Permalink
Switch branches/tags
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
51 lines (44 sloc) 17.7 KB

Automated Testing

  1. Install Nightwatch. I did not install globally.
  2. Install Selenium and move selenium-server-standalone-3.0.1.jar into the bin directory. If you did not get version 3.0.1 you need to fix the version number in the nightwatch.json file.
  3. Check the name of the selenium server jar file in nightwatch.json and change it if necessary.
  4. Install GeckoDriver and move geckodriver into the bin directory.
  5. Install ChromeDriver and move chromedriver into the bin directory.
  6. If you're on Windows, change the driver names in nightwatch.json and append .exe to the drivers.
  7. Install IEDriverServer from the same directory where you got the Selenium server from. Make sure you follow the instructions on the wiki. Also check out the troubleshooting section. Sadly, you'll the windows open and close, but all the tests fail as it times out while waiting for elements to be present.
  8. Run make test to create the firefox tests from the chrome tests
  9. Run tests for Firefox: node_modules/.bin/nightwatch (currently keyboard tests for Firefox are all failing because they need to be rewritten: .sendKeys('#ui', 'w') instead of .keys('w')
  10. Run tests for Chrome: node_modules/.bin/nightwatch --env chrome

Manual Testing

  1. Do the example maps load?
  2. Can you undo and redo these maps?
  3. Can you create the link, follow it, and undo and redo these maps?
  4. Can you download the map and open it?
  5. Run the demo.
  6. Test $, ? and 123 Backspace
  7. Type 'ww' and you should get a north wall
  8. Type 'wjwkw' and you should have a wall to the west and a wall to the north (and not a gap in the west)

file:///Users/alex/Source/gridmapper/gridmapper.svg?%0A%20w.dfwwfwwfw%0A%20wftv%20fw.wfwwfww.dddfw%0A%20wfffwnnnn%20nn%20wfwwfwwfw%0A%20ww%20ww%20w.dfffwfn%20nnn%20w%0A%20%20%20ww%20ww%20ww%20wfnnnn%20fd%0A%20%20%20%20%20%20ww%20ww%20ww

file:///Users/alex/Source/gridmapper/gridmapper.svg?%2813%2C11%29ffff%0A%20%20%20%20%20%20%20%20%20%20%20ssss%20%20ff1ffdffssssv%0A%20%20%20%20%20%20%20%20%20%20%20%20%20ffff%0A%20%20%20%20%20%20%20%20%20%20%20%20%20ffffdfnn%0A%20%20%20%20%20%20%20%20%20%20%20%20%20ffffnnnn%20fff%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20fddvvvf%20%20%204ffdvvfff%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20ff%20%20%20%20%20f5fdddvf%0A%20%20%20%20%20%20%20%20%20%20%20p%20p%20p%20ffdvf%20%20%20%20fff%0A%20%20%20%20%20%20%20%20%20%20%20b%20t%20f2ffwf%0A%20%20%20%20%20%20%20%20%20%20%20p%20p%20p%20ffwfz%2821%2C11%29fwfwf%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%206fddfddfddfdv%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20ddfw.dfw.df

file:///Users/alex/Source/gridmapper/gridmapper.svg?%0A%20ffffffffffffffffffffffffffff%0A%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20ffffffffffffffffffffffffffff%0Az%0A%0A%20%20ffffffffffffffffffffffffff%0A%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20ffffffffffffffffffffffffff%0Az%0A%0A%0A%20%20%20ffffffffffffffffffffffff%0A%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20ffffffffffffffffffffffff%0Az%0A%0A%0A%0A%20%20%20%20ffffffffffffffffffffff%0A%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20ffffffffffffffffffffff%0Az%0A%0A%0A%0A%0A%20%20%20%20%20ffffffffffffffffffff%0A%20%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20ffffffffffffffffffff%0Az%0A%0A%0A%0A%0A%0A%20%20%20%20%20%20ffffffffffffffffff%0A%20%20%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20%20ffffffffffffffffff%0Az%0A%0A%0A%0A%0A%0A%0A%20%20%20%20%20%20%20ffffffffffffffff%0A%20%20%20%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20%20%20ffffffffffffffff%0Az%0A%0A%0A%0A%0A%0A%0A%0A%20%20%20%20%20%20%20%20ffffffffffffff%0A%20%20%20%20%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20%20%20%20f%20%20%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20%20%20%20ffffffffffffff%0Az%0A%0A%0A%0A%0A%0A%0A%0A%0A%20%20%20%20%20%20%20%20%20ffffffffffff%0A%20%20%20%20%20%20%20%20%20f%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20%20%20%20%20f%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20%20%20%20%20f%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20%20%20%20%20f%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20%20%20%20%20f%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20%20%20%20%20f%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20%20%20%20%20f%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20%20%20%20%20f%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20%20%20%20%20f%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20%20%20%20%20f%20%20%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20%20%20%20%20ffffffffffff%0Az%0A%0A%0A%0A%0A%0A%0A%0A%0A%0A%20%20%20%20%20%20%20%20%20%20ffffffffff%0A%20%20%20%20%20%20%20%20%20%20f%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20%20%20%20%20%20f%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20%20%20%20%20%20f%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20%20%20%20%20%20f%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20%20%20%20%20%20f%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20%20%20%20%20%20f%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20%20%20%20%20%20f%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20%20%20%20%20%20f%20%20%20%20%20%20%20%20f%0A%20%20%20%20%20%20%20%20%20%20ffffffffff%0Az%0A%0A%0A%0A%0A%0A%0A%0A%0A%0A%0A%20%20%20%20%20%20%20%20%20%20%20ffffffff%0A%20%20%20%20%20%20%20%20%20%20%20f%20%20%20%20%20%20f%0A%20%20%20%20%20%20%20%20%20%20%20f%20%20%20%20%20%20f%0A%20%20%20%20%20%20%20%20%20%20%20f%20%20%20%20%20%20f%0A%20%20%20%20%20%20%20%20%20%20%20f%20%20%20%20%20%20f%0A%20%20%20%20%20%20%20%20%20%20%20f%20%20%20%20%20%20f%0A%20%20%20%20%20%20%20%20%20%20%20f%20%20%20%20%20%20f%0A%20%20%20%20%20%20%20%20%20%20%20ffffffff%0Az%0A%0A%0A%0A%0A%0A%0A%0A%0A%0A%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20ffffff%0A%20%20%20%20%20%20%20%20%20%20%20%20f%20%20%20%20f%0A%20%20%20%20%20%20%20%20%20%20%20%20f%20%20%20%20f%0A%20%20%20%20%20%20%20%20%20%20%20%20f%20%20%20%20f%0A%20%20%20%20%20%20%20%20%20%20%20%20f%20%20%20%20f%0A%20%20%20%20%20%20%20%20%20%20%20%20ffffff%0Az%0A%0A%0A%0A%0A%0A%0A%0A%0A%0A%0A%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20ffff%0A%20%20%20%20%20%20%20%20%20%20%20%20%20f%20%20f%0A%20%20%20%20%20%20%20%20%20%20%20%20%20f%20%20f%0A%20%20%20%20%20%20%20%20%20%20%20%20%20ffff%0Az%0A%0A%0A%0A%0A%0A%0A%0A%0A%0A%0A%0A%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20ff%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20ff%0Az