[
  {
    "path": ".gitignore",
    "content": "build\n.vscode\nRelease\nofficialworlds/.DS_Store\n.DS_Store\nbab-be-u.love\nofficialworlds/minigames/hedge be maze.replay\n*.db\n"
  },
  {
    "path": ".gitmodules",
    "content": "[submodule \"docs/wiki\"]\n\tpath = docs/wiki\n\turl = https://github.com/lilybeevee/bab-be-u.wiki.git\n"
  },
  {
    "path": "CODE_OF_CONDUCT.md",
    "content": "# Contributor Covenant Code of Conduct\n\n## Our Pledge\n\nIn the interest of fostering an open and welcoming environment, we as\ncontributors and maintainers pledge to making participation in our project and\nour community a harassment-free experience for everyone, regardless of age, body\nsize, disability, ethnicity, sex characteristics, gender identity and expression,\nlevel of experience, education, socio-economic status, nationality, personal\nappearance, race, religion, or sexual identity and orientation.\n\n## Our Standards\n\nExamples of behavior that contributes to creating a positive environment\ninclude:\n\n* Using welcoming and inclusive language\n* Being respectful of differing viewpoints and experiences\n* Gracefully accepting constructive criticism\n* Focusing on what is best for the community\n* Showing empathy towards other community members\n\nExamples of unacceptable behavior by participants include:\n\n* The use of sexualized language or imagery and unwelcome sexual attention or\n advances\n* Trolling, insulting/derogatory comments, and personal or political attacks\n* Public or private harassment\n* Publishing others' private information, such as a physical or electronic\n address, without explicit permission\n* Other conduct which could reasonably be considered inappropriate in a\n professional setting\n\n## Our Responsibilities\n\nProject maintainers are responsible for clarifying the standards of acceptable\nbehavior and are expected to take appropriate and fair corrective action in\nresponse to any instances of unacceptable behavior.\n\nProject maintainers have the right and responsibility to remove, edit, or\nreject comments, commits, code, wiki edits, issues, and other contributions\nthat are not aligned to this Code of Conduct, or to ban temporarily or\npermanently any contributor for other behaviors that they deem inappropriate,\nthreatening, offensive, or harmful.\n\n## Scope\n\nThis Code of Conduct applies both within project spaces and in public spaces\nwhen an individual is representing the project or its community. Examples of\nrepresenting a project or community include using an official project e-mail\naddress, posting via an official social media account, or acting as an appointed\nrepresentative at an online or offline event. Representation of a project may be\nfurther defined and clarified by project maintainers.\n\n## Enforcement\n\nInstances of abusive, harassing, or otherwise unacceptable behavior may be\nreported by contacting the project team at babbeu@gmail.com (not real yet). All\ncomplaints will be reviewed and investigated and will result in a response that\nis deemed necessary and appropriate to the circumstances. The project team is\nobligated to maintain confidentiality with regard to the reporter of an incident.\nFurther details of specific enforcement policies may be posted separately.\n\nProject maintainers who do not follow or enforce the Code of Conduct in good\nfaith may face temporary or permanent repercussions as determined by other\nmembers of the project's leadership.\n\n## Attribution\n\nThis Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,\navailable at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html\n\n[homepage]: https://www.contributor-covenant.org\n\nFor answers to common questions about this code of conduct, see\nhttps://www.contributor-covenant.org/faq\n"
  },
  {
    "path": "LICENSE.md",
    "content": "Copyright (c) 2019 lilybeevee\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "README.md",
    "content": "# BAB BE U\nbab be u be a WIP (very very WIP!!) fangaem of [baba is you byy hempuli](https://hempuli.com/baba/) !!! a puzle gam wher ruls u folow r prenset as blok u intreact with.. by manpuilating tem, u chang how gam work, repupos thing u find in levl an cuase suprisng itneracton!!\n\n[bab be u official discord channel (on baba server!!!)](https://discord.com/channels/556333985882439680/579519329515732993)\n\n[help bab crew fix nasty bugs !!!](https://github.com/lilybeevee/bab-be-u/projects/1)\n\n[hep bab crew implement new cool fechures!!1](https://github.com/lilybeevee/bab-be-u/projects/2)\n\n## how do?\nfirs, donload love2d!!\nnex, how run gam: https://love2d.org/wiki/Getting_Started#Running_Games\n\n## screnshoot pls!!!!\nok!!, here u go!!!!!\n![img3](./docs/img3.png \"mennu!!!\")\n\n![lvl1](./docs/lvl1.png \"xwx what's this?\")\n\n![lvl2](./docs/lvl2.png \"roguen't floor 2\")\n\n![lvl3](./docs/lvl3.png \"n'tn't\")\n\n![lvl4](./docs/lvl4.png \"carrier\")\n\n## dev info !!!!!!\nfor build ver (in main menu at the top left), you must add a hook to your .git folder, [click here for more info](https://gist.github.com/sg-s/2ddd0fe91f6037ffb1bce28be0e74d4e)\n"
  },
  {
    "path": "assets/tiles/notes.txt",
    "content": "order of the things (because consistency is important):\nid\nname\ndisplay\nsprite\nsprite transforms\nmeta sprites\nmeta sprite transforms (is that a thing)\n(text) types\nlayer\ncolor\npainted (formerly known as \"colored\")\noverlay\ntxtify\nthingify\nwobblify\nbabify\nconvertible\nrotate\nportal\nwobble\nunsearchable\nfeatures (hatt, which, sant, bowie, gang, sans, cool, katany, knif, gunne, slippers)\nvoice\ndesc\nalias\ntags\npronouns\nold names\n\nlayer notes:\n1: bordr, and nothing else\n2: full tile things (wal, watr, laav)\n3: other \"low\" objects (gras, chekr)\n4: bg objects (extre, pudll)\n5: bg particles (sparkl, rein)\n6: collectables (flog, boll)\n7: objects that take a lot of area (boux, luv)\n8: rest of objects\n9: bg characters (skul)\n10: characters that take a lot of area (boooo, lila)\n11: rest of characters\n19: fake text (prop)\n20: text\n21: text that is slightly bigger than other text (thicc, rithere)\n22: fg objects (jail)\n23: lins\n24: lvls\n25: selctr\n30: camra\n100: the real bab dictator"
  },
  {
    "path": "assets/tiles/objects/characters.json",
    "content": "[\n  {\n    \"name\": \"bab\",\n    \"sprite\": [\"bab\"],\n    \"layer\": 11,\n    \"color\": [[0, 3]],\n    \"rotate\": true,\n    \"features\": {\n      \"sans\": {\"x\": 22, \"y\": 10, \"w\": 2, \"h\": 2}\n    },\n    \"voice\": \"s_doo\",\n    \"desc\": \"its bab bruh\",\n    \"tags\": [\"chars\", \"baba\"],\n    \"pronouns\": [\"she\", \"her\"]\n  },\n  {\n    \"name\": \"txt_bab\",\n    \"sprite\": [\"txt/bab\"],\n    \"metasprite\": [\"txt/bab meta\"],\n    \"types\": [\"object\"],\n    \"color\": [[4, 1]],\n    \"desc\": \"\\\"BAB\\\". thats what it says\",\n    \"tags\": [\"chars\", \"baba\"]\n  },\n  {\n    \"name\": \"txt_babn't\",\n    \"display\": \"bab n't\",\n    \"sprite\": [\"txt/bab meta\", \"n't\"],\n    \"types\": [\"object\"],\n    \"color\": [[4, 1], [2, 2]],\n    \"painted\": [true, false],\n    \"desc\": \"BAB N'T: The same as having these two text tiles in a row.\"\n  },\n  {\n    \"name\": \"skul\",\n    \"sprite\": [\"skul\"],\n    \"layer\": 9,\n    \"color\": [[2, 1]],\n    \"rotate\": true,\n    \"features\": {\n      \"sans\": {\"x\": 21, \"y\": 8, \"w\": 4, \"h\": 4}\n    },\n    \"voice\": \"s_saw\",\n    \"desc\": \"evillllll\",\n    \"tags\": [\"skull\"],\n\t  \"pronouns\": [\"they\", \"them\"]\n  },\n  {\n    \"name\": \"txt_skul\",\n    \"sprite\": [\"txt/skul\"],\n    \"types\": [\"object\"],\n    \"color\": [[2, 1]],\n    \"tags\": [\"chars\", \"skull\"]\n  },\n  {\n    \"name\": \"keek\",\n    \"sprite\": [\"keek\"],\n    \"layer\": 11,\n    \"color\": [[2, 2]],\n    \"rotate\": true,\n    \"features\": {\n      \"sans\": {\"x\": 19, \"y\": 7, \"w\": 2, \"h\": 2}\n    },\n    \"voice\": \"s_saw\",\n    \"desc\": \"babs bff\",\n    \"tags\": [\"keke\", \"chars\"],\n    \"pronouns\": [\"they\", \"them\"]\n  },\n  {\n    \"name\": \"txt_keek\",\n    \"sprite\": [\"txt/keek\"],\n    \"types\": [\"object\"],\n    \"color\": [[2, 2]],\n    \"tags\": [\"keke\", \"chars\"]\n  },\n  {\n    \"name\": \"meem\",\n    \"sprite\": [\"meem\"],\n    \"layer\": 11,\n    \"color\": [[3, 1]],\n    \"rotate\": true,\n    \"features\": {\n      \"sans\": {\"x\": 18, \"y\": 3, \"w\": 2, \"h\": 2}\n    },\n    \"voice\": \"s_organ\",\n    \"desc\": \"meem is the true philosopher of our time. babs 3ff\",\n    \"tags\": [\"chars\"],\n    \"pronouns\": [\"he\", \"him\"]\n  },\n  {\n    \"name\": \"txt_meem\",\n    \"sprite\": [\"txt/meem\"],\n    \"types\": [\"object\"],\n    \"color\": [[3, 1]],\n    \"tags\": [\"chars\"]\n  },\n  {\n    \"name\": \"os\",\n    \"sprite\": [\"os\"],\n    \"layer\": 10,\n    \"color\": [[0, 3]],\n    \"rotate\": true,\n    \"features\": {\n      \"sans\": {\"x\": 14, \"y\": 8, \"w\": 2, \"h\": 2}\n    },\n    \"voice\": \"bit2\",\n    \"desc\": \"OS: Its sprites changes with the user's Operating System!\",\n    \"tags\": [\"chars\", \"apple\", \"android\", \"windows\", \"linux\", \"operating system\"],\n\t  \"pronouns\": [\"it\"]\n  },\n  {\n    \"name\": \"txt_os\",\n    \"sprite\": [\"txt/os\"],\n    \"types\": [\"object\"],\n    \"color\": [[4, 1]],\n    \"tags\": [\"apple\", \"android\", \"windows\", \"linux\", \"operating system\"]\n  },\n  {\n    \"name\": \"wog\",\n    \"sprite\": [\"wog\"],\n    \"layer\": 10,\n    \"color\": [[2, 4]],\n    \"rotate\": true,\n    \"features\": {\n      \"sans\": {\"x\": 16, \"y\": 9, \"w\": 3, \"h\": 3}\n    },\n    \"voice\": \"s_strum\",\n    \"desc\": \"smol frens who own pointy tridents, play with explosives, and bake good cake. nobody knows how to describe more than one of them\",\n    \"tags\": [\"wug\", \"chars\", \"bird\"],\n\t  \"pronouns\": [\"they\", \"them\"]\n  },\n  {\n    \"name\": \"txt_wog\",\n    \"sprite\": [\"txt/wog\"],\n    \"types\": [\"object\"],\n    \"color\": [[2, 4]],\n    \"desc\": \"wogs dream is to be a mad scientist and go evil with power using nothing but sheer linguistics. linguists' evil career options may be limited but that wont stop wog from trying their best\",\n    \"tags\": [\"wug\", \"chars\", \"bird\"]\n  },\n  {\n    \"name\": \"bup\",\n    \"sprite\": [\"bup\", \"no1\", \"no1\", \"no1\"],\n    \"layer\": 11,\n    \"color\": [[6, 2], [2, 4], [0, 2], [0, 3]],\n    \"painted\": [true, false, false, false],\n    \"rotate\": true,\n    \"features\": {\n      \"sans\": {\"x\": 23, \"y\": 19, \"w\": 3, \"h\": 3}\n    },\n    \"voice\": \"s_steel\",\n    \"desc\": \"BUP: HELLO\\nBUP DOES NOT WANT, BUP DOES NOT DREAM\\nPLEASE HELP HIM\\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\",\n    \"tags\": [\"toad\", \"simpleflips\", \"chars\"],\n\t  \"pronouns\": [\"he\", \"him\"]\n  },\n  {\n    \"name\": \"txt_bup\",\n    \"sprite\": [\"txt/bup\"],\n    \"types\": [\"object\"],\n    \"color\": [[6, 2]],\n    \"tags\": [\"toad\", \"simpleflips\", \"chars\"]\n  },\n  {\n    \"name\": \"kirb\",\n    \"sprite\": [\"kirb\"],\n    \"layer\": 10,\n    \"color\": [[4, 2]],\n    \"rotate\": true,\n    \"features\": {\n      \"sans\": {\"x\": 21, \"y\": 9, \"w\": 2, \"h\": 2}\n    },\n    \"voice\": \"s_spian\",\n    \"desc\": \"1, 2 oatmeal kirb be be a pincc guy\",\n    \"tags\": [\"kirby\", \"chars\"],\n\t  \"pronouns\": [\"he\", \"him\"]\n  },\n  {\n    \"name\": \"txt_kirb\",\n    \"sprite\": [\"txt/kirb\"],\n    \"types\": [\"object\"],\n    \"color\": [[4, 2]],\n    \"tags\": [\"kirby\", \"chars\"]\n  },\n  {\n    \"name\": \"han\",\n    \"sprite\": [\"han\"],\n    \"layer\": 9,\n    \"color\": [[0, 3]],\n    \"rotate\": true,\n    \"desc\": \"grab, then yeet\",\n    \"tags\": [\"hand\", \"body part\"],\n\t  \"pronouns\": [\"it\", \"they\", \"them\"]\n  },\n  {\n    \"name\": \"txt_han\",\n    \"sprite\": [\"txt/han\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 3]],\n    \"tags\": [\"hand\", \"body part\"]\n  },\n  {\n    \"name\": \"steev\",\n    \"sprite\": [\"steev\"],\n    \"layer\": 11,\n    \"color\": [[2, 3]],\n    \"rotate\": true,\n    \"features\": {\n      \"sans\": {\"x\": 20, \"y\": 13, \"w\": 2, \"h\": 2},\n      \"katany\": {}\n    },\n    \"voice\": \"dog\",\n    \"desc\": \"can only moov 5 steps b4 dyin nya\",\n    \"tags\": [\"chars\", \"5 step steve\", \"cat\", \"nya\"],\n\t  \"pronouns\": [\"he\", \"him\"]\n  },\n  {\n    \"name\": \"txt_steev\",\n    \"sprite\": [\"txt/steev\"],\n    \"types\": [\"object\"],\n    \"color\": [[2, 3]],\n    \"tags\": [\"chars\", \"5 step steve\", \"cat\", \"nya\"]\n  },\n  {\n    \"name\": \"boy\",\n    \"sprite\": [\"boy\"],\n    \"layer\": 11,\n    \"color\": [[0, 2]],\n    \"rotate\": true,\n    \"features\": {\n      \"sans\": {\"x\": 14, \"y\": 15, \"w\": 2, \"h\": 5}\n    },\n    \"desc\": \"he's upsidedown b/c he lives on a Boy's surface\",\n    \"tags\": [\"chars\"],\n    \"pronouns\": [\"he\", \"him\"]\n  },\n  {\n    \"name\": \"txt_boy\",\n    \"sprite\": [\"txt/boy\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 2]],\n    \"tags\": [\"chars\"]\n  },\n  {\n    \"name\": \"ghostfren\",\n    \"display\": \"ghost fren\",\n    \"sprite\": [\"ghost\"],\n    \"layer\": 11,\n    \"color\": [[4, 2]],\n    \"rotate\": true,\n    \"features\": {\n      \"sans\": {\"x\": 26, \"y\": 10, \"w\": 2, \"h\": 4}\n    },\n    \"voice\": \"s_sine\",\n    \"desc\": \"its not spooky, its a fren.\",\n    \"tags\": [\"chars\"],\n\t  \"pronouns\": [\"ze\", \"hir\"]\n  },\n  {\n    \"name\": \"txt_ghostfren\",\n    \"display\": \"ghost fren\",\n    \"sprite\": [\"txt/ghostfren\"],\n    \"types\": [\"object\"],\n    \"color\": [[4, 2]],\n    \"desc\": \"this text is very spooky tho\",\n    \"tags\": [\"chars\"]\n  },\n  {\n    \"name\": \"robobot\",\n    \"sprite\": [\"robobot\"],\n    \"layer\": 11,\n    \"color\": [[6, 1]],\n    \"rotate\": true,\n    \"features\": {\n      \"sans\": {\"x\": 17, \"y\": 7, \"w\": 2, \"h\": 4}\n    },\n    \"voice\": \"bit2\",\n    \"desc\": \"the super scan mouth lazers that copy abilities are missing because they forgot to design a mouth\",\n    \"tags\": [\"robot\", \"chars\"],\n\t  \"pronouns\": [\"they\", \"them\"]\n  },\n  {\n    \"name\": \"txt_robobot\",\n    \"sprite\": [\"txt/robobot\"],\n    \"types\": [\"object\"],\n    \"color\": [[6, 1]],\n    \"tags\": [\"robot\", \"chars\"]\n  },\n  {\n    \"name\": \"creb\",\n    \"sprite\": [\"creb\"],\n    \"layer\": 11,\n    \"color\": [[2, 2]],\n    \"features\": {\n      \"sans\": {\"x\": 20, \"y\": 4, \"w\": 4, \"h\": 5}\n    },\n    \"voice\": \"crab rave\",\n    \"desc\": \"loves to party and dance! woo! yeah!\",\n    \"tags\": [\"chars\", \"crab\"],\n\t  \"pronouns\": [\"he\", \"him\"]\n  },\n  {\n    \"name\": \"txt_creb\",\n    \"sprite\": [\"txt/creb\"],\n    \"types\": [\"object\"],\n    \"color\": [[2, 2]],\n    \"tags\": [\"crab\"]\n  },\n  {\n    \"name\": \"hors\",\n    \"sprite\": [\"hors\"],\n    \"layer\": 11,\n    \"color\": [[6, 1]],\n    \"features\": {\n      \"sans\": {\"x\": 17, \"y\": 6, \"w\": 3, \"h\": 3}\n    },\n    \"desc\": \"it's a knoble knight\",\n    \"tags\": [\"chars\", \"chess\", \"knight\", \"horse\"],\n\t  \"pronouns\": [\"she\", \"her\"]\n  },\n  {\n    \"name\": \"txt_hors\",\n    \"sprite\": [\"txt/hors\"],\n    \"types\": [\"object\"],\n    \"color\": [[6, 1]],\n    \"tags\": [\"chess\", \"knight\", \"horse\"]\n  },\n  {\n    \"name\": \"snoman\",\n    \"sprite\": [\"snoman\"],\n    \"layer\": 10,\n    \"color\": [[0, 3]],\n    \"features\": {\n      \"sans\": {\"x\": 17, \"y\": 8, \"w\": 3, \"h\": 3}\n    },\n    \"desc\": \"do u wanna creat a snoman??\",\n    \"tags\": [\"chars\", \"snowman\", \"christmas\"],\n    \"pronouns\": [\"he\", \"him\"]\n  },\n  {\n    \"name\": \"txt_snoman\",\n    \"sprite\": [\"txt/snoman\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 3]],\n    \"tags\": [\"chars\", \"snowman\", \"christmas\"]\n  },\n  {\n    \"name\": \"beeee\",\n    \"sprite\": [\"beeee\", \"no1\"],\n    \"layer\": 10,\n    \"color\": [[2, 4], [0, 0]],\n    \"painted\": [true, false],\n    \"rotate\": true,\n    \"features\": {\n      \"sans\": {\"x\": 25, \"y\": 14, \"w\": 2, \"h\": 2}\n    },\n    \"desc\": \"the bab beeee be tranz\",\n    \"tags\": [\"honeybee\", \"chars\", \"insect\"],\n\t  \"pronouns\": [\"sheeee\", \"her\"]\n  },\n  {\n    \"name\": \"txt_beeee\",\n    \"sprite\": [\"txt/beeee\"],\n    \"types\": [\"object\"],\n    \"color\": [[2, 4]],\n    \"desc\": \"bab beeeeeeeee u\",\n    \"tags\": [\"honeybee\", \"chars\", \"insect\"]\n  },\n  {\n    \"name\": \"fishe\",\n    \"sprite\": [\"fishe\"],\n    \"layer\": 10,\n    \"color\": [[0, 3]],\n    \"rotate\": true,\n    \"features\": {\n      \"sans\": {\"x\": 24, \"y\": 11, \"w\": 2, \"h\": 2}\n    },\n    \"desc\": \"fishe be walk?? kinda quirky doe\",\n    \"tags\": [\"angelfish\", \"chars\"],\n\t  \"pronouns\": [\"he\", \"him\"]\n  },\n  {\n    \"name\": \"txt_fishe\",\n    \"sprite\": [\"txt/fishe\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 2]],\n    \"tags\": [\"angelfish\", \"chars\"]\n  },\n  {\n    \"name\": \"statoo\",\n    \"sprite\": [\"statoo\"],\n    \"layer\": 11,\n    \"color\": [[0, 1]],\n    \"features\": {\n      \"sans\": {\"x\": 16, \"y\": 6, \"w\": 2, \"h\": 2}\n    },\n    \"desc\": \"their occupation is a janitor\",\n    \"tags\": [\"statue\", \"chars\", \"janitor\"],\n\t  \"pronouns\": [\"they\", \"them\"]\n  },\n  {\n    \"name\": \"txt_statoo\",\n    \"sprite\": [\"txt/statoo\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 1]],\n    \"tags\": [\"statue\", \"chars\", \"janitor\"]\n  },\n  {\n    \"name\": \"bunmy\",\n    \"sprite\": [\"bunmy\"],\n    \"layer\": 11,\n    \"color\": [[0, 3]],\n    \"rotate\": true,\n    \"features\": {\n      \"sans\": {\"x\": 23, \"y\": 12, \"w\": 2, \"h\": 2}\n    },\n    \"desc\": \"looks kinda like bab???\",\n    \"tags\": [\"chars\", \"bunny rabbit\"],\n\t  \"pronouns\": [\"she\", \"her\"]\n  },\n  {\n    \"name\": \"txt_bunmy\",\n    \"sprite\": [\"txt/bunmy\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 3]],\n    \"tags\": [\"chars\", \"bunny rabbit\"]\n  },\n  {\n    \"name\": \"bog\",\n    \"sprite\": [\"bog\"],\n    \"layer\": 10,\n    \"color\": [[6, 1]],\n    \"rotate\": true,\n    \"features\": {\n      \"sans\": {\"x\": 24, \"y\": 16, \"w\": 2, \"h\": 2}\n    },\n    \"voice\": \"s_scat\",\n    \"desc\": \"icky\",\n    \"tags\": [\"chars\", \"bug\", \"insect\", \"cockroach\"],\n\t  \"pronouns\": [\"xe\", \"xem\"]\n  },\n  {\n    \"name\": \"txt_bog\",\n    \"sprite\": [\"txt/bog\"],\n    \"types\": [\"object\"],\n    \"color\": [[6, 1]],\n    \"tags\": [\"chars\", \"bug\", \"insect\", \"cockroach\"]\n  },\n  {\n    \"name\": \"pingu\",\n    \"sprite\": [\"pingu\"],\n    \"layer\": 11,\n    \"color\": [[1, 3]],\n    \"rotate\": true,\n    \"features\": {\n      \"sans\": {\"x\": 12, \"y\": 11, \"w\": 2, \"h\": 2}\n    },\n    \"desc\": \"noot noot\",\n    \"tags\": [\"chars\", \"penguin\", \"bird\"],\n    \"pronouns\": [\"he\", \"him\"]\n  },\n  {\n    \"name\": \"txt_pingu\",\n    \"sprite\": [\"txt/pingu\"],\n    \"types\": [\"object\"],\n    \"color\": [[1, 3]],\n    \"tags\": [\"chars\", \"penguin\", \"bird\"]\n  },\n  {\n    \"name\": \"snek\",\n    \"sprite\": [\"snek\"],\n    \"layer\": 11,\n    \"color\": [[5, 3]],\n    \"rotate\": true,\n    \"features\": {\n      \"sans\": {\"x\": 20, \"y\": 7, \"w\": 2, \"h\": 2}\n    },\n    \"desc\": \"sssssssssssssss\",\n    \"tags\": [\"chars\", \"snake\"],\n\t  \"pronouns\": [\"they\", \"them\"]\n  },\n  {\n    \"name\": \"txt_snek\",\n    \"sprite\": [\"txt/snek\"],\n    \"types\": [\"object\"],\n    \"color\": [[5, 3]],\n    \"tags\": [\"chars\", \"snake\"]\n  },\n  {\n    \"name\": \"ripof\",\n    \"sprite\": [\"ripof\"],\n    \"layer\": 10,\n    \"color\": [[1, 3]],\n    \"rotate\": true,\n    \"features\": {\n      \"sans\": {\"x\": 25, \"y\": 17, \"w\": 3, \"h\": 3}\n    },\n    \"desc\": \"from the hit game DEV IS YOU\",\n    \"tags\": [\"chars\", \"dev\", \"slime\", \"blob\", \"rip off\"],\n\t  \"pronouns\": [\"it\"]\n  },\n  {\n    \"name\": \"txt_ripof\",\n    \"sprite\": [\"txt/ripof\"],\n    \"types\": [\"object\"],\n    \"color\": [[1, 3]],\n    \"desc\": \"it needs to have the tag dev but i don't want it to be with the other devs\",\n    \"tags\": [\"chars\", \"dev\", \"slime\", \"blob\", \"rip off\"]\n  },\n  {\n    \"name\": \"butflye\",\n    \"sprite\": [\"butflye\"],\n    \"layer\": 10,\n    \"color\": [[1, 4]],\n    \"rotate\": true,\n    \"features\": {\n      \"sans\": {\"x\": 19, \"y\": 11, \"w\": 2, \"h\": 2}\n    },\n    \"desc\": \"of the bleu morpho variety\",\n    \"tags\": [\"butterfly\", \"chars\", \"insect\"],\n\t  \"pronouns\": [\"she\", \"her\"]\n  },\n  {\n    \"name\": \"txt_butflye\",\n    \"sprite\": [\"txt/butflye\"],\n    \"types\": [\"object\"],\n    \"color\": [[1, 4]],\n    \"desc\": \"but, flye??\",\n    \"tags\": [\"butterfly\", \"chars\", \"insect\"]\n  },\n  {\n    \"name\": \"wurm\",\n    \"sprite\": [\"wurm\"],\n    \"layer\": 11,\n    \"color\": [[3, 3]],\n    \"rotate\": true,\n    \"features\": {\n      \"sans\": {\"x\": 20, \"y\": 4, \"w\": 2, \"h\": 2}\n    },\n    \"desc\": \"slithers\\nbut a wormy slither not a snaky slither\",\n    \"tags\": [\"worm\", \"caterpillar\", \"bug\", \"chars\", \"insect\"],\n\t  \"pronouns\": [\"he\", \"him\"]\n  },\n  {\n    \"name\": \"txt_wurm\",\n    \"sprite\": [\"txt/wurm\"],\n    \"types\": [\"object\"],\n    \"color\": [[3, 3]],\n    \"tags\": [\"worm\", \"caterpillar\", \"bug\", \"chars\", \"insect\"]\n  },\n  {\n    \"name\": \"ratt\",\n    \"sprite\": [\"ratt\"],\n    \"layer\": 10,\n    \"color\": [[0, 1]],\n    \"rotate\": true,\n    \"features\": {\n      \"sans\": {\"x\": 27, \"y\": 14, \"w\": 2, \"h\": 2}\n    },\n    \"desc\": \"the real MOUS, they STALK at night and SNACC at night, they're the RATTs\",\n    \"tags\": [\"chars\", \"rat\", \"mouse\"],\n\t  \"pronouns\": [\"they\", \"them\"]\n  },\n  {\n    \"name\": \"txt_ratt\",\n    \"sprite\": [\"txt/ratt\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 1]],\n    \"desc\": \"the stand of BOG-SNACCEN\",\n    \"tags\": [\"chars\", \"rat\", \"mouse\"]\n  },\n  {\n    \"name\": \"moo\",\n    \"sprite\": [\"moo\"],\n    \"layer\": 11,\n    \"color\": [[0, 3]],\n    \"rotate\": true,\n    \"features\": {\n      \"sans\": {\"x\": 27, \"y\": 7, \"w\": 2, \"h\": 2}\n    },\n    \"desc\": \"you found bertie, the unfindable moo! noe lvl be infloop\",\n    \"tags\": [\"chars\", \"cow\"],\n\t  \"pronouns\": [\"she\", \"her\"]\n  },\n  {\n    \"name\": \"txt_moo\",\n    \"sprite\": [\"txt/moo\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"moooooo\",\n    \"tags\": [\"chars\", \"cow\"]\n  },\n  {\n    \"name\": \"enbybog\",\n    \"sprite\": [\"enbybog\"],\n    \"layer\": 11,\n    \"color\": [[2, 2]],\n    \"rotate\": true,\n    \"features\": {\n      \"sans\": {\"x\": 23, \"y\": 17, \"w\": 2, \"h\": 2}\n    },\n    \"desc\": \"goes by they/them\",\n    \"tags\": [\"chars\", \"ladybug\", \"insect\", \"cockroach\"],\n    \"pronouns\": [\"they\", \"them\"]\n  },\n  {\n    \"name\": \"txt_enbybog\",\n    \"sprite\": [\"txt/enbybog\"],\n    \"types\": [\"object\"],\n    \"color\": [[2, 2]],\n    \"tags\": [\"chars\", \"ladybug\", \"insect\", \"cockroach\"]\n  },\n  {\n    \"name\": \"shrim\",\n    \"sprite\": [\"shrim\"],\n    \"layer\": 11,\n    \"color\": [[2, 2]],\n    \"rotate\": true,\n    \"features\": {\n      \"sans\": {\"x\": 20, \"y\": 9, \"w\": 2, \"h\": 2}\n    },\n    \"voice\": \"kkb\",\n    \"desc\": \"shouldnt it be PINC\",\n    \"tags\": [\"chars\", \"shrimp\", \"prawn\"],\n\t  \"pronouns\": [\"she\", \"her\"]\n  },\n  {\n    \"name\": \"txt_shrim\",\n    \"sprite\": [\"txt/shrim\"],\n    \"types\": [\"object\"],\n    \"color\": [[2, 2]],\n    \"desc\": \"shrims are pretty rich\",\n    \"tags\": [\"chars\", \"shrimp\", \"prawn\"]\n  },\n  {\n    \"name\": \"flamgo\",\n    \"sprite\": [\"flamgo\"],\n    \"layer\": 11,\n    \"color\": [[4, 1]],\n    \"features\": {\n      \"sans\": {\"x\": 23, \"y\": 3, \"w\": 2, \"h\": 2}\n    },\n    \"voice\": \"kkb\",\n    \"desc\": \"if ur COLRFUL thats cool too!!\",\n    \"tags\": [\"chars\", \"flamingo\", \"bird\"],\n\t  \"pronouns\": [\"he\", \"him\"]\n  },\n  {\n    \"name\": \"txt_flamgo\",\n    \"sprite\": [\"txt/flamgo\"],\n    \"types\": [\"object\"],\n    \"color\": [[4, 1]],\n    \"desc\": \"mr. flame go\",\n    \"tags\": [\"chars\", \"flamingo\", \"bird\"]\n  },\n  {\n    \"name\": \"gul\",\n    \"sprite\": [\"gul\"],\n    \"layer\": 11,\n    \"color\": [[0, 3]],\n    \"features\": {\n      \"sans\": {\"x\": 21, \"y\": 11, \"w\": 2, \"h\": 2}\n    },\n    \"desc\": \"7\",\n    \"tags\": [\"chars\", \"seagull\", \"bird\", \"beach\", \"7\"],\n\t  \"pronouns\": [\"he\", \"him\"]\n  },\n  {\n    \"name\": \"txt_gul\",\n    \"sprite\": [\"txt/gul\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 3]],\n    \"tags\": [\"chars\", \"seagull\", \"bird\", \"beach\"]\n  },\n  {\n    \"name\": \"starrfishe\",\n    \"sprite\": [\"starrfishe\"],\n    \"layer\": 10,\n    \"color\": [[4, 2]],\n    \"rotate\": true,\n    \"features\": {\n      \"sans\": {\"x\": 16, \"y\": 12, \"w\": 2, \"h\": 2}\n    },\n    \"desc\": \"she's alive, and has 4 eyes\",\n    \"tags\": [\"chars\", \"starfish\", \"beach\"],\n\t  \"pronouns\": [\"she\", \"her\", \"they\", \"them\"]\n  },\n  {\n    \"name\": \"txt_starrfishe\",\n    \"sprite\": [\"txt/starrfishe\"],\n    \"types\": [\"object\"],\n    \"color\": [[4, 2]],\n    \"desc\": \"what a long name\",\n    \"tags\": [\"chars\", \"starfish\", \"beach\"]\n  },\n  {\n    \"name\": \"sneel\",\n    \"sprite\": [\"sneel\"],\n    \"layer\": 10,\n    \"color\": [[4, 2]],\n    \"rotate\": true,\n    \"features\": {\n      \"sans\": {\"x\": 21, \"y\": 28, \"w\": 2, \"h\": 2}\n    },\n    \"desc\": \"winner of the undertale snail race gets into BAB\",\n    \"tags\": [\"chars\", \"snail\"]\n  },\n  {\n    \"name\": \"txt_sneel\",\n    \"sprite\": [\"txt/sneel\"],\n    \"types\": [\"object\"],\n    \"color\": [[4, 2]],\n    \"desc\": \"its kinda slow to load in tho.\",\n    \"tags\": [\"chars\", \"snail\"]\n  },\n  {\n    \"name\": \"kapa\",\n    \"sprite\": [\"kapa\"],\n    \"layer\": 11,\n    \"color\": [[5, 2]],\n    \"rotate\": true,\n    \"features\": {\n      \"sans\": {\"x\": 24, \"y\": 14, \"w\": 2, \"h\": 2}\n    },\n    \"desc\": \"now we need a CUMBER object\",\n    \"tags\": [\"chars\", \"japan\", \"youkai\", \"kappa\"],\n\t  \"pronouns\": [\"he\", \"him\"]\n  },\n  {\n    \"name\": \"txt_kapa\",\n    \"sprite\": [\"txt/kapa\"],\n    \"types\": [\"object\"],\n    \"color\": [[5, 2]],\n    \"desc\": \":V\",\n    \"tags\": [\"chars\", \"japan\", \"youkai\", \"kappa\"]\n  },\n  {\n    \"name\": \"urei\",\n    \"sprite\": [\"urei\"],\n    \"layer\": 11,\n    \"color\": [[0, 3]],\n    \"features\": {\n      \"sans\": {\"x\": 20, \"y\": 19, \"w\": 2, \"h\": 2}\n    },\n    \"desc\": \"GHOST FREN of the eastern variety\",\n    \"tags\": [\"chars\", \"japan\", \"youkai\", \"yuurei\", \"ghost\"],\n\t  \"pronouns\": [\"she\", \"her\", \"ze\", \"hir\"]\n  },\n  {\n    \"name\": \"txt_urei\",\n    \"sprite\": [\"txt/urei\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 3]],\n    \"tags\": [\"chars\", \"japan\", \"youkai\", \"yuurei\", \"ghost\"]\n  },\n  {\n    \"name\": \"ryugon\",\n    \"sprite\": [\"ryugon\"],\n    \"layer\": 11,\n    \"color\": [[5, 2]],\n    \"rotate\": true,\n    \"features\": {\n      \"sans\": {\"x\": 21, \"y\": 7, \"w\": 3, \"h\": 2}\n    },\n    \"desc\": \"ryugon no ken wo kurae\",\n    \"tags\": [\"chars\", \"japan\", \"youkai\", \"dragon\"],\n\t  \"pronouns\": [\"he\", \"him\"]\n  },\n  {\n    \"name\": \"txt_ryugon\",\n    \"sprite\": [\"txt/ryugon\"],\n    \"types\": [\"object\"],\n    \"color\": [[5, 2]],\n    \"tags\": [\"chars\", \"japan\", \"youkai\", \"dragon\"]\n  },\n  {\n    \"name\": \"iy\",\n    \"sprite\": [\"iy\"],\n    \"layer\": 10,\n    \"color\": [[0, 3]],\n    \"rotate\": true,\n    \"features\": {\n      \"sans\": {\"x\": 17, \"y\": 12, \"w\": 7, \"h\": 8}\n    },\n    \"desc\": \"IY SEES ALL\",\n    \"tags\": [\"chars\", \"eye\", \"body part\"],\n\t  \"pronouns\": [\"it\"]\n  },\n  {\n    \"name\": \"txt_iy\",\n    \"sprite\": [\"txt/iy\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 1]],\n\t  \"desc\": \"iy spiy\",\n    \"tags\": [\"eye\", \"body part\"]\n  },\n  {\n    \"name\": \"lisp\",\n    \"sprite\": [\"lisp\"],\n    \"layer\": 10,\n    \"color\": [[2, 2]],\n    \"rotate\": true,\n    \"voice\": \"kkb2\",\n    \"desc\": \"it speaks\",\n    \"tags\": [\"chars\", \"mouth\", \"lips\", \"body part\"],\n\t  \"pronouns\": [\"it\", \"she\", \"her\"]\n  },\n  {\n    \"name\": \"txt_lisp\",\n    \"sprite\": [\"txt/lisp\"],\n    \"types\": [\"object\"],\n    \"color\": [[2, 2]],\n    \"desc\": \"it altho hath a lithp\",\n    \"tags\": [\"mouth\", \"lips\", \"body part\"]\n  },\n  {\n    \"name\": \"paw\",\n    \"sprite\": [\"paw\"],\n    \"layer\": 10,\n    \"color\": [[0, 3]],\n    \"rotate\": true,\n    \"desc\": \"dogg in bab when?\",\n    \"tags\": [\"chars\", \"paw print\"],\n\t  \"pronouns\": [\"it\", \"he\", \"him\"]\n  },\n  {\n    \"name\": \"txt_paw\",\n    \"sprite\": [\"txt/paw\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"ok well idk when it happened but we have toby now\",\n    \"tags\": [\"paw print\"]\n  },\n  {\n    \"name\": \"cavebab\",\n    \"sprite\": [\"cavebab\"],\n    \"layer\": 11,\n    \"color\": [[3, 3]],\n    \"features\": {\n      \"sans\": {\"x\": 18, \"y\": 10, \"w\": 2, \"h\": 2}\n    },\n    \"desc\": \"slep upside down\",\n    \"tags\": [\"chars\", \"bat\"],\n\t  \"pronouns\": [\"she\", \"her\"]\n  },\n  {\n    \"name\": \"txt_cavebab\",\n    \"sprite\": [\"txt/cavebab\"],\n    \"types\": [\"object\"],\n    \"color\": [[3, 3]],\n    \"tags\": [\"chars\", \"bat\"]\n  },\n  {\n    \"name\": \"migri\",\n    \"sprite\": [\"migri\"],\n    \"layer\": 11,\n    \"color\": [[3, 0]],\n    \"rotate\": true,\n    \"features\": {\n      \"sans\": {\"x\": 12, \"y\": 14, \"w\": 2, \"h\": 3}\n    },\n    \"desc\": \"i don't actually know what this is, someone tell me\",\n    \"tags\": [\"chars\"],\n\t  \"pronouns\": [\"they\", \"them\"]\n  },\n  {\n    \"name\": \"txt_migri\",\n    \"sprite\": [\"txt/migri\"],\n    \"types\": [\"object\"],\n    \"color\": [[3, 0]],\n    \"tags\": [\"chars\"]\n  },\n  {\n    \"name\": \"boooo\",\n    \"sprite\": [\"boooo\", \"boooo_mouth\"],\n    \"layer\": 10,\n    \"color\": [[0, 3], [2, 2], [4, 2]],\n    \"painted\": [true, false, false],\n    \"rotate\": true,\n    \"features\": {\n      \"sans\": {\"x\": 23, \"y\": 9, \"w\": 4, \"h\": 5}\n    },\n    \"desc\": \"very shy, don't lookat\",\n    \"tags\": [\"chars\", \"boo\", \"mario\", \"ghost\"],\n    \"pronouns\": [\"he\", \"him\"]\n  },\n  {\n    \"name\": \"txt_boooo\",\n    \"sprite\": [\"txt/boooo\"],\n    \"types\": [\"object\"],\n    \"color\": [[4, 2]],\n    \"desc\": \"AAA u scar mee!\",\n    \"tags\": [\"boo\", \"mario\", \"ghost\"]\n  },\n  {\n    \"name\": \"madi\",\n    \"sprite\": [\"madi_hair\", \"madi_skin\", \"madi_shirt\", \"madi_pants\"],\n    \"layer\": 11,\n    \"color\": [[2, 2], [2, 4], [1, 3], [2, 2]],\n    \"painted\": [true, false, false, false],\n    \"rotate\": true,\n    \"features\": {\n      \"sans\": {\"x\": 21, \"y\": 9, \"w\": 1, \"h\": 2}\n    },\n    \"desc\": \"she clim mountain in very good game\",\n    \"tags\": [\"madeline\", \"celeste\", \"chars\"],\n    \"pronouns\": [\"she\", \"her\"]\n  },\n  {\n    \"name\": \"txt_madi\",\n    \"sprite\": [\"txt/madi\"],\n    \"types\": [\"object\"],\n    \"color\": [[2, 2]],\n    \"tags\": [\"madeline\", \"celeste\", \"chars\"]\n  },\n  {\n    \"name\": \"badi\",\n    \"sprite\": [\"madi_hair\", \"madi_skin\", \"madi_eyes\", \"madi_shirt\", \"madi_pants\"],\n    \"layer\": 11,\n    \"color\": [[3, 1], [3, 3], [2, 2], [3, 2], [3, 0]],\n    \"painted\": [true, false, false, false, false],\n    \"rotate\": true,\n    \"features\": {\n      \"sans\": {\"x\": 21, \"y\": 9, \"w\": 1, \"h\": 2}\n    },\n    \"desc\": \"emag doog yrev ni niatnuom milc ehs\",\n    \"tags\": [\"badeline\", \"celeste\", \"chars\"],\n    \"pronouns\": [\"she\", \"her\"]\n  },\n  {\n    \"name\": \"txt_badi\",\n    \"sprite\": [\"txt/badi\"],\n    \"types\": [\"object\"],\n    \"color\": [[3, 3]],\n    \"tags\": [\"badeline\", \"celeste\", \"chars\"]\n  },\n  {\n    \"name\": \"pidgin\",\n    \"sprite\": [\"pidgin\"],\n    \"layer\": 11,\n    \"color\": [[0, 2]],\n    \"rotate\": true,\n    \"features\": {\n      \"sans\": {\"x\": 21, \"y\": 6, \"w\": 2, \"h\": 2}\n    },\n    \"desc\": \"not a creole\",\n    \"tags\": [\"chars\", \"bird\", \"city\", \"pigeon\"],\n\t  \"pronouns\": [\"they\", \"them\"]\n  },\n  {\n    \"name\": \"txt_pidgin\",\n    \"sprite\": [\"txt/pidgin\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 2]],\n    \"desc\": \"also not a creole\",\n    \"tags\": [\"chars\", \"bird\", \"city\", \"pigeon\"]\n  },\n  {\n    \"name\": \"kva\",\n    \"sprite\": [\"kva\"],\n    \"layer\": 11,\n    \"color\": [[5, 3]],\n    \"rotate\": true,\n    \"features\": {\n      \"sans\": {\"x\": 25, \"y\": 7, \"w\": 3, \"h\": 3}\n    },\n    \"desc\": \"hippity hoppity kva loves u\",\n    \"tags\": [\"chars\", \"frog\", \"toad\"],\n\t  \"pronouns\": [\"she\", \"her\"]\n  },\n  {\n    \"name\": \"txt_kva\",\n    \"sprite\": [\"txt/kva\"],\n    \"types\": [\"object\"],\n    \"color\": [[5, 3]],\n    \"tags\": [\"chars\", \"frog\", \"toad\"]\n  },\n  {\n    \"name\": \"kat\",\n    \"sprite\": [\"kat\"],\n    \"layer\": 11,\n    \"color\": [[0, 3]],\n    \"rotate\": true,\n    \"features\": {\n      \"hatt\": {\"x\": 7},\n      \"which\": {\"x\": 7},\n      \"sant\": {\"y\": 1},\n      \"bowie\": {\"x\": 5, \"y\": -3},\n      \"sans\": {\"x\": 26, \"y\": 11, \"w\": 3, \"h\": 3},\n      \"cool\": {\"x\": 5, \"y\": -1},\n      \"katany\": {},\n      \"knif\": {\"x\": 6, \"y\": 2},\n      \"gunne\": {\"x\": 2, \"y\": 4}\n    },\n    \"voice\": \"cat\",\n    \"desc\": \"bab's sister\",\n    \"tags\": [\"chars\", \"cat\", \"sis\", \"sister\", \"nya\"],\n    \"pronouns\": [\"she\", \"her\"]\n  },\n  {\n    \"name\": \"txt_kat\",\n    \"sprite\": [\"txt/kat\"],\n    \"types\": [\"object\"],\n    \"color\": [[4, 1]],\n    \"desc\": \"meow?\",\n    \"tags\": [\"chars\", \"cat\", \"sis\", \"sister\", \"nya\"]\n  },\n  {\n    \"name\": \"swan\",\n    \"sprite\": [\"swan\"],\n    \"layer\": 11,\n    \"color\": [[0, 3]],\n    \"rotate\": true,\n    \"features\": {\n      \"hatt\": {\"x\": 4, \"y\": -3},\n      \"which\": {\"x\": 2, \"y\": -3},\n      \"sant\": {\"x\": 2, \"y\": 2},\n      \"bowie\": {\"x\": 3, \"y\": -6},\n      \"sans\": {\"x\": 20, \"y\": 5, \"w\": 2, \"h\": 2},\n      \"katany\": {\"x\": 10, \"y\": -14},\n      \"knif\": {\"x\": 13, \"y\": -12},\n      \"gunne\": {\"x\": 11, \"y\": -10},\n      \"slippers\": {\"x\": 3}\n    },\n    \"desc\": \"a goos is a female swan\",\n    \"tags\": [\"chars\", \"bird\", \"untitled goose game\"],\n\t  \"pronouns\": [\"he\", \"him\"]\n  },\n  {\n    \"name\": \"txt_swan\",\n    \"sprite\": [\"txt/swan\"],\n    \"types\": [\"object\"],\n    \"color\": [[1, 3]],\n    \"desc\": \"unnamed swan thing: swan can GOT any object!!!\",\n    \"tags\": [\"chars\", \"bird\", \"untitled goose game\"]\n  },\n  {\n    \"name\": \"spoder\",\n    \"sprite\": [\"spoder\"],\n    \"layer\": 11,\n    \"color\": [[3, 1]],\n    \"rotate\": true,\n    \"features\": {\n      \"sans\": {\"x\": 12, \"y\": 12, \"w\": 3, \"h\": 3}\n    },\n    \"desc\": \"i think purp is a goode look on u!\",\n    \"tags\": [\"chars\", \"spider\", \"bug\", \"spoods\"],\n\t  \"pronouns\": [\"they\", \"them\"]\n  },\n  {\n    \"name\": \"txt_spoder\",\n    \"sprite\": [\"txt/spoder\"],\n    \"types\": [\"object\"],\n    \"color\": [[3, 1]],\n    \"desc\": \"sppood\",\n    \"tags\": [\"chars\", \"spider\", \"bug\", \"spoods\"]\n  },\n  {\n    \"name\": \"flof\",\n    \"sprite\": [\"flof\"],\n    \"layer\": 11,\n    \"color\": [[0, 3]],\n    \"rotate\": true,\n    \"features\": {\n      \"hatt\": {\"y\": 4},\n      \"which\": {\"y\": 4},\n      \"sans\": {\"x\": 23, \"y\": 17, \"w\": 3, \"h\": 3}\n    },\n    \"desc\": \"bab's bro, ver soft, pls pet\",\n    \"tags\": [\"chars\", \"fluff\", \"floof\", \"brother\", \"dog\"],\n    \"pronouns\": [\"he\", \"him\"]\n  },\n  {\n    \"name\": \"txt_flof\",\n    \"sprite\": [\"txt/flof\"],\n    \"types\": [\"object\"],\n    \"color\": [[4, 1]],\n    \"desc\": \"not a flog\",\n    \"tags\": [\"fluff\", \"floof\", \"brother\", \"dog\"]\n  },\n  {\n    \"name\": \"err\",\n    \"sprite\": [\"err\"],\n    \"layer\": 11,\n    \"color\": [[0, 3]],\n    \"rotate\": true,\n    \"features\": {\n      \"sans\": {\"x\": 23, \"y\": 9, \"w\": 4, \"h\": 4}\n    },\n    \"desc\": \"kinda spooky in bab tbh\",\n    \"tags\": [\"chars\", \"error\"]\n  },\n  {\n    \"name\": \"txt_err\",\n    \"sprite\": [\"txt/err\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 3]],\n    \"tags\": [\"chars\", \"error\"]\n  },\n  {\n    \"name\": \"mimi\",\n    \"sprite\": [\"mimic_close\"],\n    \"layer\": 9,\n    \"color\": [[2, 2]],\n    \"features\": {\n      \"sans\": {\"x\": 14, \"y\": 17, \"w\": 2, \"h\": 4}\n    },\n    \"desc\": \"closes when NED KEE\",\n    \"tags\": [\"chars\", \"chest\", \"treasure chest\", \"mimic\"],\n    \"pronouns\": [\"she\", \"her\"]\n  },\n  {\n    \"name\": \"txt_mimi\",\n    \"sprite\": [\"txt/mimi\"],\n    \"types\": [\"object\"],\n    \"color\": [[2, 2]],\n    \"tags\": [\"chars\", \"chest\", \"treasure chest\", \"mimic\"]\n  },\n  {\n    \"name\": \"der\",\n    \"sprite\": [\"der\"],\n    \"layer\": 11,\n    \"color\": [[6, 1]],\n    \"rotate\": true,\n    \"features\": {\n      \"sans\": {\"x\": 24, \"y\": 11, \"w\": 2, \"h\": 2}\n    },\n    \"desc\": \"rudolf w/ ur nos be BRITE, wont u guid my slay?\",\n    \"tags\": [\"chars\", \"reindeer\", \"moose\", \"christmas\"]\n  },\n  {\n    \"name\": \"txt_der\",\n    \"sprite\": [\"txt/der\"],\n    \"types\": [\"object\"],\n    \"color\": [[6, 1]],\n    \"desc\": \"stay away from kappa and ryugon!!\",\n    \"tags\": [\"chars\", \"reindeer\", \"moose\", \"christmas\"],\n\t  \"pronouns\": [\"he\", \"him\"]\n  },\n  {\n    \"name\": \"ginn\",\n    \"sprite\": [\"ginn\"],\n    \"layer\": 11,\n    \"color\": [[6, 2]],\n    \"rotate\": true,\n    \"features\": {\n      \"sans\": {\"x\": 18, \"y\": 6, \"w\": 2, \"h\": 2}\n    },\n    \"desc\": \"shes a girl!\",\n    \"tags\": [\"chars\", \"gingerbread man\", \"christmas\", \"cookie\", \"food\"],\n    \"pronouns\": [\"she\", \"her\"]\n  },\n  {\n    \"name\": \"txt_ginn\",\n    \"sprite\": [\"txt/ginn\"],\n    \"types\": [\"object\"],\n    \"color\": [[6, 2]],\n    \"tags\": [\"chars\", \"gingerbread man\", \"christmas\", \"cookie\", \"food\"]\n  },\n  {\n    \"name\": \"toby\",\n    \"sprite\": [\"toby\"],\n    \"layer\": 11,\n    \"color\": [[0, 3]],\n    \"rotate\": true,\n    \"features\": {\n      \"hatt\": {\"x\": 5},\n      \"which\": {\"x\": 5},\n      \"sant\": {\"x\": 1},\n      \"sans\": {\"x\": 24, \"y\": 9, \"w\": 2, \"h\": 2},\n      \"katany\": {\"x\": 5},\n      \"knif\": {\"x\": 5},\n      \"gunne\": {\"x\": 5}\n    },\n    \"voice\": \"dog\",\n    \"desc\": \"absorps ur artefac\",\n    \"tags\": [\"chars\", \"toby fox\", \"annoying dog\", \"undertale\"],\n    \"pronouns\": [\"he\", \"him\"]\n  },\n  {\n    \"name\": \"txt_toby\",\n    \"sprite\": [\"txt/toby\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"The highly respectable Toby Fox himself,\\nCreator of UNDERTALE and deltarune.\",\n    \"tags\": [\"chars\", \"toby fox\", \"annoying dog\", \"undertale\"]\n  },\n  {\n    \"name\": \"angle\",\n    \"sprite\": [\"angle\"],\n    \"layer\": 11,\n    \"color\": [[0, 3]],\n    \"rotate\": true,\n    \"features\": {\n      \"sans\": {\"x\": 19, \"y\": 9, \"w\": 2, \"h\": 2}\n    },\n    \"voice\": \"choir\",\n    \"desc\": \"i can be your angle...\",\n    \"tags\": [\"chars\", \"angel\"],\n\t  \"pronouns\": [\"she\", \"her\"]\n  },\n  {\n    \"name\": \"txt_angle\",\n    \"sprite\": [\"txt/angle\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"she's 90 gradians... acute angle\",\n    \"tags\": [\"chars\", \"angel\"]\n  },\n  {\n    \"name\": \"dvl\",\n    \"sprite\": [\"debil\"],\n    \"layer\": 11,\n    \"color\": [[2, 2]],\n    \"rotate\": true,\n    \"features\": {\n      \"sans\": {\"x\": 14, \"y\": 18, \"w\": 2, \"h\": 2}\n    },\n    \"desc\": \"or yuor dvl...\",\n    \"tags\": [\"chars\", \"devil\", \"demon\", \"debil\"],\n\t  \"pronouns\": [\"he\", \"him\"]\n  },\n  {\n    \"name\": \"txt_dvl\",\n    \"sprite\": [\"txt/dvl\"],\n    \"types\": [\"object\"],\n    \"color\": [[2, 2]],\n    \"desc\": \"used to be called \\\"debil\\\" until we found out that's a bad word in a different language\",\n    \"tags\": [\"chars\", \"devil\", \"demon\", \"debil\"]\n  },\n  {\n    \"name\": \"temmi\",\n    \"sprite\": [\"temmi\", \"temmi but just her face\"],\n    \"layer\": 11,\n    \"color\": [[0, 3], [0, 3]],\n    \"painted\": [true, false],\n    \"rotate\": true,\n    \"features\": {\n      \"hatt\": {\"x\": 5},\n      \"which\": {\"x\": 5},\n      \"sant\": {\"x\": 1},\n      \"sans\": {\"x\": 23, \"y\": 12, \"w\": 2, \"h\": 2},\n      \"cool\": {\"x\": 2, \"y\": 2},\n      \"katany\": {\"x\": 5},\n      \"knif\": {\"x\": 5},\n      \"gunne\": {\"x\": 5}\n    },\n    \"voice\": \"temmie\",\n    \"desc\": \"hOI!!! i'm tEMMi!!\",\n    \"tags\": [\"chars\", \"temmie chang\", \"undertale\"],\n    \"pronouns\": [\"she\", \"her\"]\n  },\n  {\n    \"name\": \"txt_temmi\",\n    \"sprite\": [\"txt/temmi\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"Temmie Chang: Main artist of UNDERTALE and deltarune.\",\n    \"alias\": [\"temmi!\", \"temmi!!\", \"temmi!!!\", \"bob.\"],\n    \"tags\": [\"chars\", \"temmie chang\", \"undertale\"]\n  },\n  {\n    \"name\": \"detox\",\n    \"sprite\": [\"detox\"],\n    \"layer\": 11,\n    \"color\": [[2, 4]],\n    \"rotate\": true,\n    \"features\": {\n      \"sans\": {\"x\": 21, \"y\": 8, \"w\": 2, \"h\": 3}\n    },\n    \"voice\": \"s_vitellary\",\n    \"desc\": \"u've been lookin @ too much Good Art\",\n    \"tags\": [\"chars\", \"vvvvvv\", \"allison\"],\n\t  \"pronouns\": [\"she\", \"her\"]\n  },\n  {\n    \"name\": \"txt_detox\",\n    \"sprite\": [\"txt/detox\"],\n    \"types\": [\"object\"],\n    \"color\": [[3, 1]],\n    \"desc\": \"detox be a custom vvvvvv level by allison, very good\",\n    \"tags\": [\"vvvvvv\", \"allison\"]\n  },\n  {\n    \"name\": \"viruse\",\n    \"sprite\": [\"virus\"],\n    \"layer\": 11,\n    \"color\": [[2, 4]],\n    \"rotate\": true,\n    \"voice\": \"sham_gatsample\",\n    \"desc\": \"dies to shigu\",\n    \"tags\": [\"chars\", \"dr mario\", \"mario\", \"virus\"],\n\t  \"pronouns\": [\"it\"]\n  },\n  {\n    \"name\": \"txt_viruse\",\n    \"sprite\": [\"txt/viruse\"],\n    \"types\": [\"object\"],\n    \"color\": [[2, 4]],\n    \"desc\": \"virus\",\n    \"tags\": [\"dr mario\", \"mario\", \"virus\"]\n  },\n  {\n    \"name\": \"nyowo\",\n    \"sprite\": [\"nyowo\", \"nyowo_face\"],\n    \"layer\": 10,\n    \"color\": [[2, 4], [0, 3]],\n    \"painted\": [true, false],\n    \"features\": {\n      \"sans\": {\"x\": 23, \"y\": 13, \"w\": 3, \"h\": 6}\n    },\n    \"desc\": \"crying\",\n    \"tags\": [\"chars\", \"nya\", \"jill\"],\n\t  \"pronouns\": [\"she\", \"her\"]\n  },\n  {\n    \"name\": \"txt_nyowo\",\n    \"sprite\": [\"txt/nyowo\"],\n    \"types\": [\"object\"],\n    \"color\": [[2, 4]],\n    \"tags\": [\"nya\", \"jill\"]\n  },\n  {\n    \"name\": \"grimkid\",\n    \"sprite\": [\"grimkid_body\", \"grimkid\"],\n    \"layer\": 11,\n    \"color\": [[2, 1], [0, 3]],\n    \"painted\": [true, false],\n    \"features\": {\n      \"sans\": {\"x\": 21, \"y\": 13, \"w\": 2, \"h\": 2}\n    },\n    \"desc\": \"complet rituel pls\",\n    \"tags\": [\"chars\"]\n  },\n  {\n    \"name\": \"txt_grimkid\",\n    \"sprite\": [\"txt/grimkid\"],\n    \"types\": [\"object\"],\n    \"color\": [[2, 2]]\n  },\n  {\n    \"name\": \"prime\",\n    \"sprite\": [\"prime\"],\n    \"layer\": 10,\n    \"color\": [[2, 3]],\n    \"features\": {\n      \"sans\": {\"x\": 11, \"y\": 17, \"w\": 2, \"h\": 2}\n    },\n    \"desc\": \"prime numbers SUCK\",\n    \"tags\": [\"chars\", \"hollow knight\"],\n\t  \"pronouns\": [\"she\", \"her\"]\n  },\n  {\n    \"name\": \"txt_prime\",\n    \"sprite\": [\"txt/prime\"],\n    \"types\": [\"object\"],\n    \"color\": [[2, 3]]\n  },\n  {\n    \"name\": \"assh\",\n    \"sprite\": [\"assh\"],\n    \"layer\": 11,\n    \"color\": [[0, 3]],\n    \"rotate\": true,\n    \"desc\": \"he can grab on ledges\",\n    \"tags\": [\"chars\", \"ash\", \"tein\"],\n\t  \"pronouns\": [\"he\", \"him\"]\n  },\n  {\n    \"name\": \"txt_assh\",\n    \"sprite\": [\"txt/assh\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 1]],\n    \"desc\": \"no bad words here miss vitellary\",\n    \"tags\": [\"ash\", \"tein\"]\n  },\n  {\n    \"name\": \"boogie\",\n    \"sprite\": [\"boogie\"],\n    \"layer\": 11,\n    \"color\": [[1, 3]],\n    \"rotate\": true,\n    \"features\": {\n      \"sans\": {\"x\": 22, \"y\": 16, \"w\": 3, \"h\": 3}\n    },\n    \"desc\": \"cant hurt u unless u walk into it somehow\",\n    \"tags\": [\"chars\", \"slime\", \"crypt of the necrodancer\"]\n  },\n  {\n    \"name\": \"txt_boogie\",\n    \"sprite\": [\"txt/boogie\"],\n    \"types\": [\"object\"],\n    \"color\": [[1, 3]],\n    \"tags\": [\"slime\", \"crypt of the necrodancer\"]\n  },\n  {\n    \"name\": \"babby\",\n    \"sprite\": [\"babby\"],\n    \"layer\": 11,\n    \"color\": [[0, 3]],\n    \"rotate\": true,\n    \"voice\": \"babby\",\n    \"desc\": \"bab be babbe ba\",\n    \"tags\": [\"chars\", \"baby\", \"bapy\", \"babey\", \"babbey\", \"smol\"],\n    \"pronouns\": [\"she\", \"her\"]\n  },\n  {\n    \"name\": \"txt_babby\",\n    \"sprite\": [\"txt/babby\"],\n    \"types\": [\"object\"],\n    \"color\": [[4, 1]],\n    \"desc\": \"not to be confused with bab be\",\n    \"tags\": [\"baby\", \"bapy\", \"babey\", \"babbey\", \"smol\"]\n  },\n  {\n    \"name\": \"snom\",\n    \"sprite\": [\"snom\"],\n    \"layer\": 11,\n    \"color\": [[0, 3]],\n    \"rotate\": true,\n    \"features\": {\n      \"sans\": {\"x\": 20, \"y\": 25, \"w\": 2, \"h\": 2}\n    },\n    \"desc\": \"It snaccs SNO that piles up on the ground. The more SNO it snaccs, the THICCer and MOAR impressive the spikes on its back grow.\",\n    \"tags\": [\"chars\", \"snom\", \"pokemon\"],\n    \"pronouns\": [\"genderfluid\"]\n  },\n  {\n    \"name\": \"txt_snom\",\n    \"sprite\": [\"txt/snom\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"yea its the same spelling what else would it be, SNOWM??\",\n    \"tags\": [\"chars\", \"snom\", \"pokemon\"]\n  },\n  {\n    \"name\": \"baba\",\n    \"sprite\": [\"baba\"],\n    \"layer\": 11,\n    \"color\": [[0, 3]],\n    \"rotate\": true,\n    \"wobble\": true,\n    \"desc\": \"bab.... a???\"\n  },\n  {\n    \"name\": \"txt_baba\",\n    \"sprite\": [\"txt/baba\"],\n    \"types\": [\"object\"],\n    \"color\": [[4, 1]],\n    \"wobble\": true,\n    \"desc\": \"\\\"BABA\\\". thats what it says\",\n    \"tags\": [\"chars\", \"baba\"]\n  },\n  {\n    \"name\": \"bad\",\n    \"sprite\": [\"bad_body\", \"bad_metal\", \"bad_skateboard\"],\n    \"color\": [[1, 4], [2, 4], [2, 2]],\n    \"painted\": [true, false, false],\n    \"rotate\": true,\n    \"voice\": \"overdriven guitar\",\n    \"desc\": \"bab's evil sk8r bro, can say heck 3 times per day\",\n    \"tags\": [\"chars\", \"badbad\", \"cool\"],\n    \"pronouns\": [\"he\", \"him\"]\n  },\n  {\n    \"name\": \"txt_bad\",\n    \"sprite\": [\"txt/bad\"],\n    \"types\": [\"object\"],\n    \"color\": [[1, 4]],\n    \"tags\": [\"chars\", \"badbad\", \"cool\"]\n  },\n  {\n    \"name\": \"niko\",\n    \"sprite\": [\"niko_A\",\"niko_B\",\"niko_C\",\"niko_face\"],\n    \"layer\": 11,\n    \"color\": [[3, 2],[6, 1],[2, 1],[2, 4]],\n    \"painted\": [false, false, false, true],\n    \"rotate\": true,\n    \"features\": {\n      \"sans\": {\"x\": 19, \"y\": 14, \"w\": 3, \"h\": 3}\n    },\n    \"desc\": \"u only have 1 shot\",\n    \"tags\": [\"oneshot\", \"niko\", \"jakubk027\", \"lightbulbmeow\"],\n    \"pronouns\": [\"they\", \"them\"]\n  },\n  {\n    \"name\": \"txt_niko\",\n    \"sprite\": [\"txt/niko\", \"no1\"],\n    \"types\": [\"object\"],\n    \"color\": [[3, 2],[2, 4]],\n    \"tags\": [\"oneshot\", \"niko\", \"jakubk027\", \"lightbulbmeow\"]\n  },\n  {\n    \"name\": \"humuhumunukunukuapua'a\",\n    \"sprite\": [\"humuwhite\", \"humublack\", \"humugrey\", \"humured\",\"humuorange\", \"humuyellow\", \"humublue\"],\n    \"layer\": 11,\n    \"color\": [[0, 3],[0, 4],[0, 1],[2, 2],[2, 3],[2, 4],[1, 3]],\n\t\"painted\": [true, true, false, true, true, true, true],\n    \"rotate\": true,\n    \"desc\": \"many colrs at once\",\n    \"tags\": [\"chars, fish\"],\n    \"pronouns\": [\"they\", \"them\"]\n  },\n  {\n    \"name\": \"txt_humuhumunukunukuapua'a\",\n    \"sprite\": [\"txt/humu\"],\n    \"types\": [\"object\"],\n    \"color\": [[2, 3]],\n    \"desc\": \"a fish with a very long name. dont hurt them or ull get hurt\",\n    \"tags\": [\"chars, fish\"]\n  },\n  {\n    \"name\": \"miku\",\n    \"sprite\": [\"miku_shirt\", \"miku_skin\", \"miku_black\", \"miku_blue\", \"miku_red\"],\n    \"layer\": 10,\n    \"color\": [[0, 2], [0, 3], [0, 1], [1, 4], [2, 2]],\n    \"painted\": [false, false, false, true, false],\n    \"unsearchable\": true,\n    \"voice\": \"miku\",\n    \"desc\": \"woah!!!! you found a rare miku!!!!!\",\n    \"tags\": [\"chars\", \"hatsune miku\"],\n    \"pronouns\": [\"she\", \"her\", \"miku\"]\n  },\n  {\n    \"name\": \"txt_miku\",\n    \"sprite\": [\"txt/miku\"],\n    \"types\": [\"object\"],\n    \"color\": [[1, 4]],\n    \"unsearchable\": true,\n    \"desc\": \"why she so small doe :floshed:\",\n    \"tags\": [\"chars\", \"hatsune miku\"]\n  },\n  {\n    \"name\": \"slogkat\",\n    \"sprite\": [\"slogkat\"],\n    \"layer\": 11,\n    \"color\": [[0, 3]],\n    \"rotate\": true,\n    \"features\": {\n      \"sans\": {\"x\": 17, \"y\": 7, \"w\": 2, \"h\": 3}\n    },\n    \"desc\": \"slogkat snacc frut\",\n    \"pronouns\": [\"they\", \"them\"]\n  },\n  {\n    \"name\": \"txt_slogkat\",\n    \"sprite\": [\"txt/slogkat\"],\n    \"types\": [\"object\"],\n    \"color\": [[4, 1]],\n    \"desc\": \"bab,,, distant relative,,,,,\",\n    \"tags\": [\"chars\", \"slugcat\"]\n  },\n  {\n    \"name\": \"b..er\",\n    \"sprite\": [\"ber\"],\n    \"layer\": 11,\n    \"color\": [[6, 1]],\n    \"rotate\": true,\n    \"features\": {\n      \"sans\": {\"x\": 25, \"y\": 17, \"w\": 2, \"h\": 2}\n    },\n    \"desc\": \"grrrawwwrhrhwrhghrhg (nice to meet u)\",\n    \"pronouns\": [\"he\", \"him\"]\n  },\n  {\n    \"name\": \"txt_b..er\",\n    \"sprite\": [\"txt/ber\"],\n    \"types\": [\"object\"],\n    \"color\": [[6, 1]],\n    \"desc\": \"BËR: To use with letters, you need an umlaut!\",\n    \"alias\": [\"b*r\"],\n    \"tags\": [\"chars\", \"bear\", \"ber\", \"bër\"]\n  },\n  {\n    \"name\": \"slog\",\n    \"sprite\": [\"slog\"],\n    \"layer\": 11,\n    \"color\": [[3, 3]],\n    \"rotate\": true,\n    \"features\": {\n      \"sans\": {\"x\": 24, \"y\": 7, \"w\": 4, \"h\": 4}\n    },\n    \"desc\": \"currently slogging\",\n    \"pronouns\": [\"they\", \"them\"]\n  },\n  {\n    \"name\": \"txt_slog\",\n    \"sprite\": [\"txt/slog\"],\n    \"types\": [\"object\"],\n    \"color\": [[3, 2]],\n    \"tags\": [\"slug\"]\n  },\n  {\n    \"name\": \"scorpino\",\n    \"sprite\": [\"scorpino\"],\n    \"layer\": 11,\n    \"color\": [[1, 3]],\n    \"rotate\": true,\n    \"features\": {\n      \"sans\": {\"x\": 20, \"y\": 17, \"w\": 2, \"h\": 2}\n    },\n    \"desc\": \"she wont sting unless u bully\",\n    \"pronouns\": [\"she\", \"her\"]\n  },\n  {\n    \"name\": \"txt_scorpino\",\n    \"sprite\": [\"txt/scorpino\"],\n    \"types\": [\"object\"],\n    \"color\": [[1, 4]],\n    \"tags\": [\"scorpion\"]\n  },\n  {\n    \"name\": \"jij\",\n    \"sprite\": [\"jij\"],\n    \"layer\": 11,\n    \"color\": [[6, 2]],\n    \"rotate\": true,\n    \"features\": {\n      \"sans\": {\"x\": 25, \"y\": 17, \"w\": 2, \"h\": 2}\n    },\n    \"desc\": \"its jij eeeeeeeeeeee\",\n    \"pronouns\": [\"she\", \"her\"]\n  },\n  {\n    \"name\": \"txt_jij\",\n    \"sprite\": [\"txt/jij\"],\n    \"types\": [\"object\"],\n    \"color\": [[6, 2]],\n    \"desc\": \"means 'a few sentences' in chinese\",\n    \"alias\": [\"jij\"],\n    \"tags\": [\"chars\", \"jij\", \"llama\"]\n  },\n  {\n    \"name\": \"fof\",\n    \"sprite\": [\"fof\"],\n    \"layer\": 11,\n    \"color\": [[5, 3]],\n    \"rotate\": true,\n    \"features\": {\n      \"sans\": {\"x\": 25, \"y\": 17, \"w\": 2, \"h\": 2}\n    },\n    \"desc\": \"he bush\",\n    \"pronouns\": [\"he\", \"him\"]\n  },\n  {\n    \"name\": \"txt_fof\",\n    \"sprite\": [\"txt/fof\"],\n    \"types\": [\"object\"],\n    \"color\": [[5, 3]],\n    \"desc\": \"from portugal\",\n    \"alias\": [\"jij\"],\n    \"tags\": [\"chars\", \"fof\", \"bush\"]\n  },\n  {\n    \"name\": \"ballt\",\n    \"sprite\": [\"ballt\"],\n    \"layer\": 11,\n    \"color\": [[0, 1]],\n    \"rotate\": true,\n    \"features\": {\n      \"sans\": {\"x\": 22, \"y\": 10, \"w\": 2, \"h\": 2}\n    },\n    \"desc\": \"they are siblings with beb\",\n    \"tags\": [\"chars\", \"balt\", \"baba\", \"belt\"],\n    \"pronouns\": [\"he\", \"him\"]\n  },\n  {\n    \"name\": \"txt_ballt\",\n    \"sprite\": [\"txt/ballt\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 1]],\n    \"tags\": [\"chars\", \"balt\", \"baba\", \"belt\"]\n  }\n]\n"
  },
  {
    "path": "assets/tiles/objects/devs.json",
    "content": "[\n  {\n    \"name\": \"she\",\n    \"sprite\": [\"she_hairunder\", \"she_skin\", \"she_hairover\"],\n    \"color\": [[1, 4], [0, 3], [1, 4]],\n    \"painted\": [true, false, true],\n    \"types\": [\"object\"],\n    \"layer\": 11,\n    \"rotate\": true,\n    \"features\": {\n      \"sans\": {\"x\": 19, \"y\": 7, \"w\": 2, \"h\": 2}\n    },\n    \"voice\": \"miku\",\n    \"desc\": \"She\",\n    \"tags\": [\"devs\", \"chars\", \"oatmealine\"],\n\t  \"pronouns\": [\"it\", \"her\"]\n  },\n  {\n    \"name\": \"txt_she\",\n    \"sprite\": [\"txt/she\"],\n    \"types\": [\"object\"],\n    \"color\": [[1, 4]],\n    \"tags\": [\"devs\", \"chars\", \"oatmealine\"]\n  },\n  {\n    \"name\": \"oat\",\n    \"sprite\": [\"o\"],\n    \"types\": [\"object\", \"letter\"],\n    \"layer\": 11,\n    \"color\": [[2, 4]],\n    \"features\": {\n      \"sans\": {\"x\": 19, \"y\": 7, \"w\": 2, \"h\": 2}\n    },\n    \"voice\": \"pipipi\",\n    \"desc\": \"pi pi piiii!!! (oat's past char)\",\n    \"tags\": [\"devs\", \"chars\", \"oatmealine\", \"puyopuyo tetris\"],\n\t  \"pronouns\": [\"it\", \"her\"]\n  },\n  {\n    \"name\": \"txt_oat\",\n    \"sprite\": [\"txt/oat\"],\n    \"types\": [\"object\"],\n    \"color\": [[2, 4]],\n    \"tags\": [\"devs\", \"chars\", \"oatmealine\", \"puyopuyo tetris\"]\n  },\n\n  {\n    \"name\": \"pata\",\n    \"sprite\": [\"pata\"],\n    \"layer\": 11,\n    \"color\": [[3, 3]],\n    \"rotate\": true,\n    \"features\": {\n      \"sans\": {\"x\": 17, \"y\": 4, \"w\": 1, \"h\": 2}\n    },\n    \"voice\": \"pata1\",\n    \"desc\": \"pat a shoe\",\n    \"tags\": [\"devs\", \"chars\", \"patashu\"],\n\t\"pronouns\": [\"he\", \"him\"]\n  },\n  {\n    \"name\": \"txt_pata\",\n    \"sprite\": [\"txt/pata\"],\n    \"types\": [\"object\"],\n    \"color\": [[3, 3]],\n    \"tags\": [\"devs\", \"chars\", \"patashu\"]\n  },\n  {\n    \"name\": \"vite\",\n    \"sprite\": [\"vite\"],\n    \"layer\": 11,\n    \"color\": [[2, 4]],\n    \"rotate\": true,\n    \"features\": {\n      \"hatt\": {\"x\": -2, \"y\": -6},\n      \"which\": {\"x\": -3, \"y\": -5},\n      \"sant\": {\"x\": -6, \"y\": -3},\n      \"bowie\": {\"x\": -2, \"y\": -6},\n      \"sans\": {\"x\": 18, \"y\": 4, \"w\": 2, \"h\": 2},\n      \"cool\": {\"x\": -4, \"y\": -7},\n      \"katany\": {\"x\": 4, \"y\": -4},\n      \"knif\": {\"x\": 9, \"y\": -2},\n      \"gunne\": {\"x\": 5, \"y\": -1}\n    },\n    \"voice\": \"s_vitellary\",\n    \"desc\": \"vite be haetflor\",\n    \"tags\": [\"devs\", \"chars\", \"vitellary\", \"vvvvvv\"],\n    \"pronouns\": [\"she\", \"her\"]\n  },\n  {\n    \"name\": \"txt_vite\",\n    \"sprite\": [\"txt/vite\"],\n    \"types\": [\"object\"],\n    \"color\": [[2, 4]],\n    \"desc\": \"(its actually pronounced vit\",\n    \"tags\": [\"devs\", \"chars\", \"vitellary\", \"vvvvvv\"]\n  },\n  {\n    \"name\": \"lila\",\n    \"sprite\": [\"lila\"],\n    \"layer\": 11,\n    \"color\": [[4, 2]],\n    \"rotate\": true,\n    \"features\": {\n      \"sans\": {\"x\": 19, \"y\": 8, \"w\": 2, \"h\": 2}\n    },\n    \"desc\": \"lila, represents the creator of bab be u herself! all hail lila\",\n    \"tags\": [\"devs\", \"chars\", \"lily\", \"lili\"],\n    \"pronouns\": [\"she\", \"her\", \"nya\", \"nyaself\"]\n  },\n  {\n    \"name\": \"txt_lila\",\n    \"sprite\": [\"txt/lila\"],\n    \"types\": [\"object\"],\n    \"color\": [[4, 2]],\n    \"tags\": [\"devs\", \"chars\", \"lily\", \"lili\"]\n  },\n  {\n    \"name\": \"zsoob\",\n    \"sprite\": [\"zsoob\"],\n    \"layer\": 11,\n    \"color\": [[4, 1]],\n    \"rotate\": true,\n    \"features\": {\n      \"sans\": {\"x\": 17, \"y\": 9, \"w\": 2, \"h\": 2}\n    },\n    \"desc\": \"pinc keke\",\n    \"tags\": [\"devs\", \"chars\", \"szoob\"],\n\t\"pronouns\": [\"he\", \"him\"]\n  },\n  {\n    \"name\": \"txt_zsoob\",\n    \"sprite\": [\"txt/zsoob\"],\n    \"types\": [\"object\"],\n    \"color\": [[4, 1]],\n    \"tags\": [\"devs\", \"chars\", \"szoob\"]\n  },\n  {\n    \"name\": \"jill\",\n    \"sprite\": [\"jill\"],\n    \"layer\": 11,\n    \"color\": [[1, 3]],\n    \"rotate\": true,\n    \"features\": {\n      \"hatt\": {\"x\": -1, \"y\": -1},\n      \"which\": {\"x\": -2, \"y\": -1},\n      \"sant\": {\"x\": -5},\n      \"bowie\": {\"x\": -1, \"y\": -5},\n      \"sans\": {\"x\": 17, \"y\": 8, \"w\": 2, \"h\": 3},\n      \"cool\": {\"x\": -2, \"y\": -3},\n      \"knif\": {\"x\": 3, \"y\": -3}\n    },\n    \"voice\": \"s_jill\",\n    \"desc\": \"it time 2 mix drincc & chaeng life\",\n    \"tags\": [\"devs\", \"chars\", \"valhalla\", \"cynthia\"],\n\t\"pronouns\": [\"she\", \"her\"]\n  },\n  {\n    \"name\": \"txt_jill\",\n    \"sprite\": [\"txt/jill\"],\n    \"types\": [\"object\"],\n    \"color\": [[1, 3]],\n    \"tags\": [\"devs\", \"chars\", \"valhalla\", \"cynthia\"]\n  },\n  {\n    \"name\": \"slab\",\n    \"sprite\": [\"slab\"],\n    \"layer\": 20,\n    \"color\": [[1, 4], [0, 3]],\n    \"painted\": [true, false],\n    \"features\": {\n      \"sans\": {\"x\": 17, \"y\": 13, \"w\": 1, \"h\": 2}\n    },\n    \"desc\": \"omg its a beautiful buttered fly\",\n    \"tags\": [\"devs\", \"chars\"]\n  },\n  {\n    \"name\": \"txt_slab\",\n    \"sprite\": [\"txt/slab\"],\n    \"types\": [\"object\"],\n    \"color\": [[1, 4]],\n    \"desc\": \"i need to make this multicolor why am i so lazy\",\n    \"tags\": [\"devs\", \"chars\"]\n  },\n  {\n    \"name\": \"butcher\",\n    \"sprite\": [\"butcher\"],\n    \"layer\": 20,\n    \"color\": [[1, 2], [0, 3]],\n    \"painted\": [true, false],\n    \"rotate\": true,\n    \"features\": {\n      \"sans\": {\"x\": 23, \"y\": 13, \"w\": 3, \"h\": 3}\n    },\n    \"desc\": \"slice slice make a fruit salad\",\n    \"tags\": [\"devs\", \"chars\"],\n\t\"pronouns\": [\"he\", \"him\"]\n  },\n  {\n    \"name\": \"txt_butcher\",\n    \"sprite\": [\"txt/butcher\"],\n    \"types\": [\"object\"],\n    \"color\": [[1, 2]],\n    \"tags\": [\"devs\", \"chars\"]\n  },\n  {\n    \"name\": \"notnat\",\n    \"sprite\": [\"notnat\"],\n    \"layer\": 20,\n    \"color\": [[1, 4]],\n    \"rotate\": true,\n    \"features\": {\n      \"sans\": {\"x\": 26, \"y\": 10, \"w\": 2, \"h\": 2}\n    },\n    \"desc\": \"this is just another pokemon??? what a ripoff\",\n    \"tags\": [\"devs\", \"chars\"],\n\t\"pronouns\": [\"he\", \"him\"]\n  },\n  {\n    \"name\": \"txt_notnat\",\n    \"sprite\": [\"txt/notnat\"],\n    \"types\": [\"object\"],\n    \"color\": [[1, 4]],\n    \"tags\": [\"devs\", \"chars\"]\n  },\n  {\n    \"name\": \"ally\",\n    \"sprite\": [\"ally_base\", \"ally_skirt\", \"ally_shirt\", \"ally_hair\", \"ally_hair_thingies\"],\n    \"layer\": 11,\n    \"color\": [[0, 3], [4, 2], [5, 2], [2, 4], [1, 4]],\n    \"painted\": [false, false, true, false, false],\n    \"rotate\": true,\n    \"voice\": \"miku\",\n    \"desc\": \"who is she...? her secret identity !!!\",\n    \"tags\": [\"devs\", \"chars\"],\n    \"pronouns\": [\"she\", \"her\", \"miku\"]\n  },\n  {\n    \"name\": \"txt_ally\",\n    \"sprite\": [\"txt/ally\"],\n    \"types\": [\"object\"],\n    \"color\": [[4, 2]],\n    \"desc\": \"its miku, lila's sister (bab lore)\",\n    \"tags\": [\"devs\", \"chars\"],\n    \"pronouns\": [\"she\", \"her\", \"miku\"]\n  },\n  {\n    \"name\": \"pitta\",\n    \"sprite\": [\"pitta_bod\", \"pitta_eye\", \"pitta_pupil\"],\n    \"layer\": 11,\n    \"color\": [[1, 3], [0, 3], [0, 4]],\n    \"painted\": [true, false, false],\n    \"rotate\": true,\n    \"desc\": \"ok but what is it\",\n    \"tags\": [\"devs\", \"chars\"]\n  },\n  {\n    \"name\": \"txt_pitta\",\n    \"sprite\": [\"txt/pitta\"],\n    \"types\": [\"object\"],\n    \"color\": [[1, 3]],\n    \"desc\": \"would've gone with 'paytow', but it makes me cringe everytime I think about that\",\n    \"tags\": [\"devs\", \"chars\"]\n  }\n]"
  },
  {
    "path": "assets/tiles/objects/special.json",
    "content": "[\n  {\n    \"name\": \"txt_mous\",\n    \"sprite\": [\"txt/mous\"],\n    \"types\": [\"object\"],\n    \"color\": [[3, 3]],\n    \"desc\": \"MOUS: Refers to the mouse cursor. You can create, destroy and apply properties to mouse cursors!\",\n    \"tags\": [\"mouse\", \"cursor\"]\n  },\n  {\n    \"name\": \"txt_no1\",\n    \"sprite\": [\"txt/no1\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"NO1: Refers to tiles with nothing in them. Rotation status is kept on the tile, and is deterministic from the start. Cannot be colored.\",\n    \"tags\": [\"none\", \"empty\", \"no one\"]\n  },\n  {\n    \"name\": \"no1\",\n    \"sprite\": [\"no1\"],\n    \"layer\": 20,\n    \"color\": [[0, 4]],\n    \"rotate\": true,\n    \"unsearchable\": true\n  },\n  {\n    \"name\": \"txt_lvl\",\n    \"sprite\": [\"txt/lvl\"],\n    \"metasprite\": [\"txt/lvl meta\"],\n    \"types\": [\"object\"],\n    \"color\": [[4, 1]],\n    \"desc\": \"LVL: Refers to the level you're in, as well as any enterable levels in this level. \\nMiddle or SHIFT right-click it to edit.)\\nCreating levels will be a samepaint lvl.\\nlvl got X will trigger even if the level infloops.\",\n    \"tags\": [\"level\"]\n  },\n  {\n    \"name\": \"lvl\",\n    \"sprite\": [\"lvl\"],\n    \"layer\": 24,\n    \"color\": [[0, 3]],\n    \"rotate\": true,\n    \"desc\": \"its a lavel, working like baba. LVL BE NOGO by default.\",\n    \"tags\": [\"level\", \"path\"]\n  },\n  {\n    \"name\": \"bordr\",\n    \"sprite\": [\"bordr\"],\n    \"layer\": 1,\n    \"color\": [[1, 0]],\n    \"desc\": \"BORDR: OOB you can place manually. NOGO, TALL, ANTI TALL, TRANPARNT, and NODRAG by default.\",\n    \"tags\": [\"border\"]\n  },\n  {\n    \"name\": \"txt_bordr\",\n    \"sprite\": [\"txt/bordr\"],\n    \"types\": [\"object\"],\n    \"color\": [[2, 0]],\n    \"tags\": [\"border\"]\n  },\n  {\n    \"name\": \"this\",\n    \"sprite\": [\"this\"],\n    \"layer\": 20,\n    \"color\": [[0, 3]],\n    \"desc\": \"THIS: Text that refers to itself. Each THIS is independant. THIS TXT refers to all THISs.\"\n  },\n  {\n    \"name\": \"camra\",\n    \"sprite\": [\"camra\"],\n    \"layer\": 30,\n    \"color\": [[0, 1]],\n    \"desc\": \"Middle or SHIFT right-click set area around the camera that the screen will be zoomed into (mainly for minigame uses). Only one can exist at a time. STELTH by default\",\n    \"tags\": [\"camera\", \"scroll\", \"screen\"]\n  },\n  {\n    \"name\": \"txt_camra\",\n    \"sprite\": [\"txt/camra\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 1]],\n    \"desc\": \"X BE CAMRA replaces the camera with a new one at X. CAMRA STALK X makes the camera follow all X.\",\n    \"tags\": [\"camera\", \"scroll\", \"screen\"]\n  }\n]"
  },
  {
    "path": "assets/tiles/objects/thingify.json",
    "content": "[\n  {\n    \"name\": \"sans\",\n    \"sprite\": [\"sans_base\", \"sans_jacket\"],\n    \"layer\": 11,\n    \"color\": [[0, 3], [1, 3]],\n    \"painted\": [false, true],\n    \"convertible\": false,\n    \"rotate\": true,\n    \"features\": {\n      \"sans\": {\"x\": 19, \"y\": 5, \"w\": 2, \"h\": 2}\n    },\n    \"voice\": \"overdriven guitar\",\n    \"desc\": \"ness in disguise\\nDid you know that sans is a property too?\",\n    \"tags\": [\"chars\", \"sans\", \"undertale\", \"skeleton\"],\n    \"pronouns\": [\"he\", \"him\"]\n  },\n  {\n    \"name\": \"ditto\",\n    \"sprite\": [\"ditto\"],\n    \"layer\": 11,\n    \"color\": [[3, 3]],\n    \"txtify\": \"text_''\",\n    \"rotate\": true,\n    \"features\": {\n      \"which\": {\"x\": 1, \"y\": 6},\n      \"sant\": {\"y\": 4},\n      \"sans\": {\"x\": 10, \"y\": 16, \"w\": 5, \"h\": 5},\n      \"gunne\": {}\n    },\n    \"voice\": \"ditto\",\n    \"desc\": \"DITTO: The sprite changes based on its properties!\",\n    \"tags\": [\"chars\", \"ditto\", \"pokemon\"]\n  },\n  {\n    \"name\": \"copkat\",\n    \"sprite\": [\"copkat_base\", \"copkat_stuff\", \"copkat_badge\"],\n    \"layer\": 11,\n    \"color\": [[0, 3], [1, 3], [2, 4]],\n    \"painted\": [true, false, false],\n    \"convertible\": false,\n    \"rotate\": true,\n    \"features\": {\n      \"sans\": {\"x\": 27, \"y\": 14, \"w\": 2, \"h\": 2}\n    },\n    \"voice\": \"cat\",\n    \"desc\": \"u hav da wight to wemain siwent!!\",\n    \"tags\": [\"chars\", \"police\", \"cat\"],\n    \"pronouns\": [\"she\", \"her\"]\n  },\n  {\n    \"name\": \"zawarudo\",\n    \"display\": \"za warudo\",\n    \"sprite\": [\"zawarudo\"],\n    \"layer\": 11,\n    \"color\": [[2, 4]],\n    \"convertible\": false,\n    \"rotate\": true,\n    \"features\": {\n      \"sans\": {\"x\": 19, \"y\": 10, \"w\": 2, \"h\": 2}\n    },\n    \"voice\": \"muda\",\n    \"desc\": \"WRYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY\",\n    \"tags\": [\"chars\", \"the world\", \"jojo\", \"DIO\"]\n  },\n  {\n    \"name\": \"&\",\n    \"sprite\": [\"and\"],\n    \"layer\": 7,\n    \"color\": [[0, 3]],\n    \"convertible\": false,\n    \"rotate\": true,\n    \"desc\": \"only if all are true\",\n    \"tags\": [\"and gate\", \"logic gate\"]\n  },\n  {\n    \"name\": \"&n't\",\n    \"display\": \"& n't\",\n    \"sprite\": [\"andn't\"],\n    \"layer\": 7,\n    \"color\": [[0, 3]],\n    \"convertible\": false,\n    \"rotate\": true,\n    \"desc\": \"only if not all are true\",\n    \"tags\": [\"nand gate\", \"logic gate\"]\n  },\n  {\n    \"name\": \"therealqt\",\n    \"display\": \"the real qt\",\n    \"sprite\": [\"therealqt\"],\n    \"layer\": 22,\n    \"color\": [[4, 2]],\n    \"txtify\": \"text_qt\",\n    \"desc\": \"the real qt\"\n  }\n]"
  },
  {
    "path": "assets/tiles/objects/ui.json",
    "content": "[\n  {\n    \"name\": \"ui_1\",\n    \"sprite\": [\"ui_1\"],\n    \"layer\": 20,\n    \"color\": [[0, 3]],\n    \"desc\": \"U TRES controls. Down left.\"\n  },\n  {\n    \"name\": \"ui_2\",\n    \"sprite\": [\"ui_2\"],\n    \"layer\": 20,\n    \"color\": [[0, 3]],\n    \"desc\": \"U TRES controls. Down.\"\n  },\n  {\n    \"name\": \"ui_3\",\n    \"sprite\": [\"ui_3\"],\n    \"layer\": 20,\n    \"color\": [[0, 3]],\n    \"desc\": \"U TRES controls. Down right.\"\n  },\n  {\n    \"name\": \"ui_4\",\n    \"sprite\": [\"ui_4\"],\n    \"layer\": 20,\n    \"color\": [[0, 3]],\n    \"desc\": \"U TRES controls. Left.\"\n  },\n  {\n    \"name\": \"ui_6\",\n    \"sprite\": [\"ui_6\"],\n    \"layer\": 20,\n    \"color\": [[0, 3]],\n    \"desc\": \"U TRES controls. Right.\"\n  },\n  {\n    \"name\": \"ui_7\",\n    \"sprite\": [\"ui_7\"],\n    \"layer\": 20,\n    \"color\": [[0, 3]],\n    \"desc\": \"U TRES controls. Up left.\"\n  },\n  {\n    \"name\": \"ui_8\",\n    \"sprite\": [\"ui_8\"],\n    \"layer\": 20,\n    \"color\": [[0, 3]],\n    \"desc\": \"U TRES controls. Up.\"\n  },\n  {\n    \"name\": \"ui_9\",\n    \"sprite\": [\"ui_9\"],\n    \"layer\": 20,\n    \"color\": [[0, 3]],\n    \"desc\": \"U TRES controls. Up right.\"\n  },\n  {\n    \"name\": \"ui_w\",\n    \"sprite\": [\"ui_w\"],\n    \"layer\": 20,\n    \"color\": [[0, 3]],\n    \"desc\": \"U controls. Up.\"\n  },\n  {\n    \"name\": \"ui_a\",\n    \"sprite\": [\"ui_a\"],\n    \"layer\": 20,\n    \"color\": [[0, 3]],\n    \"desc\": \"U controls. Left.\"\n  },\n  {\n    \"name\": \"ui_s\",\n    \"sprite\": [\"ui_s\"],\n    \"layer\": 20,\n    \"color\": [[0, 3]],\n    \"desc\": \"U controls. Down.\"\n  },\n  {\n    \"name\": \"ui_d\",\n    \"sprite\": [\"ui_d\"],\n    \"layer\": 20,\n    \"color\": [[0, 3]],\n    \"desc\": \"U controls. Right.\"\n  },\n  {\n    \"name\": \"ui_arrow\",\n    \"sprite\": [\"ui_right\"],\n    \"layer\": 20,\n    \"color\": [[0, 3]],\n    \"rotate\": true,\n    \"desc\": \"U TOO controls. Rotatable!\",\n    \"tags\": [\"dpad\", \"d-pad\", \"directional pad\", \"arrow keys\"]\n  },\n  {\n    \"name\": \"ui_i\",\n    \"sprite\": [\"ui_i\"],\n    \"layer\": 20,\n    \"color\": [[0, 3]],\n    \"desc\": \"U TRES controls. Up.\"\n  },\n  {\n    \"name\": \"ui_j\",\n    \"sprite\": [\"ui_j\"],\n    \"layer\": 20,\n    \"color\": [[0, 3]],\n    \"desc\": \"U TRES controls. Left.\"\n  },\n  {\n    \"name\": \"ui_k\",\n    \"sprite\": [\"ui_k\"],\n    \"layer\": 20,\n    \"color\": [[0, 3]],\n    \"desc\": \"U TRES controls. Down.\"\n  },\n  {\n    \"name\": \"ui_l\",\n    \"sprite\": [\"ui_l\"],\n    \"layer\": 20,\n    \"color\": [[0, 3]],\n    \"desc\": \"U TRES controls. Right.\"\n  },\n  {\n    \"name\": \"ui_e\",\n    \"sprite\": [\"ui_e\"],\n    \"layer\": 20,\n    \"color\": [[0, 3]],\n    \"desc\": \"The ZA WARUDO button.\"\n  },\n  {\n    \"name\": \"ui_walk\",\n    \"sprite\": [\"ui_walk\"],\n    \"layer\": 20,\n    \"color\": [[0, 3]],\n    \"desc\": \"Used in the tutorial.\"\n  },\n  {\n    \"name\": \"ui_activat\",\n    \"sprite\": [\"ui_activat\"],\n    \"layer\": 20,\n    \"color\": [[0, 3]],\n    \"desc\": \"Used in the tutorial for ZA WARUDO.\"\n  },\n  {\n    \"name\": \"ui_leftclick\",\n    \"display\": \"left click\",\n    \"sprite\": [\"ui_left_click\"],\n    \"layer\": 20,\n    \"color\": [[0, 3]],\n    \"desc\": \"Trigger CLIKT.\"\n  },\n  {\n    \"name\": \"ui_rightclick\",\n    \"display\": \"right click\",\n    \"sprite\": [\"ui_right_click\"],\n    \"layer\": 20,\n    \"color\": [[0, 3]],\n    \"desc\": \"See what's on the tile you clicked!\"\n  },\n  {\n    \"name\": \"ui_clik\",\n    \"sprite\": [\"ui_clik\"],\n    \"layer\": 20,\n    \"color\": [[0, 3]],\n    \"desc\": \"Used in the tutorial for clicks.\"\n  },\n  {\n    \"name\": \"ui_5\",\n    \"sprite\": [\"ui_5\"],\n    \"layer\": 20,\n    \"color\": [[0, 3]],\n    \"desc\": \"The other wait key.\"\n  },\n  {\n    \"name\": \"ui_space\",\n    \"sprite\": [\"ui_space\"],\n    \"layer\": 20,\n    \"color\": [[0, 3]],\n    \"desc\": \"The wait key.\"\n  },\n  {\n    \"name\": \"ui_z\",\n    \"sprite\": [\"ui_z\"],\n    \"layer\": 20,\n    \"color\": [[0, 3]],\n    \"desc\": \"The undo key.\"\n  },\n  {\n    \"name\": \"ui_r\",\n    \"sprite\": [\"ui_r\"],\n    \"layer\": 20,\n    \"color\": [[0, 3]],\n    \"desc\": \"The restart key.\"\n  },\n  {\n    \"name\": \"ui_reset\",\n    \"sprite\": [\"ui_reset\"],\n    \"layer\": 20,\n    \"color\": [[0, 3]],\n    \"desc\": \"Used in a tutorial next to an R.\"\n  },\n  {\n    \"name\": \"ui_undo\",\n    \"sprite\": [\"ui_undo\"],\n    \"layer\": 20,\n    \"color\": [[0, 3]],\n    \"desc\": \"Used in a tutorial next to a Z.\"\n  },\n  {\n    \"name\": \"ui_wait\",\n    \"sprite\": [\"ui_wait\"],\n    \"layer\": 20,\n    \"color\": [[0, 3]],\n    \"desc\": \"Used in a tutorial for wait...\"\n  },\n  {\n    \"name\": \"ui_0\",\n    \"sprite\": [\"ui_0\"],\n    \"layer\": 20,\n    \"color\": [[0, 3]],\n    \"desc\": \"The other undo key.\"\n  },\n  {\n    \"name\": \"ui_box\",\n    \"sprite\": [\"ui_box\"],\n    \"layer\": 20,\n    \"color\": [[0, 3]],\n    \"desc\": \"Empty.\",\n    \"tags\": [\"square\"]\n  },\n  {\n    \"name\": \"ui_q\",\n    \"sprite\": [\"ui_q\"],\n    \"layer\": 20,\n    \"color\": [[0, 3]]\n  },\n  {\n    \"name\": \"ui_t\",\n    \"sprite\": [\"ui_t\"],\n    \"layer\": 20,\n    \"color\": [[0, 3]]\n  },\n  {\n    \"name\": \"ui_y\",\n    \"sprite\": [\"ui_y\"],\n    \"layer\": 20,\n    \"color\": [[0, 3]]\n  },\n  {\n    \"name\": \"ui_u\",\n    \"sprite\": [\"ui_u\"],\n    \"layer\": 20,\n    \"color\": [[0, 3]]\n  },\n  {\n    \"name\": \"ui_o\",\n    \"sprite\": [\"ui_o\"],\n    \"layer\": 20,\n    \"color\": [[0, 3]]\n  },\n  {\n    \"name\": \"ui_p\",\n    \"sprite\": [\"ui_p\"],\n    \"layer\": 20,\n    \"color\": [[0, 3]]\n  },\n  {\n    \"name\": \"ui_f\",\n    \"sprite\": [\"ui_f\"],\n    \"layer\": 20,\n    \"color\": [[0, 3]],\n    \"desc\": \"Triggers PRESS F2.\"\n  },\n  {\n    \"name\": \"ui_g\",\n    \"sprite\": [\"ui_g\"],\n    \"layer\": 20,\n    \"color\": [[0, 3]]\n  },\n  {\n    \"name\": \"ui_h\",\n    \"sprite\": [\"ui_h\"],\n    \"layer\": 20,\n    \"color\": [[0, 3]]\n  },\n  {\n    \"name\": \"ui_;\",\n    \"sprite\": [\"ui_;\"],\n    \"layer\": 20,\n    \"color\": [[0, 3]]\n  },\n  {\n    \"name\": \"ui_'\",\n    \"sprite\": [\"ui_'\"],\n    \"layer\": 20,\n    \"color\": [[0, 3]]\n  },\n  {\n    \"name\": \"ui_return\",\n    \"sprite\": [\"ui_return\"],\n    \"layer\": 20,\n    \"color\": [[0, 3]],\n    \"desc\": \"in the editor, obtain object matching your search term if it exists (by code name, not letter aliases)\"\n  },\n  {\n    \"name\": \"ui_x\",\n    \"sprite\": [\"ui_x\"],\n    \"layer\": 20,\n    \"color\": [[0, 3]]\n  },\n  {\n    \"name\": \"ui_c\",\n    \"sprite\": [\"ui_c\"],\n    \"layer\": 20,\n    \"color\": [[0, 3]],\n    \"desc\":\"ctrl+c=place search bar into clipboard\"\n  },\n  {\n    \"name\": \"ui_v\",\n    \"sprite\": [\"ui_v\"],\n    \"layer\": 20,\n    \"color\": [[0, 3]],\n    \"desc\":\"ctrl+v=paste into search bar\"\n  },\n  {\n    \"name\": \"ui_b\",\n    \"sprite\": [\"ui_b\"],\n    \"layer\": 20,\n    \"color\": [[0, 3]]\n  },\n  {\n    \"name\": \"ui_n\",\n    \"sprite\": [\"ui_n\"],\n    \"layer\": 20,\n    \"color\": [[0, 3]]\n  },\n  {\n    \"name\": \"ui_m\",\n    \"sprite\": [\"ui_m\"],\n    \"layer\": 20,\n    \"color\": [[0, 3]]\n  },\n  {\n    \"name\": \"ui_,\",\n    \"sprite\": [\"ui_,\"],\n    \"layer\": 20,\n    \"color\": [[0, 3]]\n  },\n  {\n    \"name\": \"ui_.\",\n    \"sprite\": [\"ui_.\"],\n    \"layer\": 20,\n    \"color\": [[0, 3]]\n  },\n  {\n    \"name\": \"ui_/\",\n    \"sprite\": [\"ui_slash\"],\n    \"layer\": 20,\n    \"color\": [[0, 3]]\n  },\n  {\n    \"name\": \"ui_-\",\n    \"sprite\": [\"ui_-\"],\n    \"layer\": 20,\n    \"color\": [[0, 3]]\n  },\n  {\n    \"name\": \"ui_=\",\n    \"sprite\": [\"ui_=\"],\n    \"layer\": 20,\n    \"color\": [[0, 3]]\n  },\n  {\n    \"name\": \"ui_`\",\n    \"sprite\": [\"ui_`\"],\n    \"layer\": 20,\n    \"color\": [[0, 3]]\n  },\n  {\n    \"name\": \"ui_ctrl\",\n    \"sprite\": [\"ui_ctrl\"],\n    \"layer\": 20,\n    \"color\": [[0, 3]],\n    \"desc\": \"hold when placing an object to stack objects, including multiple of the same one\\nctrl+enter with 1-6 chars in selector search bar to get a custom letter\"\n  },\n  {\n    \"name\": \"ui_alt\",\n    \"sprite\": [\"ui_alt\"],\n    \"layer\": 20,\n    \"color\": [[0, 3]]\n  },\n  {\n    \"name\": \"ui_shift\",\n    \"sprite\": [\"ui_shift\"],\n    \"layer\": 20,\n    \"color\": [[0, 3]],\n    \"desc\": \"hold when placing an object to stack objects (unless its the same object)\\nshift + wasd in editor to shift the whole level around\"\n  },\n  {\n    \"name\": \"ui_del\",\n    \"sprite\": [\"ui_del\"],\n    \"layer\": 20,\n    \"color\": [[0, 3]]\n  },\n  {\n    \"name\": \"ui_[\",\n    \"sprite\": [\"ui_[\"],\n    \"layer\": 20,\n    \"color\": [[0, 3]]\n  },\n  {\n    \"name\": \"ui_gui\",\n    \"sprite\": [\"ui_gui\"],\n    \"layer\": 20,\n    \"color\": [[0, 3]],\n    \"desc\": \"Changes sprites depending on user's Operating System.\",\n    \"tags\": [\"windows\", \"command\", \"cmd\"]\n  },\n  {\n    \"name\": \"ui_tab\",\n    \"sprite\": [\"ui_tab\"],\n    \"layer\": 20,\n    \"color\": [[0, 3]],\n    \"desc\": \"Used to open the tile selector in the menu. Though I think you already know that.\"\n  },\n  {\n    \"name\": \"ui_cap\",\n    \"sprite\": [\"ui_cap_on\"],\n    \"layer\": 20,\n    \"color\": [[0, 3]],\n    \"tags\": [\"caps lock\"]\n  },\n  {\n    \"name\": \"ui_esc\",\n    \"sprite\": [\"ui_esc\"],\n    \"layer\": 20,\n    \"color\": [[0, 3]],\n    \"desc\": \"There is no ESC\\nOpen the menu. Useful for returning to map.\",\n    \"tags\": [\"caps lock\"]\n  }\n]"
  },
  {
    "path": "assets/tiles/objects/unsorted.json",
    "content": "[\n  {\n    \"name\": \"wal\",\n    \"sprite\": [\"wal\"],\n    \"layer\": 2,\n    \"color\": [[1, 1]],\n    \"desc\": \"ston briks\",\n    \"tags\": [\"wall\"],\n    \"pronouns\": [\"it\"]\n  },\n  {\n    \"name\": \"txt_wal\",\n    \"sprite\": [\"txt/wal\"],\n    \"metasprite\": [\"txt/wal meta\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 1]],\n    \"desc\": \"uigi isn't gonna be in smash\",\n    \"tags\": [\"wall\"]\n  },\n  {\n    \"name\": \"txt_waln't\",\n    \"display\": \"wal n't\",\n    \"sprite\": [\"txt/wal meta\", \"n't\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 1], [2, 2]],\n    \"painted\": [true, false],\n    \"desc\": \"WAL N'T: The same as having these two text tiles in a row.\"\n  },\n  {\n    \"name\": \"roc\",\n    \"sprite\": [\"roc\"],\n    \"layer\": 7,\n    \"color\": [[6, 2]],\n    \"voice\": \"s_bdrum\",\n    \"desc\": \"roc: not a bord\",\n    \"tags\": [\"rock\"]\n  },\n  {\n    \"name\": \"txt_roc\",\n    \"sprite\": [\"txt/roc\"],\n    \"metasprite\": [\"txt/roc meta\"],\n    \"types\": [\"object\"],\n    \"color\": [[6, 1]],\n    \"tags\": [\"rock\"]\n  },\n  {\n    \"name\": \"txt_rocn't\",\n    \"display\": \"roc n't\",\n    \"sprite\": [\"txt/roc meta\", \"n't\"],\n    \"types\": [\"object\"],\n    \"color\": [[6, 1], [2, 2]],\n    \"painted\": [true, false],\n    \"desc\": \"ROC N'T: The same as having these two text tiles in a row.\"\n  },\n  {\n    \"name\": \"dor\",\n    \"sprite\": [\"dor\"],\n    \"layer\": 3,\n    \"color\": [[2, 2]],\n    \"desc\": \"for door\",\n    \"tags\": [\"door\"]\n  },\n  {\n    \"name\": \"txt_dor\",\n    \"sprite\": [\"txt/dor\"],\n    \"metasprite\": [\"txt/dor meta\"],\n    \"types\": [\"object\"],\n    \"color\": [[2, 2]],\n    \"tags\": [\"door\"]\n  },\n  {\n    \"name\": \"kee\",\n    \"sprite\": [\"kee\"],\n    \"layer\": 8,\n    \"color\": [[2, 4]],\n    \"rotate\": true,\n    \"voice\": \"s_hiclose\",\n    \"desc\": \"needs key\",\n    \"tags\": [\"key\"]\n  },\n  {\n    \"name\": \"txt_kee\",\n    \"sprite\": [\"txt/kee\"],\n    \"metasprite\": [\"txt/kee meta\"],\n    \"types\": [\"object\"],\n    \"color\": [[2, 4]],\n    \"tags\": [\"key\"]\n  },\n  {\n    \"name\": \"flog\",\n    \"sprite\": [\"flog\"],\n    \"layer\": 6,\n    \"color\": [[2, 4]],\n    \"voice\": \"s_marim\",\n    \"desc\": \"i want 1!!!\",\n    \"tags\": [\"flag\"]\n  },\n  {\n    \"name\": \"txt_flog\",\n    \"sprite\": [\"txt/flog\"],\n    \"types\": [\"object\"],\n    \"color\": [[2, 4]],\n    \"tags\": [\"flag\"]\n  },\n  {\n    \"name\": \"til\",\n    \"sprite\": [\"til\"],\n    \"layer\": 3,\n    \"color\": [[1, 0]],\n    \"desc\": \"it goes under your feet\",\n    \"tags\": [\"tile\"]\n  },\n  {\n    \"name\": \"watr\",\n    \"sprite\": [\"watr\"],\n    \"layer\": 2,\n    \"color\": [[1, 3]],\n    \"desc\": \"splish sploosh\",\n    \"tags\": [\"water\"]\n  },\n  {\n    \"name\": \"txt_watr\",\n    \"sprite\": [\"txt/watr\"],\n    \"types\": [\"object\"],\n    \"color\": [[1, 3]],\n    \"tags\": [\"water\"]\n  },\n  {\n    \"name\": \"txt_boux\",\n    \"sprite\": [\"txt/boux\"],\n    \"types\": [\"object\"],\n    \"color\": [[6, 1]],\n    \"tags\": [\"box\"]\n  },\n  {\n    \"name\": \"boux\",\n    \"sprite\": [\"boux\"],\n    \"layer\": 7,\n    \"color\": [[6, 2]],\n    \"voice\": \"s_sdrum\",\n    \"desc\": \"ce n'est pas une boîte, c'est quelque chose DE MIEUX\",\n    \"tags\": [\"box\"]\n  },\n  {\n    \"name\": \"txt_laav\",\n    \"sprite\": [\"txt/laav\"],\n    \"types\": [\"object\"],\n    \"color\": [[2, 3]],\n    \"tags\": [\"lava\"]\n  },\n  {\n    \"name\": \"laav\",\n    \"sprite\": [\"watr\"],\n    \"layer\": 2,\n    \"color\": [[2, 3]],\n    \"desc\": \"very hot. not hotte tho unless u make it\",\n    \"tags\": [\"lava\"]\n  },\n  {\n    \"name\": \"txt_til\",\n    \"sprite\": [\"txt/til\"],\n    \"metasprite\": [\"txt/til meta\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 1]],\n    \"tags\": [\"tile\"]\n  },\n  {\n    \"name\": \"l..uv\",\n    \"sprite\": [\"luv\"],\n    \"layer\": 7,\n    \"color\": [[4, 2]],\n    \"desc\": \"makes up the very fabric of reality of bab be u\",\n    \"tags\": [\"love\"]\n  },\n  {\n    \"name\": \"txt_l..uv\",\n    \"sprite\": [\"txt/luv\"],\n    \"types\": [\"object\"],\n    \"color\": [[4, 2]],\n    \"desc\": \"LÜV: To use with letters, you need an umlaut!\",\n    \"alias\": [\"l*v\"],\n    \"tags\": [\"love\"]\n  },\n  {\n    \"name\": \"frut\",\n    \"sprite\": [\"frut\"],\n    \"layer\": 6,\n    \"color\": [[2, 2]],\n    \"rotate\": true,\n    \"desc\": \"babs favorite snacc. not to be confused with OS appl\",\n    \"tags\": [\"fruit\", \"apple\", \"plants\", \"food\"]\n  },\n  {\n    \"name\": \"txt_frut\",\n    \"sprite\": [\"txt/frut\"],\n    \"types\": [\"object\"],\n    \"color\": [[2, 2]],\n    \"tags\": [\"fruit\", \"apple\", \"plants\", \"food\"]\n  },\n  {\n    \"name\": \"tre\",\n    \"sprite\": [\"tre\"],\n    \"layer\": 4,\n    \"color\": [[5, 2]],\n    \"rotate\": true,\n    \"desc\": \"tre is the creator of all plant life in bab\",\n    \"tags\": [\"tree\", \"plants\"]\n  },\n  {\n    \"name\": \"txt_tre\",\n    \"sprite\": [\"txt/tre\"],\n    \"types\": [\"object\"],\n    \"color\": [[5, 2]],\n    \"tags\": [\"tree\", \"plants\"]\n  },\n  {\n    \"name\": \"txt_boll\",\n    \"sprite\": [\"txt/boll\"],\n    \"types\": [\"object\"],\n    \"color\": [[4, 1]],\n    \"tags\": [\"orb\", \"ball\"]\n  },\n  {\n    \"name\": \"boll\",\n    \"sprite\": [\"orrb\"],\n    \"layer\": 6,\n    \"color\": [[4, 1]],\n    \"desc\": \"hnmm... roun. colecc\",\n    \"tags\": [\"orb\", \"ball\"]\n  },\n  {\n    \"name\": \"txt_bellt\",\n    \"sprite\": [\"txt/bellt\"],\n    \"types\": [\"object\"],\n    \"color\": [[1, 3]],\n    \"tags\": [\"belt\"]\n  },\n  {\n    \"name\": \"bellt\",\n    \"sprite\": [\"bellt\"],\n    \"layer\": 3,\n    \"color\": [[1, 1]],\n    \"rotate\": true,\n    \"desc\": \"bells and bellts are both metal so theyre basically the same thing right? dont tell anyone\",\n    \"tags\": [\"belt\"]\n  },\n  {\n    \"name\": \"gunne\",\n    \"sprite\": [\"gunne\"],\n    \"layer\": 8,\n    \"color\": [[0, 3]],\n    \"rotate\": true,\n    \"desc\": \"all i wanna do is *bang* *bang* *bang* *bang*\",\n    \"tags\": [\"weapon\"]\n  },\n  {\n    \"name\": \"txt_gunne\",\n    \"sprite\": [\"txt/gunne\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"GUNNE: Any object with GOT GUNNE will wield a GUNNE.\",\n    \"tags\": [\"weapon\"]\n  },\n  {\n    \"name\": \"gras\",\n    \"sprite\": [\"gras\"],\n    \"layer\": 3,\n    \"color\": [[5, 1]],\n    \"desc\": \"don step on it. or do step on it. ur choice\",\n    \"tags\": [\"grass\", \"plants\"]\n  },\n  {\n    \"name\": \"txt_gras\",\n    \"sprite\": [\"txt/gras\"],\n    \"types\": [\"object\"],\n    \"color\": [[5, 3]],\n    \"tags\": [\"grass\", \"plants\"]\n  },\n  {\n    \"name\": \"dayzy\",\n    \"sprite\": [\"dayzy\"],\n    \"layer\": 4,\n    \"color\": [[3, 3]],\n    \"features\": {\n      \"sans\": {\"x\": 10, \"y\": 7, \"w\": 3, \"h\": 3}\n    },\n    \"desc\": \"dayzy me rollin, they haetin\",\n    \"tags\": [\"violet\", \"daisy\", \"flower\", \"plants\"]\n  },\n  {\n    \"name\": \"txt_dayzy\",\n    \"sprite\": [\"txt/dayzy\"],\n    \"types\": [\"object\"],\n    \"color\": [[3, 3]],\n    \"tags\": [\"violet\", \"daisy\", \"flower\", \"plants\"]\n  },\n  {\n    \"name\": \"hurcane\",\n    \"sprite\": [\"hurcane\"],\n    \"layer\": 4,\n    \"color\": [[3, 1]],\n    \"features\": {\n      \"sans\": {\"x\": 15, \"y\": 15, \"w\": 3, \"h\": 3}\n    },\n    \"desc\": \"woosh swoosh vwoosh aaaa\",\n    \"tags\": [\"hurricane\", \"tornado\"]\n  },\n  {\n    \"name\": \"txt_hurcane\",\n    \"sprite\": [\"txt/hurcane\"],\n    \"types\": [\"object\"],\n    \"color\": [[3, 1]],\n    \"tags\": [\"hurricane\", \"tornado\"]\n  },\n  {\n    \"name\": \"hatt\",\n    \"sprite\": [\"hat\"],\n    \"layer\": 7,\n    \"color\": [[3, 1]],\n    \"desc\": \"a hatt n tim\",\n    \"tags\": [\"clothing\"]\n  },\n  {\n    \"name\": \"txt_hatt\",\n    \"sprite\": [\"txt/hatt\"],\n    \"types\": [\"object\"],\n    \"color\": [[3, 1]],\n    \"desc\": \"HATT: Any object with GOT HATT will wear a HATT. (Aesthetic)\",\n    \"tags\": [\"clothing\"]\n  },\n  {\n    \"name\": \"press\",\n    \"sprite\": [\"press\"],\n    \"layer\": 20,\n    \"color\": [[0, 3]],\n    \"desc\": \"it presses buttons\"\n  },\n  {\n    \"name\": \"chekr\",\n    \"sprite\": [\"chekr\"],\n    \"layer\": 3,\n    \"color\": [[3, 2]],\n    \"desc\": \"ya wannna ploy checkrz?\",\n    \"tags\": [\"checker\", \"diamond\"]\n  },\n  {\n    \"name\": \"txt_chekr\",\n    \"sprite\": [\"txt/chekr\"],\n    \"types\": [\"object\"],\n    \"color\": [[3, 2]],\n    \"tags\": [\"checker\", \"diamond\"]\n  },\n  {\n    \"name\": \"arro\",\n    \"sprite\": [\"arro\"],\n    \"layer\": 3,\n    \"color\": [[0, 3]],\n    \"rotate\": true,\n    \"desc\": \"ARRO: Is supposed to act like a letter, but that's not implemented yet.\",\n    \"tags\": [\"arrow\"]\n  },\n  {\n    \"name\": \"txt_arro\",\n    \"sprite\": [\"txt/arro\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 3]],\n    \"tags\": [\"arrow\"]\n  },\n  {\n    \"name\": \"txt_colld\",\n    \"sprite\": [\"txt/colld\"],\n    \"types\": [\"object\"],\n    \"color\": [[1, 4]],\n    \"tags\": [\"ice\"]\n  },\n  {\n    \"name\": \"colld\",\n    \"sprite\": [\"colld\"],\n    \"layer\": 3,\n    \"color\": [[1, 4]],\n    \"desc\": \"nothin says colld like diagonal lines\",\n    \"tags\": [\"ice\"]\n  },\n  {\n    \"name\": \"txt_piler\",\n    \"sprite\": [\"txt/piler\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 1]],\n    \"tags\": [\"pillar\"]\n  },\n  {\n    \"name\": \"piler\",\n    \"sprite\": [\"piler\"],\n    \"layer\": 3,\n    \"color\": [[0, 1]],\n    \"desc\": \"secretly made from several pairs of pliers sacrificed to keepin babs out (or in)\",\n    \"tags\": [\"pillar\"]\n  },\n  {\n    \"name\": \"clowd\",\n    \"sprite\": [\"clowd\"],\n    \"layer\": 6,\n    \"color\": [[0, 3]],\n    \"rotate\": true,\n    \"desc\": \"clowd and rein are good frens. not bffs though, clowd's bff is tifa\",\n    \"tags\": [\"cloud\"]\n  },\n  {\n    \"name\": \"txt_clowd\",\n    \"sprite\": [\"txt/clowd\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 3]],\n    \"tags\": [\"cloud\"]\n  },\n  {\n    \"name\": \"infloop\",\n    \"sprite\": [\"txt/infloop\"],\n    \"layer\": 21,\n    \"color\": [[0, 3]],\n    \"tags\": [\"infinity\", \"infinite loop\"]\n  },\n  {\n    \"name\": \"plsdont\",\n    \"sprite\": [\"txt/plsdont\"],\n    \"layer\": 21,\n    \"color\": [[0, 3]],\n    \"tags\": [\"too complex\", \"plz dont\"]\n  },\n  {\n    \"name\": \"petnygrame\",\n    \"sprite\": [\"petnygrame\"],\n    \"layer\": 4,\n    \"color\": [[2, 1]],\n    \"desc\": \"perform the ritual to summon the real bab dictator\",\n    \"tags\": [\"pentagram\", \"edgy\"]\n  },\n  {\n    \"name\": \"txt_petnygrame\",\n    \"sprite\": [\"txt/petnygrame\"],\n    \"types\": [\"object\"],\n    \"color\": [[2, 1]],\n    \"tags\": [\"pentagram\", \"edgy\"]\n  },\n  {\n    \"name\": \"katany\",\n    \"sprite\": [\"katany\"],\n    \"layer\": 8,\n    \"color\": [[0, 1]],\n    \"rotate\": true,\n    \"desc\": \"very very weeb. make steev got katany and you will know\",\n    \"tags\": [\"weapon\", \"japan\", \"asia\", \"edgy\"]\n  },\n  {\n    \"name\": \"txt_katany\",\n    \"sprite\": [\"txt/katany\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 1]],\n    \"desc\": \"KATANY: Any object with GOT KATANY will have a KATANY.\",\n    \"alias\": [\"katanya\"],\n    \"tags\": [\"weapon\", \"japan\", \"asia\", \"edgy\"]\n  },\n  {\n    \"name\": \"scarr\",\n    \"sprite\": [\"scarr\"],\n    \"layer\": 4,\n    \"color\": [[2, 1]],\n    \"desc\": \"it's not blood it's just cranberry juice. no violence in my bab\",\n    \"tags\": [\"scar\", \"edgy\"]\n  },\n  {\n    \"name\": \"txt_scarr\",\n    \"sprite\": [\"txt/scarr\"],\n    \"types\": [\"object\"],\n    \"color\": [[2, 1]],\n    \"tags\": [\"scar\", \"edgy\"]\n  },\n  {\n    \"name\": \"pepis\",\n    \"sprite\": [\"pepis\", \"pepis_red\", \"pepis_blue\"],\n    \"layer\": 7,\n    \"color\": [[0, 3], [2, 2], [1, 2]],\n    \"painted\": [false, true, true],\n    \"desc\": \"pepis: tastes like tar and mud\",\n    \"tags\": [\"bepis\", \"pepsi\"]\n  },\n  {\n    \"name\": \"txt_pepis\",\n    \"sprite\": [\"txt/pepis\"],\n    \"types\": [\"object\"],\n    \"color\": [[3, 2]],\n    \"tags\": [\"bepis\", \"pepsi\"]\n  },\n  {\n    \"name\": \"clok\",\n    \"sprite\": [\"clok\"],\n    \"layer\": 8,\n    \"color\": [[3, 3]],\n    \"rotate\": true,\n    \"features\": {\n      \"sans\": {\"x\": 14, \"y\": 14, \"w\": 3, \"h\": 3}\n    },\n    \"voice\": \"tick\",\n    \"desc\": \"keek look at'd the clok. 'oh no! im late for school!' keek shouted and raced out of bed.\",\n    \"tags\": [\"clock\", \"time\"]\n  },\n  {\n    \"name\": \"txt_clok\",\n    \"sprite\": [\"txt/clok\"],\n    \"types\": [\"object\"],\n    \"color\": [[3, 3]],\n    \"tags\": [\"clock\", \"time\"]\n  },\n  {\n    \"name\": \"splittr\",\n    \"sprite\": [\"splittr\"],\n    \"layer\": 4,\n    \"color\": [[0, 3]],\n    \"rotate\": true,\n    \"features\": {\n      \"sans\": {\"x\": 22, \"y\": 12, \"w\": 3, \"h\": 5}\n    },\n    \"desc\": \"specifically made to be used with SPLIT because it looks horrible otherwise (but other tiles like CHAIN can also work).\",\n    \"tags\": [\"splitter\", \"5 step\"]\n  },\n  {\n    \"name\": \"txt_splittr\",\n    \"sprite\": [\"txt/splittr\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 3]],\n    \"tags\": [\"splitter\", \"5 step\"]\n  },\n  {\n    \"name\": \"txt_slippers\",\n    \"sprite\": [\"txt/slippers\"],\n    \"types\": [\"object\"],\n    \"color\": [[1, 4]],\n    \"desc\": \"SLIPPERS: An object that GOT SLIPPERS will ignore ICY and ICYYYYY objects (and wear SLIPPERS).\"\n  },\n  {\n    \"name\": \"slippers\",\n    \"sprite\": [\"slippers\"],\n    \"layer\": 8,\n    \"color\": [[1, 3]],\n    \"desc\": \"the goomba that lived in this shoe is now homeless. how do you feel\"\n  },\n  {\n    \"name\": \"selctr\",\n    \"sprite\": [\"selctr\"],\n    \"layer\": 3,\n    \"color\": [[3, 3]],\n    \"desc\": \"used to select levis\",\n    \"tags\": [\"cursor\", \"selector\"]\n  },\n  {\n    \"name\": \"txt_selctr\",\n    \"sprite\": [\"txt/selctr\"],\n    \"types\": [\"object\"],\n    \"color\": [[2, 3]],\n    \"tags\": [\"cursor\", \"selector\"]\n  },\n  {\n    \"name\": \"lin\",\n    \"sprite\": [\"lin\"],\n    \"layer\": 23,\n    \"color\": [[0, 3]],\n    \"desc\": \"used to connect lovils\",\n    \"tags\": [\"line\", \"path\"]\n  },\n  {\n    \"name\": \"txt_lin\",\n    \"sprite\": [\"txt/lin\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"lin is used in floodfilling and can have a puff/blossom door attached to it.\",\n    \"tags\": [\"line\", \"path\"]\n  },\n  {\n    \"name\": \"firbolt\",\n    \"sprite\": [\"firbolt\"],\n    \"layer\": 8,\n    \"color\": [[6, 2]],\n    \"rotate\": true,\n    \"desc\": \"i cast FIRBOLT at the NO1!\",\n    \"tags\": [\"firebolt\"]\n  },\n  {\n    \"name\": \"txt_firbolt\",\n    \"sprite\": [\"txt/firbolt\"],\n    \"types\": [\"object\"],\n    \"color\": [[6, 2]],\n    \"tags\": [\"firebolt\"]\n  },\n  {\n    \"name\": \"icbolt\",\n    \"sprite\": [\"icbolt\"],\n    \"layer\": 8,\n    \"color\": [[1, 4]],\n    \"rotate\": true,\n    \"desc\": \"its time for u to CHILL out. stay FROSTY.\",\n    \"tags\": [\"icebolt\"]\n  },\n  {\n    \"name\": \"txt_icbolt\",\n    \"sprite\": [\"txt/icbolt\"],\n    \"types\": [\"object\"],\n    \"color\": [[1, 4]],\n    \"tags\": [\"icebolt\"]\n  },\n  {\n    \"name\": \"hedg\",\n    \"sprite\": [\"hedg\"],\n    \"layer\": 3,\n    \"color\": [[5, 1]],\n    \"desc\": \"im hedg the hedg heg\",\n    \"tags\": [\"hedge\", \"plants\"]\n  },\n  {\n    \"name\": \"txt_hedg\",\n    \"sprite\": [\"txt/hedg\"],\n    \"types\": [\"object\"],\n    \"color\": [[5, 1]],\n    \"tags\": [\"hedge\", \"plants\"]\n  },\n  {\n    \"name\": \"fenss\",\n    \"sprite\": [\"fenss\"],\n    \"layer\": 3,\n    \"color\": [[6, 2]],\n    \"desc\": \"keeps babs out!!\",\n    \"tags\": [\"fence\"]\n  },\n  {\n    \"name\": \"txt_fenss\",\n    \"sprite\": [\"txt/fenss\"],\n    \"color\": [[6, 2]],\n    \"tags\": [\"fence\"]\n  },\n  {\n    \"name\": \"metl\",\n    \"sprite\": [\"metl\"],\n    \"layer\": 2,\n    \"color\": [[0, 2]],\n    \"desc\": \"impervious metl...\",\n    \"tags\": [\"metal\"]\n  },\n  {\n    \"name\": \"txt_metl\",\n    \"sprite\": [\"txt/metl\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 2]],\n    \"tags\": [\"metal\"]\n  },\n  {\n    \"name\": \"sparkl\",\n    \"sprite\": [\"sparkl\"],\n    \"layer\": 5,\n    \"color\": [[2, 4]],\n    \"desc\": \"as brite as a star... but also as hotte as one!!\",\n    \"tags\": [\"sparkle\", \"dust\"]\n  },\n  {\n    \"name\": \"txt_sparkl\",\n    \"sprite\": [\"txt/sparkl\"],\n    \"types\": [\"object\"],\n    \"color\": [[2, 4]],\n    \"tags\": [\"sparkle\", \"dust\"]\n  },\n  {\n    \"name\": \"spik\",\n    \"sprite\": [\"spik\"],\n    \"layer\": 5,\n    \"color\": [[0, 2]],\n    \"rotate\": true,\n    \"desc\": \"finally, i can make my i wanna be the bab fangame in bab be u\",\n    \"tags\": [\"spike\"]\n  },\n  {\n    \"name\": \"txt_spik\",\n    \"sprite\": [\"txt/spik\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 2]],\n    \"tags\": [\"spike\"]\n  },\n  {\n    \"name\": \"spiky\",\n    \"sprite\": [\"spiky\"],\n    \"layer\": 6,\n    \"color\": [[0, 2]],\n    \"rotate\": true,\n    \"desc\": \"ouch!! many spik at once.\",\n    \"tags\": [\"spike\"]\n  },\n  {\n    \"name\": \"txt_spiky\",\n    \"sprite\": [\"txt/spiky\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 2]],\n    \"tags\": [\"spike\"]\n  },\n  {\n    \"name\": \"platfor\",\n    \"sprite\": [\"platfor\"],\n    \"layer\": 3,\n    \"color\": [[6, 2]],\n    \"rotate\": true,\n    \"desc\": \"good for use with go my way\",\n    \"tags\": [\"platform\"]\n  },\n  {\n    \"name\": \"txt_platfor\",\n    \"sprite\": [\"txt/platfor\"],\n    \"types\": [\"object\"],\n    \"color\": [[6, 2]],\n    \"tags\": [\"platform\"]\n  },\n  {\n    \"name\": \"jail\",\n    \"sprite\": [\"jail\"],\n    \"layer\": 22,\n    \"color\": [[0, 2]],\n    \"desc\": \"BAB W/FREN JAIL BE STUKC. now bab's in jail :(\"\n  },\n  {\n    \"name\": \"txt_jail\",\n    \"sprite\": [\"txt/jail\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 2]]\n  },\n  {\n    \"name\": \"hol\",\n    \"sprite\": [\"hol\"],\n    \"layer\": 22,\n    \"color\": [[3, 3]],\n    \"rotate\": true,\n    \"portal\": true,\n    \"desc\": \"the real poor toll\",\n    \"tags\": [\"portal\"]\n  },\n  {\n    \"name\": \"txt_hol\",\n    \"sprite\": [\"txt/hol\"],\n    \"types\": [\"object\"],\n    \"color\": [[3, 2]],\n    \"tags\": [\"portal\"]\n  },\n  {\n    \"name\": \"rif\",\n    \"sprite\": [\"riff\"],\n    \"layer\": 22,\n    \"color\": [[2, 4]],\n    \"rotate\": true,\n    \"portal\": true,\n    \"desc\": \"the fake poor toll\",\n    \"tags\": [\"portal\", \"rift\"]\n  },\n  {\n    \"name\": \"txt_rif\",\n    \"sprite\": [\"txt/rif\"],\n    \"types\": [\"object\"],\n    \"color\": [[2, 4]],\n    \"tags\": [\"portal\", \"rift\"]\n  },\n  {\n    \"name\": \"lie\",\n    \"sprite\": [\"caek\"],\n    \"layer\": 6,\n    \"color\": [[4, 1]],\n    \"desc\": \"caek be lie\",\n    \"tags\": [\"portal\", \"cake\", \"food\"]\n  },\n  {\n    \"name\": \"txt_lie\",\n    \"sprite\": [\"txt/caek\"],\n    \"types\": [\"object\"],\n    \"color\": [[4, 1]],\n    \"desc\": \"LIE: If LIE BE SPLIT, LIE becomes LIE/8 on all open adjacent tiles.\",\n    \"tags\": [\"portal\", \"cake\", \"food\"]\n  },\n  {\n    \"name\": \"lie/8\",\n    \"sprite\": [\"slis\"],\n    \"layer\": 6,\n    \"color\": [[4, 2]],\n    \"rotate\": true,\n    \"desc\": \"idc if it's a lie, it tastes good\",\n    \"tags\": [\"portal\", \"cake\", \"food\", \"slice\"]\n  },\n  {\n    \"name\": \"txt_lie/8\",\n    \"sprite\": [\"txt/slis\"],\n    \"types\": [\"object\"],\n    \"color\": [[4, 2]],\n    \"desc\": \"LIE/8: If LIE/8 BE MOAR, LIE/8 becomes LIE.\",\n    \"tags\": [\"portal\", \"cake\", \"food\", \"slice\"]\n  },\n  {\n    \"name\": \"sine\",\n    \"sprite\": [\"sine\"],\n    \"layer\": 4,\n    \"color\": [[6, 2]],\n    \"desc\": \"the sine says \\\"shoutouts to simpleflips\\\"\",\n    \"tags\": [\"sign\"]\n  },\n  {\n    \"name\": \"txt_sine\",\n    \"sprite\": [\"txt/sine\"],\n    \"types\": [\"object\"],\n    \"color\": [[6, 2]],\n    \"tags\": [\"sign\"]\n  },\n  {\n    \"name\": \"buble\",\n    \"sprite\": [\"buble\"],\n    \"layer\": 5,\n    \"color\": [[1, 3]],\n    \"voice\": \"kkb2\",\n    \"desc\": \"bibble bobubble bub bab. blup\",\n    \"tags\": [\"bubble\"]\n  },\n  {\n    \"name\": \"txt_buble\",\n    \"sprite\": [\"txt/buble\"],\n    \"types\": [\"object\"],\n    \"color\": [[1, 3]],\n    \"tags\": [\"bubble\"]\n  },\n  {\n    \"name\": \"icecub\",\n    \"sprite\": [\"icecub\"],\n    \"layer\": 6,\n    \"color\": [[1, 4]],\n    \"desc\": \"icecub ben't melltt. classic baba reference\",\n    \"tags\": [\"icecube\"]\n  },\n  {\n    \"name\": \"txt_icecub\",\n    \"sprite\": [\"txt/icecub\"],\n    \"types\": [\"object\"],\n    \"color\": [[1, 4]],\n    \"tags\": [\"icecube\"]\n  },\n  {\n    \"name\": \"paint\",\n    \"sprite\": [\"ui/splat\"],\n    \"layer\": 8,\n    \"color\": [[0, 3]],\n    \"desc\": \"Creating a PAINT will always be a samecolor paint.\",\n    \"tags\": [\"colors\", \"colours\"]\n  },\n  {\n    \"name\": \"ger\",\n    \"sprite\": [\"ger\"],\n    \"layer\": 7,\n    \"color\": [[6, 1]],\n    \"rotate\": true,\n    \"desc\": \"it spins! spin spin spin weeee\",\n    \"tags\": [\"gear\", \"time\", \"cog\"]\n  },\n  {\n    \"name\": \"txt_ger\",\n    \"sprite\": [\"txt/ger\"],\n    \"types\": [\"object\"],\n    \"color\": [[6, 1]],\n    \"tags\": [\"gear\", \"time\", \"cog\"]\n  },\n  {\n    \"name\": \"can\",\n    \"sprite\": [\"can\"],\n    \"layer\": 8,\n    \"color\": [[2, 1]],\n    \"rotate\": true,\n    \"desc\": \"crack fordor a colld one\",\n    \"tags\": [\"valhalla\"]\n  },\n  {\n    \"name\": \"txt_can\",\n    \"sprite\": [\"txt/can\"],\n    \"types\": [\"object\"],\n    \"color\": [[2, 1]],\n    \"tags\": [\"valhalla\"]\n  },\n  {\n    \"name\": \"toggl\",\n    \"sprite\": [\"toggl\"],\n    \"layer\": 4,\n    \"color\": [[0, 3]],\n    \"rotate\": true,\n    \"desc\": \"flip flop\",\n    \"tags\": [\"toggle\", \"lightswitch\"]\n  },\n  {\n    \"name\": \"txt_toggl\",\n    \"sprite\": [\"txt/toggl\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 3]],\n    \"tags\": [\"toggle\", \"lightswitch\"]\n  },\n  {\n    \"name\": \"bom\",\n    \"sprite\": [\"bom\"],\n    \"layer\": 6,\n    \"color\": [[0, 1]],\n    \"desc\": \"it go boom\",\n    \"tags\": [\"bomb\", \"boom\"]\n  },\n  {\n    \"name\": \"txt_bom\",\n    \"sprite\": [\"txt/bom\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 1]],\n    \"tags\": [\"bomb\", \"boom\"]\n  },\n  {\n    \"name\": \"xplod\",\n    \"sprite\": [\"sparkl\"],\n    \"layer\": 22,\n    \"color\": [[2, 2]]\n  },\n  {\n    \"name\": \"square\",\n    \"sprite\": [\"square\"],\n    \"layer\": 11,\n    \"color\": [[2, 4]],\n    \"features\": {\n      \"sans\": {\"x\": 19, \"y\": 7, \"w\": 2, \"h\": 2}\n    },\n    \"voice\": \"pipipi\",\n    \"desc\": \"oh no am square????\",\n    \"tags\": [\"chars\", \"oatmealine\", \"puyopuyo tetris\"]\n  },\n  {\n    \"name\": \"triangle\",\n    \"sprite\": [\"triangle\"],\n    \"layer\": 11,\n    \"color\": [[2, 4]],\n    \"features\": {\n      \"sans\": {\"x\": 17, \"y\": 7, \"w\": 2, \"h\": 2}\n    },\n    \"voice\": \"pipipi\",\n    \"desc\": \"TRIASNGLE?????? this is ridicouuolus\",\n    \"tags\": [\"chars\", \"oatmealine\", \"puyopuyo tetris\"]\n  },\n  {\n    \"name\": \"txt_square\",\n    \"sprite\": [\"txt/square\"],\n    \"types\": [\"object\"],\n    \"color\": [[2, 4]],\n    \"features\": {\n      \"sans\": {\"x\": 19, \"y\": 7, \"w\": 2, \"h\": 2}\n    },\n    \"tags\": [\"chars\", \"oatmealine\", \"puyopuyo tetris\"]\n  },\n  {\n    \"name\": \"txt_triangle\",\n    \"sprite\": [\"txt/triangle\"],\n    \"types\": [\"object\"],\n    \"color\": [[2, 4]],\n    \"features\": {\n      \"sans\": {\"x\": 19, \"y\": 7, \"w\": 2, \"h\": 2}\n    },\n    \"tags\": [\"chars\", \"oatmealine\", \"puyopuyo tetris\"]\n  },\n  {\n    \"name\": \"snoflak\",\n    \"sprite\": [\"snoflak\"],\n    \"layer\": 4,\n    \"color\": [[0, 3]],\n    \"desc\": \"no 2 r the same...\\nor is it?\",\n    \"tags\": [\"snowflake\", \"ice\", \"hail\", \"christmas\"]\n  },\n  {\n    \"name\": \"txt_snoflak\",\n    \"sprite\": [\"txt/snoflak\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 3]],\n    \"tags\": [\"snowflake\", \"ice\", \"hail\", \"christmas\"]\n  },\n  {\n    \"name\": \"fir\",\n    \"sprite\": [\"fir\"],\n    \"layer\": 7,\n    \"color\": [[2, 2]],\n    \"desc\": \"CAUTION HOTTE!!!\",\n    \"tags\": [\"hot\", \"fire\", \"flame\"]\n  },\n  {\n    \"name\": \"txt_fir\",\n    \"sprite\": [\"txt/fir\"],\n    \"types\": [\"object\"],\n    \"color\": [[2, 2]],\n    \"tags\": [\"hot\", \"fire\", \"flame\"]\n  },\n  {\n    \"name\": \"sanglas\",\n    \"sprite\": [\"sanglas\"],\n    \"layer\": 6,\n    \"color\": [[2, 4]],\n    \"rotate\": true,\n    \"desc\": \"tim got broken\",\n    \"tags\": [\"time\", \"hourglass\"]\n  },\n  {\n    \"name\": \"txt_sanglas\",\n    \"sprite\": [\"txt/sanglas\"],\n    \"types\": [\"object\"],\n    \"color\": [[2, 4]],\n    \"tags\": [\"time\", \"hourglass\"]\n  },\n  {\n    \"name\": \"ladr\",\n    \"sprite\": [\"ladr\"],\n    \"layer\": 4,\n    \"color\": [[6, 0]],\n    \"rotate\": true,\n    \"desc\": \"jumpman be u\",\n    \"tags\": [\"ladder\", \"stairs\", \"climb\"]\n  },\n  {\n    \"name\": \"txt_ladr\",\n    \"sprite\": [\"txt/ladr\"],\n    \"types\": [\"object\"],\n    \"color\": [[6, 0]],\n    \"tags\": [\"ladder\", \"stairs\", \"climb\"]\n  },\n  {\n    \"name\": \"cobll\",\n    \"sprite\": [\"cobll\"],\n    \"layer\": 2,\n    \"color\": [[0, 1]],\n    \"voice\": \"s_bdrum\",\n    \"desc\": \"so we back in the mine\",\n    \"tags\": [\"cobblestone\"]\n  },\n  {\n    \"name\": \"txt_cobll\",\n    \"sprite\": [\"txt/cobll\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 1]],\n    \"tags\": [\"cobblestone\"]\n  },\n  {\n    \"name\": \"wuud\",\n    \"sprite\": [\"wuud\"],\n    \"layer\": 2,\n    \"color\": [[6, 2]],\n    \"voice\": \"s_spian\",\n    \"desc\": \"wuud u cuud u\",\n    \"tags\": [\"wood\", \"planks\"]\n  },\n  {\n    \"name\": \"txt_wuud\",\n    \"sprite\": [\"txt/wuud\"],\n    \"types\": [\"object\"],\n    \"color\": [[6, 2]],\n    \"tags\": [\"wood\", \"planks\"]\n  },\n  {\n    \"name\": \"wut\",\n    \"sprite\": [\"wut\"],\n    \"layer\": 11,\n    \"color\": [[0, 3]],\n    \"desc\": \"im confuse\",\n    \"tags\": [\"what\"]\n  },\n  {\n    \"name\": \"txt_wut\",\n    \"sprite\": [\"txt/wut\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 3]],\n    \"tags\": [\"what\"]\n  },\n  {\n    \"name\": \"wat\",\n    \"sprite\": [\"wat\"],\n    \"layer\": 11,\n    \"color\": [[0, 3]],\n    \"desc\": \"whoops error\",\n    \"tags\": [\"what\", \"error\"]\n  },\n  {\n    \"name\": \"txt_wat\",\n    \"sprite\": [\"txt/wat\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 3]],\n    \"tags\": [\"what\", \"error\"]\n  },\n  {\n    \"name\": \"brik\",\n    \"sprite\": [\"brik\"],\n    \"layer\": 2,\n    \"color\": [[2, 1]],\n    \"desc\": \"just another brik in the wal\",\n    \"tags\": [\"bricks\", \"wall\"]\n  },\n  {\n    \"name\": \"txt_brik\",\n    \"sprite\": [\"txt/brik\"],\n    \"types\": [\"object\"],\n    \"color\": [[2, 1]],\n    \"desc\": \"reverse kirb\",\n    \"tags\": [\"bricks\", \"wall\"]\n  },\n  {\n    \"name\": \"litbolt\",\n    \"sprite\": [\"litbolt\"],\n    \"layer\": 8,\n    \"color\": [[2, 4]],\n    \"rotate\": true,\n    \"desc\": \"made with lightning. REAL LIGHTNING.\"\n  },\n  {\n    \"name\": \"txt_litbolt\",\n    \"sprite\": [\"txt/litbolt\"],\n    \"types\": [\"object\"],\n    \"color\": [[2, 4]]\n  },\n  {\n    \"name\": \"rouz\",\n    \"sprite\": [\"rouz\"],\n    \"layer\": 4,\n    \"color\": [[4, 1]],\n    \"features\": {\n      \"sans\": {\"x\": 8, \"y\": 6, \"w\": 3, \"h\": 3}\n    },\n    \"desc\": \"every rouz got poke, ow\",\n    \"tags\": [\"rose\", \"flower\", \"plants\"]\n  },\n  {\n    \"name\": \"txt_rouz\",\n    \"sprite\": [\"txt/rouz\"],\n    \"types\": [\"object\"],\n    \"color\": [[4, 1]],\n    \"tags\": [\"rose\", \"flower\", \"plants\"]\n  },\n  {\n    \"name\": \"san\",\n    \"sprite\": [\"san\"],\n    \"layer\": 2,\n    \"color\": [[2, 4]],\n    \"voice\": \"s_sdrum\",\n    \"desc\": \"san undertales\",\n    \"tags\": [\"sand\", \"beach\", \"desert\"]\n  },\n  {\n    \"name\": \"txt_san\",\n    \"sprite\": [\"txt/san\"],\n    \"types\": [\"object\"],\n    \"color\": [[2, 4]],\n    \"tags\": [\"sand\", \"beach\", \"desert\"]\n  },\n  {\n    \"name\": \"fungye\",\n    \"sprite\": [\"fungye\"],\n    \"layer\": 4,\n    \"color\": [[6, 2]],\n    \"desc\": \"super fungye\",\n    \"tags\": [\"fungus\", \"fungi\", \"mushroom\"]\n  },\n  {\n    \"name\": \"txt_fungye\",\n    \"sprite\": [\"txt/fungye\"],\n    \"types\": [\"object\"],\n    \"color\": [[6, 2]],\n    \"desc\": \"not a very fun guy\",\n    \"tags\": [\"fungus\", \"fungi\", \"mushroom\"]\n  },\n  {\n    \"name\": \"kar\",\n    \"sprite\": [\"kar\"],\n    \"layer\": 10,\n    \"color\": [[5, 2]],\n    \"rotate\": true,\n    \"features\": {\n      \"sans\": {\"x\": 20, \"y\": 11, \"w\": 2, \"h\": 4}\n    },\n    \"desc\": \"awaken my masters\",\n    \"tags\": [\"car\", \"vehicle\"]\n  },\n  {\n    \"name\": \"txt_kar\",\n    \"sprite\": [\"txt/kar\"],\n    \"types\": [\"object\"],\n    \"color\": [[5, 2]],\n    \"tags\": [\"car\", \"vehicle\"]\n  },\n  {\n    \"name\": \"tor\",\n    \"sprite\": [\"tor\"],\n    \"layer\": 22,\n    \"color\": [[2, 1]],\n    \"portal\": true,\n    \"desc\": \"the east poor toll\",\n    \"tags\": [\"portal\", \"japan\", \"torii\", \"asia\"]\n  },\n  {\n    \"name\": \"txt_tor\",\n    \"sprite\": [\"txt/tor\"],\n    \"types\": [\"object\"],\n    \"color\": [[2, 1]],\n    \"tags\": [\"portal\", \"japan\", \"torii\", \"asia\"]\n  },\n  {\n    \"name\": \"son\",\n    \"sprite\": [\"son\"],\n    \"layer\": 6,\n    \"color\": [[2, 4]],\n    \"desc\": \"the son be a :( lazor\",\n    \"tags\": [\"hot\", \"sunny\", \"day\"]\n  },\n  {\n    \"name\": \"txt_son\",\n    \"sprite\": [\"txt/son\"],\n    \"types\": [\"object\"],\n    \"color\": [[2, 4]],\n    \"tags\": [\"hot\", \"sunny\", \"day\"]\n  },\n  {\n    \"name\": \"muun\",\n    \"sprite\": [\"muun\"],\n    \"layer\": 6,\n    \"color\": [[1, 2]],\n    \"desc\": \"unaffiliated with munwalk\",\n    \"tags\": [\"moon\", \"night\", \"mun\", \"crescent\"]\n  },\n  {\n    \"name\": \"txt_muun\",\n    \"sprite\": [\"txt/muun\"],\n    \"types\": [\"object\"],\n    \"color\": [[1, 2]],\n    \"tags\": [\"moon\", \"night\", \"mun\", \"crescent\"]\n  },\n  {\n    \"name\": \"leef\",\n    \"sprite\": [\"leef\"],\n    \"layer\": 7,\n    \"color\": [[5, 2]],\n    \"rotate\": true,\n    \"desc\": \"leef meem alone\",\n    \"tags\": [\"leaf\", \"weed lmao\", \"plants\"]\n  },\n  {\n    \"name\": \"txt_leef\",\n    \"sprite\": [\"txt/leef\"],\n    \"types\": [\"object\"],\n    \"color\": [[5, 2]],\n    \"desc\": \"its the 420th object lmao\",\n    \"tags\": [\"leaf\", \"weed lmao\", \"plants\"]\n  },\n  {\n    \"name\": \"starr\",\n    \"sprite\": [\"starr\"],\n    \"layer\": 6,\n    \"color\": [[2, 4]],\n    \"desc\": \"starr starr nite\",\n    \"tags\": [\"star\", \"night\"]\n  },\n  {\n    \"name\": \"txt_starr\",\n    \"sprite\": [\"txt/starr\"],\n    \"types\": [\"object\"],\n    \"color\": [[2, 4]],\n    \"tags\": [\"star\", \"night\"]\n  },\n  {\n    \"name\": \"shel\",\n    \"sprite\": [\"shel\"],\n    \"layer\": 7,\n    \"color\": [[4, 2]],\n    \"desc\": \"gas gas gas\",\n    \"tags\": [\"shell\", \"scallop\", \"beach\"]\n  },\n  {\n    \"name\": \"txt_shel\",\n    \"sprite\": [\"txt/shel\"],\n    \"types\": [\"object\"],\n    \"color\": [[4, 2]],\n    \"tags\": [\"shell\", \"scallop\", \"beach\"]\n  },\n  {\n    \"name\": \"sancastl\",\n    \"sprite\": [\"sancastl\"],\n    \"layer\": 7,\n    \"color\": [[2, 4]],\n    \"desc\": \"lets creat a sancastl\",\n    \"tags\": [\"sandcastle\", \"beach\"]\n  },\n  {\n    \"name\": \"txt_sancastl\",\n    \"sprite\": [\"txt/sancastl\"],\n    \"types\": [\"object\"],\n    \"color\": [[2, 4]],\n    \"tags\": [\"sandcastle\", \"beach\"]\n  },\n  {\n    \"name\": \"parsol\",\n    \"sprite\": [\"parsol\"],\n    \"layer\": 9,\n    \"color\": [[2, 2]],\n    \"rotate\": true,\n    \"desc\": \"protecc from son thatbe :(\",\n    \"tags\": [\"parasol\", \"umbrella\", \"beach\"]\n  },\n  {\n    \"name\": \"txt_parsol\",\n    \"sprite\": [\"txt/parsol\"],\n    \"types\": [\"object\"],\n    \"color\": [[2, 2]],\n    \"tags\": [\"parasol\", \"umbrella\", \"beach\"]\n  },\n  {\n    \"name\": \"pallm\",\n    \"sprite\": [\"pallm\"],\n    \"layer\": 4,\n    \"color\": [[5, 2]],\n    \"voice\": \"s_steel\",\n    \"desc\": \"visit the tropical bab beach, it's a fun time for the bab family!!\",\n    \"tags\": [\"palm tree\", \"coconut tree\", \"beach\", \"plants\"]\n  },\n  {\n    \"name\": \"txt_pallm\",\n    \"sprite\": [\"txt/pallm\"],\n    \"types\": [\"object\"],\n    \"color\": [[5, 2]],\n    \"tags\": [\"palm tree\", \"coconut tree\", \"beach\", \"plants\"]\n  },\n  {\n    \"name\": \"coco\",\n    \"sprite\": [\"coco\"],\n    \"layer\": 7,\n    \"color\": [[6, 1]],\n    \"rotate\": true,\n    \"features\": {\n      \"sans\": {\"x\": 20, \"y\": 12, \"w\": 2, \"h\": 3}\n    },\n    \"voice\": \"s_steel\",\n    \"desc\": \"its a bigg bigg nutt\",\n    \"tags\": [\"fruit\", \"coconut\", \"plants\"]\n  },\n  {\n    \"name\": \"txt_coco\",\n    \"sprite\": [\"txt/coco\"],\n    \"types\": [\"object\"],\n    \"color\": [[6, 1]],\n    \"tags\": [\"fruit\", \"coconut\", \"plants\"]\n  },\n  {\n    \"name\": \"glas\",\n    \"sprite\": [\"glas\"],\n    \"layer\": 22,\n    \"color\": [[0, 3]],\n    \"voice\": \"s_organ\",\n    \"desc\": \"a tranzlucent block?!\",\n    \"tags\": [\"glass\"]\n  },\n  {\n    \"name\": \"txt_glas\",\n    \"sprite\": [\"txt/glas\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 2]],\n    \"tags\": [\"glass\"]\n  },\n  {\n    \"name\": \"vien\",\n    \"sprite\": [\"vien\"],\n    \"layer\": 4,\n    \"color\": [[5, 1]],\n    \"rotate\": true,\n    \"desc\": \"vinny viensauce\",\n    \"tags\": [\"vines\", \"plants\", \"climb\"]\n  },\n  {\n    \"name\": \"txt_vien\",\n    \"sprite\": [\"txt/vien\"],\n    \"types\": [\"object\"],\n    \"color\": [[5, 1]],\n    \"desc\": \"so she uploads a VIEN\",\n    \"tags\": [\"vines\", \"plants\", \"climb\"]\n  },\n  {\n    \"name\": \"pudll\",\n    \"sprite\": [\"pudll\"],\n    \"layer\": 4,\n    \"color\": [[1, 3]],\n    \"desc\": \"its just a single watr\",\n    \"tags\": [\"water\", \"puddle\"]\n  },\n  {\n    \"name\": \"txt_pudll\",\n    \"sprite\": [\"txt/pudll\"],\n    \"types\": [\"object\"],\n    \"color\": [[1, 3]],\n    \"tags\": [\"water\", \"puddle\"]\n  },\n  {\n    \"name\": \"red\",\n    \"sprite\": [\"red\"],\n    \"layer\": 4,\n    \"color\": [[6, 2]],\n    \"desc\": \"it's not orange, that's just a trick\",\n    \"tags\": [\"reeds\", \"plants\", \"cattail\", \"swamp\"]\n  },\n  {\n    \"name\": \"txt_red\",\n    \"sprite\": [\"txt/red\"],\n    \"types\": [\"object\"],\n    \"color\": [[6, 2]],\n    \"desc\": \"wait what\",\n    \"tags\": [\"reeds\", \"plants\", \"cattail\", \"swamp\"]\n  },\n  {\n    \"name\": \"stum\",\n    \"sprite\": [\"stum\"],\n    \"layer\": 4,\n    \"color\": [[6, 1]],\n    \"desc\": \"im stumped\",\n    \"tags\": [\"plants\", \"tree stump\"]\n  },\n  {\n    \"name\": \"txt_stum\",\n    \"sprite\": [\"txt/stum\"],\n    \"types\": [\"object\"],\n    \"color\": [[6, 1]],\n    \"tags\": [\"plants\", \"tree stump\"]\n  },\n  {\n    \"name\": \"bullb\",\n    \"sprite\": [\"bullb\"],\n    \"layer\": 6,\n    \"color\": [[2, 4]],\n    \"desc\": \"lit bullb meow\",\n    \"tags\": [\"lightbulb\", \"power\"]\n  },\n  {\n    \"name\": \"txt_bullb\",\n    \"sprite\": [\"txt/bullb\"],\n    \"types\": [\"object\"],\n    \"color\": [[2, 4]],\n    \"desc\": \"go play lightbulbmeow's baba pack it's super good\",\n    \"tags\": [\"lightbulb\", \"power\"]\n  },\n  {\n    \"name\": \"battry\",\n    \"sprite\": [\"battry\"],\n    \"layer\": 4,\n    \"color\": [[4, 1]],\n    \"rotate\": true,\n    \"features\": {\n      \"sans\": {\"x\": 23, \"y\": 14, \"w\": 2, \"h\": 4}\n    },\n    \"desc\": \"not responsible for hidden states\",\n    \"tags\": [\"battery\", \"power\"]\n  },\n  {\n    \"name\": \"txt_battry\",\n    \"sprite\": [\"txt/battry\"],\n    \"types\": [\"object\"],\n    \"color\": [[4, 1]],\n    \"tags\": [\"battery\", \"power\"]\n  },\n  {\n    \"name\": \"smol\",\n    \"sprite\": [\"smol\"],\n    \"layer\": 22,\n    \"color\": [[5, 2]],\n    \"rotate\": true,\n    \"portal\": true,\n    \"desc\": \"the tini poor toll\",\n    \"tags\": [\"portal\"]\n  },\n  {\n    \"name\": \"txt_smol\",\n    \"sprite\": [\"txt/smol\"],\n    \"types\": [\"object\"],\n    \"color\": [[5, 2]],\n    \"tags\": [\"portal\"]\n  },\n  {\n    \"name\": \"win\",\n    \"sprite\": [\"win\"],\n    \"layer\": 22,\n    \"color\": [[1, 4]],\n    \"rotate\": true,\n    \"portal\": true,\n    \"desc\": \"the skware poor toll\",\n    \"tags\": [\"portal\", \"window\", \"doorway\"]\n  },\n  {\n    \"name\": \"txt_win\",\n    \"sprite\": [\"txt/win\"],\n    \"types\": [\"object\"],\n    \"color\": [[1, 4]],\n    \"desc\": \"not to be confused with :)\",\n    \"tags\": [\"portal\", \"window\", \"doorway\"]\n  },\n  {\n    \"name\": \"bon\",\n    \"sprite\": [\"bon\"],\n    \"layer\": 4,\n    \"color\": [[0, 3]],\n    \"rotate\": true,\n    \"voice\": \"overdriven guitar\",\n    \"desc\": \"bonles pizza\",\n    \"tags\": [\"bone\"]\n  },\n  {\n    \"name\": \"txt_bon\",\n    \"sprite\": [\"txt/bon\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 3]],\n    \"tags\": [\"bone\"]\n  },\n  {\n    \"name\": \"rockit\",\n    \"sprite\": [\"rockit\"],\n    \"layer\": 10,\n    \"color\": [[1, 3]],\n    \"rotate\": true,\n    \"features\": {\n      \"sans\": {\"x\": 18, \"y\": 13, \"w\": 3, \"h\": 4}\n    },\n    \"desc\": \"goes to spce\",\n    \"tags\": [\"rocket\", \"spaceship\"]\n  },\n  {\n    \"name\": \"txt_rockit\",\n    \"sprite\": [\"txt/rockit\"],\n    \"types\": [\"object\"],\n    \"color\": [[1, 3]],\n    \"tags\": [\"rocket\", \"spaceship\"]\n  },\n  {\n    \"name\": \"ufu\",\n    \"sprite\": [\"ufu\"],\n    \"layer\": 10,\n    \"color\": [[3, 3]],\n    \"features\": {\n      \"sans\": {\"x\": 15, \"y\": 10, \"w\": 4, \"h\": 5}\n    },\n    \"desc\": \"comes from spce\",\n    \"tags\": [\"ufo\", \"spaceship\"]\n  },\n  {\n    \"name\": \"txt_ufu\",\n    \"sprite\": [\"txt/ufu\"],\n    \"types\": [\"object\"],\n    \"color\": [[3, 3]],\n    \"tags\": [\"ufo\", \"spaceship\"]\n  },\n  {\n    \"name\": \"rein\",\n    \"sprite\": [\"rein\"],\n    \"layer\": 5,\n    \"color\": [[1, 3]],\n    \"desc\": \"it pours\",\n    \"tags\": [\"rain\"]\n  },\n  {\n    \"name\": \"txt_rein\",\n    \"sprite\": [\"txt/rein\"],\n    \"types\": [\"object\"],\n    \"color\": [[1, 3]],\n    \"tags\": [\"rain\"]\n  },\n  {\n    \"name\": \"algay\",\n    \"sprite\": [\"algay\"],\n    \"layer\": 3,\n    \"color\": [[5, 1]],\n    \"tags\": [\"algae\", \"plants\"]\n  },\n  {\n    \"name\": \"txt_algay\",\n    \"sprite\": [\"txt/algay\"],\n    \"types\": [\"object\"],\n    \"color\": [[5, 1]],\n    \"desc\": \"very gay\",\n    \"tags\": [\"algae\", \"plants\"]\n  },\n  {\n    \"name\": \"noet\",\n    \"sprite\": [\"noet\"],\n    \"layer\": 9,\n    \"color\": [[4, 1]],\n    \"desc\": \"muzique to my ears\",\n    \"tags\": [\"music note\", \"quarter note\"]\n  },\n  {\n    \"name\": \"txt_noet\",\n    \"sprite\": [\"txt/noet\"],\n    \"types\": [\"object\"],\n    \"color\": [[4, 1]],\n    \"tags\": [\"music note\", \"quarter note\"]\n  },\n  {\n    \"name\": \"banboo\",\n    \"sprite\": [\"banboo\"],\n    \"layer\": 4,\n    \"color\": [[5, 1]],\n    \"desc\": \"thin tre, tall tre, crunchy tre\",\n    \"tags\": [\"bamboo\", \"plants\"]\n  },\n  {\n    \"name\": \"txt_banboo\",\n    \"sprite\": [\"txt/banboo\"],\n    \"types\": [\"object\"],\n    \"color\": [[5, 1]],\n    \"tags\": [\"bamboo\", \"plants\"]\n  },\n  {\n    \"name\": \"karot\",\n    \"sprite\": [\"karot\"],\n    \"layer\": 8,\n    \"color\": [[2, 3]],\n    \"rotate\": true,\n    \"desc\": \"bunmy lüv this\",\n    \"tags\": [\"carrot\", \"plants\", \"fruit\", \"food\", \"vegetable\"]\n  },\n  {\n    \"name\": \"txt_karot\",\n    \"sprite\": [\"txt/karot\"],\n    \"types\": [\"object\"],\n    \"color\": [[2, 3]],\n    \"desc\": \"is it a frut? is it a vege? i dont karot all!!!\",\n    \"tags\": [\"carrot\", \"plants\", \"fruit\", \"food\", \"vegetable\"]\n  },\n  {\n    \"name\": \"poisbolt\",\n    \"sprite\": [\"poisbolt\"],\n    \"layer\": 8,\n    \"color\": [[5, 3]],\n    \"rotate\": true,\n    \"desc\": \"how kids learn the triangular number series\",\n    \"tags\": [\"poison\"]\n  },\n  {\n    \"name\": \"txt_poisbolt\",\n    \"sprite\": [\"txt/poisbolt\"],\n    \"types\": [\"object\"],\n    \"color\": [[5, 3]],\n    \"tags\": [\"poison\"]\n  },\n  {\n    \"name\": \"knif\",\n    \"sprite\": [\"knif\"],\n    \"layer\": 8,\n    \"color\": [[0, 3]],\n    \"rotate\": true,\n    \"desc\": \"doesn't like hurting people\",\n    \"tags\": [\"weapon\", \"edgy\"]\n  },\n  {\n    \"name\": \"txt_knif\",\n    \"sprite\": [\"txt/knif\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"KNIF: Any object with GOT KNIF will wield a KNIF.\",\n    \"tags\": [\"weapon\", \"kitchen knife\"]\n  },\n  {\n    \"name\": \"timbolt\",\n    \"sprite\": [\"timbolt\"],\n    \"layer\": 8,\n    \"color\": [[3, 3]],\n    \"rotate\": true,\n    \"desc\": \"tim heals all wounds... unless its a bolt\"\n  },\n  {\n    \"name\": \"txt_timbolt\",\n    \"sprite\": [\"txt/timbolt\"],\n    \"types\": [\"object\"],\n    \"color\": [[3, 3]]\n  },\n  {\n    \"name\": \"cor\",\n    \"sprite\": [\"cor\"],\n    \"layer\": 4,\n    \"color\": [[4, 0]],\n    \"desc\": \"they look very pretty irl\",\n    \"tags\": [\"coral\", \"beach\"]\n  },\n  {\n    \"name\": \"txt_cor\",\n    \"sprite\": [\"txt/cor\"],\n    \"types\": [\"object\"],\n    \"color\": [[4, 0]],\n    \"desc\": \"ROC backwards\",\n    \"tags\": [\"coral\", \"beach\"]\n  },\n  {\n    \"name\": \"sirn\",\n    \"sprite\": [\"sirn\"],\n    \"layer\": 6,\n    \"color\": [[2, 2]],\n    \"rotate\": true,\n    \"desc\": \"will steal ur tim machine,\",\n    \"tags\": [\"siren\", \"alarm\"]\n  },\n  {\n    \"name\": \"txt_sirn\",\n    \"sprite\": [\"txt/sirn\"],\n    \"types\": [\"object\"],\n    \"color\": [[2, 2]],\n    \"tags\": [\"siren\", \"alarm\"]\n  },\n  {\n    \"name\": \"wips\",\n    \"sprite\": [\"wips\"],\n    \"layer\": 9,\n    \"color\": [[0, 3]],\n    \"desc\": \"WILL o WIPS?\",\n    \"tags\": [\"will o wisp\", \"japan\", \"ghost\", \"spirit\"]\n  },\n  {\n    \"name\": \"txt_wips\",\n    \"sprite\": [\"txt/wips\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"work in progress\",\n    \"tags\": [\"will o wisp\", \"japan\", \"ghost\", \"spirit\"]\n  },\n  {\n    \"name\": \"eeg\",\n    \"sprite\": [\"eeg\"],\n    \"layer\": 8,\n    \"color\": [[6, 2]],\n    \"rotate\": true,\n    \"desc\": \"no one knows what's inside. it's impenetrable\",\n    \"tags\": [\"egg\", \"food\"]\n  },\n  {\n    \"name\": \"txt_eeg\",\n    \"sprite\": [\"txt/eeg\"],\n    \"types\": [\"object\"],\n    \"color\": [[6, 2]],\n    \"tags\": [\"egg\", \"food\"]\n  },\n  {\n    \"name\": \"foreeg\",\n    \"sprite\": [\"foreeg\"],\n    \"layer\": 4,\n    \"color\": [[6, 1]],\n    \"rotate\": true,\n    \"desc\": \"no one knows what's inside. the eeg proteccs it\",\n    \"tags\": [\"nest\"]\n  },\n  {\n    \"name\": \"txt_foreeg\",\n    \"sprite\": [\"txt/foreeg\"],\n    \"types\": [\"object\"],\n    \"color\": [[6, 1]],\n    \"tags\": [\"nest\"]\n  },\n  {\n    \"name\": \"extre\",\n    \"sprite\": [\"extre\"],\n    \"layer\": 4,\n    \"color\": [[6, 1]],\n    \"rotate\": true,\n    \"desc\": \"a ded tre. rip\",\n    \"tags\": [\"tree\", \"plants\", \"husk\"]\n  },\n  {\n    \"name\": \"txt_extre\",\n    \"sprite\": [\"txt/extre\"],\n    \"types\": [\"object\"],\n    \"color\": [[6, 1]],\n    \"tags\": [\"tree\", \"plants\", \"husk\"]\n  },\n  {\n    \"name\": \"heg\",\n    \"sprite\": [\"heg\"],\n    \"layer\": 4,\n    \"color\": [[5, 2]],\n    \"desc\": \"ouch\",\n    \"tags\": [\"plant\", \"cactus\"]\n  },\n  {\n    \"name\": \"txt_heg\",\n    \"sprite\": [\"txt/heg\"],\n    \"types\": [\"object\"],\n    \"color\": [[5, 2]],\n    \"tags\": [\"plant\", \"cactus\"]\n  },\n  {\n    \"name\": \"byc\",\n    \"sprite\": [\"byc\", \"byc_editor\"],\n    \"layer\": 8,\n    \"color\": [[0, 3], [2, 2], [2, 2]],\n    \"painted\": [[0, 0], true, true],\n    \"rotate\": true,\n    \"desc\": \"haha get it, it's because bicycle is a specific brand of playing card\",\n    \"tags\": [\"playing card\", \"bicycle\", \"ace\", \"card\"]\n  },\n  {\n    \"name\": \"txt_byc\",\n    \"sprite\": [\"txt/byc\"],\n    \"types\": [\"object\"],\n    \"color\": [[2, 2]],\n    \"desc\": \"BYC: has a random image every time it's loaded!\",\n    \"tags\": [\"playing card\", \"bicycle\", \"ace\", \"card\"]\n  },\n  {\n    \"name\": \"bac\",\n    \"sprite\": [\"byc\", \"bac\"],\n    \"layer\": 8,\n    \"color\": [[0, 3], [2, 2]],\n    \"painted\": [[0, 0], true],\n    \"rotate\": true,\n    \"desc\": \"cards have 2 sides\",\n    \"tags\": [\"playing card back\", \"bicycle\", \"card\"]\n  },\n  {\n    \"name\": \"txt_bac\",\n    \"sprite\": [\"txt/bac\"],\n    \"types\": [\"object\"],\n    \"color\": [[2, 2]],\n    \"tags\": [\"playing card back\", \"bicycle\", \"card\"]\n  },\n  {\n    \"name\": \"golf\",\n    \"sprite\": [\"golf\"],\n    \"layer\": 6,\n    \"color\": [[1, 2]],\n    \"desc\": \"i want 0!!!\",\n    \"tags\": [\"flag\", \"unwin\"]\n  },\n  {\n    \"name\": \"txt_golf\",\n    \"sprite\": [\"txt/golf\"],\n    \"types\": [\"object\"],\n    \"color\": [[1, 2]],\n    \"desc\": \"you see, in golf, a LOWER score is better\",\n    \"tags\": [\"flag\", \"unwin\"]\n  },\n  {\n    \"name\": \"sloop\",\n    \"sprite\": [\"sloop\"],\n    \"layer\": 3,\n    \"color\": [[0, 3]],\n    \"rotate\": true,\n    \"desc\": \"really cool that bab be u 2 introduced slopes, GOTY\",\n    \"tags\": [\"triangle\", \"half\", \"slope\"]\n  },\n  {\n    \"name\": \"txt_sloop\",\n    \"sprite\": [\"txt/sloop\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"ideal for art\",\n    \"tags\": [\"triangle\", \"half\", \"slope\"]\n  },\n  {\n    \"name\": \"chain\",\n    \"sprite\": [\"chain\"],\n    \"layer\": 22,\n    \"color\": [[0, 2]],\n    \"rotate\": true,\n    \"desc\": \"EVERY1 W/FREN CHAIN STALK JAIL. now bab's going to jail :(\"\n  },\n  {\n    \"name\": \"txt_chain\",\n    \"sprite\": [\"txt/chain\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 2]]\n  },\n  {\n    \"name\": \"lili\",\n    \"sprite\": [\"lili\"],\n    \"layer\": 4,\n    \"color\": [[5, 1]],\n    \"rotate\": true,\n    \"desc\": \"water type evolution of platfor\",\n    \"tags\": [\"lilypad\", \"plants\"]\n  },\n  {\n    \"name\": \"txt_lili\",\n    \"sprite\": [\"txt/lili\"],\n    \"types\": [\"object\"],\n    \"color\": [[5, 1]],\n    \"desc\": \"not to be confused with LILA\",\n    \"tags\": [\"lilypad\", \"plants\"]\n  },\n  {\n    \"name\": \"swim\",\n    \"sprite\": [\"swim\"],\n    \"layer\": 8,\n    \"color\": [[6, 1]],\n    \"desc\": \"no no swim n't n't\",\n    \"tags\": [\"boat\", \"ship\"]\n  },\n  {\n    \"name\": \"txt_swim\",\n    \"sprite\": [\"txt/swim\"],\n    \"types\": [\"object\"],\n    \"color\": [[6, 1]],\n    \"tags\": [\"boat\", \"ship\"]\n  },\n  {\n    \"name\": \"gorder\",\n    \"sprite\": [\"gorder\"],\n    \"layer\": 3,\n    \"color\": [[0, 2]],\n    \"rotate\": true,\n    \"desc\": \"constructon zone!\",\n    \"tags\": [\"girder\", \"city\"]\n  },\n  {\n    \"name\": \"txt_gorder\",\n    \"sprite\": [\"txt/gorder\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 2]],\n    \"tags\": [\"girder\", \"city\"]\n  },\n  {\n    \"name\": \"piep\",\n    \"sprite\": [\"piep\"],\n    \"layer\": 3,\n    \"color\": [[5, 2]],\n    \"rotate\": true,\n    \"portal\": true,\n    \"desc\": \"enter the piep to skip world\",\n    \"tags\": [\"pipe\", \"tube\", \"mario\"]\n  },\n  {\n    \"name\": \"txt_piep\",\n    \"sprite\": [\"txt/piep\"],\n    \"types\": [\"object\"],\n    \"color\": [[5, 2]],\n    \"tags\": [\"pipe\", \"tube\", \"mario\"]\n  },\n  {\n    \"name\": \"tuba\",\n    \"sprite\": [\"tuba\"],\n    \"layer\": 3,\n    \"color\": [[5, 2]],\n    \"rotate\": true,\n    \"desc\": \"piep's bff\",\n    \"tags\": [\"pipe\", \"tube\", \"mario\"]\n  },\n  {\n    \"name\": \"txt_tuba\",\n    \"sprite\": [\"txt/tuba\"],\n    \"types\": [\"object\"],\n    \"color\": [[5, 2]],\n    \"desc\": \"pieps are musical instruments\",\n    \"tags\": [\"pipe\", \"tube\", \"mario\"]\n  },\n  {\n    \"name\": \"forbeeee\",\n    \"sprite\": [\"forbeeee\"],\n    \"layer\": 4,\n    \"color\": [[6, 2]],\n    \"desc\": \"trans rights\",\n    \"tags\": [\"beehive\", \"beecomb\", \"honeycomb\"]\n  },\n  {\n    \"name\": \"txt_forbeeee\",\n    \"sprite\": [\"txt/forbeeee\"],\n    \"types\": [\"object\"],\n    \"color\": [[6, 2]],\n    \"tags\": [\"beehive\", \"beecomb\", \"honeycomb\"]\n  },\n  {\n    \"name\": \"do$h\",\n    \"sprite\": [\"do$h\"],\n    \"layer\": 6,\n    \"color\": [[5, 2]],\n    \"desc\": \"DO$H DO$H DO$H!\",\n    \"tags\": [\"dosh\", \"cash money\", \"money\"]\n  },\n  {\n    \"name\": \"txt_do$h\",\n    \"sprite\": [\"txt/do$h\"],\n    \"types\": [\"object\"],\n    \"color\": [[5, 2]],\n    \"desc\": \"dollas\",\n    \"tags\": [\"dosh\", \"cash money\", \"money\"]\n  },\n  {\n    \"name\": \"dling\",\n    \"sprite\": [\"dling\"],\n    \"layer\": 6,\n    \"color\": [[2, 4]],\n    \"rotate\": true,\n    \"desc\": \"dling dling dling!\",\n    \"tags\": [\"coin\", \"mario\"]\n  },\n  {\n    \"name\": \"txt_dling\",\n    \"sprite\": [\"txt/dling\"],\n    \"types\": [\"object\"],\n    \"color\": [[2, 4]],\n    \"desc\": \"the sound a coin makes\",\n    \"tags\": [\"coin\", \"mario\"]\n  },\n  {\n    \"name\": \"warn\",\n    \"sprite\": [\"warn\", \"no1\"],\n    \"layer\": 3,\n    \"color\": [[2, 4], [0, 0]],\n    \"painted\": [true, false],\n    \"desc\": \"cauntion\",\n    \"tags\": [\"warning\", \"stripes\"]\n  },\n  {\n    \"name\": \"txt_warn\",\n    \"sprite\": [\"txt/warn\"],\n    \"types\": [\"object\"],\n    \"color\": [[2, 4]],\n    \"tags\": [\"warning\", \"stripes\"]\n  },\n  {\n    \"name\": \"reffil\",\n    \"sprite\": [\"reffil\"],\n    \"layer\": 6,\n    \"color\": [[5, 3]],\n    \"desc\": \"gives u dash bacc\",\n    \"tags\": [\"refill\", \"celeste\"]\n  },\n  {\n    \"name\": \"txt_reffil\",\n    \"sprite\": [\"txt/reffil\"],\n    \"types\": [\"object\"],\n    \"color\": [[5, 3]],\n    \"tags\": [\"refill\", \"celeste\"]\n  },\n  {\n    \"name\": \"yanying\",\n    \"sprite\": [\"yan\", \"ying\"],\n    \"layer\": 6,\n    \"color\": [[0, 3], [2, 2]],\n    \"painted\": [false, true],\n    \"desc\": \"good vs bad, they balanced\",\n    \"tags\": [\"yin yang orb\", \"taoism\"]\n  },\n  {\n    \"name\": \"txt_yanying\",\n    \"sprite\": [\"txt/yanying\"],\n    \"types\": [\"object\"],\n    \"color\": [[2, 2]],\n    \"tags\": [\"yin yang orb\", \"taoism\"]\n  },\n  {\n    \"name\": \"vlc\",\n    \"sprite\": [\"vlc\"],\n    \"layer\": 6,\n    \"color\": [[2, 3]],\n    \"desc\": \"VLC media player is a free and open-source portable cross-platform media player software and streaming media server developed by the VideoLAN project. VLC is available for desktop operating systems and mobile platforms, such as Android, iOS, iPadOS, Tizen, Windows 10 Mobile and Windows Phone.\",\n    \"tags\": [\"traffic cone\"]\n  },\n  {\n    \"name\": \"txt_vlc\",\n    \"sprite\": [\"txt/vlc\"],\n    \"types\": [\"object\"],\n    \"color\": [[2, 3]],\n    \"tags\": [\"traffic cone\"]\n  },\n  {\n    \"name\": \"foru\",\n    \"sprite\": [\"foru\"],\n    \"layer\": 4,\n    \"color\": [[0, 1]],\n    \"desc\": \"tresh\",\n    \"tags\": [\"trash can\", \"rubbish bin\", \"garbage\", \"delete\", \"city\"]\n  },\n  {\n    \"name\": \"txt_foru\",\n    \"sprite\": [\"txt/foru\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 1]],\n    \"desc\": \"ha ! goteeM\",\n    \"tags\": [\"trash can\", \"rubbish bin\", \"garbage\", \"delete\", \"city\"]\n  },\n  {\n    \"name\": \"rod\",\n    \"sprite\": [\"rod\"],\n    \"layer\": 3,\n    \"color\": [[0, 3]],\n    \"rotate\": true,\n    \"desc\": \"forkar\",\n    \"tags\": [\"city\", \"street\", \"road\"]\n  },\n  {\n    \"name\": \"txt_rod\",\n    \"sprite\": [\"txt/rod\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 3]],\n    \"tags\": [\"city\", \"street\", \"road\"]\n  },\n  {\n    \"name\": \"ofin\",\n    \"display\": \"of in\",\n    \"sprite\": [\"ofin\"],\n    \"layer\": 7,\n    \"color\": [[2, 3]],\n    \"desc\": \"why do they call it oven when you of in the cold food of out hot eat the food\",\n    \"tags\": [\"oven\", \"microwave\", \"future gadget\", \"of out\"]\n  },\n  {\n    \"name\": \"txt_ofin\",\n    \"display\": \"of in\",\n    \"sprite\": [\"txt/ofin\"],\n    \"types\": [\"object\"],\n    \"color\": [[2, 3]],\n    \"desc\": \"of out\",\n    \"tags\": [\"oven\", \"microwave\", \"future gadget\", \"of out\"]\n  },\n  {\n    \"name\": \"casete\",\n    \"sprite\": [\"casete\"],\n    \"layer\": 2,\n    \"color\": [[0, 2]],\n    \"desc\": \"chiptune bloc\",\n    \"tags\": [\"cassette\", \"bside\", \"b-side\", \"celeste\"]\n  },\n  {\n    \"name\": \"txt_casete\",\n    \"sprite\": [\"txt/casete\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 2]],\n    \"desc\": \"The sprite changes if you change its color. Try it out!\",\n    \"tags\": [\"cassette\", \"bside\", \"b-side\", \"celeste\"]\n  },\n  {\n    \"name\": \"weeb\",\n    \"sprite\": [\"weeb\"],\n    \"layer\": 4,\n    \"color\": [[0, 3]],\n    \"rotate\": true,\n    \"desc\": \"very glued\",\n    \"tags\": [\"spiderweb\", \"cobweb\", \"for spoder\"]\n  },\n  {\n    \"name\": \"txt_weeb\",\n    \"sprite\": [\"txt/weeb\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"weebs dont interact\",\n    \"tags\": [\"spiderweb\", \"cobweb\", \"for spoder\"]\n  },\n  {\n    \"name\": \"ches\",\n    \"sprite\": [\"chest_close\"],\n    \"layer\": 7,\n    \"color\": [[2, 2]],\n    \"desc\": \"closes when NED KEE\",\n    \"tags\": [\"chest\", \"treasure chest\", \"mimic\"]\n  },\n  {\n    \"name\": \"txt_ches\",\n    \"sprite\": [\"txt/ches\"],\n    \"types\": [\"object\"],\n    \"color\": [[2, 2]],\n    \"tags\": [\"chest\", \"treasure chest\", \"mimic\"]\n  },\n  {\n    \"name\": \"3den\",\n    \"sprite\": [\"3den\"],\n    \"layer\": 8,\n    \"color\": [[1, 2]],\n    \"rotate\": true,\n    \"desc\": \"dont throw it away\",\n    \"tags\": [\"trident\"]\n  },\n  {\n    \"name\": \"txt_3den\",\n    \"sprite\": [\"txt/3den\"],\n    \"types\": [\"object\"],\n    \"color\": [[1, 2]],\n    \"tags\": [\"trident\"]\n  },\n  {\n    \"name\": \"pen\",\n    \"sprite\": [\"pen\"],\n    \"layer\": 7,\n    \"color\": [[2, 4]],\n    \"rotate\": true,\n    \"desc\": \"the creating one\",\n    \"tags\": [\"pencil\"]\n  },\n  {\n    \"name\": \"txt_pen\",\n    \"sprite\": [\"txt/pen\"],\n    \"types\": [\"object\"],\n    \"color\": [[2, 4]],\n    \"tags\": [\"pencil\"]\n  },\n  {\n    \"name\": \"cil\",\n    \"sprite\": [\"cil\"],\n    \"layer\": 7,\n    \"color\": [[2, 4]],\n    \"rotate\": true,\n    \"desc\": \"the deleting one\",\n    \"tags\": [\"pencil\", \"eraser\"]\n  },\n  {\n    \"name\": \"txt_cil\",\n    \"sprite\": [\"txt/cil\"],\n    \"types\": [\"object\"],\n    \"color\": [[2, 4]],\n    \"tags\": [\"pencil\", \"eraser\"]\n  },\n  {\n    \"name\": \"grav\",\n    \"sprite\": [\"grav\"],\n    \"layer\": 4,\n    \"color\": [[0, 1]],\n    \"desc\": \"what do you call a serious person with a shovel?\\na grave digger\\nhahahahaha\",\n    \"tags\": [\"gravestone\", \"tombstone\", \"spooky\"]\n  },\n  {\n    \"name\": \"txt_grav\",\n    \"sprite\": [\"txt/grav\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 1]],\n    \"desc\": \"not to be confused with the removed GRAVY\",\n    \"tags\": [\"gravestone\", \"tombstone\", \"spooky\"]\n  },\n  {\n    \"name\": \"pumkin\",\n    \"sprite\": [\"pumkin\"],\n    \"layer\": 6,\n    \"color\": [[2, 3]],\n    \"features\": {\n      \"sans\": {\"x\": 21, \"y\": 15, \"w\": 5, \"h\": 3}\n    },\n    \"desc\": \"turns spooky with the correct properties\",\n    \"tags\": [\"pumpkin\", \"plant\", \"spooky\"]\n  },\n  {\n    \"name\": \"txt_pumkin\",\n    \"sprite\": [\"txt/pumkin\"],\n    \"types\": [\"object\"],\n    \"color\": [[2, 3]],\n    \"tags\": [\"pumpkin\", \"plant\", \"spooky\"]\n  },\n  {\n    \"name\": \"bel\",\n    \"sprite\": [\"bel\"],\n    \"layer\": 6,\n    \"color\": [[2, 4]],\n    \"rotate\": true,\n    \"desc\": \"tis the season\",\n    \"tags\": [\"bell\", \"christmas\"]\n  },\n  {\n    \"name\": \"txt_bel\",\n    \"sprite\": [\"txt/bel\"],\n    \"types\": [\"object\"],\n    \"color\": [[2, 4]],\n    \"tags\": [\"bell\", \"christmas\"]\n  },\n  {\n    \"name\": \"wres\",\n    \"sprite\": [\"wres\"],\n    \"layer\": 4,\n    \"color\": [[5, 2]],\n    \"desc\": \"tis the wreson\",\n    \"tags\": [\"wreathe\", \"plant\", \"christmas\"]\n  },\n  {\n    \"name\": \"txt_wres\",\n    \"sprite\": [\"txt/wres\"],\n    \"types\": [\"object\"],\n    \"color\": [[5, 2]],\n    \"tags\": [\"wreathe\", \"plant\", \"christmas\"]\n  },\n  {\n    \"name\": \"bowie\",\n    \"sprite\": [\"bowie\"],\n    \"layer\": 9,\n    \"color\": [[2, 2]],\n    \"rotate\": true,\n    \"desc\": \"we could be heroes\",\n    \"tags\": [\"ribbon\", \"bow\", \"christmas\"]\n  },\n  {\n    \"name\": \"txt_bowie\",\n    \"sprite\": [\"txt/bowie\"],\n    \"types\": [\"object\"],\n    \"color\": [[2, 2]],\n    \"desc\": \"just for one day\",\n    \"tags\": [\"ribbon\", \"bow\", \"christmas\"]\n  },\n  {\n    \"name\": \"sant\",\n    \"sprite\": [\"sant_base\", \"sant_flof\"],\n    \"layer\": 8,\n    \"color\": [[2, 2], [0, 3]],\n    \"painted\": [true, false],\n    \"desc\": \"ho ho ho\",\n    \"tags\": [\"santa hat\", \"christmas\"]\n  },\n  {\n    \"name\": \"txt_sant\",\n    \"sprite\": [\"txt/sant\"],\n    \"types\": [\"object\"],\n    \"color\": [[2, 2]],\n    \"tags\": [\"santa hat\", \"christmas\"]\n  },\n  {\n    \"name\": \"gato\",\n    \"sprite\": [\"gato\"],\n    \"layer\": 3,\n    \"color\": [[0, 2]],\n    \"rotate\": true,\n    \"desc\": \"el gato negro, michi michi\",\n    \"tags\": [\"oneway\", \"mario\", \"gate\"]\n  },\n  {\n    \"name\": \"txt_gato\",\n    \"sprite\": [\"txt/gato\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 2]],\n    \"desc\": \"shakes if you can't walk into it\",\n    \"tags\": [\"oneway\", \"mario\", \"gate\"]\n  },\n  {\n    \"name\": \"canedy\",\n    \"sprite\": [\"canedy_stripes\", \"canedy_base\"],\n    \"layer\": 8,\n    \"color\": [[2, 2], [0, 3]],\n    \"painted\": [true, false],\n    \"rotate\": true,\n    \"desc\": \"no pun in canedied\",\n    \"tags\": [\"candy cane\", \"christmas\", \"food\", \"sweets\"]\n  },\n  {\n    \"name\": \"txt_canedy\",\n    \"sprite\": [\"txt/canedy\"],\n    \"types\": [\"object\"],\n    \"color\": [[2, 2]],\n    \"tags\": [\"candy cane\", \"christmas\", \"food\", \"sweets\"]\n  },\n  {\n    \"name\": \"now\",\n    \"sprite\": [\"now_box\", \"now_bow\"],\n    \"layer\": 8,\n    \"color\": [[2, 2], [2, 4]],\n    \"painted\": [true, false],\n    \"desc\": \"a gift for every bab supporteres!\",\n    \"tags\": [\"present\", \"gift\", \"box\", \"christmas\"]\n  },\n  {\n    \"name\": \"txt_now\",\n    \"sprite\": [\"txt/now\"],\n    \"types\": [\"object\"],\n    \"color\": [[2, 2]],\n    \"desc\": \"its now, or latr, no srsly\",\n    \"alias\": [\"latr\"],\n    \"tags\": [\"present\", \"gift\", \"box\", \"christmas\"]\n  },\n  {\n    \"name\": \"bolble\",\n    \"sprite\": [\"bolble\"],\n    \"layer\": 8,\n    \"color\": [[2, 2]],\n    \"rotate\": true,\n    \"desc\": \"wil chang patern w/ colr\",\n    \"tags\": [\"bauble\", \"ball\", \"christmas\"]\n  },\n  {\n    \"name\": \"txt_bolble\",\n    \"sprite\": [\"txt/bolble\"],\n    \"types\": [\"object\"],\n    \"color\": [[2, 2]],\n    \"tags\": [\"bauble\", \"ball\", \"christmas\"]\n  },\n  {\n    \"name\": \"sno\",\n    \"sprite\": [\"sno\"],\n    \"layer\": 2,\n    \"color\": [[0, 3]],\n    \"desc\": \"snodin\",\n    \"tags\": [\"snow\", \"christmas\"]\n  },\n  {\n    \"name\": \"txt_sno\",\n    \"sprite\": [\"txt/sno\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"sno easy bein grun\",\n    \"tags\": [\"snow\", \"christmas\"]\n  },\n  {\n    \"name\": \"cooky\",\n    \"sprite\": [\"cooky\"],\n    \"layer\": 8,\n    \"color\": [[6, 2]],\n    \"desc\": \"clik clik clik\",\n    \"tags\": [\"cookie\", \"biscuit\", \"chocolate chip\", \"christmas\", \"food\", \"sweets\"]\n  },\n  {\n    \"name\": \"txt_cooky\",\n    \"sprite\": [\"txt/cooky\"],\n    \"types\": [\"object\"],\n    \"color\": [[6, 2]],\n    \"desc\": \"very cooky\",\n    \"tags\": [\"cookie\", \"biscuit\", \"chocolate chip\", \"christmas\", \"food\", \"sweets\"]\n  },\n  {\n    \"name\": \"pot\",\n    \"sprite\": [\"pot_drink\", \"pot_bottle\"],\n    \"layer\": 7,\n    \"color\": [[3, 1], [0, 3]],\n    \"painted\": [true, false],\n    \"rotate\": true,\n    \"desc\": \"+1 ATK\",\n    \"tags\": [\"potion\", \"bottle\", \"halloween\"]\n  },\n  {\n    \"name\": \"txt_pot\",\n    \"sprite\": [\"txt/pot\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 3]],\n    \"tags\": [\"potion\", \"bottle\", \"halloween\"]\n  },\n  {\n    \"name\": \"sweep\",\n    \"sprite\": [\"sweep\"],\n    \"layer\": 8,\n    \"color\": [[6, 1]],\n    \"rotate\": true,\n    \"desc\": \"for the master sparkl users\",\n    \"tags\": [\"broomstick\", \"halloween\", \"witch\"]\n  },\n  {\n    \"name\": \"txt_sweep\",\n    \"sprite\": [\"txt/sweep\"],\n    \"types\": [\"object\"],\n    \"color\": [[6, 1]],\n    \"tags\": [\"broomstick\", \"halloween\", \"witch\"]\n  },\n  {\n    \"name\": \"which\",\n    \"sprite\": [\"which_that\", \"which_base\"],\n    \"layer\": 8,\n    \"color\": [[3, 1], [0, 0]],\n    \"painted\": [true, false],\n    \"desc\": \"mors tak the precious thing\",\n    \"tags\": [\"witch hat\", \"halloween\"]\n  },\n  {\n    \"name\": \"txt_which\",\n    \"sprite\": [\"txt/which\"],\n    \"types\": [\"object\"],\n    \"color\": [[3, 1]],\n    \"desc\": \"which one? THAT one!\",\n    \"tags\": [\"witch hat\", \"halloween\"]\n  },\n  {\n    \"name\": \"wan\",\n    \"sprite\": [\"wan_center\", \"wan_end\"],\n    \"layer\": 8,\n    \"color\": [[0, 0], [0, 3]],\n    \"painted\": [true, false],\n    \"rotate\": true,\n    \"desc\": \"wan and han gos han in han\",\n    \"tags\": [\"magician wand\", \"staff\"]\n  },\n  {\n    \"name\": \"txt_wan\",\n    \"sprite\": [\"txt/wan\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 1]],\n    \"tags\": [\"magician wand\", \"staff\"]\n  },\n  {\n    \"name\": \"mug\",\n    \"sprite\": [\"mug\"],\n    \"layer\": 8,\n    \"color\": [[0, 3]],\n    \"rotate\": true,\n    \"features\": {\n      \"sans\": {\"x\": 20, \"y\": 15, \"w\": 2, \"h\": 2}\n    },\n    \"desc\": \"mugman\",\n    \"tags\": [\"cup\", \"mug\", \"magician\"]\n  },\n  {\n    \"name\": \"txt_mug\",\n    \"sprite\": [\"txt/mug\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 3]],\n    \"tags\": [\"cup\", \"mug\", \"magician\"]\n  },\n  {\n    \"name\": \"corndy\",\n    \"sprite\": [\"corndy_top\", \"corndy_center\", \"corndy_bottom\"],\n    \"layer\": 8,\n    \"color\": [[0, 3], [2, 2], [2, 4]],\n    \"painted\": [false, true, false],\n    \"rotate\": true,\n    \"desc\": \"corndy and han gos han in han\",\n    \"tags\": [\"candy corn\", \"food\", \"sweets\", \"halloween\"]\n  },\n  {\n    \"name\": \"txt_corndy\",\n    \"sprite\": [\"txt/corndy\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 1]],\n    \"tags\": [\"candy corn\", \"food\", \"sweets\", \"halloween\"]\n  },\n  {\n    \"name\": \"die\",\n    \"sprite\": [\"die_cube\", \"die_nil\"],\n    \"layer\": 8,\n    \"color\": [[0, 3], [2, 2]],\n    \"painted\": [true, false],\n    \"rotate\": true,\n    \"desc\": \"rerolls every turn unless its NO TURN\",\n    \"tags\": [\"dice\", \"cube\", \"random\"]\n  },\n  {\n    \"name\": \"txt_die\",\n    \"sprite\": [\"txt/die\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"ur turn to DIE\",\n    \"tags\": [\"dice\", \"cube\", \"random\"]\n  },\n  {\n    \"name\": \"tronk\",\n    \"sprite\": [\"tronk\"],\n    \"layer\": 6,\n    \"color\": [[1, 4]],\n    \"desc\": \"upside down boll\",\n    \"tags\": [\"trinket\", \"vvvvvv\"]\n  },\n  {\n    \"name\": \"txt_tronk\",\n    \"sprite\": [\"txt/tronk\"],\n    \"types\": [\"object\"],\n    \"color\": [[1, 4]],\n    \"tags\": [\"trinket\", \"vvvvvv\"]\n  },\n  {\n    \"name\": \"aaaaaa\",\n    \"sprite\": [\"aaaaaa\"],\n    \"layer\": 22,\n    \"color\": [[0, 3]],\n    \"desc\": \"Thingifying a custom letter AAAA (with 2-4) A's becomes a BATTRY instead.\"\n  },\n  {\n    \"name\": \"therealbabdictator\",\n    \"display\": \"the one and only hatsune miku herself\",\n    \"sprite\": [\"therealbabdictator\"],\n    \"layer\": 100,\n    \"color\": [[0, 3]],\n    \"voice\": \"miku\",\n    \"desc\": \"todokete setsuna sa ni waaaaaaaa\",\n    \"tags\": [\"hatsune miku\"],\n    \"pronouns\": [\"she\", \"her\", \"miku\"]\n  },\n  {\n    \"name\": \"txt_therealbabdictator\",\n    \"display\": \"the one and only hatsune miku herself\",\n    \"sprite\": [\"txt/therealbabdictator\"],\n    \"layer\": 99,\n    \"types\": [\"object\"],\n    \"color\": [[0, 3]],\n    \"unsearchable\": true,\n    \"desc\": \"yes\"\n  },\n  {\n    \"name\": \"fube\",\n    \"sprite\": [\"fube_arrow\", \"fube_cube\"],\n    \"layer\": 8,\n    \"color\": [[2, 2], [0, 3]],\n    \"painted\": [true, false],\n    \"rotate\": true,\n    \"desc\": \"the cube thingy from many folds garden\",\n    \"tags\": [\"manifold garden\", \"arrow\", \"gravity\"]\n  },\n  {\n    \"name\": \"txt_fube\",\n    \"sprite\": [\"txt/fube\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"don't be fooled by the sprite it's just fube\",\n    \"tags\": [\"manifold garden\", \"arrow\", \"gravity\"]\n  },\n  {\n    \"name\": \"prop\",\n    \"sprite\": [\"prop\"],\n    \"types\": [\"property\"],\n    \"layer\": 19,\n    \"color\": [[0, 3]],\n    \"desc\": \"it's an empty property object\",\n    \"tags\": [\"property\", \"square\", \"box\"]\n  },\n  {\n    \"name\": \"txt_prop\",\n    \"sprite\": [\"txt/prop\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"it refers to the empty property object\",\n    \"tags\": [\"property\", \"square\", \"box\"]\n  },\n  {\n    \"name\": \"colect\",\n    \"sprite\": [\"colect\"],\n    \"layer\": 22,\n    \"color\": [[0, 2]],\n    \"desc\": \"to hold bugs\"\n  },\n  {\n    \"name\": \"txt_colect\",\n    \"sprite\": [\"txt/colect\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 3]]\n  },\n  {\n    \"name\": \"whee\",\n    \"sprite\": [\"whee\"],\n    \"layer\": 8,\n    \"color\": [[0, 3]],\n    \"rotate\": true,\n    \"desc\": \"the nostalgia console\"\n  },\n  {\n    \"name\": \"txt_whee\",\n    \"sprite\": [\"txt/whee\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 3]]\n  },\n  {\n    \"name\": \"joycon\",\n    \"sprite\": [\"joycon\"],\n    \"layer\": 7,\n    \"color\": [[2, 2]],\n    \"rotate\": true,\n    \"desc\": \"where's its partner? you gotta find it!\"\n  },\n  {\n    \"name\": \"txt_joycon\",\n    \"sprite\": [\"txt/joycon_l\", \"txt/joycon_r\"],\n    \"types\": [\"object\"],\n    \"color\": [[1, 3], [2, 2]],\n    \"painted\": [true, false],\n    \"desc\": \"multicolor text?!?!?\"\n  },\n  {\n    \"name\": \"cart\",\n    \"sprite\": [\"cart\"],\n    \"layer\": 20,\n    \"color\": [[0, 2]],\n    \"desc\": \"like casette but from an objectively better game\",\n    \"tags\": [\"cart\"]\n  },\n  {\n    \"name\": \"txt_cart\",\n    \"sprite\": [\"txt/cart\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 2]],\n    \"tags\": [\"cart\"]\n  },\n  {\n    \"name\": \"drop\",\n    \"sprite\": [\"drop\"],\n    \"layer\": 6,\n    \"color\": [[1, 3]],\n    \"desc\": \"when they crai\",\n    \"tags\": [\"tear\", \"droplet\", \"water\", \"blood\"]\n  },\n  {\n    \"name\": \"txt_drop\",\n    \"sprite\": [\"txt/drop\"],\n    \"types\": [\"object\"],\n    \"color\": [[1, 3]],\n    \"tags\": [\"tear\", \"droplet\", \"water\", \"blood\"]\n  },\n  {\n    \"name\": \"woosh\",\n    \"sprite\": [\"woosh\"],\n    \"layer\": 6,\n    \"color\": [[0, 3]],\n    \"rotate\": true,\n    \"desc\": \"dont make a shitty reddit joke no one likes them\",\n    \"tags\": [\"wind\", \"blow\", \"whoosh\"]\n  },\n  {\n    \"name\": \"txt_woosh\",\n    \"sprite\": [\"txt/woosh\"],\n    \"types\": [\"object\"],\n    \"color\": [[5, 3]],\n    \"tags\": [\"wind\", \"blow\", \"whoosh\"]\n  },\n  {\n    \"name\": \"candl\",\n    \"sprite\": [\"candl\"],\n    \"layer\": 6,\n    \"color\": [[2, 2]],\n    \"desc\": \"BURNNNNNNNNN\",\n    \"tags\": [\"candle\", \"fire\", \"light\"]\n  },\n  {\n    \"name\": \"txt_candl\",\n    \"sprite\": [\"txt/candl\"],\n    \"types\": [\"object\"],\n    \"color\": [[2, 2]],\n    \"tags\": [\"candle\", \"fire\", \"light\"]\n  },\n  {\n    \"name\": \"maglit\",\n    \"sprite\": [\"maglit\", \"no1\"],\n    \"layer\": 6,\n    \"color\": [[0, 2], [0, 3]],\n    \"painted\": [true, false],\n    \"rotate\": true,\n    \"desc\": \"turns on when its TORC\",\n    \"tags\": [\"maglight\", \"torchlight\", \"flashlight\"]\n  },\n  {\n    \"name\": \"txt_maglit\",\n    \"sprite\": [\"txt/maglit\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 2]],\n    \"tags\": [\"maglight\", \"torchlight\", \"flashlight\"]\n  },\n  {\n    \"name\": \"txt_xplod\",\n    \"sprite\": [\"txt/xplod\"],\n    \"types\": [\"object\"],\n    \"color\": [[2, 2]],\n    \"desc\": \"The object created by nuek\"\n  },\n  {\n    \"name\": \"zig\",\n    \"sprite\": [\"zig\"],\n    \"layer\": 5,\n    \"color\": [[0, 3]],\n    \"rotate\": true,\n    \"desc\": \"v^v^v^, that's my textual representation of zigzag\",\n    \"tags\": [\"zigzag\"]\n  },\n  {\n    \"name\": \"txt_zig\",\n    \"sprite\": [\"txt/zig\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"zag\",\n    \"tags\": [\"zigzag\"]\n  },\n  {\n    \"name\": \"cracc\",\n    \"sprite\": [\"cracc\"],\n    \"layer\": 5,\n    \"color\": [[0, 0]],\n    \"desc\": \"just a cracc in the wals\",\n    \"tags\": [\"crack\"]\n  },\n  {\n    \"name\": \"txt_cracc\",\n    \"sprite\": [\"txt/cracc\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 1]],\n    \"tags\": [\"crack\"]\n  },\n  {\n    \"name\": \"pixl\",\n    \"sprite\": [\"pixl\"],\n    \"layer\": 5,\n    \"color\": [[0, 3]],\n    \"desc\": \"a lil square half the size of a til\",\n    \"tags\": [\"pixel\", \"square\", \"block\"]\n  },\n  {\n    \"name\": \"txt_pixl\",\n    \"sprite\": [\"txt/pixl\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 3]],\n    \"tags\": [\"pixel\", \"square\", \"block\"]\n  },\n  {\n    \"name\": \"voom\",\n    \"sprite\": [\"voom_handle\", \"voom_blade\"],\n    \"layer\": 11,\n    \"color\": [[0, 2], [1, 3]],\n    \"painted\": [false, true],\n    \"rotate\": true,\n    \"voice\": \"s_voom\",\n    \"desc\": \"britesaber\",\n    \"tags\": [\"lightsaber\", \"starwars\", \"jedi\", \"laser\", \"sword\"]\n  },\n  {\n    \"name\": \"txt_voom\",\n    \"sprite\": [\"txt/voom\"],\n    \"types\": [\"object\"],\n    \"color\": [[2, 4]],\n    \"desc\": \"a long time ago in a galaxy far, far away...\",\n    \"tags\": [\"lightsaber\", \"starwars\", \"jedi\", \"laser\", \"sword\"]\n  },\n  {\n    \"name\": \"qb\",\n    \"sprite\": [\"qb\"],\n    \"layer\": 7,\n    \"color\": [[5, 2]],\n    \"desc\": \"superbly normal thing\",\n    \"tags\": [\"cube\", \"block\", \"square\"]\n  },\n  {\n    \"name\": \"txt_qb\",\n    \"sprite\": [\"txt/qb\"],\n    \"types\": [\"object\"],\n    \"color\": [[5, 2]],\n    \"tags\": [\"cube\", \"block\", \"square\"]\n  },\n  {\n    \"name\": \"tanc\",\n    \"sprite\": [\"tanc\"],\n    \"layer\": 9,\n    \"color\": [[5, 1]],\n    \"rotate\": true,\n    \"desc\": \"it's comin towards ur house\",\n    \"tags\": [\"tank\"]\n  },\n  {\n    \"name\": \"txt_tanc\",\n    \"sprite\": [\"txt/tanc\"],\n    \"color\": [[5, 1]],\n    \"desc\": \"tanc u 4 playin\",\n    \"tags\": [\"tank\"]\n  },\n  {\n    \"name\": \"panlie\",\n    \"sprite\": [\"panlie_base\", \"panlie_syrup\", \"panlie_butter\"],\n    \"layer\": 6,\n    \"color\": [[6, 2], [5, 4], [2, 4]],\n    \"painted\": [true, true, false],\n    \"desc\": \"for niko\",\n    \"tags\": [\"pancake\", \"food\"]\n  },\n  {\n    \"name\": \"txt_panlie\",\n    \"sprite\": [\"txt/panlie\"],\n    \"types\": [\"object\"],\n    \"color\": [[6, 2]],\n    \"tags\": [\"pancake\", \"food\"]\n  },\n  {\n    \"name\": \"pixbolt\",\n    \"sprite\": [\"pixbolt\"],\n    \"layer\": 8,\n    \"color\": [[0, 3]],\n    \"rotate\": true,\n    \"desc\": \"ouch!! ur pixls r sharp!!!\",\n    \"tags\": [\"pixelbolt\"]\n  },\n  {\n    \"name\": \"txt_pixbolt\",\n    \"sprite\": [\"txt/pixbolt\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"pixels are an element in my heart ok?\",\n    \"tags\": [\"pixelbolt\"]\n  },\n  {\n    \"name\": \"painbuct\",\n    \"sprite\": [\"painbuct\", \"painbuct_filled\"],\n    \"layer\": 7,\n    \"color\": [[0, 2], [4, 3]],\n    \"painted\": [false, true],\n    \"desc\": \"good 4 swim\"\n  },\n  {\n    \"name\": \"txt_painbuct\",\n    \"sprite\": [\"txt/painbuct\"],\n    \"types\": [\"object\"],\n    \"color\": [[4, 2]],\n    \"tags\": [\"paint bucket\"]\n  },\n  {\n    \"name\": \"sinyroc\",\n    \"sprite\": [\"sinyroc\"],\n    \"layer\": 7,\n    \"color\": [[4, 2]],\n    \"desc\": \"we...... . are the\",\n    \"tags\": [\"crystal gems\"]\n  },\n  {\n    \"name\": \"txt_sinyroc\",\n    \"sprite\": [\"txt/sinyroc\"],\n    \"types\": [\"object\"],\n    \"color\": [[4, 2]],\n    \"tags\": [\"gem\", \"shiny rock\"]\n  },\n  {\n    \"name\": \"nuzt\",\n    \"sprite\": [\"nuzt\"],\n    \"layer\": 7,\n    \"color\": [[6, 2]],\n    \"desc\": \"there is no joke. bab does not condone such jokes\"\n  },\n  {\n    \"name\": \"txt_nuzt\",\n    \"sprite\": [\"txt/nuzt\"],\n    \"types\": [\"object\"],\n    \"color\": [[6, 2]],\n    \"tags\": [\"peanut\"]\n  },\n  {\n    \"name\": \"cheez\",\n    \"sprite\": [\"cheez\"],\n    \"layer\": 7,\n    \"color\": [[2, 4]],\n    \"desc\": \"there is no joke. bab does not condone such jokes\"\n  },\n  {\n    \"name\": \"txt_cheez\",\n    \"sprite\": [\"txt/cheez\"],\n    \"types\": [\"object\"],\n    \"color\": [[2, 4]],\n    \"tags\": [\"cheese\"]\n  }\n]"
  },
  {
    "path": "assets/tiles/text/conditions.json",
    "content": "[\n  {\n    \"name\": \"txt_w/fren\",\n    \"sprite\": [\"txt/wfren\"],\n    \"metasprite\": [\"txt/wfren meta\"],\n    \"types\": [\"cond_infix\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"W/ FREN (Infix Condition): True if the unit shares a tile with this object.\\nDespite what it might look like, w/fren't doesn't work with letters.\",\n    \"tags\": [\"on\", \"wfren\"]\n  },\n  {\n    \"name\": \"txt_lookat\",\n    \"display\": \"look at\",\n    \"sprite\": [\"txt/lookat\"],\n    \"types\": [\"cond_infix\", \"verb_unit\", \"cond_infix_dir\", \"verb\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"LOOK AT: As an infix condition, true if this object is on the tile in front of the unit. As a verb, makes the unit face this object at end of turn.\\nAnti: lookaway\",\n    \"tags\": [\"follow\", \"facing\", \"lookat\"]\n  },\n  {\n    \"name\": \"txt_lookaway\",\n    \"display\": \"look away\",\n    \"sprite\": [\"txt/lookaway\"],\n    \"types\": [\"cond_infix\", \"verb_unit\", \"cond_infix_dir\", \"verb\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"LOOK AWAY: As an infix condition, true if this object is on the tile behind the unit As a verb, makes the unit face away from this object at end of turn.\\nAnti: lookat\",\n    \"tags\": [\"unfollow\", \"facing away\", \"lookaway\", \"behind\"]\n  },\n  {\n    \"name\": \"txt_behind\",\n    \"sprite\": [\"txt/behind\"],\n    \"types\": [\"cond_infix\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"BEHIND (Infix Condition): True if an indicated object is looking away from the unit on an adjacent tile.\\nAnti: seenby\",\n    \"tags\": [\"back\", \"look\"]\n  },\n  {\n    \"name\": \"txt_beside\",\n    \"sprite\": [\"txt/beside\"],\n    \"types\": [\"cond_infix\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"BESIDE (Infix Condition): True if an indicated object is at the side of the unit on an adjacent tile.\\nAnti: diagonals\",\n    \"tags\": [\"look\", \"left\", \"right\"]\n  },\n  {\n    \"name\": \"txt_frenles\",\n    \"sprite\": [\"txt/frenles\"],\n    \"types\": [\"cond_prefix\"],\n    \"color\": [[2, 2]],\n    \"desc\": \"FRENLES (Prefix Condition): True if the unit is alone on its tile.\",\n    \"tags\": [\"lonely\", \"friendless\"]\n  },\n  {\n    \"name\": \"txt_arond\",\n    \"sprite\": [\"txt/arond\"],\n    \"types\": [\"cond_infix\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"AROND (Infix Condition): True if the indicated object is on any of the tiles surrounding the unit. (The unit's own tile is not checked.) ORTHO/DIAG AROND will only check the tiles orthogonally or diagonally. GO^ AROND will only check the tile in that direction.\",\n    \"tags\": [\"near\", \"around\"]\n  },\n  {\n    \"name\": \"txt_wait...\",\n    \"sprite\": [\"txt/wait\"],\n    \"metasprite\": [\"txt/wait meta\"],\n    \"types\": [\"cond_prefix\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"WAIT... (Prefix Condition): True if the player waited last input. (This does not include clicks.)\",\n    \"tags\": [\"idle\"]\n  },\n  {\n    \"name\": \"txt_sans\",\n    \"sprite\": [\"txt/sans\"],\n    \"sprite_transforms\": {\n      \"property\": \"txt/sans_property\"\n    },\n    \"metasprite\": [\"txt/sans meta\"],\n    \"types\": [\"cond_infix\", \"property\"],\n    \"color\": [[1, 4]],\n    \"desc\": \"SANS (Infix Condition): True if none of the indicated object exist in the level. Does not include itself (so BAB SANS BAB is true if there is only one bab in the level).\",\n    \"tags\": [\"without\", \"w/o\"]\n  },\n  {\n    \"name\": \"txt_mayb\",\n    \"sprite\": [\"txt/mayb\"],\n    \"types\": [\"cond_prefix\"],\n    \"color\": [[0, 3]],\n    \"rotate\": true,\n    \"desc\": \"? (MAYBE) (Prefix Condition): Has a chance of being true, independent for each MAYBE, affected unit and turn. The number on top indicates the % chance of being true. Compatible with N'T.\",\n    \"tags\": [\"/\", \"maybe\", \"random\", \"rng\", \"patashu\"]\n  },\n  {\n    \"name\": \"txt_seenby\",\n    \"display\": \"seen by\",\n    \"sprite\": [\"txt/seenby\"],\n    \"types\": [\"cond_infix\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"SEEN BY (Infix Condition): True if an indicated object is looking at this unit from an adjacent tile.\\nAnti: behind\",\n    \"tags\": [\"seenby\", \"looked at\", \"in front\"]\n  },\n  {\n    \"name\": \"txt_lit\",\n    \"sprite\": [\"txt/lit\"],\n    \"types\": [\"cond_prefix\"],\n    \"color\": [[2, 4]],\n    \"desc\": \"LIT (Prefix Condition): A BRITE object emits light in all directions. LIT will be true for objects on the same FLYE level if nothing TRANPARN'T is in the way.\",\n    \"tags\": [\"powered\"]\n  },\n  {\n    \"name\": \"txt_an\",\n    \"sprite\": [\"txt/an\"],\n    \"types\": [\"cond_prefix\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"AN (Prefix Condition): True for a single arbitrary unit per turn and condition. To get multiple results in one tile, rotate the ANs in different directions.\",\n    \"tags\": [\"rng\", \"random\"]\n  },\n  {\n    \"name\": \"txt_reed\",\n    \"sprite\": [\"txt/reed_cond\"],\n    \"sprite_transforms\": {\n      \"property\": \"txt/reed\"\n    },\n    \"types\": [\"class_prefix\", \"cond_prefix\", \"property\"],\n    \"color\": [[2, 2]],\n    \"desc\": \"REED: Causes the unit to appear red.\\nAnti: cyeann\",\n    \"tags\": [\"colors\", \"colours\", \"red\"]\n  },\n  {\n    \"name\": \"txt_bleu\",\n    \"sprite\": [\"txt/bleu_cond\"],\n    \"sprite_transforms\": {\n      \"property\": \"txt/bleu\"\n    },\n    \"types\": [\"class_prefix\", \"cond_prefix\", \"property\"],\n    \"color\": [[1, 3]],\n    \"desc\": \"BLEU: Causes the unit to appear blue.\\nAnti: orang\",\n    \"tags\": [\"colors\", \"colours\", \"blue\"]\n  },\n  {\n    \"name\": \"txt_grun\",\n    \"sprite\": [\"txt/grun_cond\"],\n    \"sprite_transforms\": {\n      \"property\": \"txt/grun\"\n    },\n    \"types\": [\"class_prefix\", \"cond_prefix\", \"property\"],\n    \"color\": [[5, 2]],\n    \"desc\": \"GRUN: Causes the unit to appear green.\\nBleu+Yello.\\nAnti: pinc\",\n    \"tags\": [\"colors\", \"colours\", \"green\"]\n  },\n  {\n    \"name\": \"txt_yello\",\n    \"sprite\": [\"txt/yello_cond\"],\n    \"sprite_transforms\": {\n      \"property\": \"txt/yello\"\n    },\n    \"types\": [\"class_prefix\", \"cond_prefix\", \"property\"],\n    \"color\": [[2, 4]],\n    \"desc\": \"YELLO: Causes the unit to appear yellow.\\nReed+Grun.\\nAnti: purp\",\n    \"tags\": [\"colors\", \"colours\", \"yellow\"]\n  },\n  {\n    \"name\": \"txt_purp\",\n    \"sprite\": [\"txt/purp_cond\"],\n    \"sprite_transforms\": {\n      \"property\": \"txt/purp\"\n    },\n    \"types\": [\"class_prefix\", \"cond_prefix\", \"property\"],\n    \"color\": [[3, 1]],\n    \"desc\": \"PURP: Causes the unit to appear purple.\\nReed+Bleu.\\nAnti: yello\",\n    \"tags\": [\"colors\", \"colours\", \"purple\"]\n  },\n  {\n    \"name\": \"txt_orang\",\n    \"sprite\": [\"txt/orang_cond\"],\n    \"sprite_transforms\": {\n      \"property\": \"txt/orang\"\n    },\n    \"types\": [\"class_prefix\", \"cond_prefix\", \"property\"],\n    \"color\": [[2, 3]],\n    \"desc\": \"ORANG: Causes the unit to appear orange.\\nReed+Yello.\\nAnti: bleu\",\n    \"tags\": [\"colors\", \"colours\", \"orange\"]\n  },\n  {\n    \"name\": \"txt_cyeann\",\n    \"sprite\": [\"txt/cyeann_cond\"],\n    \"sprite_transforms\": {\n      \"property\": \"txt/cyeann\"\n    },\n    \"types\": [\"class_prefix\", \"cond_prefix\", \"property\"],\n    \"color\": [[1, 4]],\n    \"desc\": \"CYEANN: Causes the unit to appear cyan.\\nBleu+Grun.\\nAnti: reed\",\n    \"tags\": [\"colors\", \"colours\", \"cyan\"]\n  },\n  {\n    \"name\": \"txt_whit\",\n    \"sprite\": [\"txt/whit_cond\"],\n    \"sprite_transforms\": {\n      \"property\": \"txt/whit\"\n    },\n    \"types\": [\"class_prefix\", \"cond_prefix\", \"property\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"WHIT: Causes the unit to appear white.\\nReed+Bleu+Grun, Bleu+Yello, Reed+Cyeann, Grun+Purp.\\nAnti: blacc\",\n    \"tags\": [\"colors\", \"colours\", \"white\"]\n  },\n  {\n    \"name\": \"txt_blacc\",\n    \"sprite\": [\"txt/blacc_cond\"],\n    \"sprite_transforms\": {\n      \"property\": \"txt/blacc\"\n    },\n    \"types\": [\"class_prefix\", \"cond_prefix\", \"property\"],\n    \"color\": [[0, 0]],\n    \"desc\": \"BLACC: Causes the unit to appear black.\\nAnti: whit\",\n    \"tags\": [\"colors\", \"colours\", \"black\"]\n  },\n  {\n    \"name\": \"txt_pinc\",\n    \"sprite\": [\"txt/pinc_cond\"],\n    \"sprite_transforms\": {\n      \"property\": \"txt/pinc\"\n    },\n    \"types\": [\"class_prefix\", \"cond_prefix\", \"property\"],\n    \"color\": [[4, 1]],\n    \"desc\": \"PINC: Causes the unit to appear pink!\\nReed+Whit.\\nAnti: grun\",\n    \"tags\": [\"colors\", \"colours\", \"pink\"]\n  },\n  {\n    \"name\": \"txt_graey\",\n    \"sprite\": [\"txt/graey_cond\"],\n    \"sprite_transforms\": {\n      \"property\": \"txt/graey\"\n    },\n    \"types\": [\"class_prefix\", \"cond_prefix\", \"property\"],\n    \"color\": [[0, 1]],\n    \"desc\": \"GRAEY: Causes the unit to appear gray/grey.\\nBlacc+Whit.\\nAnti: graey\",\n    \"tags\": [\"colors\", \"colours\", \"gray\", \"grey\"]\n  },\n  {\n    \"name\": \"txt_brwn\",\n    \"sprite\": [\"txt/brwn_cond\"],\n    \"sprite_transforms\": {\n      \"property\": \"txt/brwn\"\n    },\n    \"types\": [\"class_prefix\", \"cond_prefix\", \"property\"],\n    \"color\": [[6, 0]],\n    \"desc\": \"BRWN: Causes the unit to appear brown.\\nOrang+Blacc.\\nAnti: cyeann\",\n    \"tags\": [\"colors\", \"colours\", \"brown\"]\n  },\n  {\n    \"name\": \"txt_corekt\",\n    \"sprite\": [\"txt/corekt\"],\n    \"types\": [\"cond_prefix\"],\n    \"color\": [[5, 2]],\n    \"desc\": \"COREKT (Prefix Condition): True if the unit is in an active rule.\",\n    \"tags\": [\"correct\", \"cg5\"]\n  },\n  {\n    \"name\": \"txt_rong\",\n    \"sprite\": [\"txt/rong\"],\n    \"sprite_transforms\": {\n      \"property\": \"txt/rong_prop\"\n    },\n    \"types\": [\"property\", \"cond_prefix\"],\n    \"color\": [[2, 2]],\n    \"desc\": \"RONG: As a prefix, true if the unit is in a negated rule (via rong, n't, or notranform). As a property, if a rule has a rong unit in it it'll be negated.\",\n    \"tags\": [\"wrong\", \"false\", \"cg5\"]\n  },\n  {\n    \"name\": \"txt_the\",\n    \"sprite\": [\"txt/the\"],\n    \"types\": [\"object\", \"cond_prefix\"],\n    \"color\": [[0, 3]],\n    \"rotate\": true,\n    \"desc\": \"THE: Refers to the object it's pointing at.\",\n    \"tags\": [\"that\", \"those\", \"cg5\", \"the^\", \"the ->\"]\n  },\n  {\n    \"name\": \"txt_that\",\n    \"sprite\": [\"txt/that\"],\n    \"types\": [\"cond_infix\", \"cond_infix_verb\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"THAT (Infix Condition): x THAT BE y is true if x BE y. x THAT GOT Y is true if x GOT y. And so on.\",\n    \"tags\": [\"lily\", \"with\", \"w/\"]\n  },\n  {\n    \"name\": \"txt_thatbe\",\n    \"display\": \"that be\",\n    \"sprite\": [\"txt/that be\"],\n    \"types\": [\"cond_infix\", \"cond_infix_verb\", \"cond_infix_verb_plus\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"THAT BE (Infix Condition): x THAT BE y is true if x BE y.\",\n    \"tags\": [\"lily\", \"with\", \"w/\"]\n  },\n  {\n    \"name\": \"txt_thatgot\",\n    \"display\": \"that got\",\n    \"sprite\": [\"txt/that got\"],\n    \"types\": [\"cond_infix\", \"cond_infix_verb\", \"cond_infix_verb_plus\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"THAT GOT (Infix Condition): x THAT GOT y is true if x GOT y.\",\n    \"tags\": [\"lily\", \"with\", \"w/\", \"infix condition\"]\n  },\n  {\n    \"name\": \"txt_timles\",\n    \"sprite\": [\"txt/timles\"],\n    \"types\": [\"cond_prefix\"],\n    \"color\": [[2, 4]],\n    \"desc\": \"TIMLES (Prefix Condition): True if ZA WARUDO is active.\",\n    \"tags\": [\"timeless\"]\n  },\n  {\n    \"name\": \"txt_clikt\",\n    \"sprite\": [\"txt/clikt\"],\n    \"metasprite\": [\"txt/clikt meta\"],\n    \"types\": [\"cond_prefix\"],\n    \"color\": [[3, 3]],\n    \"desc\": \"CLIKT (Prefix Condition): CLIKT objects will be true when left-clicked. Clicks will pass a turn if this text exists.\\nAnti: right click (does not prevent the stack box, though it's made after the move has been made)\",\n    \"tags\": [\"clicked\", \"mouse\"]\n  },\n  {\n    \"name\": \"txt_wun\",\n    \"sprite\": [\"txt/wun\"],\n    \"types\": [\"cond_prefix\"],\n    \"color\": [[2, 4]],\n    \"desc\": \"WUN: A prefix condition that's true if the unit is a won level. If the unit isn't a level, then true if the current level is won.\",\n    \"tags\": [\"won\", \"patashu\"]\n  },\n  {\n    \"name\": \"txt_past\",\n    \"sprite\": [\"txt/past\"],\n    \"types\": [\"cond_prefix\"],\n    \"color\": [[3, 3]],\n    \"desc\": \"PAST (Prefix Condition): Applies the rule to turns that have already happened. (It's about as great as it sounds.)\"\n  },\n  {\n    \"name\": \"txt_oob\",\n    \"sprite\": [\"txt/oob\"],\n    \"types\": [\"cond_prefix\"],\n    \"color\": [[1, 2]],\n    \"desc\": \"OOB (Prefix Condition): True if the unit is on a border.\",\n    \"tags\": [\"out of bounds\"]\n  },\n  {\n    \"name\": \"txt_alt\",\n    \"sprite\": [\"txt/alt\"],\n    \"types\": [\"cond_prefix\"],\n    \"color\": [[1, 3]],\n    \"desc\": \"ALT (Prefix Condition): True every other turn.\",\n    \"tags\": [\"correct\", \"cg5\"]\n  },\n  {\n    \"name\": \"txt_deez\",\n    \"sprite\": [\"txt/deez\"],\n    \"types\": [\"object\", \"cond_prefix\"],\n    \"color\": [[0, 3]],\n    \"rotate\": true,\n    \"desc\": \"DEEZ: Refers to the objects in the direction it's pointing at.\",\n    \"tags\": [\"that\", \"those\", \"cg5\", \"the^\", \"the ->\", \"these\"]\n  },\n  {\n    \"name\": \"txt_meow\",\n    \"sprite\": [\"txt/meow\"],\n    \"types\": [\"cond_infix\", \"gang_prefix\"],\n    \"color\": [[2, 4]],\n    \"desc\": \"Like AROND, but instead of only checking one tile it goes until it hits a TRANPARN'T object, following spatial warping/etc.\\nCurrently has a range cap of 100 because it's laggy.\",\n    \"tags\": [\"infix\", \"stare at\"]\n  },\n  {\n    \"name\": \"txt_offgrid\",\n    \"sprite\": [\"txt/offgrid\"],\n    \"types\": [\"cond_prefix\"],\n    \"color\": [[5, 2]],\n    \"desc\": \"OFFGRID (PREFIX CONDITION): True if the unit is not exactly on a tile (Like from halfstep).\",\n    \"tags\": [\"hal\", \"misaligned\",\"missalined\",\"missaligned\"]\n  }\n]\n"
  },
  {
    "path": "assets/tiles/text/letters.json",
    "content": "[\n  {\n    \"name\": \"letter_a\",\n    \"sprite\": [\"letter_a\"],\n    \"types\": [\"letter\", \"note\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"This description used to hold a hint for a secret, but that hint has since been moved.\"\n  },\n  {\n    \"name\": \"letter_b\",\n    \"sprite\": [\"letter_b\"],\n    \"types\": [\"letter\", \"note\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"you can't spell bab without b\"\n  },\n  {\n    \"name\": \"letter_c\",\n    \"sprite\": [\"letter_c\"],\n    \"types\": [\"letter\", \"note\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"c is for canedy\"\n  },\n  {\n    \"name\": \"letter_d\",\n    \"sprite\": [\"letter_d\"],\n    \"types\": [\"letter\", \"note\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"never say darn more than three times a day\"\n  },\n  {\n    \"name\": \"letter_e\",\n    \"sprite\": [\"letter_e\"],\n    \"types\": [\"letter\", \"note\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"eeeeee is a much better scream\"\n  },\n  {\n    \"name\": \"letter_f\",\n    \"sprite\": [\"letter_f\"],\n    \"types\": [\"letter\", \"note\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"press F to pay respects\"\n  },\n  {\n    \"name\": \"letter_g\",\n    \"sprite\": [\"letter_g\"],\n    \"types\": [\"letter\", \"note\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"go to grav\"\n  },\n  {\n    \"name\": \"letter_h\",\n    \"sprite\": [\"letter_h\"],\n    \"types\": [\"letter\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"Can be rotated (with rotatbl) to form I.\"\n  },\n  {\n    \"name\": \"letter_i\",\n    \"sprite\": [\"letter_i\"],\n    \"types\": [\"letter\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"This letter used to be simply a rotated H. You can still get an H through rotation, though.\"\n  },\n  {\n    \"name\": \"letter_j\",\n    \"sprite\": [\"letter_j\"],\n    \"types\": [\"letter\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"Used less than it should be. There aren't any non-nouns that use it...\"\n  },\n  {\n    \"name\": \"letter_k\",\n    \"sprite\": [\"letter_k\"],\n    \"types\": [\"letter\"],\n    \"color\": [[0, 3]]\n  },\n  {\n    \"name\": \"letter_l\",\n    \"sprite\": [\"letter_l\"],\n    \"types\": [\"letter\"],\n    \"color\": [[0, 3]]\n  },\n  {\n    \"name\": \"letter_m\",\n    \"sprite\": [\"letter_m\"],\n    \"types\": [\"letter\"],\n    \"color\": [[0, 3]]\n  },\n  {\n    \"name\": \"letter_n\",\n    \"sprite\": [\"letter_n\"],\n    \"types\": [\"letter\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"Can be rotated (with rotatbl) to form Z.\"\n  },\n  {\n    \"name\": \"letter_o\",\n    \"sprite\": [\"letter_o\"],\n    \"types\": [\"letter\", \"object\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"used to be the most op letter but now its just stronk\",\n    \"tags\": [\"number\", \"digit\", \"zero\"]\n  },\n  {\n    \"name\": \"letter_p\",\n    \"sprite\": [\"letter_p\"],\n    \"types\": [\"letter\"],\n    \"color\": [[0, 3]]\n  },\n  {\n    \"name\": \"letter_q\",\n    \"sprite\": [\"letter_q\"],\n    \"types\": [\"letter\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"Why does Q even exist? There's literally no objects that have Q in them... oh, there are now\"\n  },\n  {\n    \"name\": \"letter_r\",\n    \"sprite\": [\"letter_r\"],\n    \"types\": [\"letter\"],\n    \"color\": [[0, 3]]\n  },\n  {\n    \"name\": \"letter_s\",\n    \"sprite\": [\"letter_s\"],\n    \"types\": [\"letter\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"ome body once told me...\"\n  },\n  {\n    \"name\": \"letter_t\",\n    \"sprite\": [\"letter_t\"],\n    \"types\": [\"letter\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"he world is gonna roll me.\"\n  },\n  {\n    \"name\": \"letter_u\",\n    \"sprite\": [\"letter_u\"],\n    \"types\": [\"letter\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"Can be used to spell U, though it also has other uses.\"\n  },\n  {\n    \"name\": \"letter_v\",\n    \"sprite\": [\"letter_v\"],\n    \"types\": [\"letter\"],\n    \"color\": [[0, 3]]\n  },\n  {\n    \"name\": \"letter_w\",\n    \"sprite\": [\"letter_w\"],\n    \"types\": [\"letter\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"Can be used to spell W, though it also has other uses.\"\n  },\n  {\n    \"name\": \"letter_x\",\n    \"sprite\": [\"letter_x\"],\n    \"types\": [\"letter\"],\n    \"color\": [[0, 3]]\n  },\n  {\n    \"name\": \"letter_y\",\n    \"sprite\": [\"letter_y\"],\n    \"types\": [\"letter\"],\n    \"color\": [[0, 3]]\n  },\n  {\n    \"name\": \"letter_z\",\n    \"sprite\": [\"letter_z\"],\n    \"types\": [\"letter\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"Can be rotated (with rotatbl) to form N.\"\n  },\n  {\n    \"name\": \"letter_'\",\n    \"sprite\": [\"letter_apostrophe\"],\n    \"types\": [\"letter\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"Surprisingly, not needed for most things with \\\"n't\\\" in them; you can just use \\\"nt\\\".\"\n  },\n  {\n    \"name\": \"letter_.\",\n    \"sprite\": [\"letter_period\"],\n    \"types\": [\"letter\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"You can make \\\"...\\\" with this!\",\n    \"tags\": [\"dot\", \"fullstop\", \"period\"]\n  },\n  {\n    \"name\": \"letter_colon\",\n    \"sprite\": [\"letter_colon\"],\n    \"types\": [\"letter\"],\n    \"color\": [[0, 3]],\n    \"rotate\": true,\n    \"desc\": \":: Can also be an umlaut, or '..', if rotated in that way.\",\n    \"tags\": [\";\", \"umlaut\", \"diaeresis\",\"..\"]\n  },\n  {\n    \"name\": \"letter_parenthesis\",\n    \"sprite\": [\"letter_paranthesis\"],\n    \"types\": [\"letter\", \"parenthesis\"],\n    \"color\": [[0, 3]],\n    \"rotate\": true,\n    \"desc\": \"Can also be used in rules, sometimes. bab arond flog w/fren ( roc arond keek ) be :) will parse, for example.\",\n    \"tags\": [\"9\", \"0\", \"brackets\"]\n  },\n  {\n    \"name\": \"letter_1\",\n    \"sprite\": [\"letter_1\"],\n    \"types\": [\"letter\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"Used in EVERY1 and NO1.\",\n    \"tags\": [\"number\", \"digit\", \"one\"]\n  },\n  \n  {\n    \"name\": \"letter_2\",\n    \"sprite\": [\"letter_2\"],\n    \"types\": [\"letter\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"used for every2, what a surprise (can also spell u2)\",\n    \"tags\": [\"number\", \"digit\", \"two\"]\n  },\n  {\n    \"name\": \"letter_3\",\n    \"sprite\": [\"letter_3\"],\n    \"types\": [\"letter\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"3den awaits you (can spell u3)\",\n    \"tags\": [\"number\", \"digit\", \"three\"]\n  },\n  {\n    \"name\": \"letter_4\",\n    \"sprite\": [\"letter_4\"],\n    \"types\": [\"letter\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"Numbers can also be used in text parsing for infix conditions. BAB W/FREN 4 WAL BE :) will make bab only win if on four walls!\\n(not implemented yet)\",\n    \"tags\": [\"number\", \"digit\", \"four\"]\n  },\n  {\n    \"name\": \"letter_5\",\n    \"sprite\": [\"letter_5\"],\n    \"types\": [\"letter\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"equivalent to 2+2\",\n    \"tags\": [\"number\", \"digit\", \"five\"]\n  },\n  {\n    \"name\": \"letter_6\",\n    \"sprite\": [\"letter_6\"],\n    \"types\": [\"letter\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"just put three of these next to each other\",\n    \"tags\": [\"number\", \"digit\", \"six\"]\n  },\n  {\n    \"name\": \"letter_7\",\n    \"sprite\": [\"letter_7\"],\n    \"types\": [\"letter\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"is this your lucky number?\",\n    \"tags\": [\"number\", \"digit\", \"seven\"]\n  },\n  {\n    \"name\": \"letter_8\",\n    \"sprite\": [\"letter_8\"],\n    \"types\": [\"letter\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"Used in LIE/8.\",\n    \"tags\": [\"number\", \"digit\", \"eight\"]\n  },\n  {\n    \"name\": \"letter_9\",\n    \"sprite\": [\"letter_9\"],\n    \"types\": [\"letter\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"There's not all that much to put in these descriptions, but it feels wrong to exclude them.\",\n    \"tags\": [\"number\", \"digit\", \"nine\"]\n  },\n  {\n    \"name\": \"letter_;\",\n    \"sprite\": [\"letter_semicolon\"],\n    \"types\": [\"letter\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"Formerly used in ;D, until we changed that to be UN:). Now it's useless, very sad.\",\n    \"tags\": [\"semicolon\", \"wink\"]\n  },\n  {\n    \"name\": \"letter_/\",\n    \"sprite\": [\"letter_slash\"],\n    \"types\": [\"letter\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"Used in W/FREN and LIE/8.\",\n    \"tags\": [\"slash\"]\n  },\n  {\n    \"name\": \"letter_>\",\n    \"sprite\": [\"letter_angle\"],\n    \"types\": [\"letter\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"Ɛ>\",\n    \"tags\": [\"angle\",\"greater than\"]\n  },\n  {\n    \"name\": \"letter_*\",\n    \"sprite\": [\"letter_asterisk\"],\n    \"types\": [\"letter\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"wildcard. Currently not implemented very well.\",\n    \"tags\": [\"asterisk\",\"wildcard\"]\n  },\n  {\n    \"name\": \"letter_$\",\n    \"sprite\": [\"letter_$\"],\n    \"types\": [\"letter\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"To help him, all he needs is your credit card number, the three digits on the back, and the expiration month and year.\\n(used for do$h)\",\n    \"tags\": [\"dollar\",\"cash\"]\n  },\n  {\n    \"name\": \"letter_π\",\n    \"sprite\": [\"letter_pi\"],\n    \"types\": [\"letter\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"used for πoly. If you need this in a custom letter, get it in your clipboard and ctrl+V!\\n3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067982148086513282306647093844609550582231725359408128481117450284102701938521105559644622948954930381964428810975665933446128475648233786783165271201909145648566923460348610454326648213393607260249141273724587006606315588174881520920962829254091715364367892590360011330530548820466521384146951941511609433057270365759591953092186117381932611793105118548074462379962749567351885752724891227938183011949129833673362440656643086021394946395224737190702179860943702770539217176293176752384674818467669405132000568127145263560827785771342757789609173637178721468440901224953430146549585371050792279689258923542019956112129021960864034418159813629774771309960518707211349999998372978049951059731732816096318595024459455346908302642522308253344685035261931188171010003137838752886587533208381420617177669147303598253490428755468731159562863882353787593751957781857780532171226806613001927876611195909216420198\",\n    \"tags\": [\"pi\",\"number\"]\n  },\n  {\n    \"name\": \"letter_go\",\n    \"sprite\": [\"letter_go\"],\n    \"types\": [\"letter\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"used in a whole lot of words\"\n  },\n  {\n    \"name\": \"letter_come\",\n    \"sprite\": [\"letter_come\"],\n    \"types\": [\"letter\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"Used exclusively for COME PLS, unless you're trying really hard to prove me wrong because then you can make 'coco meow'.\"\n  },\n  {\n    \"name\": \"letter_pls\",\n    \"sprite\": [\"letter_pls\"],\n    \"types\": [\"letter\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"Used for GO AWAY PLS and COME PLS.\"\n  },\n  {\n    \"name\": \"letter_away\",\n    \"sprite\": [\"letter_away\"],\n    \"types\": [\"letter\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"Used for GO AWAY PLS and LOOK AWAY.\"\n  },\n  {\n    \"name\": \"letter_my\",\n    \"sprite\": [\"letter_my\"],\n    \"types\": [\"letter\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"Was made for GO MY WAY, but there's other things you can make too.\"\n  },\n  {\n    \"name\": \"letter_no\",\n    \"sprite\": [\"letter_no\"],\n    \"types\": [\"letter\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"Used for NO GO and NO1.\"\n  },\n  {\n    \"name\": \"letter_way\",\n    \"sprite\": [\"letter_way\"],\n    \"types\": [\"letter\"],\n    \"color\": [[0, 3]],\n    \"tags\": [\"wey\"]\n  },\n  {\n    \"name\": \"letter_ee\",\n    \"sprite\": [\"letter_ee\"],\n    \"types\": [\"letter\"],\n    \"color\": [[0, 3]]\n  },\n  {\n    \"name\": \"letter_fren\",\n    \"sprite\": [\"letter_fren\"],\n    \"types\": [\"letter\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"its a fren\"\n  },\n  {\n    \"name\": \"letter_ll\",\n    \"sprite\": [\"letter_ll\"],\n    \"types\": [\"letter\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"welcome <3 he11\"\n  },\n  {\n    \"name\": \"letter_bolt\",\n    \"sprite\": [\"letter_bolt\"],\n    \"types\": [\"letter\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"Used for all of the bolt words; firbolt, icbolt, litbolt, etc.\"\n  },\n  {\n    \"name\": \"letter_ol\",\n    \"sprite\": [\"letter_ol\"],\n    \"types\": [\"letter\"],\n    \"color\": [[0, 3]]\n  },\n  {\n    \"name\": \"letter_custom\",\n    \"sprite\": [\"letter_custom\"],\n    \"types\": [\"letter\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"Custom Letters: Type up to 6 letters into the search box and hit ctrl+enter to get a tile with those letters in it. This text shouldn't show ingame anywhere.\",\n    \"tags\": []\n  }\n]"
  },
  {
    "path": "assets/tiles/text/properties.json",
    "content": "[\n  {\n    \"name\": \"txt_u\",\n    \"sprite\": [\"txt/u\"],\n    \"types\": [\"property\"],\n    \"color\": [[4, 1]],\n    \"desc\": \"U: Controlled by you, the player!\\nAnti: opposite direction\",\n    \"tags\": [\"you\", \"p1\", \"player\"]\n  },\n  {\n    \"name\": \"txt_utoo\",\n    \"display\": \"u too\",\n    \"sprite\": [\"txt/utoo\"],\n    \"types\": [\"property\"],\n    \"color\": [[4, 1]],\n    \"desc\": \"player 2 has joined the game (dpad). Can also be spelled 'u2'.\\nAnti: opposite direction\",\n    \"alias\": [\"u2\"],\n    \"tags\": [\"you2\", \"p2\", \"player\"]\n  },\n  {\n    \"name\": \"txt_utres\",\n    \"display\": \"u tres\",\n    \"sprite\": [\"txt/utres\"],\n    \"types\": [\"property\"],\n    \"color\": [[4, 1]],\n    \"desc\": \"and player 3 (ijkl or numpad).\\nIf there are objects of two control schemes but not a third, the third control scheme can be used to move both of the first two at once.\\nCan also be spelled 'u3'.\\nAnti: opposite direction\",\n    \"alias\": [\"u3\"],\n    \"tags\": [\"you3\", \"p3\", \"player\"]\n  },\n  {\n    \"name\": \"txt_w\",\n    \"sprite\": [\"txt/w\"],\n    \"types\": [\"property\"],\n    \"color\": [[4, 1]],\n    \"desc\": \"W: it's a double u (Alias: uu)\\nAnti: opposite direction\",\n    \"alias\": [\"uu\"],\n    \"tags\": [\"you\", \"player\"]\n  },\n  {\n    \"name\": \"txt_y'all\",\n    \"sprite\": [\"txt/y'all\"],\n    \"types\": [\"property\"],\n    \"color\": [[4, 2]],\n    \"desc\": \"all players control y'all\\nAnti: opposite direction\",\n    \"tags\": [\"you all\", \"players\"]\n  },\n  {\n    \"name\": \"txt_you\",\n    \"sprite\": [\"txt/you\"],\n    \"types\": [\"property\"],\n    \"color\": [[4, 1]],\n    \"wobble\": true,\n    \"desc\": \"YOU: Controlled by u, the player!\\nCan be controlled by all players. (ortho only)\\nAnti: opposite direction\",\n    \"tags\": [\"player\", \"baba\"]\n  },\n  {\n    \"name\": \"txt_nogo\",\n    \"display\": \"no go\",\n    \"sprite\": [\"txt/nogo\"],\n    \"types\": [\"property\"],\n    \"color\": [[5, 1]],\n    \"desc\": \"NO GO: Can't be entered by objects. Overrides GO AWAY PLS!\\nAnti: icyyyy\",\n    \"tags\": [\"stop\"]\n  },\n  {\n    \"name\": \"txt_gomyway\",\n    \"display\": \"go my way\",\n    \"sprite\": [\"txt/gomywey\"],\n    \"types\": [\"property\"],\n    \"color\": [[1, 3]],\n    \"desc\": \"GO MY WAY: Prevents movement onto its tile from the tile in front of it and the two tiles 45 degrees to either side.\\nAnti: only enterable from directly behind\",\n    \"tags\": [\"oneway\", \"go my wey\"]\n  },\n  {\n    \"name\": \"txt_goawaypls\",\n    \"display\": \"go away pls\",\n    \"sprite\": [\"txt/goaway\"],\n    \"types\": [\"property\"],\n    \"color\": [[6, 1]],\n    \"desc\": \"GO AWAY PLS: Pushed by movement into its tile.\\nAnti: comepls\",\n    \"tags\": [\"push\"]\n  },\n  {\n    \"name\": \"txt_push\",\n    \"sprite\": [\"txt/push\"],\n    \"types\": [\"property\"],\n    \"color\": [[6, 1]],\n    \"wobble\": true,\n    \"desc\": \"PUSH: Go away plsed by movement into its tile.\\nAnti: comepls\",\n    \"tags\": [\"go away pls\"]\n  },\n  {\n    \"name\": \"txt_comepls\",\n    \"display\": \"come pls\",\n    \"sprite\": [\"txt/comepls\"],\n    \"types\": [\"property\"],\n    \"color\": [[6, 2]],\n    \"desc\": \"COME PLS: Pulled by movement on adjacent tiles facing away from this unit.\\nAnti: goawaypls\",\n    \"tags\": [\"pull\"]\n  },\n  {\n    \"name\": \"txt_sidekik\",\n    \"sprite\": [\"txt/sidekik\"],\n    \"types\": [\"property\"],\n    \"color\": [[6, 1]],\n    \"desc\": \"SIDEKIK: If a unit moves perpendicularly away from a SIDEKIK, the SIDEKIK copies that movement.\\nAnti: goawaypls&comepls\",\n    \"tags\": [\"sidekick\"]\n  },\n  {\n    \"name\": \"txt_diagkik\",\n    \"sprite\": [\"txt/diagkik\"],\n    \"types\": [\"property\"],\n    \"color\": [[6, 1]],\n    \"desc\": \"DIAGKIK: If a unit moves 45 degrees away from a DIAGKIK, the DIAGKIK copies that movement. With two stacks, also copies 135 degree movement.\\nAnti: goawaypls&comepls&sidekik\",\n    \"tags\": [\"sidekick\", \"diagkick\"]\n  },\n  {\n    \"name\": \"txt_nedkee\",\n    \"display\": \"ned kee\",\n    \"sprite\": [\"txt/nedkee\"],\n    \"types\": [\"property\"],\n    \"color\": [[2, 2]],\n    \"desc\": \"NED KEE: When a NED KEE and FOR DOR unit move into each other or are on each other, they are both destroyed.\\nAnti: fordor\",\n    \"tags\": [\"shut\"]\n  },\n  {\n    \"name\": \"txt_fordor\",\n    \"display\": \"for dor\",\n    \"sprite\": [\"txt/fordor\"],\n    \"types\": [\"property\"],\n    \"color\": [[2, 4]],\n    \"desc\": \"FOR DOR: When a NED KEE and FOR DOR unit move into each other or are on each other, they are both destroyed.\\nAnti: nedkee\",\n    \"tags\": [\"open\"]\n  },\n  {\n    \"name\": \"txt_:)\",\n    \"sprite\": [\"txt/yay\"],\n    \"types\": [\"property\"],\n    \"color\": [[2, 4]],\n    \"features\": {\n      \"sans\": {\"x\": 21, \"y\": 6, \"w\": 3, \"h\": 4}\n    },\n    \"desc\": \":): At end of turn, if U is on :) and survives, U R WIN!\\nAnti: un:)\",\n    \"tags\": [\"win\", \"smiley\", \"face\", \"happy\", \"yay\"]\n  },\n  {\n    \"name\": \"txt_noswim\",\n    \"display\": \"no swim\",\n    \"sprite\": [\"txt/noswim\"],\n    \"types\": [\"property\"],\n    \"color\": [[1, 3]],\n    \"desc\": \"NO SWIM: At end of turn, if a NO SWIM unit is touching another object, all objects on the tile are destroyed.\\nAnti: giv protecc\",\n    \"tags\": [\"sink\"]\n  },\n  {\n    \"name\": \"txt_colrful\",\n    \"sprite\": [\"txt/colrful\"],\n    \"types\": [\"property\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"COLRFUL: Causes the unit to appear a variety of colours.\\nAnti: ??\"\n  },\n  {\n    \"name\": \"txt_rave\",\n    \"sprite\": [\"txt/rave\"],\n    \"types\": [\"property\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"RAVE: Causes the unit to flash through the rainbow extremely quickly.\\nAnti: ??\"\n  },\n  {\n    \"name\": \"txt_tranz\",\n    \"sprite\": [\"txt/tranz-colored\"],\n    \"sprite_transforms\": {\n      \"inactive\": \"txt/tranz\"\n    },\n    \"types\": [\"property\", \"gang_prefix\"],\n    \"color\": [[255, 255, 255]],\n    \"overlay\": {\n      \"sprite\": \"trans\",\n      \"colors\": [\"cyeann\", \"whit\", \"pinc\"]\n    },\n    \"desc\": \"TRANZ: Causes the unit to appear pink, white and baby blue. TRANZ objects are pinc, whit, and cyeann, and not any other colors.\\nAnti: poof\",\n    \"tags\": [\"transgender\"]\n  },\n  {\n    \"name\": \"txt_gay\",\n    \"sprite\": [\"txt/gay-colored\"],\n    \"sprite_transforms\": {\n      \"inactive\": \"txt/gay\"\n    },\n    \"types\": [\"property\", \"gang_prefix\"],\n    \"color\": [[255, 255, 255]],\n    \"overlay\": {\n      \"sprite\": \"gay\",\n      \"colors\": [\"reed\", \"orang\", \"yello\", \"grun\", \"cyeann\", \"bleu\", \"purp\", \"pinc\"]\n    },\n    \"desc\": \"GAY: Causes the unit to appear rainbow coloured. GAY objects are reed, orang, yello, grun, bleu, purp, and pinc, and not any other colors.\\nAnti: poof\"\n  },\n  {\n    \"name\": \"txt_enby\",\n    \"sprite\": [\"txt/enby-colored\"],\n    \"sprite_transforms\": {\n      \"inactive\": \"txt/enby\"\n    },\n    \"types\": [\"property\", \"gang_prefix\"],\n    \"color\": [[255, 255, 255]],\n    \"overlay\": {\n      \"sprite\": \"enby\",\n      \"colors\": [\"yello\", \"whit\", \"purp\", \"blacc\", \"graey\"]\n    },\n    \"desc\": \"ENBY: Causes the unit to appear yellow, white, purple and black. ENBY objects are yello, whit, purp, blacc, and graey, and not any other colors.\\nAnti: poof\",\n    \"tags\": [\"nb\", \"nonbinary\",\"gender\"]\n  },\n  {\n    \"name\": \"txt_ace\",\n    \"sprite\": [\"txt/ace-colored\"],\n    \"sprite_transforms\": {\n      \"inactive\": \"txt/ace\"\n    },\n    \"types\": [\"property\", \"gang_prefix\"],\n    \"color\": [[255, 255, 255]],\n    \"overlay\": {\n      \"sprite\": \"ace\",\n      \"colors\": [\"blacc\", \"graey\", \"whit\", \"purp\"]\n    },\n    \"desc\": \"ACE: Causes the unit to appear black, grey, white, and purple. ACE objects are blacc, graey, whit, and purp, and not any other colors.\\nAnti: poof\",\n    \"tags\": [\"asexual\"]\n  },\n  {\n    \"name\": \"txt_pan\",\n    \"sprite\": [\"txt/pan-colored\"],\n    \"sprite_transforms\": {\n      \"inactive\": \"txt/pan\"\n    },\n    \"types\": [\"property\", \"gang_prefix\"],\n    \"color\": [[255, 255, 255]],\n    \"overlay\": {\n      \"sprite\": \"pan\",\n      \"colors\": [\"pinc\", \"yello\", \"cyeann\"]\n    },\n    \"desc\": \"PAN: Causes the unit to appear pink, yellow, and cyan. PAN objects are pinc, yello, and cyeann, and not any other colors.\\nAnti: poof\",\n    \"tags\": [\"pansexual\"]\n  },\n  {\n    \"name\": \"txt_bi\",\n    \"sprite\": [\"txt/bi-colored\"],\n    \"sprite_transforms\": {\n      \"inactive\": \"txt/bi\"\n    },\n    \"types\": [\"property\", \"gang_prefix\"],\n    \"color\": [[255, 255, 255]],\n    \"overlay\": {\n      \"sprite\": \"bi\",\n      \"colors\": [\"pinc\", \"purp\", \"bleu\"]\n    },\n    \"desc\": \"BI: Causes the unit to appear pink, purple, and blue. BI objects are pinc, purp, and bleu, and not any other colors.\\nAnti: poof\",\n    \"tags\": [\"bisexual\"]\n  },\n  {\n    \"name\": \"txt_lesbab\",\n    \"sprite\": [\"txt/lesbab-colored\"],\n    \"sprite_transforms\": {\n      \"inactive\": \"txt/lesbab\"\n    },\n    \"types\": [\"property\", \"gang_prefix\"],\n    \"color\": [[255, 255, 255]],\n    \"overlay\": {\n      \"sprite\": \"lesbian\",\n      \"colors\": [\"reed\", \"orang\", \"whit\", \"pinc\"]\n    },\n    \"desc\": \"LESBAB: Causes the unit to appear red, orange, white, and pink. LESBAB objects are reed, orang, whit, and pinc, and not any other colors.\\nAnti: poof\",\n    \"tags\": [\"lesbian\"]\n  },\n  {\n    \"name\": \"txt_lesbad\",\n    \"sprite\": [\"txt/lesbad-colored\"],\n    \"sprite_transforms\": {\n      \"inactive\": \"txt/lesbad\"\n    },\n    \"types\": [\"property\", \"gang_prefix\"],\n    \"color\": [[255, 255, 255]],\n    \"overlay\": {\n      \"sprite\": \"vore\",\n      \"colors\": [\"cyeann\", \"purp\", \"bleu\"]\n    },\n    \"desc\": \"LESBAD: Causes the unit to appear cyan, purple, and blue. LESBAD objects are cyeann, purp, and bleu, and not any other colors.\\nAnti: can't snacc or be snacced\",\n    \"tags\": [\"vore\"]\n  },\n  {\n    \"name\": \"txt_aro\",\n    \"sprite\": [\"txt/aro-colored\"],\n    \"sprite_transforms\": {\n      \"inactive\": \"txt/aro\"\n    },\n    \"types\": [\"property\", \"gang_prefix\"],\n    \"color\": [[255, 255, 255]],\n    \"overlay\": {\n      \"sprite\": \"aro\",\n      \"colors\": [\"grun\", \"whit\", \"graey\", \"blacc\"]\n    },\n    \"desc\": \"ARO: Causes the unit to appear green, white, grey, and black. ARO objects are grun, whit, graey, and blacc, and not any other colors.\\nAnti: poof\",\n    \"tags\": [\"aromantic\"]\n  },\n  {\n    \"name\": \"txt_fluid\",\n    \"sprite\": [\"txt/fluid-colored\"],\n    \"sprite_transforms\": {\n      \"inactive\": \"txt/fluid\"\n    },\n    \"types\": [\"property\", \"gang_prefix\"],\n    \"color\": [[255, 255, 255]],\n    \"overlay\": {\n      \"sprite\": \"fluid\",\n      \"colors\": [\"pinc\", \"whit\", \"blacc\", \"bleu\"]\n    },\n    \"desc\": \"FLUID: Causes the unit to appear pink, white, black, and blue. FLUID objects are pinc, whit, blacc, and bleu, and not any other colors.\\nAnti: poof\",\n    \"tags\": [\"genderfluid\"]\n  },\n  {\n    \"name\": \"txt_πoly\",\n    \"sprite\": [\"txt/poly-colored\"],\n    \"sprite_transforms\": {\n      \"inactive\": \"txt/poly\"\n    },\n    \"types\": [\"property\", \"gang_prefix\"],\n    \"color\": [[255, 255, 255]],\n    \"overlay\": {\n      \"sprite\": \"poly\",\n      \"colors\": [\"yello\", \"reed\", \"bleu\", \"blacc\"]\n    },\n    \"desc\": \"πOLY: Causes the unit to appear yellow, red, blue, and black. πOLY objects are yello, reed, bleu, and blacc, and not any other colors.\\nAnti: poof\",\n    \"tags\": [\"polyamory\"]\n  },\n  {\n    \"name\": \"txt_slep\",\n    \"sprite\": [\"txt/slep\"],\n    \"types\": [\"property\"],\n    \"color\": [[1, 3]],\n    \"desc\": \"SLEP: SLEP units can't move due to being U, WALK, COPKAT or SPOOPed.\\nAnti: vibrate (like temmi)\",\n    \"tags\": [\"sleep\"]\n  },\n  {\n    \"name\": \"txt_:(\",\n    \"sprite\": [\"txt/aw\"],\n    \"types\": [\"property\"],\n    \"color\": [[2, 1]],\n    \"features\": {\n      \"sans\": {\"x\": 20, \"y\": 6, \"w\": 4, \"h\": 4}\n    },\n    \"desc\": \":(: At end of turn, destroys any U objects on it.\\nAnti: destroy self\",\n    \"tags\": [\"defeat\", \"sad\", \"face\", \"aw\"]\n  },\n  {\n    \"name\": \"txt_walk\",\n    \"sprite\": [\"txt/walk\"],\n    \"types\": [\"property\"],\n    \"color\": [[5, 3]],\n    \"desc\": \"WALK: Moves in a straight line each turn, bouncing off walls.\\nAnti: opposite direction\",\n    \"tags\": [\"move\"]\n  },\n  {\n    \"name\": \"txt_:o\",\n    \"sprite\": [\"txt/whoa\"],\n    \"types\": [\"property\"],\n    \"color\": [[4, 1]],\n    \"features\": {\n      \"sans\": {\"x\": 19, \"y\": 10, \"w\": 3, \"h\": 5}\n    },\n    \"desc\": \":o: If U is on :o, the :o is collected. Bonus!\\nAnti: collect u (still gives bonus)\",\n    \"tags\": [\"bonus\", \"woah\", \"whoa\", \"face\"]\n  },\n  {\n    \"name\": \"txt_direction\",\n    \"sprite\": [\"txt/direction\"],\n    \"types\": [\"property\", \"direction\"],\n    \"color\": [[1, 4]],\n    \"rotate\": true,\n    \"desc\": \"GO ->: The unit is forced to face the indicated direction. LOOKAT GO -> makes a unit look in that direction or is true if it is facing that direction. BEN'T GO -> prevents an object from facing that direction.\\nAnti: opposite direction\",\n    \"tags\": [\"go arrow\", \"up\", \"down\", \"left\", \"right\", \"go ->\", \"go^\"]\n  },\n  {\n    \"name\": \"txt_up\",\n    \"sprite\": [\"txt/up\"],\n    \"types\": [\"property\", \"direction\"],\n    \"color\": [[1, 4]],\n    \"desc\": \"UP: A GO ->, but facing up.\\nAnti: down\"\n  },\n  {\n    \"name\": \"txt_left\",\n    \"sprite\": [\"txt/left\"],\n    \"types\": [\"property\", \"direction\"],\n    \"color\": [[1, 4]],\n    \"desc\": \"LEFT: A GO ->, but facing left.\\nAnti: right\"\n  },\n  {\n    \"name\": \"txt_down\",\n    \"sprite\": [\"txt/down\"],\n    \"types\": [\"property\", \"direction\"],\n    \"color\": [[1, 4]],\n    \"desc\": \"DOWN: A GO ->, but facing down.\\nAnti: up\"\n  },\n  {\n    \"name\": \"txt_right\",\n    \"sprite\": [\"txt/right\"],\n    \"types\": [\"property\", \"direction\"],\n    \"color\": [[1, 4]],\n    \"desc\": \"RIGHT: A GO ->, but facing right.\\nAnti: left\",\n    \"tags\": [\"direction\"]\n  },\n  {\n    \"name\": \"txt_upleft\",\n    \"sprite\": [\"txt/upleft\"],\n    \"types\": [\"property\", \"direction\"],\n    \"color\": [[1, 4]],\n    \"desc\": \"UPLEFT: A GO ->, but facing upleft. Can also be spelled leftup.\\nAnti: downright\",\n    \"alias\": [\"leftup\"],\n    \"tags\": [\"direction\"]\n  },\n  {\n    \"name\": \"txt_upright\",\n    \"sprite\": [\"txt/upright\"],\n    \"types\": [\"property\", \"direction\"],\n    \"color\": [[1, 4]],\n    \"desc\": \"UPRIGHT: A GO ->, but facing upright. Can also be spelled rightup.\\nAnti: downleft\",\n    \"alias\": [\"rightup\"],\n    \"tags\": [\"direction\"]\n  },\n  {\n    \"name\": \"txt_downleft\",\n    \"sprite\": [\"txt/downleft\"],\n    \"types\": [\"property\", \"direction\"],\n    \"color\": [[1, 4]],\n    \"desc\": \"DOWNLEFT: A GO ->, but facing downleft. Can also be spelled leftdown.\\nAnti: upright\",\n    \"alias\": [\"leftdown\"],\n    \"tags\": [\"direction\"]\n  },\n  {\n    \"name\": \"txt_downright\",\n    \"sprite\": [\"txt/downright\"],\n    \"types\": [\"property\", \"direction\"],\n    \"color\": [[1, 4]],\n    \"desc\": \"DOWNRIGHT: A GO ->, but facing downright. Can also be spelled rightdown.\\nAnti: upleft\",\n    \"alias\": [\"rightdown\"],\n    \"tags\": [\"direction\"]\n  },\n  {\n    \"name\": \"txt_behinu\",\n    \"display\": \"behin u\",\n    \"sprite\": [\"txt/behinu\"],\n    \"types\": [\"property\"],\n    \"color\": [[3, 1]],\n    \"desc\": \"BEHIN U: BEHIN U units swap with everything on tiles they move into, and swap with units that move onto their tile, then face their swapee. Nothing personnel, kid.\\nAnti: goawaypls + can push everything\",\n    \"tags\": [\"swap\", \"edgy\"]\n  },\n  {\n    \"name\": \"txt_ouch\",\n    \"sprite\": [\"txt/ouch\"],\n    \"types\": [\"property\"],\n    \"color\": [[1, 2]],\n    \"desc\": \"OUCH: This unit is destroyed if it shares a tile with another object, or if it tries to move/be moved into and can't.\\nAnti: treats everything else as ouch\",\n    \"tags\": [\"weak\"]\n  },\n  {\n    \"name\": \"txt_qt\",\n    \"sprite\": [\"txt/qt\"],\n    \"types\": [\"property\", \"gang_prefix\"],\n    \"color\": [[4, 2]],\n    \"thingify\": \"therealqt\",\n    \"desc\": \"QT: Makes the unit emit love hearts.\\nAnti: is rong\",\n    \"tags\": [\"cute\", \"lily\"]\n  },\n  {\n    \"name\": \"txt_go\",\n    \"sprite\": [\"txt/go\"],\n    \"types\": [\"property\"],\n    \"color\": [[1, 3]],\n    \"desc\": \"GO: This unit will force all other objects in its tile to move in its facing direction.\\nAnti: opposite direction\",\n    \"tags\": [\"shift\"]\n  },\n  {\n    \"name\": \"txt_goooo\",\n    \"sprite\": [\"txt/goooo\"],\n    \"types\": [\"property\"],\n    \"color\": [[1, 3]],\n    \"desc\": \"GOOOO: The instant an object steps on a GOOOO unit, it is forced to move in the GOOOO unit's direction.\\nAnti: opposite direction\",\n    \"tags\": [\"shift\"]\n  },\n  {\n    \"name\": \"txt_icy\",\n    \"sprite\": [\"txt/icy\"],\n    \"types\": [\"property\"],\n    \"color\": [[1, 4]],\n    \"desc\": \"ICY: Objects on something ICY are forced to move in the direction they entered the ice (disabling everything SLEP does) until they either leave the ice or can't move any further.\\nAnti: opposite direction\",\n    \"tags\": [\"slip\", \"patashu\"]\n  },\n  {\n    \"name\": \"txt_icyyyy\",\n    \"sprite\": [\"txt/icyyyy\"],\n    \"types\": [\"property\"],\n    \"color\": [[1, 4]],\n    \"desc\": \"ICYYYY: The instant an object steps on an ICYYYY unit, it is forced to move again.\\nAnti: opposite direction\",\n    \"tags\": [\"slip\", \"slide\", \"patashu\"]\n  },\n  {\n    \"name\": \"txt_delet\",\n    \"sprite\": [\"txt/delet\"],\n    \"types\": [\"property\"],\n    \"color\": [[2, 2]],\n    \"desc\": \"DELET: At end of turn, if U is on DELET, you get booted out of the level and erases all progress in the level (win, bonus, transformation).\\nAnti: win, bonus, and transform into the object stepped on\",\n    \"tags\": [\"crash\", \"oops\", \"fucky wucky\", \"xwx\", \"delete\"]\n  },\n  {\n    \"name\": \"txt_diag\",\n    \"sprite\": [\"txt/diag\"],\n    \"types\": [\"property\", \"direction\"],\n    \"color\": [[3, 2]],\n    \"desc\": \"DIAG: Prevents the unit from moving orthogonally, unless it is also ORTHO. Also affects rule parsing.\\nAnti: ortho\",\n    \"tags\": [\"direction\", \"diagonal\"]\n  },\n  {\n    \"name\": \"txt_ortho\",\n    \"sprite\": [\"txt/ortho\"],\n    \"types\": [\"property\", \"direction\"],\n    \"color\": [[3, 2]],\n    \"desc\": \"ORTHO: Prevents the unit from moving diagonally, unless it is also DIAG. Also affects rule parsing.\\nAnti: diag\",\n    \"tags\": [\"direction\", \"orthogonal\"]\n  },\n  {\n    \"name\": \"txt_hotte\",\n    \"sprite\": [\"txt/hotte\"],\n    \"types\": [\"property\"],\n    \"color\": [[2, 3]],\n    \"desc\": \"HOTTE: At end of turn, HOTTE units destroys all units that are FRIDGD on their tile.\\nAnti: fridgd\",\n    \"tags\": [\"hot\"]\n  },\n  {\n    \"name\": \"txt_fridgd\",\n    \"sprite\": [\"txt/fridgd\"],\n    \"types\": [\"property\"],\n    \"color\": [[1, 4]],\n    \"desc\": \"FRIDGD: At end of turn, HOTTE units destroys all units that are FRIDGD on their tile.\\nAnti: hotte\",\n    \"tags\": [\"melt\"]\n  },\n  {\n    \"name\": \"txt_protecc\",\n    \"sprite\": [\"txt/protecc\"],\n    \"types\": [\"property\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"PROTECC: Cannot be destroyed (but can be converted).\\nAnti: destroys object\",\n    \"tags\": [\"safe\", \"protect\"]\n  },\n  {\n    \"name\": \"txt_flye\",\n    \"sprite\": [\"txt/flye\"],\n    \"types\": [\"property\"],\n    \"color\": [[1, 4]],\n    \"desc\": \"FLYE: A FLYE unit doesn't interact with other objects on its tile, and can ignore the collision of other objects, unless that other object has the same amount of FLYE as the unit. FLYE stacks with itself! Also pushing can occur regardless of flye.\\nAdds 5 to draw layer per flye, and 15 if there's at least 1.\\nAnti: -1 to count\",\n    \"tags\": [\"float\"]\n  },\n  {\n    \"name\": \"txt_tall\",\n    \"sprite\": [\"txt/tall\"],\n    \"types\": [\"property\"],\n    \"color\": [[0, 1]],\n    \"desc\": \"TALL: Considered to be every non-negative FLYE amount at once.\\nAnti: non-positive (stacks with non-anti to block all)\"\n  },\n  {\n    \"name\": \"txt_haetskye\",\n    \"sprite\": [\"txt/haetskye\"],\n    \"types\": [\"property\"],\n    \"color\": [[5, 3]],\n    \"desc\": \"HAET SKYE: After movement, this unit falls DOWN as far as it can.\\nAnti: haetflor\",\n    \"tags\": [\"fall\", \"gravity\"]\n  },\n  {\n    \"name\": \"txt_haetflor\",\n    \"display\": \"haet flor\",\n    \"sprite\": [\"txt/haetflor\"],\n    \"types\": [\"property\"],\n    \"color\": [[2, 2]],\n    \"desc\": \"HAET FLOR: After movement, this unit falls UP as far as it can.\\nAnti: haetskye\",\n    \"tags\": [\"vall\", \"gravity\"]\n  },\n  {\n    \"name\": \"txt_moar\",\n    \"sprite\": [\"txt/moar\"],\n    \"types\": [\"property\"],\n    \"color\": [[4, 1]],\n    \"desc\": \"MOAR: At end of turn, this unit replicates to all free tiles that are adjacent.\\nIt can spread to spaces in anywhere it can reach ignoring space shenanigans or blockages where ortho movement takes 2 points and diagonal 3, with (stacks+1) points; but only if those points either don't have anything blocking the object from entering (this can go through walls) or one of the object in question (which also won't grow two into the same space).\\nAnti: -1 stack; at negative, if it would grow to any space at |n| stacks, the object is deleted\",\n    \"tags\": [\"more\"]\n  },\n  {\n    \"name\": \"txt_visitfren\",\n    \"display\": \"visit fren\",\n    \"sprite\": [\"txt/visitfren\"],\n    \"types\": [\"property\"],\n    \"color\": [[1, 4]],\n    \"desc\": \"VISIT FREN: At end of turn, all other objects are sent to the next VISIT FREN unit with the same name in reading order (left to right, line by line, wrapping around). Higher levels of VISIT FREN will cause the target to be 1 backward, 2 forward, 2 backward, etc.\\nAnti: visitfren object teleports to the next spot in level every turn\",\n    \"tags\": [\"warp\", \"teleport\", \"portal\"]\n  },\n  {\n    \"name\": \"txt_stelth\",\n    \"sprite\": [\"txt/stelth\"],\n    \"types\": [\"property\"],\n    \"color\": [[1, 3]],\n    \"desc\": \"STELTH: A STELTHy unit doesn't draw. STELTHy text won't appear in the rules list... kinda\\nAnti: adds 130 to object draw layer\",\n    \"tags\": [\"stealth\", \"hide\"]\n  },\n  {\n    \"name\": \"txt_shy...\",\n    \"sprite\": [\"txt/shy\"],\n    \"types\": [\"property\"],\n    \"color\": [[6, 2]],\n    \"desc\": \"SHY...: Can't initiate or continue a goawaypls, comepls, sidekik, or diagkik movement, and can look away from those objects, sometimes.\\nAnti: stubbn\",\n    \"tags\": [\"patashu\"]\n  },\n  {\n    \"name\": \"txt_folowal\",\n    \"display\": \"folo wal\",\n    \"sprite\": [\"txt/folo_wal\"],\n    \"types\": [\"property\"],\n    \"color\": [[5, 3]],\n    \"desc\": \"FOLO WAL: At end of turn, faces the first direction that it could enter and that doesn't have another unit of its name: right, forward, left, backward. When combined with WALK, causes the unit to follow the right wall.\\nAnti: turn cornr\",\n    \"tags\": [\"follow wall\"]\n  },\n  {\n    \"name\": \"txt_turncornr\",\n    \"display\": \"turn cornr\",\n    \"sprite\": [\"txt/turn_cornr\"],\n    \"types\": [\"property\"],\n    \"color\": [[5, 3]],\n    \"desc\": \"TURN CORNR: At end of turn, faces the first direction that it could enter and that doesn't have another unit of its name: forward, right, left, backward. When combined with WALK, causes the unit to bounce off walls at 90 degree angles.\\nAnti: folo wal\",\n    \"tags\": [\"turn corner\"]\n  },\n  {\n    \"name\": \"txt_nxt\",\n    \"sprite\": [\"txt/nxt\"],\n    \"types\": [\"property\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"nxt: If U is on nxt, go to the next level (specified in object settings).\\nAnti: auto return to map\",\n    \"tags\": [\"next\", \"nxt\", \":>\", \";.\"]\n  },\n  {\n    \"name\": \"txt_tryagain\",\n    \"display\": \"try again\",\n    \"sprite\": [\"txt/try again\"],\n    \"types\": [\"property\"],\n    \"color\": [[3, 3]],\n    \"desc\": \"TRY AGAIN: When U is on TRY AGAIN, the level is undone back to the starting state, except for NO UNDO objects. TRY AGAIN can be undone!\\nAnti: plays through the level's replay to the end\",\n    \"tags\": [\"retry\", \"time\", \"reset\", \"lily\", \":/\", \";/\"]\n  },\n  {\n    \"name\": \"txt_noundo\",\n    \"display\": \"no undo\",\n    \"sprite\": [\"txt/noundo\"],\n    \"types\": [\"property\"],\n    \"color\": [[5, 3]],\n    \"desc\": \"NO UNDO: NO UNDO units aren't affected by undoing manually. LVL BE NO UNDO prevents undo inputs entirely.\\nAnti: undo\",\n    \"tags\": [\"persist\", \"time\", \"lily\"]\n  },\n  {\n    \"name\": \"txt_undo\",\n    \"sprite\": [\"txt/undo\"],\n    \"types\": [\"property\"],\n    \"color\": [[6, 1]],\n    \"desc\": \"UNDO: UNDO units, at end of turn, rewind a turn earlier, cumulatively. Stacks!\\nAnti: no undo\",\n    \"tags\": [\"time\", \"back\"]\n  },\n  {\n    \"name\": \"txt_stubbn\",\n    \"sprite\": [\"txt/stubbn\"],\n    \"types\": [\"property\"],\n    \"color\": [[6, 1]],\n    \"desc\": \"STUBBN: STUBBN units ignore the special properties of WALK movers (bouncing off of walls, and declining to move if it would die due to being OUCH) and also makes attempted diagonal movement slide along walls. Stacks with itself - the more STUBBN, the more additional angles it will try, up to 180 degrees at 5 stacks! (2 stacks allows for 45 degree movement orthogonally.)\\nAnti: shy...\",\n    \"tags\": [\"stubborn\", \"patashu\"]\n  },\n  {\n    \"name\": \"txt_goarnd\",\n    \"display\": \"go arnd\",\n    \"sprite\": [\"txt/goarnd\"],\n    \"types\": [\"property\"],\n    \"color\": [[3, 2]],\n    \"desc\": \"GO ARND: GO ARND units wrap around the level, as though it were a torus.\\nBORDR objects are used as the level border, and the wraparound doesn't go through BORDRs.\\nDiagonal GO ARNDs on corners of non-square levels might not work as expected, as it simply traces backward until hitting a BORDR.\\nLVL BE GOARND will cause all objects to be able to wrap.\\nAnti: flip around at edge (portal leading out to itself)\",\n    \"tags\": [\"wrap around\", \"go around\", \"cg5\"]\n  },\n  {\n    \"name\": \"txt_mirrarnd\",\n    \"display\": \"mirr arnd\",\n    \"sprite\": [\"txt/mirrarnd\"],\n    \"types\": [\"property\"],\n    \"color\": [[3, 2]],\n    \"desc\": \"MIRR ARND: MIRR ARND units wrap around the level, as though it were a projective plane.\\nAnti: flip around + mirror at edge\",\n    \"tags\": [\"mirror around\", \"cg5\", \"wrap\"]\n  },\n  {\n    \"name\": \"txt_poortoll\",\n    \"display\": \"poor toll\",\n    \"sprite\": [\"txt/poortoll\"],\n    \"types\": [\"property\"],\n    \"color\": [[3, 2]],\n    \"desc\": \"POOR TOLL: If a unit would enter a POOR TOLL unit, it instead leaves the next POOR TOLL unit of the same name in reading order (left to right, line by line, wrapping around) out the corresponding same side. Does not stack.\\nAnti: to explain this to you, we have to talk about parallel universes. Also it's not made yet so i'll write about the skuttlebug jamborees when it is.\",\n    \"tags\": [\"portal\", \"cg5\"]\n  },\n  {\n    \"name\": \"txt_split\",\n    \"sprite\": [\"txt/split\"],\n    \"types\": [\"property\"],\n    \"color\": [[4, 1]],\n    \"desc\": \"SPLIT: Objects on a SPLITer are split into two copies on adjacent tiles.\\nAnti: pulls objects arond to become 1\",\n    \"tags\": [\"splitter\", \"5 step\"]\n  },\n  {\n    \"name\": \"txt_munwalk\",\n    \"sprite\": [\"txt/munwalk\"],\n    \"types\": [\"property\"],\n    \"color\": [[1, 4]],\n    \"desc\": \"MUNWALK: MUNWALK units move 180 degrees opposite of their facing direction. Stacks will cancel each other out.\\nAnti: literally nothing\",\n    \"tags\": [\"moonwalk\", \"patashu\"]\n  },\n  {\n    \"name\": \"txt_sidestep\",\n    \"sprite\": [\"txt/sidestep\"],\n    \"types\": [\"property\"],\n    \"color\": [[1, 3]],\n    \"desc\": \"SIDESTEP: SIDESTEP units move 90 degrees clockwise off of their facing direction. Stacks!\\nAnti: stack 3\",\n    \"tags\": [\"patashu\", \"drunk\"]\n  },\n  {\n    \"name\": \"txt_diagstep\",\n    \"sprite\": [\"txt/diagstep\"],\n    \"types\": [\"property\"],\n    \"color\": [[3, 2]],\n    \"desc\": \"DIAGSTEP: DIAGSTEP units move 45 degrees clockwise off of their facing direction. Stacks!\\nAnti: stack 7\",\n    \"tags\": [\"patashu\", \"drunker\"]\n  },\n  {\n    \"name\": \"txt_knightstep\",\n    \"sprite\": [\"txt/knightstep\"],\n    \"types\": [\"property\"],\n    \"color\": [[0, 2]],\n    \"desc\": \"KNIGHTSTEP: KNIGHTSTEP units move like the Knight chess piece, rotated 22.5 degrees clockwise. Stacks add additional 1, 1 hops.\\nAnti: move like a pawn (todo: make better desc after implemented)\",\n    \"tags\": [\"chess\"]\n  },\n  {\n    \"name\": \"txt_hopovr\",\n    \"sprite\": [\"txt/hopovr\"],\n    \"types\": [\"property\"],\n    \"color\": [[5, 2]],\n    \"desc\": \"HOPOVR: HOPOVR units move two tiles ahead, skipping the intermediate tile. Stacks additively.\\nAnti: sets motion to 0\",\n    \"tags\": [\"patashu\", \"skip\"]\n  },\n  {\n    \"name\": \"txt_halfstep\",\n    \"sprite\": [\"txt/halfstep\"],\n    \"types\": [\"property\"],\n    \"color\": [[5, 2]],\n    \"desc\": \"HALFSTEP: HALFSTEP units move half as much. Tiles off by nonwhole amounts tend to not interact in most ways. Stacks exponentially.\\nAnti: hopovr\",\n    \"tags\": [\"patashu\", \"skip\"]\n  },\n  {\n    \"name\": \"txt_spin\",\n    \"sprite\": [\"txt/spin\"],\n    \"types\": [\"property\", \"direction\"],\n    \"color\": [[4, 1]],\n    \"rotate\": true,\n    \"desc\": \"SPIN: A GO^ facing the same direction as the unit is facing, rotated clockwise the number of times on top of the property.\\nAnti: opposite direction\",\n    \"tags\": [\"rotate\", \"lily\"]\n  },\n  {\n    \"name\": \"txt_brite\",\n    \"sprite\": [\"txt/brite\"],\n    \"types\": [\"property\"],\n    \"color\": [[2, 4]],\n    \"desc\": \"BRITE: Emits light in all directions.\\nAnti: tranparnt\",\n    \"tags\": [\"bright\", \"power\"]\n  },\n  {\n    \"name\": \"txt_tranparnt\",\n    \"display\": \"tranparn't\",\n    \"sprite\": [\"txt/tranparnt\"],\n    \"types\": [\"property\"],\n    \"color\": [[0, 1]],\n    \"desc\": \"TRANPARN'T: Blocks light using a non-tile based system. Also blocks meow.\\nAnti: brite\",\n    \"alias\": [\"tranparn't\"],\n    \"tags\": [\"opaque\", \"transparent\"]\n  },\n  {\n    \"name\": \"txt_torc\",\n    \"sprite\": [\"txt/torc\"],\n    \"types\": [\"property\"],\n    \"color\": [[2, 2]],\n    \"desc\": \"TORC: A TORC object emits light in the direction they're facing. The angle of the light determined by the number of TORC stacks. (WIP)\\nAnti: gomyway but for light (WIP)\",\n    \"tags\": [\"torchlight\", \"flashlight\"]\n  },\n  {\n    \"name\": \"txt_noturn\",\n    \"display\": \"no turn\",\n    \"sprite\": [\"txt/noturn\"],\n    \"types\": [\"property\"],\n    \"color\": [[2, 3]],\n    \"desc\": \"NO TURN: A NO TURN unit's direction can't change (unless re-oriented by non-euclidean level geometry, i.e. POOR TOLL).\\nAnti: rotatbl\",\n    \"tags\": [\"strafe\"]\n  },\n  {\n    \"name\": \"txt_wurd\",\n    \"sprite\": [\"txt/wurd\"],\n    \"types\": [\"property\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"WURD: A WURD unit forms rules as though it was its respective text. TXT BEN'T WURD makes that text not parse.\\nAnti: parse in opposite direction (stacks with normal wurd)\",\n    \"tags\": [\"word\"]\n  },\n  {\n    \"name\": \"txt_zawarudo\",\n    \"display\": \"za warudo\",\n    \"sprite\": [\"txt/zawarudo\"],\n    \"types\": [\"property\"],\n    \"color\": [[2, 4]],\n    \"desc\": \"ZA WARUDO: Can stop time and move without anything else moving. Faster than rule parsing itself!\\nAfter forming the rule, press E (hourglass on mobile) to toggle. While stopped, a non-zawarudo object that would move at infinite speed will move one space per turn.\\nAnti: is frozen outside timestop but not inside\",\n    \"tags\": [\"timeless\", \"the world\", \"dio\", \"lily\"]\n  },\n  {\n    \"name\": \"txt_txtify\",\n    \"sprite\": [\"txt/txtify\"],\n    \"types\": [\"property\"],\n    \"color\": [[4, 1]],\n    \"thingify\": \"txt_ify\",\n    \"desc\": \"TXTIFY: BE TXTIFY causes that object to be turned into its corresponding metatext. Will plsdont at 100 layers of meta.\\nAnti: thingify\",\n    \"tags\": [\"meta\", \"notnat\"]\n  },\n  {\n    \"name\": \"txt_thingify\",\n    \"sprite\": [\"txt/thingify\"],\n    \"types\": [\"property\"],\n    \"color\": [[3, 1]],\n    \"desc\": \"THINGIFY: BE THINGIFY causes that text to turn into the object it represents (or text it represents if metatext).\\nSome objects are special and can only be gotten via thingify.\\nAnti: txtify\",\n    \"tags\": [\"demeta\", \"notnat\"]\n  },\n  {\n    \"name\": \"txt_n'tify\",\n    \"sprite\": [\"txt/ntify\"],\n    \"types\": [\"property\"],\n    \"color\": [[2, 2]],\n    \"desc\": \"N'TIFY: BE N'TIFY causes that object or text to turn into its corresponding n't version.\\nAnti: ify\",\n    \"tags\": [\"nt\", \"n't\", \"mse\"]\n  },\n  {\n    \"name\": \"txt_n'tifyyy\",\n    \"sprite\": [\"txt/ntifyyy\"],\n    \"types\": [\"property\"],\n    \"color\": [[2, 3]],\n    \"desc\": \"N'TIFYYY: n'tify but it always adds nt (so it can make n'tn't text and objects)\\nThere is no way to see how many nts a object has so this is dumb but whatever\\nAnti: ify (yes anti anti n'tfyyyy is just n'tify)\",\n    \"tags\": [\"nt\", \"n't\", \"mse\"]\n  },\n  {\n    \"name\": \"txt_ify\",\n    \"sprite\": [\"txt/ify\"],\n    \"types\": [\"property\"],\n    \"color\": [[3, 3]],\n    \"desc\": \"IFY: BE IFY causes that object or text to turn into itself. Specifically, if also transforming into something else, it also stays there in addition to transforming.\\nAnti: n'tify\",\n    \"tags\": [\"why\", \"mse\"]\n  },\n  {\n    \"name\": \"txt_curse\",\n    \"sprite\": [\"txt/curse\"],\n    \"types\": [\"property\"],\n    \"color\": [[3, 3]],\n    \"desc\": \"CURSE: Makes object move like U on lins/lvls and able to enter lvls (also goes through walls)\\nAlso adds 24 to draw layer.\\nAnti: opposite direction\",\n    \"tags\": [\"select\"]\n  },\n  {\n    \"name\": \"txt_her\",\n    \"sprite\": [\"txt/her\"],\n    \"types\": [\"property\"],\n    \"color\": [[1, 3]],\n    \"rotate\": true,\n    \"desc\": \"HER ->: Sends objects to where the text indicates. N'T HER makes objects HAET that tile.\\nAnti: opposite direction\",\n    \"tags\": [\"here\", \"cg5\", \"her^\", \"her ->\"]\n  },\n  {\n    \"name\": \"txt_thr\",\n    \"sprite\": [\"txt/thr\"],\n    \"types\": [\"property\"],\n    \"color\": [[3, 2]],\n    \"rotate\": true,\n    \"desc\": \"THR ->: Sends objects as far away from it as possible (until hitting a wall) in the indicated direction. N'T THR makes objects HAET a line from the text.\\nAnti: opposite direction\",\n    \"tags\": [\"there\", \"cg5\", \"thr^\", \"thr ->\"]\n  },\n  {\n    \"name\": \"txt_rithere\",\n    \"display\": \"rit here\",\n    \"sprite\": [\"txt/rithere\"],\n    \"types\": [\"property\"],\n    \"layer\": 21,\n    \"color\": [[4, 0]],\n    \"desc\": \"RIT HERE: Sends objects to where the text is.\\nAnti: random space in lvl other than this one\",\n    \"tags\": [\"right here\"]\n  },\n  {\n    \"name\": \"txt_stayther\",\n    \"sprite\": [\"txt/stay ther\"],\n    \"types\": [\"property\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"STAY THER: Objects with this property will be taken with you when you transition between levels.\\nAnti: object vanishes\",\n    \"tags\": [\"persist\"]\n  },\n  {\n    \"name\": \"txt_glued\",\n    \"sprite\": [\"txt/glued\"],\n    \"types\": [\"property\"],\n    \"color\": [[2, 4]],\n    \"desc\": \"GLUED: Stuck to adjacent units with glued, and can't move unless the entire block can simultaneously move.\\nCan also form same[paint/flye/face] to make something only glued to those items.\\nAnti: ignores comepls/sidekik/diagkik\",\n    \"tags\": [\"sticky\", \"lily\"]\n  },\n  {\n    \"name\": \"txt_rotatbl\",\n    \"sprite\": [\"txt/rotatbl\"],\n    \"types\": [\"property\"],\n    \"color\": [[6, 2]],\n    \"desc\": \"ROTATBL: Makes any object able to be rotated.\\nAnti: noturn\",\n    \"tags\": [\"rotatable\"]\n  },\n  {\n    \"name\": \"txt_nuek\",\n    \"sprite\": [\"txt/nuek\"],\n    \"types\": [\"property\"],\n    \"color\": [[2, 2]],\n    \"desc\": \"NUEK: A NUEK will begin destroying everything around it, its radius growing once per turn.\\nAnti: places xplod at the corners of lvl\",\n    \"tags\": [\"nuke\", \"bomb\"]\n  },\n  {\n    \"name\": \"txt_un:)\",\n    \"sprite\": [\"txt/ungood\"],\n    \"types\": [\"property\"],\n    \"color\": [[1, 2]],\n    \"features\": {\n      \"sans\": {\"x\": 19, \"y\": 14, \"w\": 2, \"h\": 4}\n    },\n    \"desc\": \"UN:): When U touches UN:), the current level will no longer be considered won, without exiting the level. Imagine a win score equal to the number of Us on :) minus the Us on UN:). If positive, you win. If negative, you lose your win. If equal, nothing happens.\\nAnti: :)\",\n    \"tags\": [\"unwin\", \"ungood\", \"face\", \"unyay\", \"patashu\", \";d\"]\n  },\n  {\n    \"name\": \"txt_notranform\",\n    \"display\": \"no tranform\",\n    \"sprite\": [\"txt/notranform\"],\n    \"types\": [\"property\"],\n    \"color\": [[2, 2]],\n    \"desc\": \"NO TRANFORM: A property that prevents the object from transforming. LVL BE NO TRANFORM reverts any transformations it had. X BEN'T NOTRANFORM negates X BE X. Also negates TRANZ.\\nAnti: tranz\",\n    \"tags\": [\"no transform\"]\n  },\n  {\n    \"name\": \"txt_reflecc\",\n    \"sprite\": [\"txt/reflecc\"],\n    \"types\": [\"property\"],\n    \"color\": [[5, 2]],\n    \"desc\": \"REFLECC: When a unit moves into a REFLECC's front or behind, it gets reflected off of that surface.\\nAnti: ??\",\n    \"tags\": [\"reflect\", \"slope\", \"bounce\", \"mirror\"]\n  },\n  {\n    \"name\": \"txt_stukc\",\n    \"sprite\": [\"txt/stukc\"],\n    \"types\": [\"property\"],\n    \"color\": [[1, 1]],\n    \"desc\": \"STUKC: Anything with this property can't move.\\nAnti: if not moved this turn, move in a random direction\",\n    \"tags\": [\"stuck\",\"still\"]\n  },\n  {\n    \"name\": \"txt_gone\",\n    \"sprite\": [\"txt/gone\"],\n    \"types\": [\"property\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"GONE: If something is GONE, it floats away into nothingness.\\nAnti: zomb\",\n    \"tags\": [\"done\"]\n  },\n  {\n    \"name\": \"txt_dragbl\",\n    \"sprite\": [\"txt/dragbl\"],\n    \"types\": [\"property\"],\n    \"color\": [[3, 3]],\n    \"desc\": \"DRAGBL: Units that are DRAGBL can be picked up and moved around.\\nAnti: takes the opposite of your mouse movements\",\n    \"tags\": [\"draggable\", \"mouse\"]\n  },\n  {\n    \"name\": \"txt_nodrag\",\n    \"display\": \"no drag\",\n    \"sprite\": [\"txt/nodrag\"],\n    \"types\": [\"property\"],\n    \"color\": [[3, 0]],\n    \"desc\": \"NO DRAG: Units that are DRAGBL can't be placed on NO DRAG objects.\\nAnti: mous cant move on or over\",\n    \"tags\": [\"mouse\"]\n  },\n  {\n    \"name\": \"txt_thicc\",\n    \"sprite\": [\"txt/thicc\"],\n    \"types\": [\"property\"],\n    \"color\": [[1, 3]],\n    \"desc\": \"THICC: Thicc things take up a 2x2 space. Expands to the lower right. Stacks additively. Also disables all spatial darnery (poor toll and go/mirrarnd).\\nAnti: babby (yes, the noun)\"\n  },\n  {\n    \"name\": \"txt_rythm\",\n    \"sprite\": [\"txt/rythm\"],\n    \"types\": [\"property\"],\n    \"color\": [[4, 1]],\n    \"desc\": \"RYTHM (property): Turns pass for these units based on time, separate from normal turns passing. Uses the same system as zawarudo.\\nAnti: follows random intervals instead of a rhythm\",\n    \"tags\": [\"auto\", \"necrodancer\", \"lily\", \"rhythm\", \"dancr\"]\n  },\n  {\n    \"name\": \"txt_cool\",\n    \"sprite\": [\"txt/cool\"],\n    \"types\": [\"property\", \"gang_prefix\"],\n    \"color\": [[1, 4]],\n    \"desc\": \"COOL: COOL units wear a pair of sunglasses, and don't shake.\\nAnti: hotte\",\n    \"tags\": [\"cool\"]\n  },\n  {\n    \"name\": \"txt_thonk\",\n    \"sprite\": [\"txt/thonk\"],\n    \"types\": [\"property\"],\n    \"color\": [[2, 4]],\n    \"desc\": \"THONK: THONK units question their own FRAGIL existence.\\nAnti: ??\",\n    \"tags\": [\"thinking\", \"wonder\"]\n  },\n  {\n    \"name\": \"txt_zomb\",\n    \"sprite\": [\"txt/zomb\"],\n    \"types\": [\"property\"],\n    \"color\": [[3, 1]],\n    \"desc\": \"ZOMB: Revives all previously destroyed copies of an object. Anti: gone\",\n    \"tags\": [\"zombie\"]\n  },\n  {\n    \"name\": \"txt_boring\",\n    \"sprite\": [\"txt/boring\"],\n    \"types\": [\"property\"],\n    \"color\": [[4, 1]],\n    \"desc\": \"BORING: Makes an object unable to be effected by rules, except for boring itself. Also prevents being influenced by giv. x ben'tn't y will circumvent even broken.\\nAnti: not implemented atm\",\n    \"tags\": [\"broken\"]\n  },\n  {\n    \"name\": \"txt_bce\",\n    \"sprite\": [\"txt/bce\"],\n    \"types\": [\"property\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"BCE: Sets the object's position to a value based off its name (X) and color values (Y). \\n Stands for Babitary Code Execution.\\nAnti: Makes the (X) based off the color, and the (Y) based off the name.\",\n    \"tags\": [\"arbitarycodeexecution\",\"hal\",\"ace\"]\n  },\n  {\n    \"name\": \"txt_rond\",\n    \"sprite\": [\"txt/rond\"],\n    \"types\": [\"property\"],\n    \"color\": [[1, 4]],\n    \"desc\": \"ROND: Puts the object on the nearest tile (if it is in between tiles). \\nAnti: Sets it to the unit farther away from the offgrid unit.\",\n    \"tags\": [\"round\",\"hal\"]\n  }\n]\n"
  },
  {
    "path": "assets/tiles/text/tutorial.json",
    "content": "[\n  {\n    \"name\": \"txt_press\",\n    \"sprite\": [\"tutorial_press\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"PRESS: Make PRESS F2 <property> to do something upon pressing F. Only some properties, like :(, will work!\\nIt's a noun, and anything that refers to press will work for this purpose.\"\n  },\n  {\n    \"name\": \"txt_f2\",\n    \"sprite\": [\"tutorial_f2\"],\n    \"types\": [\"verb_property\", \"verb\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"F2: Used with PRESS.\"\n  },\n  {\n    \"name\": \"txt_2edit\",\n    \"sprite\": [\"tutorial_edit\"],\n    \"types\": [\"property\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"EDIT: Make PRESS F2 EDIT to unlock the level editor!\"\n  },\n  {\n    \"name\": \"txt_2pley\",\n    \"sprite\": [\"tutorial_play\"],\n    \"types\": [\"property\"],\n    \"color\": [[0, 3]],\n    \"tags\": [\"txt/2pley\"],\n    \"desc\": \"Can be used as a property that does literally nothing.\"\n  },\n  {\n    \"name\": \"txt_f1\",\n    \"sprite\": [\"tutorial_f1\"],\n    \"types\": [\"verb_property\", \"verb\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"Can be used as a verb that does literally nothing (and accepts properties).\"\n  }\n]"
  },
  {
    "path": "assets/tiles/text/unsorted.json",
    "content": "[\n  {\n    \"name\": \"txt_&\",\n    \"sprite\": [\"txt/and\"],\n    \"types\": [\"and\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"&: Joins multiple conditions, subjects or objects together in a rule. Can also be spelled as ampersand with letters. Rules with stacked text or n't and &s don't work like in baba, be sure to experiment!\",\n    \"alias\": [\"ampersand\"],\n    \"tags\": [\"and\"]\n  },\n  {\n    \"name\": \"txt_txt\",\n    \"sprite\": [\"txt/txt\"],\n    \"metasprite\": [\"txt/txt meta\"],\n    \"types\": [\"object\"],\n    \"color\": [[4, 1]],\n    \"desc\": \"TXT: An object class referring to all text objects, or just a specific one if you write e.g. BAB TXT BE GAY.\",\n    \"tags\": [\"txt\"],\n    \"old_names\": [\"txt_text\"]\n  },\n  {\n    \"name\": \"txt_nt\",\n    \"sprite\": [\"txt/nt\"],\n    \"types\": [\"not\"],\n    \"color\": [[2, 2]],\n    \"desc\": \"N'T: A suffix that negates the meaning of a verb, condition or object class. X txtn't will refer to all txt except that one.\",\n    \"alias\": [\"n't\"],\n    \"tags\": [\"not\", \"n't\"],\n    \"old_names\": [\"txt_n't\"]\n  },\n  {\n    \"name\": \"txt_infloop\",\n    \"display\": \"infloop\",\n    \"sprite\": [\"txt/infloop\"],\n    \"types\": [\"object\", \"property\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"INFLOOP: A special word that describes the infinite loop state.\",\n    \"tags\": [\"infinity\", \"infinite loop\"],\n    \"old_names\": [\"txt_loop\"]\n  },\n  {\n    \"name\": \"txt_plsdont\",\n    \"display\": \"plsdont\",\n    \"sprite\": [\"txt/plsdont\"],\n    \"types\": [\"object\", \"property\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"PLSDONT: Like infloop, but for plsdonts instead. Keep in mind that some plsdonts occur before the first round of rule parsing completes, and so plsdont rules won't apply then.\\nTwo basic plsdonts are 1000 rules formed; 3000 objects ever existed.\",\n    \"tags\": [\"too complex\", \"plz dont\"]\n  },\n  {\n    \"name\": \"txt_...\",\n    \"sprite\": [\"txt/...\"],\n    \"types\": [\"ellipsis\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"... (ELLIPSIS): Extends rules. BAB ... BE ... ... U is the same as BAB BE U.\",\n    \"tags\": [\"ellipsis\", \"dotdotdot\", \"period\"]\n  },\n  {\n    \"name\": \"txt_''\",\n    \"sprite\": [\"txt/ditto\"],\n    \"types\": [\"ditto\"],\n    \"color\": [[0, 3]],\n    \"thingify\": \"ditto\",\n    \"desc\": \"DITTO: Acts like the text above it. \\\" TXT will refer to the ditto itself, not the text above it.\",\n    \"tags\": [\"ditto\", \"quotation marks\", \"\\\"\"]\n  },\n  {\n    \"name\": \"txt_frens\",\n    \"sprite\": [\"txt/frens\"],\n    \"types\": [\"object\", \"group\"],\n    \"color\": [[3, 3]],\n    \"desc\": \"FRENS: A group you can be a member of. 'x BE FRENS' adds you to the FRENS group. 'FRENS BE x' applies the property to all FRENS.\",\n    \"tags\": [\"group\", \"friends\"]\n  },\n  {\n    \"name\": \"txt_groop\",\n    \"sprite\": [\"txt/groop\"],\n    \"types\": [\"object\", \"group\"],\n    \"color\": [[3, 3]],\n    \"desc\": \"GROOP: A variant of FRENS.\",\n    \"tags\": [\"group\"]\n  },\n  {\n    \"name\": \"txt_gang\",\n    \"sprite\": [\"txt/gang\"],\n    \"types\": [\"object\", \"group\", \"gang\", \"gang_prefix\"],\n    \"color\": [[0, 1]],\n    \"desc\": \"GANG: A variant of FRENS but members wear an exclusive hat. Put an object before it to make unique gangs!\",\n    \"tags\": [\"group\"]\n  },\n  {\n    \"name\": \"txt_sharp\",\n    \"sprite\": [\"letter_sharp\"],\n    \"types\": [\"note_modifier\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"For use with SING.\"\n  },\n  {\n    \"name\": \"txt_flat\",\n    \"sprite\": [\"letter_flat\"],\n    \"types\": [\"note_modifier\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"For use with SING.\"\n  },\n  {\n    \"name\": \"txt_every1\",\n    \"sprite\": [\"txt/every1\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"EVERY1: Every object type in the level, aside from special objects like TXT, NO1, LVL, BORDR, and MOUS.\",\n    \"tags\": [\"all\", \"everyone\", \"every1\"]\n  },\n  {\n    \"name\": \"txt_every2\",\n    \"sprite\": [\"txt/every2\"],\n    \"types\": [\"object\"],\n    \"color\": [[3, 3]],\n    \"desc\": \"EVERY2: every1 + txt + innerlvl.\\nA few other edge cases might be added in the future, but bordr, no1, and mous being excluded are intentional.\",\n    \"tags\": [\"all\", \"everyone\", \"every2\"]\n  },\n  {\n    \"name\": \"txt_every3\",\n    \"sprite\": [\"txt/every3\"],\n    \"types\": [\"object\"],\n    \"color\": [[4, 1]],\n    \"desc\": \"EVERY3: Absolutely everything conceivable. The pinnacle of everything technology.\",\n    \"tags\": [\"all\", \"everyone\", \"every3\"]\n  },\n  {\n    \"name\": \"txt_samefloat\",\n    \"sprite\": [\"txt/samefloat\"],\n    \"types\": [\"cond_compare\"],\n    \"color\": [[1, 4]],\n    \"desc\": \"SAMEFLOAT( (Compare Condition): True if the condition unit has the same amount of FLYE as the target.\\nAnti: a = -b\",\n    \"tags\": [\"sameflye\"]\n  },\n  {\n    \"name\": \"txt_samepaint\",\n    \"sprite\": [\"txt/samepaint\"],\n    \"types\": [\"class_prefix\", \"cond_compare\"],\n    \"color\": [[4, 2]],\n    \"desc\": \"SAMEPAINT (Compare Condition): True if the condition unit is the same color as the target. Also, BAB BE SAMEPAINT KEEK will turn bab into a keek of the same color that bab was.\\nAnti: opposite color (see color descs to see what's considered opposite)\",\n    \"tags\": [\"samecolor\"]\n  },\n  {\n    \"name\": \"txt_sameface\",\n    \"sprite\": [\"txt/sameface\"],\n    \"types\": [\"cond_compare\"],\n    \"color\": [[2, 4]],\n    \"desc\": \"SAMEFACE (Compare Condition): True if the condition unit is facing the same direction as the target.\\nAnti: opposite direction\",\n    \"tags\": [\"samedirection\", \"samefacing\"]\n  },\n  {\n    \"name\": \"txt_cann't\",\n    \"sprite\": [\"txt/can't\"],\n    \"types\": [\"object\"],\n    \"color\": [[2, 1]],\n    \"tags\": [\"valhalla\"]\n  },\n  {\n    \"name\": \"txt_themself\",\n    \"sprite\": [\"txt/themself\", \"txt/themself_lower\"],\n    \"types\": [\"object\"],\n    \"color\": [[2, 3], [2, 3]],\n    \"painted\": [true, true],\n    \"desc\": \"THEMSELF: Refers to the subject of the rule - uses correct pronouns!\",\n    \"tags\": [\"itself\", \"herself\", \"himself\", \"themselves\"]\n  },\n  {\n    \"name\": \"txt_anti\",\n    \"sprite\": [\"txt/anti\"],\n    \"types\": [\"anti\"],\n    \"color\": [[2, 2]],\n    \"desc\": \"ANTI: Inverses the word after it to do the opposite. Does not work with nouns.\\nEach text has a custom effect when anti'd. \\\"mirror\\\" in verbs means x verb y becomes y verb x. Conditions without anything specified just have the result inverted (a la n't).\",\n    \"tags\": [\"reverse\", \"vitellary\"]\n  },\n  {\n    \"name\": \"txt_c_sharp\",\n    \"sprite\": [\"txt/c_sharp\"],\n    \"types\": [\"note\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"For use with SING.\"\n  },\n  {\n    \"name\": \"txt_d_sharp\",\n    \"sprite\": [\"txt/d_sharp\"],\n    \"types\": [\"note\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"For use with SING.\"\n  },\n  {\n    \"name\": \"txt_f_sharp\",\n    \"sprite\": [\"txt/f_sharp\"],\n    \"types\": [\"note\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"For use with SING.\"\n  },\n  {\n    \"name\": \"txt_g_sharp\",\n    \"sprite\": [\"txt/g_sharp\"],\n    \"types\": [\"note\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"For use with SING.\"\n  },\n  {\n    \"name\": \"txt_a_sharp\",\n    \"sprite\": [\"txt/a_sharp\"],\n    \"types\": [\"note\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"For use with SING.\"\n  },\n  {\n    \"name\": \"txt_toen\",\n    \"sprite\": [\"txt/toen\"],\n    \"types\": [\"object\"],\n    \"color\": [[4, 1]],\n    \"desc\": \"TOEN: Refers to all music note letters that exist in the level.\",\n    \"tags\": [\"tone\", \"pitch\", \"music notes\"]\n  },\n  {\n    \"name\": \"txt_lethers\",\n    \"sprite\": [\"txt/lethers\"],\n    \"types\": [\"object\"],\n    \"color\": [[2, 4]],\n    \"desc\": \"LETHERS: Refers to all letters that exist in the level.\",\n    \"tags\": [\"letters\"]\n  },\n  {\n    \"name\": \"txt_yuiy\",\n    \"sprite\": [\"txt/yuiy\"],\n    \"types\": [\"object\"],\n    \"color\": [[0, 2]],\n    \"desc\": \"YUIY: Refers to all UIs that exist in the level.\",\n    \"tags\": [\"ui\"]\n  },\n  {\n    \"name\": \"txt_numa\",\n    \"sprite\": [\"txt/numa\"],\n    \"types\": [\"object\"],\n    \"color\": [[3, 1]],\n    \"desc\": \"NUMA: Refers to all numbers that exist in the level.\\n\\nNUMA n't refers to all non-number letters.\",\n    \"tags\": [\"number\", \"digit\"]\n  },\n  {\n    \"name\": \"txt_gravy\",\n    \"sprite\": [\"txt/gravy\"],\n    \"types\": [\"object\"],\n    \"color\": [[6, 2]],\n    \"desc\": \"GRAVY: Changes the direction of HAET SKYE and HAET FLOR. (Unimplemented)\",\n    \"tags\": [\"gravity\", \"fall\", \"lily\"]\n  },\n  {\n    \"name\": \"txt_gaem\",\n    \"sprite\": [\"txt/gaem\"],\n    \"types\": [\"object\"],\n    \"color\": [[3, 3]],\n    \"desc\": \"GAEM: refers to either the game window or the level that your in.\\nGAEM BE NOUN switches to a level with just that object.\",\n    \"tags\": [\"game\", \"window\", \"love2d\", \"mse\"]\n  }\n]\n"
  },
  {
    "path": "assets/tiles/text/verbs.json",
    "content": "[\n  {\n    \"name\": \"txt_be\",\n    \"sprite\": [\"txt/be\"],\n    \"types\": [\"verb_class\", \"verb_property\", \"verb\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"BE (Verb): Causes the subject to become an object or have a property.\\nAnti: mirror\",\n    \"tags\": [\"is\"]\n  },\n  {\n    \"name\": \"txt_ben't\",\n    \"display\": \"be n't\",\n    \"sprite\": [\"txt/be n't\", \"n't (be)\"],\n    \"types\": [\"verb_class\", \"verb_property\", \"verb\"],\n    \"color\": [[0, 3], [2, 2]],\n    \"painted\": [true, false],\n    \"desc\": \"BE N'T (Verb): The same as having these two text tiles in a row.\",\n    \"tags\": [\"isn't\", \"is not\", \"verb\"]\n  },\n  {\n    \"name\": \"txt_got\",\n    \"sprite\": [\"txt/got\"],\n    \"types\": [\"verb_class\", \"verb\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"GOT (Verb): Causes the subject to drop the object when destroyed.\\nAnti: mirror\",\n    \"tags\": [\"has\"]\n  },\n  {\n    \"name\": \"txt_creat\",\n    \"sprite\": [\"txt/creat\"],\n    \"types\": [\"verb_class\", \"verb\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"CREAT (Verb): At end of turn, the unit makes this object.\\nAnti: snacc\",\n    \"tags\": [\"make\", \"create\"]\n  },\n  {\n    \"name\": \"txt_snacc\",\n    \"sprite\": [\"txt/snacc\"],\n    \"types\": [\"verb_unit\", \"verb\"],\n    \"color\": [[2, 2]],\n    \"desc\": \"SNACC (Verb): Units destroy any other unit that they SNACC on contact, like a conditional OUCH.\\nAnti: creat\",\n    \"tags\": [\"eat\", \"consume\"]\n  },\n  {\n    \"name\": \"txt_moov\",\n    \"sprite\": [\"txt/moov\"],\n    \"types\": [\"verb_unit\", \"verb_direction\", \"verb\"],\n    \"color\": [[1, 3]],\n    \"desc\": \"MOOV (Verb): A verbified GO AWAY PLS/GO. x MOOV y means that x can push and shift y (shift not stacking). y is not treated as solid if unable to be pushed. MOOV GO^ will make the unit move one unit in that direction per turn.\\nAnti: opposite direction\",\n    \"tags\": [\"shift\"]\n  },\n  {\n    \"name\": \"txt_yeet\",\n    \"sprite\": [\"txt/yeet\"],\n    \"types\": [\"verb_unit\", \"verb_direction\", \"verb\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"YEET (Verb): This unit will force things it yeets in its tile to hurtle across the level in its facing direction (until it hits an object that stops it). YEET GO^ makes the object fall in that direction.\\nAnti: opposite direction\",\n    \"tags\": [\"throw\"]\n  },\n  {\n    \"name\": \"txt_spoop\",\n    \"sprite\": [\"txt/spoop\"],\n    \"types\": [\"verb_unit\", \"verb\"],\n    \"color\": [[2, 2]],\n    \"desc\": \"SPOOP (Verb): A SPOOPY unit forces all objects it SPOOPS on adjacent tiles to move away!\\nAnti: opposite direction\",\n    \"tags\": [\"fear\", \"spook\"]\n  },\n  {\n    \"name\": \"txt_stalk\",\n    \"sprite\": [\"txt/stalk\"],\n    \"types\": [\"verb_unit\", \"verb\"],\n    \"color\": [[5, 2]],\n    \"desc\": \"STALK (Verb): If X stalks Y, X becomes an intelligent AI determined to get to Y. If it's also STUBBN, it'll try to track through walls if it can't reach its target. (actually that's not implemented yet)\\nNote: Am planning on changing this at some point.\\nAnti: finds direction that gives farthest possible\",\n    \"tags\": [\"follow\", \"find\", \"cg5\"]\n  },\n  {\n    \"name\": \"txt_haet\",\n    \"sprite\": [\"txt/haet\"],\n    \"types\": [\"verb_unit\", \"verb\"],\n    \"color\": [[2, 3]],\n    \"desc\": \"HAET (Verb): A unit cannot stop onto a tile that has something it HAETs (treating it like NOGO). (x HAET LVL makes x unable to move.)\\nAnti: liek\",\n    \"tags\": [\"patashu\", \"hate\", \"hates\", \"collide\"]\n  },\n  {\n    \"name\": \"txt_liek\",\n    \"sprite\": [\"txt/liek\"],\n    \"types\": [\"verb_unit\", \"verb\"],\n    \"color\": [[5, 3]],\n    \"desc\": \"LIEK (Verb): If a unit LIEKs objects, it is picky, and cannot step onto a tile unless it has at least one object it LIEKs. If an object LIEKs zero objects, it is not bounded.\\nAnti: haet\",\n    \"tags\": [\"bounded\", \"likes\"]\n  },\n  {\n    \"name\": \"txt_copkat\",\n    \"sprite\": [\"txt/copkat\"],\n    \"types\": [\"verb_unit\", \"verb\"],\n    \"color\": [[0, 3]],\n    \"desc\": \"COPKAT (Verb): COPKAT units copy the successful movements of the indicated object, no matter how far away.\\nAnti: opposite direction\",\n    \"tags\": [\"copycat\", \"lily\"]\n  },\n  {\n    \"name\": \"txt_ignor\",\n    \"sprite\": [\"txt/ignor\"],\n    \"types\": [\"verb_unit\", \"verb\"],\n    \"color\": [[0, 1]],\n    \"desc\": \"IGNOR (Verb): x IGNOR y causes x to not be able to interact with or move y in any way.\\nAnti: only x can affect y\",\n    \"tags\": [\"ignore\"]\n  },\n  {\n    \"name\": \"txt_vs\",\n    \"sprite\": [\"txt/vs\"],\n    \"types\": [\"verb_unit\", \"verb\"],\n    \"color\": [[2, 1]],\n    \"desc\": \"VS (Verb): The two objects enter a 1 on 1 battle: whoever steps on the other wins.\\nAnti: when the objects are on each other, they make heart particles\",\n    \"tags\": [\"versus\"]\n  },\n  {\n    \"name\": \"txt_sing\",\n    \"sprite\": [\"txt/sing\"],\n    \"types\": [\"verb_sing\", \"verb\"],\n    \"color\": [[4, 1]],\n    \"desc\": \"SING (Verb): SING A-G with letters!\\nAnti: (todo: write this)\",\n    \"tags\": [\"play\", \"music\", \"say\"]\n  },\n  {\n    \"name\": \"txt_soko\",\n    \"sprite\": [\"txt/soko\"],\n    \"types\": [\"verb_unit\", \"verb\"],\n    \"color\": [[6, 2]],\n    \"desc\": \"SOKO (Verb): If X SOKO Y, then X wins when all Y are not frenles.\\nAnti: ...when all Y are frenles\",\n    \"tags\": [\"sokoban\"]\n  },\n  {\n    \"name\": \"txt_giv\",\n    \"sprite\": [\"txt/giv\"],\n    \"types\": [\"verb_property\", \"verb\"],\n    \"color\": [[2, 4]],\n    \"desc\": \"GIV (Verb): If X giv Y, any other units in the same space and flye will get the Y property.\\nAnti: removes the property (ben'tn't still works)\",\n    \"tags\": [\"give\"]\n  },\n  {\n    \"name\": \"txt_rp\",\n    \"sprite\": [\"txt/rp\"],\n    \"types\": [\"verb_unit\", \"verb\"],\n    \"color\": [[3, 3]],\n    \"desc\": \"RP: X RP Y gives X all of the properties of Y. Only an object that actually exists can be RP'd.\\nAnti: mirror\",\n    \"tags\": [\"mimic\", \"roleplay\"]\n  },\n  {\n    \"name\": \"txt_wont\",\n    \"display\": \"won't\",\n    \"sprite\": [\"txt/wont\"],\n    \"types\": [\"verb_property\", \"verb\"],\n    \"color\": [[2, 2]],\n    \"desc\": \"WON'T: X WON'T PROPERTY makes X not be affected by that property.\\nwontn't has an alias of wo\\nAnti: n't\",\n    \"tags\": [\"won't\", \"can't\"]\n  },\n  {\n    \"name\": \"txt_wontn't\",\n    \"display\": \"wo\",\n    \"sprite\": [\"txt/wo\"],\n    \"types\": [\"verb_property\", \"verb\"],\n    \"color\": [[2, 2]],\n    \"desc\": \"WO: won't n't.\",\n    \"alias\": [\"wo\"],\n    \"tags\": [\"wo\", \"will\", \"can\"]\n  },\n  {\n    \"name\": \"txt_paint\",\n    \"sprite\": [\"txt/paint\"],\n    \"types\": [\"verb_unit\", \"object\", \"property\", \"verb\"],\n    \"color\": [[4, 2]],\n    \"desc\": \"PAINT (Verb): changes the second object's color to match the first if the objects are on each other. Supports color mixing.\\nAnti: mirror\",\n    \"tags\": [\"colors\", \"colours\"]\n  },\n  {\n    \"name\": \"txt_is\",\n    \"sprite\": [\"txt/is\"],\n    \"types\": [\"verb_class\", \"verb_property\", \"verb\"],\n    \"color\": [[0, 3]],\n    \"wobble\": true,\n    \"desc\": \"IS (Verb): Causes the subject to become an object or have a property.\\nAnti: mirror\",\n    \"tags\": [\"is\"]\n  },\n  {\n    \"name\": \"txt_isn't\",\n    \"display\": \"is not\",\n    \"sprite\": [\"txt/is not\", \"txt/not (is)\"],\n    \"types\": [\"verb_class\", \"verb_property\", \"verb\"],\n    \"color\": [[0, 3], [2, 2]],\n    \"painted\": [true, false],\n    \"wobble\": true,\n    \"desc\": \"IS NOT (Verb): The same as having these two text tiles in a row.\",\n    \"tags\": [\"isn't\", \"is not\", \"verb\"]\n  }\n]"
  },
  {
    "path": "assets.lua",
    "content": "local assets = {}\n\nfunction assets.clear()\n  print(colr.cyan(\"ℹ️ clearing assets\"))\n\n  sprites = {}\n  palettes = {}\n  sound_path = {}\n  music_path = {}\n\n  tiles_list = {}\n  tiles_by_old_name = {}\n  text_list = {}\n  text_in_tiles = {}\n  wobble_text_list = {}\n  wobble_text_in_tiles = {}\n  group_names = {}\n  group_names_nt = {}\n  group_names_set = {}\n  group_names_set_nt = {}\n  group_subsets = {}\n  overlay_props = {}\nend\n\nfunction assets.load(base)\n  print(colr.cyan(\"ℹ️ loading \" .. base))\n\n  assets.addSprites(base)\n  print(colr.green(\"✓ added sprites\"))\n\n  assets.addTiles(base)\n  print(colr.green(\"✓ added tiles\"))\n\n  assets.addPalettes(base)\n  print(colr.green(\"✓ added palettes\"))\n\n  assets.addAudio(base)\n  print(colr.green(\"✓ added audio\"))\nend\n\nfunction assets.addSprites(base, d)\n  local dir = base..\"/sprites\"\n  if d then\n    dir = dir .. \"/\" .. d\n  end\n  local files = love.filesystem.getDirectoryItems(dir)\n  for _,file in ipairs(files) do\n    if string.sub(file, -4) == \".png\" then\n      local spritename = string.sub(file, 1, -5)\n      local sprite = love.graphics.newImage(dir .. \"/\" .. file)\n      if d then\n        spritename = d .. \"/\" .. spritename\n      end\n      sprites[spritename] = sprite\n      --print(colr.cyan(\"ℹ️ added sprite \"..spritename))\n    elseif love.filesystem.getInfo(dir .. \"/\" .. file).type == \"directory\" then\n      --print(colr.cyan(\"ℹ️ found sprite dir: \" .. file))\n      local newdir = file\n      if d then\n        newdir = d .. \"/\" .. newdir\n      end\n      assets.addSprites(base, newdir)\n    end\n  end\nend\n\nfunction assets.addTiles(base, d)\n  local dir = base..\"/tiles\"\n  if d then\n    dir = dir .. \"/\" .. d\n  end\n  local files = love.filesystem.getDirectoryItems(dir)\n  for _,file in ipairs(files) do\n    if string.sub(file, -5) == \".json\" then\n      local tiles = json.decode(love.filesystem.read(dir .. \"/\" .. file))\n      for _,tile in ipairs(tiles) do\n        addTile(tile)\n      end\n    elseif love.filesystem.getInfo(dir .. \"/\" .. file).type == \"directory\" then\n      local newdir = file\n      if d then\n        newdir = d .. \"/\" .. newdir\n      end\n      assets.addTiles(base, newdir)\n    end\n  end\nend\n\nfunction assets.addPalettes(base, d)\n  local dir = base..\"/palettes\"\n  if d then\n    dir = dir .. \"/\" .. d\n  end\n  local files = love.filesystem.getDirectoryItems(dir)\n  for _,file in ipairs(files) do\n    if string.sub(file, -4) == \".png\" then\n      local palettename = string.sub(file, 1, -5)\n      local data = love.image.newImageData(dir .. \"/\" .. file)\n      local sprite = love.graphics.newImage(data)\n      if d then\n        palettename = d .. \"/\" .. palettename\n      end\n      local palette = {}\n      palettes[palettename] = palette\n      palette.sprite = sprite\n      for x = 0, sprite:getWidth()-1 do\n        for y = 0, sprite:getHeight()-1 do\n          local r, g, b, a = data:getPixel(x, y)\n          palette[x + y * sprite:getWidth()] = {r, g, b, a}\n        end\n      end\n      --print(colr.cyan(\"ℹ added palette \"..palettename))\n    elseif love.filesystem.getInfo(dir .. \"/\" .. file).type == \"directory\" then\n      --print(colr.cyan(\"ℹ️ found palette dir: \" .. file))\n      local newdir = file\n      if d then\n        newdir = d .. \"/\" .. newdir\n      end\n      assets.addPalettes(base, newdir)\n    end\n  end\nend\n\nfunction assets.addAudio(base, d, type)\n  local dir = base..\"/audio\"\n  if d then\n    dir = dir .. \"/\" .. d\n  end\n  local files = love.filesystem.getDirectoryItems(dir)\n  for _,file in ipairs(files) do\n    if love.filesystem.getInfo(dir .. \"/\" .. file).type == \"directory\" then\n      local newdir = file\n      if d then\n        newdir = d .. \"/\" .. newdir\n      end\n      assets.addAudio(base, newdir, type or file)\n    else\n      local audioname = file\n      if file:ends(\".wav\") then audioname = file:sub(1, -5) end\n      if file:ends(\".mp3\") then audioname = file:sub(1, -5) end\n      if file:ends(\".ogg\") then audioname = file:sub(1, -5) end\n      if file:ends(\".flac\") then audioname = file:sub(1, -5) end\n      if file:ends(\".xm\") then audioname = file:sub(1, -4) end\n      --[[if d then\n        audioname = d .. \"/\" .. audioname\n      end]]\n      if type == \"sfx\" then\n        sound_path[audioname] = dir .. \"/\" .. file\n\n        if sounds and sounds[audioname] then\n          registerSound(audioname, sounds[audioname].volume)\n        end\n      elseif type == \"bgm\" then\n        music_path[audioname] = dir .. \"/\" .. file\n      end\n      --print(\"ℹ️ audio \"..audioname..\" added\")\n    end\n  end\nend\n\nreturn assets"
  },
  {
    "path": "audio.lua",
    "content": "local music_source = nil\n\nmusic_volume = 1\nsfx_volume = 1\n\ncurrent_music = \"\"\nmusic_fading = false\nsounds = {}\nlocal current_volume = 1\nlocal old_volume = 1\nlocal sound_instances = {}\n\nfunction registerSound(sound, volume)\n  sounds[sound] = {\n    data = love.sound.newSoundData(sound_path[sound]),\n    volume = volume or 1\n  }\n  --[[if not (sounds[sound].data) then\n    sounds[sound].data = love.sound.newSoundData(\"assets/audio/sfx/\" .. sound .. \".xm\")\n  end]]\nend\n\nfunction playSound(sound, volume, pitch)\n  if doing_past_turns and not do_past_effects then return end\n\n  if spookmode or scene == game and hasRule(\"?\",\"sing\",\"?\") then\n    volume = 0.01\n  end\n\n  if sounds[sound] then\n    if not sound_instances[sound] then\n      sound_instances[sound] = 0\n    end\n\n    local source = love.audio.newSource(sounds[sound].data, \"static\")\n\n    local adjusted_volume = 1/(2^sound_instances[sound])\n    source:setVolume((volume or 1) * adjusted_volume * sounds[sound].volume * sfx_volume)\n    source:setPitch(pitch or 1)\n\n    source:play()\n\n    sound_instances[sound] = sound_instances[sound] + 1\n    tick.delay(function() sound_instances[sound] = sound_instances[sound] - 1 end, sounds[sound].data:getDuration()/4)\n  end\nend\n\nfunction playMusic(music, volume)\n  if spookmode then\n    volume = 0.2\n    music = \"sayonabab\"\n  end\n\n  if music_source ~= nil then\n    music_source:stop()\n  end\n\n  current_volume = volume or 1\n  old_volume = volume or 1\n  \n  if music_path[music] then\n    music_source = love.audio.newSource(music_path[music], \"static\")\n  else\n    music_source = nil\n  end\n  if music_source ~= nil then\n    music_source:setLooping(true)\n    music_source:setVolume(current_volume * music_volume)\n    music_source:play()\n  end\n\n  current_music = music\nend\n\nfunction stopMusic()\n  if music_source ~= nil then\n    music_source:stop()\n    current_music = \"\"\n  end\nend\n\nfunction resetMusic(name,volume)\n  if spookmode then\n    volume = 0.01\n  end\n  \n  music_fading = false\n  if current_volume == 0 or not hasMusic() or current_music ~= name then\n    playMusic(name,volume)\n  else\n    current_volume = volume\n    old_volume = volume\n  end\nend\n\nfunction updateMusic()\n  if not settings[\"focus_sound\"] and not love.window.hasFocus() then\n    current_volume = 0\n  end\n  \n  if music_source ~= nil then\n    music_source:setVolume(current_volume * music_volume)\n  end\n  if music_fading then\n    if current_volume > 0 then\n      current_volume = math.max(0, current_volume - 0.01)\n    end\n  else\n    current_volume = old_volume;\n  end\nend\n\nfunction hasMusic()\n  return music_source ~= nil\nend"
  },
  {
    "path": "build_number",
    "content": "3252\n"
  },
  {
    "path": "conf.lua",
    "content": "function love.conf(t)\n    t.identity = \"bab\"\n    t.window.icon = \"assets/sprites/ui/baboutline.png\"\n    t.version = \"11.1\"\n    t.release = false\n    t.window.title = 'bab be u'\n    t.window.resizable = true\n    t.window.vsync = false\n    t.window.minwidth = 640\n    t.window.minheight = 360\n\n    --t.gammacorrect = true\n    --t.window.msaa = 4\n\n    t.modules.joystick = false\n    t.modules.physics = false\n    t.modules.video = false\n\n    t.console = false -- i mean, why turn it off?\n    -- because it looks weird and unprofessional to non-devs. just launch the game with lovec\nend\n"
  },
  {
    "path": "editor/loadscene.lua",
    "content": "local scene = {}\n\nworld_parent = \"\"\nworld = \"\"\nsub_worlds = {}\n\nlocal title_font, label_font, icon_font, name_font\nlocal components\nlocal searching = false\nlocal search_string = \"\"\n\nlocal scrollx = 0\nlocal scrolly = 0\nlocal scroll = {vel = 0, offset = 0}\n\nlocal full_height = 0\n\nlocal scroll_height\n\nlocal oldmousex, oldmousey = love.mouse.getPosition()\n\nlocal hasreplaylist = {}\n\nfunction scene.load()\n  metaClear()\n  clear()\n  was_using_editor = false\n  resetMusic(current_music, 0.5)\n  selected_levels = {}\n  scene.selecting = true\n  scene.buildUI()\n  love.keyboard.setKeyRepeat(true)\n\n  hasreplaylist = {}\n\n  presence = {\n    state = \"in \"..(load_mode == \"edit\" and \"editor\" or \"game\"),\n    details = \"browsing levels. .......... . .. ...\",\n    largeImageKey = \"cover\",\n    largeimageText = \"bab be u\",\n    smallImageKey = load_mode == \"edit\" and \"edit\" or \"icon\",\n    smallImageText = load_mode == \"edit\" and \"editor\" or \"game\",\n    startTimestamp = now\n  }\n  mobile_scroll_time = 0 -- when you started to press\n  mobile_scroll_start = 0 -- where you started to press\n  mobile_scroll_pos = 0 -- where the scroll bar started\nend\nmobile_scroll_delay = 0.1 -- how long you have to press to not click on a level\n\nfunction scene.update(dt)\n  scroll.offset = scroll.offset + scroll.vel * dt\n\n  if is_mobile then\n    if love.mouse.isDown(1) then\n      x, y = love.mouse.getPosition()\n      scroll.offset = mobile_scroll_pos + (mobile_scroll_start - y)\n    end\n  end\n\n  scroll.vel = scroll.vel - scroll.vel * math.min(dt * 10, 1)\n  if scroll.vel < 0.1 and scroll.vel > -0.1 then scroll.vel = 0 end\n  debugDisplay(\"scrollvel\", scroll.vel)\n  debugDisplay(\"scrolloffset\", scroll.offset)\n\n  scroll_height = math.max(0, full_height - love.graphics.getHeight())\n  debugDisplay(\"scrollheight\", scroll_height)\n\n  if ui.new_selected then\n    local o = ui.new_selected\n    local new_y = o:getY() + o:getHeight()/2 - love.graphics.getHeight()/2\n    new_y = math.max(0, math.min(scroll_height, new_y))\n    if new_y ~= scroll.offset then\n      addTween(tween.new(0.2, scroll, {offset = new_y}), \"load_scroll\")\n    end\n  end\n\n  if mouseOverBox(love.graphics.getWidth()-5, 0, 5, love.graphics.getHeight()) and love.mouse.isDown(1) then\n    scroll.offset = love.mouse.getY()/(love.graphics.getHeight()-20)*scroll_height\n    tweens[\"load_scroll\"] = nil\n  end\n\n  if scroll.offset > scroll_height then\n    scroll.offset = scroll_height\n    scroll.vel = 0\n  elseif scroll.offset < 0 then\n    scroll.offset = 0\n    scroll.vel = 0\n  end\n\n  if settings[\"scroll_on\"] then\n    scrollx = scrollx+75*dt\n    scrolly = scrolly+75*dt\n  else\n    scrollx, scrolly = 0,0\n  end\n\n  oldmousex, oldmousey = love.mouse.getPosition()\nend\n\nfunction scene.keyPressed(key)\n  if key == \"escape\" then\n    if searching then\n      searching = false\n      scene.buildUI()\n    elseif #sub_worlds > 0 then\n      table.remove(sub_worlds)\n      scene.buildUI()\n    elseif load_mode == \"select\" then\n      new_scene = editor\n      selected_level = nil\n      sub_worlds = old_world.sub_worlds\n    elseif world ~= \"\" then\n      if loaded_custom_assets then\n        unloadMod()\n        assets.clear()\n        assets.load(\"assets\")\n        loaded_custom_assets = false\n      end\n      world_parent = \"\"\n      world = \"\"\n      scene.buildUI()\n    else\n      new_scene = menu\n    end\n  elseif key == \"f\" and love.keyboard.isDown(\"lctrl\") and load_mode ~= \"select\" then\n    searching = true\n    search_string = \"\"\n    scene.buildUI()\n  elseif key == \"tab\" then\n    if load_mode == \"play\" then\n      load_mode = \"edit\"\n      scene.buildUI()\n    elseif load_mode == \"edit\" then\n      load_mode = \"play\"\n      scene.buildUI()\n    end\n  elseif key == \"f1\" and load_mode == \"edit\" then\n    load_mode = \"play\"\n    scene.buildUI()\n  elseif key == \"f2\" and load_mode == \"play\" then\n    load_mode = \"edit\"\n    scene.buildUI()\n  elseif key == \"f12\" then\n    print(\"Entering Unit Test mode.\")\n    runUnitTests(love.keyboard.isDown(\"lctrl\"))\n  end\nend\n\nlocal unit_tests_blacklist = { }\n--hugest offenders (make me want to die inside)\nunit_tests_blacklist[\"square fill 3\"] = true\nunit_tests_blacklist[\"square fill 4\"] = true\nunit_tests_blacklist[\"square fill 5\"] = true\nunit_tests_blacklist[\"square fill 6\"] = true\nunit_tests_blacklist[\"taek noetts\"] = true\nunit_tests_blacklist[\"sadd citty\"] = true\n--unit_tests_blacklist[\"remote txt\"] = true\n--huge offenders (>10 s)\nunit_tests_blacklist[\"square fill 2\"] = true\nunit_tests_blacklist[\"langton's bog\"] = true\nunit_tests_blacklist[\"merrim_weebster\"] = true\nunit_tests_blacklist[\"quick no1 puzzl\"] = true\nunit_tests_blacklist[\"with our powers combined___\"] = true\nunit_tests_blacklist[\"sudoku\"] = true\n--unit_tests_blacklist[\"f is for\"] = true\n--unit_tests_blacklist[\"wal be seeping\"] = true\n--borderline (7-10s)\nunit_tests_blacklist[\"bab get cleen\"] = true\nunit_tests_blacklist[\"bridge wronging\"] = true\nunit_tests_blacklist[\"echolocation\"] = true\nunit_tests_blacklist[\"i don c no pumkin!\"] = true\nunit_tests_blacklist[\"shhh, it's a secret\"] = true\nunit_tests_blacklist[\"better bab snek\"] = true\nunit_tests_blacklist[\"counter\"] = true\n--unit_tests_blacklist[\"clause\"] = true\n\nfunction runUnitTests(just_this_folder)\n  local start_time = love.timer.getTime()\n  unit_tests = true\n  local dir = \"levels/\"\n  if world ~= \"\" then dir = getWorldDir(true) .. \"/\" end\n  local levels = searchForLevels(dir)\n  local fail_levels = {}\n  local succ_levels = {}\n  local noreplay_levels = {}\n  load_mode = \"play\"\n  local worst_replay_name = nil\n  local worst_replay_time = 0\n  for _,v in ipairs(levels) do\n    level_filename = v.file\n    local dummy = level_filename:split('/');\n    local actual_name = dummy[#dummy];\n    if not just_this_folder or string.find(v.file, '/') == nil then\n      if (unit_tests_blacklist[actual_name]) then\n        print (actual_name..\" is blacklisted; skipping\")\n      else\n        if #sub_worlds > 0 then\n          level_filename = table.concat(sub_worlds, \"/\") .. \"/\" .. level_filename\n        end\n        local this_replay_start = love.timer.getTime()\n        scene.loadLevel(v.data, \"play\")\n        game.load()\n        tryStartReplay()\n        if replay_playback then\n          replay_playback_interval = 0\n          local still_going = true\n          while (still_going) do\n            still_going = doReplay(0)\n            cutscene_tick:update(1) --for past and other cutscenes\n          end\n          if not won_this_session then\n            table.insert(fail_levels, v.file)\n          else\n            table.insert(succ_levels, v.file)\n          end\n        else\n          table.insert(noreplay_levels, v.file)\n        end\n        local this_replay_end = love.timer.getTime()\n        local this_replay_time = this_replay_end-this_replay_start;\n        if this_replay_time > worst_replay_time then\n          worst_replay_time = this_replay_time\n          worst_replay_name = v.file\n        end\n      end\n    end\n\n  end\n  local end_time = love.timer.getTime()\n  print (\"Unit tested \" .. tostring(#succ_levels + #fail_levels) .. \" levels!\")\n  print (tostring(#noreplay_levels) .. \" levels lacked a replay: \" .. dump(noreplay_levels))\n  print (tostring(#succ_levels) .. \" levels passed: \" .. dump(succ_levels))\n  print (tostring(#fail_levels) .. \" levels failed: \" .. dump(fail_levels))\n  print(\"Unit tests took: \"..tostring(round((end_time-start_time)*10)/10)..\"s\")\n  print(\"Worst offender was \"..worst_replay_name..\" at \"..tostring(round((worst_replay_time)*10)/10)..\"s\")\n  unit_tests = false\nend\n\nfunction scene.wheelMoved(whx, why) -- The wheel moved, Why?\n  scroll.vel = scroll.vel + (-191 * why * 3)\n  tweens[\"load_scroll\"] = nil\n  -- why = \"well i dont fuckin know the person who moved it probably wanted it to move\"\nend\n\nfunction scene.getTransform()\n  local transform = love.math.newTransform()\n\n  transform:translate(0, -scroll.offset)\n\n  return transform\nend\n\nfunction scene.draw()\n  love.graphics.clear(0, 0, 0, 1)\n\n  local bgsprite = sprites[\"ui/bgs/\"..getTheme()]\n  if not bgsprite then bgsprite = sprites[\"ui/bgs/default\"] end\n  \n  if not settings[\"lessflashing\"] and getTheme() == \"halloween\" and (love.timer.getTime()%10 > 8.6 and love.timer.getTime()%10 < 8.7 or love.timer.getTime()%10 > 8.8 and love.timer.getTime()%10 < 8.9 or love.timer.getTime()%10 > 9)  then\n    bgsprite = sprites[\"ui/bgs/halloween_flash\"]\n  end\n\n  local cells_x = math.ceil(love.graphics.getWidth() / bgsprite:getWidth())\n  local cells_y = math.ceil(love.graphics.getHeight() / bgsprite:getHeight())\n\n  love.graphics.setColor(1, 1, 1, 0.6)\n  setRainbowModeColor(love.timer.getTime()/6, .4)\n  \n  if not spookmode then\n    for x = -1, cells_x do\n      for y = -1, cells_y do\n        local draw_x = scrollx % bgsprite:getWidth() + x * bgsprite:getWidth()\n        local draw_y = scrolly % bgsprite:getHeight() + y * bgsprite:getHeight()\n\n        if shake_dur > 0.1 then\n          draw_x = draw_x + math.random(-shake_intensity*16, shake_intensity*16)\n          draw_y = draw_y + math.random(-shake_intensity*16, shake_intensity*16)\n        end\n\n        love.graphics.draw(bgsprite, draw_x, draw_y)\n      end\n    end\n  end\n\n  -- ui\n  love.graphics.push()\n  love.graphics.applyTransform(scene.getTransform())\n  love.graphics.setColor(1, 1, 1, 1)\n\n  for i,o in ipairs(components) do\n    local xoffset = 0\n    local yoffset = 0\n\n    if shake_dur > 0.1 then\n      xoffset = xoffset + math.random(-shake_intensity*6, shake_intensity*6)\n      yoffset = yoffset + math.random(-shake_intensity*6, shake_intensity*6)\n    end\n\n    love.graphics.push()\n    love.graphics.translate(xoffset, yoffset)\n    o.rainbowoffset = i\n    o:draw()\n\n    if not ui.editing and love.keyboard.isDown(\"r\") and o.data.type == \"level\" then\n      local level_name = o.data.file\n\n      if hasreplaylist[level_name] == nil then\n        local dir = getWorldDir(true) .. \"/\"\n        if not (love.filesystem.getInfo(dir .. level_name .. \".replay\") or love.filesystem.getInfo(\"levels/\" .. level_name .. \".replay\")) then\n          print(\"not found: \" .. dir .. level_name .. \".replay\")\n          hasreplaylist[level_name] = true\n        else\n          hasreplaylist[level_name] = false\n        end\n      end\n\n      if hasreplaylist[level_name] then\n        love.graphics.setColor(1, 0, 0)\n        love.graphics.draw(sprites[\"ui/x\"], o.x-16, o.y-16)\n      end\n    end\n\n    love.graphics.pop()\n  end\n\n  love.graphics.pop()\n  \n  if scroll_height > 0 then\n    love.graphics.setColor(0.6,0.6,0.6,0.3)\n    love.graphics.rectangle(\"fill\", love.graphics.getWidth()-5, 0, 5, love.graphics.getHeight())\n\n    love.graphics.setColor(0.6,0.6,0.6)\n    love.graphics.rectangle(\"fill\", love.graphics.getWidth()-5, scroll.offset/scroll_height*(love.graphics.getHeight()-20), 5, 20)\n  end\n\n  gooi.draw()\nend\n\nfunction scene.loadLevel(data, new)\n  local loaddata = love.data.decode(\"string\", \"base64\", data.map)\n  level_compression = data.compression or \"zlib\"\n  local mapstr = loadMaybeCompressedData(loaddata)\n\n  loaded_level = not new\n\n  level_name = data.name\n  level_author = data.author or \"\"\n  level_extra = data.extra\n  current_palette = data.palette or \"default\"\n  map_music = data.music or \"bab be u them\"\n  mapwidth = data.width\n  mapheight = data.height\n  map_ver = data.version or 0\n  level_parent_level = data.parent_level or \"\"\n  level_next_level = data.next_level or \"\"\n  level_is_overworld = data.is_overworld or false\n  level_puffs_to_clear = data.puffs_to_clear or 0\n  level_background_sprite = data.background_sprite or \"\"\n\n  if map_ver == 0 then\n    maps = {{data = loadstring(\"return \" .. mapstr)(), info = data}}\n  else\n    maps = {{data = mapstr, info = data}}\n  end\n\n  if load_mode == \"edit\" then\n    new_scene = editor\n  elseif load_mode == \"play\" then\n    new_scene = game\n  end\n\n  local dir = \"levels/\"\n  if world ~= \"\" then dir = getWorldDir(true) .. \"/\" end\n  icon_data = getIcon(dir .. level_name)\nend\n\nfunction scene.buildUI()\n  local sw, sh = love.graphics.getWidth(), love.graphics.getHeight()\n\n  components = {}\n\n  local oy = 4\n  if searching then\n    local text = search_string:upper()\n    if text == \"\" then\n      text = \"ENTER SEARCH\"\n    end\n\n    local title_width, title_height = ui.fonts.title:getWidth(text), ui.fonts.title:getHeight()\n    local search_label = ui.text_input.new()\n      :setText(text)\n      :setFont(ui.fonts.title)\n      :setPos(0, oy)\n      :setSize(love.graphics.getWidth(), title_height)\n      :onReturn(function(o)\n        search_string = o:getText():lower()\n        scene.buildUI()\n      end)\n      :onTextEdited(function(o) \n        o:setText(o:getText():upper())\n      end)\n    search_label:setTextHoverColor(0.75, 0.75, 0.75)\n    search_label:onReleased(function(o) \n      if o:getText():lower() == \"enter search\" then\n        o:setText(\"\")\n      end\n      ui.setEditing(o)\n    end)\n\n    table.insert(components, search_label)\n    oy = oy + title_height + 24\n  elseif world ~= \"\" then\n    local title_text = world:upper()\n    local small_text\n\n    if #sub_worlds > 0 then\n      title_text = sub_worlds[#sub_worlds]:upper()\n      local less_worlds = deepCopy(sub_worlds)\n      table.remove(less_worlds)\n      table.insert(less_worlds, 1, world)\n      small_text = table.concat(less_worlds, \" > \"):upper()\n    end\n  \n    local title_y = oy\n    local title_width, title_height = ui.fonts.title:getWidth(title_text), ui.fonts.title:getHeight()\n    local world_folder\n    local world_label = ui.text_input.new()\n      :setText(title_text)\n      :setFont(ui.fonts.title)\n      :setPos(0, title_y)\n      :setSize(love.graphics.getWidth(), title_height)\n      :onReturn(scene.renameWorld)\n      :onTextEdited(function(o) \n        o:setText(o:getText():upper())\n        local width, height = o:getFont():getWidth(o:getText()), ui.fonts.title:getHeight()\n        if world_folder then\n          world_folder:setPos(love.graphics.getWidth()/2 - width/2 - sprites[\"ui/open_folder\"]:getWidth(), title_y + height/2)\n        end\n      end)\n    if load_mode == \"edit\" and world_parent ~= \"officialworlds\" and world ~= \"\" then\n      world_label:setTextHoverColor(0.75, 0.75, 0.75)\n      world_label:onReleased(function(o) ui.setEditing(o) end)\n    end\n    table.insert(components, world_label)\n    if load_mode == \"edit\" and not is_mobile then\n      world_folder = ui.component.new()\n        :setSprite(sprites[\"ui/open_folder\"]):setHoverSprite(sprites[\"ui/open_folder_h\"]):setActiveSprite(sprites[\"ui/open_folder_a\"])\n        :setPos(love.graphics.getWidth()/2 - title_width/2 - sprites[\"ui/open_folder\"]:getWidth(), title_y + title_height/2):setCentered(true)\n        :onReleased(function()\n          if world_parent ~= \"officialworlds\" then\n            love.system.openURL(\"file:///\"..love.filesystem.getSaveDirectory()..\"/\"..getWorldDir(true)..\"/\")\n          else\n            love.system.openURL(\"file:///\"..love.filesystem.getSource()..\"/\"..getWorldDir(true)..\"/\")\n          end\n        end):setSelectable(false)\n      table.insert(components, world_folder)\n    end\n\n    oy = oy + title_height\n\n    if small_text then\n      local sub_width, sub_height = ui.fonts.category:getWidth(small_text), ui.fonts.category:getHeight()\n      table.insert(components, ui.component.new()\n        :setText(small_text)\n        :setFont(ui.fonts.category)\n        :setPos(0, oy)\n        :setSize(love.graphics.getWidth(), sub_height))\n\n      oy = oy + sub_height\n    end\n\n    oy = oy + 24\n  end\n\n  if searching then\n    local outside_levels = searchForLevels(\"levels\", search_string)\n    local world_levels = searchForLevels(\"worlds\", search_string)\n    local official_levels = searchForLevels(\"officialworlds\", search_string)\n\n    local function makeLevelButtons(levels, parent)\n      local btns = {}\n      for _,level in ipairs(levels) do\n        local file = level.file\n        local world = {world = \"\", world_parent = parent, sub_worlds = {}}\n        local path = split(level.file, \"/\")\n        if #path > 1 then\n          file = path[#path]\n          world.world = path[1]\n          table.remove(path, 1)\n          table.remove(path)\n          for _,sub in ipairs(path) do\n            table.insert(world.sub_worlds, sub)\n          end\n        end\n        local f\n        if parent == \"\" then\n          f = \"levels/\" .. level.file\n        else\n          f = parent .. \"/\" .. level.file\n        end\n        local icon = getIcon(f) or sprites[\"ui/default icon\"]\n        table.insert(btns, {\n          file = file,\n          data = level.data,\n          world = world,\n          icon = icon\n        })\n      end\n      return btns\n    end\n\n    local levels = {}\n    mergeTable(levels, makeLevelButtons(outside_levels, \"\"))\n    mergeTable(levels, makeLevelButtons(official_levels, \"officialworlds\"))\n    mergeTable(levels, makeLevelButtons(world_levels, \"worlds\"))\n\n    table.sort(levels, function(a, b)\n      return a.file < b.file\n    end)\n\n    oy = scene.addButtons(\"level\", levels, oy)\n  elseif world == \"\" then\n    if load_mode ~= \"select\" then\n      local worlds = scene.searchDir(\"officialworlds\", \"world\")\n      if #worlds > 0 then\n        local label_width, label_height = ui.fonts.category:getWidth(spookmode and \"no\" or \"Official Worlds\"), ui.fonts.category:getHeight()\n        table.insert(components, ui.component.new()\n          :setText(spookmode and \"no\" or \"Official Worlds\")\n          :setFont(ui.fonts.category)\n          :setPos(0, oy)\n          :setSize(love.graphics.getWidth(), label_height))\n        if load_mode == \"edit\" and not is_mobile then\n          table.insert(components, ui.component.new()\n            :setSprite(sprites[\"ui/open_folder\"]):setHoverSprite(sprites[\"ui/open_folder_h\"]):setActiveSprite(sprites[\"ui/open_folder_a\"])\n            :setPos(love.graphics.getWidth()/2 - label_width/2 - sprites[\"ui/open_folder\"]:getWidth(), oy + label_height/2):setCentered(true)\n            :onReleased(function()\n              love.system.openURL(\"file:///\"..love.filesystem.getSource()..\"/officialworlds/\")\n            end):setSelectable(false))\n        end\n        oy = oy + label_height + 8\n\n        oy = scene.addButtons(\"world\", worlds, oy)\n      end\n\n      worlds = scene.searchDir(\"worlds\", \"world\")\n      if #worlds > 0 or load_mode == \"edit\" then\n        local label_width, label_height = ui.fonts.category:getWidth(spookmode and \"stop\" or \"Custom Worlds\"), ui.fonts.category:getHeight()\n        table.insert(components, ui.component.new()\n          :setText(spookmode and \"stop\" or \"Custom Worlds\")\n          :setFont(ui.fonts.category)\n          :setPos(0, oy)\n          :setSize(love.graphics.getWidth(), label_height))\n        if load_mode == \"edit\" and not is_mobile then\n          table.insert(components, ui.component.new()\n            :setSprite(sprites[\"ui/open_folder\"]):setHoverSprite(sprites[\"ui/open_folder_h\"]):setActiveSprite(sprites[\"ui/open_folder_a\"])\n            :setPos(love.graphics.getWidth()/2 - label_width/2 - sprites[\"ui/open_folder\"]:getWidth(), oy + label_height/2):setCentered(true)\n            :onReleased(function()\n              if not love.filesystem.getInfo(\"worlds\") then\n                love.filesystem.createDirectory(\"worlds\")\n              end\n              love.system.openURL(\"file:///\"..love.filesystem.getSaveDirectory()..\"/worlds/\")\n            end):setSelectable(false))\n        end\n        oy = oy + label_height + 8\n\n        if load_mode == \"edit\" and world_parent ~= \"officialworlds\" then\n          table.insert(worlds, 1, {\n            create = true,\n            name = \"new world\",\n            path = \"worlds\",\n            icon = sprites[\"ui/create icon\"]\n          })\n        end\n\n        oy = scene.addButtons(\"world\", worlds, oy)\n      end\n    end\n\n    local levels = scene.searchDir(\"levels\", \"level\")\n    if #levels > 0 or load_mode == \"edit\" then\n      local label_width, label_height = ui.fonts.category:getWidth(spookmode and \"what is this\" or \"Custom Levels\"), ui.fonts.category:getHeight()\n      table.insert(components, ui.component.new()\n        :setText(spookmode and \"what is this\" or \"Custom Levels\")\n        :setFont(ui.fonts.category)\n        :setPos(0, oy)\n        :setSize(love.graphics.getWidth(), label_height))\n      if load_mode == \"edit\" and not is_mobile then\n        table.insert(components, ui.component.new()\n          :setSprite(sprites[\"ui/open_folder\"]):setHoverSprite(sprites[\"ui/open_folder_h\"]):setActiveSprite(sprites[\"ui/open_folder_a\"])\n          :setPos(love.graphics.getWidth()/2 - label_width/2 - sprites[\"ui/open_folder\"]:getWidth(), oy + label_height/2):setCentered(true)\n          :onReleased(function()\n            if not love.filesystem.getInfo(\"levels\") then\n              love.filesystem.createDirectory(\"levels\")\n            end\n            love.system.openURL(\"file:///\"..love.filesystem.getSaveDirectory()..\"/levels/\")\n          end):setSelectable(false))\n      end\n      oy = oy + label_height + 8\n\n      if load_mode == \"edit\" and world_parent ~= \"officialworlds\" then\n        table.insert(levels, 1, {\n          create = true,\n          file = \"{DEFAULT}\",\n          data = json.decode(default_map),\n          icon = sprites[\"ui/create icon\"]\n        })\n      end\n\n      oy = scene.addButtons(\"level\", levels, oy)\n    end\n  else\n    local worlds = scene.searchDir(getWorldDir(true), \"world\")\n    if #worlds > 0 or load_mode == \"edit\" then\n      local label_width, label_height = ui.fonts.category:getWidth(\"Worlds\"), ui.fonts.category:getHeight()\n      table.insert(components, ui.component.new()\n        :setText(\"Worlds\")\n        :setFont(ui.fonts.category)\n        :setPos(0, oy)\n        :setSize(love.graphics.getWidth(), label_height))\n      oy = oy + label_height + 8\n\n      if load_mode == \"edit\" and world_parent ~= \"officialworlds\" then\n        table.insert(worlds, 1, {\n          create = true,\n          name = \"new world\",\n          path = world_parent,\n          icon = sprites[\"ui/create icon\"]\n        })\n      end\n\n      oy = scene.addButtons(\"world\", worlds, oy)\n    end\n\n    local levels = scene.searchDir(getWorldDir(true), \"level\")\n    if #levels > 0 or load_mode == \"edit\" then\n      local label_width, label_height = ui.fonts.category:getWidth(\"Levels\"), ui.fonts.category:getHeight()\n      table.insert(components, ui.component.new()\n        :setText(\"Levels\")\n        :setFont(ui.fonts.category)\n        :setPos(0, oy)\n        :setSize(love.graphics.getWidth(), label_height))\n      oy = oy + label_height + 8\n\n      if load_mode == \"edit\" and world_parent ~= \"officialworlds\" then\n        table.insert(levels, 1, {\n          create = true,\n          file = \"{DEFAULT}\",\n          data = json.decode(default_map),\n          icon = sprites[\"ui/create icon\"]\n        })\n      end\n\n      oy = scene.addButtons(\"level\", levels, oy)\n    end\n  end\n\n  full_height = oy + 8\nend\n\nfunction scene.searchDir(dir, type)\n  local ret = {}\n  local dirs = love.filesystem.getDirectoryItems(dir)\n\n  local filtered = filter(dirs, function(file)\n    if type == \"world\" then\n      return file ~= \"assets\" and love.filesystem.getInfo(dir .. \"/\" .. file) and love.filesystem.getInfo(dir .. \"/\" .. file).type == \"directory\"\n    elseif type == \"level\" then\n      return file:ends(\".bab\")\n    end\n  end)\n\n  table.sort(filtered, function(a, b)\n    local a_, b_ = a, b\n    if type == \"level\" then\n      a_ = a:sub(1, -5)\n      b_ = b:sub(1, -5)\n    end\n    return a_ < b_\n  end)\n\n  for _,file in ipairs(filtered) do\n    local t = {}\n    if type == \"world\" then\n      t.name = file\n      t.path = dir\n      if love.filesystem.getInfo(dir .. \"/\" .. file .. \"/icon.png\") then\n        t.icon = love.graphics.newImage(dir .. \"/\" .. file .. \"/icon.png\")\n      end\n    elseif type == \"level\" then\n      t.file = file:sub(1, -5)\n      t.data = json.decode(love.filesystem.read(dir .. \"/\" .. file))\n      if spookmode then\n        t.icon = love.graphics.newImage(\"assets/sprites/ui/bxb bx x.jpg\")\n      else\n        t.icon = getIcon(dir .. \"/\" .. t.file) or sprites[\"ui/default icon\"]\n      end\n    end\n    table.insert(ret, t)\n  end\n  return ret\nend\n\nfunction scene.addButtons(type, list, oy)\n  local sw = love.graphics.getWidth()\n  local btn_width, btn_height\n  if type == \"world\" then\n    btn_width, btn_height = sprites[\"ui/world box\"]:getWidth(), sprites[\"ui/world box\"]:getHeight()\n  elseif type == \"level\" then\n    btn_width, btn_height = sprites[\"ui/level box\"]:getWidth(), sprites[\"ui/level box\"]:getHeight()\n  end\n  local final_list = {}\n  for i,v in ipairs(list) do\n    local row = math.floor((i - 1) / math.floor(sw / (btn_width + 8))) + 1\n    if not final_list[row] then\n      final_list[row] = {}\n    end\n    table.insert(final_list[row], v)\n  end\n  for row,cols in ipairs(final_list) do\n    local width = (btn_width * #cols) + ((#cols - 1) * 8)\n    local ox = (sw / 2) - (width / 2)\n    for col,v in ipairs(cols) do\n      local button\n      if type == \"world\" then\n        button = ui.world_button.new(v.path):setName(v.name):setIcon(v.icon):setPos(ox, oy)\n        if v.create then\n          button:onReleased(scene.createWorld)\n        else\n          button:onReleased(scene.selectWorld)\n        end\n      elseif type == \"level\" then\n        button = ui.level_button.new(v.file, v.data.extra):setIcon(v.icon):setPos(ox, oy)\n        if v.world then\n          button.data.world = v.world\n        end\n        if v.create then\n          button:onReleased(scene.createLevel)\n        else\n          button:onReleased(scene.selectLevel)\n          button:setName(v.data.name)\n        end\n      end\n      table.insert(components, button)\n      ox = ox + btn_width + 8\n    end\n    oy = oy + btn_height + 8\n  end\n  return oy\nend\n\nfunction scene.addFolderBtn(x, y, dir)\n  if love.filesystem.getInfo(\"levels\") then\n    love.system.openURL(\"file:///\"..love.filesystem.getSaveDirectory()..\"/levels/\")\n  else\n    love.system.openURL(\"file:///\"..love.filesystem.getSaveDirectory())\n  end\nend\n\nfunction scene.resize(w, h)\n  scene.buildUI()\nend\n\nfunction scene.renameWorld(o, text)\n  local world_dir_tree = split(getWorldDir(true), \"/\")\n  table.remove(world_dir_tree)\n  renameDir(getWorldDir(true), table.concat(world_dir_tree, \"/\") .. \"/\" .. text:lower())\n  if #sub_worlds == 0 then\n    world = text:lower()\n  else\n    sub_worlds[#sub_worlds] = text:lower()\n  end\n  scene.buildUI()\nend\n\nfunction scene.createWorld(o)\n  if is_mobile and love.timer.getTime() - mobile_scroll_time > mobile_scroll_delay then return end\n  if world == \"\" then\n    world = o:getName()\n    world_parent = o.data.file\n  else\n    table.insert(sub_worlds, o:getName())\n  end\n  love.filesystem.createDirectory(getWorldDir(true))\n  scene.buildUI()\nend\n\nfunction scene.createLevel(o)\n  if is_mobile and love.timer.getTime() -mobile_scroll_time > mobile_scroll_delay then return end\n  local level_to_load = \"{DEFAULT}\"\n  if #sub_worlds > 0 then level_to_load = table.concat(sub_worlds, \"/\") .. \"/\" .. level_to_load end\n  loadLevels({level_to_load}, load_mode)\n  loaded_level = false\n\tlevel_compression = settings[\"level_compression\"]\nend\n\nfunction scene.selectWorld(o, button)\n  if is_mobile and love.timer.getTime() -mobile_scroll_time > mobile_scroll_delay then return end\n  if button == 1 then\n    if o.data.deleting then\n      o.data.deleting = 0\n      o:setColor()\n      o:setSprite(sprites[\"ui/world box\"])\n    else\n      hasreplaylist = {}\n      if world == \"\" then\n        world = o:getName()\n        world_parent = o.data.file\n        if love.filesystem.getInfo(getWorldDir(true) .. \"/\" .. \"assets\") then\n          assets.load(getWorldDir(true) .. \"/\" .. \"assets\")\n          loadMod()\n          loaded_custom_assets = true\n        end\n      else\n        table.insert(sub_worlds, o:getName())\n      end\n      if load_mode == \"play\" and love.filesystem.getInfo(getWorldDir(true) .. \"/\" .. \"overworld.txt\") then\n        local overworld = love.filesystem.read(getWorldDir(true) .. \"/\" .. \"overworld.txt\")\n        loadWorld(overworld)\n        playing_world = true\n      else\n        scene.buildUI()\n      end\n    end\n  elseif button == 2 then\n    if o.data.file ~= \"officialworlds\" then\n      if not o.data.deleting then\n        o.data.deleting = 1\n        o:setColor(1, 1, 1)\n        o:setSprite(sprites[\"ui/world box delete\"])\n        shakeScreen(0.4, 0.2)\n        playSound(\"move\")\n      elseif o.data.deleting == 1 then\n        o.data.deleting = 2\n        o:setSprite(sprites[\"ui/world box delete 2\"])\n        shakeScreen(0.4, 0.3)\n        playSound(\"unlock\")\n      elseif o.data.deleting == 2 then\n        if world == \"\" then\n          deleteDir(o.data.file .. \"/\" .. o:getName())\n        else\n          deleteDir(getWorldDir(true) .. \"/\" .. o:getName())\n        end\n        playSound(\"break\")\n        shakeScreen(0.5, 0.4)\n        scene.buildUI()\n      end\n    else\n      playSound(\"fail\")\n    end\n  end\nend\n\nfunction scene.mousePressed(x, y, button)\n  if is_mobile then\n    local scrollbutton = false\n\n    if pointInside(x, y, love.graphics.getWidth()-10-sprites[\"ui/arrow up\"]:getWidth(), 10, sprites[\"ui/arrow up\"]:getWidth(), sprites[\"ui/arrow up\"]:getHeight()) then\n      scroll.vel = scroll.vel - 400\n      scrollbutton = true\n    end\n    if pointInside(x, y, love.graphics.getWidth()-10-sprites[\"ui/arrow down\"]:getWidth(), love.graphics.getHeight()-10-sprites[\"ui/arrow down\"]:getHeight(), sprites[\"ui/arrow down\"]:getWidth(), sprites[\"ui/arrow down\"]:getHeight()) then\n      scroll.vel = scroll.vel + 400\n      scrollbutton = true\n    end\n\n    if not scrollbutton then\n      mobile_scroll_start = y\n      mobile_scroll_pos = scroll.offset\n      mobile_scroll_time = love.timer.getTime()\n    end\n  end\nend\n\nfunction scene.selectLevel(o, button)\n  if is_mobile and love.timer.getTime() -mobile_scroll_time > mobile_scroll_delay then return end\n  if button == 1 then\n    if o.data.deleting then\n      o.data.deleting = nil\n      o:setColor()\n      o:setSprite(sprites[\"ui/level box\"])\n    else\n      if not searching then\n        local file = o.data.file\n        if #sub_worlds > 0 then file = table.concat(sub_worlds, \"/\") .. \"/\" .. file end\n        if love.keyboard.isDown(\"lshift\") then\n          if o.data.selected then\n            o:setColor()\n            o.data.selected = false\n            removeFromTable(selected_levels, file)\n          else\n            o:setColor(0.5, 0.25, 1)\n            o.data.selected = true\n            table.insert(selected_levels, file)\n          end\n        else\n          if load_mode == \"select\" then\n            new_scene = editor\n            selected_level.level = file\n            selected_level.name = o:getName()\n            sub_worlds = old_world.sub_worlds\n          else\n            if not o.data.selected then\n              o.data.selected = true\n              table.insert(selected_levels, file)\n            end\n            loadLevels(selected_levels, load_mode)\n          end\n        end\n      else\n        world = o.data.world.world\n        world_parent = o.data.world.world_parent\n        sub_worlds = o.data.world.sub_worlds\n\n        local file = o.data.file\n        if #sub_worlds > 0 then file = table.concat(sub_worlds, \"/\") .. \"/\" .. file end\n\n        loadLevels({file}, load_mode)\n      end\n    end\n  elseif button == 2 then\n    if #selected_levels > 0 then\n      for _,o in ipairs(components) do\n        if o.data.selected then\n          o:setColor()\n          o.data.selected = false\n        end\n      end\n      selected_levels = {}\n    elseif world_parent ~= \"officialworlds\" and (not o.data.world or o.data.world.world_parent ~= \"officialworlds\") then\n      if not o.data.deleting then\n        o.data.deleting = 1\n        o:setColor(1, 1, 1)\n        o:setSprite(sprites[\"ui/level box delete\"])\n        shakeScreen(0.3, 0.1)\n        playSound(\"move\")\n      elseif o.data.deleting == 1 then\n        o.data.deleting = 2\n        o:setSprite(sprites[\"ui/level box delete 2\"])\n        shakeScreen(0.3, 0.2)\n        playSound(\"unlock\")\n      elseif o.data.deleting == 2 then\n        local dir = \"levels/\"\n        if o.data.world then\n          if o.data.world.world ~= \"\" then\n            dir = o.data.world.world_parent .. \"/\" .. o.data.world.world .. \"/\"\n            if #o.data.world.sub_worlds > 0 then\n              dir = dir .. table.concat(o.data.world.sub_worlds, \"/\") .. \"/\"\n            end\n          end\n        elseif world ~= \"\" then dir = getWorldDir(true) .. \"/\" end\n        love.filesystem.remove(dir .. o.data.file .. \".bab\")\n        love.filesystem.remove(dir .. o.data.file .. \".png\")\n        love.filesystem.remove(dir .. o.data.file .. \".replay\")\n        playSound(\"break\")\n        shakeScreen(0.4, 0.3)\n        scene.buildUI()\n      end\n    else\n      playSound(\"fail\")\n    end\n  end\nend\n\nreturn scene\n"
  },
  {
    "path": "editor/oldloadscene.lua",
    "content": "local scene = {}\n\nlocal title_font, label_font\nlocal ui = {}\n\nlocal width, height\nlocal buttonheight, buttonheight\nlocal buttons = {}\n\nlocal world = nil\n\nlocal scrollx = 0\nlocal scrolly = 0\n\nlocal scrolloffset = -1\nlocal scrollvel = 0\n\nlocal stopscrolltutorial = 1.0\n\n--[[\n  Math notes:\n  world/level boxes are drawn with a width of 124, meaning 6 can fit with 8 pixels between them\n]]\n\nfunction scene.load()\n  stopscrolltutorial = 1.0\n  buttons = {}\n  offbuttons = {} --not to be intepreted as \"off buttons\"\n\n  local files = love.filesystem.getDirectoryItems(\"levels\")\n  local offfiles = love.filesystem.getDirectoryItems(\"officiallevels\")\n  for i,file in ipairs(files) do\n    --print(file)\n    if file:sub(-4) == \".bab\" then\n      local file = love.filesystem.read(\"levels/\" .. file)\n\n      if file ~= nil then\n        local data = json.decode(file)\n\n        table.insert(buttons, data)\n      end\n    end\n  end\n  --print(\"official levels\")\n  for i,file in ipairs(offfiles) do\n    --print(file)\n    if file:sub(-4) == \".bab\" then\n      local file = love.filesystem.read(\"officiallevels/\" .. file)\n\n      if file ~= nil then\n        local data = json.decode(file)\n\n        table.insert(offbuttons, data)\n      end\n    end\n  end\n\n  scene.updateWindowSize()\nend\n\nfunction scene.update(dt)\n  scene.updateWindowSize()\n\n  if scrolloffset > (#buttons+#offbuttons)*(0-buttonheight-10)-10+height and scrolloffset < 0 then\n    scrolloffset = scrolloffset + scrollvel * dt\n  elseif scrolloffset < (#buttons+#offbuttons)*(0-buttonheight-10)-10+height then\n    scrolloffset = (#buttons+#offbuttons)*(0-buttonheight-10)-9+height\n  elseif scrolloffset > 0 then\n    scrolloffset = -1\n  end\n  scrollx = scrollx+0.1\n  scrolly = scrolly+0.1\n\n  scrollvel = scrollvel - scrollvel * math.min(dt * 10, 1)\n  if scrollvel < 0.1 and scrollvel > -0.1 then scrollvel = 0 end\n  debugDisplay(\"scrollvel\", scrollvel)\n  debugDisplay(\"scrolloffset\", scrolloffset)\n\n  if height > (#buttons+#offbuttons)*(buttonheight+10)+10 then\n    scrolloffset = 0\n  end\nend\n\nfunction scene.mousePressed(x, y, button)\n  for i,button in ipairs(buttons) do\n    if mouseOverBox(width/2-buttonwidth/2, buttonheight/2+(buttonheight+10)*(i-1)+scrolloffset, buttonwidth, buttonheight) then\n      scene.loadLevel(button)\n    end\n  end\n  for i,button in ipairs(offbuttons) do\n    if mouseOverBox(width/2-buttonwidth/2, buttonheight/2+(buttonheight+10)*(i+#buttons)+scrolloffset, buttonwidth, buttonheight) then\n      scene.loadLevel(button)\n    end\n  end\nend\n\nfunction scene.draw(dt)\n  if stopscrolltutorial < 1 and stopscrolltutorial > 0 then\n    stopscrolltutorial = stopscrolltutorial - dt\n  end\n\n  love.graphics.setBackgroundColor(0.10, 0.1, 0.11)\n\n  local bgsprite = sprites[\"ui/menu_background\"]\n\n  -- no need to insult me, i know this is terrible code\n  love.graphics.setColor(1, 1, 1, 0.6)\n  love.graphics.draw(bgsprite, scrollx%bgsprite:getWidth(), scrolly%bgsprite:getHeight(), 0)\n  \n  love.graphics.draw(bgsprite, scrollx%bgsprite:getWidth()-bgsprite:getWidth(), scrolly%bgsprite:getHeight()-bgsprite:getHeight(), 0)\n  love.graphics.draw(bgsprite, scrollx%bgsprite:getWidth()-bgsprite:getWidth(), scrolly%bgsprite:getHeight(), 0)\n  love.graphics.draw(bgsprite, scrollx%bgsprite:getWidth(), scrolly%bgsprite:getHeight()-bgsprite:getHeight(), 0)\n\n  love.graphics.draw(bgsprite, scrollx%bgsprite:getWidth()+bgsprite:getWidth(), scrolly%bgsprite:getHeight()+bgsprite:getHeight(), 0)\n  love.graphics.draw(bgsprite, scrollx%bgsprite:getWidth()+bgsprite:getWidth(), scrolly%bgsprite:getHeight(), 0)\n  love.graphics.draw(bgsprite, scrollx%bgsprite:getWidth(), scrolly%bgsprite:getHeight()+bgsprite:getHeight(), 0)\n\n  love.graphics.draw(bgsprite, scrollx%bgsprite:getWidth()+bgsprite:getWidth(), scrolly%bgsprite:getHeight()-bgsprite:getHeight(), 0)\n  love.graphics.draw(bgsprite, scrollx%bgsprite:getWidth()-bgsprite:getWidth(), scrolly%bgsprite:getHeight()+bgsprite:getHeight(), 0)\n\n  if height < (#buttons+#offbuttons)*(buttonheight+10)+10 and stopscrolltutorial > 0 then\n    love.graphics.setColor(1, 1, 1, stopscrolltutorial)\n    love.graphics.print(\"press up and down arrows or use the scrollbar to scroll\")\n  end\n\n  for i,button in ipairs(buttons) do\n    love.graphics.setColor(1, 1, 1)\n\n    if mouseOverBox(width/2-buttonwidth/2, buttonheight/2+(buttonheight+10)*(i-1)+scrolloffset, buttonwidth, buttonheight) then love.graphics.setColor(.9, .9, .9) end\n    love.graphics.draw(sprites[\"ui/button_\"..i%2+1], width/2-buttonwidth/2, buttonheight/2+(buttonheight+10)*(i-1)+scrolloffset, 0, buttonwidth/sprites[\"ui/button_\"..i%2+1]:getWidth(), buttonheight/sprites[\"ui/button_1\"]:getHeight())\n\n    love.graphics.setColor(1,1,1)\n    \n    love.graphics.printf(button.name, width/2-buttonwidth/2, buttonheight/2+(buttonheight+10)*(i-1)+5+scrolloffset, buttonwidth, \"center\")\n  end\n\n  if #offbuttons ~= 0 then\n    love.graphics.printf(\"official levels\", width/2-buttonwidth/2, buttonheight/2+(buttonheight+10)*(#buttons)+5+scrolloffset, buttonwidth, \"center\")\n  end\n\n  for i,button in ipairs(offbuttons) do\n    love.graphics.setColor(237/255, 114/255, 0) -- too lazy to enter colors manually\n\n    if mouseOverBox(width/2-buttonwidth/2, buttonheight/2+(buttonheight+10)*(i+#buttons)+scrolloffset, buttonwidth, buttonheight) then love.graphics.setColor(237/255-0.1, 114/255-0.1, 0) end\n    love.graphics.draw(sprites[\"ui/button_white_\"..i%2+1], width/2-buttonwidth/2, buttonheight/2+(buttonheight+10)*(i+#buttons)+scrolloffset, 0, buttonwidth/sprites[\"ui/button_white_\"..i%2+1]:getWidth(), buttonheight/sprites[\"ui/button_white_1\"]:getHeight())\n\n    love.graphics.setColor(1,1,1)\n    \n    love.graphics.printf(button.name, width/2-buttonwidth/2, buttonheight/2+(buttonheight+10)*(i+#buttons)+5+scrolloffset, buttonwidth, \"center\")\n  end\n\n  local icon = scene.generateIcon(\"BAB BE U\")\n  love.graphics.draw(icon)\nend\n\nfunction scene.updateWindowSize()\n  width = love.graphics.getWidth()\n  height = love.graphics.getHeight()\n\n  buttonheight = height*0.05\n  buttonwidth = width*0.375\nend\n\nfunction scene.loadLevel(data)\n  local loaddata = love.data.decode(\"string\", \"base64\", data.map)\n  level_compression = data.compression or \"zlib\"\n  local mapstr = loadMaybeCompressedData(loaddata)\n\n  loaded_level = true\n\n  level_name = data.name\n  level_author = data.author or \"\"\n  current_palette = data.palette or \"default\"\n  map_music = data.music or \"bab be u them\"\n  mapwidth = data.width\n  mapheight = data.height\n  map_ver = data.version or 0\n  level_parent_level = data.parent_level or \"\"\n  level_next_level = data.next_level or \"\"\n  level_is_overworld = data.is_overworld or false\n  level_puffs_to_clear = data.puffs_to_clear or 0\n  level_background_sprite = data.background_sprite or \"\"\n\n  if map_ver == 0 then\n    map = loadstring(\"return \" .. mapstr)()\n  else\n    map = mapstr\n  end\n\n  new_scene = editor\n  button_pressed = {}\nend\n\nfunction scene.keyPressed(key)\n  if stopscrolltutorial == 1 and (key == \"down\" or key == \"up\") then stopscrolltutorial = 0.9 end\n  if key == \"down\" then\n    scrollvel = (buttonheight-10)*-40\n  elseif key == \"up\" then\n    scrollvel = (buttonheight-10)*40\n  end\nend\n\nfunction scene.wheelMoved(whx, why) -- The wheel moved, Why?\n  if buttonheight then\n    if stopscrolltutorial == 1 then stopscrolltutorial = 0.9 end\n    scrollvel = (buttonheight-10)*why*60\n  end\n  -- why = \"well i dont fuckin know the person who moved it probably wanted it to move\"\nend\n\nreturn scene"
  },
  {
    "path": "editor/scene.lua",
    "content": "local scene = {}\r\n\r\nlocal brush\r\n\r\nlocal paintedtiles = 0\r\nlocal buttons = {}\r\nlocal button_over = nil\r\nlocal name_font = nil\r\nlocal typing_name = false\r\nlocal ignore_mouse = true\r\nlocal saved_settings = false\r\n\r\nlocal settings_open, settings_ui, properties\r\nlocal label_palette, label_music\r\nlocal input_name, input_author, input_palette, input_music, input_width, input_height, input_extra, input_parent_level, input_next_level, input_is_overworld, input_puffs_to_clear, input_background_sprite\r\n\r\nlocal capturing, start_drag, end_drag\r\nlocal screenshot, screenshot_image\r\n\r\nlocal level_dialogue, last_lin_hidden\r\n\r\nlocal saved_popup\r\n\r\nlocal searchstr = \"\"\r\nlocal subsearchstr = \"\"\r\n\r\nlocal nt = false\r\n-- for retaining information cross-scene\r\neditor_save = {}\r\n\r\nICON_WIDTH = 96\r\nICON_HEIGHT = 96\r\n\r\nfunction scene.load()\r\n  metaClear()\r\n  was_using_editor = true\r\n  brush = {id = nil, dir = 1, mode = \"none\", picked_tile = nil, picked_index = 0, special = {}}\r\n  properties = {enabled = false, scale = 0, x = 0, y = 0, w = 0, h = 0, components = {}} -- will do this later\r\n  saved_popup = {sprite = sprites[\"ui/level_saved\"], y = 16, alpha = 0}\r\n  key_down = {}\r\n  buttons = {}\r\n  \r\n  nt = false\r\n  \r\n  settings_open = false\r\n  selector_open = false\r\n  tutorial_open = false\r\n  selector_page = 1\r\n  current_tile_grid = tile_grid[selector_page]\r\n  \r\n  level_dialogue = {x = 0, y = 0, scale = 0, enabled = false}\r\n  \r\n  paint_open = false\r\n  paint_colors = {}\r\n  \r\n  scene.tutorial = {}\r\n  scene.tutorial.darkness = 0\r\n  scene.tutorial.opacity = 0\r\n  scene.tutorial.height = 0\r\n  scene.tutorial.scroll = 0\r\n  \r\n  if not level_compression then\r\n    level_compression = settings[\"level_compression\"]\r\n  end\r\n  if not level_name then\r\n    level_name = \"unnamed\"\r\n  end\r\n  if not level_filename then\r\n    level_filename = \"\"\r\n  end\r\n  if not level_author then\r\n    level_author = \"\"\r\n  end\r\n  if not level_extra then\r\n    level_extra = false\r\n  end\r\n  if not level_next_level_after_win then\r\n    level_next_level_after_win = \"\"\r\n  end\r\n  if not level_is_overworld then\r\n    level_is_overworld = false\r\n  end\r\n   if not level_puffs_to_clear then\r\n    level_puffs_to_clear = 0\r\n  end\r\n  if not level_level_sprite then\r\n    level_level_sprite = \"\"\r\n  end\r\n  if not level_level_number then\r\n    level_level_number = 0\r\n  end\r\n  \r\n  default_author = \"\"\r\n  if love.filesystem.getInfo(\"author_name\") then\r\n    default_author = love.filesystem.read(\"author_name\")\r\n  end\r\n\r\n  if (level_author == nil or level_author == \"\") then\r\n    level_author = default_author\r\n  end\r\n  \r\n  typing_name = false\r\n  saved_settings = false\r\n  ignore_mouse = true\r\n  capturing = false\r\n  start_drag, end_drag = nil, nil\r\n  screenshot, screenshot_image = nil, nil\r\n\r\n  local dir = \"levels/\"\r\n  if world ~= \"\" then dir = getWorldDir(true) .. \"/\" end\r\n\r\n  width = love.graphics.getWidth()\r\n  height = love.graphics.getHeight()\r\n  name_font = love.graphics.newFont(24)\r\n  \r\n  if editor_save.brush then brush = editor_save.brush end\r\n  editor_save = {}\r\n\r\n  scene.setupGooi()\r\n\r\n  clear()\r\n  resetMusic(map_music, 0.1)\r\n  loadMap()\r\n  local now = os.time(os.date(\"*t\"))\r\n  presence = {\r\n    state = \"in editor\",\r\n    details = \"making a neat new level\",\r\n    largeImageKey = \"cover\",\r\n    largeimageText = \"bab be u\",\r\n    smallImageKey = \"edit\",\r\n    smallImageText = \"editor\",\r\n    startTimestamp = now\r\n  }\r\n  nextPresenceUpdate = 0\r\n  if level_name then\r\n    presence[\"details\"] = \"working on \"..level_name..\".bab\"\r\n  end\r\n\r\n  love.keyboard.setKeyRepeat(true)\r\n\r\n  if map_ver == 0 then\r\n    scene.updateMap()\r\n  end\r\n\r\n  if selected_level then\r\n    local unit = units_by_id[selected_level.id]\r\n    if unit then\r\n      unit.special.level = selected_level.level\r\n      unit.special.name = selected_level.name\r\n      scene.updateMap()\r\n    end\r\n    selected_level = nil\r\n  end\r\n\r\n  if spookmode then\r\n    new_scene = game\r\n    load_mode = \"play\"\r\n  end\r\n\r\n  scene.selecting = false\r\nend\r\n\r\nselector_tab_buttons_list = {}\r\nfunction scene.setupGooi()\r\n  local x = 0\r\n  gooi.newButton({text = \"\", x = x, y = 0, w = 40, h = 40}):onRelease(function()\r\n    tutorial_open = true\r\n    scene.tutorial.darkness = 0\r\n    addTween(tween.new(0.2, scene.tutorial, {darkness = 0.9}), \"tutorial_dark\")\r\n    addTween(tween.new(0.2, scene.tutorial, {opacity = 1}), \"tutorial_opacity\")\r\n  end):setBGImage(sprites[\"ui/editor_help\"],sprites[\"ui/editor_help_h\"], sprites[\"ui/editor_help_a\"]):bg({0, 0, 0, 0})\r\n  x = x + 40\r\n  gooi.newButton({text = \"\", x = x, y = 0, w = 40, h = 40}):onRelease(function()\r\n    scene.loadLevel()\r\n  end):setBGImage(sprites[\"ui/load\"], sprites[\"ui/load_h\"], sprites[\"ui/load_a\"]):bg({0, 0, 0, 0})\r\n  x = x + 40\r\n  gooi.newButton({text = \"\", x = x, y = 0, w = 40, h = 40}):onRelease(function()\r\n    scene.saveLevel()\r\n  end):setBGImage(sprites[\"ui/save\"], sprites[\"ui/save_h\"], sprites[\"ui/save_a\"]):bg({0, 0, 0, 0})\r\n  x = x + 40\r\n  gooi.newButton({text = \"\", x = x, y = 0, w = 40, h = 40}):onRelease(function()\r\n    scene.openSettings()\r\n  end):setBGImage(sprites[\"ui/cog\"], sprites[\"ui/cog_h\"], sprites[\"ui/cog_a\"]):bg({0, 0, 0, 0})\r\n  x = x + 40\r\n  gooi.newButton({text = \"\", x = x, y = 0, w = 40, h = 40}):onRelease(function()\r\n    new_scene = game\r\n    load_mode = \"play\"\r\n  end):setBGImage(sprites[\"ui/play\"],sprites[\"ui/play_h\"], sprites[\"ui/play_a\"]):bg({0, 0, 0, 0})\r\n  x = x + 40\r\n  gooi.newButton({text = \"\", x = x, y = 0, w = 40, h = 40}):onRelease(function()\r\n    love.graphics.captureScreenshot(function(s)\r\n      capturing = true\r\n      start_drag, end_drag = nil, nil\r\n      screenshot = s\r\n      screenshot_image = love.graphics.newImage(s)\r\n    end)\r\n  end):setBGImage(sprites[\"ui/camera\"],sprites[\"ui/camera_h\"], sprites[\"ui/camera_a\"]):bg({0, 0, 0, 0})\r\n  x = x + 40\r\n  if is_mobile then\r\n    gooi.newButton({text = \"\", x = x, y = 0, w = 40, h = 40}):onRelease(function()\r\n      scene.keyPressed(\"tab\")\r\n      scene.keyReleased(\"tab\")\r\n    end):setBGImage(sprites[\"ui/selector\"],sprites[\"ui/selector_h\"], sprites[\"ui/selector_a\"]):bg({0, 0, 0, 0})\r\n    x = x + 40\r\n  end\r\n  \r\n  paint_button = gooi.newButton({text = \"\", x = x, y = 0, w = 40, h = 40}):onPress(function()\r\n    if paint_open then\r\n      paint_open = false\r\n      paint_button:setBGImage(sprites[\"ui/paint\"], sprites[\"ui/paint_h\"])\r\n      fullpaint_palette:setVisible(false)\r\n    elseif key_down[\"lshift\"] or key_down[\"rshift\"] then\r\n      paint_open = \"full\"\r\n      paint_button:setBGImage(sprites[\"ui/paint_a\"], sprites[\"ui/paint_h\"])\r\n      fullpaint_palette:setVisible(true)\r\n    else\r\n      paint_open = true\r\n      paint_button:setBGImage(sprites[\"ui/paint_a\"], sprites[\"ui/paint_h\"])\r\n      fullpaint_palette:setVisible(false)\r\n    end\r\n  end):setBGImage(sprites[\"ui/paint\"], sprites[\"ui/paint_h\"]):bg({0, 0, 0, 0})\r\n  x = x + 40\r\n  paint_colors[1] = {x}\r\n  gooi.newButton({text = \"\", x = x, y = 4, h = 32, w = 32}):onPress(function()\r\n    if paint_open then\r\n      brush.color = nil\r\n    end\r\n  end):bg({0,0,0,0}) -- no BGImage since it needs to be recolored\r\n  x = x + 36\r\n  local fullpaint_palette_x = x\r\n  fullpaint_palette = gooi.newButton({text = \"\", x = x, y = 4, h = 5*8, w = 7*8}):onPress(function()\r\n    local x, y = love.mouse.getPosition()\r\n    local palette_x = math.floor((x - fullpaint_palette_x) / 8)\r\n    local palette_y = math.floor((y - 4) / 8)\r\n    brush.color = {palette_x, palette_y}\r\n  end):setBGImage((palettes[current_palette] or palettes[\"default\"]).sprite):bg({0,0,0,0})\r\n  fullpaint_palette:setVisible(false)\r\n  for _,color in pairs(color_names) do\r\n    gooi.newButton({text = \"\", x = x, y = 4, h = 32, w = 32}):onPress(function()\r\n      if paint_open == true then\r\n        brush.color = main_palette_for_colour[color]\r\n      end\r\n    end):bg({0,0,0,0}) -- no BGImage since it needs to be recolored\r\n    table.insert(paint_colors, {x, main_palette_for_colour[color]})\r\n    x = x + 36 -- 4px padding\r\n  end\r\n\r\n  local dx = 208\r\n  local i = 0\r\n\r\n  settings_ui = {x = 0, y = y_top, w = dx*2, h = 450}\r\n  local y_top = (love.graphics.getHeight() - settings_ui.h) / 2\r\n  settings_ui.y = y_top\r\n\r\n  local w = 200\r\n  local w_half = w/2 - 2 -- 98\r\n  local h = 24\r\n  local p = 4 -- padding\r\n\r\n  if is_mobile then\r\n    y_top = 0\r\n    p = 8\r\n    w = love.graphics.getWidth()/3 - 10\r\n    w_half = w/2 - 2\r\n    h = 50\r\n    dx = w+8\r\n    settings_ui.y = 0\r\n    settings_ui.w = love.graphics.getWidth()\r\n    settings_ui.h = love.graphics.getHeight()\r\n  end\r\n\r\n  local y = y_top\r\n\r\n  y = y + p\r\n  gooi.newLabel({text = \"Name\", x = 4+dx*i, y = y, w = w, h = h}):center():setGroup(\"settings\")\r\n  y = y + h + p\r\n  input_name = gooi.newText({text = level_name, x = 4+dx*i, y = y, w = w, h = h}):setGroup(\"settings\")\r\n\r\n  y = y + h + p\r\n  gooi.newLabel({text = \"Author\", x = 4+dx*i, y = y, w = w, h = h}):center():setGroup(\"settings\")\r\n  y = y + h + p\r\n  input_author = gooi.newText({text = level_author, x = 4+dx*i, y = y, w = w, h = h}):setGroup(\"settings\")\r\n\r\n  y = y + h + p\r\n  label_palette = gooi.newLabel({text = \"Palette\", x = 4+dx*i, y = y, w = w, h = h}):center():setGroup(\"settings\")\r\n  y = y + h + p\r\n  input_palette = gooi.newText({text = current_palette, x = 4+dx*i, y = y, w = w, h = h}):setGroup(\"settings\")\r\n\r\n  y = y + h + p\r\n  label_music = gooi.newLabel({text = \"Music\", x = 4+dx*i, y = y, w = w, h = h}):center():setGroup(\"settings\")\r\n  y = y + h + p\r\n  input_music = gooi.newText({text = map_music, x = 4+dx*i, y = y, w = w, h = h}):setGroup(\"settings\")\r\n\r\n  if is_mobile then\r\n    y = y_top - h\r\n    i = 1\r\n  end\r\n\r\n  -- Arbitrary limits of 512 until i come up with a reasonable limit\r\n  if not is_mobile then\r\n    y = y + h + p\r\n    gooi.newLabel({text = \"Width\", x = 4+dx*i, y = y, w = w_half, h = h}):center():setGroup(\"settings\")\r\n    gooi.newLabel({text = \"Height\", x = 4+w_half+4+dx*i, y = y, w = w_half, h = h}):center():setGroup(\"settings\")\r\n    y = y + h + p\r\n    input_width = gooi.newSpinner({value = mapwidth, min = 1, max = 512, x = 4+dx*i, y = y, w = w_half, h = h}):setGroup(\"settings\")\r\n    input_height = gooi.newSpinner({value = mapwidth, min = 1, max = 512, x = 4+w_half+4+dx*i, y = y, w = w_half, h = h}):setGroup(\"settings\")\r\n  \r\n    y = y + h + p\r\n    gooi.newLabel({text = \"Extra\", x = 4+dx*i, y = y, w = w, h = h}):center():setGroup(\"settings\")\r\n    y = y + h + p\r\n    input_extra = gooi.newCheck({checked = level_extra, x = (w-h)/2+dx*i, y = y, w = h, h = h}):setGroup(\"settings\")\r\n    input_extra.checked = level_extra\r\n  else\r\n    y = y + h + p\r\n    gooi.newLabel({text = \"Width\", x = 4+dx*i, y = y, w = w, h = h}):center():setGroup(\"settings\")\r\n    y = y + h + p\r\n    input_width = gooi.newSpinner({value = mapwidth, min = 1, max = 512, x = 4+dx*i, y = y, w = w, h = h}):setGroup(\"settings\")\r\n    y = y + h + p\r\n    gooi.newLabel({text = \"Height\", x = 4+dx*i, y = y, w = w, h = h}):center():setGroup(\"settings\")\r\n    y = y + h + p\r\n    input_height = gooi.newSpinner({value = mapwidth, min = 1, max = 512, x = 4+dx*i, y = y, w = w, h = h}):setGroup(\"settings\")\r\n  end\r\n\r\n  if not is_mobile then\r\n    y = y_top - h\r\n    i = 1\r\n  end\r\n    \r\n  y = y + h + p\r\n  gooi.newLabel({text = \"Parent Level\", x = 4+dx*i, y = y, w = w, h = h}):center():setGroup(\"settings\")\r\n  y = y + h + p\r\n  input_parent_level = gooi.newText({text = level_parent_level, x = 4+dx*i, y = y, w = w, h = h}):setGroup(\"settings\")\r\n  \r\n  y = y + h + p\r\n  gooi.newLabel({text = \"Next Level\", x = 4+dx*i, y = y, w = w, h = h}):center():setGroup(\"settings\")\r\n  y = y + h + p\r\n  input_next_level = gooi.newText({text = level_next_level, x = 4+dx*i, y = y, w = w, h = h}):setGroup(\"settings\")\r\n\r\n  if is_mobile then\r\n    y = y_top - h\r\n    i = 2\r\n  end\r\n  \r\n  if not is_mobile then\r\n    y = y + h + p\r\n    gooi.newLabel({text = \"Is Overworld\", x = 4+dx*i, y = y, w = w, h = h}):center():setGroup(\"settings\")\r\n    y = y + h + p\r\n    input_is_overworld = gooi.newCheck({checked = level_is_overworld, x = (w-h)/2+dx*i, y = y, w = h, h = h}):setGroup(\"settings\")\r\n    input_is_overworld.checked = level_is_overworld\r\n  else\r\n    y = y + h + p\r\n    gooi.newLabel({text = \"Extra\", x = 4+dx*i, y = y, w = w-h, h = h}):center():setGroup(\"settings\")\r\n    input_extra = gooi.newCheck({checked = level_extra, x = w-h+dx*i, y = y, w = h, h = h}):setGroup(\"settings\")\r\n    y = y + h + p\r\n    gooi.newLabel({text = \"Is Map\", x = 4+dx*i, y = y,\r\nw = w-h, h = h}):center():setGroup(\"settings\")\r\n    input_is_overworld = gooi.newCheck({checked = level_is_overworld, x = w-h+dx*i, y = y, w = h, h = h}):setGroup(\"settings\")\r\n    input_is_overworld.checked = level_is_overworld\r\n    input_extra.checked = level_extra\r\n  end\r\n  \r\n  y = y + h + p\r\n  gooi.newLabel({text = \"Puffs to Clear\", x = 4+dx*i, y = y, w = w, h = h}):center():setGroup(\"settings\")\r\n  y = y + h + p\r\n  input_puffs_to_clear = gooi.newSpinner({value = level_puffs_to_clear, min = 0, max = 999, x = 4+dx*i, y = y, w = w, h = h}):setGroup(\"settings\")\r\n  \r\n  y = y + h + p\r\n  gooi.newLabel({text = \"Background\", x = 4+dx*i, y = y, w = w, h = h}):center():setGroup(\"settings\")\r\n  y = y + h + p\r\n  input_background_sprite = gooi.newText({text = level_background_sprite, x = 4+dx*i, y = y, w = w, h = h}):setGroup(\"settings\")\r\n\r\n  if not is_mobile then\r\n    y = y_top + (h+p)*(is_mobile and 7 or 11) + p\r\n    gooi.newButton({text = \"Save\", x = 4+dx*i, y = y, w = w_half, h = h}):onRelease(function()\r\n      scene.saveSettings()\r\n    end):center():success():setGroup(\"settings\")\r\n    gooi.newButton({text = \"Cancel\", x = 4+w_half+4+dx*i, y = y, w = w_half, h = h}):onRelease(function()\r\n      scene.openSettings()\r\n    end):center():danger():setGroup(\"settings\")\r\n  else\r\n    y = y_top + (h+p)*(is_mobile and 6 or 10) + p\r\n    gooi.newButton({text = \"Save\", x = 4+w/8+dx*i, y = y, w = w*3/4, h = h}):onRelease(function()\r\n      scene.saveSettings()\r\n    end):center():success():setGroup(\"settings\")\r\n    y = y + h + p\r\n    gooi.newButton({text = \"Cancel\", x = 4+w/8+dx*i, y = y, w = w*3/4, h = h}):onRelease(function()\r\n      scene.openSettings()\r\n    end):center():danger():setGroup(\"settings\")\r\n  end\r\n\r\n  gooi.setGroupVisible(\"settings\", settings_open)\r\n  gooi.setGroupEnabled(\"settings\", settings_open)\r\n  local x = love.graphics.getWidth()/2 - tile_grid_width*16 - 64\r\n  local y = love.graphics.getHeight()/2 - tile_grid_height*16 - 32\r\n  \r\n  for i=1,#tile_grid do\r\n    local tab_name = custom_selector_tab == i and \"custom\" or i\r\n    if tab_name == 8 then\r\n      if settings[\"baba\"] then\r\n        tab_name = \"baba\"\r\n      else\r\n        tab_name = \"unfinished\"\r\n      end\r\n    elseif tab_name == 9 then\r\n      tab_name = \"unfinished\"\r\n    end\r\n    local button_width = math.floor(576 / #tile_grid) --576 is 18 tiles wide * 32 pixels per tile\r\n    local button = gooi.newButton({text = \"\", x = x + button_width*i, y = y, w = button_width, h = 32}):onRelease(function()\r\n      if selector_page == custom_selector_tab then\r\n        selector_tab_buttons_list[selector_page]:setBGImage(sprites[\"ui/selector_tab_custom\"], sprites[\"ui/selector_tab_custom_h\"])\r\n      else\r\n        local image_to_use = selector_page\r\n        if selector_page == 8 then\r\n          if settings[\"baba\"] then\r\n            image_to_use = \"baba\"\r\n          else\r\n            image_to_use = \"unfinished\"\r\n          end\r\n        elseif selector_page == 9 then\r\n          image_to_use = \"unfinished\"\r\n        end\r\n        selector_tab_buttons_list[selector_page]:setBGImage(sprites[\"ui/selector_tab_\"..image_to_use], sprites[\"ui/selector_tab_\"..image_to_use..\"_h\"])\r\n      end\r\n      selector_page = i\r\n      current_tile_grid = tile_grid[selector_page]\r\n      selector_tab_buttons_list[selector_page]:setBGImage(sprites[\"ui/selector_tab_\"..tab_name..\"_a\"])\r\n    end)\r\n    button:setBGImage(sprites[\"ui/selector_tab_\"..tab_name], sprites[\"ui/selector_tab_\"..tab_name..\"_h\"]):bg({0, 0, 0, 0})\r\n    button:setVisible(selector_open)\r\n    button:setEnabled(selector_open)\r\n    selector_tab_buttons_list[i] = button\r\n  end\r\n  if selector_page == custom_selector_tab then\r\n    selector_tab_buttons_list[selector_page]:setBGImage(sprites[\"ui/selector_tab_custom_a\"], sprites[\"ui/selector_tab_custom_h\"])\r\n  else\r\n    local image_to_use = selector_page\r\n    if selector_page == 8 then\r\n      if settings[\"baba\"] then\r\n        image_to_use = \"baba\"\r\n      else\r\n        image_to_use = \"unfinished\"\r\n      end\r\n    elseif selector_page == 9 then\r\n      image_to_use = \"unfinished\"\r\n    end\r\n    selector_tab_buttons_list[selector_page]:setBGImage(sprites[\"ui/selector_tab_\"..image_to_use..\"_a\"], sprites[\"ui/selector_tab_\"..image_to_use..\"_h\"])\r\n  end\r\n  -- gooi.setGroupVisible(\"selectortabs\", selector_open)\r\n  -- gooi.setGroupEnabled(\"selectortabs\", selector_open)\r\n  updateSelectorTabs()\r\n  \r\n  local twelfth = love.graphics.getWidth()/12\r\n\r\n  --metatext\r\n  gooi.newButton({text = \"\", x = 9.25*twelfth, y = 0.25*twelfth, w = twelfth, h = twelfth, group = \"mobile-controls-selector\"}):setBGImage(sprites[\"txt_meta\"]):onPress(function()\r\n      scene.keyPressed(\"lalt\")\r\n      scene.keyReleased(\"lalt\")\r\n  end):bg({0, 0, 0, 0})\r\n  --n'ttext\r\n  gooi.newButton({text = \"\", x = 9.25*twelfth, y = 1.5*twelfth, w = twelfth, h = twelfth, group = \"mobile-controls-selector\"}):setBGImage(sprites[\"txt_nt\"]):onPress(function()\r\n      scene.keyPressed(\"lctrl\")\r\n      scene.keyPressed(\"n\")\r\n      scene.keyReleased(\"lctrl\")\r\n  end):bg({0, 0, 0, 0})\r\n  --reload tab\r\n  gooi.newButton({text = \"\", x = 10.75*twelfth, y = 0.25*twelfth, w = twelfth, h = twelfth, group = \"mobile-controls-selector\"}):setBGImage(sprites[\"ui/reset\"]):onPress(function()                                                               scene.keyPressed(\"rshift\")                                 scene.keyReleased(\"rshift\")                            end):bg({0, 0, 0, 0})\r\n\r\n  gooi.setGroupVisible(\"mobile-controls-selector\", false)\r\n\r\n  local screenheight = love.graphics.getHeight()\r\n\r\n  --rotate brush\r\n  gooi.newButton({text = \"\",x = 10*twelfth,y = screenheight-3*twelfth,w = twelfth,h = twelfth,group = \"mobile-controls-editor\"}):onPress(function(c) brush.dir = dirs8_by_offset[0][-1] end):setBGImage(sprites[\"ui/arrow up\"]):bg({0, 0, 0, 0})\r\n  gooi.newButton({text = \"\",x = 11*twelfth,y = screenheight-2*twelfth,w = twelfth,h = twelfth,group = \"mobile-controls-editor\"}):onPress(function(c) brush.dir = dirs8_by_offset[1][0] end):setBGImage(sprites[\"ui/arrow right\"]):bg({0, 0, 0, 0})\r\n  gooi.newButton({text = \"\",x = 10*twelfth,y = screenheight-1*twelfth,w = twelfth,h = twelfth,group = \"mobile-controls-editor\"}):onPress(function(c) brush.dir = dirs8_by_offset[0][1] end):setBGImage(sprites[\"ui/arrow down\"]):bg({0, 0, 0, 0})\r\n  gooi.newButton({text = \"\",x =  9*twelfth,y = screenheight-2*twelfth,w = twelfth,h = twelfth,group = \"mobile-controls-editor\"}):onPress(function(c) brush.dir = dirs8_by_offset[-1][0] end):setBGImage(sprites[\"ui/arrow left\"]):bg({0, 0, 0, 0})\r\n  --(diag)\r\n  gooi.newButton({text = \"\",x = 11*twelfth,y = screenheight-3*twelfth,w = twelfth,h = twelfth,group = \"mobile-controls-editor\"}):onPress(function(c) brush.dir = dirs8_by_offset[1][-1] end):setBGImage(sprites[\"ui/arrow ur\"]):bg({0, 0, 0, 0})\r\n  gooi.newButton({text = \"\",x = 11*twelfth,y = screenheight-1*twelfth,w = twelfth,h = twelfth,group = \"mobile-controls-editor\"}):onPress(function(c) brush.dir = dirs8_by_offset[1][1] end):setBGImage(sprites[\"ui/arrow dr\"]):bg({0, 0, 0, 0})\r\n  gooi.newButton({text = \"\",x = 9*twelfth,y = screenheight-1*twelfth,w = twelfth,h = twelfth,group = \"mobile-controls-editor\"}):onPress(function(c) brush.dir = dirs8_by_offset[-1][1] end):setBGImage(sprites[\"ui/arrow dl\"]):bg({0, 0, 0, 0})\r\n  gooi.newButton({text = \"\",x = 9*twelfth,y = screenheight-3*twelfth,w = twelfth,h = twelfth,group = \"mobile-controls-editor\"}):onPress(function(c) brush.dir = dirs8_by_offset[-1][-1] end):setBGImage(sprites[\"ui/arrow ul\"]):bg({0, 0, 0, 0})\r\n\r\n  --picker (visuals are down in scene.draw())\r\n  gooi.newButton({text = \"\",x = 10*twelfth,y = screenheight-2*twelfth,w = twelfth,h = twelfth,group = \"mobile-controls-editor\"}):onPress(function(c) mobile_picking = not mobile_picking end):bg({0, 0, 0, 0})\r\n\r\n  --stacking (shift/ctrl click)\r\n  mobile_controls_stackmode_none = gooi.newButton({text = \"\",x = 9*twelfth,y = screenheight-4.15*twelfth,w = twelfth,h = twelfth,group = \"mobile-controls-editor\"}):onPress(function(c) mobile_stackmode = \"none\" end):setBGImage(sprites[\"bab\"]):bg({0, 0, 0, 0})\r\n  mobile_controls_stackmode_shift = gooi.newButton({text = \"\",x = 10*twelfth,y = screenheight-4.25*twelfth,w = twelfth,h = twelfth,group = \"mobile-controls-editor\"}):onPress(function(c) mobile_stackmode = \"shift\" end):setBGImage(sprites[\"ui/stack\"]):bg({0, 0, 0, 0})\r\n  mobile_controls_stackmode_ctrl = gooi.newButton({text = \"\",x = 11*twelfth,y = screenheight-4.25*twelfth,w = twelfth,h = twelfth,group = \"mobile-controls-editor\"}):onPress(function(c) mobile_stackmode = \"ctrl\" end):setBGImage(sprites[\"ui/stack_same\"]):bg({0, 0, 0, 0})\r\n\r\n  gooi.setGroupVisible(\"mobile-controls-editor\", is_mobile)\r\n  \r\n  -- level dialogue\r\n  level_dialogue.iconnamebox = gooi.newText({w = 75, h = 20})\r\n  level_dialogue.iconnamebox.style.font = love.graphics.newFont(10)\r\n  level_dialogue.iconnamebox.style.bgColor = {getPaletteColor(0, 0)}\r\n  level_dialogue.iconnamebox:setVisible(false)\r\n  level_dialogue.iconnamebox:setEnabled(false)\r\nend\r\nmobile_picking = false\r\nmobile_stackmode = \"none\"\r\n\r\nfunction scene.keyPressed(key)\r\n  if tutorial_open then\r\n    if key == \"escape\" then\r\n      tutorial_open = false\r\n      addTween(tween.new(0.2, scene.tutorial, {darkness = 0}), \"tutorial_dark\")\r\n      addTween(tween.new(0.2, scene.tutorial, {opacity = 0}), \"tutorial_opacity\")\r\n    end\r\n    return\r\n  end\r\n  if key == \"escape\" and not selector_open then\r\n    if not capturing then\r\n      if not spookmode then\r\n        if saved_settings or maps[1].data ~= last_saved then\r\n          ui.overlay.confirm({\r\n            text = \"Go back to level selector?\\n(WARNING: You have unsaved changes)\",\r\n            okText = \"Yes\",\r\n            cancelText = spookmode and \"Yes\" or \"Cancel\",\r\n            ok = function()\r\n              load_mode = \"edit\"\r\n              new_scene = loadscene\r\n            end\r\n          })\r\n        else\r\n          load_mode = \"edit\"\r\n          new_scene = loadscene\r\n        end\r\n      else\r\n        load_mode = \"play\"\r\n        new_scene = loadscene\r\n      end\r\n      return\r\n    else\r\n      capturing = false\r\n      screenshot, screenshot_image = nil, nil\r\n      ignore_mouse = true\r\n    end\r\n  end\r\n\r\n  if key == \"g\" and key_down[\"lctrl\"] and not selector_open then\r\n    settings[\"draw_editor_lins\"] = not settings[\"draw_editor_lins\"]\r\n    saveAll()\r\n  end\r\n\r\n  if selector_open then\r\n    if key == \"escape\" or (key == \"a\" and (key_down[\"lctrl\"] or key_down[\"rctrl\"])) or (key == \"backspace\" and (key_down[\"lctrl\"] or key_down[\"rctrl\"])) then\r\n      if #searchstr == 0 and key == \"escape\" then selector_open = false end\r\n      searchstr = \"\"\r\n    elseif key == \"backspace\" or (key == \"z\" and (key_down[\"lctrl\"] or key_down[\"rctrl\"])) then\r\n      searchstr = string.sub(searchstr, 1, #searchstr-1)\r\n    elseif key == \"x\" and (key_down[\"lctrl\"] or key_down[\"rctrl\"]) then\r\n       love.system.setClipboardText(searchstr)\r\n       searchstr = \"\"\r\n    elseif key == \"c\" and (key_down[\"lctrl\"] or key_down[\"rctrl\"]) then\r\n       love.system.setClipboardText(searchstr)\r\n    elseif key == \"v\" and (key_down[\"lctrl\"] or key_down[\"rctrl\"]) then\r\n      if #searchstr + #love.system.getClipboardText() > 50 then return end\r\n      searchstr = searchstr..love.system.getClipboardText()\r\n    elseif key == \"return\" then\r\n      if key_down[\"lalt\"] or key_down[\"ralt\"] or key_down[\"lshift\"] or key_down[\"rshift\"] then\r\n        if getTile(\"txt_\"..subsearchstr) and not getTile(\"txt_\"..subsearchstr).unsearchable and (settings[\"baba\"] or not getTile(\"txt_\"..subsearchstr).wobble) then\r\n          brush.id = \"txt_\"..subsearchstr\r\n          brush.special = {}\r\n          selector_open = false\r\n          searchstr, subsearchstr = \"\", \"\"\r\n        end\r\n      elseif key_down[\"lctrl\"] or key_down[\"rctrl\"] then \r\n        if getTile(\"letter_\"..subsearchstr) and subsearchstr ~= \"custom\" then\r\n          brush.id = \"letter_\"..subsearchstr\r\n          brush.special = {}\r\n          selector_open = false\r\n          searchstr, subsearchstr = \"\", \"\"\r\n        else\r\n          local magic = {\"%\", \"(\", \")\", \".\", \"+\", \"-\", \"*\", \"?\", \"[\", \"^\", \"$\"}\r\n          for _,char in ipairs(magic) do\r\n            subsearchstr = subsearchstr:gsub(\"%%%\"..char, \"%\"..char)\r\n          end\r\n          --subsearchstr = subsearchstr:gsub(\"pi\", \"π\")\r\n          if #subsearchstr >= 1 and #subsearchstr <= 6 then\r\n          brush.id = \"letter_custom\"\r\n          brush.special = {customletter = subsearchstr}\r\n          --brush.customletter = subsearchstr\r\n          selector_open = false\r\n          searchstr, subsearchstr = \"\", \"\"\r\n          end\r\n        end\r\n      else\r\n        if getTile(subsearchstr) and not getTile(subsearchstr).unsearchable and (settings[\"baba\"] or not getTile(subsearchstr).wobble) then\r\n          brush.id = subsearchstr\r\n          brush.special = {}\r\n          selector_open = false\r\n          searchstr, subsearchstr = \"\", \"\"\r\n        elseif getTile(\"txt_\"..subsearchstr) and not getTile(\"txt_\"..subsearchstr).unsearchable and (settings[\"baba\"] or not getTile(\"txt_\"..subsearchstr).wobble) then\r\n          brush.id = \"txt_\"..subsearchstr\r\n          brush.special = {}\r\n          selector_open = false\r\n          searchstr, subsearchstr = \"\", \"\"\r\n        end\r\n      end\r\n    elseif (#key == 1 or key == \"space\") and not (key_down[\"lctrl\"] or key_down[\"rctrl\"] or key_down[\"f3\"]) then\r\n      if #searchstr > 50 then return end\r\n      local letter = key\r\n      if key == \"space\" then \r\n        letter = \" \"\r\n      end\r\n      if key_down[\"lshift\"] or key_down[\"rshift\"] then\r\n        if key == \"`\" then\r\n            letter = \"~\"\r\n        elseif key == \"1\" then\r\n            letter = \"!\"\r\n        elseif key == \"2\" then\r\n            letter = \"@\"\r\n        elseif key == \"3\" then\r\n            letter = \"#\"\r\n        elseif key == \"4\" then\r\n            letter = \"$\"\r\n        elseif key == \"5\" then\r\n            letter = \"%\"\r\n        elseif key == \"6\" then\r\n            letter = \"^\"\r\n        elseif key == \"7\" then\r\n            letter = \"&\"\r\n        elseif key == \"8\" then\r\n            letter = \"*\"\r\n        elseif key == \"9\" then\r\n            letter = \"(\"\r\n        elseif key == \"0\" then\r\n            letter = \")\"\r\n        elseif key == \"-\" then\r\n            letter = \"_\"\r\n        elseif key == \"=\" then\r\n            letter = \"+\"\r\n        elseif key == \"[\" then\r\n            letter = \"{\"\r\n        elseif key == \"]\" then\r\n            letter = \"}\"\r\n        elseif key == \"\\\\\" then\r\n            letter = \"|\"\r\n        elseif key == \";\" then\r\n            letter = \":\"\r\n        elseif key == \"'\" then\r\n            letter = \"\\\"\"\r\n        elseif key == \",\" then\r\n            letter = \"<\"\r\n        elseif key == \".\" then\r\n            letter = \">\"\r\n        elseif key == \"/\" then\r\n            letter = \"?\"\r\n        end\r\n      end\r\n      searchstr = searchstr..letter\r\n    end\r\n    subsearchstr = searchstr:gsub(\" \",\"\")\r\n\r\n    -- i commented this out bc it broke creating custom letters, idk what it's supposed to do but this commentingmight break smth\r\n    local magic = {\"%\", \"(\", \")\", \".\", \"+\", \"-\", \"*\", \"?\", \"[\", \"^\", \"$\"}\r\n    for _,char in ipairs(magic) do\r\n      subsearchstr = subsearchstr:gsub(\"%\"..char, \"%%%\"..char)\r\n    end\r\n  end\r\n  \r\n  updateSelectorTabs()\r\n  \r\n  if key == \"w\" and (key_down[\"lctrl\"] or key_down[\"rctrl\"]) and not selector_open then\r\n    load_mode = \"edit\"\r\n    new_scene = loadscene\r\n  end\r\n\r\n  key_down[key] = true\r\n\r\n  if not settings_open and not selector_open then\r\n    if not (key_down[\"lshift\"] or key_down[\"rshift\"]) and (key == \"up\" or key == \"left\" or key == \"down\" or key == \"right\" or key == \"w\" or key == \"a\" or key == \"s\" or key == \"d\") then\r\n      local dx, dy = 0, 0\r\n      if key_down[\"up\"] or key_down[\"w\"] then dy = dy - 1 end\r\n      if key_down[\"down\"] or key_down[\"s\"] then dy = dy + 1 end\r\n      if key_down[\"left\"] or key_down[\"a\"] then dx = dx - 1 end\r\n      if key_down[\"right\"] or key_down[\"d\"] then dx = dx + 1 end\r\n      local dir\r\n      if dx ~= 0 or dy ~= 0 then\r\n        dir = dirs8_by_offset[dx][dy]\r\n      else\r\n        dir = rotate8(brush.dir)\r\n      end\r\n      brush.dir = dir\r\n      local hx,hy = getHoveredTile()\r\n      if hx ~= nil then\r\n        local tileid = hx + hy * mapwidth\r\n        if unitsByTile(hx, hy) and #unitsByTile(hx, hy) > 0 then\r\n          for _,unit in ipairs(unitsByTile(hx, hy)) do\r\n            unit.dir = brush.dir\r\n          end\r\n          scene.updateMap()\r\n        end\r\n      end\r\n    end\r\n  end\r\n\r\n  if not selector_open then\r\n    if key == \"s\" and (key_down[\"lctrl\"] or key_down[\"rctrl\"]) then\r\n      scene.saveLevel()\r\n    elseif key == \"l\" and (key_down[\"lctrl\"] or key_down[\"rctrl\"]) then\r\n      scene.loadLevel()\r\n    elseif key == \"o\" and (key_down[\"lctrl\"] or key_down[\"rctrl\"]) then\r\n      scene.openSettings()\r\n    elseif key == \"r\" and (key_down[\"lctrl\"] or key_down[\"rctrl\"]) then\r\n      ui.overlay.confirm({\r\n        text = \"Clear the level?\",\r\n        okText = \"Yes\",\r\n        cancelText = \"Cancel\",\r\n        ok = function()\r\n          clear()\r\n          scene.updateMap()\r\n          loaded_level = false\r\n        end\r\n      })\r\n    elseif key == \"return\" and settings_open then\r\n      scene.saveSettings()\r\n    elseif key == \"g\" and (key_down[\"lctrl\"] or key_down[\"rctrl\"]) then\r\n        settings[\"grid_lines\"] = not settings[\"grid_lines\"]\r\n        saveAll()\r\n    end\r\n  end\r\n  \r\n  if not selector_open and not settings_open and not level_dialogue.enabled then\r\n    if key_down[\"lshift\"] or key_down[\"rshift\"] then\r\n        if key == \"w\" then\r\n            scene.translateLevel(0, -1)\r\n        elseif key == \"a\" then\r\n            scene.translateLevel(-1, 0)\r\n        elseif key == \"s\" then\r\n            scene.translateLevel(0, 1)\r\n        elseif key == \"d\" then\r\n            scene.translateLevel(1, 0)\r\n        end\r\n    end\r\n  end\r\n\r\n  if key == \"tab\" and not (key_down[\"lctrl\"] or key_down[\"rctrl\"]) then\r\n    selector_open = not selector_open\r\n    scene.resetMiku((settings[\"baba\"] and love.math.random(1,5) == 1) or (not settings[\"baba\"] and love.math.random(1,20) == 1))\r\n    updateSelectorTabs()\r\n    if selector_open then\r\n      presence[\"details\"] = \"browsing selector\"\r\n      gooi.setGroupVisible(\"mobile-controls-selector\", is_mobile)\r\n      gooi.setGroupVisible(\"mobile-controls-editor\", false)\r\n    else\r\n      gooi.setGroupVisible(\"mobile-controls-selector\", false)\r\n      gooi.setGroupVisible(\"mobile-controls-editor\", is_mobile)\r\n    end\r\n  end\r\n  \r\n  -- ctrl tab shortcuts\r\n  local old_selector_page = selector_page\r\n  if selector_page == custom_selector_tab then\r\n    selector_tab_buttons_list[selector_page]:setBGImage(sprites[\"ui/selector_tab_custom\"], sprites[\"ui/selector_tab_custom_h\"])\r\n  else\r\n    local image_to_use = selector_page\r\n    if selector_page == 8 then\r\n      if settings[\"baba\"] then\r\n        image_to_use = \"baba\"\r\n      else\r\n        image_to_use = \"unfinished\"\r\n      end\r\n    elseif selector_page == 9 then\r\n      image_to_use = \"unfinished\"\r\n    end\r\n    selector_tab_buttons_list[selector_page]:setBGImage(sprites[\"ui/selector_tab_\"..image_to_use], sprites[\"ui/selector_tab_\"..image_to_use..\"_h\"])\r\n  end\r\n  \r\n  if key == \"tab\" and (key_down[\"lctrl\"] or key_down[\"rctrl\"]) and not (key_down[\"lshift\"] or key_down[\"rshift\"]) then\r\n    selector_page = selector_page % #tile_grid + 1\r\n  elseif key == \"tab\" and (key_down[\"lctrl\"] or key_down[\"rctrl\"]) and (key_down[\"lshift\"] or key_down[\"rshift\"]) then\r\n    selector_page = (selector_page - 2) % #tile_grid + 1\r\n  elseif selector_open and tonumber(key) and tonumber(key) <= #tile_grid and tonumber(key) > 0 and (key_down[\"lctrl\"] or key_down[\"rctrl\"]) then\r\n    selector_page = tonumber(key)\r\n  end\r\n  \r\n  --only refresh tile grid if the page actually changed to preserve meta text levels\r\n  if (old_selector_page ~= selector_page) then\r\n    current_tile_grid = tile_grid[selector_page]\r\n    -- print(dump(selector_tab_buttons_list))\r\n    if selector_page == custom_selector_tab then\r\n      selector_tab_buttons_list[selector_page]:setBGImage(sprites[\"ui/selector_tab_custom_a\"], sprites[\"ui/selector_tab_custom_h\"])\r\n    else\r\n      local image_to_use = selector_page\r\n      if selector_page == 8 then\r\n        if settings[\"baba\"] then\r\n          image_to_use = \"baba\"\r\n        else\r\n          image_to_use = \"unfinished\"\r\n        end\r\n      elseif selector_page == 9 then\r\n        image_to_use = \"unfinished\"\r\n      end\r\n      selector_tab_buttons_list[selector_page]:setBGImage(sprites[\"ui/selector_tab_\"..image_to_use..\"_a\"], sprites[\"ui/selector_tab_\"..image_to_use..\"_h\"])\r\n    end\r\n  end\r\n  \r\n  --create and display meta tiles 1 higher\r\n  if selector_open --[[and #searchstr == 0]] and (key == \"lalt\" or key == \"m\" and (key_down[\"lctrl\"] or key_down[\"rctrl\"])) then\r\n    --copy so we don't override original list\r\n    current_tile_grid = copyTable(current_tile_grid)\r\n    for i = 0,tile_grid_width*tile_grid_height do\r\n      if current_tile_grid[i] ~= nil and current_tile_grid[i] ~= 0 then\r\n        local tile = getTile(\"txt_\" .. current_tile_grid[i])\r\n        if tile then\r\n          current_tile_grid[i] = tile.name\r\n        end\r\n      end\r\n    end\r\n  end\r\n  \r\n  --toggle nt on/off\r\n  \r\n  if selector_open and (key == \"n\" and (key_down[\"lctrl\"] or key_down[\"rctrl\"])) then\r\n    --copy so we don't override original list\r\n    current_tile_grid = copyTable(current_tile_grid)\r\n    --revert if we're already nt'd\r\n    local already_nted = false\r\n    for i = 0,tile_grid_width*tile_grid_height do   \r\n      if current_tile_grid[i] ~= nil and current_tile_grid[i] ~= 0 and current_tile_grid[i]:ends(\"n't\") then\r\n        already_nted = true\r\n        break\r\n      end\r\n    end\r\n    if already_nted then\r\n      current_tile_grid = tile_grid[selector_page]\r\n    else\r\n      for i = 0,tile_grid_width*tile_grid_height do\r\n        if current_tile_grid[i] ~= nil and current_tile_grid[i] ~= 0 then\r\n          current_tile_grid[i] = getTile(current_tile_grid[i] .. \"n't\").name\r\n        end\r\n      end\r\n    end\r\n  end\r\n  \r\n  if selector_open --[[and #searchstr == 0]] and key == \"ralt\" or key == \"r\" and (key_down[\"lctrl\"] or key_down[\"rctrl\"]) or key == \"escape\" then\r\n    current_tile_grid = tile_grid[selector_page]\r\n  end\r\n  \r\n  if not selector_open and not level_dialogue.enabled and key == \"t\" and (key_down[\"lctrl\"] or key_down[\"rctrl\"]) then\r\n    -- if key_down[\"lshift\"] or key_down[\"rshift\"] then\r\n    --   anagram_finder.enabled = true\r\n    --   anagram_finder.advanced = not anagram_finder.advanced\r\n    -- else\r\n      anagram_finder.enabled = not anagram_finder.enabled\r\n    -- end\r\n    if anagram_finder.enabled then\r\n      anagram_finder.run()\r\n    end\r\n  end\r\nend\r\n\r\nfunction scene.mousePressed(x, y, button)\r\n  if tutorial_open then return end\r\n  if capturing and button == 1 then\r\n    start_drag = {x = love.mouse.getX(), y = love.mouse.getY()}\r\n  end\r\n  if selector_open and button == 1 then\r\n    selectorhold = true\r\n  end\r\nend\r\n\r\nfunction scene.mouseReleased(x, y, button)\r\n  if tutorial_open then return end\r\n  if capturing and button == 1 then\r\n    scene.captureIcon()\r\n  end\r\n\r\n  if button == 1 then\r\n    selectorhold = false\r\n  end\r\n  \r\n  if button == 3 or (button == 2 and (key_down[\"lshift\"] or key_down[\"rshift\"])) then\r\n    local hx, hy = getHoveredTile()\r\n    if hx ~= nil then\r\n      local tileid = hx + hy * mapwidth\r\n\r\n      local lvl = {}\r\n      local lin = {}\r\n      local hovered = {}\r\n      if unitsByTile(hx, hy) then\r\n        for _,v in ipairs(unitsByTile(hx, hy)) do\r\n          if v.name == \"lvl\" then\r\n            table.insert(lvl, v)\r\n          end\r\n          if v.name == \"lin\" then\r\n            table.insert(lin, v)\r\n          end\r\n          table.insert(hovered, v)\r\n        end\r\n      end\r\n      if #lvl == 1 then\r\n        scene.setLevelDialogue(lvl[1])\r\n      elseif #lvl == 0 and #lin == 1 then\r\n        scene.setLevelDialogue(lin[1])\r\n      elseif #lvl == 0 and #lin == 0 and #hovered == 1 then\r\n        scene.setLevelDialogue(hovered[1])\r\n      elseif level_dialogue.enabled then\r\n        scene.setLevelDialogue()\r\n      end\r\n    end\r\n  elseif level_dialogue.enabled then\r\n    local t = love.math.newTransform():translate(gameTileToScreen(level_dialogue.x + 0.5, level_dialogue.y))\r\n    if level_dialogue.unit.name ~= \"lin\" and mouseOverBox(-100, -118, 200, 110, t) then\r\n      -- icon style\r\n      if mouseOverBox(-56, -95, 16, 16, t) then\r\n        level_dialogue.unit.special.iconstyle = \"number\"\r\n        if level_dialogue.unit.special.number and level_dialogue.unit.special.number > 99 then\r\n          level_dialogue.unit.special.number = 99\r\n        end\r\n        level_dialogue.iconnamebox:setVisible(false)\r\n        level_dialogue.iconnamebox:setEnabled(false)\r\n      end\r\n      if mouseOverBox(-38, -95, 16, 16, t) then\r\n        level_dialogue.unit.special.iconstyle = \"dots\"\r\n        if level_dialogue.unit.special.number and level_dialogue.unit.special.number < 1 then\r\n          level_dialogue.unit.special.number = 1\r\n        end\r\n        if level_dialogue.unit.special.number and level_dialogue.unit.special.number > 9 then\r\n          level_dialogue.unit.special.number = 9\r\n        end\r\n        level_dialogue.iconnamebox:setVisible(false)\r\n        level_dialogue.iconnamebox:setEnabled(false)\r\n      end\r\n      if mouseOverBox(-20, -95, 16, 16, t) then\r\n        level_dialogue.unit.special.iconstyle = \"letter\"\r\n        if level_dialogue.unit.special.number and level_dialogue.unit.special.number > 26 then\r\n          level_dialogue.unit.special.number = 26\r\n        end\r\n        level_dialogue.iconnamebox:setVisible(false)\r\n        level_dialogue.iconnamebox:setEnabled(false)\r\n      end\r\n      if mouseOverBox(-2, -95, 16, 16, t) then\r\n        level_dialogue.unit.special.iconstyle = \"other\"\r\n        level_dialogue.iconnamebox:setVisible(true)\r\n        level_dialogue.iconnamebox:setEnabled(true)\r\n        level_dialogue.iconnamebox:setText(level_dialogue.unit.special.iconname)\r\n      end\r\n      -- number\r\n      if level_dialogue.unit.special.iconstyle ~= \"other\" then\r\n        local shift = key_down[\"lshift\"] or key_down[\"rshift\"]\r\n        if mouseOverBox(-38, -70, 11, 16, t) then\r\n          local min = 1\r\n          if not level_dialogue.unit.special.iconstyle or level_dialogue.unit.special.iconstyle == \"number\" then min = 0 end\r\n          level_dialogue.unit.special.number = (level_dialogue.unit.special.number or 1) - (shift and 10 or 1)\r\n          if (level_dialogue.unit.special.number or 1) < min then\r\n            level_dialogue.unit.special.number = min\r\n          end\r\n        end\r\n        if mouseOverBox(3, -70, 11, 16, t) then\r\n          local max = 99\r\n          if level_dialogue.unit.special.iconstyle == \"dots\" then max = 9 end\r\n          if level_dialogue.unit.special.iconstyle == \"letter\" then max = 26 end\r\n          level_dialogue.unit.special.number = (level_dialogue.unit.special.number or 1) + (shift and 10 or 1)\r\n          if (level_dialogue.unit.special.number or 1) > max then\r\n            level_dialogue.unit.special.number = max\r\n          end\r\n        end\r\n      end\r\n      -- hidden/locked/open\r\n      if mouseOverBox(-38, -45, 16, 16, t) then level_dialogue.unit.special.visibility = \"hidden\" end\r\n      if mouseOverBox(-20, -45, 16, 16, t) then level_dialogue.unit.special.visibility = \"locked\" end\r\n      if mouseOverBox(-2, -45, 16, 16, t) then level_dialogue.unit.special.visibility = \"open\" end\r\n      \r\n      if mouseOverBox(30, -96, 62, 62, t) then -- level picture\r\n        new_scene = loadscene\r\n        load_mode = \"select\"\r\n        selected_level = {id = level_dialogue.unit.id}\r\n        old_world = {parent = world_parent, world = world, sub_worlds = deepCopy(sub_worlds)}\r\n\r\n        editor_save.brush = brush\r\n      end\r\n      if mouseOverBox(30, -30, 62, 14, t) then -- go to level\r\n        loadLevels({level_dialogue.unit.special.name}, \"edit\", level_dialogue.unit)\r\n        clear()\r\n        loadMap()\r\n        resetMusic(map_music, 0.1)\r\n      end\r\n      scene.updateMap()\r\n    elseif level_dialogue.unit.name == \"lin\" and mouseOverBox(-75, -58, 150, 50, t) then\r\n      -- hidden/locked/open\r\n      if mouseOverBox(-59, -50, 16, 16, t) then\r\n        level_dialogue.unit.special.visibility = \"hidden\"\r\n        last_lin_hidden = true\r\n      end\r\n      if mouseOverBox(-41, -50, 16, 16, t) then\r\n        level_dialogue.unit.special.visibility = \"open\"\r\n        last_lin_hidden = false\r\n      end\r\n      -- path lock\r\n      if mouseOverBox(-2, -50, 16, 16, t) then level_dialogue.unit.special.pathlock = \"none\" end\r\n      if mouseOverBox(16, -50, 16, 16, t) then level_dialogue.unit.special.pathlock = \"puffs\" end\r\n      if mouseOverBox(34, -50, 16, 16, t) then level_dialogue.unit.special.pathlock = \"blossoms\" end\r\n      if mouseOverBox(52, -50, 16, 16, t) then level_dialogue.unit.special.pathlock = \"orbs\" end\r\n      -- number\r\n      if level_dialogue.unit.special.pathlock ~= \"none\" then\r\n        local shift = key_down[\"lshift\"] or key_down[\"rshift\"]\r\n        if mouseOverBox(7, -30, 11, 16, t) then\r\n          level_dialogue.unit.special.number = (level_dialogue.unit.special.number or 1) - (shift and 10 or 1)\r\n          if (level_dialogue.unit.special.number or 1) < 1 then\r\n            level_dialogue.unit.special.number = 1\r\n          end\r\n        end\r\n        if mouseOverBox(48, -30, 11, 16, t) then\r\n          level_dialogue.unit.special.number = (level_dialogue.unit.special.number or 1) + (shift and 10 or 1)\r\n        end\r\n      end\r\n      scene.updateMap()\r\n    else\r\n      scene.setLevelDialogue()\r\n    end\r\n  end\r\nend\r\n\r\nfunction scene.setLevelDialogue(unit)\r\n  if unit then\r\n    if level_dialogue.scale == 0 then\r\n      level_dialogue.enabled = true\r\n      level_dialogue.unit = unit\r\n      level_dialogue.x, level_dialogue.y = unit.x, unit.y\r\n      addTween(tween.new(0.1, level_dialogue, {scale = 1}), \"level dialogue\", function()\r\n        level_dialogue.iconnamebox:setBounds(love.math.newTransform():translate(gameTileToScreen(unit.x + 0.5, unit.y)):transformPoint(-60, -72))\r\n        if unit.special.iconstyle == \"other\" then\r\n          level_dialogue.iconnamebox:setText(level_dialogue.unit.special.iconname)\r\n          level_dialogue.iconnamebox:setVisible(true)\r\n          level_dialogue.iconnamebox:setEnabled(true)\r\n        end\r\n      end)\r\n    elseif level_dialogue.unit ~= unit then\r\n      level_dialogue.iconnamebox:setVisible(false)\r\n      level_dialogue.iconnamebox:setEnabled(false)\r\n      addTween(tween.new(0.05, level_dialogue, {scale = 0}), \"level dialogue\", function()\r\n        level_dialogue.enabled = true\r\n        level_dialogue.unit = unit\r\n        level_dialogue.x, level_dialogue.y = unit.x, unit.y\r\n        addTween(tween.new(0.1, level_dialogue, {scale = 1}), \"level dialogue\", function()\r\n          level_dialogue.iconnamebox:setBounds(love.math.newTransform():translate(gameTileToScreen(unit.x + 0.5, unit.y)):transformPoint(-60, -72))\r\n          if unit.special.iconstyle == \"other\" then\r\n            level_dialogue.iconnamebox:setText(level_dialogue.unit.special.iconname)\r\n            level_dialogue.iconnamebox:setVisible(true)\r\n            level_dialogue.iconnamebox:setEnabled(true)\r\n          end\r\n        end)\r\n      end)\r\n    else\r\n      level_dialogue.enabled = false\r\n      level_dialogue.iconnamebox:setVisible(false)\r\n      level_dialogue.iconnamebox:setEnabled(false)\r\n      addTween(tween.new(0.1, level_dialogue, {scale = 0}), \"level dialogue\")\r\n    end\r\n    return\r\n  end\r\n  if level_dialogue.enabled then\r\n    level_dialogue.enabled = false\r\n    level_dialogue.iconnamebox:setVisible(false)\r\n    level_dialogue.iconnamebox:setEnabled(false)\r\n    addTween(tween.new(0.1, level_dialogue, {scale = 0}), \"level dialogue\")\r\n    scene.updateMap()\r\n  end\r\nend\r\n\r\nfunction scene.keyReleased(key)\r\n  key_down[key] = false\r\nend\r\n\r\nfunction updateSelectorTabs()\r\n  local scale, dx, dy = scene.transformParameters()\r\n    local x = (dx-64)*scale\r\n    local y = (dy-32)*scale\r\n    for i=1,#tile_grid do\r\n      local button = selector_tab_buttons_list[i]\r\n      button:setVisible(selector_open)\r\n      button:setEnabled(selector_open)\r\n      button:setBounds(x+64*i*scale, y, 64*scale, 32*scale)\r\n    end\r\nend\r\n\r\nfunction scene.update(dt)\r\n  if not spookmode then\r\n    if capturing or ui.hovered then\r\n      return\r\n    end\r\n    \r\n    if tutorial_open then\r\n      scene.tutorial.height = scene.tutorial.height + scene.tutorial.scroll\r\n      if scene.tutorial.height > 20 then\r\n        scene.tutorial.height = 20\r\n        scene.tutorial.scroll = 0\r\n      elseif scene.tutorial.height < -sprites[\"ui/editor_tutorial\"]:getHeight() + 600 then\r\n        scene.tutorial.height = -sprites[\"ui/editor_tutorial\"]:getHeight() + 600\r\n        scene.tutorial.scroll = 0\r\n      end\r\n      return\r\n    end\r\n\r\n    if ignore_mouse then\r\n      if not love.mouse.isDown(1) then\r\n        ignore_mouse = false\r\n      end\r\n      return\r\n    end\r\n\r\n    width = love.graphics.getWidth()\r\n    height = love.graphics.getHeight()\r\n\r\n    if settings_open then\r\n      if not palettes[input_palette:getText()] then\r\n        label_palette:setIcon(sprites[\"ui/smol warning\"])\r\n      else\r\n        label_palette:setIcon()\r\n      end\r\n      if not music_path[input_music:getText()] then\r\n        label_music:setIcon(sprites[\"ui/smol warning\"])\r\n      else\r\n        label_music:setIcon()\r\n      end\r\n    elseif (not settings_open or not mouseOverBox(settings_ui.x, settings_ui.y, settings_ui.w, settings_ui.h)) and not level_dialogue.enabled then\r\n      local hx,hy = getHoveredTile()\r\n      local ctrl_active = key_down[\"lctrl\"] or key_down[\"rctrl\"] or (is_mobile and mobile_stackmode == \"ctrl\")\r\n      local shift_active = key_down[\"lshift\"] or key_down[\"rshift\"] or (is_mobile and mobile_stackmode == \"shift\") or ctrl_active\r\n      local tileid = hx..\",\"..hy\r\n      local hovered = {}\r\n      if hx ~= nil and ((selector_open and inBounds(hx, hy)) or (not selector_open)) then\r\n        if unitsByTile(hx, hy) then\r\n          for _,v in ipairs(unitsByTile(hx, hy)) do\r\n            table.insert(hovered, v)\r\n          end\r\n        end\r\n\r\n        if love.mouse.isDown(1) and not (is_mobile and mobile_picking or brush.mode == \"picking\") then\r\n          if not selector_open then\r\n            local painted = false\r\n            local new_unit = nil\r\n            local existing = nil\r\n            local ctrl_first_press = false\r\n            if ctrl_active and brush.mode == \"none\" then\r\n              ctrl_first_press = true\r\n            end\r\n            if #hovered >= 1 then\r\n              for _,unit in ipairs(hovered) do\r\n                if unit.tile == brush.id and (unit.tile ~= getTile(\"letter_custom\") or unit.special.customletter == brush.special.customletter)\r\n                and matchesColor(unit.color_override, brush.color, true) then\r\n                  if not (ctrl_active or selectorhold) then\r\n                    existing = unit\r\n                  end\r\n                elseif brush.mode == \"placing\" and not (shift_active or selectorhold) then\r\n                  deleteUnit(unit)\r\n                  scene.updateMap()\r\n                  painted = true\r\n                end\r\n              end\r\n            end\r\n            if existing and brush.mode == \"none\" then\r\n              brush.mode = \"erasing\"\r\n            elseif not existing and brush.mode == \"none\" then\r\n              brush.mode = \"placing\"\r\n            end\r\n            if brush.id ~= nil then\r\n              if brush.mode == \"erasing\" then\r\n                if existing and not selectorhold then\r\n                  deleteUnit(existing)\r\n                  scene.updateMap()\r\n                  painted = true\r\n                end\r\n              elseif brush.mode == \"placing\" and not selectorhold then\r\n                if existing then\r\n                  existing.dir = brush.dir\r\n                  painted = true\r\n                  new_unit = existing\r\n                elseif (not ctrl_active or ctrl_first_press) and (not is_mobile or mobile_firstpress) and (inBounds(hx,hy) or shift_active) then\r\n                  new_unit = createUnit(brush.id, hx, hy, brush.dir)\r\n                  if type(brush.color) == \"string\" then\r\n                    new_unit[brush.color] = true\r\n                    updateUnitColourOverride(new_unit)\r\n                  elseif type(brush.color) == \"table\" then\r\n                    new_unit.color_override = brush.color\r\n                  end\r\n                  mergeTable(new_unit.special, deepCopy(brush.special))\r\n                  if last_lin_hidden and brush.id == \"lin\" then\r\n                    new_unit.special.visibility = \"hidden\"\r\n                  end\r\n                  if brush.id == \"camra\" and units_by_name[\"camra\"] and #units_by_name[\"camra\"] > 1 then\r\n                    deleteUnit(units_by_name[\"camra\"][1])\r\n                  end\r\n                  --[[if brush.id == tiles_by_name[\"letter_custom\"] then\r\n                    new_unit.special.customletter = brush.customletter\r\n                  end]]\r\n                  scene.updateMap()\r\n                  painted = true\r\n                end\r\n              end\r\n              if painted then\r\n                if tileid == brush.picked_tile then\r\n                  brush.picked_tile = nil\r\n                  brush.picked_index = 0\r\n                end\r\n                paintedtiles = paintedtiles + 1\r\n              end\r\n            end\r\n          else\r\n            local selected = hx + hy * tile_grid_width\r\n            if current_tile_grid[selected] and current_tile_grid[selected] ~= 0 then\r\n              brush.id = current_tile_grid[selected]\r\n              brush.special = {}\r\n              brush.picked_tile = nil\r\n              brush.picked_index = 0\r\n            else\r\n              brush.id = nil\r\n              brush.special = {}\r\n              brush.picked_tile = nil\r\n              brush.picked_index = 0\r\n              brush.color = nil\r\n            end\r\n          end\r\n          mobile_firstpress = false\r\n        end\r\n      end\r\n      if (love.mouse.isDown(2) or (is_mobile and mobile_picking and love.mouse.isDown(1))) and not selector_open then\r\n        if brush.mode ~= \"picking\" then\r\n          if #hovered >= 1 then\r\n            brush.picked_tile = tileid\r\n            if brush.picked_tile == tileid and brush.picked_index > 0 then\r\n              local new_index = brush.picked_index + 1\r\n              if new_index > #hovered then\r\n                new_index = 1\r\n              end\r\n              brush.picked_index = new_index\r\n              brush.id = hovered[new_index].tile\r\n              brush.color = hovered[new_index].color_override\r\n              --brush.customletter = hovered[new_index].special.customletter\r\n              if hovered[new_index].name == \"lin\" then\r\n                last_lin_hidden = (hovered[new_index].special.visibility == \"hidden\")\r\n              end\r\n              brush.special = hovered[new_index].special\r\n            else\r\n              brush.id = hovered[1].tile \r\n              brush.color = hovered[1].color_override\r\n              --brush.customletter = hovered[1].special.customletter\r\n              if hovered[1].name == \"lin\" then\r\n                last_lin_hidden = (hovered[1].special.visibility == \"hidden\")\r\n              end\r\n              brush.special = hovered[1].special\r\n              brush.picked_index = 1\r\n            end\r\n            brush.mode = \"picking\"\r\n          else\r\n            brush.id = nil\r\n            brush.special = {}\r\n            brush.picked_tile = nil\r\n            brush.picked_index = 0\r\n            brush.color = nil\r\n            mobile_picking = false\r\n          end\r\n        end\r\n      end\r\n    end\r\n    \r\n    if level_dialogue.enabled and level_dialogue.unit.name ~= \"lin\" and level_dialogue.unit.special.iconstyle == \"other\" then\r\n      if level_dialogue.lastUnit == level_dialogue.unit then\r\n        local iconname = level_dialogue.iconnamebox:getText()\r\n        if sprites[iconname] or iconname == \"\" then\r\n          level_dialogue.unit.special.iconname = iconname\r\n          level_dialogue.iconnamebox.style.bgColor = {getPaletteColor(0, 0)}\r\n        else\r\n          level_dialogue.iconnamebox.style.bgColor = {getPaletteColor(2, 2)}\r\n        end\r\n      else\r\n        level_dialogue.lastUnit = level_dialogue.unit\r\n        local iconname = level_dialogue.iconnamebox:setText(level_dialogue.unit.special.iconname or \"\")\r\n      end\r\n    end\r\n    \r\n    max_layer = 1\r\n    units_by_layer = {}\r\n    for _,unit in ipairs(units) do\r\n      if not units_by_layer[unit.layer] then\r\n        units_by_layer[unit.layer] = {}\r\n      end\r\n\r\n      table.insert(units_by_layer[unit.layer], unit)\r\n      max_layer = math.max(max_layer, unit.layer)\r\n    end\r\n\r\n    if not (love.mouse.isDown(1) and not (is_mobile and mobile_picking and brush.mode ~= \"picking\")) then\r\n      if brush.mode == \"placing\" or brush.mode == \"erasing\" then\r\n        brush.mode = \"none\"\r\n      end\r\n      mobile_firstpress = true\r\n    end\r\n    if not (love.mouse.isDown(2) or (is_mobile and love.mouse.isDown(1) and mobile_picking)) then\r\n      if brush.mode == \"picking\" then\r\n        brush.mode = \"none\"\r\n        mobile_picking = false\r\n      end\r\n    end\r\n  end\r\nend\r\n\r\nfunction scene.transformParameters()\r\n  local roomwidth, roomheight\r\n  local targetwidth, targetheight\r\n\r\n  if not selector_open then\r\n    roomwidth = mapwidth * TILE_SIZE\r\n    roomheight = mapheight * TILE_SIZE\r\n\r\n    targetwidth = (mapwidth + 4) * TILE_SIZE\r\n    targetheight = (mapheight + 4) * TILE_SIZE\r\n  else\r\n    roomwidth = tile_grid_width * TILE_SIZE\r\n    roomheight = tile_grid_height * TILE_SIZE\r\n\r\n    targetwidth = (tile_grid_width + 4) * TILE_SIZE\r\n    targetheight = (tile_grid_height + 4) * TILE_SIZE + 64\r\n  end\r\n\r\n  local screenwidth = love.graphics.getWidth() * (is_mobile and 0.75 or 1)\r\n  local screenheight = love.graphics.getHeight() - (is_mobile and sprites[\"ui/cog\"]:getHeight() or 0)\r\n\r\n  if settings[\"int_scaling\"] then\r\n    targetwidth = roomwidth\r\n    targetheight = roomheight\r\n    if selector_open then\r\n      targetheight = targetheight + 64\r\n    end\r\n  end\r\n\r\n  local scale = 1\r\n  if settings[\"int_scaling\"] then\r\n    local scales = {0.25, 0.375, 0.5, 0.75, 1, 2, 3, 4}\r\n    if selector_open then\r\n      table.insert(scales, 6, 1.5)\r\n    end\r\n    scale = scales[1]\r\n    for _,s in ipairs(scales) do\r\n      if screenwidth >= roomwidth * s and screenheight >= roomheight * s + (selector_open and 120 or 0) then\r\n          scale = s\r\n      else break end\r\n    end\r\n  else\r\n    scale = math.min(screenwidth / targetwidth, screenheight / targetheight)\r\n  end\r\n\r\n  local scaledwidth = screenwidth * (1/scale)\r\n  local scaledheight = screenheight * (1/scale)\r\n\r\n  local dx = scaledwidth / 2 - roomwidth / 2\r\n  local dy = scaledheight / 2 - roomheight / 2 + (is_mobile and sprites[\"ui/cog\"]:getHeight()/scale or 0)\r\n  \r\n  return scale, dx, dy\r\nend\r\n\r\nfunction scene.getTransform()\r\n  local transform = love.math.newTransform()\r\n\r\n  local scale, dx, dy = scene.transformParameters()\r\n\r\n  transform:scale(scale, scale)\r\n  transform:translate(dx, dy)\r\n  \r\n  roomscale = scale\r\n  return transform\r\nend\r\n\r\nlast_hovered_tile = {0,0}\r\nfunction scene.draw(dt)\r\n  if not spookmode then\r\n    --background color\r\n    local bg_color = {getPaletteColor(1, 0)}\r\n\r\n    love.graphics.setColor(bg_color[1], bg_color[2], bg_color[3], bg_color[4])\r\n    setRainbowModeColor(love.timer.getTime()/6, .2)\r\n\r\n    -- fill the background with the background color\r\n    love.graphics.rectangle(\"fill\", 0, 0, love.graphics.getWidth(), love.graphics.getHeight())\r\n\r\n    local roomwidth, roomheight\r\n    if not selector_open then\r\n      roomwidth = mapwidth * TILE_SIZE\r\n      roomheight = mapheight * TILE_SIZE\r\n    else\r\n      roomwidth = tile_grid_width * TILE_SIZE\r\n      roomheight = tile_grid_height * TILE_SIZE\r\n    end\r\n\r\n    love.graphics.push()\r\n    love.graphics.applyTransform(scene.getTransform())\r\n\r\n    love.graphics.setColor(getPaletteColor(0, 4))\r\n    love.graphics.rectangle(\"fill\", 0, 0, roomwidth, roomheight)\r\n    if not selector_open and level_background_sprite ~= nil and level_background_sprite ~= \"\" and sprites[level_background_sprite] then\r\n      love.graphics.setColor(1, 1, 1)\r\n      local sprite = sprites[level_background_sprite]\r\n      love.graphics.draw(sprite, 0, 0, 0, 1, 1, 0, 0)\r\n    end\r\n\r\n    local function setColor(color, opacity)\r\n      if #color == 3 then\r\n        color = {color[1]/255, color[2]/255, color[3]/255, 1}\r\n      else\r\n        color = {getPaletteColor(color[1], color[2])}\r\n        color[4] = color[4] * (opacity or 1)\r\n      end\r\n      love.graphics.setColor(color)\r\n      return color\r\n    end\r\n  \r\n    if not selector_open then\r\n      if settings[\"grid_lines\"] then\r\n        love.graphics.setLineWidth(1)\r\n        local r,g,b,a = getPaletteColor(0,1)\r\n        love.graphics.setColor({r,g,b},0.3)\r\n        for i=1,mapwidth-1 do\r\n            love.graphics.line(i*TILE_SIZE,0,i*TILE_SIZE,roomheight)\r\n        end\r\n        for i=1,mapheight-1 do\r\n            love.graphics.line(0,i*TILE_SIZE,roomwidth,i*TILE_SIZE)\r\n        end\r\n      end\r\n    \r\n      for i=1,max_layer do\r\n        if units_by_layer[i] then\r\n          for _,unit in ipairs(units_by_layer[i]) do\r\n            local color = setColor(getUnitColor(unit))\r\n            local has_lin = false\r\n            if unit.name == \"lin\" then\r\n              --performance todos: each line gets drawn twice (both ways), so there's probably a way to stop that. might not be necessary though, since there is no lag so far\r\n              --in fact, the double lines add to the pixelated look, so for now i'm going to make it intentional and actually add it in a couple places to be consistent\r\n              if settings[\"draw_editor_lins\"] and (not unit.special.pathlock or unit.special.pathlock == \"none\") then\r\n                love.graphics.setLineStyle(\"rough\")\r\n                local orthos = {}\r\n                local line = {}\r\n                for ndir=1,4 do\r\n                  local nx,ny = dirs[ndir][1],dirs[ndir][2]\r\n                  local px,py = unit.x + nx, unit.y + ny\r\n                  local around = getUnitsOnTile(px,py)\r\n                  for _,other in ipairs(around) do\r\n                    if other.name == \"lin\" or other.name == \"lvl\" then\r\n                      orthos[ndir] = true\r\n                      table.insert(line,{unit.x*2-unit.draw.x+nx+other.draw.x-other.x, unit.y*2-unit.draw.y+ny+other.draw.y-other.y, other.special.visibility == \"hidden\"})\r\n                      break\r\n                    else\r\n                      orthos[ndir] = false\r\n                    end\r\n                  end\r\n                end\r\n                for ndir=2,8,2 do\r\n                  local nx,ny = dirs8[ndir][1],dirs8[ndir][2]\r\n                  local px,py = unit.x + nx, unit.y + ny\r\n                  local around = getUnitsOnTile(px,py)\r\n                  for _,other in ipairs(around) do\r\n                    if (other.name == \"lin\" or other.name == \"lvl\") and not orthos[ndir/2] and not orthos[dirAdd(ndir,2)/2] then\r\n                      table.insert(line,{unit.x*2-unit.draw.x+nx+other.draw.x-other.x, unit.y*2-unit.draw.y+ny+other.draw.y-other.y, other.special.visibility == \"hidden\"})\r\n                      break\r\n                    end\r\n                  end\r\n                end\r\n                if (#line > 0) then\r\n                  local fulldrawx, fulldrawy = (unit.x + 0.5)*TILE_SIZE, (unit.y + 0.5)*TILE_SIZE\r\n                  -- love.graphics.rectangle(\"fill\", fulldrawx-1, fulldrawy-1, 1, 3)\r\n                  -- love.graphics.rectangle(\"fill\", fulldrawx-2, fulldrawy, 3, 1)\r\n                  for _,point in ipairs(line) do\r\n                    --no need to change the rendering to account for movement, since all halflines are drawn to static objects (portals and oob)\r\n                    local dx = unit.x-point[1]\r\n                    local dy = unit.y-point[2]\r\n                    \r\n                    --draws it twice to make it look the same as the other lines. should be reduced to one if we figure out that performance todo above\r\n                    --   love.graphics.setLineWidth(3)\r\n                    -- if dx == 0 or dy == 0 then\r\n                    --   love.graphics.setLineWidth(3)\r\n                    -- else\r\n                    --   love.graphics.setLineWidth(3)\r\n                    -- end\r\n\r\n                    if unit.special.visibility ~= \"hidden\" then\r\n                      local odx = TILE_SIZE*dx/(point[3] and 4 or 2)\r\n                      local ody = TILE_SIZE*dy/(point[3] and 4 or 2)\r\n                      love.graphics.setLineWidth(4)\r\n                      love.graphics.line(fulldrawx+dx,fulldrawy+dy,fulldrawx-odx,fulldrawy-ody)\r\n                    else\r\n                      local odx = TILE_SIZE*dx/4\r\n                      local ody = TILE_SIZE*dy/4\r\n                      love.graphics.setLineWidth(2)\r\n                      love.graphics.line(fulldrawx+dx,fulldrawy+dy,fulldrawx-odx,fulldrawy-ody)\r\n                    end\r\n                  end\r\n                end\r\n                if #line > 0 then\r\n                  has_lin = true\r\n                end\r\n                love.graphics.setLineWidth(2)\r\n              end\r\n            end\r\n            \r\n            local rotation = 0\r\n            if unit.rotate then\r\n              rotation = (unit.dir - 1) * 45\r\n            end\r\n\r\n            if rainbowmode then\r\n              local newcolor = hslToRgb((love.timer.getTime()/3+unit.x/18+unit.y/18)%1, .5, .5, 1)\r\n              newcolor[1] = newcolor[1]*255\r\n              newcolor[2] = newcolor[2]*255\r\n              newcolor[3] = newcolor[3]*255\r\n              unit.color_override = newcolor\r\n            end\r\n\r\n            if not has_lin then\r\n              drawUnitSprite(unit, (unit.x+0.5)*TILE_SIZE, (unit.y+0.5)*TILE_SIZE, math.rad(rotation), 1, 1)\r\n            end\r\n          end\r\n        end\r\n      end\r\n    else\r\n      for x=0,tile_grid_width-1 do\r\n        for y=0,tile_grid_height-1 do\r\n          local gridid = x + y * tile_grid_width\r\n          local i = current_tile_grid[gridid]\r\n          if i ~= nil and i ~= 0 then\r\n            local tile = getTile(i)\r\n\r\n            -- local x = tile.grid[1]\r\n            -- local y = tile.grid[2]\r\n\r\n            if rainbowmode then love.graphics.setColor(hslToRgb((love.timer.getTime()/3+x/tile_grid_width+y/tile_grid_height)%1, .5, .5, 1)) end\r\n            \r\n            local found_matching_tag = false\r\n            local tilename = tile.name:gsub(\" \",\"\")\r\n            \r\n            if tile.tags ~= nil then\r\n              for _,tag in ipairs(tile.tags) do\r\n                tag = tag:gsub(\" \",\"\")\r\n                if string.match(tag, subsearchstr) then\r\n                  found_matching_tag = true\r\n                  break\r\n                end\r\n              end\r\n            end\r\n            \r\n            if string.match(tilename, subsearchstr) then\r\n              found_matching_tag = true\r\n            end\r\n            \r\n            if tile.type and string.match(tile.type, subsearchstr) then\r\n              found_matching_tag = true\r\n            end\r\n            \r\n            if tile.typeset ~= nil then\r\n              for type,_ in pairs(tile.typeset) do\r\n                if string.match(type, subsearchstr) then\r\n                  found_matching_tag = true\r\n                  break\r\n                end\r\n              end\r\n            end\r\n            \r\n            if tile.pronouns ~= nil then\r\n              for _,pronoun in ipairs(tile.pronouns) do\r\n                if string.match(pronoun, subsearchstr) then\r\n                  found_matching_tag = true\r\n                  break\r\n                end\r\n              end\r\n            end\r\n            \r\n            if tile.meta > 0 and string.match(\"meta\",subsearchstr) then\r\n              found_matching_tag = true\r\n            end\r\n            \r\n            if tile.nt and (string.match(\"nt\",subsearchstr) or string.match(\"n't\",subsearchstr)) then\r\n              found_matching_tag = true\r\n            end\r\n            \r\n            if not found_matching_tag then love.graphics.setColor(0.2,0.2,0.2) end\r\n\r\n            local color = {}\r\n            if not found_matching_tag then\r\n              for i = 1, #tile.sprite do\r\n                color[i] = {0.2*255, 0.2*255, 0.2*255}\r\n              end\r\n            else\r\n              color = getTileColors(tile, brush.color)\r\n            end\r\n\r\n            drawTileSprite(tile, (x+0.5)*TILE_SIZE, (y+0.5)*TILE_SIZE, 0, 1, 1, {color = color, anti_wobble = true})\r\n\r\n            if brush.id == i then\r\n              love.graphics.setColor(1, 0, 0)\r\n              love.graphics.rectangle(\"line\", x * TILE_SIZE, y * TILE_SIZE, TILE_SIZE, TILE_SIZE)\r\n            end\r\n          elseif gridid == 0 and brush.id == nil then\r\n            love.graphics.setColor(1, 0, 0)\r\n            love.graphics.rectangle(\"line\", x * TILE_SIZE, y * TILE_SIZE, TILE_SIZE, TILE_SIZE)\r\n          end\r\n        end\r\n      end\r\n    end\r\n\r\n    local hx,hy = getHoveredTile()\r\n    if hx ~= nil then\r\n      if not (ui.hovered or gooi.showingDialog or capturing) then\r\n        love.graphics.setLineWidth(2)\r\n        love.graphics.setColor(1, 1, 0)\r\n        love.graphics.rectangle(\"line\", hx * TILE_SIZE, hy * TILE_SIZE, TILE_SIZE, TILE_SIZE)\r\n        \r\n        if brush.id and not selector_open then\r\n          local tile = getTile(brush.id)\r\n          local color = getTileColors(tile, brush.color)\r\n\r\n          local rotation = 0\r\n          if tile.rotate then\r\n            rotation = (brush.dir - 1) * 45\r\n          end\r\n\r\n          drawTileSprite(tile, (hx+0.5)*TILE_SIZE, (hy+0.5)*TILE_SIZE, math.rad(rotation), 1, 1, {alpha = 0.25, color = color, special = brush.special})\r\n\r\n          if brush.id == \"camra\" then\r\n            local camera = brush.special and brush.special.camera or {x = 0, y = 0, w = 11, h = 7}\r\n            local vx, vy, vw, vh = camera.x, camera.y, camera.w, camera.h\r\n            love.graphics.setLineWidth(1)\r\n            love.graphics.setColor(0, 0, 1, 0.5)\r\n            love.graphics.rectangle(\"line\", (hx - vx - (vw - 1)/2) * TILE_SIZE, (hy - vy - (vh - 1)/2) * TILE_SIZE, vw * TILE_SIZE, vh * TILE_SIZE)\r\n          end\r\n        end\r\n        if not selector_open and units_by_name[\"camra\"] and #units_by_name[\"camra\"] > 0 then\r\n          for _,unit in ipairs(getUnitsOnTile(hx, hy)) do\r\n            if unit.name == \"camra\" then\r\n              local vx, vy, vw, vh = unit.special.camera.x, unit.special.camera.y, unit.special.camera.w, unit.special.camera.h\r\n              love.graphics.setLineWidth(1)\r\n              love.graphics.setColor(0, 0, 1)\r\n              love.graphics.rectangle(\"line\", (hx - vx - (vw - 1)/2) * TILE_SIZE, (hy - vy - (vh - 1)/2) * TILE_SIZE, vw * TILE_SIZE, vh * TILE_SIZE)\r\n            end\r\n          end\r\n        end\r\n      end\r\n\r\n      last_hovered_tile = {hx, hy}\r\n    end\r\n\r\n    if selector_open then\r\n      love.graphics.setColor(getPaletteColor(0,3))\r\n      if settings[\"infomode\"] then love.graphics.print(last_hovered_tile[1] .. ', ' .. last_hovered_tile[2], 0, roomheight+36) end\r\n      if not is_mobile then\r\n        if not settings[\"infomode\"] then\r\n          love.graphics.printf(\"CTRL + TAB to change tabs\", 0, roomheight, roomwidth, \"right\")\r\n          love.graphics.printf(\"LALT to get meta text, RALT to refresh\", 0, roomheight+12, roomwidth, \"right\")\r\n          love.graphics.printf(\"CTRL + N to toggle n't text\", 0, roomheight+24, roomwidth, \"right\")\r\n        end\r\n        if #searchstr > 0 then\r\n          love.graphics.print(\"Searching for: \" .. searchstr, 0, roomheight)\r\n        else\r\n          love.graphics.print(\"Type to search\", 0, roomheight)\r\n        end\r\n      end\r\n    end\r\n\r\n    love.graphics.pop()\r\n\r\n    if selector_open then\r\n      love.graphics.setColor(1, 1, 1)\r\n      local gridid = last_hovered_tile[1]  + last_hovered_tile[2] * tile_grid_width\r\n      local i = current_tile_grid[gridid]\r\n      if inBounds(last_hovered_tile[1], last_hovered_tile[2]) and i ~= nil and i ~= 0 then\r\n        local tile = getTile(i)\r\n        if (tile.desc ~= nil and hx ~= nil) then\r\n          local tooltipwidth, ttlines = love.graphics.getFont():getWrap(tile.desc, love.graphics.getWidth() - love.mouse.getX() - 20)\r\n          local tooltipheight = love.graphics.getFont():getHeight() * #ttlines\r\n\r\n          local tooltipyoffset = 0\r\n\r\n          if love.mouse.getY() + (tooltipheight + 20) - love.graphics.getHeight() > 0 then\r\n            tooltipyoffset = love.mouse.getY() + (tooltipheight + 20) - love.graphics.getHeight()\r\n          end\r\n\r\n          love.graphics.setColor(getPaletteColor(1, 3))\r\n          love.graphics.rectangle(\"fill\", love.mouse.getX()+10, love.mouse.getY()+10-tooltipyoffset, tooltipwidth+14, tooltipheight+12)\r\n          love.graphics.setColor(getPaletteColor(0, 4))\r\n          love.graphics.rectangle(\"fill\", love.mouse.getX()+11, love.mouse.getY()+11-tooltipyoffset, tooltipwidth+12, tooltipheight+10)\r\n\r\n          love.graphics.setColor(getPaletteColor(0,3))\r\n          love.graphics.printf(tile.desc, love.mouse.getX()+16, love.mouse.getY()+14-tooltipyoffset, love.graphics.getWidth() - love.mouse.getX() - 20)\r\n        end\r\n        if settings[\"infomode\"] then\r\n          love.graphics.push()\r\n          love.graphics.applyTransform(scene.getTransform())\r\n          love.graphics.print(\"Name: \" .. tile.name, 0, roomheight+12)\r\n          love.graphics.print(\"Layer: \" .. tostring(tile.layer), 150, roomheight)\r\n          love.graphics.print(\"Type: \" .. (tile.is_text and \"txt\" or \"object\"), 150, roomheight+12)\r\n          local color = dump(tile.color):sub(2,-2)\r\n          color = color:gsub(\"{\",\"(\")\r\n          color = color:gsub(\"}\",\")\")\r\n          love.graphics.print(\"Color: \" .. color, 150, roomheight+36)\r\n          if tile.voice ~= nil then\r\n            love.graphics.print(\"Instrument: \" .. tile.voice, 250, roomheight)\r\n          else\r\n            love.graphics.print(\"Instrument: bit (default)\", 250, roomheight)\r\n          end\r\n          local tags = \"\"\r\n          if tile.is_text and tile.typeset then\r\n            for key,_ in pairs(tile.typeset) do\r\n              if key == \"cond_infix\" then\r\n                tags = tags .. \"infix condition, \"\r\n              elseif key == \"cond_infix_dir\" then\r\n                tags = tags .. \"direction infix condition, \"\r\n              elseif key == \"cond_prefix\" then\r\n                tags = tags .. \"prefix condition, \"\r\n              elseif key == \"verb_unit\" then\r\n                tags = tags .. \"unit verb, \"\r\n              elseif key == \"verb_class\" then\r\n                tags = tags .. \"class verb, \"\r\n              elseif key == \"verb_sing\" then\r\n                tags = tags .. \"special verb, \"\r\n              elseif key == \"verb_be\" or key == \"and\" or key == \"not\" then\r\n              else\r\n                tags = tags .. key:gsub(\"_\",\" \") .. \", \"\r\n              end\r\n            end\r\n          elseif tile.meta > 0 then\r\n            tags = tags .. \"meta, \"\r\n          elseif tile.nt then\r\n            tags = tags .. \"nt, \"\r\n          else\r\n            tags = \"object, \"\r\n          end\r\n          if #tile.tags > 0 then\r\n            tags = table.concat(tile.tags,\", \") .. \", \" .. tags\r\n          end\r\n          if #tile.pronouns > 0 then\r\n            tags = tags .. table.concat(tile.pronouns, \"/\") .. \", \" --need to add this to the end bc of the sub(1,-3) later\r\n          end\r\n          love.graphics.print(tags:sub(1,-3), 0, roomheight+24)\r\n          love.graphics.pop()\r\n        end\r\n      end\r\n    end\r\n    \r\n    if not selector_open and level_dialogue.scale > 0 then\r\n      love.graphics.push()\r\n      love.graphics.translate(gameTileToScreen(level_dialogue.x + 0.5, level_dialogue.y))\r\n      love.graphics.scale(level_dialogue.scale)\r\n      \r\n      local unit = level_dialogue.unit\r\n      \r\n      if unit.name ~= \"lin\" then\r\n        local width, height = 200, 110\r\n        love.graphics.setColor(getPaletteColor(0, 4))\r\n        love.graphics.polygon(\"fill\", -4, -8, 0, 0, 4, -8)\r\n        love.graphics.rectangle(\"fill\", -width/2, -height-8, width, height)\r\n    \r\n        love.graphics.setColor(getPaletteColor(3, 3))\r\n        love.graphics.setLineWidth(2)\r\n        love.graphics.line(-width/2, -height-8, -width/2, -8, -4, -8, 0, 0, 4, -8, width/2, -8, width/2, -height-8, -width/2, -height-8)\r\n        love.graphics.line(22, -height-0.5, 22, -15.5)\r\n        \r\n        love.graphics.setColor(1,1,1,1)\r\n        love.graphics.print(\"Style\", -92, -95)\r\n        love.graphics.print(({number = \"Number\", dots = \"Number\", letter = \"Letter\", other = \"Icon\"})[unit.special.iconstyle or \"number\"], -92, -70)\r\n        love.graphics.print(({hidden = \"Hidden\", locked = \"Locked\", open = \"Open\"})[unit.special.visibility or \"locked\"], -92, -45)\r\n        \r\n        \r\n        love.graphics.setColor(getPaletteColor(0, 0))\r\n        -- style\r\n        love.graphics.rectangle(\"fill\", -56, -95, 16, 16)\r\n        love.graphics.rectangle(\"fill\", -38, -95, 16, 16)\r\n        love.graphics.rectangle(\"fill\", -20, -95, 16, 16)\r\n        love.graphics.rectangle(\"fill\", -2, -95, 16, 16)\r\n        -- number\r\n        if unit.special.iconstyle ~= \"other\" then\r\n          love.graphics.rectangle(\"fill\", -27, -70, 30, 16)\r\n        end\r\n        -- hidden/locked/open\r\n        love.graphics.rectangle(\"fill\", -38, -45, 16, 16)\r\n        love.graphics.rectangle(\"fill\", -20, -45, 16, 16)\r\n        love.graphics.rectangle(\"fill\", -2, -45, 16, 16)\r\n        \r\n        love.graphics.rectangle(\"fill\", 30, -96, 62, 62) -- level picture\r\n        love.graphics.rectangle(\"fill\", 30, -30, 62, 14) -- go to level\r\n        \r\n        love.graphics.setColor(1,1,1,1)\r\n        love.graphics.draw(sprites[\"ui/iconstyle_number\"], -56, -95)\r\n        love.graphics.draw(sprites[\"ui/iconstyle_dots\"], -38, -95)\r\n        love.graphics.draw(sprites[\"ui/iconstyle_letter\"], -20, -95)\r\n        love.graphics.draw(sprites[\"ui/iconstyle_other\"], -2, -95)\r\n        \r\n        if unit.special.iconstyle ~= \"other\" then\r\n          love.graphics.draw(sprites[\"ui/arrow_small\"], -38, -70)\r\n          love.graphics.draw(sprites[\"ui/arrow_small\"], 3, -70, math.pi, 1, 1, 11, 16)\r\n        end\r\n        \r\n        love.graphics.draw(sprites[\"ui/levelbox_hidden\"], -38, -45)\r\n        love.graphics.draw(sprites[\"ui/levelbox_locked\"], -20, -45)\r\n        love.graphics.draw(sprites[\"ui/levelbox_open\"], -2, -45)\r\n        \r\n        if not unit.special.iconstyle or unit.special.iconstyle == \"number\" or unit.special.iconstyle == \"dots\" then\r\n          love.graphics.printf(tostring(unit.special.number or 1), -27, -70, 30, \"center\")\r\n        elseif unit.special.iconstyle == \"letter\" then\r\n          love.graphics.printf((\"ABCDEFGHIJKLMNOPQRSTUVWXYZ\"):sub(unit.special.number or 1, unit.special.number or 1), -27, -70, 30, \"center\")\r\n        end\r\n        love.graphics.setLineWidth(1)\r\n        love.graphics.setColor(getPaletteColor(5, 2))\r\n        love.graphics.rectangle(\"line\", 15.5-18*({number = 4, dots = 3, letter = 2, other = 1})[unit.special.iconstyle or \"number\"], -95.5, 17, 17)\r\n        love.graphics.rectangle(\"line\", 15.5-18*({hidden = 3, locked = 2, open = 1})[unit.special.visibility or \"locked\"], -45.5, 17, 17)\r\n        \r\n        love.graphics.setFont(love.graphics.newFont(8))\r\n        love.graphics.setColor(1,1,1,1)\r\n        local _, lines = love.graphics.getFont():getWrap((unit.special.name or \"select level\"):upper(), 64)\r\n        love.graphics.printf(lines[1], 31, -110, 60, \"center\")\r\n        if lines[2] then\r\n          love.graphics.printf(\"...\", 31, -106, 60, \"center\")\r\n        end\r\n        local dir = \"levels/\"\r\n        if world ~= \"\" then dir = getWorldDir() .. \"/\" end\r\n        if unit.special.level then\r\n          icon_data = getIcon(dir .. unit.special.level)\r\n        else\r\n          icon_data = nil\r\n        end\r\n        love.graphics.draw(icon_data or sprites[\"ui/default icon\"], 31, -95, 0, 0.625)\r\n        \r\n        if unit.special.name then\r\n          love.graphics.printf(\"Go to Level\", 31, -28, 60, \"center\")\r\n        end\r\n    \r\n        love.graphics.pop()\r\n      else -- unit.name == line\r\n        local width, height = 150, 50\r\n        love.graphics.setColor(getPaletteColor(0, 4))\r\n        love.graphics.polygon(\"fill\", -4, -8, 0, 0, 4, -8)\r\n        love.graphics.rectangle(\"fill\", -width/2, -height-8, width, height)\r\n    \r\n        love.graphics.setColor(getPaletteColor(3, 3))\r\n        love.graphics.setLineWidth(2)\r\n        love.graphics.line(-width/2, -height-8, -width/2, -8, -4, -8, 0, 0, 4, -8, width/2, -8, width/2, -height-8, -width/2, -height-8)\r\n        love.graphics.line(-10, -height-0.5, -10, -15.5)\r\n        \r\n        love.graphics.setColor(1,1,1,1)\r\n        love.graphics.printf(({hidden = \"Hidden\", open = \"Open\"})[unit.special.visibility or \"open\"], -70, -31, 55, \"center\")\r\n        if not unit.special.pathlock or unit.special.pathlock == \"none\" then\r\n          love.graphics.printf(\"Unlocked\", -5, -31, 75, \"center\")\r\n        end\r\n        \r\n        \r\n        love.graphics.setColor(getPaletteColor(0, 0))\r\n        -- hidden/open\r\n        love.graphics.rectangle(\"fill\", -59, -50, 16, 16)\r\n        love.graphics.rectangle(\"fill\", -41, -50, 16, 16)\r\n        -- number\r\n        if unit.special.pathlock and unit.special.pathlock ~= \"none\" then\r\n          love.graphics.rectangle(\"fill\", 18, -30, 30, 16)\r\n        end\r\n        -- path lock\r\n        love.graphics.rectangle(\"fill\", -2, -50, 16, 16)\r\n        love.graphics.rectangle(\"fill\", 16, -50, 16, 16)\r\n        love.graphics.rectangle(\"fill\", 34, -50, 16, 16)\r\n        love.graphics.rectangle(\"fill\", 52, -50, 16, 16)\r\n        \r\n        love.graphics.setColor(1,1,1,1)\r\n        love.graphics.draw(sprites[\"ui/levelbox_hidden\"], -59, -50)\r\n        love.graphics.draw(sprites[\"ui/lin_visible\"], -41, -50)\r\n        \r\n        love.graphics.draw(sprites[\"ui/pathlock_none\"], -2, -50)\r\n        love.graphics.draw(sprites[\"ui/pathlock_puffs\"], 16, -50)\r\n        love.graphics.draw(sprites[\"ui/pathlock_blossoms\"], 34, -50)\r\n        love.graphics.draw(sprites[\"ui/pathlock_orbs\"], 52, -50)\r\n        \r\n        if unit.special.pathlock and unit.special.pathlock ~= \"none\" then\r\n          love.graphics.draw(sprites[\"ui/arrow_small\"], 7, -30)\r\n          love.graphics.draw(sprites[\"ui/arrow_small\"], 48, -30, math.pi, 1, 1, 11, 16)\r\n        end\r\n        \r\n        if unit.special.pathlock and unit.special.pathlock ~= \"none\" then\r\n          love.graphics.printf(tostring(unit.special.number or 1), 18, -30, 30, \"center\")\r\n        end\r\n        love.graphics.setLineWidth(1)\r\n        love.graphics.setColor(getPaletteColor(5, 2))\r\n        love.graphics.rectangle(\"line\", -23.5-18*({hidden = 2, open = 1})[unit.special.visibility or \"open\"], -50.5, 17, 17)\r\n        love.graphics.rectangle(\"line\", -20.5+18*({none = 1, puffs = 2, blossoms = 3, orbs = 4})[unit.special.pathlock or \"none\"], -50.5, 17, 17)\r\n    \r\n        love.graphics.pop()\r\n      end\r\n    end\r\n\r\n    local btnx = 0\r\n    for _,btn in ipairs(buttons) do\r\n      local sprite = sprites[\"ui/\" .. btn[1]]\r\n\r\n      if button_pressed then\r\n        if button_pressed == btn then\r\n          love.graphics.setColor(0.5, 0.5, 0.5)\r\n        else\r\n          love.graphics.setColor(1, 1, 1)\r\n        end\r\n      else\r\n        if button_over == btn then\r\n          love.graphics.setColor(0.8, 0.8, 0.8)\r\n        else\r\n          love.graphics.setColor(1, 1, 1)\r\n        end\r\n      end\r\n\r\n      love.graphics.draw(sprite, btnx, 0)\r\n\r\n      btnx = btnx + sprite:getWidth() + 4\r\n    end\r\n\r\n    love.graphics.push()\r\n    \r\n    gooi.draw()\r\n    gooi.draw(\"mobile-controls-selector\")\r\n    gooi.draw(\"mobile-controls-editor\")\r\n    \r\n    if anagram_finder.enabled then\r\n      love.graphics.setColor(0, 0, 0, 0.4)\r\n      love.graphics.rectangle(\"fill\", 0, 0, love.graphics.getWidth(), love.graphics.getHeight())\r\n  \r\n      local words = \"\"\r\n  \r\n      local wordsnum = 0\r\n      local lines = 0.5\r\n  \r\n      for i,word in pairs(anagram_finder.words) do\r\n        words = words..word\r\n        wordsnum = wordsnum + 1\r\n\r\n        if wordsnum % 6 >= 5 then\r\n          words = words..'\\n'\r\n          lines = lines + 1\r\n        else\r\n          words = words..'   '\r\n        end\r\n      end\r\n  \r\n      words = 'possible words:\\n'..words\r\n  \r\n      love.graphics.setColor(1,1,1)\r\n      love.graphics.printf(words, 0, love.graphics.getHeight()/2-love.graphics.getFont():getHeight()*lines/2+0.5, love.graphics.getWidth(), \"center\")\r\n    end\r\n    \r\n    if is_mobile then\r\n      local twelfth = love.graphics.getWidth()/12\r\n      if mobile_picking then\r\n        love.graphics.setColor(1, 1, 1, 1)\r\n        love.graphics.draw(sprites[\"ui_plus\"],10*twelfth,love.graphics.getHeight()-2*twelfth,0,twelfth/32,twelfth/32)\r\n      elseif brush.id then\r\n        local tile = getTile(brush.id)\r\n        local color = getTileColors(tile, brush.color)\r\n        \r\n        local rotation = 0\r\n        if tile.rotate then\r\n          rotation = (brush.dir - 1) * 45\r\n        end\r\n\r\n        drawTileSprite(tile, 10.5*twelfth, love.graphics.getHeight()-1.5*twelfth, math.rad(rotation), twelfth/32, twelfth/32, {color = color, special = brush.special})\r\n      end\r\n      if mobile_stackmode == \"none\" then\r\n        mobile_controls_stackmode_none:setBounds(9*twelfth, love.graphics.getHeight()-4.05*twelfth)\r\n        mobile_controls_stackmode_shift:setBounds(10*twelfth, love.graphics.getHeight()-4.25*twelfth)\r\n        mobile_controls_stackmode_ctrl:setBounds(11*twelfth, love.graphics.getHeight()-4.25*twelfth)\r\n      elseif mobile_stackmode == \"shift\" then\r\n        mobile_controls_stackmode_none:setBounds(9*twelfth, love.graphics.getHeight()-4.15*twelfth)\r\n        mobile_controls_stackmode_shift:setBounds(10*twelfth, love.graphics.getHeight()-4.15*twelfth)\r\n        mobile_controls_stackmode_ctrl:setBounds(11*twelfth, love.graphics.getHeight()-4.25*twelfth)\r\n      elseif mobile_stackmode == \"ctrl\" then\r\n        mobile_controls_stackmode_none:setBounds(9*twelfth, love.graphics.getHeight()-4.15*twelfth)\r\n        mobile_controls_stackmode_shift:setBounds(10*twelfth, love.graphics.getHeight()-4.25*twelfth)\r\n        mobile_controls_stackmode_ctrl:setBounds(11*twelfth, love.graphics.getHeight()-4.15*twelfth)\r\n      end\r\n    end\r\n    \r\n    if paint_open then\r\n      for _,button in ipairs(paint_colors) do\r\n        local x = button[1]\r\n        local pal = button[2]-- or {0, 3}\r\n        if not brush.id then\r\n          love.graphics.setColor(getPaletteColor(pal and pal[1] or 0, pal and pal[2] or 3))\r\n          love.graphics.draw(sprites[\"ui/splat\"], x, 4)\r\n        else\r\n          local tile = getTile(brush.id)\r\n          local color = getTileColors(tile, pal)\r\n\r\n          drawTileSprite(tile, x + 0.5*TILE_SIZE, 4 + 0.5*TILE_SIZE, 0, 1, 1, {color = color, special = brush.special})\r\n        end\r\n        if paint_open == \"full\" then break end\r\n      end\r\n    end\r\n\r\n    love.graphics.setFont(name_font)\r\n    love.graphics.setColor(1, 1, 1)\r\n\r\n    if not paint_open then\r\n      love.graphics.printf(level_name, 0, name_font:getLineHeight() / 2, love.graphics.getWidth(), \"center\")\r\n    end\r\n    \r\n    love.graphics.setColor(1, 1, 1, saved_popup.alpha)\r\n    if is_mobile then\r\n      love.graphics.draw(saved_popup.sprite, 44, 40 + saved_popup.y)\r\n    else\r\n      love.graphics.draw(saved_popup.sprite, 0, 40 + saved_popup.y)\r\n    end\r\n\r\n    if settings_open then\r\n      love.graphics.setColor(0.1, 0.1, 0.1, 1)\r\n      love.graphics.rectangle(\"fill\", settings_ui.x, settings_ui.y, settings_ui.w, settings_ui.h)\r\n      love.graphics.setColor(1, 1, 1, 1)\r\n      gooi.draw(\"settings\")\r\n    end\r\n    love.graphics.pop()\r\n\r\n    if capturing then\r\n      love.graphics.setColor(0.5, 0.5, 0.5, 1)\r\n      love.graphics.draw(screenshot_image)\r\n\r\n      if start_drag then\r\n        local rect, real_rect = scene.getCaptureRect()\r\n        love.graphics.setColor(1, 1, 1, 1)\r\n        love.graphics.setScissor(rect.x, rect.y, rect.w, rect.h)\r\n        love.graphics.draw(screenshot_image)\r\n        love.graphics.setScissor()\r\n        love.graphics.setLineWidth(2)\r\n        love.graphics.rectangle(\"line\", rect.x, rect.y, rect.w, rect.h)\r\n        love.graphics.setLineWidth(1)\r\n        if real_rect then\r\n          love.graphics.setColor(1, 1, 1, 0.5)\r\n          love.graphics.rectangle(\"line\", real_rect.x, real_rect.y, real_rect.w, real_rect.h)\r\n        end\r\n        love.graphics.setColor(1, 1, 1, 1)\r\n      end\r\n    end\r\n\r\n    if is_mobile then\r\n      local cursorx, cursory = love.mouse.getPosition()\r\n      love.graphics.draw(system_cursor, cursorx, cursory)\r\n    end\r\n    \r\n    -- tutorial drawing\r\n    \r\n    love.graphics.setColor(0, 0, 0, scene.tutorial.darkness)\r\n    love.graphics.rectangle(\"fill\", 0, 0, 800, 600)\r\n    love.graphics.setColor(1, 1, 1, scene.tutorial.opacity)\r\n    love.graphics.draw(sprites[\"ui/editor_tutorial\"], 0, math.floor(scene.tutorial.height))\r\n    love.graphics.setColor(1, 1, 1)\r\n  else\r\n    love.graphics.setBackgroundColor(math.random(0,10)/1000,math.random(0,10)/1000,math.random(0,10)/1000)\r\n\r\n    love.graphics.setColor(math.sin(love.timer.getRealTime()*5), 0, 0)\r\n\r\n    local yoverride = false\r\n    local y = 0\r\n\r\n    while not yoverride do\r\n      yoverride = y > love.graphics.getHeight()\r\n\r\n      local xoverride = false\r\n      local x = 0\r\n\r\n      while not xoverride do\r\n        xoverride = x > love.graphics.getWidth()\r\n        love.graphics.print(\"esc\", x, y)\r\n        x = x + love.graphics.getFont():getWidth(\"esc\")\r\n      end\r\n\r\n      y = y + love.graphics.getFont():getHeight()\r\n    end\r\n  end\r\nend\r\n\r\nfunction scene.updateMap()\r\n  map_ver = 5\r\n  local map = {}\r\n  --[[\r\n  for x = 0, mapwidth-1 do\r\n    for y = 0, mapheight-1 do\r\n      if unitsByTile(x, y) then\r\n        for _,unit in ipairs(unitsByTile(x, y)) do\r\n          table.insert(map, {id = unit.id, tile = unit.tile, x = unit.x, y = unit.y, dir = unit.dir, special = unit.special, color = unit.color_override})\r\n        end\r\n      end\r\n    end\r\n  end\r\n  ]]\r\n  for _,unit in ipairs(units) do\r\n    table.insert(map, {id = unit.id, tile = unit.tile, x = unit.x, y = unit.y, dir = unit.dir, special = unit.special, color = unit.color_override})\r\n  end\r\n  local info = {\r\n    name = level_name,\r\n    author = level_author,\r\n    extra = level_extra,\r\n    palette = current_palette,\r\n    music = map_music,\r\n    width = mapwidth,\r\n    height = mapheight,\r\n    version = map_ver,\r\n    parent_level = level_parent_level,\r\n    next_level = level_next_level,\r\n    is_overworld = level_is_overworld,\r\n    puffs_to_clear = level_puffs_to_clear,\r\n    background_sprite = level_background_sprite,\r\n  }\r\n  map = serpent.dump(map)\r\n  maps = {{data = map, info = info}}\r\n  if anagram_finder.enabled then anagram_finder.run() end\r\n  level_filename = level_name\r\n  if #sub_worlds > 0 then level_filename = table.concat(sub_worlds, \"/\") .. \"/\" .. level_filename end\r\nend\r\n\r\nfunction sanitize(filename)\r\n  -- Bad as defined by wikipedia: https://en.wikipedia.org/wiki/Filename#Reserved_characters_and_words\r\n  -- Also have to escape the backslash\r\n  -- and the % and . since they have special meaning in lua regexes\r\n  bad_chars = { '/', '\\\\', '?', '%%', '*', ':', '|', '\"', '<', '>', '%.'}\r\n  for _,bad_char in ipairs(bad_chars) do\r\n    filename = filename:gsub(bad_char, '_')\r\n  end\r\n  return filename\r\nend\r\n\r\nfunction scene.saveLevel()\r\n  compactIds()\r\n  scene.updateMap()\r\n\r\n  local map = maps[1]\r\n\r\n  level_compression = settings[\"level_compression\"]\r\n  local mapdata = level_compression == \"zlib\" and love.data.compress(\"string\", \"zlib\", map.data) or map.data\r\n  local savestr = love.data.encode(\"string\", \"base64\", mapdata)\r\n\r\n  map.info.compression = level_compression\r\n  map.info.map = savestr\r\n  \r\n  local file_name = sanitize(level_name)\r\n\r\n  if world == \"\" or (RELEASE_BUILD and world_parent == \"officialworlds\") then\r\n    love.filesystem.createDirectory(\"levels\")\r\n    love.filesystem.write(\"levels/\" .. file_name .. \".bab\", json.encode(map.info))\r\n    print(\"Saved to:\",\"levels/\" .. file_name .. \".bab\")\r\n    if icon_data then\r\n      pcall(function() icon_data:encode(\"png\", \"levels/\" .. file_name .. \".png\") end)\r\n    end\r\n  else\r\n    if world_parent == \"officialworlds\" then\r\n      local file = love.filesystem.getSource() .. \"/\" .. getWorldDir(true) .. \"/\" .. file_name\r\n      local f = io.open(file..\".bab\", \"w\"); f:write(json.encode(map.info)); f:close()\r\n      if icon_data then\r\n        local success, png_data = pcall(function() return icon_data:encode(\"png\") end)\r\n        if success then\r\n          local f = io.open(file..\".png\", \"wb\")\r\n          f:write(png_data:getString())\r\n          f:close()\r\n        end\r\n      end\r\n    else\r\n      love.filesystem.createDirectory(getWorldDir(true))\r\n      love.filesystem.write(getWorldDir(true) .. \"/\" ..file_name .. \".bab\", json.encode(map.info))\r\n      if icon_data then\r\n        pcall(function() icon_data:encode(\"png\", getWorldDir(true) .. \"/\" .. file_name .. \".png\") end)\r\n      end\r\n    end\r\n    print(\"Saved to:\",getWorldDir(true) .. \"/\" ..file_name .. \".bab\")\r\n  end\r\n\r\n  last_saved = map.data\r\n\r\n  addTween(tween.new(0.25, saved_popup, {y = 0, alpha = 1}, 'outQuad'), \"saved_popup\")\r\n  addTick(\"saved_popup\", 1, function()\r\n    addTween(tween.new(0.5, saved_popup, {y = 16, alpha = 0}), \"saved_popup\")\r\n  end)\r\nend\r\n\r\nfunction scene.loadLevel()\r\n  load_mode = \"edit\"\r\n  new_scene = loadscene\r\nend\r\n\r\nfunction scene.openSettings()\r\n  if not settings_open then\r\n    settings_open = true\r\n\r\n    input_name:setText(level_name)\r\n    input_author:setText(level_author)\r\n    input_palette:setText(current_palette)\r\n    input_music:setText(map_music)\r\n    input_width:setValue(mapwidth)\r\n    input_height:setValue(mapheight)\r\n    input_parent_level:setText(level_parent_level)\r\n    input_next_level:setText(level_next_level)\r\n    input_is_overworld.checked = level_is_overworld\r\n    input_puffs_to_clear:setValue(level_puffs_to_clear)\r\n    input_background_sprite:setText(level_background_sprite)\r\n    input_extra.checked = level_extra\r\n\r\n    gooi.setGroupVisible(\"settings\", true)\r\n    gooi.setGroupEnabled(\"settings\", true)\r\n    --addTween(tween.new(0.5, settings_pos, {x = 0}, 'outBounce'), \"settings\")\r\n  else\r\n    settings_open = false\r\n\r\n    gooi.setGroupVisible(\"settings\", false)\r\n    gooi.setGroupEnabled(\"settings\", false)\r\n    --addTween(tween.new(0.5, settings_pos, {x = -320}, 'outCubic'), \"settings\")\r\n  end\r\nend\r\n\r\nfunction scene.saveSettings()\r\n  local success = true\r\n  if not palettes[input_palette:getText()] then\r\n    success = false\r\n    input_palette:danger()\r\n  else\r\n    input_palette:primary()\r\n  end\r\n  if music_path[input_music:getText()] then\r\n    input_music:primary()\r\n  end\r\n  if not success then\r\n    return\r\n  end\r\n\r\n  local author_change = false\r\n  if not loaded_level then\r\n    if input_author:getText() ~= level_author and input_author:getText() ~= default_author then\r\n      author_change = true\r\n    end\r\n  end\r\n\r\n  level_name = input_name:getText()\r\n  level_author = input_author:getText()\r\n  current_palette = input_palette:getText()\r\n  map_music = input_music:getText()\r\n  level_parent_level = input_parent_level:getText()\r\n  level_next_level = input_next_level:getText()\r\n  level_is_overworld = input_is_overworld.checked\r\n  level_puffs_to_clear = input_puffs_to_clear:getValue()\r\n  level_background_sprite = input_background_sprite:getText()\r\n\r\n  mapwidth = input_width:getValue()\r\n  mapheight = input_height:getValue()\r\n  level_extra = input_extra.checked\r\n  \r\n  scene.updateMap()\r\n\r\n  clear()\r\n  loadMap()\r\n  resetMusic(map_music, 0.1)\r\n\r\n  scene.updateMap()\r\n\r\n  if author_change then\r\n    ui.overlay.confirm({\r\n      text = 'Set your default author name to:\\n' .. level_author,\r\n      okText = \"Yes\",\r\n      cancelText = \"No\",\r\n      ok = function()\r\n        default_author = level_author\r\n        love.filesystem.write(\"author_name\", default_author)\r\n        scene.openSettings()\r\n      end,\r\n      cancel = function()\r\n        scene.openSettings()\r\n      end\r\n    })\r\n  else\r\n    scene.openSettings()\r\n  end\r\n\r\n  saved_settings = true\r\nend\r\n\r\nfunction scene.resetMiku(random)\r\n  if secret_miku_location then\r\n    tile_grid[secret_miku_location[1]][secret_miku_location[2]] = 0\r\n  end\r\n  secret_miku_location = nil\r\n\r\n  if random then\r\n    local possibles = {}\r\n    for i,page in ipairs(tile_grid) do\r\n      for x = 0, tile_grid_width-1 do\r\n        for y = 0, tile_grid_height-1 do\r\n          if type(page[y*tile_grid_width+x+1]) ~= \"string\" and\r\n            (x-1 < 0 or type(page[y*tile_grid_width+(x-1)+1]) ~= \"string\") and\r\n            (x+1 == tile_grid_width or type(page[y*tile_grid_width+(x+1)+1]) ~= \"string\") and\r\n            (y-1 < 0 or type(page[(y-1)*tile_grid_width+x+1]) ~= \"string\") and\r\n            (y+1 == tile_grid_height or type(page[(y+1)*tile_grid_width+x+1]) ~= \"string\") then\r\n\r\n            table.insert(possibles, {i, y*tile_grid_width+x+1})\r\n          end\r\n        end\r\n      end\r\n    end\r\n    if #possibles > 0 then\r\n      local possible = possibles[love.math.random(1, #possibles)]\r\n      secret_miku_location = possible\r\n      tile_grid[possible[1]][possible[2]] = \"miku\"\r\n    end\r\n  end\r\nend\r\n\r\nfunction love.filedropped(file)\r\n  local data = file:read()\r\n  local mapdata = json.decode(data)\r\n\r\n  level_compression = mapdata.compression or \"zlib\"\r\n  local loaddata = love.data.decode(\"string\", \"base64\", mapdata.map)\r\n  local mapstr = loadMaybeCompressedData(loaddata)\r\n\r\n  loaded_level = true\r\n\r\n  level_name = mapdata.name\r\n  level_author = mapdata.author or \"\"\r\n  level_extra = mapdata.extra or false\r\n  current_palette = mapdata.palette or \"default\"\r\n  map_music = mapdata.music or \"bab be u them\"\r\n  mapwidth = mapdata.width\r\n  mapheight = mapdata.height\r\n  map_ver = mapdata.version or 0\r\n  level_parent_level = mapdata.parent_level or \"\"\r\n  level_next_level = mapdata.next_level or \"\"\r\n  level_is_overworld = mapdata.is_overworld or false\r\n  level_puffs_to_clear = mapdata.level_puffs_to_clear or 0\r\n  level_background_sprite = mapdata.background_sprite or \"\"\r\n\r\n  if map_ver == 0 then\r\n    maps = {{data = loadstring(\"return \" .. mapstr)(), info = mapdata}}\r\n  else\r\n    maps = {{data = mapstr, info = mapdata}}\r\n  end\r\n\r\n  level_filename = level_name\r\n  if #sub_worlds > 0 then level_filename = table.concat(sub_worlds, \"/\") .. \"/\" .. level_filename end\r\n\r\n  clear()\r\n  loadMap()\r\n\r\n  if (brush ~= nil) then\r\n    brush.picked_tile = nil\r\n    brush.picked_index = 0\r\n  end\r\n\r\n  local dir = \"levels/\"\r\n  if world ~= \"\" then dir = getWorldDir(true) .. \"/\" end\r\n  icon_data = getIcon(dir .. level_name)\r\n\r\n  resetMusic(map_music, 0.1)\r\nend\r\n\r\nfunction scene.captureIcon()\r\n  if start_drag == nil then\r\n    capturing = false\r\n    screenshot = nil\r\n    screenshot_image = nil\r\n    return\r\n  end\r\n\r\n  local rect = scene.getCaptureRect()\r\n\r\n  if rect.w == 0 or rect.h == 0 then\r\n    capturing = false\r\n    screenshot = nil\r\n    screenshot_image = nil\r\n    return\r\n  end\r\n\r\n  local new_data = love.image.newImageData(rect.w, rect.h)\r\n  new_data:paste(screenshot, 0, 0, rect.x, rect.y, rect.w, rect.h)\r\n\r\n  local new_image = love.graphics.newImage(new_data)\r\n  new_image:setFilter(\"linear\",\"nearest\")\r\n  \r\n  local canvas = love.graphics.newCanvas(ICON_WIDTH, ICON_HEIGHT)\r\n  love.graphics.origin()\r\n  love.graphics.setCanvas(canvas)\r\n  love.graphics.setColor(1, 1, 1, 1)\r\n  love.graphics.draw(new_image, 0, 0, 0, ICON_WIDTH / rect.w, ICON_HEIGHT / rect.h)\r\n  love.graphics.setCanvas()\r\n\r\n  icon_data = canvas:newImageData()\r\n\r\n  capturing = false\r\n  screenshot = nil\r\n  screenshot_image = nil\r\n  saved_settings = true\r\nend\r\n\r\nfunction scene.resize(w, h)\r\n  clearGooi()\r\n  scene.setupGooi()\r\nend\r\n\r\nfunction scene.translateLevel(dx, dy)\r\n  for _,unit in ipairs(units) do\r\n    local x, y = unit.x+dx, unit.y+dy\r\n    if x > mapwidth-1 then x = 0 end\r\n    if y > mapheight-1 then y = 0 end\r\n    if x < 0 then x = mapwidth-1 end\r\n    if y < 0 then y = mapheight-1 end\r\n    moveUnit(unit, x, y)\r\n  end\r\n  scene.updateMap()\r\nend\r\n\r\nfunction scene.wheelMoved(whx, why)\r\n  if tutorial_open then\r\n    scene.tutorial.scroll = scene.tutorial.scroll + why * 5\r\n    addTween(tween.new(0.5, scene.tutorial, {scroll = 0}), \"tutorial_scroll\")\r\n  else\r\n    if brush.id then\r\n      local tile = getTile(brush.id)\r\n      local new = tile.name\r\n      if why < 0 then -- modified from 'x be meta' code\r\n        if (string.sub(new,396,400) ~= \"_txt_\") then\r\n          new = tile.txtify or \"txt_\"..new\r\n        end\r\n      elseif why > 0 then\r\n        new = tile.thingify or tile.txtname\r\n      end\r\n      brush.id = getTile(new) and new or brush.id\r\n    end\r\n  end\r\nend\r\n\r\nfunction scene.getCaptureRect()\r\n  if not love.keyboard.isDown(\"lshift\") then\r\n    local rect = {\r\n      x = start_drag.x, \r\n      y = start_drag.y,\r\n      w = love.mouse.getX() - start_drag.x,\r\n      h = love.mouse.getY() - start_drag.y\r\n    }\r\n\r\n    local size = math.max(math.abs(rect.w), math.abs(rect.h))\r\n\r\n    if rect.w < 0 then\r\n      rect.x = rect.x - size\r\n    end\r\n    if rect.h < 0 then\r\n      rect.y = rect.y - size\r\n    end\r\n    rect.w = size\r\n    rect.h = size\r\n\r\n    return rect\r\n  else\r\n    local start_x, start_y = screenToGameTile(start_drag.x, start_drag.y, true)\r\n    local current_x, current_y = screenToGameTile(love.mouse.getX(), love.mouse.getY(), true)\r\n    \r\n    start_x = math.floor(start_x*2)/2\r\n    start_y = math.floor(start_y*2)/2\r\n    current_x = math.floor(current_x*2)/2\r\n    current_y = math.floor(current_y*2)/2\r\n\r\n    local min_x, min_y = math.min(start_x, current_x), math.min(start_y, current_y)\r\n    local max_x, max_y = math.max(start_x, current_x), math.max(start_y, current_y)\r\n\r\n    local x1, y1 = gameTileToScreen(min_x, min_y)\r\n    local x2, y2 = gameTileToScreen(max_x + 1, max_y + 1)\r\n\r\n    local rect = {\r\n      x = x1,\r\n      y = y1,\r\n      w = x2 - x1,\r\n      h = y2 - y1\r\n    }\r\n\r\n    rect.w = math.max(rect.w, rect.h)\r\n    rect.h = math.max(rect.w, rect.h)\r\n\r\n    return rect\r\n  end\r\nend\r\n\r\nreturn scene"
  },
  {
    "path": "game/camera.lua",
    "content": ""
  },
  {
    "path": "game/cursor.lua",
    "content": "function updateCursors()\n  local del_cursors = {}\n\n  for i,cursor in ipairs(cursors) do\n    local deleted = false\n    for _,cid in ipairs(del_cursors) do\n      if cid == cursor.id then\n        deleted = true\n      end\n    end\n    if not deleted and cursor.removed then\n      deleted = true\n      table.insert(del_cursors, cursor.id)\n    end\n\n    if not deleted then\n      cursor.screenx = cursor.screenx + mouse_X - mouse_oldX\n      cursor.screeny = cursor.screeny + mouse_Y - mouse_oldY\n\n      local x, y = screenToGameTile(cursor.screenx, cursor.screeny)\n      \n      cursor.x = x\n      cursor.y = y\n\n      cursor.overlay = {}\n\n      for name,overlay in pairs(overlay_props) do\n        if hasProperty(cursor,name) then\n          table.insert(cursor.overlay, overlay.sprite)\n        end\n      end\n    end\n  end\n  for i,cid in ipairs(del_cursors) do\n    deleteMouse(cid)\n  end\nend\n\nfunction createMouse_direct(x,y,id_)\n  local mouse = {}\n  mouse.class = \"cursor\"\n\n  mouse.id = id_ or newMouseID()\n\n  mouse.screenx = x\n  mouse.screeny = y\n\n  -- unit compatibility\n  mouse.x, mouse.y = screenToGameTile(x, y)\n  mouse.dir = 7\n  mouse.name = \"mous\"\n  mouse.fullname = \"mous\"\n  mouse.type = \"object\"\n  mouse.sprite = {\"ui/mous\"}\n  mouse.color = {{255, 255, 255}}\n  mouse.painted = {true}\n\n  mouse.overlay = {}\n  mouse.removed = false\n  mouse.new = true\n\n  if #cursors == 0 then\n    mouse.primary = true\n    mouse_X, mouse_Y = x, y\n    mouse_oldX, mouse_oldY = x, y\n    if (not unit_tests) then\n      love.mouse.setPosition(x, y)\n    end\n  else\n    mouse.primary = false\n  end\n  table.insert(cursors, mouse)\n  cursors_by_id[mouse.id] = mouse\n  return mouse\nend\n\nfunction createMouse(gamex,gamey,id_)\n  local gx,gy = gameTileToScreen(gamex+0.5,gamey+0.5)\n  return createMouse_direct(gx, gy, id_)\nend\n\nfunction deleteMouse(id)\n  local needs_new_primary = false\n  for i,mous in ipairs(cursors) do\n    if mous.id == id then\n      if mous.primary then\n        needs_new_primary = true\n      end\n      mous.removed = true\n      table.remove(cursors,i)\n      break\n    end\n  end\n  if needs_new_primary then\n    if #cursors > 0 then\n      local mous = cursors[1]\n      mous.primary = true\n      mouse_X, mouse_Y = mous.screenx, mous.screeny\n      mouse_oldX, mouse_oldY = mous.screenx, mous.screeny\n      if (not unit_tests) then\n        love.mouse.setPosition(mous.screenx, mous.screeny)\n      end\n    end\n  end\nend\n\nfunction updateMousePosition()\n  if #cursors == 1 then\n    love.mouse.setGrabbed(false)\n    cursors[1].screenx, cursors[1].screeny = love.mouse.getPosition()\n  else\n    if mouse_grabbed then\n      if (not unit_tests) then\n        love.mouse.setPosition(love.graphics.getWidth() / 2, love.graphics.getHeight() / 2)\n      end\n    end\n    if just_released_mouse == 1 then\n      just_released_mouse = 2\n    elseif just_released_mouse == 2 then\n      just_released_mouse = nil\n    end\n  end\nend\n\nfunction moveMouse(x, y, dx, dy)\n  if not mouse_grabbed then return end\n  if x == math.floor(love.graphics.getWidth() / 2) and y == math.floor(love.graphics.getHeight() / 2) then return end\n\n  if just_grabbed_mouse then\n    resetCursors(x, y)\n    just_grabbed_mouse = false\n  else\n    if #cursors > 1 then\n      local all_out = true\n      local last_out = nil\n      for i,cursor in ipairs(cursors) do\n        local was_offscreen = cursor.offscreen\n\n        cursor.screenx = cursor.screenx + dx\n        cursor.screeny = cursor.screeny + dy\n\n        cursor.offscreen = cursor.screenx < 0 or cursor.screenx > love.graphics.getWidth() or cursor.screeny < 0 or cursor.screeny > love.graphics.getHeight()\n        if not cursor.offscreen then\n          all_out = false\n        elseif not was_offscreen then\n          last_out = cursor\n        end\n      end\n      if all_out and last_out then\n        grabMouse(false)\n        love.mouse.setPosition(last_out.screenx, last_out.screeny)\n      end\n    end\n  end\nend\n\nfunction grabMouse(val)\n  if mouse_grabbed == val then return end\n  if not val then\n    love.mouse.setGrabbed(false)\n    mouse_grabbed = false\n    just_released_mouse = 1\n    --print(\"released mouse\")\n  else\n    if #cursors ~= 1 then\n      love.mouse.setGrabbed(true)\n      mouse_grabbed = true\n      just_grabbed_mouse = true\n      --print(\"grabbed mouse\")\n    end\n  end\nend\n\nfunction resetCursors(x, y)\n  if #cursors == 1 then return end\n\n  local p = {x = 0, y = 0}\n\n  local px, py = getNearestPointInPerimeter(0, 0, love.graphics.getWidth(), love.graphics.getHeight(), x, y)\n  if px == 0 then p.x = 1 end\n  if py == 0 then p.y = 1 end\n  if px == love.graphics.getWidth() then p.x = -1 end\n  if py == love.graphics.getHeight() then p.y = -1 end\n\n  local best_cursor = nil\n  for i,cursor in ipairs(cursors) do\n    if cursor.offscreen then\n      if not best_cursor then\n        best_cursor = cursor\n      else\n        if (p.x >= 0 or cursor.screenx < best_cursor.screenx) and\n           (p.x <= 0 or cursor.screenx > best_cursor.screenx) and\n           (p.y >= 0 or cursor.screeny < best_cursor.screeny) and\n           (p.y <= 0 or cursor.screeny > best_cursor.screeny) then\n          best_cursor = cursor\n        end\n      end\n    end\n  end\n\n  local ox, oy = 0, 0\n  if best_cursor then\n    ox, oy = x - best_cursor.screenx, y - best_cursor.screeny\n  end\n\n  for i,cursor in ipairs(cursors) do\n    if cursor.offscreen then\n      cursor.screenx = cursor.screenx + ox\n      cursor.screeny = cursor.screeny + oy\n    end\n  end\nend"
  },
  {
    "path": "game/movement.lua",
    "content": "--format: {unit = unit, type = \"update\", payload = {x = x, y = y, dir = dir}} \nupdate_queue = {}\nwalkdirchangingrulesexist = false\nsliderulesexist = false\n\nmovedebugflag = false\nfunction movedebug(message)\n  if movedebugflag then\n    print(message)\n  end\nend\n\nfunction doUpdate(already_added, moving_units_next)\n  local sliders = {}\n  for _,update in ipairs(update_queue) do\n    if update.reason == \"update\" then\n      local unit = update.unit\n      local x = update.payload.x\n      local y = update.payload.y\n      local dir = update.payload.dir\n      local portal = update.payload.portal\n      local geometry_spin = update.payload.geometry_spin\n      if (sliderulesexist) then\n        table.insert(sliders, unit)\n      end\n      local changedDir = updateDir(unit, dir)\n      if not changedDir then\n        updateDir(unit, dirAdd(dir, geometry_spin), true)\n      end\n      --movedebug(\"doUpdate:\"..tostring(unit.fullname)..\",\"..tostring(x)..\",\"..tostring(y)..\",\"..tostring(dir))\n      moveUnit(unit, x, y, update.payload.portal)\n      unit.already_moving = false\n    elseif update.reason == \"dir\" then\n      local unit = update.unit\n      local dir = update.payload.dir\n      unit.olddir = unit.dir\n      updateDir(unit, dir)\n    end\n  end\n  for _,unit in ipairs(sliders) do\n    applySlide(unit, already_added, moving_units_next)\n  end\n  update_queue = {}\nend\n\nfunction doDirRules()\n  --Algorithm: Similar to COPCAT, we add up all direction rules that apply. Then the final direction is what the unit faces. If it's 0,0 then nothing happens. Numbers are clamped to -1,1.\n  units_to_change = {}\n  for k,v in pairs(dirs8_by_name) do\n    local isdir = getUnitsWithEffect(v)\n    for _,unit in ipairs(isdir) do\n      if (units_to_change[unit] == nil) then\n        units_to_change[unit] = {0, 0}\n      end\n      units_to_change[unit][1] = units_to_change[unit][1] + dirs8[k][1]\n      units_to_change[unit][2] = units_to_change[unit][2] + dirs8[k][2]\n    end\n  end\n  \n  for unit,dir in pairs(units_to_change) do\n    if dir[1] ~= 0 or dir[2] ~= 0 then\n      k = dirs8_by_offset[sign(dir[1])][sign(dir[2])]\n      if unit.dir ~= k then\n        addUndo({\"update\", unit.id, unit.x, unit.y, unit.dir})\n      end\n      updateDir(unit, k)\n    end\n  end\n  \n  doSpinRules(units_to_change)\nend\n\nfunction doSpinRules(units_to_change)\n  --technically spin0/spin8 does nothing, so skip it\n  --TODO: redo to work as if it was a go^\n  for i=1,7 do\n    local isspin = getUnitsWithEffectAndCount(\"spin\" .. tostring(i))\n    for unit,amt in pairs(isspin) do\n      unit = units_by_id[unit] or cursors_by_id[unit]\n      if (units_to_change == nil or units_to_change[unit] ~= nil) then\n        addUndo({\"update\", unit.id, unit.x, unit.y, unit.dir})\n        unit.olddir = unit.dir\n        --if we aren't allowed to rotate to the indicated direction, skip it\n        for j=1,8 do\n          local result = updateDir(unit, dirAdd(unit.dir, amt*i))\n          if not result then\n            amt = amt + 1\n          else\n            break\n          end\n        end\n      end\n    end\n  end\nend\n\nfunction doMovement(movex, movey, key)\n  --local start_time = love.timer.getTime();\n  \n  --I guess this is the right place to do this?\n  if (should_parse_rules_at_turn_boundary) then\n    should_parse_rules = true\n  end\n  \n  if key == \"rythm\" then\n    doing_rhythm_turn = true\n    local old_rhythm_queued_movement = rhythm_queued_movement\n    rhythm_queued_movement = {0, 0, \"wait\"}\n    movex, movey, key = unpack(old_rhythm_queued_movement or rhythm_queued_movement)\n  else\n    rhythm_queued_movement = {movex, movey, key}\n    doing_rhythm_turn = false\n  end\n\n  if not doing_past_turns then\n    extendReplayString(movex, movey, key)\n  end\n  if (key == \"clikt\" or key == \"drag\" or key == \"anti clikt\") then\n    last_clicks = {}\n    if (#cursors > 0) then\n      for _,cursor in ipairs(cursors) do\n        table.insert(last_clicks, {x = cursor.x, y = cursor.y})\n      end\n    else\n      table.insert(last_clicks, {x = movex, y = movey})\n    end\n    movex = 0\n    movey = 0\n  end\n  walkdirchangingrulesexist = rules_with[\"munwalk\"] or rules_with[\"sidestep\"] or rules_with[\"diagstep\"] or rules_with[\"hopovr\"] or rules_with[\"knightstep\"] or rules_with[\"halfstep\"]\n  sliderulesexist = rules_with[\"icyyyy\"] or rules_with[\"goooo\"] or rules_with[\"reflecc\"] or rules_with[\"anti icyyyy\"] or rules_with[\"anti goooo\"]\n  local played_sound = {}\n  local slippers = {}\n  local flippers = {}\n\n  if not unit_tests then\n    print(\"[---- begin turn \"..tostring(#undo_buffer)..\" ----]\")\n    print(\"move: \" .. movex .. \", \" .. movey)\n  end\n\n  next_levels, next_level_objs = getNextLevels()\n\n  if movex == 0 and movey == 0 and #next_levels > 0 then\n    local going_up = false\n    if #level_tree > 0 then\n      if type(level_tree[1]) == \"table\" then\n        going_up = eq(level_tree[1], next_levels)\n      elseif #next_levels == 1 then\n        going_up = level_tree[1] == next_levels[1]\n      end\n    end\n    if not going_up then\n      table.insert(level_tree, 1, getMapEntry())\n    else\n      table.remove(level_tree, 1)\n    end\n    if load_mode == \"play\" then\n      if #next_levels == 1 then\n        writeSaveFile(next_levels[1], {\"levels\", level_filename, \"selected\"})\n      else\n        writeSaveFile(next_levels, {\"levels\", level_filename, \"selected\"})\n      end\n    end\n    loadLevels(next_levels, nil, next_level_objs)\n    return\n  end\n\n  if movex == 0 and movey == 0 and units_by_name[\"swan\"] and hasU(\"swan\") then\n    playSound(\"honk\"..love.math.random(1,6))\n  end\n\n  portaling = {}\n  \n  updateGroup()\n  \n  --local end_time = love.timer.getTime();\n  --if not unit_tests then print(\"doMovement Intro took: \"..tostring(round((end_time-start_time)*1000))..\"ms\") end\n  --start_time = end_time;\n\n  local move_stage = -1\n  while move_stage <= 3 do\n    local moving_units = {}\n    local moving_units_next = {}\n    local already_added = {}\n    \n    local function addMove(unit,reason,dir,times)\n      table.insert(unit.moves,{reason=reason,dir=dir,times=times})\n      if #unit.moves > 0 and not already_added[unit] then\n        table.insert(moving_units, unit)\n        already_added[unit] = true\n      end\n    end\n    --Allows easy implementation of the \"opposite direction\" movement antis.\n    local function moveAndAnti(word,funct)\n      funct(word,0)\n      funct(\"anti \"..word,4)\n    end\n\n    for _,unit in ipairs(units) do\n      unit.already_moving = false\n      unit.moves = {}\n    end\n    outerlvl.moves = {}\n    for _,cursor in ipairs(cursors) do\n      cursor.moves = {}\n    end\n    \n    if move_stage == -1 then\n      moveAndAnti(\"icy\",\n      function(word,dir)\n        local icy = getUnitsWithEffectAndCount(word)\n        for unit,icyness in pairs(icy) do\n          unit = units_by_id[unit] or cursors_by_id[unit]\n          local others = (unit == outerlvl and units or getUnitsOnTile(unit.x, unit.y, {thicc = thicc_units[unit]}))\n          for __,other in ipairs(others) do\n            if other.fullname ~= \"no1\" and other.id ~= unit.id and sameFloat(unit, other) and timecheck(unit,\"be\",word) and ignoreCheck(other,unit,word) and undo_buffer[2] ~= nil and not hasRule(other,\"got\",\"slippers\") then\n              for _,undo in ipairs(undo_buffer[2]) do\n                if undo[1] == \"update\" and undo[2] == other.id and ((undo[3] ~= other.x) or (undo[4] ~= other.y)) then\n                  local dx = other.x-undo[3]\n                  local dy = other.y-undo[4]\n                  local slipdir = dirs8_by_offset[sign(dx)][sign(dy)]\n                  addMove(other,\"icy\",dirAdd(slipdir,dir),icyness)\n                  break\n                end\n              end\n            end\n          end\n        end\n      end\n      )\n      moveAndAnti(\"icyyyy\",\n      function(word,dir)\n        local icyyyy = getUnitsWithEffectAndCount(word)\n        for unit,icyness in pairs(icyyyy) do\n          unit = units_by_id[unit] or cursors_by_id[unit]\n          if timeless and not timecheck(unit,\"be\",word) then\n            local others = (unit == outerlvl and units or getUnitsOnTile(unit.x, unit.y, {thicc = thicc_units[unit]}))\n            for __,other in ipairs(others) do\n              if other.fullname ~= \"no1\" and other.id ~= unit.id and sameFloat(unit, other) and ignoreCheck(other,unit,word) and undo_buffer[2] ~= nil and not hasRule(other,\"got\",\"slippers\") then\n                for _,undo in ipairs(undo_buffer[2]) do\n                  if undo[1] == \"update\" and undo[2] == other.id and ((undo[3] ~= other.x) or (undo[4] ~= other.y)) then\n                    local dx = other.x-undo[3]\n                    local dy = other.y-undo[4]\n                    local slipdir = dirs8_by_offset[sign(dx)][sign(dy)]\n                    addMove(other,\"icy\",dirAdd(slipdir,dir),icyness)\n                    break\n                  end\n                end\n              end\n            end\n          end\n        end\n      end\n      )\n    elseif move_stage == 0 and (movex ~= 0 or movey ~= 0) then\n      local alwaysKeys = {\n        wasd= not (hasPropertyOrAnti(nil,\"u\") or hasPropertyOrAnti(nil,\"w\")),\n        udlr= not hasPropertyOrAnti(nil,\"utoo\"),\n        ijkl= not hasPropertyOrAnti(nil,\"utres\"),\n      }\n      --[[((key == \"wasd\") and not hasProperty(nil,\"u\") and not hasProperty(nil, \"anti u\")) or\n          ((key == \"udlr\") and not hasProperty(nil,\"utoo\") and not hasProperty(nil,\"anti utoo\")) or\n          ((key == \"ijkl\") and not hasProperty(nil,\"utres\") and not hasProperty(nil,\"anti utres\")]]\n\n      local uMove = function(name, control, key_, times_, ortho_)\n        local key = key_\n        if (key==\"numpad\") then key=\"ijkl\" end --numpad and ijkl are the same why are they even separated\n        local ortho = ortho_ or false\n        local times = times_ or 1\n        local u = getUnitsWithEffectAndCount(name)\n\n        for unit,uness in pairs(u) do\n          unit = units_by_id[unit] or cursors_by_id[unit]\n          if (not hasProperty(unit, \"slep\") and slippers[unit.id] == nil and timecheck(unit,\"be\",name)) and\n          ((not ortho) or movex == 0 or movey == 0) and ((key == control) or (not control) or alwaysKeys[key])\n          then\n            local dir = dirs8_by_offset[movex][movey]\n            if times < 0 then\n              dir = dirAdd(dir,4)\n            end\n            addMove(unit,\"u\",dir,math.abs(times))\n          end\n        end --for\n      end\n      local uMoveAnti = function(name, control, times_, ortho)\n        --calls uMove for both original and anti functions.\n        local times = times_ or 1\n        uMove(name, control, key, times, ortho)\n        uMove(\"anti \"..name, control, key, -times, ortho)\n      end\n      uMoveAnti(\"u\",\"wasd\")\n      uMoveAnti(\"utoo\",\"udlr\")\n      uMoveAnti(\"utres\",\"ijkl\")\n      uMoveAnti(\"y'all\")\n      uMoveAnti(\"w\",\"wasd\",2)\n      uMoveAnti(\"you\",nil,1,true)\n\n    elseif move_stage == 1 then\n      moveAndAnti(\"spoop\",\n      function(word,dir)\n        local isspoop = matchesRule(nil, word, \"?\")\n        local spoopunits = {}\n        for _,ruleparent in ipairs(isspoop) do\n          local unit = ruleparent[2]\n          spoopunits[unit] = true\n        end\n        for unit,_ in pairs(spoopunits) do\n          local others = {}\n          for nx=-1,1 do\n            for ny=-1,1 do\n              if (nx ~= 0) or (ny ~= 0) then\n                local _, _, dir, x, y = getNextTile(unit, nx, ny, dirs8_by_offset[nx][ny])\n                local units = getUnitsOnTile(x,y,{checkmous = true, thicc = thicc_units[unit]})\n                for _,unit in ipairs(units) do\n                  table.insert(others, {unit = unit, dir = dir})\n                end\n              end\n            end\n          end\n          for _,full_other in ipairs(others) do\n            local other = full_other.unit\n            local spoop_dir = dirAdd(full_other.dir,dir)\n            local is_spoopy = #matchesRule(unit, word, other)\n            if (is_spoopy > 0 and not hasProperty(other, \"slep\")) and timecheck(unit,word,other) and timecheck(other) and ignoreCheck(other,unit)\n              and (spoop_dir % 2 == 1 or (not hasProperty(unit, \"ortho\") and not hasProperty(other, \"ortho\"))) then\n              addUndo({\"update\", other.id, other.x, other.y, other.dir})\n              other.olddir = other.dir\n              updateDir(other, spoop_dir)\n              addMove(other,\"spoop\",other.dir,is_spoopy)\n            end\n          end\n        end\n      end\n      )\n      moveAndAnti(\"walk\",\n      function(word,dir)\n        local walk = getUnitsWithEffectAndCount(word)\n        for unit,walkness in pairs(walk) do\n          unit = units_by_id[unit] or cursors_by_id[unit]\n          if not hasProperty(unit, \"slep\") and slippers[unit.id] == nil and timecheck(unit,\"be\",word) then\n            addMove(unit,\"walk\",dirAdd(unit.dir,dir),walkness)\n          end\n        end\n      end\n      )\n      moveAndAnti(\"moov\",\n      function(word,dir)\n        if (rules_with[word]) then\n          for mdir,mdirname in ipairs(dirs8_by_name) do\n            local isshift = matchesRule(nil, word, mdirname)\n            for _,ruleparent in ipairs(isshift) do\n              local unit = ruleparent[2]\n              addMove(unit,\"moov dir\",dirAdd(mdir,dir),1)\n            end\n          end\n          for i = 0,8 do\n            local isshift = matchesRule(nil, word, \"spin\"..tostring(i))\n            for _,ruleparent in ipairs(isshift) do\n              local unit = ruleparent[2]\n              addMove(unit,\"moov dir\",dirAdd(unit.dir, i+dir),1)\n            end\n          end\n        end\n      end\n      )\n      local isactualstalk = matchesRule(\"?\", \"stalk\", \"?\")\n      for _,ruleparent in ipairs(isactualstalk) do\n        local stalkers = findUnitsByName(ruleparent.rule.subject.name)\n        local stalker_conds = ruleparent.rule.subject.conds\n        local stalkee_conds = ruleparent.rule.object.conds\n        if #findUnitsByName(ruleparent.rule.object.name) > 0 then\n          for _,stalker in ipairs(stalkers) do\n            if stalker.name ~= \"camra\" and testConds(stalker, stalker_conds) then\n              --[[local len = {999,999,999,999,999,999,999,999}\n              local target = {}\n              for _,stalkee in ipairs(getUnitsOnTile(stalker.x, stalker.y, {name = ruleparent.rule.object.name})) do -- is it standing on the target\n                if testConds(stalkee, stalkee_conds, stalker) and stalker.id ~= stalkee.id and timecheck(stalker, stalkee) then\n                  goto continue end\n              end\n              for cdir=1,8 do\n                local isDiag = i%2 == 0\n                if hasProperty(stalker, \"ortho\") and not hasProperty(stalker, \"diag\") and isDiag then goto continue2 end\n                if hasProperty(stalker, \"diag\") and not hasProperty(stalker, \"ortho\") and not isDiag then goto continue2 end\n                --if i > 8 then break end\n                local visited = {}\n                for i = 0,mapwidth do\n                  visited[i] = {}\n          --      for j = 1,mapheight do\n          --        visited[i][j] = nil\n          --      end\n                end\n                local queue = {}\n                local found_target = nil\n\n                local stalkTurn = function(dir_,pos)\n                  local dx = ({1,1,0,-1,-1,-1,0,1})[dir_]\n                  local dy = ({0,1,1,1,0,-1,-1,-1})[dir_]\n                  local dir = dirs8_by_offset[dx][dy]\n\n                  local success, _, __ = canMove(stalker,dx,dy,dir,{start_x = pos.x,start_y = pos.y})\n                  if not success then return end\n                  local _, __, ___, x, y = getNextTile(stalker, dx, dy, dir, nil, pos.x, pos.y)\n                  if visited[x][y] then return end\n\n                  local stalkees = getUnitsOnTile(x, y, {name = ruleparent.rule.object.name})\n                  for _,stalkee in ipairs(stalkees) do\n                    if testConds(stalkee, stalkee_conds, stalker) and stalker.id ~= stalkee.id and timecheck(stalker, stalkee) then\n                      len[cdir] = pos.d\n                      target[cdir] = stalkee\n                      found_target = true\n                      return\n                    end\n                  end\n                  visited[x][y]=pos.d+1\n                  table.insert(queue,{x=x,y=y,d=pos.d+1})\n                end\n\n                stalkTurn(cdir,{x = stalker.x, y = stalker.y,d=0})\n                while queue[1] do\n                  local pos = table.remove(queue, 1)\n                  for i=1,8 do\n                    stalkTurn(i,pos)\n                    if found_target then goto continue2 end\n                  end\n                end\n                ::continue2::\n              end\n\n              local findMins = function(list)\n                local minV = 999\n                local ret = {}\n                for i=1,#list do\n                  if list[i] < minV then\n                    ret = {}\n                    ret[i]=true\n                  elseif list[i] == minV then\n                    ret[i]=true\n                  end\n                end\n                return ret\n              end\n              local addToList = function(dir)\n                addUndo({\"update\", stalker.id, stalker.x, stalker.y, stalker.dir})\n                stalker.olddir = stalker.dir\n                updateDir(stalker, dir)\n                table.insert(stalker.moves, {reason = \"stalk\", dir = stalker.dir, times = 1})\n                if #stalker.moves > 0 and not already_added[stalker] then\n                  table.insert(moving_units, stalker)\n                  already_added[stalker] = true\n                end\n              end\n\n              mins = findMins(len)\n              for id,_ in pairs(mins) do\n                --if not target[id] then break end\n                if target[id].x == stalker.x or target[id].y == stalker.y then\n                  if id%2==1 then\n                    addToList(id)\n                    break\n                  end\n                elseif id%2==0 then \n                  addToList(id) \n                  break\n                end\n              end\n              ::continue::]]\n              \n\n              local found_target = nil\n              for _,stalkee in ipairs(getUnitsOnTile(stalker.x, stalker.y, {name = ruleparent.rule.object.name})) do -- is it standing on the target\n                if testConds(stalkee, stalkee_conds, stalker) and stalker.id ~= stalkee.id and timecheck(stalker, stalkee) then\n                  goto continue\n                end\n              end\n              local visited = {} -- 2d array the size of the map\n              for i = 1,mapwidth do\n                visited[i] = {}\n                for j = 1,mapheight do\n                  visited[i][j] = 0\n                end\n              end\n              visited[stalker.x+1][stalker.y+1] = 1\n              local queue = {{x = stalker.x, y = stalker.y}}\n              (function () -- 'return' allows breaking from the outer loop, skipping inner loops\n                           -- smh notnat lua has gotos for a reason\n                local first_loop = true\n                while (queue[1]) do\n                  local pos = table.remove(queue, 1)\n                  for i=1,8 do\n                    local isDiag = i%2 == 0\n                    if hasProperty(stalker, \"ortho\") and not hasProperty(stalker, \"diag\") and isDiag then i = i + 1 end\n                    if hasProperty(stalker, \"diag\") and not hasProperty(stalker, \"ortho\") and not isDiag then i = i + 1 end\n                    if i > 8 then break end\n                    local dx = ({1,1,0,-1,-1,-1,0,1})[i]\n                    local dy = ({0,1,1,1,0,-1,-1,-1})[i]\n                    local dir = dirs8_by_offset[dx][dy]\n                    local dx_next, dy_next, dir_next, x, y, portal_unit = getNextTile(stalker, dx, dy, dir, nil, pos.x, pos.y)\n                    if inBounds(x,y) and visited[x+1][y+1] == 0 then\n                      visited[x+1][y+1] = first_loop and dir or visited[pos.x+1][pos.y+1] -- value depicts which way to travel to get there\n                      local success, movers, specials = canMove(stalker,dx,dy,dir,{start_x = pos.x,start_y = pos.y})\n                      if success then\n                        local stalkees = getUnitsOnTile(x, y, {name = ruleparent.rule.object.name})\n                        for _,stalkee in ipairs(stalkees) do\n                          if testConds(stalkee, stalkee_conds, stalker) and stalker.id ~= stalkee.id and timecheck(stalker, stalkee) then\n                            found_target = visited[x+1][y+1]\n                            return\n                          end\n                        end\n                        table.insert(queue, {x = x, y = y})\n                      end\n                    end\n                  end\n                  first_loop = false\n                end\n              end)() --function\n            -- if not found\n            -- print(dump(visited))\n            if found_target then\n              if found_target ~= 0 then\n                addUndo({\"update\", stalker.id, stalker.x, stalker.y, stalker.dir})\n                stalker.olddir = stalker.dir\n                updateDir(stalker, found_target)\n                addMove(stalker,\"stalk\",stalker.dir,1)\n              end\n            end\n            ::continue::\n              -- else\n              --   TODO: Make this depend on it being stubborn.\n              --   local stalkees = copyTable(findUnitsByName(ruleparent[1][3]))\n              --   table.sort(stalkees, function(a, b) return euclideanDistance(a, stalker) < euclideanDistance(b, stalker) end )\n              --   for _,stalkee in ipairs(stalkees) do\n              --     if testConds(stalkee, stalkee_conds) then\n              --       local dist = euclideanDistance(stalker, stalkee)\n              --       local stalk_dir = dist > 0 and dirs8_by_offset[sign(stalkee.x - stalker.x)][sign(stalkee.y - stalker.y)] or stalkee.dir\n              --       if dist > 0 and hasProperty(stalker, \"ortho\") then\n              --         local use_hori = math.abs(stalkee.x - stalker.x) > math.abs(stalkee.y - stalker.y)\n              --         stalk_dir = dirs8_by_offset[use_hori and sign(stalkee.x - stalker.x) or 0][not use_hori and sign(stalkee.y - stalker.y) or 0]\n              --       end\n              --       addUndo({\"update\", stalker.id, stalker.x, stalker.y, stalker.dir})\n              --       stalker.olddir = stalker.dir\n              --       updateDir(stalker, stalk_dir)\n              --       table.insert(stalker.moves, {reason = \"stalk\", dir = stalker.dir, times = 1})\n              --       if #stalker.moves > 0 and not already_added[stalker] then\n              --         table.insert(moving_units, stalker)\n              --         already_added[stalker] = true\n              --       end\n              --       break\n              --     end\n              --   end]]\n            end --if testConds\n          end\n        end\n      end\n    --not going to deal with anti stalk for now\n    elseif move_stage == 2 then\n      --local yeeting_level = matchesRule(outerlvl, \"yeet\", \"?\")\n      moveAndAnti(\"yeet\",\n      function(word,dir)\n        local isyeet = matchesRule(nil, word, \"?\")\n        for _,ruleparent in ipairs(isyeet) do\n          local unit = ruleparent[2]\n          local others = (unit == outerlvl and units or getUnitsOnTile(unit.x, unit.y, {checkmous = true, thicc = thicc_units[unit]}))\n          for __,other in ipairs(others) do\n            if ((other.fullname ~= \"no1\" and other.id ~= unit.id) or ruleparent[1].rule.object.name == \"themself\") and sameFloat(unit, other) and ignoreCheck(other, unit) then\n              local is_yeeted = hasRule(unit, word, other)\n              if (is_yeeted) then\n                if timecheck(unit,word,other) then\n                  if timecheck(other) then\n                    addMove(other,\"yeet\",dirAdd(unit.dir,dir),1002)\n                  else --this was just a normal \"yeet\" but that looked like a mistake so\n                    addUndo({\"timeless_yeet_add\",other,timeless_yote[other]})\n                    timeless_yote[other] = dirAdd(unit.dir,dir)\n                  end\n                end\n              end\n            end\n          end\n        end\n      end\n      )\n      for unit,dir in pairs(timeless_yote) do\n        local dx = dirs8[dir][1]\n        local dy = dirs8[dir][2]\n        if timeless then\n          if canMove(unit,dx,dy,dir,{pushing = true,pulling = true,reason = \"timeless yeet\"}) then\n            addMove(unit,\"timeless yeet\",dir,1)\n          else\n            addUndo({\"timeless_yeet_remove\",unit,dir})\n            timeless_yote[unit] = nil\n          end\n        else\n          addMove(unit,\"yeet\",dir,1002)\n          addUndo({\"timeless_yeet_remove\",unit,dir})\n          timeless_yote[unit] = nil\n        end\n      end\n      moveAndAnti(\"go\",\n      function(word,dir)\n        local go = getUnitsWithEffectAndCount(word)\n        for unit,goness in pairs(go) do\n          unit = units_by_id[unit] or cursors_by_id[unit]\n          local others = (unit == outerlvl and units or getUnitsOnTile(unit.x, unit.y, {thicc = thicc_units[unit]}))\n          for __,other in ipairs(others) do \n            if other.fullname ~= \"no1\" and other.id ~= unit.id and sameFloat(unit, other) and timecheck(unit,\"be\",word) and ignoreCheck(other,unit,word) then\n              table.insert(other.moves, {reason = \"go\", dir = dirAdd(unit.dir,dir), times = goness})\n              if #other.moves > 0 and not already_added[other] then\n                table.insert(moving_units, other)\n                already_added[other] = true\n              end\n            end\n          end\n        end\n      end\n      )\n      moveAndAnti(\"goooo\",\n      function(word,dir)\n        local goooo = getUnitsWithEffectAndCount(word)\n        for unit,goness in pairs(goooo) do\n          unit = units_by_id[unit] or cursors_by_id[unit]\n          local others = (unit == outerlvl and units or getUnitsOnTile(unit.x, unit.y, {thicc = thicc_units[unit]}))\n          for __,other in ipairs(others) do \n            if other.fullname ~= \"no1\" and other.id ~= unit.id and sameFloat(unit, other) and ignoreCheck(other,unit,word) then\n              addMove(other,\"goooo\",dirAdd(unit.dir,dir),goness)\n            end\n          end\n        end\n      end\n      )\n      moveAndAnti(\"moov\",\n      function(word,dir)\n        local ismoov = matchesRule(nil, word, \"?\")\n        local moovunits = {}\n        for _,ruleparent in ipairs(ismoov) do\n          local unit = ruleparent[2]\n          moovunits[unit.id] = true\n        end\n        for unit,_ in pairs(moovunits) do\n          unit = units_by_id[unit] or cursors_by_id[unit]\n          local others = getUnitsOnTile(unit.x,unit.y,{thicc = thicc_units[unit]})\n          for _,other in ipairs(others) do\n            local is_moover = false\n            local moov_rules = matchesRule(unit, word, other)\n            for _,ruleparent in ipairs(moov_rules) do\n              if (other.fullname ~= \"no1\" and other.id ~= unit.id) or ruleparent.rule.object.name == \"themself\" then\n                is_moover = true\n                break\n              end\n            end\n            if is_moover and timecheck(unit,word,other) and sameFloat(unit, other) and ignoreCheck(unit,other) and ignoreCheck(other,unit) then\n              addMove(other,\"moov\",dirAdd(unit.dir,dir),1)\n            end\n          end\n        end\n      end\n      )\n    elseif move_stage == 3 and (movex ~= 0 or movey ~= 0) then\n      moveAndAnti(\"curse\",\n      function(word,dira)\n        local cursors = getUnitsWithEffect(word)\n        for _,unit in pairs(cursors) do\n          if not hasProperty(unit, \"slep\") and slippers[unit.id] == nil and timecheck(unit,\"be\",word) then\n            local dir = dirs8_by_offset[movex][movey]\n            addMove(unit,\"curse\",dirAdd(dir,dira),1)\n          end\n        end\n      end\n      )\n    end\n\n    for _,unit in pairs(moving_units) do\n      if not unit.stelth and timecheck(unit) then\n        addParticles(\"movement-puff\", unit.x, unit.y, getUnitColor(unit))\n      end\n    end\n    \n    --[[\nSimultaneous movement algorithm, basically a simple version of Baba's:\n1) Make a list of all things that are moving this stage, moving_units.\n2a) Try to move each of them once. For each success, move it to moving_units_next and set it already_moving with one less move point and an update queued. If there was at least one success, repeat 2 until there are no successes. (During this process, things that are currently moving are considered intangible in canMove.)\n2b) But wait, we're still not done! Flip all walkers that failed to flip, then continue until we once again have no successes. (Flipping still only happens once per turn.)\n2c) Finally, if we had at least one success, everything left is moved to moving_units_next with one less move point and we repeat from 2a). If we had no successes, the stage is totally resolved. doupdate() and unset all current_moving.\n3) if SLIDE/LAUNCH/BOUNCE gets made, we'll need to figure out where to insert it... but if it's like baba, it goes after the move succeeds but before do_update(), and it adds either another update or another movement as appropriate.\n\nALTERNATE MOVEMENT ALGORITHM that would preserve properties like 'x is move and stop pulls apart' and is mostly move order independent:\n1) Do it as before, except instead of moving a unit when you discover it can be moved, mark it and wait until the inner loop is over.\n2) After the inner loop is over, move all the things that you marked.\n\nBut if we want to go a step further and e.g. make it so X IS YOU AND PUSH lets you catapult one of yourselves two tiles, we have to go a step further and stack up all of the movement that would occur instead of making it simultaneous and override itself.\n\nBut if we do THIS, then we can now attempt to move to different destination tiles than we tried the first time around. So we have to re-evaluate the outcome of that by calling canMove again. And if that new movement can also cause push/pull/sidekik/slide/launch, then we have to recursively check everything again, and it's unclear what order things should evaluate in, and etc.\n\nIt is probably possible to do, but lily has decided that it's not important enough if it's difficult, so we shall stay with simultanous movement for now.\n]]\n    --loop_stage and loop_tick are infinite loop detection.\n    local loop_stage = 0\n    local successes = 1\n    --Stage loop continues until nothing moves in the inner loop, and does a doUpdate after each inner loop, to allow for multimoves to exist.\n    while (#moving_units > 0 and successes > 0) do\n      if (loop_stage > 1000) then\n        print(\"movement infinite loop! (1000 attempts at a stage)\")\n        destroyLevel(\"infloop\")\n        break\n      end\n      --movedebug(\"loop_stage:\"..tostring(loop_stage))\n      successes = 0\n      local loop_tick = 0\n      loop_stage = loop_stage + 1\n      local something_moved = true\n      --Tick loop tries to move everything at least once, and gives up if after an iteration, nothing can move. (It also tries to do flips to see if that helps.) (Incrementing loop_tick once is a 'sub-tick'. Calling doUpdate and incrementing loop_stage is a 'tick'. Incrementing move_stage is a 'stage'.)\n      while (something_moved) do\n        if (loop_tick > 1000) then\n          print(\"movement infinite loop! (1000 attempts at a single tick)\")\n          destroyLevel(\"infloop\")\n          break\n        end\n        --movedebug(\"loop_tick:\"..tostring(loop_tick))\n        local remove_from_moving_units = {}\n        local has_flipped = false\n        something_moved = false\n        loop_tick = loop_tick + 1\n        --TODO: PERFORMANCE: Iterating through moving_units is the slowest part, unsurprisingly. Investigate if it's due to canMove, moveIt, doPull or something else.\n        for _,unit in ipairs(moving_units) do\n          while #unit.moves > 0 and unit.moves[1].times <= 0 do\n            table.remove(unit.moves, 1)\n          end\n          if #unit.moves > 0 and not unit.removed then\n            local data = unit.moves[1]\n            local dir = data.dir\n            local dpos = dirs8[dir]\n            local dx,dy = dpos[1],dpos[2]\n            --dx/dy collation logic for copykat moves\n            if (data.reason == \"copkat\") and timecheck(unit) then\n              dx = sign(data.dx)\n              dy = sign(data.dy)\n              if (dx == 0 and dy == 0) or slippers[unit.id] ~= nil or hasProperty(unit, \"slep\") then\n                data.times = data.times - 1\n                while #unit.moves > 0 and unit.moves[1].times <= 0 do\n                  table.remove(unit.moves, 1)\n                end\n                break\n              else\n                dir = dirs8_by_offset[dx][dy]\n                data.dir = dir\n              end\n            end\n            --movedebug(\"considering:\"..unit.fullname..\",\"..dir)\n            local success,movers,specials = true,{},{}\n            local is_glued, glued_rule = hasProperty(unit,\"glued\",true)\n            if is_glued then\n              --Glued units get moved as a single group.\n              local units, pushers, pullers = FindEntireGluedUnit(unit, dx, dy, glued_rule)\n              for _,pusher in ipairs(pushers) do\n                local success_,movers_,specials_ = canMove(pusher, dx, dy, dir, {pushing = true, reason = data.reason})\n                mergeTable(movers,movers_)\n                mergeTable(specials,specials_)\n                success = success and success_\n              end\n              if #movers > 0 then\n                for _,add in ipairs(units) do\n                  table.insert(movers, {unit = add, dx = dx, dy = dy, dir = dir, move_dx = movers[1].move_dx, move_dy = movers[1].move_dy, move_dir = movers[1].move_dir, geometry_spin = movers[1].geometry_spin, portal = movers[1].portal_unit})\n                end\n              end\n            else\n              success,movers,specials = canMove(unit, dx, dy, dir, {pushing = true, reason = data.reason})\n            end\n            for _,special in ipairs(specials) do\n              doAction(special)\n            end\n            if success then\n              something_moved = true\n              successes = successes + 1\n              \n              for k = #movers, 1, -1 do\n                moveIt(movers[k].unit, movers[k].dx, movers[k].dy, data.reason == \"moov dir\" and movers[k].unit.dir or movers[k].dir, movers[k].move_dir, movers[k].geometry_spin, data, false, already_added, moving_units, moving_units_next, slippers, remove_from_moving_units, movers[k].portal)\n                --Patashu: only the mover itself pulls, otherwise it's a mess. stuff like STICKY/STUCK will require ruggedizing this logic.\n                --Patashu: TODO: Doing the pull right away means that in a situation like this: https://cdn.discordapp.com/attachments/579519329515732993/582179745006092318/unknown.png the pull could happen before the bounce depending on move order. To fix this... I'm not sure how Baba does this? But it's somewhere in that mess of code.\n                if not table.has_value(unitsByTile(movers[k].unit.x-movers[k].dx,movers[k].unit.y-movers[k].dy),movers[k].unit) then\n                  doPull(movers[k].unit, movers[k].dx, movers[k].dy, movers[k].move_dir, data, already_added, moving_units, moving_units_next,  slippers, remove_from_moving_units)\n                end\n              end\n              \n              --add to moving_units_next if we have another pending move\n              data.times = data.times - 1\n              while #unit.moves > 0 and unit.moves[1].times <= 0 do\n                table.remove(unit.moves, 1)\n              end\n              if #unit.moves > 0 and not remove_from_moving_units[unit] then\n                table.insert(moving_units_next, unit)\n              end\n              --we made our move this iteration, wait until the next iteration to move again\n              remove_from_moving_units[unit] = true\n            end\n          else\n            remove_from_moving_units[unit] = true\n          end\n        end\n        --do flips if we failed to move anything\n        if (not something_moved and not has_flipped) then\n          --TODO: CLEANUP: This is getting a little duplicate-y.\n          for _,unit in ipairs(moving_units) do\n            while #unit.moves > 0 and unit.moves[1].times <= 0 do\n              table.remove(unit.moves)\n            end\n            if #unit.moves > 0 and not unit.removed and unit.moves[1].times > 0 then\n              local data = unit.moves[1]\n              if data.reason == \"walk\" and flippers[unit.id] ~= true and not hasProperty(unit, \"stubbn\") and timecheck(unit,\"be\",\"walk\") then\n                dir = rotate8(data.dir); data.dir = dir\n                addUndo({\"update\", unit.id, unit.x, unit.y, unit.dir})\n                table.insert(update_queue, {unit = unit, reason = \"dir\", payload = {dir = data.dir}})\n                flippers[unit.id] = true\n                something_moved = true\n                successes = successes + 1\n                if not (remove_from_moving_units[unit]) then\n                  table.insert(moving_units_next, unit)\n                  remove_from_moving_units[unit] = true\n                end\n              end\n            end\n          end\n          has_flipped = true\n        end\n        for i=#moving_units,1,-1 do\n          local unit = moving_units[i]\n          if (remove_from_moving_units[unit]) then\n            table.remove(moving_units, i)\n            already_added[unit] = false\n          end\n        end\n      end\n      --Patashu: If we want to satisfy the invariant 'when multiple units move simultaneously, if some of them can't move the first time around, they lose their chance to move', then uncomment this. This lets you do things like bab be u & bounded no1 and have a blob of babs break up (since initially only the front row can move).\n      --[[for i=#moving_units,1,-1 do\n        local unit = moving_units[i]\n        if #unit.moves > 0 and unit.moves[1].times > 0 then\n          unit.moves[1].times = unit.moves[1].times - 1\n          while #unit.moves > 0 and unit.moves[1].times <= 0 do\n            table.remove(unit.moves)\n          end\n          if #unit.moves == 0 then\n            table.remove(moving_units, i)\n          end\n        end\n      end]]--\n      doUpdate(already_added, moving_units_next)\n      for _,unit in ipairs(moving_units_next) do\n        --movedebug(\"re-added:\"..unit.fullname)\n        table.insert(moving_units, unit)\n        already_added[unit] = true\n      end\n      moving_units_next = {}\n    end\n    updateGroup()\n    calculateLight()\n    move_stage = move_stage + 1\n  end\n  --local end_time = love.timer.getTime();\n  --if not unit_tests then print(\"doMovement While: \"..tostring(round((end_time-start_time)*1000))..\"ms\") end\n  --start_time = end_time;\n  --https://babaiswiki.fandom.com/wiki/Advanced_rulebook (for comparison)\n  local reparse = function()\n    parseRules()\n    updateGroup()\n    calculateLight()\n  end\n  reparse()\n  moveBlock()\n  --local end_time = love.timer.getTime();\n  --if not unit_tests then print(\"moveBlock took: \"..tostring(round((end_time-start_time)*1000))..\"ms\") end\n  --start_time = end_time;\n  reparse()\n  fallBlock()\n  --local end_time = love.timer.getTime();\n  --if not unit_tests then print(\"fallBlock took: \"..tostring(round((end_time-start_time)*1000))..\"ms\") end\n  --start_time = end_time;\n  reparse()\n  reparse() --is this second one intended?\n  convertUnits(1)\n  --local end_time = love.timer.getTime();\n  --if not unit_tests then print(\"convertUnits took: \"..tostring(round((end_time-start_time)*1000))..\"ms\") end\n  --start_time = end_time;\n  reparse()\n\tupdateUnits(false, true)\n  --local end_time = love.timer.getTime();\n  --if not unit_tests then print(\"updateUnits took: \"..tostring(round((end_time-start_time)*1000))..\"ms\") end\n  --start_time = end_time;\n  reparse()\n  updatePortals()\n  --local end_time = love.timer.getTime();\n  --if not unit_tests then print(\"updatePortals took: \"..tostring(round((end_time-start_time)*1000))..\"ms\") end\n  --start_time = end_time;\n  miscUpdates(true)\n  --local end_time = love.timer.getTime();\n  --if not unit_tests then print(\"miscUpdates took: \"..tostring(round((end_time-start_time)*1000))..\"ms\") end\n  --start_time = end_time;\n  \n  if scene.setPathlockBox then \n    local showlock\n    for _,u in ipairs(mergeTable(getUnitsWithEffect(\"curse\"),getUnitsWithEffect(\"anti curse\"))) do\n      for _,dir in ipairs(dirs8) do\n        local _, __, ___, x, y = getNextTile(u, dir[1], dir[2], dirs8_by_offset[dir[1]][dir[2]])\n        local facing = getUnitsOnTile(x, y, {name = \"lin\"})\n        for _,v in ipairs(facing) do\n          if v.special.pathlock and v.special.pathlock ~= \"none\" then\n            showlock = v\n            break\n          end\n        end\n        if showlock then break end\n      end\n    end\n    scene.setPathlockBox(showlock)\n  end\n  \n  next_levels = getNextLevels()\n  --local end_time = love.timer.getTime();\n  --if not unit_tests then print(\"doMovement Outro took: \"..tostring(round((end_time-start_time)*1000))..\"ms\") end\n  --start_time = end_time;\nend\n\nfunction doAction(action)\n  local action_name = action[1]\n  if action_name == \"open\" then\n    local victims = action[2]\n    --don't do open/shut unless both victims are still alive\n    for _,unit in ipairs(victims) do\n      if unit.removed or unit.destroyed then\n        return\n      end\n    end\n    playSound(\"break\", 0.5)\n    playSound(\"unlock\", 0.6)\n    for _,unit in ipairs(victims) do\n      addParticles(\"destroy\", unit.x, unit.y, {237,226,133})\n      if not hasProperty(unit, \"protecc\") then\n        unit.removed = true\n        unit.destroyed = true\n      end\n    end\n  elseif action_name == \"weak\" then\n    playSound(\"break\", 0.5)\n    local victims = action[2]\n    for _,unit in ipairs(victims) do\n      addParticles(\"destroy\", unit.x, unit.y, getUnitColor(unit))\n      --no protecc check because it can't safely be prevented here (we might be moving OoB)\n      unit.removed = true\n      unit.destroyed = true\n    end\n  elseif action_name == \"snacc\" then\n    playSound(\"snacc\", 0.5)\n    local victims = action[2]\n    for _,unit in ipairs(victims) do\n      addParticles(\"destroy\", unit.x, unit.y, getUnitColor(unit))\n      if not hasProperty(unit, \"protecc\") then\n        unit.removed = true\n        unit.destroyed = true\n      end\n    end\n  end\nend\n\nfunction moveIt(mover, dx, dy, facing_dir, move_dir, geometry_spin, data, pulling, already_added, moving_units, moving_units_next, slippers, remove_from_moving_units, portal)\n  if not mover.removed then\n    local move_dx, move_dy = dirs8[move_dir][1], dirs8[move_dir][2]\n    queueMove(mover, dx, dy, facing_dir, false, geometry_spin, portal)\n    --applySlide(mover, dx, dy, already_added, moving_units_next)\n    applySwap(mover, dx, dy)\n    applyPortalHoover(mover, dx, dy)\n    --finishing a slip locks you out of U/WALK for the rest of the turn\n    if data.reason == \"icy\" and not hasRule(mover,\"got\",\"slippers\") then\n      slippers[mover.id] = true\n    end\n    --add SIDEKIKERs to move in the next sub-tick\n    --move_dir is more accurate in the presence of WRAP/PORTAL than dx/dy (which can fling you across the map)\n    for sidekiker,skdir in pairs(findSidekikers(mover, move_dx, move_dy)) do\n      local currently_moving = false\n      for _,mover2 in ipairs(moving_units) do\n        if mover2 == sidekiker then\n          currently_moving = true\n          break\n        end\n      end\n      if not currently_moving then\n        table.insert(sidekiker.moves, {reason = \"sidekik\", dir = skdir, times = 1}) --TODO: dx/dy, dir and mover.dir could possibly all be different, explore advanced movement interactions with sidekik and wrap, portal, stubborn\n        table.insert(moving_units, sidekiker) --Patashu: I think moving_units is correct (since it should happen 'at the same time' like a push or pull) but maybe changing this to moving_units_next will fix a bug in the future...?\n        already_added[sidekiker] = true\n      end\n    end\n    --add COPYKATs to move in the next tick\n    --basically: if they're currently copying, ignore the first move we find. if we find a non-ignored move, add to it. else, add a new move.\n    --On that new move, we add up all dx and dy. The final dx and dy will be the sign (so limited to -1/1) of its dx and dy.\n    for copykat,reason in pairs(findCopykats(mover)) do\n      local currently_moving = false\n      for _,mover2 in ipairs(moving_units) do\n        if mover2 == copykat then\n          currently_moving = true\n          break\n        end\n      end\n      local found = false\n      for i,move in ipairs(copykat.moves) do\n        if move.reason == \"copkat\" then\n          if currently_moving then\n            currently_moving = false\n          else\n            move.dx = move.dx + move_dx\n            move.dy = move.dy + move_dy\n            --movedebug(\"copykat collate:\"..tostring(move.dx)..\",\"..tostring(move.dy))\n            found = true\n            break\n          end\n        end\n      end\n      if not found then\n        table.insert(copykat.moves, {reason = reason, dir = mover.dir, times = 1, dx = move_dx, dy = move_dy})\n        --the reason for this weird check is - we only want to add to moving_units_next if we're not already on it, and we're not already on it if we previously had zero moves OR we haven't been removed from moving units yet. This is pretty ugly imo.\n        if (#copykat.moves == 1 or not remove_from_moving_units[copykat]) then\n          table.insert(moving_units_next, copykat)\n          remove_from_moving_units[copykat] = true\n          already_added[copykat] = true\n        end\n      end\n    end\n  end\nend\n\nfunction queueMove(mover, dx, dy, dir, priority, geometry_spin, portal)\n  addUndo({\"update\", mover.id, mover.x, mover.y, mover.dir, portal})\n  mover.olddir = mover.dir\n  updateDir(mover, dir)\n  --movedebug(\"moving:\"..mover.fullname..\",\"..tostring(mover.id)..\",\"..tostring(mover.x)..\",\"..tostring(mover.y)..\",\"..tostring(dx)..\",\"..tostring(dy))\n  mover.already_moving = true\n  table.insert(update_queue, (priority and 1 or (#update_queue + 1)), {unit = mover, reason = \"update\", payload = {x = mover.x + dx, y = mover.y + dy, dir = mover.dir, geometry_spin = geometry_spin, portal = portal}})\nend\n\nfunction applySlide(mover, already_added, moving_units_next)\n  --Before we add a new LAUNCH/SLIDE move, deleting all existing LAUNCH/SLIDE moves, so that if we 'move twice in the same tick' (such as because we're being pushed or pulled while also sliding) it doesn't stack. (this also means e.g. SLIDE & SLIDE gives you one extra move at the end, rather than multiplying your movement.)\n  local did_clear_existing = false\n  --LAUNCH will take precedence over SLIDE, so that puzzles where you move around launchers on an ice rink will behave intuitively.\n  local did_launch = false\n   --we haven't actually moved yet, so check the tile we will be on\n  local others = getUnitsOnTile(mover.x, mover.y, {exclude = mover, thicc = thicc_units[unit]})\n  table.insert(others, outerlvl)\n  --REFLECC is now also handled here, and goes before anything else.\n  for _,v in ipairs(others) do\n    if hasProperty(v, \"reflecc\") and (sameFloat(mover, v) and not v.already_moving) and timecheck(v) and ignoreCheck(mover,v,\"reflecc\") then\n      local dirToUse = 0\n      --REFLECC reflects off front and back.\n      --[[\n      1 = bounce back\n      2 = reflect to 8\n      3 = bounce back\n      4 = reflect to 6\n      5 = bounce back\n      6 = reflect to 4\n      7 = bounce back\n      8 = reflect to 2\n      ]]\n      local dirDifference = mover.dir - v.dir\n      if (dirDifference < 0) then dirDifference = dirDifference + 8 end\n      if (dirDifference == 0) then\n        dirToUse = dirAdd(mover.dir, 4)\n      elseif (dirDifference == 1) then\n        dirToUse = dirAdd(mover.dir, 2)\n      elseif (dirDifference == 2) then\n         dirToUse = dirAdd(mover.dir, 4)\n      elseif (dirDifference == 3) then\n        dirToUse = dirAdd(mover.dir, -2)\n      elseif (dirDifference == 4) then\n        dirToUse = dirAdd(mover.dir, 4)\n      elseif (dirDifference == 5) then\n        dirToUse = dirAdd(mover.dir, 2)\n      elseif (dirDifference == 6) then\n        dirToUse = dirAdd(mover.dir, 4)\n      elseif (dirDifference == 7) then\n        dirToUse = dirAdd(mover.dir, -2)\n      end\n      if (not did_clear_existing) then\n        for i = #mover.moves,1,-1 do\n          if mover.moves[i].reason == \"reflecc\"\n          or mover.moves[i].reason == \"goooo\"\n          or mover.moves[i].reason == \"anti goooo\"\n          or mover.moves[i].reason == \"icyyyy\"\n          or mover.moves[i].reason == \"anti icyyyy\" then\n            table.remove(mover.moves, i)\n          end\n        end\n        did_clear_existing = true\n      end\n      --the new moves will be at the start of the unit's moves data, so that it takes precedence over what it would have done next otherwise\n      --movedebug(\"launching:\"..mover.fullname..\",\"..v.dir)\n      \n      table.insert(mover.moves, 1, {reason = \"reflecc\", dir = dirToUse, times = 1})\n      if not already_added[mover] then\n        --movedebug(\"did add launcher\")\n        table.insert(moving_units_next, mover)\n        already_added[mover] = true\n      end\n      did_launch = true\n    end\n  end\n  if (did_launch) then\n    return\n  end\n  \n  for _,v in ipairs(others) do\n    if (sameFloat(mover, v) and not v.already_moving) and timecheck(v) and ignoreCheck(mover,v,\"goooo\") then\n      local launchness = countProperty(v, \"goooo\")\n      if (launchness > 0) then\n        if (not did_clear_existing) then\n          for i = #mover.moves,1,-1 do\n            if mover.moves[i].reason == \"reflecc\" or mover.moves[i].reason == \"goooo\" or mover.moves[i].reason == \"icyyyy\" or mover.moves[i].reason == \"anti goooo\" or mover.moves[i].reason == \"anti icyyyy\" then\n              table.remove(mover.moves, i)\n            end\n          end\n          did_clear_existing = true\n        end\n        --the new moves will be at the start of the unit's moves data, so that it takes precedence over what it would have done next otherwise\n        --TODO: CLEANUP: Figure out a nice way to not have to pass this around/do this in a million places.\n        --movedebug(\"launching:\"..mover.fullname..\",\"..v.dir)\n        table.insert(mover.moves, 1, {reason = \"goooo\", dir = v.dir, times = launchness})\n        if not already_added[mover] then\n          --movedebug(\"did add launcher\")\n          table.insert(moving_units_next, mover)\n          already_added[mover] = true\n        end\n        did_launch = true\n      end\n    end\n    if (sameFloat(mover, v) and not v.already_moving) and timecheck(v) and ignoreCheck(mover,v,\"anti goooo\") then\n      local launchness = countProperty(v, \"anti goooo\")\n      if (launchness > 0) then\n        if (not did_clear_existing) then\n          for i = #mover.moves,1,-1 do\n            if mover.moves[i].reason == \"reflecc\" or mover.moves[i].reason == \"goooo\" or mover.moves[i].reason == \"icyyyy\" or mover.moves[i].reason == \"anti goooo\" or mover.moves[i].reason == \"anti icyyyy\" then\n              table.remove(mover.moves, i)\n            end\n          end\n          did_clear_existing = true\n        end\n        --the new moves will be at the start of the unit's moves data, so that it takes precedence over what it would have done next otherwise\n        --TODO: CLEANUP: Figure out a nice way to not have to pass this around/do this in a million places.\n        --movedebug(\"launching:\"..mover.fullname..\",\"..v.dir)\n        table.insert(mover.moves, 1, {reason = \"anti goooo\", dir = dirAdd(v.dir, 4), times = launchness})\n        if not already_added[mover] then\n          --movedebug(\"did add launcher\")\n          table.insert(moving_units_next, mover)\n          already_added[mover] = true\n        end\n        did_launch = true\n      end\n    end\n  end\n  if (did_launch) then\n    return\n  end\n  for _,v in ipairs(others) do\n    if (sameFloat(mover, v) and not v.already_moving) and timecheck(v) and ignoreCheck(mover,v,\"icyyyy\") then\n      local slideness = countProperty(v, \"icyyyy\")\n      if (slideness > 0) then\n        if (not did_clear_existing) then\n          for i = #mover.moves,1,-1 do\n            if mover.moves[i].reason == \"reflecc\" or mover.moves[i].reason == \"goooo\" or mover.moves[i].reason == \"icyyyy\" or mover.moves[i].reason == \"anti goooo\" or mover.moves[i].reason == \"anti icyyyy\" then\n              table.remove(mover.moves, i)\n            end\n          end\n          did_clear_existing = true\n        end\n        if not hasRule(mover,\"got\",\"slippers\") then\n          --movedebug(\"sliding:\"..mover.fullname..\",\"..mover.dir)\n          table.insert(mover.moves, 1, {reason = \"icyyyy\", dir = mover.dir, times = slideness})\n        end\n        if not already_added[mover] then\n          --movedebug(\"did add slider\")\n          table.insert(moving_units_next, mover)\n          already_added[mover] = true\n        end\n      end\n    end\n    if (sameFloat(mover, v) and not v.already_moving) and timecheck(v) and ignoreCheck(mover,v,\"anti icyyyy\") then\n      local slideness = countProperty(v, \"anti icyyyy\")\n      if (slideness > 0) then\n        if (not did_clear_existing) then\n          for i = #mover.moves,1,-1 do\n            if mover.moves[i].reason == \"reflecc\" or mover.moves[i].reason == \"goooo\" or mover.moves[i].reason == \"icyyyy\" or mover.moves[i].reason == \"anti goooo\" or mover.moves[i].reason == \"anti icyyyy\" then\n              table.remove(mover.moves, i)\n            end\n          end\n          did_clear_existing = true\n        end\n        if not hasRule(mover,\"got\",\"slippers\") then\n          --movedebug(\"sliding:\"..mover.fullname..\",\"..mover.dir)\n          table.insert(mover.moves, 1, {reason = \"anti icyyyy\", dir = dirAdd(mover.dir, 4), times = slideness})\n        end\n        if not already_added[mover] then\n          --movedebug(\"did add slider\")\n          table.insert(moving_units_next, mover)\n          already_added[mover] = true\n        end\n      end\n    end\n  end\nend\n\nfunction applySwap(mover, dx, dy)\n  --fast track\n  if rules_with[\"behinu\"] == nil and rules_with[\"anti behinu\"] == nil then return end\n  --we haven't actually moved yet, same as applySlide\n  --two priority related things:\n  --1) don't swap with things that are already moving, to prevent move order related behaviour\n  --2) swaps should occur before any other kind of movement, so that the swap gets 'overriden' by later, more intentional movement e.g. in a group of swap and you moving things, or a swapper pulling boxen behind it\n  --[[addUndo({\"update\", unit.id, unit.x, unit.y, unit.dir})]]--\n  local swap_mover = hasProperty(mover, \"behinu\")\n  local did_swap = false\n  for _,v in ipairs(getUnitsOnTile(mover.x+dx, mover.y+dy, {thicc = countProperty(mover,\"thicc\")})) do\n  --if not v.already_moving then --this made some things move order dependent, so taking it out\n    local swap_v = hasProperty(v, \"behinu\")\n    --Don't swap with non-swap empty.\n    if ((swap_mover and v.fullname ~= \"no1\") or swap_v) and sameFloat(mover,v,true) then\n      if ignoreCheck(v,mover) and (not swap_mover or ignoreCheck(v,mover,\"behinu\")) then\n        queueMove(v, -dx, -dy, swap_v and mover.dir or v.dir, true, 0)\n      end\n      if ignoreCheck(mover,v) then\n        did_swap = true\n      end\n    end\n  end\n  --end\n  if (swap_mover and did_swap) then\n    table.insert(update_queue, {unit = mover, reason = \"dir\", payload = {dir = rotate8(mover.dir)}})\n  end\n  \n  local anti_swap_mover = hasProperty(mover, \"anti behinu\")\n  local did_anti_swap = false\n  for _,v in ipairs(getUnitsOnTile(mover.x+dx, mover.y+dy, {thicc = countProperty(mover,\"thicc\")})) do\n    local anti_swap_v = hasProperty(v, \"anti behinu\")\n    if ((anti_swap_mover and v.fullname ~= \"no1\") or anti_swap_v) and sameFloat(mover,v,true) then\n      if ignoreCheck(v,mover) and (not anti_swap_mover or ignoreCheck(v,mover,\"anti behinu\")) then\n        queueMove(v, dx, dy, anti_swap_v and mover.dir or v.dir, true, 0)\n      end\n      if ignoreCheck(mover,v) then\n        did_anti_swap = true\n      end\n    end\n  end\n  if (anti_swap_mover and did_anti_swap) then\n    table.insert(update_queue, {unit = mover, reason = \"dir\", payload = {dir = rotate8(mover.dir)}})\n  end\nend\n\n--Explanation: At Vitellary's request, a moving portal hoovers everything it moves onto (passing through it as though it moved into the portal voluntarily).\nfunction applyPortalHoover(mover, dx, dy)\n  --fast track\n  if rules_with[\"poortoll\"] == nil then return end\n  if (not hasProperty(mover, \"poortoll\")) then return end\n  if thicc_units[mover] then return end\n  \n  local xx, yy = mover.x+dx, mover.y+dy\n  \n  for _,v in ipairs(getUnitsOnTile(mover.x+dx, mover.y+dy)) do\n    if sameFloat(mover, v) and ignoreCheck(v,mover,\"poortoll\") and not thicc_units[v] then\n      local dx, dy, dir, px, py = getNextTile(v, -dx, -dy, v.dir)\n      if (px ~= xx and py ~= yy) then\n        queueMove(v, px-v.x, py-v.y, v.dir, false, 0, mover)\n      end\n    end\n  end\nend\n\nfunction findSidekikers(unit,dx,dy)\n  --fast track\n  if rules_with[\"sidekik\"] == nil and rules_with[\"diagkik\"] == nil then return {} end\n  if table.has_value(unitsByTile(unit.x+dx,unit.y+dy),unit) then return {} end\n  local result = {}\n  if hasProperty(unit, \"shy...\") then\n    return result\n  end\n  local x = unit.x\n  local y = unit.y\n  dx = sign(dx)\n  dy = sign(dy)\n  local dir = dirs8_by_offset[dx][dy]\n  \n  local dir90 = (dir + 2 - 1) % 8 + 1\n  for i = 1,2 do\n    local curdir = (dir90 + 4*i - 1) % 8 + 1\n    local curdx = dirs8[curdir][1]\n    local curdy = dirs8[curdir][2]\n    local curx = x+curdx\n    local cury = y+curdy\n    local _dx, _dy, _dir, _x, _y = getNextTile(unit, curdx, curdy, curdir)\n    for _,v in ipairs(getUnitsOnTile(_x, _y, {checkmous = true, thicc = thicc_units[unit]})) do\n      if (hasProperty(v, \"sidekik\") or hasProperty(v, \"anti diagkik\")) and sameFloat(unit,v,true) and ignoreCheck(v,unit) then\n        result[v] = dirAdd(dir, dirDiff(_dir, curdir))\n      end\n    end\n  end\n  \n  local dir45 = (dir + 1 - 1) % 8 + 1\n  for i = 1,4 do\n    local curdir = (dir45 + 2*i - 1) % 8 + 1\n    local curdx = dirs8[curdir][1]\n    local curdy = dirs8[curdir][2]\n    local curx = x+curdx\n    local cury = y+curdy\n    local _dx, _dy, _dir, _x, _y = getNextTile(unit, curdx, curdy, curdir)\n    for _,v in ipairs(getUnitsOnTile(_x, _y, {checkmous = true, thicc = thicc_units[unit]})) do\n      local diagkikness = countProperty(v, \"diagkik\")\n      if ((i > 2) and (diagkikness >= 1) or (diagkikness >= 2)) and sameFloat(unit,v,true) and ignoreCheck(v,unit) then\n        result[v] = dirAdd(dir, dirDiff(_dir, curdir))\n      end\n    end\n  end\n  \n  return result\nend\n\nfunction findCopykats(unit)\n  --fast track\n  if rules_with[\"copkat\"] == nil then return {} end\n  local result = {}\n  local iscopykat = matchesRule(\"?\", \"copkat\", unit)\n  for _,ruleparent in ipairs(iscopykat) do\n    local copykats = findUnitsByName(ruleparent.rule.subject.name)\n    local copykat_conds = ruleparent.rule.subject.conds\n    for _,copykat in ipairs(copykats) do\n      if testConds(copykat, copykat_conds) and ignoreCheck(copykat,unit) then\n        result[copykat] = \"copkat\"\n      end\n    end\n  end\n  return result\nend\n\n--same stubborn logic as canMove, only the puller gets to branch though! also, we can't attempt a pull before going ahead with it, so just do the first one we can I guess.\nfunction doPull(unit,dx,dy,dir,data, already_added, moving_units, moving_units_next, slippers, remove_from_moving_units)\n  local result = doPullCore(unit,dx,dy,dir,data, already_added, moving_units, moving_units_next, slippers, remove_from_moving_units)\n  \n   --this doesn't work great atm. analyze later\n   --[[if thicc_units[unit] then\n    local old_x, old_y = unit.x, unit.y;\n    for i=1,3 do\n      --similar to the thicc code for canMove\n      unit.x = old_x+i%2;\n      unit.y = old_y+math.floor(i/2);\n      local newresult = doPullCore(unit,dx,dy,dir,data, already_added, moving_units, moving_units_next, slippers, remove_from_moving_units)\n    end\n    unit.x = old_x;\n    unit.y = old_y;\n  end]]\n  \n  --fast track\n  --Patashu: Why is there code ABOVE the fast track? *squinting*\n  if rules_with[\"comepls\"] == nil and rules_with[\"anti\"] == nil and rules_with[\"sidekik\"] == nil and rules_with[\"diagkik\"] == nil then return 0 end\n  if result > 0 then return result end\n  if dir > 0 then\n   local stubbn = countProperty(unit, \"stubbn\")\n    if stubbn > 0 and (dir % 2 == 0) or stubbn > 1 then\n      for i = 1,clamp(stubbn-1, 1, 4) do\n        local stubborndir1 = ((dir+i-1)%8)+1\n        local stubborndir2 = ((dir-i-1)%8)+1\n        local result1 = doPullCore(unit,dirs8[stubborndir1][1],dirs8[stubborndir1][2],stubborndir1,data,already_added, moving_units, moving_units_next, slippers, remove_from_moving_units)\n        if (result1 > 0) then\n          return result1\n        end\n        local result2 = doPullCore(unit,dirs8[stubborndir2][1],dirs8[stubborndir2][2],stubborndir2,data,already_added, moving_units, moving_units_next, slippers, remove_from_moving_units)\n        if (result2 > 0) then\n          return result2\n        end\n      end\n    end\n  end\nend\n\nfunction doPullCore(unit,dx,dy,dir,data, already_added, moving_units, moving_units_next, slippers, remove_from_moving_units)\n  --TODO: CLEANUP: This is a big ol mess now and there's no way it needs to be THIS complicated.\n  local result = 0\n  local something_moved = not hasProperty(unit, \"shy...\")\n  local prev_unit = unit\n  while (something_moved) do\n    something_moved = false\n    local changed_unit = false\n    --To implement WRAP/PORTAL, we pick an arbitrary unit along our pull chain and make it the next puller.\n    --We have to momentarily reverse dir/dx/dy so that we check what the tile is BEHIND us instead of AHEAD of us.\n    --To successfully pull through a portal, we have to track how much our direction changes after taking a portal, so that we can continue the pull in the appropriate direction on the other side.\n    local x, y = 0, 0\n    dx = dirs8[dir][1]\n    dy = dirs8[dir][2]\n    local old_dir = dir\n    dx, dy, dir, x, y = getNextTile(unit, dx, dy, dir, true)\n    local dir_diff = dirDiff(old_dir, dir)\n    for _,v in ipairs(getUnitsOnTile(x, y, {checkmous = true, thicc = thicc_units[unit]})) do\n      if (hasProperty(v, \"comepls\") or hasProperty(v, \"anti sidekik\") or hasProperty(v, \"anti diagkik\")) and sameFloat(unit,v,true) and ignoreCheck(v,unit) then\n        local success,movers,specials = canMove(v, dx, dy, dir, {pushing = true}) --TODO: I can't remember why pushing is set but pulling isn't LOL, but if nothing's broken then shrug??\n        for _,special in ipairs(specials) do\n          doAction(special)\n        end\n        if (success) then\n          --unit.already_moving = true\n          \n          for _,mover in ipairs(movers) do\n            if not changed_unit and (mover.unit.x ~= unit.x or mover.unit.y ~= unit.y) and not hasProperty(mover.unit, \"shy...\") then\n              something_moved = true\n              --Here's where we pick our arbitrary next unit as the puller. (I guess if we're pulling a wrap and a non wrap thing simultaneously it will be ambiguous, so don't use this in a puzzle so I don't have to be recursive...?) (IDK how I'm going to code moonwalk/drunk/drunker/skip pull though LOL, I guess that WOULD have to be recursive??)\n              prev_unit = unit\n              unit = mover.unit\n              dx = mover.dx\n              dy = mover.dy\n              dir = dirAdd(mover.dir, dir_diff)\n              changed_unit = true\n            end\n            result = result + 1\n            moveIt(mover.unit, mover.dx, mover.dy, mover.dir, mover.move_dir, mover.geometry_spin, data, true, already_added, moving_units, moving_units_next, slippers, remove_from_moving_units, mover.portal)\n          end\n        end\n      end\n    end\n  end\n  return result\nend\n\nfunction fallBlock() \n  --1) gather all fallers\n  local fallers = {}\n  --and all timeless fallers\n  local timeless_fallers = {}\n  \n  function addFallersFromLoop(verb, property, gravity_dir, relative)\n    local falling = (verb == \"be\" and getUnitsWithEffectAndCount(property) or getUnitsWithRuleAndCount(nil, verb, property))\n    for unit,count in pairs(falling) do\n      unit = units_by_id[unit] or cursors_by_id[unit]\n      if fallers[unit] == nil then\n        fallers[unit] = {0, 0};\n      end\n      local actual_dir = gravity_dir;\n      if (relative) then\n        actual_dir = dirs8[dirAdd(unit.dir, gravity_dir)];\n      end\n      fallers[unit][1] = fallers[unit][1] + count*actual_dir[1];\n      fallers[unit][2] = fallers[unit][2] + count*actual_dir[2];\n      if timecheck(unit, verb, property) then\n        timeless_fallers[unit] = true\n      end\n    end\n  end\n  \n  addFallersFromLoop(\"be\", \"haetskye\", {0, 1});\n  addFallersFromLoop(\"be\", \"haetflor\", {0, -1});\n  \n  \n  --[[if (rules_with[\"haet\"]) then\n    for k,v in pairs(dirs8_by_name) do\n      local gravity_dir = copyTable(dirs8[k]);\n      gravity_dir[1] = -gravity_dir[1];\n      gravity_dir[2] = -gravity_dir[2];\n      addFallersFromLoop(\"haet\", v, gravity_dir);\n    end\n  end]]\n  if (rules_with[\"yeet\"]) then\n    for k,v in pairs(dirs8_by_name) do\n      addFallersFromLoop(\"yeet\", v, dirs8[k], false);\n    end\n    for i = 0,8 do\n      addFallersFromLoop(\"yeet\", \"spin\"..tostring(i), i, true);\n    end\n  end\n  --2) normalize to an 8-way faller direction, and remove if it's 0,0\n  for unit,dir in pairs(fallers) do\n    dir[1] = sign(dir[1]);\n    dir[2] = sign(dir[2]);\n    if (dir[1] == 0 and dir[2] == 0) then\n      fallers[unit] = nil\n    else\n      fallers[unit] = dir\n    end\n  end\n  \n  --3) move them simultaneously one step each loop. if nothing moved, loop over. portals can change\n  --falling dir, so be aware.\n  --Because we resolve simultaneously, it doesn't matter what order we iterate the table in.\n  \n  local something_moved = true\n  local loop_fall = 0\n  while something_moved do\n    something_moved = false\n    local movers = {}\n    loop_fall = loop_fall + 1\n    if (loop_fall > 1000) then\n      print(\"movement infinite loop! (1000 attempts at a faller)\")\n      destroyLevel(\"infloop\")\n      return\n    end\n    for unit,dir in pairs(fallers) do\n      local gravity_dir = dirs8_by_offset[dir[1]][dir[2]]\n      local dx, dy, dir, px, py = dir[1], dir[2], gravity_dir, -1, -1\n      local old_dir = gravity_dir\n      new_dx, new_dy, new_dir, px, py = getNextTile(unit, dx, dy, dir)\n      --TODO: add GLUED support here by checking to see if other units are returned too\n      if canMove(unit, dx, dy, dir, {reason = \"haetskye\"}) then\n        addUndo({\"update\", unit.id, unit.x, unit.y, unit.dir})\n        table.insert(movers, {unit = unit, old_dir = old_dir, dir = new_dir, px = px, py = py});\n        something_moved = true;\n      end\n    end\n    for _,payload in ipairs(movers) do\n      updateDir(payload.unit, dirAdd(payload.unit.dir, dirDiff(payload.old_dir, payload.dir)))\n      fallers[payload.unit] = dirs8[payload.dir];\n      moveUnit(payload.unit,payload.px, payload.py)\n      if timeless_fallers[payload.unit] == nil then\n        fallers[payload.unit] = nil\n      end\n    end\n  end\n  \n  --TODO: Need to add timeless fall back in.\n  \n  --TODO: If we have multiple gravity directions, then we probably want a simultaneous single step algorithm to resolve everything neatly.\n  --[[local gravity_dir = {0,1}\n  \n  local fallers = getUnitsWithEffect(\"haetskye\")\n  table.sort(fallers, function(a, b) return a.y > b.y end )\n  \n  local vallers = getUnitsWithEffect(\"haetflor\")\n  table.sort(vallers, function(a, b) return a.y < b.y end )\n  \n  for _,unit in ipairs(fallers) do\n    local caught = false\n    \n    local fallcount = countProperty(unit,\"haetskye\")\n    local vallcount = countProperty(unit,\"haetflor\")\n    \n    if (fallcount > vallcount) then\n      addUndo({\"update\", unit.id, unit.x, unit.y, unit.dir})\n      if timecheck(unit,\"be\",\"haetskye\") then\n        local loop_fall = 0\n        local dx, dy, dir, px, py = gravity_dir[1], gravity_dir[2], 3, -1, -1\n        local old_dir = 3\n        while (caught == false) do\n          loop_fall = loop_fall + 1\n          if (loop_fall > 1000) then\n            print(\"movement infinite loop! (1000 attempts at a faller)\")\n            destroyLevel(\"infloop\")\n            return\n          end\n          new_dx, new_dy, new_dir, px, py = getNextTile(unit, dx, dy, dir)\n          if not canMove(unit, dx, dy, dir, false, false, nil, \"haetskye\") then\n            caught = true\n          end\n          if caught == false then\n            updateDir(unit, dirAdd(unit.dir, dirDiff(old_dir, dir)))\n            old_dir = dir\n            moveUnit(unit,px,py)\n          end\n          dx, dy, dir = new_dx, new_dy, new_dir\n        end\n      else\n        if canMove(unit, 0, 1, 3, false, false, nil, \"haetskye\") then\n          moveUnit(unit,unit.x,unit.y+1)\n        end\n      end\n    end\n  end\n  \n  for _,unit in ipairs(vallers) do\n    local caught = false\n    \n    local fallcount = countProperty(unit,\"haetskye\")\n    local vallcount = countProperty(unit,\"haetflor\")\n    \n    if (vallcount > fallcount) then\n      if timecheck(unit,\"be\",\"haetflor\") then\n        addUndo({\"update\", unit.id, unit.x, unit.y, unit.dir})\n        local loop_fall = 0\n        local dx, dy, dir, px, py = -gravity_dir[1], -gravity_dir[2], 3, -1, -1\n        local old_dir = 3\n        while (caught == false) do\n          loop_fall = loop_fall + 1\n          if (loop_fall > 1000) then\n            print(\"movement infinite loop! (1000 attempts at a faller)\")\n            destroyLevel(\"infloop\")\n            return\n          end\n          new_dx, new_dy, new_dir, px, py = getNextTile(unit, dx, dy, dir)\n          if not canMove(unit, dx, dy, dir, false, false, nil, \"haetskye\") then\n            caught = true\n          end\n          if caught == false then\n            updateDir(unit, dirAdd(unit.dir, dirDiff(old_dir, dir)))\n            old_dir = dir\n            moveUnit(unit,px,py)\n          end\n          dx, dy, dir = new_dx, new_dy, new_dir\n        end\n      else\n        if canMove(unit, 0, -1, 3, false, false, nil, \"haetskye\") then\n          moveUnit(unit,unit.x,unit.y-1)\n        end\n      end\n    end\n  end]]\nend\n\n--for use with wrap and portal. portals can change the facing dir, and facing dir can already be different from dx and dy, so we need to keep track of everything.\nfunction getNextTile(unit,dx,dy,dir,reverse_,start_x,start_y)\n  local reverse = reverse_ or false\n  local rs = reverse and -1 or 1\n  dx = dx*rs\n  dy = dy*rs\n  local move_dir = dirs8_by_offset[sign(dx)][sign(dy)] or 0\n  local px, py = (start_x or unit.x)+dx, (start_y or unit.y)+dy\n  --we have to loop because a portal might put us oob, which wraps and puts us in another portal, which puts us oob... etc\n  local did_update = true\n  local loop_portal = 0\n  local portal_unit = nil\n  while (did_update) do\n    local pxold, pyold = px, py\n    did_update = false\n    loop_portal = loop_portal + 1\n    if loop_portal > 1000 then\n      print(\"movement infinite loop! (1000 attempts at wrap/portal)\")\n      destroyLevel(\"infloop\")\n    end\n    px, py, move_dir, dir = doWrap(unit, px, py, move_dir, dir)\n    px, py, move_dir, dir, punit = doPortal(unit, px, py, move_dir, dir, reverse)\n    if punit then\n      portal_unit = punit\n    end\n    if (px ~= pxold or py ~= pyold) then\n      did_update = true\n    end\n  end\n  dx = move_dir > 0 and dirs8[move_dir][1] or 0\n  dy = move_dir > 0 and dirs8[move_dir][2] or 0\n  return rs*dx, rs*dy, dir, px, py, portal_unit\nend\n\nfunction doWrap(unit, px, py, move_dir, dir)\n  --fast track if we don't need to wrap anyway\n  if inBounds(px,py) and not units_by_name[\"bordr\"] then\n    return px, py, move_dir, dir\n  end\n  --TODO: make mirr arnd also work with bordr. hard to know how that should work though\n  if (hasProperty(unit, \"anti mirrarnd\") or hasProperty(outerlvl, \"anti mirrarnd\")) and not thicc_units[unit] then --projective plane wrapping\n    local mirror_x, mirror_y = false, false\n    if px < 0 or px >= mapwidth then\n      mirror_y = true\n      px = clamp(px, 0, mapwidth-1)\n    end\n    if py < 0 or py >= mapheight then\n      mirror_x = true\n      py = clamp(py, 0, mapheight-1)\n    end\n    if mirror_y then\n      py = mapheight - 1 - py\n      move_dir = dirs8_by_offset[-dirs8[move_dir][1]][dirs8[move_dir][2]]\n      if not hasProperty(unit, \"noturn\") then\n        dir = move_dir\n      end\n    end\n    if mirror_x then\n      px = mapwidth - 1 - px\n      move_dir = dirs8_by_offset[dirs8[move_dir][1]][-dirs8[move_dir][2]]\n      if not hasProperty(unit, \"noturn\") then\n        dir = move_dir\n      end\n    end\n  elseif (hasProperty(unit, \"mirrarnd\") or hasProperty(outerlvl, \"mirrarnd\")) and not thicc_units[unit] then --projective plane wrapping\n    local dx, dy = 0, 0\n    if (px < 0) then\n      dx = -px\n      px = 0\n    elseif (px >= mapwidth) then\n      dx = px-mapwidth+1\n      px = mapwidth-1\n    end\n    if (py < 0) then\n      dy = -py\n      py = 0\n    elseif (py >= mapheight) then\n      dy = py-mapheight+1\n      py = mapheight-1\n    end\n    if (dx ~= 0 or dy ~= 0) then\n      px = px + (mapwidth/2-0.5-px)*2\n      py = py + (mapheight/2-0.5-py)*2\n    end\n  end\n  if (hasProperty(unit, \"anti goarnd\") or hasProperty(outerlvl, \"anti goarnd\")) and not thicc_units[unit] then\n    --Orthogonal wrapping is trivial - eject backwards as far as we can.\n    --Diagonal wrapping is a bit harder - it depends on if we're walking into a wall or a corner (inward or outward). If we're walking into a wall, eject perpendicularly out of it as far as we can. If we're walking into a corner, eject backwards as far as we can.\n    if not inBounds(px,py) then\n      local mx,my = dirs8[move_dir][1],dirs8[move_dir][2]\n      local found = false\n      if (mx == 0 or my == 0) then --orthgonal\n        while not found do\n          if inBounds(px,py) then\n            found = true\n          else\n            px = px-mx\n            py = py-my\n          end\n        end\n        move_dir = dirs8_by_offset[-mx][-my]\n        if not hasProperty(unit, \"noturn\") then\n          dir = move_dir\n        end\n      else --diagonal, but into what?\n        local vert_wall = not inBounds(px,py-my);\n        local hori_wall = not inBounds(px-mx,py);\n        if vert_wall == hori_wall then --inward or outward corner\n          while not found do\n            if inBounds(px,py) then\n              found = true\n            else\n              px = px-mx\n              py = py-my\n            end\n          end\n          move_dir = dirs8_by_offset[-mx][-my]\n          if not hasProperty(unit, \"noturn\") then\n            dir = move_dir\n          end\n        elseif vert_wall then --vertical wall - eject horizontally\n          while not found do\n            if inBounds(px,py) then\n              found = true\n            else\n              px = px-mx\n              py = py\n            end\n          end\n          move_dir = dirs8_by_offset[-mx][my]\n          if not hasProperty(unit, \"noturn\") then\n            dir = move_dir\n          end\n        else --horizontal wall - eject vertically\n          while not found do\n            if inBounds(px,py) then\n              found = true\n            else\n              px = px\n              py = py-my\n            end\n          end\n          move_dir = dirs8_by_offset[mx][-my]\n          if not hasProperty(unit, \"noturn\") then\n            dir = move_dir\n          end\n        end\n      end\n    end\n  elseif (hasProperty(unit, \"goarnd\") or hasProperty(outerlvl, \"goarnd\")) and not thicc_units[unit] then --torus wrapping\n    --Orthogonal wrapping is trivial - eject backwards as far as we can.\n    --Diagonal wrapping is a bit harder - it depends on if we're walking into a wall or a corner (inward or outward). If we're walking into a wall, eject perpendicularly out of it as far as we can. If we're walking into a corner, eject backwards as far as we can.\n    if not inBounds(px,py) then\n      local mx,my = dirs8[move_dir][1],dirs8[move_dir][2]\n      local found = false\n      if (mx == 0 or my == 0) then --orthgonal\n        while not found do\n          if inBounds(px-mx,py-my) then\n            px = px-mx\n            py = py-my\n          else\n            found = true\n          end\n        end\n      else --diagonal, but into what?\n        local vert_wall = not inBounds(px,py-my);\n        local hori_wall = not inBounds(px-mx,py);\n        if vert_wall == hori_wall then --inward or outward corner\n          while not found do\n            if inBounds(px-mx,py-my) then\n              px = px-mx\n              py = py-my\n            else\n              found = true\n            end\n          end\n        elseif vert_wall then --vertical wall - eject horizontally\n          while not found do\n            if inBounds(px-mx,py) then\n              px = px-mx\n              py = py\n            else\n              found = true\n            end\n          end\n        else --horizontal wall - eject vertically\n          while not found do\n            if inBounds(px,py-my) then\n              px = px\n              py = py-my\n            else\n              found = true\n            end\n          end\n        end\n      end\n    end\n  end\n\n  return px, py, move_dir, dir\nend\n\nfunction doPortal(unit, px, py, move_dir, dir, reverse)\n  if not inBounds(px,py) or rules_with[\"poortoll\"] == nil or thicc_units[unit] then return px, py, move_dir, dir end\n  local rs = reverse and -1 or 1\n  --arbitrarily pick the first paired portal we find while iterating - can't think of a more 'simultaneousy' logic\n  --I thought about making portals go backwards/forwards twice/etc depending on property count, but it doesn't play nice with pull - if two portals lead to a portal you move away from, which one do you pull from?\n  --This was already implemented in cg5's mod, but I overlooked it the first time around - PORTAL is FLOAT respecting, so now POOR TOLL is FLYE respecting. Spooky! (I already know this will have weird behaviour with PULL and SIDEKIK, so looking forward to that.)\n  for _,v in ipairs(getUnitsOnTile(px, py, {checkmous = true})) do\n    --At Vitellary's request, make it so you can only enter the front of a portal.\n    if dirAdd(v.dir, 4) == move_dir and hasProperty(v, \"poortoll\") and sameFloat(unit, v, true) and not hasRule(unit,\"haet\",v) and ignoreCheck(unit,v,\"poortoll\") then\n      local portal_rules = matchesRule(v.fullname, \"be\", \"poortoll\")\n      local portals_direct = {}\n      local portals = {}\n      local portal_index = -1\n      for _,rule in ipairs(portal_rules) do\n        for _,s in ipairs(findUnitsByName(v.fullname)) do\n          if testConds(s, rule.rule.subject.conds) then\n            portals_direct[s] = true\n          end\n        end\n      end\n      -- Count portal colors\n      local found_colored = {}\n      for p,_ in pairs(portals_direct) do\n        local color_id = getUnitColor(p)[1]..\",\"..getUnitColor(p)[2]\n        found_colored[color_id] = (found_colored[color_id] or 0) + 1\n      end\n      -- Only add portals to list if:\n      -- A. They share the same color, or\n      -- B. Only one of both color exists\n      for p,_ in pairs(portals_direct) do\n        local p_color_id = getUnitColor(p)[1]..\",\"..getUnitColor(p)[2]\n        local v_color_id = getUnitColor(v)[1]..\",\"..getUnitColor(v)[2]\n        if p_color_id == v_color_id then\n          table.insert(portals, p)\n        elseif found_colored[p_color_id] == 1 and found_colored[v_color_id] == 1 then\n          table.insert(portals, p)\n        end\n      end\n      table.sort(portals, readingOrderSort)\n      --find our place in the list\n      for pk,pv in ipairs(portals) do\n        if pv == v then\n          portal_index = pk\n          break\n        end\n      end\n      --did I ever mention I hate 1 indexed arrays?\n      local dest_index = ((portal_index + rs - 1) % #portals) + 1\n      local dest_portal = portals[dest_index]\n      --I don't know how this bug happens, but it'll be easier to debug if it doesn't immediately crash the game LOL\n      if (dest_portal == nil) then\n        print(\"Expected to find a portal destination and didn't!\"..\",\"..tostring(#portals)..\",\"..tostring(dest_index))\n        break\n      end\n      local dir1 = v.dir\n      --At Vitellary's request, and as a baba/bab difference, let's try making it so when you go in a (side), you come out the same (side) on the destination. Front to front, back to back, left side to left side and so on.\n      local dir2 = rotate8(dest_portal.dir)\n      move_dir = move_dir > 0 and dirAdd(move_dir, dirDiff(dir1, dir2)) or 0\n      dir = dir > 0 and dirAdd(dir, dirDiff(dir1, dir2)) or 0\n      local dx, dy = 0, 0\n      if (move_dir > 0) then\n        dx = dirs8[move_dir][1]\n        dy = dirs8[move_dir][2]\n      end\n      px = dest_portal.x + dx\n      py = dest_portal.y + dy\n      return px, py, move_dir, dir, dest_portal\n    end\n  end\n  return px, py, move_dir, dir, nil\nend\n\nfunction dirDiff(dir1, dir2)\n  if (dir1 == nil or dir2 == nil) then\n    print(\"dirDiff:\",dir1,dir2)\n    return 0\n  end\n  if dir1 <= dir2 then\n    return dir2 - dir1\n  else\n    return dir2 - (dir1+8)\n  end\nend\n\nfunction dirAdd(dir1, diff)\n  if (diff == nil) then\n    print(\"dirAdd:\",dir1,diff)\n    return dir1 or 1\n  elseif (dir1 == nil) then\n    print(\"dirAdd:\",dir1,diff)\n    return diff\n  end\n  dir1 = dir1 + diff\n  while dir1 < 1 do\n    dir1 = dir1 + 8\n  end\n  while dir1 > 8 do\n    dir1 = dir1 - 8\n  end\n  return dir1\nend\n\n--stubborn units will try to slide around an obstacle in their way. everyone else just passes through!\n--stubbornness increases with amount of stacks:\n--1 stack: 45 degree angles for diagonal moves only\n--2 stacks: 45 degree angles for all moves\n--3 stacks: up to 90 degrees\n--4 stacks: up to 135 degrees\n--5 stacks: up to 180 degrees (e.g. all directions)\nfunction canMove(unit,dx,dy,dir,o) --pushing, pulling, solid_name, reason, push_stack, start_x, start_y, ignorestukc\n  o = o or {}\n  o.pushing = o.pushing or false\n  o.pulling = o.pulling or false --this isn't used now but might be in the future??\n  o.push_stack = o.push_stack or {}\n  o.ignorestukc = o.ignorestukc or false\n  \n  if not o.ignorestukc and hasProperty(unit, \"stukc\") then\n    return false,{},{}\n  end\n  local success, movers, specials = canMoveCore(unit,dx,dy,dir,o)\n  if thicc_units[unit] then\n    local old_x, old_y = unit.x, unit.y;\n    local thicc = thicc_units[unit]\n    for i=0,thicc do\n      for j=0,thicc do\n        --temporarily pretend the unit is at each other tile\n        --(the reason why o.start_x/o.start_y doesn't seem to work is because then everything we push uses the same co-ordinates and ends up trying to push onto itself? and that's why only the TL corner ever worked)\n        if (i+j) > 0 then\n          unit.x = old_x+i;\n          unit.y = old_y+j;\n          local newsuccess, newmovers, newspecials = canMoveCore(unit,dx,dy,dir,o)\n          mergeTable(movers,newmovers)\n          mergeTable(specials,newspecials)\n          success = success and newsuccess\n          --remove all the extra us's\n          for j = #movers,2,-1 do\n            if movers[j].unit == unit then\n              table.remove(movers, j)\n            end\n          end\n        end\n      end\n    end\n    unit.x = old_x;\n    unit.y = old_y;\n  end\n  if success then\n    return success, movers, specials\n  elseif dir > 0 and o.pushing then\n    local stubbn = countProperty(unit, \"stubbn\")\n    if stubbn > 0 and (dir % 2 == 0) or stubbn > 1 then\n      for i = 1,clamp(stubbn-1, 1, 4) do\n        local stubborndir1 = ((dir+i-1)%8)+1\n        local stubborndir2 = ((dir-i-1)%8)+1\n        local success1, movers1, specials1 = canMoveCore(unit,dirs8[stubborndir1][1],dirs8[stubborndir1][2],dir,o)\n        local success2, movers2, specials2 = canMoveCore(unit,dirs8[stubborndir2][1],dirs8[stubborndir2][2],dir,o)\n        if (success1 and not success2) then\n          return success1,movers1,specials1\n        elseif (success2 and not success1) then\n          return success2,movers2,specials2\n        elseif (success1 and success2) then --both succeeded - return whichever requires less effort\n          if #movers1 <= #movers2 then\n            return success1,movers1,specials1\n          else\n            return success2,movers2,specials2\n          end\n        end\n      end\n    end\n  end\n  return success, movers, specials\nend\n\nfunction canMoveCore(unit,dx,dy,dir,o) --pushing, pulling, solid_name, reason, push_stack, start_x, start_y, ignorestukc\n\n  --if we haet outerlvl, we can't move, period. \n  if rules_with[\"haet\"] ~= nil and hasRule(unit, \"haet\", outerlvl) and not ignoreCheck(unit,outerlvl) then\n    return false,{},{}\n  end\n  \n  if rules_with[\"gomyway\"] ~= nil and hasProperty(outerlvl,\"gomyway\") and ignoreCheck(unit,outerlvl) and goMyWayPrevents(outerlvl.dir,dx,dy) then\n    return false,{},{}\n  end\n  \n  if rules_with[\"anti gomyway\"] ~= nil and hasProperty(outerlvl,\"anti gomyway\") and ignoreCheck(unit,outerlvl) and dir == outerlvl.dir then\n    return false,{},{}\n  end\n\n  --prevent infinite push loops by returning false if a push intersects an already considered unit\n  --EDIT: let's try returning true instead and allowing them to happen. plays nicely with portal loops. For stubborn, maybe we just allow max one direction change or something... (So we pass a flag along to know if we've made our one change or not.)\n  if (o.push_stack[unit] == true) then\n    return true,{},{}\n  end\n  \n  o.pushing = not hasProperty(unit, \"shy...\") and o.pushing\n  o.pulling = not hasProperty(unit, \"shy...\") and o.pulling\n  \n  --apply munwalk, sidestep and diagstep here (only if making a push move, to not mess up other checks)\n  if (o.pushing and walkdirchangingrulesexist) then\n    local old_dx, old_dy = dx, dy\n    local movecount = (4 * countProperty(unit, \"munwalk\"))\n                    + (2 * countProperty(unit, \"sidestep\"))\n                    - (2 * countProperty(unit, \"anti sidestep\"))\n                    + (countProperty(unit, \"diagstep\"))\n                    - (countProperty(unit, \"anti diagstep\"))\n    if movecount % 2 == 1 then\n      local root2 = math.sqrt(0.5)\n      local diagx = round(root2*old_dx-root2*old_dy)\n      local diagy = round(root2*old_dx+root2*old_dy)\n      dx = diagx\n      dy = diagy\n    end\n    if movecount % 4 >= 2 then\n      old_dx = dx\n      dx = -dy\n      dy = old_dx\n    end\n    if movecount % 8 >= 4 then\n      dx = -dx\n      dy = -dy\n    end\n    if hasProperty(unit, \"knightstep\") then\n      local root2 = math.sqrt(0.5)\n      local diagx = round(root2*dx-root2*dy)\n      local diagy = round(root2*dx+root2*dy)\n      local knights = countProperty(unit,\"knightstep\")\n      if (dx - dy) % 2 == 1 then\n        dx = knights * diagx + dx\n        dy = knights * diagy + dy\n      elseif (dx - dy) % 2 == 0 then\n        dx = diagx + dx * knights\n        dy = diagy + dy * knights\n      end\n    end\n    if hasProperty(unit, \"hopovr\") then\n      local hops = countProperty(unit, \"hopovr\")\n      dx = dx * (hops + 1)\n      dy = dy * (hops + 1)\n    end\n    if hasProperty(unit, \"anti hopovr\") then\n      dx = 0\n      dy = 0\n    end\n    if hasProperty(unit, \"halfstep\") then\n      local hops = countProperty(unit, \"halfstep\")\n      dx = dx / (2^hops)\n      dy = dy / (2^hops)\n    end\n  end\n\t\n\t\n  local move_dx, move_dy = dx, dy\n  local move_dir = dirs8_by_offset[sign(move_dx)][sign(move_dy)] or 0\n  local old_dir = dir\n  local dx, dy, dir, x, y, portal_unit = getNextTile(unit, dx, dy, dir, nil, o.start_x, o.start_y)\n  local geometry_spin = dirDiff(dir, old_dir)\n  \n  local movers = {}\n  local specials = {}\n  table.insert(movers, {unit = unit, dx = x-unit.x, dy = y-unit.y, dir = dir, move_dx = move_dx, move_dy = move_dy, move_dir = move_dir, geometry_spin = geometry_spin, portal = portal_unit})\n  \n  if rules_with[\"ignor\"] ~= nil and not ignoreCheck(unit,outerlvl) then\n    return true,movers,{}\n  end\n  \n  --STUB: We probably want to do something more explicit like synthesize bordr units around the border so they can be explicitly moved/created/destroyed/have conditional rules apply to them.\n  if not inBounds(x,y) and (not (hasRule(\"bordr\",\"ben't\",\"nogo\") or not ignoreCheck(unit,\"bordr\") or o.reason == \"curse\") or hasRule(unit,\"liek\",outerlvl)) then\n    if o.pushing and hasProperty(unit, \"ouch\") and not hasProperty(unit, \"protecc\") and (o.reason ~= \"walk\" or hasProperty(unit, \"stubbn\")) then\n      table.insert(specials, {\"weak\", {unit}})\n      return true,movers,specials\n    end\n    return false,{},{}\n  end\n\n  if hasProperty(unit, \"diag\") and (not hasProperty(unit, \"ortho\")) and (dx == 0 or dy == 0) then\n    return false,movers,specials\n  end\n  if hasProperty(unit, \"ortho\") and (not hasProperty(unit, \"diag\")) and (dx ~= 0 and dy ~= 0) then\n    return false,movers,specials\n  end\n\n  --allow curse to move onto any liek'd objects\n  local curse_success = false\n  \n  --bounded: if we're bounded and there are no units in the destination that satisfy a bounded rule, AND there's no units at our feet that would be moving there to carry us, we can't go\n  --we used to have a fast track, but now selector is ALWAYS bounded to stuff, so it's never going to be useful.\n  --liek only triggers if there is at least one unit we currently liek in existence\n  local bound_to_object = #matchesRule(unit, \"liek\", nil) > 0\n  if (bound_to_object) then\n    local isbounded = matchesRule(unit, \"liek\", \"?\")\n    for i,ruleparent in ipairs(isbounded) do\n      local liek = ruleparent.rule.object.name\n      local success = false\n      if hasRule(unit,\"liek\",outerlvl) then\n        success = true\n        curse_success = true\n      elseif hasRule(unit,\"liek\",liek) and hasRule(unit,\"haet\",liek) then\n        success = true\n      end\n      local has_others = false\n      for _,v in ipairs(getUnitsOnTile(x, y, {checkmous = true})) do\n        if v ~= unit then\n          has_others = true\n        end\n        if hasRule(unit, \"liek\", v) and ignoreCheck(unit,v) and liek ~= \"themself\" then\n          success = true\n          curse_success = true\n          break\n        end\n      end\n      if liek == \"themself\" and not has_others then\n        success = true\n        curse_success = true\n      end\n      if not success then\n        for _,update in ipairs(update_queue) do\n          if update.reason == \"update\" then\n            local unit2 = update.unit\n            local x2 = update.payload.x\n            local y2 = update.payload.y\n            if x2 == x and y2 == y and hasRule(unit, \"liek\", unit2) and ignoreCheck(unit,unit2) then\n              success = true\n              curse_success = true\n              break\n            end\n          end\n        end\n      end\n      if not success and o.reason ~= \"curse\" then\n        return false,{},{}\n      end\n    end\n  end\n  \n  local isnthere = matchesRule(unit,\"ben't\",\"her\")\n  if (#isnthere > 0) then\n    for _,ruleparent in ipairs(isnthere) do\n      local here = ruleparent.rule.object.unit\n      local hx = dirs8[here.dir][1]\n      local hy = dirs8[here.dir][2]\n      \n      if (x == here.x+hx) and (y == here.y+hy) then\n        return false,movers,specials\n      end\n    end\n  end\n  \n  local isntantihere = matchesRule(unit,\"ben't\",\"anti her\")\n  if (#isntantihere > 0) then\n    for _,ruleparent in ipairs(isntantihere) do\n      local here = ruleparent.rule.object.unit\n      local hx = dirs8[here.dir][1]\n      local hy = dirs8[here.dir][2]\n      \n      if (x == here.x-hx) and (y == here.y-hy) then\n        return false,movers,specials\n      end\n    end\n  end\n  \n  local isntthere = matchesRule(unit,\"ben't\",\"thr\")\n  if (#isntthere > 0) then\n    for _,ruleparent in ipairs(isntthere) do\n      local there = ruleparent.rule.object.unit\n      \n      local tx = there.x\n      local ty = there.y\n      local tdir = there.dir\n      local tdx = dirs8[there.dir][1]\n      local tdy = dirs8[there.dir][2]\n      \n      local tstopped = false\n      local tvalid = false\n      local loopstage = 0\n      while not tstopped do\n        local canmove = canMove(there,tdx,tdy,tdir,{start_x = tx, start_y = ty, ignorestukc = true})\n        \n        if not tvalid then\n          tvalid = canmove\n        else\n          tstopped = not canmove\n        end\n        \n        if not tstopped then\n          tdx,tdy,tdir,tx,ty = getNextTile(there, tdx, tdy, tdir, nil, tx, ty)\n          if (x == tx) and (y == ty) then\n            return false,movers,specials\n          end\n        end\n        \n        loopstage = loopstage + 1\n        if loopstage > 1000 then\n          if tvalid then\n            print(\"movement infinite loop! (1000 attempts at ben't thr)\")\n            destroyLevel(\"infloop\")\n          end\n          break\n        end\n      end\n    end\n  end\n  \n  local isntantithere = matchesRule(unit,\"ben't\",\"anti thr\")\n  if (#isntantithere > 0) then\n    for _,ruleparent in ipairs(isntantithere) do\n      local there = ruleparent.rule.object.unit\n      \n      local tx = there.x\n      local ty = there.y\n      local tdir = there.dir\n      local tdx = -dirs8[there.dir][1]\n      local tdy = -dirs8[there.dir][2]\n      \n      local tstopped = false\n      local tvalid = false\n      local loopstage = 0\n      while not tstopped do\n        local canmove = canMove(there,tdx,tdy,tdir,{start_x = tx, start_y = ty, ignorestukc = true})\n        \n        if not tvalid then\n          tvalid = canmove\n        else\n          tstopped = not canmove\n        end\n        \n        if not tstopped then\n          tdx,tdy,tdir,tx,ty = getNextTile(there, tdx, tdy, tdir, nil, tx, ty)\n          if (x == tx) and (y == ty) then\n            return false,movers,specials\n          end\n        end\n        \n        loopstage = loopstage + 1\n        if loopstage > 1000 then\n          if tvalid then\n            print(\"movement infinite loop! (1000 attempts at ben't thr)\")\n            destroyLevel(\"infloop\")\n          end\n          break\n        end\n      end\n    end\n  end\n  \n  local isntrithere = matchesRule(unit,\"ben't\",\"rithere\")\n  if (#isntrithere > 0) then\n    for _,ruleparent in ipairs(isntrithere) do\n      local here = ruleparent.rule.object.unit\n      if (x == here.x) and (y == here.y) then\n        return false,movers,specials\n      end\n    end\n  end\n  \n  local isntantirithere = matchesRule(unit,\"ben't\",\"anti rithere\")\n  if (#isntantirithere > 0) then\n    for _,ruleparent in ipairs(isntantirithere) do\n      local here = ruleparent.rule.object.unit\n      local rx = here.x\n      local ry = here.y\n      while rx == here.x and ry == here.y do\n        rx = math.random(0,mapwidth-1)\n        ry = math.random(0,mapheight-1)\n      end\n      if (x == rx) and (y == ry) then\n        return false,movers,specials\n      end\n    end\n  end\n\n  if o.reason == \"curse\" then\n    for _,v in ipairs(getUnitsOnTile(x, y, {checkmous = true})) do\n      if (v ~= unit and not v.already_moving and sameFloat(unit,v,true)) then\n        if v.special and v.special.level then\n          if v.special.visibility == \"open\" then\n            curse_success = true\n          elseif v.fullname == \"lvl\" and v.special.visibility == \"locked\" then\n            return false,movers,specials\n          end\n        elseif v.name == \"lin\" then\n          if v.special and v.special.pathlock and v.special.pathlock ~= \"none\" then\n            return false,movers,specials\n          else\n            curse_success = true\n          end\n        end\n      end\n    end\n\n    if not curse_success then\n      return false,movers,specials\n    end\n  end\n  \n  local nedkee = hasProperty(unit, \"nedkee\")\n  local fordor = hasProperty(unit, \"fordor\")\n  local swap_mover = hasProperty(unit, \"behinu\")\n  \n  --normal checks\n  local stopped = false\n  --we have to iterate every object even after we're stopped, in case later we find something we open/snacc/ouch on\n  for _,v in ipairs(getUnitsOnTile(x, y, {checkmous = true})) do\n    --Patashu: treat moving things as intangible in general\n    if (v ~= unit and not v.already_moving and sameFloat(unit,v,true)) then\n      if (v.name == o.solid_name) and ignoreCheck(unit,v) then\n        return false,movers,specials\n      end\n      --local would_swap_with = (swap_mover and ignoreCheck(v,unit,\"behinu\")) or (hasProperty(v, \"behinu\") and ignoreCheck(unit,v,\"behinu\")) and pushing\n      local would_swap_with = swap_mover or hasProperty(v, \"behinu\") and o.pushing\n      --pushing a key into a door automatically works\n      if ((fordor and hasProperty(v, \"nedkee\")) or (nedkee and hasProperty(v, \"fordor\"))) and sameFloat(unit, v) then\n        local dont_ignore_unit = (nedkee and ignoreCheck(unit,v,\"fordor\")) or (fordor and ignoreCheck(unit,v,\"nedkee\"))\n        local dont_ignore_other = (hasProperty(v,\"nedkee\") and ignoreCheck(v,unit,\"fordor\")) or (hasProperty(v,\"fordor\") and ignoreCheck(unit,v,\"nedkee\"))\n        if dont_ignore_unit or dont_ignore_other then\n          if (timecheck(unit,\"be\",\"nedkee\") and timecheck(v,\"be\",\"fordor\")) or (timecheck(unit,\"be\",\"fordor\") and timecheck(v,\"be\",\"nedkee\")) then\n            local opened = {}\n            if dont_ignore_unit then\n              table.insert(opened, unit)\n            end\n            if dont_ignore_other then\n              table.insert(opened, v)\n            end\n            table.insert(specials, {\"open\", opened})\n            return true,{movers[1]},specials\n          else\n            if dont_ignore_unit then\n              table.insert(time_destroy,{unit.id,timeless})\n              addUndo({\"time_destroy\",unit.id})\n              addParticles(\"destroy\", unit.x, unit.y, {237,226,133})\n            end\n            if dont_ignore_other then\n              table.insert(time_destroy,{v.id,timeless})\n              addUndo({\"time_destroy\",v.id})\n              addParticles(\"destroy\", v.x, v.y, {237,226,133})\n            end\n            table.insert(time_sfx,\"break\")\n            table.insert(time_sfx,\"unlock\")\n          end\n        end\n      end\n      --New FLYE mechanic, as decreed by the bab dictator - if you aren't sameFloat as a push/pull/sidekik, you can enter it.\n      -- print(\"checking if\",v.name,\"has goawaypls\")\n      if not table.has_value(unitsByTile(v.x,v.y),unit) then\n        local push = (hasProperty(v, \"goawaypls\") and ignoreCheck(unit,v,\"goawaypls\"))\n                  or (hasProperty(v, \"anti sidekik\") and ignoreCheck(unit,v,\"anti sidekik\"))\n                  or (hasProperty(v, \"anti diagkik\") and ignoreCheck(unit,v,\"anti diagkik\"))\n                  or (hasProperty(v, \"push\") and ignoreCheck(unit,v,\"push\"))\n        local moov = hasRule(unit, \"moov\", v) and ignoreCheck(unit,v);\n        if (push or moov) and not would_swap_with then\n          if o.pushing and ignoreCheck(v,unit) then\n            --glued units are pushed all at once or not at all\n            local is_glued, glued_rule = hasProperty(v, \"glued\", true)\n            if is_glued then\n              local units, pushers, pullers = FindEntireGluedUnit(v, dx, dy, glued_rule)\n              \n              local all_success = true\n              local newer_movers = {}\n              for _,v2 in ipairs(pushers) do\n                o.push_stack[unit] = true\n                local reason = push and \"goawaypls\" or \"moov\"\n                local temp_o = copyTable(o)\n                temp_o.reason = reason\n                local success,new_movers,new_specials = canMove(v2, dx, dy, dir, temp_o)\n                o.push_stack[unit] = nil\n                mergeTable(specials, new_specials)\n                mergeTable(newer_movers, new_movers)\n                if not success then all_success = false end\n              end\n              if all_success then\n                mergeTable(movers, newer_movers)\n                for _,add in ipairs(units) do\n                  table.insert(movers, {unit = add, dx = dx, dy = dy, dir = dir, move_dx = move_dx, move_dy = move_dy, move_dir = move_dir, geometry_spin = geometry_spin, portal = portal_unit})\n                end\n                --print(dump(movers))\n              elseif push then\n                stopped = stopped or (sameFloat(unit, v) and o.reason ~= \"curse\")\n              end\n            else\n              --single units have to be able to move themselves to be pushed\n              o.push_stack[unit] = true\n              local reason = push and \"goawaypls\" or \"moov\"\n              local temp_o = copyTable(o)\n              temp_o.reason = reason\n              local success,new_movers,new_specials = canMove(v, dx, dy, dir, temp_o)\n              o.push_stack[unit] = nil\n              for _,special in ipairs(new_specials) do\n                table.insert(specials, special)\n              end\n              if success then\n                for _,mover in ipairs(new_movers) do\n                  table.insert(movers, mover)\n                end\n              elseif push then\n                stopped = stopped or (sameFloat(unit, v) and o.reason ~= \"curse\")\n              end\n            end\n          elseif push then\n            stopped = stopped or (sameFloat(unit, v) and o.reason ~= \"curse\")\n          end\n        else\n          -- print(\"fail (or would_swap_with)\")\n        end\n      end\n      \n      local canpush = hasProperty(v, \"goawaypls\") or hasProperty(v, \"anti sidekik\") or hasProperty(v, \"anti diagkik\") or hasProperty(v, \"push\")\n      --if/elseif chain for everything that sets stopped to true if it's true - no need to check the remainders after all! (but if anything ignores flye, put it first, like haet!)\n      if rules_with[\"haet\"] ~= nil and hasRule(unit, \"haet\", v) and not hasRule(unit,\"liek\",v) and ignoreCheck(unit,v) then\n        stopped = true\n      elseif hasProperty(v, \"nogo\") and o.reason ~= \"curse\" then --Things that are STOP stop being PUSH, unlike in Baba. Also unlike Baba, a wall can be floated across if it is not tall!\n        stopped = stopped or (sameFloat(unit, v) and ignoreCheck(unit,v,\"nogo\"))\n      elseif hasProperty(v, \"sidekik\") and not canpush and not would_swap_with and o.reason ~= \"curse\" then\n        stopped = stopped or (sameFloat(unit, v) and ignoreCheck(unit,v,\"sidekik\"))\n      elseif hasProperty(v, \"diagkik\") and not canpush and not would_swap_with and o.reason ~= \"curse\" then\n        stopped = stopped or (sameFloat(unit, v) and ignoreCheck(unit,v,\"diagkik\"))\n      elseif hasProperty(v, \"comepls\") and not canpush and not would_swap_with and not pulling and o.reason ~= \"curse\" then\n        stopped = stopped or (sameFloat(unit, v) and ignoreCheck(unit,v,\"comepls\"))\n      elseif hasProperty(v, \"gomyway\") and goMyWayPrevents(v.dir, dx, dy) then\n        stopped = stopped or (sameFloat(unit, v) and ignoreCheck(unit,v,\"gomyway\"))\n      elseif hasProperty(v, \"anti gomyway\") and dir ~= v.dir then\n        stopped = stopped or (sameFloat(unit, v) and ignoreCheck(unit,v,\"anti gomyway\"))\n      end\n      if stopped and v.name == \"gato\" then\n        v.draw.rotation = v.draw.rotation - 10\n        addTween(tween.new(0.5, v.draw, {rotation = (v.rotatdir-1)*45}, \"outElastic\"), \"v:rotation:\" .. v.tempid)\n      end\n      \n      --ouch/snacc logic:\n      --1) if mover can destroy wall via ouch/snacc, then allow movement AND destroy the wall immediately\n      --2) if mover will be destroyed by walking into a wall, prevent movement AND destroy mover immediately\n      --3) if both are true, then block movement AND destroy BOTH immediately\n      \n      if stopped then\n        local exploding = false\n        --Case 1 or 3 - wall will be destroyed by us walking onto it.\n        local ouch = hasProperty(v, \"ouch\") or hasProperty(unit, \"anti ouch\")\n        local snacc = rules_with[\"snacc\"] ~= nil and hasRule(unit, \"snacc\", v)\n        if (ouch or snacc) and not hasProperty(v, \"protecc\") and sameFloat(unit, v) and ignoreCheck(v,unit) then\n          if (timecheck(v,\"be\",\"ouch\") or timecheck(unit,\"snacc\",v)) and timecheck(unit) then\n            table.insert(specials, {ouch and \"weak\" or \"snacc\", {v}})\n            exploding = true\n          else\n            table.insert(time_destroy,{v.id,timeless})\n\t\t\t\t\t\taddUndo({\"time_destroy\",v.id})\n            table.insert(time_sfx,\"break\")\n          end\n        end\n      \n        --Case 2 or 3 - we will be destroyed by walking onto a wall.\n        local ouch = hasProperty(unit, \"ouch\") or hasProperty(v, \"anti ouch\")\n        local snacc = rules_with[\"snacc\"] ~= nil and hasRule(v, \"snacc\", unit)\n        if (ouch or snacc) and not hasProperty(unit, \"protecc\") and (o.reason ~= \"walk\" or not hasProperty(unit, \"stubbn\")) and ignoreCheck(unit,v) then\n          if (timecheck(unit,\"be\",\"ouch\") or timecheck(v,\"snacc\",unit)) and timecheck(v) then\n            table.insert(specials, {ouch and \"weak\" or \"snacc\", {unit}})\n            exploding = true\n          else\n            table.insert(time_destroy,{unit.id,timeless})\n\t\t\t\t\t\taddUndo({\"time_destroy\",unit.id})\n            table.insert(time_sfx,\"break\")\n          end\n        end\n        \n        if exploding then return true,movers,specials end\n        --if exploding then return true,{movers[1]},specials end\n      end\n    end\n  end\n  \n  --go my way DOES Not also prevents things from leaving them against their direction\n  --[[for _,v in ipairs(getUnitsOnTile(unit.x, unit.y, nil, false)) do\n    if hasProperty(v, \"gomyway\") and goMyWayPrevents(v.dir, dx, dy) then\n      return false,movers,specials\n    end\n  end]]--\n\n  return not stopped,movers,specials\nend\n\nfunction goMyWayPrevents(dir, dx, dy)\n  dx = sign(dx)\n  dy = sign(dy)\n  return\n     (dir == 1 and dx == -1) or (dir == 2 and (dx == -1 or dy == -1) and (dx ~=  1 and dy ~=  1))\n  or (dir == 3 and dy == -1) or (dir == 4 and (dx ==  1 or dy == -1) and (dx ~= -1 and dy ~=  1))\n  or (dir == 5 and dx ==  1) or (dir == 6 and (dx ==  1 or dy ==  1) and (dx ~= -1 and dy ~= -1)) \n  or (dir == 7 and dy ==  1) or (dir == 8 and (dx == -1 or dy ==  1) and (dx ~=  1 and dy ~= -1))\nend\n\nfunction getNextLevels()\n  local next_levels, next_level_objs = {}, {}\n  local curses = getUnitsWithEffect(\"curse\")\n  for _,unit in ipairs(curses) do\n    local lvls = getUnitsOnTile(unit.x, unit.y, {exclude = unit})\n    local already_added = {}\n    for _,lvl in ipairs(lvls) do\n      if lvl.special.level and not already_added[lvl.special.level] and lvl.special.visibility == \"open\" then\n        table.insert(next_level_objs, lvl)\n        table.insert(next_levels, lvl.special.level)\n        already_added[lvl.special.level] = true\n      end\n    end\n  end\n  \n  next_level_name = \"\"\n  for _,name in ipairs(next_levels) do\n    local split_name = split(name, \"/\")\n    if _ > 1 then\n      next_level_name = next_level_name .. \" & \" .. split_name[#split_name]\n    else\n      next_level_name = split_name[#split_name]\n    end\n  end\n  \n  return next_levels, next_level_objs\nend\n\nfunction FindEntireGluedUnit(unit, dx, dy, glued_rule)\n  --print(\"0:\",unit.x,unit.y,dx,dy)\n  local units, pushers, pullers = {}, {}, {}\n  local visited = {}\n  local ignored = {}\n  local unit_added = {}\n  visited[tostring(unit.x)..\",\"..tostring(unit.y)] = {unit, glued_rule}\n  unit_added[unit] = true\n  local myorthook = not hasProperty(unit,\"diag\") or hasProperty(unit,\"ortho\")\n  local mydiagok = not hasProperty(unit,\"ortho\") or hasProperty(unit,\"diag\")\n  \n  --base case - add the original unit\n  table.insert(units, unit)\n  \n  --base case - add the original unit and check if it's a pusher and/or puller\n  --[[table.insert(units, unit)\n  \n  local others = getUnitsOnTile(x+dx, y+dy, unit.name)\n  for _,other in others do\n    if hasProperty(other,\"glued\") then\n      local ocolor = other.color_override or other.color\n      if (mycolor[1] == ocolor[1] and mycolor[2] == ocolor[2]) then\n        table.insert(pushers, unit)\n        break\n      end\n    end\n  end\n  \n  local others = getUnitsOnTile(x-dx, y-dy, unit.name)\n  for _,other in others do\n    if hasProperty(other,\"glued\") then\n      local ocolor = other.color_override or other.color\n      if (mycolor[1] == ocolor[1] and mycolor[2] == ocolor[2]) then\n        table.insert(pullers, unit)\n        break\n      end\n    end\n  end]]\n  \n  --on with the floodfill!\n  local unchecked_tiles = {{unit.x, unit.y}}\n  \n  while #unchecked_tiles > 0 do\n    local x, y = unchecked_tiles[1][1], unchecked_tiles[1][2]\n    local cur_unit, rule = unpack(visited[tostring(x)..\",\"..tostring(y)])\n    local mycolor = getUnitColor(cur_unit)\n    --print(\"a:\",x,y,cur_unit)\n    table.remove(unchecked_tiles, 1)\n    --print(\"a.5:\",#unchecked_tiles)\n    \n    --check all 8 directions\n    for i = 1,8 do if (i % 2 == 1 and myorthook) or (i % 2 == 0 and mydiagok) then\n      local cur_dx, cur_dy = dirs8[i][1], dirs8[i][2]\n      local xx, yy = x+cur_dx, y+cur_dy\n      --print(\"b:\",cur_dx,cur_dy,xx,yy,tostring(xx)..\",\"..tostring(yy),visited[tostring(xx)..\",\"..tostring(yy)])\n      --visit surrounding tiles if we don't know their status yet\n      --print(\"c\")\n      local others = getUnitsOnTile(xx, yy)\n      local first = false\n      for _,other in ipairs(others) do\n        --print(\"d:\",other.name)\n        if not unit_added[other] then\n          local other_is_glued, other_rule = hasProperty(other,\"glued\",true)\n          if other_is_glued and ignoreCheck(cur_unit,other,\"glued\") then\n            local matched = true\n            if other_rule.rule.object.mods then\n              for _,prefix in ipairs(other_rule.rule.object.mods) do\n                if prefix.name == \"samepaint\" then\n                  local ocolor = getUnitColor(other)\n                  matched = (mycolor[1] == ocolor[1] and mycolor[2] == ocolor[2])\n                elseif prefix.name == \"sameface\" then\n                  matched = (cur_unit.dir == other.dir)\n                elseif prefix.name == \"samefloat\" then\n                  matched = sameFloat(cur_unit, other)\n                end\n                if not matched then break end\n              end\n            end\n            if matched then\n              --print(\"f, we did it\")\n              if ignoreCheck(other,cur_unit,\"glued\") then\n                table.insert(units, other)\n                unit_added[other] = true\n              else\n                ignored[other] = true\n              end\n              --print(#units)\n              --we haven't expanded out from this tile yet - queue it\n              if not first then\n                table.insert(unchecked_tiles, {xx, yy})\n                --print(\"f.5:\",#unchecked_tiles)\n                first = true\n                visited[tostring(xx)..\",\"..tostring(yy)] = {other, other_rule}\n              end\n            end\n          end\n        end\n      end\n      --END iterate units on that tile\n      --END visit surrounding unvisited tile\n        \n      --while checking the forward/backward direction, add the current unit to pushers/pullers if we know the tile ahead of/behind it is vacant\n      --print(\"g\", dx, cur_dx, dy, cur_dy, visited[tostring(xx)..\",\"..tostring(yy)], not visited[tostring(xx)..\",\"..tostring(yy)])\n      if dx == cur_dx and dy == cur_dy and not visited[tostring(xx)..\",\"..tostring(yy)] and not ignored[cur_unit] then\n        --print(\"added a pusher:\",cur_unit.x,cur_unit.y)\n        table.insert(pushers, cur_unit)\n      elseif -dx == cur_dx and -dy == cur_dy and not visited[tostring(xx)..\",\"..tostring(yy)] and not ignored[cur_unit] then\n        --print(\"added a puller\")\n        table.insert(pullers, cur_unit)\n      end\n\n    end end\n    --END check all 8 directions \n    --print(\"final:\",#unchecked_tiles)\n  end\n  --END check all unchecked tiles\n\n  --failsafe: return the original unit in case we couldn't floodfill at all for whatever reason\n  \n  if #units == 0 then\n    table.insert(units, unit)\n  end\n  if #pushers == 0 then\n    table.insert(pushers, unit)\n  end\n  if #pullers == 0 then\n    table.insert(pullers, unit)\n  end\n\n  return units, pushers, pullers\nend"
  },
  {
    "path": "game/parser.lua",
    "content": "--[[ rule format:\n  main: unit nt* (& unit nt*)* verb_phrase (& verb_phrase)*\n  verb_phrase:\n  ( \"be\" nt* (property|class nt*) (& property|& class nt*)*\n  | (\"got\"|\"creat\") nt* class (& class)*\n  | otherverb nt* unit (& unit)*\n  )\n  unit: (prefix nt* (&? prefix nt*)*)? class nt* (infix unit (& infix unit)*)?\n  \n  verbs will have to be in 3 categories now, not 2\n  BE - x be property, x be class\n  GOT/CREAT - x got/creat class\n  everything else - x spoop unit\n    \n  class - a type of object, doesn't require there to be any units of that type - the concept of \"bab\"\n  unit - an individual (or a list) of units - each individual \"frenles bab arond keek\"\n]]\n\n--[[ words structure:\n  {\n    {\n      type = \"object\",\n      name = \"bab\",\n      unit = {...}\n    },\n    {\n      type = \"verb_all\",\n      name = \"be\",\n      unit = {...},\n    {\n      type = \"property\",\n      name = \"u\",\n      unit = {...}\n    }\n  }\n]]\n\nlocal found = {}\n\nfunction parse(words, dir, no_verb_cond)\n  local extra_words = {}\n  for i = #words,1,-1 do\n    if words[i].type and words[i].type.ellipsis then\n      table.insert(extra_words, words[i])\n      table.remove(words,i)\n    end\n  end\n  if #words < 3 then return false end -- smallest rules are 3 words long (subject, verb, object)\n  -- print(fullDump(words))\n  \n  local units = {}\n  local verbs = {}\n  while words[1].type and (words[1].type.anti or words[1].type.object or words[1].type.cond_prefix or words[1].type.parenthesis) or (words[2] and ((words[2].name == \"txt\" or words[2].name == \"txtn't\") or (words[2].type.gang and (words[1].type.object or words[1].type.gang_prefix) and not words[1].name:starts(\"txt_\") and not words[1].name:ends(\"n't\")))) do\n    local unit, words_ = findUnit(copyTable(words), extra_words, dir, true, no_verb_cond, true) -- outer unit doesn't need to worry about enclosure (nothing farther out to confuse it with)\n    if not unit then break end\n    words = words_\n    if not unit then return false end\n    if #words == 0 then return false end\n    table.insert(units, unit)\n    if words[1].type and words[1].type[\"and\"] and words[2] and (words[2].type.object or words[2].type.parenthesis or (words[3] and ((words[3].name == \"txt\" or words[3].name == \"txtn't\") or (words[3].type.gang and (words[2].type.object or words[2].type.gang_prefix) and not words[2].name:starts(\"txt_\") and not words[2].name:ends(\"n't\"))))) then\n      table.insert(extra_words, words[1])\n      table.remove(words, 1)\n      if #words == 0 then return false end\n    else\n      break -- prevents \"bab keek be u\"\n    end\n  end\n  if #units == 0 then return false end\n  \n  while words[1] and words[1].type and (words[1].type.verb or (words[1].type.anti and words[2] and words[2].type and words[2].type.verb)) do\n    local verb, words_ = findVerbPhrase(copyTable(words), extra_words, dir, true, false, no_verb_cond)\n    if not verb then break end\n    words = words_\n    table.insert(verbs, verb)\n    if words[1] and words[1].type and words[1].type[\"and\"] and words[2] and words[2].type and words[3] and (words[2].type.verb or (words[2].type.anti and words[3].type and words[3].type.verb and words[4])) then\n      table.insert(extra_words, words[1])\n      table.remove(words, 1)\n      if #words == 0 then return false end\n    else\n      break -- prevents \"bab be u :)\"\n    end\n  end\n  if #verbs == 0 then return false end\n  \n  local rules = {}\n  for _,subject in ipairs(units) do\n    for _,verb_phrase in ipairs(verbs) do\n      local verb = verb_phrase[1]\n      for _,object in ipairs(verb_phrase[2]) do\n        table.insert(rules, {subject = subject, verb = verb, object = object})\n      end\n    end\n  end\n  \n  return true, words, rules, extra_words\nend\n\nfunction findUnit(words, extra_words_, dir, outer, no_verb_cond, is_subject)\n  local extra_words = {}\n  -- find all the prefix conditions\n  -- find the unit itself\n  -- find all the infix conditions, including nesting\n  local conds = {}\n  local unit\n  -- print(fullDump(words))\n  local enclosed = outer\n  local parenthesis = false\n  -- print(enclosed, words[1].name)\n  -- print(\"finding unit\")\n  if #words == 0 then return end\n  \n  if (words[1].name == \"(\" or words[1].name == \"parenthesis\") and words[1].unit and words[1].unit.dir == dir then\n    enclosed = true\n    parenthesis = true\n    -- print(\"(\")\n    table.insert(extra_words, words[1])\n    table.remove(words, 1)\n    if #words == 0 then return end\n  end\n  \n  local prefix_object\n  local andd\n  while words[1].type and (\n       (words[1].type.cond_prefix) or\n       (words[1].type.cond_compare and not is_subject) or\n       (words[1].type.anti and words[2] and words[2].type and (words[2].type.cond_prefix or (words[2].type.cond_compare and not is_subject))))\n  do\n    local anti\n    if words[1].type.anti then\n      anti = copyTable(words[1])\n      table.remove(words, 1)\n    end\n    local prefix = copyTable(words[1])\n    table.remove(words, 1)\n    if #words == 0 then return end\n    prefix.mods = prefix.mods or {}\n    if anti then\n      prefix.name = \"anti \"..prefix.name\n      table.insert(prefix.mods, anti)\n    end\n    local nt = false\n    while words[1].type[\"not\"] do\n      nt = not nt\n      table.insert(prefix.mods, words[1])\n      table.remove(words, 1)\n      if #words == 0 then return end\n    end\n    if nt then\n      if prefix.name:ends(\"n't\") then\n        prefix.name = prefix.name:sub(1, -4)\n      else\n        prefix.name = prefix.name..\"n't\"\n      end\n    end\n    if prefix.type.object then\n      prefix_object = prefix\n    else\n      prefix_object = nil\n    end\n    table.insert(conds, prefix)\n    if andd then\n      table.insert(extra_words, andd)\n      andd = nil\n    end\n    if enclosed and words[1].type[\"and\"] and words[2] and not prefix_object then\n      andd = table.remove(words, 1)\n      if #words == 0 then return end\n    end -- we're not breaking here to allow \"frenles lit bab\" - add \"else break\" here if we want there to always be an and: \"frenles & lit bab\"\n  end\n  \n  local words_\n  unit, words_ = findClass(copyTable(words), extra_words)\n  if not unit then\n    if prefix_object then\n      removeFromTable(conds, prefix_object)\n      unit = prefix_object\n    else return end\n  else\n    words = words_\n  end\n  \n  local first_infix = true\n  while words[1] and words[1].type and\n       (words[1].type.cond_infix or\n       (words[1].type.direction and words[2] and (words[2].name == \"arond\" or words[2].name == \"meow\")) or\n       (words[1].type.anti and words[2] and words[2].type and words[2].type.cond_infix)) and\n       (first_infix or enclosed) and\n       (not no_verb_cond or not words[1].type.verb)\n  do\n    local anti\n    if words[1].type.anti then\n      anti = copyTable(words[1])\n      table.remove(words, 1)\n    end\n    local infix = copyTable(words[1])\n    local infix_orig = infix\n    infix.mods = infix.mods or {}\n\n    --[[local num,numc = findNumber(words[1],words[2],words[3])\n    if num then\n      print(\"if num\")\n      if words[numc+1] and words[numc+1].type and words[numc+1].type.cond_infix then \n        local cnum = numc\n        while cnum<3 do\n          infix.name = infix.name..\"0\"\n          cnum = cnum+1\n        end\n        infix.name = infix.name..num\n        table.remove(words, numc)\n      else break end\n    end]]\n    local function directionableWord(name)\n      if words[1].type.direction and words[2].name == name then\n        infix.name = infix.name..\" \"..name\n        table.insert(infix.mods, words[2])\n        table.remove(words, 1)\n      end\n    end\n    --[[if words[1].type.direction and words[2].name == \"arond\" then\n      infix.name = infix.name..\" arond\"\n      table.insert(infix.mods, words[2])\n    end\n    if words[1].type.direction and words[2].name == \"meow\" then\n      infix.name = infix.name..\" meow\"\n      table.insert(infix.mods, words[2])\n    end\n    if words[1] and (words[1].name == \"arond\" or words[1].name == \"meow\") then\n      table.remove(words, 1)\n    end]]\n    directionableWord(\"arond\")\n    directionableWord(\"meow\")\n\n    table.remove(words, 1)\n    if #words == 0 then break end\n    if infix.type.cond_infix_verb then\n      local words_ = copyTable(words)\n      if infix.type.cond_infix_verb_plus then\n        local verb = infix.name:sub(5)\n        table.insert(words_, 1, {name = verb, type = getTile(\"txt_\"..verb).typeset})\n      end\n      local verb\n      verb_phrase, words_ = findVerbPhrase(words_, extra_words, dir, enclosed, true)\n      if not verb_phrase then\n        break\n      end\n      words = words_\n      if not infix.type.cond_infix_verb_plus then\n        local verb = verb_phrase[1]\n        infix.name = infix.name..verb.name\n        table.insert(infix.mods, verb)\n      end\n      infix.others = {}\n      for _,object in ipairs(verb_phrase[2]) do\n        table.insert(infix.mods, object)\n        table.insert(infix.others, object)\n      end\n      table.insert(conds, infix)\n    else\n      if anti then\n        infix.name = \"anti \"..infix.name\n        table.insert(infix.mods, anti)\n      end\n      local nt = false\n      while words[1].type[\"not\"] do\n        nt = not nt\n        table.insert(infix.mods, words[1])\n        table.remove(words, 1)\n        if #words == 0 then break end\n      end\n      if nt then\n        if infix.name:ends(\"n't\") then\n          infix.name = infix.name:sub(1, -4)\n        else\n          infix.name = infix.name..\"n't\"\n        end\n      end\n      \n      if infix.type.cond_infix_dir and words[1].type.direction then\n        infix.others = {words[1]}\n        table.remove(words, 1)\n        table.insert(conds, infix)\n      else\n        local other, words_ = findUnit(copyTable(words), extra_words, dir)\n        if not other then\n          table.insert(words, 1, infix_orig)\n          break\n        end\n        if andd then\n          table.insert(extra_words, andd)\n          andd = nil\n        end\n        words = words_\n        infix.others = {other}\n        table.insert(conds, infix)\n        -- print(enclosed, words[1] and words[1].type, words[2] and words[2].type)\n        if #words == 0 then break end\n        while enclosed and words[1] and words[1].type[\"and\"] and words[2] and words[3] and (words[2].type.object or words[2].type.parenthesis or (words[3].name == \"txt\" or words[3].name == \"txtn't\")) do\n          table.insert(extra_words, words[1])\n          table.remove(words, 1)\n          if #words == 0 then break end\n          local other, words_ = findUnit(copyTable(words), extra_words)\n          if not other then\n            if parenthesis then\n              return\n            end\n            unit.conds = conds\n            mergeTable(extra_words_, extra_words)\n            found = {unit, words}\n            return unit, words\n          end\n          words = words_\n          table.insert(infix.others, other)\n        end\n        if #words == 0 then break end\n      end\n    end\n    if enclosed and words[1] and words[1].type[\"and\"] and words[2] and (words[2].type.cond_infix or (words[2].type.direction and words[3] and words[3].type and (words[3].name == \"arond\" or words[3].name == \"meow\")) or (words[2].type.anti and words[3] and words[3].type and words[3].type.cond_infix)) and (not no_verb_cond or not words[1].type.verb) then\n      andd = words[1]\n      table.remove(words, 1)\n      if #words == 0 then break end\n    else\n      break -- need to break for the case of \"bab that got keek w/fren bab\" (should need an & in there)\n    end\n    first_infix = false\n  end\n  if andd then\n    table.insert(words, 1, andd)\n  end\n  \n  -- print(fullDump(words[1]), dir)\n  if parenthesis then\n    if words[1] and (words[1].name == \")\" or words[1].name == \"parenthesis\") and words[1].unit and words[1].unit.dir == (rotate8(dir)) then\n    -- print(\")\")\n      table.insert(extra_words, words[1])\n      table.remove(words, 1)\n    else\n      return\n    end\n  end\n  -- print(\"found \"..unit.name)\n    \n  unit.conds = conds\n  mergeTable(extra_words_, extra_words)\n  found = {unit, words}\n  return unit, words\nend\n\nfunction findClass(words, extra_words_)\n  local extra_words = {}\n\n  local prefix\n  if words[1].type and words[1].type.class_prefix then -- in cases where conditions can also be used, things should be caught there first\n    prefix = table.remove(words, 1)\n    if #words == 0 then return end\n  end\n\n  local new_group\n  \n  local unit = copyTable(words[1])\n  unit.mods = unit.mods or {}\n  if words[2] and (words[2].name == \"txt\" or words[2].name == \"txtn't\") then\n    table.insert(unit.mods, words[2])\n    if (unit.name ~= unit.unit.textname) then --many letters in a row\n      unit.name = \"txt_\"..unit.name..words[2].name:sub(4)\n    else --every other case\n      unit.name = (unit.unit or {fullname = \"no unit\"}).fullname..words[2].name:sub(4)\n    end\n    table.remove(words, 2)\n  elseif words[2] and words[2].type.gang and (words[1].type.object or words[1].type.gang_prefix) and not words[1].name:starts(\"txt_\") and not words[1].name:ends(\"n't\") then\n    unit = copyTable(words[2])\n    unit.mods = unit.mods or {}\n\n    local subset_name = unit.name:ends(\"n't\") and unit.name:sub(1, -4) or unit.name\n    unit.name = words[1].name..\" \"..words[2].name\n\n    if words[1].name == \"gang\" then\n      table.insert(unit.mods, words[1])\n    else\n      table.insert(extra_words, words[1])\n    end\n    table.remove(words, 1)\n\n    new_group = {unit.name:ends(\"n't\") and unit.name:sub(1, -4) or unit.name, subset_name}\n  elseif not words[1].type.object then\n    return nil\n  end\n  \n  table.remove(words, 1)\n  local nt = false\n  while words[1] and words[1].type and words[1].type[\"not\"] do\n    nt = not nt\n    table.insert(unit.mods, words[1])\n    table.remove(words, 1)\n  end\n  if nt then\n    if unit.name:ends(\"n't\") then\n      unit.name = unit.name:sub(1, -4)\n    else\n      unit.name = unit.name..\"n't\"\n    end\n  end\n  \n  mergeTable(extra_words_, extra_words)\n  if prefix then\n    table.insert(unit.mods, prefix)\n    unit.prefix = prefix.name\n  end\n  if new_group then\n    addGroup(new_group[1], new_group[2])\n  end\n  found = {unit, words}\n  return unit, words\nend\n\nfunction findProperty(words)\n  local anti\n  if words[1].type and words[1].type.anti then\n    anti = copyTable(table.remove(words, 1))\n    if #words == 0 then return end\n  end\n  \n  local prefix\n  if words[1].name == \"samepaint\" or words[1].name == \"samefloat\" or words[1].name == \"sameface\" then\n    prefix = copyTable(table.remove(words, 1))\n    if #words == 0 or words[1].name ~= \"glued\" then return end\n  end\n  \n  if prefix and words[1].type and words[1].type.anti then return end\n  \n  local unit\n  if words[1].type and words[1].type.property then\n    unit = copyTable(table.remove(words, 1))\n  end\n  \n  if anti then\n    local thing = prefix or unit\n    thing.name = \"anti \"..thing.name\n    thing.mods = thing.mods or {}\n    table.insert(thing.mods, anti)\n  end\n  if prefix then\n    unit.mods = unit.mods or {}\n    table.insert(unit.mods, prefix)\n    unit.prefix = prefix.name\n  end\n  if unit then\n    found = {unit, words}\n    return unit, words\n  end\nend\n\nfunction findVerbPhrase(words, extra_words_, dir, enclosed, noconds, no_verb_cond)\n  local extra_words = {}\n  local objects = {}\n  local anti\n  if words[1].type.anti then\n    anti = copyTable(words[1])\n    table.remove(words, 1)\n  end\n  local verb = copyTable(words[1])\n  verb.mods = verb.mods or {}\n  table.remove(words, 1)\n  if #words == 0 then return nil end\n  while words[1].type and words[1].type[\"not\"] do\n    verb.name = verb.name..\"n't\"\n    table.insert(verb.mods, words[1])\n    table.remove(words, 1)\n    if #words == 0 then return nil end\n  end\n  if anti then\n    verb.name = \"anti \"..verb.name\n    table.insert(verb.mods, anti)\n  end\n  local andd\n  while true do\n    local valid\n    if (verb.type.verb_class or (verb.type.verb_unit and noconds)) and findClass(copyTable(words), extra_words) then\n      table.insert(objects, found[1])\n      words = found[2]\n      valid = true\n    elseif verb.type.verb_unit and not noconds and findUnit(copyTable(words), extra_words, dir, enclosed, no_verb_cond) then\n      table.insert(objects, found[1])\n      words = found[2]\n      valid = true\n    elseif verb.type.verb_property and findProperty(copyTable(words)) then\n      table.insert(objects, found[1])\n      words = found[2]\n      valid = true\n    elseif verb.type.verb_direction and words[1].type.direction then\n      table.insert(objects, table.remove(words, 1))\n      valid = true\n    elseif verb.type.verb_sing and words[1].type.note then\n      local note = table.remove(words, 1)\n      if words[1] and words[1].type.note_modifier then\n        note.name = note.name..\"_\"..words[1].name\n        table.insert(extra_words, table.remove(words, 1))\n      end\n      table.insert(objects, note)\n      valid = true\n    else\n      break\n    end\n    if valid then\n      if andd then\n        table.insert(extra_words, andd)\n        andd = nil\n      end\n      if not noconds and words[1] and words[1].type and words[1].type[\"and\"] and words[2] and not (words[2].type and words[2].type.verb) then\n        andd = table.remove(words, 1)\n      else\n        break\n      end\n    end\n  end\n  mergeTable(extra_words_, extra_words)\n  return {verb, objects}, words\nend\n\nfunction findLetterSentences(str, index_, sentences_, curr_sentence_, start_) --copied from parser_old.lua\n  -- finds words out of letters\n  local index = index_ or 1\n  local initial_index = index\n  local sentences = sentences_ or {\n    start = {},\n    endd = {}, --sadly, end is a reserved word in lua\n    both = {},\n    middle = {},\n  }\n  local curr_sentence = copyTable(curr_sentence_ or {})\n  local start = start_ or false\n  --print(\"start of findLetterSentences:\",str,index,fullDump(sentences),fullDump(curr_sentence),start, sentences.start, sentences.endd, sentences.both, sentences.middle)\n\n  if #curr_sentence == 0 and not index == string.len(str) then --go to the next letter if we don't have anything in this one... or if we do\n    findLetterSentences(str, index+1, sentences, {}, false)\n  end\n\n  for i=0,string.len(str)-index do\n    local substr = string.sub(str,index,index+i)\n    --print(\"trying:\",i,index,substr)\n    --print(substr, text_in_tiles[substr])\n    \n    --asterisks\n    local asterisks = {}\n    local all_asterisk = true\n    for j=1,string.len(substr) do --find em\n      --print(\"searching for asterisk at location \"..j..\"(\"..string.sub(substr,j,j)..\")\")\n      if string.sub(substr,j,j) == \"*\" then\n        table.insert(asterisks,j)\n      else\n        all_asterisk = false --if every char is an asterisk, then dont parse\n      end\n    end\n    local temp_text_list = {}\n    if #asterisks > 0 and not all_asterisk then --replace all the keys with em\n      for ali,res in pairs(text_in_tiles) do\n        if string.len(substr) == string.len(ali) and string.sub(ali,1,1) ~= \":\" then --no reason to bother unless the searchterm is wrong length; faces shouldnt be counted\n          local this_text = ali\n          for _,j in ipairs(asterisks) do \n            --print(\"asterisk replacement at \"..j)\n            this_text = string.sub(this_text,1,j-1)..\"*\"..string.sub(this_text,j+1)\n          end\n          if temp_text_list[this_text] then\n            --print(this_text..\"+=\"..res)\n            table.insert(temp_text_list[this_text],res)\n          else\n            temp_text_list[this_text] = {res}\n          end\n        end\n      end\n    end\n\n    if text_in_tiles[substr] or temp_text_list[substr] then\n      --print(\"found word: \"..substr, sentences.start, fullDump(sentences.start), sentences.both, fullDump(sentences.both))\n      if index == 1 then\n        start = true\n      end\n      local sto_sentence = copyTable(curr_sentence)\n      for j=1,99 do --set above 1 if you wanna try full asterisks support\n        --print(\"j=\"..j..\"(\"..temp_text_list[substr][j]..\")\")\n        if text_in_tiles[substr] then table.insert(curr_sentence, text_in_tiles[substr])\n        else --something different needs to be done here but idk what\n          table.insert(curr_sentence, temp_text_list[substr][j])\n        end\n        if index+i == string.len(str) then --last letter, this sentence is valid to connect to other words\n          --print(\"last letter:\",index,i,str,substr)\n          if start then\n            table.insert(sentences.both, copyTable(curr_sentence)) --connected to both the start and end, so the parser has to treat this like a string of words\n          else\n            table.insert(sentences.endd, copyTable(curr_sentence))\n          end\n          return sentences --just in case there's a 1 letter U that gets used or something idk\n        else\n          --print(\"not last letter:\",index,i,str,substr)\n          if start then\n            table.insert(sentences.start,copyTable(curr_sentence))\n          else\n            table.insert(sentences.middle,copyTable(curr_sentence))\n          end\n          findLetterSentences(str, index+i+1, sentences, curr_sentence, start) --we got one word, now keep going\n        end\n        curr_sentence = copyTable(sto_sentence)\n        --print(\"end for (\"..j..\")\")\n        if text_in_tiles[substr] then break end\n        if j>=#temp_text_list[substr] then break end\n      end\n      curr_sentence = {} --now we're done with that particular sentence attempt, so we're back to no words in the sentence\n    end\n    --then try again with index one higher (fixes b b a b be u)\n    --[[if (index < string.len(str)) then\n      findLetterSentences(str, index+1, sentences, curr_sentence, start)\n    end]]\n  end\n\n  return sentences -- i can do this like this because the first function call is the one that gets passed back, and it finishes last\nend\n\n\nlocal function testParser()\n  local tests = {\n    { -- Test 1 - TRUE\n      {name = \"bab\", type = \"object\"},\n      {name = \"be\", type = \"verb_all\"},\n      {name = \"u\", type = \"property\"}\n    },\n    { -- Test 2 - FALSE\n      {name = \"bab\", type = \"object\"},\n      {name = \"keek\", type = \"object\"},\n      {name = \"u\", type = \"property\"}\n    },\n    { -- Test 3 - TRUE\n      {name = \"frenles\", type = \"cond_prefix\"},\n      {name = \"bab\", type = \"object\"},\n      {name = \"be\", type = \"verb_all\"},\n      {name = \"u\", type = \"property\"}\n    },\n    { -- Test 4 - TRUE\n      {name = \"frenles\", type = \"cond_prefix\"},\n      {name = \"bab\", type = \"object\"},\n      {name = \"be\", type = \"verb_all\"},\n      {name = \"keek\", type = \"object\"}\n    },\n    { -- Test 5 - TRUE\n      {name = \"bab\", type = \"object\", unit = {fullname = \"txt_bab\"}},\n      {name = \"txt\", type = \"object\"},\n      {name = \"&\", type = \"and\"},\n      {name = \"keek\", type = \"object\"},\n      {name = \"be\", type = \"verb_all\"},\n      {name = \"u\", type = \"property\"}\n    },\n    { -- Test 6 - FALSE\n      {name = \"bab\", type = \"object\"},\n      {name = \"keek\", type = \"object\"},\n      {name = \"be\", type = \"verb_all\"},\n      {name = \"u\", type = \"property\"}\n    },\n    { -- Test 7 - TRUE\n      {name = \"bab\", type = \"object\", unit = {fullname = \"txt_bab\"}},\n      {name = \"txt\", type = \"object\"},\n      {name = \"be\", type = \"verb_all\"},\n      {name = \"u\", type = \"property\"}\n    },\n    { -- Test 8 - FALSE\n      {name = \"frenles\", type = \"cond_prefix\"},\n      {name = \"be\", type = \"verb_all\"},\n      {name = \"u\", type = \"property\"}\n    },\n    { -- Test 9 - TRUE\n      {name = \"be\", type = \"property\", unit = {fullname = \"txt_be\"}},\n      {name = \"txt\", type = \"object\"},\n      {name = \"be\", type = \"verb_all\"},\n      {name = \"u\", type = \"property\"}\n    },\n    { -- Test 10 - TRUE\n      {name = \"bab\", type = \"object\"},\n      {name = \"be\", type = \"verb_all\"},\n      {name = \"u\", type = \"property\"},\n      {name = \"be\", type = \"verb\"}\n    },\n    { -- Test 11 - TRUE\n      {name = \"bab\", type = \"object\"},\n      {name = \"on\", type = \"cond_infix\"},\n      {name = \"til\", type = \"object\"},\n      {name = \"be\", type = \"verb_all\"},\n      {name = \"u\", type = \"property\"},\n      {name = \"be\", type = \"verb_all\"}\n    },\n    { -- Test 12 - TRUE\n      {name = \"bab\", type = \"object\"},\n      {name = \"...\", type = \"ellipsis\"},\n      {name = \"be\", type = \"verb\"},\n      {name = \"...\", type = \"ellipsis\"},\n      {name = \"u\", type = \"property\"},\n    },\n    { -- Test 13 - TRUE\n      {name = \"bab\", type = \"object\"},\n      {name = \"arond\", type = \"cond_infix\"},\n      {name = \"keek\", type = \"object\"},\n      {name = \"arond\", type = \"cond_infix\"},\n      {name = \"roc\", type = \"object\"},\n      {name = \"be\", type = \"verb_all\"},\n      {name = \"u\", type = \"property\"},\n    },\n    { -- Test 14 - TRUE\n      {name = \"bab\", type = \"object\"},\n      {name = \"arond\", type = \"cond_infix\"},\n      {name = \"keek\", type = \"object\"},\n      {name = \"arond\", type = \"cond_infix\"},\n      {name = \"roc\", type = \"object\"},\n      {name = \"and\", type = \"and\"},\n      {name = \"facing\", type = \"cond_infix\"},\n      {name = \"wal\", type = \"object\"},\n      {name = \"be\", type = \"verb_all\"},\n      {name = \"u\", type = \"property\"},\n    },\n    { -- Test 14 - TRUE\n      {name = \"bab\", type = \"object\"},\n      {name = \"arond\", type = \"cond_infix\"},\n      {name = \"(\", type = \"I forget but it doesn't matter\"},\n      {name = \"keek\", type = \"object\"},\n      {name = \"arond\", type = \"cond_infix\"},\n      {name = \"roc\", type = \"object\"},\n      {name = \"and\", type = \"and\"},\n      {name = \"facing\", type = \"cond_infix\"},\n      {name = \"wal\", type = \"object\"},\n      {name = \")\", type = \"I forget but it doesn't matter\"},\n      {name = \"be\", type = \"verb_all\"},\n      {name = \"u\", type = \"property\"},\n    },\n  }\n\n  for i,test in ipairs(tests) do\n    print(\"--- TEST \" .. i .. \" ---\")\n    local result, rule = parse(test)\n    print(\"Result: \" .. tostring(result))\n    -- print(\"Words: \" .. state.word_index-1 .. \"/\" .. #v)\n    -- print(\"Matches: \" .. fullDump(state.matches))\n    print(\"Rule:\" .. fullDump(rule))\n  end\nend\n\n-- testParser()"
  },
  {
    "path": "game/parser_old.lua",
    "content": "local not_suffix = {\n  repeatable = true,\n  optional = true,\n  options = {{{type = \"not\", mod = 1}}}\n}\n\nlocal and_repeat = {type = \"and\", connector = true}\n\nlocal function common(arg, group)\n  local has = {}\n  for i,v in ipairs(arg) do\n    has[v] = true\n  end\n\n  local full_options = {}\n\n  if has[\"object\"] then\n    local options = {\n      {\n        {type = \"object\"},\n        not_suffix\n      },\n\t\t\t{\n        {type = \"group\"},\n        not_suffix\n      },\n      {\n        {type = \"any\"},\n        {name = \"txt\", mod = 1},\n        not_suffix\n      },\n      {\n        {type = \"verb_object_or_property_or_object\"},\n        not_suffix\n      },\n    }\n    mergeTable(full_options, options)\n  end\n  if has[\"property\"] then\n    local options = {\n      {\n        {type = \"property\"}\n      },\n      {\n        {type = \"cond_prefix_or_property\"}\n      },\n      {\n        {type = \"group\"}\n      },\n      {\n        {name = \"sans\"}\n      },\n      {\n        {type = \"verb_object_or_property\"}\n      },\n      {\n        {type = \"verb_object_or_property_or_object\"}\n      }\n    }\n    mergeTable(full_options, options)\n  end\n\n  return {group = group, options = full_options}\nend\n\nlocal function commons(arg, group)\n  local option = {\n    group = group,\n    repeatable = true,\n    options = {\n      {\n        and_repeat,\n        common(arg)\n      }\n    }\n  }\n  return option\nend\n\nlocal cond_prefixes = {\n  group = \"cond\",\n  optional = true,\n  repeatable = true,\n  options = {\n    {\n      and_repeat,\n      {\n        options = {\n          {{type = \"cond_prefix\"}},\n          {{type = \"cond_prefix_or_property\"}},\n          {{name = \"the\"}},\n        }\n      },\n      not_suffix\n    }\n  }\n}\n\nlocal directions_and_objects = {\n  group = \"target\",\n  repeatable = true,\n  options = {\n    {\n      and_repeat,\n      {\n        options = {\n          {common({\"object\"})},\n          {{name = \"up\"}},\n          {{name = \"down\"}},\n          {{name = \"left\"}},\n          {{name = \"right\"}},\n          {{name = \"upleft\"}},\n          {{name = \"downleft\"}},\n          {{name = \"upright\"}},\n          {{name = \"downright\"}},\n          {{name = \"ortho\"}},\n          {{name = \"diag\"}},\n        }\n      }\n    }\n  }\n}\n\nlocal cond_infixes = {\n  group = \"cond\",\n  optional = true,\n  repeatable = true,\n  options = {\n    {\n      and_repeat,\n      {\n        options = {\n          {\n            {type = \"cond_infix\"},\n            not_suffix,\n            commons({\"object\"}, \"target\")\n          },\n          {\n            {name = \"lookat\"},\n            not_suffix,\n            directions_and_objects\n          },\n          {\n            {name = \"lookaway\"},\n            not_suffix,\n            directions_and_objects\n          },\n          {\n            {type = \"cond_infix_verb\"},\n            {type = \"verb_all\", mod = 1},\n            not_suffix,\n            commons({\"object\", \"property\"}, \"target\"),\n          },\n          {\n            {type = \"cond_infix_verb\"},\n            {type = \"verb_object\", mod = 1},\n            not_suffix,\n            commons({\"object\"}, \"target\"),\n          },\n          {\n            {type = \"cond_infix_verb\"},\n            {type = \"verb_property\", mod = 1},\n            not_suffix,\n            commons({\"property\"}, \"target\"),\n          },\n          {\n            {name = \"thatbe\"},\n            not_suffix,\n            commons({\"object\", \"property\"}, \"target\")\n          },\n        }\n      }\n    }\n  }\n}\n\nlocal verbs = {\n  group = \"verb\",\n  repeatable = true,\n  options = {\n    {\n      and_repeat,\n      {options={\n        {\n          {type = \"verb_all\"},\n          not_suffix,\n          cond_prefixes,\n          commons({\"object\", \"property\"}, \"target\"),\n        },\n        {\n          {type = \"verb_object\"},\n          not_suffix,\n          cond_prefixes,\n          commons({\"object\"}, \"target\"),\n        },\n        {\n          {type = \"verb_property\"},\n          not_suffix,\n          cond_prefixes,\n          commons({\"property\"}, \"target\"),\n        },\n        {\n          {type = \"verb_object_or_property\"},\n          not_suffix,\n          cond_prefixes,\n          commons({\"object\"}, \"target\"),\n        },\n        {\n          {type = \"verb_object_or_property_or_object\"},\n          not_suffix,\n          cond_prefixes,\n          commons({\"object\"}, \"target\"),\n        },\n      }},\n      cond_infixes\n    }\n  }\n}\n\nparser = { --default parent_rule for parser\n  options = {\n    {\n      cond_prefixes,\n      commons({\"object\"}, \"target\"),\n      cond_infixes,\n      verbs,\n    },\n  }\n}\n\n--print(dump(parser))\n\nfunction findLetterSentences(str, index_, sentences_, curr_sentence_, start_) --hey this function can be made local too\n  -- finds words out of letters\n  local index = index_ or 1\n  local initial_index = index\n  local sentences = sentences_ or {\n    start = {},\n    endd = {}, --sadly, end is a reserved word in lua\n    both = {},\n    middle = {},\n  }\n  local curr_sentence = copyTable(curr_sentence_ or {})\n  local start = start_ or false\n  --print(\"start of findLetterSentences:\",str,index,fullDump(sentences),fullDump(curr_sentence),start, sentences.start, sentences.endd, sentences.both, sentences.middle)\n\n  if #curr_sentence == 0 and not index == string.len(str) then --go to the next letter if we don't have anything in this one... or if we do\n    findLetterSentences(str, index+1, sentences, {}, false)\n  end\n\n  for i=0,string.len(str)-index do\n    local substr = str.sub(str,index,index+i)\n    --print(\"trying:\",i,index,substr)\n    for _,word in ipairs(text_in_tiles) do\n      if substr == word then\n        --print(\"found word: \"..substr, sentences.start, fullDump(sentences.start), sentences.both, fullDump(sentences.both))\n        if index == 1 then\n          start = true\n        end\n        table.insert(curr_sentence, substr)\n        if index+i == string.len(str) then --last letter, this sentence is valid to connect to other words\n          --print(\"last letter:\",index,i,str,substr)\n          if start then\n            table.insert(sentences.both, copyTable(curr_sentence)) --connected to both the start and end, so the parser has to treat this like a string of words\n          else\n            table.insert(sentences.endd, copyTable(curr_sentence))\n          end\n          return sentences --just in case there's a 1 letter U that gets used or something idk\n        else\n          --print(\"not last letter:\",index,i,str,substr)\n          if start then\n            table.insert(sentences.start,copyTable(curr_sentence))\n          else\n            table.insert(sentences.middle,copyTable(curr_sentence))\n          end\n          findLetterSentences(str, index+i+1, sentences, curr_sentence, start) --we got one word, now keep going\n          curr_sentence = {}; --now we're done with that particular sentence attempt, so we're back to no words in the sentence\n        end\n      end\n    end\n  end\n\n  return sentences -- i can do this like this because the first function call is the one that gets passed back, and it finishes last\nend\n\nfunction parse(words, parser, state_)\n  -- words - in a single sentence (directly from getCombinations) to be parsed\n  -- can find whether a sentence is valid, ignoring words farther to the right but invalidating rules that don't start on the index 1 word\n  -- returns valid,state\n  local state = state_ or {}\n  \n  state.parent_rule = state.parent_rule or parser\n  state.group = state.group or \"root\"\n  state.current_matches = copyTable(state.current_matches or {})\n  state.matches = copyTable(state.matches or {})\n  state.all_words = copyTable(state.all_words or {})\n  state.extra_words = copyTable(state.extra_words or {})\n  state.option = state.option or 1\n  state.index = state.index or 1\n  state.word_index = state.word_index or 1\n  state.is_repeat = state.is_repeat or false\n\n  local rule = state.parent_rule.options[state.option][state.index] -- goes to a specific rule; at first, group = cond\n  local word = words[state.word_index] --we looking at one word at a time\n\n  while word and word.type == \"ellipses\" do\n    table.insert(state.extra_words, word)\n    state.word_index = state.word_index + 1\n    word = words[state.word_index]\n  end\n\n  if not rule then\n    if keyCount(state.current_matches) > 0 then\n      table.insert(state.matches, state.current_matches)\n    end\n    if state.parent_rule.repeatable then\n      local new_state = {\n        parent = state.parent,\n        parent_rule = state.parent_rule,\n        group = state.group,\n        current_matches = {},\n        matches = state.matches,\n        all_words = state.all_words,\n        extra_words = state.extra_words,\n        index = 1,\n        word_index = state.word_index,\n        is_repeat = true\n      }\n      local valid, ret_state = parse(words, parser, new_state)\n      if valid then\n        return true, ret_state\n      end\n    end\n    if state.parent then\n      local new_matches = copyTable(state.parent.current_matches)\n      if state.parent_rule.group then\n        if not new_matches[state.group] then\n          new_matches[state.group] = {}\n        end\n        if keyCount(state.matches) > 0 then\n          mergeTable(new_matches[state.group], state.matches)\n        end\n      else\n        if keyCount(state.matches) > 0 then\n          for _,a in ipairs(state.matches) do\n            mergeTable(new_matches, a)\n          end\n        end\n      end\n      local new_state = {\n        parent = state.parent.parent,\n        parent_rule = state.parent.parent_rule,\n        group = state.parent.group,\n        current_matches = new_matches,\n        matches = state.parent.matches,\n        all_words = state.all_words,\n        extra_words = state.extra_words,\n        option = state.parent.option,\n        index = state.parent.index + 1,\n        word_index = state.word_index,\n        is_repeat = state.parent.is_repeat\n      }\n      return parse(words, parser, new_state)\n    else\n      return true, state\n    end\n  else\n    local next_state = {\n      parent = state.parent,\n      parent_rule = state.parent_rule,\n      group = state.group,\n      current_matches = state.current_matches,\n      matches = state.matches,\n      all_words = state.all_words,\n      extra_words = state.extra_words,\n      option = state.option,\n      index = state.index + 1,\n      word_index = state.word_index\n    }\n    if rule.type or rule.name then\n      local valid = true\n      if not rule.connector or state.is_repeat then\n        if not word then\n          if not rule.optional then\n            --print(dump(rule))\n            --print(\"FAILED AT TYPE/NAME - WORD IS NIL\")\n            return false, state\n          end\n        else\n          if rule.type and rule.type ~= word.type and rule.type ~= \"any\" then\n            valid = false\n          elseif rule.name and rule.name ~= word.name then\n            valid = false\n          else\n            if rule.connector then\n              word.connector = true\n            end\n            if rule.mod then\n              local mod_word = state.all_words[#state.all_words - rule.mod + 1]\n              if mod_word ~= nil then\n                if mod_word.mods == nil then\n                  mod_word.mods = {}\n                end\n                table.insert(mod_word.mods, word)\n              end\n            else\n              table.insert(state.current_matches, word)\n              table.insert(state.all_words, word)\n            end\n          end\n          if valid then\n            next_state.word_index = state.word_index + 1\n          end\n        end\n      elseif rule.connector and not state.is_repeat then\n        valid = true\n      end\n      if valid or rule.optional then\n        return parse(words, parser, next_state)\n      else\n        --print(fullDump(rule, 1))\n        --print(fullDump(word, 1))\n        --print(\"FAILED AT TYPE/NAME\")\n      end\n    elseif rule.options then\n      local valid = false\n      local failed_state\n      local ret_state\n      if #rule.options == 0 then\n        valid = true\n        ret_state = state\n      else\n        local best_word_index = 0\n        for i = 1, #rule.options do\n          local new_state = {\n            parent = state,\n            parent_rule = rule,\n            group = rule.group or state.group,\n            current_matches = {},\n            matches = {},\n            all_words = state.all_words,\n            extra_words = state.extra_words,\n            option = i,\n            index = 1,\n            word_index = state.word_index\n          }\n          if rule.repeatable then\n            new_state.is_repeat = false\n          else\n            new_state.is_repeat = state.is_repeat\n          end\n          local new_ret_state\n          valid, new_ret_state = parse(words, parser, new_state)\n          if valid then\n            if new_ret_state.word_index > best_word_index then\n              best_word_index = new_ret_state.word_index\n              ret_state = new_ret_state\n            end\n          else\n            failed_state = ret_state\n          end\n        end\n        if best_word_index > 0 then\n          valid = true\n        end\n      end\n      if valid then\n        return true, ret_state\n      elseif rule.optional then\n        return parse(words, parser, next_state)\n      else\n        if failed_state then\n          return false, failed_state\n        end\n      end\n    else\n      return true, state\n    end\n  end\n\n  return false, state\nend\n\nlocal function testParser()\n  local tests = {\n    { -- Test 1 - TRUE\n      {name = \"bab\", type = \"object\"},\n      {name = \"be\", type = \"verb\"},\n      {name = \"u\", type = \"property\"}\n    },\n    { -- Test 2 - FALSE\n      {name = \"bab\", type = \"object\"},\n      {name = \"keek\", type = \"object\"},\n      {name = \"u\", type = \"property\"}\n    },\n    { -- Test 3 - TRUE\n      {name = \"frenles\", type = \"cond_prefix\"},\n      {name = \"bab\", type = \"object\"},\n      {name = \"be\", type = \"verb\"},\n      {name = \"u\", type = \"property\"}\n    },\n    { -- Test 4 - TRUE\n      {name = \"frenles\", type = \"cond_prefix\"},\n      {name = \"bab\", type = \"object\"},\n      {name = \"be\", type = \"verb\"},\n      {name = \"keek\", type = \"object\"}\n    },\n    { -- Test 5 - TRUE\n      {name = \"bab\", type = \"object\"},\n      {name = \"txt\", type = \"object\"},\n      {name = \"&\", type = \"and\"},\n      {name = \"keek\", type = \"object\"},\n      {name = \"be\", type = \"verb\"},\n      {name = \"u\", type = \"property\"}\n    },\n    { -- Test 6 - FALSE\n      {name = \"bab\", type = \"object\"},\n      {name = \"keek\", type = \"object\"},\n      {name = \"be\", type = \"verb\"},\n      {name = \"u\", type = \"property\"}\n    },\n    { -- Test 7 - TRUE\n      {name = \"bab\", type = \"object\"},\n      {name = \"txt\", type = \"object\"},\n      {name = \"be\", type = \"verb\"},\n      {name = \"u\", type = \"property\"}\n    },\n    { -- Test 8 - FALSE\n      {name = \"frenles\", type = \"cond_prefix\"},\n      {name = \"be\", type = \"verb\"},\n      {name = \"u\", type = \"property\"}\n    },\n    { -- Test 9 - TRUE\n      {name = \"be\", type = \"property\"},\n      {name = \"txt\", type = \"object\"},\n      {name = \"be\", type = \"verb\"},\n      {name = \"u\", type = \"property\"}\n    },\n    { -- Test 10 - TRUE\n      {name = \"bab\", type = \"object\"},\n      {name = \"be\", type = \"verb\"},\n      {name = \"u\", type = \"property\"},\n      {name = \"be\", type = \"verb\"}\n    },\n    { -- Test 11 - TRUE\n      {name = \"bab\", type = \"object\"},\n      {name = \"on\", type = \"cond_infix\"},\n      {name = \"til\", type = \"object\"},\n      {name = \"be\", type = \"verb\"},\n      {name = \"u\", type = \"property\"},\n      {name = \"be\", type = \"verb\"}\n    },\n    { -- Test 11 - TRUE\n      {name = \"bab\", type = \"object\"},\n      {name = \"...\", type = \"ellipses\"},\n      {name = \"be\", type = \"verb\"},\n      {name = \"...\", type = \"ellipses\"},\n      {name = \"u\", type = \"property\"},\n    },\n  }\n\n  for i,v in ipairs(tests) do\n    print(\"--- TEST \" .. i .. \" ---\")\n    local result, state = parse(v, parser)\n    print(\"Result: \" .. tostring(result))\n    print(\"Words: \" .. state.word_index-1 .. \"/\" .. #v)\n    print(\"Matches: \" .. fullDump(state.matches))\n  end\nend\n\n--testParser()"
  },
  {
    "path": "game/rules.lua",
    "content": "old_rules_with = {}\nold_rules_with = {}\n\nfunction clearRules()\n  local temp = {}\n  if timeless and full_rules then\n    addUndo({\"timeless_rules\", rules_with, full_rules})\n    if rules_with[\"zawarudo\"] then\n      for _,text in ipairs(getAllText()) do\n        if hasProperty(text, \"zawarudo\") then\n          text.zawarudo = true\n        else\n          text.zawarudo = false\n        end\n      end\n    end\n    for _,rule in ipairs(full_rules) do\n      if not rule.hide_in_list then\n        local any_timeless = false\n        for _,unit in ipairs(rule.units) do\n          if unit.zawarudo then\n            any_timeless = true\n            break\n          end\n        end\n        if not any_timeless then\n          table.insert(temp, rule)\n        end\n      end\n    end\n  end\n  full_rules = temp\n  \n  old_rules_with = rules_with\n  rules_with = {}\n  rules_with_unit = {}\n  not_rules = {}\n  protect_rules = {}\n\n  max_not_rules = 0\n  portal_id = \"\"\n\n  --text and level basically already exist, so no need to be picky.\n  addBaseRule(\"txt\",\"be\",\"wurd\")\n  addBaseRule(\"txt\",\"be\",\"goawaypls\")\n  addBaseRule(\"lvl\",\"be\",\"nogo\")\n  --TODO: This will need to be automatic on levels with letters/combined words, since a selectr/bordr might be made in a surprising way, and it will need to have its implicit rules apply immediately.\n  if (units_by_name[\"selctr\"] or units_by_name[\"txt_selctr\"] or units_by_name[\"lin\"] or units_by_name[\"txt_lin\"] or units_by_name[\"txt_pathz\"]) then\n    addBaseRule(\"selctr\",\"be\",\"curse\")\n    addBaseRule(\"selctr\",\"be\",\"shy...\")\n    --[[addBaseRule(\"selctr\",\"be\",\"u\")\n    addBaseRule(\"selctr\",\"liek\",\"pathz\")\n    addBaseRule(\"lvl\",\"be\",\"pathz\",{name = \"unlocked\"})\n\t\taddBaseRule(\"lin\",\"be\",\"pathz\",{name = \"unlocked\"})\n    addBaseRule(\"selctr\",\"be\",\"flye\")\n    addBaseRule(\"selctr\",\"be\",\"shy...\")]]\n  end\n  if (units_by_name[\"bordr\"] or units_by_name[\"txt_bordr\"]) then\n    addBaseRule(\"bordr\",\"be\",\"nogo\")\n    addBaseRule(\"bordr\",\"be\",\"tall\")\n    addBaseRule(\"bordr\",\"be\",\"anti tall\")\n    addBaseRule(\"bordr\",\"be\",\"tranparnt\")\n  end\n  addBaseRule(\"bordr\",\"be\",\"nodrag\") --it's important for this to be outside the check bc you can get mous outside level without bordr existing\n  if units_by_name[\"this\"] then\n    --have to do this now for the same reason we have to do it for \"txt\" - poor timing\n    rules_effecting_names[\"this\"] = true\n    addBaseRule(\"this\",\"be\",\"goawaypls\")\n    addBaseRule(\"this\",\"be\",\"wurd\")\n  end\n\n  if not doing_past_turns then\n    past_rules = {}\n  else\n    for id,past_rule in pairs(past_rules) do\n      if past_rule.turn > current_move then\n        addRule(past_rule.rule)\n      end\n    end\n  end\n\n  rules_effecting_names[\"txt\"] = true\n\n  has_new_rule = false\nend\n\nfunction getAllText()\n  local hasCopied = false\n  local result = {}\n  --[[local result = units_by_name[\"txt\"]\n  if (result == nil) then result = {} end\n  --remove ben't wurd text from result\n  if rules_with[\"wurd\"] ~= nil then\n    result = copyTable(result)\n    hasCopied = true\n    for i = #result,1,-1 do\n      if hasRule(result[i],\"ben't\",\"wurd\") then\n        table.remove(result, i)\n      end\n    end\n  end]]\n  \n  local givers = {}\n  \n  if rules_with ~= nil and rules_with[\"giv\"] ~= nil then\n    for unit,_ in pairs(getUnitsWithRuleAndCount(nil, \"giv\", \"wurd\")) do\n      table.insert(givers, units_by_id[unit] or cursors_by_id[unit])\n    end\n    for unit,_ in pairs(getUnitsWithRuleAndCount(nil, \"giv\", \"anti wurd\")) do\n      table.insert(givers, units_by_id[unit] or cursors_by_id[unit])\n    end\n  end\n  \n  local function matchesGiver(unit, givers)\n    for _,giver in ipairs(givers) do\n      if giver ~= unit and giver.x == unit.x and giver.y == unit.y and sameFloat(unit, giver) then\n        return true\n      end\n    end\n    return false\n  end\n  \n  if (#givers > 0) then\n    for __,unit in ipairs(units) do\n      if hasProperty(unit, \"wurd\") or hasProperty(unit,\"anti wurd\") or unit.name:starts(\"this\") or matchesGiver(unit, givers) then\n        if not hasCopied then\n          result = copyTable(result)\n          hasCopied = true\n        end\n        table.insert(result, unit)\n      else\n        unit.active = false\n      end\n    end\n  else\n    for name,_ in pairs(rules_effecting_names) do\n      if units_by_name[name] then\n        for __,unit in ipairs(units_by_name[name]) do\n          if hasProperty(unit, \"wurd\") or hasProperty(unit, \"anti wurd\") or unit.name:starts(\"this\") then\n            if not hasCopied then\n              result = copyTable(result)\n              hasCopied = true\n            end\n            table.insert(result, unit)\n          else\n            unit.active = false\n          end\n        end\n      end\n    end\n  end\n  return result\nend\n\nfunction getTextOnTile(x, y)\n  local result = {}\n  --[[local result = getUnitsOnTile(x, y, \"txt\")\n  --remove ben't wurd text from result\n  if rules_with ~= nil and rules_with[\"wurd\"] ~= nil then\n    for i = #result,1,-1 do\n      if hasRule(result[i],\"ben't\",\"wurd\") then\n        table.remove(result, i)\n      end\n    end\n  end]]\n  \n  local givers = {}\n  \n  if rules_with ~= nil and rules_with[\"giv\"] ~= nil then\n    for __,unit in ipairs(getUnitsOnTile(x, y)) do\n      if hasRule(unit, \"giv\", \"wurd\") or hasRule(unit, \"giv\", \"anti wurd\") then\n        table.insert(givers, unit)\n      end\n    end\n  end\n  \n  if (#givers > 0) then\n    for __,unit in ipairs(getUnitsOnTile(x, y)) do\n      if hasProperty(unit, \"wurd\") or hasProperty(unit, \"anti wurd\") or unit.name:starts(\"this\") then\n        table.insert(result, unit)\n      else\n        for _,giver in ipairs(givers) do\n          if giver ~= unit and sameFloat(giver, unit) then\n            table.insert(result, unit)\n            break\n          end\n        end\n      end\n    end\n  else\n    for name,_ in pairs(rules_effecting_names) do\n      for __,unit in ipairs(getUnitsOnTile(x, y, {name = name})) do\n        if hasProperty(unit, \"wurd\") or hasProperty(unit, \"anti wurd\") or unit.name:starts(\"this\") then\n          table.insert(result, unit)\n        end\n      end\n    end\n  end\n  \n  return result\nend\n\nfunction parseRules(undoing)\n  if timeless and not hasProperty(\"txt\",\"zawarudo\") then\n    return\n  end\n  if (should_parse_rules) then\n    should_parse_rules = false\n    should_parse_rules_at_turn_boundary = false\n  else\n    return\n  end\n  \n  local start_time = love.timer.getTime()\n  \n  clearRules()\n  loop_rules = 0\n  changed_reparsing_rule = true\n\n  -- since txt is now inherently wurd, the rules table has to update with the base rules before we do any actual parsing\n  postRules(true)\n  \n  --TODO: This works in non-contrived examples, but isn't necessarily robust - for example, if after reparsing, you add one word rule while subtracting another word rule, it'll think nothing has changed. The only way to be ABSOLUTELY robust is to compare that the exact set of parsing effecting rules hasn't changed.\n  local function reparseRuleCounts()\n    local props_table = {\"wurd\", \"anti wurd\", \"poortoll\", \"goarnd\", \"mirrarnd\", \"ortho\", \"diag\", \"zawarudo\", \"rong\", \"slep\", \"boring\"}\n    local verbs_table = {\"be\", \"giv\"}\n    local result = {}\n    for _,prop in ipairs(props_table) do\n      for __,verb in ipairs(verbs_table) do\n        table.insert(result, #matchesRule(nil, verb, prop))\n      end\n    end\n    --Text that ben't wurd is a special case.\n    table.insert(result, #matchesRule(nil, \"ben't\", \"wurd\"))\n    --txt/wurds ignoring a poor toll could cause parsing to change.\n    table.insert(result, rules_with[\"poortoll\"] and #matchesRule(nil, \"ignor\", nil) or 0)\n    --RP can cause a parse effecting rule to be RP'd. (TODO: For mysterious reasons, this doesn't work with wurd.)\n    table.insert(result, #matchesRule(nil, \"rp\", \"?\"))\n    return result\n  end\n  \n  local reparse_rule_counts = reparseRuleCounts()\n  \n  --Hack for OOB rules to make them not alias onto each other surprisingly: assume mapwidth is 100 or higher, so that different co-ordinates are different unless you go STUPIDLY out of bounds\n  local mapwidth_hack = math.max(mapwidth, 100);\n  \n  while (changed_reparsing_rule) do\n    changed_reparsing_rule = false\n    loop_rules = loop_rules + 1\n    if (loop_rules > 100) then\n      destroyLevel(\"infloop\")\n      return\n    end\n\n    --refresh name/type/color of dittos in reading order (top to bottom)\n    local dittos = units_by_name[\"txt_''\"]\n    if (dittos ~= nil) then\n      table.sort(dittos, function(a, b) return a.y < b.y end ) \n      for _,unit in ipairs(dittos) do\n        local dir = dirAdd(unit.rotatdir,-2)\n        local dx, dy = dirs8[dir][1], dirs8[dir][2]\n        local _, __, ___, x, y = getNextTile(unit,dx,dy,dir)\n        local mimic = getTextOnTile(x,y)\n        \n        if #mimic == 1 then\n          unit.textname = mimic[1].textname\n          unit.typeset = mimic[1].typeset\n          unit.color_override = getUnitColor(mimic[1])\n        else\n          unit.textname = \"  \"\n          unit.typeset = {ditto = true}\n          unit.color_override = {0,3}\n        end\n      end\n    end\n  \n    local first_words = {}\n    local been_first = {}\n    for i=1,8 do\n      been_first[i] = {}\n    end\n    \n    local units_to_check = getAllText()\n    \n    if units_to_check then\n      for _,unit in ipairs(units_to_check) do\n        local x,y = unit.x,unit.y\n        local dirs_to_check = {}\n        if not rules_with[\"anti wurd\"] or hasProperty(unit,\"wurd\") then\n          mergeTable(dirs_to_check,{1,2,3})\n        end\n        if hasProperty(unit,\"anti wurd\") then\n          mergeTable(dirs_to_check,{5,6,7})\n        end\n        for _,i in ipairs(dirs_to_check) do\n          local dpos = dirs8[i]\n          local ndpos = dirs8[rotate8(i)] --opposite direction\n\n          local dx,dy = dpos[1],dpos[2]\n          local ndx,ndy = ndpos[1],ndpos[2]\n          \n          local validrule = true\n          \n          if (i % 2 == 1) and hasRule(unit,\"be\",\"diag\") and not hasRule(unit,\"be\",\"ortho\") then\n            validrule = false\n          end\n          \n          if (i % 2 == 0) and (unit.wobble or hasRule(unit,\"be\",\"ortho\")) and not hasRule(unit,\"be\",\"diag\") then\n            validrule = false\n          end\n          --print(tostring(x)..\",\"..tostring(y)..\",\"..tostring(dx)..\",\"..tostring(dy)..\",\"..tostring(ndx)..\",\"..tostring(ndy)..\",\"..tostring(#getUnitsOnTile(x+ndx, y+ndy, \"txt\"))..\",\"..tostring(#getUnitsOnTile(x+dx, y+dy, \"txt\")))\n          if (#getTextOnTile(x+ndx, y+ndy) == 0) and validrule then\n            if not been_first[i][x + y * mapwidth_hack] then\n              table.insert(first_words, {unit, i})\n              been_first[i][x + y * mapwidth_hack] = true\n            end\n          end\n        end\n        if (loop_rules == 1) then\n          unit.old_active = unit.active\n        end\n        local temp = rules_with\n        rules_with = old_rules_with\n        if not timeless or unit.zawarudo then\n          unit.active = false\n          unit.blocked = false\n          unit.used_as = {}\n        end\n        rules_with = temp\n      end\n    end\n\n    local final_rules = {}\n    --local already_parsed = {}\n    local first_words_count = #first_words\n    for _,first in ipairs(first_words) do \n      local first_unit = first[1] -- {unit,direction}\n      local last_unit = first[1]\n\n      local dir = first[2]\n      local x,y = first_unit.x, first_unit.y\n      local dx,dy = dirs8[dir][1], dirs8[dir][2]\n\n      local words = {}\n      local been_here = {}\n\n      local stopped = false\n      while not stopped do\n        if been_here[x + y * mapwidth_hack] == 2 then\n          stopped = true\n        else\n          local new_words = {}\n          local get_next_later = false\n\n          local units = getTextOnTile(x, y)\n          if #units > 0 then\n            for _,unit in ipairs(units) do\n              local validrule = true\n\n              if ((dir == 1) or (dir == 3)) and hasRule(unit,\"be\",\"diag\") and not hasRule(unit,\"be\",\"ortho\") then\n                validrule = false  \n              end\n              \n              if (dir == 2) and (unit.wobble or hasRule(unit,\"be\",\"ortho\")) and not hasRule(unit,\"be\",\"diag\") then\n                validrule = false\n              end\n\n              if validrule then\n                local new_word = {}\n\n                new_word.name = unit.textname\n                new_word.type = unit.typeset\n                new_word.unit = unit\n                new_word.dir = dir\n\n                last_unit = unit\n\n                table.insert(new_words, new_word)\n              end\n            end\n\n            if #new_words == 0 then\n              stopped = true\n            else\n              table.insert(words, new_words)\n            end\n          else\n            stopped = true\n          end\n\n          if not been_here[x + y * mapwidth_hack] then --can only go to each tile twice each first word; so that if we have a wrap/portal infinite loop we don't softlock\n            been_here[x + y * mapwidth_hack] = 1\n          else\n            been_here[x + y * mapwidth_hack] = 2\n          end\n\n          dx, dy, dir, x, y = getNextTile(last_unit, dx, dy, dir)\n        end\n      end --while not stopped\n\n      local sentences = getCombinations(words)\n      if #sentences > 10 then\n        --print(fullDump(words, 2))\n      end\n\n      for _,sentence in ipairs(sentences) do\n        parseSentence(sentence, {been_first, first_words, final_rules, first}, dir) -- split into a new function located below to organize this slightly more\n        if (#final_rules > 1000) then\n          print(\"parseRules too complex! (1000 rules)\")\n          destroyLevel(\"plsdont\")\n          clearRules()\n          return\n        end\n      end\n    end\n    \n    clearRules()\n    \n    for _,final in ipairs(final_rules) do\n      addRule(final)\n    end\n    \n    postRules()\n    \n    local reparse_rule_counts_new = reparseRuleCounts()\n    \n    for i = 1,#reparse_rule_counts do\n      if reparse_rule_counts[i] ~= reparse_rule_counts_new[i] then\n        changed_reparsing_rule = true\n        break\n      end\n    end\n    \n    reparse_rule_counts = reparse_rule_counts_new\n    \n    rules_effecting_names = {}\n  \n    populateRulesEffectingNames(\"?\", \"be\", \"wurd\")\n    populateRulesEffectingNames(\"?\", \"be\", \"anti wurd\")\n    populateRulesEffectingNames(\"?\", \"be\", \"poortoll\")\n    if (rules_with[\"goarnd\"] or rules_with[\"mirrarnd\"]) then\n      rules_effecting_names[\"bordr\"] = true\n    end\n  end\n  \n  shouldReparseRules()\n  \n  local end_time = love.timer.getTime()\n  if not unit_tests then print(\"parseRules() took: \"..tostring(round((end_time-start_time)*1000))..\"ms\") end\nend\n\nfunction parseSentence(sentence_, params_, dir) --prob make this a local function? idk\n  -- print(\"parsing... \"..fullDump(sentence_))\n  local been_first = params_[1] --splitting up the params like this was because i was too lazy\n  local first_words = params_[2] -- all of them are tables anyway, so it ends up referencing properly\n  local final_rules = params_[3]\n  local first = params_[4]\n  local sentence = copyTable(sentence_, 1)\n  --print(fullDump(sentence))\n\n  for orig_index,word in ipairs(sentence) do\n    --HACK: don't try to do letters parsing if we're singing\n    if word.name == \"sing\" then break end\n    if word.type and word.type[\"letter\"] then --letter handling\n      --print(\"found a letter\"..orig_index)\n      \n      local new_word = \"\"\n      local word_index = orig_index\n      local letter = sentence[word_index]\n      local prevletter = {}\n      while letter.type[\"letter\"] do --find out where the letters end, throw all of them into a string tho\n        --here's how umlauts / colons work: for every letter that could be affected by the presence of a colon, special case it here\n        --when special casing, change the name to include the umlaut / colon in it. then, later, don't count colons when adding to the string, since the letter already accounts for it\n        --for the letter u, it always needs to check the tile above it, so we don't need to use prevletter, since the umlaut might not be in the rule directly\n        --for letters relating to making a face, such as \":)\", the colon needs to be the letter before it, so just before we change letter we store it as prevletter for the next letter to use\n        --then, when we find something like a parantheses, we check the previous letter to see if it's a colon and if it was facing the right direction, and if it meets both of those, set the name of the unit to both\n        --since this all happens per rule, crosswording should be unaffected\n        --...doesn't work yet but that was my plan\n        local unit = letter.unit\n        local prevunit = prevletter.unit or {}\n        local name = letter.name\n        --turn flog be : ) (vertical) into flog be :) instead of flog be ..:)\n        local speaking_bridges_hack = false\n        if name == \"custom\" then name = letter.unit.special.customletter end\n        if letter.name == \"u\" then\n          local umlauts = getTextOnTile(unit.x,unit.y-1)\n          for _,umlaut in ipairs(umlauts) do\n            if umlaut.fullname == \"letter_colon\" and umlaut.dir == 3 and umlaut ~= prevunit then\n              name = \"..u\"\n            end\n          end\n        elseif letter.name == \"e\" then\n          local umlauts = getTextOnTile(unit.x,unit.y-1)\n          for _,umlaut in ipairs(umlauts) do\n            if umlaut.fullname == \"letter_colon\" and umlaut.dir == 3 and umlaut ~= prevunit then\n              name = \"..e\"\n            end\n          end\n        --[[elseif letter.fullname == \"letter_colon\" and letter.dir == 3 then\n          name = \"..\"]]--\n        elseif prevunit.fullname == \"letter_colon\" and prevunit.dir == dir\n        and (letter.name == \"o\" or letter.name == \")\" or letter.name == \"(\") then\n          name = \":\"..letter.name\n          speaking_bridges_hack = true\n        end\n        --[[elseif letter.name == \"/\" then\n          if prevletter.name == \":\" and prevunit.dir == dir then\n            name = \"tryagain\"\n          end\n        elseif letter.name == \">\" then\n          if prevletter.name == \":\" and prevunit.dir == dir then\n            name = \"nxt\"\n          end\n        end]]\n        \n        if (speaking_bridges_hack) then\n          new_word = new_word:sub(1, -3)\n        end\n        \n        if name ~= \":\" then\n          new_word = new_word..name\n        end\n        \n        prevletter = letter\n        word_index = word_index + 1\n        letter = sentence[word_index]\n        --print(\"looping... \"..new_word..\" \"..word_index)\n        if letter == nil then break end --end of array ends up hitting this case\n      end\n\n      --parens hack - don't try to make letters out of a single parenthesis\n      if not (new_word:len() < 2 and text_in_tiles[new_word] == nil) then\n        local lsentences = findLetterSentences(new_word) --get everything valid out of the letter string (this should be [both], hmm)\n        --[[if (#lsentences.start ~= 0 or #lsentences.endd ~= 0 or #lsentences.middle ~= 0 or #lsentences.both ~= 0) then\n          print(new_word..\" --> \"..fullDump(lsentences))\n        end]]\n\n        local before_sentence = {}\n        for i=1,orig_index-1 do\n          table.insert(before_sentence,sentence[i])\n        end\n        local after_sentence = {}\n        if word_index <= #sentence then\n          for i=word_index,#sentence do\n            table.insert(after_sentence,sentence[i])\n          end\n        end\n\n        local pos_x = sentence[orig_index].unit.x\n        local pos_y = sentence[orig_index].unit.y\n        --print(\"coords: \"..pos_x..\", \"..pos_y)\n\n        local len = word_index-orig_index\n        for _,s in ipairs(lsentences.middle) do\n          local words = fillTextDetails(s, sentence, orig_index, word_index)\n          parseSentence(words, params_, dir)\n        end\n        for _,s in ipairs(lsentences.start) do\n          local words = fillTextDetails(s, sentence, orig_index, word_index)\n          local before_copy = copyTable(before_sentence) --copying is required because addTables puts results in the first table\n          addTables(before_copy, words)\n          parseSentence(before_copy, params_, dir)\n        end\n        for _,s in ipairs(lsentences.endd) do\n          local words = fillTextDetails(s, sentence, orig_index, word_index)\n          addTables(words, after_sentence)\n          parseSentence(words, params_, dir)\n        end\n        for _,s in ipairs(lsentences.both) do\n          local words = fillTextDetails(s, sentence, orig_index, word_index)\n          local before_copy = copyTable(before_sentence)\n          addTables(words, after_sentence)\n          addTables(before_copy, words)\n          --print(\"end dump: \"..dumpOfProperty(before_copy, \"name\"))\n          parseSentence(before_copy, params_, dir)\n        end\n\n        parseSentence(before_sentence, params_, dir)\n        parseSentence(after_sentence, params_, dir)\n        return --no need to continue past this point, since the letters suffice\n      end\n    end\n  end\n  \n  local function addUnits(list, set, root, dirs, mods)\n    if root.unit and not set[root.unit] then\n      table.insert(list, root.unit)\n      set[root.unit] = true\n      dirs[root.unit] = root.dir\n      mods[root.unit] = mods[root.unit] or {}\n      if root.conds then\n        for _,cond in ipairs(root.conds) do\n          addUnits(list, set, cond, dirs, mods)\n        end\n      end\n      if root.others then\n        for _,other in ipairs(root.others) do\n          addUnits(list, set, other, dirs, mods)\n        end\n      end\n      if root.mods then\n        for _,mod in ipairs(root.mods) do\n          if mod.unit then\n            table.insert(mods[root.unit], mod.unit)\n          end\n          addUnits(list, set, mod, dirs, mods)\n        end\n      end\n    end\n  end\n\n  -- print(\"just after letters:\", dump(sentence))\n  while (#sentence > 2) do\n    local valid, words, rules, extra_words = parse(copyTable(sentence), dir)\n    if not valid then -- probably not too great for performance, it'd be good to only do this if \"lookat\" etc is in the rule\n      valid, words, rules, extra_words = parse(copyTable(sentence), dir, true) -- check lookat as a verb instead of a condition\n    end\n    --print(dump(state))\n\n    if valid then\n      for i,rule in ipairs(rules) do\n        local list = {}\n        local set = {}\n        local dirs = {}\n        local mods = {}\n        for _,word in ipairs(extra_words) do\n          addUnits(list, set, word, dirs, mods)\n        end\n        addUnits(list, set, rule.subject, dirs, mods)\n        addUnits(list, set, rule.verb, dirs, mods)\n        addUnits(list, set, rule.object, dirs, mods)\n        local full_rule = {rule = rule, units = list, dir = dir, units_set = set, dirs = dirs, mods = mods}\n        -- print(fullDump(full_rule))\n        \n        local add = false\n        \n        if not timeless then\n          add = true\n        else\n          local temp = rules_with\n          rules_with = old_rules_with\n          for _,unit in ipairs(list) do\n            if unit.zawarudo then\n              add = true\n              break\n            end\n          end\n          rules_with = temp\n        end\n        \n        for i = #final_rules,1,-1 do\n          local other = final_rules[i]\n          if other.dir == full_rule.dir then\n            local subset = true\n            for _,u in ipairs(other.units) do\n              if (not full_rule.units_set[u] or (full_rule.dirs[u] ~= other.dirs[u]) or not eq(full_rule.mods[u], other.mods[u])) and not u.typeset[\"and\"] then \n                subset = false\n                break\n              end\n            end\n            if subset then\n              table.remove(final_rules, i)\n            else\n              local subset = true\n              for _,u in ipairs(full_rule.units) do\n                if (not other.units_set[u] or (full_rule.dirs[u] ~= other.dirs[u]) or not eq(full_rule.mods[u], other.mods[u])) and not u.typeset[\"and\"] then\n                  subset = false\n                  break\n                end\n              end\n              if subset then\n                add = false\n                break\n              end\n            end\n          end\n        end\n        if add then\n          table.insert(final_rules, full_rule)\n        end\n      end\n      \n      local last_word = sentence[#sentence - #words]\n      table.insert(words, 1, last_word)\n      sentence = words\n    else\n      table.remove(sentence, 1)\n    end\n  end\nend\n\nfunction addRule(full_rule)\n  local rules = full_rule.rule\n  local units = full_rule.units\n  local dir = full_rule.dir\n\n  local subject = rules.subject.name\n  local verb = rules.verb.name\n  local object = rules.object.name\n\n  local subject_not = 0\n  local verb_not = 0\n  local object_not = 0\n  \n  local new_rule = false\n  local rule_id = \"\"\n  for _,unit in ipairs(units) do\n    unit.active = true\n    if not unit.old_active and not first_turn then\n      addParticles(\"rule\", unit.x, unit.y, getUnitColor(unit))\n      new_rule = true\n    end\n    unit.old_active = unit.active\n    rule_id = rule_id .. unit.id .. \",\"\n  end\n  has_new_rule = has_new_rule or new_rule\n  \n  if object:starts(\"anti \") and anti_word_replacements[object:sub(6,-1)] then\n    rules.object.name = anti_word_replacements[object:sub(6,-1)]\n    object = anti_word_replacements[object:sub(6,-1)]\n  end\n  \n  if verb:starts(\"anti \") and anti_word_replacements[verb:sub(6,-1)] then\n    rules.verb.name = anti_word_replacements[verb:sub(6,-1)]\n    verb = anti_word_replacements[verb:sub(6,-1)]\n  end\n  \n  if verb:starts(\"anti \") and anti_verb_mirrors[verb:sub(6,-1)] then\n    subject = rules.object.name\n    object = rules.subject.name\n    local old_object = copyTable(rules.object)\n    rules.object = copyTable(rules.subject)\n    rules.subject = old_object\n    rules.verb.name = verb:sub(6,-1)\n  end\n  \n  if rule_id ~= \"\" and new_rule and not past_rules[rule_id] and not undoing then\n    -- actually i dont know how rule stacking works ehehe\n    local r1, subject_conds = getPastConds(rules.subject.conds or {})\n    local r2, object_conds = getPastConds(rules.object.conds or {})\n    if r1 or r2 then\n      local new_rule = {rule = deepCopy(rules), units = {}, dir = 1}\n      new_rule.rule.subject.conds = subject_conds\n      new_rule.rule.object.conds = object_conds\n      past_rules[rule_id] = {turn = current_move, rule = new_rule}\n      change_past = true\n    end\n  end\n  \n  for _,unit in ipairs(units) do\n    if (not rong and old_rules_with[\"rong\"] ~= nil) then\n      local temp = rules_with; rules_with = old_rules_with\n      if hasProperty(unit, \"rong\") then\n        for __,unit2 in ipairs(units) do\n          unit2.blocked = true\n          unit2.blocked_dir = full_rule.dirs and full_rule.dirs[unit2] or dir\n        end\n        rules_with = temp\n        return\n      end\n      rules_with = temp\n    end\n  end\n\n  --\"x be sans\" plays a megalovania jingle! but only if x is in the level.\n  local play_sans_sound = false\n  if new_rule then\n    if verb == \"be\" and object == \"sans\" and units_by_name[subject] then\n      play_sans_sound = true\n    end\n  end\n  \n  -- play the x be sans jingle!\n  if play_sans_sound then\n    playSound(\"babbolovania\")\n  end\n  \n  while subject:ends(\"n't\") do subject, subject_not = subject:sub(1, -4), subject_not + 1 end\n  while verb:ends(\"n't\")    do verb,       verb_not =    verb:sub(1, -4),    verb_not + 1 end\n  while object:ends(\"n't\")  do object,   object_not =  object:sub(1, -4),  object_not + 1 end\n\t--print(subject, verb, object, subject_not, verb_not, object_not)\n\n  if verb_not > 0 then\n    verb = rules.verb.name:sub(1, -4)\n  end\n\n  --add used_as values for sprite transformations\n  if rules.subject.unit and not rules.subject.unit.used_as[\"object\"] then\n    table.insert(rules.subject.unit.used_as, \"object\")\n  end\n\n  if rules.verb.unit and not rules.verb.unit.used_as[\"verb\"] then\n    table.insert(rules.verb.unit.used_as, \"verb\")\n  end\n\n  if rules.object.unit then\n    local property = false\n    local tile = getTile(\"txt_\" .. verb)\n    if tile and tile.typeset.verb_property then\n      property = true\n    end\n    if property and not rules.object.unit.used_as[\"property\"] then\n      table.insert(rules.object.unit.used_as, \"property\")\n    elseif not property and not rules.object.unit.used_as[\"object\"] then\n      table.insert(rules.object.unit.used_as, \"object\")\n    end\n  end\n  \n  --Special THIS check - if we write this be this or this ben't this, it should work like the tautology/paradox it does for other objects, even though they are TECHNICALLY different thises.\n  if subject:starts(\"this\") and object:starts(\"this\") and subject_not == 0 and object_not == 0 and subject ~= object then\n    addRuleSimple(rules.subject, rules.verb, {rules.subject.name, rules.object.conds}, units, dir)\n    return\n  end\n  \n  --Transform THE BE U into THE (prefix condition) EVERY2 BE U.\n  --todo: add support for bordr\n  if subject == \"the\" or subject == \"deez\" then\n    rules.subject.conds = copyTable(rules.subject.conds) or {};\n    table.insert(rules.subject.conds, rules.subject);\n    addRuleSimple({\"every2\", rules.subject.conds}, rules.verb, rules.object, units, dir)\n    addRuleSimple({\"bordr\", rules.subject.conds}, rules.verb, rules.object, units, dir)\n    return\n  end\n\n  if subject:find(\"letter_custom\") and subject.unit then\n    rules.subject.conds = copyTable(rules.subject.conds) or {};\n    table.insert(rules.subject.conds, rules.subject);\n  end\n  if object:find(\"letter_custom\") and object.unit then\n    local tile = getTile(\"txt_\"..verb)\n    if tile and tile.typeset.verb_unit then\n      rules.object.conds = copyTable(rules.object.conds) or {};\n      table.insert(rules.object.conds, rules.object);\n    end\n  end\n  \n  if verb == \"is\" then\n    local new_verb = copyTable(rules.verb)\n    new_verb.name = \"be\"\n    for i = 1, verb_not do\n      new_verb.name = new_verb.name .. \"n't\"\n    end\n    addRuleSimple(rules.subject, new_verb, rules.object, units, dir)\n  end\n\n  if subject == \"every1\" then\n    if subject_not % 2 == 1 then\n      addRuleSimple({\"txt\", rules.subject.conds}, rules.verb, rules.object, units, dir)\n      addRuleSimple({\"no1\", rules.subject.conds}, rules.verb, rules.object, units, dir)\n      local copied_conds = copyTable(rules.subject.conds)\n      table.insert(copied_conds, {name = \"inner\", type = {cond_prefix = true}, dir = rules.subject.dir})\n      addRuleSimple({\"lvl\", copied_conds}, rules.verb, rules.object, units, dir)\n      return\n    else\n      for _,v in ipairs(referenced_objects) do\n        addRuleSimple({v, rules.subject.conds}, rules.verb, rules.object, units, dir)\n      end\n    end\n  elseif subject == \"every2\" then\n    if subject_not % 2 == 1 then\n      return\n    else\n      for _,v in ipairs(referenced_objects) do\n        addRuleSimple({v, rules.subject.conds}, rules.verb, rules.object, units, dir)\n      end\n      addRuleSimple({\"txt\", rules.subject.conds}, rules.verb, rules.object, units, dir)\n\n      local copied_conds = copyTable(rules.subject.conds)\n      table.insert(copied_conds, {name = \"inner\", type = {cond_prefix = true}, dir = rules.subject.dir})\n      addRuleSimple({\"lvl\", copied_conds}, rules.verb, rules.object, units, dir)\n    end\n  elseif subject == \"every3\" then\n    if subject_not % 2 == 1 then\n      return\n    else\n      for _,v in ipairs(referenced_objects) do\n        addRuleSimple({v, rules.subject.conds}, rules.verb, rules.object, units, dir)\n      end\n      addRuleSimple({\"txt\", rules.subject.conds}, rules.verb, rules.object, units, dir)\n      for _,v in ipairs(special_objects) do\n        addRuleSimple({v, rules.subject.conds}, rules.verb, rules.object, units, dir)\n      end\n    end\n  elseif subject == \"lethers\" then\n    for _,v in ipairs(referenced_text) do\n      if subject_not % 2 == 1 then\n        if not v:starts(\"letter_\") then\n          addRuleSimple({v, rules.subject.conds}, rules.verb, rules.object, units, dir)\n        end\n      else\n        if v:starts(\"letter_\") then\n          addRuleSimple({v, rules.subject.conds}, rules.verb, rules.object, units, dir)\n        end\n      end\n    end\n  elseif subject == \"numa\" then\n    for _,v in ipairs(referenced_text) do\n      if subject_not % 2 == 1 then\n        if v:starts(\"letter_\") then\n          for i = 1, 9, 1 do\n            if v:ends(tostring(i)) then\n              addRuleSimple({v, rules.subject.conds}, rules.verb, rules.object, units, dir)\n            end\n          end\n        end\n      else\n        if v:starts(\"letter_\") then\n          if v:ends(\"_o\") then\n            addRuleSimple({v, rules.subject.conds}, rules.verb, rules.object, units, dir)\n          end\n          for i = 1, 9, 1 do\n            if v:ends(tostring(i)) then\n              addRuleSimple({v, rules.subject.conds}, rules.verb, rules.object, units, dir)\n            end\n          end\n        end\n      end\n    end\n  elseif subject == \"toen\" then\n    for _,v in ipairs(referenced_text) do\n      if subject_not % 2 == 1 then\n        if not (v:ends(\"_sharp\") or v:ends(\"_flat\") or v == \"letter_a\" or v == \"letter_b\" or v == \"letter_c\" or v == \"letter_d\" or v == \"letter_e\" or v == \"letter_f\" or v == \"letter_g\") then\n          addRuleSimple({v, rules.subject.conds}, rules.verb, rules.object, units, dir)\n        end\n      else\n        if v:ends(\"_sharp\") or v:ends(\"_flat\") or v == \"letter_a\" or v == \"letter_b\" or v == \"letter_c\" or v == \"letter_d\" or v == \"letter_e\" or v == \"letter_f\" or v == \"letter_g\" then\n          addRuleSimple({v, rules.subject.conds}, rules.verb, rules.object, units, dir)\n        end\n      end\n    end\n  elseif subject == \"yuiy\" then\n    for _,v in ipairs(referenced_objects) do\n      if subject_not % 2 == 1 then\n        if not v:starts(\"ui_\") then\n          addRuleSimple({v, rules.subject.conds}, rules.verb, rules.object, units, dir)\n        end\n      else\n        if v:starts(\"ui_\") then\n          addRuleSimple({v, rules.subject.conds}, rules.verb, rules.object, units, dir)\n        end\n      end\n    end\n  elseif subject_not % 2 == 1 then\n    if getTile(subject) or subject == \"txt\" then\n      local new_subjects = getEverythingExcept(subject)\n      for _,v in ipairs(new_subjects) do\n        addRuleSimple({v, rules.subject.conds}, rules.verb, rules.object, units, dir)\n      end\n      return\n    end\n  end\n\n  if object == \"every1\" then\n    if verb ~= \"be\" and verb ~= \"ben't\" then\n      if object_not % 2 == 1 then\n        --addRuleSimple(rules.subject, rules.verb, {\"txt\", rules.object.conds}, units, dir) transforming into every text seems really dangerous\n        --addRuleSimple(rules.subject, rules.verb, {\"no1\", rules.object.conds}, units, dir) making a no1 doesn't even do anything\n        local copied_conds = copyTable(rules.object.conds)\n        table.insert(copied_conds, {name = \"inner\", type = {cond_prefix = true}, dir = rules.object.dir})\n        addRuleSimple(rules.subject, rules.verb, {\"lvl\", copied_conds}, units, dir)\n        return\n      else\n        --we'll special case x be every1 in convertUnit now\n        for _,v in ipairs(referenced_objects) do\n          addRuleSimple(rules.subject, rules.verb, {v, rules.object.conds}, units, dir)\n        end\n      end\n    end\n  elseif object == \"every2\" then\n    if object_not % 2 == 1 then\n      return\n    elseif verb ~= \"be\" and verb ~= \"ben't\" then\n      for _,v in ipairs(referenced_objects) do\n        addRuleSimple(rules.subject, rules.verb, {v, rules.object.conds}, units, dir)\n      end\n      addRuleSimple(rules.subject, rules.verb, {\"txt\", rules.object.conds}, units, dir)\n\n      local copied_conds = copyTable(rules.object.conds)\n      table.insert(copied_conds, {name = \"inner\", type = {cond_prefix = true}, dir = rules.object.dir})\n      addRuleSimple(rules.subject, rules.verb, {\"lvl\", copied_conds}, units, dir)\n    end\n  elseif object == \"every3\" then\n    if object_not % 2 == 1 then\n      return\n    elseif verb ~= \"be\" and verb ~= \"ben't\" then\n      for _,v in ipairs(referenced_objects) do\n        addRuleSimple(rules.subject, rules.verb, {v, rules.object.conds}, units, dir)\n      end\n      addRuleSimple(rules.subject, rules.verb, {\"txt\", rules.object.conds}, units, dir)\n      for _,v in ipairs(special_objects) do\n        addRuleSimple(rules.subject, rules.verb, {v, rules.object.conds}, units, dir)\n      end\n    end\n  elseif object_not % 2 == 1 then\n    if getTile(object) or object:starts(\"this\") or object == \"txt\" or object == \"mous\" then\n      local new_objects = {}\n      --skul be skul turns into skul ben't skuln't - but this needs to apply even to special objects (specific text, txt, no1, lvl, mous).\n      if verb == \"be\" and verb_not % 2 == 1 then\n        new_objects = getAbsolutelyEverythingExcept(object)\n      else\n        new_objects = getEverythingExcept(object)\n      end\n      for _,v in ipairs(new_objects) do\n        --print(fullDump(rules))\n        addRuleSimple(rules.subject, rules.verb, {v, rules.object.conds}, units, dir)\n      end\n      --txt be txt needs to also apply for flog txt, bab txt, etc.\n      if (object == \"txt\" and verb == \"be\" and verb_not % 2 == 1) then\n        for i,ref in ipairs(referenced_text) do\n          for _,v in ipairs(new_objects) do\n            addRuleSimple({ref, rules.subject.conds}, rules.verb, {v, rules.object.conds}, units, dir)\n          end\n        end\n      end\n      return\n    end\n  end\n\n  if verb_not > 0 then\n    if (verb == \"be\") and (object == \"notranform\" or subject == object or (subject:starts(\"txt_\") and object == \"txt\") or object == \"themself\") then\n      verb_not = verb_not + 1\n    end\n    if not not_rules[verb_not] then\n      not_rules[verb_not] = {}\n      max_not_rules = math.max(max_not_rules, verb_not)\n    end\n    -- print(\"full_rule:\", fullDump(full_rule))\n    table.insert(not_rules[verb_not], full_rule)\n\n    -- for specifically checking NOT rules\n    table.insert(full_rules, {rule = {subject = rules.subject, verb = {name = verb .. \"n't\"}, object = rules.object}, units = units, dir = dir})\n  elseif (verb == \"be\") and (subject == object or (subject:starts(\"txt_\") and object == \"txt\") or object == \"themself\") and subject ~= \"lvl\" and object ~= \"lvl\" and subject ~= \"sans\" then\n    --print(\"protecting: \" .. subject .. \", \" .. object)\n    addRuleSimple(rules.subject, {\"be\"}, {\"notranform\", rules.object.conds}, units, dir)\n  elseif object == \"notranform\" or (subject == \"lvl\" and object == \"lvl\") then -- no \"n't\" here, but still blocks other rules so we need to count it\n    if not not_rules[1] then\n      not_rules[1] = {}\n      max_not_rules = math.max(max_not_rules, 1)\n    end\n    table.insert(not_rules[1], full_rule)\n    table.insert(full_rules, full_rule)\n  else\n    table.insert(full_rules, full_rule)\n  end\nend\n\nfunction postRules(no_sound)\n  local all_units = {}\n\t\n  -- Step 1:\n  -- Block & remove rules if they're N'T'd out\n  for n = max_not_rules, 1, -1 do\n    if not_rules[n] then\n      for _,rules in ipairs(not_rules[n]) do\n        local rule = rules.rule -- rule = the current rule we're looking at\n        local conds = {rule.subject.conds or {}, rule.object.conds or {}}\n\n        local inverse_conds = {{},{}}\n        for i=1,2 do\n          for _,cond in ipairs(conds[i]) do\n            local new_cond = copyTable(cond)\n            if new_cond.name:ends(\"n't\") then\n              new_cond.name = new_cond.name:sub(1, -4)\n            else\n              new_cond.name = new_cond.name .. \"n't\"\n            end\n            table.insert(inverse_conds[i], new_cond)\n          end\n        end\n\n        local has_conds = (#conds[1] > 0 or #conds[2] > 0)\n        \n        local specialmatch = 0\n        if rule.verb.name == \"be\" and rule.object.name == \"notranform\" then -- \"bab be bab\" should cross out \"bab be keek\"\n          specialmatch = 1\n        elseif rule.verb.name == \"ben't\" and rule.object.name == rule.subject.name or rule.object.name == \"notranform\" then -- \"bab be n't bab\" and 'bab be n't notranform' should cross out \"bab be bab\" (bab be notranform)\n          specialmatch = 2\n        end\n\n        local function blockRules(t)\n          local blocked_rules = {}\n          for _,frules in ipairs(t) do\n            local frule = frules.rule -- frule = potential matching rule to cancel\n            -- print(fullDump(frule))\n            local fverb = frule.verb.name\n            if specialmatch ~= 1 then\n              fverb = fverb .. \"n't\"\n            end\n            -- print(\"frule:\", fullDump(frule))\n            if (frule.subject.name == rule.subject.name or (rule.subject.name == \"txt\" and frule.subject.name:starts(\"txt_\"))) and fverb == rule.verb.name and (\n              (specialmatch == 0 and frule.object.name == rule.object.name and frule.object.name ~= \"her\" and frule.object.name ~= \"thr\" and frule.object.name ~= \"rit here\") or\n              (specialmatch == 1 and (frule.object.type.object or frule.object.name == \"tranz\") and not group_names_set[frule.object.name]) or -- possibly more special cases needed\n              (specialmatch == 2 and frule.object.name == \"notranform\")\n            ) then\n              if has_conds then\n                --print(fullDump(rule), fullDump(frule))\n                for _,cond in ipairs(inverse_conds[1]) do\n                  if not frule.subject.conds then frule.subject.conds = {} end\n                  frule.subject = copyTable(frule.subject);\n                  frule.subject.conds = copyTable(frule.subject.conds);\n                  table.insert(frule.subject.conds, cond)\n                end\n                for _,cond in ipairs(inverse_conds[2]) do\n                  if not frule.object.conds then frule.object.conds = {} end\n                  frule.object = copyTable(frule.object);\n                  frule.object.conds = copyTable(frule.object.conds);\n                  table.insert(frule.object.conds, cond)\n                end\n              else\n                table.insert(blocked_rules, frules)\n              end\n            end\n          end\n\n          for _,blocked in ipairs(blocked_rules) do\n            for _,unit in ipairs(blocked.units) do\n              unit.blocked = true\n              unit.blocked_dir = blocked.dirs and blocked.dirs[unit] or blocked.dir\n            end\n            -- print(\"blocked:\", fullDump(blocked))\n            removeFromTable(t, blocked)\n          end\n        end\n\n        if not_rules[n - 1] then\n          blockRules(not_rules[n - 1])\n        end\n        blockRules(full_rules)\n\n        mergeTable(all_units, rules.units)\n      end\n    end\n  end\n\n  -- Step 2:\n  -- Add all remaining rules to lookup tables\n  for _,rules in ipairs(full_rules) do\n    local rule = rules.rule\n\n    local subject, verb, object = rule.subject.name, rule.verb.name, rule.object.name\n\n    if not rules_with[subject] then\n      rules_with[subject] = {}\n    end\n    table.insert(rules_with[subject], rules)\n\n    if not rules_with[verb] then\n      rules_with[verb] = {}\n    end\n    if (verb ~= subject) then\n      table.insert(rules_with[verb], rules)\n    end\n\n    if not rules_with[object] then\n      rules_with[object] = {}\n    end\n    if (object ~= subject and object ~= verb) then\n      table.insert(rules_with[object], rules)\n    end\n\n    for _,unit in ipairs(rules.units) do\n      if not rules_with_unit[unit] then\n        rules_with_unit[unit] = {}\n      end\n      table.insert(rules_with_unit[unit], rules)\n    end\n\n    mergeTable(all_units, rules.units)\n  end\n\n  -- Step 3:\n  -- Unblock any units in an unblocked rule\n  for _,unit in ipairs(all_units) do\n    unit.blocked = false\n  end\n\n  if has_new_rule and not no_sound then\n    playSound(\"rule\", 0.5)\n  end\nend\n\nfunction shouldReparseRules()\n  if should_parse_rules then return true end\n  local rules_to_check = {\n    {\"?\",\"be\",\"wurd\"},\n    {\"?\",\"be\",\"anti wurd\"},\n  --{\"?\",\"be\",\"poortoll\"}, added down below, only checked if there is poor toll\n    {\"?\",\"be\",\"goarnd\"},\n    {\"?\",\"be\",\"mirrarnd\"},\n    {\"lvl\",\"be\",\"goarnd\", true},\n    {\"lvl\",\"be\",\"mirrarnd\", true},\n    {\"?\",\"be\",\"ortho\"},\n    {\"?\",\"be\",\"diag\"},\n    {\"?\",\"ben't\",\"wurd\"},\n    {\"?\",\"be\",\"zawarudo\"},\n    {\"?\",\"be\",\"rong\"},\n    {\"?\",\"be\",\"slep\"},\n    {\"?\",\"be\",\"boring\"},\n  }\n  if rules_with[\"poortoll\"] then\n    table.insert(rules_to_check, {\"?\",\"be\",\"poortoll\"})\n    table.insert(rules_to_check, {\"?\",\"ignor\",\"?\",true})\n  end\n  for _,rule in ipairs(rules_to_check) do\n    if shouldReparseRulesIfConditionalRuleExists(unpack(rule)) then return true end\n  end\n  return false\nend\n\nfunction populateRulesEffectingNames(r1, r2, r3)\n  local rules = matchesRule(r1, r2, r3)\n  for _,rule in ipairs(rules) do\n    local subject = rule.rule.subject.name\n    if subject == \"txt\" or (subject:sub(1, 4) ~= \"txt\") then\n      rules_effecting_names[subject] = true\n    end\n  end\n  \n  --hack for giv - parseRules every turn in case giv rule state changes\n  if hasRule(r1, \"giv\", r3) then\n    should_parse_rules_at_turn_boundary = true\n  end\nend\n\nfunction shouldReparseRulesIfConditionalRuleExists(r1, r2, r3, even_non_wurd)\n  local rules = matchesRule(r1, r2, r3)\n  for _,rule in ipairs(rules) do\n    local subject_cond = rule.rule.subject.conds or {}\n    local subject = rule.rule.subject.name\n    --We only care about conditional rules that effect text, specific text, wurd units and maybe portals too.\n    --We can also distinguish between different conditions (todo).\n    if (#subject_cond > 0 and (even_non_wurd or subject:starts(\"txt\") or rules_effecting_names[subject])) then\n      for _,cond in ipairs(subject_cond) do\n        local cond_name = cond.name\n        local params = cond.others or {}\n        --TODO: This needs to change for condition stacking.\n        --An infix condition that references another unit just dumps the second unit into rules_effecting_names (This is fine for all infix conditions, for now, but maybe not perpetually? for example sameFloat() might malfunction since the floatness of the other unit could change unexpectedly due to a SECOND conditional rule).\n        if (#params > 0) then\n          for _,param in ipairs(params) do\n            --might be recursive. TODO: extend indefinitely?\n            if (param.conds ~= nil) then\n              for _,cond2 in ipairs(param.conds) do\n                local params2 = cond2.others or {}\n                if (#params2 > 0) then\n                  for _,param2 in ipairs(params2) do\n                    rules_effecting_names[param2.name] = true\n                    if param2.name == \"mous\" then\n                      should_parse_rules_at_turn_boundary = true\n                    end\n                  end\n                end\n              end\n            end\n            rules_effecting_names[param.name] = true\n            if param.name == \"mous\" then\n              should_parse_rules_at_turn_boundary = true\n            end\n          end\n        else\n          --Handle specific prefix conditions.\n          --Frenles is hard to do since it could theoretically be triggered by ANY other unit. Instead, just make it reparse rules all the time, sorry.\n          if cond_name == \"frenles\" or cond_name == \"frenlesn't\" then\n            should_parse_rules = true\n            return true\n          elseif (cond_name == \"corekt\" or cond_name == \"corektn't\" or cond_name == \"rong\" or cond_name == \"rongn't\") then\n            --nothing\n          else\n            --What are the others? WAIT... only changes at turn boundary. MAYBE can only change on turn boundary or if the unit or text moves (by definition these already reparse rules). AN only changes on turn boundary. COREKT/RONG can only change when text reparses anyway by definition, so it should never trigger it. TIMELES only changes at turn boundary. CLIKT only changes at turn boundary. Colours only change at turn boundary. So every other prefix condition, for now, just needs one check per turn, but new ones will need to be considered.\n            should_parse_rules_at_turn_boundary = true\n          end\n          \n          --TODO: How should a parse effecting THE rule work? Continual reparsing, like frenles?\n          \n          --As another edge to consider, what if the level geometry changes suddenly? Well, portals already trigger reparsing rules when they update, which is the only kind of external level geometry change. In addition, txt/wurds changing flye/tall surprisingly would already trigger rule reparsing since we checked those rules. But, what about a non-wurd changing flye/tall, allowing it to go through a portal, changing the condition of a different parse effecting rule? This can also happen with level be go arnd/mirr arnd turning on or off. parseRules should fire in such cases. So specifically for these cases, even though they aren't wurd/text, we do want to fire parseRules when their conditions change.\n          \n          --One final edge case to consider: MOUS, which just moves around on its own. This also triggers should_parse_rules_at_turn_boundary, since that's how often we care about MOUS moving.\n        end\n      end\n    end\n  end\n  return false\nend\n"
  },
  {
    "path": "game/scene.lua",
    "content": "local scene = {}\r\nwindow_dir = 0\r\n\r\nmask_shader = pcallNewShader[[\r\n  vec4 effect(vec4 color, Image texture, vec2 texture_coords, vec2 screen_coords) {\r\n     vec4 tx = Texel(texture, texture_coords).rgba;\r\n     if (tx.rgb == vec3(0.0) || tx.a == 0) {\r\n        // a discarded pixel wont be applied as the stencil.\r\n        discard;\r\n     }\r\n     return vec4(1.0);\r\n  }\r\n]]\r\n\r\npaletteshader_0 = pcallNewShader[[\r\n  vec4 effect(vec4 color, Image texture, vec2 texture_coords, vec2 screen_coords) {\r\n    vec4 texturecolor = Texel(texture, texture_coords);\r\n    texturecolor = texturecolor * color;\r\n    number r = texturecolor.r;\r\n    number g = texturecolor.g;\r\n    number b = texturecolor.b;\r\n    return vec4(r, g, b, texturecolor.a);\r\n  }\r\n]]\r\n\r\nxwxShader = pcallNewShader[[\r\n\textern number time;\r\n\r\n\tvec4 effect( vec4 color, Image texture, vec2 texture_coords, vec2 screen_coords ){\r\n\t\tvec2 newCoord = texture_coords;\r\n\t\tfloat amt = 0.4;\r\n\t\tnewCoord.x = newCoord.x - (amt/2) + (fract(sin(dot(vec2(texture_coords.y, time), vec2(12.9898,78.233))) * 43758.5453) * amt/2);\r\n\t\tvec4 pixel = Texel(texture, newCoord ); //This is the current pixel color\r\n\t\treturn pixel * color;\r\n    }\r\n  ]]\r\n\r\n--local paletteshader_autumn = love.graphics.newShader(\"paletteshader_autumn.txt\")\r\n--local paletteshader_dunno = love.graphics.newShader(\"paletteshader_dunno.txt\")\r\nlocal shader_zawarudo = pcallNewShader(\"shader_pucker.txt\")\r\n\r\nlocal level_shader = paletteshader_0\r\nlocal doin_the_world = false\r\nlocal shader_time = 0\r\n\r\nlocal particle_timers = {}\r\n\r\nlocal canv = love.graphics.newCanvas(love.graphics.getWidth(), love.graphics.getHeight())\r\nlocal last_width,last_height = love.graphics.getWidth(),love.graphics.getHeight()\r\n\r\nlocal viewport\r\n\r\nlocal displaywords = false\r\n\r\nlocal stack_box, stack_font\r\nlocal pathlock_box, pathlock_font\r\nlocal initialwindoposition\r\nstopwatch = nil\r\n\r\ndrag_units = {}\r\nmous_for_drag_unit = {}\r\ninitialxy_for_drag_unit = {}\r\n\r\nlocal sessionseed\r\n\r\nlocal buttons = {}--{\"resume\", \"editor\", \"exit\", \"restart\"}\r\nlocal darken = nil\r\nlocal button_last_y = 0\r\npause = false\r\nselected_pause_button = 1\r\n\r\ndoing_rhythm_turn = false\r\n\r\nfunction scene.load()\r\n  sessionseed = math.random(0,100000000)/100000000\r\n\r\n  repeat_timers = {}\r\n  key_down = {}\r\n  selector_open = false\r\n\r\n  stack_box = {x = 0, y = 0, scale = 0, units = {}, enabled = false}\r\n  pathlock_box = {x = 0, y = 0, scale = 0, enabled = false}\r\n  stack_font = love.graphics.newFont(12)\r\n  stack_font:setFilter(\"nearest\",\"nearest\")\r\n  pathlock_font = love.graphics.newFont(16)\r\n  drag_units = {}\r\n  mous_for_drag_unit = {}\r\n  initialxy_for_drag_unit = {}\r\n\r\n  scene.resetStuff()\r\n\r\n  local now = os.time(os.date(\"*t\"))\r\n  presence = {\r\n    state = \"ingame\",\r\n    details = \"playing the gam\",\r\n    largeImageKey = \"cover\",\r\n    largeimageText = \"bab be u\",\r\n    smallImageKey = \"icon\",\r\n    smallImageText = \"bab\",\r\n    startTimestamp = now\r\n  }\r\n  nextPresenceUpdate = 0\r\n\r\n  if level_name then\r\n    presence[\"details\"] = \"playing level: \"..level_name\r\n  end\r\n\r\n  mouse_grabbed = false\r\n  love.mouse.setGrabbed(false)\r\n\r\n  -- mobile buttons\r\n  local screenwidth = love.graphics.getWidth()\r\n  local screenheight = love.graphics.getHeight()\r\n  local twelfth = screenwidth/12\r\n\r\n  mobile_controls_activekeys = \"wasd\"\r\n\r\n  gooi.newButton({text = \"\",x = 10*twelfth,y = screenheight-3*twelfth,w = twelfth,h = twelfth,group = \"mobile-controls\"}):onPress(function(c) doOneMove(0,-1,mobile_controls_activekeys) end):setBGImage(sprites[\"ui/arrow up\"]):bg({0, 0, 0, 0})\r\n  gooi.newButton({text = \"\",x = 11*twelfth,y = screenheight-2*twelfth,w = twelfth,h = twelfth,group = \"mobile-controls\"}):onPress(function(c) doOneMove(1,0,mobile_controls_activekeys) end):setBGImage(sprites[\"ui/arrow right\"]):bg({0, 0, 0, 0})\r\n  gooi.newButton({text = \"\",x = 10*twelfth,y = screenheight-1*twelfth,w = twelfth,h = twelfth,group = \"mobile-controls\"}):onPress(function(c) doOneMove(0,1,mobile_controls_activekeys) end):setBGImage(sprites[\"ui/arrow down\"]):bg({0, 0, 0, 0})\r\n  gooi.newButton({text = \"\",x =  9*twelfth,y = screenheight-2*twelfth,w = twelfth,h = twelfth,group = \"mobile-controls\"}):onPress(function(c) doOneMove(-1,0,mobile_controls_activekeys) end):setBGImage(sprites[\"ui/arrow left\"]):bg({0, 0, 0, 0})\r\n\r\n  gooi.newButton({text = \"\",x = 11*twelfth,y = screenheight-3*twelfth,w = twelfth,h = twelfth,group = \"mobile-controls\"}):onPress(function(c) doOneMove(1,-1,mobile_controls_activekeys) end):setBGImage(sprites[\"ui/arrow ur\"]):bg({0, 0, 0, 0})\r\n  gooi.newButton({text = \"\",x = 11*twelfth,y = screenheight-1*twelfth,w = twelfth,h = twelfth,group = \"mobile-controls\"}):onPress(function(c) doOneMove(1,1,mobile_controls_activekeys) end):setBGImage(sprites[\"ui/arrow dr\"]):bg({0, 0, 0, 0})\r\n  gooi.newButton({text = \"\",x = 9*twelfth,y = screenheight-1*twelfth,w = twelfth,h = twelfth,group = \"mobile-controls\"}):onPress(function(c) doOneMove(-1,1,mobile_controls_activekeys) end):setBGImage(sprites[\"ui/arrow dl\"]):bg({0, 0, 0, 0})\r\n  gooi.newButton({text = \"\",x = 9*twelfth,y = screenheight-3*twelfth,w = twelfth,h = twelfth,group = \"mobile-controls\"}):onPress(function(c) doOneMove(-1,-1,mobile_controls_activekeys) end):setBGImage(sprites[\"ui/arrow ul\"]):bg({0, 0, 0, 0})\r\n\r\n  gooi.newButton({text = \"\",x = 10*twelfth,y = screenheight-2*twelfth,w = twelfth,h = twelfth,group = \"mobile-controls\"}):onPress(function(c) doOneMove(0,0,mobile_controls_activekeys) end):setBGImage(sprites[\"ui/square\"]):bg({0, 0, 0, 0})\r\n\r\n  gooi.newButton({text = \"\",x = 9.25*twelfth,y = 0.25*twelfth,w = twelfth,h = twelfth,group = \"mobile-controls\"}):onPress(function(c) doOneMove(0, 0, \"undo\") end):setBGImage(sprites[\"ui/undo\"]):bg({0, 0, 0, 0})\r\n  gooi.newButton({text = \"\",x = 10.75*twelfth,y = 0.25*twelfth,w = twelfth,h = twelfth,group = \"mobile-controls\"}):onPress(function(c) scene.resetStuff() end):setBGImage(sprites[\"ui/reset\"]):bg({0, 0, 0, 0})\r\n\r\n  mobile_controls_timeless = gooi.newButton({text = \"\",x = 10*twelfth,y = 1.5*twelfth,w = twelfth,h = twelfth,group = \"mobile-controls\"}):onPress(function(c) doOneMove(0, 0, \"e\") end):setBGImage(sprites[\"ui/timestop\"]):bg({0, 0, 0, 0})\r\n\r\n  mobile_controls_p1 = gooi.newButton({text = \"\",x = 9*twelfth,y = screenheight-4.15*twelfth,w = twelfth,h = twelfth,group = \"mobile-controls\"}):onPress(function(c)\r\n    mobile_controls_activekeys = \"wasd\"\r\n    mobile_controls_p1:setBounds(9*twelfth, screenheight-4.15*twelfth)\r\n    mobile_controls_p2:setBounds(10*twelfth, screenheight-4.25*twelfth)\r\n    mobile_controls_p3:setBounds(11*twelfth, screenheight-4.25*twelfth)\r\n  end):setBGImage(sprites[\"ui_1\"]):bg({0, 0, 0, 0})\r\n  mobile_controls_p2 = gooi.newButton({text = \"\",x = 10*twelfth,y = screenheight-4.25*twelfth,w = twelfth,h = twelfth,group = \"mobile-controls\"}):onPress(function(c)\r\n    mobile_controls_activekeys = \"udlr\"\r\n    mobile_controls_p1:setBounds(9*twelfth, screenheight-4.25*twelfth)\r\n    mobile_controls_p2:setBounds(10*twelfth, screenheight-4.15*twelfth)\r\n    mobile_controls_p3:setBounds(11*twelfth, screenheight-4.25*twelfth)\r\n  end):setBGImage(sprites[\"ui_2\"]):bg({0, 0, 0, 0})\r\n  mobile_controls_p3 = gooi.newButton({text = \"\",x = 11*twelfth,y = screenheight-4.25*twelfth,w = twelfth,h = twelfth,group = \"mobile-controls\"}):onPress(function(c)\r\n    mobile_controls_activekeys = \"numpad\"\r\n    mobile_controls_p1:setBounds(9*twelfth, screenheight-4.25*twelfth)\r\n    mobile_controls_p2:setBounds(10*twelfth, screenheight-4.25*twelfth)\r\n    mobile_controls_p3:setBounds(11*twelfth, screenheight-4.15*twelfth)\r\n  end):setBGImage(sprites[\"ui_3\"]):bg({0, 0, 0, 0})\r\n\r\n  stopwatch = {visible = false, big = {rotation=0}, small = {rotation=0}}\r\n\r\n  gooi.setGroupVisible(\"mobile-controls\", is_mobile)\r\n\r\n  pause = false\r\n  scene.selecting = false\r\n\r\n  scene.buildUI()\r\nend\r\n\r\nfunction scene.buildUI()\r\n  -- darken is a UI element so that it can take focus from all UI underneath it\r\n  darken = ui.component.new():setColor(0, 0, 0, 0.5):setSize(love.graphics.getWidth(), love.graphics.getHeight()):setFill(true)\r\n\r\n  buttons = {}\r\n\r\n  if not options then\r\n    scene.addButton(\"resume\", function() pause = false end)\r\n    scene.addButton(\"restart\", function() pause = false; scene.resetStuff() end)\r\n    scene.addButton(\"editor\", function() new_scene = editor; load_mode = \"edit\" end)\r\n    scene.addButton(\"options\", function() options = true; scene.buildUI() end)\r\n    scene.addButton(\"exit to \" .. escResult(false), function() escResult(true) end)\r\n  else\r\n    buildOptions()\r\n  end\r\n\r\n  local ox, oy = love.graphics.getWidth()/2, buttons[1]:getHeight()*3\r\n  for _,button in ipairs(buttons) do\r\n    local width, height = button:getSize()\r\n    button:setPos(ox - width/2, oy)\r\n    oy = oy + height + 10\r\n  end\r\n  button_last_y = oy\r\nend\r\n\r\nfunction scene.addButton(text, func)\r\n  local button = ui.menu_button.new(text, #buttons%2+1, func)\r\n  table.insert(buttons, button)\r\n  return button\r\nend\r\n\r\nfunction scene.addOption(id, name, options, changed)\r\n  local option = 1\r\n  for i,v in ipairs(options) do\r\n    if settings[id] == v[2] then\r\n      option = i\r\n    end\r\n  end\r\n  scene.addButton(name .. \": \" .. options[option][1], function()\r\n    settings[id] = options[(((option-1)+1)%#options)+1][2]\r\n    saveAll()\r\n    if changed then\r\n      changed(settings[id])\r\n    end\r\n    scene.buildUI()\r\n  end)\r\nend\r\n\r\nfunction scene.update(dt)\r\n  mouse_X = love.mouse.getX()\r\n  mouse_Y = love.mouse.getY()\r\n\r\n  --mouse_movedX = love.mouse.getX() - love.graphics.getWidth()*0.5\r\n  --mouse_movedY = love.mouse.getY() - love.graphics.getHeight()*0.5\r\n\r\n  sound_volume = {}\r\n\r\n  scene.checkInput()\r\n  updateCursors()\r\n  \r\n  updateDragabl()\r\n\r\n  mouse_oldX = mouse_X\r\n  mouse_oldY = mouse_Y\r\n\r\n  if pause then dt = 0 end\r\n\r\n  if xwxShader then\r\n    xwxShader:send(\"time\", dt) -- send delta time to the shader\r\n  end\r\n\r\n  --TODO: PERFORMANCE: If many things are producing particles, it's laggy as heck.\r\n  scene.doPassiveParticles(dt, \":)\", \"bonus\", 0.25, 1, 1, {2, 4})\r\n  scene.doPassiveParticles(dt, \"un:)\", \"unwin\", 0.25, 1, 1, {1, 2})\r\n  scene.doPassiveParticles(dt, \"nxt\", \"nxt\", 0.25, 1, 1, {0, 3})\r\n  scene.doPassiveParticles(dt, \":o\", \"bonus\", 0.5, 0.8, 1, {4, 1})\r\n  scene.doPassiveParticles(dt, \"qt\", \"love\", 0.25, 0.5, 1, {4, 2})\r\n  scene.doPassiveParticles(dt, \"slep\", \"slep\", 1, 0.33, 1, {0, 3})\r\n  scene.doPassiveParticles(dt, \"thonk\", \"thonk\", 0.25, 0.5, 1, {0, 3})\r\n  scene.doPassiveParticles(dt, \"tryagain\", \"bonus\", 0.25, 0.25, 1, {3, 3})\r\n\t\r\n  doReplay(dt)\r\n  if rules_with and rules_with[\"rythm\"] then\r\n    doRhythm()\r\n  end\r\n  updateCamera()\r\nend\r\n\r\nfunction updateCamera()\r\n  if units_by_name and units_by_name[\"camra\"] and #units_by_name[\"camra\"] > 0 then\r\n    local camera = units_by_name[\"camra\"][1]\r\n    local vx, vy, vw, vh = camera.special.camera.x, camera.special.camera.y, camera.special.camera.w, camera.special.camera.h\r\n\r\n    local function updateCamPos()\r\n\r\n    end\r\n\r\n    local function setViewport(v)\r\n      if not v then\r\n        viewport = {\r\n          x = camera.x - vx - (vw - 1)/2,\r\n          y = camera.y - vy - (vh - 1)/2,\r\n          w = vw,\r\n          h = vh,\r\n          last_cam_x = camera.x,\r\n          last_cam_y = camera.y,\r\n        }\r\n      else\r\n        local x = math.floor(v.x + v.w/2)\r\n        local y = math.floor(v.y + v.h/2)\r\n        moveUnit(camera, x, y, nil, false)\r\n        v.last_cam_x = camera.x\r\n        v.last_cam_y = camera.y\r\n        viewport = v\r\n      end\r\n    end\r\n\r\n    if not viewport or camera.x ~= last_cam_x or camera.y ~= last_cam_y then\r\n      setViewport()\r\n    end\r\n\r\n    if rules_with then\r\n      local stalking = {}\r\n      local stalk_rules = matchesRule(camera, \"stalk\", nil)\r\n      for _,match in ipairs(stalk_rules) do\r\n        table.insert(stalking, match[2])\r\n      end\r\n      if #stalking > 0 then\r\n        local full_rect\r\n        for _,stalkee in ipairs(stalking) do\r\n          local stalk_rect = {}\r\n          stalk_rect.x1 = stalkee.draw.x - vx - (vw - 1)/2\r\n          stalk_rect.y1 = stalkee.draw.y - vy - (vh - 1)/2\r\n          stalk_rect.x2 = stalk_rect.x1 + vw\r\n          stalk_rect.y2 = stalk_rect.y1 + vh\r\n\r\n          if not full_rect then\r\n            full_rect = stalk_rect\r\n          else\r\n            full_rect.x1 = math.min(full_rect.x1, stalk_rect.x1)\r\n            full_rect.y1 = math.min(full_rect.y1, stalk_rect.y1)\r\n            full_rect.x2 = math.max(full_rect.x2, stalk_rect.x2)\r\n            full_rect.y2 = math.max(full_rect.y2, stalk_rect.y2)\r\n          end\r\n        end\r\n        if full_rect then\r\n          setViewport{\r\n            x = full_rect.x1,\r\n            y = full_rect.y1,\r\n            w = full_rect.x2 - full_rect.x1,\r\n            h = full_rect.y2 - full_rect.y1,\r\n          }\r\n          return\r\n        end\r\n      end\r\n    end\r\n  else\r\n    viewport = nil\r\n  end\r\nend\r\n\r\nfunction doRhythm()\r\n  if replay_playback then return false end\r\n\tif love.timer.getTime() > (rhythm_time + rhythm_interval) then\r\n    if not pause and not past_playback then\r\n      rhythm_time = rhythm_time + rhythm_interval\r\n      doMovement(0, 0, \"rythm\")\r\n    end\r\n\tend\r\nend\r\n\r\nfunction doReplay(dt)\r\n  if not replay_playback then return false end\r\n\tif love.timer.getTime() > (replay_playback_time + replay_playback_interval) then\r\n    if not pause and not replay_pause and not past_playback then\r\n      replay_playback_time = replay_playback_time + replay_playback_interval\r\n      doReplayTurn(replay_playback_turn)\r\n      replay_playback_turn = replay_playback_turn + 1\r\n    else\r\n      replay_playback_time = love.timer.getTime()\r\n    end\r\n\tend\r\n  return true\r\nend\r\n\r\nfunction doReplayTurn(turn)\r\n    if (replay_playback_turns == nil) then\r\n    replay_playback_string_parts = replay_playback_string:split(\"|\")\r\n    replay_playback_turns = replay_playback_string_parts[1]:split(\";\")\r\n    if (replay_playback_string_parts[2] ~= nil) then\r\n      local ok, loaded_rng_cache = serpent.load(love.data.decode(\"string\", \"base64\", replay_playback_string_parts[2]))\r\n      if (not ok) then\r\n        print(\"Serpent error while loading:\", ok, fullDump(loaded_rng_cache))\r\n      end\r\n      rng_cache = loaded_rng_cache\r\n    end\r\n  end\r\n\tlocal turn_string = replay_playback_turns[turn]\r\n\tif (turn_string == nil or turn_string == \"\") then\r\n\t\treplay_playback = false\r\n\t\tprint(\"Finished playback at turn: \"..tostring(turn))\r\n    return\r\n\tend\r\n\tlocal turn_parts = turn_string:split(\",\")\r\n\tx, y, key = tonumber(turn_parts[1]), tonumber(turn_parts[2]), turn_parts[3]\r\n  if (key == \"clikt\") then\r\n    last_click_button = 1\r\n    playSound(\"clicc\")\r\n  elseif (key == \"anti clikt\") then\r\n    last_click_button = 2\r\n    playSound(\"anti clicc\")\r\n  end\r\n  if (key:sub(1, 4) == \"drag\") then\r\n    last_click_button = 1\r\n    drag_units = {}\r\n    local drag_units_data = key:sub(6):split(\":\")\r\n    for _,drag_unit_data in ipairs(drag_units_data) do\r\n      local dudparts = drag_unit_data:split(\"@\")\r\n      local did, dx, dy = tonumber(dudparts[1]), tonumber(dudparts[2])-0.5, tonumber(dudparts[3])-0.5\r\n      if did~= nil then\r\n        local unit = units_by_id[did] or cursors_by_id[did]\r\n        if unit ~= nil then\r\n          --hack for unit tests mode - draw doesn't exist so we'll just... pretend\r\n          if (unit.draw == nil) then\r\n            unit.draw = {}\r\n          end\r\n          unit.draw.x = dx;\r\n          unit.draw.y = dy;\r\n          table.insert(drag_units, unit);\r\n        end\r\n      end\r\n    end\r\n    finishDragabl();\r\n    drag_units = {}\r\n    key = \"drag\"\r\n  end\r\n\tif (x == nil or y == nil) then\r\n\t\treplay_playback = false\r\n\t\tprint(\"Finished playback at turn: \"..tostring(turn))\r\n    return\r\n\telse\r\n    if (turn_parts[4] ~= nil) then\r\n      local ok, cursor_table = serpent.load(love.data.decode(\"string\", \"base64\", turn_parts[4]))\r\n      if (not ok) then\r\n        print(\"Serpent error while loading:\", ok, fullDump(cursor_table))\r\n      else\r\n        for i,coords in ipairs(cursor_table) do\r\n          local cursor = cursors[i]\r\n          if (cursor == nil) then\r\n            --print(\"Couldn't find cursor while doing replay, halp\")\r\n          else\r\n            cursor.x = coords[1]\r\n            cursor.y = coords[2]\r\n            if (not unit_tests) then\r\n              local screenx, screeny = gameTileToScreen(cursor.x+0.5, cursor.y+0.5)\r\n              cursor.screenx = screenx\r\n              cursor.screeny = screeny\r\n            end\r\n          end\r\n        end\r\n      end\r\n    end\r\n    doOneMove(x, y, key)\r\n  end\r\nend\r\n\r\nfunction string:split(sSeparator, nMax, bRegexp)\r\n   assert(sSeparator ~= '')\r\n   assert(nMax == nil or nMax >= 1)\r\n\r\n   local aRecord = {}\r\n\r\n   if self:len() > 0 then\r\n      local bPlain = not bRegexp\r\n      nMax = nMax or -1\r\n\r\n      local nField, nStart = 1, 1\r\n      local nFirst,nLast = self:find(sSeparator, nStart, bPlain)\r\n      while nFirst and nMax ~= 0 do\r\n         aRecord[nField] = self:sub(nStart, nFirst-1)\r\n         nField = nField+1\r\n         nStart = nLast+1\r\n         nFirst,nLast = self:find(sSeparator, nStart, bPlain)\r\n         nMax = nMax-1\r\n      end\r\n      aRecord[nField] = self:sub(nStart)\r\n   end\r\n\r\n   return aRecord\r\nend\r\n\r\nfunction scene.resetStuff(forTime)\r\n  if not forTime then\r\n    pastClear()\r\n  end\r\n  timeless = false\r\n  clear()\r\n  if not is_mobile then\r\n    love.mouse.setCursor(empty_cursor)\r\n  end\r\n  --love.mouse.setGrabbed(true)\r\n  resetMusic(map_music, 0.9)\r\n  rules_with = nil --fix for thicc/rotatabl persisting through restart since we check a couple of rules in createUnit. doesn't seem to break anything?\r\n  loadMap()\r\n  clearRules()\r\n  parseRules()\r\n  updateGroup()\r\n  calculateLight()\r\n  updateUnits(true)\r\n  updatePortals()\r\n  miscUpdates(true)\r\n  thiccBlock(true)\r\n  next_levels, next_level_objs = getNextLevels()\r\n  first_turn = false\r\n  window_dir = 0\r\n  \r\n  if playing_world then\r\n    saveWorld()\r\n  end\r\n  selectLastLevels()\r\nend\r\n    \r\nfunction scene.keyPressed(key, isrepeat)\r\n  if isrepeat then\r\n    return\r\n  end\r\n\r\n  last_input_time = love.timer.getTime()\r\n\r\n  if key == \"escape\" then\r\n    \r\n    --[[local current_level = level_name\r\n    if readSaveFile(level_name, \"won\") then\r\n      current_level = current_level..\" (won) \"\r\n    end\r\n    if readSaveFile(level_name, \"clear\") then\r\n      current_level = current_level..\" (cleared) \"\r\n    end\r\n    if readSaveFile(level_name, \"complete\") then\r\n      current_level = current_level..\" (complete) \"\r\n    end\r\n    if readSaveFile(level_name, \"bonus\") then\r\n      current_level = current_level..\" (bonused) \"\r\n    end\r\n    local tfs = readSaveFile(level_name, \"transform\")\r\n    if tfs then\r\n      current_level = current_level..\" (transformed into \" .. fullDump(tfs) .. \") \"\r\n    end\r\n    \r\n    ui.overlay.confirm({\r\n        text = current_level .. \"\\r\\n\\r\\n\" .. (spookmode and \"G̴͔̭͇͎͕͔ͪ̾ͬͦ̇͑͋͟͡o̵̸͓̠̦̱̭̘͍̱͑̃̀ͅ ̱̫͉̆͐̇ͥ̽͆͂͑̿͜b̸̵͈̼̜̅͗̄̆ͅa͚̠͚̣̺̗͖͈̓̿̈́͆͐̉ͯ̀̚c͉̜̙̤͍̞̳̬ͪ̇k̙͙̼̀̓̂̑̈́̌ͯ̕͢ͅ ̶̛̠̹̈̒ͫ͐t̙͉͍͚̠̗̰͗͊͛ͫ͒ͥ̏ͫ͢͜ȍ̙͙̪̬̎̊ͫͭͫ͗̔̚ ̴̪͖͔̖̙̬͍̥ͪ̾̾͂͂l̪͉͙̪̩͙̎̏͌̽ͤ̈́̀͜͠e̡͓͍͉̖̤ͬ̓̏ͥͫ̀ͅv̱͈͍̞̼̀͋̂̃͋́̚͠ͅḛ̷̷̱̿͂l̢̮͇̫̗͍̱͈̟͌̐̎̑̈́ ̵̠͖̣̟̲̖̇̈̓ͭͫ͠s͚̝̻ͤ̓̀̀e̅͑̐̄͏̤̫̕͠lͨ͋͌ͤͩ̋̓͏̘̼̠̪̖͓͔̹e̵͖̤̒͒ͥ̓ͬ̓͘c͖͈̏̄̐̅̎ͨ͢ṫ͔̥͓̊̌̓̇ọ̞̤͔̩̒͗ͨ́̓͟ŗ̖͉̹̻̮̬̦͌̿͂?̶̡͈̫̗̈́̒̎̃̎̓\" or \"Go back to \"..escResult(false)..\"?\"),\r\n        okText = \"Yes\",\r\n        cancelText = spookmode and \"Yes\" or \"Cancel\",\r\n        ok = function()\r\n          escResult(true)\r\n        end\r\n      })\r\n      return]]\r\n\r\n    pause = not pause\r\n    selected_pause_button = 1\r\n  end\r\n  \r\n  \r\n    if key == \"g\" and (key_down[\"lctrl\"] or key_down[\"rctrl\"]) then\r\n        settings[\"grid_lines\"] = not settings[\"grid_lines\"]\r\n        saveAll()\r\n    end\r\n  \r\n  \r\n  if pause then\r\n    scene.selecting = true\r\n    --[[if key == \"w\" or key == \"up\" or key == \"i\" or key == \"kp8\" then\r\n      selected_pause_button = selected_pause_button - 1\r\n      if selected_pause_button < 1 then\r\n        selected_pause_button = #buttons\r\n      end\r\n    elseif key == \"s\" or key == \"down\" or key == \"k\" or key == \"kp2\" then\r\n      selected_pause_button = selected_pause_button + 1\r\n      if selected_pause_button > #buttons then\r\n        selected_pause_button = 1\r\n      end\r\n    elseif key == \"return\" or key == \"space\" or key == \"kpenter\" then\r\n      handlePauseButtonPressed(selected_pause_button)\r\n    end]]\r\n  else\r\n    scene.selecting = false\r\n    local do_turn_now = false\r\n\r\n    if (key == \"w\" or key == \"a\" or key == \"s\" or key == \"d\") then\r\n      if not repeat_timers[\"wasd\"] or repeat_timers[\"wasd\"] > 30 then\r\n        repeat_timers[\"wasd\"] = 30\r\n      elseif repeat_timers[\"wasd\"] <= 30 then\r\n        do_turn_now = true\r\n        repeat_timers[\"wasd\"] = 0\r\n      end\r\n    elseif (key == \"up\" or key == \"down\" or key == \"left\" or key == \"right\") then\r\n      if not repeat_timers[\"udlr\"] or repeat_timers[\"udlr\"] > 30 then\r\n        repeat_timers[\"udlr\"] = 30\r\n      elseif repeat_timers[\"udlr\"] <= 30 then\r\n        do_turn_now = true\r\n        repeat_timers[\"udlr\"] = 0\r\n      end\r\n    elseif (key == \"i\" or key == \"j\" or key == \"k\" or key == \"l\") then\r\n      if not repeat_timers[\"ijkl\"] or repeat_timers[\"ijkl\"] > 30 then\r\n        repeat_timers[\"ijkl\"] = 30\r\n      elseif repeat_timers[\"ijkl\"] <= 30 then\r\n        do_turn_now = true\r\n        repeat_timers[\"ijkl\"] = 0\r\n      end\r\n    elseif (key == \"kp1\" or\r\n    key == \"kp2\" or\r\n    key == \"kp3\" or\r\n    key == \"kp4\" or\r\n    key == \"kp5\" or\r\n    key == \"kp6\" or\r\n    key == \"kp7\" or\r\n    key == \"kp8\" or\r\n    key == \"kp9\") then\r\n      if not repeat_timers[\"udlr\"] then\r\n        do_turn_now = true\r\n        repeat_timers[\"numpad\"] = 0\r\n      end\r\n    elseif (key == \"z\" or key == \"q\" or key == \"backspace\" or key == \"kp0\" or key == \"o\") then\r\n      if not repeat_timers[\"undo\"] then\r\n          do_turn_now = true\r\n          repeat_timers[\"undo\"] = 0\r\n      end\r\n    end\r\n    \r\n   if rules_with and rules_with[\"rythm\"] then\r\n      if key == \"+\" or key == \"=\" then\r\n        rhythm_interval = rhythm_interval * 0.8\r\n      elseif key == \"-\" or key == \"_\" then\r\n        rhythm_interval = rhythm_interval / 0.8\r\n      end\r\n    end\r\n    \r\n    --print(rhythm_interval)\r\n\r\n    for _,v in ipairs(repeat_keys) do\r\n      if v == key then\r\n        do_turn_now = true\r\n        repeat_timers[v] = 0\r\n      end\r\n    end\r\n\r\n    if key == \"r\" then\r\n      if not currently_winning or not key_down[\"lctrl\"] then\r\n        scene.resetStuff()\r\n      elseif not RELEASE_BUILD and world_parent == \"officialworlds\" then\r\n        local file = love.filesystem.getSource() .. \"/\" .. getWorldDir() .. \"/\" .. level_filename .. \".replay\"\r\n        local f = io.open(file, \"w\"); f:write(official_replay_string); f:close()\r\n        print(\"Replay successfully saved to \" .. getWorldDir() .. \"/\" .. level_filename .. \".replay\")\r\n      end\r\n    end\r\n    \r\n    -- Replay keys\r\n      if key == \"f12\" then\r\n        if not replay_playback then\r\n          tryStartReplay()\r\n        else\r\n          replay_playback = false\r\n        end\r\n      end\r\n      \r\n      if replay_playback and not pause then\r\n        if key == \"+\" or key == \"=\" or key == \"w\" or key == \"up\" then\r\n          replay_playback_interval = replay_playback_interval * 0.8\r\n        elseif key == \"-\" or key == \"_\" or key == \"s\" or key == \"down\" then\r\n          replay_playback_interval = replay_playback_interval / 0.8\r\n        elseif key == \"0\" or key == \")\" then\r\n          replay_playback_interval = 0.3\r\n        elseif key == \"space\" then\r\n          replay_pause = not replay_pause\r\n        elseif key == \"z\" or key == \"q\" or key == \"backspace\" or key == \"kp0\" or key == \"o\" or key == \"a\" or key == \"left\" then\r\n          replay_pause = true\r\n          if replay_playback_turn > 1 then\r\n            replay_playback_turn = replay_playback_turn - 1\r\n            doOneMove(0,0,\"undo\")\r\n          end\r\n          print(replay_playback_turn)\r\n        elseif key == \"d\" or key == \"right\" then\r\n          doReplayTurn(replay_playback_turn)\r\n          replay_playback_turn = replay_playback_turn + 1\r\n        elseif key == \"e\" then\r\n          replay_playback_interval = 0\r\n        end\r\n      end\r\n      \r\n    if key == \"e\" and not currently_winning and not replay_playback then\r\n      doOneMove(0, 0, \"e\")\r\n    end\r\n    \r\n    if key == \"f\" and not currently_winning and not replay_playback then\r\n      doOneMove(0, 0, \"f\")\r\n    end\r\n\r\n    if key == \"tab\" then\r\n      displaywords = true\r\n    end\r\n    \r\n    if key == \"y\" and hasU(\"swan\") and units_by_name[\"swan\"] then\r\n        playSound(\"honk\"..love.math.random(1,6))\r\n    end\r\n\r\n    most_recent_key = key\r\n    key_down[key] = true\r\n\r\n    if (do_turn_now) then\r\n      scene.checkInput()\r\n    end\r\n  end\r\nend\r\n\r\nfunction tryStartReplay(instant)\r\n  scene.resetStuff()\r\n  local dir = getWorldDir() .. \"/\"\r\n  local full_dir = getWorldDir(true) .. \"/\"\r\n  if love.filesystem.getInfo(dir .. level_filename .. \".replay\") then\r\n    replay_playback_string = love.filesystem.read(dir .. level_filename .. \".replay\")\r\n    replay_playback = true\r\n    print(\"Started replay from: \"..dir .. level_filename .. \".replay\")\r\n  elseif love.filesystem.getInfo(full_dir .. level_name .. \".replay\") then\r\n    replay_playback_string = love.filesystem.read(full_dir .. level_name .. \".replay\")\r\n    replay_playback = true\r\n    print(\"Started replay from: \"..full_dir .. level_name .. \".replay\")\r\n  elseif love.filesystem.getInfo(\"levels/\" .. level_filename .. \".replay\") then\r\n    replay_playback_string = love.filesystem.read(\"levels/\" .. level_filename .. \".replay\")\r\n    replay_playback = true\r\n    print(\"Started replay from: \"..\"levels/\" .. level_filename .. \".replay\")\r\n  elseif love.filesystem.getInfo(\"levels/\" .. level_name .. \".replay\") then\r\n    replay_playback_string = love.filesystem.read(\"levels/\" .. level_name .. \".replay\")\r\n    replay_playback = true\r\n    print(\"Started replay from: \"..\"levels/\" .. level_name .. \".replay\")\r\n  else\r\n    print(\"Failed to find replay: \".. dir .. level_filename .. \".replay\")\r\n  end\r\n\r\n  if instant then\r\n    local turn = 1\r\n    while replay_playback do\r\n      doReplayTurn(turn)\r\n      turn = turn + 1\r\n    end\r\n  end\r\nend\r\n\r\n--TODO: Releasing a key could signal to instantly run input under certain circumstances.\r\n--UPDATE: I tested it and it didn't help (the keyReleased function never got called before the 30ms elapsed). I have no idea why.\r\nfunction scene.keyReleased(key)\r\n  for _,v in ipairs(repeat_keys) do\r\n    if v == key then\r\n      repeat_timers[v] = nil\r\n    end\r\n  end\r\n\r\n  if key == \"tab\" then\r\n    displaywords = false\r\n  end\r\n\r\n  if key == \"z\" or key == \"q\" or key == \"backspace\" or key == \"kp0\" or key == \"o\" then\r\n    UNDO_DELAY = MAX_UNDO_DELAY\r\n  end\r\n\r\n  --[[local do_turn_now = false\r\n\r\n  print(key)\r\n  if key == \"w\" or key == \"s\" and not key_down[\"a\"] and not key_down[\"d\"] then\r\n    print(repeat_timers[\"wasd\"])\r\n    if repeat_timers[\"wasd\"] <= 30 then\r\n      do_turn_now = true\r\n      repeat_timers[\"wasd\"] = 0\r\n    end\r\n  elseif key == \"a\" or key == \"d\" and not key_down[\"w\"] and not key_down[\"s\"] then\r\n    if repeat_timers[\"wasd\"] <= 30 then\r\n      do_turn_now = true\r\n      repeat_timers[\"wasd\"] = 0\r\n    end\r\n  elseif key == \"up\" or key == \"down\" and not key_down[\"left\"] and not key_down[\"right\"] then\r\n    if repeat_timers[\"udlr\"] <= 30 then\r\n      do_turn_now = true\r\n      repeat_timers[\"udlr\"] = 0\r\n    end\r\n  elseif key == \"left\" or key == \"right\" and not key_down[\"up\"] and not key_down[\"down\"] then\r\n    if repeat_timers[\"udlr\"] <= 30 then\r\n      do_turn_now = true\r\n      repeat_timers[\"udlr\"] = 0\r\n    end\r\n  end\r\n\r\n  if (do_turn_now) then\r\n    print(\"asdf\")\r\n    scene.checkInput()\r\n  end]]--\r\n\r\n  key_down[key] = false\r\nend\r\n\r\nfunction scene.getTransform()\r\n  local transform = love.math.newTransform()\r\n\r\n  local roomwidth = mapwidth * TILE_SIZE\r\n  local roomheight = mapheight * TILE_SIZE\r\n\r\n  local screenwidth = love.graphics.getWidth() * (is_mobile and 0.75 or 1)\r\n  local screenheight = love.graphics.getHeight()\r\n\r\n  local targetwidth = (mapwidth + 4) * TILE_SIZE\r\n  local targetheight = (mapheight + 4) * TILE_SIZE\r\n\r\n  if viewport then\r\n    --local camera = units_by_name[\"camra\"][1]\r\n    --local vx, vy, vw, vh = camera.special.camera.x, camera.special.camera.y, camera.special.camera.w, camera.special.camera.h\r\n\r\n    local scale = math.min(screenwidth / (viewport.w * TILE_SIZE), screenheight / (viewport.h * TILE_SIZE))\r\n    local scaledwidth = screenwidth * (1/scale)\r\n    local scaledheight = screenheight * (1/scale)\r\n\r\n    --transform:translate(scaledwidth / 2 - roomwidth / 2, scaledheight / 2 - roomheight / 2)\r\n    --transform:translate((camera.x - vx + 0.5) * TILE_SIZE, (camera.y - vy + 0.5) * TILE_SIZE)\r\n    transform:scale(scale, scale)\r\n    transform:translate(-(viewport.x + viewport.w/2) * TILE_SIZE, -(viewport.y + viewport.h/2) * TILE_SIZE)\r\n    transform:translate(scaledwidth/2, scaledheight/2)\r\n  else\r\n    if settings[\"int_scaling\"] then\r\n      targetwidth = roomwidth\r\n      targetheight = roomheight\r\n    end\r\n\r\n    local scale = 1\r\n    if settings[\"int_scaling\"] then\r\n      local scales = {0.25, 0.375, 0.5, 0.75, 1, 2, 3, 4}\r\n      scale = scales[1]\r\n      for _,s in ipairs(scales) do\r\n        if screenwidth >= roomwidth * s and screenheight >= roomheight * s then\r\n          scale = s\r\n        else break end\r\n      end\r\n    else\r\n      scale = math.min(screenwidth / targetwidth, screenheight / targetheight)\r\n    end\r\n\r\n    local scaledwidth = screenwidth * (1/scale)\r\n    local scaledheight = screenheight * (1/scale)\r\n\r\n    transform:scale(scale, scale)\r\n    transform:translate(scaledwidth / 2 - roomwidth / 2, scaledheight / 2 - roomheight / 2)\r\n  end\r\n\r\n  if shake_dur > 0 and not outerlvl.cool then\r\n    local range = 1\r\n    transform:translate(math.random(-range, range), math.random(-range, range))\r\n  end\r\n\r\n  return transform\r\nend\r\n\r\n--TODO: PERFORMANCE: Calling hasProperty once per frame means that we have to index rules, check conditions, etc. with O(m*n) performance penalty. But, the results of these calls do not change until a new turn or undo. So, we can cache the values of these calls in a global table and dump the table whenever the turn changes for a nice and easy performance boost.\r\n--(Though this might not be true for mice, which can change their position mid-frame?? Also for other meta stuff (like windo)? Until there's mouse conditional rules or meta stuff in a puzzle IDK how this should actually work or be displayed. Just keep that in mind tho.)\r\nfunction scene.draw(dt)\r\n  if pause then dt = 0 end\r\n\r\n  local draw_empty = rules_with[\"no1\"] ~= nil\r\n  local start_time = love.timer.getTime()\r\n  -- reset canvas if the screen size has changed\r\n  if love.graphics.getWidth() ~= last_width or love.graphics.getHeight() ~= last_height then\r\n    last_width = love.graphics.getWidth()\r\n    last_height = love.graphics.getHeight()\r\n    canv = love.graphics.newCanvas(love.graphics.getWidth(), love.graphics.getHeight())\r\n  end\r\n\r\n  love.graphics.setCanvas{canv, stencil=true}\r\n  love.graphics.setShader()\r\n\r\n  --background color\r\n  local bg_color = {getPaletteColor(1, 0)}\r\n  \r\n  if timeless then bg_color = {getPaletteColor(0, 0)}\r\n  elseif rainbowmode then bg_color = {hslToRgb(love.timer.getTime()/6%1, .2, .2, .9), 1} end\r\n\r\n  love.graphics.setColor(bg_color[1], bg_color[2], bg_color[3], bg_color[4])\r\n\r\n  -- fill the background with the background color\r\n  love.graphics.rectangle(\"fill\", 0, 0, love.graphics.getWidth(), love.graphics.getHeight())\r\n\r\n  local roomwidth = mapwidth * TILE_SIZE\r\n  local roomheight = mapheight * TILE_SIZE\r\n\r\n  love.graphics.push()\r\n  love.graphics.applyTransform(scene.getTransform())\r\n\r\n  love.graphics.setColor(getPaletteColor(0,3))\r\n  love.graphics.printf(next_level_name, 0, -14, roomwidth)\r\n\r\n  local lvl_color = {getPaletteColor(0, 4)}\r\n  \r\n  --[[if hasProperty(outerlvl,\"tranz\") then\r\n    love.graphics.draw(sprites[\"overlay/trans\"], 0, 0, 0, roomwidth / sprites[\"overlay/trans\"]:getWidth(), roomheight / sprites[\"overlay/trans\"]:getHeight()) \r\n  end\r\n  if hasProperty(outerlvl,\"gay\") then\r\n    table.insert(outerlvl.overlay, \"gay\")\r\n  end]]\r\n  \r\n  -- Lvl be colors\r\n  if hasProperty(outerlvl,\"rave\") then\r\n    lvl_color = {hslToRgb((love.timer.getTime()/3+#undo_buffer/45)%1, 0.1, 0.1, .9), 1}\r\n  elseif hasProperty(outerlvl,\"colrful\") or rainbowmode then\r\n    lvl_color = {hslToRgb(love.timer.getTime()/6%1, .1, .1, .9), 1}\r\n  elseif (hasProperty(outerlvl,\"reed\") and hasProperty(outerlvl,\"whit\")) or hasProperty(outerlvl,\"pinc\") then\r\n    lvl_color = {getPaletteColor(4, 1)}\r\n  elseif (hasProperty(outerlvl,\"grun\") and hasProperty(outerlvl,\"whit\")) then\r\n    lvl_color = {getPaletteColor(5, 3)}\r\n  elseif hasProperty(outerlvl,\"whit\") then\r\n    lvl_color = {getPaletteColor(0, 3)}\r\n  elseif (hasProperty(outerlvl,\"bleu\") and hasProperty(outerlvl,\"reed\")) or hasProperty(outerlvl,\"purp\") then\r\n    lvl_color = {getPaletteColor(3, 1)}\r\n  elseif (hasProperty(outerlvl,\"reed\") and hasProperty(outerlvl,\"grun\")) or hasProperty(outerlvl,\"yello\") then\r\n    lvl_color = {getPaletteColor(2, 4)}\r\n  elseif (hasProperty(outerlvl,\"reed\") and hasProperty(outerlvl,\"yello\")) or hasProperty(outerlvl,\"orang\") then\r\n    lvl_color = {getPaletteColor(2, 3)}\r\n  elseif (hasProperty(outerlvl,\"bleu\") and hasProperty(outerlvl,\"grun\")) or hasProperty(outerlvl,\"cyeann\") then\r\n    lvl_color = {getPaletteColor(1, 4)}\r\n  elseif hasProperty(outerlvl,\"reed\") then\r\n    lvl_color = {getPaletteColor(2, 2)}\r\n  elseif hasProperty(outerlvl,\"bleu\") then\r\n    lvl_color = {getPaletteColor(1, 3)}\r\n  elseif hasProperty(outerlvl,\"grun\") then\r\n    lvl_color = {getPaletteColor(5, 2)}\r\n  elseif hasProperty(outerlvl,\"cyeann\") then\r\n    lvl_color = {getPaletteColor(1, 4)}\r\n  elseif hasProperty(outerlvl,\"blacc\") then\r\n    lvl_color = {getPaletteColor(0, 4)}\r\n  end\r\n\r\n  love.graphics.setColor(lvl_color[1], lvl_color[2], lvl_color[3], lvl_color[4])\r\n  \r\n  if not (level_destroyed or hasProperty(outerlvl, \"stelth\")) then\r\n    local flyenes = countProperty(outerlvl,\"flye\")\r\n    local mapy = 0 - math.sin(love.timer.getTime())*5*flyenes\r\n    love.graphics.rectangle(\"fill\", 0, mapy, roomwidth, roomheight)\r\n    if level_background_sprite ~= nil and level_background_sprite ~= \"\" and sprites[level_background_sprite] then\r\n      love.graphics.setColor(1, 1, 1)\r\n      local sprite = sprites[level_background_sprite]\r\n      love.graphics.draw(sprite, 0, 0, 0, 1, 1, 0, 0)\r\n    end\r\n  end\r\n  \r\n  if settings[\"grid_lines\"] then\r\n    love.graphics.setLineWidth(1)\r\n    local r,g,b,a = getPaletteColor(0,1)\r\n    love.graphics.setColor(r,g,b,0.3)\r\n    for i=1,mapwidth-1 do\r\n      love.graphics.line(i*TILE_SIZE,0,i*TILE_SIZE,roomheight)\r\n    end\r\n    for i=1,mapheight-1 do\r\n      love.graphics.line(0,i*TILE_SIZE,roomwidth,i*TILE_SIZE)\r\n    end\r\n  end\r\n\r\n  local function drawUnit(unit, drawx, drawy, rotation, loop)\r\n    if unit.name == \"no1\" and not (draw_empty and validEmpty(unit)) then return end\r\n    \r\n    local brightness = 1\r\n    if ((rules_with[\"wurd\"] and hasRule(unit,\"be\",\"wurd\")) or (rules_with[\"anti wurd\"] and hasRule(unit,\"be\",\"anti wurd\"))) and not unit.active and not level_destroyed and not (unit.fullname == \"prop\") then\r\n      brightness = 0.33\r\n    end\r\n\r\n    if (unit.name == \"steev\") and not hasU(unit) then\r\n      brightness = 0.33\r\n    end\r\n    \r\n    if unit.name == \"casete\" and not hasProperty(unit, \"nogo\") then\r\n      brightness = 0.5\r\n    end\r\n    \r\n    if timeless and not hasProperty(unit,\"zawarudo\") and not (unit.type == \"txt\") then\r\n      brightness = 0.33\r\n    end\r\n\r\n    if unit.fullname == \"txt_now\" then\r\n      if doing_past_turns then\r\n        unit.sprite = {\"txt/latr\"}\r\n      else\r\n        unit.sprite = {\"txt/now\"}\r\n      end\r\n    end\r\n\r\n    \r\n    if unit.rave then\r\n      -- print(\"unit \" .. unit.name .. \" is rave\")\r\n      local ravespeed = 0.75\r\n      if settings[\"lessflashing\"] then\r\n        ravespeed = 7.5\r\n      end\r\n      \r\n      local newcolor = hslToRgb((love.timer.getTime()/ravespeed+#undo_buffer/45+unit.x/18+unit.y/18)%1, .5, .5, 1)\r\n      newcolor[1] = newcolor[1]*255\r\n      newcolor[2] = newcolor[2]*255\r\n      newcolor[3] = newcolor[3]*255\r\n      unit.color_override = newcolor\r\n    elseif unit.colrful or rainbowmode then\r\n      -- print(\"unit \" .. unit.name .. \" is colourful or rainbowmode\")\r\n      local newcolor = hslToRgb((love.timer.getTime()/15+#undo_buffer/45+unit.x/18+unit.y/18)%1, .5, .5, 1)\r\n      newcolor[1] = newcolor[1]*255\r\n      newcolor[2] = newcolor[2]*255\r\n      newcolor[3] = newcolor[3]*255\r\n      unit.color_override = newcolor\r\n    end\r\n    \r\n    local wobble_suffix = unit.wobble and (\"_\" .. (unit.frame + anim_stage) % 3 + 1) or \"\"\r\n    local sprite = sprites[unit.sprite[1]]\r\n\r\n    --no tweening empty for now - it's buggy!\r\n    --TODO: it's still a little buggy if you push/pull empties.\r\n    if (unit.name == \"no1\") then\r\n      --drawx = unit.x\r\n      --drawy = unit.y\r\n      --rotation = math.rad((unit.dir - 1) * 45)\r\n      unit.draw.scalex = 1\r\n      unit.draw.scaley = 1\r\n    end\r\n\r\n\t\tlocal function setColor(color)\r\n      color = type(color[1]) == \"table\" and color[1] or color\r\n      if #color == 3 then\r\n        if color[1] then\r\n          color = {color[1]/255, color[2]/255, color[3]/255, 1}\r\n        else\r\n          color = {1,1,1,1}\r\n        end\r\n      else\r\n        local palette = current_palette\r\n        if current_palette == \"default\" and unit.wobble then\r\n          palette = \"baba\"\r\n        end\r\n\t\t\t\tcolor = {getPaletteColor(color[1], color[2], palette)}\r\n\t\t\tend\r\n\r\n\t\t\t-- multiply brightness by darkened bg color\r\n\t\t\tfor i,c in ipairs(bg_color) do\r\n\t\t\t\tif i < 4 then\r\n\t\t\t\t\tcolor[i] = (1 - brightness) * (bg_color[i] * 0.5) + brightness * color[i]\r\n\t\t\t\tend\r\n\t\t\tend\r\n\r\n\t\t\tif #unit.overlay > 0 and type(unit.sprite) == \"string\" and eq(unit.color, getTile(unit.tile).color) then\r\n\t\t\t\tlove.graphics.setColor(1, 1, 1, unit.draw.opacity)\r\n\t\t\telse\r\n\t\t\t\tlove.graphics.setColor(color[1], color[2], color[3], unit.draw.opacity)\r\n\t\t\tend\r\n\t\t\treturn color\r\n\t\tend\r\n\t\t\r\n\t\tlocal color = setColor(getUnitColor(unit))\r\n    if unit.fullname == \"tronk\" then\r\n      if math.floor(love.timer.getTime()*10)%2 == 1 then\r\n        local r,g,b = getPaletteColor((getUnitColor(unit))[1],(getUnitColor(unit))[2])\r\n        setColor{r*350,g*350,b*350}\r\n      end\r\n    end\r\n    --check level_destroyed so that the object created by infloop is always white needs to be changed if we want objects to be able to survive level destruction\r\n    if level_destroyed then\r\n      setColor({0,3})\r\n    end\r\n\r\n    local fulldrawx = (drawx + 0.5)*TILE_SIZE\r\n    local fulldrawy = (drawy + 0.5)*TILE_SIZE\r\n    if (unit.draw.thicc) then\r\n      fulldrawx = fulldrawx + (unit.draw.thicc-1)*TILE_SIZE/2\r\n      fulldrawy = fulldrawy + (unit.draw.thicc-1)*TILE_SIZE/2\r\n    end\r\n\r\n    if graphical_property_cache[\"flye\"][unit] ~= nil or (unit.parent and graphical_property_cache[\"flye\"][unit.parent] ~= nil) or unit.name == \"o\" or unit.name == \"square\" or unit.name == \"triangle\" then\r\n      local flyenes = graphical_property_cache[\"flye\"][unit] or (unit.parent and graphical_property_cache[\"flye\"][unit.parent]) or 0\r\n      if unit.name == \"o\" or unit.name == \"square\" or unit.name == \"triangle\" then\r\n        flyenes = flyenes + 1\r\n      end\r\n      if flyenes > 0 then \r\n        fulldrawy = fulldrawy - math.sin(love.timer.getTime())*5*flyenes\r\n      end\r\n    end\r\n    \r\n    if unit.fullname == \"txt_temmi\" and unit.active then\r\n      local range = 0.5\r\n      fulldrawx = fulldrawx + math.random(-range, range)\r\n      fulldrawy = fulldrawy + math.random(-range, range)\r\n    end\r\n\r\n    local function getOffset()\r\n      if unit.cool or not settings[\"shake_on\"] then return 0,0 end\r\n      if rules_with[\"temmi\"] or rules_with[\"anti slep\"] then\r\n        local do_vibrate = false\r\n        if unit.fullname == \"temmi\" then\r\n          do_vibrate = true\r\n        elseif unit.type == \"txt\" and unit.active then\r\n          local rules_list = rules_with_unit[unit]\r\n          if rules_list then\r\n            for _,rules in ipairs(rules_list) do\r\n              for _,rule_unit in ipairs(rules.units) do\r\n                if rule_unit.fullname == \"txt_temmi\" then\r\n                  do_vibrate = true\r\n                  break\r\n                end\r\n              end\r\n              if do_vibrate then break end\r\n            end\r\n          end\r\n        elseif hasProperty(unit,\"anti slep\") then\r\n          do_vibrate = true\r\n        end\r\n        if do_vibrate then\r\n          if unit.fullname == \"temmi\" then\r\n            local props = countProperty(unit,\"?\")\r\n            props = props + (countProperty(unit,\"anti slep\") * 9)\r\n            if math.random() > 1/(props+1) then\r\n              return math.random(-props, props), math.random(-props, props)\r\n            end\r\n          else\r\n            local props = countProperty(unit,\"anti slep\")\r\n            if math.random() > 1/(props+1) then\r\n              return math.random(-props, props), math.random(-props, props)\r\n            elseif props == 0 and math.random() > 0.5 then\r\n              return math.random(-1,1), math.random(-1,1)\r\n            end\r\n          end\r\n        end\r\n      elseif shake_dur > 0 then\r\n        local range = 0.5\r\n        return math.random(-range, range), math.random(-range, range)\r\n      end\r\n      return 0,0\r\n    end\r\n\r\n    love.graphics.push()\r\n    love.graphics.translate(fulldrawx, fulldrawy)\r\n    love.graphics.push()\r\n    love.graphics.rotate(math.rad(rotation))\r\n    if unit.draw.thicc then\r\n      love.graphics.scale(unit.draw.thicc)\r\n    end\r\n    love.graphics.translate(-fulldrawx, -fulldrawy)\r\n    \r\n    --performance todos: each line gets drawn twice (both ways), so there's probably a way to stop that. might not be necessary though, since there is no lag so far\r\n    --in fact, the double lines add to the pixelated look, so for now i'm going to make it intentional and actually add it in a couple places to be consistent\r\n    local has_lin = false\r\n    if unit.name == \"lin\" and (not unit.special.pathlock or unit.special.pathlock == \"none\") and scene ~= editor then\r\n      love.graphics.setLineWidth(4)\r\n      love.graphics.setLineStyle(\"rough\")\r\n      local orthos = {}\r\n      local line = {}\r\n      for ndir=1,4 do\r\n        local nx,ny = dirs[ndir][1],dirs[ndir][2]\r\n        local dx,dy,dir,px,py,portal = getNextTile(unit,nx,ny,2*ndir-1)\r\n        local around = getUnitsOnTile(px,py)\r\n        for _,other in ipairs(around) do\r\n          if other.name == \"lin\" or other.name == \"lvl\" then\r\n            orthos[ndir] = true\r\n            table.insert(line,{unit.x*2-unit.draw.x+nx+other.draw.x-other.x, unit.y*2-unit.draw.y+ny+other.draw.y-other.y, portal})\r\n            break\r\n          else\r\n            orthos[ndir] = false\r\n          end\r\n        end\r\n      end\r\n      for ndir=2,8,2 do\r\n        local nx,ny = dirs8[ndir][1],dirs8[ndir][2]\r\n        local dx,dy,dir,px,py,portal = getNextTile(unit,nx,ny,ndir)\r\n        local around = getUnitsOnTile(px,py)\r\n        for _,other in ipairs(around) do\r\n          if (other.name == \"lin\" or other.name == \"lvl\") and not orthos[ndir/2] and not orthos[dirAdd(ndir,2)/2] then\r\n            table.insert(line,{unit.x*2-unit.draw.x+nx+other.draw.x-other.x, unit.y*2-unit.draw.y+ny+other.draw.y-other.y, portal})\r\n            break\r\n          end\r\n        end\r\n      end\r\n      if (#line > 0) then\r\n        -- love.graphics.rectangle(\"fill\", fulldrawx-1, fulldrawy-1, 1, 3)\r\n        -- love.graphics.rectangle(\"fill\", fulldrawx-2, fulldrawy, 3, 1)\r\n        for _,point in ipairs(line) do\r\n          --no need to change the rendering to account for movement, since all halflines are drawn to static objects (portals and oob)\r\n          local dx = unit.x-point[1]\r\n          local dy = unit.y-point[2]\r\n          local odx = TILE_SIZE*dx/(point[3] and 1 or 2)\r\n          local ody = TILE_SIZE*dy/(point[3] and 1 or 2)\r\n          \r\n          --draws it twice to make it look the same as the other lines. should be reduced to one if we figure out that performance todo above\r\n          --   love.graphics.setLineWidth(3)\r\n          -- if dx == 0 or dy == 0 then\r\n          --   love.graphics.setLineWidth(3)\r\n          -- else\r\n          --   love.graphics.setLineWidth(3)\r\n          -- end\r\n          if not loop then\r\n            love.graphics.line(fulldrawx+dx,fulldrawy+dy,fulldrawx-odx,fulldrawy-ody)\r\n          end\r\n        end\r\n      end\r\n      has_lin = #line > 0\r\n    end\r\n\r\n    --reset back to values being used before\r\n    love.graphics.setLineWidth(2)\r\n\r\n    if hasRule(unit,\"got\",\"bowie\") then\r\n      local rule = matchesRule(unit,\"got\",\"bowie\")[1].rule\r\n\r\n      -- GOT object coloring!\r\n      local c1, c2\r\n      if rule.object.prefix then\r\n        local dummy = {}\r\n        dummy[rule.object.prefix] = true\r\n        updateUnitColourOverride(dummy)\r\n        if dummy.color_override then\r\n          c1, c2 = dummy.color_override[1], dummy.color_override[2]\r\n        end\r\n      end\r\n\r\n      local shake_x, shake_y = getOffset()\r\n\r\n      local ur, ug, ub, ua = love.graphics.getColor()\r\n      local o = getTableWithDefaults(unit.features.bowie, {x=0, y=0, sprite=\"bowie_smol\"})\r\n      love.graphics.setColor(getPaletteColor(c1 or 2, c2 or 2))\r\n      love.graphics.draw(sprites[o.sprite], fulldrawx + o.x + shake_x, fulldrawy + o.y + shake_y, 0, unit.draw.scalex, unit.draw.scaley, sprite:getWidth() / 2, sprite:getHeight() / 2)\r\n      love.graphics.setColor(ur, ug, ub, ua)\r\n    end\r\n\r\n    if not has_lin then\r\n      local ox, oy = getOffset()\r\n      drawUnitSprite(unit, fulldrawx + ox, fulldrawy + oy, 0, unit.draw.scalex, unit.draw.scaley)\r\n    end\r\n\r\n    if unit.is_portal then\r\n      local ox, oy = getOffset()\r\n      if loop or not unit.portal.objects then\r\n        for i,image in ipairs(getUnitSprites(unit)) do\r\n          local sprite = sprites[image .. \"_bg\"]\r\n          if sprite then\r\n            local r,g,b,a = getPaletteColor(unpack(getUnitColor(unit, i)))\r\n            love.graphics.setColor(r*0.75, g*0.75, b*0.75, a)\r\n            love.graphics.draw(sprite, fulldrawx + ox, fulldrawy + oy, 0, unit.draw.scalex, unit.draw.scaley, sprite:getWidth() / 2, sprite:getHeight() / 2)\r\n          end\r\n        end\r\n      else\r\n        for i,image in ipairs(getUnitSprites(unit)) do\r\n          local sprite = sprites[image .. \"_bg\"]\r\n          if sprite then\r\n            love.graphics.setColor(lvl_color[1], lvl_color[2], lvl_color[3], lvl_color[4])\r\n            love.graphics.draw(sprite, fulldrawx + ox, fulldrawy + oy, 0, unit.draw.scalex, unit.draw.scaley, sprite:getWidth() / 2, sprite:getHeight() / 2)\r\n          end\r\n        end\r\n        love.graphics.setColor(1, 1, 1)\r\n        local function holStencil()\r\n          pcallSetShader(mask_shader)\r\n          for i,image in ipairs(getUnitSprites(unit)) do\r\n            local sprite = sprites[image .. \"_mask\"]\r\n            if sprite then\r\n              love.graphics.draw(sprite, fulldrawx + ox, fulldrawy + oy, 0, unit.draw.scalex, unit.draw.scaley, sprite:getWidth() / 2, sprite:getHeight() / 2)\r\n            end\r\n          end\r\n          love.graphics.setShader()\r\n        end\r\n        local function holStencil2()\r\n          love.graphics.rectangle(\"fill\", fulldrawx + 0.5 * TILE_SIZE, fulldrawy - 0.5 * TILE_SIZE, TILE_SIZE, TILE_SIZE)\r\n        end\r\n        love.graphics.stencil(holStencil, \"replace\", 2)\r\n        love.graphics.stencil(holStencil2, \"replace\", 1, true)\r\n        \r\n        for _,peek in ipairs(unit.portal.objects) do\r\n          if not peek.stelth then\r\n            if not portaling[peek] then\r\n              love.graphics.setStencilTest(\"greater\", 1)\r\n            else\r\n              love.graphics.setStencilTest(\"greater\", 0)\r\n            end\r\n            \r\n            love.graphics.push()\r\n            love.graphics.translate(fulldrawx, fulldrawy)\r\n            love.graphics.rotate(-math.rad(rotation))\r\n            if portaling[peek] ~= unit then\r\n              love.graphics.rotate(math.rad(unit.portal.dir * 45))\r\n            end\r\n            love.graphics.translate(-fulldrawx, -fulldrawy)\r\n            \r\n            local x, y, rot = unit.draw.x, unit.draw.y, 0\r\n            if peek.name ~= \"no1\" then\r\n              if portaling[peek] ~= unit then\r\n                x, y = (peek.draw.x - peek.x) + (peek.x - unit.portal.x) + x, (peek.draw.y - peek.y) + (peek.y - unit.portal.y) + y\r\n                if peek.rotate then rot = peek.draw.rotation\r\n                else rot = -unit.portal.dir * 45 end\r\n              else\r\n                x, y = peek.draw.x, peek.draw.y\r\n                rot = peek.draw.rotation\r\n              end\r\n            else\r\n              if peek.rotate then rot = (peek.dir - 1 + unit.portal.dir) * 45\r\n              else rot = -unit.portal.dir * 45 end\r\n            end\r\n            if portaling[peek] == unit and peek.draw.x == peek.x and peek.draw.y == peek.y then\r\n              portaling[peek] = nil\r\n            else\r\n              drawUnit(peek, x, y, rot, true)\r\n            end\r\n            \r\n            love.graphics.pop()\r\n          end\r\n        end\r\n        \r\n        love.graphics.setStencilTest()\r\n      end\r\n    end\r\n    \r\n    if unit.fullname == \"kat\" and unit.color_override and colour_for_palette[unit.color_override[1]][unit.color_override[2]] == \"blacc\" then\r\n      if graphical_property_cache[\"slep\"][unit] ~= nil then\r\n        love.graphics.setColor(getPaletteColor(2,1))\r\n        love.graphics.draw(sprites[\"kat_eyes_slep\"], fulldrawx, fulldrawy, 0, unit.draw.scalex, unit.draw.scaley, sprite:getWidth() / 2, sprite:getHeight() / 2)\r\n      else\r\n        love.graphics.setColor(getPaletteColor(2,1))\r\n        love.graphics.draw(sprites[\"kat_eyes\"], fulldrawx, fulldrawy, 0, unit.draw.scalex, unit.draw.scaley, sprite:getWidth() / 2, sprite:getHeight() / 2)\r\n      end\r\n    end\r\n\r\n    local cool_gang, cool_gang_rule = hasRule(unit,\"be\",\"cool gang\",true)\r\n    \r\n    if hasProperty(unit,\"cool\") then unit.cool = true end\r\n    if hasRule(unit,\"ben't\",\"cool\") then unit.cool = false end\r\n    if unit.cool or cool_gang then\r\n      local o = getTableWithDefaults(unit.features.cool, {x=0, y=0, sprite=\"shades\"})\r\n      local shake_x, shake_y = getOffset()\r\n      love.graphics.setColor(getPaletteColor(0,3))\r\n      love.graphics.draw(sprites[o.sprite], fulldrawx + o.x + shake_x,  fulldrawy + o.y + shake_y, 0, unit.draw.scalex, unit.draw.scaley, sprite:getWidth() / 2, sprite:getHeight() / 2)\r\n    end\r\n    if hasProperty(unit,\"sans\") and unit.features.sans and not hasProperty(unit,\"slep\") then\r\n      local topleft = {x = fulldrawx - 16, y = fulldrawy - 16}\r\n      love.graphics.setColor(getPaletteColor(1,4))\r\n      love.graphics.rectangle(\"fill\", topleft.x + unit.features.sans.x, topleft.y + unit.features.sans.y, unit.features.sans.w, unit.features.sans.h)\r\n      for i = 1, unit.features.sans.w-1 do\r\n        love.graphics.rectangle(\"fill\", topleft.x + unit.features.sans.x + i, topleft.y + unit.features.sans.y - i, unit.features.sans.w - i, 1)\r\n      end\r\n    end\r\n    \r\n    if unit.fullname == \"der\" and (hasProperty(unit,\"brite\") or hasProperty(unit,\"torc\")) then\r\n      if graphical_property_cache[\"slep\"][unit] ~= nil then\r\n        love.graphics.setColor(getPaletteColor(2,2))\r\n        love.graphics.draw(sprites[\"der_slep_nose\"], fulldrawx, fulldrawy, 0, unit.draw.scalex, unit.draw.scaley, sprite:getWidth() / 2, sprite:getHeight() / 2)\r\n      else\r\n        love.graphics.setColor(getPaletteColor(2,2))\r\n        love.graphics.draw(sprites[\"der_nose\"], fulldrawx, fulldrawy, 0, unit.draw.scalex, unit.draw.scaley, sprite:getWidth() / 2, sprite:getHeight() / 2)\r\n      end\r\n    end\r\n    \r\n    local gang, gang_rule = hasRule(unit,\"be\",\"gang\", true)\r\n    local double_gang, double_gang_rule = hasRule(unit,\"be\",\"gang gang\", true)\r\n    local txt_gang, txt_gang_rule = hasRule(unit,\"be\",\"txt gang\", true)\r\n\r\n    local gang_rule = txt_gang_rule or gang_rule or double_gang_rule or cool_gang_rule\r\n    local gang = gang or double_gang or cool_gang or txt_gang\r\n\r\n    if gang then\r\n      local o = getTableWithDefaults(unit.features.gang, {x=0, y=0, sx=1, sy=1, sprite=\"gang_hat\"})\r\n      if gang_rule and gang_rule.rule.object.unit and gang_rule.rule.object.unit.color_override then\r\n        setColor(gang_rule.rule.object.unit.color_override)\r\n      else\r\n        love.graphics.setColor(getPaletteColor(0,1))\r\n      end\r\n      local sx, sy = unit.draw.scalex * o.sx, unit.draw.scaley * o.sy\r\n      if txt_gang then\r\n        o.sprite = \"txt/hatt\"\r\n        sx = sx * 0.5\r\n        sy = sy * 0.5\r\n      end\r\n      love.graphics.draw(sprites[o.sprite], fulldrawx + o.x, fulldrawy - 0.5*TILE_SIZE + o.y, 0, sx, sy, sprite:getWidth() / 2, sprite:getHeight() / 2)\r\n      if double_gang then\r\n        if gang_rule and gang_rule.rule.object.mods then\r\n          for _,mod in ipairs(gang_rule.rule.object.mods) do\r\n            if mod.name == \"gang\" and mod.unit then\r\n              if mod.unit.color_override then\r\n                setColor(mod.unit.color_override)\r\n              else\r\n                love.graphics.setColor(getPaletteColor(0,1))\r\n              end\r\n            end\r\n          end\r\n        end\r\n        love.graphics.draw(sprites[o.sprite], fulldrawx + o.x - 3, fulldrawy - 0.5*TILE_SIZE + o.y - 5, math.rad(-15), sx, sy, sprite:getWidth() / 2, sprite:getHeight() / 2)\r\n      end\r\n    end\r\n\r\n    local matchrules = matchesRule(unit,\"got\",\"?\")\r\n    for _,matchrule in ipairs(matchrules) do\r\n      local name = matchrule.rule.object.name\r\n\r\n      -- GOT object coloring!\r\n      local c1, c2\r\n      if matchrule.rule.object.prefix then\r\n        local dummy = {}\r\n        dummy[matchrule.rule.object.prefix] = true\r\n        updateUnitColourOverride(dummy)\r\n        if dummy.color_override then\r\n          c1, c2 = dummy.color_override[1], dummy.color_override[2]\r\n        end\r\n      end\r\n\r\n      local shake_x, shake_y = getOffset()\r\n\r\n      if name == \"which\" then\r\n        local o = getTableWithDefaults(unit.features.which, {x=0, y=0, sprite={\"which_smol_base\", \"which_smol_that\"}})\r\n        love.graphics.setColor(getPaletteColor(0,0))\r\n        love.graphics.draw(sprites[o.sprite[1]], fulldrawx + o.x + shake_x, fulldrawy - 0.5*TILE_SIZE + o.y + shake_y, 0, unit.draw.scalex, unit.draw.scaley, sprite:getWidth() / 2, sprite:getHeight() / 2)\r\n        if c1 and c2 then\r\n          love.graphics.setColor(getPaletteColor(c1,c2))\r\n        elseif unit.color_override and colour_for_palette[unit.color_override[1]][unit.color_override[2]] == \"blacc\" then\r\n          love.graphics.setColor(getPaletteColor(3,1))\r\n        else\r\n          love.graphics.setColor(color[1], color[2], color[3], color[4])\r\n        end\r\n        love.graphics.draw(sprites[o.sprite[2]], fulldrawx + o.x + shake_x, fulldrawy - 0.5*TILE_SIZE + o.y + shake_y, 0, unit.draw.scalex, unit.draw.scaley, sprite:getWidth() / 2, sprite:getHeight() / 2)\r\n      elseif name == \"sant\" then\r\n        local o = getTableWithDefaults(unit.features.sant, {x=0, y=0, sprite={\"sant_smol_base\", \"sant_smol_flof\"}})\r\n        love.graphics.setColor(getPaletteColor(c1 or 2, c2 or 2))\r\n        love.graphics.draw(sprites[o.sprite[1]], fulldrawx + o.x + shake_x, fulldrawy - 0.5*TILE_SIZE + o.y + shake_y, 0, unit.draw.scalex, unit.draw.scaley, sprite:getWidth() / 2, sprite:getHeight() / 2)\r\n        love.graphics.setColor(getPaletteColor(0,3))\r\n        love.graphics.draw(sprites[o.sprite[2]], fulldrawx + o.x + shake_x, fulldrawy - 0.5*TILE_SIZE + o.y + shake_y, 0, unit.draw.scalex, unit.draw.scaley, sprite:getWidth() / 2, sprite:getHeight() / 2)\r\n      elseif name == \"hatt\" then\r\n        local o = getTableWithDefaults(unit.features.hatt, {x=0, y=0, sprite=\"hatsmol\"})\r\n        if c1 and c2 then\r\n          love.graphics.setColor(getPaletteColor(c1, c2))\r\n        else\r\n          love.graphics.setColor(color[1], color[2], color[3], color[4])\r\n        end\r\n        love.graphics.draw(sprites[o.sprite], fulldrawx + o.x + shake_x, fulldrawy - 0.5*TILE_SIZE + o.y + shake_y, 0, unit.draw.scalex, unit.draw.scaley, sprite:getWidth() / 2, sprite:getHeight() / 2)\r\n      elseif name == \"katany\" then\r\n        local o = getTableWithDefaults(unit.features.katany, {x=0, y=0, sprite=\"katanysmol\"})\r\n        love.graphics.setColor(getPaletteColor(c1 or 0, c2 or 1))\r\n        love.graphics.draw(sprites[o.sprite], fulldrawx + o.x + shake_x, fulldrawy + o.y + shake_y, 0, unit.draw.scalex, unit.draw.scaley, sprite:getWidth() / 2, sprite:getHeight() / 2)\r\n      elseif name == \"knif\" then\r\n        local o = getTableWithDefaults(unit.features.knif, {x=0, y=0, sprite=\"knifsmol\"})\r\n        love.graphics.setColor(getPaletteColor(c1 or 0, c2 or 3))\r\n        love.graphics.draw(sprites[o.sprite], fulldrawx + o.x + shake_x, fulldrawy + o.y + shake_y, 0, unit.draw.scalex, unit.draw.scaley, sprite:getWidth() / 2, sprite:getHeight() / 2)\r\n      elseif name == \"slippers\" then\r\n        local o = getTableWithDefaults(unit.features.slippers, {x=0, y=0, sprite=\"slippers\"})\r\n        love.graphics.setColor(getPaletteColor(c1 or 1, c2 or 4))\r\n        love.graphics.draw(sprites[o.sprite], fulldrawx + o.x + shake_x, fulldrawy+sprite:getHeight()/4 + o.y + shake_y, 0, unit.draw.scalex, unit.draw.scaley, sprite:getWidth() / 2, sprite:getHeight() / 2)\r\n      elseif name == \"gunne\" then\r\n        local o = getTableWithDefaults(unit.features.gunne, {x=0, y=0, sprite=\"gunnesmol\"})\r\n        love.graphics.setColor(getPaletteColor(c1 or 0, c2 or 3))\r\n        love.graphics.draw(sprites[o.sprite], fulldrawx + o.x + shake_x, fulldrawy + o.y + shake_y, 0, unit.draw.scalex, unit.draw.scaley, sprite:getWidth() / 2, sprite:getHeight() / 2)\r\n      elseif name ~= \"bowie\" and unit.fullname == \"swan\" then\r\n        local tile = getTile(name)\r\n        if tile then\r\n          love.graphics.push()\r\n          love.graphics.translate(14, -4)\r\n\r\n          local color = getTileColors(tile, (c1 and c2) and {c1, c2} or nil)\r\n          drawTileSprite(tile, fulldrawx, fulldrawy, 0, 0.5, 0.5, {color = color})\r\n\r\n          love.graphics.pop()\r\n        end\r\n      end\r\n    end\r\n\r\n    love.graphics.pop()\r\n\r\n    if unit.blocked then\r\n\r\n      local rotation = math.sin(love.timer.getTime()*4)*math.rad(5)\r\n\r\n      setColor(getUnitColor(unit))\r\n\r\n      local sprite = sprites[\"no bad dont\"]\r\n      love.graphics.draw(sprite, 0, 0, rotation, unit.draw.scalex, unit.draw.scaley, sprite:getWidth() / 2, sprite:getHeight() / 2)\r\n\r\n      setColor{0, 4}\r\n\r\n      sprite = sprites[\"no bad dont_outline\"]\r\n      love.graphics.draw(sprite, 0, 0, rotation, unit.draw.scalex, unit.draw.scaley, sprite:getWidth() / 2, sprite:getHeight() / 2)\r\n    end\r\n\r\n    love.graphics.pop()\r\n  end\r\n  \r\n  local lvl_stelth = hasProperty(outerlvl, \"stelth\")\r\n\r\n  for i=1,max_layer do\r\n    if units_by_layer[i] then\r\n      local removed_units = {}\r\n      for _,unit in ipairs(units_by_layer[i]) do\r\n        if not (unit.stelth or portaling[unit] or lvl_stelth) then\r\n          local x, y, rot = unit.x, unit.y, 0\r\n          if unit.name ~= \"no1\" then\r\n            x, y = unit.draw.x, unit.draw.y\r\n            rot = unit.draw.rotation\r\n          else\r\n            if (unit.rotate or (rules_with[\"rotatbl\"] and hasProperty(unit,\"rotatbl\"))) then rot = (unit.dir - 1) * 45 end\r\n          end\r\n          drawUnit(unit, x, y, rot)\r\n        end\r\n      end\r\n      for _,unit in ipairs(removed_units) do\r\n        removeFromTable(units_by_layer[i], unit)\r\n      end\r\n    end\r\n  end\r\n  local removed_particles = {}\r\n  for _,ps in ipairs(particles) do\r\n    ps:update(dt)\r\n    if ps:getCount() == 0 then\r\n      ps:stop()\r\n      table.insert(removed_particles, ps)\r\n    else\r\n      love.graphics.setColor(255, 255, 255)\r\n      love.graphics.draw(ps)\r\n    end\r\n  end\r\n  for _,ps in ipairs(removed_particles) do\r\n    removeFromTable(particles, ps)\r\n  end\r\n\r\n  --lightning !\r\n  if (lightcanvas ~= nil) and settings[\"light_on\"] then\r\n    love.graphics.setColor(0.05, 0.05, 0.05, 1)\r\n    love.graphics.setBlendMode(\"add\", \"premultiplied\")\r\n    love.graphics.draw(lightcanvas, 0, 0)\r\n    love.graphics.setBlendMode(\"alpha\")\r\n  end\r\n  \r\n  if settings[\"mouse_lines\"] then\r\n    love.graphics.push()\r\n    love.graphics.origin()\r\n    love.graphics.setLineWidth(1)\r\n    local r,g,b,a = getPaletteColor(0,1)\r\n    love.graphics.setColor(r,g,b,0.3)\r\n    for _,cursor in ipairs(cursors) do\r\n      local cx,cy = cursor.screenx,cursor.screeny\r\n      local width = love.graphics.getWidth()\r\n      love.graphics.line(cx-width,cy-width,cx+width,cy+width)\r\n      love.graphics.line(cx-width,cy,cx+width,cy)\r\n      love.graphics.line(cx-width,cy+width,cx+width,cy-width)\r\n      love.graphics.line(cx,cy-width,cx,cy+width)\r\n    end\r\n    love.graphics.pop()\r\n  end\r\n\r\n  -- camera black overlay\r\n  if viewport then\r\n    love.graphics.stencil(function()\r\n      love.graphics.rectangle(\"fill\", viewport.x * TILE_SIZE, viewport.y * TILE_SIZE, viewport.w * TILE_SIZE, viewport.h * TILE_SIZE)\r\n    end)\r\n    love.graphics.push()\r\n    love.graphics.origin()\r\n    love.graphics.setStencilTest(\"less\", 1)\r\n    love.graphics.setColor(0, 0, 0)\r\n    love.graphics.rectangle(\"fill\", 0, 0, love.graphics.getWidth(), love.graphics.getHeight())\r\n    love.graphics.setStencilTest()\r\n    love.graphics.pop()\r\n  end\r\n\r\n  --draw the stack box (shows what units are on a tile)\r\n  if stack_box.scale > 0 then\r\n    love.graphics.push()\r\n    local screenx,screeny = gameTileToScreen(stack_box.x,stack_box.y)\r\n    local onscreen = screeny > 40\r\n    love.graphics.translate((stack_box.x + 0.5) * TILE_SIZE, (stack_box.y + (onscreen and 0 or 1)) * TILE_SIZE)\r\n    love.graphics.scale(stack_box.scale)\r\n\r\n    love.graphics.setColor(getPaletteColor(0, 4))\r\n    if onscreen then\r\n      love.graphics.polygon(\"fill\", -4, -8, 0, 0, 4, -8)\r\n    else\r\n      love.graphics.polygon(\"fill\", -4, 8, 0, 0, 4, 8)\r\n    end\r\n\r\n    local units = stack_box.units\r\n    local draw_units = {}\r\n    local already_added = {}\r\n    for _,unit in ipairs(units) do\r\n      if not already_added[unit.fullname] then already_added[unit.fullname] = {} end\r\n      local dir = unit.rotatdir\r\n      if not already_added[unit.fullname][dir] then\r\n        table.insert(draw_units, {unit = unit, dir = dir, count = 1})\r\n        already_added[unit.fullname][dir] = #draw_units\r\n      else\r\n        draw_units[already_added[unit.fullname][dir]].count = draw_units[already_added[unit.fullname][dir]].count + 1\r\n      end\r\n    end\r\n\r\n    local width = 44 * #draw_units - 4\r\n    if onscreen then\r\n      love.graphics.rectangle(\"fill\", -width / 2, -48, width, 40)\r\n    else\r\n      love.graphics.rectangle(\"fill\", -width / 2, 8, width, 40)\r\n    end\r\n\r\n    love.graphics.setColor(getPaletteColor(3, 3))\r\n    love.graphics.setLineWidth(2)\r\n    if onscreen then\r\n      love.graphics.line(-width / 2, -48, -width / 2, -8, -4, -8, 0, 0, 4, -8, width / 2, -8, width / 2, -48, -width / 2, -48)\r\n    else\r\n      love.graphics.line(-width / 2, 48, -width / 2, 8, -4, 8, 0, 0, 4, 8, width / 2, 8, width / 2, 48, -width / 2, 48)\r\n    end\r\n\r\n    for i,draw in ipairs(draw_units) do\r\n      local cx = (-width / 2) + ((i / #draw_units) * width) - 20\r\n      local unit = draw.unit\r\n\r\n      love.graphics.push()\r\n      if onscreen then\r\n        love.graphics.translate(cx, -28)\r\n      else\r\n        love.graphics.translate(cx, 28)\r\n      end\r\n      love.graphics.push()\r\n      love.graphics.rotate(math.rad((draw.dir - 1) * 45))\r\n\r\n      drawUnitSprite(unit, 0, 0, 0, 1, 1)\r\n\r\n      love.graphics.pop()\r\n\r\n      if draw.count > 1 then\r\n        love.graphics.setFont(stack_font)\r\n        love.graphics.setColor(getPaletteColor(0, 4))\r\n        for x = -1, 1 do\r\n          for y = -1, 1 do\r\n            if x ~= 0 or y ~= 0 then\r\n              love.graphics.printf(tostring(draw.count), x, 4+y, 32, \"center\")\r\n            end\r\n          end\r\n        end\r\n        love.graphics.setColor(getPaletteColor(0, 3))\r\n        love.graphics.printf(tostring(draw.count), 0, 4, 32, \"center\")\r\n      end\r\n      love.graphics.pop()\r\n    end\r\n\r\n    love.graphics.pop()\r\n  end\r\n  if pathlock_box.scale > 0 then\r\n    love.graphics.push()\r\n    local screenx,screeny = gameTileToScreen(stack_box.x,stack_box.y)\r\n    local onscreen = screeny > 40\r\n    love.graphics.translate((pathlock_box.x + 0.5) * TILE_SIZE, (pathlock_box.y + (onscreen and 0 or 1)) * TILE_SIZE)\r\n    love.graphics.scale(pathlock_box.scale)\r\n\r\n    love.graphics.setColor(getPaletteColor(0, 4))\r\n    if onscreen then\r\n      love.graphics.polygon(\"fill\", -4, -8, 0, 0, 4, -8)\r\n    else\r\n      love.graphics.polygon(\"fill\", -4, 8, 0, 0, 4, 8)\r\n    end\r\n\r\n    local unit = pathlock_box.unit\r\n\r\n    local width = 70\r\n    if onscreen then\r\n      love.graphics.rectangle(\"fill\", -width / 2, -48, width, 40)\r\n    else\r\n      love.graphics.rectangle(\"fill\", -width / 2, 8, width, 40)\r\n    end\r\n\r\n    love.graphics.setColor(getPaletteColor(3, 3))\r\n    love.graphics.setLineWidth(2)\r\n    if onscreen then\r\n      love.graphics.line(-width / 2, -48, -width / 2, -8, -4, -8, 0, 0, 4, -8, width / 2, -8, width / 2, -48, -width / 2, -48)\r\n    else\r\n      love.graphics.line(-width / 2, 48, -width / 2, 8, -4, 8, 0, 0, 4, 8, width / 2, 8, width / 2, 48, -width / 2, 48)\r\n    end\r\n    \r\n    local type = ({puffs = \"puff\", blossoms = \"blossom\", orbs = \"orrb\"})[unit.special.pathlock]\r\n    love.graphics.setColor(type == \"orrb\" and {getPaletteColor(4,1)} or {1,1,1,1})\r\n    love.graphics.draw(sprites[type], -30, -44)\r\n    local num = unit.special.number or 1\r\n    love.graphics.setFont(num > 99 and stack_font or pathlock_font)\r\n    love.graphics.printf(tostring(num), 5, -36, 25, \"center\")\r\n\r\n    love.graphics.pop()\r\n  end\r\n  love.graphics.pop()\r\n\r\n  --176 98\r\n  if stopwatch.visible then\r\n    stopwatch.small.rotation = stopwatch.small.rotation + dt * 20\r\n\r\n    local sw_sprite = sprites[\"ui/stopwatch\"]\r\n    local big_hand = sprites[\"ui/stopwatch_big_hand\"]\r\n    local small_hand = sprites[\"ui/stopwatch_small_hand\"]\r\n\r\n    love.graphics.setColor(0, 0, 0, 0.25)\r\n    love.graphics.rectangle(\"fill\", 0, 0, love.graphics.getWidth(), love.graphics.getHeight())\r\n\r\n    love.graphics.setColor(1, 1, 1)\r\n    love.graphics.push()\r\n    love.graphics.translate(love.graphics.getWidth() / 2, love.graphics.getHeight() / 2)\r\n    love.graphics.scale(getUIScale(), getUIScale())\r\n    love.graphics.translate(-sw_sprite:getWidth() / 2, -sw_sprite:getHeight() / 2)\r\n    love.graphics.draw(sw_sprite)\r\n\r\n    love.graphics.setColor(1, 1, 1)\r\n    love.graphics.push()\r\n    love.graphics.translate(176 + small_hand:getWidth() / 2, 98 + small_hand:getHeight() / 2)\r\n    love.graphics.rotate(stopwatch.small.rotation)\r\n    love.graphics.draw(small_hand, -small_hand:getWidth() / 2, -small_hand:getHeight() / 2)\r\n    love.graphics.pop()\r\n\r\n    love.graphics.push()\r\n    love.graphics.translate(big_hand:getWidth() / 2, big_hand:getHeight() / 2)\r\n    love.graphics.rotate(math.rad(stopwatch.big.rotation))\r\n    love.graphics.draw(big_hand, -big_hand:getWidth() / 2, -big_hand:getHeight() / 2)\r\n    love.graphics.pop()\r\n    love.graphics.pop()\r\n  end\r\n\r\n  love.graphics.push()\r\n  love.graphics.setColor(1, 1, 1)\r\n  love.graphics.translate(love.graphics.getWidth() / 2, love.graphics.getHeight() / 2)\r\n  love.graphics.scale(win_size, win_size)\r\n  local win_sprite = #win_sprite_override > 0 and sprites[\"ui/u_r_thing\"] or sprites[\"ui/u_r_win\"]\r\n  love.graphics.draw(win_sprite, -win_sprite:getWidth() / 2, -win_sprite:getHeight() / 2, 0, 1, 1)\r\n\r\n  if currently_winning and win_size < 1 then\r\n    win_size = win_size + dt*2\r\n    if (win_size > 1) then\r\n      win_size = 1\r\n    end\r\n  end\r\n  love.graphics.pop()\r\n  \r\n  if #win_sprite_override > 0 then\r\n    for _,tile in ipairs(win_sprite_override) do\r\n      love.graphics.push()\r\n      love.graphics.setColor(0.92, 0.92, 1)\r\n      love.graphics.translate(love.graphics.getWidth() / 2, love.graphics.getHeight() / 2)\r\n      love.graphics.scale(win_size, win_size)\r\n      for _,spritename in ipairs(tile.sprite) do\r\n        local tf_sprite = sprites[spritename] or sprites[\"wat\"]\r\n        love.graphics.draw(tf_sprite, -tf_sprite:getWidth() / 2 + 40, -tf_sprite:getHeight() / 2 - 45, 0, 4, 4)\r\n      end\r\n      if tile.meta > 0 then\r\n        local metasprite = tile.meta == 2 and sprites[\"meta2\"] or sprites[\"meta1\"]\r\n\t\t\t\tlove.graphics.draw(metasprite, -metasprite:getWidth() / 2 + 40, -metasprite:getHeight() / 2 - 45, 0, 4, 4)\r\n\t\t\t\tif tile.meta > 2 and win_size == 1 then\r\n          --This doesn't print anything to the screen, though I'm uncertain why not\r\n\t\t\t\t\tlove.graphics.printf(tostring(tile.meta), -metasprite:getWidth() / 2 + 40, -metasprite:getHeight() / 2 - 45, 32, \"center\")\r\n\t\t\t\tend\r\n      end\r\n      if tile.nt then\r\n        local nt_sprite = sprites[\"n't\"];\r\n        love.graphics.draw(nt_sprite, -nt_sprite:getWidth() / 2 + 40, -nt_sprite:getHeight() / 2 - 45, 0, 4, 4)\r\n      end\r\n      love.graphics.pop()\r\n    end\r\n  end\r\n  \r\n  -- Replay UI\r\n  if replay_playback then\r\n    local height, width = love.graphics.getHeight(), love.graphics.getWidth()\r\n    local box = sprites[\"ui/32x32\"]:getWidth()\r\n  \r\n    if not replay_pause then\r\n        -- Play speeds\r\n        if replay_playback_interval < 0.05 then\r\n            love.graphics.draw(sprites[\"ui/replay_fff\"], width - box*3)\r\n        elseif replay_playback_interval < 0.2 and replay_playback_interval > 0.05 then\r\n            love.graphics.draw(sprites[\"ui/replay_ff\"], width - box*3)\r\n        elseif replay_playback_interval > 0.5 and replay_playback_interval < 1 then\r\n            love.graphics.draw(sprites[\"ui/replay_slow\"], width - box*3)\r\n        elseif replay_playback_interval > 1 then\r\n            love.graphics.draw(sprites[\"ui/replay_snail\"], width - box*3)\r\n        else\r\n            love.graphics.draw(sprites[\"ui/replay_play\"], width - box*3)\r\n        end\r\n        love.graphics.draw(sprites[\"ui/replay_minus\"], width - box*4)\r\n        love.graphics.draw(sprites[\"ui/replay_plus\"], width - box*2)\r\n    elseif replay_pause then\r\n        love.graphics.draw(sprites[\"ui/replay_pause\"], width - box*3)\r\n        love.graphics.draw(sprites[\"ui/replay_undo\"], width - box*4)\r\n        love.graphics.draw(sprites[\"ui/replay_skip\"], width - box*2)\r\n    end\r\n    love.graphics.draw(sprites[\"ui/replay_stop\"], width - box)\r\n    -- print(replay_playback_interval)\r\n  end\r\n  \r\n  love.graphics.setCanvas()\r\n  pcallSetShader(level_shader)\r\n  --[[\r\n  if doin_the_world then\r\n    level_shader:send(\"time\", shader_time)\r\n    shader_time = shader_time + 1\r\n  end\r\n  ]]\r\n  love.graphics.draw(canv,0,0)\r\n  if shader_time == 600 then\r\n    pcallSetShader(paletteshader_0)\r\n    doin_the_world = false\r\n  end\r\n\r\n  if not pause then gooi.draw() end\r\n  if is_mobile then\r\n    if rules_with[\"zawarudo\"] or rules_with[\"anti zawarudo\"] then\r\n      mobile_controls_timeless:setVisible(true)\r\n      mobile_controls_timeless:setBGImage(sprites[timeless and \"ui/time resume\" or \"ui/timestop\"])\r\n    else\r\n      mobile_controls_timeless:setVisible(false)\r\n    end\r\n    if rules_with[\"u\"] then\r\n      if rules_with[\"utoo\"] then\r\n          mobile_controls_p1:setVisible(true)\r\n          mobile_controls_p2:setVisible(true)\r\n          mobile_controls_p3:setVisible(true)\r\n        if rules_with[\"utres\"] then\r\n          mobile_controls_p1:setBGImage(sprites[\"ui_1\"])\r\n          mobile_controls_p2:setBGImage(sprites[\"ui_2\"])\r\n          mobile_controls_p3:setBGImage(sprites[\"ui_3\"])\r\n        else\r\n          mobile_controls_p1:setBGImage(sprites[\"ui_1\"])\r\n          mobile_controls_p2:setBGImage(sprites[\"ui_2\"])\r\n          mobile_controls_p3:setBGImage(sprites[\"ui_plus\"])\r\n        end\r\n      elseif rules_with[\"utres\"] then\r\n        mobile_controls_p1:setVisible(true)\r\n        mobile_controls_p2:setVisible(true)\r\n        mobile_controls_p3:setVisible(true)\r\n        mobile_controls_p1:setBGImage(sprites[\"ui_1\"])\r\n        mobile_controls_p2:setBGImage(sprites[\"ui_plus\"])\r\n        mobile_controls_p3:setBGImage(sprites[\"ui_3\"])\r\n      else\r\n        mobile_controls_p1:setVisible(false)\r\n        mobile_controls_p2:setVisible(false)\r\n        mobile_controls_p3:setVisible(false)\r\n      end\r\n    elseif rules_with[\"utoo\"] and rules_with[\"utres\"] then\r\n      mobile_controls_p1:setVisible(true)\r\n      mobile_controls_p2:setVisible(true)\r\n      mobile_controls_p3:setVisible(true)\r\n      mobile_controls_p1:setBGImage(sprites[\"ui_plus\"])\r\n      mobile_controls_p2:setBGImage(sprites[\"ui_2\"])\r\n      mobile_controls_p3:setBGImage(sprites[\"ui_3\"])\r\n    else\r\n      mobile_controls_p1:setVisible(false)\r\n      mobile_controls_p2:setVisible(false)\r\n      mobile_controls_p3:setVisible(false)\r\n    end\r\n  end\r\n\r\n  gooi.draw(\"mobile-controls\")\r\n\r\n  if love.window.hasMouseFocus() then\r\n    for i,cursor in ipairs(cursors) do\r\n      local color\r\n      \r\n      -- Mous be colors\r\n      if hasProperty(cursor,\"rave\") then\r\n        local newcolor = hslToRgb((love.timer.getTime()/0.75+#undo_buffer/45+cursor.screenx/18+cursor.screeny/18)%1, .5, .5, 1)\r\n        newcolor[1] = newcolor[1]*255\r\n        newcolor[2] = newcolor[2]*255\r\n        newcolor[3] = newcolor[3]*255\r\n        color = newcolor\r\n      elseif hasProperty(cursor,\"colrful\") or rainbowmode then\r\n        local newcolor = hslToRgb((love.timer.getTime()/15+#undo_buffer/45+cursor.screenx/18+cursor.screeny/18)%1, .5, .5, 1)\r\n        newcolor[1] = newcolor[1]*255\r\n        newcolor[2] = newcolor[2]*255\r\n        newcolor[3] = newcolor[3]*255\r\n        color = newcolor\r\n      elseif (hasProperty(cursor,\"reed\") and hasProperty(cursor,\"whit\")) or hasProperty(cursor,\"pinc\") then\r\n        color = {4, 1}\r\n      elseif (hasProperty(cursor,\"grun\") and hasProperty(cursor,\"whit\")) then\r\n        color = {5, 3}\r\n      elseif (hasProperty(cursor,\"bleu\") and hasProperty(cursor,\"reed\")) or hasProperty(cursor,\"purp\") then\r\n        color = {3, 1}\r\n      elseif (hasProperty(cursor,\"reed\") and hasProperty(cursor,\"grun\")) or hasProperty(cursor,\"yello\") then\r\n        color = {2, 4}\r\n      elseif (hasProperty(cursor,\"reed\") and hasProperty(cursor,\"yello\")) or hasProperty(cursor,\"orang\") then\r\n        color = {2, 3}\r\n      elseif (hasProperty(cursor,\"bleu\") and hasProperty(cursor,\"grun\")) or hasProperty(cursor,\"cyeann\") then\r\n        color = {1, 4}\r\n      elseif hasProperty(cursor,\"reed\") then\r\n        color = {2, 2}\r\n      elseif hasProperty(cursor,\"bleu\") then\r\n        color = {1, 3}\r\n      elseif hasProperty(cursor,\"grun\") then\r\n        color = {5, 2}\r\n      elseif hasProperty(cursor,\"cyeann\") then\r\n        color = {1, 4}\r\n      elseif hasProperty(cursor,\"blacc\") then\r\n        color = {0, 4}\r\n      end\r\n\r\n      if not color then\r\n        love.graphics.setColor(1, 1, 1)\r\n      else\r\n        if #color == 3 then\r\n          love.graphics.setColor(color[1]/255, color[2]/255, color[3]/255)\r\n        else\r\n          love.graphics.setColor(getPaletteColor(color[1], color[2]))\r\n        end\r\n      end\r\n\r\n      if rainbowmode then love.graphics.setColor(hslToRgb((love.timer.getTime()/6+i*10)%1, .5, .5, .9)) end\r\n      \r\n      local cursorrot = ((cursor.dir + 1) % 8) * 45\r\n      if not hasProperty(cursor,\"stelth\") then\r\n        love.graphics.draw(system_cursor, cursor.screenx, cursor.screeny, math.rad(cursorrot))\r\n      end\r\n\r\n      love.graphics.setColor(1,1,1)\r\n      color = nil\r\n\r\n      if #cursor.overlay > 0 then\r\n        local function overlayStencil()\r\n          pcallSetShader(mask_shader)\r\n          love.graphics.draw(system_cursor, cursor.screenx, cursor.screeny, math.rad(cursorrot))\r\n          love.graphics.setShader()\r\n        end\r\n        for _,overlay in ipairs(cursor.overlay) do\r\n          love.graphics.setColor(1, 1, 1)\r\n          love.graphics.stencil(overlayStencil, \"replace\")\r\n          love.graphics.setStencilTest(\"greater\", 0)\r\n          love.graphics.setBlendMode(\"multiply\", \"premultiplied\")\r\n          love.graphics.draw(sprites[\"overlay/\" .. overlay], cursor.screenx, cursor.screeny, 0, 14/32, 14/32)\r\n          love.graphics.setBlendMode(\"alpha\", \"alphamultiply\")\r\n          love.graphics.setStencilTest()\r\n        end\r\n      end\r\n    end\r\n  end\r\n\r\n  \r\n  if displaywords or pause then\r\n    darken:draw()\r\n\r\n    local rules = \"\"\r\n\r\n    local lines = 0.5\r\n    local curline = \"\"\r\n\r\n    local width = love.graphics.getWidth()\r\n    local height = love.graphics.getHeight()\r\n\r\n    local buttonwidth, buttonheight = sprites[\"ui/button_1\"]:getDimensions()\r\n\r\n    local buttoncolor = {84/255, 109/255, 255/255}\r\n\r\n    local y = (not pause) and 0 or button_last_y\r\n\r\n    for i,rule in pairs(full_rules) do\r\n      if not rule.hide_in_list then\r\n        local serialized = serializeRule(rule.rule)\r\n        if serialized ~= \"\" then\r\n          \r\n          if curline == \"\" then\r\n            -- do nothing, this is just a ~= on the other two cases\r\n          elseif (#curline + #serialized) > 50 then\r\n            rules = rules..curline..\"\\n\"\r\n            curline = \"\"\r\n            lines = lines + 1\r\n          else\r\n            curline = curline..'   '\r\n          end\r\n          curline = curline..serialized\r\n        end\r\n      end\r\n    end\r\n    rules = rules..curline\r\n\r\n\t  rules = 'da rulz:\\n'..rules\r\n\r\n    love.graphics.setColor(1,1,1)\r\n\r\n    if pause then\r\n    \r\n      local current_level = level_name\r\n      if readSaveFile{\"levels\", level_filename, \"won\"} then\r\n        current_level = current_level..\" (won) \"\r\n      end\r\n      if readSaveFile{\"levels\", level_filename, \"clear\"} then\r\n        current_level = current_level..\" (cleared) \"\r\n      end\r\n      if readSaveFile{\"levels\", level_filename, \"complete\"} then\r\n        current_level = current_level..\" (complete) \"\r\n      end\r\n      if readSaveFile{\"levels\", level_filename, \"bonus\"} then\r\n        current_level = current_level..\" (bonused) \"\r\n      end\r\n      local tfs = readSaveFile{\"levels\", level_filename, \"transform\"}\r\n      if tfs then\r\n        local tfstr = \"\"\r\n        for _,tf in ipairs(tfs) do\r\n          while tf:starts(\"txt_\") do\r\n            tf = tf:sub(5)\r\n            tf = tf..\" txt\"\r\n          end\r\n          tfstr = tfstr..\" & \"..tf\r\n        end\r\n        tfstr = tfstr:sub(4)\r\n        current_level = current_level..\" (transformed into \" .. tfstr .. \") \"\r\n      end\r\n      \r\n      love.graphics.printf(current_level, width/2-buttonwidth/2, buttonheight, buttonwidth, \"center\")\r\n  \r\n      for _,button in ipairs(buttons) do\r\n        button:draw()\r\n      end\r\n    end\r\n\r\n    local rules_height = love.graphics.getHeight()/2-love.graphics.getFont():getHeight()*lines+y \r\n    if pause then\r\n      rules_height = buttonheight*4+(buttonheight+10)*(#buttons)\r\n    end\r\n    love.graphics.printf(rules, 0, rules_height, love.graphics.getWidth(), \"center\")\r\n\r\n    love.graphics.setColor(1,1,1)\r\n    love.graphics.draw(sprites[\"ui/mous\"], love.mouse.getX(), love.mouse.getY())\r\n\r\n    gooi.draw()\r\n  end\r\n\r\n  if (just_moved and not unit_tests) then\r\n    local end_time = love.timer.getTime()\r\n      print(\"scene.draw() took: \"..tostring(round((end_time-start_time)*1000))..\"ms\")\r\n    just_moved = false\r\n  end\r\nend\r\n\r\nfunction scene.checkInput()\r\n  if replay_playback or past_playback then return end\r\n  local start_time = love.timer.getTime()\r\n  do_move_sound = false\r\n  \r\n  \r\n  if settings[\"focus_pause\"] and not (love.window.hasFocus() or love.window.hasMouseFocus()) then\r\n    pause = true\r\n  end\r\n  \r\n  if not (key_down[\"w\"] or key_down[\"a\"] or key_down[\"s\"] or key_down[\"d\"]) then\r\n      repeat_timers[\"wasd\"] = nil\r\n  end\r\n  if not (key_down[\"up\"] or key_down[\"down\"] or key_down[\"left\"] or key_down[\"right\"]) then\r\n      repeat_timers[\"udlr\"] = nil\r\n  end\r\n  if not (key_down[\"i\"] or key_down[\"j\"] or key_down[\"k\"] or key_down[\"l\"]) then\r\n      repeat_timers[\"ijkl\"] = nil\r\n  end\r\n  if not (key_down[\"kp1\"] or\r\n        key_down[\"kp2\"] or\r\n        key_down[\"kp3\"] or\r\n        key_down[\"kp4\"] or\r\n        key_down[\"kp5\"] or\r\n        key_down[\"kp6\"] or\r\n        key_down[\"kp7\"] or\r\n        key_down[\"kp8\"] or\r\n        key_down[\"kp9\"]) then\r\n    repeat_timers[\"numpad\"] = nil\r\n  end\r\n  \r\n  if not (key_down[\"z\"] or key_down[\"q\"] or key_down[\"backspace\"] or key_down[\"kp0\"] or key_down[\"o\"]) then\r\n      repeat_timers[\"undo\"] = nil\r\n  end\r\n\r\n  for _,key in ipairs(repeat_keys) do\r\n    if repeat_timers[key] ~= nil and repeat_timers[key] <= 0 then\r\n      if key == \"undo\" then\r\n        just_moved = true\r\n        if (last_input_time ~= nil) then\r\n          print(\"input latency: \"..tostring(round((start_time-last_input_time)*1000))..\"ms\")\r\n          last_input_time = nil\r\n        end\r\n        local result = doOneMove(0, 0, \"undo\")\r\n        if result then playSound(\"undo\") else playSound(\"fail\") end\r\n        do_move_sound = false\r\n\t\t\t\tlocal end_time = love.timer.getTime()\r\n        if not unit_tests then print(\"undo took: \"..tostring(round((end_time-start_time)*1000))..\"ms\") end\r\n      else\r\n        local x, y = 0, 0\r\n        if key == \"udlr\" then\r\n            if key_down[\"up\"] and most_recent_key ~= \"down\" then y = y - 1 end\r\n            if key_down[\"down\"] and most_recent_key ~= \"up\" then y = y + 1 end\r\n            if key_down[\"left\"] and most_recent_key ~= \"right\" then x = x - 1 end\r\n            if key_down[\"right\"] and most_recent_key ~= \"left\" then x = x + 1 end\r\n        elseif key == \"wasd\" then\r\n            if key_down[\"w\"] and most_recent_key ~= \"s\" then y = y - 1 end\r\n            if key_down[\"s\"] and most_recent_key ~= \"w\" then y = y + 1 end\r\n            if key_down[\"a\"] and most_recent_key ~= \"d\" then x = x - 1 end\r\n            if key_down[\"d\"] and most_recent_key ~= \"a\" then x = x + 1 end\r\n        elseif key == \"ijkl\" then\r\n            if key_down[\"i\"] and most_recent_key ~= \"k\" then y = y - 1 end\r\n            if key_down[\"k\"] and most_recent_key ~= \"i\" then y = y + 1 end\r\n            if key_down[\"j\"] and most_recent_key ~= \"l\" then x = x - 1 end\r\n            if key_down[\"l\"] and most_recent_key ~= \"j\" then x = x + 1 end\r\n        elseif key == \"numpad\" then\r\n            if key_down[\"kp1\"] and most_recent_key ~= \"kp9\" then x = x + -1; y = y + 1 end\r\n            if key_down[\"kp2\"] and most_recent_key ~= \"kp8\" then x = x + 0; y = y + 1 end\r\n            if key_down[\"kp3\"] and most_recent_key ~= \"kp7\" then x = x + 1; y = y + 1 end\r\n            if key_down[\"kp4\"] and most_recent_key ~= \"kp6\" then x = x + -1; y = y + 0 end\r\n            if key_down[\"kp6\"] and most_recent_key ~= \"kp4\" then x = x + 1; y = y + 0 end\r\n            if key_down[\"kp7\"] and most_recent_key ~= \"kp3\" then x = x + -1; y = y + -1 end\r\n            if key_down[\"kp8\"] and most_recent_key ~= \"kp2\" then x = x + 0; y = y + -1 end\r\n            if key_down[\"kp9\"] and most_recent_key ~= \"kp1\" then x = x + 1; y = y + -1 end\r\n        end\r\n        x = sign(x); y = sign(y)\r\n        if (last_input_time ~= nil) then\r\n          print(\"input latency: \"..tostring(round((start_time-last_input_time)*1000))..\"ms\")\r\n          last_input_time = nil\r\n        end\r\n        doOneMove(x, y, key)\r\n        local end_time = love.timer.getTime()\r\n        if not unit_tests then print(\"gameplay logic took: \"..tostring(round((end_time-start_time)*1000))..\"ms\") end\r\n        -- SING\r\n        local sing_rules = matchesRule(nil, \"sing\", \"?\")\r\n        for _,ruleparent in ipairs(sing_rules) do\r\n          local unit = ruleparent[2]\r\n          \r\n          if unit.name == \"no1\" then break end\r\n          if unit.name == \"swan\" then\r\n            local sound = love.sound.newSoundData(\"assets/audio/sfx/honk\" .. math.random(1,6) .. \".wav\");\r\n            local source = love.audio.newSource(sound, \"static\")\r\n            source:setVolume(1)\r\n            source:setPitch(math.random() * ((2^(11/12)) - 1) + 1)\r\n            source:play()\r\n          else\r\n            local specific_sing = \"bit\"\r\n            if unit.tile then\r\n              specific_sing = getTile(unit.tile).voice or specific_sing\r\n            end\r\n            if (unit.name == \"pata\") then\r\n              specific_sing = \"pata\" .. tostring(unit.dir)\r\n            end\r\n            \r\n            local sing_note = ruleparent[1].rule.object.name\r\n            local sing_color = getUnitColor(ruleparent[1].rule.object.unit)\r\n            local sing_octave = 0;\r\n            if (sing_color[1] <= 6 and sing_color[2] <= 4) then\r\n              local sing_color_word = colour_for_palette[sing_color[1]][sing_color[2]];\r\n              if sing_color_word == \"whit\" then\r\n                sing_octave = 0\r\n              elseif sing_color_word == \"blacc\" then\r\n                sing_octave = -5\r\n              elseif sing_color_word == \"brwn\" then\r\n                sing_octave = -4\r\n              elseif sing_color_word == \"reed\" then\r\n                sing_octave = -3\r\n              elseif sing_color_word == \"orang\" then\r\n                sing_octave = -2\r\n              elseif sing_color_word == \"yello\" then\r\n                sing_octave = -1\r\n              elseif sing_color_word == \"grun\" then\r\n                sing_octave = 0\r\n              elseif sing_color_word == \"cyeann\" then\r\n                sing_octave = 1\r\n              elseif sing_color_word == \"bleu\" then\r\n                sing_octave = 2\r\n              elseif sing_color_word == \"purp\" then\r\n                sing_octave = 3\r\n              elseif sing_color_word == \"pinc\" then\r\n                sing_octave = 4\r\n              elseif sing_color_word == \"graey\" then\r\n                sing_octave = 5\r\n              end\r\n            end\r\n            local sing_pitch = 1\r\n            if sing_note == \"c\" or sing_note == \"b_sharp\" then\r\n              sing_pitch = 1\r\n            elseif sing_note == \"c_sharp\" or sing_note == \"d_flat\" then\r\n              sing_pitch = 2^(1/12)\r\n            elseif sing_note == \"d\" then\r\n              sing_pitch = 2^(2/12)\r\n            elseif sing_note == \"d_sharp\" or sing_note == \"e_flat\" then\r\n              sing_pitch = 2^(3/12)\r\n            elseif sing_note == \"e\" or sing_note == \"f_flat\" then\r\n              sing_pitch = 2^(4/12)\r\n            elseif sing_note == \"f\" or sing_note == \"e_sharp\" then\r\n              sing_pitch = 2^(5/12)\r\n            elseif sing_note == \"f_sharp\" or sing_note == \"g_flat\" then\r\n              sing_pitch = 2^(6/12)\r\n            elseif sing_note == \"g\" then\r\n              sing_pitch = 2^(7/12)\r\n            elseif sing_note == \"g_sharp\" or sing_note == \"a_flat\" then\r\n              sing_pitch = 2^(8/12)\r\n            elseif sing_note == \"a\" then\r\n              sing_pitch = 2^(9/12)\r\n            elseif sing_note == \"a_sharp\" or sing_note == \"b_flat\" then\r\n              sing_pitch = 2^(10/12)\r\n            elseif sing_note == \"b\" or sing_note == \"c_flat\" then\r\n              sing_pitch = 2^(11/12)\r\n            end\r\n            \r\n            sing_pitch = sing_pitch * 2^sing_octave\r\n            --slightly randomize for chorusing purposes between 99% and 101%\r\n            sing_pitch = sing_pitch * 0.99+(math.random()/50)\r\n            \r\n            sound = love.sound.newSoundData(\"assets/audio/sfx/\" .. specific_sing .. \".wav\");\r\n            local source = love.audio.newSource(sound, \"static\")\r\n            source:setVolume(1)\r\n            source:setPitch(sing_pitch or 1)\r\n            source:play()\r\n          \r\n            addParticles(\"sing\", unit.x, unit.y, sing_color)\r\n          end\r\n        end\r\n        -- BUP\r\n        if hasU(\"bup\") and units_by_name[\"bup\"] then\r\n            playSound(\"bup\")\r\n        end\r\n      end\r\n    end\r\n\r\n    if repeat_timers[key] ~= nil then\r\n      if repeat_timers[key] <= 0 then\r\n        if key ~= \"undo\" then\r\n          repeat_timers[key] = repeat_timers[key] + settings[\"input_delay\"]\r\n        else\r\n          repeat_timers[key] = repeat_timers[key] + UNDO_DELAY\r\n          UNDO_DELAY = math.max(MIN_UNDO_DELAY, UNDO_DELAY - UNDO_SPEED)\r\n        end\r\n      end\r\n      repeat_timers[key] = repeat_timers[key] - (love.timer.getDelta() * 1000)\r\n    end\r\n  end\r\n\r\n  if do_move_sound then\r\n    playSound(\"move\")\r\n  end\r\n\r\n  if stack_box.enabled then\r\n    local keep = false\r\n    for _,unit in ipairs(stack_box.units) do\r\n      if unit.x == stack_box.x and unit.y == stack_box.y and not unit.removed then\r\n        keep = true\r\n      end\r\n    end\r\n    if not keep then\r\n      scene.setStackBox(-1, -1)\r\n    else\r\n      stack_box.units = getUnitsOnTile(stack_box.x, stack_box.y)\r\n    end\r\n  end\r\nend\r\n\r\nfunction escResult(do_actual, xwx)\r\n  if was_using_editor then\r\n    if do_actual then\r\n      load_mode = \"edit\"\r\n      new_scene = editor\r\n    else\r\n      return \"the editor\"\r\n    end\r\n  else\r\n    -- i dont know what this is :owoXD:\r\n    if win_reason == \"nxt\" and level_next_level ~= nil and level_next_level ~= \"\" then\r\n      if do_actual then\r\n        loadLevels({level_next_level}, \"play\", nil, xwx)\r\n        return\r\n      else\r\n        return level_next_level\r\n      end\r\n    elseif #level_tree > 0 then\r\n      local parent = level_tree[1]\r\n      local seen = true\r\n      --[[if type(parent) == \"table\" then\r\n        for _,name in ipairs(parent) do\r\n          if not readSaveFile{\"levels\", name, \"seen\"} then\r\n            seen = false\r\n            break\r\n          end\r\n        end\r\n      else\r\n        seen = readSaveFile{\"levels\", parent, \"seen\"}\r\n      end]]\r\n      if seen then\r\n        if do_actual then\r\n          if type(parent) == \"table\" then\r\n            loadLevels(parent, \"play\", nil, xwx)\r\n          else\r\n            loadLevels({parent}, \"play\", nil, xwx)\r\n          end\r\n          table.remove(level_tree, 1)\r\n          return\r\n        else\r\n          if type(parent) == \"table\" then\r\n            local result = \"\"\r\n            for i,name in ipairs(parent) do\r\n              result = result .. (i > 1 and \" & \" or \"\") .. split(name, \"/\")[1]\r\n            end\r\n            return result\r\n          else\r\n            return split(parent, \"/\")[1]\r\n          end\r\n        end\r\n      end\r\n    end\r\n    if do_actual then\r\n      load_mode = \"play\"\r\n      new_scene = loadscene\r\n      if (love.filesystem.getInfo(getWorldDir(true) .. \"/\" .. \"overworld.txt\")) then\r\n        if loaded_custom_assets then\r\n          unloadMod()\r\n          assets.clear()\r\n          assets.load(\"assets\")\r\n          loaded_custom_assets = false\r\n        end\r\n        world = \"\"\r\n      end\r\n    else\r\n      return \"the level selection menu\"\r\n    end\r\n  end\r\nend\r\n\r\nfunction doOneMove(x, y, key, past)\r\n  if pause then return end\r\n  \r\n  if not past then\r\n    table.insert(all_moves, {x, y, key})\r\n  end\r\n  current_move = current_move + 1\r\n\r\n\tif (currently_winning and not past) then\r\n    --undo: undo win.\r\n    --idle on the winning screen: go to the editor, if we were editing; go to the parent level, if known (prefer explicit to implicit), else go back to the world we were looking at.\r\n    if (key == \"undo\") then\r\n      undoWin()\r\n    else\r\n      if x == 0 and y == 0 and key ~= \"e\" and not past then\r\n        if not replay_playback then\r\n          escResult(true)\r\n        end\r\n      end\r\n      return\r\n    end\r\n  end\r\n  \r\n  if (key == \"e\") then\r\n\t\tif hasProperty(nil,\"zawarudo\") or hasProperty(nil,\"anti zawarudo\") then\r\n      --[[\r\n      level_shader = shader_zawarudo\r\n      shader_time = 0\r\n      doin_the_world = true\r\n      ]]\r\n      newUndo()\r\n      timeless = not timeless\r\n      if timeless then\r\n        if not doing_past_turns then\r\n          extendReplayString(0, 0, \"e\")\r\n        end\r\n        if firsttimestop then\r\n          playSound(\"timestop long\",0.5)\r\n          if units_by_name[\"zawarudo\"] then\r\n            playSound(\"za warudo\",0.5)\r\n          end\r\n        else\r\n          playSound(\"timestop\",0.5)\r\n        end\r\n      else\r\n        addUndo({\"timeless_rules\", rules_with, full_rules})\r\n        parseRules()\r\n        should_parse_rules = true\r\n        doMovement(0,0,\"e\")\r\n        if firsttimestop then\r\n          playSound(\"time resume long\",0.5)\r\n          firsttimestop = false\r\n          if units_by_name[\"zawarudo\"] then\r\n            playSound(\"time resume dio\",0.5)\r\n          end\r\n        else\r\n          playSound(\"time resume\",0.5)\r\n        end\r\n      end\r\n      addUndo({\"zawarudo\", timeless})\r\n      unsetNewUnits()\r\n    else\r\n      addUndo({\"timeless_rules\", rules_with, full_rules})\r\n      timeless = false\r\n      should_parse_rules = true\r\n    end\r\n    mobile_controls_timeless:setBGImage(sprites[timeless and \"ui/time resume\" or \"ui/timestop\"])\r\n  elseif (key == \"f\") then\r\n    if not doing_past_turns then\r\n      extendReplayString(0, 0, \"f\")\r\n    end\r\n\r\n    if hasRule(\"press\",\"f2\",\"infloop\") then\r\n      destroyLevel(\"infloop\")\r\n    end\r\n    if hasRule(\"press\",\"f2\",\"plsdont\") then\r\n      destroyLevel(\"plsdont\")\r\n    end\r\n    if hasRule(\"press\",\"f2\",\"tryagain\") then\r\n      doTryAgain()\r\n    end\r\n    if hasRule(\"press\",\"f2\",\"delet\") then\r\n      doXWX()\r\n    end\r\n    if hasRule(\"press\",\"f2\",\"nxt\") then\r\n      doWin(\"nxt\")\r\n    end\r\n    if hasRule(\"press\",\"f2\",\":)\") then\r\n      doWin(\"won\")\r\n    end\r\n\r\n    local to_destroy = {}\r\n    if hasRule(\"press\",\"f2\",\"hotte\") then\r\n      local melters = getUnitsWithEffect(\"fridgd\")\r\n      for _,unit in ipairs(melters) do\r\n        table.insert(to_destroy, unit)\r\n        addParticles(\"destroy\", unit.x, unit.y, getUnitColor(unit))\r\n      end\r\n      if #to_destroy > 0 then\r\n        playSound(\"hotte\")\r\n      end\r\n    end\r\n    to_destroy = handleDels(to_destroy)\r\n    \r\n    if hasRule(\"press\",\"f2\",\":(\") then\r\n      local yous = getUs()\r\n      for _,unit in ipairs(yous) do\r\n        table.insert(to_destroy, unit)\r\n        addParticles(\"destroy\", unit.x, unit.y, getUnitColor(unit))\r\n      end\r\n    end\r\n    to_destroy = handleDels(to_destroy)\r\n\telseif (key == \"undo\") then\r\n    local result = undo()\r\n    if not doing_past_turns then\r\n      extendReplayString(0, 0, \"undo\")\r\n    end\r\n    unsetNewUnits()\r\n\t\treturn result\r\n  else\r\n    if key ~= \"drag\" then\r\n      newUndo()\r\n    end\r\n\t\tlast_move = {x, y}\r\n\t\tjust_moved = true\r\n\t\tdoMovement(x, y, key)\r\n    last_clicks = {}\r\n\t\tif #undo_buffer > 0 and #undo_buffer[1] == 0 then\r\n\t\t\ttable.remove(undo_buffer, 1)\r\n\t\tend\r\n    unsetNewUnits()\r\n    scene.doPastTurns()\r\n\tend\r\n  return true\r\nend\r\n\r\nfunction scene.doPassiveParticles(timer,word,effect,delay,chance,count,color)\r\n  local do_particles = false\r\n  if not particle_timers[word] then\r\n    particle_timers[word] = 0\r\n  else\r\n    particle_timers[word] = particle_timers[word] + timer\r\n    if particle_timers[word] >= delay then\r\n      particle_timers[word] = particle_timers[word] - delay\r\n      do_particles = true\r\n    end\r\n  end\r\n  \r\n  if do_particles and not timeless then\r\n    local matches = matchesRule(nil,\"be\",word)\r\n    for _,match in ipairs(matches) do\r\n      local unit = match[2]\r\n      local real_count = 0\r\n      for i = 1, count do\r\n        if math.random() < chance then\r\n          real_count = real_count + 1\r\n        end\r\n      end\r\n      if not unit.stelth and particlesRngCheck() then\r\n        if word == \":)\" and countProperty(unit,\":)\") > countProperty (unit,\"un:)\") then\r\n          addParticles(effect, unit.x, unit.y, color, real_count)\r\n        elseif word == \"un:)\" and countProperty(unit,\":)\") < countProperty (unit,\"un:)\") then\r\n          addParticles(effect, unit.x, unit.y, color, real_count)\r\n        elseif word ~= \":)\" and word ~= \"un:)\" then\r\n          addParticles(effect, unit.x, unit.y, color, real_count)\r\n        end\r\n      end\r\n    end\r\n  end\r\nend\r\n\r\nfunction scene.doPastTurns()\r\n  if not doing_past_turns and change_past then\r\n    old_units = units\r\n    old_units_by_id = units_by_id\r\n    doing_past_turns = true\r\n    past_playback = true\r\n    past_queued_wins = {}\r\n\r\n    if (unit_tests or not settings[\"stopwatch_effect\"]) then\r\n      do_past_effects = true\r\n      playSound(\"stopwatch\")\r\n    end\r\n\r\n    cutscene_tick:delay(function() \r\n      do_past_effects = false\r\n      local start_time = love.timer.getTime()\r\n      local destroy_level = false\r\n      local old_move = current_move\r\n      local old_move_total = #all_moves\r\n      \r\n      --[[while change_past and not destroy_level do\r\n        change_past = false\r\n        local past_buffer = undo_buffer\r\n        scene.resetStuff()\r\n        current_move = 0\r\n        undo_buffer = {}\r\n        for i,past_move in ipairs(all_moves) do\r\n          doOneMove(past_move[1], past_move[2], past_move[3], true)\r\n          if change_past then break end\r\n          if love.timer.getTime() - start_time > 10 then\r\n            destroy_level = true\r\n            break\r\n          end\r\n        end\r\n        undo_buffer = past_buffer\r\n      end]]\r\n      if destroy_level then\r\n        destroyLevel(\"infloop\")\r\n      elseif (settings[\"stopwatch_effect\"] and not unit_tests) then\r\n        local moves_per_tick = 1\r\n        local delay = math.max(1/#all_moves, 1/20)\r\n        while delay < 1/60 do\r\n          moves_per_tick = moves_per_tick * 2\r\n          delay = delay * 2\r\n        end\r\n        stopwatch.visible = true\r\n        stopwatch.big.rotation = 0\r\n        stopwatch.small.rotation = 0\r\n        clock_tween = tween.new(delay * math.ceil(#all_moves / moves_per_tick), stopwatch.big, {rotation = 360})\r\n        addTween(clock_tween, \"stopwatch\")\r\n\r\n        do_past_effects = true\r\n        playSound(\"stopwatch\")\r\n        local past_buffer = undo_buffer\r\n        scene.resetStuff(true)\r\n        current_move = 0\r\n        local iterations = 1\r\n        local count = math.min(#all_moves - i, moves_per_tick - 1)\r\n        local function pastMove(i, count)\r\n          change_past = false\r\n          local finished = false\r\n          for j = 0, count do\r\n            if i+j == #all_moves then\r\n              finished = true\r\n            end\r\n            doOneMove(all_moves[i+j][1], all_moves[i+j][2], all_moves[i+j][3], true)\r\n          end\r\n          if change_past then\r\n            cutscene_tick:delay(function()\r\n              addTween(tween.new(delay, stopwatch.big, {rotation = 0}), \"stopwatch\")\r\n              change_past = false\r\n              --past_buffer = undo_buffer\r\n              scene.resetStuff(true)\r\n              current_move = 0\r\n              iterations = iterations + 1\r\n            end, delay):after(function()\r\n              clock_tween:set(0)\r\n              addTween(clock_tween, \"stopwatch\")\r\n              playSound(\"stopwatch\")\r\n              pastMove(1, math.min(#all_moves - 1, moves_per_tick - 1))\r\n            end, delay)\r\n          elseif finished then\r\n            stopwatch.visible = false\r\n            should_parse_rules = true\r\n            doing_past_turns = false\r\n            past_playback = false\r\n            past_rules = {}\r\n            \r\n            for result, payload in pairs(past_queued_wins) do\r\n              doWin(result, payload)\r\n            end\r\n            \r\n            undo_buffer = past_buffer\r\n            createUndoBasedOnUnitsChanges(old_units, old_units_by_id, units, units_by_id)\r\n            old_units = nil; old_units_by_id = nil;\r\n          elseif iterations > 20 then\r\n            destroyLevel(\"plsdont\")\r\n          else\r\n            cutscene_tick:delay(function() pastMove(i+count+1, math.min(#all_moves - i+count, moves_per_tick - 1)) end, delay)\r\n          end \r\n        end\r\n        cutscene_tick:delay(function() pastMove(1, math.min(#all_moves - 1, moves_per_tick - 1)) end, delay)\r\n      else\r\n        --[[local past_buffer = undo_buffer\r\n        scene.resetStuff(true)\r\n        current_move = 0\r\n        undo_buffer = {}]]\r\n        while change_past and not destroy_level do\r\n          change_past = false\r\n          local past_buffer = undo_buffer\r\n          scene.resetStuff(true)\r\n          current_move = 0\r\n          undo_buffer = {}\r\n          for i,past_move in ipairs(all_moves) do\r\n            do_past_effects = i <= 10 or #all_moves - i < 10\r\n            if i == #all_moves then\r\n              should_parse_rules = true\r\n            end\r\n            doOneMove(past_move[1], past_move[2], past_move[3], true)\r\n            if change_past then break end\r\n            if love.timer.getTime() - start_time > 10 then\r\n              destroy_level = true\r\n              break\r\n            end\r\n          end\r\n          undo_buffer = past_buffer\r\n        end\r\n        if destroy_level then\r\n          destroyLevel(\"infloop\")\r\n        else\r\n          --[[for i,past_move in ipairs(all_moves) do\r\n            do_past_effects = i <= 10 or #all_moves - i < 10\r\n            if i == #all_moves then\r\n              should_parse_rules = true\r\n            end\r\n            doOneMove(past_move[1], past_move[2], past_move[3], true)\r\n          end]]\r\n          should_parse_rules = true\r\n          doing_past_turns = false\r\n          past_playback = false\r\n          past_rules = {}\r\n          \r\n          for result, payload in pairs(past_queued_wins) do\r\n            doWin(result, payload)\r\n          end\r\n          \r\n          --undo_buffer = past_buffer\r\n          createUndoBasedOnUnitsChanges(old_units, old_units_by_id, units, units_by_id)\r\n          old_units = nil; old_units_by_id = nil;\r\n          for k,v in pairs(tweens) do\r\n            v[1]:set(v[1].duration)\r\n          end\r\n        end\r\n      end\r\n    end, 0.25)\r\n  end\r\nend\r\n\r\n--have a probability to produce particles if there are more than 50 emitters, so that performance degradation is capped.\r\nfunction particlesRngCheck()\r\n  if #particles < 50 then return true end\r\n  return math.random() < math.pow(0.5, (#particles-50)/50)\r\nend\r\n\r\nlast_click_button = 1;\r\n\r\nfunction finishDragabl()\r\n  local dragged = false\r\n  for _,unit in ipairs(drag_units) do\r\n    local dest_x, dest_y = math.floor(unit.draw.x + 0.5), math.floor(unit.draw.y + 0.5)\r\n      if not dragged then\r\n        playSound(\"dragabl putdown\")\r\n        newUndo()\r\n      end\r\n      addUndo{\"update\",unit.id,unit.x,unit.y,unit.dir}\r\n      moveUnit(unit,dest_x,dest_y)\r\n      dragged = true\r\n    --end\r\n    addTween(tween.new(0.1, unit.draw, {x = unit.x, y = unit.y}), \"dragbl release:\"..tostring(unit))\r\n  end\r\n  return dragged\r\nend\r\n\r\nfunction scene.mouseReleased(x, y, button)\r\n  local height, width = love.graphics.getHeight(), love.graphics.getWidth()\r\n  local box = sprites[\"ui/32x32\"]:getWidth()\r\n  \r\n  if button == 1 then\r\n    local did_a_thing = false;\r\n    -- DRAGBL release\r\n    if units_by_name[\"txt_dragbl\"] then\r\n      local last_click_x, last_click_y = screenToGameTile(love.mouse.getX(), love.mouse.getY())\r\n      local dragged = finishDragabl()\r\n      if dragged then\r\n        last_click_button = 1\r\n        doOneMove(last_click_x,last_click_y,\"drag\")\r\n        did_a_thing = true\r\n      end\r\n      drag_units = {}\r\n      mous_for_drag_unit = {}\r\n      initialxy_for_drag_unit = {}\r\n      last_clicks = {}\r\n    end\r\n    -- CLIKT prefix\r\n    if units_by_name[\"txt_clikt\"] and not did_a_thing then\r\n      local last_click_x, last_click_y = screenToGameTile(love.mouse.getX(), love.mouse.getY())\r\n      last_click_button = 1\r\n      doOneMove(last_click_x,last_click_y,\"clikt\")\r\n      last_clicks = {}\r\n      playSound(\"clicc\")\r\n    end\r\n    -- Replay buttons\r\n    if replay_playback then\r\n      if pointInside(x, y, width - box*3, 0, box, box) then\r\n        replay_pause = not replay_pause\r\n      end\r\n      if not replay_pause then\r\n        if pointInside(x, y, width - box*4, 0, box, box) then\r\n          replay_playback_interval = replay_playback_interval / 0.8\r\n        elseif pointInside(x, y, width - box*2, 0, box, box) then\r\n          replay_playback_interval = replay_playback_interval * 0.8\r\n        end\r\n      elseif replay_pause then\r\n        if pointInside(x, y, width - box*4, 0, box, box) then\r\n          if replay_playback_turn > 1 then\r\n            replay_playback_turn = replay_playback_turn - 1\r\n            doOneMove(0,0,\"undo\")\r\n          end\r\n        elseif pointInside(x, y, width - box*2, 0, box, box) then\r\n          doReplayTurn(replay_playback_turn)\r\n          replay_playback_turn = replay_playback_turn + 1\r\n        end\r\n      end\r\n      if pointInside(x, y, width - box, 0, box, box) then\r\n        replay_playback = false\r\n      end\r\n    end\r\n  elseif button == 2 then\r\n    -- CLIKT prefix\r\n    if units_by_name[\"txt_clikt\"] then\r\n      local last_click_x, last_click_y = screenToGameTile(love.mouse.getX(), love.mouse.getY())\r\n      last_click_button = 2\r\n      doOneMove(last_click_x,last_click_y,\"anti clikt\")\r\n      playSound(\"anti clicc\")\r\n      last_clicks = {}\r\n    end\r\n    -- Stacks preview\r\n    scene.setStackBox(screenToGameTile(x, y))\r\n  end\r\n\r\n  if pause then\r\n    width = love.graphics.getWidth()\r\n    height = love.graphics.getHeight()\r\n\r\n    local buttonwidth, buttonheight = sprites[\"ui/button_1\"]:getDimensions()\r\n\r\n    local mousex, mousey = love.mouse.getPosition()\r\n\r\n    --[[for i=1, #buttons do\r\n      local buttony = buttonheight*4+(buttonheight+10)*(i-2)\r\n      if mouseOverBox(width/2-sprites[\"ui/button_1\"]:getWidth()/2, buttony, buttonwidth, buttonheight) then\r\n        if button == 1 then\r\n          handlePauseButtonPressed(i)\r\n        end\r\n      end\r\n    end]]\r\n  end\r\nend\r\n\r\nfunction handlePauseButtonPressed(i)\r\n  if buttons[i] == \"exit\" then\r\n    escResult(true)\r\n  elseif buttons[i] == \"resume\" then\r\n    pause = false\r\n  elseif buttons[i] == \"editor\" then\r\n    new_scene = editor\r\n    load_mode = \"edit\"\r\n  elseif buttons[i] == \"restart\" then\r\n    pause = false\r\n    scene.resetStuff()\r\n  end\r\nend\r\n\r\nfunction scene.resize(w, h)\r\n  scene.buildUI()\r\nend\r\n\r\n\r\nfunction scene.mousePressed(x, y, button)\r\n  if not (rules_with[\"dragbl\"] or rules_with[\"anti dragbl\"]) then return end\r\n  \r\n  if button == 1 then\r\n    for _,cursor in ipairs(cursors) do\r\n      local tx,ty = cursor.x, cursor.y\r\n      local stuff = getUnitsOnTile(tx,ty)\r\n      for _,unit in ipairs(stuff) do\r\n        if (hasProperty(unit,\"dragbl\") or hasProperty(unit,\"anti dragbl\")) and mous_for_drag_unit[unit] == nil then\r\n          table.insert(drag_units, unit)\r\n          mous_for_drag_unit[unit] = cursor;\r\n          initialxy_for_drag_unit[unit] = {x = cursor.screenx, y = cursor.screeny}\r\n        end\r\n      end\r\n    end\r\n    if (#drag_units > 0) then\r\n      playSound(\"dragabl pickup\")\r\n    end\r\n  end\r\nend\r\n\r\nfunction scene.setStackBox(x, y)\r\n  local units = getUnitsOnTile(x, y)\r\n  for _,unit in ipairs(units) do\r\n    if unit.name ~= \"no1\" then\r\n      if stack_box.scale == 0 then\r\n        stack_box.enabled = true\r\n        stack_box.units = units\r\n        stack_box.x, stack_box.y = unit.x, unit.y\r\n        addTween(tween.new(0.1, stack_box, {scale = 1}), \"stack box\")\r\n      elseif stack_box.x ~= unit.x or stack_box.y ~= unit.y then\r\n        addTween(tween.new(0.05, stack_box, {scale = 0}), \"stack box\", function()\r\n          stack_box.enabled = true\r\n          stack_box.units = units\r\n          stack_box.x, stack_box.y = unit.x, unit.y\r\n          addTween(tween.new(0.1, stack_box, {scale = 1}), \"stack box\")\r\n        end)\r\n      else\r\n        stack_box.enabled = false\r\n        addTween(tween.new(0.1, stack_box, {scale = 0}), \"stack box\")\r\n      end\r\n      return\r\n    end\r\n  end\r\n  if stack_box.enabled then\r\n    stack_box.enabled = false\r\n    addTween(tween.new(0.1, stack_box, {scale = 0}), \"stack box\")\r\n  end\r\nend\r\n\r\nfunction scene.setPathlockBox(unit)\r\n  if unit then\r\n    if pathlock_box.scale == 0 then\r\n      pathlock_box.enabled = true\r\n      pathlock_box.unit = unit\r\n      pathlock_box.x, pathlock_box.y = unit.x, unit.y\r\n      addTween(tween.new(0.1, pathlock_box, {scale = 1}), \"pathlock box\")\r\n    elseif pathlock_box.x ~= unit.x or pathlock_box.y ~= unit.y then\r\n      addTween(tween.new(0.05, pathlock_box, {scale = 0}), \"pathlock box\", function()\r\n        pathlock_box.enabled = true\r\n        pathlock_box.unit = unit\r\n        pathlock_box.x, pathlock_box.y = unit.x, unit.y\r\n        addTween(tween.new(0.1, pathlock_box, {scale = 1}), \"pathlock box\")\r\n      end)\r\n    end\r\n    return\r\n  end\r\n  if pathlock_box.enabled then\r\n    pathlock_box.enabled = false\r\n    addTween(tween.new(0.1, pathlock_box, {scale = 0}), \"pathlock box\")\r\n  end\r\nend\r\n\r\nfunction updateDragabl()\r\n  if drag_units and #drag_units > 0 then\r\n    local nodrags = getUnitsWithEffect(\"nodrag\")\r\n    local bordr_is_nodrag = hasRule(\"bordr\", \"be\", \"nodrag\")\r\n\r\n    for _,unit in ipairs(drag_units) do\r\n      local tx, ty = screenToGameTile(mous_for_drag_unit[unit].screenx, mous_for_drag_unit[unit].screeny, true)\r\n      tx,ty = tx - 0.5, ty - 0.5\r\n      local mx, my\r\n      if hasProperty(unit,\"anti dragbl\") then\r\n        mx, my = screenToGameTile(initialxy_for_drag_unit[unit].x, initialxy_for_drag_unit[unit].y);\r\n        mx,my = mx*2-tx, my*2-ty\r\n      else\r\n        mx,my = tx,ty\r\n      end\r\n      --mx, my = mx - 0.5, my - 0.5\r\n      local oldx, oldy = math.floor(unit.draw.x), math.floor(unit.draw.y)\r\n      local dx, dy = sign(mx - unit.draw.x), sign(my - unit.draw.y)\r\n      if anti then\r\n        dx, dy = sign(mx - unit.draw.x), sign(my - unit.draw.y)\r\n      end\r\n      local gox, goy = true, true\r\n\r\n      if (bordr_is_nodrag) then\r\n        if math.floor(unit.draw.x)+dx < 0 then\r\n          gox = false\r\n        end\r\n        if math.floor(unit.draw.x)+dx > (mapwidth-1) then\r\n          gox = false\r\n        end\r\n        if math.floor(unit.draw.y)+dy < 0 then\r\n          goy = false\r\n        end\r\n        if math.floor(unit.draw.y)+dy > (mapheight-1) then\r\n          goy = false\r\n        end\r\n      end\r\n\r\n      for __,other in ipairs(nodrags) do\r\n        if (other.x == math.floor(unit.draw.x)+dx) and (other.y == math.floor(unit.draw.y) or other.y == math.ceil(unit.draw.y)) then\r\n          gox = false\r\n          break\r\n        end\r\n      end\r\n      for __,other in ipairs(nodrags) do\r\n        if (other.y == math.floor(unit.draw.y)+dy) and (other.x == math.floor(unit.draw.x) or other.x == math.ceil(unit.draw.x)) then\r\n          goy = false\r\n          break\r\n        end\r\n      end\r\n\r\n      if gox then \r\n        local diff = mx - unit.draw.x\r\n        if diff < -0.25 then diff = -0.25 end\r\n        if diff > 0.25 then diff = 0.25 end\r\n        unit.draw.x = unit.draw.x + diff\r\n      else\r\n        if mx * dx < oldx * dx then\r\n          unit.draw.x = mx\r\n        else\r\n          unit.draw.x = oldx\r\n        end\r\n      end\r\n      if goy then\r\n        local diff = my - unit.draw.y\r\n        if diff < -0.25 then diff = -0.25 end\r\n        if diff > 0.25 then diff = 0.25 end\r\n        unit.draw.y = unit.draw.y + diff\r\n      else\r\n        if my * dy < oldy * dy then\r\n          unit.draw.y = my\r\n        else\r\n          unit.draw.y = oldy\r\n        end\r\n      end\r\n    end\r\n  end\r\nend\r\n\r\nreturn scene\r\n"
  },
  {
    "path": "game/undo.lua",
    "content": "function newUndo()\n  table.insert(undo_buffer, 1, {})\n  undo_buffer[1].last_move = last_move\nend\n\nfunction addUndo(data)\n  --print(\"addUndo:\",data[1],data[2],data[3],data[4],data[5],data[6],data[7])\n  if #undo_buffer > 0 then \n    table.insert(undo_buffer[1], 1, data)\n  end\nend\n\nfunction consolidateUndo(turn)\n  --Goal of this function - if we ended on a trivial movement infinite loop, consolidate the 1000 updates into one.\n  if #undo_buffer > 0 then \n    local buff = undo_buffer[1]\n    local prev_undo = nil\n    local cur_undo = nil\n    for i = #buff,1,-1 do\n      cur_undo = buff[i]\n      if (prev_undo ~= nil and prev_undo[1] == \"update\" and cur_undo[1] == \"update\" and prev_undo[2] == cur_undo[2]) then\n        --we found two updates for the same unit in a row - we can ditch the older one\n        table.remove(buff, i)\n      else\n        prev_undo = cur_undo\n      end\n    end\n  end\nend\n\nfunction addUndoMaybeOverwrite(data)\n  --to save space when crazy infloop/try again stuff happens\n  if #undo_buffer > 0 then \n    local most_recent_undo = undo_buffer[1][1]\n    if most_recent_undo[1] == data[1] and most_recent_undo[2] == data[2] then\n      --this causes bugs, need to investigate I guess\n      --returning seems to work better on average?\n      --print(\"abort!\")\n      return\n      --print(\"replacing:\", fullDump(most_recent_undo), \"with:\", fullDump(data))\n      --table.remove(undo_buffer[1], 1)\n    end\n    table.insert(undo_buffer[1], 1, data)\n  end\nend\n\nfunction undoOneAction(turn, i, v, ignore_no_undo)\n  --print(\"undoOneAction:\",v[1],v[2],v[3],v[4],v[5],v[6],v[7])\n  local update_rules = false\n  local action = v[1]\n  local unit = nil\n  \n  if action == \"update\" then\n    unit = units_by_id[v[2]]\n    --print(\"undoOneAction update\", unit.name, v[3], v[4])\n    if unit ~= nil and (ignore_no_undo or not isNoUndo(unit)) then\n      moveUnit(unit,v[3],v[4])\n      --force updates when we're rewinding time - it ABSOLUTELY had that direction in the past\n      updateDir(unit, v[5], true)\n\n      if unit.type == \"txt\" or rules_effecting_names[unit.name] or rules_effecting_names[unit.fullname] then\n        update_rules = true\n      end\n    end\n  elseif action == \"create\" then\n    local convert = v[3]\n    unit = units_by_id[v[2]]\n    --print(\"undoOneAction create:\",fullDump(v), unit)\n    if unit ~= nil and (unit.type == \"txt\" or rules_effecting_names[unit.name] or rules_effecting_names[unit.fullname])  then\n      update_rules = true\n    end\n\n    if unit ~= nil and (ignore_no_undo or not isNoUndo(unit)) then\n      deleteUnit(unit, convert, true)\n    end\n  elseif action == \"remove\" then\n    local convert = v[6]\n    --If the unit was converted into 'no undo' byproducts that still exist, don't bring it back.\n    local proceed = true\n    if (convert and not ignore_no_undo and rules_with[\"noundo\"] ~= nil) then\n      proceed = not turnedIntoOnlyNoUndoUnits(turn, i, v[7])\n    end\n    if (proceed) then\n      unit = createUnit(v[2], v[3], v[4], v[5], convert, v[7], nil, nil, v[9])\n      if unit ~= nil then\n        unit.special = v[8]\n      end\n      --If the unit was actually a destroyed 'no undo', oops. Don't actually bring it back. It's dead, Jim.\n      if (unit ~= nil and not convert and (not ignore_no_undo and isNoUndo(unit, true))) then\n        deleteUnit(unit, convert, true)\n      end\n\n      if unit ~= nil and (unit.type == \"txt\" or rules_effecting_names[unit.name] or rules_effecting_names[unit.fullname])  then\n        update_rules = true\n      end\n    end\n    --TODO: test MOUS vs NO UNDO interactions\n  elseif action == \"create_cursor\" then\n    --love.mouse.setPosition(v[2], v[3])\n    deleteMouse(v[2]) --id\n  elseif action == \"remove_cursor\" then\n    --love.mouse.setPosition(v[2], v[3])\n    createMouse_direct(v[2], v[3], v[4]) --x, y, id\n  elseif action == \"backer_turn\" then\n    unit = units_by_id[v[2]]\n    --print(\"undo backer_turn:\", unit.fullname, backers_cache[unit], unit.backer_turn, v[3])\n    if (unit ~= nil and (ignore_no_undo or not isNoUndo(unit))) then\n      backers_cache[unit] = v[3]\n      unit.backer_turn = v[3]\n    end\n  elseif action == \"destroy_level\" then\n    destroycount = destroycount-1\n    if v[2] == \"infloop\" then\n      infcount = infcount-1\n    end\n    if v[2] == \"plsdont\" then\n      complexcount = complexcount-1\n    end\n    if destroycount <= 0 then\n      level_destroyed = false\n    end\n  elseif action == \"zawarudo\" then\n    timeless = not v[2]\n    if timeless then playSound(\"timestop\", 0.5)\n    else playSound(\"time resume\", 0.5)\n    end\n  elseif action == \"time_destroy\" then\n\t\tunitid = v[2]\n    --iterate backwards because we probably got added to the end (but maybe not due to no undo shenanigans e.g.)\n    for i=#time_destroy,1,-1 do\n      if time_destroy[i] == unitid then\n        table.remove(time_destroy, i)\n        break\n      end\n    end\n  elseif action == \"time_destroy_remove\" then\n    table.insert(time_destroy, v[2])\n  elseif action == \"timeless_win_add\" then\n\t\tunitid = v[2]\n    --iterate backwards because we probably got added to the end (but maybe not due to no undo shenanigans e.g.)\n    for i=#timeless_win,1,-1 do\n      if timeless_win[i] == unitid then\n        table.remove(timeless_win, i)\n        break\n      end\n    end\n  elseif action == \"timeless_win_remove\" then\n    table.insert(timeless_win, v[2])\n  elseif action == \"timeless_unwin_add\" then\n\t\tunitid = v[2]\n    --iterate backwards because we probably got added to the end (but maybe not due to no undo shenanigans e.g.)\n    for i=#timeless_unwin,1,-1 do\n      if timeless_unwin[i] == unitid then\n        table.remove(timeless_unwin, i)\n        break\n      end\n    end\n  elseif action == \"timeless_unwin_remove\" then\n    table.insert(timeless_unwin, v[2])\n  elseif action == \"timeless_split_add\" then\n\t\ttimeless_split[v[2]] = nil\n  elseif action == \"timeless_split_remove\" then\n    timeless_split[v[2]] = v[3]\n  elseif action == \"timeless_reset_add\" then\n\t\ttimeless_reset = false\n  elseif action == \"timeless_reset_remove\" then\n    --causes an infinite loop, and kind of meaningless by definition I guess\n    --timeless_reset = true\n  elseif action == \"timeless_replay_add\" then\n    timeless_replay = false\n  elseif action == \"timeless_replay_remove\" then\n    --actually not meaningless by definition since you can undo winning\n    timeless_replay = true\n  elseif action == \"timeless_crash_add\" then\n\t\ttimeless_crash = false\n  elseif action == \"timeless_crash_remove\" then\n    --meaningless by definition\n    --timeless_crash = true\n  elseif action == \"timeless_yeet_add\" or action == \"timeless_yeet_remove\" then\n    timeless_yote[v[2]] = v[3]\n  elseif action == \"timeless_rules\" then\n    rules_with = v[2]\n    full_rules = v[3]\n    for _,rule in ipairs(full_rules) do\n      for _,unit in ipairs(rule.units) do\n        unit.active = true\n      end\n    end\n\telseif action == \"colour_change\" then\n    unit = units_by_id[v[2]]\n    colour = v[3]\n    value = v[4]\n    if (unit ~= nil and (ignore_no_undo or not isNoUndo(unit))) then\n      unit[colour] = value\n      updateUnitColourOverride(unit)\n    end\n  elseif action == \"color_override_change\" then\n    unit = units_by_id[v[2]]\n    value = v[3]\n    if (unit ~= nil and (ignore_no_undo or not isNoUndo(unit))) then\n      unit.color_override = value\n    end\n  elseif action == \"past\" then\n    current_move = v[2]\n    while #all_moves >= v[3] do\n      table.remove(all_moves)\n    end\n  elseif action == \"tween\" then\n    removeFromTable(still_converting, v[2])\n  elseif action == \"zomb\" then\n    unit = units_by_id[v[2]]\n    if unit ~= nil and (unit.type == \"txt\" or rules_effecting_names[unit.name] or rules_effecting_names[unit.fullname])  then\n      update_rules = true\n    end\n\n    if unit ~= nil and (ignore_no_undo or not isNoUndo(unit)) then\n      zomb_undos[v[3]] = nil\n      deleteUnit(unit, true, true)\n    end\n  end\n  return update_rules, unit\nend\n\nfunction doBack(unitid, turn, _ignore_no_undo)\n  --UNDO being able to supercede NO UNDO sounds more interesting than if it's a non-interaction imo, means you could make a puzzle where you have to rewind something that was otherwise impossible to rewind\n  local ignore_no_undo = _ignore_no_undo\n  if (ignore_no_undo == nil) then ignore_no_undo = true end\n  if (turn <= 0) then\n    return false\n  end\n  if undo_buffer[turn] ~= nil then\n    --add a dummy action so that undoing happens\n    if (#undo_buffer[1] == 0) then\n      addUndo({\"dummy\"})\n    end\n    local buf = undo_buffer[turn]\n    if turn == 1 then\n      buf = copyTable(buf) -- avoid an infinite loop during tryAgain\n    end\n    for _,v in ipairs(buf) do \n      local action = v[1]\n      local unit = units_by_id[v[2]]\n      --print(\"doBack:\", fullDump(v))\n      if (action == \"remove\") then --should be impossible with UNDO, for TRY AGAIN purposes\n        local id = v[7];\n        addUndo({\"create\", v[7], true, v.created_from_id})\n        undoOneAction(turn, _, v, ignore_no_undo)\n      end\n      if unit ~= nil and (unit.id == unitid or unitid == nil) then\n        if (action == \"update\") then\n          --print(\"doBack update\", unit.name, unit.x, unit.y, v[3], v[4])\n          addUndoMaybeOverwrite({\"update\", unit.id, unit.x, unit.y, unit.dir})\n          undoOneAction(turn, _, v, ignore_no_undo)\n        elseif (action == \"create\") then\n          local convert = v[6]\n          local created_from_id = v.created_from_id\n          if (unit.backer_turn ~= nil) then\n            addUndo({\"backer_turn\", unit.id, unit.backer_turn})\n          end\n          addUndo({\"remove\", unit.tile, unit.x, unit.y, unit.dir, convert or false, unit.id})\n          undoOneAction(turn, _, v, ignore_no_undo)\n          scanAndRecreateOldUnit(turn, _, unit.id, created_from_id, ignore_no_undo)\n        elseif (action == \"create_cursor\") then\n          addUndo({\"remove_cursor\", unit.screenx, unit.screeny, unit.id})\n          undoOneAction(turn, _, v, ignore_no_undo)\n          --TODO: test MOUS vs UNDO interactions\n        elseif (action == \"colour_change\") then\n          colour = v[3]\n          value = v[4]\n          addUndo({\"colour_change\", unit.id, colour, unit[colour]})\n          unit[colour] = value\n          updateUnitColourOverride(unit)\n        elseif action == \"color_override_change\" then\n          value = v[3]\n          addUndo({\"color_override_change\", unit.id, unit.color_override})\n          unit.color_override = value\n        end\n      end\n    end\n    --print(fullDump(undo_buffer[1]))\n    return true\n  end\n  return false\nend\n\n--If gras becomes roc, then later roc becomes undo, when it disappears we want the gras to come back. This is how we code that - by scanning for the related remove event and undoing that too.\nfunction scanAndRecreateOldUnit(turn, i, unit_id, created_from_id, ignore_no_undo)\n  while (true) do\n    local v = undo_buffer[turn][i]\n    if (v == nil) then\n      return\n    end\n    local action = v[1]\n    --TODO: implement for MOUS\n    if (action == \"remove\") then\n      local old_creator_id = v[7]\n      if v[7] == created_from_id then\n        --no exponential cloning if gras turned into 2 rocs - abort if there's already a unit with that name on that tile\n        local tile, x, y = v[2], v[3], v[4]\n        local data = getTile(tile)\n        local stuff = getUnitsOnTile(x, y, {not_destroyed = true})\n        for _,on in ipairs(stuff) do\n          if on.name == data.name then\n            return\n          end\n        end\n        local _, new_unit = undoOneAction(turn, i, v, ignore_no_undo)\n        if (new_unit ~= nil) then\n          addUndo({\"create\", new_unit.id, true, created_from_id = unit_id})\n        end\n        return\n      end\n    end\n    i = i - 1\n  end\nend\n\n--if water becomes roc, and roc is no undo, if we undo then the water shouldn't come back. This is how we code that - by scanning for all related create events. If we find one existing no undo byproduct and no existing non-no undo byproducts, we return false.\nfunction turnedIntoOnlyNoUndoUnits(turn, i, unit_id)\n  local found_no_undo = false\n  local found_non_no_undo = false\n  while (true) do\n    local v = undo_buffer[turn][i]\n    if (v == nil) then\n      break\n    end\n    local action = v[1]\n    --TODO: implement for MOUS\n    if (action == \"create\") and v.created_from_id == unit_id then\n      local still_exists = units_by_id[v[2]]\n      if (still_exists ~= nil) then\n        if (isNoUndo(still_exists)) then\n          found_no_undo = true\n        else\n          found_non_no_undo = true\n          break\n        end\n      end\n    end\n    i = i + 1\n  end\n  return not (found_non_no_undo or not found_no_undo)\nend\n\nfunction undo(dont_update_rules)\n  if isNoUndo(outerlvl) and not replay_pause then return end\n  undoing = true\n  if undo_buffer[1] ~= nil then\n    local update_rules = false\n    \n    last_move = undo_buffer[1].last_move or {0, 0}\n    current_turn = current_turn - 1\n\n    for _,v in ipairs(undo_buffer[1]) do\n      local new_update_rules = undoOneAction(1, _, v, false)\n      update_rules = update_rules or new_update_rules\n    end\n    updateUnits(true)\n    if (dont_update_rules ~= true) and update_rules then\n      should_parse_rules = true\n      parseRules(true)\n    end\n    updateGroup()\n    calculateLight()\n    thiccBlock(true)\n    updateUnits(true)\n    updatePortals()\n    miscUpdates(false)\n\n    table.remove(undo_buffer, 1)\n  else\n      undoing = false\n      return false\n  end\n  undoing = false\n  return true\nend\n\nfunction doTryAgain(_ignore_no_undo)\n  local ignore_no_undo = _ignore_no_undo\n  if (ignore_no_undo == nil) then ignore_no_undo = false end\n  in_try_again = true\n  try_again_cache = {}\n  --cache units that are no undo so even if it's conditional they remain that way the entire time\n  local isnoundo = getUnitsWithEffect(\"noundo\")\n  for _,unit in ipairs(isnoundo) do\n    try_again_cache[unit] = true\n  end\n  local can_undo = true\n  local i = 1\n  --instead of literally undoing everything, use BACK code to create new undo events. That way 1) TRY AGAIN can be undone. 2) Units don't forget their previous history each TRY AGAIN, should they be NO UNDO now but not in the future.\n  while (can_undo) do\n    can_undo = doBack(nil, i, ignore_no_undo)\n    i = i + 1\n  end\n  parseRules(true)\n  reset_count = reset_count + 1\n  in_try_again = false\n  try_again_cache = nil\n  consolidateUndo(1)\nend\n\nfunction isNoUndo(unit, just_created)\n  if in_try_again and not just_created then \n-- if we just created a unit by undoing a removal, it won't be in the cache, so we should chack against the current rules to see whether that removal really should have been undone.\n    return try_again_cache[unit] == true\n  else\n    return hasProperty(unit, \"noundo\")\n  end\nend\n\nfunction createUndoBasedOnUnitsChanges(old_units, old_units_by_id, new_units, new_units_by_id)\n  --[[\n1) For every unit in old units, if it exists in new units (same id and fullname) and x/y/dir differ, add an update event.\n2) Else, add a create event with its old state.\n3) For every unit in new units, if it doesn't exist in old units (same id and fullname), add a destroy event.\n  TODO: Handle mous, timefuck stuff (timeless, UNDO), no1?\n]]\n  \n  for _,unit in ipairs(old_units) do\n    if new_units_by_id[unit.id] ~= nil and new_units_by_id[unit.id].fullname == unit.fullname then\n      local new_unit = new_units_by_id[unit.id];\n      if (new_unit.x ~= unit.x) or (new_unit.y ~= unit.y) or (new_unit.dir ~= unit.dir) then\n        addUndo({\"update\", unit.id, unit.x, unit.y, unit.dir})\n      end\n      if (new_unit.color ~= unit.color) then\n        for _,colour in ipairs(color_names) do\n          if new_unit[colour] ~= unit[colour] then\n            addUndo({\"colour_change\", unit.id, colour, unit[colour]})\n          end\n        end\n      end\n    else\n      addUndo({\"remove\", unit.tile, unit.x, unit.y, unit.dir, convert or false, unit.id, unit.special})\n    end\n  end\n  for _,unit in ipairs(new_units) do\n    if old_units_by_id[unit.id] ~= nil and old_units_by_id[unit.id].fullname == unit.fullname then\n      --already handled 'exists in both' case\n    else\n      addUndo({\"create\", unit.id, true, nil})\n    end\n  end\n  if (level_destroyed) then\n    addUndo({\"destroy_level\"})\n  end\nend\n"
  },
  {
    "path": "game/unit.lua",
    "content": "--[[function thiccBlock(undoing)\n  --to save headaches, thicc status can only update when a unit is created (or undestroyed) or at this very point)\n  local current_thicc = getUnitsWithEffect(\"thicc\");\n  local new_thicc_cache = {}\n  local any_new = false;\n  local current_thicc_cache = {}\n  local un_thicc_cache = {}\n  local any_un = false;\n  for _,unit in ipairs(current_thicc) do\n    current_thicc_cache[unit] = true;\n    if (not thicc_units[unit]) then\n      new_thicc_cache[unit] = true;\n      any_new = true;\n    end\n  end\n  \n  for unit,_ in pairs(thicc_units) do\n    if (not current_thicc_cache[unit]) then\n      un_thicc_cache[unit] = true;\n      any_un = true;\n    end\n  end\n  \n  if (any_new) then\n    if (not undoing) then\n      playSound(\"thicc\");\n    end\n    for unit,_ in pairs(new_thicc_cache) do\n      if not unit.removed_final then\n        if (#undo_buffer == 0) then\n          unit.draw.thicc = 2\n        else\n          unit.draw.thicc = 1\n          addTween(tween.new(0.35, unit.draw, {thicc = 2}), \"unit:thicc:\" .. unit.tempid)\n        end\n        for i=1,3 do\n          if not table.has_value(unitsByTile(unit.x+i%2,unit.y+math.floor(i/2)),unit) then\n            table.insert(unitsByTile(unit.x+i%2,unit.y+math.floor(i/2)),unit)\n          end\n        end\n      end\n    end\n  end\n  if (any_un) then\n    if (not undoing) then\n      playSound(\"unthicc\");\n    end\n    for unit,_ in pairs(un_thicc_cache) do\n     if not unit.removed_final then\n      unit.draw.thicc = 2\n      addTween(tween.new(0.25, unit.draw, {thicc = 1}), \"unit:thicc:\" .. unit.tempid)\n       for i=1,3 do\n          if table.has_value(unitsByTile(unit.x+i%2,unit.y+math.floor(i/2)),unit) then\n            removeFromTable(unitsByTile(unit.x+i%2,unit.y+math.floor(i/2)),unit)\n          end\n        end\n      end\n    end\n  end\n  thicc_units = current_thicc_cache;\nend]]\n\nfunction thiccBlock(undoing)\n  local current_thicc = getUnitsWithEffectAndCount(\"thicc\");\n  local new_thicc_cache = {}\n  local any_new = false;\n  local current_thicc_cache = {}\n  local un_thicc_cache = {}\n  local any_un = false;\n  for unit,amt in pairs(current_thicc) do\n    unit = units_by_id[unit] or cursors_by_id[unit]\n\n    current_thicc_cache[unit] = amt;\n    if ((not thicc_units[unit]) or (thicc_units[unit] < amt)) then\n      new_thicc_cache[unit] = amt;\n      any_new = true;\n    end\n  end\n  \n  for unit,amt in pairs(thicc_units) do\n    if ((not current_thicc_cache[unit]) or (current_thicc_cache[unit] < amt)) then\n      un_thicc_cache[unit] = current_thicc_cache[unit] or 0;\n      any_un = true;\n    end\n  end\n  \n  if (any_new) then\n    if (not undoing) then\n      playSound(\"thicc\");\n    end\n    for unit,amt in pairs(new_thicc_cache) do\n      if not unit.removed_final then\n        local old_amt = thicc_units[unit] or 0\n        if (#undo_buffer == 0) then\n          unit.draw.thicc = amt+1\n        else\n          unit.draw.thicc = old_amt+1\n          addTween(tween.new(0.35, unit.draw, {thicc = amt+1}), \"unit:thicc:\" .. unit.tempid)\n        end\n        for i=0,amt do\n          for j=0,amt do\n            if not table.has_value(unitsByTile(unit.x+i,unit.y+j),unit) then\n              table.insert(unitsByTile(unit.x+i,unit.y+j),unit)\n            end\n          end\n        end\n      end\n    end\n  end\n  if (any_un) then\n    if (not undoing) then\n      playSound(\"unthicc\");\n    end\n    for unit,amt in pairs(un_thicc_cache) do\n      if not unit.removed_final then\n        local old_amt = thicc_units[unit] or 0\n        unit.draw.thicc = old_amt+1\n        addTween(tween.new(0.25, unit.draw, {thicc = amt+1}), \"unit:thicc:\" .. unit.tempid)\n        for i=0,old_amt do\n          for j=0,old_amt do\n            if (i>amt or j>amt) and table.has_value(unitsByTile(unit.x+i,unit.y+j),unit) then\n              removeFromTable(unitsByTile(unit.x+i,unit.y+j),unit)\n            end\n          end\n        end\n      end\n    end\n  end\n  thicc_units = current_thicc_cache;\nend\n\nfunction moveBlock()\n  --baba order: FOLLOW, BACK, TELE, SHIFT\n  --bab order: thicc, look at, undo, visit fren, go, goooo, shy, spin, folo wal, turn cornr\n  \n  thiccBlock(false)\n  \n  local isstalk = matchesRule(\"?\", \"lookat\", \"?\")\n  for _,ruleparent in ipairs(isstalk) do\n    local stalkers = findUnitsByName(ruleparent.rule.subject.name)\n    local stalkees = copyTable(findUnitsByName(ruleparent.rule.object.name))\n    local stalker_conds = ruleparent.rule.subject.conds\n    local stalkee_conds = ruleparent.rule.object.conds\n    for _,stalker in ipairs(stalkers) do\n      table.sort(stalkees, function(a, b) return euclideanDistance(a, stalker) < euclideanDistance(b, stalker) end )\n      for _,stalkee in ipairs(stalkees) do\n        if testConds(stalker, stalker_conds) and testConds(stalkee, stalkee_conds, stalker) then\n          local dist = euclideanDistance(stalker, stalkee)\n          local stalk_dir = dist > 0 and dirs8_by_offset[sign(stalkee.x - stalker.x)][sign(stalkee.y - stalker.y)] or stalkee.dir\n          if dist > 0 and hasProperty(stalker, \"ortho\") then\n            local use_hori = math.abs(stalkee.x - stalker.x) > math.abs(stalkee.y - stalker.y)\n            stalk_dir = dirs8_by_offset[use_hori and sign(stalkee.x - stalker.x) or 0][not use_hori and sign(stalkee.y - stalker.y) or 0]\n          end\n          addUndo({\"update\", stalker.id, stalker.x, stalker.y, stalker.dir})\n          stalker.olddir = stalker.dir\n          updateDir(stalker, stalk_dir)\n          break\n        end\n      end\n    end\n  end\n  \n  local isstalknt = matchesRule(\"?\", \"lookaway\", \"?\")\n  for _,ruleparent in ipairs(isstalknt) do\n    local stalkers = findUnitsByName(ruleparent.rule.subject.name)\n    local stalkees = copyTable(findUnitsByName(ruleparent.rule.object.name))\n    local stalker_conds = ruleparent.rule.subject.conds\n    local stalkee_conds = ruleparent.rule.object.conds\n    for _,stalker in ipairs(stalkers) do\n      if ruleparent.rule.object.name == \"themself\" then\n        addUndo({\"update\", stalker.id, stalker.x, stalker.y, stalker.dir})\n        stalker.olddir = stalker.dir\n        updateDir(stalker, (stalker.dir-1+4)%8 + 1)\n      else\n        table.sort(stalkees, function(a, b) return euclideanDistance(a, stalker) < euclideanDistance(b, stalker) end )\n        for _,stalkee in ipairs(stalkees) do\n          if testConds(stalker, stalker_conds) and testConds(stalkee, stalkee_conds, stalker) then\n            local dist = euclideanDistance(stalker, stalkee)\n            local stalk_dir = dist > 0 and dirs8_by_offset[-sign(stalkee.x - stalker.x)][-sign(stalkee.y - stalker.y)] or stalkee.dir\n            if dist > 0 and hasProperty(stalker, \"ortho\") then\n              local use_hori = math.abs(stalkee.x - stalker.x) > math.abs(stalkee.y - stalker.y)\n              stalk_dir = dirs8_by_offset[use_hori and sign(stalkee.x - stalker.x) or 0][not use_hori and sign(stalkee.y - stalker.y) or 0]\n            end\n            addUndo({\"update\", stalker.id, stalker.x, stalker.y, stalker.dir})\n            stalker.olddir = stalker.dir\n            updateDir(stalker, stalk_dir)\n            break\n          end\n        end\n      end\n    end\n  end\n  \n  local to_destroy = {}\n  local time_destroy = {}\n  \n  --UNDO logic:\n  --the first time something becomes UNDO, we track what turn it became UNDO on.\n  --then every turn thereafter until it stops being UNDO, we undo the update (move backwards) and create (destroy units) events of a turn 2 turns further back (+1 so we keep undoing into the past, +1 because the undo_buffer gained a real turn as well!)\n  --We have to keep track of the turn we started backing on in the undo buffer, so that if we undo to a past where a unit was UNDO, then we know what turn to pick back up from. We also have to save/restore backer_turn on destroy, so if we undo the unit's destruction it comes back with the right backer_turn.\n  --(The cache is not necessary for the logic, it just removes our need to check ALL units to see if they need to be cleaned up.)\n  \n  local backed_this_turn = {}\n  local not_backed_this_turn = {}\n  \n  local isback = getUnitsWithEffectAndCount(\"undo\")\n  if hasProperty(outerlvl, \"undo\") then\n    for _,unit in ipairs(units) do\n      if isback[unit] then\n        isback[unit] = isback[unit] + 1\n      else\n        isback[unit] = 1\n      end\n    end\n  end\n  for unit,amt in pairs(isback) do\n    unit = units_by_id[unit] or cursors_by_id[unit]\n    --print(\"backing 1:\", unit.fullname, amt, unit.backer_turn, backers_cache[unit])\n    backed_this_turn[unit] = true\n    if (unit.backer_turn == nil) then\n      addUndo({\"backer_turn\", unit.id, nil})\n      unit.backer_turn = #undo_buffer+(0.5*(amt-1))\n      backers_cache[unit] = unit.backer_turn\n    end\n    --print(\"backing 2:\", unit.fullname, amt, unit.backer_turn, backers_cache[unit])\n    doBack(unit.id, 2*(#undo_buffer-unit.backer_turn))\n    for i = 2,amt do\n      addUndo({\"backer_turn\", unit.id, unit.backer_turn})\n      unit.backer_turn = unit.backer_turn - 0.5\n      doBack(unit.id, 2*(#undo_buffer-unit.backer_turn))\n    end\n  end\n  \n  for unit,turn in pairs(backers_cache) do\n    if turn ~= nil and not backed_this_turn[unit] then\n      not_backed_this_turn[unit] = true\n    end\n  end\n  \n  for unit,_ in pairs(not_backed_this_turn) do\n    addUndo({\"backer_turn\", unit.id, unit.backer_turn})\n    unit.backer_turn = nil\n    backers_cache[unit] = nil\n  end\n  \n  to_destroy = handleDels(to_destroy)\n  \n  --Currently using deterministic tele version. Number of teles a teleporter has influences whether it goes forwards or backwards and by how many steps.\n  local istele = getUnitsWithEffectAndCount(\"visitfren\")\n  teles_by_name = {}\n  teles_by_name_index = {}\n  tele_targets = {}\n  --form lists, by tele name, of what all the tele units are\n  for unit,amt in pairs(istele) do\n    unit = units_by_id[unit] or cursors_by_id[unit]\n    if teles_by_name[unit.fullname] == nil then\n      teles_by_name[unit.fullname] = {}\n    end\n    table.insert(teles_by_name[unit.fullname], unit)\n  end\n  --then sort those lists in reading order (tiebreaker is id).\n  --skip this step if doing random version, the sorting won't matter then!\n  for name,tbl in pairs(teles_by_name) do\n    table.sort(tbl, readingOrderSort)\n  end\n  --form a lookup index for each of those lists\n  for name,tbl in pairs(teles_by_name) do\n    teles_by_name_index[name] = {}\n    for k,v in ipairs(tbl) do\n      teles_by_name_index[name][v] = k\n    end\n  end\n  --now do the actual teleports. we can use the index to know our own place in the list so we can skip ourselves\n  for unit,amt in pairs(istele) do\n    unit = units_by_id[unit] or cursors_by_id[unit]\n    local stuff = getUnitsOnTile(unit.x, unit.y, {not_destroyed = true, thicc = thicc_units[unit]})\n    for _,on in ipairs(stuff) do\n      --we're going to deliberately let two same name teles tele if they're on each other, since with the deterministic behaviour it's predictable and interesting\n      if unit ~= on and sameFloat(unit, on) and ignoreCheck(unit, on, \"visitfren\") and timecheck(unit,\"be\",\"visitfren\") --[[and unit.fullname ~= on.fullname]] then\n        local destinations = teles_by_name[unit.fullname]\n        local source_index = teles_by_name_index[unit.fullname][unit]\n        \n        --RANDOM VERSION: just pick any tele that isn't us\n        --[[local dest = math.floor(math.random()*(#destinations-1))+1 --even distribution of each integer. +1 because lua is 1 indexed, -1 because we want one less than the number of teleporters (since we're going to ignore our own)\n        if (dest >= source_index) then\n          dest = dest + 1\n        end]]\n        \n        --DETERMINISTIC VERSION: 1/-1/2/-2/3/-3... based on amount of TELE, in reading order.\n        local dest = source_index + (math.floor(amt/2+0.5) * (amt % 2 == 1 and 1 or -1))\n        --have to subtract 1/add 1 because arrays are 1 indexed but modulo arithmetic is 0 indexed.\n        dest = ((dest-1) % (#destinations))+1\n        if dest == source_index then\n          dest = dest + 1\n        end\n        dest = ((dest-1) % (#destinations))+1\n        tele_targets[on] = destinations[dest]\n      end\n    end\n  end\n  for a,b in pairs(tele_targets) do\n    addUndo({\"update\", a.id, a.x, a.y, a.dir})\n    moveUnit(a, b.x, b.y)\n  end\n  \n  local ishere, hererules = getUnitsWithEffect(\"her\", true)\n  local hashered = {}\n  for ri,unit in ipairs(ishere) do\n    --checks to see if the unit has already been moved by \"her\"\n    local already = false\n    for _,moved in ipairs(hashered) do\n      if unit == moved then\n        already = true\n      end\n    end\n    \n    --if it has, then don't run code this iteration\n    if not already then\n      local heres = {}\n      local found = false\n      \n      --gets each destination the unit needs to go to\n      local fullrule = hererules[ri].units\n      for i,hererule in ipairs(fullrule) do\n        if hererule.fullname == \"txt_her\" then\n          table.insert(heres,hererule)\n          break\n        end\n      end\n      --sorts it like \"visitfren\"\n      for name,tbl in pairs(heres) do\n        table.sort(tbl, readingOrderSort)\n      end\n      \n      --actual teleport\n      for i,here in ipairs(heres) do\n        local dx = dirs8[here.dir][1]\n        local dy = dirs8[here.dir][2]\n        \n        --if this is true, it means that on the last iteration it found a unit at a destination, so on this iteration it teleports it to the following one\n        if found then\n          addUndo({\"update\", unit.id, unit.x, unit.y, unit.dir})\n          moveUnit(unit,here.x+dx,here.y+dy)\n          table.insert(hashered,unit)\n          break\n        end\n        \n        --if i == #heres, that means it's at the last one in line, meaning we can just use the system that sends it to the first word\n        --otherwise, if it finds unit at one of the places, that means that it should send it to the next one on the next turn\n        if (unit.x == here.x+dx) and (unit.y == here.y+dy) and (i ~= #heres) then\n          found = true\n        end\n      end\n      \n      --sends it to the first \"here\" if it isn't at any existing destination or if it's at the last\n      if not found then\n        local firsthere = heres[1]\n        local dx = dirs8[firsthere.dir][1]\n        local dy = dirs8[firsthere.dir][2]\n        \n        addUndo({\"update\", unit.id, unit.x, unit.y, unit.dir})\n        moveUnit(unit,firsthere.x+dx,firsthere.y+dy)\n        table.insert(hashered,unit)\n      end\n    end\n  end\n  \n  local isthere, thererules = getUnitsWithEffect(\"thr\", true)\n  local hasthered = {}\n  for ri,unit in ipairs(isthere) do\n    --the early stuff is the same as \"her\"; finds \"thr\"s and sort them\n    local dontmove = false\n    for _,moved in ipairs(hasthered) do\n      if unit == moved then\n        dontmove = true\n      end\n    end\n    \n    if not dontmove then\n      local theres = {}\n      local found = false\n      \n      local fullrule = thererules[ri].units\n      for i,thererule in ipairs(fullrule) do\n        if thererule.fullname == \"txt_thr\" then\n          table.insert(theres,thererule)\n          break\n        end\n      end\n\n      for name,tbl in pairs(theres) do\n        table.sort(tbl, readingOrderSort)\n      end\n      \n      --starts differing from \"her\"\n      local ftx,fty = 0,0\n      for i,there in ipairs(theres) do\n        local dx = dirs8[there.dir][1]\n        local dy = dirs8[there.dir][2]\n        local dir = there.dir\n        \n        --get first position of there destination, which is the tile the text is on, so we can check whether the first space is valid\n        local tx = there.x\n        local ty = there.y\n        \n        --code has gotten more complicated now, more comments added\n        local stopped = false\n        local valid = false\n        local loopstage = 0\n        while not stopped do\n          local canmove = canMove(unit,dx,dy,dir,{start_x = tx, start_y = ty, ignorestukc = true}) --simplify since we check this more often now\n          \n          --while valid is false, it check this. this makes it so it's false until you get out of the stops, or always true if there wasn't a stop at first\n          if not valid then\n            valid = canmove\n          else --if it's found a valid space to be in, start checking to see when it gets stopped by a wall\n            stopped = not canmove\n          end\n          \n          if not stopped then --as long as it hasn't found a valid place to stop at, check the next tile\n            dx,dy,dir,tx,ty = getNextTile(there, dx, dy, dir, nil, tx, ty)\n          end\n          \n          --infinite check\n          loopstage = loopstage + 1\n          if loopstage > 1000 then\n            if valid then --if the unit has found a valid space to be, that means it's stuck in a loop of valid places, so it should infloop\n              print(\"movement infinite loop! (1000 attempts at thr)\")\n              destroyLevel(\"infloop\")\n            else --if the unit hasn't found a valid space, that means it's stuck in walls, meaning it never has the opportunity to be moved\n              dontmove = true\n            end\n            break\n          end\n        end\n        \n        --stores the first destination for use later so we don't have to run the while loop twice\n        if i == 1 then\n          ftx,fty = tx,ty\n        end\n        \n        if found then\n          addUndo({\"update\", unit.id, unit.x, unit.y, unit.dir})\n          moveUnit(unit,tx,ty)\n          table.insert(hasthered,unit)\n        end\n        \n        if (unit.x == tx) and (unit.y == ty) and (i ~= #theres) then\n          found = true\n        end\n      end\n      \n      if not found and not dontmove then\n        addUndo({\"update\", unit.id, unit.x, unit.y, unit.dir})\n        moveUnit(unit,ftx,fty)\n        table.insert(hasthered,unit)\n      end\n    end\n  end\n  \n  local isrighthere, righthererules = getUnitsWithEffect(\"rithere\", true)\n  local hasrighthered = {}\n  for ri,unit in ipairs(isrighthere) do\n    local already = false\n    for _,moved in ipairs(hasrighthered) do\n      if unit == moved then\n        already = true\n      end\n    end\n    \n    if not already then\n      local rightheres = {}\n      local found = false\n      \n      local fullrule = righthererules[ri].units\n      for i,righthererule in ipairs(fullrule) do\n        if righthererule.fullname == \"txt_rithere\" then\n          table.insert(rightheres,righthererule)\n          break\n        end\n      end\n      \n      for name,tbl in pairs(rightheres) do\n        table.sort(tbl, readingOrderSort)\n      end\n      \n      for i,righthere in ipairs(rightheres) do\n        if found then\n          addUndo({\"update\", unit.id, unit.x, unit.y, unit.dir})\n          moveUnit(unit,righthere.x,righthere.y)\n          table.insert(hasrighthered,unit)\n          break\n        end\n        if (unit.x == righthere.x) and (unit.y == righthere.y) and (i ~= #rightheres) then\n          found = true\n        end\n      end\n      \n      if not found then\n        local firstrighthere = rightheres[1]\n        addUndo({\"update\", unit.id, unit.x, unit.y, unit.dir})\n        moveUnit(unit,firstrighthere.x,firstrighthere.y)\n        table.insert(hasrighthered,unit)\n      end\n    end\n  end\n  \n  --Use a similar simultaneous/additive algorithm to copkat/go^.\n  \n  units_to_change = {}\n  \n  \n  local isshift = getUnitsWithEffect(\"go\")\n  for _,unit in ipairs(isshift) do\n    local stuff = getUnitsOnTile(unit.x, unit.y, {not_destroyed = true, thicc = thicc_units[unit]})\n    for _,on in ipairs(stuff) do\n      if unit ~= on and sameFloat(unit, on) and ignoreCheck(unit, on, \"go\") and timecheck(unit,\"be\",\"go\") then\n        if (units_to_change[on] == nil) then\n          units_to_change[on] = {0, 0}\n        end\n        units_to_change[on][1] = units_to_change[on][1] + dirs8[unit.dir][1]\n        units_to_change[on][2] = units_to_change[on][2] + dirs8[unit.dir][2]\n      end\n    end\n  end\n  \n  local isshift = getUnitsWithEffect(\"goooo\")\n  for _,unit in ipairs(isshift) do\n    local stuff = getUnitsOnTile(unit.x, unit.y, {not_destroyed = true, thicc = thicc_units[unit]})\n    for _,on in ipairs(stuff) do\n      if unit ~= on and sameFloat(unit, on) and ignoreCheck(unit, on, \"goooo\") and timecheck(unit,\"be\",\"goooo\") then\n         if (units_to_change[on] == nil) then\n          units_to_change[on] = {0, 0}\n        end\n        units_to_change[on][1] = units_to_change[on][1] + dirs8[unit.dir][1]\n        units_to_change[on][2] = units_to_change[on][2] + dirs8[unit.dir][2]\n      end\n    end\n  end\n  \n  for unit,dir in pairs(units_to_change) do\n    if dir[1] ~= 0 or dir[2] ~= 0 then\n      k = dirs8_by_offset[sign(dir[1])][sign(dir[2])]\n      if unit.dir ~= k then\n        addUndo({\"update\", unit.id, unit.x, unit.y, unit.dir})\n      end\n      updateDir(unit, k)\n    end\n  end\n  \n  local isshy = getUnitsWithEffect(\"shy...\")\n  for _,unit in ipairs(isshy) do\n    if not hasProperty(\"folowal\") and not hasProperty(\"turncornr\") then\n      local dpos = dirs8[unit.dir]\n      local dx, dy = dpos[1], dpos[2]\n      local stuff = getUnitsOnTile(unit.x+dx, unit.y+dy, {not_destroyed = true, thicc = thicc_units[unit]})\n      local stuff2 = getUnitsOnTile(unit.x-dx, unit.y-dy, {not_destroyed = true, thicc = thicc_units[unit]})\n      local pushfront = false\n      local pushbehin = false\n      for _,on in ipairs(stuff) do\n        if hasProperty(on, \"goawaypls\") and ignoreCheck(unit, on, \"goawaypls\") then\n          pushfront = true\n          break\n        end\n      end\n      if pushfront then\n        for _,on in ipairs(stuff2) do\n          if hasProperty(on, \"goawaypls\") and ignoreCheck(unit, on, \"goawaypls\") then\n            pushbehin = true\n            break\n          end\n        end\n      end\n      if pushfront and not pushbehin then\n        addUndo({\"update\", unit.id, unit.x, unit.y, unit.dir})\n        updateDir(unit, rotate8(unit.dir))\n      end\n    end\n  end\n  \n  doSpinRules()\n  \n  local folo_wall = getUnitsWithEffectAndCount(\"folowal\")\n  for unit,amt in pairs(folo_wall) do\n    unit = units_by_id[unit] or cursors_by_id[unit]\n    local fwd = unit.dir\n    local right = (((unit.dir + 2)-1)%8)+1\n    local bwd = (((unit.dir + 4)-1)%8)+1\n    local left = (((unit.dir + 6)-1)%8)+1\n    local result = changeDirIfFree(unit, right) or changeDirIfFree(unit, fwd) or changeDirIfFree(unit, left) or changeDirIfFree(unit, bwd)\n  end\n\t\n  local anti_rond = getUnitsWithEffectAndCount(\"anti rond\")\n  for unit,amt in pairs(anti_rond) do\n    unit = units_by_id[unit] or cursors_by_id[unit]\n    addUndo({\"update\", unit.id, unit.x, unit.y, unit.dir})\n     local xvalue = unit.x;\n     local yvalue = unit.y;\n    if(math.floor(xvalue+0.5)>xvalue) then\n      xvalue = xvalue- 1;\n    elseif(math.floor(xvalue+0.5)<xvalue) then\n      xvalue = xvalue + 1;\n    end\n    if(math.floor(yvalue+0.5)>yvalue) then\n      yvalue = yvalue- 1;\n    elseif(math.floor(yvalue+0.5)<yvalue) then\n      yvalue = yvalue + 1;\n    end\n    moveUnit(unit,xvalue,yvalue)\n  end\n  local units_rond = getUnitsWithEffectAndCount(\"rond\")\n  for unit,amt in pairs(units_rond) do\n    unit = units_by_id[unit] or cursors_by_id[unit]\n    addUndo({\"update\", unit.id, unit.x, unit.y, unit.dir})\n    moveUnit(unit,math.floor(unit.x+0.5),math.floor(unit.y+0.5))\n  end\n\t\n  local code_execution = getUnitsWithEffectAndCount(\"anti bce\")\n  for unit,amt in pairs(code_execution) do\n    unit = units_by_id[unit] or cursors_by_id[unit]\n    addUndo({\"update\", unit.id, unit.x, unit.y, unit.dir})\n    moveUnit(unit,(tablesum(getUnitColor(unit)))-4,(#unit.fullname)-2)\n  end\n\n  local code_execution = getUnitsWithEffectAndCount(\"bce\")\n  for unit,amt in pairs(code_execution) do\n    unit = units_by_id[unit] or cursors_by_id[unit]\n    addUndo({\"update\", unit.id, unit.x, unit.y, unit.dir})\n    moveUnit(unit,(#unit.fullname)-2,(tablesum(getUnitColor(unit)))-4)\n  end\n  \n  local turn_cornr = getUnitsWithEffectAndCount(\"turncornr\")\n  for unit,amt in pairs(turn_cornr) do\n    unit = units_by_id[unit] or cursors_by_id[unit]\n    local fwd = unit.dir\n    local right = (((unit.dir + 2)-1)%8)+1\n    local bwd = (((unit.dir + 4)-1)%8)+1\n    local left = (((unit.dir + 6)-1)%8)+1\n    local result = changeDirIfFree(unit, fwd) or changeDirIfFree(unit, right) or changeDirIfFree(unit, left) or changeDirIfFree(unit, bwd)\n  end\nend\n\nfunction updateUnits(undoing, big_update)\n  max_layer = 1\n  units_by_layer = {}\n  local del_units = {}\n  local will_undo = false\n  \n  deleteUnits(del_units,false)\n  \n  --handle non-monotonic (creative, destructive) effects one at a time, so that we can process them in a set order instead of unit order\n  --BABA order is as follows: DONE, BLUE, RED, MORE, SINK, WEAK, MELT, DEFEAT, SHUT, EAT, BONUS, END, WIN, MAKE, HIDE\n  --(FOLLOW, BACK, TELE, SHIFT are handled in moveblock. FALL is handled in fallblock.)\n\n  if (big_update and not undoing) then\n    if not hasProperty(nil,\"zawarudo\") then\n      timeless = false\n    end\n    \n    if not timeless then\n      time_destroy = handleTimeDels(time_destroy)\n    end\n    \n    local wins,unwins = levelBlock()\n    \n    \n    local isgone = getUnitsWithEffect(\"gone\")\n    for _,unit in ipairs(isgone) do\n      unit.destroyed = true\n      unit.removed = true\n    end\n    deleteUnits(isgone, false, true)\n    \n    --moar remake: based on the scent map distance in brogue (thanks notnat/pata for inspiration)\n    local already_grown = {}\n    local pending_growth = {}\n    local pending_gone = {}\n    local moars = getUnitsWithEffectAndCountAndAnti(\"moar\")\n    for unit,aamt in pairs(moars) do\n      unit = units_by_id[unit] or cursors_by_id[unit]\n      local amt = math.abs(aamt)\n      if (unit.name ~= \"lie/8\" or hasProperty(unit,\"notranform\")) and timecheck(unit,\"be\",\"moar\") then\n        local range = math.ceil(amt/2)\n        for y_=-range,range do\n          local y = y_\n          local absy = math.abs(y)\n          for x_=-range,range do\n            local x = x_\n            local absx = math.abs(x)\n            if (absx+absy+math.max(absx,absy)-1 <= amt) and (x ~= 0 or y ~= 0) then --this line handles the area thing. 0,0 checking is because it's weird without it\n              if thicc_units[unit] then\n                x = x*(thicc_units[unit]+1)\n                y = y*(thicc_units[unit]+1)\n              end\n              if aamt > 0 then\n                already_grown[getUnitStr(unit)] = already_grown[getUnitStr(unit)] or {}\n                if canMove(unit, x, y, unit.dir) then\n                  if unit.class == \"unit\" then --idk what any of this means but i'm assuming it's good?\n                    _, __, ___, mx, my = getNextTile(unit, x, y, i*2-1, false)\n                    if not already_grown[getUnitStr(unit)][mx..\",\"..my] then\n                      local blocked = false\n                      local others = getUnitsOnTile(mx, my, {name = unit.fullname})\n                      for _,other in ipairs(others) do\n                        if getUnitStr(other) == getUnitStr(unit) then\n                          blocked = true\n                        end\n                      end\n                      if not blocked then\n                        table.insert(pending_growth, {unit, mx, my})\n                      end\n                      already_grown[getUnitStr(unit)][mx..\",\"..my] = true\n                    end\n                  elseif unit.class == \"cursor\" then\n                    local others = getCursorsOnTile(unit.x + x, unit.y + y)\n                    if #others == 0 and not already_grown[getUnitStr(unit)][(unit.x+x)..\",\"..(unit.y+y)] then\n                      table.insert(pending_growth, {unit, unit.x + x, unit.y + y})\n                      already_grown[getUnitStr(unit)][(unit.x+x)..\",\"..(unit.y+y)] = true\n                    end\n                  end\n                end\n              else\n                if canMove(unit, x, y, unit.dir) then\n                  _, __, ___, mx, my = getNextTile(unit, x, y, i*2-1, false)\n                  local others = getUnitsOnTile(mx, my, {name = unit.fullname})\n                  local matched = false\n                  for _,other in ipairs(others) do\n                    if getUnitStr(other) == getUnitStr(unit) then\n                      matched = true\n                      break\n                    end\n                  end\n                  if not matched then \n                    table.insert(pending_gone, unit)\n                    goto continue\n                  end\n                end\n              end\n            end\n          end --x for\n        end\n      end\n      ::continue::\n    end\n    for _,growing in ipairs(pending_growth) do\n      local unit, x, y = unpack(growing)\n      if unit.class == \"unit\" then\n        local color\n        if unit.color_override then\n          color = colour_for_palette[getUnitColor(unit)[1]][getUnitColor(unit)[2]]\n        end\n        local new_unit = createUnit(unit.tile, unit.x, unit.y, unit.dir, nil, nil, nil, color)\n        addUndo({\"create\", new_unit.id, false})\n        moveUnit(new_unit,x,y)\n        addUndo({\"update\", new_unit.id, unit.x, unit.y, unit.dir})\n      elseif unit.class == \"cursor\" then\n        local new_mouse = createMouse(x, y)\n        addUndo({\"create_cursor\", new_mouse.id})\n      end\n    end\n    for _,unit in ipairs(pending_gone) do\n      unit.destroyed = true\n      unit.removed = true\n    end\n    deleteUnits(pending_gone, true)\n    \n    local to_destroy = {}\n    if time_destroy == nil then\n      time_destroy = {}\n    end\n    \n    local nukes = getUnitsWithEffect(\"nuek\")\n    local fires = copyTable(findUnitsByName(\"xplod\"))\n    if #nukes > 0 then\n      for _,nuke in ipairs(nukes) do\n        local check = getUnitsOnTile(nuke.x,nuke.y,{thicc = thicc_units[unit]})\n        local lit = false\n        for _,other in ipairs(check) do\n          if other.name == \"xplod\" then\n            lit = true\n          end\n        end\n        if not lit then\n          local thicc = thicc_units[nuke] or 0\n          --i'm not sure if i can just flat out replace the hasProperty but i hope i can\n          for i=0,thicc do\n            for j=0,thicc do\n              local new_unit = createUnit(\"xplod\", nuke.x+i, nuke.y+j, nuke.dir)\n              addUndo({\"create\", new_unit.id, false})\n            end\n          end\n          for _,other in ipairs(check) do\n            if other ~= nuke and ignoreCheck(other, nuke, \"nuek\") then\n              table.insert(to_destroy,other)\n              playSound(\"break\")\n              addParticles(\"destroy\", other.x, other.y, {2,2})\n            end\n          end\n        end\n      end\n      for _,fire in ipairs(fires) do\n        if inBounds(fire.x,fire.y) then\n          for i=1,7,2 do\n            local dx = dirs8[i][1]\n            local dy = dirs8[i][2]\n            local lit = false\n            local others = getUnitsOnTile(fire.x+dx,fire.y+dy)\n            if inBounds(fire.x+dx,fire.y+dy) then\n              for _,on in ipairs(others) do\n                if ignoreCheck(on, nil, \"nuek\") then\n                  if on.name == \"xplod\" or hasProperty(on, \"nuek\") or hasProperty(on, \"protecc\") then\n                    lit = true\n                  else\n                    table.insert(to_destroy,on)\n                    playSound(\"break\")\n                    addParticles(\"destroy\", on.x, on.y, {2,2})\n                  end\n                end\n              end\n              if not lit then\n                local new_unit = createUnit(\"xplod\", fire.x+dx, fire.y+dy, 1)\n                addUndo({\"create\", new_unit.id, false})\n              end\n            end\n          end\n        else\n          table.insert(to_destroy,fire)\n        end\n      end\n    else\n      for _,fire in ipairs(fires) do\n        table.insert(to_destroy,fire)\n      end\n    end\n    \n    to_destroy = handleDels(to_destroy)\n    \n    local split_movers = {}\n    if not timeless then\n      for on,unit in pairs(timeless_split) do\n        addUndo({\"timeless_split_remove\", on, unit})\n        unit = units_by_id[unit] or cursors_by_id[unit]\n        on = units_by_id[on]\n        if (unit ~= nil and on ~= nil) then\n          table.insert(to_destroy, on)\n          local dir1 = dirAdd(unit.dir,0)\n          local dx1 = dirs8[dir1][1]\n          local dy1 = dirs8[dir1][2]\n          local dir2 = dirAdd(unit.dir,4)\n          local dx2 = dirs8[dir2][1]\n          local dy2 = dirs8[dir2][2]\n          if canMove(on, dx1, dy1, dir1) then\n            if on.class == \"unit\" then\n              local new_unit = createUnit(on.tile, on.x, on.y, dir1)\n              addUndo({\"create\", new_unit.id, false})\n              _, __, ___, x, y = getNextTile(on, dx1, dy1, dir1, false)\n              table.insert(split_movers,{unit = new_unit, x = x, y = y, ox = on.x, oy = on.y, dir = dir1})\n            elseif unit.class == \"cursor\" then\n              local others = getCursorsOnTile(on.x + dx1, on.y + dy1)\n              if #others == 0 then\n                local new_mouse = createMouse(on.x + dx1, on.y + dy1)\n                addUndo({\"create_cursor\", new_mouse.id})\n              end\n            end\n          end\n          if canMove(on, dx2, dy2, dir2) then\n            if on.class == \"unit\" then\n              local new_unit = createUnit(on.tile, on.x, on.y, dir2)\n              addUndo({\"create\", new_unit.id, false})\n              _, __, ___, x, y = getNextTile(on, dx2, dy2, dir2, false)\n              table.insert(split_movers,{unit = new_unit, x = x, y = y, ox = on.x, oy = on.y, dir = dir2})\n            elseif unit.class == \"cursor\" then\n              local others = getCursorsOnTile(on.x + dx2, on.y + dy2)\n              if #others == 0 then\n                local new_mouse = createMouse(on.x + dx2, on.y + dy2)\n                addUndo({\"create_cursor\", new_mouse.id})\n              end\n            end\n          end\n        end\n      end\n      timeless_split = {}\n    end\n    \n    --an attempt to prevent stacking split from crashing by limiting how many splits we try to do per tile. it's OK, it leads to weird traffic jams though because the rest of the units just stay still.\n    local splits_per_tile = {}\n    local split = getUnitsWithEffect(\"split\")\n    for _,unit in ipairs(split) do\n      if (unit.name ~= \"lie\" or hasProperty(unit,\"notranform\")) then\n        local coords = tostring(unit.x)..\",\"..tostring(unit.y)\n        if (splits_per_tile[coords]) == nil then\n          splits_per_tile[coords] = 0\n        end\n        if splits_per_tile[coords] < 16 then\n          local stuff = getUnitsOnTile(unit.x, unit.y, {not_destroyed = true, thicc = thicc_units[unit]})\n          for _,on in ipairs(stuff) do\n            if splits_per_tile[coords] >= 16 then break end\n            if unit ~= on and sameFloat(unit, on) and not on.new and ignoreCheck(on, unit, \"split\") then\n              if timecheck(unit,\"be\",\"split\") and timecheck(on) then\n                local dir1 = dirAdd(unit.dir,0)\n                local dx1 = dirs8[dir1][1]\n                local dy1 = dirs8[dir1][2]\n                local dir2 = dirAdd(unit.dir,4)\n                local dx2 = dirs8[dir2][1]\n                local dy2 = dirs8[dir2][2]\n                if canMove(on, dx1, dy1, dir1) then\n                  if on.class == \"unit\" then\n                    splits_per_tile[coords] = splits_per_tile[coords] + 1\n                    local new_unit = createUnit(on.tile, on.x, on.y, dir1)\n                    addUndo({\"create\", new_unit.id, false})\n                    _, __, ___, x, y = getNextTile(on, dx1, dy1, dir1, false)\n                    table.insert(split_movers,{unit = new_unit, x = x, y = y, ox = on.x, oy = on.y, dir = dir1})\n                  elseif unit.class == \"cursor\" then\n                    local others = getCursorsOnTile(on.x + dx1, on.y + dy1)\n                    if #others == 0 then\n                      local new_mouse = createMouse(on.x + dx1, on.y + dy1)\n                      addUndo({\"create_cursor\", new_mouse.id})\n                    end\n                  end\n                end\n                if canMove(on, dx2, dy2, dir2) then\n                  if on.class == \"unit\" then\n                    splits_per_tile[coords] = splits_per_tile[coords] + 1\n                    local new_unit = createUnit(on.tile, on.x, on.y, dir2)\n                    addUndo({\"create\", new_unit.id, false})\n                    _, __, ___, x, y = getNextTile(on, dx2, dy2, dir2, false)\n                    table.insert(split_movers,{unit = new_unit, x = x, y = y, ox = on.x, oy = on.y, dir = dir2})\n                  elseif unit.class == \"cursor\" then\n                    local others = getCursorsOnTile(on.x + dx2, on.y + dy2)\n                    if #others == 0 then\n                      local new_mouse = createMouse(on.x + dx2, on.y + dy2)\n                      addUndo({\"create_cursor\", new_mouse.id})\n                    end\n                  end\n                end\n                table.insert(to_destroy, on)\n              else\n                if not timeless_split[on.id] then\n                  addUndo({\"timeless_split_add\", on.id})\n                  timeless_split[on.id] = unit.id\n                  addParticles(\"destroy\", unit.x, unit.y, getUnitColor(unit))\n                end\n              end\n            end\n          end\n        end\n      else\n        if timecheck(unit,\"be\",\"split\") then\n          for i=1,8 do\n            local ndir = dirs8[i]\n            local dx = ndir[1]\n            local dy = ndir[2]\n            if canMove(unit, dx, dy, i) then\n              local new_unit = createUnit(\"lie/8\", unit.x, unit.y, i)\n              addUndo({\"create\", new_unit.id, false})\n              _, __, ___, x, y = getNextTile(unit, dx, dy, i, false)\n              moveUnit(new_unit,x,y)\n              addUndo({\"update\", new_unit.id, unit.x, unit.y, unit.dir})\n            end\n          end\n          table.insert(to_destroy, unit)\n        end\n      end\n    end\n    \n    for _,move in ipairs(split_movers) do\n      moveUnit(move.unit,move.x,move.y)\n      addUndo({\"update\", move.unit.id, move.ox, move.oy, move.dir})\n    end\n    \n    to_destroy = handleDels(to_destroy)\n    \n    local isvs = matchesRule(nil,\"vs\",\"?\")\n    for _,ruleparent in ipairs(isvs) do\n      local unit = ruleparent[2]\n      local stuff = getUnitsOnTile(unit.x, unit.y, {not_destroyed = true, checkmous = true, thicc = thicc_units[unit]})\n      for _,on in ipairs(stuff) do\n        if (unit ~= on or ruleparent[1].rule.object.name == \"themself\") and hasRule(unit, \"vs\", on) and sameFloat(unit, on) then\n          local unitmoved = false\n          local onmoved = false\n          for _,undo in ipairs(undo_buffer[1]) do\n            if undo[1] == \"update\" and undo[2] == unit.id and ((undo[3] ~= unit.x) or (undo[4] ~= unit.y)) then\n              unitmoved = true\n            end\n            if undo[1] == \"update\" and undo[2] == on.id and ((undo[3] ~= on.x) or (undo[4] ~= on.y)) then\n              onmoved = true\n            end\n          end\n          if unitmoved and ignoreCheck(on, unit) then\n            if timecheck(unit,\"vs\",on) then\n              table.insert(to_destroy,on)\n              playSound(\"break\")\n            else\n              table.insert(time_destroy,{on.id,timeless})\n              addUndo({\"time_destroy\",on.id})\n            end\n            addParticles(\"destroy\", on.x, on.y, getUnitColor(on))\n          end\n          if onmoved and ignoreCheck(unit, on) then\n            if timecheck(unit,\"vs\",on) then\n              table.insert(to_destroy,unit)\n              playSound(\"break\")\n            else\n              table.insert(time_destroy,{unit.id,timeless})\n              addUndo({\"time_destroy\",unit.id})\n            end\n            addParticles(\"destroy\", unit.x, unit.y, getUnitColor(unit))\n          end\n        end\n      end\n    end\n    \n    to_destroy = handleDels(to_destroy)\n    \n    local issink = getUnitsWithEffect(\"noswim\")\n    for _,unit in ipairs(issink) do\n      local stuff = getUnitsOnTile(unit.x, unit.y, {not_destroyed = true, thicc = thicc_units[unit]})\n      for _,on in ipairs(stuff) do\n        if unit ~= on and on.fullname ~= \"no1\" and sameFloat(unit, on) then\n          local ignore_unit = ignoreCheck(unit, on)\n          local ignore_on = ignoreCheck(on, unit, \"noswim\")\n          if ignore_unit or ignore_on then\n            if timecheck(unit,\"be\",\"noswim\") and timecheck(on) then\n              if ignore_unit then\n                table.insert(to_destroy, unit)\n              end\n              if ignore_on then\n                table.insert(to_destroy, on)\n              end\n              playSound(\"sink\")\n              shakeScreen(0.3, 0.1)\n            else\n              if ignore_unit then\n                table.insert(time_destroy,{unit.id,timeless})\n                addUndo({\"time_destroy\",unit.id})\n              end\n              if ignore_on then\n                table.insert(time_destroy,{on.id,timeless})\n                addUndo({\"time_destroy\",on.id})\n              end\n              table.insert(time_sfx,\"sink\")\n            end\n            if ignore_unit then\n              addParticles(\"destroy\", unit.x, unit.y, ignore_on and getUnitColor(on) or getUnitColor(unit))\n            else\n              addParticles(\"destroy\", on.x, on.y, getUnitColor(on))\n            end\n          end\n        end\n      end\n    end\n    \n    to_destroy = handleDels(to_destroy)\n    \n    local isweak = getUnitsWithEffect(\"ouch\")\n    for _,unit in ipairs(isweak) do\n      local stuff = getUnitsOnTile(unit.x, unit.y, {not_destroyed = true, thicc = thicc_units[unit]})\n      for _,on in ipairs(stuff) do\n        if unit ~= on and sameFloat(unit, on) and ignoreCheck(unit, on) then\n          if timecheck(unit,\"be\",\"ouch\") and timecheck(on) then\n            table.insert(to_destroy, unit)\n            playSound(\"break\")\n            shakeScreen(0.3, 0.1)\n          else\n            table.insert(time_destroy,{unit.id,timeless})\n\t\t\t\t\t\taddUndo({\"time_destroy\",unit.id})\n            table.insert(time_sfx,\"break\")\n          end\n          addParticles(\"destroy\", unit.x, unit.y, getUnitColor(unit))\n        end\n      end\n    end\n    \n    to_destroy = handleDels(to_destroy)\n    \n    local isstrong = getUnitsWithEffect(\"anti ouch\")\n    for _,unit in ipairs(isstrong) do\n      local stuff = getUnitsOnTile(unit.x, unit.y, {not_destroyed = true, thicc = thicc_units[unit]})\n      for _,on in ipairs(stuff) do\n        if on ~= unit and sameFloat(on, unit) and ignoreCheck(on, unit) then\n          if timecheck(unit,\"be\",\"anti ouch\") and timecheck(on) then\n            table.insert(to_destroy, on)\n            playSound(\"break\")\n            shakeScreen(0.3, 0.1)\n          else\n            table.insert(time_destroy,{on.id,timeless})\n\t\t\t\t\t\taddUndo({\"time_destroy\",on.id})\n            table.insert(time_sfx,\"break\")\n          end\n          addParticles(\"destroy\", on.x, on.y, getUnitColor(on))\n        end\n      end\n    end\n    \n    to_destroy = handleDels(to_destroy)\n    \n    local ishot = getUnitsWithEffect(\"hotte\")\n    for _,unit in ipairs(ishot) do\n      local stuff = getUnitsOnTile(unit.x, unit.y, {not_destroyed = true, checkmous = true, thicc = thicc_units[unit]})\n      for _,on in ipairs(stuff) do\n        if hasProperty(on, \"fridgd\") and sameFloat(unit, on) and ignoreCheck(on, unit, \"hotte\") then\n          if timecheck(unit,\"be\",\"hotte\") and timecheck(on,\"be\",\"fridgd\") then\n            table.insert(to_destroy, on)\n            playSound(\"hotte\")\n            shakeScreen(0.3, 0.1)\n          else\n            table.insert(time_destroy,{on.id,timeless})\n\t\t\t\t\t\taddUndo({\"time_destroy\",on.id})\n            table.insert(time_sfx,\"hotte\")\n          end\n          addParticles(\"destroy\", unit.x, unit.y, getUnitColor(unit))\n        end\n      end\n    end\n    \n    to_destroy = handleDels(to_destroy)\n    \n    local isdefeat = getUnitsWithEffect(\":(\")\n    for _,unit in ipairs(isdefeat) do\n      local stuff = getUnitsOnTile(unit.x, unit.y, {not_destroyed = true, checkmous = true, thicc = thicc_units[unit]})\n      for _,on in ipairs(stuff) do\n        if hasU(on) and sameFloat(unit, on) and ignoreCheck(on, unit, \":(\") then\n          if timecheck(unit,\"be\",\":(\") and (timecheckUs(on)) then\n            table.insert(to_destroy, on)\n            playSound(\"break\")\n            shakeScreen(0.3, 0.2)\n          else\n            table.insert(time_destroy,{on.id,timeless})\n\t\t\t\t\t\taddUndo({\"time_destroy\",on.id})\n            table.insert(time_sfx,\"break\")\n          end\n          addParticles(\"destroy\", unit.x, unit.y, getUnitColor(unit))\n        end\n      end\n    end\n    \n    to_destroy = handleDels(to_destroy)\n    \n    local isantidefeat = getUnitsWithEffect(\"anti :(\")\n    for _,unit in ipairs(isantidefeat) do\n      local stuff = getUnitsOnTile(unit.x, unit.y, {not_destroyed = true, checkmous = true, thicc = thicc_units[unit]})\n      for _,on in ipairs(stuff) do\n        if hasU(on) and sameFloat(unit, on) and ignoreCheck(on, unit, \":(\") then\n          if timecheck(unit,\"be\",\"anti :(\") and (timecheckUs(on)) then\n            table.insert(to_destroy, unit)\n            playSound(\"break\")\n            shakeScreen(0.3, 0.2)\n          else\n            table.insert(time_destroy,{unit.id,timeless})\n\t\t\t\t\t\taddUndo({\"time_destroy\",unit.id})\n            table.insert(time_sfx,\"break\")\n          end\n          addParticles(\"destroy\", unit.x, unit.y, getUnitColor(on))\n        end\n      end\n    end\n    \n    to_destroy = handleDels(to_destroy)\n    \n    local isntprotecc = getUnitsWithEffect(\"anti protecc\")\n    for _,unit in ipairs(isntprotecc) do\n      if timecheck(unit,\"be\",\"anti protecc\") then\n        table.insert(to_destroy, unit)\n        playSound(\"break\")\n      else\n        table.insert(time_destroy,{unit.id,timeless})\n        addUndo({\"time_destroy\",unit.id})\n        table.insert(time_sfx,\"break\")\n      end\n      addParticles(\"destroy\", unit.x, unit.y, getUnitColor(unit))\n    end\n    \n    to_destroy = handleDels(to_destroy)\n    \n    local isshut = getUnitsWithEffect(\"nedkee\")\n    for _,unit in ipairs(isshut) do\n      local stuff = getUnitsOnTile(unit.x, unit.y, {not_destroyed = true, checkmous = true, thicc = thicc_units[unit]})\n      for _,on in ipairs(stuff) do\n        if hasProperty(on, \"fordor\") and sameFloat(unit, on) then\n          local ignore_unit = ignoreCheck(unit, on, \"fordor\")\n          local ignore_on = ignoreCheck(on, unit, \"nedkee\")\n          if ignore_unit or ignore_on then\n            if timecheck(unit,\"be\",\"nedkee\") and timecheck(on,\"be\",\"fordor\") then\n              if ignore_unit then\n                table.insert(to_destroy, unit)\n              end\n              if ignore_on then\n                table.insert(to_destroy, on)\n              end\n              playSound(\"break\")\n              playSound(\"unlock\")\n              shakeScreen(0.3, 0.1)\n            else\n              if ignore_unit then\n                table.insert(time_destroy,{unit.id,timeless})\n                addUndo({\"time_destroy\",unit.id})\n              end\n              if ignore_on then\n                table.insert(time_destroy,{on.id,timeless})\n                addUndo({\"time_destroy\",on.id})\n              end\n              table.insert(time_sfx,\"break\")\n              table.insert(time_sfx,\"unlock\")\n            end\n            if ignore_unit then\n              addParticles(\"destroy\", unit.x, unit.y, getUnitColor(unit))\n            end\n            if ignore_on then\n              addParticles(\"destroy\", on.x, on.y, getUnitColor(on))\n            end\n            --unlike other destruction effects, keys and doors pair off one-by-one\n            to_destroy = handleDels(to_destroy)\n            break\n          end\n        end\n      end\n    end\n    \n    local issnacc = matchesRule(nil, \"snacc\", \"?\")\n    for _,ruleparent in ipairs(issnacc) do\n      local unit = ruleparent[2]\n      local stuff = getUnitsOnTile(unit.x, unit.y, {not_destroyed = true, checkmous = true, thicc = thicc_units[unit]})\n      for _,on in ipairs(stuff) do\n        if (unit ~= on or ruleparent[1].rule.object.name == \"themself\") and hasRule(unit, \"snacc\", on) and sameFloat(unit, on) and ignoreCheck(on, unit) then\n          if timecheck(unit,\"snacc\",on) and timecheck(on) then\n            table.insert(to_destroy, on)\n            playSound(\"snacc\")\n            shakeScreen(0.3, 0.15)\n          else\n            table.insert(time_destroy,{on.id,timeless})\n            addUndo({\"time_destroy\",on.id})\n            table.insert(time_sfx,\"snacc\")\n          end\n          addParticles(\"destroy\", unit.x, unit.y, getUnitColor(unit))\n        end\n      end\n    end\n    \n    to_destroy = handleDels(to_destroy)\n    \n    local isreset = getUnitsWithEffect(\"tryagain\")\n    for _,unit in ipairs(isreset) do\n      local stuff = getUnitsOnTile(unit.x, unit.y, {not_destroyed = true, checkmous = true, thicc = thicc_units[unit]})\n      for _,on in ipairs(stuff) do\n        if hasU(on) and sameFloat(unit, on) and ignoreCheck(on, unit, \"tryagain\") then\n          if timecheck(unit,\"be\",\"tryagain\") and (timecheckUs(on)) then\n            will_undo = true\n            break\n          else\n            addUndo({\"timeless_reset_add\"})\n            timeless_reset = true\n            addParticles(\"bonus\", unit.x, unit.y, getUnitColor(unit))\n          end\n        end\n      end\n    end\n    \n    local isreplay = getUnitsWithEffect(\"anti tryagain\")\n    for _,unit in ipairs(isreplay) do\n      local stuff = getUnitsOnTile(unit.x, unit.y, {not_destroyed = true, checkmous = true, thicc = thicc_units[unit]})\n      for _,on in ipairs(stuff) do\n        if hasU(on) and sameFloat(unit, on) and ignoreCheck(on, unit, \"tryagain\") then\n          if timecheck(unit,\"be\",\"anti tryagain\") and (timecheckUs(on)) then\n            tryStartReplay(true)\n          else\n            addUndo({\"timeless_replay_add\"})\n            timeless_replay = true\n            addParticles(\"bonus\", unit.x, unit.y, getUnitColor(unit))\n          end\n        end\n      end\n    end\n    \n    local iscrash = matchesRule(nil,\"be\",\"delet\")\n    for _,ruleparent in ipairs(iscrash) do\n      local unit = ruleparent[2]\n      if not hasProperty(ruleparent[1].rule.object,\"slep\") then\n        local stuff = getUnitsOnTile(unit.x, unit.y, {not_destroyed = true, checkmous = true, thicc = thicc_units[unit]})\n        for _,on in ipairs(stuff) do\n          if hasU(on) and sameFloat(unit, on) and ignoreCheck(on, unit, \"delet\") then\n            if timecheck(unit,\"be\",\"delet\") and (timecheckUs(on)) then\n              doXWX()\n            else\n              addUndo({\"timeless_crash_add\"})\n              timeless_crash = true\n              addParticles(\"bonus\", unit.x, unit.y, getUnitColor(unit))\n            end\n          end\n        end\n      end\n    end\n    \n    to_destroy = handleDels(to_destroy)\n    \n    local isbonus = getUnitsWithEffect(\":o\")\n    for _,unit in ipairs(isbonus) do\n      local stuff = getUnitsOnTile(unit.x, unit.y, {not_destroyed = true, checkmous = true, thicc = thicc_units[unit]})\n      for _,on in ipairs(stuff) do\n        if hasU(on) and sameFloat(unit, on) and ignoreCheck(on, unit, \":o\") then\n          writeSaveFile(true, {\"levels\", level_filename, \"bonus\"})\n          if timecheck(unit,\"be\",\":o\") and (timecheckUs(on)) then\n            table.insert(to_destroy, unit)\n            playSound(\"bonus\")\n          else\n            table.insert(time_destroy,{unit.id,timeless})\n\t\t\t\t\t\taddUndo({\"time_destroy\",unit.id})\n            table.insert(time_sfx,\"bonus\")\n          end\n          addParticles(\"bonus\", unit.x, unit.y, getUnitColor(unit))\n        end\n      end\n    end\n    \n    local isbonus = getUnitsWithEffect(\"anti :o\")\n    for _,unit in ipairs(isbonus) do\n      local stuff = getUnitsOnTile(unit.x, unit.y, {not_destroyed = true, checkmous = true, thicc = thicc_units[unit]})\n      for _,on in ipairs(stuff) do\n        if hasU(on) and sameFloat(unit, on) and ignoreCheck(on, unit, \":o\") then\n          writeSaveFile(true, {\"levels\", level_filename, \"bonus\"})\n          if timecheck(unit,\"be\",\"anti :o\") and (timecheckUs(on)) then\n            table.insert(to_destroy, on)\n            playSound(\"bonus\")\n          else\n            table.insert(time_destroy,{on.id,timeless})\n\t\t\t\t\t\taddUndo({\"time_destroy\",on.id})\n            table.insert(time_sfx,\"bonus\")\n          end\n          addParticles(\"bonus\", on.x, on.y, getUnitColor(on))\n        end\n      end\n    end\n    \n    to_destroy = handleDels(to_destroy)\n    \n    local is2edit = getUnitsWithEffect(\"2edit\")\n    for _,unit in ipairs(is2edit) do\n      local stuff = getUnitsOnTile(unit.x,unit.y, {not_destroyed = true, checkmous = true, thicc = thicc_units[unit]})\n      for _,on in ipairs(stuff) do\n        if hasU(on) and sameFloat(unit, on) and ignoreCheck(on, unit, \"2edit\") then\n          scene = editor\n        end\n      end\n    end\n    \n    local isunwin = getUnitsWithEffect(\"un:)\")\n    for _,unit in ipairs(isunwin) do\n      local stuff = getUnitsOnTile(unit.x,unit.y, {not_destroyed = true, checkmous = true, thicc = thicc_units[unit]})\n      for _,on in ipairs(stuff) do\n        if hasU(on) and sameFloat(unit, on) and ignoreCheck(on, unit, \"un:)\") then\n          if timecheck(unit,\"be\",\"d\") and (timecheckUs(on)) then\n            unwins = unwins + 1\n          else\n            addUndo({\"timeless_unwin_add\", on.id})\n            table.insert(timeless_unwin,on.id)\n            addParticles(\"bonus\", unit.x, unit.y, getUnitColor(unit))\n          end\n        end\n      end\n    end\n    \n    local iswin = getUnitsWithEffect(\":)\")\n    for _,unit in ipairs(iswin) do\n      local stuff = getUnitsOnTile(unit.x, unit.y, {not_destroyed = true, checkmous = true, thicc = thicc_units[unit]})\n      for _,on in ipairs(stuff) do\n        if hasU(on) and sameFloat(unit, on) and ignoreCheck(on, unit, \":)\") then\n          if timecheck(unit,\"be\",\":)\") and (timecheckUs(on)) then\n            wins = wins + 1\n          else\n            addUndo({\"timeless_win_add\", on.id})\n            table.insert(timeless_win,on.id)\n            addParticles(\"bonus\", unit.x, unit.y, getUnitColor(unit))\n          end\n        end\n      end\n    end\n    \n    local issoko = matchesRule(nil,\"soko\",\"?\")\n    for _,ruleparent in ipairs(issoko) do\n      local unit = ruleparent[2]\n      local others = {}\n      if ruleparent[1].rule.object.name == \"themself\" then\n        others = {unit}\n      else\n        others = findUnitsByName(ruleparent[1].rule.object.name)\n      end\n      local fail = false\n      if #others > 0 then\n        for _,other in ipairs(others) do\n          if other == outerlvl then\n            local success = false\n            for _,on in ipairs(units) do\n              if sameFloat(on,outerlvl) and inBounds(on.x, on.y) then\n                success = true\n                break\n              end\n            end\n            if not success then\n              fail = true\n              break\n            end\n          else\n            local ons = getUnitsOnTile(other.x,other.y,{exclude = other, thicc = thicc_units[other]})\n            local success = false\n            for _,on in ipairs(ons) do\n              if sameFloat(other,on) and ignoreCheck(other,on) then\n                success = true\n                break\n              end\n            end\n            if not success then\n              fail = true\n              break\n            end\n          end\n        end\n      else fail = true end\n      if not fail then\n        local stuff = getUnitsOnTile(unit.x,unit.y,{thicc = thicc_units[unit]})\n        for _,on in ipairs(stuff) do\n          if hasU(on) and sameFloat(unit,on) and ignoreCheck(on,unit) then\n            wins = wins + 1\n          end\n        end\n      end\n    end\n    \n    local issuper = getUnitsWithEffect(\"anti delet\")\n    local lvltransforms = {}\n    for _,unit in ipairs(issuper) do\n      local stuff = getUnitsOnTile(unit.x, unit.y, {not_destroyed = true, checkmous = true, thicc = thicc_units[unit]})\n      for _,on in ipairs(stuff) do\n        if hasU(on) and sameFloat(unit, on) and ignoreCheck(on, unit, \":)\") then\n          if timecheck(unit,\"be\",\"anti delet\") and (timecheckUs(on)) then\n            writeSaveFile(true, {\"levels\", level_filename, \"won\"})\n            writeSaveFile(true, {\"levels\", level_filename, \"bonus\"})\n            table.insert(lvltransforms, unit.name)\n          else\n            addUndo({\"timeless_win_add\", on.id})\n            table.insert(timeless_win,on.id)\n            addParticles(\"bonus\", unit.x, unit.y, getUnitColor(unit))\n          end\n        end\n      end\n      if #lvltransforms > 0 then\n        doWin(\"transform\", lvltransforms)\n      end\n    end\n\n    local isnxt = getUnitsWithEffect(\"nxt\")\n    for _,unit in ipairs(isnxt) do\n      local stuff = getUnitsOnTile(unit.x, unit.y, {not_destroyed = true, checkmous = true, thicc = thicc_units[unit]})\n      for _,on in ipairs(stuff) do\n        if hasU(on) and sameFloat(unit, on) and ignoreCheck(on, unit, \"nxt\") then\n          if timecheck(unit,\"be\",\"nxt\") and (timecheckUs(on)) then\n            doWin(\"nxt\")\n          else\n            --addUndo({\"timeless_win_add\", on.id})\n            --table.insert(timeless_win,on.id)\n            --addParticles(\"bonus\", unit.x, unit.y, getUnitColor(unit))\n          end\n        end\n      end\n    end\n\n\n    local function doOneCreate(rule, creator, createe)\n      local object = createe\n      if (createe == \"txt\") then\n        createe = \"txt_\"..creator.fullname\n      end\n      \n      local tile = getTile(createe)\n      --let x ben't x txt prevent x be txt, and x ben't txt prevent x be y txt\n      local overriden = false;\n      if object == \"txt\" then\n        overriden = hasRule(creator, \"creatn't\", \"txt_\" .. creator.fullname)\n      elseif object:starts(\"txt_\") then\n        overriden = hasRule(creator, \"creatn't\", \"txt\")\n      end\n      if tile ~= nil and not overriden then\n        local others = getUnitsOnTile(creator.x, creator.y, {name = createe, not_destroyed = true, thicc = countProperty(creator,\"thicc\")})\n        if #others == 0 then\n          local color = rule.object.prefix\n          if color == \"samepaint\" then\n            color = colour_for_palette[getUnitColor(creator)[1]][getUnitColor(creator)[2]]\n          end\n          local new_unit = createUnit(tile.name, creator.x, creator.y, creator.dir, nil, nil, nil, color)\n          if new_unit ~= nil then\n            addUndo({\"create\", new_unit.id, false})\n          end\n        end\n      elseif createe == \"mous\" then\n        local new_mouse = createMouse(creator.x, creator.y)\n        addUndo({\"create_cursor\", new_mouse.id})\n      end\n    end\n    \n    local creators = matchesRule(nil, \"creat\", \"?\")\n    for _,match in ipairs(creators) do\n      local creator = match[2]\n      local createe = match[1].rule.object.name\n      if timecheck(creator,\"creat\",createe) then\n        if (group_names_set[createe] ~= nil) then\n          for _,v in ipairs(namesInGroup(createe)) do\n            doOneCreate(match[1].rule, creator, v)\n          end\n        else\n          doOneCreate(match[1].rule, creator, createe)\n        end\n      end\n    end\n\n    local revived_units = {}\n    local zombies = matchesRule(\"?\", \"be\", \"zomb\")\n    for _,match in ipairs(zombies) do\n      local name = match.rule.subject.name\n      for i,undos in ipairs(undo_buffer) do\n        if i > 1 then\n          for _,v in ipairs(undos) do\n            if v[1] == \"remove\" and not zomb_undos[v] then\n              unit = createUnit(v[2], v[3], v[4], v[5], nil, v[7])\n              if unit ~= nil then\n                unit.special = v[8]\n\n                if (unit.name == name or unit.fullname == name) and testConds(unit, match.rule.subject.conds) then\n                  table.insert(revived_units, {v[2], v[3], v[4], v[5], v[7], v[8], v}) --im sorry\n                end\n\n                deleteUnit(unit, false, true)\n              end\n            end\n          end\n        end\n      end\n    end\n    for _,v in ipairs(revived_units) do\n      -- aaaaaaaaaa\n      zomb_undos[v[7]] = true\n      unit = createUnit(v[1], v[2], v[3], v[4], true, v[5])\n      if unit ~= nil then\n        unit.special = v[6]\n      end\n      addParticles(\"bonus\", unit.x, unit.y, getUnitColor(unit))\n      addUndo({\"zomb\", unit.id, v[7]})\n    end\n    \n    if not timeless then\n      wins = wins + #timeless_win\n      unwins = unwins + #timeless_unwin\n      for i,win in ipairs(timeless_win) do\n        addUndo(\"timeless_win_remove\",win)\n        table.remove(timeless_win,i)\n      end\n      for i,unwin in ipairs(timeless_unwin) do\n        addUndo(\"timeless_unwin_remove\",unwin)\n        table.remove(timeless_unwin,i)\n      end\n    end\n    \n    if wins > unwins then\n      doWin(\"won\")\n    elseif unwins > wins then\n      doWin(\"won\", false)\n    end\n    \n    doDirRules()\n  end\n  \n  DoDiscordRichPresence()\n  \n  for i,unit in ipairs(units) do\n    local deleted = false\n    for _,del in ipairs(del_units) do\n      if del == unit then\n        deleted = true\n      end\n    end\n    \n    if not deleted and not unit.removed_final then\n      if unit.removed then\n        table.insert(del_units, unit)\n      end\n    end\n  end\n\n  deleteUnits(del_units,false)\n  \n  --Fix the 'txt be undo' bug by checking an additional time if we need to unset backer_turn for a unit.\n  if (big_update and not undoing) then\n    local backed_this_turn = {}\n    local not_backed_this_turn = {}\n    \n    local isback = getUnitsWithEffectAndCount(\"undo\")\n    if hasProperty(outerlvl, \"undo\") then\n      for _,unit in ipairs(units) do\n        if isback[unit] then\n          isback[unit] = isback[unit] + 1\n        else\n          isback[unit] = 1\n        end\n      end\n    end\n    for unit,amt in pairs(isback) do\n      unit = units_by_id[unit] or cursors_by_id[unit]\n      backed_this_turn[unit] = true\n    end\n    \n    for unit,turn in pairs(backers_cache) do\n      if turn ~= nil and not backed_this_turn[unit] then\n        not_backed_this_turn[unit] = true\n      end\n    end\n    \n    for unit,_ in pairs(not_backed_this_turn) do\n      --print(\"oh no longer a backer huh, neat\", unit.fullname)\n      addUndo({\"backer_turn\", unit.id, unit.backer_turn})\n      unit.backer_turn = nil\n      backers_cache[unit] = nil\n    end\n  end\n  \n  if (will_undo) or (timeless_reset and not timeless) then\n    addUndo({\"timeless_reset_remove\"})\n    timeless_reset = false\n    doTryAgain()\n  end\n  \n  if timeless_replay and not timeless then\n    addUndo({\"timeless_replay_remove\"})\n    timeless_replay = false\n    tryStartReplay(true)\n  end\n  \n  if timeless_crash and not timeless then\n    addUndo({\"timeless_crash_remove\"})\n    doXWX()\n  end\nend\n\nfunction miscUpdates(state_change)\n  updateGraphicalPropertyCache(state_change)\n  \n  for i,unit in ipairs(units) do\n    if not deleted and not unit.removed_final then\n      local tile = getTile(unit.tile)\n      unit.layer = unit.layer + (hasProperty(unit,\"curse\") and 24 or 0) + (hasProperty(unit,\"anti stelth\") and 130 or 0)\n      if (0 < (graphical_property_cache[\"flye\"][unit] or 0)) then\n        unit.layer = unit.layer + 15 + 5 * (graphical_property_cache[\"flye\"][unit] or 0)\n      end\n      unit.sprite = deepCopy(tile.sprite)\n      \n      if unit.fullname == \"boooo\" then\n        if hasProperty(unit,\"shy...\") then\n          unit.sprite = {\"boooo_shy\",\"boooo_mouth_shy\",\"boooo_blush\"}\n        elseif graphical_property_cache[\"slep\"][unit] ~= nil then\n          unit.sprite = {\"boooo_slep\",\"boooo_mouth_slep\"}\n        else\n          unit.sprite = {\"boooo\",\"boooo_mouth\"}\n        end\n      end\n      \n      if unit.fullname == \"casete\" then\n        if unit.color_override then\n          local color = colour_for_palette[unit.color_override[1]][unit.color_override[2]]\n          if color == \"bleu\" or color == \"cyeann\" then\n            unit.sprite = {\"casete_bleu\"}\n          elseif color == \"reed\" or color == \"pinc\" then\n            unit.sprite = {\"casete_pinc\"}\n          elseif color == \"orang\" or color == \"yello\" then\n            unit.sprite = {\"casete_yello\"}\n          elseif color == \"grun\" then\n            unit.sprite = {\"casete_grun\"}\n          else\n            unit.sprite = {\"casete_wut\"}\n          end\n        else\n          unit.sprite = {\"casete_wut\"}\n        end\n        if not hasProperty(unit,\"nogo\") then\n          unit.sprite = {unit.sprite[1]..\"_sunk\"}\n        end\n      end\n      \n      if unit.fullname == \"bolble\" then\n        if unit.color_override then\n          local color = colour_for_palette[unit.color_override[1]][unit.color_override[2]]\n          if color == \"whit\" then\n            unit.sprite = {\"bolble_snow\"}\n          elseif color == \"bleu\" then\n            unit.sprite = {\"bolble_waves\"}\n          elseif color == \"cyeann\" then\n            unit.sprite = {\"bolble_12\"}\n          elseif color == \"purp\" then\n            unit.sprite = {\"bolble_clock\"}\n          elseif color == \"brwn\" then\n            unit.sprite = {\"bolble_choco\"}\n          elseif color == \"blacc\" then\n            unit.sprite = {\"bolble_twirl\"}\n          elseif color == \"graey\" then\n            unit.sprite = {\"bolble_checker\"}\n          elseif color == \"orang\" then\n            unit.sprite = {\"bolble_dots\"}\n          elseif color == \"pinc\" then\n            unit.sprite = {\"bolble_hearts\"}\n          elseif color == \"yello\" then\n            unit.sprite = {\"bolble_stars\"}\n          elseif color == \"grun\" then\n            unit.sprite = {\"bolble_tree\"}\n          else\n            unit.sprite = {\"bolble\"}\n          end\n        end\n      end\n      \n      if unit.fullname == \"ches\" then\n        if hasProperty(unit,\"nedkee\") then\n          unit.sprite = {\"chest_close\"}\n        else\n          unit.sprite = {\"chest_open\"}\n        end\n      end\n      \n      if unit.fullname == \"mimi\" then\n        if graphical_property_cache[\"slep\"][unit] ~= nil then\n          unit.sprite = {\"mimic_sleep\"}\n        elseif hasProperty(unit,\"nedkee\") then\n          unit.sprite = {\"mimic_close\"}\n        else\n          unit.sprite = {\"mimic_open\"}\n        end\n      end\n      \n      if unit.fullname == \"pumkin\" then\n        if hasProperty(unit,\"sans\") or hasProperty(unit,\":(\") or hasProperty(unit,\"brite\") or hasProperty(unit,\"torc\") or hasRule(unit,\"spoop\",\"?\") then\n          if graphical_property_cache[\"slep\"][unit] ~= nil then\n            unit.sprite = {\"pumkin_slep\"}\n          else\n            unit.sprite = {\"pumkin_jack\"}\n          end\n        else\n          unit.sprite = {\"pumkin\"}\n        end\n      end\n      \n      -- here goes the legendary ditto transformations\n      if unit.fullname == \"ditto\" then\n        --very low priority, will only trigger if nothing else does\n        if hasRule(unit,\"spoop\",\"?\") then \n          unit.sprite = {\"ditto_spoop\"}\n        elseif hasRule(unit,\"sing\",\"?\") then\n          unit.sprite = {\"ditto_sing\"}\n        elseif hasRule(unit,\"paint\",\"?\") then\n          unit.sprite = {\"ditto_paint\"}\n        elseif hasProperty(unit,\"right\") or hasProperty(unit,\"downright\") or hasProperty(unit,\"down\") or hasProperty(unit,\"downleft\") or hasProperty(unit,\"left\") or hasProperty(unit,\"upleft\") or hasProperty(unit,\"up\") or hasProperty(unit,\"upright\") then\n          unit.sprite = {\"ditto_direction\"}\n        elseif hasRule(unit,\"snacc\",\"?\") then\n          unit.sprite = {\"ditto_snacc\"}\n        else\n          unit.sprite = {\"ditto\"}\n        end\n\n        local props_to_check = {\"stelth\",\"sans\",\"delet\",\"dragbl\",\"rong\",\"wurd\",\"nodrag\",\"rithere\",\"thr\",\"ouch\",\"protecc\",\"noundo\",\n        \"poortoll\",\"go\",\"folowal\",\"tall\",\"rave\",\"colrful\",\"torc\",\"split\",\"icyyyy\",\"icy\",\"hopovr\",\"nuek\",\"knightstep\",\"diagstep\",\"sidestep\",\"notranform\",\n        \"munwalk\",\"visitfren\",\"walk\",\"noswim\",\"haetflor\",\"haetskye\",\"glued\",\"flye\",\"enby\",\"tranz\",\"comepls\",\"goawaypls\",\"goooo\",\n        \"moar\",\"nedkee\",\"fordor\",\"hotte\",\"fridgd\",\"nogo\",\"thingify\",\"y'all\",\"utres\",\"utoo\",\"u\",\n        } --props are checked in order, so less common props should go in front\n        for _,prop in ipairs(props_to_check) do\n          if hasProperty(unit,prop) then\n            unit.sprite = {\"ditto_\"..prop}\n            break\n          end\n        end\n        --very high priority, will trigger over other things\n        if hasProperty(unit,\"qt\") then\n          -- Eeveelutions\n          if hasProperty(unit,\"icy\") then\n            unit.sprite = {\"ditto_qt_icy\"}\n          elseif hasProperty(unit,\"hopovr\") then\n            unit.sprite = {\"ditto_qt_hopovr\"}\n          else\n            unit.sprite = {\"ditto_qt\"}\n          end\n        elseif hasRule(unit,\"got\",\"which\") then\n          unit.sprite = {\"ditto_which\"}\n        elseif hasRule(unit,\"got\",\"sant\") then\n          unit.sprite = {\"ditto_sant\"}\n        elseif hasRule(unit,\"got\",\"gunne\") then\n          unit.sprite = {\"ditto_gunne\"}\n        elseif graphical_property_cache[\"slep\"][unit] ~= nil then\n          unit.sprite = {\"ditto_slep\"}\n        elseif hasProperty(unit,\"un:)\") then\n          unit.sprite = {\"ditto_;d\"}\n        elseif hasProperty(unit,\":)\") then\n          unit.sprite = {\"ditto_yay\"}\n        elseif hasProperty(unit,\":o\") then\n          unit.sprite = {\"ditto_whoa\"}\n        end\n      end\n      \n      if unit.fullname == \"fube\" then\n        if hasProperty(unit,\"haetskye\") or hasProperty(unit,\"haetflor\") or hasRule(unit,\"yeet\",\"?\") or hasRule(unit,\"moov\",\"?\") then\n          unit.sprite = {\"fube_cube\",\"fube_arrow\"}\n        else\n          unit.sprite = {\"fube_arrow\",\"fube_cube\"}\n        end\n      end\n      \n      if unit.fullname == \"bup\" then\n        if hasProperty(unit,\"torc\") then\n          unit.sprite = {\"bup\",\"bup_band\",\"bup_capn\",\"bup_light\"}\n        else\n          unit.sprite = {\"bup\",\"no1\",\"no1\",\"no1\"}\n        end\n      end\n      \n      if unit.fullname == \"maglit\" then\n        if hasProperty(unit,\"torc\") then\n          unit.sprite = {\"maglit\", \"maglit_lit\"}\n        else\n          unit.sprite = {\"maglit\", \"no1\"}\n        end\n      end\n      \n      if unit.fullname == \"die\" and (first_turn or not (hasProperty(unit,\"stukc\") or hasProperty(unit,\"noturn\"))) then\n        local roll = math.random(6)\n        unit.sprite[2] = \"die_\"..roll\n      end\n\n      if unit.fullname == \"txt_katany\" then\n        unit.sprite = {\"txt/katany\"}\n        if rules_with_unit[unit] then\n          for _,rules in ipairs(rules_with_unit[unit]) do\n            if rules.rule.object.unit == unit then\n              local tile = getTile(rules.rule.subject.name)\n              if tile and tile.features.katany and tile.features.katany.nya then\n                unit.sprite = {\"txt/katanya\"}\n              end\n            end\n          end\n        end\n      end\n      \n      if unit.name == \"byc\" and scene ~= editor then -- playing cards\n        if not card_for_id[unit.id] then\n          card_for_id[unit.id] = {math.random(13), ({\"spade\",\"heart\",\"clubs\",\"diamond\"})[math.random(4)]}\n        end\n        local num, suit = unpack(card_for_id[unit.id])\n        print(\"a\")\n        unit.sprite[2] = \"byc_\"..num\n        unit.sprite[3] = \"byc_\"..suit\n        if suit == \"spade\" or suit == \"clubs\" then\n          unit.color = {{0, 3}, {0, 0}, {0, 0}}\n          unit.painted = {{0, 0}, false, false}\n        end\n      end\n\n      if unit.fullname == \"txt_niko\" then\n        if hasProperty(unit,\"brite\") or hasProperty(unit,\"torc\") then\n          unit.sprite = {\"txt/niko\", \"txt/niko_lit\"}\n        else\n          unit.sprite = {\"txt/niko\", \"no1\"}\n        end\n      end\n\n      unit.overlay = {}\n      for name,overlay in pairs(overlay_props) do\n        if graphical_property_cache[name][unit] ~= nil then\n          table.insert(unit.overlay, overlay.sprite)\n        end\n      end\n      \n      -- for optimisation in drawing\n      local objects_to_check = {\n      \"stelth\", \"colrful\", \"delet\", \"rave\"\n      }\n      for name,_ in pairs(overlay_props) do\n        table.insert(objects_to_check, name)\n      end\n\n      for i = 1, #objects_to_check do\n        local prop = objects_to_check[i]\n        unit[prop] = graphical_property_cache[prop][unit] ~= nil\n      end\n\n      if not units_by_layer[unit.layer] then\n        units_by_layer[unit.layer] = {}\n      end\n      table.insert(units_by_layer[unit.layer], unit)\n      max_layer = math.max(max_layer, unit.layer)\n    end\n  end\n  \n  mergeTable(still_converting, still_gone)\n\n  for _,unit in ipairs(still_converting) do\n    if not units_by_layer[unit.layer] then\n      units_by_layer[unit.layer] = {}\n    end\n    if not table.has_value(units_by_layer[unit.layer], unit) then\n      table.insert(units_by_layer[unit.layer], unit)\n    end\n    max_layer = math.max(max_layer, unit.layer)\n  end\n\n  if state_change then\n    if units_by_name[\"camra\"] and #units_by_name[\"camra\"] > 1 then\n      local removed = {}\n      local new_special = {}\n      for i,camra in ipairs(units_by_name[\"camra\"]) do\n        if i ~= #units_by_name[\"camra\"] then\n          table.insert(removed, camra)\n          new_special = camra.special.camera\n        else\n          camra.special.camera = new_special\n        end\n      end\n      for _,camra in ipairs(removed) do\n        deleteUnit(camra)\n      end\n    end\n  end\nend\n\nfunction updateGraphicalPropertyCache(state_change)\n  for prop,tbl in pairs(graphical_property_cache) do\n    --only flye has a stacking graphical effect and we want to ignore selector, the rest are boolean\n    --local count = false\n    new_tbl = {}\n    if (prop == \"flye\") then\n      local prop = getUnitsWithEffectAndCount(\"flye\")\n      local anti = getUnitsWithEffectAndCount(\"anti flye\")\n      --local ccount = 0\n      for unit,amt in pairs(prop) do\n        unit = units_by_id[unit] or cursors_by_id[unit]\n        new_tbl[unit] = amt or nil\n      end\n      for unit,amt in pairs(anti) do\n        unit = units_by_id[unit] or cursors_by_id[unit]\n        new_tbl[unit] = (new_tbl[unit] or 0) - (amt or 0)\n      end\n    --[[else if (count) then\n      local isprop = getUnitsWithEffectAndCount(prop)\n      for unit,amt in pairs(isprop) do\n        unit = units_by_id[unit] or cursors_by_id[unit]\n        new_tbl[unit] = unit.fullname ~= \"selctr\" and amt or nil\n      end]]\n    else\n      local isprop = getUnitsWithEffect(prop)\n      for _,unit in pairs(isprop) do\n        new_tbl[unit] = true\n      end\n    end\n    graphical_property_cache[prop] = new_tbl\n  end\n  \n  if state_change then\n    updateUnitColours()\n  end\nend\n\n--Colour logic:\n--If a unit be colour, it becomes that colour until it ben't that colour or it be a different colour. It persists even after breaking the rule.\nfunction updateUnitColours()\n  to_update = {}\n  \n  for colour,palette in pairs(main_palette_for_colour) do\n    local decolour = matchesRule(nil,\"ben't\",colour)\n    for _,match in ipairs(decolour) do\n      local unit = match[2]\n      if (unit[colour] == true) then\n        addUndo({\"colour_change\", unit.id, colour, true})\n        unit[colour] = false\n        to_update[unit] = {}\n      end\n      --If a unit ben't its native colour, make it blacc.\n      if palette[1] == getTile(unit.tile).color[1] and palette[2] == getTile(unit.tile).color[2]  and unitNotRecoloured(unit) then\n        addUndo({\"colour_change\", unit.id, \"blacc\", false})\n        unit[\"blacc\"] = true\n        to_update[unit] = {}\n      end\n    end\n    \n    local newcolour = matchesRule(nil,\"be\",colour)\n    for _,match in ipairs(newcolour) do\n      local unit = match[2]\n      if (unit[colour] ~= true) then\n        if to_update[unit] == nil then\n          to_update[unit] = {}\n        end\n        table.insert(to_update[unit], colour)\n      end\n    end\n  end\n  \n  local painting = matchesRule(nil, \"paint\", \"?\")\n  for _,ruleparent in ipairs(painting) do\n    local unit = ruleparent[2]\n    local stuff = getUnitsOnTile(unit.x, unit.y, {not_destroyed = true, checkmous = true, thicc = thicc_units[unit]})\n    for _,on in ipairs(stuff) do\n      if (unit ~= on or ruleparent[1].rule.object.name == \"themself\") and hasRule(unit, \"paint\", on) and sameFloat(unit, on) and ignoreCheck(on, unit, \"paint\") then\n        if timecheck(unit,\"paint\",on) and timecheck(on) then\n          local old_colour = getUnitColor(unit)\n          local colour = colour_for_palette[old_colour[1]][old_colour[2]]\n          if (colour ~= nil and on[colour] ~= true) then\n            if to_update[on] == nil then\n              to_update[on] = {}\n            end\n            table.insert(to_update[on], colour)\n          end\n        end\n      end\n    end\n  end\n  \n  --BEN'T PAINT removes and prevents all other colour shenanigans.\n  local depaint = matchesRule(nil,\"ben't\",\"paint\")\n  for _,match in ipairs(depaint) do\n    local unit = match[2]\n    unitUnsetColours(unit)\n    to_update[unit] = {}\n  end\n  \n  for unit,colours in pairs(to_update) do\n    unitUnsetColours(unit)\n    for _,colour in ipairs(colours) do\n      if (unit[colour] ~= true) then\n        addUndo({\"colour_change\", unit.id, colour, false})\n        unit[colour] = true\n      end\n    end\n    updateUnitColourOverride(unit)\n  end\nend\n\nfunction unitUnsetColours(unit)\n  for colour,palette in pairs(main_palette_for_colour) do\n    if unit[colour] == true then\n      addUndo({\"colour_change\", unit.id, colour, true})\n      unit[colour] = false\n    end\n  end\nend\n\nfunction unitNotRecoloured(unit)\n  for colour,palette in pairs(main_palette_for_colour) do\n    if unit[colour] == true then\n      return false\n    end\n  end\n  return true\nend\n\nfunction updateUnitColourOverride(unit)\n  unit.color_override = nil\n  if unit.pinc then\n    unit.color_override = {4, 1}\n  elseif unit.purp then\n    unit.color_override = {3, 1}\n  elseif unit.yello then\n    unit.color_override = {2, 4}\n  elseif unit.orang then\n      unit.color_override = {2, 3}\n  elseif unit.cyeann then\n    unit.color_override = {1, 4}\n  elseif unit.brwn then\n    unit.color_override = {6, 0}\n  elseif unit.reed then\n    unit.color_override = {2, 2}\n  elseif unit.grun then\n    unit.color_override = {5, 2}\n  elseif unit.bleu then\n    unit.color_override = {1, 3}\n  elseif unit.graey then\n    unit.color_override = {0, 1}\n  elseif unit.whit then\n    unit.color_override = {0, 3}\n  elseif unit.blacc then\n    unit.color_override = {0, 0}\n  end\n  --mixing colors\n  if (unit.reed and unit.whit) then --pinc\n    unit.color_override = {4, 1}\n  elseif (unit.reed and unit.grun and unit.bleu) or (unit.reed and unit.cyeann) or (unit.bleu and unit.yello) or (unit.grun and unit.purp) then -- whit\n    unit.color_override = {0, 3}\n  elseif (unit.reed and unit.bleu) then --purp\n    unit.color_override = {3, 1}\n  elseif (unit.reed and unit.grun) then --yello\n    unit.color_override = {2, 4}\n  elseif (unit.reed and unit.yello) then --orang\n    unit.color_override = {2, 3}\n  elseif (unit.bleu and unit.grun) then --cyeann\n    unit.color_override = {1, 4}\n  elseif (unit.orang and unit.blacc) then --brwn\n    unit.color_override = {6, 0}\n  elseif (unit.bleu and unit.yello) then --grun\n    unit.color_override = {5, 2}\n  elseif (unit.blacc and unit.whit) then --graey\n    unit.color_override = {0, 1}\n  end\nend\n\nfunction updatePortals()\n  for i,unit in ipairs(units) do\n    if unit.is_portal and hasProperty(unit, \"poortoll\") then\n      local px, py, move_dir, dir = doPortal(unit, unit.x, unit.y, rotate8(unit.dir), rotate8(unit.dir), true)\n      unit.portal.x, unit.portal.y = px, py\n      local portal_objects = getUnitsOnTile(px, py, {not_destroyed = true, thicc = thicc_units[unit]})\n      unit.portal.objects = portal_objects\n      unit.portal.dir = rotate8(unit.dir) - dir\n      local new_last_objs = copyTable(unit.portal.objects)\n      for _,v in ipairs(unit.portal.last) do\n        if not table.has_value(unit.portal.objects, v) then\n          table.insert(unit.portal.objects, v)\n        end\n      end\n      table.sort(portal_objects, function(a, b) return a.layer < b.layer end)\n      unit.portal.last = new_last_objs\n    else\n      unit.portal.objects = nil\n      unit.portal.last = {}\n    end\n  end\nend\n\nfunction DoDiscordRichPresence()\n  if (discordRPC ~= true) then\n    local isu = getUnitsWithEffect(\"u\")\n    if (#isu > 0) then\n      local unit = isu[1]\n      if love.filesystem.read(\"author_name\") == \"jill\" or unit.fullname == \"jill\" then\n        presence[\"smallImageText\"] = \"jill\"\n        presence[\"smallImageKey\"] = \"jill\"\n      elseif love.filesystem.read(\"author_name\") == \"fox\" or unit.fullname == \"o\" then\n        presence[\"smallImageText\"] = \"o\"\n        presence[\"smallImageKey\"] = \"o\"\n      elseif unit.fullname == \"bab\" or unit.fullname == \"keek\" or unit.fullname == \"meem\" or unit.fullname == \"bup\" then\n        presence[\"smallImageText\"] = unit.fullname\n        presence[\"smallImageKey\"] = unit.fullname\n      elseif unit.type == \"txt\" then\n        presence[\"smallImageKey\"] = \"txt\"\n        presence[\"smallImageText\"] = unit.name\n      elseif unit.fullname == \"os\" then\n        local os = love.system.getOS()\n\n        if os == \"Windows\" then\n          presence[\"smallImageKey\"] = \"windous\"\n        elseif os == \"OS X\" then\n          presence[\"smallImageKey\"] = \"maac\" -- i know, the mac name is inconsistent but SHUSH you cant change it after you upload the image\n        elseif os == \"Linux\" then\n          presence[\"smallImageKey\"] = \"linx\"\n        else\n          presence[\"smallImageKey\"] = \"other\"\n        end\n\n        presence[\"smallImageText\"] = \"os\"\n      else\n        presence[\"smallImageText\"] = \"other\"\n        presence[\"smallImageKey\"] = \"other\"\n      end\n    else\n      presence[\"smallImageText\"] = \"nothing :(\"\n      presence[\"smallImageKey\"] = \"nothing\"\n    end\n  end\nend\n\nfunction handleDels(to_destroy, unstoppable)\n  local convert = false\n  local del_units = {}\n  for _,unit in ipairs(to_destroy) do\n    if unstoppable or not hasProperty(unit, \"protecc\") then\n      unit.destroyed = true\n      unit.removed = true\n      table.insert(del_units, unit)\n    end\n  end\n  deleteUnits(del_units, false)\n  return {}\nend\n\nfunction handleTimeDels(time_destroy)\n  local convert = false\n  local del_units = {}\n  local already_added = {}\n  for _,data in ipairs(time_destroy) do\n    local unitid = data[1]\n    if unitid > 0 then\n      unit = units_by_id[unitid]\n    else\n      unit = cursors_by_id[unitid]\n    end\n    addUndo({\"time_destroy_remove\", {unitid,timeless}})\n    if unit ~= nil and not hasProperty(unit, \"protecc\") and timeless == not data[2] then\n      if not already_added[unitid] then\n        addParticles(\"destroy\",unit.x,unit.y,getUnitColor(unit))\n      end\n      unit.destroyed = true\n      unit.removed = true\n      table.insert(del_units,unit)\n      already_added[unitid] = true\n      for i,win in ipairs(timeless_win) do\n        if unit.id == win then\n          addUndo({\"timeless_win_remove\", win})\n          table.remove(timeless_win,i)\n        end\n      end\n      for i,unwin in ipairs(timeless_unwin) do\n        if unit.id == unwin then\n          addUndo({\"timeless_unwin_remove\", unwin})\n          table.remove(timeless_unwin,i)\n        end\n      end\n      for split,_ in pairs(timeless_split) do\n        if unit.id == split then\n          addUndo({\"timeless_split_remove\", split})\n          timeless_split[split] = nil\n        end\n      end\n    end\n  end\n  for _,sound in ipairs(time_sfx) do\n    playSound(sound,1/#time_sfx)\n  end\n  time_sfx = {}\n  deleteUnits(del_units, false)\n  return {}\nend\n\nfunction levelBlock()\n  local to_destroy = {}\n  local lvlsafe = hasRule(outerlvl,\"got\",\"lvl\") or hasProperty(outerlvl,\"protecc\")\n  \n  if hasProperty(outerlvl,\"notranform\") then\n    writeSaveFile(nil, {\"levels\", level_filename, \"transform\"})\n  end\n  \n  if hasProperty(outerlvl, \"visitfren\") then\n    for _,unit in ipairs(units) do\n      if sameFloat(unit,outerlvl) and inBounds(unit.x,unit.y) and ignoreCheck(unit,outerlvl,\"visitfren\") then\n        addUndo({\"update\", unit.id, unit.x, unit.y, unit.dir})\n        if inBounds(unit.x+1,unit.y) then\n          moveUnit(unit,unit.x+1,unit.y)\n        else\n          if inBounds(0,unit.y+1) then\n            moveUnit(unit,0,unit.y+1)\n          else\n            moveUnit(unit,0,0)\n          end\n        end\n        --random version for fun\n        --[[\n        local tx,ty = math.random(0,mapwidth-1),math.random(0,mapheight-1)\n        moveUnit(unit,tx,ty)\n        ]]\n      end\n    end\n  end\n  \n  if hasProperty(outerlvl, \"nuek\") then\n    for _,unit in ipairs(units) do\n      if sameFloat(unit, outerlvl) and inBounds(unit.x,unit.y) and ignoreCheck(unit,outerlvl,\"nuek\") then\n        table.insert(to_destroy, unit)\n        addParticles(\"destroy\", unit.x, unit.y, {2,2})\n      end\n    end\n  end\n  \n  to_destroy = handleDels(to_destroy)\n  \n  local isvs = matchesRule(nil,\"vs\",outerlvl)\n  mergeTable(isvs,matchesRule(outerlvl,\"vs\",nil))\n  for _,ruleparent in ipairs(isvs) do\n    local unit = ruleparent[2]\n    if unit ~= outerlvl and sameFloat(outerlvl,unit) and inBounds(unit.x,unit.y) then\n      local unitmoved = false\n      for _,undo in ipairs(undo_buffer[1]) do\n        if undo[1] == \"update\" and undo[2] == unit.id and ((undo[3] ~= unit.x) or (undo[4] ~= unit.y)) then\n          unitmoved = true\n        end\n      end\n      if unitmoved and ignoreCheck(outerlvl, unit) then\n        destroyLevel(\"vs\")\n        if not lvlsafe then return 0,0 end\n      end\n    end\n  end\n  \n  if hasProperty(outerlvl, \"noswim\") then\n    for _,unit in ipairs(units) do\n      if sameFloat(unit, outerlvl) and inBounds(unit.x,unit.y) then\n        if ignoreCheck(outerlvl, unit) then\n          destroyLevel(\"sink\")\n          if not lvlsafe then return 0,0 end\n        elseif ignoreCheck(unit, outerlvl, \"noswim\") then\n          table.insert(to_destroy, unit)\n          addParticles(\"destroy\", unit.x, unit.y, getUnitColor(unit))\n        end\n      end\n    end\n    if #to_destroy > 0 then\n      playSound(\"sink\")\n      shakeScreen(0.3, 0.1)\n    end\n  end\n\n  to_destroy = handleDels(to_destroy)\n  \n  if hasProperty(outerlvl, \"ouch\") then\n    for _,unit in ipairs(units) do\n      if sameFloat(unit, outerlvl) and inBounds(unit.x,unit.y) and ignoreCheck(outerlvl, unit) then\n        destroyLevel(\"snacc\")\n        if not lvlsafe then return 0,0 end\n      end\n    end\n  end\n  \n  if hasProperty(outerlvl, \"hotte\") then\n    local melters = getUnitsWithEffect(\"fridgd\")\n    for _,unit in ipairs(melters) do\n      if sameFloat(unit,outerlvl) and inBounds(unit.x,unit.y) and ignoreCheck(unit,outerlvl,\"hotte\") then\n        table.insert(to_destroy, unit)\n        addParticles(\"destroy\", unit.x, unit.y, getUnitColor(unit))\n      end\n    end\n    if #to_destroy > 0 then\n      playSound(\"hotte\")\n    end\n  end\n  \n  to_destroy = handleDels(to_destroy)\n  \n  if hasProperty(outerlvl, \"fridgd\") then\n    if hasProperty(outerlvl, \"hotte\") then\n      destroyLevel(\"hotte\")\n      if not lvlsafe then return 0,0 end\n    end\n    local melters = getUnitsWithEffect(\"hotte\")\n    for _,unit in ipairs(melters) do\n      if sameFloat(unit,outerlvl) and inBounds(unit.x,unit.y) and ignoreCheck(outerlvl,unit,\"hotte\") then\n        destroyLevel(\"hotte\")\n        if not lvlsafe then return 0,0 end\n      end\n    end\n  end\n  \n  if hasProperty(outerlvl, \":(\") then\n    local yous = getUs()\n    for _,unit in ipairs(yous) do\n      if sameFloat(unit,outerlvl) and inBounds(unit.x,unit.y) and ignoreCheck(unit,outerlvl,\":(\") then\n        table.insert(to_destroy, unit)\n        addParticles(\"destroy\", unit.x, unit.y, getUnitColor(unit))\n      end\n    end\n  end\n  \n  to_destroy = handleDels(to_destroy)\n  \n  if hasProperty(outerlvl, \"nedkee\") then\n    if hasProperty(outerlvl, \"fordor\") then\n      destroyLevel(\"unlock\")\n      if not lvlsafe then return 0,0 end\n    end\n    local dors = getUnitsWithEffect(\"fordor\")\n    for _,unit in ipairs(dors) do\n      if sameFloat(unit,outerlvl) and inBounds(unit.x,unit.y) then\n        if ignoreCheck(outerlvl,unit,\"fordor\") then\n          destroyLevel(\"unlock\")\n        end\n        if lvlsafe then\n          if ignoreCheck(unit,outerlvl,\"nedkee\") then\n            table.insert(to_destroy, unit)\n            addParticles(\"destroy\", unit.x, unit.y, getUnitColor(unit))\n          end\n        else return 0,0 end\n      end\n    end\n    if #to_destroy > 0 then\n      playSound(\"unlock\",0.5)\n      playSound(\"break\",0.5)\n    end\n  end\n  \n  to_destroy = handleDels(to_destroy)\n  \n  if hasProperty(outerlvl, \"fordor\") then\n    local kees = getUnitsWithEffect(\"nedkee\")\n    for _,unit in ipairs(kees) do\n      if sameFloat(unit,outerlvl) and inBounds(unit.x,unit.y) then\n        if ignoreCheck(outerlvl,unit,\"nedkee\") then\n          destroyLevel(\"unlock\")\n        end\n        if lvlsafe then\n          if ignoreCheck(unit,outerlvl,\"fordor\") then\n            table.insert(to_destroy, unit)\n            addParticles(\"destroy\", unit.x, unit.y, getUnitColor(unit))\n          end\n        else return 0,0 end\n      end\n    end\n    if #to_destroy > 0 then\n      playSound(\"unlock\",0.5)\n      playSound(\"break\",0.5)\n    end\n  end\n  \n  to_destroy = handleDels(to_destroy)\n  \n  local issnacc = matchesRule(outerlvl,\"snacc\",nil)\n  for _,ruleparent in ipairs(issnacc) do\n    local unit = ruleparent[2]\n    if unit ~= outerlvl and sameFloat(outerlvl,unit) and inBounds(unit.x,unit.y) and ignoreCheck(unit,outerlvl) then\n      addParticles(\"destroy\", unit.x, unit.y, getUnitColor(unit))\n      table.insert(to_destroy, unit)\n    end\n  end\n  \n  local issnacc = matchesRule(nil,\"snacc\",outerlvl)\n  for _,ruleparent in ipairs(issnacc) do\n    local unit = ruleparent[2]\n    if unit ~= outerlvl and sameFloat(outerlvl,unit) and inBounds(unit.x,unit.y) and ignoreCheck(outerlvl,unit) then\n      destroyLevel(\"snacc\")\n      if not lvlsafe then return 0,0 end\n    end\n  end\n  \n  if #to_destroy > 0 then\n    playSound(\"snacc\")\n    shakeScreen(0.3, 0.1)\n  end\n  \n  to_destroy = handleDels(to_destroy)\n  \n  local will_undo = false\n  if hasProperty(outerlvl, \"tryagain\") then\n    local yous = getUs()\n    for _,unit in ipairs(yous) do\n      if sameFloat(unit,outerlvl) and inBounds(unit.x,unit.y) and ignoreCheck(unit,outerlvl,\"tryagain\") then\n        doTryAgain()\n      end\n    end\n  end\n  \n  if hasProperty(outerlvl, \"delet\") then\n    local yous = getUs()\n    for _,unit in ipairs(yous) do\n      if sameFloat(unit,outerlvl) and inBounds(unit.x,unit.y) and ignoreCheck(unit,outerlvl,\"delet\") then\n        doXWX()\n      end\n    end\n  end\n  \n  if hasProperty(outerlvl, \":o\") then\n    local yous = getUs()\n    for _,unit in ipairs(yous) do\n      if sameFloat(unit,outerlvl) and inBounds(unit.x,unit.y) and ignoreCheck(outerlvl,unit) then\n        writeSaveFile(true, {\"levels\", level_filename, \"bonus\"})\n        destroyLevel(\"bonus\")\n        if not lvlsafe then return 0,0 end\n      end\n    end\n  end\n  \n  local unwins = 0\n  if hasProperty(outerlvl, \"un:)\") then\n    local yous = getUs()\n    for _,unit in ipairs(yous) do\n      if sameFloat(unit,outerlvl) and inBounds(unit.x,unit.y) and ignoreCheck(unit,outerlvl,\"un:)\") then\n        unwins = unwins + 1\n      end\n    end\n  end\n  \n  local wins = 0\n  if hasProperty(outerlvl, \":)\") then\n    local yous = getUs()\n    for _,unit in ipairs(yous) do\n      if sameFloat(unit,outerlvl) and inBounds(unit.x,unit.y) and ignoreCheck(unit,outerlvl,\":)\") then\n        wins = wins + 1\n      end\n    end\n  end\n  \n  local soko = matchesRule(outerlvl,\"soko\",\"?\")\n  for _,ruleparent in ipairs(soko) do\n    local units = findUnitsByName(ruleparent.rule.object.name)\n    local fail = false\n    if #units > 0 then\n      for _,unit in ipairs(units) do\n        local ons = getUnitsOnTile(unit.x,unit.y,{exclude = unit, thicc = thicc_units[unit]})\n        local success = false\n        for _,on in ipairs(ons) do\n          if sameFloat(unit,on) and ignoreCheck(unit,on) then\n            success = true\n            break\n          end\n        end\n        if not success then\n          fail = true\n          break\n        end\n      end\n    else fail = true end\n    if not fail then\n      local yous = getUs()\n      for _,unit in ipairs(yous) do\n        if sameFloat(unit,outerlvl) and inBounds(unit.x,unit.y) and ignoreCheck(unit,outerlvl) then\n          wins = wins + 1\n        end\n      end\n    end\n  end\n  \n  if hasProperty(outerlvl, \"nxt\") then\n\t\ttable.insert(win_sprite_override, getTile(\"txt_nxt\"));\n    doWin(\"nxt\")\n  end\n  \n  if hasProperty(outerlvl, \"B)\") then\n    local yous = getUs()\n    for _,unit in ipairs(yous) do\n      if sameFloat(unit,outerlvl) and inBounds(unit.x,unit.y) and ignoreCheck(unit,outerlvl,\"B)\") then\n        unit.cool = true\n      end\n    end\n  end\n  \n  return wins,unwins\nend\n\nfunction changeDirIfFree(unit, dir)\n  if canMove(unit, dirs8[dir][1], dirs8[dir][2], dir, {solid_name = unit.name, reason = \"dir check\"}) then\n    addUndo({\"update\", unit.id, unit.x, unit.y, unit.dir})\n    unit.olddir = unit.dir\n    updateDir(unit, dir)\n    return true\n  end\n  return false\nend\n\nfunction taxicabDistance(a, b)\n  return math.abs(a.x - b.x) + math.abs(a.y - b.y)\nend\n\nfunction bishopDistance(a, b)\n  if ((a.x + a.y) % 2) == ((b.x + b.y) % 2) then\n    return kingDistance(a, b)\n  else\n    return -1\n  end\nend\n\nfunction kingDistance(a, b)\n  return math.max(math.abs(a.x - b.x), math.abs(a.y - b.y))\nend\n\nfunction euclideanDistance(a, b)\n  return (a.x-b.x)*(a.x-b.x) + (a.y-b.y)*(a.y-b.y)\nend\n\nfunction readingOrderSort(a, b)\n  if a.y ~= b.y then\n    return a.y < b.y\n  elseif a.x ~= b.x then\n    return a.x < b.x\n  else\n    return a.id < b.id\n  end\nend\n\nfunction destroyLevel(reason)\n\tif reason == \"infloop\" or reason == \"plsdont\" or (not hasRule(outerlvl,\"got\",\"lvl\") and not hasProperty(outerlvl,\"protecc\")) then\n    level_destroyed = true\n  end\n  \n  transform_results = {}\n  local holds = matchesRule(outerlvl,\"got\",\"?\")\n  for _,match in ipairs(holds) do\n    if not nameIs(outerlvl, match.rule.object.name) then\n      local obj_name = match.rule.object.name\n      if obj_name == \"txt\" then\n        istext = true\n        obj_name = \"txt_\" .. match.rule.subject.name\n      end\n      local tile = getTile(obj_name)\n      --let x ben't x txt prevent x be txt, and x ben't txt prevent x be y txt\n      local overriden = false;\n      if match.rule.object.name == \"txt\" then\n        overriden = hasRule(outerlvl, \"gotn't\", \"txt_\" .. match.rule.subject.name)\n      elseif match.rule.object.name:starts(\"txt_\") then\n        overriden = hasRule(outerlvl, \"gotn't\", \"txt\")\n      end\n      if tile ~= nil and not overriden then\n        table.insert(transform_results, tile.name)\n        table.insert(win_sprite_override, tile)\n      end\n    end\n  end\n  playSound(reason)\n  if reason == \"unlock\" or reason == \"convert\" then\n    playSound(\"break\")\n  end\n  \n  if reason == \"infloop\" then\n    addParticles(\"infup\", 0, 0, {4, 1}, 60)\n    if hasRule(\"infloop\",\"ben't\",\"infloop\") or hasRule(\"infloop\",\"be\", \"n't\",\"infloop\") then\n      level_destroyed = false\n    elseif hasProperty(\"infloop\",\"tryagain\") then\n      doTryAgain()\n      level_destroyed = false\n    elseif hasProperty(\"infloop\",\"delet\") then\n      doXWX()\n    elseif hasProperty(\"infloop\",\":)\") then\n      doWin(\"won\")\n      level_destroyed = true\n    elseif hasProperty(\"infloop\",\"un:)\") then\n      doWin(\"won\", false)\n      level_destroyed = true\n    end\n    local berule = matchesRule(\"infloop\",\"be\",\"?\")\n    for _,rule in ipairs(berule) do\n      local object = getTile(rule.rule.object.name)\n      if object then\n        table.insert(transform_results, object.name)\n        table.insert(win_sprite_override, object)\n      end\n    end\n  end\n  if reason == \"plsdont\" then\n    addParticles(\"infup\", 0, 0, {4, 1}, 60)\n    if hasRule(\"plsdont\",\"ben't\",\"plsdont\") or hasRule(\"plsdont\",\"be\", \"n't\",\"plsdont\") then\n      level_destroyed = false\n    elseif hasProperty(\"plsdont\",\"tryagain\") then\n      doTryAgain()\n      level_destroyed = false\n    elseif hasProperty(\"plsdont\",\"delet\") then\n      doXWX()\n    elseif hasProperty(\"plsdont\",\":)\") then\n      doWin(\"won\")\n      level_destroyed = true\n    elseif hasProperty(\"plsdont\",\"un:)\") then\n      doWin(\"won\", false)\n      level_destroyed = true\n    end\n    --[[local berule = matchesRule(\"plsdont\",\"be\",\"?\")\n    for _,rule in ipairs(berule) do\n      local object = getTile(rule.rule.object.name)\n      if object then\n        table.insert(transform_results, object.name)\n        table.insert(win_sprite_override, object)\n      end\n    end]]\n  end\n  \n  if level_destroyed then\n    destroycount = destroycount+1\n    if reason == \"infloop\" then\n      infcount = infcount+1\n    end\n    if reason == \"plsdont\" then\n      complexcount = complexcount+1\n    end\n    addUndo({\"destroy_level\", reason})\n\n    local units_to_destroy = {}\n    for _,unit in ipairs(units) do\n      if inBounds(unit.x, unit.y) or reason == \"infloop\" or reason == \"plsdont\" then\n        if not hasProperty(unit, \"stayther\") then\n          table.insert(units_to_destroy, unit);\n        end\n      end\n    end\n    --[[for _,unit in ipairs(units_to_destroy) do\n      addParticles(\"inf\", unit.x, unit.y, {4, 1}, 2)\n    end]]\n    handleDels(units_to_destroy,true)\n    if reason == \"infloop\" and #transform_results == 0 then\n      local new_unit = createUnit(\"infloop\", math.floor(mapwidth/2), math.floor(mapheight/2), 1)\n      addUndo({\"create\", new_unit.id, false})\n      local gotrule = matchesRule(\"infloop\",\"got\",\"?\")\n      for _,rule in ipairs(gotrule) do\n        local object = getTile(rule.rule.object.name)\n        if rule.rule.object.name == \"txt\" then\n          object =  getTile(\"txt_infloop\")\n        end\n        if object ~= nil then\n          local new_unit = createUnit(object.name, math.floor(mapwidth/2), math.floor(mapheight/2), 1)\n          if new_unit ~= nil then\n            addUndo({\"create\", new_unit.id, false})\n          end\n        end\n      end\n    end\n    if reason == \"plsdont\" and #transform_results == 0 then\n      local new_unit = createUnit(\"plsdont\", math.floor(mapwidth/2), math.floor(mapheight/2), 1)\n      addUndo({\"create\", new_unit.id, false})\n      local gotrule = matchesRule(\"plsdont\",\"got\",\"?\")\n      for _,rule in ipairs(gotrule) do\n        local object = getTile(rule.rule.object.name)\n        if rule.rule.object.name == \"txt\" then\n          object =  getTile(\"txt_plsdont\")\n        end\n        if object ~= nil then\n          local new_unit = createUnit(object.name, math.floor(mapwidth/2), math.floor(mapheight/2), 1)\n          if new_unit ~= nil then\n            addUndo({\"create\", new_unit.id, false})\n          end\n        end\n      end\n    end\n  end\n  \n  if (#transform_results > 0) then\n    doWin(\"transform\", transform_results)\n  end\nend\n\nfunction dropGotUnit(unit, rule)\n  --TODO: CLEANUP: Blatantly copypasta'd from convertUnits.\n  if unit == outerlvl then\n    return\n  end\n  \n  function dropOneGotUnit(unit, rule, obj_name)\n    local object = obj_name\n    if rule.object.name == \"txt\" then\n      obj_name = \"txt_\" .. unit.fullname\n    end\n    if object:starts(\"this\") then\n      obj_name = \"this\"\n    end\n    local obj_tile = getTile(obj_name)\n    --let x ben't x txt prevent x be txt, and x ben't txt prevent x be y txt\n    local overriden = false\n    if object == \"txt\" then\n      overriden = hasRule(unit, \"gotn't\", \"txt_\" .. unit.fullname)\n    elseif object:starts(\"txt_\") or object:starts(\"letter_\") then\n      overriden = hasRule(unit, \"gotn't\", \"txt\")\n    end\n    if not overriden and (obj_name == \"mous\" or obj_name == \"themself\" or obj_tile ~= nil) then\n      if obj_name == \"themself\" then\n        if unit.class == \"cursor\" then\n          local new_mouse = createMouse_direct(unit.screenx, unit.screeny)\n          addUndo({\"create_cursor\", new_mouse.id})\n        else\n          local color = rule.object.prefix\n          if color == \"samepaint\" or not color then\n            color = colour_for_palette[getUnitColor(unit)[1]][getUnitColor(unit)[2]]\n          end\n          local new_unit = createUnit(unit.tile, unit.x, unit.y, unit.dir, false, nil, nil, color)\n          addUndo({\"create\", new_unit.id, false})\n          return new_unit\n        end\n      else\n        if obj_name == \"mous\" then\n          local new_mouse = createMouse(unit.x, unit.y)\n          addUndo({\"create_cursor\", new_mouse.id})\n        else\n          local color = rule.object.prefix\n          if color == \"samepaint\" then\n            color = colour_for_palette[getUnitColor(unit)[1]][getUnitColor(unit)[2]]\n          end\n          local new_unit = createUnit(obj_name, unit.x, unit.y, unit.dir, false, nil, nil, color)\n          addUndo({\"create\", new_unit.id, false})\n          return new_unit\n        end\n      end\n    end\n  end\n  \n  local result = nil\n  local obj_name = rule.object.name\n  if (group_names_set[obj_name] ~= nil) then\n    for _,v in ipairs(namesInGroup(obj_name)) do\n      result = dropOneGotUnit(unit, rule, v)\n    end\n  else\n    result = dropOneGotUnit(unit, rule, obj_name)\n  end\n  return result\nend\n\nfunction convertLevel()\n  local deconverts = matchesRule(outerlvl,\"ben't\",\"lvl\")\n  if #deconverts > 0 then\n    destroyLevel(\"convert\")\n    return true\n  end\n  \n  transform_results = {}\n  \n  local meta = matchesRule(outerlvl,\"be\",\"txtify\")\n  if (#meta > 0) then\n    if #meta > 100 then destroyLevel(\"plsdont\")\n      return false end\n    local tile = nil\n    local nametocreate = outerlvl.fullname\n    for i = 1,#meta do\n      nametocreate = \"txt_\"..nametocreate\n    end\n    tile = getTile(nametocreate)\n    if tile ~= nil then\n      table.insert(transform_results, tile.name)\n      table.insert(win_sprite_override, tile)\n    end\n  end\n\n  local converts = matchesRule(outerlvl,\"be\",\"?\")\n  for _,match in ipairs(converts) do\n    local object = match.rule.object\n    if not (hasProperty(outerlvl, \"lvl\") or hasProperty(outerlvl, \"notranform\")) and object.type and (object.type.object or object.name:starts(\"txt_\")) and object.name ~= \"no1\" then\n      if match.rule.object.name == \"txt\" then\n        tile = getTile(\"txt_lvl\")\n      elseif match.rule.object.name:starts(\"this\") then\n        tile = getTile(\"this\")\n      else\n        tile = getTile(match.rule.object.name)\n      end\n      if tile == nil and match.rule.object.name == \"every1\" then\n        for _,v in ipairs(referenced_objects) do\n          if not hasRule(outerlvl, \"ben't\", v) then\n            table.insert(transform_results, v)\n            table.insert(win_sprite_override, getTile(v))\n          end\n        end\n      end\n      --let x ben't x txt prevent x be txt, and x ben't txt prevent x be y txt\n      local overriden = false;\n      if match.rule.object.name == \"txt\" then\n        overriden = hasRule(outerlvl, \"ben't\", \"txt_\" .. match.rule.subject.name)\n      elseif match.rule.object.name:starts(\"txt_\") then\n        overriden = hasRule(outerlvl, \"ben't\", \"txt\")\n      end\n      if tile ~= nil and not overriden then\n        table.insert(transform_results, tile.name)\n        table.insert(win_sprite_override, tile)\n      end\n    end\n  end\n  \n  if (#transform_results > 0) then\n    doWin(\"transform\", transform_results)\n  end\nend\n\nfunction convertUnits(pass)\n  \n  if level_destroyed then return end\n  if convertLevel() then return end\n\n  local converted_units = {}\n  local del_cursors = {}\n\n\n  local removed_rule = {}\n  local removed_rule_unit = {}\n  local function removeRuleChain(rule, pride)\n    if removed_rule[rule] then return end\n    removed_rule[rule] = true\n    for _,unit in ipairs(rule.units) do\n      if not removed_rule_unit[unit] then\n        removed_rule_unit[unit] = true\n        table.insert(converted_units, unit)\n        local particle_colors = {}\n        for _,color in ipairs(overlay_props[pride].colors) do\n          table.insert(particle_colors, main_palette_for_colour[color])\n        end\n        addParticles(\"bonus\", unit.x, unit.y, particle_colors)\n        for _,other_rule in ipairs(rules_with_unit[unit]) do\n          removeRuleChain(other_rule, pride)\n        end\n      end\n    end\n  end\n\n  local pride_flags = {\"gay\", \"tranz\", \"bi\", \"pan\", \"lesbab\", \"ace\", \"aro\", \"enby\", \"fluid\", \"πoly\"}\n  for _,pride in ipairs(pride_flags) do\n    if rules_with[\"anti \"..pride] then\n      for _,bad in ipairs(rules_with[\"anti \"..pride]) do\n        removed_rule = {}\n        removed_rule_unit = {}\n        removeRuleChain(bad, pride)\n      end\n    end\n  end\n  \n  local function addTile(nametocreate,unit)\n    table.insert(converted_units, unit)\n    addParticles(\"bonus\", unit.x, unit.y, getUnitColor(unit))\n    if (nametocreate == \"mous\" or nametocreate == \"mousn't\") then\n      local new_mouse = createMouse(unit.x, unit.y)\n      addUndo({\"create_cursor\", new_mouse.id, created_from_id = unit.id})\n    else\n      local tile = getTile(nametocreate)\n      if tile ~= nil then\n        local new_unit = createUnit(tile.name, unit.x, unit.y, unit.dir, true)\n        if (new_unit ~= nil) then\n          if unit.special then new_unit.special.customletter = unit.special.customletter end\n          addUndo({\"create\", new_unit.id, true, created_from_id = unit.id})\n        end\n      end\n    end\n  end\n\n  local meta = getUnitsWithEffectAndCount(\"txtify\")\n  for unit,amt in pairs(meta) do\n    unit = units_by_id[unit] or cursors_by_id[unit]\n    if not unit.new and unit.type ~= \"outerlvl\" and timecheck(unit,\"be\",\"txtify\") then\n      local nametocreate = unit.fullname\n      for i = 1,amt do\n        local tile = getTile(nametocreate)\n        if tile ~= nil and tile.txtify then\n          nametocreate = tile.txtify\n        else\n          nametocreate = \"txt_\"..nametocreate\n        end\n      end\n      if (string.sub(nametocreate,400,404) == \"_txt_\") then destroyLevel(\"plsdont\") break end\n      addTile(nametocreate,unit)\n    end\n  end\n  \n  local demeta = getUnitsWithEffectAndCount(\"thingify\")\n  for unit,amt in pairs(demeta) do\n    unit = units_by_id[unit] or cursors_by_id[unit]\n    if not unit.new and unit.type ~= \"outerlvl\" and timecheck(unit,\"be\",\"thingify\") then\n      --remove \"txt_\" as many times as we're de-metaing\n      local nametocreate = unit.fullname\n      for i = 1,amt do\n        local newname = nametocreate\n        local tile = getTile(nametocreate)\n        if tile.thingify then\n          newname = tile.thingify\n        elseif nametocreate:starts(\"txt_\") then\n          newname = nametocreate:sub(5, -1)\n        elseif nametocreate:starts(\"letter_\") then\n          newname = nametocreate:sub(8, -1)\n          if newname == \"custom\" then\n            local letter = unit.special.customletter\n            if letter == \"aa\" or letter == \"aaa\" or letter == \"aaaa\" then\n              newname = \"battry\"\n            elseif letter == \"aaaaa\" or letter == \"aaaaaa\" then\n              newname = \"aaaaaa\"\n            end\n          end\n        end\n        if not getTile(newname) then\n          break\n        end\n        nametocreate = newname\n      end\n      if nametocreate ~= unit.fullname then\n        addTile(nametocreate,unit)\n      end\n    end\n  end\n\n  local ntify = getUnitsWithEffectAndCount(\"n'tify\")\n  for unit,amt in pairs(ntify) do\n    unit = units_by_id[unit] or cursors_by_id[unit]\n    if amt%2 == 1 and not unit.new and unit.type ~= \"outerlvl\" and timecheck(unit,\"be\",\"n'tify\") then\n      local nametocreate = unit.fullname\n      local newname = nametocreate\n      local tile = getTile(nametocreate)\n      if nametocreate:ends(\"n't\") then\n        newname = nametocreate:sub(1, string.len(nametocreate)-3)\n      else\n        newname = nametocreate .. \"n't\"\n      end\n      if not getTile(newname) then\n        break\n      end\n      nametocreate = newname\n      if nametocreate ~= unit.fullname then\n        addTile(nametocreate,unit)\n      end\n    end\n  end\n\n  local ntifynt = getUnitsWithEffectAndCount(\"ify\")\n  for unit,amt in pairs(ntifynt) do\n    unit = units_by_id[unit] or cursors_by_id[unit]\n    if not unit.new and unit.type ~= \"outerlvl\" and timecheck(unit,\"be\",\"ify\") then\n      local nametocreate = unit.fullname\n      if getTile(nametocreate) then\n        addTile(nametocreate,unit)\n      end\n    end\n  end\n\n  local ntifyyy = getUnitsWithEffectAndCount(\"n'tifyyy\")\n  for unit,amt in pairs(ntifyyy) do\n    unit = units_by_id[unit] or cursors_by_id[unit]\n    if not unit.new and unit.type ~= \"outerlvl\" and timecheck(unit,\"be\",\"n'tifyyy\") then\n      local nametocreate = unit.fullname\n      for i = 1,amt do\n        local newname = nametocreate\n        local tile = getTile(nametocreate)\n        newname = nametocreate .. \"n't\"\n        if not getTile(newname) then\n          break\n        end\n        nametocreate = newname\n      end\n      if nametocreate ~= unit.fullname then\n        addTile(nametocreate,unit)\n      end\n    end\n  end\n\n  local deconverts = matchesRule(nil,\"ben't\",\"?\")\n  for _,match in ipairs(deconverts) do\n    local rules = match[1]\n    local unit = match[2]\n\n    local rule = rules.rule\n    \n    if (rule.subject.name == \"mous\" and rule.object.name == \"mous\") then\n      for _,cursor in ipairs(cursors) do\n        if testConds(cursor, rule.subject.conds) then\n          addParticles(\"bonus\", unit.x, unit.y, getUnitColor(unit))\n          table.insert(del_cursors, cursor)\n        end\n      end\n    elseif not unit.new and nameIs(unit, rule.object.name) and timecheck(unit) then\n      if not unit.removed and unit.type ~= \"outerlvl\" then\n        addParticles(\"bonus\", unit.x, unit.y, getUnitColor(unit))\n        table.insert(converted_units, unit)\n      end\n    end\n  end\n\n  local haetself = matchesRule(nil,\"haet\",\"themself\")\n  for _,match in ipairs(haetself) do\n    local rules = match[1]\n    local unit = match[2]\n\n    local rule = rules.rule\n\n    if not unit.new and timecheck(unit) and not unit.removed and unit.type ~= \"outerlvl\" then\n      unit.removed = true\n      if unit.class == \"cursor\" then\n        table.insert(del_cursors, cursor)\n      else\n        table.insert(converted_units, unit)\n      end\n    end\n  end\n\n  local all = matchesRule(nil,\"be\",\"every1\")\n  for _,match in ipairs(all) do\n    local rules = match[1]\n    local unit = match[2]\n    local rule = rules.rule\n    if not hasProperty(unit, \"notranform\") then\n      if (rule.subject.name == \"mous\" and rule.object.name ~= \"mous\") then\n        for _,cursor in ipairs(cursors) do\n          if testConds(cursor, rule.subject.conds) then\n            for _,v in ipairs(referenced_objects) do\n              local tile\n              if v == \"txt\" then\n                tile = getTile(\"txt_\" .. rule.subject.name)\n              else\n                tile = getTile(v)\n              end\n              if tile ~= nil then\n                table.insert(del_cursors, cursor)\n              end\n              local new_unit = createUnit(tile.name, unit.x, unit.y, unit.dir, true)\n              if (new_unit ~= nil) then\n                addUndo({\"create\", new_unit.id, true, created_from_id = unit.id})\n              end\n            end\n          end\n        end\n      elseif not unit.new and unit.class == \"unit\" and unit.type ~= \"outerlvl\" and not hasRule(unit, \"be\", unit.name) and timecheck(unit) then\n        for _,v in ipairs(referenced_objects) do\n          local tile\n          if v == \"txt\" then\n            tile = getTile(\"txt_\" .. rule.subject.name)\n          else\n            tile = getTile(v)\n          end\n          if tile ~= nil then\n            if not unit.removed then\n              table.insert(converted_units, unit)\n            end\n            local new_unit = createUnit(tile.name, unit.x, unit.y, unit.dir, true)\n            if (new_unit ~= nil) then\n              addUndo({\"create\", new_unit.id, true, created_from_id = unit.id})\n            end\n          elseif v == \"mous\" then\n            if not unit.removed then\n              table.insert(converted_units, unit)\n            end\n            unit.removed = true\n            local new_mouse = createMouse(unit.x, unit.y)\n            addUndo({\"create_cursor\", new_mouse.id, created_from_id = unit.id})\n          end\n        end\n      end\n    end\n  end\n  \n  local all2 = matchesRule(nil,\"be\",\"every2\")\n  for _,match in ipairs(all2) do\n    local rules = match[1]\n    local unit = match[2]\n    local rule = rules.rule\n    if not hasProperty(unit, \"notranform\") then\n      if (rule.subject.name == \"mous\" and rule.object.name ~= \"mous\") then\n        for _,cursor in ipairs(cursors) do\n          if testConds(cursor, rule.subject.conds) then\n            local tbl = copyTable(referenced_objects)\n            mergeTable(tbl, referenced_text)\n            for _,v in ipairs(tbl) do\n              local tile\n              if v == \"txt\" then\n                tile = getTile(\"txt_\" .. rule.subject.name)\n              else\n                tile = getTile(v)\n              end\n              if tile ~= nil then\n                table.insert(del_cursors, cursor)\n              end\n              local new_unit = createUnit(tile.name, unit.x, unit.y, unit.dir, true)\n              if (new_unit ~= nil) then\n                addUndo({\"create\", new_unit.id, true, created_from_id = unit.id})\n              end\n            end\n          end\n        end\n      elseif not unit.new and unit.class == \"unit\" and unit.type ~= \"outerlvl\" and not hasRule(unit, \"be\", unit.name) and timecheck(unit) then\n        local tbl = copyTable(referenced_objects)\n        mergeTable(tbl, referenced_text)\n        for _,v in ipairs(tbl) do\n          local tile\n          if v == \"txt\" then\n            tile = getTile(\"txt_\" .. rule.subject.name)\n          else\n            tile = getTile(v)\n          end\n          if tile ~= nil then\n            if not unit.removed then\n              table.insert(converted_units, unit)\n            end\n            local new_unit = createUnit(tile.name, unit.x, unit.y, unit.dir, true)\n            if (new_unit ~= nil) then\n              addUndo({\"create\", new_unit.id, true, created_from_id = unit.id})\n            end\n          elseif v == \"mous\" then\n            if not unit.removed then\n              table.insert(converted_units, unit)\n            end\n            unit.removed = true\n            local new_mouse = createMouse(unit.x, unit.y)\n            addUndo({\"create_cursor\", new_mouse.id, created_from_id = unit.id})\n          end\n        end\n      end\n    end\n  end\n  \n  local all3 = matchesRule(nil,\"be\",\"every3\")\n  for _,match in ipairs(all3) do\n    local rules = match[1]\n    local unit = match[2]\n    local rule = rules.rule\n    if not hasProperty(unit, \"notranform\") then\n      if (rule.subject.name == \"mous\" and rule.object.name ~= \"mous\") then\n        for _,cursor in ipairs(cursors) do\n          if testConds(cursor, rule.subject.conds) then\n            local tbl = copyTable(referenced_objects)\n            mergeTable(tbl, referenced_text)\n            mergeTable(tbl, special_objects)\n            for _,v in ipairs(tbl) do\n              local tile\n              if v == \"txt\" then\n                tile = getTile(\"txt_\" .. rule.subject.name)\n              else\n                tile = getTile(v)\n              end\n              if tile ~= nil then\n                table.insert(del_cursors, cursor)\n              end\n              local new_unit = createUnit(tile.name, unit.x, unit.y, unit.dir, true)\n              if (new_unit ~= nil) then\n                addUndo({\"create\", new_unit.id, true, created_from_id = unit.id})\n              end\n            end\n          end\n        end\n      elseif not unit.new and unit.class == \"unit\" and unit.type ~= \"outerlvl\" and not hasRule(unit, \"be\", unit.name) and timecheck(unit) then\n        local tbl = copyTable(referenced_objects)\n        mergeTable(tbl, referenced_text)\n        mergeTable(tbl, special_objects)\n        for _,v in ipairs(tbl) do\n          local tile\n          if v == \"txt\" then\n            tile = getTile(\"txt_\" .. rule.subject.name)\n          else\n            tile = getTile(v)\n          end\n          if tile ~= nil then\n            if not unit.removed then\n              table.insert(converted_units, unit)\n            end\n            local new_unit = createUnit(tile.name, unit.x, unit.y, unit.dir, true)\n            if (new_unit ~= nil) then\n              addUndo({\"create\", new_unit.id, true, created_from_id = unit.id})\n            end\n          elseif v == \"mous\" then\n            if not unit.removed then\n              table.insert(converted_units, unit)\n            end\n            unit.removed = true\n            local new_mouse = createMouse(unit.x, unit.y)\n            addUndo({\"create_cursor\", new_mouse.id, created_from_id = unit.id})\n          end\n        end\n      end\n    end\n  end\n  \n  local converts = matchesRule(nil,\"be\",\"?\")\n  for _,match in ipairs(converts) do\n    local rules = match[1]\n    local unit = match[2]\n    local rule = rules.rule\n    \n    if not hasProperty(unit, \"notranform\") then\n      if (rule.subject.name == \"mous\" and rule.object.name ~= \"mous\") then\n        for _,cursor in ipairs(cursors) do\n          if testConds(cursor, rule.subject.conds) then\n            local tile\n            if rule.object.name == \"txt\" then\n              tile = getTile(\"txt_\" .. rule.subject.name)\n            elseif rule.object.name:starts(\"this\") and not rule.object.name:ends(\"n't\") then\n              tile = getTile(\"this\")\n            else\n              tile = getTile(rule.object.name)\n            end\n            local new_special = {}\n            if rule.object.name:find(\"letter_custom\") then\n              new_special.customletter = rule.object.unit.special.customletter\n            end\n            if tile ~= nil then\n              table.insert(del_cursors, cursor)\n              local color = rule.object.prefix\n              if color == \"samepaint\" then\n                color = colour_for_palette[getUnitColor(unit)[1]][getUnitColor(unit)[2]]\n              end\n              local new_unit = createUnit(tile.name, unit.x, unit.y, unit.dir, true, nil, nil, color)\n              for k,v in pairs(new_special) do\n                new_unit.special[k] = v\n              end\n              if (new_unit ~= nil) then\n                addUndo({\"create\", new_unit.id, true, created_from_id = unit.id})\n              end\n            end\n          end\n        end\n      elseif not unit.new and unit.class == \"unit\" and not nameIs(unit, rule.object.name) and unit.type ~= \"outerlvl\" and timecheck(unit) then\n        local tile\n        if rule.object.name == \"txt\" then\n          tile = getTile(\"txt_\" .. rule.subject.name)\n        elseif rule.object.name:starts(\"this\") and not rule.object.name:ends(\"n't\") then\n          tile = getTile(\"this\")\n        else\n          tile = getTile(rule.object.name)\n        end\n        --prevent transformation into certain objects\n        if tile ~= nil and not tile.convertible then\n          tile = nil\n        end\n        --let x ben't x txt prevent x be txt, and x ben't txt prevent x be y txt\n        local overriden = false;\n        if rule.object.name == \"txt\" then\n          overriden = hasRule(unit, \"ben't\", \"txt_\" .. rule.subject.name)\n        elseif rule.object.name:starts(\"txt_\") then\n          overriden = hasRule(unit, \"ben't\", \"txt\")\n        end\n        --transform into custom letter\n        local new_special = {}\n        if rule.object.name:find(\"letter_custom\") then\n          new_special.customletter = rule.object.unit.special.customletter\n        end\n        if tile ~= nil and not overriden then\n          if not unit.removed then\n            table.insert(converted_units, unit)\n          end\n          local color = rule.object.prefix\n          if color == \"samepaint\" then\n            color = colour_for_palette[getUnitColor(unit)[1]][getUnitColor(unit)[2]]\n          end\n          local new_unit = createUnit(tile.name, unit.x, unit.y, unit.dir, true, nil, nil, color)\n          if (new_unit ~= nil) then\n            if rule.object.name == \"lvl\" then\n              if unit.special.level then\n                writeSaveFile(true, {\"levels\", unit.special.level, \"seen\"})\n                unit.special.visibility = \"open\"\n              end\n              if not new_unit.color_override then\n                new_unit.color_override = getUnitColor(unit)\n              end\n            end\n            mergeTable(new_unit.special, copyTable(unit.special))\n            for k,v in pairs(new_special) do\n              new_unit.special[k] = v\n            end\n            addUndo({\"create\", new_unit.id, true, created_from_id = unit.id})\n          end\n        elseif rule.object.name == \"mous\" then\n          if not unit.removed then\n            table.insert(converted_units, unit)\n          end\n          unit.removed = true\n          local new_mouse = createMouse(unit.x, unit.y)\n          addUndo({\"create_cursor\", new_mouse.id, created_from_id = unit.id})\n        end\n      end\n    end\n  end\n  \n  if hasProperty(outerlvl, \"qt\") then\n    for x=0,mapwidth-1 do\n      for y=0,mapheight-1 do\n        if #unitsByTile(x,y) == 0 then\n          local new_unit = createUnit(\"l..uv\", x, y, 1, true)\n          addUndo{\"create\", new_unit.id, true}\n        end\n      end\n    end\n  end\n  \n  local moars = getUnitsWithEffect(\"moar\")\n  for _,slice in  ipairs(moars) do\n    if slice.name == \"lie/8\" and not hasProperty(unit, \"notranform\") then\n      if not slice.removed then\n        table.insert(converted_units, slice)\n      end\n      local new_unit = createUnit(\"lie\", slice.x, slice.y, slice.dir, true)\n      addUndo({\"create\", new_unit.id, true, created_from_id = slice.id})\n    end\n  end\n\n  local pans = getUnitsWithEffect(\"pan\")\n  for _,cake in  ipairs(pans) do\n    if cake.name == \"lie\" and not hasProperty(unit, \"notranform\") then\n      if not cake.removed then\n        table.insert(converted_units, cake)\n      end\n      local new_unit = createUnit(\"panlie\", cake.x, cake.y, cake.dir, true)\n      addUndo({\"create\", new_unit.id, true, created_from_id = cake.id})\n    end\n  end\n  \n  local thes = matchesRule(nil,\"be\",\"the\")\n  for _,ruleparent in ipairs(thes) do\n    local unit = ruleparent[2]\n    if not hasProperty(unit, \"notranform\") then\n      local the = ruleparent[1].rule.object.unit\n      \n      local tx = the.x\n      local ty = the.y\n      local dir = the.dir\n      local dx = dirs8[dir][1]\n      local dy = dirs8[dir][2]\n      dx,dy,dir,tx,ty = getNextTile(the,dx,dy,dir)\n      \n      local tfd = false\n      local tfs = getUnitsOnTile(tx,ty)\n      for _,other in ipairs(tfs) do\n        if not hasRule(unit,\"be\",unit.name) and not hasRule(unit,\"ben't\",other.fullname) then\n          local new_unit = createUnit(other.tile, unit.x, unit.y, unit.dir, true)\n          if new_unit ~= nil then\n            new_unit.special.customletter = other.special.customletter\n            tfd = true\n            addUndo({\"create\", new_unit.id, true, created_from_id = unit.id})\n          end\n        end\n      end\n      \n      if tfd and not unit.removed then\n        table.insert(converted_units, unit)\n      end\n    end\n  end\n\n  local deez = matchesRule(nil,\"be\",\"deez\")\n  for _,ruleparent in ipairs(deez) do\n    local unit = ruleparent[2]\n    if not hasProperty(unit, \"notranform\") then\n      local deez_unit = ruleparent[1].rule.object.unit\n      \n      local tx = deez_unit.x\n      local ty = deez_unit.y\n      local dir = deez_unit.dir\n      local dx = dirs8[dir][1]\n      local dy = dirs8[dir][2]\n\n      local already_checked = {}\n      local transform_deez = {}\n\n      while not already_checked[tx..\",\"..ty..\":\"..dir] do\n        already_checked[tx..\",\"..ty..\":\"..dir] = true\n\n        dx,dy,dir,tx,ty = getNextTile(the,dx,dy,dir,nil,tx,ty)\n        \n        if not inBounds(tx, ty) then\n          break\n        else\n          local tfs = getUnitsOnTile(tx,ty)\n          for _,other in ipairs(tfs) do\n            if not transform_deez[other] and not hasRule(unit,\"be\",unit.name) and not hasRule(unit,\"ben't\",other.fullname) then\n              transform_deez[other] = true\n            end\n          end\n        end\n      end\n\n      local tfd = false\n      for tf,_ in pairs(transform_deez) do\n        local new_unit = createUnit(tf.tile, unit.x, unit.y, unit.dir, true)\n        if new_unit ~= nil then\n          new_unit.special.customletter = tf.special.customletter\n          tfd = true\n          addUndo({\"create\", new_unit.id, true, created_from_id = unit.id})\n        end\n      end\n\n      if tfd and not unit.removed then\n        table.insert(converted_units, unit)\n      end\n    end\n  end\n\n  local babbys = getUnitsWithEffect(\"thicc\")\n  for _,babby in ipairs(babbys) do\n    if babby.fullname == \"babby\" and not hasProperty(unit, \"notranform\") then\n      if not babby.removed then\n        table.insert(converted_units, babby)\n      end\n      local new_unit = createUnit(\"bab\", babby.x, babby.y, babby.dir, true)\n      addUndo({\"create\", new_unit.id, true, created_from_id = babby.id})\n    end\n  end\n  \n  for i,cursor in ipairs(del_cursors) do\n    if (not cursor.removed) then  \n      addUndo({\"remove_cursor\", cursor.screenx, cursor.screeny, cursor.id})\n      deleteMouse(cursor.id)\n    end\n  end\n\n  deleteUnits(converted_units,true)\nend\n\nfunction deleteUnits(del_units,convert,gone)\n  for _,unit in ipairs(del_units) do\n    if (not unit.removed_final) then\n      if (unit.color_override ~= nil) then\n        addUndo({\"color_override_change\", unit.id, unit.color_override})\n      end\n      for colour,_ in pairs(main_palette_for_colour) do\n        if unit[colour] == true then\n          addUndo({\"colour_change\", unit.id, colour, true})\n        end\n      end\n      if (unit.backer_turn ~= nil) then\n        addUndo({\"backer_turn\", unit.id, unit.backer_turn})\n      end\n      if unit.class == \"cursor\" then\n        addUndo({\"remove_cursor\",unit.screenx,unit.screeny,unit.id})\n      else\n        addUndo({\"remove\", unit.tile, unit.x, unit.y, unit.dir, convert or false, unit.id, unit.special, gone or false})\n      end\n    end\n    if unit.class ~= \"cursor\" then\n      deleteUnit(unit,convert,false,gone)\n    else\n      deleteMouse(unit.id)\n    end\n  end\nend\n\nfunction createUnit(tile,x,y,dir,convert,id_,really_create_empty,prefix,anti_gone) --ugh\n  if #units_by_id > 3000 then -- i think this counts units that were deleted in the past too, but i'm not sure how to solve that\n    destroyLevel(\"plsdont\")\n  end\n\n  local unit = {}\n  unit.class = \"unit\"\n\n  unit.id = newUnitID(id_)\n  unit.tempid = newTempID()\n  unit.x = x or 0\n  unit.y = y or 0\n  unit.dir = dir or 1\n  unit.active = (scene == editor)\n  unit.blocked = false\n  unit.removed = false\n\n  unit.old_active = unit.active\n  unit.overlay = {}\n  unit.used_as = {} -- list of text types, used for determining sprite transformation\n  unit.frame = math.random(1, 3)-1 -- for potential animation\n  unit.special = {} -- for lvl objects\n  unit.portal = {dir = 1, last = {}, extra = {}} -- for hol objects\n\n  local data = getTile(tile, true)\n\n  if not data then\n    print(colr.yellow(\"Failed to create tile: \" .. tile))\n    data = getTile(\"wat\")\n  end\n\n  unit.tile = data.name\n  unit.display = data.display\n  unit.sprite = deepCopy(data.sprite)\n  unit.type = data.is_text and \"txt\" or \"object\"\n  unit.typeset = data.typeset\n\tunit.meta = data.meta\n  unit.nt = data.nt\n  unit.color = deepCopy(data.color)\n  unit.painted = deepCopy(data.painted)\n  unit.layer = data.layer\n  unit.rotate = data.rotate\n  unit.wobble = data.wobble\n  unit.got_objects = {}\n  unit.sprite_transforms = data.sprite_transforms\n  unit.features = data.features\n  unit.is_portal = data.portal\n  if (unit.rotate or (rules_with ~= nil and rules_with[\"rotatbl\"] and hasProperty(unit,\"rotatbl\"))) then\n    unit.rotatdir = dir\n  else\n    unit.rotatdir = 1\n  end\n  \n  if (not unit_tests) then\n    unit.draw = {x = unit.x, y = unit.y, scalex = 1, scaley = 1, rotation = (unit.rotatdir - 1) * 45, opacity = 1}\n    if convert then\n      unit.draw.scaley = 0\n      addTween(tween.new(0.1, unit.draw, {scaley = 1}), \"unit:scaley:\" .. unit.tempid)\n    elseif anti_gone then\n      unit.draw.y = unit.y - love.math.random(5,9)\n      unit.draw.rotation = (90 + love.math.random(0,180)) * (love.math.random() > .5 and 1 or -1)\n      unit.draw.opacity = 0\n      local method = love.math.random() > .01 and \"outSine\" or \"outElastic\"\n      addTween(tween.new(1.5, unit.draw, {opacity = 1}, method), \"unit:opacity:\" .. unit.tempid)\n      addTween(tween.new(1.5, unit.draw, {rotation = 0}, method), \"unit:rotation:\" .. unit.tempid)\n      addTween(tween.new(1.5, unit.draw, {y = unit.y}, method), \"unit:pos:\" .. unit.tempid)\n    end\n  end\n\n  unit.fullname = data.name\n\n  if unit.type == \"txt\" then\n    should_parse_rules = true\n    unit.name = \"txt\"\n    if unit.typeset.letter then\n      letters_exist = true\n      unit.textname = string.sub(unit.fullname, 8)\n    else\n      unit.textname = string.sub(unit.fullname, 5)\n    end\n  else\n    unit.name = unit.fullname\n    unit.textname = unit.fullname\n  end\n\n  if unit.name == \"camra\" then\n    unit.special.camera = {x = 0, y = 0, w = 11, h = 7, fixed_w = false, fixed_h = false}\n  end\n  \n  if rules_effecting_names[unit.name] then\n    should_parse_rules = true\n  end\n  \n  if prefix then\n    if type(prefix) == \"table\" then\n      unit.color_override = prefix\n      --also set the appropriate initial colour flag\n      local color = colour_for_palette[unit.color_override[1]][unit.color_override[2]];\n      if color ~= nil then\n        unit[color] = true\n      end\n    else\n      unit[prefix] = true\n      updateUnitColourOverride(unit)\n    end\n  end\n  \n  --abort if we're trying to create outerlvl outside of the start\n  if (x < -10 or y < -10) and unit.name == \"lvl\" and not really_create_empty then\n    return\n  end\n  \n  --make outerlvl here\n  if ((unit.name == \"lvl\" or unit.fullname == \"lvl\") and really_create_empty) then\n    unit.type = \"outerlvl\"\n  end\n  \n  --abort if we're trying to create empty outside of initialization, to preserve the invariant 'there is exactly empty per tile'\n  if ((unit.fullname == \"no1\") and not really_create_empty) then\n    --print(\"not placing an empty:\"..unit.name..\",\"..unit.fullname..\",\"..unit.textname)\n    return nil\n  end\n  \n  --do this before the 'this' change to textname so that we only get 'this' in referenced_objects\n  if unit.typeset.object and unit.textname ~= \"every1\" and unit.textname ~= \"every2\" and unit.textname ~= \"every3\" and unit.textname ~= \"mous\" and unit.textname ~= \"bordr\" and unit.textname ~= \"no1\" and unit.textname ~= \"lvl\" and unit.textname ~= \"the\" and unit.textname ~= \"deez\" and unit.textname ~= \"txt\" and unit.textname ~= \"this\" and group_names_set[unit.textname] ~= true then\n    if not unit.textname:ends(\"n't\") and not unit.textname:starts(\"txt_\") and not unit.textname:starts(\"letter_\") and not table.has_value(referenced_objects, unit.textname) then\n      table.insert(referenced_objects, unit.textname)\n    end\n  end\n  \n  if unit.fullname == \"this\" then\n    unit.name = unit.name .. unit.id\n    unit.textname = unit.textname .. unit.id\n  end\n  \n  if unit.type == \"txt\" then\n    updateNameBasedOnDir(unit)\n    if not table.has_value(referenced_text, unit.fullname) then\n      table.insert(referenced_text, unit.fullname)\n    end\n  end\n\n  units_by_id[unit.id] = unit\n\n  if (not units_by_name[unit.name] and not unit.type ~= \"outerlvl\") then\n    units_by_name[unit.name] = {}\n  end\n  table.insert(units_by_name[unit.name], unit)\n\n  if unit.fullname ~= unit.name then\n    if not units_by_name[unit.fullname] then\n      units_by_name[unit.fullname] = {}\n    end\n    table.insert(units_by_name[unit.fullname], unit)\n  end\n  \n  if unit.name:starts(\"this\") then\n    if not units_by_name[\"txt\"] then\n      units_by_name[\"txt\"] = {}\n    end\n    table.insert(units_by_name[\"txt\"], unit)\n  end\n\n  if not units_by_layer[unit.layer] then\n    units_by_layer[unit.layer] = {}\n  end\n  table.insert(units_by_layer[unit.layer], unit)\n  max_layer = math.max(max_layer, unit.layer)\n\n  table.insert(units, unit)\n  \n  --keep empty out of units_by_tile - it will be returned in getUnitsOnTile\n  if (not (unit.fullname == \"no1\" or unit.type == \"outerlvl\")) then\n    if rules_with ~= nil and rules_with[\"thicc\"] and hasProperty(unit, \"thicc\") then\n      local thicc = countProperty(unit,\"thicc\")\n      unit.draw.thicc = thicc+1\n      for i=0,thicc do\n        for j=0,thicc do\n          table.insert(unitsByTile(x+i, y+j), unit)\n        end\n      end\n      thicc_units[unit] = thicc;\n    else\n      table.insert(unitsByTile(x, y), unit)\n    end\n  end\n\n  --updateDir(unit, unit.dir)\n  new_units_cache[unit] = true\n  unit.new = true\n  --print(\"createUnit:\", unit.fullname, unit.id, unit.x, unit.y)\n  return unit\nend\n\nfunction deleteUnit(unit,convert,undoing,gone)\n  unit.removed = true\n  unit.removed_final = true\n  if not undoing and not convert and not gone and not level_destroyed and rules_with ~= nil then\n    gotters = matchesRule(unit, \"got\", \"?\")\n    for _,ruleparent in ipairs(gotters) do\n      local rule = ruleparent.rule\n      local new_unit = dropGotUnit(unit, rule)\n      --[[thicc got law\n      if (thicc_units[unit] and new_unit ~= nil and not thicc_units[new_unit]) then\n        local old_x, old_y = unit.x, unit.y\n        for i=1,3 do\n          unit.x = old_x+i%2;\n          unit.y = old_y+math.floor(i/2);\n          dropGotUnit(unit, rule)\n        end\n        unit.x = old_x\n        unit.y = old_y\n      end]]\n    end\n  end\n  --empty can't really be destroyed, only pretend to be, to preserve the invariant 'there is exactly empty per tile'\n  if (unit.fullname == \"no1\" or unit.type == \"outerlvl\") then\n    unit.destroyed = false\n    unit.removed = false\n    unit.removed_final = false\n    return\n  end\n  if unit.type == \"txt\" or rules_effecting_names[unit.name] then\n    should_parse_rules = true\n  end\n  removeFromTable(units, unit)\n  units_by_id[unit.id] = nil\n  removeFromTable(units_by_name[unit.name], unit)\n  if unit.name ~= unit.fullname then\n    removeFromTable(units_by_name[unit.fullname], unit)\n  end\n  if thicc_units[unit] then\n    local thicc = thicc_units[unit]\n    for i=0,thicc do\n      for j=0,thicc do\n        removeFromTable(unitsByTile(unit.x+i, unit.y+j), unit)\n      end\n    end\n    thicc_units[unit] = nil\n  else\n    removeFromTable(unitsByTile(unit.x, unit.y), unit)\n  end\n  if not convert and not gone then\n    removeFromTable(units_by_layer[unit.layer], unit)\n  end\n  if not unit_tests then\n    if convert then\n      table.insert(still_converting, unit)\n      addUndo{\"tween\",unit}\n      addTween(tween.new(0.1, unit.draw, {scaley = 0}), \"unit:scaley:\" .. unit.tempid)\n      tick.delay(function() removeFromTable(still_converting, unit) end, 0.1)\n    elseif gone then\n      if unit.fullname == \"ditto\" then\n        if hasProperty(unit,\"notranform\") then\n            unit.sprite = {\"ditto_notranform\"}\n        else\n            unit.sprite = {\"ditto_gone\"}\n        end\n      end\n      table.insert(still_converting, unit)\n      addUndo{\"tween\",unit}\n      local rise = love.math.random(5,9)\n      local rotate = (90 + love.math.random(0,180)) * (love.math.random() > .5 and 1 or -1)\n      local method = love.math.random() > .01 and \"inSine\" or \"inElastic\"\n      addTween(tween.new(1.5, unit.draw, {y = unit.y-rise, rotation = rotate, opacity = 0}, method), \"unit:rotation:\" .. unit.tempid)\n      tick.delay(function() removeFromTable(still_converting, unit) end, 1.5)\n    end\n  end\nend\n\nfunction moveUnit(unit,x,y,portal,instant)\n  --print(\"moving:\", unit.fullname, unit.x, unit.y, \"to:\", x, y)\n  --when empty moves, swap it with the empty in its destination tile, to preserve the invariant 'there is exactly empty per tile'\n  --also, keep empty out of units_by_tile - it will be added in getUnitsOnTile\n  if (unit.type == \"outerlvl\") then\n  elseif (unit.name == \"mous\") then\n    --find out how far apart two tiles are in screen co-ordinates\n    local x0,y0 = gameTileToScreen(0,0)\n    local x1,y1 = gameTileToScreen(1,1)\n    local dx = x1-x0\n    local dy = y1-y0\n    local oldx = unit.x\n    local oldy = unit.y\n    local mx = dx*(x-oldx)\n    local my = dy*(y-oldy)\n    unit.x = x\n    unit.y = y\n    if unit.primary then\n      love.mouse.setPosition(unit.screenx + mx,unit.screeny + my)\n      --updating the real mouse position moves every mous, so to counter this we move every non-real mous in the opposite direction\n      for _,cursor in ipairs(cursors) do\n        if not cursor.primary then\n          cursor.x = cursor.x - (x-oldx)\n          cursor.y = cursor.y - (y-oldy)\n          cursor.screenx = cursor.screenx - mx\n          cursor.screeny = cursor.screeny - my\n        end\n      end\n    else\n      unit.screenx = unit.screenx + mx\n      unit.screeny = unit.screeny + my\n    end\n  elseif (unit.fullname == \"no1\") and inBounds(x, y) then\n    if rules_with[\"no1\"] and rules_with[\"wurd\"] and hasRule(\"no1\", \"be\", \"wurd\") then\n      should_parse_rules = true\n    end\n    local tileid = unit.x + unit.y * mapwidth\n    local oldx = unit.x\n    local oldy = unit.y\n    unit.x = x\n    unit.y = y\n    local dest_tileid = unit.x + unit.y * mapwidth\n    dest_empty = empties_by_tile[dest_tileid]\n    dest_empty.x = oldx\n    dest_empty.y = oldy\n    dest_empty.dir = unit.dir\n    empties_by_tile[tileid] = dest_empty\n    empties_by_tile[dest_tileid] = unit\n  else\n    removeFromTable(unitsByTile(unit.x, unit.y), unit)\n    if rules_with and thicc_units[unit] then\n      local thicc = thicc_units[unit]\n      for i=0,thicc do\n        for j=0,thicc do\n          removeFromTable(unitsByTile(unit.x+i, unit.y+j), unit)\n        end\n      end\n    else\n      removeFromTable(unitsByTile(unit.x, unit.y), unit)\n    end\n\n    -- putting portal check above same-position check to give portal effect through one-tile gap\n    if portal and portal.is_portal and x - portal.x == dirs8[portal.dir][1] and y - portal.y == dirs8[portal.dir][2] and not instant then\n      if unit.type == \"txt\" or rules_effecting_names[unit.name] or rules_effecting_names[unit.fullname] or (rules_with[\"no1\"] and rules_with[\"wurd\"] and hasRule(\"no1\", \"be\", \"wurd\")) then\n        should_parse_rules = true\n      end\n      if (not unit_tests) then\n        portaling[unit] = portal\n        -- set draw positions to portal offset to interprolate through portals\n        unit.draw.x, unit.draw.y = portal.draw.x, portal.draw.y\n        addTween(tween.new(0.1, unit.draw, {x = x, y = y}), \"unit:pos:\" .. unit.tempid)\n        if portal.name == \"smol\" and unit.fullname ~= \"babby\" then\n          addTween(tween.new(0.05, unit.draw, {scaley = 0.5}, \"outQuint\"), \"unit:scaley:\" .. unit.tempid, function()\n            addTween(tween.new(0.05, unit.draw, {scaley = 1}, \"inQuint\"), \"unit:scaley:\" .. unit.tempid)\n          end)\n        end\n        -- instantly change object's rotation, weirdness ensues otherwise\n        unit.draw.rotation = (unit.rotatdir - 1) * 45\n        tweens[\"unit:rotation:\" .. unit.tempid] = nil\n      end\n    elseif (x ~= unit.x or y ~= unit.y) and not instant then\n      if unit.type == \"txt\" or rules_effecting_names[unit.name] or rules_effecting_names[unit.fullname] or (rules_with and rules_with[\"no1\"] and rules_with[\"wurd\"] and hasRule(\"no1\", \"be\", \"wurd\")) then\n        should_parse_rules = true\n      end\n      if not unit_tests then\n        if rules_with and not thicc_units[unit] and unit.draw.x == x and unit.draw.y == y then\n          --'bump' effect to show movement failed\n          unit.draw.x = (unit.x+x*2)/3\n          unit.draw.y = (unit.y+y*2)/3\n          addTween(tween.new(0.1, unit.draw, {x = x, y = y}), \"unit:pos:\" .. unit.tempid)\n        elseif math.abs(x - unit.x) < 2 and math.abs(y - unit.y) < 2 then\n          --linear interpolate to adjacent destination\n          addTween(tween.new(0.1, unit.draw, {x = x, y = y}), \"unit:pos:\" .. unit.tempid)\n        else\n          --fade in, fade out effect\n          addTween(tween.new(0.05, unit.draw, {scalex = 0}), \"unit:scalex:pos:\" .. unit.tempid, function()\n            tweens[\"unit:rotation:\" .. unit.tempid] = nil\n            tweens[\"unit:pos:\" .. unit.tempid] = nil\n            unit.draw.x = x\n            unit.draw.y = y\n            unit.draw.rotation = (unit.rotatdir - 1) * 45\n            addTween(tween.new(0.05, unit.draw, {scalex = 1}), \"unit:scalex:\" .. unit.tempid)\n          end)\n        end\n      end\n    elseif instant then\n      unit.draw.x = x\n      unit.draw.y = y\n    end\n\n    unit.x = x\n    unit.y = y\n    \n    \n    if rules_with and thicc_units[unit] then\n      local thicc = thicc_units[unit]\n      for i=0,thicc do\n        for j=0,thicc do\n          if not table.has_value(unitsByTile(unit.x+i,unit.y+j),unit) then\n            table.insert(unitsByTile(unit.x+i,unit.y+j),unit)\n          end\n        end\n      end\n    else\n      table.insert(unitsByTile(unit.x, unit.y), unit)\n    end\n  end\n\n  if not instant then\n    do_move_sound = true\n  end\nend\n\nfunction updateDir(unit, dir, force)\n  local result = true\n  if not force and rules_with ~= nil then\n    if hasProperty(unit, \"noturn\") then\n      return false\n    end\n    if hasRule(unit, \"ben't\", dirs8_by_name[dir]) then\n      result = false\n    end\n    for i=1,8 do\n      if hasRule(unit, \"ben't\", \"spin\"..i) then\n        if (dir == (unit.dir+i-1)%8+1) then result = false end\n      end\n      if hasProperty(unit, dirs8_by_name[i]) and dir ~= i then\n        dir = i\n        result = false\n      end\n    end\n  end\n  if unit.name == \"mous\" then\n    unit.dir = dir\n    return true\n  end\n  \n  unit.dir = dir\n  if (unit.rotate and not hasRule(unit,\"ben't\",\"rotatbl\")) or (rules_with ~= nil and hasProperty(unit,\"rotatbl\")) then\n    unit.rotatdir = dir\n  end\n  \n  --Some units in rules_effecting_names are there because their direction matters (a portal or part of a parse-effecting look at/seen by condition).\n  if rules_effecting_names[unit.fullname] then\n    should_parse_rules = true\n  end\n  \n  updateNameBasedOnDir(unit)\n  \n  if (not unit_tests) then\n    unit.draw.rotation = unit.draw.rotation % 360\n    local target_rot = (unit.rotatdir - 1) * 45\n    if (unit.rotate or (rules_with ~= nil and hasProperty(unit,\"rotatbl\"))) and math.abs(unit.draw.rotation - target_rot) == 180 then\n      -- flip \"mirror\" effect\n      addTween(tween.new(0.05, unit.draw, {scalex = 0}), \"unit:scalex:rot:\" .. unit.tempid, function()\n        unit.draw.rotation = target_rot\n        tweens[\"unit:rotation:\"..unit.tempid] = nil\n        addTween(tween.new(0.05, unit.draw, {scalex = 1}), \"unit:scalex:\" .. unit.tempid)\n      end)\n    else\n      -- smooth angle rotation\n      if unit.draw.rotation - target_rot > 180 then\n        target_rot = target_rot + 360\n      elseif target_rot - unit.draw.rotation > 180 then\n        target_rot = target_rot - 360\n      end\n      addTween(tween.new(0.1, unit.draw, {scalex = 1}), \"unit:scalex:\" .. unit.tempid)\n      addTween(tween.new(0.1, unit.draw, {rotation = target_rot}), \"unit:rotation:\" .. unit.tempid)\n    end\n  end\n  return true\nend\n\nfunction updateNameBasedOnDir(unit)\n  if unit.fullname == \"txt_mayb\" then\n    should_parse_rules = true\n  elseif unit.fullname == \"txt_direction\" then\n    unit.textname = dirs8_by_name[unit.dir]\n    should_parse_rules = true\n  elseif unit.fullname == \"txt_spin\" then\n    unit.textname = \"spin\" .. tostring(unit.dir)\n    should_parse_rules = true\n  elseif unit.fullname == \"letter_colon\" then\n    if unit.dir == 3 then\n      unit.textname = \"..\"\n    else\n      unit.textname = \":\"\n    end\n    should_parse_rules = true\n  elseif unit.fullname == \"letter_parenthesis\" then\n    if unit.dir == 1 or unit.dir == 2 or unit.dir == 3 then\n      unit.textname = \"(\"\n    elseif unit.dir == 5 or unit.dir == 6 or unit.dir == 7 then\n      unit.textname = \")\"\n    end\n    should_parse_rules = true\n  elseif unit.fullname == \"letter_h\" then\n    if unit.rotatdir == 3 or unit.rotatdir == 7 then\n      unit.textname = \"i\"\n    else\n      unit.textname = \"h\"\n    end\n  elseif unit.fullname == \"letter_i\" then\n    if unit.rotatdir == 3 or unit.rotatdir == 7 then\n      unit.textname = \"h\"\n    else\n      unit.textname = \"i\"\n    end\n  elseif unit.fullname == \"letter_n\" then\n    if unit.rotatdir == 3 or unit.rotatdir == 7 then\n      unit.textname = \"z\"\n    else\n      unit.textname = \"n\"\n    end\n  elseif unit.fullname == \"letter_z\" then\n    if unit.rotatdir == 3 or unit.rotatdir == 7 then\n      unit.textname = \"n\"\n    else\n      unit.textname = \"z\"\n    end\n  elseif unit.fullname == \"letter_m\" then\n    if unit.rotatdir == 5 then\n      unit.textname = \"w\"\n    else\n      unit.textname = \"m\"\n    end\n  elseif unit.fullname == \"letter_w\" then\n    if unit.rotatdir == 5 then\n      unit.textname = \"m\"\n    else\n      unit.textname = \"w\"\n    end\n  elseif unit.fullname == \"letter_6\" then\n    if unit.rotatdir == 5 then\n      unit.textname = \"9\"\n    else\n      unit.textname = \"6\"\n    end\n  elseif unit.fullname == \"letter_9\" then\n    if unit.rotatdir == 5 then\n      unit.textname = \"6\"\n    else\n      unit.textname = \"9\"\n    end\n  elseif unit.fullname == \"letter_no\" then\n    if unit.rotatdir == 5 then\n      unit.textname = \"on\"\n    else\n      unit.textname = \"no\"\n    end\n  elseif unit.fullname == \"letter_>\" then\n    if unit.rotatdir == 5 then\n      unit.textname = \"<\"\n    elseif unit.rotatdir == 3 then\n      unit.textname = \"v\"\n    else\n      unit.textname = \">\"\n    end\n  end\nend\n\nfunction newUnitID(id)\n  if id then\n    max_unit_id = math.max(id, max_unit_id)\n    return id\n  else\n    max_unit_id = max_unit_id + 1\n    return max_unit_id\n  end\nend\n\nfunction newTempID()\n  max_temp_id = max_temp_id + 1\n  return max_temp_id\nend\n\nfunction newMouseID()\n  max_mouse_id = max_mouse_id - 1\n  return max_mouse_id\nend\n\nfunction undoWin()\n  if hasProperty(outerlvl, \"noundo\") then return end\n  currently_winning = false\n  music_fading = false\n  win_size = 0\n  win_sprite_override = {}\nend\n\nfunction doWin(result_, payload_)\n  if not currently_winning then\n    local result = result_ or \"won\"\n    local payload = payload_\n    if payload == nil then\n      payload = true\n    end\n    if doing_past_turns then\n      past_queued_wins[result] = payload\n    elseif result == \"won\" and payload == false then\n      if readSaveFile{\"levels\",level_filename,\"won\"} then\n        playSound(\"unwin\")\n        writeSaveFile(false, {\"levels\",level_filename,\"won\"})\n      end\n    else\n      won_this_session = true\n      win_reason = result\n      currently_winning = true\n      music_fading = true\n      win_size = 0\n      playSound(\"win\")\n      if (not replay_playback) then\n        writeSaveFile(payload, {\"levels\", level_filename, result})\n        love.filesystem.createDirectory(\"levels\")\n        local to_save = replay_string\n        local rng_cache_populated = false\n        for _,__ in pairs(rng_cache) do\n          rng_cache_populated = true\n          break\n        end\n        if (rng_cache_populated) then\n          to_save = to_save..\"|\"..love.data.encode(\"string\", \"base64\", serpent.line(rng_cache))\n        end\n        if not RELEASE_BUILD and world_parent == \"officialworlds\" then\n          official_replay_string = to_save\n        else\n          local dir = \"levels/\"\n          if world_parent ~= \"officialworlds\" then dir = getWorldDir() .. \"/\" end\n          love.filesystem.write(dir .. level_filename .. \".replay\", to_save)\n          print(\"Replay successfully saved to \" .. dir .. level_filename .. \".replay\")\n        end\n      end\n    end\n\tend\nend\n\nfunction doXWX()\n  writeSaveFile(nil,{\"levels\",level_filename,\"seen\"})\n  writeSaveFile(nil,{\"levels\",level_filename,\"won\"})\n  writeSaveFile(nil,{\"levels\",level_filename,\"bonus\"})\n  writeSaveFile(nil,{\"levels\",level_filename,\"transform\"})\n  escResult(true, true)\nend\n\nfunction tablesum(t)\n    local sum = 0\n    local counter = 1;\n    for k,v in pairs(t) do\n        sum = sum + (v*counter)\n\tcounter = counter + 3\n    end\n\n    return sum\nend\n\n"
  },
  {
    "path": "lib/colr-print.lua",
    "content": "-- get if the terminal even SUPPORTS colors\n\n-- 1 - force colors on, 2 - force colors off, nil - autodetect\nlocal force_color\n\nif os.getenv('FORCE_COLOR') then\n    local envval = os.getenv('FORCE_COLOR')\n    if envval == 'true' or envval == '1' then\n        force_color = 1\n    elseif envval == 'false' or envval == '0' then\n        force_color = 0\n    end\nend\n\nlocal user_os = package.config:sub(1,1) == '\\\\' and 'Windows' or 'Unix'\n\n-- 0 - supports none\n-- 1 - basic\n-- 2 - 256 colors\n-- 3 - 16m (\"true color\")\nfunction getcolorsupport()\n    if force_color == 0 then\n        return 0\n    end\n    \n    -- i couldn't get it to work in lua. so i just always return 1\n\n    return force_color or 1\nend\n\nlocal supportscolor = getcolorsupport()\n\nfunction colorstr(str, style)\n    if supportscolor < 1 then\n        return str..''\n    end\n\n    local open = '\\x1b[' .. style[1] .. 'm';\n    local close = '\\x1b[' .. style[2] .. 'm';\n\n    return open..str..close\nend\n\nlocal codes = {\n    reset = {0, 0},\n  \n    bold = {1, 22},\n    dim = {2, 22},\n    italic = {3, 23},\n    underline = {4, 24},\n    inverse = {7, 27},\n    hidden = {8, 28},\n    strikethrough = {9, 29},\n  \n    black = {30, 39},\n    red = {31, 39},\n    green = {32, 39},\n    yellow = {33, 39},\n    blue = {34, 39},\n    magenta = {35, 39},\n    cyan = {36, 39},\n    white = {37, 39},\n    gray = {90, 39},\n    grey = {90, 39},\n  \n    brightRed = {91, 39},\n    brightGreen = {92, 39},\n    brightYellow = {93, 39},\n    brightBlue = {94, 39},\n    brightMagenta = {95, 39},\n    brightCyan = {96, 39},\n    brightWhite = {97, 39},\n\n    bgBlack = {40, 49},\n    bgRed = {41, 49},\n    bgGreen = {42, 49},\n    bgYellow = {43, 49},\n    bgBlue = {44, 49},\n    bgMagenta = {45, 49},\n    bgCyan = {46, 49},\n    bgWhite = {47, 49},\n    bgGray = {100, 49},\n    bgGrey = {100, 49},\n\n    bgBrightRed = {101, 49},\n    bgBrightGreen = {102, 49},\n    bgBrightYellow = {103, 49},\n    bgBrightBlue = {104, 49},\n    bgBrightMagenta = {105, 49},\n    bgBrightCyan = {106, 49},\n    bgBrightWhite = {107, 49},\n};\n\nfunction        red(str) return colorstr(str, codes.red) end\nfunction     yellow(str) return colorstr(str, codes.yellow) end\nfunction      green(str) return colorstr(str, codes.green) end\nfunction       blue(str) return colorstr(str, codes.blue) end\nfunction       cyan(str) return colorstr(str, codes.cyan) end\nfunction    magenta(str) return colorstr(str, codes.magenta) end\nfunction      white(str) return colorstr(str, codes.white) end\nfunction      black(str) return colorstr(str, codes.black) end\n\nfunction      bgred(str) return colorstr(str, codes.bgRed) end\nfunction   bgyellow(str) return colorstr(str, codes.bgYellow) end\nfunction    bggreen(str) return colorstr(str, codes.bgGreen) end\nfunction     bgcyan(str) return colorstr(str, codes.bgCyan) end\nfunction     bgblue(str) return colorstr(str, codes.bgBlue) end\nfunction  bgmagenta(str) return colorstr(str, codes.bgMagenta) end\nfunction    bgwhite(str) return colorstr(str, codes.bgWhite) end\nfunction    bgblack(str) return colorstr(str, codes.bgBlack) end\n\nfunction        bright(str) return colorstr(str, codes.bold) end\nfunction        italic(str) return colorstr(str, codes.italic) end\nfunction           dim(str) return colorstr(str, codes.dim) end\nfunction    underscore(str) return colorstr(str, codes.underline) end\nfunction       reverse(str) return colorstr(str, codes.inverse) end\nfunction        hidden(str) return colorstr(str, codes.hidden) end\nfunction strikethrough(str) return colorstr(str, codes.strikethrough) end\n\nreturn {\n    red           =           red,\n    yellow        =        yellow,\n    green         =         green,\n    cyan          =          cyan,\n    blue          =          blue,\n    magenta       =       magenta,\n    white         =         white,\n    black         =         black,\n\n    bgred         =         bgred,\n    bgyellow      =      bgyellow,\n    bggreen       =       bggreen,\n    bgcyan        =        bgcyan,\n    bgblue        =        bgblue,\n    bgmagenta     =     bgmagenta,\n    bgwhite       =       bgwhite,\n    bgblack       =       bgblack,\n\n    bright        =        bright,\n    italic        =        italic,\n    bold          =        bright,\n    dim           =           dim,\n    underscore    =    underscore,\n    reverse       =       reverse,\n    hidden        =        hidden,\n    strikethrough = strikethrough,\n}"
  },
  {
    "path": "lib/discordRPC.lua",
    "content": "local ffi = require \"ffi\"\n\nlocal discordRPClib\nlocal libname\nlocal systemos = love.system.getOS()\n--local gamedir = love.filesystem.getSourceBaseDirectory() .. \"/lib/\"\nlocal gamedir = \"./lib/\"\n\nif systemos == \"Windows\" then\n    libname = \"discord-rpc.dll\"\nelseif systemos == \"OS X\" then\n    libname = \"libdiscord-rpc.dylib\"\nelseif systemos == \"Linux\" then\n    libname = \"libdiscord-rpc.so\"\nend\n\nif libname ~= nil then\n    discordRPClib = ffi.load(gamedir .. libname)\nend\n\nif discordRPClib == nil then\n    return nil\nend\n\nffi.cdef[[\ntypedef struct DiscordRichPresence {\n    const char* state;   /* max 128 bytes */\n    const char* details; /* max 128 bytes */\n    int64_t startTimestamp;\n    int64_t endTimestamp;\n    const char* largeImageKey;  /* max 32 bytes */\n    const char* largeImageText; /* max 128 bytes */\n    const char* smallImageKey;  /* max 32 bytes */\n    const char* smallImageText; /* max 128 bytes */\n    const char* partyId;        /* max 128 bytes */\n    int partySize;\n    int partyMax;\n    const char* matchSecret;    /* max 128 bytes */\n    const char* joinSecret;     /* max 128 bytes */\n    const char* spectateSecret; /* max 128 bytes */\n    int8_t instance;\n} DiscordRichPresence;\n\ntypedef struct DiscordUser {\n    const char* userId;\n    const char* username;\n    const char* discriminator;\n    const char* avatar;\n} DiscordUser;\n\ntypedef void (*readyPtr)(const DiscordUser* request);\ntypedef void (*disconnectedPtr)(int errorCode, const char* message);\ntypedef void (*erroredPtr)(int errorCode, const char* message);\ntypedef void (*joinGamePtr)(const char* joinSecret);\ntypedef void (*spectateGamePtr)(const char* spectateSecret);\ntypedef void (*joinRequestPtr)(const DiscordUser* request);\n\ntypedef struct DiscordEventHandlers {\n    readyPtr ready;\n    disconnectedPtr disconnected;\n    erroredPtr errored;\n    joinGamePtr joinGame;\n    spectateGamePtr spectateGame;\n    joinRequestPtr joinRequest;\n} DiscordEventHandlers;\n\nvoid Discord_Initialize(const char* applicationId,\n                        DiscordEventHandlers* handlers,\n                        int autoRegister,\n                        const char* optionalSteamId);\n\nvoid Discord_Shutdown(void);\n\nvoid Discord_RunCallbacks(void);\n\nvoid Discord_UpdatePresence(const DiscordRichPresence* presence);\n\nvoid Discord_ClearPresence(void);\n\nvoid Discord_Respond(const char* userid, int reply);\n\nvoid Discord_UpdateHandlers(DiscordEventHandlers* handlers);\n]]\n\nlocal discordRPC = {} -- module table\n\n-- proxy to detect garbage collection of the module\ndiscordRPC.gcDummy = newproxy(true)\n\nlocal function unpackDiscordUser(request)\n    return ffi.string(request.userId), ffi.string(request.username),\n        ffi.string(request.discriminator), ffi.string(request.avatar)\nend\n\n-- callback proxies\n-- note: callbacks are not JIT compiled (= SLOW), try to avoid doing performance critical tasks in them\n-- luajit.org/ext_ffi_semantics.html\nlocal ready_proxy = ffi.cast(\"readyPtr\", function(request)\n    if discordRPC.ready then\n        discordRPC.ready(unpackDiscordUser(request))\n    end\nend)\n\nlocal disconnected_proxy = ffi.cast(\"disconnectedPtr\", function(errorCode, message)\n    if discordRPC.disconnected then\n        discordRPC.disconnected(errorCode, ffi.string(message))\n    end\nend)\n\nlocal errored_proxy = ffi.cast(\"erroredPtr\", function(errorCode, message)\n    if discordRPC.errored then\n        discordRPC.errored(errorCode, ffi.string(message))\n    end\nend)\n\nlocal joinGame_proxy = ffi.cast(\"joinGamePtr\", function(joinSecret)\n    if discordRPC.joinGame then\n        discordRPC.joinGame(ffi.string(joinSecret))\n    end\nend)\n\nlocal spectateGame_proxy = ffi.cast(\"spectateGamePtr\", function(spectateSecret)\n    if discordRPC.spectateGame then\n        discordRPC.spectateGame(ffi.string(spectateSecret))\n    end\nend)\n\nlocal joinRequest_proxy = ffi.cast(\"joinRequestPtr\", function(request)\n    if discordRPC.joinRequest then\n        discordRPC.joinRequest(unpackDiscordUser(request))\n    end\nend)\n\n-- helpers\nfunction checkArg(arg, argType, argName, func, maybeNil)\n    assert(type(arg) == argType or (maybeNil and arg == nil),\n        string.format(\"Argument \\\"%s\\\" to function \\\"%s\\\" has to be of type \\\"%s\\\"\",\n            argName, func, argType))\nend\n\nfunction checkStrArg(arg, maxLen, argName, func, maybeNil)\n    if maxLen then\n        assert(type(arg) == \"string\" and arg:len() <= maxLen or (maybeNil and arg == nil),\n            string.format(\"Argument \\\"%s\\\" of function \\\"%s\\\" has to be of type string with maximum length %d\",\n                argName, func, maxLen))\n    else\n        checkArg(arg, \"string\", argName, func, true)\n    end\nend\n\nfunction checkIntArg(arg, maxBits, argName, func, maybeNil)\n    maxBits = math.min(maxBits or 32, 52) -- lua number (double) can only store integers < 2^53\n    local maxVal = 2^(maxBits-1) -- assuming signed integers, which, for now, are the only ones in use\n    assert(type(arg) == \"number\" and math.floor(arg) == arg\n        and arg < maxVal and arg >= -maxVal\n        or (maybeNil and arg == nil),\n        string.format(\"Argument \\\"%s\\\" of function \\\"%s\\\" has to be a whole number <= %d\",\n            argName, func, maxVal))\nend\n\n-- function wrappers\nfunction discordRPC.initialize(applicationId, autoRegister, optionalSteamId)\n    local func = \"discordRPC.Initialize\"\n    checkStrArg(applicationId, nil, \"applicationId\", func)\n    checkArg(autoRegister, \"boolean\", \"autoRegister\", func)\n    if optionalSteamId ~= nil then\n        checkStrArg(optionalSteamId, nil, \"optionalSteamId\", func)\n    end\n\n    local eventHandlers = ffi.new(\"struct DiscordEventHandlers\")\n    eventHandlers.ready = ready_proxy\n    eventHandlers.disconnected = disconnected_proxy\n    eventHandlers.errored = errored_proxy\n    eventHandlers.joinGame = joinGame_proxy\n    eventHandlers.spectateGame = spectateGame_proxy\n    eventHandlers.joinRequest = joinRequest_proxy\n\n    discordRPClib.Discord_Initialize(applicationId, eventHandlers,\n        autoRegister and 1 or 0, optionalSteamId)\nend\n\nfunction discordRPC.shutdown()\n    discordRPClib.Discord_Shutdown()\nend\n\nfunction discordRPC.runCallbacks()\n    discordRPClib.Discord_RunCallbacks()\nend\n-- http://luajit.org/ext_ffi_semantics.html#callback :\n-- It is not allowed, to let an FFI call into a C function (runCallbacks)\n-- get JIT-compiled, which in turn calls a callback, calling into Lua again (e.g. discordRPC.ready).\n-- Usually this attempt is caught by the interpreter first and the C function\n-- is blacklisted for compilation.\n-- solution:\n-- \"Then you'll need to manually turn off JIT-compilation with jit.off() for\n-- the surrounding Lua function that invokes such a message polling function.\"\njit.off(discordRPC.runCallbacks)\n\nfunction discordRPC.updatePresence(presence)\n    local func = \"discordRPC.updatePresence\"\n    checkArg(presence, \"table\", \"presence\", func)\n\n    -- -1 for string length because of 0-termination\n    checkStrArg(presence.state, 127, \"presence.state\", func, true)\n    checkStrArg(presence.details, 127, \"presence.details\", func, true)\n\n    checkIntArg(presence.startTimestamp, 64, \"presence.startTimestamp\", func, true)\n    checkIntArg(presence.endTimestamp, 64, \"presence.endTimestamp\", func, true)\n\n    checkStrArg(presence.largeImageKey, 31, \"presence.largeImageKey\", func, true)\n    checkStrArg(presence.largeImageText, 127, \"presence.largeImageText\", func, true)\n    checkStrArg(presence.smallImageKey, 31, \"presence.smallImageKey\", func, true)\n    checkStrArg(presence.smallImageText, 127, \"presence.smallImageText\", func, true)\n    checkStrArg(presence.partyId, 127, \"presence.partyId\", func, true)\n\n    checkIntArg(presence.partySize, 32, \"presence.partySize\", func, true)\n    checkIntArg(presence.partyMax, 32, \"presence.partyMax\", func, true)\n\n    checkStrArg(presence.matchSecret, 127, \"presence.matchSecret\", func, true)\n    checkStrArg(presence.joinSecret, 127, \"presence.joinSecret\", func, true)\n    checkStrArg(presence.spectateSecret, 127, \"presence.spectateSecret\", func, true)\n\n    checkIntArg(presence.instance, 8, \"presence.instance\", func, true)\n\n    local cpresence = ffi.new(\"struct DiscordRichPresence\")\n    cpresence.state = presence.state\n    cpresence.details = presence.details\n    cpresence.startTimestamp = presence.startTimestamp or 0\n    cpresence.endTimestamp = presence.endTimestamp or 0\n    cpresence.largeImageKey = presence.largeImageKey\n    cpresence.largeImageText = presence.largeImageText\n    cpresence.smallImageKey = presence.smallImageKey\n    cpresence.smallImageText = presence.smallImageText\n    cpresence.partyId = presence.partyId\n    cpresence.partySize = presence.partySize or 0\n    cpresence.partyMax = presence.partyMax or 0\n    cpresence.matchSecret = presence.matchSecret\n    cpresence.joinSecret = presence.joinSecret\n    cpresence.spectateSecret = presence.spectateSecret\n    cpresence.instance = presence.instance or 0\n\n    discordRPClib.Discord_UpdatePresence(cpresence)\nend\n\nfunction discordRPC.clearPresence()\n    discordRPClib.Discord_ClearPresence()\nend\n\nlocal replyMap = {\n    no = 0,\n    yes = 1,\n    ignore = 2\n}\n\n-- maybe let reply take ints too (0, 1, 2) and add constants to the module\nfunction discordRPC.respond(userId, reply)\n    checkStrArg(userId, nil, \"userId\", \"discordRPC.respond\")\n    assert(replyMap[reply], \"Argument 'reply' to discordRPC.respond has to be one of \\\"yes\\\", \\\"no\\\" or \\\"ignore\\\"\")\n    discordRPClib.Discord_Respond(userId, replyMap[reply])\nend\n\n-- garbage collection callback\ngetmetatable(discordRPC.gcDummy).__gc = function()\n    discordRPC.shutdown()\n    ready_proxy:free()\n    disconnected_proxy:free()\n    errored_proxy:free()\n    joinGame_proxy:free()\n    spectateGame_proxy:free()\n    joinRequest_proxy:free()\nend\n\nreturn discordRPC\n"
  },
  {
    "path": "lib/gooi/bar.lua",
    "content": "----------------------------------------------------------------------------\n----------------------------------------------------------------------------\n----------------------------------------------------------------------------\n--------------------------   Progress bar creator   ------------------------\n----------------------------------------------------------------------------\nfunction gooi.newBar(params)\n    params = params or {}\n    local p = {}\n\n    local x, y, w, h = gooi.checkBounds(\n        \"..........\",\n        params.x or 10,\n        params.y or 10,\n        params.w or gooi.unit * 5,\n        params.h or gooi.getFont():getHeight() * 2,\n        \"progressbar\"\n    )\n\n    p = component.new(\"progressbar\", x, y, w, h, params.group)\n    p = gooi.setStyleComp(p)\n    p.value = params.value or 0.5\n    p.changing = false\n    p.speed = 0\n    if p.value > 1 then p.value = 1 end\n    if p.value < 0 then p.value = 0 end\n    function p:rebuild()\n        --self:generateBorder()\n    end\n    p:rebuild()\n    function p:drawSpecifics(fg)\n        local mC = self.h / 6 -- Margin corner.\n        local side = self.h - mC * 2\n\n        local function stencilBar()\n            love.graphics.rectangle(\"fill\",\n                self.x + mC,\n                self.y + mC,\n                self.w - mC * 2,\n                self.h - mC * 2,\n                self.style.innerRadius,\n                self.style.innerRadius)\n        end\n\n\n        love.graphics.stencil(stencilBar, \"replace\", 1)\n        love.graphics.setStencilTest(\"greater\", 0)\n\n        love.graphics.setColor(fg)\n        for k, v in pairs({\"fill\", \"line\"}) do\n            love.graphics.rectangle(v,\n                (self.x + mC),\n                (self.y + mC),\n                math.floor((self.w - mC * 2) * self.value),\n                (self.h - mC * 2))\n        end\n        love.graphics.setStencilTest()\n        love.graphics.rectangle(\"line\",\n            self.x + mC,\n            self.y + mC,\n            math.floor(self.w - mC * 2),\n            self.h - mC * 2,\n            self.style.innerRadius,\n            self.style.innerRadius)\n    end\n    function p:changeValue(amount, dt)\n        if amount > 1 then amount = 1 end\n        if amount < 0 then amount = 0 end\n        local delta = 1\n        if dt then delta = dt end\n        self.value = self.value + amount * delta\n        if self.value > 1 then self.value = 1 end\n        if self.value < 0 then self.value = 0 end\n        return self\n    end\n    function p:getValue()\n        return gooi.round(self.value, 2)\n    end\n    function p:decreaseAt(amount)\n        self.changing = -1\n        self.speed = amount or 0.1\n        return self\n    end\n    function p:increaseAt(amount)\n        self.changing = 1\n        self.speed = amount or 0.1\n        return self\n    end\n    function p:setWidth(l)\n        self.w = l\n        return self\n    end\n    return gooi.storeComponent(p, id)\nend\n"
  },
  {
    "path": "lib/gooi/button.lua",
    "content": "----------------------------------------------------------------------------\n----------------------------------------------------------------------------\n--------------------------   Button creator  -------------------------------\n----------------------------------------------------------------------------\n--function gooi.newButton(text, x, y, w, h)\nfunction gooi.newButton(params)\n    params = params or {}\n    local b = {}\n    local defaultText = \"new button\"\n    local theH = gooi.getFont():getHeight()\n\n    local x, y, w, h = gooi.checkBounds(\n        params.text or defaultText,\n        params.x or 10,\n        params.y or 10,\n        params.w or gooi.getFont():getWidth(params.text or defaultText) + theH * 2,\n        params.h or theH * 2,\n        \"button\"\n    )\n    \n\tlocal yLocal = params.yLocal or 0\n    \n    b = component.new(\"button\", x, y, w, h, params.group)\n    b = gooi.setStyleComp(b)\n    b.text = params.text or defaultText\n    b.icon = params.icon\n    if b.icon then\n        if type(b.icon) == \"string\" then\n            b.icon = love.graphics.newImage(b.icon)\n        end\n        if b.text:len() > 0 then\n            b.w = b.w + b.icon:getWidth()\n        end\n    end\n    b.textParts = split(b.text, \"\\n\")\n    function b:rebuild()\n        --self:generateBorder()\n    end\n    function b:setText(value)\n        if not value then value = \"\" end\n        self.text = tostring(value)\n        self.textParts = split(self.text, \"\\n\")\n        return self\n    end\n    b:rebuild()\n    function b:largerLine()\n        local line = self.textParts[1] or \"\"\n\n        for i = 2, #self.textParts do\n            if #self.textParts[i] > #line then\n                line = self.textParts[i]\n            end\n        end\n\n        return line\n    end\n    function b:drawSpecifics(fg)\n        -- Center text:\n        local t = self:largerLine(self.textParts)\n        local x = (self.x + self.w / 2) - (gooi.getFont(self):getWidth(t) / 2)\n        local y = (self.y + self.h / 2) - (gooi.getFont(self):getHeight() / 2)\n        if self.align == gooi.l then\n            x = self.x + self.h / 2\n            if self.icon then\n                x = x + self.h / 2\n            end\n        elseif self.align == gooi.r then\n            x = self.x + self.w - self.h / 2 - gooi.getFont(self):getWidth(self.text)\n        end\n        if self.icon then\n            local xImg = math.floor(self.x + self.h / 2)\n            if t:len() == 0 then\n                xImg = math.floor(self.x + self.w / 2)\n            end\n            love.graphics.setColor(1, 1, 1)\n            if not self.enabled then love.graphics.setColor(1/4, 1/4, 1/4) end\n            love.graphics.draw(self.icon, xImg, math.floor(self.y + self.h / 2), 0, 1, 1,\n                math.floor(self.icon:getWidth() / 2),\n                math.floor(self.icon:getHeight() / 2))\n        end\n        love.graphics.setColor(fg)\n    \n    \n    \n        local yLine = yLocal + self.y + self.h / 2\n        yLine = yLine - (gooi.getFont(self):getHeight()) * #self.textParts / 2\n        for i = 1, #self.textParts do\n            local part = self.textParts[i]\n\n            local xLine = self.x + self.w - gooi.getFont(self):getWidth(part) - self.h / 2\n            if self.align == gooi.l then\n                xLine = self.x + self.h / 2\n                if self.icon then\n                    xLine = xLine + self.h /2\n                end\n            elseif self.align == \"center\" then\n                xLine = (self.x + self.w / 2) - (gooi.getFont(self):getWidth(part) / 2)\n            end\n            love.graphics.print(part,\n                math.floor(xLine),\n                math.floor(yLine))\n\n            yLine = yLine + (gooi.getFont(self):getHeight())\n        end\n    end\n    function b:left()\n        self.align = gooi.l\n        return self\n    end\n    function b:center()\n        self.align = \"center\"\n        return self\n    end\n    function b:right()\n        self.align = gooi.r\n        return self\n    end\n    b:center()\n    function b:setIcon(icon)\n        if type(icon) == \"string\" then\n            icon = love.graphics.newImage(icon)\n        end\n        self.icon = icon\n        --self.w = self.w + self.icon:getWidth() * 2\n        return self\n        -- body\n    end\n    return gooi.storeComponent(b, id)\nend\n"
  },
  {
    "path": "lib/gooi/checkbox.lua",
    "content": "----------------------------------------------------------------------------\n----------------------------------------------------------------------------\n--------------------------   Checkbox creator  -----------------------------\n----------------------------------------------------------------------------\nfunction gooi.newCheck(params)\n    params = params or {}\n    local chb = {}\n\n    local x, y, w, h = gooi.checkBounds(\n        params.text or \"\",\n        params.x or 10,\n        params.y or 10,\n        params.w or gooi.getFont():getHeight() * 2,\n        params.h or gooi.getFont():getHeight() * 2,\n        \"checkbox\"\n    )\n\n    chb = component.new(\"checkbox\", x, y, w, h, params.group)\n    chb = gooi.setStyleComp(chb)\n    chb.checked = params.checked or false\n    chb.text = params.text or \"\"\n    function chb:rebuild()\n        --self:generateBorder()\n    end\n    chb:rebuild()\n    function chb:drawSpecifics(fg)\n        local mC = self.h / 6 -- Margin corner.\n        local side = self.h - mC * 2\n        love.graphics.setColor(0, 0, 0)\n\n        if self.checked then\n            love.graphics.setColor(fg)            \n        end\n\n        for k, v in pairs({\"fill\", \"line\"}) do\n            gooi.drawInnerShape(self, v, mC, side)\n        end\n        love.graphics.print(self.text,\n            math.floor(self.x + self.h * 1.2),\n            math.floor(self.y + self.h / 2 - gooi.getFont(self):getHeight() / 2))\n    end\n    function chb:change()\n        self.checked = not self.checked\n        return self\n    end\n    return gooi.storeComponent(chb, id)\nend\n"
  },
  {
    "path": "lib/gooi/component.lua",
    "content": "-- parent base:\r\n\r\ncomponent = {}\r\ncomponent.__index = component\r\ncomponent.colors = {\r\n    blue = {0.01, 0.46, 0.85, 1.0},\r\n    green = {0.36, 0.72, 0.36, 1.0},\r\n    cyan = {0.36, 0.75, 0.87, 1.0},\r\n    orange = {0.94, 0.68, 0.31, 1.0},\r\n    red = {0.85, 0.33, 0.31, 1.0},\r\n    black = {0.0, 0.0, 0.0, 1.0},\r\n    white = {1.0, 1.0, 1.0, 1.0},\r\n    clearGray = {0.97, 0.97, 0.97, 1.0},\r\n    darkGray = {0.16, 0.17, 0.17, 1.0},\r\n    darkGrayAlpha = {0.16, 0.17, 0.17, 0.59},\r\n}\r\ncomponent.style = {\r\n    bgColor = component.colors.blue,\r\n    fgColor = component.colors.white, -- Foreground color\r\n    tooltipFont = love.graphics.newFont(love.window.toPixels(11)), -- tooltips are smaller than the main font\r\n    radius = 2, -- raw pixels\r\n    innerRadius = 2, -- raw pixels\r\n    showBorder = true, -- border for components\r\n    borderColor = component.colors.blue,\r\n    borderWidth = love.window.toPixels(2), -- in pixels\r\n    borderStyle = \"smooth\", -- or \"smooth\"\r\n    font = love.graphics.newFont(love.window.toPixels(13)),\r\n}\r\n\r\nlocal currId = -1\r\nfunction genId()\r\n\tcurrId = currId + 1\r\n\treturn currId;\r\nend\r\n\r\nlocal circleRes = 30\r\n\r\n----------------------------------------------------------------------------\r\n--------------------------   Component creator  ----------------------------\r\n----------------------------------------------------------------------------\r\nfunction component.new(t, x, y, w, h, group)\r\n\tlocal c = {}\r\n\tc.id = genId()\r\n\tc.type = t\r\n\tc.x = x\r\n\tc.y = y\r\n\tc.w = w\r\n\tc.h = h\r\n\tc.enabled = true\r\n\tc.visible = true\r\n\tc.hasFocus = false\r\n\tc.pressed = false\r\n\tc.group = group or \"default\"\r\n\tc.tooltip = nil\r\n\tc.smallerSide = c.h\r\n\tif c.w < c.h then\r\n\t\tc.smallerSide = c.w\r\n\tend\r\n\tc.timerTooltip = 0\r\n\tc.showTooltip = false\r\n\tfunction c:setTooltip(text, reset)\r\n\t\tself.tooltip = text or self.tooltip\r\n\r\n\t\tif reset then\r\n\t\t\tself.timerTooltip = 0\r\n\t\t\tself.showTooltip = false\r\n\t\tend\r\n\r\n\t\treturn self\r\n\tend\r\n\tc.touch = nil-- Stores the touch which is on this component.\r\n\tc.opaque = true-- If false, the component base will never be drawn.\r\n\tc.events = {p = nil, r = nil, m = nil}\r\n\tfunction c:onPress(f)\r\n\t\tc.events.p = f\r\n\t\treturn self\r\n\tend\r\n\tfunction c:onRelease(f)\r\n\t\tc.events.r = f\r\n\t\treturn self\r\n\tend\r\n\tfunction c:onMoved(f)\r\n\t\tc.events.m = f\r\n\t\treturn self\r\n\tend\r\n\tfunction c:bg(color)\r\n\t\tif not color then\r\n\t\t\treturn self.style.bgColor\r\n\t\tend\r\n\t\tif type(color) == \"string\" then\r\n\t\t\tcolor = gooi.toRGBA(color)\r\n\t\tend\r\n\t\tself.style.bgColor = color\r\n\t\tself.style.borderColor = {color[1], color[2], color[3], 1}\r\n\t\tself:make3d()\r\n\t\treturn self\r\n\tend\r\n\tfunction c:fg(color)\r\n\t\tif not color then\r\n\t\t\treturn self.style.fgColor\r\n\t\tend\r\n\t\tself.style.fgColor = color\r\n\t\tif type(color) == \"string\" then\r\n\t\t\tself.style.fgColor = gooi.toRGBA(color)\r\n\t\tend\r\n\t\treturn self\r\n\tend\r\n\tfunction c:setRadius(r, ri)\r\n\t\tif not r then return self.style.radius, self.style.innerRadius; end\r\n\r\n\t\tself.style.radius = r\r\n\t\tif ri then\r\n\t\t\tself.style.innerRadius = ri\r\n\t\tend\r\n\r\n\t\treturn self\r\n\tend\r\n\tfunction c:border(w, color, style)\r\n\t\tif not w then return self.style.borderWidth, self.style.borderColor; end\r\n\r\n\t\tself.style.borderWidth = w\r\n\t\tself.style.borderColor = color or {0.05, 0.72, 0.95, 1}\r\n\t\tif type(color) == \"string\" then\r\n\t\t\tself.style.borderColor = gooi.toRGBA(color)\r\n\t\t\tself.style.borderColor[4] = 1\r\n\t\tend\r\n\t\tself.style.borderStyle = style or \"smooth\"\r\n\t\tself.style.showBorder = true\r\n\t\treturn self\r\n\tend\r\n\tfunction c:noGlass()\r\n\t\tself.glass = false\r\n\t\treturn self\r\n\tend\r\n\tfunction c:no3D()\r\n\t\tself.mode3d = false\r\n\t\treturn self\r\n\tend\r\n\r\n\tc.style = gooi.deepcopy(component.style)\r\n\r\n\tfunction c:make3d()\r\n\t\t-- For a 3D look:\r\n\t\tself.colorTop = self.style.bgColor\r\n\t\tself.colorBot = self.style.bgColor\r\n\r\n\t\tself.colorTop = changeBrig(self.style.bgColor, 0.06)\r\n\t\tself.colorBot = changeBrig(self.style.bgColor, -0.06)\r\n\r\n\t\tself.colorTopHL = changeBrig(self.style.bgColor, 0.1)\r\n\t\tself.colorBotHL = changeBrig(self.style.bgColor, -0.02)\r\n\r\n\t\tself.imgData3D = love.image.newImageData(1, 2)\r\n\t\tself.imgData3D:setPixel(0, 0, self.colorTop[1], self.colorTop[2], self.colorTop[3], self.colorTop[4])\r\n\t\tself.imgData3D:setPixel(0, 1, self.colorBot[1], self.colorBot[2], self.colorBot[3], self.colorBot[4])\r\n\r\n\t\tself.imgData3DHL = love.image.newImageData(1, 2)\r\n\t\tself.imgData3DHL:setPixel(0, 0, self.colorTopHL[1], self.colorTopHL[2], self.colorTopHL[3], self.colorTopHL[4])\r\n\t\tself.imgData3DHL:setPixel(0, 1, self.colorBotHL[1], self.colorBotHL[2], self.colorBotHL[3], self.colorBotHL[4])\r\n\r\n\t\tself.img3D = love.graphics.newImage(self.imgData3D)\r\n\t\tself.img3DHL = love.graphics.newImage(self.imgData3DHL)\r\n\r\n\t\tself.img3D:setFilter(\"linear\", \"linear\")\r\n\t\tself.img3DHL:setFilter(\"linear\", \"linear\")\r\n\r\n\t\tself.imgDataGlass = love.image.newImageData(1, 2)\r\n\t\tself.imgDataGlass:setPixel(0, 0, 1, 1, 1, 0.31)\r\n\t\tself.imgDataGlass:setPixel(0, 1, 1, 1, 1, 0.16)\r\n\t\tself.imgGlass = love.graphics.newImage(self.imgDataGlass)\r\n\t\tself.imgGlass:setFilter(\"linear\", \"linear\")\r\n\tend\r\n\r\n    function c:makeShadow()\r\n        self.heightShadow = 6\r\n        self.imgDataShadow = love.image.newImageData(1, self.heightShadow)\r\n        self.imgDataShadow:setPixel(0, 0, 0, 0, 0, 0.31)\r\n        self.imgDataShadow:setPixel(0, 1, 0, 0, 0, 0.12)\r\n        self.imgDataShadow:setPixel(0, 2, 0, 0, 0, 0.02)\r\n\r\n        self.imgShadow = love.graphics.newImage(self.imgDataShadow)\r\n        self.imgShadow:setFilter(\"linear\", \"linear\")\r\n    end\r\n    c:makeShadow()\r\n\r\n    function c:primary()  self:bg(component.colors.blue);   return self end\r\n    function c:success()  self:bg(component.colors.green);  return self end\r\n    function c:info()     self:bg(component.colors.cyan);   return self end\r\n    function c:warning()  self:bg(component.colors.orange); return self end\r\n    function c:danger()   self:bg(component.colors.red);    return self end\r\n    function c:opacity(o) self.style.bgColor[4] = o;        return self end\r\n\r\n    function c:secondary()\r\n        self:bg(component.colors.clearGray)\r\n        self:fg(component.colors.darkGray)\r\n        return self\r\n    end\r\n    function c:inverted()\r\n        self:bg(component.colors.darkGray)\r\n        self:fg(component.colors.clearGray)\r\n        return self\r\n    end\r\n\r\n\r\n\tc:make3d()\r\n\r\n\treturn setmetatable(c, component)\r\nend\r\n\r\n\r\n----------------------------------------------------------------------------\r\n--------------------------   Draw the component  ---------------------------\r\n----------------------------------------------------------------------------\r\nfunction component:draw()-- Every component has the same base:\r\n\tlocal style = self.style\r\n\tif self.opaque and self.visible then\r\n\t\tlocal focusColorChange = 0.06\r\n\t\tlocal fs = - 1\r\n\t\tif not self.enabled then focusColorChange = 0 end\r\n\t\tlocal newColor = style.bgColor\r\n\t\t-- Generate bgColor for over and pressed:\r\n\t\tif self:overIt() and self.type ~= \"label\" then\r\n\t\t\tif not self.pressed then fs = 1 end\r\n\t\t\tnewColor = changeBrig(newColor, focusColorChange * fs)\r\n\t\t\tif self.tooltip then\r\n\t\t\t\tself.timerTooltip = self.timerTooltip + love.timer.getDelta()\r\n\t\t\t\tif self.timerTooltip >= 0.5 then\r\n\t\t\t\t\tself.showTooltip = true\r\n\t\t\t\tend\r\n\t\t\tend\r\n\t\telse\r\n\t\t\tself.timerTooltip = 0\r\n\t\t\tself.showTooltip = false\r\n\t\tend\r\n\r\n\t\tlove.graphics.setColor(newColor)\r\n\r\n\t\tif not self.enabled then\r\n\t\t\tlove.graphics.setColor(1/4, 1/4, 1/4, style.bgColor[4] or 1)\r\n\t\tend\r\n\r\n\t\tlocal radiusCorner = style.radius\r\n\r\n\t\tlove.graphics.stencil(function()\r\n\t  \tlove.graphics.rectangle(\"fill\",\r\n\t\t    math.floor(self.x),\r\n\t\t    math.floor(self.y),\r\n\t\t    math.floor(self.w),\r\n\t\t    math.floor(self.h),\r\n\t\t    self.style.radius,\r\n\t\t    self.style.radius,\r\n\t\t    circleRes)\r\n    end, \"replace\", 1)\r\n\t\tlove.graphics.setStencilTest(\"greater\", 0)\r\n\t\tlocal scaleY = 1\r\n\t\tlocal img = self.img3D\r\n\t\tif self:overIt() then\r\n\t\t\timg = self.img3DHL\r\n\t\t\tif self.pressed then\r\n\t\t\t\timg = self.img3D\r\n\t\t\t\tif self.type == \"button\" then\r\n\t\t\t\t\tscaleY = scaleY * -1\r\n\t\t\t\tend\r\n\t\t\tend\r\n\t\tend\r\n\r\n\t\t-- Correct light effect when 2 modes are set:\r\n\t\tif self.mode3d and self.glass then\r\n\t\t\tscaleY = -1\r\n\t\tend\r\n\r\n\t\tif self.mode3d then\r\n\t\t\tlove.graphics.setColor(1, 1, 1, style.bgColor[4] or 1)\r\n\t\t\tif not self.enabled then\r\n\t\t\t\tlove.graphics.setColor(0, 0, 0, style.bgColor[4] or 1)\r\n\t\t\tend\r\n\t\t\tlove.graphics.draw(img,\r\n\t\t\t\tmath.floor(self.x + self.w / 2),\r\n\t\t\t\tmath.floor(self.y + self.h / 2),\r\n\t\t\t\t0,\r\n\t\t\t\tmath.floor(self.w),\r\n\t\t\t\tself.h / 2 * scaleY,\r\n\t\t\t\timg:getWidth() / 2,\r\n\t\t\t\timg:getHeight() / 2)\r\n\r\n\t\telse\r\n\t\t\tlove.graphics.rectangle(\"fill\",\r\n\t\t        math.floor(self.x),\r\n\t\t        math.floor(self.y),\r\n\t\t\t\tmath.floor(self.w),\r\n\t\t\t\tmath.floor(self.h),\r\n\t\t\t\tself.style.radius,\r\n\t\t\t\tself.style.radius,\r\n\t\t\t\t50\r\n\t\t\t)\r\n\t\tend\r\n\r\n\t\tif self.glass then\r\n\t\t\tlove.graphics.setColor(1, 1, 1)\r\n\t\t\tlove.graphics.draw(self.imgGlass,\r\n\t\t\t\tself.x,\r\n\t\t\t\tself.y,\r\n\t\t\t\t0,\r\n\t\t\t\tmath.floor(self.w),\r\n\t\t\t\tself.h / 4)\r\n\t\tend\r\n\r\n\t\tlocal bgImage = nil\r\n\t\tif self.pressedImage and self:overIt() and self.pressed then\r\n\t\t\tbgImage = self.pressedImage\r\n\t\telseif self.hoverImage and self:overIt() then\r\n\t\t\tbgImage = self.hoverImage\r\n\t\telseif self.bgImage then\r\n\t\t\tbgImage = self.bgImage\r\n\t\tend\r\n\r\n    if bgImage then\r\n\t\t\tlove.graphics.setColor(1, 1, 1)\r\n      love.graphics.draw(bgImage,\r\n        math.floor(self.x),\r\n        math.floor(self.y),\r\n        0,\r\n        self.w / bgImage:getWidth(),\r\n        self.h / bgImage:getHeight())\r\n\t\tend\r\n\t\t\r\n\t\tif self.fgImage then\r\n\t\t\tlove.graphics.setColor(1, 1, 1)\r\n      love.graphics.draw(self.fgImage,\r\n        math.floor(self.x) + (self.w / 2) - (self.fgImage:getWidth() / 2),\r\n        math.floor(self.y) + (self.h / 2) - (self.fgImage:getHeight() / 2),\r\n        0,\r\n        self.fgImage:getWidth(),\r\n\t\t\t\tself.fgImage:getHeight())\r\n\t\tend\r\n\r\n\t\tlove.graphics.setStencilTest()\r\n\r\n\t\t-- Border:\r\n\t\tif style.showBorder then\r\n\t\t\tlove.graphics.setColor(newColor)\r\n\t\t\tif not self.enabled then\r\n\r\n\t\t\t\tlove.graphics.setColor(1/4, 1/4, 1/4)\r\n\t\t\tend\r\n\t\t\tlove.graphics.rectangle(\"line\",\r\n\t\t\t\tmath.floor(self.x),\r\n\t\t\t\tmath.floor(self.y),\r\n\t\t\t\tmath.floor(self.w),\r\n\t\t\t\tmath.floor(self.h),\r\n\t\t\t\tself.style.radius,\r\n\t\t\t\tself.style.radius,\r\n\t\t\t\t50)\r\n\t\tend\r\n\tend\r\nend\r\n\r\nfunction component:drawShadowPressed()\r\n    if self.pressed and self.type == \"button\" and self.shadow then\r\n        love.graphics.stencil(function()\r\n            love.graphics.rectangle(\"fill\",\r\n                math.floor(self.x),\r\n                math.floor(self.y),\r\n                math.floor(self.w),\r\n                math.floor(self.h),\r\n                self.style.radius,\r\n                self.style.radius,\r\n                50)\r\n        end, \"replace\", 1)\r\n        love.graphics.setStencilTest(\"greater\", 0)\r\n        love.graphics.setColor(1, 1, 1)\r\n        love.graphics.draw(self.imgShadow,\r\n            self.x + self.w / 2,\r\n            self.y + self.h / 2,\r\n            0,\r\n            math.floor(self.w),\r\n            self.h / self.heightShadow,\r\n            self.imgShadow:getWidth() / 2,\r\n            self.imgShadow:getHeight() / 2\r\n        )\r\n        love.graphics.setStencilTest()\r\n    end\r\nend\r\n\r\nfunction component:setVisible(b)\r\n\tself.visible = b\r\n\tif self.sons then\r\n\t\tfor i = 1, #self.sons do\r\n\t\t\tself.sons[i].ref.visible = b\r\n\t\tend\r\n\tend\r\nend\r\n\r\nfunction component:setEnabled(b)\r\n\tself.enabled = b\r\n\tif self.sons then\r\n\t\tfor i = 1, #self.sons do\r\n\t\t\tlocal c = self.sons[i].ref\r\n\t\t\tc.enabled = b\r\n\t\t\tc.glass = b\r\n\t\t\tc.mode3d = b\r\n\t\tend\r\n\tend\r\nend\r\n\r\nfunction component:setGroup(g)\r\n\tself.group = g\r\n\tif self.sons then\r\n\t\tfor i = 1, #self.sons do\r\n\t\t\tself.sons[i].ref.group = g\r\n\t\tend\r\n\tend\r\n\treturn self\r\nend\r\n\r\nfunction component:wasReleased()\r\n\tlocal b = self:overIt() and self.enabled and self.visible\r\n\tif self.type == \"text\" then\r\n\t\tif b then\r\n\t\t\tlove.keyboard.setTextInput(true)\r\n\t\tend\r\n\tend\r\n\r\n\tif gooi.vibration and b then\r\n\t\tlove.system.vibrate(gooi.delayVibration)\r\n\tend\r\n\treturn b\r\nend\r\n\r\nfunction component:overItAux(x, y)\r\n\t-- Scale:\r\n\tlocal xm = love.mouse.getX() / gooi.sx\r\n\tlocal ym = love.mouse.getY() / gooi.sy\r\n\r\n\tif self.touch then\r\n\t\txm, ym = self.touch.x, self.touch.y-- Already scaled.\r\n\tend\r\n\t-- Scale:\r\n\tif x and y then\r\n\t\txm, ym = x, y\r\n\tend\r\n\r\n\tlocal radiusCorner = self.style.radius\r\n\r\n\tlocal theX = self.x\r\n\tlocal theY = self.y\r\n\tlocal theW = self.w\r\n\tlocal theH = self.h\r\n\r\n\t-- Check if one of the \"two\" rectangles is on the mouse/finger:\r\n\tlocal b = not (\r\n\t\txm < theX or\r\n\t\tym < theY + radiusCorner or\r\n\t\txm > theX + theW or\r\n\t\tym > theY + theH - radiusCorner\r\n\t) or not (\r\n\t\txm < theX + radiusCorner or\r\n\t\tym < theY or\r\n\t\txm > theX + theW - radiusCorner or\r\n\t\tym > theY + theH\r\n\t)\r\n\r\n\t-- Check if mouse/finger is over one of the 4 \"circles\":\r\n\r\n\tlocal x1, x2, y1, y2 =\r\n\t\ttheX + radiusCorner,\r\n\t\ttheX + theW - radiusCorner,\r\n\t\ttheY + radiusCorner,\r\n\t\ttheY + theH - radiusCorner\r\n\r\n\tlocal hyp1 = math.sqrt(math.pow(xm - x1, 2) + math.pow(ym - y1, 2))\r\n\tlocal hyp2 = math.sqrt(math.pow(xm - x2, 2) + math.pow(ym - y1, 2))\r\n\tlocal hyp3 = math.sqrt(math.pow(xm - x1, 2) + math.pow(ym - y2, 2))\r\n\tlocal hyp4 = math.sqrt(math.pow(xm - x2, 2) + math.pow(ym - y2, 2))\r\n\r\n\treturn (hyp1 < radiusCorner or\r\n\t\t\thyp2 < radiusCorner or\r\n\t\t\thyp3 < radiusCorner or\r\n\t\t\thyp4 < radiusCorner or b), index, xm, ym\r\nend\r\n\r\nfunction component:overIt(x, y)-- x and y if it's the first time pressed (no touch defined yet).\r\n\tif self.type == \"panel\" or self.type == \"label\" then\r\n\t\treturn false\r\n\tend\r\n\r\n\t-- Not applicable in this case:\r\n\tif not (self.enabled or self.visible) then return false end\r\n\r\n\tif self.noFlag or self.okFlag or self.yesFlag then\r\n\t\treturn self:overItAux(x, y)\r\n\telse\r\n\t\tif gooi.showingDialog then\r\n\t\t\treturn false\r\n\t\telse\r\n\t\t\treturn self:overItAux(x, y)\r\n\t\tend\r\n\tend\r\nend\r\n\r\nfunction component:setBounds(x, y, w, h)\r\n\tlocal theX = x or self.x\r\n\tlocal theY = y or self.y\r\n\tlocal theW = w or self.w\r\n\tlocal theH = h or self.h\r\n\r\n\tself.x, self.y, self.w, self.h = theX, theY, theW, theH\r\n\r\n\tif self.type == \"joystick\" or self.type == \"knob\" then\r\n\t\tself.smallerSide = self.h\r\n\t\tif self.w < self.h then\r\n\t\t\tself.smallerSide = self.w\r\n\t\tend\r\n\t\tself.w, self.h = self.smallerSide, self.smallerSide\r\n\t\tself:rebuild()\r\n\tend\r\n\r\n\treturn self\r\nend\r\n\r\nfunction component:setBGImage(image, hover, pressed)\r\n  if type(image) == \"string\" then image = love.graphics.newImage(image) end\r\n\tif type(hover) == \"string\" then hover = love.graphics.newImage(hover) end\r\n\tif type(pressed) == \"string\" then pressed = love.graphics.newImage(pressed) end\r\n\r\n\tself.bgImage = image\r\n\tself.hoverImage = hover\r\n\tself.pressedImage = pressed\r\n  return self\r\nend\r\n\r\nfunction component:setFGImage(image)\r\n\tif type(image) == \"string\" then image = love.graphics.newImage(image) end\r\n\r\n\tself.fgImage = image\r\n\treturn self\r\nend\r\n\r\nfunction component:setOpaque(b)\r\n\tself.opaque = b\r\n\treturn self\r\nend\r\n\r\nfunction changeBrig(color, amount)\r\n\tif type(color) == \"string\" then\r\n\t\tcolor = gooi.toRGBA(color)\r\n\tend\r\n\r\n\tlocal r, g, b, a = color[1], color[2], color[3], color[4] or 1\r\n\r\n\tr = r + amount\r\n\tg = g + amount\r\n\tb = b + amount\r\n\t--a = a + amount\r\n\r\n\tif r < 0 then r = 0 end\r\n\tif r > 1 then r = 1 end\r\n\r\n\tif g < 0 then g = 0 end\r\n\tif g > 1 then g = 1 end\r\n\r\n\tif b < 0 then b = 0 end\r\n\tif b > 1 then b = 1 end\r\n\r\n\t--if a < 0 then a = 0 end\r\n\t--if a > 1 then a = 1 end\r\n\r\n\treturn {r, g, b, a}\r\nend"
  },
  {
    "path": "lib/gooi/gooi.lua",
    "content": "gooi = {}\r\ngooi.__index = gooi\r\ngooi.components = {}\r\ngooi.dialogFOK = function() end\r\ngooi.showingDialog = false\r\ngooi.desktop = false\r\ngooi.vibration = false\r\ngooi.delayVibration = 0\r\ngooi.dialogMsg = \"\"\r\ngooi.dialogH = 0\r\ngooi.dialogW = 0\r\ngooi.canvas = love.graphics.newCanvas(love.graphics.getWidth(), love.graphics.getHeight())\r\ngooi.sx = 1\r\ngooi.sy = 1\r\ngooi.defaultFont = love.graphics.newFont(love.window.toPixels(13))\r\ngooi.font = defaultFont\r\ngooi.unit = 25\r\ngooi.bs = \"backspace\"\r\ngooi.del = \"delete\"\r\ngooi.r = \"right\"\r\ngooi.l = \"left\"\r\ngooi.lineStyle = \"smooth\"\r\ngooi.delayKey = 0.05\r\ngooi.delayCursorBlink = 0.4\r\ngooi.delayCanRepeat = 0.45\r\n\r\nfunction gooi.desktopMode()\r\n    gooi.desktop = true\r\nend\r\n\r\nfunction gooi.roughShapes()\r\n    gooi.lineStyle = \"rough\"\r\nend\r\n\r\nfunction gooi.vibrate(s)\r\n    gooi.vibration = true\r\n    gooi.delayVibration = s or 0.035\r\nend\r\n\r\ngooi.smallerSide = function()\r\n    local smallerSide = love.graphics.getWidth()\r\n\r\n    if love.graphics.getHeight() < smallerSide then\r\n        smallerSide = love.graphics.getHeight()\r\n    end\r\n    return smallerSide\r\nend\r\n\r\ncircleRes = 30 -- for rounded shapes\r\n\r\n--*********************************************\r\n--*********************************************\r\n--            Special dialog widgets:\r\n--*********************************************\r\n--*********************************************\r\n\r\n--function gooi.alert(msg, fOK)\r\nfunction gooi.alert(params)\r\n    gooi.dialog(params, \"alert\")\r\nend\r\n\r\n--function gooi.confirm(msg, fYes, fNo)\r\nfunction gooi.confirm(params)\r\n    gooi.dialog(params, \"confirm\")\r\nend\r\n\r\n--function gooi.dialog(msg, fPositive, fNegative, kind)\r\nfunction gooi.dialog(params, kind)\r\n    if not gooi.showingDialog then\r\n        gooi.showingDialog = true\r\n        local positiveBtnTxt = \"OK\"\r\n        local negativeBtnTxt = \"Cancel\"\r\n\r\n        gooi.dialogMsg = params.text or \"message\"\r\n        fPositive = params.ok\r\n        fNegative = params.cancel\r\n        positiveBtnTxt = params.okText or positiveBtnTxt\r\n        negativeBtnTxt = params.cancelText or negativeBtnTxt\r\n\r\n        local w, h = love.graphics.getWidth() / gooi.sx, love.graphics.getHeight() / gooi.sy\r\n\r\n        local smaller = gooi.smallerSide()\r\n        local divide = 2\r\n        if params.big then divide = 1 end\r\n\r\n        gooi.dialogW = math.floor(smaller / divide)\r\n        gooi.dialogH = math.floor(gooi.dialogW * 0.6)\r\n\r\n        gooi.panelDialog = gooi.newPanel({\r\n            x = math.floor(w / 2 - gooi.dialogW / 2 / gooi.sx),\r\n            y = math.floor(h / 2 - gooi.dialogH / 2 / gooi.sy),\r\n            w = math.floor(gooi.dialogW / gooi.sx),\r\n            h = math.floor(gooi.dialogH / gooi.sy),\r\n            layout = \"grid 4x3\"}\r\n        )\r\n\r\n        gooi.panelDialog.layout.padding = 7-- Default = 3\r\n        gooi.panelDialog.layout:init(gooi.panelDialog)\r\n\r\n        gooi.panelDialog:setColspan(1, 1, 3)-- For the msg:\r\n        gooi.panelDialog:setRowspan(1, 1, 3)\r\n\r\n        gooi.lblDialog = gooi.newLabel({text = gooi.dialogMsg}):center()\r\n            :setOpaque(false)\r\n        gooi.lblDialog.lblFlag = true\r\n        gooi.panelDialog:add(gooi.lblDialog, \"1,1\")\r\n\r\n        if kind == \"alert\" then\r\n            gooi.okButton  = gooi.newButton({text = positiveBtnTxt}):onRelease(function()\r\n                gooi.closeDialog()\r\n                if fPositive then\r\n                    fPositive()\r\n                end\r\n            end)\r\n            gooi.okButton.okFlag = true\r\n            gooi.panelDialog:add(gooi.okButton,  \"4,2\")\r\n            gooi.radCorner = gooi.okButton.style.radius\r\n        else\r\n            gooi.noButton  = gooi.newButton({text = negativeBtnTxt}):onRelease(function()\r\n                gooi.closeDialog()\r\n                if fNegative then\r\n                    fNegative()\r\n                end\r\n            end)\r\n            gooi.yesButton = gooi.newButton({text = positiveBtnTxt}):onRelease(function()\r\n                gooi.closeDialog()\r\n                if fPositive then\r\n                    fPositive()\r\n                end\r\n            end)\r\n            gooi.noButton.noFlag   = true\r\n            gooi.yesButton.yesFlag = true\r\n            gooi.panelDialog:add(gooi.noButton,  \"4,1\")\r\n            gooi.panelDialog:add(gooi.yesButton, \"4,3\")\r\n            gooi.radCorner = gooi.noButton.style.radius\r\n        end\r\n    end\r\nend\r\n\r\nfunction gooi.closeDialog()\r\n    --print(#gooi.components)\r\n    gooi.removeComponent(gooi.panelDialog)\r\n    gooi.showingDialog = false\r\nend\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n--**************************************************************************\r\n--**************************************************************************\r\n\r\n-- gooi functions:\r\n\r\n--**************************************************************************\r\n--**************************************************************************\r\n\r\n\r\nfunction gooi.storeComponent(c, id)\r\n    table.insert(gooi.components, c)\r\n    return c\r\nend\r\n\r\nfunction gooi.setCanvas(c)\r\n    gooi.canvas = c\r\n    gooi.sx = love.graphics.getWidth() / gooi.canvas:getWidth()\r\n    gooi.sy = love.graphics.getHeight() / gooi.canvas:getHeight()\r\nend\r\n\r\nfunction gooi.round(num, numDecimalPlaces)\r\n    local mult = 10^(numDecimalPlaces or 0)\r\n    return math.floor(num * mult + 0.5) / mult\r\nend\r\n\r\nfunction gooi.removeComponent(comp)\r\n    for k, v in pairs(gooi.components) do\r\n        local c = gooi.components[k]\r\n\r\n        if c == comp then\r\n            --print(\"id father: \"..c.id)\r\n            if c.sons then\r\n                for k2, v2 in pairs(c.sons) do\r\n                    --print(\"text sons: \"..(c.sons[k2].text or \"(nil)\"))\r\n                    gooi.removeComponent(c.sons[k2].ref)\r\n                    c.sons[k2] = nil\r\n                end\r\n                c.sons = nil\r\n            end\r\n            gooi.components[k] = nil\r\n            return\r\n        end\r\n    end\r\nend\r\n\r\nfunction gooi.processStyle(style)\r\n    if style.bgColor and type(style.bgColor) == \"string\" then\r\n        style.bgColor = gooi.toRGBA(style.bgColor)\r\n    end\r\n    if style.fgColor and type(style.fgColor) == \"string\" then\r\n        style.fgColor = gooi.toRGBA(style.fgColor)\r\n    end\r\n    if style.borderColor and type(style.borderColor) == \"string\" then\r\n        style.borderColor = gooi.toRGBA(style.borderColor)\r\n    end\r\n    style.bgColor = style.bgColor or component.style.bgColor\r\n    style.fgColor = style.fgColor or component.style.fgColor\r\n    style.tooltipFont = style.tooltipFont or component.style.tooltipFont\r\n    style.radius = style.radius or component.style.radius\r\n    style.innerRadius = style.innerRadius or component.style.innerRadius\r\n    style.showBorder = style.showBorder or false\r\n    style.borderColor = style.borderColor or component.style.borderColor\r\n    style.borderStyle = style.borderStyle or component.style.borderStyle\r\n    style.borderWidth = style.borderWidth or component.style.borderWidth\r\n    style.font = style.font or component.style.font\r\n\r\n    return style\r\nend\r\n\r\nfunction gooi.deepcopy(orig)\r\n    local orig_type = type(orig)\r\n    local copy\r\n    if orig_type == 'table' then\r\n        copy = {}\r\n        for orig_key, orig_value in next, orig, nil do\r\n            copy[gooi.deepcopy(orig_key)] = gooi.deepcopy(orig_value)\r\n        end\r\n        setmetatable(copy, gooi.deepcopy(getmetatable(orig)))\r\n    else -- number, string, boolean, etc\r\n        copy = orig\r\n    end\r\n    return copy\r\nend\r\n\r\nfunction gooi.setStyleComp(c)\r\n    function c:setStyle(s)\r\n        local style = gooi.processStyle(s)\r\n        c.style = style\r\n\r\n        if not (c.ongrid or c.ongame) then-- Ignore components in a grid layout:\r\n            local s = c.style\r\n            if c.type == \"button\" or c.type == \"label\" or c.type == \"label\" then\r\n                c.w = s.font:getWidth(c.text) + s.font:getHeight() * 2\r\n                c.h = s.font:getHeight() * 2\r\n            end\r\n            if c.type == \"checkbox\" or c.type == \"radio\" then\r\n                c.w = s.font:getWidth(c.text) + s.font:getHeight() * 3\r\n                c.h = s.font:getHeight() * 2\r\n            end\r\n            if c.type == \"spinner\" then\r\n                c.w = s.font:getWidth(c.max) + s.font:getHeight() * 4\r\n                c.h = s.font:getHeight() * 2\r\n            end\r\n            if c.type == \"text\" then\r\n                c.w = s.font:getWidth(c.text) + s.font:getHeight() * 1.5\r\n                c.h = s.font:getHeight() * 2\r\n            end\r\n        end\r\n\r\n        if c.sons then\r\n            for i = 1, #c.sons do\r\n                c.sons[i].ref:setStyle(style)\r\n            end\r\n        end\r\n\r\n        return c\r\n    end\r\n\r\n    return c\r\nend\r\n\r\nfunction gooi.setStyle(style)\r\n    local s = gooi.processStyle(style)\r\n    component.style = s\r\n    gooi.font = s.font\r\nend\r\n\r\n-- Update what needs to be updated:\r\nlocal timerBackspaceText = 0\r\nlocal timerStepChar = 0\r\nfunction gooi.update(dt)\r\n    for k, c in pairs(gooi.components) do\r\n        if c.type == \"progressbar\" and c.visible then\r\n            if c.changing and c.enabled then\r\n                c.value = c.value + c.speed * c.changing * dt\r\n                if c.value > 1 then c.value = 1 end\r\n                if c.value < 0 then c.value = 0 end\r\n            end\r\n        end\r\n        if c.type == \"text\" and c.hasFocus then\r\n            local key = c.keyToRepeat\r\n            c:updateCursor(key, dt)\r\n        end\r\n        if c.enabled and c.visible and (c.pressed or c.touch) then\r\n            if c.type == \"slider\" then\r\n                local t = c.touch\r\n                if t then\r\n                    c:updateGUI()\r\n                else\r\n                    c:updateGUI()\r\n                end\r\n            elseif c.type == \"joystick\" then\r\n                c:move()\r\n            elseif c.type == \"spinner\" then\r\n                c:update(dt)\r\n            elseif c.type == \"knob\" then\r\n                c:turn()\r\n            end\r\n        end\r\n    end\r\nend\r\n\r\nfunction gooi.mode3d()\r\n    component.mode3d = true\r\n    component.shadow = false\r\n    component.glass = false\r\nend\r\n\r\nfunction gooi.glass()\r\n    component.mode3d = false\r\n    component.glass = true\r\n    component.shadow = false\r\nend\r\n\r\nfunction gooi.shadow()\r\n    component.mode3d = false\r\n    component.glass = false\r\n    component.shadow = true\r\nend\r\n\r\n-- Draw the stuff:\r\nfunction gooi.draw(group)\r\n    love.graphics.origin() --to take in account scale,translate,rotate\r\n    local actualGroup = group or \"default\"\r\n\r\n    local prevFont  = love.graphics.getFont()\r\n    local prevLineW = love.graphics.getLineWidth()\r\n    local prevLineS = love.graphics.getLineStyle()\r\n    local prevR, prevG, prevB, prevA = love.graphics.getColor()\r\n\r\n    local noButton, okButton, yesButton, msgLbl = nil, nil, nil, nil\r\n\r\n    local compWithTooltip = nil -- Just for desktop.\r\n\r\n    love.graphics.setColor(1, 1, 1)\r\n    love.graphics.setLineWidth(2)\r\n    love.graphics.setLineStyle(gooi.lineStyle)\r\n\r\n    for k, comp in pairs(gooi.components) do\r\n\r\n        if comp.noFlag then\r\n            noButton = comp\r\n        end\r\n\r\n        if comp.okFlag then\r\n            okButton = comp\r\n        end\r\n\r\n        if comp.yesFlag then\r\n            yesButton = comp\r\n        end\r\n\r\n        if comp.lblFlag then\r\n            msgLbl = comp\r\n        end\r\n\r\n        if not comp.noFlag and not comp.okFlag and not comp.yesFlag\r\n        and not comp.lblFlag then\r\n            if actualGroup == comp.group and comp.visible then\r\n                comp:draw()-- Draw the base.\r\n\r\n                love.graphics.setFont(gooi.getFont(comp))-- Specific or a common font.\r\n\r\n                local fg = comp.style.fgColor\r\n                if not comp.enabled then\r\n                    fg = {0.12, 0.12, 0.12}\r\n                end\r\n\r\n                ------------------------------------------------------------\r\n                ------------------------------------------------------------\r\n                ------------------------------------------------------------\r\n\r\n\r\n                comp:drawSpecifics(fg)\r\n                comp:drawShadowPressed()\r\n\r\n\r\n                ------------------------------------------------------------\r\n                ------------------------------------------------------------\r\n                ------------------------------------------------------------\r\n            end\r\n\r\n            if comp.showTooltip then\r\n                compWithTooltip = comp\r\n            end\r\n\r\n        end\r\n    end\r\n\r\n    -- Check if a tooltip was generated (just for desktop):\r\n    local os = love.system.getOS()\r\n    if compWithTooltip and os ~= \"Android\" and os ~= \"iOS\" and gooi.desktop then\r\n        local ttf = compWithTooltip.style.tooltipFont\r\n        local httf = ttf:getHeight()\r\n        local text = compWithTooltip.tooltip\r\n        local xTT = math.floor(love.mouse.getX() / gooi.sx)\r\n\r\n        if ((love.mouse.getX() / gooi.sx) + ttf:getWidth(text)) >= gooi.canvas:getWidth() then\r\n            xTT = xTT - ttf:getWidth(text)\r\n        end\r\n\r\n        love.graphics.setColor(0, 0, 0, 0.6)\r\n        love.graphics.rectangle(\"fill\",\r\n            xTT - httf,\r\n            math.floor((love.mouse.getY() / gooi.sy) - httf * 1.5),\r\n            ttf:getWidth(text) + httf * 2,\r\n            httf * 2)\r\n\r\n        love.graphics.setColor(component.style.fgColor)\r\n        love.graphics.setFont(ttf)\r\n        love.graphics.print(text,\r\n            xTT,\r\n            math.floor((love.mouse.getY() / gooi.sy) - httf))\r\n    end\r\n\r\n    if gooi.showingDialog then\r\n        love.graphics.setFont(gooi.getFont(self))-- Specific or a common font.\r\n        local w, h = gooi.canvas:getWidth(), gooi.canvas:getHeight()\r\n\r\n        love.graphics.setColor(0, 0, 0, 0.5)\r\n        love.graphics.rectangle(\"fill\", 0, 0,\r\n            love.graphics.getWidth(),\r\n            love.graphics.getHeight())\r\n\r\n        love.graphics.setColor(component.style.bgColor)\r\n        love.graphics.rectangle(\"fill\",\r\n            gooi.panelDialog.x,\r\n            gooi.panelDialog.y,\r\n            gooi.panelDialog.w,\r\n            gooi.panelDialog.h,\r\n            gooi.radCorner,\r\n            gooi.radCorner\r\n        )\r\n\r\n        if component.style.showBorder then\r\n            love.graphics.rectangle(\"line\",\r\n                gooi.panelDialog.x,\r\n                gooi.panelDialog.y,\r\n                gooi.panelDialog.w,\r\n                gooi.panelDialog.h,\r\n                gooi.radCorner,\r\n                gooi.radCorner\r\n            )\r\n        end\r\n\r\n        msgLbl:draw()\r\n        msgLbl:drawSpecifics(msgLbl.style.fgColor)\r\n\r\n        if okButton then\r\n            okButton:draw()\r\n            okButton:drawSpecifics(okButton.style.fgColor)\r\n        else\r\n            noButton:draw()\r\n            noButton:drawSpecifics(noButton.style.fgColor)\r\n\r\n            yesButton:draw()\r\n            yesButton:drawSpecifics(yesButton.style.fgColor)\r\n        end\r\n\r\n    end\r\n\r\n    love.graphics.setFont(prevFont)\r\n    love.graphics.setLineWidth(prevLineW)\r\n    love.graphics.setLineStyle(prevLineS)\r\n    love.graphics.setColor(prevR, prevG, prevB, prevA)\r\nend\r\n\r\nfunction gooi.drawInnerShape(c, mode, mC, side)\r\n    love.graphics.rectangle(mode,\r\n        (c.x + mC),\r\n        (c.y + mC),\r\n        (side),\r\n        (side),\r\n        c.style.innerRadius,\r\n        c.style.innerRadius,\r\n        circleRes\r\n    )\r\nend\r\n\r\nfunction gooi.toRGBA(hex)\r\n    hex = hex:gsub(\"#\",\"\")\r\n    color = {tonumber(\"0x\"..hex:sub(1,2))/255,\r\n             tonumber(\"0x\"..hex:sub(3,4))/255,\r\n             tonumber(\"0x\"..hex:sub(5,6))/255}\r\n    if string.len(hex) >= 8 then\r\n        table.insert(color, tonumber(\"0x\"..hex:sub(7, 8))/255)\r\n    end\r\n    return color\r\nend\r\n\r\nfunction gooi.getByType(theType)\r\n    g = {}-- Group.\r\n    for k, c in pairs(gooi.components) do\r\n        if c.type == theType then\r\n            table.insert(g, c)\r\n        end\r\n    end\r\n    return g\r\nend\r\n\r\n-- Get any component by its id:\r\nfunction gooi.get(id)\r\n    if not gooi.components[id] then\r\n        error(\"Component '\"..id..\"' does not exist!\")\r\n    end\r\n    return gooi.components[id]\r\nend\r\n\r\nfunction gooi.setGroupVisible(group, b)\r\n    for k, c in pairs(gooi.components) do\r\n        if c.group == group then\r\n            c:setVisible(b)\r\n        end\r\n    end\r\nend\r\n\r\nfunction gooi.setGroupEnabled(group, b)\r\n    for k, c in pairs(gooi.components) do\r\n        if c.group == group then\r\n            c:setEnabled(b)\r\n        end\r\n    end\r\nend\r\n\r\nfunction gooi.getByGroup(group)\r\n    g = {}-- Group.\r\n    for k, c in pairs(gooi.components) do\r\n        if c.group == group then\r\n            table.insert(g, c)\r\n        end\r\n    end\r\n    return g\r\nend\r\n\r\nfunction gooi.getByGroupAndType(group, theType)\r\n    g = {}-- Group.\r\n    for k, c in pairs(gooi.components) do\r\n        if c.group == group and c.type == theType then\r\n            table.insert(g, c)\r\n        end\r\n    end\r\n    return g\r\nend\r\n\r\nfunction gooi.deselectOtherRadios(group, id)\r\n    local radios = gooi.getByType(\"radio\")-- Type.\r\n    for i=1, #radios do\r\n        if  radios[i].radioGroup == group then\r\n            radios[i].selected = false\r\n        end\r\n    end\r\nend\r\n\r\n---------------------------------------------------------------------------------------------\r\nfunction gooi.pressed(id, xt, yt)\r\n    local x = xt or love.mouse.getX()\r\n    local y = yt or love.mouse.getY()\r\n    x = x / gooi.sx\r\n    y = y / gooi.sy\r\n    gooi.focused = nil\r\n    for k, c in pairs(gooi.components) do\r\n        c:setTooltip(nil, true)-- remove tooltips when something is clicked\r\n\r\n        if c.enabled and c.visible then\r\n            if c.type == \"joystick\" then\r\n                if c:overIt(x, y) then\r\n                    gooi.focused = c\r\n                    if c.anyP then\r\n                        c.stickPressed = true\r\n                        c.dx = 0\r\n                        c.dy = 0\r\n                    elseif c:overStick(x, y) then\r\n                        c.stickPressed = true\r\n                        c.dx = c.xStick - x\r\n                        c.dy = c.yStick - y\r\n                    end\r\n                end\r\n            elseif c.type == \"spinner\" then\r\n                if c:overMinus(x, y) then\r\n                    c:changeValue(-1)\r\n                    c.minPressed = true\r\n                    c.plusPressed = false\r\n                elseif c:overPlus(x, y) then\r\n                    c:changeValue(1)\r\n                    c.minPressed = false\r\n                    c.plusPressed = true\r\n                end\r\n            elseif c.type == \"knob\" then\r\n                c.pivotY = (y or love.mouse.getY())\r\n            end\r\n            if c:overIt(x, y) then\r\n                gooi.focused = c\r\n                if id and x and y then\r\n                    c.touch = {\r\n                        id = id,\r\n                        x = x,\r\n                        y = y\r\n                    }-- Touch used on touchscreens only.\r\n                else\r\n                    c.pressed = true-- Pressed just on PC (one pressed at once).\r\n                end\r\n                if c.events.p then\r\n                    c.events.p(c)-- onPress event.\r\n                end\r\n            end\r\n        end\r\n    end\r\nend\r\n---------------------------------------------------------------------------------------------\r\nfunction gooi.moved(id, xt, yt)\r\n    local comp = gooi.getCompWithTouch(id)\r\n    if comp and comp.touch then-- Update touch for every component which has it.\r\n        comp.touch.x = xt / gooi.sx\r\n        comp.touch.y = yt / gooi.sy\r\n        if comp.events.m then\r\n            comp.events.m(comp)-- Moven event.\r\n        end\r\n    end\r\n    for k, comp in pairs(gooi.components) do\r\n        comp:setTooltip(nil, true)\r\n    end\r\nend\r\n---------------------------------------------------------------------------------------------\r\nfunction gooi.released(id, xt, yt)\r\n    local c = gooi.getCompWithTouch(id)\r\n    gooi.updateFocus()\r\n    if c then\r\n        if c.type == \"joystick\" then\r\n            c:restore()\r\n        end\r\n        if c.type == \"knob\" then\r\n            c.pivotY = c.yKnob\r\n            c.pivotValue = c.changedValue\r\n        end\r\n        if c:wasReleased() then\r\n            if c.type == \"radio\" then\r\n                c:select()\r\n            elseif c.type == \"checkbox\" then\r\n                c:change()\r\n            elseif c.type == \"spinner\" then\r\n                if c.minPressed then c.minPressed = false end\r\n                if c.plusPressed then c.plusPressed = false end\r\n                c.timerChange, c.timerPreChange, c.amountChange = 0, 0, .1\r\n            end\r\n            if c.events.r then\r\n                c.events.r(c)-- onRelease event.\r\n            end\r\n        end\r\n        c.pressed = false\r\n        c.touch = nil\r\n    end\r\nend\r\n---------------------------------------------------------------------------------------------\r\nfunction gooi.getCompWithTouch(id)\r\n    local comp = nil\r\n    for k, c in pairs(gooi.components) do\r\n        if c.touch then\r\n            if c.touch.id == id then\r\n                comp = c\r\n                break\r\n            end\r\n        else\r\n            if c.pressed then comp = c; break; end\r\n        end\r\n    end\r\n    return comp\r\nend\r\n\r\nfunction gooi.updateFocus()\r\n    local comp = nil\r\n    for k, c in pairs(gooi.components) do\r\n        if c:overIt() and (c.pressed or c.touch) then\r\n            c.hasFocus = true\r\n            comp = c\r\n            break\r\n        end\r\n    end\r\n\r\n    for k, c in pairs(gooi.components) do\r\n        if c ~= comp then\r\n            c.hasFocus = false\r\n            if c.type == \"text\" then\r\n                c.timerCursor = 0\r\n                c.showingCursor = true\r\n            end\r\n        end\r\n    end\r\n\r\n    local tf = gooi.getByType(\"text\")\r\n    local b = false\r\n    for i = 1, #tf do\r\n        if tf[i].hasFocus then b = true end\r\n    end\r\n    if not b then love.keyboard.setTextInput(false) end\r\nend\r\n\r\nfunction gooi.changeFont(font)-- Update font of every component:\r\n    for k, c in pairs(gooi.components) do\r\n        c.font = font\r\n    end\r\nend\r\n\r\nfunction gooi.keypressed(key, scancode, isrepeat)\r\n    if gooi.showingDialog then\r\n        gooi.closeDialog()\r\n    end\r\n\r\n    local fields = gooi.getByType(\"text\")\r\n    for i = 1, #fields do\r\n        local f = fields[i]\r\n        if f == gooi.focused then\r\n            f:typeCode(key)\r\n            f:setToRepeat(key)\r\n        end\r\n    end\r\nend\r\n\r\nfunction gooi.keyreleased(key, scancode)\r\n    local fields = gooi.getByType(\"text\")\r\n    for i = 1, #fields do\r\n        local f = fields[i]\r\n        f.keyToRepeat = nil\r\n        f.timerRepeatKey = 0\r\n        f.timerCanRepeat = 0\r\n    end\r\nend\r\n\r\nfunction gooi.textinput(text)\r\n    local fields = gooi.getByType(\"text\")\r\n    for i = 1, #fields do\r\n        local f = fields[i]\r\n        if f == gooi.focused then\r\n            f:typeText(text)\r\n            if f:specialKey(text) then\r\n                f:setToRepeat(key)\r\n            end\r\n        end\r\n    end\r\nend\r\n\r\n-- Get the focused component (for non touchscreens):\r\nfunction gooi.getFocused()\r\n    local comp = nil\r\n    for k, c in pairs(gooi.components) do\r\n        if c.hasFocus then\r\n            comp = c\r\n            break\r\n        end\r\n    end\r\n    return comp\r\nend\r\n\r\nfunction gooi.checkBounds(text, x, y, w, h, t)\r\n    local newX, newY, newW, newH = x, y, w, h\r\n    if not (w and h) then\r\n        newW = gooi.getFont(self):getWidth(text) + gooi.getFont(self):getHeight()\r\n        newH = gooi.getFont(self):getHeight() * 2\r\n        if t == \"check\" or t == \"text\" or t == \"radio\" then\r\n            newW = newH\r\n        end\r\n        if t == \"spinner\" then\r\n            newW = gooi.getFont(self):getWidth(text)\r\n            newW = newW + newH * 2.5\r\n        end\r\n        if not (x and y) then\r\n            newX, newY = 10, 10\r\n        end\r\n    end\r\n    return newX, newY, newW, newH\r\nend\r\n\r\nfunction gooi.getFont(comp)\r\n    if comp and comp.style and comp.style.font then\r\n        return comp.style.font\r\n    end\r\n    return gooi.font or gooi.defaultFont\r\nend\r\n\r\n\r\n-----------------------\r\n\r\nfunction split(inputstr, sep)\r\n    if sep == nil then\r\n        sep = \"%s\"\r\n    end\r\n    local t={} ; i=1\r\n    for str in string.gmatch(inputstr, \"([^\"..sep..\"]+)\") do\r\n        t[i] = str\r\n        i = i + 1\r\n    end\r\n    return t\r\nend\r\n\r\nfunction invert(color)\r\n    local r, g, b, a = color[1], color[2], color[3], color[4] or 1\r\n    return {1 - r, 1 - g, 1 - b, a}\r\nend\r\n"
  },
  {
    "path": "lib/gooi/init.lua",
    "content": "--[[\r\nCopyright (c) 2012 Matthias Richter\r\n\r\nPermission is hereby granted, free of charge, to any person obtaining a copy\r\nof this software and associated documentation files (the \"Software\"), to deal\r\nin the Software without restriction, including without limitation the rights\r\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\ncopies of the Software, and to permit persons to whom the Software is\r\nfurnished to do so, subject to the following conditions:\r\n\r\nThe above copyright notice and this permission notice shall be included in\r\nall copies or substantial portions of the Software.\r\n\r\nExcept as contained in this notice, the name(s) of the above copyright holders\r\nshall not be used in advertising or otherwise to promote the sale, use or\r\nother dealings in this Software without prior written authorization.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r\nTHE SOFTWARE.\r\n]]--\r\n\r\n\r\nlocal BASE = (...) .. '.'\r\nassert(not BASE:match('%.init%.$'), \"Invalid require path `\"..(...)..\"' (drop the `.init').\")\r\n\r\nreturn {\r\n\tutf8 = require(BASE .. 'utf8'), \r\n\tgooi = require(BASE .. 'gooi'),\r\n\tcomponent = require(BASE .. 'component'),\r\n\tlayout = require(BASE .. 'layout'),\r\n\t------------ components:\r\n\tlabel = require(BASE .. \"label\"),\r\n\tbutton = require(BASE .. \"button\"),\r\n\tslider = require(BASE .. \"slider\"),\r\n\tcheckbox = require(BASE .. \"checkbox\"),\r\n\tradio = require(BASE .. \"radio\"),\r\n\ttext = require(BASE .. \"text\"),\r\n\tbar = require(BASE .. \"bar\"),\r\n\tspinner = require(BASE .. \"spinner\"),\r\n\tjoy = require(BASE .. \"joy\"),\r\n\tknob = require(BASE .. \"knob\"),\r\n\tpanel = require(BASE .. \"panel\"),\r\n}\r\n"
  },
  {
    "path": "lib/gooi/joy.lua",
    "content": "----------------------------------------------------------------------------\n--------------------------   Stick creator   -------------------------------\n----------------------------------------------------------------------------\nfunction gooi.newJoy(params)\n    params = params or {}\n    local s = {}\n    local defSize = gooi.unit * 4\n\n    local x, y, w, h = gooi.checkBounds(\n        \"..........\",\n        params.x or 10,\n        params.y or 10,\n        params.w or defSize,\n        params.h or defSize,\n        \"joystick\"\n    )\n\n    -- Note that the sitck has x and y on the center.\n    s = component.new(\"joystick\", x, y, params.size or defSize, params.size or defSize, params.group)\n    s = gooi.setStyleComp(s)\n    s.radiusCorner = s.h / 2\n    s.deadZone = params.deadZone or 0 -- Given in percentage (0 to 1).\n    if s.deadZone < 0  then s.deadZone = 0 end\n    if s.deadZone > 1  then s.deadZone = 1 end\n    s.stickPressed = false\n    s.dx, s.dy = 0, 0\n    s.spring = true\n    s.sxImg, s.syImg = 1, 1\n    s.digitalH, s.digitalV = \"\", \"\"\n    function s:drawSpecifics(fg)\n        love.graphics.setColor(fg)\n        self:drawStick()\n    end\n    function s:rebuild()\n        self.r = self.smallerSide / 2\n        self.rStick = self.r / 2\n        self.xStick = (self.x) + (self.r)\n        self.yStick = (self.y) + (self.r)\n        --self:generateBorder()\n    end\n    s:rebuild()\n    function s:setImage(image)\n        if image then\n            if type(image) == \"string\" then\n                image = love.graphics.newImage(image)\n            end\n            self.image = image\n            self.image:setFilter(\"linear\", \"linear\")\n        end\n        return self\n    end\n    s:setImage(params.image)\n    function s:noScaling()\n        self.notS = true\n        return self\n    end\n    function s:anyPoint()\n        self.anyP = true\n        return self\n    end\n\n    function s:setDigital(directions)-- 4 or 8\n        if directions and\n        directions ~= \"4\" and\n        directions ~= \"8\" then\n\n        end\n        self.digital = directions or \"8\"\n        return self\n    end\n    function s:drawStick()\n        local fg = self.style.fgColor\n        if self.image then\n            love.graphics.setColor(1, 1, 1, fg[4] or 1)\n            local sx = self.rStick * 2 / self.image:getWidth()\n            local sy = self.rStick * 2 / self.image:getHeight()\n            local x, y = self.xStick, self.yStick\n            if self.notS then\n                sx, sy = 1, 1\n                x, y = (self.xStick), (self.yStick)\n            end\n\n            if self.digital then\n                x, y = self:computeDigital()\n            end\n\n            love.graphics.draw(self.image,\n                math.floor(x), math.floor(y),\n                0, sx, sy,\n                self.image:getWidth() / 2,\n                self.image:getHeight() / 2)\n        else\n            local x = self.xStick\n            local y = self.yStick\n\n            if self.digital then\n                x, y = self:computeDigital()\n            end\n            love.graphics.circle(\"line\", math.floor(x), math.floor(y), self.rStick, circleRes)\n        end\n    end\n    function s:computeDigital()\n        -- horizontal directions:\n        local xv = self:xValue()\n        local yv = self:yValue()\n\n        if self.digital == \"8\" then\n            -- horizontal direction:\n            if xv < -0.5 then\n                self.digitalH = \"l\"\n                x = self.x + self.rStick\n            elseif xv > 0.5 then\n                self.digitalH = \"r\"\n                x = self.x + self.w - self.rStick\n            else\n                self.digitalH = \"\"\n                x = self.x + self.w / 2\n            end\n            --vertical:\n            if yv < -0.5 then\n                self.digitalV = \"t\"\n                y = self.y + self.rStick\n            elseif yv > 0.5 then\n                self.digitalV = \"b\"\n                y = self.y + self.h - self.rStick\n            else\n                self.digitalV = \"\"\n                y = self.y + self.h / 2\n            end\n        elseif self.digital == \"4\" then-- 4 directions joystick:\n            --ToDo\n        end\n\n        return x, y\n    end\n    function s:move(direction)\n        if (self.pressed or self.touch) and self.stickPressed then\n            local daX, daY = love.mouse.getPosition()\n            daX = daX / gooi.sx\n            daY = daY / gooi.sy\n            if self.touch then\n                daX, daY = self.touch.x, self.touch.y\n            end\n            if self:butting() then\n                local dX = self:theX() - daX - self.dx\n                local dY = self:theY() - daY - self.dy\n                local angle = (math.atan2(dY, dX) + math.rad(180));\n                self.xStick = self.x + (self.r - self.rStick) * math.cos(angle) + self.r\n                self.yStick = self.y + (self.r - self.rStick) * math.sin(angle) + self.r\n            else\n                self.xStick, self.yStick = daX + self.dx, daY + self.dy\n            end\n        end\n    end\n    function s:restore()\n        if self.spring then\n            self.xStick, self.yStick = self:theX(), self:theY()\n        end\n        self.stickPressed = false\n        self.dx = 0\n        self.dy = 0\n    end\n    function s:noSpring()\n        self.spring = false\n        return self\n    end\n    function s:butting()\n        local hyp = 0\n        local daX, daY = love.mouse.getPosition()\n        daX = daX / gooi.sx\n        daY = daY / gooi.sy\n        if self.touch then\n            daX, daY = self.touch.x, self.touch.y\n        end\n        hyp = math.sqrt(\n            math.pow(self:theX() - daX - self.dx, 2) +\n            math.pow(self:theY() - daY - self.dy, 2))\n        return hyp >= self.r - self.rStick\n    end\n    -- Get numbers with presicion of two decimals:\n    function s:xValue()\n        if self:onDeadZone() then return 0 end\n        return gooi.round((self.xStick - self:theX()) / (self.r - self.rStick), 2)\n    end\n    function s:yValue()\n        if self:onDeadZone() then return 0 end\n        return gooi.round((self.yStick - self:theY()) / (self.r - self.rStick), 2)\n    end\n    function s:direction()\n        if self.digital then\n            return self.digitalV..self.digitalH\n        else\n            return \"\"\n        end\n    end\n    function s:overStick(x, y)\n        local dx = (self.xStick - x)\n        local dy = (self.yStick - y)\n        return math.sqrt(math.pow(dx, 2) + math.pow(dy, 2)) < self.rStick * 1.1\n    end\n    function s:onDeadZone()\n        local dx, dy = self:theX() - self.xStick, self:theY() - self.yStick\n        return math.sqrt(math.pow(dx, 2) + math.pow(dy, 2)) <= self.deadZone * (self.r - self.rStick)\n    end\n    function s:theX() return (self.x) + (self.r) end\n    function s:theY() return (self.y) + (self.r) end\n\n\n\n    return gooi.storeComponent(s, id)\nend\n"
  },
  {
    "path": "lib/gooi/knob.lua",
    "content": "----------------------------------------------------------------------------\n--------------------------   Knob creator   --------------------------------\n----------------------------------------------------------------------------\nfunction gooi.newKnob(params)\n    params = params or {}\n    local k = {}\n    local defSize = gooi.unit * 3\n\n    local x, y, w, h = gooi.checkBounds(\n        \"..........\",\n        params.x or 10,\n        params.y or 10,\n        params.size or defSize,\n        params.size or defSize,\n        \"knob\"\n    )\n\n    k = component.new(\"knob\", x, y, w, h, params.group)\n    k = gooi.setStyleComp(k)\n    k.radKnob = (k.h * .4)\n    k.xKnob = (k.x + k.w / 2)\n    k.yKnob = (k.y + k.h / 2)\n    k.pivotY = k.yKnob\n    k.pivotValue = params.value or 0.5\n    k.changedValue = params.value or 0.5\n    k.value = k.pivotValue\n\n    k.initialAngle = 0\n    k.finalAngle = 360\n\n    function k:getValue()\n        return gooi.round(self.value, 2)\n    end\n\n    function k:setValue(v)\n        if v > 1 then v = 1 end\n        if v < 0 then v = 0 end\n\n        k.pivotValue = v\n        k.changedValue = v\n        k.value = v\n    end\n\n    function k:drawSpecifics(fg)\n        local bg = self.style.bgColor\n        love.graphics.setColor(0, 0, 0)\n        love.graphics.arc(\"line\",\n            \"open\",\n            math.floor(self.xKnob),\n            math.floor(self.yKnob),\n            self.radKnob,\n            math.rad(180 + self.finalAngle * self.value),\n            math.rad(180 + self.finalAngle),\n            circleRes * 2)\n\n        love.graphics.setColor(fg)\n        if not self.enabled then\n            love.graphics.setColor(1/4, 1/4, 1/4)\n        end\n        love.graphics.arc(\"line\",\n        \"open\",\n        math.floor(self.xKnob),\n        math.floor(self.yKnob),\n        self.radKnob,\n        math.rad(180 + self.initialAngle),\n        math.rad(180 + self.finalAngle * self.value),\n        circleRes * 2)\n    end\n\n    function k:turn()\n        local x, y = love.mouse.getX() / gooi.sx, love.mouse.getY() / gooi.sy\n        local centerX, centerY = self.x + self.w / 2, self.y + self.h / 2\n\n        local startAngle = self.value\n\n        if self.touch then\n            x, y = self.touch.x, self.touch.y\n        end\n\n        local angle = math.atan2((centerY - y), (centerX - x)) / 2 / math.pi\n\n        --math.atan goes negative after 180 degrees\n        if angle < 0 then\n            angle = 1 + angle\n        end\n\n        --If it's at the start or the end, keep it there within the first and last quarter\n        if startAngle < .25 and angle > .75 then\n            self.changedValue = 0\n        elseif angle < .25 and startAngle > .75 then\n            self.changedValue = 1\n        else\n            self.changedValue = angle\n        end\n\n        if self.changedValue > 1 then self.changedValue = 1 end\n        if self.changedValue < 0 then self.changedValue = 0 end\n\n        self.value = self.changedValue\n    end\n\n    function k:rebuild()\n        self.radKnob = (self.h * .4)\n        self.xKnob = (self.x + self.w / 2)\n        self.yKnob = (self.y + self.h / 2)\n        self.pivotY = self.yKnob\n    end\n    k:rebuild()\n\n    return gooi.storeComponent(k, id)\nend\n"
  },
  {
    "path": "lib/gooi/label.lua",
    "content": "----------------------------------------------------------------------------\n----------------------------------------------------------------------------\n--------------------------   Label creator  --------------------------------\n----------------------------------------------------------------------------\nfunction gooi.newLabel(params)\n    params = params or {}\n    local l = {}\n    defaultText = \"new label\"\n\n    local x, y, w, h = gooi.checkBounds(\n        params.text or defaultText,\n        params.x or 10,\n        params.y or 10,\n        params.w or gooi.getFont():getWidth(params.text or defaultText),\n        params.h or gooi.getFont():getHeight() * 2,\n        \"label\"\n    )\n\n    l = component.new(\"label\", x, y, w, h, params.group)\n    l = gooi.setStyleComp(l)\n    l.opaque = false\n    l.text = params.text or defaultText\n    l.icon = params.icon\n    if l.icon then\n        if type(l.icon) == \"string\" then\n            l.icon = love.graphics.newImage(l.icon)\n        end\n        if l.text:len() > 0 then\n            l.w = l.w + l.icon:getWidth()\n        end\n    end\n    l.textParts = split(l.text, \"\\n\")\n    function l:rebuild()\n        --self:generateBorder()\n    end\n    l:rebuild()\n    function l:setText(value)\n        if not value then value = \"\" end\n        self.text = tostring(value)\n        self.textParts = split(self.text, \"\\n\")\n        return self\n    end\n    function l:largerLine()\n        local line = self.textParts[1] or \"\"\n\n        for i = 2, #self.textParts do\n            if #self.textParts[i] > #line then\n                line = self.textParts[i]\n            end\n        end\n\n        return line\n    end\n    function l:drawSpecifics(fg)\n        local t = self:largerLine() or \"\"\n        -- Right by default:\n        local x = self.x + self.w - gooi.getFont(self):getWidth(t) - self.h / 2\n        local y = (self.y + self.h / 2) - (gooi.getFont(self):getHeight() / 2)\n        if self.align == gooi.l then\n            x = self.x + self.h / 2\n            if self.icon then\n                x = x + self.h / 2\n            end\n        elseif self.align == \"center\" then\n            x = (self.x + self.w / 2) - (gooi.getFont(self):getWidth(t) / 2)\n        end\n        if self.icon then\n            local xImg = math.floor(self.x + self.h / 2)\n            love.graphics.setColor(1, 1, 1)\n            if not self.enabled then love.graphics.setColor(1/4, 1/4, 1/4) end\n            if t:len() == 0 then\n                xImg = math.floor(self.x + self.w / 2)\n            end\n            love.graphics.draw(self.icon, xImg, math.floor(self.y + self.h / 2), 0, 1, 1,\n                math.floor(self.icon:getWidth() / 2),\n                math.floor(self.icon:getHeight() / 2))\n        end\n        love.graphics.setColor(fg)\n        local yLine = self.y + self.h / 2\n        yLine = yLine - (gooi.getFont(self):getHeight()) * #self.textParts / 2\n        for i = 1, #self.textParts do\n            local part = self.textParts[i]\n\n            local xLine = self.x + self.w - gooi.getFont(self):getWidth(part) - self.h / 2\n            if self.align == gooi.l then\n                xLine = self.x + self.h / 2\n                if self.icon then\n                    xLine = xLine + self.h /2\n                end\n            elseif self.align == \"center\" then\n                xLine = (self.x + self.w / 2) - (gooi.getFont(self):getWidth(part) / 2)\n            end\n            love.graphics.print(part,\n                math.floor(xLine),\n                math.floor(yLine))\n\n            yLine = yLine + (gooi.getFont(self):getHeight())\n        end\n        --love.graphics.print(self.text, math.floor(x), math.floor(y))\n    end\n    function l:left()\n        self.align = gooi.l\n        return self\n    end\n    function l:center()\n        self.align = \"center\"\n        return self\n    end\n    function l:right()\n        self.align = gooi.r\n        return self\n    end\n    l:right()\n    function l:setIcon(icon)\n        if type(icon) == \"string\" then\n            icon = love.graphics.newImage(icon)\n        end\n        self.icon = icon\n        --self.w = self.w + self.icon:getWidth()\n        return self\n        -- body\n    end\n    return gooi.storeComponent(l, id)\nend\n"
  },
  {
    "path": "lib/gooi/layout.lua",
    "content": "layout = {}\nlayout.__index = layout\nlayout.padding = 5\nlayout.paddingGrid = 3\nfunction layout.new(specs)\n\tlocal l ={}\n\tl.specs = specs\n\tl.padding = layout.padding\n\tif l.specs:sub(0, 4) == \"grid\" then\n\t\tlocal function split(inputstr, sep)\n\t\t\tif sep == nil then\n\t\t\t\tsep = \"%s\"\n\t\t\tend\n\t\t\tlocal t={} ; i=1\n\t\t\tfor str in string.gmatch(inputstr, \"([^\"..sep..\"]+)\") do\n\t\t\t\tt[i] = str\n\t\t\t\ti = i + 1\n\t\t\tend\n\t\t\treturn t\n\t\tend\n\t\t-- Separate 'grid' and size 'MxN':\n\t\tlocal aux = split(l.specs, \" \")\n\t\tl.kind = aux[1]\n\t\tl.size = aux[2]\n\t\tl.debug = false\n\t\tl.gridRows = tonumber(split(l.size, \"x\")[1])\n\t\tl.gridCols = tonumber(split(l.size, \"x\")[2])\n\t\tl.gridCells = {}\n\t\tl.indexRow, l.indexCol = 1, 0\n\n\t\t-- Debug:\n\t\tfunction l:drawCells()\n\t\t\tif self.debug then\n\t\t\t\tfor i = 1, self.gridRows do\n\t\t\t\t\tfor j = 1, self.gridCols do\n\t\t\t\t\t\tlocal cell = self.gridCells[i][j]\n\t\t\t\t\t\tif cell.on then\n\t\t\t\t\t\t\tlove.graphics.setColor(1, 0, 1)\n\t\t\t\t\t\t\tlove.graphics.rectangle(\"line\", cell.x, cell.y, cell.w, cell.h)\n\t\t\t\t\t\tend\n\t\t\t\t\tend\n\t\t\t\tend\n\t\t\tend\n\t\tend\n\n\t\tfunction l:nextCell(c)\n\t\t\t--print(\"nextCell: \"..self.indexGrid..\", in: \"..#self.gridCells)\n\t\t\tlocal function generateNext()\n\t\t\t\tself.indexCol = self.indexCol + 1\n\t\t\t\tif self.indexCol > self.gridCols then\n\t\t\t\t\tself.indexCol = 1\n\t\t\t\t\tself.indexRow = self.indexRow + 1\n\t\t\t\tend\n\t\t\t\tif self.gridCells[self.indexRow] and self.gridCells[self.indexRow][self.indexCol] then\n\t\t\t\t\t--print(c.text or \"(nil)\", self.indexRow, self.indexCol)\n\t\t\t\t\treturn self.gridCells[self.indexRow][self.indexCol].on\n\t\t\t\tend\n\t\t\tend\n\t\t\twhile not generateNext() do end-- Ignore the not usable cells.\n\t\t\treturn self.gridCells[self.indexRow][self.indexCol]\n\t\tend\n\t\tfunction l:getCell(row, col)\n\t\t\tfor i = 1, self.gridRows do\n\t\t\t\tfor j = 1, self.gridCols do\n\t\t\t\t\tif self.gridCells[i][j].row == row and self.gridCells[i][j].col == col then\n\t\t\t\t\t\treturn self.gridCells[i][j]\n\t\t\t\t\tend\n\t\t\t\tend\n\t\t\tend\n\t\tend\n\t\tfunction l:offCellsInTheWay(spanType, row, col, size)\n\t\t\tif spanType == \"rowspan\" then\n\t\t\t\tfor i = row + 1, row + size - 1 do\n\t\t\t\t\tfor j = col, col + self.gridCells[row][col].colspan - 1 do\n\t\t\t\t\t\tself.gridCells[i][j].on = false\n\t\t\t\t\tend\n\t\t\t\tend\n\t\t\telseif spanType == \"colspan\" then\n\t\t\t\tfor i = col + 1, col + size - 1 do\n\t\t\t\t\tfor j = row, row + self.gridCells[row][col].rowspan - 1 do\n\t\t\t\t\t\tself.gridCells[j][i].on = false\n\t\t\t\t\tend\n\t\t\t\tend\n\t\t\tend\n\t\tend\n\t\tfunction l:init(panel)\n      local pad = self.paddingGrid * 2\n      local fw, fh = panel.w - pad, panel.h - pad\n\t\t\tfor theRow = 1, self.gridRows do\n\t\t\t\tself.gridCells[theRow] = {}\n\t\t\t\tfor theCol = 1, self.gridCols do\n\t\t\t\t\tself.gridCells[theRow][theCol] =\n\t\t\t\t\t{\n\t\t\t\t\t\ton = true,\n\t\t\t\t\t\tx = math.floor(panel.x + ((theCol - 1) * fw / self.gridCols)) + pad,\n\t\t\t\t\t\ty = math.floor(panel.y + ((theRow - 1) * fh / self.gridRows)) + pad,\n\t\t\t\t\t\tw = (fw / self.gridCols) - pad,\n\t\t\t\t\t\th = (fh / self.gridRows) - pad,\n\t\t\t\t\t\trow = theRow,\n\t\t\t\t\t\tcol = theCol,\n\t\t\t\t\t\trowspan = 1,\n\t\t\t\t\t\tcolspan = 1,\n            padding = self.paddingGrid\n\t\t\t\t\t}\n\t\t\t\tend\n\t\t\tend\n\t\tend\n\telseif l.specs:sub(0, 4) == \"game\" then\n\t\tl.kind = \"game\"\n\t\tl.padding = l.padding * 2\n\t\tl.components =\n\t\t{\n\t\t\t[\"t-l\"] = {},\n\t\t\t[\"t-r\"] = {},\n\t\t\t[\"b-l\"] = {},\n\t\t\t[\"b-r\"] = {}\n\t\t}\n\t\tfunction l:suit(panel, ref, position)\n\t\t\tlocal widthAccrued = self.padding\n\t\t\tfor i = 1, #self.components[position] do\n\t\t\t\twidthAccrued = widthAccrued + (self.components[position][i].w + self.padding)\n\t\t\tend\n\t\t\ttable.insert(self.components[position], ref)\n\n\t\t\t-- Set bounds according to position:\n\n\t\t\tlocal x, y = panel.x, panel.y + self.padding\n\t\t\tif position == \"t-l\" or position == \"b-l\" then\n\t\t\t\twidthAccrued = widthAccrued\n\t\t\t\tx = x + widthAccrued\n\t\t\telseif position == \"t-r\" or position == \"b-r\" then\n\t\t\t\tx = x + panel.w - widthAccrued - ref.w\n\t\t\tend\n\t\t\tif position == \"b-l\" or position == \"b-r\" then\n\t\t\t\ty = y + panel.h - (ref.h + self.padding * 2)\n\t\t\tend\n\n\t\t\tref:setBounds(x, y, ref.w, ref.h)\n\t\tend\n\tend\n\treturn setmetatable(l, layout)\nend"
  },
  {
    "path": "lib/gooi/panel.lua",
    "content": "----------------------------------------------------------------------------\n--------------------------   Panel creator   -------------------------------\n----------------------------------------------------------------------------\nfunction gooi.newPanel(params)\n    params = params or {}\n    local p = {}\n    local defLayout = \"grid 3x3\"\n\n    local x, y, w, h = gooi.checkBounds(\n        \"..........\",\n        params.x or 10,\n        params.y or 10,\n        params.w or gooi.unit * 5,\n        params.h or gooi.unit * 5,\n        \"panel\"\n    )\n\n    p = component.new(\"panel\", x, y, w, h, params.group)\n    p = gooi.setStyleComp(p)\n    p.opaque = false\n    p.x = x\n    p.y = y\n    p.w = w\n    p.h = h\n    p.sons = {}\n    function p:setLayout(l)\n        if l then\n            if l:sub(0, 4) == \"grid\" then\n                p.layout = layout.new(l)\n                p.layout:init(p)\n            elseif l:sub(0, 4) == \"game\" then\n                p.layout = layout.new(l)\n            else\n                error(\"Layout definition must be 'grid NxM' or 'game'\")\n            end\n            --print(unpack(split(theLayout, \" \")))\n        else\n            p.layout = layout.new(defLayout)\n            p.layout:init(p)\n        end\n        return self\n    end\n    p:setLayout(params.layout or defLayout)\n    function p:debug()\n        self.layout.debug = true\n        return self\n    end\n    function p:drawSpecifics(fg)\n        if self.layout.kind == \"grid\" then\n            love.graphics.setColor(0, 0, 0, 0.5)\n            self.layout:drawCells()\n        end\n    end\n    function p:rebuild()\n        if self.layout.kind == \"grid\" then\n            self.layout:init(self)\n        end\n    end\n    --p:rebuild()\n    function p:add(...)\n        local params = {...}\n        if self.layout.kind == \"grid\" then\n            if type(params[2]) == \"string\" then-- Add component in a given position:\n                local row = split(params[2], \",\")[1]\n                local col = split(params[2], \",\")[2]\n                local cell = self.layout:getCell(tonumber(row), tonumber(col))\n\n                if not cell then\n                    error(\"Row \"..row..\" and Col \"..col..\" not defined\")\n                end\n\n                local c = params[1]\n                -- Set bounds according to the parent layout:\n                c:setBounds(cell.x, cell.y, cell.w, cell.h)\n\n                -- Save son:\n                table.insert(self.sons,\n                {\n                    id = c.id,\n                    parentId = self.id,\n                    cellRow = cell.row,\n                    cellCol = cell.col,\n                    ref = c\n                })\n                if not self.visible then\n                    c:setVisible(false)\n                end\n\n                c.ongrid = true\n                cell.on = false\n\n                -- Joysticks are always a square or cirle:\n                if c.type == \"joystick\" then\n                    c.w = c.smallerSide\n                    c.h = c.smallerSide\n                end\n\n                if c.rebuild then c:rebuild() end\n                if c.type == \"joystick\" then\n                    -- Workaround for joysticks:\n                    c.pressed = true\n                    c.stickPressed = true\n                    c:restore()\n                    c.stickPressed = false\n                    c.pressed = false\n                end\n            else-- Add component in the next available cell:\n                for i = 1, #params do\n                    local c = params[i]\n                    local cell = self.layout:nextCell(c)\n\n\n\n                    if not cell then\n                        error(\"Insufficient cells in grid layout\")\n                    end\n\n                    -- Set bounds according to the parent layout:\n                    c:setBounds(cell.x, cell.y, cell.w, cell.h)\n                    c.ongrid = true\n                    --print(\"cell: \", c.x, c.y)\n\n                    -- Save child:\n                    table.insert(self.sons, {\n                        id = c.id,\n                        parentId = self.id,\n                        cellRow = cell.row,\n                        cellCol = cell.col,\n                        ref = c\n                    })\n                    if not self.visible then\n                        c:setVisible(false)\n                    end\n\n                    -- Joysticks are always a square or cirle:\n                    if c.type == \"joystick\" then\n                        c.w = c.smallerSide\n                        c.h = c.smallerSide\n                    end\n\n                    if c.rebuild then c:rebuild() end\n                    if c.type == \"joystick\" then\n                        -- Workaround for joysticks:\n                        c.pressed = true\n                        c.stickPressed = true\n                        c:restore()\n                        c.stickPressed = false\n                        c.pressed = false\n                    end\n                end\n            end\n        elseif self.layout.kind == \"game\" then\n            local ref = params[1]\n            local position = params[2]\n            if not(\n                position == \"t-l\" or\n                position == \"t-r\" or\n                position == \"b-l\" or\n                position == \"b-r\")\n            then\n                error(\"valid positions are: 't-l', 't-r', 'b-l' and 'b-r'\")\n            end\n            self.layout:suit(self, ref, position)\n            -- Save son:\n            ref.ongame = true\n            table.insert(self.sons,\n            {\n                id = ref.id,\n                parentId = self.id,\n                cellRow = -1,\n                cellCol = -1,\n                ref = ref\n            })\n            if not self.visible then\n                ref:setVisible(false)\n            end\n            if ref.rebuild then ref:rebuild() end\n        end\n        return self\n    end\n    function p:changePadding(padding)\n        -- body\n    end\n    function p:changeSpan(spanType, row, col, size)\n        local l = self.layout\n        if l.kind ~= \"grid\" then\n            error(\"Panel \"..self.id..\" has not a grid layout\")\n        else\n            local point, limit\n            if spanType == \"rowspan\" then point, limit = row, l.gridRows end\n            if spanType == \"colspan\" then point, limit = col, l.gridCols end\n            -- Check for a valid size:\n            if (point + size - 1) > limit then\n                error(\"Invalid rowspan size, max allowed for this row index: \"..(limit - point))\n            else\n                local cell = l:getCell(row, col)\n                -- Resize cell according to the new span:\n                if spanType == \"rowspan\"  then\n                    cell.h = cell.h * size + (cell.padding * 2 * (size - 1))\n                    cell.rowspan = size\n                end\n                if spanType == \"colspan\"  then\n                    cell.w = cell.w * size + (cell.padding * 2 * (size - 1))\n                    cell.colspan = size\n                end\n                -- Turn 'off' the cells which are in the way of the rowspan:\n                l:offCellsInTheWay(spanType, row, col, size)\n            end\n            return self\n        end\n    end\n    function p:setRowspan(row, col, size)\n        return self:changeSpan(\"rowspan\", row, col, size)\n    end\n    function p:setColspan(row, col, size)\n        return self:changeSpan(\"colspan\", row, col, size)\n    end\n\n    return gooi.storeComponent(p, id)\nend\n"
  },
  {
    "path": "lib/gooi/radio.lua",
    "content": "----------------------------------------------------------------------------\n----------------------------------------------------------------------------\n--------------------------   Radio button creator   ------------------------\n----------------------------------------------------------------------------\nfunction gooi.newRadio(params)\n    params = params or {}\n    local r = {}\n\n    local x, y, w, h = gooi.checkBounds(\n        params.text or \"\",\n        params.x or 10,\n        params.y or 10,\n        params.w or gooi.getFont():getHeight() * 2,\n        params.h or gooi.getFont():getHeight() * 2,\n        \"radio\"\n    )\n\n    r = component.new(\"radio\", x, y, w, h, params.group)\n    r = gooi.setStyleComp(r)\n    r.selected = params.selected or false\n    r.text = params.text or \"\"\n    r.radioGroup = params.radioGroup or \"default\"\n    function r:rebuild()\n        --self:generateBorder()\n        if self.text == \"\" then\n            self.w = self.h\n        end\n    end\n    r:rebuild()\n    function r:drawSpecifics(fg)\n        local mC = self.h / 6 -- Margin corner.\n        local side = self.h - mC * 2\n\n        love.graphics.setColor(0, 0, 0)\n        if self.selected then\n            love.graphics.setColor(fg)\n        end\n        gooi.drawInnerShape(self, \"fill\", mC, side)\n\n        love.graphics.setColor(fg)\n        if self.selected then\n            love.graphics.setColor(0, 0, 0)\n        end\n        gooi.drawInnerShape(self, \"line\", mC, side)\n\n        love.graphics.setColor(fg)\n        love.graphics.print(self.text,\n            math.floor(self.x + self.h * 1.2),\n            math.floor(self.y + self.h / 2 - gooi.getFont(self):getHeight() / 2))\n    end\n    function r:setRadioGroup(g)\n        self.radioGroup = g\n        return self\n    end\n    function r:select()\n        self.selected = true\n        gooi.deselectOtherRadios(self.radioGroup, self.id)\n        self.selected = true\n        return self\n    end\n    return gooi.storeComponent(r, id)\nend\n"
  },
  {
    "path": "lib/gooi/slider.lua",
    "content": "----------------------------------------------------------------------------\n----------------------------------------------------------------------------\n--------------------------   Slider creator  -------------------------------\n----------------------------------------------------------------------------\nfunction gooi.newSlider(params)\n    params = params or {}\n    local s = {}\n\n    local x, y, w, h = gooi.checkBounds(\n        params.value or 0.5,\n        params.x or 10,\n        params.y or 10,\n        params.w or gooi.unit * 5,\n        params.h or gooi.getFont():getHeight() * 2,\n        \"slider\"\n    )\n\n    s = component.new(\"slider\", x, y, w, h, params.group)\n    s = gooi.setStyleComp(s)\n    s.value = params.value or 0.5\n    s.mode = \"h\"-- Horizontal\n\n    if s.value < 0 then s.value = 0 end\n    if s.value > 1 then s.value = 1 end\n\n    -- Correct slider bounds:\n    --if s.h >= s.w then s.w = s.h * 1.1 end\n\n    s.displacement = (s.w - s.h) * s.value\n    function s:drawSpecifics(fg)\n        if self.mode == \"v\" then\n            local mC = self.w / 6 -- Margin corner.\n            local side = self.w - mC * 2\n\n            love.graphics.setColor(fg)\n            local ls = self.h - self.w -- line space\n\n            local x1Line = self.x + self.w / 2\n            local y1Line = self.y + self.h - self.w / 2\n            local x2Line = self.x + self.w / 2\n            local y2Line = self.y + self.h - (\n                self.w / 2 + self.value * ls\n            )\n\n            if y2Line < y1Line then\n                love.graphics.line(x1Line, y1Line, x2Line, y2Line)\n            end\n            local compSide = (side / (2 - self.value))\n            for k, v in pairs({\"fill\", \"line\"}) do\n                love.graphics.rectangle(v,\n                    x1Line - compSide / 2,\n                    math.floor((y1Line - ls * self.value) - compSide / 2),\n                    compSide,\n                    compSide,\n                    self.style.innerRadius,\n                    self.style.innerRadius,\n                    circleRes\n                )\n            end\n        else\n            local mC = self.h / 6 -- Margin corner.\n            local side = self.h - mC * 2\n\n            love.graphics.setColor(fg)\n            local ls = self.w - self.h -- line space\n\n            local x1Line = self.x + self.h / 2\n            local y1Line = self.y + self.h / 2\n            local x2Line = self.x + self.h / 2 + self.value * ls\n            local y2Line = self.y + self.h / 2\n\n            if x2Line > x1Line then\n                love.graphics.line(x1Line, y1Line, x2Line, y2Line)\n            end\n            local compSide = (side / (2 - self.value))\n            for k, v in pairs({\"fill\", \"line\"}) do\n                love.graphics.rectangle(v,\n                    math.floor((x1Line + ls * self.value) - compSide / 2),\n                    y1Line - compSide / 2,\n                    compSide,\n                    compSide,\n                    self.style.innerRadius,\n                    self.style.innerRadius,\n                    circleRes\n                )\n            end\n        end\n    end\n    function s:vertical()\n        self.mode = \"v\"-- Vertical\n        return self\n    end\n    function s:updateGUI()\n        local thePos = love.mouse.getX() / gooi.sx\n        if self.mode == \"v\" then\n            thePos = love.mouse.getY() / gooi.sy\n        end\n\n        if self.touch then\n            thePos = self.touch.x\n            if self.mode == \"v\" then\n                thePos = self.touch.y\n            end\n        end\n\n        self.displacement = (thePos - (self.x + self.h / 2))\n        if self.displacement > (self.w - self.h) then self.displacement = self.w - self.h end\n        if self.displacement < 0 then self.displacement = 0 end\n        self.value = self.displacement / (self.w - self.h)\n\n        if self.mode == \"v\" then\n            self.displacement = (thePos - (self.y + self.w / 2))\n            if self.displacement > (self.h - self.w) then self.displacement = self.h - self.w end\n            if self.displacement < 0 then self.displacement = 0 end\n            self.value = 1 - self.displacement / (self.h - self.w)\n        end\n    end\n    function s:setValue(v)\n        if v < 0 then v = 0 end\n        if v > 1 then v = 1 end\n        self.value = v\n        return self\n    end\n    function s:getValue()\n        return gooi.round(self.value, 2)\n    end\n    function s:rebuild()\n        --self:generateBorder()\n        self:setValue(params.value or 0.5)\n    end\n    s:rebuild()\n    return gooi.storeComponent(s, id)\nend\n"
  },
  {
    "path": "lib/gooi/spinner.lua",
    "content": "----------------------------------------------------------------------------\n--------------------------   Spinner creator   -----------------------------\n----------------------------------------------------------------------------\n\nfunction gooi.newSpinner(params)\n    params = params or {}\n    local s = {}\n\n    local x, y, w, h = gooi.checkBounds(\n        \"..........\",\n        params.x or 10,\n        params.y or 10,\n        params.w or gooi.unit * 5,\n        params.h or gooi.getFont():getHeight() * 2,\n        \"spinner\"\n    )\n\n    local v = params.value or 5\n    local maxv = params.max or 10\n    s = component.new(\"spinner\", x, y, w, h, params.group)\n    s = gooi.setStyleComp(s)\n    s.value = v\n    s.realValue = s.value\n    s.max = maxv\n    s.min = params.min or 0\n    s.minPressed, s.plusPressed = false, false\n    s.amountChange = .1\n    s.timerChange = 0\n    s.timerPreChange = 0\n    if s.value > s.max or s.value < s.min then\n        error(\"Error in gooi.newSpinner(), value out of range.\")\n    end\n    if s.min > s.max then\n        error(\"Error in gooi.newSpinner(), min value it's greater than max value\")\n    end\n    function s:rebuild()\n        -- Coords for minus and plus buttons:\n        self.step = step or 1\n        self.xMin = self.x + self.h / 2\n        self.yMin = self.y + self.h / 2\n        self.xPlus = self.x + self.w - self.h / 2\n        self.yPlus = self.y + self.h / 2\n        self.radCirc = self.h * .4\n        -- Correct bounds:\n        if self.h >= self.w then self.w = self.h * 1.1 end\n    end\n    s:rebuild()\n    function s:drawSpecifics(fg)\n        local mC = self.h / 6 -- Margin corner.\n        local side = self.h - mC * 2\n        local modes = {\"fill\", \"line\"}\n\n        for i = 1, 2 do\n            love.graphics.setColor(fg)\n            love.graphics.rectangle(modes[i],\n                math.floor(self.x + mC + side / 4),\n                (self.y + mC + side / 4),\n                (side / 2),\n                (side / 2),\n                self.style.innerRadius,\n                self.style.innerRadius,\n                circleRes\n            )\n            love.graphics.rectangle(modes[i],\n                math.floor(self.x + self.w - mC - side),\n                (self.y + mC),\n                (side),\n                (side),\n                self.style.innerRadius,\n                self.style.innerRadius,\n                circleRes\n            )\n        end\n\n        if not self.enabled then\n            love.graphics.setColor(0, 0, 0)\n        end\n        local t = tostring(self.value)\n        local x = (self.x + self.w / 2) - (gooi.getFont(self):getWidth(t) / 2)\n        local y = (self.y + self.h / 2) - (gooi.getFont(self):getHeight() / 2)\n\n        love.graphics.setColor(fg)\n        love.graphics.print(t, math.floor(x), math.floor(y))\n    end\n    function s:overMinus(x, y)\n        return self:overIt() and x < (self.x + self.w / 2)\n    end\n    function s:overPlus(x, y)\n        return self:overIt() and x >= (self.x + self.w / 2)\n    end\n    function s:plus()\n        self:changeValue(1)\n    end\n    function s:minus()\n        self:changeValue(-1)\n    end\n    function s:getValue()\n        return gooi.round(self.value, 2)\n    end\n    function s:setValue(v)\n        self.value = v\n        self.realValue = v\n    end\n    function s:changeValue(sense)\n        local newV = self.value + self.step * sense\n        if newV <= self.max and newV >= self.min then\n            self.value = newV\n        end\n        self.realValue = self.value\n\n        if self.value > self.max then self.value = self.max end\n        if self.value < self.min then self.value = self.min end\n        return self\n    end\n    function s:update(dt)\n        self.timerPreChange = self.timerPreChange + dt\n        if self.timerPreChange > .4 then\n            self.timerChange = self.timerChange + dt\n\n            self.amountChange = self.amountChange - dt / 30\n            if self.amountChange < .02 then self.amountChange = .02 end\n            if self.timerChange >= self.amountChange then\n                local sense = 1\n                if self.minPressed then sense = -1 end\n                self:changeValue(sense)\n                self.timerChange = 0\n            end\n        end\n    end\n    return gooi.storeComponent(s, id)\nend\n"
  },
  {
    "path": "lib/gooi/text.lua",
    "content": "----------------------------------------------------------------------------\n----------------------------------------------------------------------------\n----------------------------------------------------------------------------\n--------------------------   Textfield creator   ---------------------------\n----------------------------------------------------------------------------\n--function gooi.newText(id, text, x, y, w, h, group)\n--function gooi.newText(text, x, y, w, h)\nfunction gooi.newText(params)\n    params = params or {}\n    local f = {}\n    local defaultText = \"Type here\"\n\n    local x, y, w, h = gooi.checkBounds(\n        params.text or defaultText,\n        params.x or 10,\n        params.y or 10,\n        params.w or gooi.getFont():getWidth(params.text or defaultText) + gooi.unit * 4,\n        params.h or gooi.getFont():getHeight() * 2,\n        \"text\"\n    )\n\n    f = component.new(\"text\", x, y, w, h, params.group)\n    f.letters = {}\n    f.text = params.text or defaultText\n    f.dispHiddenChar = 0\n    f.mt = gooi.unit / 5 -- margin text\n    f.timerRepeatKey = 0\n    f.timerCanRepeat = 0\n    f.timerCursorBlink = 0\n    f.showingCursor = true\n    function f:lettersWidth()\n        local l = 0\n        for i = 1, #self.letters do\n            local char = self.letters[i].char\n            l = l + gooi.getFont(self):getWidth(char)\n        end\n        return l\n    end\n    f.indexCursor = 0\n\n    function f:drawSpecifics(fg)\n        local mC = self.h / 6 -- Margin corner.\n        local side = self.h - mC * 2\n\n        love.graphics.setColor(0, 0, 0)\n        love.graphics.rectangle(\"fill\",\n            (self.x + mC),\n            (self.y + mC),\n            math.floor(self.w - mC * 2),\n            (self.h - mC * 2),\n            self.style.innerRadius,\n            self.style.innerRadius,\n            circleRes\n        )\n\n        love.graphics.setColor(fg)\n        local charDisplacement = 0\n\n        for i = 1, #self.letters do\n            local letter = self.letters[i]\n            local xChar = self.x + mC + charDisplacement + self.mt - self.dispHiddenChar\n            local yChar = self.y + self.h / 2 - gooi.getFont(self):getHeight() / 2\n\n            love.graphics.print(\n                letter.char,\n                math.floor(xChar),\n                math.floor(yChar)\n            )\n\n            charDisplacement = charDisplacement + letter.w\n            if i == self.indexCursor then\n                self:drawCursor(charDisplacement + self.mt, mC)\n            end\n        end\n        if self.indexCursor == 0 then\n            self:drawCursor(self.mt, mC)\n        end\n\n        love.graphics.setColor(0, 0, 0)\n        love.graphics.rectangle(\"line\",\n            (self.x + mC),\n            (self.y + mC),\n            math.floor(self.w - mC * 2),\n            (self.h - mC * 2),\n            self.style.innerRadius,\n            self.style.innerRadius,\n            circleRes\n        )\n    end\n\n    function f:drawCursor(disp, mC)\n        if self.showingCursor then\n            if self == gooi.focused then\n                self.xCursor = self.x + mC + disp - self.dispHiddenChar\n                love.graphics.line(\n                    math.floor(self.xCursor),\n                    math.floor(self.y + mC + gooi.unit / 15),\n                    math.floor(self.xCursor),\n                    math.floor(self.y + self.h - mC - gooi.unit / 15)\n                )\n            end\n        end\n    end\n\n    function f:updateCursor(key, dt)\n        self.timerCursorBlink = self.timerCursorBlink + dt\n        if self.timerCursorBlink > gooi.delayCursorBlink then\n            self.timerCursorBlink = 0\n            self.showingCursor = not self.showingCursor\n\n            if self.keyToRepeat then\n                self.showingCursor = true\n            end\n        end\n\n        if self.keyToRepeat then\n            self.timerCanRepeat = self.timerCanRepeat + dt\n            if self.timerCanRepeat > gooi.delayCanRepeat then\n                self.timerRepeatKey = self.timerRepeatKey + dt\n\n                if self.timerRepeatKey >= gooi.delayKey then\n                    self.timerRepeatKey = 0\n\n                    if key == gooi.bs then\n                        self:deleteBack()\n                    elseif key == gooi.del then\n                        self:deleteDel()\n                    elseif key == gooi.r then\n                        self:moveRight()\n                    elseif key == gooi.l then\n                        self:moveLeft()\n                    end\n                end\n            end\n        end\n    end\n\n    function f:setToRepeat(key)\n        self.keyToRepeat = key\n    end\n\n    function f:typeText(text)\n        if self:lettersWidth() <= self.w - self.mt * 4 then\n            table.insert(self.letters, self.indexCursor + 1, {\n                char = text,\n                w = gooi.getFont(self):getWidth(text),\n                h = gooi.getFont(self):getHeight()\n            })\n            self.indexCursor = self.indexCursor + 1\n        end\n\n        if self:lettersWidth() > self.w - self.mt * 2 then\n            -- todo\n            --local width = gooi.getFont(self):getWidth(text)\n            --self.dispHiddenChar = self.dispHiddenChar + width\n        end\n        self:fixViewport()\n    end\n\n    function f:moveLeft()\n        if self.indexCursor > 0 and gooi.desktop then\n            self.indexCursor = self.indexCursor - 1\n        end\n        self:fixViewport()\n    end\n\n    function f:moveRight()\n        if self.indexCursor < #self.letters and gooi.desktop then\n            self.indexCursor = self.indexCursor + 1\n        end\n        self:fixViewport()\n    end\n\n    function f:deleteBack()\n        if #self.letters > 0 and gooi.desktop then\n            local letter = table.remove(self.letters, self.indexCursor)\n            if letter then\n                self.indexCursor = self.indexCursor - 1\n                if self.dispHiddenChar > 0 then\n                    self.dispHiddenChar = self.dispHiddenChar - letter.w\n                end\n            end\n        end\n        self:fixViewport()\n    end\n\n    function f:deleteDel()\n        if #self.letters > 0 and gooi.desktop then\n            table.remove(self.letters, self.indexCursor + 1)\n        end\n        self:fixViewport()\n    end\n\n    function f:fixViewport()\n        -- todo\n        --[[\n        local currentLetter = self.letters[self.indexCursor + 1]\n        if currentLetter then\n            if self.xCursor <= self.x - self.mt then\n                self.dispHiddenChar = self.dispHiddenChar - currentLetter.w\n            end\n        end\n        ]]\n    end\n\n    function f:typeCode(key, scancode, isrepeat)\n        if     key == gooi.l then   self:moveLeft()\n        elseif key == gooi.r then   self:moveRight()\n        elseif key == gooi.bs then  self:deleteBack()\n        elseif key == gooi.del then self:deleteDel() end\n    end\n\n    function f:setText(text)\n        local t = text or self.text\n        self.indexCursor = 0\n        self.letters = {}\n        for i = 1, string.utf8len(t) do\n            local char = string.utf8sub(t, i, i)\n            self:typeText(char)\n        end\n        return self\n    end\n    f:setText()\n\n    function f:getText()\n      local text = \"\"\n        for i = 1, #self.letters do\n            text = text..self.letters[i].char\n        end\n      return text\n    end\n\n    function f:specialKey(k)\n        return k == gooi.bs or\n               k == gooi.del or\n               k == gooi.l or\n               k == gooi.r\n    end\n\n    return gooi.storeComponent(f, id)\nend\n"
  },
  {
    "path": "lib/gooi/utf8.lua",
    "content": "-- $Id: utf8.lua 179 2009-04-03 18:10:03Z pasta $\r\n--\r\n-- Provides UTF-8 aware string functions implemented in pure lua:\r\n-- * string.utf8len(s)\r\n-- * string.utf8sub(s, i, j)\r\n-- * string.utf8reverse(s)\r\n-- * string.utf8char(unicode)\r\n-- * string.utf8unicode(s, i, j)\r\n-- * string.utf8gensub(s, sub_len)\r\n--\r\n-- If utf8data.lua (containing the lower<->upper case mappings) is loaded, these\r\n-- additional functions are available:\r\n-- * string.utf8upper(s)\r\n-- * string.utf8lower(s)\r\n--\r\n-- All functions behave as their non UTF-8 aware counterparts with the exception\r\n-- that UTF-8 characters are used instead of bytes for all units.\r\n\r\n--[[\r\nCopyright (c) 2006-2007, Kyle Smith\r\nAll rights reserved.\r\n\r\nRedistribution and use in source and binary forms, with or without\r\nmodification, are permitted provided that the following conditions are met:\r\n\r\n    * Redistributions of source code must retain the above copyright notice,\r\n      this list of conditions and the following disclaimer.\r\n    * Redistributions in binary form must reproduce the above copyright\r\n      notice, this list of conditions and the following disclaimer in the\r\n      documentation and/or other materials provided with the distribution.\r\n    * Neither the name of the author nor the names of its contributors may be\r\n      used to endorse or promote products derived from this software without\r\n      specific prior written permission.\r\n\r\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\r\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\r\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\r\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE\r\nFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\r\nSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\r\nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\r\nOR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\r\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r\n--]]\r\n\r\n-- ABNF from RFC 3629\r\n-- \r\n-- UTF8-octets = *( UTF8-char )\r\n-- UTF8-char   = UTF8-1 / UTF8-2 / UTF8-3 / UTF8-4\r\n-- UTF8-1      = %x00-7F\r\n-- UTF8-2      = %xC2-DF UTF8-tail\r\n-- UTF8-3      = %xE0 %xA0-BF UTF8-tail / %xE1-EC 2( UTF8-tail ) /\r\n--               %xED %x80-9F UTF8-tail / %xEE-EF 2( UTF8-tail )\r\n-- UTF8-4      = %xF0 %x90-BF 2( UTF8-tail ) / %xF1-F3 3( UTF8-tail ) /\r\n--               %xF4 %x80-8F 2( UTF8-tail )\r\n-- UTF8-tail   = %x80-BF\r\n-- \r\n\r\n\r\n-- returns the number of bytes used by the UTF-8 character at byte i in s\r\n-- also doubles as a UTF-8 character validator\r\nlocal function utf8charbytes (s, i)\r\n\t-- argument defaults\r\n\ti = i or 1\r\n\r\n\t-- argument checking\r\n\tif type(s) ~= \"string\" then\r\n\t\terror(\"bad argument #1 to 'utf8charbytes' (string expected, got \".. type(s).. \")\")\r\n\tend\r\n\tif type(i) ~= \"number\" then\r\n\t\terror(\"bad argument #2 to 'utf8charbytes' (number expected, got \".. type(i).. \")\")\r\n\tend\r\n\r\n\tlocal c = s:byte(i)\r\n\r\n\t-- determine bytes needed for character, based on RFC 3629\r\n\t-- validate byte 1\r\n\tif c > 0 and c <= 127 then\r\n\t\t-- UTF8-1\r\n\t\treturn 1\r\n\r\n\telseif c >= 194 and c <= 223 then\r\n\t\t-- UTF8-2\r\n\t\tlocal c2 = s:byte(i + 1)\r\n\r\n\t\tif not c2 then\r\n\t\t\terror(\"UTF-8 string terminated early\")\r\n\t\tend\r\n\r\n\t\t-- validate byte 2\r\n\t\tif c2 < 128 or c2 > 191 then\r\n\t\t\terror(\"Invalid UTF-8 character\")\r\n\t\tend\r\n\r\n\t\treturn 2\r\n\r\n\telseif c >= 224 and c <= 239 then\r\n\t\t-- UTF8-3\r\n\t\tlocal c2 = s:byte(i + 1)\r\n\t\tlocal c3 = s:byte(i + 2)\r\n\r\n\t\tif not c2 or not c3 then\r\n\t\t\terror(\"UTF-8 string terminated early\")\r\n\t\tend\r\n\r\n\t\t-- validate byte 2\r\n\t\tif c == 224 and (c2 < 160 or c2 > 191) then\r\n\t\t\terror(\"Invalid UTF-8 character\")\r\n\t\telseif c == 237 and (c2 < 128 or c2 > 159) then\r\n\t\t\terror(\"Invalid UTF-8 character\")\r\n\t\telseif c2 < 128 or c2 > 191 then\r\n\t\t\terror(\"Invalid UTF-8 character\")\r\n\t\tend\r\n\r\n\t\t-- validate byte 3\r\n\t\tif c3 < 128 or c3 > 191 then\r\n\t\t\terror(\"Invalid UTF-8 character\")\r\n\t\tend\r\n\r\n\t\treturn 3\r\n\r\n\telseif c >= 240 and c <= 244 then\r\n\t\t-- UTF8-4\r\n\t\tlocal c2 = s:byte(i + 1)\r\n\t\tlocal c3 = s:byte(i + 2)\r\n\t\tlocal c4 = s:byte(i + 3)\r\n\r\n\t\tif not c2 or not c3 or not c4 then\r\n\t\t\terror(\"UTF-8 string terminated early\")\r\n\t\tend\r\n\r\n\t\t-- validate byte 2\r\n\t\tif c == 240 and (c2 < 144 or c2 > 191) then\r\n\t\t\terror(\"Invalid UTF-8 character\")\r\n\t\telseif c == 244 and (c2 < 128 or c2 > 143) then\r\n\t\t\terror(\"Invalid UTF-8 character\")\r\n\t\telseif c2 < 128 or c2 > 191 then\r\n\t\t\terror(\"Invalid UTF-8 character\")\r\n\t\tend\r\n\t\t\r\n\t\t-- validate byte 3\r\n\t\tif c3 < 128 or c3 > 191 then\r\n\t\t\terror(\"Invalid UTF-8 character\")\r\n\t\tend\r\n\r\n\t\t-- validate byte 4\r\n\t\tif c4 < 128 or c4 > 191 then\r\n\t\t\terror(\"Invalid UTF-8 character\")\r\n\t\tend\r\n\r\n\t\treturn 4\r\n\r\n\telse\r\n\t\terror(\"Invalid UTF-8 character\")\r\n\tend\r\nend\r\n\r\n-- returns the number of characters in a UTF-8 string\r\nlocal function utf8len (s)\r\n\t-- argument checking\r\n\tif type(s) ~= \"string\" then\r\n\t\terror(\"bad argument #1 to 'utf8len' (string expected, got \".. type(s).. \")\")\r\n\tend\r\n\r\n\tlocal pos = 1\r\n\tlocal bytes = s:len()\r\n\tlocal len = 0\r\n\r\n\twhile pos <= bytes do\r\n\t\tlen = len + 1\r\n\t\tpos = pos + utf8charbytes(s, pos)\r\n\tend\r\n\r\n\treturn len\r\nend\r\n\r\n-- functions identically to string.sub except that i and j are UTF-8 characters\r\n-- instead of bytes\r\nlocal function utf8sub (s, i, j)\r\n\t-- argument defaults\r\n\tj = j or -1\r\n\r\n\tlocal pos = 1\r\n\tlocal bytes = s:len()\r\n\tlocal len = 0\r\n\r\n\t-- only set l if i or j is negative\r\n\tlocal l = (i >= 0 and j >= 0) or s:utf8len()\r\n\tlocal startChar = (i >= 0) and i or l + i + 1\r\n\tlocal endChar   = (j >= 0) and j or l + j + 1\r\n\r\n\t-- can't have start before end!\r\n\tif startChar > endChar then\r\n\t\treturn \"\"\r\n\tend\r\n\r\n\t-- byte offsets to pass to string.sub\r\n\tlocal startByte,endByte = 1,bytes\r\n\t\r\n\twhile pos <= bytes do\r\n\t\tlen = len + 1\r\n\r\n\t\tif len == startChar then\r\n\t\t\tstartByte = pos\r\n\t\tend\r\n\r\n\t\tpos = pos + utf8charbytes(s, pos)\r\n\r\n\t\tif len == endChar then\r\n\t\t\tendByte = pos - 1\r\n\t\t\tbreak\r\n\t\tend\r\n\tend\r\n\t\r\n\tif startChar > len then startByte = bytes+1   end\r\n\tif endChar   < 1   then endByte   = 0         end\r\n\t\r\n\treturn s:sub(startByte, endByte)\r\nend\r\n\r\n\r\n-- replace UTF-8 characters based on a mapping table\r\nlocal function utf8replace (s, mapping)\r\n\t-- argument checking\r\n\tif type(s) ~= \"string\" then\r\n\t\terror(\"bad argument #1 to 'utf8replace' (string expected, got \".. type(s).. \")\")\r\n\tend\r\n\tif type(mapping) ~= \"table\" then\r\n\t\terror(\"bad argument #2 to 'utf8replace' (table expected, got \".. type(mapping).. \")\")\r\n\tend\r\n\r\n\tlocal pos = 1\r\n\tlocal bytes = s:len()\r\n\tlocal charbytes\r\n\tlocal newstr = \"\"\r\n\r\n\twhile pos <= bytes do\r\n\t\tcharbytes = utf8charbytes(s, pos)\r\n\t\tlocal c = s:sub(pos, pos + charbytes - 1)\r\n\r\n\t\tnewstr = newstr .. (mapping[c] or c)\r\n\r\n\t\tpos = pos + charbytes\r\n\tend\r\n\r\n\treturn newstr\r\nend\r\n\r\n\r\n-- identical to string.upper except it knows about unicode simple case conversions\r\nlocal function utf8upper (s)\r\n\treturn utf8replace(s, utf8_lc_uc)\r\nend\r\n\r\n-- identical to string.lower except it knows about unicode simple case conversions\r\nlocal function utf8lower (s)\r\n\treturn utf8replace(s, utf8_uc_lc)\r\nend\r\n\r\n-- identical to string.reverse except that it supports UTF-8\r\nlocal function utf8reverse (s)\r\n\t-- argument checking\r\n\tif type(s) ~= \"string\" then\r\n\t\terror(\"bad argument #1 to 'utf8reverse' (string expected, got \".. type(s).. \")\")\r\n\tend\r\n\r\n\tlocal bytes = s:len()\r\n\tlocal pos = bytes\r\n\tlocal charbytes\r\n\tlocal newstr = \"\"\r\n\r\n\twhile pos > 0 do\r\n\t\tc = s:byte(pos)\r\n\t\twhile c >= 128 and c <= 191 do\r\n\t\t\tpos = pos - 1\r\n\t\t\tc = s:byte(pos)\r\n\t\tend\r\n\r\n\t\tcharbytes = utf8charbytes(s, pos)\r\n\r\n\t\tnewstr = newstr .. s:sub(pos, pos + charbytes - 1)\r\n\r\n\t\tpos = pos - 1\r\n\tend\r\n\r\n\treturn newstr\r\nend\r\n\r\n-- http://en.wikipedia.org/wiki/Utf8\r\n-- http://developer.coronalabs.com/code/utf-8-conversion-utility\r\nlocal function utf8char(unicode)\r\n\tif unicode <= 0x7F then return string.char(unicode) end\r\n\t\r\n\tif (unicode <= 0x7FF) then\r\n\t\tlocal Byte0 = 0xC0 + math.floor(unicode / 0x40);\r\n\t\tlocal Byte1 = 0x80 + (unicode % 0x40);\r\n\t\treturn string.char(Byte0, Byte1);\r\n\tend;\r\n\t\r\n\tif (unicode <= 0xFFFF) then\r\n\t\tlocal Byte0 = 0xE0 +  math.floor(unicode / 0x1000);\r\n\t\tlocal Byte1 = 0x80 + (math.floor(unicode / 0x40) % 0x40);\r\n\t\tlocal Byte2 = 0x80 + (unicode % 0x40);\r\n\t\treturn string.char(Byte0, Byte1, Byte2);\r\n\tend;\r\n\t\r\n\tif (unicode <= 0x10FFFF) then\r\n\t\tlocal code = unicode\r\n\t\tlocal Byte3= 0x80 + (code % 0x40);\r\n\t\tcode       = math.floor(code / 0x40)\r\n\t\tlocal Byte2= 0x80 + (code % 0x40);\r\n\t\tcode       = math.floor(code / 0x40)\r\n\t\tlocal Byte1= 0x80 + (code % 0x40);\r\n\t\tcode       = math.floor(code / 0x40)  \r\n\t\tlocal Byte0= 0xF0 + code;\r\n\t\t\r\n\t\treturn string.char(Byte0, Byte1, Byte2, Byte3);\r\n\tend;\r\n\t\r\n\terror 'Unicode cannot be greater than U+10FFFF!'\r\nend\r\n\r\nlocal shift_6  = 2^6\r\nlocal shift_12 = 2^12\r\nlocal shift_18 = 2^18\r\n\r\nlocal utf8unicode\r\nutf8unicode = function(str, i, j, byte_pos)\r\n\ti = i or 1\r\n\tj = j or i\r\n\t\r\n\tif i > j then return end\r\n\t\r\n\tlocal char,bytes\r\n\t\r\n\tif byte_pos then \r\n\t\tbytes = utf8charbytes(str,byte_pos)\r\n\t\tchar  = str:sub(byte_pos,byte_pos-1+bytes)\r\n\telse\r\n\t\tchar,byte_pos = utf8sub(str,i,i)\r\n\t\tbytes         = #char\r\n\tend\r\n\t\r\n\tlocal unicode\r\n\t\r\n\tif bytes == 1 then unicode = string.byte(char) end\r\n\tif bytes == 2 then\r\n\t\tlocal byte0,byte1 = string.byte(char,1,2)\r\n\t\tlocal code0,code1 = byte0-0xC0,byte1-0x80\r\n\t\tunicode = code0*shift_6 + code1\r\n\tend\r\n\tif bytes == 3 then\r\n\t\tlocal byte0,byte1,byte2 = string.byte(char,1,3)\r\n\t\tlocal code0,code1,code2 = byte0-0xE0,byte1-0x80,byte2-0x80\r\n\t\tunicode = code0*shift_12 + code1*shift_6 + code2\r\n\tend\r\n\tif bytes == 4 then\r\n\t\tlocal byte0,byte1,byte2,byte3 = string.byte(char,1,4)\r\n\t\tlocal code0,code1,code2,code3 = byte0-0xF0,byte1-0x80,byte2-0x80,byte3-0x80\r\n\t\tunicode = code0*shift_18 + code1*shift_12 + code2*shift_6 + code3\r\n\tend\r\n\t\r\n\treturn unicode,utf8unicode(str, i+1, j, byte_pos+bytes)\r\nend\r\n\r\n-- Returns an iterator which returns the next substring and its byte interval\r\nlocal function utf8gensub(str, sub_len)\r\n\tsub_len        = sub_len or 1\r\n\tlocal byte_pos = 1\r\n\tlocal len      = #str\r\n\treturn function()\r\n\t\tlocal char_count = 0\r\n\t\tlocal start      = byte_pos\r\n\t\trepeat\r\n\t\t\tif byte_pos > len then return end\r\n\t\t\tchar_count  = char_count + 1\r\n\t\t\tlocal bytes = utf8charbytes(str,byte_pos)\r\n\t\t\tbyte_pos    = byte_pos+bytes\r\n\t\t\t\r\n\t\tuntil char_count == sub_len\r\n\t\t\r\n\t\tlocal last  = byte_pos-1\r\n\t\tlocal sub   = str:sub(start,last)\r\n\t\treturn sub, start, last\r\n\tend\r\nend\r\n\r\nstring.utf8len       = utf8len\r\nstring.utf8sub       = utf8sub\r\nstring.utf8reverse   = utf8reverse\r\nstring.utf8char      = utf8char\r\nstring.utf8unicode   = utf8unicode\r\nstring.utf8gensub    = utf8gensub"
  },
  {
    "path": "lib/json-pretty.lua",
    "content": "--\n-- json.lua\n--\n-- Copyright (c) 2019 rxi\n--\n-- Permission is hereby granted, free of charge, to any person obtaining a copy of\n-- this software and associated documentation files (the \"Software\"), to deal in\n-- the Software without restriction, including without limitation the rights to\n-- use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies\n-- of the Software, and to permit persons to whom the Software is furnished to do\n-- so, subject to the following conditions:\n--\n-- The above copyright notice and this permission notice shall be included in all\n-- copies or substantial portions of the Software.\n--\n-- THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n-- SOFTWARE.\n--\n\nlocal json = { _version = \"0.1.1\" }\n\n-------------------------------------------------------------------------------\n-- Encode\n-------------------------------------------------------------------------------\n\nlocal encode\n\nlocal indent_width = 2\n\nlocal escape_char_map = {\n  [ \"\\\\\" ] = \"\\\\\\\\\",\n  [ \"\\\"\" ] = \"\\\\\\\"\",\n  [ \"\\b\" ] = \"\\\\b\",\n  [ \"\\f\" ] = \"\\\\f\",\n  [ \"\\n\" ] = \"\\\\n\",\n  [ \"\\r\" ] = \"\\\\r\",\n  [ \"\\t\" ] = \"\\\\t\",\n}\n\nlocal escape_char_map_inv = { [ \"\\\\/\" ] = \"/\" }\nfor k, v in pairs(escape_char_map) do\n  escape_char_map_inv[v] = k\nend\n\n\nlocal function get_indent(count)\n  local s = \"\"\n  for i = 1, (count * indent_width) do\n    s = s .. \" \"\n  end\n  return s\nend\n\n\nlocal function escape_char(c)\n  return escape_char_map[c] or string.format(\"\\\\u%04x\", c:byte())\nend\n\n\nlocal function encode_nil(val)\n  return \"null\"\nend\n\n\nlocal function encode_table(val, pretty, stack, indents)\n  local res = {}\n  stack = stack or {}\n\n  -- Circular reference?\n  if stack[val] then error(\"circular reference\") end\n\n  stack[val] = true\n\n  if rawget(val, 1) ~= nil or next(val) == nil then\n    -- Treat as array -- check keys are valid and it is not sparse\n    local n = 0\n    for k in pairs(val) do\n      if type(k) ~= \"number\" then\n        error(\"invalid table: mixed or invalid key types\")\n      end\n      n = n + 1\n    end\n    if n ~= #val then\n      error(\"invalid table: sparse array\")\n    end\n    -- Encode\n    for i, v in ipairs(val) do\n      table.insert(res, (pretty and get_indent(indents) or \"\") .. encode(v, pretty, stack, indents + 1))\n    end\n    stack[val] = nil\n    if pretty and #res > 0 then\n      return \"[\\n\" .. table.concat(res, \",\\n\") .. \"\\n\" .. get_indent(indents - 1) .. \"]\"\n    else\n      return \"[\" .. table.concat(res, \", \") .. \"]\"\n    end\n  else\n    -- Treat as an object\n    if val.__jsonfields then\n      for i, v in ipairs(val.__jsonfields) do\n        if val[v] ~= nil then\n          if type(v) ~= \"string\" then\n            error(\"invalid table: mixed or invalid key types\")\n          end\n          if v ~= \"__jsoncompact\" then\n            local new_pretty = pretty and (not val.__jsoncompact or not table.has_value(val.__jsoncompact, v))\n            table.insert(res, (pretty and get_indent(indents) or \"\") .. encode(v, false, stack, 1) .. \": \" .. encode(val[v], new_pretty, stack, indents + 1))\n          end\n        end\n      end\n    else\n      for k, v in pairs(val) do\n        if type(k) ~= \"string\" then\n          error(\"invalid table: mixed or invalid key types\")\n        end\n        if k ~= \"__jsoncompact\" then\n          local new_pretty = pretty and (not val.__jsoncompact or not table.has_value(val.__jsoncompact, k))\n          table.insert(res, (pretty and get_indent(indents) or \"\") .. encode(k, false, stack, 1) .. \": \" .. encode(v, new_pretty, stack, indents + 1))\n        end\n      end\n    end\n    stack[val] = nil\n    if pretty and #res > 0 then\n      return \"{\\n\" .. table.concat(res, \",\\n\") .. \"\\n\" .. get_indent(indents - 1) .. \"}\"\n    else\n      return \"{\" .. table.concat(res, \", \") .. \"}\"\n    end\n  end\nend\n\n\nlocal function encode_string(val)\n  return '\"' .. val:gsub('[%z\\1-\\31\\\\\"]', escape_char) .. '\"'\nend\n\n\nlocal function encode_number(val)\n  -- Check for NaN, -inf and inf\n  if val ~= val or val <= -math.huge or val >= math.huge then\n    error(\"unexpected number value '\" .. tostring(val) .. \"'\")\n  end\n  return string.format(\"%.14g\", val)\nend\n\n\nlocal type_func_map = {\n  [ \"nil\"     ] = encode_nil,\n  [ \"table\"   ] = encode_table,\n  [ \"string\"  ] = encode_string,\n  [ \"number\"  ] = encode_number,\n  [ \"boolean\" ] = tostring,\n}\n\n\nencode = function(val, pretty, stack, indents)\n  local t = type(val)\n  local f = type_func_map[t]\n  if f then\n    return f(val, pretty, stack, indents or 1)\n  end\n  error(\"unexpected type '\" .. t .. \"'\")\nend\n\n\nfunction json.encode(val, pretty)\n  return ( encode(val, pretty) )\nend\n\n\n-------------------------------------------------------------------------------\n-- Decode\n-------------------------------------------------------------------------------\n\nlocal parse\n\nlocal function create_set(...)\n  local res = {}\n  for i = 1, select(\"#\", ...) do\n    res[ select(i, ...) ] = true\n  end\n  return res\nend\n\nlocal space_chars   = create_set(\" \", \"\\t\", \"\\r\", \"\\n\")\nlocal delim_chars   = create_set(\" \", \"\\t\", \"\\r\", \"\\n\", \"]\", \"}\", \",\")\nlocal escape_chars  = create_set(\"\\\\\", \"/\", '\"', \"b\", \"f\", \"n\", \"r\", \"t\", \"u\")\nlocal literals      = create_set(\"true\", \"false\", \"null\")\n\nlocal literal_map = {\n  [ \"true\"  ] = true,\n  [ \"false\" ] = false,\n  [ \"null\"  ] = nil,\n}\n\n\nlocal function next_char(str, idx, set, negate)\n  for i = idx, #str do\n    if set[str:sub(i, i)] ~= negate then\n      return i\n    end\n  end\n  return #str + 1\nend\n\n\nlocal function decode_error(str, idx, msg)\n  local line_count = 1\n  local col_count = 1\n  for i = 1, idx - 1 do\n    col_count = col_count + 1\n    if str:sub(i, i) == \"\\n\" then\n      line_count = line_count + 1\n      col_count = 1\n    end\n  end\n  error( string.format(\"%s at line %d col %d\", msg, line_count, col_count) )\nend\n\n\nlocal function codepoint_to_utf8(n)\n  -- http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=iws-appendixa\n  local f = math.floor\n  if n <= 0x7f then\n    return string.char(n)\n  elseif n <= 0x7ff then\n    return string.char(f(n / 64) + 192, n % 64 + 128)\n  elseif n <= 0xffff then\n    return string.char(f(n / 4096) + 224, f(n % 4096 / 64) + 128, n % 64 + 128)\n  elseif n <= 0x10ffff then\n    return string.char(f(n / 262144) + 240, f(n % 262144 / 4096) + 128,\n                       f(n % 4096 / 64) + 128, n % 64 + 128)\n  end\n  error( string.format(\"invalid unicode codepoint '%x'\", n) )\nend\n\n\nlocal function parse_unicode_escape(s)\n  local n1 = tonumber( s:sub(3, 6),  16 )\n  local n2 = tonumber( s:sub(9, 12), 16 )\n  -- Surrogate pair?\n  if n2 then\n    return codepoint_to_utf8((n1 - 0xd800) * 0x400 + (n2 - 0xdc00) + 0x10000)\n  else\n    return codepoint_to_utf8(n1)\n  end\nend\n\n\nlocal function parse_string(str, i)\n  local has_unicode_escape = false\n  local has_surrogate_escape = false\n  local has_escape = false\n  local last\n  for j = i + 1, #str do\n    local x = str:byte(j)\n\n    if x < 32 then\n      decode_error(str, j, \"control character in string\")\n    end\n\n    if last == 92 then -- \"\\\\\" (escape char)\n      if x == 117 then -- \"u\" (unicode escape sequence)\n        local hex = str:sub(j + 1, j + 5)\n        if not hex:find(\"%x%x%x%x\") then\n          decode_error(str, j, \"invalid unicode escape in string\")\n        end\n        if hex:find(\"^[dD][89aAbB]\") then\n          has_surrogate_escape = true\n        else\n          has_unicode_escape = true\n        end\n      else\n        local c = string.char(x)\n        if not escape_chars[c] then\n          decode_error(str, j, \"invalid escape char '\" .. c .. \"' in string\")\n        end\n        has_escape = true\n      end\n      last = nil\n\n    elseif x == 34 then -- '\"' (end of string)\n      local s = str:sub(i + 1, j - 1)\n      if has_surrogate_escape then\n        s = s:gsub(\"\\\\u[dD][89aAbB]..\\\\u....\", parse_unicode_escape)\n      end\n      if has_unicode_escape then\n        s = s:gsub(\"\\\\u....\", parse_unicode_escape)\n      end\n      if has_escape then\n        s = s:gsub(\"\\\\.\", escape_char_map_inv)\n      end\n      return s, j + 1\n\n    else\n      last = x\n    end\n  end\n  decode_error(str, i, \"expected closing quote for string\")\nend\n\n\nlocal function parse_number(str, i)\n  local x = next_char(str, i, delim_chars)\n  local s = str:sub(i, x - 1)\n  local n = tonumber(s)\n  if not n then\n    decode_error(str, i, \"invalid number '\" .. s .. \"'\")\n  end\n  return n, x\nend\n\n\nlocal function parse_literal(str, i)\n  local x = next_char(str, i, delim_chars)\n  local word = str:sub(i, x - 1)\n  if not literals[word] then\n    decode_error(str, i, \"invalid literal '\" .. word .. \"'\")\n  end\n  return literal_map[word], x\nend\n\n\nlocal function parse_array(str, i)\n  local res = {}\n  local n = 1\n  i = i + 1\n  while 1 do\n    local x\n    i = next_char(str, i, space_chars, true)\n    -- Empty / end of array?\n    if str:sub(i, i) == \"]\" then\n      i = i + 1\n      break\n    end\n    -- Read token\n    x, i = parse(str, i)\n    res[n] = x\n    n = n + 1\n    -- Next token\n    i = next_char(str, i, space_chars, true)\n    local chr = str:sub(i, i)\n    i = i + 1\n    if chr == \"]\" then break end\n    if chr ~= \",\" then decode_error(str, i, \"expected ']' or ','\") end\n  end\n  return res, i\nend\n\n\nlocal function parse_object(str, i)\n  local res = {}\n  i = i + 1\n  while 1 do\n    local key, val\n    i = next_char(str, i, space_chars, true)\n    -- Empty / end of object?\n    if str:sub(i, i) == \"}\" then\n      i = i + 1\n      break\n    end\n    -- Read key\n    if str:sub(i, i) ~= '\"' then\n      decode_error(str, i, \"expected string for key\")\n    end\n    key, i = parse(str, i)\n    -- Read ':' delimiter\n    i = next_char(str, i, space_chars, true)\n    if str:sub(i, i) ~= \":\" then\n      decode_error(str, i, \"expected ':' after key\")\n    end\n    i = next_char(str, i + 1, space_chars, true)\n    -- Read value\n    val, i = parse(str, i)\n    -- Set\n    res[key] = val\n    -- Next token\n    i = next_char(str, i, space_chars, true)\n    local chr = str:sub(i, i)\n    i = i + 1\n    if chr == \"}\" then break end\n    if chr ~= \",\" then decode_error(str, i, \"expected '}' or ','\") end\n  end\n  return res, i\nend\n\n\nlocal char_func_map = {\n  [ '\"' ] = parse_string,\n  [ \"0\" ] = parse_number,\n  [ \"1\" ] = parse_number,\n  [ \"2\" ] = parse_number,\n  [ \"3\" ] = parse_number,\n  [ \"4\" ] = parse_number,\n  [ \"5\" ] = parse_number,\n  [ \"6\" ] = parse_number,\n  [ \"7\" ] = parse_number,\n  [ \"8\" ] = parse_number,\n  [ \"9\" ] = parse_number,\n  [ \"-\" ] = parse_number,\n  [ \"t\" ] = parse_literal,\n  [ \"f\" ] = parse_literal,\n  [ \"n\" ] = parse_literal,\n  [ \"[\" ] = parse_array,\n  [ \"{\" ] = parse_object,\n}\n\n\nparse = function(str, idx)\n  local chr = str:sub(idx, idx)\n  local f = char_func_map[chr]\n  if f then\n    return f(str, idx)\n  end\n  decode_error(str, idx, \"unexpected character '\" .. chr .. \"'\")\nend\n\n\nfunction json.decode(str)\n  if type(str) ~= \"string\" then\n    error(\"expected argument of type string, got \" .. type(str))\n  end\n  local res, idx = parse(str, next_char(str, 1, space_chars, true))\n  idx = next_char(str, idx, space_chars, true)\n  if idx <= #str then\n    decode_error(str, idx, \"trailing garbage\")\n  end\n  return res\nend\n\n\nreturn json"
  },
  {
    "path": "lib/json.lua",
    "content": "--\n-- json.lua\n--\n-- Copyright (c) 2019 rxi\n--\n-- Permission is hereby granted, free of charge, to any person obtaining a copy of\n-- this software and associated documentation files (the \"Software\"), to deal in\n-- the Software without restriction, including without limitation the rights to\n-- use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies\n-- of the Software, and to permit persons to whom the Software is furnished to do\n-- so, subject to the following conditions:\n--\n-- The above copyright notice and this permission notice shall be included in all\n-- copies or substantial portions of the Software.\n--\n-- THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n-- SOFTWARE.\n--\n\nlocal json = { _version = \"0.1.1\" }\n\n-------------------------------------------------------------------------------\n-- Encode\n-------------------------------------------------------------------------------\n\nlocal encode\n\nlocal escape_char_map = {\n  [ \"\\\\\" ] = \"\\\\\\\\\",\n  [ \"\\\"\" ] = \"\\\\\\\"\",\n  [ \"\\b\" ] = \"\\\\b\",\n  [ \"\\f\" ] = \"\\\\f\",\n  [ \"\\n\" ] = \"\\\\n\",\n  [ \"\\r\" ] = \"\\\\r\",\n  [ \"\\t\" ] = \"\\\\t\",\n}\n\nlocal escape_char_map_inv = { [ \"\\\\/\" ] = \"/\" }\nfor k, v in pairs(escape_char_map) do\n  escape_char_map_inv[v] = k\nend\n\n\nlocal function escape_char(c)\n  return escape_char_map[c] or string.format(\"\\\\u%04x\", c:byte())\nend\n\n\nlocal function encode_nil(val)\n  return \"null\"\nend\n\n\nlocal function encode_table(val, stack)\n  local res = {}\n  stack = stack or {}\n\n  -- Circular reference?\n  if stack[val] then error(\"circular reference\") end\n\n  stack[val] = true\n\n  if rawget(val, 1) ~= nil or next(val) == nil then\n    -- Treat as array -- check keys are valid and it is not sparse\n    local n = 0\n    for k in pairs(val) do\n      if type(k) ~= \"number\" then\n        error(\"invalid table: mixed or invalid key types\")\n      end\n      n = n + 1\n    end\n    if n ~= #val then\n      error(\"invalid table: sparse array\")\n    end\n    -- Encode\n    for i, v in ipairs(val) do\n      table.insert(res, encode(v, stack))\n    end\n    stack[val] = nil\n    return \"[\" .. table.concat(res, \",\") .. \"]\"\n\n  else\n    -- Treat as an object\n    for k, v in pairs(val) do\n      if type(k) ~= \"string\" then\n        error(\"invalid table: mixed or invalid key types\")\n      end\n      table.insert(res, encode(k, stack) .. \":\" .. encode(v, stack))\n    end\n    stack[val] = nil\n    return \"{\" .. table.concat(res, \",\") .. \"}\"\n  end\nend\n\n\nlocal function encode_string(val)\n  return '\"' .. val:gsub('[%z\\1-\\31\\\\\"]', escape_char) .. '\"'\nend\n\n\nlocal function encode_number(val)\n  -- Check for NaN, -inf and inf\n  if val ~= val or val <= -math.huge or val >= math.huge then\n    error(\"unexpected number value '\" .. tostring(val) .. \"'\")\n  end\n  return string.format(\"%.14g\", val)\nend\n\n\nlocal type_func_map = {\n  [ \"nil\"     ] = encode_nil,\n  [ \"table\"   ] = encode_table,\n  [ \"string\"  ] = encode_string,\n  [ \"number\"  ] = encode_number,\n  [ \"boolean\" ] = tostring,\n}\n\n\nencode = function(val, stack)\n  local t = type(val)\n  local f = type_func_map[t]\n  if f then\n    return f(val, stack)\n  end\n  error(\"unexpected type '\" .. t .. \"'\")\nend\n\n\nfunction json.encode(val)\n  return ( encode(val) )\nend\n\n\n-------------------------------------------------------------------------------\n-- Decode\n-------------------------------------------------------------------------------\n\nlocal parse\n\nlocal function create_set(...)\n  local res = {}\n  for i = 1, select(\"#\", ...) do\n    res[ select(i, ...) ] = true\n  end\n  return res\nend\n\nlocal space_chars   = create_set(\" \", \"\\t\", \"\\r\", \"\\n\")\nlocal delim_chars   = create_set(\" \", \"\\t\", \"\\r\", \"\\n\", \"]\", \"}\", \",\")\nlocal escape_chars  = create_set(\"\\\\\", \"/\", '\"', \"b\", \"f\", \"n\", \"r\", \"t\", \"u\")\nlocal literals      = create_set(\"true\", \"false\", \"null\")\n\nlocal literal_map = {\n  [ \"true\"  ] = true,\n  [ \"false\" ] = false,\n  [ \"null\"  ] = nil,\n}\n\n\nlocal function next_char(str, idx, set, negate)\n  for i = idx, #str do\n    if set[str:sub(i, i)] ~= negate then\n      return i\n    end\n  end\n  return #str + 1\nend\n\n\nlocal function decode_error(str, idx, msg)\n  local line_count = 1\n  local col_count = 1\n  for i = 1, idx - 1 do\n    col_count = col_count + 1\n    if str:sub(i, i) == \"\\n\" then\n      line_count = line_count + 1\n      col_count = 1\n    end\n  end\n  error( string.format(\"%s at line %d col %d\", msg, line_count, col_count) )\nend\n\n\nlocal function codepoint_to_utf8(n)\n  -- http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=iws-appendixa\n  local f = math.floor\n  if n <= 0x7f then\n    return string.char(n)\n  elseif n <= 0x7ff then\n    return string.char(f(n / 64) + 192, n % 64 + 128)\n  elseif n <= 0xffff then\n    return string.char(f(n / 4096) + 224, f(n % 4096 / 64) + 128, n % 64 + 128)\n  elseif n <= 0x10ffff then\n    return string.char(f(n / 262144) + 240, f(n % 262144 / 4096) + 128,\n                       f(n % 4096 / 64) + 128, n % 64 + 128)\n  end\n  error( string.format(\"invalid unicode codepoint '%x'\", n) )\nend\n\n\nlocal function parse_unicode_escape(s)\n  local n1 = tonumber( s:sub(3, 6),  16 )\n  local n2 = tonumber( s:sub(9, 12), 16 )\n  -- Surrogate pair?\n  if n2 then\n    return codepoint_to_utf8((n1 - 0xd800) * 0x400 + (n2 - 0xdc00) + 0x10000)\n  else\n    return codepoint_to_utf8(n1)\n  end\nend\n\n\nlocal function parse_string(str, i)\n  local has_unicode_escape = false\n  local has_surrogate_escape = false\n  local has_escape = false\n  local last\n  for j = i + 1, #str do\n    local x = str:byte(j)\n\n    if x < 32 then\n      decode_error(str, j, \"control character in string\")\n    end\n\n    if last == 92 then -- \"\\\\\" (escape char)\n      if x == 117 then -- \"u\" (unicode escape sequence)\n        local hex = str:sub(j + 1, j + 5)\n        if not hex:find(\"%x%x%x%x\") then\n          decode_error(str, j, \"invalid unicode escape in string\")\n        end\n        if hex:find(\"^[dD][89aAbB]\") then\n          has_surrogate_escape = true\n        else\n          has_unicode_escape = true\n        end\n      else\n        local c = string.char(x)\n        if not escape_chars[c] then\n          decode_error(str, j, \"invalid escape char '\" .. c .. \"' in string\")\n        end\n        has_escape = true\n      end\n      last = nil\n\n    elseif x == 34 then -- '\"' (end of string)\n      local s = str:sub(i + 1, j - 1)\n      if has_surrogate_escape then\n        s = s:gsub(\"\\\\u[dD][89aAbB]..\\\\u....\", parse_unicode_escape)\n      end\n      if has_unicode_escape then\n        s = s:gsub(\"\\\\u....\", parse_unicode_escape)\n      end\n      if has_escape then\n        s = s:gsub(\"\\\\.\", escape_char_map_inv)\n      end\n      return s, j + 1\n\n    else\n      last = x\n    end\n  end\n  decode_error(str, i, \"expected closing quote for string\")\nend\n\n\nlocal function parse_number(str, i)\n  local x = next_char(str, i, delim_chars)\n  local s = str:sub(i, x - 1)\n  local n = tonumber(s)\n  if not n then\n    decode_error(str, i, \"invalid number '\" .. s .. \"'\")\n  end\n  return n, x\nend\n\n\nlocal function parse_literal(str, i)\n  local x = next_char(str, i, delim_chars)\n  local word = str:sub(i, x - 1)\n  if not literals[word] then\n    decode_error(str, i, \"invalid literal '\" .. word .. \"'\")\n  end\n  return literal_map[word], x\nend\n\n\nlocal function parse_array(str, i)\n  local res = {}\n  local n = 1\n  i = i + 1\n  while 1 do\n    local x\n    i = next_char(str, i, space_chars, true)\n    -- Empty / end of array?\n    if str:sub(i, i) == \"]\" then\n      i = i + 1\n      break\n    end\n    -- Read token\n    x, i = parse(str, i)\n    res[n] = x\n    n = n + 1\n    -- Next token\n    i = next_char(str, i, space_chars, true)\n    local chr = str:sub(i, i)\n    i = i + 1\n    if chr == \"]\" then break end\n    if chr ~= \",\" then decode_error(str, i, \"expected ']' or ','\") end\n  end\n  return res, i\nend\n\n\nlocal function parse_object(str, i)\n  local res = {}\n  i = i + 1\n  while 1 do\n    local key, val\n    i = next_char(str, i, space_chars, true)\n    -- Empty / end of object?\n    if str:sub(i, i) == \"}\" then\n      i = i + 1\n      break\n    end\n    -- Read key\n    if str:sub(i, i) ~= '\"' then\n      decode_error(str, i, \"expected string for key\")\n    end\n    key, i = parse(str, i)\n    -- Read ':' delimiter\n    i = next_char(str, i, space_chars, true)\n    if str:sub(i, i) ~= \":\" then\n      decode_error(str, i, \"expected ':' after key\")\n    end\n    i = next_char(str, i + 1, space_chars, true)\n    -- Read value\n    val, i = parse(str, i)\n    -- Set\n    res[key] = val\n    -- Next token\n    i = next_char(str, i, space_chars, true)\n    local chr = str:sub(i, i)\n    i = i + 1\n    if chr == \"}\" then break end\n    if chr ~= \",\" then decode_error(str, i, \"expected '}' or ','\") end\n  end\n  return res, i\nend\n\n\nlocal char_func_map = {\n  [ '\"' ] = parse_string,\n  [ \"0\" ] = parse_number,\n  [ \"1\" ] = parse_number,\n  [ \"2\" ] = parse_number,\n  [ \"3\" ] = parse_number,\n  [ \"4\" ] = parse_number,\n  [ \"5\" ] = parse_number,\n  [ \"6\" ] = parse_number,\n  [ \"7\" ] = parse_number,\n  [ \"8\" ] = parse_number,\n  [ \"9\" ] = parse_number,\n  [ \"-\" ] = parse_number,\n  [ \"t\" ] = parse_literal,\n  [ \"f\" ] = parse_literal,\n  [ \"n\" ] = parse_literal,\n  [ \"[\" ] = parse_array,\n  [ \"{\" ] = parse_object,\n}\n\n\nparse = function(str, idx)\n  local chr = str:sub(idx, idx)\n  local f = char_func_map[chr]\n  if f then\n    return f(str, idx)\n  end\n  decode_error(str, idx, \"unexpected character '\" .. chr .. \"'\")\nend\n\n\nfunction json.decode(str)\n  if type(str) ~= \"string\" then\n    error(\"expected argument of type string, got \" .. type(str))\n  end\n  local res, idx = parse(str, next_char(str, 1, space_chars, true))\n  idx = next_char(str, idx, space_chars, true)\n  if idx <= #str then\n    decode_error(str, idx, \"trailing garbage\")\n  end\n  return res\nend\n\n\nreturn json"
  },
  {
    "path": "lib/tick.lua",
    "content": "--\n-- tick\n--\n-- Copyright (c) 2015 rxi\n--\n-- This library is free software; you can redistribute it and/or modify it\n-- under the terms of the MIT license. See LICENSE for details.\n--\n\nlocal tick = { _version = \"0.1.1\" }\ntick.__index = tick\n\n\nlocal iscallable = function(x)\n  if type(x) == \"function\" then return true end\n  local mt = getmetatable(x)\n  return mt and mt.__call ~= nil\nend\n\nlocal noop = function()\nend\n\n\nlocal event = {}\nevent.__index = event\n\nfunction event.new(parent, fn, delay, recur, err)\n  err = err or 0\n  -- Create and return event\n  return setmetatable({\n    parent  = parent,\n    delay   = delay,\n    timer   = delay + err,\n    fn      = fn,\n    recur   = recur,\n  }, event)\nend\n\n\nfunction event:after(fn, delay)\n  -- Error check\n  if self.recur then\n    error(\"cannot chain a recurring event\")\n  end\n  -- Chain event\n  local oldfn = self.fn\n  local e = event.new(self.parent, fn, delay, false)\n  self.fn = function()\n    oldfn()\n    e.timer = e.timer + self.parent.err\n    self.parent:add(e)\n  end\n  return e\nend\n\n\nfunction event:stop()\n  tick.remove(self.parent, self)\nend\n\n\n\nfunction tick.group()\n  return setmetatable({ err = 0 }, tick)\nend\n\n\nfunction tick:add(e)\n  self[e] = true\n  table.insert(self, e)\n  return e\nend\n\n\nfunction tick:remove(e)\n  if type(e) == \"number\" then\n    -- Remove and return event\n    local idx = e\n    e = self[idx]\n    self[e] = nil\n    self[idx] = self[#self]\n    table.remove(self)\n    return e\n  end\n  self[e] = false\n  for i, v in ipairs(self) do\n    if v == e then\n      return self:remove(i)\n    end\n  end\nend\n\n\nfunction tick:update(dt)\n  for i = #self, 1, -1 do\n    local e = self[i]\n    e.timer = e.timer - dt\n    while e.timer <= 0 do\n      if e.recur then\n        e.timer = e.timer + e.delay\n      else\n        self:remove(i) \n      end\n      self.err = e.timer\n      e.fn()\n      if not e.recur then\n        break\n      end\n    end\n  end\n  self.err = 0\nend\n\n\nfunction tick:event(fn, delay, recur)\n  delay = tonumber(delay)\n  -- Error check\n  if not iscallable(fn) then\n    error(\"expected `fn` to be callable\")\n  end\n  if type(delay) ~= \"number\" then\n    error(\"expected `delay` to be a number\")\n  end\n  if delay < 0 then\n    error(\"expected `delay` of zero or greater\")\n  end\n  -- If, factoring in the timing error, the event should happen *now* the\n  -- function is immediately called and the error is temporarily carried\n  -- through. This assures nested events with delays shorter than the update()\n  -- delta-time do not accumulate error; several nested events with very small\n  -- delays may end up being called on the same frame. A dummy event is created\n  -- and returned so :after() still functions correctly.\n  local d = delay + self.err\n  if d < 0 then\n    local err = self.err\n    self.err = d\n    fn()\n    self.err = err\n    return self:add(event.new(self, noop, delay, recur, self.err))\n  end\n  -- Create, add and return a normal event\n  return self:add(event.new(self, fn, delay, recur, self.err))\nend\n\n\nfunction tick:delay(fn, delay)\n  return self:event(fn, delay, false)\nend\n\n\nfunction tick:recur(fn, delay)\n  return self:event(fn, delay, true)\nend\n\n\nlocal group = tick.group()\n\nlocal bound = {\n  update  = function(...) return tick.update(group, ...) end,\n  delay   = function(...) return tick.delay (group, ...) end,\n  recur   = function(...) return tick.recur (group, ...) end,\n  remove  = function(...) return tick.remove(group, ...) end,\n}\nsetmetatable(bound, tick)\n\nreturn bound"
  },
  {
    "path": "lib/tween.lua",
    "content": "local tween = {\n  _VERSION     = 'tween 2.1.1',\n  _DESCRIPTION = 'tweening for lua',\n  _URL         = 'https://github.com/kikito/tween.lua',\n  _LICENSE     = [[\n    MIT LICENSE\n\n    Copyright (c) 2014 Enrique García Cota, Yuichi Tateno, Emmanuel Oga\n\n    Permission is hereby granted, free of charge, to any person obtaining a\n    copy of this software and associated documentation files (the\n    \"Software\"), to deal in the Software without restriction, including\n    without limitation the rights to use, copy, modify, merge, publish,\n    distribute, sublicense, and/or sell copies of the Software, and to\n    permit persons to whom the Software is furnished to do so, subject to\n    the following conditions:\n\n    The above copyright notice and this permission notice shall be included\n    in all copies or substantial portions of the Software.\n\n    THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n    OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n    MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\n    IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\n    CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\n    TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\n    SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n  ]]\n}\n\n-- easing\n\n-- Adapted from https://github.com/EmmanuelOga/easing. See LICENSE.txt for credits.\n-- For all easing functions:\n-- t = time == how much time has to pass for the tweening to complete\n-- b = begin == starting property value\n-- c = change == ending - beginning\n-- d = duration == running time. How much time has passed *right now*\n\nlocal pow, sin, cos, pi, sqrt, abs, asin = math.pow, math.sin, math.cos, math.pi, math.sqrt, math.abs, math.asin\n\n-- linear\nlocal function linear(t, b, c, d) return c * t / d + b end\n\n-- quad\nlocal function inQuad(t, b, c, d) return c * pow(t / d, 2) + b end\nlocal function outQuad(t, b, c, d)\n  t = t / d\n  return -c * t * (t - 2) + b\nend\nlocal function inOutQuad(t, b, c, d)\n  t = t / d * 2\n  if t < 1 then return c / 2 * pow(t, 2) + b end\n  return -c / 2 * ((t - 1) * (t - 3) - 1) + b\nend\nlocal function outInQuad(t, b, c, d)\n  if t < d / 2 then return outQuad(t * 2, b, c / 2, d) end\n  return inQuad((t * 2) - d, b + c / 2, c / 2, d)\nend\n\n-- cubic\nlocal function inCubic (t, b, c, d) return c * pow(t / d, 3) + b end\nlocal function outCubic(t, b, c, d) return c * (pow(t / d - 1, 3) + 1) + b end\nlocal function inOutCubic(t, b, c, d)\n  t = t / d * 2\n  if t < 1 then return c / 2 * t * t * t + b end\n  t = t - 2\n  return c / 2 * (t * t * t + 2) + b\nend\nlocal function outInCubic(t, b, c, d)\n  if t < d / 2 then return outCubic(t * 2, b, c / 2, d) end\n  return inCubic((t * 2) - d, b + c / 2, c / 2, d)\nend\n\n-- quart\nlocal function inQuart(t, b, c, d) return c * pow(t / d, 4) + b end\nlocal function outQuart(t, b, c, d) return -c * (pow(t / d - 1, 4) - 1) + b end\nlocal function inOutQuart(t, b, c, d)\n  t = t / d * 2\n  if t < 1 then return c / 2 * pow(t, 4) + b end\n  return -c / 2 * (pow(t - 2, 4) - 2) + b\nend\nlocal function outInQuart(t, b, c, d)\n  if t < d / 2 then return outQuart(t * 2, b, c / 2, d) end\n  return inQuart((t * 2) - d, b + c / 2, c / 2, d)\nend\n\n-- quint\nlocal function inQuint(t, b, c, d) return c * pow(t / d, 5) + b end\nlocal function outQuint(t, b, c, d) return c * (pow(t / d - 1, 5) + 1) + b end\nlocal function inOutQuint(t, b, c, d)\n  t = t / d * 2\n  if t < 1 then return c / 2 * pow(t, 5) + b end\n  return c / 2 * (pow(t - 2, 5) + 2) + b\nend\nlocal function outInQuint(t, b, c, d)\n  if t < d / 2 then return outQuint(t * 2, b, c / 2, d) end\n  return inQuint((t * 2) - d, b + c / 2, c / 2, d)\nend\n\n-- sine\nlocal function inSine(t, b, c, d) return -c * cos(t / d * (pi / 2)) + c + b end\nlocal function outSine(t, b, c, d) return c * sin(t / d * (pi / 2)) + b end\nlocal function inOutSine(t, b, c, d) return -c / 2 * (cos(pi * t / d) - 1) + b end\nlocal function outInSine(t, b, c, d)\n  if t < d / 2 then return outSine(t * 2, b, c / 2, d) end\n  return inSine((t * 2) -d, b + c / 2, c / 2, d)\nend\n\n-- expo\nlocal function inExpo(t, b, c, d)\n  if t == 0 then return b end\n  return c * pow(2, 10 * (t / d - 1)) + b - c * 0.001\nend\nlocal function outExpo(t, b, c, d)\n  if t == d then return b + c end\n  return c * 1.001 * (-pow(2, -10 * t / d) + 1) + b\nend\nlocal function inOutExpo(t, b, c, d)\n  if t == 0 then return b end\n  if t == d then return b + c end\n  t = t / d * 2\n  if t < 1 then return c / 2 * pow(2, 10 * (t - 1)) + b - c * 0.0005 end\n  return c / 2 * 1.0005 * (-pow(2, -10 * (t - 1)) + 2) + b\nend\nlocal function outInExpo(t, b, c, d)\n  if t < d / 2 then return outExpo(t * 2, b, c / 2, d) end\n  return inExpo((t * 2) - d, b + c / 2, c / 2, d)\nend\n\n-- circ\nlocal function inCirc(t, b, c, d) return(-c * (sqrt(1 - pow(t / d, 2)) - 1) + b) end\nlocal function outCirc(t, b, c, d)  return(c * sqrt(1 - pow(t / d - 1, 2)) + b) end\nlocal function inOutCirc(t, b, c, d)\n  t = t / d * 2\n  if t < 1 then return -c / 2 * (sqrt(1 - t * t) - 1) + b end\n  t = t - 2\n  return c / 2 * (sqrt(1 - t * t) + 1) + b\nend\nlocal function outInCirc(t, b, c, d)\n  if t < d / 2 then return outCirc(t * 2, b, c / 2, d) end\n  return inCirc((t * 2) - d, b + c / 2, c / 2, d)\nend\n\n-- elastic\nlocal function calculatePAS(p,a,c,d)\n  p, a = p or d * 0.3, a or 0\n  if a < abs(c) then return p, c, p / 4 end -- p, a, s\n  return p, a, p / (2 * pi) * asin(c/a) -- p,a,s\nend\nlocal function inElastic(t, b, c, d, a, p)\n  local s\n  if t == 0 then return b end\n  t = t / d\n  if t == 1  then return b + c end\n  p,a,s = calculatePAS(p,a,c,d)\n  t = t - 1\n  return -(a * pow(2, 10 * t) * sin((t * d - s) * (2 * pi) / p)) + b\nend\nlocal function outElastic(t, b, c, d, a, p)\n  local s\n  if t == 0 then return b end\n  t = t / d\n  if t == 1 then return b + c end\n  p,a,s = calculatePAS(p,a,c,d)\n  return a * pow(2, -10 * t) * sin((t * d - s) * (2 * pi) / p) + c + b\nend\nlocal function inOutElastic(t, b, c, d, a, p)\n  local s\n  if t == 0 then return b end\n  t = t / d * 2\n  if t == 2 then return b + c end\n  p,a,s = calculatePAS(p,a,c,d)\n  t = t - 1\n  if t < 0 then return -0.5 * (a * pow(2, 10 * t) * sin((t * d - s) * (2 * pi) / p)) + b end\n  return a * pow(2, -10 * t) * sin((t * d - s) * (2 * pi) / p ) * 0.5 + c + b\nend\nlocal function outInElastic(t, b, c, d, a, p)\n  if t < d / 2 then return outElastic(t * 2, b, c / 2, d, a, p) end\n  return inElastic((t * 2) - d, b + c / 2, c / 2, d, a, p)\nend\n\n-- back\nlocal function inBack(t, b, c, d, s)\n  s = s or 1.70158\n  t = t / d\n  return c * t * t * ((s + 1) * t - s) + b\nend\nlocal function outBack(t, b, c, d, s)\n  s = s or 1.70158\n  t = t / d - 1\n  return c * (t * t * ((s + 1) * t + s) + 1) + b\nend\nlocal function inOutBack(t, b, c, d, s)\n  s = (s or 1.70158) * 1.525\n  t = t / d * 2\n  if t < 1 then return c / 2 * (t * t * ((s + 1) * t - s)) + b end\n  t = t - 2\n  return c / 2 * (t * t * ((s + 1) * t + s) + 2) + b\nend\nlocal function outInBack(t, b, c, d, s)\n  if t < d / 2 then return outBack(t * 2, b, c / 2, d, s) end\n  return inBack((t * 2) - d, b + c / 2, c / 2, d, s)\nend\n\n-- bounce\nlocal function outBounce(t, b, c, d)\n  t = t / d\n  if t < 1 / 2.75 then return c * (7.5625 * t * t) + b end\n  if t < 2 / 2.75 then\n    t = t - (1.5 / 2.75)\n    return c * (7.5625 * t * t + 0.75) + b\n  elseif t < 2.5 / 2.75 then\n    t = t - (2.25 / 2.75)\n    return c * (7.5625 * t * t + 0.9375) + b\n  end\n  t = t - (2.625 / 2.75)\n  return c * (7.5625 * t * t + 0.984375) + b\nend\nlocal function inBounce(t, b, c, d) return c - outBounce(d - t, 0, c, d) + b end\nlocal function inOutBounce(t, b, c, d)\n  if t < d / 2 then return inBounce(t * 2, 0, c, d) * 0.5 + b end\n  return outBounce(t * 2 - d, 0, c, d) * 0.5 + c * .5 + b\nend\nlocal function outInBounce(t, b, c, d)\n  if t < d / 2 then return outBounce(t * 2, b, c / 2, d) end\n  return inBounce((t * 2) - d, b + c / 2, c / 2, d)\nend\n\ntween.easing = {\n  linear    = linear,\n  inQuad    = inQuad,    outQuad    = outQuad,    inOutQuad    = inOutQuad,    outInQuad    = outInQuad,\n  inCubic   = inCubic,   outCubic   = outCubic,   inOutCubic   = inOutCubic,   outInCubic   = outInCubic,\n  inQuart   = inQuart,   outQuart   = outQuart,   inOutQuart   = inOutQuart,   outInQuart   = outInQuart,\n  inQuint   = inQuint,   outQuint   = outQuint,   inOutQuint   = inOutQuint,   outInQuint   = outInQuint,\n  inSine    = inSine,    outSine    = outSine,    inOutSine    = inOutSine,    outInSine    = outInSine,\n  inExpo    = inExpo,    outExpo    = outExpo,    inOutExpo    = inOutExpo,    outInExpo    = outInExpo,\n  inCirc    = inCirc,    outCirc    = outCirc,    inOutCirc    = inOutCirc,    outInCirc    = outInCirc,\n  inElastic = inElastic, outElastic = outElastic, inOutElastic = inOutElastic, outInElastic = outInElastic,\n  inBack    = inBack,    outBack    = outBack,    inOutBack    = inOutBack,    outInBack    = outInBack,\n  inBounce  = inBounce,  outBounce  = outBounce,  inOutBounce  = inOutBounce,  outInBounce  = outInBounce\n}\n\n\n\n-- private stuff\n\nlocal function copyTables(destination, keysTable, valuesTable)\n  valuesTable = valuesTable or keysTable\n  local mt = getmetatable(keysTable)\n  if mt and getmetatable(destination) == nil then\n    setmetatable(destination, mt)\n  end\n  for k,v in pairs(keysTable) do\n    if type(v) == 'table' then\n      destination[k] = copyTables({}, v, valuesTable[k])\n    else\n      destination[k] = valuesTable[k]\n    end\n  end\n  return destination\nend\n\nlocal function checkSubjectAndTargetRecursively(subject, target, path)\n  path = path or {}\n  local targetType, newPath\n  for k,targetValue in pairs(target) do\n    targetType, newPath = type(targetValue), copyTables({}, path)\n    table.insert(newPath, tostring(k))\n    if targetType == 'number' then\n      assert(type(subject[k]) == 'number', \"Parameter '\" .. table.concat(newPath,'/') .. \"' is missing from subject or isn't a number\")\n    elseif targetType == 'table' then\n      checkSubjectAndTargetRecursively(subject[k], targetValue, newPath)\n    else\n      assert(targetType == 'number', \"Parameter '\" .. table.concat(newPath,'/') .. \"' must be a number or table of numbers\")\n    end\n  end\nend\n\nlocal function checkNewParams(duration, subject, target, easing)\n  assert(type(duration) == 'number' and duration > 0, \"duration must be a positive number. Was \" .. tostring(duration))\n  local tsubject = type(subject)\n  assert(tsubject == 'table' or tsubject == 'userdata', \"subject must be a table or userdata. Was \" .. tostring(subject))\n  assert(type(target)== 'table', \"target must be a table. Was \" .. tostring(target))\n  assert(type(easing)=='function', \"easing must be a function. Was \" .. tostring(easing))\n  checkSubjectAndTargetRecursively(subject, target)\nend\n\nlocal function getEasingFunction(easing)\n  easing = easing or \"linear\"\n  if type(easing) == 'string' then\n    local name = easing\n    easing = tween.easing[name]\n    if type(easing) ~= 'function' then\n      error(\"The easing function name '\" .. name .. \"' is invalid\")\n    end\n  end\n  return easing\nend\n\nlocal function performEasingOnSubject(subject, target, initial, clock, duration, easing)\n  local t,b,c,d\n  for k,v in pairs(target) do\n    if type(v) == 'table' then\n      performEasingOnSubject(subject[k], v, initial[k], clock, duration, easing)\n    else\n      t,b,c,d = clock, initial[k], v - initial[k], duration\n      subject[k] = easing(t,b,c,d)\n    end\n  end\nend\n\n-- Tween methods\n\nlocal Tween = {}\nlocal Tween_mt = {__index = Tween}\n\nfunction Tween:set(clock)\n  assert(type(clock) == 'number', \"clock must be a positive number or 0\")\n\n  self.initial = self.initial or copyTables({}, self.target, self.subject)\n  self.clock = clock\n\n  if self.clock <= 0 then\n\n    self.clock = 0\n    copyTables(self.subject, self.initial)\n\n  elseif self.clock >= self.duration then -- the tween has expired\n\n    self.clock = self.duration\n    copyTables(self.subject, self.target)\n\n  else\n\n    performEasingOnSubject(self.subject, self.target, self.initial, self.clock, self.duration, self.easing)\n\n  end\n\n  return self.clock >= self.duration\nend\n\nfunction Tween:reset()\n  return self:set(0)\nend\n\nfunction Tween:update(dt)\n  assert(type(dt) == 'number', \"dt must be a number\")\n  return self:set(self.clock + dt)\nend\n\n\n-- Public interface\n\nfunction tween.new(duration, subject, target, easing)\n  easing = getEasingFunction(easing)\n  checkNewParams(duration, subject, target, easing)\n  return setmetatable({\n    duration  = duration,\n    subject   = subject,\n    target    = target,\n    easing    = easing,\n    clock     = 0\n  }, Tween_mt)\nend\n\nreturn tween"
  },
  {
    "path": "loveman.json",
    "content": "{\"icon-file\":\"assets/sprites/ui/baboutline.png\", \"author\":\"bab crew\", \"name\":\"bab be u\", \"love-version\":\"11.2\", \"bundle-identifier\":\"com.github.bab_be_u\"}"
  },
  {
    "path": "main.lua",
    "content": "local startload = love.timer.getTime()\n\nserpent = require \"serpent\"\nrequire \"lib/gooi\"\njson = require \"lib/json\"\ntick = require \"lib/tick\"\ntween = require \"lib/tween\"\ncolr = require \"lib/colr-print\"\nassets = require \"assets\"\nrequire \"ui\"\nrequire \"utils\"\nrequire \"values\"\nrequire \"audio\"\nrequire \"game/unit\"\nrequire \"game/movement\"\nrequire \"game/parser\"\nrequire \"game/rules\"\nrequire \"game/undo\"\nrequire \"game/cursor\"\nlocal utf8 = require(\"utf8\")\n\nlocal function error_printer(msg, layer)\n\tprint((debug.traceback(\"Error: \" .. tostring(msg), 1+(layer or 1)):gsub(\"\\n[^\\n]+$\", \"\")))\nend\ngame = require 'game/scene'\neditor = require 'editor/scene'\nloadscene = require 'editor/loadscene'\nmenu = require 'menu/scene'\npresence = {}\nframe = 0\ncmdargs = {}\n\ncurrentfps = 0\npeakfps = 0\naveragefps = 0\nfps_captures = {}\naveragefps = 0\n\nspecial_no = 1\n\nspookmode = false\n\nlocal debugEnabled = false\nlocal drawnDebugScreen = false\n\nlocal babupdated = false\n\nbxb = nil\n\nlogs = {}\nlogtexts = {}\nlogstatuses = {}\nlogtweens = {}\n\nfunction tableAverage(table)\n  local sum = 0\n  local ave = 0\n  local elements = #table\n\n  for i = 1, elements do\n    sum = sum + table[i]\n  end\n\n  ave = sum / elements\n\n  return ave\nend\n\nlocal debugDrawText                           -- read the line below\nlocal headerfont = love.graphics.newFont(32)  -- used for debug\nlocal regularfont = love.graphics.newFont(16) -- read the line above\n\nlocal slightlybiggerfont = love.graphics.newFont(20) -- for things that need more attention than usual text\n\nfunction love.load(arg)\n  local current_arg = nil\n  for i,v in ipairs(arg) do\n    if v:sub(1,2) == \"--\" then\n      current_arg = v:sub(3)\n      cmdargs[current_arg] = \"\"\n    elseif current_arg then\n      cmdargs[current_arg] = cmdargs[current_arg] .. (cmdargs[current_arg] ~= \"\" and \" \" or \"\") .. v\n    end\n  end\n  if cmdargs[\"help\"] then\n    print([[\nbab arguments!\n\n--test <scene>      Starts the game with a test scene\n--theme [<theme>]   Starts the game with the specified theme (or none)\n--randomize         Randomizes the game's assets\n--spook             ????\n]])\n    love.event.quit()\n    return\n  end\n  for i,v in pairs(cmdargs) do\n    print(colr.dim(\"arg set: \" .. i .. \"=\" .. v))\n  end\n\n\n  local babfound = false\n\n  function searchbab(d)\n    local dir = \"assets/sprites\"\n    if d then\n      dir = dir .. \"/\" .. d\n    end\n    local files = love.filesystem.getDirectoryItems(dir)\n    for _,file in ipairs(files) do\n      if string.sub(file, -4) == \".png\" then\n        local spritename = string.sub(file, 1, -5)\n        local sprite = love.graphics.newImage(dir .. \"/\" .. file)\n        if d then\n          spritename = d .. \"/\" .. spritename\n        end\n        if spritename == \"bab\" then\n          babfound = true\n        end\n      elseif love.filesystem.getInfo(dir .. \"/\" .. file).type == \"directory\" then\n        local newdir = file\n        if d then\n          newdir = d .. \"/\" .. newdir\n        end\n        searchbab(file)\n      end\n    end\n  end\n\n  searchbab()\n\n  if not babfound or cmdargs[\"spook\"] or os.date(\"%m-%d\") == \"10-31\" and os.date(\"%H\") >= \"22\" or os.date(\"%H:%M\") == \"3:00\" then\n    spookmode = true\n  end\n\n  if babfound then\n    print(colr.bright([[\n  \n  \n                                    BBBBBBBBBB\n                                    BBBBBBBBBBBBB            BBBBBBBBBB\n                                    BBBBBBBBBBBBB            BBBBBBBBBB\n                                  BBBBBBBBBBBBBBB          BBBBBBBBBBBB\n                                  BBBBBBBBBBBBBBB          BBBBBBBBBBBB\n                                  BBBBBBBBBBBBBBB       BBBBBBBBBBBBBBB\n                                  BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\n                                  BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\n                        BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\n                  BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB        BBBBBBBBBB\n                  BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB        BBBBBBBBBB\n                BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB        BBBBBBBBBB\n                BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB        BBBBBBBBBB\n              BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB        BBBBBBBBBB\n          BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB        BBBBBBBBBBBBBBBBBBBBBB\n          BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB        BBBBBBBBBBBBBBBBBBBBBB\n          BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB        BBBBBBBBBBBBBBBBBBBBBB\n          BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB        BBBBBBBBBBBBBBBBBBBBBB\n          BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB        BBBBBBBBBBBBBBBBBBBBBB\n          BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\n          BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\n          BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\n          BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\n          BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\n                BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\n              BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\n              BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\n              BBBBBBBBBB  BBBBBBBB               BBBBBBBBBBBBBBBBB\n            BBBBBBBBBBB  BBBBBBBB               BBBBBBBBBBBBBBBBB\n          BBBBBBBBBBBBB  BBBBBBBB               BBBBBBB   BBBBBBB\n          BBBBBBBBBB     BBBBBBBBBB             BBBBBBB   BBBBBBBBBB\n          BBBBBBBBBB     BBBBBBBBBB             BBBBBBB   BBBBBBBBBB\n          BBBBBBBB       BBBBBBBBBB                       BBBBBBBBBB\n          BBBBBBBB          BBBBBBBBBB                    BBBBBBBBBB\n          BBBBBBBB          BBBBBBBBBB                    BBBBBBBBBB\n          BBBBBBBB          BBBBBBBBBB                      BBBBBBBB\n          BBBBBBBB          BBBBBBBBBB                      BBBBBBBB\n          BBBBBBBB          BBBBBBBBBB                      BBBBBBBB\n  \n    ]]))\n  end\n  print(colr.magenta([[\n                                   ]])..(spookmode and \"  help\" or \"BAB BE U\")..\n\"\\n                                      v. \"..build_number..[[\n                                     ]]..colr.red('❤')..' v. '..love.getVersion()..'\\n\\n')\n\n  if settings[\"autoupdate\"] then\n    print('checking updates')\n    pcall(function()\n      execute('git fetch')\n      if not string.find(execute('git status'), 'is up to date with') then\n        os.execute('git pull')\n        babupdated = true\n        print('updated')\n      else\n        print('no updates found')\n      end\n    end)\n  end\n\n  local libstatus, liberr = pcall(function() discordRPC = require \"lib/discordRPC\" end)\n  if libstatus then\n    discordRPC = require \"lib/discordRPC\"\n    print(colr.green(\"✓ discord rpc added\"))\n  else\n    print(colr.yellow(\"⚠ failed to require discordrpc: \"..liberr))\n  end\n\n  tweens = {}\n  ticks = {}\n  anim_stage = 0\n  next_anim = ANIM_TIMER\n  fullscreen = settings[\"fullscreen\"]\n  winwidth, winheight = love.graphics.getDimensions( )\n\n  if fullscreen and love.window then\n    if not love.window.isMaximized( ) then\n      winwidth, winheight = love.graphics.getDimensions( )\n    end\n    love.window.setMode(0, 0, {borderless=false})\n    love.window.maximize( )\n  end\n\n  empty_sprite = love.image.newImageData(32, 32)\n  if not is_mobile then\n    empty_cursor = love.mouse.newCursor(empty_sprite)\n    gooi.desktopMode()\n  end\n\n  default_font = love.graphics.newFont()\n  game_time_start = love.timer.getTime()\n\n  love.graphics.setDefaultFilter(\"nearest\",\"nearest\")\n\n  print(colr.green(\"✓ startup values added\\n\"))\n\n  loaded_custom_assets = false\n  assets.clear()\n  assets.load(\"assets\")\n\n  randomize_assets = false or cmdargs[\"randomize\"]\n  math.randomseed(love.timer.getTime())\n  if randomize_assets then\n    local names = {}\n    local spr = {}\n    for n,s in pairs(sprites) do\n      if s:getWidth() < 64 and s:getHeight() < 64 then\n        table.insert(names, n)\n        table.insert(spr, s)\n      end\n    end\n    for i = #spr, 2, -1 do -- https://gist.github.com/Uradamus/10323382\n      local j = math.random(i)\n      spr[i], spr[j] = spr[j], spr[i]\n    end\n    for i,n in ipairs(names) do\n      sprites[n] = spr[i]\n    end\n  end\n\n  current_palette = \"default\"\n\n  menu_palette = menu_palettes[math.random(1,#menu_palettes)]\n  if not settings[\"seen_menu\"] then\n    menu_palette = \"default\"\n  end\n\n  sprites[\"letters_/\"] = sprites[\"letters_slash\"]\n  sprites[\"letters_:\"] = sprites[\"letters_colon\"]\n  system_cursor = sprites[\"ui/mous\"]\n  --if love.system.getOS() == \"OS X\" then\n    --system_cursor = sprites[\"ui/mous_osx\"]\n  --end\n\n  --load some fonts\n  fonts = {}\n  fonts[\"8bitoperator\"] = love.graphics.newFont(\"assets/fonts/8bitoperator.ttf\", 10, \"mono\");\n  fonts[\"metanumber\"] = love.graphics.newImageFont(\"assets/fonts/metanumber.png\", '1234567890');\n  registerSound(\"move\", 0.4)\n  registerSound(\"mous sele\", 0.3)\n  registerSound(\"mous hovvr\", 0.3)\n  registerSound(\"mous kicc\", 0.3)\n  registerSound(\"mous snar\", 0.3)\n  registerSound(\"mous hihet\", 0.3)\n  registerSound(\"mous crash\", 0.3)\n  -- there is a more efficient way, i know.\n\n  -- WHY NOT DO IT THEN\n  -- ugh ill do it for you\n  for i=1, 10 do\n    registerSound(\"mous special \"..i, 0.3)\n  end\n\n  for i=1, 6 do\n    registerSound(\"honk\"..i, 1)\n  end\n\n  -- ty. much appreciated\n  registerSound(\"break\", 0.5)\n  registerSound(\"unlock\", 0.6)\n  registerSound(\"sink\", 0.5)\n  registerSound(\"rule\", 0.5)\n  registerSound(\"win\", 0.5)\n  registerSound(\"infloop\", 0.5)\n  registerSound(\"snacc\", 1.0)\n  registerSound(\"hotte\", 1.0)\n  registerSound(\"undo\", 0.8)\n  registerSound(\"fail\", 0.5)\n  registerSound(\"bonus\", 0.4)\n  registerSound(\"timestop\", 1)\n  registerSound(\"timestop long\", 1)\n  registerSound(\"time resume\", 1)\n  registerSound(\"time resume long\", 1)\n  registerSound(\"za warudo\", 1)\n  registerSound(\"time resume dio\", 1)\n  registerSound(\"bup\", 0.5)\n  registerSound(\"anti clicc\", 1)\n  registerSound(\"clicc\", 1)\n  registerSound(\"unwin\", 0.5)\n  registerSound(\"stopwatch\", 1.0)\n  registerSound(\"babbolovania\", 0.7)\n  registerSound(\"dragabl pickup\", 0.5)\n  registerSound(\"dragabl putdown\", 0.5)\n  registerSound(\"thicc\", 1)\n  registerSound(\"unthicc\", 1)\n\n  print(colr.green(\"✓ sounds registered\"))\n\n  ui.init()\n  ui.overlay.rebuild()\n  print(colr.green(\"✓ ui initialized\"))\n\n  if discordRPC and discordRPC ~= true and not cmdargs[\"no-rpc\"] then\n    discordRPC.initialize(\"579475239646396436\", true) -- app belongs to oatmealine, contact her if you wish to make any changes\n    print(colr.green(\"✓ discord rpc initialized\"))\n  end\n\n  if not love.filesystem.getInfo(\"profiles\") then\n    love.filesystem.createDirectory(\"profiles\")\n    print(colr.green(\"✓ created profiles directory\"))\n  end\n\n  if not love.filesystem.getInfo(\"profiles/\" .. profile.name) then\n    love.filesystem.createDirectory(\"profiles/\" .. profile.name)\n    print(colr.green(\"✓ created '\"..profile.name..\"' profile directory\"))\n  end\n\n  if is_mobile then\n    love.window.setMode(640, 360, {borderless=true, resizable=false, minwidth=705, minheight=510, fullscreen=true})\n  end\n\n  if spookmode then\n    for i=1, 20 do\n      print(colr.red(\"⚠ bab not found\"))\n    end\n    --love.errorhandler = function() print(colr.red(\"goodbye\")) end\n    love.window.setIcon(love.image.newImageData(\"assets/sprites/wat.png\"))\n    love.window.setTitle(\"bxb bx x\")\n    if not settings[\"lessflashing\"] then\n      love.window.setFullscreen(true)\n    end\n  else\n    print(colr.bright(\"\\nboot complete!\"))\n  end\n\n  if cmdargs[\"test\"] then\n    metaClear()\n    clear()\n    presence = {\n      state = cmdargs[\"test\"] .. \" test\",\n      details = \"testing cool new fechures\",\n      largeImageKey = \"titlescreen\",\n      largeimageText = \"main menu\",\n      startTimestamp = os.time(os.date(\"*t\"))\n    }\n    nextPresenceUpdate = 0\n    scene = require(\"test/\" .. cmdargs[\"test\"])\n  else\n    scene = menu\n  end\n  scene.load()\n\n  print(colr.dim(\"load took \"..(math.floor((love.timer.getTime()-startload)*10)/10)..\"s\"))\n\n  local print_ = print -- fuckers took print. cant have shit in detroit\n  print = function(a)\n    if settings[\"print_to_screen\"] then log_debug(a) end\n    print_(a)\n  end\nend\n\nfunction love.keypressed(key,scancode,isrepeat)\n  if scene ~= loadscene then\n    gooi.keypressed(key, scancode)\n  end\n\n  if key == \"f1\" then\n    if scene == editor then\n      scene = game\n      load_mode = \"play\"\n      clearGooi()\n      scene.load()\n    end\n  elseif key == \"f2\" then\n    if scene == game then\n      scene = editor\n      load_mode = \"edit\"\n      clearGooi()\n      if not love.keyboard.isDown('lshift') then\n        scene.load()\n      end\n\tend\n  elseif key == \"g\" and love.keyboard.isDown('f3') then\n    rainbowmode = not rainbowmode\n  elseif key == \"q\" and love.keyboard.isDown('f3') then\n    superduperdebugmode = not superduperdebugmode\n  elseif key == \"m\" and love.keyboard.isDown('f3') then\n    if not is_mobile then\n      winwidth, winheight = love.graphics.getDimensions( )\n      love.window.setMode(800, 480, {borderless=true, resizable=false, minwidth=705, minheight=510})\n      is_mobile = true\n      emulating_mobile = false\n    elseif is_mobile then\n      love.window.setMode(winwidth, winheight, {borderless=false, resizable=true, minwidth=705, minheight=510})\n      emulating_mobile = true\n      is_mobile = false\n    end\n  elseif key == \"d\" and love.keyboard.isDown('f3') then\n    drumMode = not drumMode\n  elseif key == \"r\" and love.keyboard.isDown('f3') then\n    remasterMode = not remasterMode\n  elseif key == \"h\" and love.keyboard.isDown('f3') then\n    settings[\"infomode\"] = not settings[\"infomode\"]\n    saveAll()\n  elseif key == \"l\" and love.keyboard.isDown('f3') then\n    debugEnabled = true\n  elseif key == \"i\" and love.keyboard.isDown('f3') then\n    displayids = not displayids\n  elseif key == \"f4\" and not spookmode then\n    debug_view = not debug_view\n  elseif key == \"f5\" then\n    love.event.quit(\"restart\")\n  elseif key == \"f11\" then\n    fullScreen()\n  elseif key == \"o\" and love.keyboard.isDown('lctrl') then\n    if scene == menu then\n      love.system.openURL(\"file:///\"..love.filesystem.getSaveDirectory())\n    elseif scene == loadscene then\n      if world == \"\" then\n        if love.filesystem.getInfo(\"levels\") then\n          love.system.openURL(\"file:///\"..love.filesystem.getSaveDirectory()..\"/levels/\")\n        else\n          love.system.openURL(\"file:///\"..love.filesystem.getSaveDirectory())\n        end\n      else\n        if world_parent ~= \"officialworlds\" then\n          love.system.openURL(\"file:///\"..love.filesystem.getSaveDirectory()..\"/\"..getWorldDir(true)..\"/\")\n        else\n          love.system.openURL(\"file:///\"..love.filesystem.getSource()..\"/\"..getWorldDir(true)..\"/\")\n        end\n      end\n    end\n  end\n\n  if not ui.keyPressed(key) and scene and scene.keyPressed then\n    scene.keyPressed(key, isrepeat)\n  end\nend\n\nfunction love.keyreleased(key, scancode)\n  if scene ~= loadscene then\n    gooi.keyreleased(key, scancode)\n  end\n\n  if not ui.keyReleased(key) and scene and scene.keyReleased then\n    scene.keyReleased(key)\n  end\nend\n\nfunction love.textinput(text)\n  if scene == editor then\n    gooi.textinput(text)\n  end\n\n  if not ui.textInput(text) and scene and scene.textInput then\n    scene.textInput(text)\n  end\nend\n\nfunction love.wheelmoved(whx, why)\n  if scene and scene.wheelMoved then\n    scene.wheelMoved(whx, why)\n  end\nend\n\n--[[function love.touchpressed(id, x, y)\n  love.mousepressed(x,y,1)\nend\n\nfunction love.touchreleased(id, x, y, dx, dy, pressure)\n  love.mousereleased(x,y,1)\nend]]\n\nfunction love.mousepressed(x, y, button)\n  if scene ~= loadscene then\n    gooi.pressed()\n  end\n\n  if is_mobile then\n    love.mouse.setPosition(x, y)\n  end\n\n-- this is still a feature? nice!\n  if not ui.hovered and scene ~= editor then\n    if drumMode then\n      if button == 1 then playSound(\"mous kicc\") end\n      if button == 2 then playSound(\"mous snar\") end\n      if button == 3 then playSound(\"mous hihet\") end\n      if button == 4 then playSound(\"mous crash\") end\n      if button == 5 then\n        playSound(\"mous special \"..special_no)\n\n        if special_no == 10 then\n          special_no = 1\n        else\n          special_no = special_no + 1\n        end\n\n      end\n  end\n  end\n\n  if scene and scene.mousePressed then\n    scene.mousePressed(x, y, button)\n  end\nend\n\nfunction love.mousereleased(x, y, button)\n  if scene and scene.mouseReleased then\n    scene.mouseReleased(x, y, button)\n  end\n\n  if scene == menu and button == 1 then\n    local width = love.graphics.getWidth()\n    local height = love.graphics.getHeight()\n\n    local buttonwidth, buttonheight = sprites[\"ui/button_1\"]:getDimensions()\n  end\n\n  if scene ~= loadscene then\n    gooi.released()\n  end\nend\n\nfunction addTween(tween, name, fn)\n  tweens[name] = {tween, fn}\nend\n\nfunction addTick(name, delay, fn)\n  if ticks[name] then ticks[name]:stop() end\n  local ret = tick.delay(fn, delay)\n  ticks[name] = ret\n  return ret\nend\n\nfunction switchScene(name)\n  scene = loadscene\n  load_mode = name\n  if spookmode then\n    load_mode = \"game\"\n  end\n  clearGooi()\n  scene.load()\nend\n\nlocal gettimetime = 0\n\nlove.timer.getRealTime = love.timer.getTime\nlove.timer.getTime = function()\n  if spookmode and not settings[\"lessflashing\"] then\n    return gettimetime\n  else\n    return love.timer.getRealTime()\n  end\nend\n\ncutscene_tick = tick.group()\n\nfunction love.update(dt)\n  local mult = math.floor(love.timer.getFPS() / 60)\n  if not love.window.hasFocus() then\n    if frame % mult > 0 then\n      return\n    else\n      dt = dt * mult\n    end\n  end\n\n  if spookmode and not settings[\"lessflashing\"] then\n    dt = math.tan(love.timer.getRealTime()*20)/200\n  end\n\n  if not (love.window.isVisible or love.window.hasFocus or love.window.hasMouseFoxus) and spookmode and not settings[\"lessflashing\"] then\n    love.window.requestAttention()\n  end\n\n  gettimetime = gettimetime + dt\n\n  currentfps = love.timer.getFPS()\n\n  table.insert(fps_captures, currentfps)\n\n  averagefps = tableAverage(fps_captures)\n\n  if currentfps > peakfps then\n    peakfps = currentfps\n  end\n\n  if shake_dur > 0 then\n    shake_dur = shake_dur-dt\n  else\n    shake_intensity = 0\n    shake_dur = 0\n  end\n  if shake_intensity > 0.4 then\n    shake_intensity = 0.4\n  end\n\n  if spookmode and settings[\"shakes\"] then\n    shake_intensity = 0.02\n    shake_dur = 1000\n  end\n\n  for k,v in pairs(tweens) do\n    if v[1]:update(dt) then\n      tweens[k] = nil\n      if v[2] then v[2]() end\n    end\n  end\n\n  for i,l in ipairs(logs) do\n    if not logtexts[i] then\n      local font = regularfont\n      if l[2] == 'error' then font = slightlybiggerfont end\n\n      logtexts[i] = love.graphics.newText(font, l[1])\n      logtexts[i]:setf(l[1], love.graphics.getWidth(), 'left')\n    end\n    if not logstatuses[i] then\n      logstatuses[i] = {value = 1}\n    end\n    if not logtweens[i] then\n      logtweens[i] = 'hold on bro' -- im sorry i needed a value\n\n      local delay = 2\n      if l[2] == 'debug' then delay = 0.5 end\n      if l[2] == 'error' then delay = 5 end\n\n      local easeDur = 2\n\n      -- this approach causes tons of issues, see: https://canary.discord.com/channels/556333985882439680/579519329515732993/793868008677179402\n      --[[\n      tick.delay(function()\n        logtweens[i] = tween.new(easeDur, logstatuses[i], {value = 0}, 'inSine')\n      end, delay)\n      ]]\n      -- so for now im using a temporary approach that breaks the ease function\n      logstatuses[i] = {value = 1 + (1 / easeDur) * delay}\n      logtweens[i] = tween.new(easeDur + delay, logstatuses[i], {value = 0}, 'inSine')\n    end\n    if logtweens[i].update then logtweens[i]:update(dt) end\n  end\n\n  -- go through the log statuses, remove old ones\n  for i = #logstatuses, 1, -1 do -- reverse to avoid deleting perfectly fine logs by accident\n    if logstatuses[i].value == 0 then\n      table.remove(logstatuses, i)\n      table.remove(logs, i)\n      table.remove(logtweens, i)\n      table.remove(logtexts, i)\n    end\n  end\n\n  ui.update()\n  if scene ~= loadscene then\n    gooi.update(dt)\n  end\n  tick.update(dt)\n  if not pause then\n    cutscene_tick:update(dt)\n  end\n\n  if scene and scene.update then\n    scene.update(dt)\n  end\n\n  if new_scene then\n    scene = new_scene\n    clearGooi()\n    scene.load()\n    new_scene = nil\n  end\n\n  if not settings[\"music_on\"] then music_volume = 0 end\n  if settings[\"music_on\"] then music_volume = settings[\"music_vol\"] / 2 * settings[\"master_vol\"] end\n  updateMusic()\n\n  if not settings[\"sfx_on\"] then sfx_volume = 0 end\n  if settings[\"sfx_on\"] then sfx_volume = settings[\"sfx_vol\"] / 2 * settings[\"master_vol\"]end\n\n  if debugEnabled and drawnDebugScreen then\n    debug.debug()\n\n    debugEnabled = false\n    drawnDebugScreen = false\n  end\n\n  if discordRPC and discordRPC ~= true then\n    if nextPresenceUpdate < love.timer.getTime() then\n      discordRPC.updatePresence(presence)\n      nextPresenceUpdate = love.timer.getTime() + 2.0\n    end\n    discordRPC.runCallbacks()\n  end\nend\n\nfunction love.draw()\n  local sx, sy, sw, sh = 0, 0, love.graphics.getWidth(), love.graphics.getHeight()\n  if love.isVersionCompatible('11.3') then sx, sy, sw, sh = love.window.getSafeArea() end\n\n  local dt = love.timer.getDelta()\n  frame = frame + 1\n\n  next_anim = next_anim - (dt * 1000)\n  if next_anim <= 0 then\n    anim_stage = (anim_stage + 1) % 3\n    next_anim = next_anim + ANIM_TIMER\n  end\n\n\n  love.graphics.push()\n  love.graphics.translate(sx, sy)\n  love.graphics.scale(sw/love.graphics.getWidth(), sh/love.graphics.getHeight())\n  love.graphics.setFont(default_font)\n\n  if scene and scene.draw then\n    scene.draw(dt)\n  end\n\n  ui.overlay.draw()\n\n  local y = 0\n  local width = 0\n  local height = 0\n  for i,l in ipairs(logtexts) do\n    local val = math.min(logstatuses[i].value, 1)\n    height = height + l:getHeight() * val\n    width = math.max(width, l:getWidth() * val)\n  end\n\n  love.graphics.setColor(0, 0, 0, 0.25)\n  love.graphics.rectangle('fill', 0, 0, math.max(width, love.graphics.getWidth()/3), height)\n\n  for i,l in ipairs(logtexts) do\n    local val = math.min(logstatuses[i].value, 1)\n\n    love.graphics.setColor(0, 0, 0, val)\n    love.graphics.draw(l, 1, y + 1)\n\n    love.graphics.setFont(regularfont)\n\n    love.graphics.setColor(1, 1, 1, val)\n    if logs[i][2] == 'error' then love.graphics.setColor(1, 0, 0, val) end\n    if logs[i][2] == 'debug' then love.graphics.setColor(1, 1, 1, val * 0.8) end\n\n    love.graphics.draw(l, 0, y)\n    y = y + l:getHeight() * val\n  end\n\n  if debug_view and not spookmode then\n    local mousex, mousey = love.mouse.getPosition()\n\n    local debugheader = \"SUPER DEBUG MENU V2.1\"\n    local debugtext = 'bab be u commit numero '..build_number..'\\n'..\n    'current fps: '..love.timer.getFPS()..'\\n'..\n    'peak fps: '..peakfps..'\\n'..\n    'average fps: '..averagefps..'\\n'..\n    '\\nF5 to restart LÖVE\\n'..\n    'F4 to toggle debug menu\\n'..\n    'F3+G to toggle rainbowmode\\n'..\n    'F3+Q for SUPER DUPER DEBUG MODE (wip)\\n'..\n     'F3+L for CONSOLE DEBUGGER\\n'..\n\t'F3+M to toggle mobile\\n'..\n    'F3+H to toggle additional tile info\\n'..\n    'F3+D for MOUS DRUM KIT MODE\\n'..\n    'F3+R for REMASTER MODE\\n'..\n    'F2 for editor mode\\n'..\n    'F1 for game mode\\n'\n\n    if superduperdebugmode then\n      local stats = love.graphics.getStats()\n      local name, version, vendor, device = love.graphics.getRendererInfo()\n      local processorCount = love.system.getProcessorCount()\n\n      debug_values[\"estimated amount of texture memory used\"] = string.format(\"%.2f MB\", stats.texturememory / 1024 / 1024)\n      debug_values[\"renderer info\"] = name..' v'..version..' by '..vendor..' using'..device\n    else\n      debug_values[\"estimated amount of texture memory used\"], debug_values[\"renderer info\"] = nil\n    end\n\n    for key, value in pairs(debug_values) do\n      if value ~= nil then\n        debugtext = debugtext..'\\n'..\n        key..': '..value\n      end\n    end\n\n    if debugtext ~= olddebugtext or not debugDrawText then\n      debugDrawText = {love.graphics.newText(regularfont, debugtext), love.graphics.newText(headerfont, debugheader)}\n    end\n    local debugmenuw, debugmenuh = debugDrawText[1]:getDimensions()\n    if debugmenuw < debugDrawText[2]:getWidth() then debugmenuw = debugDrawText[2]:getWidth() end\n\n    -- print the background\n    love.graphics.setColor(0, 0, 0, 0.6)\n    love.graphics.rectangle(\"fill\", 0, 0, debugmenuw, debugmenuh+headerfont:getHeight())\n\n    -- print the header and its shadow\n    love.graphics.setFont(headerfont)\n\n    love.graphics.setColor(0, 0, 0, 1)\n    love.graphics.print(debugheader, 1, 1)\n    love.graphics.setColor(hslToRgb(love.timer.getTime()/3%1, .5, .5, .9))\n    love.graphics.print(debugheader, 0, 0)\n\n    --print the actual debug text and its shadow\n    love.graphics.setFont(regularfont)\n\n    love.graphics.setColor(0, 0, 0, 1)\n    love.graphics.printf(debugtext, 1, 1+headerfont:getHeight(), love.graphics.getWidth())\n    love.graphics.setColor(1, 1, 1, 0.9)\n    setRainbowModeColor(love.timer.getTime()/3)\n    love.graphics.printf(debugtext, 0, 0+headerfont:getHeight(), love.graphics.getWidth())\n\n    olddebugtext = debugtext\n  end\n\n  if superduperdebugmode and not spookmode then\n    love.graphics.setColor(1,1,0, 0.7)\n    love.graphics.line(love.mouse.getX()-love.mouse.getY(), 0, love.mouse.getX()+(love.graphics.getHeight()-love.mouse.getY()), love.graphics.getHeight())\n    love.graphics.line(love.mouse.getX()+love.mouse.getY(), 0, love.mouse.getX()-(love.graphics.getHeight()-love.mouse.getY()), love.graphics.getHeight())\n\n    love.graphics.setColor(1,0,0, 0.7)\n    love.graphics.line(love.mouse.getX(), 0, love.mouse.getX(), love.graphics.getHeight())\n    love.graphics.setColor(0,1,0, 0.7)\n    love.graphics.line(0, love.mouse.getY(), love.graphics.getWidth(), love.mouse.getY())\n\n\n    local formula =  \"love.graphics.getWidth()-love.graphics.getWidth()/\"..math.floor(love.graphics.getWidth()/love.mouse.getX()*100)/100\n    local formula2 = \"love.graphics.getHeight()-love.graphics.getHeight()/\"..math.floor(love.graphics.getHeight()/love.mouse.getY()*100)/100\n\n    local function drawmousething(x, y)\n      love.graphics.printf('x'..love.mouse.getX()..'\\ny'..love.mouse.getY()..'\\n'..formula..'\\n'..formula2, love.mouse.getX()+10+x, love.mouse.getY()+10+y, love.graphics.getWidth()-love.mouse.getX())\n    end\n\n    love.graphics.setFont(regularfont)\n\n    love.graphics.setColor(0,0,0)\n    drawmousething(1, 1)\n    love.graphics.setColor(0,0,1)\n    drawmousething(0, 0)\n  end\n\n  if spookmode and math.random(1000) == 500 and not settings[\"lessflashing\"] then\n    local bab = love.graphics.newImage(\"assets/sprites/ui/bxb bx x.jpg\")\n    love.graphics.setColor(1, 1, 1)\n    love.graphics.draw(bab, 0, 0, 0, bab:getWidth()/love.graphics.getWidth(), bab:getHeight()/love.graphics.getHeight())\n  end\n\n  if debugEnabled then\n    love.graphics.setFont(regularfont)\n    love.graphics.setColor(0.2,0.2,0.2,0.7)\n    love.graphics.rectangle('fill', 0, 0, love.graphics.getWidth(), love.graphics.getHeight())\n    love.graphics.setColor(1,1,1)\n    love.graphics.printf(\"IN DEBUG - check console, use cont to exit\", 0, love.graphics.getHeight()/2-love.graphics.getFont():getLineHeight(), love.graphics.getWidth(), 'center')\n    drawnDebugScreen = true\n  end\n\n  ui.postDraw()\n  love.graphics.pop()\nend\n\nfunction love.visible()\n  if spookmode and not settings[\"lessflashing\"] then\n    love.resize()\n  end\nend\n\nfunction love.resize(w, h)\n  if spookmode and not settings[\"lessflashing\"] then\n    local winwidth, winheight = love.graphics.getDimensions()\n    love.window.setMode(winwidth, winheight, {borderless=true, resizable=false, minwidth=705, minheight=510, fullscreen=true})\n  end\n\n  if scene and scene.resize then\n    scene.resize(w, h)\n  end\n  ui.overlay.rebuild()\n\n  logtexts = {} -- refresh text cache with new screen width in mind\nend\n\nfunction love.mousemoved(x, y, dx, dy)\n  ui.lock_hovered = false\n  if scene and scene.mouseMoved then\n    scene.mouseMoved(x, y, dx, dy)\n  end\nend\n\nfunction love.errorhandler(msg)\n\tmsg = tostring(msg)\n\n\terror_printer(msg, 2)\n\n\tif not love.window or not love.graphics or not love.event then\n\t\treturn\n\tend\n\n\tif not love.graphics.isCreated() or not love.window.isOpen() then\n\t\tlocal success, status = pcall(love.window.setMode, 800, 600)\n\t\tif not success or not status then\n\t\t\treturn\n\t\tend\n\tend\n\n\t-- Reset state.\n\tif love.mouse then\n\t\tlove.mouse.setVisible(true)\n\t\tlove.mouse.setGrabbed(false)\n\t\tlove.mouse.setRelativeMode(false)\n\t\tif love.mouse.isCursorSupported() then\n\t\t\tlove.mouse.setCursor()\n\t\tend\n\tend\n\tif love.joystick then\n\t\t-- Stop all joystick vibrations.\n\t\tfor i,v in ipairs(love.joystick.getJoysticks()) do\n\t\t\tv:setVibration()\n\t\tend\n\tend\n\tif love.audio then love.audio.stop() end\n\n\tlove.graphics.reset()\n\tlocal font = love.graphics.setNewFont(14)\n\n\tlove.graphics.setColor(1, 1, 1, 1)\n\n\tlocal trace = debug.traceback()\n\n\tlove.graphics.origin()\n\n\tlocal sanitizedmsg = {}\n\tfor char in msg:gmatch(utf8.charpattern) do\n\t\ttable.insert(sanitizedmsg, char)\n\tend\n\tsanitizedmsg = table.concat(sanitizedmsg)\n\n\tlocal err = {}\n\n\ttable.insert(err, \"uh ohhh!!! error!!\\n\")\n\ttable.insert(err, sanitizedmsg)\n\n\tif #sanitizedmsg ~= #msg then\n\t\ttable.insert(err, \"Invalid UTF-8 string in error message.\")\n\tend\n\n\ttable.insert(err, \"\\n\")\n\n\tfor l in trace:gmatch(\"(.-)\\n\") do\n\t\tif not l:match(\"boot.lua\") then\n\t\t\tl = l:gsub(\"stack traceback:\", \"here's what happnd:\\n\")\n\t\t\ttable.insert(err, l)\n\t\tend\n\tend\n\n  local p = table.concat(err, \"\\n\")\n  local popupactive = 0\n\n\tp = p:gsub(\"\\t\", \"\")\n\tp = p:gsub(\"%[string \\\"(.-)\\\"%]\", \"%1\")\n\n  local function draw()\n    if drawnDebugScreen then\n      debugDrawText = false\n      drawnDebugScreen = false\n      debug.debug()\n    end\n\n\t\tlocal pos = 70\n    love.graphics.clear(23/255, 49/255, 84/255)\n    love.graphics.setColor(1,1,1)\n    love.graphics.printf(p, pos, pos, love.graphics.getWidth() - pos)\n    if sprites[\"bab\"] then\n      local bab = sprites[\"bab\"]\n      local xoff = math.random(-2,2)\n      local yoff = math.random(-2,2)\n\n      love.graphics.push()\n      love.graphics.translate(love.graphics.getWidth()-10-bab:getWidth(), love.graphics.getHeight()-10-bab:getHeight())\n      love.graphics.rotate(love.timer.getTime())\n\n      -- oh boy\n      love.graphics.setColor(0,0,0)\n      love.graphics.draw(bab, -bab:getWidth()/2+xoff-1, -bab:getHeight()/2+yoff)\n      love.graphics.draw(bab, -bab:getWidth()/2+xoff-1, -bab:getHeight()/2+yoff-1)\n      love.graphics.draw(bab, -bab:getWidth()/2+xoff, -bab:getHeight()/2+yoff-1)\n      love.graphics.draw(bab, -bab:getWidth()/2+xoff+1, -bab:getHeight()/2+yoff)\n      love.graphics.draw(bab, -bab:getWidth()/2+xoff+1, -bab:getHeight()/2+yoff+1)\n      love.graphics.draw(bab, -bab:getWidth()/2+xoff, -bab:getHeight()/2+yoff+1)\n      love.graphics.draw(bab, -bab:getWidth()/2+xoff-1, -bab:getHeight()/2+yoff+1)\n      love.graphics.draw(bab, -bab:getWidth()/2+xoff+1, -bab:getHeight()/2+yoff-1)\n\n      love.graphics.setColor(1,1,1)\n      love.graphics.draw(bab, -bab:getWidth()/2+xoff, -bab:getHeight()/2+yoff)\n\n      love.graphics.pop()\n\n      love.graphics.print('u don goofed', love.graphics.getWidth()-10-bab:getWidth()*2-love.graphics.newText(love.graphics.getFont(), 'u don goofed'):getWidth(), love.graphics.getHeight()-10-bab:getHeight()*1.25)\n    end\n    if popupactive > 0 then\n      popupactive = popupactive - 1\n      love.graphics.setColor(1,1,1,popupactive/160)\n      love.graphics.printf(\"okeys!!! the bab express will deliver dis to ur clipboard nowe!\", 0, 0, love.graphics.getWidth(), 'right')\n    end\n    if debugDrawText then\n      drawnDebugScreen = true\n      love.graphics.setColor(1,1,1)\n      love.graphics.rectangle('line',0,0,love.graphics.getWidth(),love.graphics.getHeight())\n      love.graphics.setColor(0.5,0.5,0.5,0.5)\n      love.graphics.rectangle('fill',0,0,love.graphics.getWidth(),love.graphics.getHeight())\n      love.graphics.setColor(1,1,1)\n      love.graphics.printf('debug mode active, use cont to exit', 0, love.graphics.getHeight()/2, love.graphics.getWidth(), 'center')\n    end\n\t\tlove.graphics.present()\n\tend\n\n\tlocal fullErrorText = p\n\tlocal function copyToClipboard()\n\t\tif not love.system then return end\n\t\tlove.system.setClipboardText(fullErrorText)\n    popupactive = 190\n\t\tdraw()\n\tend\n\n\tif love.system then\n\t\tp = p .. \"\\n\\nif u wanna copey dis ctrl+c or ta!p!!! and f5 to open debug mode\"\n\tend\n\n\treturn function()\n\t\tlove.event.pump()\n\n\t\tfor e, a, b, c in love.event.poll() do\n\t\t\tif e == \"quit\" then\n\t\t\t\treturn 1\n\t\t\telseif e == \"keypressed\" and a == \"escape\" then\n\t\t\t\treturn 1\n\t\t\telseif e == \"keypressed\" and a == \"c\" and love.keyboard.isDown(\"lctrl\", \"rctrl\") then\n        copyToClipboard()\n      elseif e == \"keypressed\" and a == \"f5\" then\n        debugDrawText = true\n      elseif e == \"touchpressed\" then\n        local name = love.window.getTitle()\n        if #name == 0 or name == \"Untitled\" then name = \"Game\" end\n        local buttons = {\"okeys...\", \"nono i wanna see speen bab\"}\n        if love.system then\n          buttons[3] = \"copey it\"\n        end\n        local pressed = love.window.showMessageBox(\"bab crashd!!! quit \"..name..\"?\", \"\", buttons)\n        if pressed == 1 then\n          return 1\n        elseif pressed == 3 then\n          copyToClipboard()\n        end\n\t\t\tend\n\t\tend\n    draw()\n\n\t\tif love.timer then\n\t\t\tlove.timer.sleep(0.01)\n\t\tend\n\tend\n\nend\n\nfunction love.quit()\n  settings[\"played_before\"] = true\n  saveAll()\n  if discordRPC and discordRPC ~= true then\n    discordRPC.shutdown()\n  end\nend\n\nfunction love.threaderror(thread, errorstr)\n  print(thread)\n  local str = 'THREAD ERROR ENCOUNTERED:\\n' .. errorstr\n  print(str)\n\n  log_error(str)\nend"
  },
  {
    "path": "mechanic ideas.txt",
    "content": "Vanilla todo list: GROUP, save/map/world/meta stuff, letter/combined text\n\n---\n\nWINDO: Going to be the big bab meta mechanic. You can open windows, close/crash windows, make them move around, and have inter-window communication to have things happening in different places in bab simultaneously. If WINDO be X, the entire WINDO becomes a giant X until you undo. Forming a giant rule with three WINDOs that have been turned into blocks of text will happen at some point.\n\nSPLAT: Fixes a unit's position to the window. It works one of two ways (not sure which:)\n1) It is considered to be in that tile even if you change levels, until something unsplats or otherwise removes it.\n2) When you change levels, splatted things unsplat and fall down (so it's like a NXT variant).\n\nNXT: LVL BE NXT moves you to the next level in sequential order. For any other object, it phases out and phases back in on the next level you go to. (Might also have a PRV/PREV?)\n\nSTAY THER (PERSIST): Objects that are persist preserve their state even when you change levels. (I assume they also have the lily mod behaviour where they ignore undos?)\n\nIMBLIES (IMPLIES): A variant on MEANS from lily's mod. Started out as just the idea of rewriting 'propA IMPLY propB' as 'SUPERALL WITH propA IS propB' (where SUPERALL is ALL AND EMPTY AND LEVEL AND MOUSE etc etc). But even more generically, it can be a rule parser modification: x IMPLY y means 'every time x text is seen by the parser, treat it as a stack of x text and y text'. Not sure which is the better mechanic.\n\nx GIV (GIVES) y: If you're float on (same tile, same floating) x, you have the property y - e.g. SUPERALL FLOATON X IS Y.\n\nx is NOU: x doesn't get properties when you write x is y. Instead, it gives them to whatever's on it - so it's like all of its BEs are GIVs.\n\nOUT:\n[11:46 AM] the bab dictator: so what you do is LEVEL IS OUT and the level becomes a file and if you drag it onto the window in the world map the level will appear in a clearly-broken spot of the map, where the flag transformation level used to be in baba\n\n\nPRESS (key):\nA prefix condition that's true if the last thing you did was press that key. Basically a way to have arbitrarily many special action keys. Not sure how this works with touch screens/controllers - maybe the game detects how many press (key) conditions exists in the level, and creates on-screen virtual buttons/arbitrary controller mappings for them that it displays to you.\n\nmodded words from baba mods that could be fun (but obviously not going to add a bunch of stuff unless lily wants it to exist):\ncg5:ACTIVE/BLOCKED, FIND/EVIL/REPENT\njumbods64: DRIFT/RISE (1 tile per turn FALL/VALL)\nlily: MEANS (well it'd be IMPLIES now), WITH (will become THAT), BAIT/LURE, STILL, AUTO??, reset conds?, ANY?, STICKY (hard lily thing, NEAREST/TOUCH (easy but boring), GRAVITY (I know lily expressed an interest in at least simple GRAVITY stuff), TIMELESS (hard lily thing), BEAM/REFLECT/SPLIT/CROSS (hard lily thing)\npatashu: TOPPLE? (boring ZIP?), SEND/RECEIVE/RESEND? (if we even want a meta mechanic like that), EVENTURN/ODDTURN? (can be done with a gadget already so), STRONG (implementable with SNACC), DESTROY (good joke word but not very intersting)\nunimplemented: MARK/UNMARK/MARKED, ROUND (basically a reflexive new!stubborn heh, where failing to walk into something round triggers the stubborn behaviour), CLIMB, WIELD, CHAINED, VERY/ABSOLUTE (as PLZ) (the n't n't thing kinda does this), SPAWNER/RESPAWN/SPAWN, HASMORE/MASSPROD/PRINT, YOINK, X-AXIS/Y-AXIS (fakeable with bounded), DITTO MARK (\"), JUMP, BEHAVE, REPEL, MAGNET, TRAILS, CARRY, NEWTON, FLICK, HEAVY, SAYS/FEELS/LITERAL/THING, NEW/OLD?, CHEKPOINT?, DRODBAB???\n"
  },
  {
    "path": "menu/scene.lua",
    "content": "local scene = {}\ngame = require '../game/scene'\n\nlocal scrollx = 0\nlocal scrolly = 0\n\nlocal music_on = true\n\nlocal oldmousex = 0\nlocal oldmousey = 0\n\nlocal buttons = {}--{\"play\", \"editor\", \"options\", \"exit\"}\nlocal git_btn = nil\n\nlocal splash = love.timer.getTime() % 1\n\nlocal tweens = {}\nlocal buttonPos = {}\nlocal buttonTweens = {}\n\nfunction scene.load()\n  metaClear()\n  clear()\n  was_using_editor = false\n  if getTheme() == \"halloween\" then\n    resetMusic(\"bab spoop u\", 0.5)\n  elseif music_path[\"bab be u them - \"..getTheme()] then\n    resetMusic(\"bab be u them - \"..getTheme(), 0.5)\n  else\n    resetMusic(\"bab be u them\", 0.5)\n  end\n  love.graphics.setBackgroundColor(0.10, 0.1, 0.11)\n  local now = os.time(os.date(\"*t\"))\n  presence = {\n    state = \"main menu\",\n    details = \"idling\",\n    largeImageKey = \"titlescreen\",\n    largeimageText = \"main menu\",\n    startTimestamp = now\n  }\n  nextPresenceUpdate = 0\n  love.keyboard.setKeyRepeat(false)\n  scene.buildUI()\n  scene.selecting = true\n  if settings[\"menu_anim\"] then\n    babtitletween = love.timer.getTime()\n    babtitlespeen = math.random(1,1000) == 1\n  end\n  settings[\"seen_menu\"] = true\n  saveAll()\n\n  -- tweens\n  -- the tween table on each update call updates every updatable tween, so you dont have to worry about updating anything else upon adding a tween\n  tweens['git'] = {x = 10, y = love.graphics.getHeight() + sprites[\"ui/github\"]:getHeight() + 10}\n  tweens['gitTween'] = tween.new(0.5, tweens['git'], {y = love.graphics.getHeight() - sprites[\"ui/github\"]:getHeight() - 10}, 'outCirc')\n\n  tweens['title'] = {rotate = -math.pi*2, scale = 0}\n  tweens['titleRotateTween'] = tween.new(1.6, tweens['title'], {rotate = (math.random(1,1000) == 1) and 999999 or math.pi*2}, 'outBack')\n  tweens['titleScaleTween'] = tween.new(1.6, tweens['title'], {scale = 1}, 'outBack')\n\n  tweens['textOpacity'] = {0}\n  tweens['textOpacityTween'] = tween.new(1, tweens['textOpacity'], {1})\n\n  local height = love.graphics.getFont():getHeight()\n  tweens['buildnumber'] = {y = -height}\n  tweens['buildnumberTween'] = tween.new(0.5, tweens['buildnumber'], {y = 0}, 'outCirc')\nend\n\nfunction scene.buildUI()\n  buttons = {}\n  if getTheme() == \"halloween\" then\n    if not settings[\"lessflashing\"] and (love.timer.getTime()%10 > 8.7 and love.timer.getTime()%10 < 8.8 or love.timer.getTime()%10 > 8.9 and love.timer.getTime()%10 < 9) then\n        giticon = sprites[\"ui/github_halloween_blood\"]\n    else\n        giticon = sprites[\"ui/github_halloween\"]\n    end\n  else\n    giticon = sprites[\"ui/github\"]\n  end\n  \n  git_btn = ui.component.new()\n    :setSprite(giticon)\n    :setColor(1, 1, 1)\n    :setPos(10, love.graphics.getHeight()-sprites[\"ui/github\"]:getHeight()-10)\n    :setPivot(0.5, 0.5)\n    :onPreDraw(function(o) ui.buttonFX(o, {rotate = false}) end)\n    :onReleased(function() love.system.openURL(\"https://github.com/lilybeevee/bab-be-u\") end)\n\n  local ox, oy\n  if not options then\n    scene.addButton(\"play\", function() switchScene(\"play\") end)\n    scene.addButton(\"edit\", function() switchScene(\"edit\") end)\n    scene.addButton(\"options\", function() options = true; scene.buildUI() end)\n    scene.addButton(\"exit\", function() love.event.quit() end)\n    ox, oy = love.graphics.getWidth()/2, love.graphics.getHeight()/2\n  else\n    buildOptions()\n    ox, oy = love.graphics.getWidth() * (3/4) , buttons[1]:getHeight()+10\n  end\n\n  for i,button in ipairs(buttons) do\n    local width, height = button:getSize()\n    \n    button:setPos(ox - width/2, oy - height/2)\n    if settings[\"menu_anim\"] then\n      buttonPos[i] = {x = (i % 2 == 0) and love.graphics.getWidth() + width or -width, y = oy - height/2}\n      local mult = 1\n      if options then mult = 0.000001 end -- this is a stupid hack. whatever\n  \n      tick.delay(function()\n        buttonTweens[i] = tween.new(0.8 * mult, buttonPos[i], {x = ox - width/2}, 'outCirc')\n      end, (i * 0.1 + 0.2) * mult)\n    end\n    oy = oy + height + 10\n  end\nend\n\nfunction scene.addButton(text, func)\n  local button = ui.menu_button.new(text, #buttons%2+1, func)\n  table.insert(buttons, button)\n  return button\nend\n\nfunction scene.addOption(id, name, options, changed)\n  local option = 1\n  for i,v in ipairs(options) do\n    if settings[id] == v[2] then\n      option = i\n    end\n  end\n  scene.addButton(name .. \": \" .. options[option][1], function()\n    settings[id] = options[(((option-1)+1)%#options)+1][2]\n    saveAll()\n    if changed then\n      changed(settings[id])\n    end\n    scene.buildUI()\n  end)\nend\n\nfunction scene.update(dt)\n  if settings[\"scroll_on\"] then\n    scrollx = scrollx+dt*50\n    scrolly = scrolly+dt*50\n  else\n    scrollx, scrolly = 0,0\n  end\n\n  for _,t in pairs(tweens) do\n    if t.update then t:update(dt) end\n  end\n  \n  if settings[\"menu_anim\"] then\n    for i,button in ipairs(buttons) do\n      if buttonTweens[i] then buttonTweens[i]:update(dt) end\n      button:setPos(buttonPos[i].x, buttonPos[i].y)\n    end\n  end\n\n  git_btn:setPos(tweens['git'].x, tweens['git'].y, sprites[\"ui/github\"]:getHeight()+10, -sprites[\"ui/github\"]:getHeight()-10, 1.2)\nend\n\nfunction scene.draw(dt)\n  local bgsprite = sprites[\"ui/bgs/\"..getTheme()]\n  if not bgsprite then bgsprite = sprites[\"ui/bgs/default\"] end\n  \n  if not settings[\"lessflashing\"] and getTheme() == \"halloween\" and (love.timer.getTime()%10 > 8.6 and love.timer.getTime()%10 < 8.7 or love.timer.getTime()%10 > 8.8 and love.timer.getTime()%10 < 8.9 or love.timer.getTime()%10 > 9)  then\n    bgsprite = sprites[\"ui/bgs/halloween_flash\"]\n  end\n\n  local width = love.graphics.getWidth()\n  local height = love.graphics.getHeight()\n\n  local cells_x = math.ceil(width / bgsprite:getWidth())\n  local cells_y = math.ceil(height / bgsprite:getHeight())\n\n  if not spookmode then\n    love.graphics.setColor(1, 1, 1, 1)\n    setRainbowModeColor(love.timer.getTime()/6, .4)\n  else\n    love.graphics.setColor(0.2,0.2,0.2,1)\n  end\n\n  for x = -1, cells_x do\n    for y = -1, cells_y do\n      local draw_x = scrollx % bgsprite:getWidth() + x * bgsprite:getWidth()\n      local draw_y = scrolly % bgsprite:getHeight() + y * bgsprite:getHeight()\n      love.graphics.draw(bgsprite, draw_x, draw_y)\n    end\n  end\n\n  for _,button in ipairs(buttons) do\n    button:draw()\n  end\n  git_btn:draw()\n\n  if not options then\n    local bab_logo = sprites[\"ui/title/\"..getTheme()] or sprites[\"ui/title/default\"]\n    if getTheme() == \"halloween\" and not settings[\"lessflashing\"] and (love.timer.getTime()%10 > 8.7 and love.timer.getTime()%10 < 8.8 or love.timer.getTime()%10 > 8.9 and love.timer.getTime()%10 < 9) then \n      bab_logo = sprites[\"ui/title/halloween_blood\"]\n    end\n    \n    love.graphics.push()\n    love.graphics.translate(width/2, height/20 + bab_logo:getHeight()/2)\n    love.graphics.rotate(tweens['title'].rotate)\n    love.graphics.scale(tweens['title'].scale)\n\n    for _,pair in pairs({{1,0},{0,1},{1,1},{-1,0},{0,-1},{-1,-1},{1,-1},{-1,1}}) do\n      local outlineSize = 2\n      pair[1] = pair[1] * outlineSize\n      pair[2] = pair[2] * outlineSize\n\n      love.graphics.setColor(0,0,0)\n      love.graphics.draw(bab_logo, pair[1]-bab_logo:getWidth()/2, pair[2]-bab_logo:getHeight()/2)\n    end\n\n    if not spookmode then\n      love.graphics.setColor(1, 1, 1)\n      setRainbowModeColor(love.timer.getTime()/3, .5)\n      love.graphics.draw(bab_logo, -bab_logo:getWidth()/2, -bab_logo:getHeight()/2)\n    end\n    love.graphics.translate(-width/2, -height/20 + bab_logo:getHeight()/2)\n    love.graphics.pop()\n    -- Splash text here\n    \n    love.graphics.push()\n    \n    if string.find(build_number, \"420\") or string.find(build_number, \"1337\") or string.find(build_number, \"666\") or string.find(build_number, \"69\") then\n      love.graphics.setColor(hslToRgb(love.timer.getTime()%1, .5, .5, .9))\n      splashtext = \"nice\"\n    end\n    if is_mobile then\n      splashtext = \"4mobile!\"\n    elseif getTheme() == \"christmas\" then\n      love.graphics.setColor(0,1,0)\n      if splash > 0.66 then\n        splashtext = \"merery crimsmas!!\"\n      elseif splash < 0.33 then\n        splashtext = \"happi hollydays!\"\n      else\n        splashtext = \"happi hunnukkah!!\"\n      end\n    elseif getTheme() == \"halloween\" then\n      if not settings[\"lessflashing\"] and (love.timer.getTime()%10 > 8.7 and love.timer.getTime()%10 < 8.8 or love.timer.getTime()%10 > 8.9 and love.timer.getTime()%10 < 9) then\n        splashtext = \"BAB IS DEAD\"\n      elseif love.filesystem.read(\"author_name\") == \"lilybeevee\" and splash > 0.5 then\n        splashtext = \"happy spooky month lily!\"\n      else\n        splashtext = \"spooky month!\"\n      end\n    elseif splash > 0.5 then\n      splashtext = \"bab be u!\"\n    else\n      splashtext = \"splosh txt!\"\n    end\n    \n    local textx = width/2 + bab_logo:getWidth() / 2\n    local texty = height/20+bab_logo:getHeight()\n\n    love.graphics.translate(textx+love.graphics.getFont():getWidth(splashtext)/2, texty+love.graphics.getFont():getHeight()/2)\n    if settings[\"shake_on\"] then\n      love.graphics.rotate(0.7*math.sin(love.timer.getTime()*2))\n    else\n      love.graphics.rotate(math.pi/4)\n    end\n    love.graphics.translate(-textx-love.graphics.getFont():getWidth(splashtext)/2, -texty-love.graphics.getFont():getHeight()/2)\n\n    love.graphics.setColor(1,1,1,tweens['textOpacity'][0])\n    love.graphics.print(splashtext, textx, texty)\n    \n    love.graphics.pop()\n  else\n    local img = sprites[\"ui/bab cog\"]\n    if getTheme() == \"halloween\" then\n      img = sprites[\"ui/bab cog_halloween\"]\n    elseif getTheme() == \"christmas\" then\n      img = sprites[\"ui/bab cog_christmas\"]\n    else\n      img = sprites[\"ui/bab cog\"]\n    end\n    local txt = sprites[\"ui/many toggls\"]\n    \n    if getTheme() == \"halloween\" then\n        love.graphics.draw(sprites[\"ui/cobweb\"])\n    end\n\n    local full_height = img:getHeight()*2 + 10 + txt:getHeight()\n\n    love.graphics.push()\n    love.graphics.translate(love.graphics.getWidth() * (1/4), love.graphics.getHeight()/2)\n    love.graphics.scale(2 * getUIScale())\n    love.graphics.translate(0, -full_height/2)\n    \n    love.graphics.push()\n    love.graphics.scale(2)\n    love.graphics.translate(0, img:getHeight()/2)\n    if settings[\"shake_on\"] then\n      love.graphics.rotate(0.1*math.sin(love.timer.getTime()))\n    end\n    love.graphics.draw(img, -img:getWidth()/2, -img:getHeight()/2)\n    love.graphics.pop()\n    \n    local ox, oy = math.floor(math.random()*4)/2-1, math.floor(math.random()*4)/2-1\n    if not settings[\"shake_on\"] then ox, oy = 0,0 end\n    if getTheme() == \"halloween\" then\n      love.graphics.setColor(0.5, 0.25, 0.75)\n    elseif getTheme() == \"christmas\" then\n      love.graphics.setColor(0.9,0.1,0)\n    end\n    love.graphics.draw(txt, -txt:getWidth()/2 + ox, full_height - txt:getHeight() + oy)\n\n    love.graphics.pop()\n  end\n\n  if build_number and not debug_view then\n    love.graphics.setColor(1, 1, 1)\n    setRainbowModeColor(love.timer.getTime()/6, .6)\n    --if haha number then make it rainbow anyways\n    if string.find(build_number, \"420\") or string.find(build_number, \"1337\") or string.find(build_number, \"666\") or string.find(build_number, \"69\") then\n      love.graphics.setColor(hslToRgb(love.timer.getTime()%1, .5, .5, .9))\n    end\n    local height = love.graphics.getFont():getHeight()\n    love.graphics.print(spookmode and \"error\" or 'v'..build_number, 0, tweens['buildnumber'].y)\n  end\n\n  if is_mobile then\n    local cursorx, cursory = love.mouse.getPosition()\n    love.graphics.setColor(1, 1, 1)\n    setRainbowModeColor(love.timer.getTime()/6, .5)\n    love.graphics.draw(system_cursor, cursorx, cursory)\n  end\nend\n\nfunction scene.keyPressed(key)\n  if key == \"escape\" and options then\n    if global_menu_state ~= \"none\" then\n      global_menu_state = \"none\"\n    else\n      options = false\n    end\n    scene.buildUI()\n  end\nend\n\nfunction scene.resize(w, h)\n  scene.buildUI()\nend\n\nreturn scene\n"
  },
  {
    "path": "officialworlds/NOTE !! read if you havent yet.txt",
    "content": "since levels in solo are sorted by their file name alphabetically, in order to put extras near each other, you must name your level files after each other\r\n\r\nex. erthquak is an extra level for tektonik so we name tektonik's level file \"tektonik1.bab\", and earthquak's \"tektonik2.bab\" "
  },
  {
    "path": "officialworlds/bab be u/bab be u.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":false,\"author\":\"Patashu\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"bab be u\",\"map\":\"eJyN1s2OgjAUBeBXMe4mYUHL/xiehVRhDBkiE8SoMb77tD1VcWF7Nqy+29BzubTtuBrGnRpWTX27zf3Q1ev5MjdbtV1HlzqL+rYW0bVOo+Nft+vVUN/uUdtPtbhHjp/V8KRS0+wz1c8nTTTNOZpqWnA007Tk3jXXtPKsqlNY8kJzEfv9tjM8N7ykQrO0okKzVL+ANzXXNlhBxQYrqdxgk3BwiyBESgR3MrywPKOCg82p5GAL6nuDLankYCsqOWtlHE7uMO7HV4EIZOdWLy3mhg+Wmz5YbvxgufmDDQzgqW+UwZXFpn0yuDBsSQUBW1FBWJvEVBCwggoCVgaDOBusPwSjTeuEVx8XOvXnZtZWw++iwHQwCb64w9wAOhyYwGncLXBJ9cXhyt+Yt5VTrosOB9r4vjL3E3U48BfVjWmtFlYH2vhYGjjjugKcc0EDF1x2wCUXB3Dlj+OBpT3kY26DwILbILDkNgiccBsETsP//p9h3NuKxFZwJ6HD5CQCc2ehw9xh6DB3GgLnxHH4GDAUhI7D19VD3zpMgeQiBE64CIFTf4TPVkJnXIbAOZchcMFexpwviQi/v2wBbskVFyHuyORgApODCUwOJjA5mMDEYO5HdVbXv+G4KMs+BHnfTN18mg6rZtMd2n9Bv2iJ\"}"
  },
  {
    "path": "officialworlds/bab be u/bab be u.replay",
    "content": "1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,-1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;"
  },
  {
    "path": "officialworlds/bab be u/break.bab",
    "content": "{\"width\":15,\"version\":5,\"extra\":false,\"map\":\"eJyVmNtu2zAMhl8l6M02IBeW5GMLP0vgxkYXLLAH1+lhQd59skhHdqqYfy9S5OIjo/LnQWLdbY7dvjpuduX5PByOTflg/z5sP8poe6hLtf20X17/NvtDdSzPl2196Et12QZQbVElompEDeTVoTHuNbGovo++Vx5NLWowNLNojKG5RRMMLSyaYqiKLJuB7KhXDrKjYAXIjoqpFckWsNNMFk07OIFygdgUSgZis/VsGD6G3YLPBX7OFuvpM/p+rp6vvI6gHCJWrScR+25/DN5EC+Lw2Y2DsdojFis+YoXqc+du+NhkkUIRJzYDIt54PF8P+MJ1EWLNrTiONZEszuMvjyusEGIHa0gYYo0gjD1Hd9r/9gYxFGtiJSXnrNBIx4OcPC300oXnoIQmzBYhWTzLtejYOFrvkOw3caw0/cYeYj/tcDVRLkVkGck/NjKJNZAqxMaCKnM2geJMbLoeZ2ZTx2Zy7Kq+a2tuCWSUQ8EjtpBrwDdKZ5JEUAyJVd9gtVwF3EaIN1AdEBtD+hCbCPrYczRvTf+pvEm6fhHxjZXwbP3OwKfJHCuJydXzr3qv+lPdecMCygLHphGQBY3HMVWJ1d9gDTqfCA+Kesc1VqDESgV6c4xMFv+LOmkOpUDuWEnJ63kcnmG9k1glC/86nP7svQWmJ7FYtyVW6rbjhOheOm8QVPSO8xRSn9hMVn+6FZBBLutPs43wAlK+cE8hSUoXFOV57KFJLDY2icWEJBYbm8RiVUksNjaVe0Xn0txcwLlcBEuDAgoHwQU2LhlW8AxkAw1VAcPBiXknhEWMdkHmE+hKqOjhnmL6EJyh04l57BHKMKglLxEiWZ/DS9v1cxuFScR0UNAvD6mJNlhR0IM7iqG7xNwC2ytMtLRZmPXwyURaMCx/AFSWaWDBsPx3FbZimOjgkmFZIe3Svw6NiqXF8W3xGwZ7/CpDOKAwlwobgAIzja2OJlrQdoom0zm2TWQ6uG+4R2th43BDK2ytyLTGFotMG2y1yHSMLReZTsD1IuMpmFox4cBT9PHn3AB7hk70nYfo5alvhlPfbnZPTVv/BxWCvGA=\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"ruins\",\"name\":\"break\",\"height\":12,\"author\":\"vitellary\"}"
  },
  {
    "path": "officialworlds/bab be u/break.replay",
    "content": "0,1,wasd;0,1,wasd;-1,0,wasd;-1,1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,1,wasd;0,1,wasd;-1,0,wasd;1,1,wasd;1,0,wasd;1,0,wasd;-1,-1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;"
  },
  {
    "path": "officialworlds/bab be u/mapp.bab",
    "content": "{\"width\":24,\"version\":5,\"extra\":false,\"map\":\"eJylV+uOqjAYfBXCL01IpNyUs+FZNiBVe7ZLTUFdY/bdT29gQSjS8wf2MvN1Op32KyVxMNnn2PnMHo8GYZi5zU/zWZEjcb2fzPdQmQHvzn6oz3CPcpw9fr0S0Qz8ehq+yIsOHjA4MMN75UOGD8z4AyZHjgccH70hB3boeF7Nn3WHTua1tNoDjt/Oa7l04N37xgh8ahaDr5hDY7FEPsOGTyyGV4gzt6Aw/3I9tCdVlX8zjutdUY0KhFFzz9wTKktYyf/XzV0UhU0DqetJuOJXl+8C0ix4UYCqpwKekuipYGQcI52nJran8xAly+i6fTxTALz4VyGsu8dWaHOgsKp7lpHm9HRMMN4Xn4jR48Ho7/O3gp8sn7xO3y4fvoZ439BnCRHteDarEpwOwG1Y88IpoHPRHf+bcz9V/nzddfm3LqgdVxdPztNT34mjyrd1TtLB3LQlOBXgwHYsSecJ39rTecJTe7qIqG/P5xEF4ZtOiUBGQ3A4Dp6NngQD2ZtS20WQ/NC38EFmXxUAAyNU+G++szpTVJNqvZHv120wdea0+HejD0SrC63zqPihdSRUgWhgxQIvRX8M436DVFbWsCrJ4aD7dyD0srD1dVXU4RNOzUVKSfr9d4EXkr+17Z6Kv7Ntn4qfWrcgWSDyLRZTFQhFAbA4jtpNT5bgid7NnwQS/B/xjUSByHr/SL7NkariLy4t0aDttyfJzlkdKbnC9Ua8+te/ybwrrC6CfRh8wXJyFuLuEm2X9xU1CdFCo10/+OMXL7l/J7UvvHSpkVPrLSP4sfXdQfHB8oYunRN9Lx6EvV39yFnB8ggdZhmsm/VG+8XoaK+j9EijkdgTTGj2CD1gPKLjcDyjW2d1gvkVsm4n37o2VhuX0+JagkkX8KIJXSK1cTQuK3FWe1ZvveFPXRIlBkESbJITTMqRWzkengWtoNBZfaOKbWX+rHVF9Rl93ac1KbxJVOL5U6LEPT1OxhMWs7UjmGniT13SDZ0NX0YSbRLkz4VJ3AtfG/4NOKsC5vvTeiNeuqbzpcSGq5PCm6P02vp7qnYTaxcwVXnBNLFvkxuhbaS7DxaDqifD7Fen7PeDwuZCK+fzg91b/gEG6Bq3\",\"compression\":\"zlib\",\"background_sprite\":\"mappbg\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"limon be swiit\",\"is_overworld\":true,\"palette\":\"default\",\"name\":\"mapp\",\"height\":18,\"author\":\"Patashu\"}"
  },
  {
    "path": "officialworlds/bab be u/meta+/above it all.bab",
    "content": "{\"width\":17,\"version\":5,\"extra\":false,\"palette\":\"mountain\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":13,\"next_level\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"is_overworld\":false,\"author\":\"vitellary\",\"music\":\"bab be go\",\"name\":\"above it all\",\"map\":\"eJyNmN1uozAQhV8l6sVqV8oFxn/QimeJSKHZaFGoUtKmivLuCzOE2JHqOXe5+I5jjo9nBpp+1fWvdbfaVJfLsO/a6mk4D5uvejg+rc9Vtt43lVp/jz8+3tvXfd1Vl+u62R8rdV0H/K8FzkdYpeGvultwPeI5urbKpq3oNN7V9WegmP7ApBXbNuCn/ds0f+h3faDIRoX7WRFZWZYj7EFYZcVIFyBtRrYUrPm8G2+ncxJONTDGTbhwrm/HfbNrFomfJMLZ8j+oCS/SKbs9K7GlHLJgZZWlQxYtrYSIxXCeTlcM63S04if0WKoYLtKpul2J2Q0gKaF7RkhK/JBWCEpMOyAjQ91RbHNSeCwmDBdyTu6hZUmJZYXgPEtn5eY7r5xZ2fe37ru9L69A55nOQec10RrzkWGT9jGGLeYgww5zULODLu3gA+1B+3gnHqhw23o7CQwJwILFMFKxgsV1JrchvqOWcKFF3/bCsNCi530wq+WGG+7DyNs+TbQj2mK7ZtjJDv7th6G9KzxWbz3B4GkyLJxmBBuw+zAMDDgf/05UDwsS5PJwxgfEuJZdjNc32O4ZtmhaSsId5jnDHvOc4QLbNcMl1vEJthnW8RlWUgK7O5tLDT9gtTRFBqzBZkiGhRYVww6sr0xL9TWmC2AwWK674om2BCdIHmgz+SbQm4eiScWBFXamgbegoT0PgUID7ef5Nwmo3TsDbohpi9/7WSH02mBKZB49X0Xt1qHjPtNCwV22TrQXKu4DLZTcBxqd+JlGR36mDTjzM23TRSAcJ2cF9BLX9TuS0BziwXF7poV5+4Eu5WFhuSSkKMBX7ZlWskFzgml4KYRWuqzOtNBJFx+ZNuBbJdMWnf5m3oG+MO2xbxAzDX6DmOlSrhrPf4inGa3MQM+ZVmC+mAY+5Sz5YoVO+0hNp25DhZEzthQQVljQT6Z/qMLXl2M7nI6H1ealPTT/AUJrk6I=\"}"
  },
  {
    "path": "officialworlds/bab be u/meta+/above it all.replay",
    "content": "-1,0,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;-1,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;1,0,wasd;-1,1,wasd;-1,0,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;1,-1,wasd;-1,-1,wasd;0,0,undo;0,0,undo;1,-1,wasd;-1,0,wasd;-1,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,-1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;-1,1,wasd;-1,0,wasd;0,1,wasd;1,1,wasd;-1,0,wasd;0,0,undo;0,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;0,-1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;-1,1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;"
  },
  {
    "path": "officialworlds/bab be u/meta+/backup plan.bab",
    "content": "{\"width\":22,\"version\":5,\"extra\":false,\"map\":\"eJyV2stu2zAQBdBfCbJqAS9ESXyogb8lUGwjCKragR9NgiD/XpkztB5EdG93XZxJVd6hNGS6Pdx1h03b3T2uPz/PL91ufX9+Pz8+tU/3q/d1sXrZrs3qo//D6XW3eWm79efXavtyXJuv1Yiffl+6my97b5b987E93XzV+/J7/2d3Hn523duKtLa3NWldby1pfW8daUNvPWmb3gbSmqLHDYuvCZqFCKc65rcQ4FRf0zML8cVu2l29ib7G3TTmFjfTmDuulwR7rpkEB66bBDdcO0VcFiCdzaHrtgM3IJ4ZL4l8ng/tW/vx2sU9WcayCsd0GXSNU/r1Y+CWS0mw41IS7LltITiwCy+8YRc+8qoAC5+epYoavGSnGLxhp5h8vQoG79f0nhdsuS4X7JbfbtcW6f6OPJmkYJTkVKMgJ7pGOY6/Z3WsILMUTHwt06pLAZmnYJDn9Lktt+SCHbt5hHt28wgPxKKf2n18eBsrGm7RI7YFsej7drMZKgy36oLL5VUfZyoF1fJIkWISXHMxCbZsTMIdG5NwT8TU/+la4GJB4FIS3OCUxj/cFVxGgg3OSAYL4SU39AmuuIQE1+S7S7Ql312iHT2c+eg9F4/gwH2FBDdcNhH7AmfzdjluhwLDpSO4XE7n1uKiK3YDCa/ZDSTcEgGlpw+xwrHzs3CP99D+8HwYCgIXlOCGm80iDuDIclsZ0ejMMuPo0DLj6NSSnryJGpxZphicWKaYPK8IJs8rgsnzimBwXtG3bLRNwe01wYY70woGG3OK0b6carQtpxrtyuGIJQd3sCfnHOzJOQc7cs7BnpxxUxTkwVa5IY+2ykvuAiTxarlfsocHs1Dm6XEoFdADUSpAI9FQIFcFBRiJMg+mork3YCrKPBiMMl+S/aO8IvtHeb3cP9nTWLaB1Du2gdR7uoG0INANpAUN+WkypdzWFdzHKXHDfZ4SL8kLNeUVeaWmvCZ7Rzl54ZC4I989yj33rUo8cF+rxBvye6Vero/4oOIFEnkPW0sFcUrVXwOkCnBMzf8K8qhqnHBLtrJyR7ayck+2svJAtrLyhmxl4fFWiWk25ea/FlIulfiVjHdKVLOpr+mPnJcCkGzmQbSZB9lmng1XOQg3bRPRlpyQEwcz8vzZLXt+TZ4+waYC+gybCvh5OUgBPTCrpydm9fTIrJ48xyp37MisnA5YPR2wej5gLeAD1gIU8O1f3IgH+c45iHfOySuKxNlwhXs2XOXgPJSubhMn7xETr8gRRnlNflWUkxf+iaMr/7lHd/5zjy79h1+wyVnLgzv/uQ/g2j/z4NI/82CiynzFtVriNddqiVuu1RIH03L28GBczjyYlzOPBuZ5QYMm5qwAjcxDgf5Wv2T7TX3F9pv6mu039ZbtN/WO7DflHtwKXn+r/3NcEMiOU96wHaf/TwLMzJkHQ3Pm0dScFaCxOSv4bm7+ejjuzpfj/u7xYbff/gM00Von\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"volcano\",\"name\":\"backup plan\",\"height\":13,\"author\":\"vitellary\"}"
  },
  {
    "path": "officialworlds/bab be u/meta+/backup plan.replay",
    "content": "0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,0,undo;1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,1,wasd;-1,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;-1,1,wasd;0,-1,wasd;0,0,undo;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;-1,0,wasd;1,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,-1,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;0,1,wasd;0,1,wasd;0,0,undo;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;0,1,wasd;1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,-1,wasd;"
  },
  {
    "path": "officialworlds/bab be u/meta+/big kee.bab",
    "content": "{\"width\":19,\"version\":5,\"extra\":false,\"author\":\"vitellary\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"next_level\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"is_overworld\":false,\"palette\":\"factory\",\"music\":\"bab be go\",\"name\":\"big kee\",\"map\":\"eJyN2M1u2zAMB/BXCXoYOiAHy9ZnizxL4MTeEMyIC8/tWgR590kiW1vAZv4P7eknVxYpkm437obx3A674+F2my9Df3j40w4P+/eD2l+6+Osj/vx+6c+Xdjjc7vvuMh3Uff8PWkdaY7SJtMGojlRj1ERqMGojtRh1kTqM+kg9RkOkAaOqSjGoQJwDBkZMpZApMGYqBU3JUasz1tt5M7/Px+Ft5c128iR/6hdutxMo8R/j1I3TssRBiUTWY6/aZBy2X3Uaz1+2rqBkIquwTeiMa+iekgUDaTIGAslvSF64hEsgidvtA0n8ZRrn/rz6Ew66O2TBSNqMhUiubVNhD3YZC1WU85SsUEYLK9TRwgqFtLBYJSWLlVKyWC0lKxTTYr9CNV1bLVXTAkvVtMBgNSUMXkKfsXAJC2uwB4eMrXy7T+1p8U6+3de++9X3yxIP3VayAdt7DF9q9xU2mxAGq6miSUIop3wmjBtsQiCswX3kRmQM0Ebb9m21wqKNlL3DRjHCYDVVuYGZFE1gbMnYCsFc7Zu8wqZNwjX2koQbbOIkrLGZk7DZLpVfkSQttMby0Q4bPQljV5JxAKfPrF0Fjp+kFTh/kq6F7Es58rkiTzqu2c7AtODbiiND62eMaAU8trIH5tbr+HNcrcDGVsYey0bCQtNcTXa0wKPfIaSl1pmez+2TV6BfI6TBBqryHOg1VosIC1W3xELBLTFYbQl7LPSEg9yZn74vPmBfIoyVnCqc5uRrMFNIN0CmFI/XYKKQBgcilef6YLErRFj4Ekkbf11xDx4L6QAcy9PjskBVFXguzNGRyBGvsZNh3WD/YWGtsWxkbbBmx9pi3Y61A2PE3IP9jnkAI0Rc/e8j8/489fPrdN0dn/tr9xfrfnyh\"}"
  },
  {
    "path": "officialworlds/bab be u/meta+/big kee.replay",
    "content": "1,-1,wasd;0,-1,wasd;1,-1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;-1,-1,wasd;0,1,wasd;1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,1,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;1,1,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;1,1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,-1,wasd;-1,-1,wasd;1,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,1,wasd;1,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,0,wasd;0,0,undo;0,0,undo;0,1,wasd;0,1,wasd;0,-1,wasd;1,-1,wasd;1,1,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,0,undo;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;-1,-1,wasd;"
  },
  {
    "path": "officialworlds/bab be u/meta+/carefullier.bab",
    "content": "{\"width\":11,\"version\":5,\"extra\":false,\"map\":\"eJyNld2OgjAQhV/FeLPZhAtLy5+GZyFVWELSpQRxxRDffWmL5W8ovTDh4jvTzpzTMeUHxm+UHZK465qCZfGxaZvkh/H86LTxySnSGDmv/uNeZbeCsrh7O2lRx97bmfDXTNNuT6MljTT9pEyj2IyKwudvTZOedrevMS3s9Si2u4Pfo6H5Dld61XgA4QFYOezRaKfyOLbITE8Lo5OY28qRYFb6MeJoBx9qIwnb2adYDDmywRIrSxTrmYcs2mN/E37Hw1ntwGJ28pe1jVYRDKqWZjImJa48KIRejVERWY1esu7JKoeKRVC0NljXLitYwtjcom6PSFokgCxpPBvIL6f1KBAx8G0ekCdxkQLPcBv1ihUrUhCYS38C4EtBCF1+Lsg5fdJXxe6jKjJ3MAwzlLsQftR4CUcSBi1dFVYsbCkGm0VqL4PGYmDyA0+g5BpP8KDVsTyh/JpKfGiDzCUV53XDGZuogv3UffaDEoSQZ4beIyhKc77kOR8VBHy7K6MHGHR6hD9/1AO95fX7UmfNoy4PySUr038QSqiv\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"carefullier\",\"height\":11,\"author\":\"Slabdrill\"}"
  },
  {
    "path": "officialworlds/bab be u/meta+/carefullier.replay",
    "content": "0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;-1,-1,wasd;-1,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,1,wasd;0,1,wasd;1,0,wasd;1,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;-1,1,wasd;-1,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;-1,-1,wasd;-1,-1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;1,1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,0,undo;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,-1,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;-1,-1,wasd;0,-1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,1,wasd;1,1,wasd;0,1,wasd;-1,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,-1,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;1,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,1,wasd;1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,-1,wasd;0,1,wasd;1,-1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,0,undo;0,1,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,-1,wasd;0,-1,wasd;-1,0,wasd;0,0,undo;0,0,undo;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,0,undo;0,0,undo;-1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,0,undo;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,1,wasd;1,0,wasd;-1,0,wasd;0,1,wasd;1,1,wasd;1,0,wasd;-1,-1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,1,wasd;1,0,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;-1,-1,wasd;-1,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,-1,wasd;1,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;-1,0,wasd;0,-1,wasd;0,1,wasd;-1,1,wasd;0,-1,wasd;-1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,0,undo;0,-1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,0,undo;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;0,1,wasd;1,-1,wasd;1,0,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,1,wasd;1,1,wasd;0,1,wasd;1,1,wasd;1,0,wasd;1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;1,1,wasd;1,0,wasd;0,-1,wasd;1,-1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;1,-1,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;-1,-1,wasd;-1,-1,wasd;-1,0,wasd;1,0,wasd;1,-1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;0,0,undo;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,-1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;1,1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;1,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;0,1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;-1,1,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,-1,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;1,-1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,0,undo;0,0,undo;0,0,undo;0,1,wasd;0,1,wasd;1,0,wasd;-1,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;0,0,undo;0,-1,wasd;-1,0,wasd;0,1,wasd;-1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;1,1,wasd;1,1,wasd;"
  },
  {
    "path": "officialworlds/bab be u/meta+/cells of win.bab",
    "content": "{\"width\":11,\"version\":5,\"extra\":false,\"map\":\"eJyNl91ugzAMhV+l2s00iQtC+N3Es1Ss0Aopg4qma6uq7z6IoUlYGvuOi+8Ex8eJ47rfiH5Xic22vN9lK5ryTV7l9lKJt+BahkFblyy4jR+nY7NrK1HeH0HdDiV7BAb+XX0/8WjE2WvcXJmPaERD4xFNkSCaiWYTnRBC1nRKilihmSti/kTnPCg0H9HYH4P41SsXftwMgoWuZHB76VZUWjBZWPgFXX+6tD9aomz0ZAU0h35SRErB8aTLSggtiHHBWdOJy6X1Hs5dbUREMxZYp7Mv2NxfjDPLFVv4N2myUUiKF1jmj3cv+oOGJzM5Feb+SrThycOEGHJCT1s0WZcR2cm6HGVjxeYuO+wqsvgCr7olIUrAnR5y120JPMP55SyDwHm/2gLZXKUWcFJVARvTqgpgp5/8BYwYasOIo//3mCO31bzJRMHOI7myqHniMeKouXSMnMpzu11uKOAj2lkDmNPyDXBMyzfACZ5vMyMpku2lYIHOaN6kCiacz66XQ9Xt++FHy5Bjav4iCWk1DjCj5RzgiJZzgDme80NfXarbUZy0KqYlM1Mw8gyyWFqvBJbWK4HN/a3HYmlvIMWmoavx/HMcWMREi0U8tFiChYvnuRIQXjxzcwDe+ebx/YDmIrCIi8YDFXjESfNSBoHTzlWnWv2kiEjvCcVmzmewJzsZ83urr7lC4RFliujepVbQWi2wSKt1rJ64DHD1LcBTPP2rH2Sk5AOLvIHVRW2uXVBGkKU5KkkeEkaQzw81sqgZMSdMqtaVOsuQiXU1HYGG5vQME6zWe581BLOX0zYrUlyxF7fGUGR4hRyHXja7nSFyzrWvjJw1BamwAC6QY23DzsmWPR5fQyPPQ7fZfjVd/QdPmab8\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"cells of win\",\"height\":13,\"author\":\"vitellary\"}"
  },
  {
    "path": "officialworlds/bab be u/meta+/cells of win.replay",
    "content": "-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,0,undo;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,0,undo;0,1,wasd;0,0,undo;0,1,wasd;0,0,undo;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,-1,wasd;1,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,-1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,0,undo;1,0,wasd;0,1,wasd;0,-1,wasd;0,1,wasd;-1,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,1,wasd;-1,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;1,-1,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;0,0,undo;0,-1,wasd;0,0,undo;0,-1,wasd;0,0,undo;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;-1,-1,wasd;0,-1,wasd;1,1,wasd;0,0,undo;1,0,wasd;1,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,0,undo;0,1,wasd;0,0,undo;0,1,wasd;0,0,undo;0,1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,-1,wasd;0,-1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;-1,1,wasd;-1,1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;1,0,wasd;0,-1,wasd;0,0,undo;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;0,0,undo;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,0,undo;1,1,wasd;1,1,wasd;0,0,undo;0,-1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,0,wasd;-1,1,wasd;0,1,wasd;0,-1,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;0,1,wasd;0,-1,wasd;0,1,wasd;-1,-1,wasd;-1,-1,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;0,0,undo;-1,1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,-1,wasd;-1,-1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,-1,wasd;-1,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,0,undo;0,1,wasd;0,-1,wasd;0,-1,wasd;0,0,undo;0,1,wasd;0,-1,wasd;0,-1,wasd;0,0,undo;0,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;1,-1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;0,-1,wasd;-1,0,wasd;-1,1,wasd;1,1,wasd;0,-1,wasd;"
  },
  {
    "path": "officialworlds/bab be u/meta+/deactivate.bab",
    "content": "{\"width\":13,\"version\":5,\"extra\":false,\"author\":\"vitellary\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":12,\"next_level\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"is_overworld\":false,\"palette\":\"factory\",\"music\":\"bab be go\",\"name\":\"deactivate\",\"map\":\"eJyV2N1uozAQBeBXiXq1K+UCYwy4Fc8S5YdNo6JQEdimivLu6/iYn0Qpc7ZXufgGoTNmbHdXL6p6u64Wq+JyaQ9VWbx8rauX5bmIloddoZbf7sfps9we1lVxuS53h6ZQ1+UTGjuqOKodjTmaOKo5ahxNOJo6ajiaOZpyNHc046h1NOeoipy1pL31S5ENU75jcsuUx3p+JbTndnXnE2o5wJr59XB7dnVoN3XVjjUptTBgs/kEb8/f1N15LMi5GIEtF2PsP5JIjnFTjlxRKcLGcorTR+v5ACeBwyfUhwBriMAnr5JycQNnXNza41yO+1jv67HAUoF7qyM58G7UilqwsLGc391ra80lCJxwCSYeG2oHgE2p8GAzag+Azeej25QVFiq0nR/ut/Dqpn2vh4okogY3rKKmMWzMdQVYc10xHifyum7LczsWGKo1sCk7SMAzOe997f7GCm6jhLXyp1D+LZtvNZSYiIsdWHGxpx7Hcuzv67IdCzQVO2zCxB5WOiqMnPxX1+zGgpQKHpbZNMuRk1smMLllZv6sRmyZ7tfouT0TVtozp8/V1KERNvmfVYsSwwUInHIB5h5n1AiHzanwYC01wr3NuEMsLHmIBSYPsdZj4hB7+ugmBcIpdrL24LkxCyuM2eFbh346Zc2g7187n8d3r0EM2D9VvR8KcnK8ApPjVeECRcxXzJzgufEasDBf77HhrhfA6fzNc+hk4GQrg+Z6GbClDunAVjj2PLy2VfN31vvXtjF1ww1Ys3tN8Al5P4M25Br01zmbymvw9dfEZ/KIOLXdx3ZSwg3ZgIUp23+b0CqKyLNy79Wztat/2Kn6opg6R/Sa6O7r72kB297A2f7G4EKDH7TQ3gedczMmaMsNGWj/fyD5/1u9VtwkCJpsaNCa+7aDFs5CD5o8BvX8p4PQ9a0p2645LlZv5XH3D4eE5oI=\"}"
  },
  {
    "path": "officialworlds/bab be u/meta+/deactivate.replay",
    "content": "1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,-1,wasd;0,0,undo;1,0,wasd;1,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;1,-1,wasd;0,-1,wasd;1,-1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;0,0,undo;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;"
  },
  {
    "path": "officialworlds/bab be u/meta+/double dash.bab",
    "content": "{\"width\":13,\"version\":5,\"extra\":false,\"map\":\"eJydlN1qhDAQhV9F9qYUpJj4X8mTLEVclUUadHHj1iK+ezWTult3iLF3YfiOZzyZTNFYvMkzbqVsGETFS3YQvUhP2elg98yxq4IR+3s6XC9lXmWcDaNdVC0jo63wr4wvKF2jecOblg3EdkDmLjLpUi5Kd1ISMxNvjYJJXXHEoltk/iSjZg7BGtU5KCGZhaFRVBKN8KhwDwhK6mJ9UDN9rm4LThyjYIEle5K9iu4zv2upUbzAuv/Nl8Z6l5nntweneVY8PQ/ZUon72/j764y7Eg/0uOo8kGyoz/auUk8PVNF2Q6LsxSyIpSA2/WECD9bZ5s+N5OECyDb/ewEyUvq0EvC5ANjd9yjqF/EgftoLOiffdNT/ynZtBhgVpQy3J7duVNSgiHDFmKiFPW3sMUmP3scbNJEeqTpO1QCtRmiVELzs4mX8IxTvg+KN0BApt6Xo2tpKk7IufgCmzzn+\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"greenfault\",\"name\":\"double dash\",\"height\":6,\"author\":\"vitellary\"}"
  },
  {
    "path": "officialworlds/bab be u/meta+/down came the rein.bab",
    "content": "{\"width\":17,\"version\":5,\"extra\":false,\"author\":\"vitellary\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":13,\"next_level\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"is_overworld\":false,\"palette\":\"variant\",\"music\":\"bab be go\",\"name\":\"down came the rein\",\"map\":\"eJyN2dFO4zAQBdBfQbysVupDbCdxsqjfgkqbhYjSrEpgQYh/38QzqRNvlXvfeDhOaX09HjuH7ubY7XfHm/vt11ffHpvt7d/d8Xbzsc027WFrNp/DH69/mn27O26/vjeH9rw135sr1A7UcNQN1HI0H6jjaDHQnKPlQAuO+oGWHK0G6jlaD7TiqMkGW5N2nC9DTpgJM0ZOmRnnzOBJMwHn67HpP/r7h91D9AWVHbHlenjGZw9/Re+pBImt1iM0PvvctKc4oF4P0jjgsesv3mbraRp9u2/2b/G3sYZKlVi7Hqtrj3fr6QpT1USeg4CN/tfP6AsuY4JLLmM2YE+VJrHVer7ilxRe44jtz82uv4xwGRUysYaqU2ItVajEOqpSic2pUIktqFoltqRqlVjP1SrBFZcjwTWXIxc2mAzXquemeY4DDA7TS9e9xwEWx+n3uT08HuIQt56nWQEVz22TYsE+OS9yMoDbLfNgwaqMK004WJiLR4NVObcFtx7FgvUYanj7Hj1Yk6N/2jX96/Nn/KKmNtdWp7uMmiImH4GKcjv793OwMjQngslyXARc4rl8i9pTUym2wivipelnA2piPTQXXmZUiRULJmZhLVU2y2AdtT+JzanfTmyBfzv5KYSX1EoQ66mfTWxFFQWxNe56ju/Re9DxJl/RGy7UPmCLQ73wjm0dhOd4dk7dYxcHFNT8iC2p+RHrqfkRW+H50S5WfM3OT+BVxs1PFTB34hTLHTnFcmdOsdxuKpY7dYrlNlKx4Nw56wDEV3hOnrq+b+KImpuWOpxXQZc0NQyCQYe0xKA7WmLQFy1xvj41S1ysz80Sl+uTs8R+fdNY4mq92V5isA4X2GQZ6LcTjqpqwi15P6B3GmB3vJyylYMNMuVgj0w52CNTDrbJlIOdMuVgs0x4uB0i0jVxw+Vr4pZL2MQdGbHJo9419QUZMrmcMaCBvTxdOehgUw6a2JSDFjbhFrSwKTdkyJRbMmTKHRky5TkZMuUFGTLlJRsy9Z4NmfqKDJkVXpMhEx5uiph/RrkhQ6bckiFT7siQKc/JkCkvyJApL8mQKfdkyJSD/ijlNRsy8TnqcVNvyJA54eDUcnm6cnBoSTk4tKQcHFlSDk4tKQcHl5SDs0vKazJkwsM9EhMy5YYMmXLLhky9Y0OmPidDJldU4XIIH70mDd7DJJp8C6MavIdJNHgJs9QleAWTaPLti2rw/iXR4JYv0ejNS8LZFy/KyVcvphBOXPPGK+1pELjsnW78Js7d96r2oF+a3TFNI0DLNHvzpQNA0xTudn708xGgb0qviqdhoH9Kvjlon658c9RB/f/VUQ915UPYNqoUDtqopQ5XSvSzw50SUXxUW674qHZc8VGdc8VHdcEVH9UllxrVnis+qiuy+Cgnr5aUh8ula1H5vjs3/dv5dHN/15wO/wDXF2Oc\"}"
  },
  {
    "path": "officialworlds/bab be u/meta+/down came the rein.replay",
    "content": "0,1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,-1,wasd;1,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;-1,1,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,-1,wasd;1,-1,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;0,0,undo;-1,0,wasd;-1,0,wasd;-1,1,wasd;-1,1,wasd;-1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,-1,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;0,0,undo;0,1,wasd;-1,1,wasd;-1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;0,0,undo;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,-1,wasd;0,0,undo;0,1,wasd;-1,-1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,-1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;1,-1,wasd;1,-1,wasd;0,0,undo;1,0,wasd;1,-1,wasd;-1,-1,wasd;0,1,wasd;1,0,wasd;-1,1,wasd;-1,0,wasd;-1,1,wasd;1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;1,-1,wasd;0,1,wasd;1,1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;1,1,wasd;1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,-1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,1,wasd;0,-1,wasd;1,0,wasd;1,1,wasd;0,-1,wasd;1,0,wasd;1,-1,wasd;0,0,undo;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;-1,-1,wasd;-1,0,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,1,wasd;0,1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;-1,0,wasd;1,1,wasd;"
  },
  {
    "path": "officialworlds/bab be u/meta+/extende.bab",
    "content": "{\"width\":13,\"version\":5,\"extra\":false,\"map\":\"eJyVld2KgzAQRl9FerGwIGKMf92SZxGraVc2mJIqtIjv3k5Sde1mY3LnxTlhMt+MqbnHeFUyryDD0DWMkl1364oT4+edfyOh39QE+ffnx/VCq6ZkZBj9uhEEj/4v/kiBRkBHOhqt6K9PoCOg8TZ9Ync68/GTT821fACMAU7sD4+BTx35zJHPHfm9I49CV0EbrUmwSHctOASshNhVcE0Zpdsz1PIzByGRgk3OgrbXxYCksdlYWam0LPIWvPppulmJIPHIZjcVjrbr6hcawo7Nh0+dVQI2d3b6qygYgs7f4WyG32+amHEoJgiChU91PNJ0JpO4S8bKsMiY99U3CLkULOJVFUkch9vnT91XArKf670UbJZ5urMysE1NKmQk3w6sXWf9DL2MZPsalaClHA0knxys/XHjP+v2mg+kXp5/Eh8Pgna9aL3iQNv6Aab+ado=\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"space\",\"name\":\"extende\",\"height\":10,\"author\":\"vitellary\"}"
  },
  {
    "path": "officialworlds/bab be u/meta+/extende.replay",
    "content": "1,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;1,1,wasd;1,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,-1,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;0,-1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,udlr;-1,0,wasd;-1,0,udlr;-1,0,wasd;-1,0,udlr;-1,0,wasd;-1,0,udlr;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,0,undo;1,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;1,0,wasd;-1,1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;0,0,undo;0,0,undo;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;-1,0,wasd;0,1,wasd;0,0,undo;0,1,wasd;1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;-1,-1,wasd;1,0,wasd;-1,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,0,undo;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;0,1,wasd;0,0,undo;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;1,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,0,undo;0,0,undo;0,0,undo;1,0,wasd;0,1,wasd;-1,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;-1,0,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,0,space;"
  },
  {
    "path": "officialworlds/bab be u/meta+/flip around.bab",
    "content": "{\"width\":14,\"version\":5,\"extra\":false,\"map\":\"eJydmt1u2zgQhV8l6M1iAWOXfxLJDfwkRWG4jjY16pUK1e4mMPLulTmUJYszEkd3Bcsvw+GcnKGmfWmeTs1hf3raba/X8/FUbT8dmq+n06fN21Zsji9buXnv/vDzR3U47k/b68fm0JyadnuVG/WxeTm2W/2xQUHVgTIF6+NpFtMdpviY6TDNx4oOM3ys7LCCj9kOK/mY6zDLx3yHOT4mRcf5FdxNKRKRyiIYlLJCKvKmFckTiwygwUWdcue38+6lOjdvA1tMdT0bqWTLGTibW7zbCfdt2wyom9bvBkgqkF+oGgUqwa8agJJfNRVAxana12oANVYy+bD9v6b5NQBmWrXHn39XBOwupm5A3BvsLjmV/f/vf9uqHmCbWVvY7fi1BdDzaxtALfi11QEk2gx+K5eBS7oMkRfszm4uD7/3wCYdJhVR/3sIwIIsHjeX09YwmwfLHV6rdiATc4jtXGzkQsx8o7gF/XZpD/u6uuOGsour7h8SVGSzwjBMALMNY8IlfpHJJbYxV5b36nRqBjZ5iaR3+l5V5wFI3iAp8GN/rEdE8vwgbh12O47GwG0B9JkeFXYXgiWr1+OvAZWJpGYjKb6MigBqjjdNWINLqXs+a/LlAGTBEVNvJoAuSONxc64qYDdLFT/Pl++Hgc0VRthd8oTRXA7fBhZXBnXV5QpllAFkKQN+RwBMZDEbJlsK95YF3IIOJlGym8qEI1rKIrfUUCjQrnh5AriikdgAsl6edfPaDCj69iQDZXeQ2NSBKuY/EIeKj7oykPmP0bapvw+cpbr53dcQmQHq+EVwAfTsbh44J9jdHDjJ/nQDTrFHEcBp9iwCOMMeRgBX5E4jRqoBsmQPJIDjOwxwfIcBboXDBNCvcBgAVziMDyDLYe42D+yCxQzfkfUf54Fa+MYdfTnA/iJX1iFeU49CldjbdvoarkaAxRoXeXcuV8i3QHcjA9azpexhSCbYWo6gZIs5goqv5khqvpwjaVZM2OIUsWDbdU+WbMPuScuftkXSsU27Jz3btiMZBq084+5JOa/4x6cxvDt7VE0FvxBKs3Xek4Yt9J4s+Erv0XLFVDKidoXWYYYaRq7M80bS52r9cRINdJjBLnj48bVu2jEjsTnWQhw1b+DTrMLANUvZwZHfzmPWYN+j+Au7R4qpRheOV/KVGUm7QpkRdSuUGVG/QpkK/oVE8JUZScl34UgqvgtHUvNdOJKG78KRTMa02WQys51T+T9/jlGb68Jxf/bYJSGToUsuaZYGMDNoOn/JRlfMYqQGNHsak5DElC6DzB7NJGTJ13okLV/rkXR8rUfS52p9SoYBL++F3ZOSL/pIKr7oI6lXiD6iZoXoI1osiv7jOf43jV33t8+7z+rLX7Bl91nGP3arGl016GqBrpboqkVXHbrq0VUp8GWJL+PpSTw/iSco8VwknozEz63wcyv83Ao/t8JPovALVPhJNH4SjZ9E41el8eQ1HtLgP9vgWRpCfXh1DJ58gWdZ4CELPGSBa7vAQ5Z4yBIPWeIhS+LXCb/vkjgJXgaLH9Di1bH4uS1eBjs6t3aj9ZFkjRit4ye3+MkdfnKHn9zhJ3f4jTs8IYcXwhH5OMLa8DQdnqbH0/R4mh5P0xOV8ITNjo5i7bAuBeG0grBaQXitIMxWEG4r8IuXgrBhQfiwwPOVgmgsZGch8qWaCNVFJJEX1V6o/iKJvIjG031EE+tEXEXEJbqMJNqMJPqMJBpN97lHrBPn18Q9a+KeNZGvJvIiepk0RF5Ek5NEl5NEm5NEn+s+EYh1Ii9D1JFomN3THF8nOmn3rCbWiXyJHtu9d4l1LN+2Ol/a+mn3XNUvvwHCXwci\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"flip around\",\"height\":13,\"author\":\"vitellary\"}"
  },
  {
    "path": "officialworlds/bab be u/meta+/flip around.replay",
    "content": "0,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;1,-1,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;-1,-1,wasd;-1,-1,wasd;1,0,wasd;1,1,wasd;0,0,undo;-1,0,wasd;0,1,wasd;-1,1,wasd;1,1,wasd;1,1,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;-1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;1,-1,wasd;1,0,wasd;1,-1,wasd;0,-1,wasd;-1,-1,wasd;1,0,wasd;-1,-1,wasd;-1,1,wasd;1,1,wasd;0,1,wasd;0,0,undo;0,0,undo;0,0,undo;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;0,0,undo;0,-1,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,-1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;0,-1,wasd;-1,-1,wasd;0,1,wasd;0,1,wasd;0,0,undo;-1,1,wasd;0,0,undo;1,1,wasd;0,1,wasd;-1,1,wasd;-1,-1,wasd;1,0,wasd;0,-1,wasd;1,-1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;1,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,-1,wasd;1,1,wasd;0,-1,wasd;1,1,wasd;1,-1,wasd;-1,0,wasd;-1,1,wasd;-1,1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;"
  },
  {
    "path": "officialworlds/bab be u/meta+/fragil.bab",
    "content": "{\"width\":16,\"version\":5,\"extra\":false,\"map\":\"eJyN2NFuqzAMANBfqfYw3SvxQEKAZBPfUtEWbaioTJTubqr675fEtCHFYL+feG6cOGaHdtO0+7LZbIvrta+bqnjpf/pt8928RD9FHNWHQkS/hYzOX9W+LpvieosOdVeIW3TntaeSoEPkXfXQyaATXmBF0KeU04ErXuSMoEPkKc8HnvEia4wmS5thBp3zAosYs8lizsJWUK/4qZWEHWK/em1LaJiRFWGHyKf2o/ULbBWH38qLnlE4TNzWcdgXXmxN4SH2V9f21X7vF9mCitllwP+CjAn8r3RYOGzLOctG4Ja4kYEl7mNg1fq1CaytY8q02fr9Cmy+fmUCq7FjvWANdlBxm8TosVvAAj1HC1iiR2IB29IJunbSYbV+fuxpDnzK7erAM7pX3+85LMjpFvzqtV4/TbPsDdGxg+gKba2hPveX496vQJsrvvNK8sqUOJzQZTq0nfeKWybgKV2mIDzxUAap56wbD1bz9kQ5bFitz9k0ZrU+sILV+sBK1kaATejDuit33iteOwGc8nYudThbz2TMAmy+3gD9SQKueUkDNrykMzebxfT2jWMfeEH7i9eSlzdgZofNHUY77Ow1B0u8jn6zgRN1DEKjw6pPY1c1Te+1Zj2nYKkq2qzf/lqv3dQcr2+I5Z9l1Z+Pv5VfJNbH3DEhsMzOahxGO+ssMFjF2m+w6fp+BzZj/TiwOfrj5tMhfKEwHshjVU0WEPNOgHXM7Q2jF8wBCTSzjMJNPZroruPzNWLFDO1eap3yZmzAGW/IBpzzpmzAmjdmAza8OdthE/MGbcDoTVzC6BfkEkY/IJcw/jrO7wHolDltg86Y4zZo/EbOtRtxjKa736MXj0sM658ugEVMjDpPmjfsCAVa0sl/1N/TFQmWzezD966psTXU/Kl1XIH/2wFtWOOChOhY7m37M10hiZP2+Ma4LxDEYXv6h8J9Wcw8dSnsVUZXru36z3a6JufVbtSaV7tRG7x2t/eu6i/dabN9r06H/8QYyQQ=\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"variant\",\"name\":\"fragil\",\"height\":16,\"author\":\"vitellary\"}"
  },
  {
    "path": "officialworlds/bab be u/meta+/fragil.replay",
    "content": "-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,0,undo;0,0,undo;1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;-1,1,wasd;0,0,undo;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;1,1,wasd;1,-1,wasd;1,1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;0,-1,wasd;-1,0,wasd;1,0,wasd;-1,1,wasd;0,1,wasd;-1,0,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;0,1,wasd;-1,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;-1,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,1,wasd;-1,0,wasd;-1,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,1,wasd;0,1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,1,wasd;0,1,wasd;0,1,wasd;1,-1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;1,1,wasd;1,0,wasd;0,1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;1,1,wasd;1,1,wasd;1,1,wasd;0,1,wasd;-1,0,wasd;-1,1,wasd;-1,1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;0,-1,wasd;-1,-1,wasd;-1,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;0,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;0,-1,wasd;-1,1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;0,0,undo;0,0,undo;0,0,undo;0,1,wasd;1,0,wasd;1,0,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,0,undo;0,0,undo;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,0,undo;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;"
  },
  {
    "path": "officialworlds/bab be u/meta+/ghost.bab",
    "content": "{\"width\":17,\"version\":5,\"extra\":false,\"map\":\"eJyN2N2O2jAQBeBXQXuxaiUu4vgn9q7yLAiWFCEiUlG23Qrx7g0+pknAjs/dXnyGWU7GzLDtFm33sW4Xq/pyOe/bpn75s25fll91sdxva7H82//x62fzsV+39eW63O5PtbguI7TsqeCo7GnJUdVT+Uh1lOqeKo6anmqOVj01HLU9rTjqemo5KoreOtLe8hL5wITH5Xy456/zauIllTCsoiKG1VzRpccmX/SmGXhF1Qxr52verDeDdbHHIv66ZcH9f9LjTMeNQoHn2g6W6ztYxRWtPNb5ol8HbaiSYav5km+vfGiaw3DAxlpbTg7sd8fuNJzIROmfKETvvSxibR4vX5L9qD0m+vHY7brhANeQsFxDwpINaTwmGvJ10Fw/wmb68fbK7e+Rd7HoY1eD56rI596XcxgOCCp42JL7CCuPZf4jfPs2cEV9hrCaih3WcDVbjytqMoC1VMGwjirYW13EhoOEFbHpIGHL+QdpYiX1RQCrqAcIVscmhIQ1sQkhYSsuZOexJb5scTXCOypob01BBQ0rqKBhSypoWEkFDauooGE1FTSsoYKGraigYS05CmIgduxYBV8V3CwILOiLPBwo56f+p2rk/Oj//AaKWgAC1vPJ3+ePoM38wjCeWMKJan5vePpv7fzyEHkHR60QwJYcV4Uf3i0xr36OODeuBszNqwFHN8UUju6KKRzdFlM4ui+mcHRjTOHozpjALro0pjC7Nfp1xmXG1Ckmd0ZgcmkE1lzewIbLG7ji8ga2XN7AjssbK2ZRcIEHLbjEgybnUyHBiQn1R9vtxke4KfWuuTn1rslJVSjwzKw6umDDAW5gvevMyPr/gwEXmb1j+uL0LzoanNgh376PD5ANGjTZoUGTe6Qw4JlN8kFzm+RdZ3bJB+24uwXa/75DXC5BC+52CbrkHpagJXe/BK24+yVozd0vQac69Pp+as6fp+Ni9d4ct/8Ax1Jjiw==\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"ruins\",\"name\":\"ghost\",\"height\":11,\"author\":\"vitellary\"}"
  },
  {
    "path": "officialworlds/bab be u/meta+/ghost.replay",
    "content": "0,-1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;0,1,wasd;1,-1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,0,space;0,0,undo;0,-1,wasd;1,0,wasd;0,-1,wasd;-1,-1,wasd;0,-1,wasd;-1,1,wasd;-1,1,wasd;1,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,0,undo;0,0,undo;-1,0,wasd;-1,1,wasd;0,1,wasd;1,-1,wasd;0,-1,wasd;1,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;0,-1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;-1,1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;1,-1,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,1,wasd;1,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,-1,wasd;0,-1,wasd;-1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;0,-1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,0,space;"
  },
  {
    "path": "officialworlds/bab be u/meta+/in the dark.bab",
    "content": "{\"width\":15,\"version\":5,\"extra\":false,\"palette\":\"default\",\"compression\":\"none\",\"height\":15,\"next_level_after_win\":\"meta\",\"author\":\"vitellary\",\"puffs_to_clear\":0,\"music\":\"bab be go\",\"is_overworld\":false,\"level_number\":0,\"level_sprite\":\"\",\"name\":\"in the dark\",\"map\":\"eJyNmN1O4zAQhV8FcbUr9SK28wvqs6BAQ8luaFATllaId9/YZ0yaajdzbhAX37jRnOOZ8ez6m65/qrubh+3n59h2zfb2o+5uN6et2bS76c95m2yGt+aprbvt59dm1x635mvzD9ROqOFQN6GWQ9MJdRyaTWjKofmEZhxaTGjOoeWEFhxaTWjJoSaZ2IpkvV6GFMwExUjJjNfMkKIZr5ohZTNeN7Mi3HgaHx7rRx9gQ0BOmRJsse5Kf3b354Iv160ZvqWZ8YqyZ2BtoiTFnz39NwcYJjHhY1zgLZUXsI66rWBT6rqCzaiEgM2pCwu2WL+x4g+wyj30aRvGphtf5pCKumOBdYyOF7I4RsZ3j6cB51QEq6joT37u+v0cwEkJVpHy4uqA5+QEq8i5YEsi34d++Ghf55hKybn8QBZaTEJlHKzRMz7Uh2EOsFTGwTo94+NLPcJcCEmppIPNqKSDzam2B7ag+h7Ycr3xDW/t7xnmbmVgs4TrfIAN1/kAW67zAXZc5wOcEpUhZiQPERllVbA5YdXF4QVlVbClbtW5xiKkoqwa2DxZt6q0SbBm3X6P/ftphrWZZ3EyOfMA1mae0BYW30INPuGuF4Hn5h6wxNxzebQy9iyOVmaeq6OLhJIdrKEqFFhLVR2wjhq3waZU0QGbcXUEcE7PDeALwh7Px3a33/mYMsSU6xbxIfv+9fxRn+eYirJVYMtEt9Xdzxk3lK3AWt1WL/04NnOEo5wFNqWcBTajnAU2p5wFtqCcBbbknAW4Ipy17+tJ9bdu+A6rEm5IqgLMbQLAcqsAsNwuACy3DADLbQPAcusAsNywA1YZdhasMuvEzlFhJUBOO0KT447QlhthhHZElYrP/QQhKbdUEjpbN1N830Sce4VEmnuHRJpc8Ait7HiiooKHNQ8xmUTckPsYwTVRvUy/6uVPMNKiYRnZPpHKCq0oe0Xn3CZQ6IKzgdAlZwOhK84GsmRLuFWf0IZb9gltyXWf4I5c+AlOTbSX+ltmoj30+z7EYINmuak20tpc2y5o5ZXyfQUFV4RdHu4UYa8Od4qy17gm7dXHsNIKzkh79+MyQpM2/oADTqoqtKLqFc09ViLNrWiFTrnXSqS590qkLbVTibTjqozQKVdlhM64KiN0TlYZwQvSioKXZCMTXJt1l3j2vxn36/7YjO/Hw83DfXPY/QX+aeL5\"}"
  },
  {
    "path": "officialworlds/bab be u/meta+/in the dark.replay",
    "content": "1,1,wasd;0,1,wasd;0,1,wasd;-1,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;"
  },
  {
    "path": "officialworlds/bab be u/meta+/infloop/Map.bab",
    "content": "{\"width\":24,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"windo be blis\",\"is_overworld\":true,\"palette\":\"greenfault\",\"parent_level\":\"\",\"name\":\"Map\",\"map\":\"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\"}"
  },
  {
    "path": "officialworlds/bab be u/meta+/infloop/beyond the infinite.bab",
    "content": "{\"width\":25,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":5,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"wind be stil\",\"is_overworld\":false,\"palette\":\"greenfault\",\"parent_level\":\"\",\"name\":\"beyond the infinite\",\"map\":\"eJyd2N1uolAUhuFbMZ5NwgH/P9NwLQaVcUyYYiiNNcZ7H7q+jWKzhL2/HvWAh8Lyla6wb1dNu6ua1aa8XvtjU5frc9Wsva/S9477MvAuwy8fp3p3rJryevP2x67MvF3btF253jbVbre+eQoMBxgwMBpgyMB4gBEDkwHGjjD4hqnLcPqvfjPFmcuAvvG2vttcm1HwdPR7e2jvxxfEaAQGPjGbUCRTDiSTDiTTDiQTDyRTTyTSOZ+66x5a7SdQisHhFsl8Po6eD+b899jr9xQyvcQimV4gmV4gmV4gmV4gmV4SkU69bOum6R9WrSWys3o6dpZ58oiMmJJSkU4l3a8XVm1pcU6wak2Lc4JleoJkespEcj3Bcj3Bcj3BMj2JjJmecpFcT7BcT7BcT7BMT5BMT4VIridYridYridYpieRCdNTgH3TKahTU/V/2m7C1aaSkR+6qr7McTUre66W9Yo/3ze1aMsemjjvSmZbhs7ml5/nP5UzVym7YFK4XKXZ5kBT3+4ScXDAXKIsaGnoOshpAThFNLtv/Shg8llAx8uL6KH9dzlXlwlKZr+mL6IDTZlZyaqWZuz3FDxXN3SLLxp4MftYW+KZr43sFX+674zKS7a2zCmv+7PYYDWsxX8CBqtdJZZ4vq/ZO6b6ktUtc+rrccnAal3LwwJW21oeluBcLcvqjnOqLNnfcrIsYLIsYLIsYKosUKosWeJysixgsixgsizBBVUWKFWWbHIFWRYwWRYwWRYwVRYoU1YoO1zhVNYzVbuyo2pVVjTwmahGy1QVmjenzpvW/QMezzC/aL1cekeu1hX92LSGn6lhohotVRVeovpUVsZSXRlLhWVecFNhGUuFhXezgXNYTduepifQn1laSQZYlPT71xTMZ6S+Px4pVVEMS1VkLFWRsVRFsCFVkbFWFd3eurr/7N5Xm7f6ff8fhCFIqg==\"}"
  },
  {
    "path": "officialworlds/bab be u/meta+/infloop/beyond the infinite.replay",
    "content": "0,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,0,undo;0,0,undo;0,0,undo;0,-1,wasd;1,1,wasd;0,0,undo;0,1,wasd;0,1,wasd;1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,0,undo;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;-1,1,wasd;-1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;-1,1,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,0,undo;0,0,undo;1,-1,wasd;-1,0,wasd;1,0,wasd;0,0,undo;0,-1,wasd;1,-1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,-1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;0,0,undo;1,-1,wasd;0,0,undo;1,-1,wasd;0,0,undo;0,0,undo;0,0,undo;0,-1,wasd;1,-1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;0,1,wasd;-1,0,wasd;1,-1,wasd;0,1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,-1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;0,0,undo;0,-1,wasd;1,0,wasd;1,0,wasd;0,0,undo;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;"
  },
  {
    "path": "officialworlds/bab be u/meta+/infloop/broken tools.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"futr be cool\",\"is_overworld\":false,\"palette\":\"greenfault\",\"parent_level\":\"\",\"name\":\"broken tools\",\"map\":\"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\"}"
  },
  {
    "path": "officialworlds/bab be u/meta+/infloop/broken tools.replay",
    "content": "1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;-1,-1,udlr;1,0,udlr;1,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;1,-1,udlr;1,0,udlr;0,-1,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,1,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,wasd;-1,0,udlr;-1,0,wasd;-1,0,udlr;-1,0,wasd;-1,0,udlr;1,0,udlr;1,0,wasd;1,0,udlr;1,0,wasd;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,wasd;-1,0,udlr;-1,0,wasd;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,-1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;0,0,undo;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,0,undo;0,-1,udlr;-1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,-1,udlr;1,0,udlr;-1,0,udlr;1,-1,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;-1,0,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;0,0,undo;0,0,undo;0,1,udlr;1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;0,0,undo;0,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;0,-1,udlr;-1,-1,udlr;0,-1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;1,0,udlr;0,0,undo;-1,1,udlr;0,1,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,0,undo;-1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,1,udlr;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,1,udlr;"
  },
  {
    "path": "officialworlds/bab be u/meta+/infloop/claustrophilic.bab",
    "content": "{\"width\":16,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":8,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"futr be neet\",\"is_overworld\":false,\"palette\":\"mountain\",\"parent_level\":\"\",\"name\":\"claustrophilic\",\"map\":\"eJydmN2OmzAQhV8l2ouuKnGBbWygK54lyg+qoiJYEbabKsq7l3gM5meMx7nLxfkC9jFzxnNudlVzOlS7fXG/d5eqLN6OTXtu36JbEUeXc8Gif/2P62d5uhyq4v6Izpe2YI/IiL8P1SjlvZStpNGpqZq2uMcRe4xYd+v21V+Lih7lTlQs0WNZv3cjnPSwcL+iBmZrkj2QbLxoPH9aV97sw1TPSvqb1pZMe1LRdjLrpSltJ8eVsSeYk9zSUhbT7ZpxbNMrN8dRm/yc8Ljl4pJNp9ycRH3yc4pumuG45lLUMz+X0f0bDwmQOeqgQ83j7c9roWaoWy41Rz1yqQXpCwJtEuyG0JykuzG+HZAK9cOlTokegDojegDqnOiBVouY6AGoGckD0PJgDxLNCboHkyABNtn8KgTqH5CS6AioFdERUKfbjuiIOhytPqOnzOJJOckfrU3iYH+k5vCewOnP9VBfLbzdJciII0sDEm8SXGpPV7BQ4y3BoumwcrwLcP05LflBGxD9hlOaw5Pf6UndsJGVeCewXg2o8fy3ajjHoMUz3/XPeNLP3vvLqrfzHf9GgMQTHt1XGZ7qqeYCUv25rh+WxHN9vRZQe7Lc9qBarqhhDmpqmIPaE+bT7VF4lHu3VYXHeqa5gFh/btmpacs/nblkwD9Q4x3Unni39QTk1HwHNTXftTr15Pt0m1I83Z3bNGPD0z7XXGDaD7cxgF+JeyA9FX+h9hT82YLwcu9cEJwDQPHqv7pvwH0ysOTDc4DNqCXfyH01fyHnxL01ckHaXCNOXjqiBpaeMxovU/J3M6HxLFi9p74OZoEB8OvnhKVGgJFT73Mgz2kFwYgDKsIcDC8HTN/c8oB6YFcGKF4NnHJPxz8bHBkEb/udB8h8c8ASLgHjgQMiIzUqRpyHb7iAQVAcPIEYSPbCDGJgOfXUGr0gZuSgT6hFyOglsacf9IpmjlGnr4z0EmAz2lTPqPPwuR6QeiIYONkzJAuf7RkSjwoKiacGhQyIkAXpyw/URQmsorlo1OlLw/SBzkLn6VM498/T4UphAD0h9F2eF7uh54Rb7sVrDwzJ6e6tnirwBH98tGX31da7/UdZn/8DQkNTcQ==\"}"
  },
  {
    "path": "officialworlds/bab be u/meta+/infloop/claustrophilic.replay",
    "content": "1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,1,wasd;1,1,wasd;-1,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;-1,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;-1,-1,wasd;-1,1,wasd;0,0,undo;1,0,wasd;0,0,undo;1,0,wasd;-1,1,wasd;0,0,undo;-1,0,wasd;0,1,wasd;0,0,undo;1,-1,wasd;0,1,wasd;0,0,undo;-1,1,wasd;0,0,undo;1,-1,wasd;0,0,undo;1,1,wasd;-1,0,wasd;0,0,undo;-1,-1,wasd;0,0,undo;-1,0,wasd;0,0,undo;0,-1,wasd;-1,0,wasd;-1,-1,wasd;0,0,undo;0,1,wasd;0,0,undo;-1,1,wasd;0,0,undo;-1,-1,wasd;0,0,undo;-1,-1,wasd;0,0,undo;0,-1,wasd;1,-1,wasd;-1,0,wasd;1,0,wasd;0,1,wasd;0,0,undo;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,1,wasd;0,-1,wasd;0,0,undo;1,0,wasd;0,0,undo;-1,0,wasd;0,0,undo;0,1,wasd;0,0,undo;0,-1,wasd;0,1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,1,wasd;0,-1,wasd;-1,0,wasd;0,0,undo;0,-1,wasd;-1,0,wasd;-1,0,wasd;1,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,0,undo;1,-1,wasd;0,0,undo;-1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,0,undo;1,-1,wasd;0,-1,wasd;0,1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,0,undo;0,0,undo;0,-1,wasd;-1,0,wasd;1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;0,0,undo;-1,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;1,1,wasd;1,1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,1,wasd;1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;0,-1,wasd;0,0,undo;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;0,1,wasd;-1,0,wasd;-1,-1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,1,wasd;0,-1,wasd;1,-1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;0,1,wasd;1,1,wasd;0,0,undo;1,0,wasd;-1,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;-1,0,wasd;-1,1,wasd;-1,1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;-1,1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;0,0,undo;0,-1,wasd;0,0,undo;0,0,undo;-1,1,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,1,wasd;1,-1,wasd;0,0,undo;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,0,undo;0,1,wasd;0,-1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;-1,1,wasd;1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;0,0,undo;1,1,wasd;0,-1,wasd;0,0,undo;1,0,wasd;-1,0,wasd;1,1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,1,wasd;0,-1,wasd;-1,1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,-1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,0,undo;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,0,undo;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;0,-1,wasd;0,0,undo;1,0,wasd;1,1,wasd;0,0,undo;1,-1,wasd;1,1,wasd;1,-1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;0,-1,wasd;-1,-1,wasd;0,1,wasd;0,0,undo;-1,1,wasd;-1,1,wasd;-1,1,wasd;1,0,wasd;0,0,undo;-1,1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,0,undo;0,0,undo;1,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,0,undo;0,0,undo;0,1,wasd;0,1,wasd;-1,-1,wasd;0,0,undo;-1,1,wasd;-1,-1,wasd;0,0,undo;0,0,undo;0,0,undo;0,1,wasd;0,1,wasd;-1,-1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;-1,-1,wasd;-1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;0,0,undo;0,1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,0,undo;1,-1,wasd;0,-1,wasd;0,-1,wasd;-1,-1,wasd;0,1,wasd;-1,-1,wasd;-1,1,wasd;0,0,undo;0,1,wasd;0,0,undo;-1,1,wasd;1,0,wasd;-1,0,wasd;-1,1,wasd;0,0,undo;0,1,wasd;-1,1,wasd;-1,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,-1,wasd;0,1,wasd;0,0,undo;0,0,undo;0,-1,wasd;1,0,wasd;0,1,wasd;1,-1,wasd;0,-1,wasd;1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;0,0,undo;-1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,0,wasd;1,0,wasd;0,0,undo;0,1,wasd;1,-1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;-1,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,0,undo;1,0,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;"
  },
  {
    "path": "officialworlds/bab be u/meta+/infloop/ezwin.bab",
    "content": "{\"width\":5,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":5,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"ezwin\",\"map\":\"eJxLyVfIyU9OzFGIt62uLsnMSbVVKqkoiU9KTFLSqbA11MlMARKVQFxckJqcmZhjW12rk5JZZGtYq4OsPBWu2gio2gi/aitNuGpjoGpjYsw2Aqk2IeySUpBiY5BiU/yKoT4EKzXD7opa66LUktKiPIV469S8FAC5LmSz\"}"
  },
  {
    "path": "officialworlds/bab be u/meta+/infloop/floop.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"futr be neet\",\"is_overworld\":false,\"palette\":\"steve\",\"parent_level\":\"\",\"name\":\"floop\",\"map\":\"eJyd2dtu2zAMBuBXKXoxYIAvLJ+9Is9SpEnWBvDiwku2DkHefbaoxE5M/pR1Nwz+YEekSErdtk9Nu1k3T6+r8/m4b3ar57f14a1tn6OvVRzttysT/ev/8ftzt9mvm9X5Em33Xf+fm7Zpu9U5jtLLJeJl0ksTJNNeJkEy62UaJPNeZkGy6GUeJMteFkGy6mXpJz+b9fFn291o3dPqkZZe1MRDSGcxTa84iTLxi82QSEaOKrQ2leS43tnj1/H1x/fRDslk5pFl3mXs85mS8Ob+VbuuG23Oprz4qkLZIYYNBdmS2yMlaz922/cRVloc2KwjW2txkG0S83Fg7bCwb7vBJtYavK7D482fZnw+WfAbH9+V8r9Rflm28IedBppayucLG0SXZ+QKdvtzyULPD8liZkl927dFFHNxI1uxe9542RrHAdk0xrkGrcEhEWxmbbJs/38bZeq7++nxzD/4jzRXGiSghdIhAS2VFsmXK7IV1yT5cjXZYLm1NYyIsJktzWLvwkHPG7iwQn0rLF2QN4+UTxxxcf6euu2I+TQS3xWUOkQXpM4k/mTZ3OHjP7N8x0pHzO5mskrHQjZXOtadHeJy3H0dB11ZbeBq3ZWga4MmmHADmvbFRIdEqsNoxrYIP5vjFgFtgVsEtGVQcMlWC4PrykRtcY1/8KwkXTPD6iJe0BXHgkbWeEwnh/bYrQ/9Fvo1usR/CqZDTQrLWcbXCWdxZ8MW1ydscYHCFje3jJ2nSbKtjZfTKZ5wze1YrbSRLeOgLeuwCdqzDivzNcbCgO2HlWF7tm1vsbKHkDJns5qND4ECn3hTIacIl3iZMK7wMmFc42VKH0eK99bWJ2NPNFWMV2nyNnoe3xFJ+44sviUSdw9h9qKoxJuWZAYvUKTFJZvDBo1tATs0tvwpzhMrxziMlXMcxLVykMNYOcnNEvlAeWyPgTU/ksvPp2wlv+/F4weSEQoSX4TsWahWitDY8t3zhX/vtqeYugzaj2SroN5Ntg7q3TldLcZBzdth49+95zjxb+BznMI7XLF+Oc2WIaWAOSoM3eBThVEbCGHAfpg23++MMFhzw7QpiCw44E++kbDhm9UVG4z5i0VPnMB0N8JN+lWnXL6XvjqDc6NUUx3OwxqJ0/xI5KsDZyKnA4cip0OnopL+COE/FjmA5yIpuxzGg5GYH07jycg8HlBvxcVxn67mWmdFwqOpXZfTiYKtnOyPckK5xs6jhF1Qp5UJSNHKCIS1dpl9pyf932lhCALvE4774vuuFxSmJo9P/3c3FNM4OZ3hCztprZzOF65Ve9p8TL0wLilvT9xfC/HsJOzZK8bDk4Lx9IRxhqcnBePpScF4elIwnp4UjM9wCsaHOAXjU5yClWOcopUqpmilimGdK1VM0cpRzurLS7c7nrrD0+vL7rD9D+TDfpM=\"}"
  },
  {
    "path": "officialworlds/bab be u/meta+/infloop/floop.replay",
    "content": "1,0,wasd;1,-1,wasd;1,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,0,undo;0,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;-1,1,wasd;-1,1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;-1,-1,wasd;-1,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;0,1,wasd;1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,-1,wasd;0,1,wasd;1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,-1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,-1,wasd;-1,1,wasd;0,1,wasd;1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,0,undo;1,-1,wasd;1,0,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;-1,-1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;1,0,wasd;-1,1,wasd;0,-1,wasd;-1,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,-1,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;-1,0,wasd;-1,-1,wasd;-1,-1,wasd;0,-1,wasd;-1,-1,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,0,undo;0,0,undo;1,0,wasd;1,0,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,0,undo;1,0,wasd;1,0,wasd;0,-1,wasd;-1,-1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,0,undo;-1,0,wasd;1,1,wasd;0,1,wasd;0,0,undo;0,0,undo;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;-1,-1,wasd;-1,0,wasd;1,1,wasd;1,1,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,1,wasd;1,0,wasd;0,1,wasd;0,0,undo;1,0,wasd;0,1,wasd;0,-1,wasd;-1,1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;0,0,undo;0,1,wasd;1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,-1,wasd;0,0,undo;0,-1,wasd;1,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;0,0,undo;1,0,wasd;0,1,wasd;0,0,undo;1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;0,-1,wasd;0,0,undo;-1,0,wasd;1,-1,wasd;1,-1,wasd;0,0,undo;0,0,undo;-1,1,wasd;1,-1,wasd;1,-1,wasd;0,0,undo;0,0,undo;0,1,wasd;0,0,undo;0,-1,wasd;1,-1,wasd;0,0,undo;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;1,-1,wasd;0,0,undo;1,-1,wasd;"
  },
  {
    "path": "officialworlds/bab be u/meta+/infloop/furthest reaches.bab",
    "content": "{\"width\":17,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"wind be stil\",\"is_overworld\":false,\"palette\":\"redfault\",\"parent_level\":\"\",\"name\":\"furthest reaches\",\"map\":\"eJyVmutq20AQhV8l5EdpQRTdLw1+klCMY5tgKqygKCTB+N3r3TMb3Vaak39BfLNa7TmaGY1zaO7qZr+r77aby6U71cfN/VPTHtr74GMTBqfDJgo+b3+8vhz3p129uVyDw6ndRNfAC8c3OGLh5AbHy/Drv7f6i01vbLrMvu96NDN7oDeRG3plF8OVC8Mm7MqloVf2/EVHhq7IY7ZwFJLnDDriDhpwTJ00WKNgtLLrEZx6dSn8cMbJAjhXdBnBBStLbPGS1AV0Repi6TjkdAEcrevSNYOFjYaVeh5gNQ27j257bAeLL+gY7Ju6aTeXOIiuSw+sqTrBSV0B07omFmd1Bc3qaumE1BWwoqs8I9iY0Orp2POJ8spN9p2y8gDP2HQIPGcFSi1ekAKBLkmBQFecQBZOQ0ogsEbMkmT9YhYjMd96fEHL9dcOoZquo23RqgKnVc0szqoKmlUVNKmqhTNOVbCcqmC51AuWLJ+AyfIJmCyfgMk0C5hOs7nF2TQLmk2zls7JNAuYS7Ng43W9zYs5XjyhRAebEq+9FHME+PvZmfCAtXZ2coRaRztam25oC4uzHa2lC7ajBa10tIOeBbxRdPaYLneeT/XMNAhLlJ5rehujbcHcRs4VUZluNxR14DllNrAFYbbh2qXy7TRavGK9ZvEyZAsL8EhxW7/10vIxaTfQyTptFv/zq8dTnzu/am8YJJ7ai8jMG7lE57qvn5uu5wufr+cpEHC57mZxMlijbU4ffhX6jD+zDVilmtqj/9njXEEF6y+oY7vfrhz33ak592Hf+aIZ3Y8ss4C1Mju2QkUX2sribKEFzRbaCtMGpdIOSpYERJwvhVZGDnD97n33+VK/DsKStWzrVU0CU92BPwZ4RjlQ4Jyw4HDxgqvuQpdsyhW+Yj0HHnMlamaF2WDETgcdzw4IHU/OCB3OjQkdTRTe6Q244utopvy+NE3bNfUozl+GV63tQumiLAGxVpbH68daWe7Xl3EiW5cdn7AOET4lHSJ4xjlE6Jz68nN0wZlD6FIxxwSvyPGpTGZDcoAqeES6QPCYdgHmoonSb814b8O1wmekCwTPORcIXXAuEFrT1bz0k5AFbddnOxKcskoLrik9W5/XOkEArbXwtNbCs1oLTmotNP/F5CIWkvXy/vkUjYCM/nJyAXySThFAJ2nh6SQtPJukBVeStPSajiZrstCMwOfmuRnGfKcez56dlxsBOVuRBefFzhBAiy08LbbwrNiCkxVZaK2/nuBke+1wrb+e4Fp7PcYLvrvOEUB318LT3bXwbHctONldC03/Du8CyJ/iHU7/Gu8CluaX1wf5D4jt7drD9rGI//7Gm719jFP521xPfdfbY/fWnu+2D8fz4T9jhfU4\"}"
  },
  {
    "path": "officialworlds/bab be u/meta+/infloop/furthest reaches.replay",
    "content": "-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,0,undo;0,0,undo;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,-1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,1,wasd;1,1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,-1,wasd;-1,-1,wasd;0,0,undo;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,-1,wasd;-1,-1,wasd;-1,0,wasd;0,-1,wasd;0,0,undo;0,-1,wasd;0,0,undo;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;0,0,undo;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,1,udlr;-1,0,wasd;-1,0,udlr;-1,0,wasd;-1,0,wasd;0,-1,udlr;-1,0,udlr;0,1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,wasd;1,0,udlr;1,0,wasd;1,0,udlr;1,0,wasd;1,0,udlr;1,0,wasd;1,0,udlr;0,-1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,wasd;-1,0,udlr;-1,0,wasd;-1,0,udlr;-1,0,wasd;-1,0,udlr;-1,0,wasd;-1,0,udlr;-1,0,wasd;-1,0,udlr;-1,0,wasd;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,0,undo;1,-1,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,0,undo;-1,-1,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,0,undo;1,0,udlr;0,-1,udlr;-1,0,udlr;0,0,undo;0,1,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;1,-1,udlr;0,0,undo;0,-1,udlr;1,0,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,0,undo;1,0,udlr;0,-1,udlr;0,-1,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,-1,udlr;0,-1,udlr;0,0,undo;0,0,undo;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;1,-1,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;0,0,undo;-1,0,udlr;0,-1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;1,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,0,undo;0,0,undo;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;1,-1,udlr;-1,0,udlr;0,1,udlr;1,1,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,0,undo;1,0,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,0,udlr;1,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;-1,0,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,0,udlr;0,-1,udlr;0,0,undo;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,wasd;1,0,udlr;1,0,wasd;1,0,udlr;0,-1,udlr;1,1,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;1,-1,udlr;1,0,udlr;1,-1,udlr;-1,0,udlr;0,0,undo;-1,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,0,undo;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,wasd;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,1,udlr;1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;1,0,udlr;-1,-1,udlr;0,0,undo;0,-1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,0,undo;1,0,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,0,undo;0,-1,udlr;-1,0,udlr;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,1,udlr;-1,-1,udlr;1,0,udlr;-1,-1,udlr;0,0,undo;-1,0,udlr;0,-1,udlr;0,0,undo;-1,0,udlr;1,-1,udlr;0,0,undo;1,0,udlr;0,-1,udlr;0,0,undo;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;0,1,udlr;-1,0,udlr;0,0,undo;0,-1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,0,undo;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,0,undo;0,0,undo;-1,0,udlr;-1,0,udlr;-1,-1,udlr;0,0,undo;0,-1,udlr;0,0,undo;0,-1,udlr;-1,-1,udlr;0,0,undo;0,0,undo;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;1,0,udlr;0,-1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,0,undo;0,0,undo;-1,0,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;1,-1,udlr;0,0,undo;1,0,udlr;0,-1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;-1,1,udlr;0,0,undo;0,1,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,0,undo;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,udlr;-1,1,udlr;0,1,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;0,0,undo;0,0,undo;0,0,undo;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,-1,udlr;0,0,undo;0,0,undo;0,0,undo;0,1,udlr;1,-1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,wasd;-1,0,udlr;0,1,udlr;0,1,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,wasd;1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;0,0,undo;-1,0,udlr;1,0,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;0,0,undo;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,wasd;-1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,-1,udlr;-1,1,udlr;-1,0,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,wasd;-1,0,udlr;-1,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,wasd;1,0,udlr;1,0,wasd;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,1,udlr;0,0,space;0,0,undo;0,0,undo;0,0,undo;-1,0,udlr;-1,1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,wasd;-1,0,udlr;-1,0,wasd;-1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,0,udlr;0,0,undo;1,0,udlr;-1,0,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,wasd;0,0,undo;0,0,undo;0,0,undo;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;0,0,undo;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,0,undo;1,0,udlr;1,0,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;-1,1,udlr;-1,0,udlr;1,0,udlr;1,0,wasd;1,0,udlr;1,0,wasd;1,0,udlr;1,0,wasd;1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;-1,0,udlr;1,1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,0,undo;0,1,wasd;0,0,undo;0,0,undo;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,wasd;1,0,udlr;1,0,wasd;1,0,udlr;1,0,wasd;1,0,udlr;0,-1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;0,0,undo;-1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,wasd;-1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,1,udlr;1,0,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,udlr;0,-1,udlr;0,1,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;1,0,wasd;1,0,udlr;1,0,wasd;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;0,0,undo;-1,0,udlr;"
  },
  {
    "path": "officialworlds/bab be u/meta+/infloop/gone forever.bab",
    "content": "{\"width\":22,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":9,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"futr be cool\",\"is_overworld\":false,\"palette\":\"gameboy\",\"parent_level\":\"\",\"name\":\"gone forever\",\"map\":\"eJydmNGOqjAQhl/FeHcSLmgLtD0bnsWgkCMJkROWzboxvvtiBxR0gL/eefH9tp2Z/p0hrzdVfciqzS69XNqyKtJtVZ62wTkNgzJPRfDT/fj8XxzKrEov1yAvm1RcAwaVHSrn0fbc7vbZ/o6rDlcveHCoq7pJt9/Hst1OtOW/U93c1VGnjjzUbXFu7+K4E8egeHzCpNMlWDB0h5pVVNxQ06ECQ+1yiMeoCNn48qxgo8mzkg0ezyooYMTeMqpXWenYeDlko1IjPmHjtphwEmouiHp+IeNRlpOFLBfV+YVkyEZ2fSEpuDDrZ1Y5VkKXn1jFpeTpAMUDj/wzQsJ4PSPHrGgfgsQ/JSTU6yn5KcYrGf+ckNBCpe9YFULGEjlWrF+TrwfN+/fi9knIOvk0UBPex7snQta3NevzJOANG1hJQxmJHcv698uNIhYzcMdGrIHz/xuxBj7DsgY+w2IGTixr4C//mzg2hpyFWN6872xvi8Rq/9IiIX93edZCV1C7TiOEHndiBVQcxEpov8QqqJiNYyMoMcTG0H6JTaBuhFjWeGdYLG/EYnmzrtPD8kasWD7b2JZIIP2rlIQKigyxWD8lqLFduY+3I9T1fiR4o6PqlWxLNV3q3ur3kje6ql7JtlVPqTlm7UOh+caK/3stsC7fNbhaYn0+wfx0NG2n6iZvRpI3ntVeyc9DM3CC1ZXrNrWG7KSHDTbdEGyx8cbBJsQOSLDAKoBgiVWA690M2yPPweD9df2Kwd7THk6W9zytLfe2G+1x3cd+18uN56z/989IbD1HfRozSGz5zM+Lj8Xo2JYtBbV8pVyPYLHRqYcVVkTuNbcRVkQEx1gRuffRJtieCdbYNgg2PtvAnmlh6SsH9lAPNDv9vn5koE9fIZbEgVaQfQ10BLnMQMdQTGT/5SeBYjLQKw/yE20gKx3omcn2+tEU7Vdz2uw+ilP+C+wfynU=\"}"
  },
  {
    "path": "officialworlds/bab be u/meta+/infloop/lvlbabtxt+selctxt.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"lvlbabtxt+selctxt\",\"map\":\"eJyV0M8KgzAMBvBXEQ879bD6X6TPImpzKBQdNYpDfPclY3SDsW47JKffFz6ip8hOQ2ejVu07Ggsqxg3bvutjsSkpjKZ1pZkvMJjOqv0Q2jglD/HgrzQhmn6m98vAOmGdhg+zXhinjLPv2K7W8/zXJhnrgnQW1uCc55Jfkoc9woY+UJIvwv7kcUW4DOMZ7IDPPjUlqj/qyDMF6vfA0TjAxY1R28Cob3Yct2k=\"}"
  },
  {
    "path": "officialworlds/bab be u/meta+/infloop/lvlbabtxt+txt.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":false,\"map\":\"eJyV0b0OgyAUBeBXMQ6dGIr4G8OzGJU7kBBtKDY2xnfvBRvi0KIOMn3nYA5ijNTYtypq+LIYqYDHZjZN13YxmTklUuDxxu/5gF62ii8rEVJzupIv39MEKftPXTNYnVjNwsVWq5fyPD0unyxmFmfH3dufOJ2jTsMatPac2vYs7A3MxgcK9HnY3zwuERcXyiv05QVP7xioTu2eO0/PvmrheHI85u6KLcPOD7oF0t+LrrUGM+khamoYxAcTFflY\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"lvlbabtxt+txt\",\"height\":15,\"author\":\"Butcherberries\"}"
  },
  {
    "path": "officialworlds/bab be u/meta+/infloop/lvln'ttxtxt.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"lvln'ttxtxt\",\"map\":\"eJyN0UEOgyAQBdCrENcsqqK2MZzFoLAgnahBNDTEu5cxjXbRioth9f7kk5EDgaETQBruvdWgeGKdbVrRJtTxlGoZnleYaVSdFsD9SqU2PF3ph3/TLND8P902K9QZ6vx8MeoZcY6YxTEssPPiahOGugyanWuc3u6JKiSKSEK5w9+DLy/VL5E/rtavtgvd4v2nUZgnHJH09wfW2ig7m540terlGyaGuOc=\"}"
  },
  {
    "path": "officialworlds/bab be u/meta+/infloop/lvlsparkl.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"lvlsparkl\",\"map\":\"eJyNzkEKgzAQBdCrBNfZaGK7kJwlRDOL0EElxmIJubszpUih1HYxf/X+Z/wkcBocCmtyTgHBVGlLtnd9JTdTy+ApHnTLDENwaHKRPkRTF/ni7/RKVH2nz2Vg3bBuzodZr4wVY/Ub4x0Prv/9RLNuSetzvcwu3vBoXKjRfjZKFyGtcRS2g9HvvCd29g==\"}"
  },
  {
    "path": "officialworlds/bab be u/meta+/infloop/resetti.bab",
    "content": "{\"width\":23,\"version\":5,\"extra\":false,\"author\":\"vitellary\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":11,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"gras be mov\",\"is_overworld\":false,\"palette\":\"autumn\",\"parent_level\":\"\",\"name\":\"resetti\",\"map\":\"eJyN2U1u2zAQBeCrBF21gBciqd8WPkvgxopr1LAKVQFSBLl7Fc4wMgey3tt58YkwNEOKjzwOD5fh6XB5eNy/vU3nS7//Mr1Oj0+X4feX3eu+2J2Pe7f7N//4+6d/Oh8u+7f33fE87t37Tv2v/nj6tH627r79GPsyDH8+fZi9J8cuZxu2x/59Hn9++mr25bY/DdMnr2debfPs7zSzr8m/3s622R47e+Xd7FtybFfMuNse/OdheS3uo55uo6Dxgf7Du+g9V3/BATfA7dglV3/BFW6A27Hr7frnYze4+rdjt1zxBXe4+jdj+4IrvmBHFP9mbE/U/uWD+8jDdunjnBimqV+eKLlmEVzhZpnGf4fT4XxdHqq5lhHc4JZ5Hs/H03F5pMXLxnV4uR6H5ZGO67SIQ4E77TqcltGD2+61lT8UPNeeggNuz9NwGK/LOwol16KCK9yi378uvAYtmgYPUTdcvwlut/stxx3XZxGXxXaf5dhx7SLYb7dLjgNXd8Hldt1zXHEVF1xvVzzHDVnvMup2u976oRO7WsGwaqvVAt6xq/W7Y1fLd8euVu+OXS1eWH9pVUW+4irqGi/6378tvNmeVGlLJpicgYLJGRhxTc5AweQMFEzOQMHkDBQMZmDaEgomZ6BgdhGtoyYXUcEtOXQTdccNHXFTkEO3UZO5RDDa+CTdRU3se1Jx5IESbxpkGya8YvYA6ZMuj9RcYwlm11QnSQYsqkZ37OBxy9kW5OCiHbdAqPZkfBAdyI216JL7iKlml1gXNzktWGONBkus0S35UkR33Lopuiu4PYNqR75w0Z584aID+8LjLqMjc4lqEEyMJhOJahBJjAZpJH1dVXfcp0q0KwoyxSp3ZPGVe7L6ygNZfuUlSrLnS+Sl8Aqs6LmuQTDNdbNdf6NbEElzDaJlrh3KlrlGwTLXHsTEXIO11miw1hqN1trEK+FoP5trsNYaDdZao8Fam+t4DkSUXrXjSq8aHBAYjU4Icg0OB4xGpwO5RvvaxGvhYGNrNAgnRoN0kusA4onRIJ8YDQKK0SChGA0iitEgoxgNjgmMRnvaxBvhYE9rdMeVXnQ87SFKr9pxpVftudKrDlzpVZdc6VVXXOlV11zpVTdc6VWjyJl4KxxkzlzHkx+i9KodV3rVHh8/T/3rdPtI4OqvGuXOXBOx83nsr5f+7+1TzMXYoZ+eL8N4+xi4HzN/DVyoGI1uVDJdgwsVo9GNSq7hhYryTjg6WMh1ybWm6oprTdU1tyqpbrg+U91yq5Lqjiu96AYkUKNBAjUaJFCjUQJV7uXWtQEJ1Gh0NZZrkECNRpdiuUb3YbkGCTTXLQigRoP8aTSIn0aD9Gk0GT69XhZz4TNpLnwmzYXPpLnwmTQXPlV3XPhMmgufSXPhM2kufCbNhc+k2YM+78WTJ32Jk0d9iZNnfYmTh33CfQESqOUgglrOXlIrByHUcvaKWjmIoZbfy6HvP8Z+ehmvD48/+uvxP506OsQ=\"}"
  },
  {
    "path": "officialworlds/bab be u/meta+/infloop/resetti.replay",
    "content": "1,0,wasd;1,0,wasd;1,-1,wasd;1,-1,wasd;1,0,wasd;1,-1,wasd;0,-1,wasd;-1,-1,wasd;-1,1,wasd;-1,0,wasd;-1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,0,wasd;1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;-1,1,wasd;1,1,wasd;1,1,wasd;1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;0,-1,wasd;1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,-1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;-1,-1,wasd;-1,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;-1,-1,wasd;-1,1,wasd;1,1,wasd;0,-1,wasd;0,-1,wasd;"
  },
  {
    "path": "officialworlds/bab be u/meta+/infloop/shade.bab",
    "content": "{\"width\":17,\"version\":5,\"extra\":false,\"author\":\"vitellary\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":14,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"gras be mov\",\"is_overworld\":false,\"palette\":\"autumn\",\"parent_level\":\"\",\"name\":\"shade\",\"map\":\"eJyN2N1uozAQBeBXiXqzqpQL2/zY3opnidLCrtAiqAjRtory7gtjpwSnO3PuevHZBc4BJtTDrhvejt3uUF0uU9s11dPrMNbj0/6jUvu2rvT+c/7j9N68tceuulz3dTtW+rr/FpsZaxRnMzYozmecobiYcY7icsYFiu2MSxS7GVsU+xk7FGs1aw/rJUMNh6gpRThGveSo4SD1kqRGotTEC75/08d0+HvsVl/yFVz8a7Nyy5dw4f3we1gXOL6Im2PxfA+Xzbt26n9MX0uM4tu4LDn9Oa//w2i+kcn5GsN3cuE/n1ee8a28P1uT852kQ5+O45qtKYRepgdfCsVc/HnlFi1m4A4tpiHu+WLGS0M2U3wpN1bzjdxYA5Ux2Iwv48bmfAs3tuALuLEl376NtVD1gnV89TbWC6W7x7kSGrfBGu1b4AbtW0Y8A1/EQcNP2Zy48JQ9Df1qhRCTnS16IAVxB55l0B7dvKSxQPGb/2r602nVmr8JEm342yDRGX8NE53zt0KiC3A2CLpEL6ElbsF8goYfqY648Ei9vfgIlwqsYdAaPRJP3ICnGXQGjzRh4szlmeYr07ikkOeC+KYMXrhJaWw6j/XdCgvWJnI4Wk1v11LINuFWwdvTw9QKP1PWwSNwYQxKd8cDpqevFQJOeQFvT89UW0KjR8QWG1gDdtCQELGHpoSAnYLGhIg1NCdEbLAZNeAMmhQiztHfTdHjOdLry4E5BizkSON1eE3HBUKWd4+M4IU4yY/tdLfEg6EGLIRK+28vkBeiTU/BC+l+9y/wjIPHM6b3qxcyTrkFv6BE7sBvKJF78CtK4Fop8EPKzQsj04MXhqYHL4xND14YnB48OjrdfAmXJy6w6KeV2wIH/4aNC/43El9fxmY6j/3u8NL09T+yMZwk\"}"
  },
  {
    "path": "officialworlds/bab be u/meta+/infloop/shade.replay",
    "content": "-1,1,wasd;-1,0,wasd;-1,-1,wasd;0,-1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;-1,-1,wasd;-1,0,wasd;1,1,wasd;1,1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;-1,-1,wasd;1,0,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,-1,wasd;-1,0,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;1,1,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;"
  },
  {
    "path": "officialworlds/bab be u/meta+/infloop/sorry, level broke.bab",
    "content": "{\"width\":19,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"sno be man\",\"is_overworld\":false,\"palette\":\"mono\",\"parent_level\":\"\",\"name\":\"sorry, level broke\",\"map\":\"eJydmlFvqzgQhf9K1YfVrpQHjMGGvcpvqXIT7haVWyrCVVtV/e8LngECjPEJb1X1HUJ8jsfMkEv9UNXnU/XwdPz6asuqOD7+rJtL83j4OEaH8nJUh8/uj+tbcS5P1fHr+3Apm6P+PjDcfrRP17fyZeTjjldLXs34n8VI646Ot+l//x7ppKP1ij6c66puuvuuTufz46id3VXaKe1SaT3K+QKYTpr5b3EO2w7OUTjrl2q1tj467+mNlV3YFvX4xtJef9fVRPcuK//S/tecis/HmS1Fc/NhzvQEuDflcB3OFF+e+CScqeHrkCAVY+X5NkNQSGp2JYW0FowK0RmYFaJzNCwOjyM0LYSrQFqmbUu8bHi6vnzscMBwujrhgN+3uOy2717Q/Uw0uqGJhnc04fCWdrgObekR1w4HKvefiZbr9pD79+eyne//t7pu2rqqpivItXyjhDyfivb68llMl9gu8PObWHzbFLSVaAPaSrRFbSU8Q20lPEdtTdwZGG3bOlQzgpXkqg6cmCSNdxVC0mrQDKIT0AyiU9QMwg1qBuEWKIR9bn91qzCpMvn8Cy1W6sR5eJ8+0+Hm+DTa3KnCPmvKX5Nabe5SzxYjaQy6SrQGXSU6QV0lPEVdJdwArv414RZ9nDEOz8IGvpevE5/fWWrprHNaE0n2aW9lJpHaLKuLxPCTFynFIhBKC0nRGkA0WgOIhmsA4XANIBypAe+n6mVSBPb/YoXHj7NOHNj/Q1V2sBU3v6+gL9NAl9iuAEL9WF8ividQ869r0VwQjeaCaDgXhMO5IDyUixHPHB4oC4OvBIs1wefr/IOyCFxRohW4okTH6IoSrtEVJTxBVzR3eBoutG3x0U4Cs6vSktaGK+25/l28VddJk+3aF6TNQRcdnUegi0Qr1EXCY9RFwjU4aiA6kVvH0CIpGoKk263hEjdga8i4Ff3z4r3d0NSD8N7hFMZV1Hts7uCVeFiv5xyMi49zW0fJ7XPvcBEtJyvQYQxqef+Hpy0sT8WplfYLjJi9SXCuaro/mrlEVio4ocefQZyhUWU+R7NKvJvwQWFlXqFpZT5G48q8RuPKfLIdV+55Blrs73V4QDnojRhU6/s4+ay3wSrF8gxOJgvyQDLHnRPTwFWcAoQ3DqvFsYBkFfMxGk3mNRpN5hM0msynaDSZN2g0mbfb0ezj9VkU7a0kNPpbGihPfVAHaRYIBYwFKhCwSaBJEHiRs+IDr3JWvDzr8/MpmhHmDZoR5i2aEeazcEa6/xTntqxfb3W5+OQWejdB4kQeAYdTw3L5NY8/BIk85188BQ+HZkIacdgffAge1IHZ/4pHh/8Db9DYMW/R2DGfobFjPkdjR7yb/m3EjgdNA63uOTUX2njnEchyDWeNBXJjIL0lUikpxH5QWjvm5XbQz4st4AYvt39+PkezRbwb/kHZYl6h2WJenvatixHj4iQnOLMY1AmcDxakQD66W6QMG9KYXQ/wLLZoXJjP0Lgwn6NxId7N/qC4MK/QuDAfo3FhXoNxYTy5Jy5Lcbrz4GO5gcPGAvkVwDxs7o2BsiQQp33S4jEvvwTw8pk4+N/g5Zm/n4/RcDGv0XAxn6DhYl78xc7E8zutgRZf6vvOuYV2b6vHcrzVY0Go1XM/evrHKdyUVOVisxesYiyGez3m4V6PebjXYx7u9ZiHez3m4V6P+UCvNxYixrOdhYjlOZwWJ4jdEFBKy/ePpmj/NK8PTz+K18v/bNsrSA==\"}"
  },
  {
    "path": "officialworlds/bab be u/meta+/infloop/sorry, level broke.replay",
    "content": "1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;0,1,wasd;0,0,undo;0,0,undo;1,-1,wasd;0,1,wasd;-1,-1,wasd;1,0,wasd;-1,0,wasd;-1,-1,wasd;0,0,undo;0,-1,wasd;-1,0,wasd;0,1,wasd;1,-1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,0,wasd;1,0,wasd;0,-1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,0,undo;0,0,undo;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,0,undo;-1,0,wasd;-1,0,wasd;-1,-1,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;-1,0,wasd;0,0,undo;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,-1,wasd;0,0,undo;1,-1,wasd;1,0,wasd;0,0,undo;1,1,wasd;0,-1,wasd;-1,0,wasd;-1,-1,wasd;0,0,undo;1,0,wasd;0,1,wasd;-1,-1,wasd;0,0,undo;-1,0,wasd;-1,-1,wasd;0,-1,wasd;0,0,space;0,-1,wasd;0,0,undo;1,0,wasd;-1,-1,wasd;0,0,undo;1,0,wasd;0,1,wasd;-1,-1,wasd;0,0,undo;-1,0,wasd;0,0,undo;0,0,space;-1,0,wasd;0,0,undo;-1,0,wasd;0,0,space;0,-1,wasd;0,0,space;0,0,space;-1,-1,wasd;-1,-1,wasd;1,0,wasd;0,-1,wasd;0,1,wasd;-1,0,wasd;1,-1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;0,0,undo;-1,0,wasd;0,-1,wasd;-1,1,wasd;0,0,undo;0,1,wasd;0,1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,0,wasd;-1,-1,wasd;0,-1,wasd;1,0,wasd;0,0,undo;1,1,wasd;0,0,undo;1,0,wasd;-1,0,wasd;0,0,undo;0,1,wasd;0,0,undo;1,1,wasd;0,0,undo;1,1,wasd;0,0,undo;1,-1,wasd;0,0,undo;0,-1,wasd;0,0,undo;0,-1,wasd;0,0,undo;0,0,space;0,0,undo;0,0,space;0,0,undo;0,0,space;0,0,undo;0,0,space;0,0,undo;0,0,undo;-1,1,wasd;0,0,undo;0,0,undo;-1,0,wasd;1,0,wasd;-1,0,wasd;0,0,space;0,-1,wasd;0,0,space;1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;0,0,space;0,1,wasd;-1,1,wasd;0,0,space;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,0,space;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;-1,0,wasd;0,-1,wasd;0,0,undo;0,0,undo;0,-1,wasd;0,0,space;1,0,wasd;1,0,wasd;0,0,space;0,0,space;1,-1,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;-1,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,0,undo;0,0,undo;1,-1,wasd;1,0,wasd;"
  },
  {
    "path": "officialworlds/bab be u/meta+/infloop/wal be seeping.bab",
    "content": "{\"width\":30,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":16,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"futr be cool\",\"is_overworld\":false,\"palette\":\"volcano\",\"parent_level\":\"\",\"name\":\"wal be seeping\",\"map\":\"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\"}"
  },
  {
    "path": "officialworlds/bab be u/meta+/infloop/wal be seeping.replay",
    "content": "0,1,wasd;1,1,wasd;0,1,wasd;1,1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,undo;1,0,wasd;1,-1,wasd;1,-1,wasd;0,-1,wasd;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;-1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,0,undo;1,0,wasd;0,1,wasd;0,0,space;0,0,space;0,0,space;0,0,space;-1,0,wasd;0,0,undo;0,0,space;-1,0,wasd;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,-1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;1,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,0,udlr;1,0,wasd;1,0,wasd;1,0,udlr;1,0,wasd;1,0,udlr;1,0,wasd;1,0,wasd;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,0,undo;0,-1,wasd;0,-1,wasd;0,1,wasd;1,0,wasd;0,0,space;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,0,undo;0,-1,wasd;-1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,0,space;1,0,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,0,space;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,1,wasd;1,1,wasd;0,1,wasd;0,0,undo;1,1,wasd;1,0,wasd;-1,0,wasd;0,0,undo;-1,1,wasd;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;-1,0,wasd;0,0,undo;0,0,space;-1,-1,wasd;0,1,wasd;1,0,wasd;0,0,undo;0,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;-1,0,wasd;0,0,undo;-1,-1,wasd;0,1,wasd;0,0,undo;-1,0,wasd;1,1,wasd;0,0,undo;0,1,wasd;1,0,wasd;1,0,wasd;-1,-1,wasd;-1,1,wasd;0,0,undo;-1,1,wasd;-1,0,wasd;1,0,wasd;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;-1,0,wasd;0,1,wasd;0,0,undo;-1,1,wasd;1,0,wasd;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;0,0,undo;0,0,undo;-1,0,wasd;-1,1,wasd;1,0,wasd;1,-1,wasd;-1,-1,wasd;0,-1,wasd;1,0,wasd;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,undo;-1,0,wasd;0,-1,wasd;0,0,undo;-1,0,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;1,0,wasd;1,-1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,1,wasd;1,0,wasd;-1,0,wasd;1,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,0,space;0,0,space;0,0,space;1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,1,wasd;0,1,wasd;-1,1,wasd;0,0,undo;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;0,0,undo;0,1,wasd;1,0,wasd;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;1,0,wasd;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,0,space;0,0,space;-1,0,wasd;-1,0,wasd;-1,1,wasd;1,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,-1,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,1,wasd;0,0,undo;-1,0,wasd;1,1,wasd;-1,1,wasd;-1,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;1,1,wasd;1,0,wasd;1,1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;"
  },
  {
    "path": "officialworlds/bab be u/meta+/infloop/weebs don't interact.bab",
    "content": "{\"width\":29,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"wind be stil\",\"is_overworld\":false,\"palette\":\"sepia\",\"parent_level\":\"\",\"name\":\"weebs don't interact\",\"map\":\"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\"}"
  },
  {
    "path": "officialworlds/bab be u/meta+/infloop/weebs don't interact.replay",
    "content": "0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,udlr;1,0,wasd;1,0,udlr;1,0,wasd;1,0,udlr;1,0,wasd;1,0,udlr;1,0,wasd;0,-1,udlr;0,-1,wasd;0,-1,udlr;0,-1,wasd;0,-1,udlr;0,-1,wasd;0,-1,udlr;0,-1,wasd;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,wasd;0,1,udlr;0,1,wasd;0,1,udlr;0,1,wasd;0,1,udlr;0,1,wasd;0,1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,wasd;-1,0,udlr;-1,0,wasd;-1,0,udlr;-1,0,wasd;-1,0,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,wasd;-1,0,udlr;-1,0,wasd;-1,0,udlr;-1,0,wasd;-1,0,udlr;-1,0,wasd;-1,0,udlr;-1,0,wasd;-1,0,udlr;-1,0,wasd;-1,0,udlr;-1,0,wasd;-1,0,udlr;0,-1,wasd;0,-1,udlr;0,-1,wasd;0,-1,udlr;0,-1,wasd;0,-1,udlr;0,-1,wasd;0,-1,udlr;0,-1,wasd;0,-1,udlr;1,0,udlr;0,1,udlr;0,1,wasd;0,1,udlr;0,1,wasd;0,1,udlr;0,1,wasd;0,1,udlr;0,1,wasd;0,1,udlr;0,1,udlr;-1,0,udlr;0,0,undo;0,1,wasd;-1,0,udlr;0,0,undo;0,0,undo;0,0,undo;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,wasd;1,0,udlr;1,0,wasd;1,0,udlr;1,0,wasd;1,0,udlr;1,0,wasd;1,0,udlr;1,0,wasd;1,0,udlr;1,0,wasd;1,0,udlr;1,0,wasd;0,-1,udlr;0,0,undo;0,1,udlr;-1,0,udlr;0,-1,udlr;0,0,undo;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,0,undo;0,0,undo;-1,1,udlr;0,-1,udlr;1,0,udlr;1,1,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;1,-1,udlr;0,0,undo;0,1,udlr;1,1,udlr;0,1,udlr;0,0,undo;-1,0,udlr;1,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,0,undo;-1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,1,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,1,udlr;0,-1,udlr;-1,1,udlr;0,-1,udlr;-1,1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,0,undo;1,0,udlr;0,0,undo;0,0,undo;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;0,0,undo;-1,1,udlr;0,0,undo;-1,1,udlr;0,0,undo;0,1,udlr;-1,0,udlr;0,-1,udlr;1,1,udlr;1,0,udlr;-1,-1,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;-1,-1,udlr;1,0,udlr;0,-1,udlr;0,0,undo;0,1,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;0,-1,wasd;0,-1,udlr;0,-1,wasd;0,-1,udlr;0,-1,wasd;0,-1,udlr;0,-1,wasd;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,wasd;-1,0,udlr;-1,0,wasd;-1,0,udlr;-1,0,wasd;-1,0,udlr;-1,0,wasd;-1,0,udlr;-1,0,wasd;-1,0,udlr;-1,0,wasd;-1,0,udlr;0,0,undo;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,wasd;0,1,udlr;0,1,wasd;0,1,udlr;0,1,wasd;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,0,undo;0,0,undo;1,0,udlr;0,1,udlr;1,-1,udlr;1,0,udlr;0,-1,udlr;"
  },
  {
    "path": "officialworlds/bab be u/meta+/meta.bab",
    "content": "{\"width\":23,\"version\":5,\"extra\":false,\"map\":\"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\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":true,\"palette\":\"variant\",\"name\":\"meta\",\"height\":16,\"author\":\"vitellary\"}"
  },
  {
    "path": "officialworlds/bab be u/meta+/mous/beyond the world.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":false,\"palette\":\"variant\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":11,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"author\":\"vitellary\",\"parent_level\":\"\",\"name\":\"beyond the world\",\"map\":\"eJyV2N2OmzAQBeBXifauElIx5s9d8SwRG2iLloaKkGa3Ud69xjMsNmqZ07u9+AYZH7yeTDMc+uFU94djdb9PXd9WT7e6f4reqjjqmkpF7/aPy8/21NV9dX9ETTdW6hH9hSaWKoxqSxOMppZqjGaWphjNLc0wWliaY7S0tMCosbTEqIqtNaCd81JyYMrhBAqXrN7fhultOr7UL6tPoUUnzmb765if/WO4XtaCfP/7GepptQUUNdly/yX5Bcma/bDdhrQfPMFC1M5ih45sIufyu77V47UZ1iK9//XNRefhm1eApZk6K6XZeTYXFuLbYn8NgS2xY5A5bKAFO6tjaMFkFbRgsgm24NxhDS2YbAotmGwGLZhsji24cLiAFky2hBZM1kALdjaNsQWXDmMnkCx275HFLj6y2M1HFrv6yGJ3H1ns8iMrBBdYITjfZmBwxmEhuPk/W+Cx8MgK4XlXIHkhQLrWhl9rgZDiXMBXG3ksSbJYkmSlI+jdx4Yuew3lSU83YItCjVosB0rXLHsFBco4ARL1H66hI8k4ldMMHp5BaTLOoTgZF3KewUpKKE3GaJyuLSyAOJfOgyvAQAkDgV49DuZJGMjTFrx6FUKic8X3up0ur++tV4WdasbYsWb8H+dacRePNX78fPRTcB1xKXwKIQa/AsLCVxBi8BsgLHwDIQYPNGHwQBMWDnSIwdNMGI3Q/Sww0mnufCxEGGLpIAdYiDDE0jEOsHSCAyxEOB+vUz/cGlfifqcYrDFmXGIbSNhgG5jShCHGdpC1wraQdYLtIWtgznD7/HVsz64oo6IU20bWYKisgVS5KVM5VQihLkeIdYkFxdpgQZF2kyPgTVkrYMRDF1VBBeD8iLXUPneBlprnUEudc6iBSMfh5CpKqgAjZQ1GyhqMlLSbIwFvylrJHQhHSo18AkbKGoyUNRgpazBS1kLTtNFC17TRwlh3o4XJbqi1MBbcaGm6O+f55ZMbOtI4WAt5ftxHi9dQn7XoVG63l1ksV2Tyb+L13/tSlMudN2/UUiEMfb3hLBcIk9/tGHUpE4bA4XalwvBwo4Xx4Ub/a4D4eB7b6TqeD8fn9tz8AQKrhtQ=\"}"
  },
  {
    "path": "officialworlds/bab be u/meta+/mous/beyond the world.replay",
    "content": "1,0,wasd,e3sxNCwgN30gLS1bW3RhYmxlOiAweDI0MzMyODUwXV19IC0tW1t0YWJsZTogMHgyNDMzMjgyOF1d;1,0,wasd,e3sxNCwgN30gLS1bW3RhYmxlOiAweDIzZmIwZjYwXV19IC0tW1t0YWJsZTogMHgyNDVjNjgyMF1d;1,0,wasd,e3sxNCwgN30gLS1bW3RhYmxlOiAweDI0NDQ5YjgwXV19IC0tW1t0YWJsZTogMHgyNDQ0OWI1OF1d;1,0,wasd,e3sxNCwgN30gLS1bW3RhYmxlOiAweDI0MDExNTIwXV19IC0tW1t0YWJsZTogMHgyM2ZmNTBjMF1d;1,1,wasd,e3sxNCwgN30gLS1bW3RhYmxlOiAweDI0MjkzMTkwXV19IC0tW1t0YWJsZTogMHgyNDQ0OTkyMF1d;-1,0,wasd,e3sxNCwgN30gLS1bW3RhYmxlOiAweDI0MmVlZTQ4XV19IC0tW1t0YWJsZTogMHgyM2Q0NTMzMF1d;-1,0,wasd,e3sxNCwgN30gLS1bW3RhYmxlOiAweDI0Mjg4MWYwXV19IC0tW1t0YWJsZTogMHgyNDNmNDllMF1d;-1,0,wasd,e3sxNCwgN30gLS1bW3RhYmxlOiAweDI0Njg1ZDkwXV19IC0tW1t0YWJsZTogMHgyNDJkYjYxOF1d;-1,-1,wasd,e3sxNCwgN30gLS1bW3RhYmxlOiAweDI0MzMyNjU4XV19IC0tW1t0YWJsZTogMHgyM2U2MGVjMF1d;0,1,wasd,e3sxNCwgN30gLS1bW3RhYmxlOiAweDI0NTM4YmI4XV19IC0tW1t0YWJsZTogMHgyNDUzOGI5MF1d;0,0,e,e3sxNCwgN30gLS1bW3RhYmxlOiAweDIzZjBmYmYwXV19IC0tW1t0YWJsZTogMHgyM2YwMmY2MF1d;1,0,wasd,e3sxNCwgN30gLS1bW3RhYmxlOiAweDI0NGFmY2EwXV19IC0tW1t0YWJsZTogMHgyNDRhZmM3OF1d;0,1,wasd,e3sxNCwgN30gLS1bW3RhYmxlOiAweDI0Njc1OGM4XV19IC0tW1t0YWJsZTogMHgyNDY3NThhMF1d;0,1,wasd,e3sxNCwgN30gLS1bW3RhYmxlOiAweDI0NDc0NGQwXV19IC0tW1t0YWJsZTogMHgyNDQ3NDRhOF1d;-1,0,wasd,e3sxNCwgN30gLS1bW3RhYmxlOiAweDI0MGMwNWQwXV19IC0tW1t0YWJsZTogMHgyNDBjMDVhOF1d;1,0,wasd,e3sxNCwgN30gLS1bW3RhYmxlOiAweDI0NTFhYTAwXV19IC0tW1t0YWJsZTogMHgyNDUxYTlkOF1d;0,-1,wasd,e3sxNCwgN30gLS1bW3RhYmxlOiAweDI0NTMxOWI4XV19IC0tW1t0YWJsZTogMHgyNDUzMTk5MF1d;0,-1,wasd,e3sxNCwgN30gLS1bW3RhYmxlOiAweDI0NmZlZWU4XV19IC0tW1t0YWJsZTogMHgyNDZmZWVjMF1d;0,-1,wasd,e3sxNCwgN30gLS1bW3RhYmxlOiAweDI0MmEyOWM4XV19IC0tW1t0YWJsZTogMHgyNDQ3ZmEwOF1d;0,-1,wasd,e3sxNCwgN30gLS1bW3RhYmxlOiAweDI0NGEwNjk4XV19IC0tW1t0YWJsZTogMHgyNDRhMDY3MF1d;-1,-1,wasd,e3sxNCwgN30gLS1bW3RhYmxlOiAweDI0NzEwZWQwXV19IC0tW1t0YWJsZTogMHgyNDYyNDI5OF1d;-1,-1,wasd,e3sxNCwgN30gLS1bW3RhYmxlOiAweDI0MGMwMWQ4XV19IC0tW1t0YWJsZTogMHgyNDBjMDFiMF1d;-1,-1,wasd,e3sxNCwgN30gLS1bW3RhYmxlOiAweDI0MjE4NjI4XV19IC0tW1t0YWJsZTogMHgyNDIxODYwMF1d;0,-1,wasd,e3sxNCwgN30gLS1bW3RhYmxlOiAweDI0MjcxNzUwXV19IC0tW1t0YWJsZTogMHgyNDI3MTcyOF1d;0,-1,wasd,e3sxNCwgN30gLS1bW3RhYmxlOiAweDIzZjY2NTc4XV19IC0tW1t0YWJsZTogMHgyM2Y2NjU1MF1d;1,1,wasd,e3sxNCwgN30gLS1bW3RhYmxlOiAweDI0Mjg2ZDgwXV19IC0tW1t0YWJsZTogMHgyNDI4NmQ1OF1d;0,1,wasd,e3sxNCwgN30gLS1bW3RhYmxlOiAweDI0MGUyODkwXV19IC0tW1t0YWJsZTogMHgyNDVhMTU4OF1d;0,1,wasd,e3sxNCwgN30gLS1bW3RhYmxlOiAweDI0NjQ0NTgwXV19IC0tW1t0YWJsZTogMHgyNDY0NDU1OF1d;1,1,wasd,e3sxNCwgN30gLS1bW3RhYmxlOiAweDI0NWQ1NWEwXV19IC0tW1t0YWJsZTogMHgyNDVkNTU3OF1d;-1,0,wasd,e3sxNCwgN30gLS1bW3RhYmxlOiAweDI0NDg4N2MwXV19IC0tW1t0YWJsZTogMHgyM2VlOGFkOF1d;0,-1,wasd,e3sxNCwgN30gLS1bW3RhYmxlOiAweDI0NjgwZjUwXV19IC0tW1t0YWJsZTogMHgyNDY4MGYyOF1d;0,-1,wasd,e3sxNCwgN30gLS1bW3RhYmxlOiAweDI0MTBkMjY4XV19IC0tW1t0YWJsZTogMHgyNDEwZDI0MF1d;0,-1,wasd,e3sxNCwgN30gLS1bW3RhYmxlOiAweDI0MDAzMGIwXV19IC0tW1t0YWJsZTogMHgyNDAwMzA4OF1d;1,1,wasd,e3sxNCwgN30gLS1bW3RhYmxlOiAweDI0NzFhYWYwXV19IC0tW1t0YWJsZTogMHgyNDQ1ZTAyMF1d;1,1,wasd,e3sxNCwgN30gLS1bW3RhYmxlOiAweDI0NTZkZmIwXV19IC0tW1t0YWJsZTogMHgyNDZkNjJjOF1d;1,0,wasd,e3sxNCwgN30gLS1bW3RhYmxlOiAweDI0MGRkMWQwXV19IC0tW1t0YWJsZTogMHgyNDBkZDFhOF1d;1,0,wasd,e3sxNCwgN30gLS1bW3RhYmxlOiAweDIzZmE0ZWQ4XV19IC0tW1t0YWJsZTogMHgyM2ZhNGViMF1d;-1,1,wasd,e3sxNCwgN30gLS1bW3RhYmxlOiAweDI0MDlmYzg4XV19IC0tW1t0YWJsZTogMHgyNDBhNDg3MF1d;-1,1,wasd,e3sxNCwgN30gLS1bW3RhYmxlOiAweDI0NmI4NTMwXV19IC0tW1t0YWJsZTogMHgyNDZiODUwOF1d;-1,1,wasd,e3sxNCwgN30gLS1bW3RhYmxlOiAweDI0NTFjOWYwXV19IC0tW1t0YWJsZTogMHgyNDM0MWFlMF1d;1,0,wasd,e3sxNCwgN30gLS1bW3RhYmxlOiAweDI0NTJiYjI4XV19IC0tW1t0YWJsZTogMHgyNDUyYmIwMF1d;1,0,wasd,e3sxNCwgN30gLS1bW3RhYmxlOiAweDI0NWYyZGMwXV19IC0tW1t0YWJsZTogMHgyNDVmMmQ5OF1d;1,0,wasd,e3sxNCwgN30gLS1bW3RhYmxlOiAweDI0NWIyN2E4XV19IC0tW1t0YWJsZTogMHgyNDViMjc4MF1d;1,0,wasd,e3sxNCwgN30gLS1bW3RhYmxlOiAweDI0NTU1ZjMwXV19IC0tW1t0YWJsZTogMHgyNDU1NWYwOF1d;1,0,wasd,e3sxNCwgN30gLS1bW3RhYmxlOiAweDI0MzVhMDYwXV19IC0tW1t0YWJsZTogMHgyNDM1YTAzOF1d;1,0,wasd,e3sxMywgOH0gLS1bW3RhYmxlOiAweDI0NjAwMTAwXV19IC0tW1t0YWJsZTogMHgyNDYwMDBkOF1d;1,0,wasd,e3sxMywgOH0gLS1bW3RhYmxlOiAweDI0NWRhNDUwXV19IC0tW1t0YWJsZTogMHgyNDY1OGU2MF1d;1,0,wasd,e3sxMywgOH0gLS1bW3RhYmxlOiAweDI0NjAwMGQ4XV19IC0tW1t0YWJsZTogMHgyNDQ1YjVhOF1d;0,0,e,e3sxMywgOH0gLS1bW3RhYmxlOiAweDIzZTcxNzQwXV19IC0tW1t0YWJsZTogMHgyM2U3MTcxOF1d;0,0,e,e3sxMywgOH0gLS1bW3RhYmxlOiAweDI0MjVmNGEwXV19IC0tW1t0YWJsZTogMHgyNDI1ZjQ3OF1d;1,0,wasd,e3sxMywgOH0gLS1bW3RhYmxlOiAweDI0MWQ0MjAwXV19IC0tW1t0YWJsZTogMHgyNDE2ZDU5MF1d;1,0,wasd,e3sxNCwgOH0gLS1bW3RhYmxlOiAweDI0NWJkMTg4XV19IC0tW1t0YWJsZTogMHgyNDViZDE2MF1d;1,0,wasd,e3sxNSwgOH0gLS1bW3RhYmxlOiAweDIzZTViYzg4XV19IC0tW1t0YWJsZTogMHgyM2Q0OGI3OF1d;0,1,wasd,e3sxNSwgOH0gLS1bW3RhYmxlOiAweDI0NjBlM2EwXV19IC0tW1t0YWJsZTogMHgyNDYwZTM3OF1d;0,1,wasd,e3sxNSwgOH0gLS1bW3RhYmxlOiAweDIzZThhNTQ4XV19IC0tW1t0YWJsZTogMHgyM2U4YTUyMF1d;1,0,wasd,e3sxNSwgOH0gLS1bW3RhYmxlOiAweDI0NTQxNzQwXV19IC0tW1t0YWJsZTogMHgyNDU0MTcxOF1d;0,-1,wasd,e3sxNSwgOH0gLS1bW3RhYmxlOiAweDIzZGZkY2M4XV19IC0tW1t0YWJsZTogMHgyM2RmZGNhMF1d;0,1,wasd,e3sxNSwgOH0gLS1bW3RhYmxlOiAweDI0MmRjNTYwXV19IC0tW1t0YWJsZTogMHgyNDJkYzUzOF1d;0,-1,wasd,e3sxNSwgOH0gLS1bW3RhYmxlOiAweDI0NGVjZWUwXV19IC0tW1t0YWJsZTogMHgyNDRlY2ViOF1d;0,-1,wasd,e3sxNSwgOX0gLS1bW3RhYmxlOiAweDI0NDgyOGM4XV19IC0tW1t0YWJsZTogMHgyNDBlOGFiMF1d;0,0,space,e3sxNSwgOX0gLS1bW3RhYmxlOiAweDIzZTBlNTAwXV19IC0tW1t0YWJsZTogMHgyM2UwZTRkOF1d;0,0,space,e3sxNSwgOX0gLS1bW3RhYmxlOiAweDI0NWI1ZDYwXV19IC0tW1t0YWJsZTogMHgyNDViNWQzOF1d;0,0,space,e3sxNSwgOH0gLS1bW3RhYmxlOiAweDIzZjYwNTcwXV19IC0tW1t0YWJsZTogMHgyM2VhNGExMF1d;0,-1,wasd,e3sxNSwgOH0gLS1bW3RhYmxlOiAweDI0MWUxNjg4XV19IC0tW1t0YWJsZTogMHgyNDFlMTY2MF1d;0,0,space,e3sxNSwgOH0gLS1bW3RhYmxlOiAweDI0NzE0MzI4XV19IC0tW1t0YWJsZTogMHgyNDcxNDMwMF1d;0,0,undo,e3sxNSwgOH0gLS1bW3RhYmxlOiAweDI0NmU0ZjY4XV19IC0tW1t0YWJsZTogMHgyNDFkZGZkOF1d;0,0,undo,e3sxNSwgOH0gLS1bW3RhYmxlOiAweDIzZjUxNTI4XV19IC0tW1t0YWJsZTogMHgyNDZmYTlhOF1d;0,-1,wasd,e3sxNSwgOH0gLS1bW3RhYmxlOiAweDIzZWJhZTM4XV19IC0tW1t0YWJsZTogMHgyNDFlM2E4MF1d;0,0,undo,e3sxNSwgOH0gLS1bW3RhYmxlOiAweDI0NDk0NTA4XV19IC0tW1t0YWJsZTogMHgyM2ZiYjYxOF1d;0,0,space,e3sxNiwgOH0gLS1bW3RhYmxlOiAweDI0MTNmYzEwXV19IC0tW1t0YWJsZTogMHgyNDUzMGM4MF1d;0,0,undo,e3sxNiwgOH0gLS1bW3RhYmxlOiAweDI0NTA5ZWQ4XV19IC0tW1t0YWJsZTogMHgyNDIxYmExMF1d;-1,0,wasd,e3sxNSwgOH0gLS1bW3RhYmxlOiAweDI0NmVkN2U4XV19IC0tW1t0YWJsZTogMHgyNDZlZDdjMF1d;0,-1,wasd,e3sxNSwgOH0gLS1bW3RhYmxlOiAweDI0NjFiYmQwXV19IC0tW1t0YWJsZTogMHgyNDYxYmJhOF1d;1,0,wasd,e3sxNSwgOH0gLS1bW3RhYmxlOiAweDIzZjBmMmU4XV19IC0tW1t0YWJsZTogMHgyNDAwNDQwMF1d;0,0,undo,e3sxNiwgOH0gLS1bW3RhYmxlOiAweDI0NGM3OWU4XV19IC0tW1t0YWJsZTogMHgyNDE2N2M5OF1d;1,0,wasd,e3sxNiwgOH0gLS1bW3RhYmxlOiAweDIzZjM3MTc4XV19IC0tW1t0YWJsZTogMHgyM2YzNzE1MF1d;1,0,wasd,e3sxNywgOH0gLS1bW3RhYmxlOiAweDI0Njk4MjQwXV19IC0tW1t0YWJsZTogMHgyNDFjYjBlOF1d;1,0,wasd,e3sxOCwgOH0gLS1bW3RhYmxlOiAweDI0MzAxYTc4XV19IC0tW1t0YWJsZTogMHgyNDMwOWYwOF1d;0,1,wasd,e3sxOCwgOH0gLS1bW3RhYmxlOiAweDIzZjgzMWI4XV19IC0tW1t0YWJsZTogMHgyNDE2YTc4MF1d;0,1,wasd,e3sxOCwgOH0gLS1bW3RhYmxlOiAweDI0NjQ3YTMwXV19IC0tW1t0YWJsZTogMHgyNDYxMzU5MF1d;0,1,wasd,e3sxOCwgOH0gLS1bW3RhYmxlOiAweDI0NWQzZDA4XV19IC0tW1t0YWJsZTogMHgyNDVkM2NlMF1d;1,0,wasd,e3sxOCwgOH0gLS1bW3RhYmxlOiAweDI0NDZhYmM4XV19IC0tW1t0YWJsZTogMHgyNDI2MDA4MF1d;0,-1,wasd,e3sxOCwgOH0gLS1bW3RhYmxlOiAweDI0NDYyZjkwXV19IC0tW1t0YWJsZTogMHgyNDQ2MmY2OF1d;0,-1,wasd,e3sxOCwgOX0gLS1bW3RhYmxlOiAweDI0NWY3Y2QwXV19IC0tW1t0YWJsZTogMHgyNDUwZjY1MF1d;0,0,space,e3sxOCwgOH0gLS1bW3RhYmxlOiAweDI0NzE3ZTYwXV19IC0tW1t0YWJsZTogMHgyNDEwYjVjOF1d;0,-1,wasd,e3sxOCwgOH0gLS1bW3RhYmxlOiAweDI0NWQ2ZmEwXV19IC0tW1t0YWJsZTogMHgyNDUzYTIwMF1d;0,0,space,e3sxOCwgN30gLS1bW3RhYmxlOiAweDI0MTExYTc4XV19IC0tW1t0YWJsZTogMHgyNDExMWE1MF1d;0,-1,wasd,e3sxOCwgN30gLS1bW3RhYmxlOiAweDI0NDY5MmQwXV19IC0tW1t0YWJsZTogMHgyNDFlODlhOF1d;0,0,undo,e3sxOCwgN30gLS1bW3RhYmxlOiAweDI0NDIzZDMwXV19IC0tW1t0YWJsZTogMHgyNDZjYzNmMF1d;1,0,wasd,e3sxOCwgN30gLS1bW3RhYmxlOiAweDI0NGY3MTc4XV19IC0tW1t0YWJsZTogMHgyM2Y0MzRhMF1d;-1,-1,wasd,e3sxNywgNn0gLS1bW3RhYmxlOiAweDI0NTM3NzM4XV19IC0tW1t0YWJsZTogMHgyNDUzNzcxMF1d;-1,-1,wasd,e3sxNiwgNX0gLS1bW3RhYmxlOiAweDI0MWUyYjM4XV19IC0tW1t0YWJsZTogMHgyNDY1NWVjOF1d;0,-1,wasd,e3sxNiwgNX0gLS1bW3RhYmxlOiAweDI0NDg1NDEwXV19IC0tW1t0YWJsZTogMHgyNDQyN2NlOF1d;-1,0,wasd,e3sxNSwgNX0gLS1bW3RhYmxlOiAweDIzZjg2NDQwXV19IC0tW1t0YWJsZTogMHgyNDcxMWZkMF1d;0,1,wasd,e3sxNSwgNX0gLS1bW3RhYmxlOiAweDI0MGE1MDE4XV19IC0tW1t0YWJsZTogMHgyNDc1MjJmMF1d;0,1,wasd,e3sxNSwgNX0gLS1bW3RhYmxlOiAweDI0MjUyZmM4XV19IC0tW1t0YWJsZTogMHgyNDA5ZjJmMF1d;0,1,wasd,e3sxNSwgNX0gLS1bW3RhYmxlOiAweDI0MjRlN2Y4XV19IC0tW1t0YWJsZTogMHgyNDJjY2YzOF1d;0,1,wasd,e3sxNSwgNX0gLS1bW3RhYmxlOiAweDI0NDczOGY4XV19IC0tW1t0YWJsZTogMHgyNDE2ZmIwMF1d;-1,0,wasd,e3sxNSwgNX0gLS1bW3RhYmxlOiAweDIzZDNkMjM4XV19IC0tW1t0YWJsZTogMHgyNDVmZmM5OF1d;0,-1,wasd,e3sxNSwgNX0gLS1bW3RhYmxlOiAweDI0MGY1ZmE4XV19IC0tW1t0YWJsZTogMHgyNDBmNWY4MF1d;0,-1,wasd,e3sxNSwgNX0gLS1bW3RhYmxlOiAweDI0MjhhZGU4XV19IC0tW1t0YWJsZTogMHgyNDI4YWRjMF1d;0,0,undo,e3sxNSwgNX0gLS1bW3RhYmxlOiAweDIzZjEwMDU4XV19IC0tW1t0YWJsZTogMHgyNDYzOTExOF1d;0,0,undo,e3sxNSwgNX0gLS1bW3RhYmxlOiAweDI0MDFkNmQwXV19IC0tW1t0YWJsZTogMHgyNDUzM2E4MF1d;0,0,undo,e3sxNSwgNX0gLS1bW3RhYmxlOiAweDIzZjBhZDI4XV19IC0tW1t0YWJsZTogMHgyNDRlYWU4MF1d;0,0,undo,e3sxNSwgNX0gLS1bW3RhYmxlOiAweDI0MzFmYWU4XV19IC0tW1t0YWJsZTogMHgyM2U4MjJmMF1d;0,0,undo,e3sxNSwgNX0gLS1bW3RhYmxlOiAweDIzY2JlNjI4XV19IC0tW1t0YWJsZTogMHgyM2ZhOWNhOF1d;0,0,undo,e3sxNSwgNX0gLS1bW3RhYmxlOiAweDI0MzQ0ZjE4XV19IC0tW1t0YWJsZTogMHgyNDM0NGVmMF1d;0,0,undo,e3sxNSwgNX0gLS1bW3RhYmxlOiAweDI0MjllZmUwXV19IC0tW1t0YWJsZTogMHgyNDYxNzMxMF1d;0,0,undo,e3sxNSwgNX0gLS1bW3RhYmxlOiAweDI0NDA3OTE4XV19IC0tW1t0YWJsZTogMHgyNDViZTBlMF1d;0,1,wasd,e3sxNiwgNX0gLS1bW3RhYmxlOiAweDI0NTdiOTcwXV19IC0tW1t0YWJsZTogMHgyNDU3Yjk0OF1d;-1,-1,wasd,e3sxNiwgNX0gLS1bW3RhYmxlOiAweDI0MTMwMWEwXV19IC0tW1t0YWJsZTogMHgyNDEzMDE3OF1d;0,0,undo,e3sxNiwgNX0gLS1bW3RhYmxlOiAweDI0NmZkZGMwXV19IC0tW1t0YWJsZTogMHgyNDMxZmFlOF1d;-1,-1,wasd,e3sxNSwgNX0gLS1bW3RhYmxlOiAweDI0NTU1YmMwXV19IC0tW1t0YWJsZTogMHgyNDU1NWI5OF1d;0,0,undo,e3sxNSwgNX0gLS1bW3RhYmxlOiAweDI0MTJhZmQwXV19IC0tW1t0YWJsZTogMHgyNDJkOTYxOF1d;-1,-1,wasd,e3sxNSwgNH0gLS1bW3RhYmxlOiAweDI0MjdlYTQwXV19IC0tW1t0YWJsZTogMHgyNDczMTljMF1d;0,1,wasd,e3sxNSwgNH0gLS1bW3RhYmxlOiAweDI0NzE0YzQ4XV19IC0tW1t0YWJsZTogMHgyNDVhYTViMF1d;0,1,wasd,e3sxNSwgNH0gLS1bW3RhYmxlOiAweDI0NThkYzYwXV19IC0tW1t0YWJsZTogMHgyNDMzNGE0MF1d;-1,0,wasd,e3sxNSwgNH0gLS1bW3RhYmxlOiAweDI0NTcwNTg4XV19IC0tW1t0YWJsZTogMHgyNDU3MDU2MF1d;0,-1,wasd,e3sxNSwgNH0gLS1bW3RhYmxlOiAweDI0NjQ3ZTY4XV19IC0tW1t0YWJsZTogMHgyNDQwNTYxMF1d;0,-1,wasd,e3sxNSwgNX0gLS1bW3RhYmxlOiAweDI0MmEyODIwXV19IC0tW1t0YWJsZTogMHgyNDQxZTNkOF1d;0,0,space,e3sxNSwgNH0gLS1bW3RhYmxlOiAweDI0NWEwOGI4XV19IC0tW1t0YWJsZTogMHgyNDJkNmY4MF1d;0,-1,wasd,e3sxNSwgNH0gLS1bW3RhYmxlOiAweDI0MGUwOWE4XV19IC0tW1t0YWJsZTogMHgyNDZhZGI3OF1d;0,0,space,e3sxNSwgNH0gLS1bW3RhYmxlOiAweDI0NmMzNmY4XV19IC0tW1t0YWJsZTogMHgyNDc1NTE5MF1d;0,0,space,e3sxNSwgM30gLS1bW3RhYmxlOiAweDI0Njk3MmEwXV19IC0tW1t0YWJsZTogMHgyNDY5NzI3OF1d;0,-1,wasd,e3sxNSwgM30gLS1bW3RhYmxlOiAweDI0NTIyZGQ4XV19IC0tW1t0YWJsZTogMHgyNDUyMmRiMF1d;0,0,space,e3sxNSwgMn0gLS1bW3RhYmxlOiAweDI0Njc4ZDIwXV19IC0tW1t0YWJsZTogMHgyNDY3OGNmOF1d;-1,-1,wasd,e3sxNSwgMn0gLS1bW3RhYmxlOiAweDIzZGRmNWMwXV19IC0tW1t0YWJsZTogMHgyM2RkZjU5OF1d;1,0,wasd,e3sxNSwgMn0gLS1bW3RhYmxlOiAweDI0MGU3MDIwXV19IC0tW1t0YWJsZTogMHgyNDBlNmZmOF1d;1,0,wasd,e3sxNSwgMn0gLS1bW3RhYmxlOiAweDI0NjAwYWI4XV19IC0tW1t0YWJsZTogMHgyNDYwMGE5MF1d;1,0,wasd,e3sxNSwgMn0gLS1bW3RhYmxlOiAweDIzY2QzMzUwXV19IC0tW1t0YWJsZTogMHgyM2NkMzMyOF1d;1,0,wasd,e3sxNSwgMn0gLS1bW3RhYmxlOiAweDI0NGE0OGQwXV19IC0tW1t0YWJsZTogMHgyNDRhNDhhOF1d;1,0,wasd,e3sxNSwgMn0gLS1bW3RhYmxlOiAweDI0NWMyYTMwXV19IC0tW1t0YWJsZTogMHgyNDVjMmEwOF1d;0,0,e,e3sxNSwgMn0gLS1bW3RhYmxlOiAweDI0MjJlNzc4XV19IC0tW1t0YWJsZTogMHgyNDIyZTc1MF1d;1,0,wasd,e3sxNSwgMn0gLS1bW3RhYmxlOiAweDI0MWMyNTAwXV19IC0tW1t0YWJsZTogMHgyNDFjMjRkOF1d;"
  },
  {
    "path": "officialworlds/bab be u/meta+/mous/kirb-assembled bridge 1.bab",
    "content": "{\"width\":13,\"version\":5,\"extra\":false,\"author\":\"oatmealine\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"limon be swiit\",\"is_overworld\":false,\"palette\":\"marshmallow\",\"parent_level\":\"\",\"name\":\"kirb-assembled bridge\",\"map\":\"eJyN2Mtu2zAQBdBfCbJqAS/4lKgG+hZDsV3DqGoFfjQJDP97FV5KFg1HcxcBsjhUlDvU8LHuntpu1bRPy/pyOe3aTf18+jgtu+b0vPio1WK3rvXis/85vm1Wu6atL9fFeneo9XUx4a+bUZtem3l9HrHtsf0evzftSF1P3fxzp9z33M/zP7vD6+iL3hfcm5Q9LecffehWIw89D/O8/23kVc8r7kW0+qqMErGOWMsBoozgRg5wyi2VH6yTA5w+2ssBHvfNanUbUVAZwpZchibiIGe477bdbUAlp7jtmvfm8609jqOMosKE1fRshDdymsOHgQGWChPWCWEOT7ZR+/nGkuNivq+k14At58uU2TBfocxWVF2itWq+LpnV8zXJrKHKAWuFcqS+4yJ+2GDtaNum+XfDQnvNsdBbcyx01xwLvTXHQmedhuEed1abfSZ/u3P8Zn0cIa2SeDqs4aIGtlzUwI6LGthzUQMXXNTAJRU1bBCiTluRIuJK2F3gwdF6xaUMrLmUgQ2XMrDlUgZ2XMrAnkoZthBS/t1225uOi6Kwi0urShkHBGr2w1ZcXSIuFFcXYM3VBdhwdQG2XF2AHVUXWC81GuAQccElB1xyyQEHLjngiksu4lJxyQFrKjlYIyQ3bB+qqC231wB21F4D1lN7DdiC2mvAltReAzZQew3YitprRBsUtdeA1eRZBGeihytg3l+GmZFGCMvgpCOlAcJSmL+PsBTmWFgKcywshTl+vBbm/+XQqdOQr3pqIcphdut45KkUe6BPXstH+ru/YKhzfcKWPpjCO3km3M6DGOK5uQBccHMBuOTmAnDg5gJwRcyFaS5aKWEqDM/H0VQRFwK/fkwHEFcC40ebhpDXAkkLFwN3WrgXuNPknUDS0q1ADOfndET4Jvzry2FzOh/2T8uXzX79HyjAbpY=\"}"
  },
  {
    "path": "officialworlds/bab be u/meta+/mous/kirb-assembled bridge 1.replay",
    "content": "1,0,wasd,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDcxZmI1MDBdXX0gLS1bW3RhYmxlOiAweDA3MWZiNGQ4XV0=;1,0,wasd,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDczNmQ3MzBdXX0gLS1bW3RhYmxlOiAweDA3MzZkNzA4XV0=;0,1,wasd,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDc1NzVjYjBdXX0gLS1bW3RhYmxlOiAweDA3NTc1Yzg4XV0=;1,0,wasd,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDdiNWI3YzBdXX0gLS1bW3RhYmxlOiAweDA3ODQ3OWUwXV0=;0,-1,wasd,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDcxMmE2YzhdXX0gLS1bW3RhYmxlOiAweDA3NTc1YTUwXV0=;1,0,wasd,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDc5ODllNjhdXX0gLS1bW3RhYmxlOiAweDA3OTg5ZTQwXV0=;0,-1,wasd,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDcwM2Y0MjhdXX0gLS1bW3RhYmxlOiAweDA3YzI2NTYwXV0=;0,-1,wasd,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDcxYjk3ZDBdXX0gLS1bW3RhYmxlOiAweDA3MWI5N2E4XV0=;-1,0,wasd,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDZmOTdmNzhdXX0gLS1bW3RhYmxlOiAweDA2Zjk3ZjUwXV0=;-1,0,wasd,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDdiZDA4OTBdXX0gLS1bW3RhYmxlOiAweDA3YmQwODY4XV0=;-1,0,wasd,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDczOTkzNDBdXX0gLS1bW3RhYmxlOiAweDA3MjhmM2M4XV0=;-1,0,wasd,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDdjMWRmOThdXX0gLS1bW3RhYmxlOiAweDA3NWY3OTMwXV0=;-1,0,wasd,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDZlZGNmZDBdXX0gLS1bW3RhYmxlOiAweDA2ZWRjZmE4XV0=;-1,0,wasd,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDdjODUzZjBdXX0gLS1bW3RhYmxlOiAweDA3Yzg1M2M4XV0=;1,0,wasd,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDc1OGQ1MTBdXX0gLS1bW3RhYmxlOiAweDA3NmYyZjMwXV0=;1,0,wasd,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDZlZWI5NThdXX0gLS1bW3RhYmxlOiAweDA3NWVhZTI4XV0=;1,0,wasd,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDZmNzQ4ZjhdXX0gLS1bW3RhYmxlOiAweDA2Zjc0OGQwXV0=;1,0,wasd,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDc2MDVhZDhdXX0gLS1bW3RhYmxlOiAweDA3YTM3NGUwXV0=;1,0,wasd,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDc0M2ZjNTBdXX0gLS1bW3RhYmxlOiAweDA3NDNmYzI4XV0=;0,1,wasd,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDc4NDc4MThdXX0gLS1bW3RhYmxlOiAweDA3ODQ3N2YwXV0=;0,1,wasd,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDc1NjMxNThdXX0gLS1bW3RhYmxlOiAweDA3NTYzMTMwXV0=;1,0,wasd,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDczZWM2MjBdXX0gLS1bW3RhYmxlOiAweDA3YTdlZTM4XV0=;0,1,wasd,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDczYWYwZDhdXX0gLS1bW3RhYmxlOiAweDA3M2FmMGIwXV0=;-1,0,wasd,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDc1ZWNiZDBdXX0gLS1bW3RhYmxlOiAweDA3NWVjYmE4XV0=;-1,0,wasd,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDczY2FkZjhdXX0gLS1bW3RhYmxlOiAweDA3M2NhZGQwXV0=;-1,0,wasd,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDdiMjFmZThdXX0gLS1bW3RhYmxlOiAweDA3NDYwYzgwXV0=;-1,0,wasd,e3s1LCAzfSAtLVtbdGFibGU6IDB4MDdiNGZmYjhdXX0gLS1bW3RhYmxlOiAweDA3ZDk5ZGYwXV0=;-1,0,wasd,e3s0LCAzfSAtLVtbdGFibGU6IDB4MDc3ODYzYzhdXX0gLS1bW3RhYmxlOiAweDA3Nzg2M2EwXV0=;-1,0,wasd,e3s0LCA0fSAtLVtbdGFibGU6IDB4MDZlMzA2NjhdXX0gLS1bW3RhYmxlOiAweDA2ZTMwNjQwXV0=;-1,0,wasd,e3szLCA0fSAtLVtbdGFibGU6IDB4MDc1ODRjMDhdXX0gLS1bW3RhYmxlOiAweDA3NTg0YmUwXV0=;0,0,undo,e3szLCA0fSAtLVtbdGFibGU6IDB4MDc2ZjliZTBdXX0gLS1bW3RhYmxlOiAweDA3MjhmMjAwXV0=;1,0,wasd,e3szLCA0fSAtLVtbdGFibGU6IDB4MDcyMTVhYjBdXX0gLS1bW3RhYmxlOiAweDA3MjE1YTg4XV0=;1,0,wasd,e3szLCA0fSAtLVtbdGFibGU6IDB4MDdhZTY2NzhdXX0gLS1bW3RhYmxlOiAweDA3YWU2NjUwXV0=;1,0,wasd,e3szLCA0fSAtLVtbdGFibGU6IDB4MDZlODdiNjhdXX0gLS1bW3RhYmxlOiAweDA2ZDhlZmI4XV0=;1,0,wasd,e3szLCA0fSAtLVtbdGFibGU6IDB4MDc0NjY5ZjhdXX0gLS1bW3RhYmxlOiAweDA3NDY2OWQwXV0=;0,-1,wasd,e3szLCA0fSAtLVtbdGFibGU6IDB4MDdkOTY4ZDBdXX0gLS1bW3RhYmxlOiAweDA3ZDk2OGE4XV0=;0,-1,wasd,e3szLCA0fSAtLVtbdGFibGU6IDB4MDdkODdhYTBdXX0gLS1bW3RhYmxlOiAweDA3ZDg3YTc4XV0=;1,0,wasd,e3szLCA0fSAtLVtbdGFibGU6IDB4MDc5N2M2ZjBdXX0gLS1bW3RhYmxlOiAweDA3OTdjNmM4XV0=;1,0,wasd,e3szLCA0fSAtLVtbdGFibGU6IDB4MDc4NzU4NzhdXX0gLS1bW3RhYmxlOiAweDA3ODc1ODUwXV0=;0,-1,wasd,e3szLCA0fSAtLVtbdGFibGU6IDB4MDcyNDA1MTBdXX0gLS1bW3RhYmxlOiAweDA3MjQwNGU4XV0=;1,0,wasd,e3szLCA0fSAtLVtbdGFibGU6IDB4MDc4Y2NkOTBdXX0gLS1bW3RhYmxlOiAweDA3OGNjZDY4XV0=;1,0,wasd,e3szLCA0fSAtLVtbdGFibGU6IDB4MDcwMmJjMDBdXX0gLS1bW3RhYmxlOiAweDA3MDJiYmQ4XV0=;0,1,wasd,e3szLCA0fSAtLVtbdGFibGU6IDB4MDcyZTk4OTBdXX0gLS1bW3RhYmxlOiAweDA3MmU5ODY4XV0=;-1,0,wasd,e3szLCA0fSAtLVtbdGFibGU6IDB4MDc5YWJlMjBdXX0gLS1bW3RhYmxlOiAweDA3OWFiZGY4XV0=;-1,0,wasd,e3szLCA0fSAtLVtbdGFibGU6IDB4MDcyMDBkYzBdXX0gLS1bW3RhYmxlOiAweDA3MjAwZDk4XV0=;1,0,wasd,e3szLCA0fSAtLVtbdGFibGU6IDB4MDc4ZTFjNTBdXX0gLS1bW3RhYmxlOiAweDA3OGUxYzI4XV0=;1,0,wasd,e3szLCA0fSAtLVtbdGFibGU6IDB4MDdkYWM5ZDBdXX0gLS1bW3RhYmxlOiAweDA3ZGFjOWE4XV0=;0,1,wasd,e3szLCA0fSAtLVtbdGFibGU6IDB4MDdiZjY3NDBdXX0gLS1bW3RhYmxlOiAweDA3YmY2NzE4XV0=;-1,0,wasd,e3szLCA0fSAtLVtbdGFibGU6IDB4MDczNDdmOThdXX0gLS1bW3RhYmxlOiAweDA3MzQ3ZjcwXV0=;-1,0,wasd,e3szLCA0fSAtLVtbdGFibGU6IDB4MDc4ZWVkZDBdXX0gLS1bW3RhYmxlOiAweDA3OGVlZGE4XV0=;0,1,wasd,e3szLCA0fSAtLVtbdGFibGU6IDB4MDcwNWNiOTBdXX0gLS1bW3RhYmxlOiAweDA3MDVjYjY4XV0=;-1,0,wasd,e3szLCA0fSAtLVtbdGFibGU6IDB4MDc0N2JmYThdXX0gLS1bW3RhYmxlOiAweDA3NDdiZjgwXV0=;-1,0,wasd,e3szLCA0fSAtLVtbdGFibGU6IDB4MDczOGViZjhdXX0gLS1bW3RhYmxlOiAweDA3MzhlYmQwXV0=;-1,0,wasd,e3szLCA0fSAtLVtbdGFibGU6IDB4MDZmNzFjMjhdXX0gLS1bW3RhYmxlOiAweDA3NmM0NDE4XV0=;-1,0,wasd,e3szLCA0fSAtLVtbdGFibGU6IDB4MDcwZDAyMThdXX0gLS1bW3RhYmxlOiAweDA3MGQwMWYwXV0=;-1,0,wasd,e3szLCA0fSAtLVtbdGFibGU6IDB4MDdhMzgyYzBdXX0gLS1bW3RhYmxlOiAweDA3MDk3ZmEwXV0=;-1,0,wasd,e3szLCA0fSAtLVtbdGFibGU6IDB4MDc1ZjEyMDBdXX0gLS1bW3RhYmxlOiAweDA3NWYxMWQ4XV0=;0,-1,wasd,e3szLCA0fSAtLVtbdGFibGU6IDB4MDcyYWVkNThdXX0gLS1bW3RhYmxlOiAweDA3ZDk5MDQ4XV0=;0,-1,wasd,e3szLCA0fSAtLVtbdGFibGU6IDB4MDdkYWQ4YzhdXX0gLS1bW3RhYmxlOiAweDA3MTU5YWU4XV0=;0,-1,wasd,e3szLCA0fSAtLVtbdGFibGU6IDB4MDZmMWQyMTBdXX0gLS1bW3RhYmxlOiAweDA2ZjFkMWU4XV0=;1,0,wasd,e3szLCA0fSAtLVtbdGFibGU6IDB4MDcxOTc4ZjBdXX0gLS1bW3RhYmxlOiAweDA2ZTdhMmYwXV0=;0,1,wasd,e3szLCA0fSAtLVtbdGFibGU6IDB4MDZkZDNkZDhdXX0gLS1bW3RhYmxlOiAweDA3NGJlM2YwXV0=;0,1,wasd,e3szLCA0fSAtLVtbdGFibGU6IDB4MDc3ZmQwMDhdXX0gLS1bW3RhYmxlOiAweDA3N2ZjZmUwXV0=;-1,0,wasd,e3szLCA0fSAtLVtbdGFibGU6IDB4MDc1ZWE4MzhdXX0gLS1bW3RhYmxlOiAweDA3NWVhODEwXV0=;0,1,wasd,e3szLCA0fSAtLVtbdGFibGU6IDB4MDcyY2Q3NDhdXX0gLS1bW3RhYmxlOiAweDA3MmNkNzIwXV0=;1,0,wasd,e3szLCA0fSAtLVtbdGFibGU6IDB4MDcxZmE4YjhdXX0gLS1bW3RhYmxlOiAweDA3MWZhODkwXV0=;1,0,wasd,e3szLCA0fSAtLVtbdGFibGU6IDB4MDZmNzg5MzBdXX0gLS1bW3RhYmxlOiAweDA2Zjc4OTA4XV0=;1,0,wasd,e3szLCA0fSAtLVtbdGFibGU6IDB4MDZmYmEwNzBdXX0gLS1bW3RhYmxlOiAweDA2ZmJhMDQ4XV0=;1,0,wasd,e3szLCA0fSAtLVtbdGFibGU6IDB4MDdjMWZiYjBdXX0gLS1bW3RhYmxlOiAweDA2ZTcwZjUwXV0=;0,-1,wasd,e3s0LCA5fSAtLVtbdGFibGU6IDB4MDcwNDE3ODBdXSwgezQsIDZ9IC0tW1t0YWJsZTogMHgwNmYzNmIzOF1dLCB7NCwgN30gLS1bW3RhYmxlOiAweDA2ZjM2Yjc4XV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDZmMzZiYjhdXSwgezQsIDh9IC0tW1t0YWJsZTogMHgwNmYzNmJmOF1dfSAtLVtbdGFibGU6IDB4MDcwNDE3NThdXQ==;0,-1,wasd,e3s0LCA5fSAtLVtbdGFibGU6IDB4MDdkMGU0MDhdXSwgezQsIDZ9IC0tW1t0YWJsZTogMHgwN2QwZTQ2OF1dLCB7NCwgN30gLS1bW3RhYmxlOiAweDA3ZDBlNGE4XV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDdkMGU0ZThdXSwgezQsIDh9IC0tW1t0YWJsZTogMHgwN2QwZTUyOF1dfSAtLVtbdGFibGU6IDB4MDdkMGUzZTBdXQ==;0,-1,wasd,e3s0LCA5fSAtLVtbdGFibGU6IDB4MDdhYTBmZDBdXSwgezQsIDZ9IC0tW1t0YWJsZTogMHgwNzdlMmMzOF1dLCB7NCwgN30gLS1bW3RhYmxlOiAweDA3YjM1MGY4XV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDc1NjMxNDBdXSwgezQsIDh9IC0tW1t0YWJsZTogMHgwN2QzZmYzMF1dfSAtLVtbdGFibGU6IDB4MDc0N2UxZThdXQ==;1,0,wasd,e3s0LCA5fSAtLVtbdGFibGU6IDB4MDcwZDAyYzhdXSwgezQsIDZ9IC0tW1t0YWJsZTogMHgwNzBkMDMyOF1dLCB7NCwgN30gLS1bW3RhYmxlOiAweDA3MGQwMzY4XV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDcwZDAzZDhdXSwgezQsIDh9IC0tW1t0YWJsZTogMHgwNzBkMDQxOF1dfSAtLVtbdGFibGU6IDB4MDcxN2I5NDhdXQ==;1,0,wasd,e3s0LCA5fSAtLVtbdGFibGU6IDB4MDdkMzc0MjhdXSwgezQsIDZ9IC0tW1t0YWJsZTogMHgwN2QzNzQ2OF1dLCB7NCwgN30gLS1bW3RhYmxlOiAweDA3ZDM3NGE4XV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDdkMzc1MThdXSwgezQsIDh9IC0tW1t0YWJsZTogMHgwN2QzNzU1OF1dfSAtLVtbdGFibGU6IDB4MDdkMzc0MDBdXQ==;0,1,wasd,e3s0LCA5fSAtLVtbdGFibGU6IDB4MDcwYTMwOThdXSwgezQsIDZ9IC0tW1t0YWJsZTogMHgwNzdkYTgzOF1dLCB7NCwgN30gLS1bW3RhYmxlOiAweDA3OTUwZjM4XV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDc5NTBmYThdXSwgezQsIDh9IC0tW1t0YWJsZTogMHgwNzk1MGZlOF1dfSAtLVtbdGFibGU6IDB4MDc5NTBlZjBdXQ==;0,1,wasd,e3s0LCA5fSAtLVtbdGFibGU6IDB4MDdjMzA5YjhdXSwgezQsIDZ9IC0tW1t0YWJsZTogMHgwNzE3NTMzOF1dLCB7NCwgN30gLS1bW3RhYmxlOiAweDA3NmQ0ZmYwXV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDcwMTg4MTBdXSwgezQsIDh9IC0tW1t0YWJsZTogMHgwNmZlYjAzMF1dfSAtLVtbdGFibGU6IDB4MDc3NDFjMThdXQ==;-1,0,wasd,e3s0LCA5fSAtLVtbdGFibGU6IDB4MDdiNjJlODBdXSwgezQsIDZ9IC0tW1t0YWJsZTogMHgwN2I2MmVlMF1dLCB7NCwgN30gLS1bW3RhYmxlOiAweDA3YjYyZjIwXV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDdhZGY2MjBdXSwgezQsIDh9IC0tW1t0YWJsZTogMHgwNzYwZGFmMF1dfSAtLVtbdGFibGU6IDB4MDdiNjJlNThdXQ==;-1,0,wasd,e3s0LCA5fSAtLVtbdGFibGU6IDB4MDczNjc5MjhdXSwgezQsIDZ9IC0tW1t0YWJsZTogMHgwNzc4NThiOF1dLCB7NCwgN30gLS1bW3RhYmxlOiAweDA3Nzg1OGY4XV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDc3ODU5NjhdXSwgezQsIDh9IC0tW1t0YWJsZTogMHgwNzc4NTlhOF1dfSAtLVtbdGFibGU6IDB4MDc3ODU4NzBdXQ==;1,0,wasd,e3s0LCA5fSAtLVtbdGFibGU6IDB4MDcwZTcwZThdXSwgezQsIDZ9IC0tW1t0YWJsZTogMHgwNzNlYWNiMF1dLCB7NCwgN30gLS1bW3RhYmxlOiAweDA3M2VhY2YwXV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDczZWFkNjBdXSwgezQsIDh9IC0tW1t0YWJsZTogMHgwNzNlYWRhMF1dfSAtLVtbdGFibGU6IDB4MDczZWFjNjhdXQ==;1,0,wasd,e3s0LCA5fSAtLVtbdGFibGU6IDB4MDc4ZDU3MjhdXSwgezQsIDZ9IC0tW1t0YWJsZTogMHgwNzhkNTc2OF1dLCB7NCwgN30gLS1bW3RhYmxlOiAweDA3OGQ1N2E4XV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDc4ZDU4MThdXSwgezQsIDh9IC0tW1t0YWJsZTogMHgwNzhkNTg1OF1dfSAtLVtbdGFibGU6IDB4MDc4ZDU3MDBdXQ==;0,1,wasd,e3s0LCA5fSAtLVtbdGFibGU6IDB4MDcxNWFiYjBdXSwgezQsIDZ9IC0tW1t0YWJsZTogMHgwNzE1YWMxMF1dLCB7NCwgN30gLS1bW3RhYmxlOiAweDA3MTVhYzUwXV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDcxNWFjYzBdXSwgezQsIDh9IC0tW1t0YWJsZTogMHgwNzE1YWQwMF1dfSAtLVtbdGFibGU6IDB4MDcyOWVjZjhdXQ==;-1,0,wasd,e3s0LCA5fSAtLVtbdGFibGU6IDB4MDZmYjQ1YThdXSwgezQsIDZ9IC0tW1t0YWJsZTogMHgwNmZiNDYwOF1dLCB7NCwgN30gLS1bW3RhYmxlOiAweDA2ZmI0NjQ4XV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDZmYjQ2YjhdXSwgezQsIDh9IC0tW1t0YWJsZTogMHgwNmZiNDZmOF1dfSAtLVtbdGFibGU6IDB4MDZmYjQ1ODBdXQ==;-1,0,wasd,e3s0LCA5fSAtLVtbdGFibGU6IDB4MDc0NTMxNjBdXSwgezQsIDZ9IC0tW1t0YWJsZTogMHgwNzQ1MzFjMF1dLCB7NCwgN30gLS1bW3RhYmxlOiAweDA3NDUzMjAwXV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDc0NTMyNzBdXSwgezQsIDh9IC0tW1t0YWJsZTogMHgwNzQ1MzJiMF1dfSAtLVtbdGFibGU6IDB4MDc0NTMxMzhdXQ==;-1,0,wasd,e3s0LCA5fSAtLVtbdGFibGU6IDB4MDc2MmFhMzBdXSwgezQsIDZ9IC0tW1t0YWJsZTogMHgwN2RjY2FmOF1dLCB7NCwgN30gLS1bW3RhYmxlOiAweDA3ZGNjYjM4XV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDdkY2NiYThdXSwgezQsIDh9IC0tW1t0YWJsZTogMHgwN2RjY2JlOF1dfSAtLVtbdGFibGU6IDB4MDdkY2NhZDBdXQ==;0,1,wasd,e3s0LCA5fSAtLVtbdGFibGU6IDB4MDcwY2JmZDBdXSwgezQsIDZ9IC0tW1t0YWJsZTogMHgwNzQwNzllOF1dLCB7NCwgN30gLS1bW3RhYmxlOiAweDA3NDA3YTI4XV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDcxNzE0ODhdXSwgezQsIDh9IC0tW1t0YWJsZTogMHgwNzQwN2E5OF1dfSAtLVtbdGFibGU6IDB4MDc0MDc5YTBdXQ==;-1,0,wasd,e3s0LCA5fSAtLVtbdGFibGU6IDB4MDc3ZTI0OThdXSwgezQsIDZ9IC0tW1t0YWJsZTogMHgwNzdlMjRmOF1dLCB7NCwgN30gLS1bW3RhYmxlOiAweDA3N2UyNTM4XV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDc3ZTI1YThdXSwgezQsIDh9IC0tW1t0YWJsZTogMHgwNzc3NzE2OF1dfSAtLVtbdGFibGU6IDB4MDc3ZTI0NzBdXQ==;0,-1,wasd,e3s0LCA5fSAtLVtbdGFibGU6IDB4MDdhZWVmNjBdXSwgezQsIDZ9IC0tW1t0YWJsZTogMHgwN2FlZWZjMF1dLCB7NCwgN30gLS1bW3RhYmxlOiAweDA3YWVmMDAwXV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDdhZWYwNzBdXSwgezQsIDh9IC0tW1t0YWJsZTogMHgwN2FlZjBiMF1dfSAtLVtbdGFibGU6IDB4MDdhZWVmMzhdXQ==;0,-1,wasd,e3s0LCA5fSAtLVtbdGFibGU6IDB4MDczNWYyZjhdXSwgezQsIDZ9IC0tW1t0YWJsZTogMHgwNzM1ZjM1OF1dLCB7NCwgN30gLS1bW3RhYmxlOiAweDA3MzVmMzk4XV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDczNWY0MDhdXSwgezQsIDh9IC0tW1t0YWJsZTogMHgwNzM1ZjQ0OF1dfSAtLVtbdGFibGU6IDB4MDc2MGU1ZjhdXQ==;-1,0,wasd,e3s0LCA5fSAtLVtbdGFibGU6IDB4MDc1YjBkMDBdXSwgezQsIDZ9IC0tW1t0YWJsZTogMHgwNzQ0MzNkOF1dLCB7NCwgN30gLS1bW3RhYmxlOiAweDA3NDQzNDE4XV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDc1YjBkNDBdXSwgezQsIDh9IC0tW1t0YWJsZTogMHgwNzQ0MzQ4OF1dfSAtLVtbdGFibGU6IDB4MDc3ODkyNDhdXQ==;0,-1,wasd,e3s0LCA5fSAtLVtbdGFibGU6IDB4MDdkMmJkYzBdXSwgezQsIDZ9IC0tW1t0YWJsZTogMHgwN2QyYmUyMF1dLCB7NCwgN30gLS1bW3RhYmxlOiAweDA3YjM0NzA4XV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDdiMzQ3NDhdXSwgezQsIDh9IC0tW1t0YWJsZTogMHgwN2IzNDc4OF1dfSAtLVtbdGFibGU6IDB4MDdkOGQ5YTBdXQ==;0,-1,wasd,e3s0LCA5fSAtLVtbdGFibGU6IDB4MDdiMzQ4MjBdXSwgezQsIDZ9IC0tW1t0YWJsZTogMHgwN2IzNDg4MF1dLCB7NCwgN30gLS1bW3RhYmxlOiAweDA3YjM0OGMwXV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDdiMzQ5MzBdXSwgezQsIDh9IC0tW1t0YWJsZTogMHgwN2IzNDk3MF1dfSAtLVtbdGFibGU6IDB4MDdiMzQ3ZjhdXQ==;1,0,wasd,e3s0LCA5fSAtLVtbdGFibGU6IDB4MDc3ZWNlZTBdXSwgezQsIDZ9IC0tW1t0YWJsZTogMHgwNzdlY2Y0MF1dLCB7NCwgN30gLS1bW3RhYmxlOiAweDA3N2VjZjgwXV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDc3ZWNmZjBdXSwgezQsIDh9IC0tW1t0YWJsZTogMHgwNzdlZDAzMF1dfSAtLVtbdGFibGU6IDB4MDc3ZWNlYjhdXQ==;1,1,wasd,e3s0LCA5fSAtLVtbdGFibGU6IDB4MDcwOWUzYThdXSwgezQsIDZ9IC0tW1t0YWJsZTogMHgwNzA5ZTNlOF1dLCB7NCwgN30gLS1bW3RhYmxlOiAweDA3MDllNDI4XV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDcwOWU0OThdXSwgezQsIDh9IC0tW1t0YWJsZTogMHgwNzA5ZTRkOF1dfSAtLVtbdGFibGU6IDB4MDcwOWUzODBdXQ==;1,0,wasd,e3s0LCA5fSAtLVtbdGFibGU6IDB4MDc4ZTJiMDBdXSwgezQsIDZ9IC0tW1t0YWJsZTogMHgwNzhlMmI2MF1dLCB7NCwgN30gLS1bW3RhYmxlOiAweDA3OGUyYmEwXV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDc2ODYxYjhdXSwgezQsIDh9IC0tW1t0YWJsZTogMHgwNzY4NjFmOF1dfSAtLVtbdGFibGU6IDB4MDc4ZTJhZDhdXQ==;0,1,wasd,e3s0LCA5fSAtLVtbdGFibGU6IDB4MDc4YjRmNDBdXSwgezQsIDZ9IC0tW1t0YWJsZTogMHgwNzhiNGZhMF1dLCB7NCwgN30gLS1bW3RhYmxlOiAweDA3OGI0ZmUwXV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDc4YjUwNTBdXSwgezQsIDh9IC0tW1t0YWJsZTogMHgwNzhiNTA5MF1dfSAtLVtbdGFibGU6IDB4MDc4YjRmMThdXQ==;1,0,wasd,e30gLS1bW3RhYmxlOiAweDA2ZTM4Njc4XV0=;-1,0,wasd,e30gLS1bW3RhYmxlOiAweDA3MmVlMzk4XV0=;-1,1,wasd,e30gLS1bW3RhYmxlOiAweDA3MjE2MGUwXV0=;-1,1,wasd,e30gLS1bW3RhYmxlOiAweDA3MzA4MWM4XV0=;-1,0,wasd,e30gLS1bW3RhYmxlOiAweDA3OGU2NzI4XV0=;-1,0,wasd,e30gLS1bW3RhYmxlOiAweDA3OGQzMDM4XV0=;0,1,wasd,e30gLS1bW3RhYmxlOiAweDA3NjJiNGQ4XV0=;0,1,wasd,e30gLS1bW3RhYmxlOiAweDA3YjFiZmMwXV0=;0,1,wasd,e30gLS1bW3RhYmxlOiAweDA3Y2M4Yzk4XV0=;0,1,wasd,e30gLS1bW3RhYmxlOiAweDA3YjM0ZWU4XV0=;0,1,wasd,e30gLS1bW3RhYmxlOiAweDA3NTFmZDkwXV0=;0,1,wasd,e30gLS1bW3RhYmxlOiAweDA3YmIyMzg4XV0=;0,1,wasd,e30gLS1bW3RhYmxlOiAweDA3NjFjYzI4XV0=;1,1,wasd,e30gLS1bW3RhYmxlOiAweDA3ODAyNDA4XV0=;1,0,wasd,e30gLS1bW3RhYmxlOiAweDA3NzhmNDU4XV0=;"
  },
  {
    "path": "officialworlds/bab be u/meta+/mous/kirb-assembled bridge 2.bab",
    "content": "{\"width\":13,\"version\":5,\"extra\":true,\"author\":\"oatmealine\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"limon be swiit\",\"is_overworld\":false,\"palette\":\"marshmallow\",\"parent_level\":\"\",\"name\":\"need more kirbs\",\"map\":\"eJyNmN1u4jAQhV8F9WpX4sKO8+dWeRaUBhahzZIqhEKFePcNHifx0DRzLuDqm2DOceaMvW1WdVOV9WpT3G7dod4VL9212zRl97K+Fmp92BZ6/dV/Th+76lDWxe2+3h7aQt/XAf6+G+mop6Nl+jzCpofNz/ClrEc07tF4+bkhnvR4soz/PbTvI5/2fIqtJOvRTNCjOV9HPu/5fJlvm2rEbY9bbCVaPaxRIqwdrGUFyUfCI1nBEDeQgMTGgILBoxNZwBBPIQGJzTABIwfnsoDHZt9MBVaWcN+Ul/Lroz6NVZGClCRW43uRCiJ4MxJvIDGJjQUxhxfOODpZbiscTpe7il8GsdmyTYzNlx1irIV8caxRy74wVi9bwtgIsoNYI9jRfz/g2MGz7dWMbF2WnxMsNFcOC52Vw0Jv5bDQWC9l106w0FZDMeL5tmrYW/KvObt3NnEVQEb614r4aDn4/GqINZg1BMeYNQQnmDUEp5g1BGeYNQTnkDXEWsEaP7ikbgZQwixCDyZ2Nh2/q0ywkI0cFpKRw0I0clgIxkFlgoVYZGLMx+Kkxp+62U/0wz8tzHxDCmWuwkLGODZVmDEEa8wYgiPMGIINZgzBMWYMwQlkDLGp1JkIzh08G4TflSNYSEIOC1HI4EzIQg6LYUjKESykYShGNp+GkxrDvGEdHWPDCcEJNJwQm0LDCbEZNJwQm0PDCbEWGk4cmytoOCFWQ8MJsRF4cqET1GwE8gYzbCNfIeQgHRdpL/kKIQz5goQwDDuerxASMZgQfIGQinw987HIHz80bSqxbsgRRB32uXanJQvfBHgeuAt4+gXsQsDDwJUAWw5wJ8B47E7Aw8CtwOlYVlVQAlwMPJdglwMEayVdDzz/Y620sCmGH6DzrYpkB15/hQVGtoAXxJgHnk5kE8a33peksglja/ElGWaCp3PAhNffYYX9wYT7W7vrzu1xtXnbHbf/AcFuipY=\"}"
  },
  {
    "path": "officialworlds/bab be u/meta+/mous/kirb-assembled bridge 2.replay",
    "content": "0,-1,wasd,e3s5LCAzfSAtLVtbdGFibGU6IDB4MDc0NTNhNjhdXX0gLS1bW3RhYmxlOiAweDA3NDUzYTQwXV0=;0,-1,wasd,e3s5LCAzfSAtLVtbdGFibGU6IDB4MDc3YzYwMzBdXX0gLS1bW3RhYmxlOiAweDA3N2M2MDA4XV0=;1,0,wasd,e3s5LCAzfSAtLVtbdGFibGU6IDB4MDc4YWJmMjhdXX0gLS1bW3RhYmxlOiAweDA3OGFiZjAwXV0=;1,0,wasd,e3s5LCAzfSAtLVtbdGFibGU6IDB4MDZmMzE3MjBdXX0gLS1bW3RhYmxlOiAweDA3ZDg3N2EwXV0=;1,0,wasd,e3s5LCAzfSAtLVtbdGFibGU6IDB4MDZmMTFlNDhdXX0gLS1bW3RhYmxlOiAweDA3OGFiY2M4XV0=;1,0,wasd,e3s5LCAzfSAtLVtbdGFibGU6IDB4MDcyYjIzYThdXX0gLS1bW3RhYmxlOiAweDA3MmIyMzgwXV0=;0,1,wasd,e3s5LCAzfSAtLVtbdGFibGU6IDB4MDdkYjg1MThdXX0gLS1bW3RhYmxlOiAweDA3ZDNjZTM4XV0=;-1,0,wasd,e3s5LCAzfSAtLVtbdGFibGU6IDB4MDZkNmMyODhdXX0gLS1bW3RhYmxlOiAweDA2ZDZjMjYwXV0=;-1,0,wasd,e3s5LCAzfSAtLVtbdGFibGU6IDB4MDcwMzljMzhdXX0gLS1bW3RhYmxlOiAweDA3MDM5YzEwXV0=;0,1,wasd,e3s5LCAzfSAtLVtbdGFibGU6IDB4MDcxNjY2NTBdXX0gLS1bW3RhYmxlOiAweDA3MTY2NjI4XV0=;-1,0,wasd,e3s5LCAzfSAtLVtbdGFibGU6IDB4MDcwMDcwMzhdXX0gLS1bW3RhYmxlOiAweDA3NThhZmUwXV0=;0,-1,wasd,e3s5LCAzfSAtLVtbdGFibGU6IDB4MDZlM2JkMTBdXX0gLS1bW3RhYmxlOiAweDA2ZTNiY2U4XV0=;1,0,wasd,e3s5LCAzfSAtLVtbdGFibGU6IDB4MDZlZTI4ODhdXX0gLS1bW3RhYmxlOiAweDA3ZTVjZWI4XV0=;0,-1,wasd,e3s5LCAzfSAtLVtbdGFibGU6IDB4MDc5OTBjYzBdXX0gLS1bW3RhYmxlOiAweDA3OTkwYzk4XV0=;-1,0,wasd,e3s5LCAzfSAtLVtbdGFibGU6IDB4MDczMTcyYzhdXX0gLS1bW3RhYmxlOiAweDA3MzE3MmEwXV0=;-1,0,wasd,e3s5LCAzfSAtLVtbdGFibGU6IDB4MDc5OGYxYzhdXX0gLS1bW3RhYmxlOiAweDA3OThmMWEwXV0=;-1,0,wasd,e3s5LCAzfSAtLVtbdGFibGU6IDB4MDdkODg2MjhdXX0gLS1bW3RhYmxlOiAweDA3ZDg4NjAwXV0=;-1,0,wasd,e3s5LCAzfSAtLVtbdGFibGU6IDB4MDcwMDcxNDhdXX0gLS1bW3RhYmxlOiAweDA2ZWNlNTk4XV0=;1,0,wasd,e3s5LCAzfSAtLVtbdGFibGU6IDB4MDZkNzZjMzhdXX0gLS1bW3RhYmxlOiAweDA2ZjQyMWE4XV0=;1,0,wasd,e3s5LCAzfSAtLVtbdGFibGU6IDB4MDc1NGM4ZjhdXX0gLS1bW3RhYmxlOiAweDA3NTRjOGQwXV0=;1,0,wasd,e3s5LCAzfSAtLVtbdGFibGU6IDB4MDdhYTU5OTBdXX0gLS1bW3RhYmxlOiAweDA3YWE1OTY4XV0=;1,0,wasd,e3s5LCAzfSAtLVtbdGFibGU6IDB4MDcyNzNkNDhdXX0gLS1bW3RhYmxlOiAweDA3MjczZDIwXV0=;1,0,wasd,e3s5LCAzfSAtLVtbdGFibGU6IDB4MDc1ODRkOThdXX0gLS1bW3RhYmxlOiAweDA3NTg0ZDcwXV0=;0,1,wasd,e3s5LCAzfSAtLVtbdGFibGU6IDB4MDdjODgwZjBdXX0gLS1bW3RhYmxlOiAweDA3Yzg4MGM4XV0=;0,1,wasd,e3s5LCAzfSAtLVtbdGFibGU6IDB4MDczNjM2MjhdXX0gLS1bW3RhYmxlOiAweDA3MzYzNjAwXV0=;-1,0,wasd,e3s5LCAzfSAtLVtbdGFibGU6IDB4MDczMWRiMjhdXX0gLS1bW3RhYmxlOiAweDA3MzFkYjAwXV0=;0,1,wasd,e3s5LCAzfSAtLVtbdGFibGU6IDB4MDZlYmU5YTBdXX0gLS1bW3RhYmxlOiAweDA2ZWJlOTc4XV0=;-1,0,wasd,e3s5LCAzfSAtLVtbdGFibGU6IDB4MDcyNTE0YThdXX0gLS1bW3RhYmxlOiAweDA3MjUxNDgwXV0=;-1,0,wasd,e3s5LCAzfSAtLVtbdGFibGU6IDB4MDc2YzBiNzhdXX0gLS1bW3RhYmxlOiAweDA3MjA0OGI4XV0=;-1,0,wasd,e3s5LCAzfSAtLVtbdGFibGU6IDB4MDZmNTlhNTBdXX0gLS1bW3RhYmxlOiAweDA3YmZjZmMwXV0=;0,1,wasd,e3s5LCAzfSAtLVtbdGFibGU6IDB4MDdjNzE1NThdXX0gLS1bW3RhYmxlOiAweDA3ODc0NGU4XV0=;0,0,undo,e3s5LCAzfSAtLVtbdGFibGU6IDB4MDc2YzRjZTBdXX0gLS1bW3RhYmxlOiAweDA3NmM0Y2I4XV0=;0,0,undo,e3s5LCAzfSAtLVtbdGFibGU6IDB4MDcyYTdhMThdXX0gLS1bW3RhYmxlOiAweDA3YWFhYWYwXV0=;0,0,undo,e3s5LCAzfSAtLVtbdGFibGU6IDB4MDc3ZmMyYzhdXX0gLS1bW3RhYmxlOiAweDA3NDBkNDI4XV0=;0,1,wasd,e3s5LCAzfSAtLVtbdGFibGU6IDB4MDZlYTA1MTBdXX0gLS1bW3RhYmxlOiAweDA2ZWEwNGU4XV0=;-1,0,wasd,e3s5LCAzfSAtLVtbdGFibGU6IDB4MDc2ZDhhMTBdXX0gLS1bW3RhYmxlOiAweDA3NWQ0NGY4XV0=;-1,0,wasd,e3s5LCAzfSAtLVtbdGFibGU6IDB4MDcxZmVjYjhdXX0gLS1bW3RhYmxlOiAweDA3MWZlYzkwXV0=;0,-1,wasd,e3s5LCAzfSAtLVtbdGFibGU6IDB4MDdiM2ZlMTBdXX0gLS1bW3RhYmxlOiAweDA3YTRiY2YwXV0=;1,0,wasd,e3s5LCAzfSAtLVtbdGFibGU6IDB4MDc2ZTA5MDhdXX0gLS1bW3RhYmxlOiAweDA3NmUwOGUwXV0=;1,0,wasd,e3s5LCAzfSAtLVtbdGFibGU6IDB4MDc0MGY4MThdXX0gLS1bW3RhYmxlOiAweDA3NDBmN2YwXV0=;0,-1,wasd,e3s5LCAzfSAtLVtbdGFibGU6IDB4MDdjMDkyNThdXX0gLS1bW3RhYmxlOiAweDA3NjYxNTM4XV0=;1,0,wasd,e3s5LCAzfSAtLVtbdGFibGU6IDB4MDdkMmJmYzBdXX0gLS1bW3RhYmxlOiAweDA3ZDJiZjk4XV0=;1,0,wasd,e3s5LCAzfSAtLVtbdGFibGU6IDB4MDc0NjFiOTBdXX0gLS1bW3RhYmxlOiAweDA3NDYxYjY4XV0=;1,0,wasd,e3s5LCAzfSAtLVtbdGFibGU6IDB4MDc4NzU5NjhdXX0gLS1bW3RhYmxlOiAweDA3ODc1OTQwXV0=;0,1,wasd,e3s5LCAzfSAtLVtbdGFibGU6IDB4MDcwOTYyMTBdXX0gLS1bW3RhYmxlOiAweDA3MDk2MWU4XV0=;-1,0,wasd,e3s5LCAzfSAtLVtbdGFibGU6IDB4MDcxZDY3ODhdXX0gLS1bW3RhYmxlOiAweDA3MWQ2NzYwXV0=;-1,0,wasd,e3s5LCAzfSAtLVtbdGFibGU6IDB4MDc4ZjBmMDBdXX0gLS1bW3RhYmxlOiAweDA3OGYwZWQ4XV0=;-1,0,wasd,e3s5LCAzfSAtLVtbdGFibGU6IDB4MDZmMGNjMjhdXX0gLS1bW3RhYmxlOiAweDA2ZjBjYzAwXV0=;-1,0,wasd,e3s5LCAzfSAtLVtbdGFibGU6IDB4MDcwOTY1ZjhdXX0gLS1bW3RhYmxlOiAweDA3MDk2NWQwXV0=;-1,0,wasd,e3s3LCA1fSAtLVtbdGFibGU6IDB4MDc5MmZmODhdXX0gLS1bW3RhYmxlOiAweDA3OTJmZjYwXV0=;-1,0,wasd,e3s3LCA1fSAtLVtbdGFibGU6IDB4MDcxNWI1MzBdXX0gLS1bW3RhYmxlOiAweDA3ODQ4ZWY4XV0=;1,0,wasd,e3s3LCA1fSAtLVtbdGFibGU6IDB4MDc3MGE4NDhdXX0gLS1bW3RhYmxlOiAweDA3OGUwMGEwXV0=;1,0,wasd,e3s3LCA1fSAtLVtbdGFibGU6IDB4MDZmMTA1NDhdXX0gLS1bW3RhYmxlOiAweDA2ZjEwNTIwXV0=;1,0,wasd,e3s3LCA1fSAtLVtbdGFibGU6IDB4MDczOWI0MDhdXX0gLS1bW3RhYmxlOiAweDA3MzliM2UwXV0=;1,0,wasd,e3s3LCA1fSAtLVtbdGFibGU6IDB4MDZkZDY1YjBdXX0gLS1bW3RhYmxlOiAweDA2ZGQ2NTg4XV0=;1,0,wasd,e3s3LCA1fSAtLVtbdGFibGU6IDB4MDc3NzkwOThdXX0gLS1bW3RhYmxlOiAweDA3Nzc5MDcwXV0=;0,-1,wasd,e3s3LCA1fSAtLVtbdGFibGU6IDB4MDcyNTA3YzBdXX0gLS1bW3RhYmxlOiAweDA3MjUwNzk4XV0=;0,-1,wasd,e3s3LCA1fSAtLVtbdGFibGU6IDB4MDc2MTNmYTBdXX0gLS1bW3RhYmxlOiAweDA3NDQ3YWIwXV0=;1,0,wasd,e3s3LCA1fSAtLVtbdGFibGU6IDB4MDcwMzUwMzhdXX0gLS1bW3RhYmxlOiAweDA3MmE3OWIwXV0=;1,0,wasd,e3s3LCA1fSAtLVtbdGFibGU6IDB4MDcxNWRjMjhdXX0gLS1bW3RhYmxlOiAweDA3MTVkYzAwXV0=;0,-1,wasd,e3s3LCA1fSAtLVtbdGFibGU6IDB4MDZmYTM2YThdXX0gLS1bW3RhYmxlOiAweDA2ZmEzNjgwXV0=;1,0,wasd,e3s3LCA1fSAtLVtbdGFibGU6IDB4MDZlMDRjYjBdXX0gLS1bW3RhYmxlOiAweDA2ZTA0Yzg4XV0=;1,0,wasd,e3s3LCA1fSAtLVtbdGFibGU6IDB4MDdjMWJhZThdXX0gLS1bW3RhYmxlOiAweDA3YzFiYWMwXV0=;0,0,undo,e3s3LCA1fSAtLVtbdGFibGU6IDB4MDc5OTcwNTBdXX0gLS1bW3RhYmxlOiAweDA3MGQzM2EwXV0=;0,0,undo,e3s3LCA1fSAtLVtbdGFibGU6IDB4MDc1ZWQyZjBdXX0gLS1bW3RhYmxlOiAweDA2ZmQ3NzgwXV0=;0,0,undo,e3s3LCA1fSAtLVtbdGFibGU6IDB4MDdiMTlkZjhdXX0gLS1bW3RhYmxlOiAweDA3OTMxZGU4XV0=;0,-1,wasd,e3s3LCA1fSAtLVtbdGFibGU6IDB4MDdkYmY4ZDhdXX0gLS1bW3RhYmxlOiAweDA3ZGJmOGIwXV0=;1,0,wasd,e3s3LCA1fSAtLVtbdGFibGU6IDB4MDc4YmI3YTBdXX0gLS1bW3RhYmxlOiAweDA3NDI4MjY4XV0=;1,0,wasd,e3s3LCA1fSAtLVtbdGFibGU6IDB4MDdiY2M4ZjhdXX0gLS1bW3RhYmxlOiAweDA3OGRkYWEwXV0=;0,1,wasd,e3s3LCA1fSAtLVtbdGFibGU6IDB4MDcyNzY2ZjBdXX0gLS1bW3RhYmxlOiAweDA3Mjc2NmM4XV0=;-1,0,wasd,e3s3LCA1fSAtLVtbdGFibGU6IDB4MDZkYzQ3ZDBdXX0gLS1bW3RhYmxlOiAweDA2ZGM0N2E4XV0=;-1,0,wasd,e3s3LCA1fSAtLVtbdGFibGU6IDB4MDc3NzQ5MjhdXX0gLS1bW3RhYmxlOiAweDA2ZmJmOWQwXV0=;1,0,wasd,e3s3LCA1fSAtLVtbdGFibGU6IDB4MDc2YWViNjhdXX0gLS1bW3RhYmxlOiAweDA3MGEyZTUwXV0=;1,0,wasd,e3s3LCA1fSAtLVtbdGFibGU6IDB4MDc3YTAyMThdXX0gLS1bW3RhYmxlOiAweDA3N2EwMWYwXV0=;0,1,wasd,e3s3LCA1fSAtLVtbdGFibGU6IDB4MDcxMjRlNjhdXX0gLS1bW3RhYmxlOiAweDA3OGY0MmYwXV0=;-1,0,wasd,e3s3LCA1fSAtLVtbdGFibGU6IDB4MDZlYjFlODBdXX0gLS1bW3RhYmxlOiAweDA3M2RhN2UwXV0=;-1,0,wasd,e3s3LCA1fSAtLVtbdGFibGU6IDB4MDcwNWI2MDhdXX0gLS1bW3RhYmxlOiAweDA3MDViNWUwXV0=;1,0,wasd,e3s3LCA1fSAtLVtbdGFibGU6IDB4MDc4Y2FiNTBdXX0gLS1bW3RhYmxlOiAweDA3YzA0YTE4XV0=;1,0,wasd,e3s3LCA1fSAtLVtbdGFibGU6IDB4MDdkOWZjNjhdXX0gLS1bW3RhYmxlOiAweDA3ZDlmYzQwXV0=;0,1,wasd,e3s3LCA1fSAtLVtbdGFibGU6IDB4MDc1NzcwNzBdXX0gLS1bW3RhYmxlOiAweDA3NTc3MDQ4XV0=;-1,0,wasd,e3s3LCA1fSAtLVtbdGFibGU6IDB4MDc3OGU0ZjhdXX0gLS1bW3RhYmxlOiAweDA3NzhlNGQwXV0=;-1,0,wasd,e3s3LCA1fSAtLVtbdGFibGU6IDB4MDdiNTk5OTBdXX0gLS1bW3RhYmxlOiAweDA3YjU5OTY4XV0=;-1,0,wasd,e3s3LCA1fSAtLVtbdGFibGU6IDB4MDc3ZWI1OTBdXX0gLS1bW3RhYmxlOiAweDA3MGEyOGEwXV0=;-1,0,wasd,e3s3LCA1fSAtLVtbdGFibGU6IDB4MDc4ZjFmNDBdXX0gLS1bW3RhYmxlOiAweDA3YmY3NmI4XV0=;0,-1,wasd,e3s3LCA1fSAtLVtbdGFibGU6IDB4MDdkYjlhZDhdXX0gLS1bW3RhYmxlOiAweDA3OTg0MTEwXV0=;0,-1,wasd,e3s3LCA1fSAtLVtbdGFibGU6IDB4MDc2NWVjOThdXX0gLS1bW3RhYmxlOiAweDA3NjVkNjEwXV0=;0,-1,wasd,e3s3LCA1fSAtLVtbdGFibGU6IDB4MDcyMTc3ZjhdXX0gLS1bW3RhYmxlOiAweDA3MjE3N2QwXV0=;-1,0,wasd,e3s3LCA1fSAtLVtbdGFibGU6IDB4MDc5OWQwOTBdXX0gLS1bW3RhYmxlOiAweDA3OTlkMDY4XV0=;-1,0,wasd,e3s3LCA1fSAtLVtbdGFibGU6IDB4MDc3ZTllMTBdXX0gLS1bW3RhYmxlOiAweDA3NjQ0ODgwXV0=;-1,0,wasd,e3s3LCA1fSAtLVtbdGFibGU6IDB4MDc4MGFkMjhdXX0gLS1bW3RhYmxlOiAweDA3NDE1OTcwXV0=;-1,0,wasd,e3s3LCA1fSAtLVtbdGFibGU6IDB4MDZlNzA5YjBdXX0gLS1bW3RhYmxlOiAweDA2ZTcwOTg4XV0=;0,1,wasd,e3s3LCA1fSAtLVtbdGFibGU6IDB4MDZlYWE0NjhdXX0gLS1bW3RhYmxlOiAweDA2ZWFhNDQwXV0=;1,0,wasd,e3s3LCA1fSAtLVtbdGFibGU6IDB4MDc1ZDFkNzhdXX0gLS1bW3RhYmxlOiAweDA3NWQxZDUwXV0=;1,0,wasd,e3s3LCA1fSAtLVtbdGFibGU6IDB4MDdkOWNiNzBdXX0gLS1bW3RhYmxlOiAweDA3OTc4MzU4XV0=;1,0,wasd,e3s3LCA1fSAtLVtbdGFibGU6IDB4MDcwNzc1ZjBdXX0gLS1bW3RhYmxlOiAweDA3ZDk2OWQwXV0=;0,-1,wasd,e3s3LCA1fSAtLVtbdGFibGU6IDB4MDdlNWE4YjhdXX0gLS1bW3RhYmxlOiAweDA3ZDNjYjIwXV0=;1,0,wasd,e3s3LCA1fSAtLVtbdGFibGU6IDB4MDczMWIzNDhdXX0gLS1bW3RhYmxlOiAweDA3MmE4YWI4XV0=;0,1,wasd,e3sxNSwgNX0gLS1bW3RhYmxlOiAweDA2ZWQwYzg4XV19IC0tW1t0YWJsZTogMHgwNmVkMGM2MF1d;-1,0,wasd,e3sxNSwgNX0gLS1bW3RhYmxlOiAweDA3YmVkMzEwXV19IC0tW1t0YWJsZTogMHgwN2JlZDJlOF1d;1,0,wasd,e3sxNCwgNX0gLS1bW3RhYmxlOiAweDA3ZDk3MzUwXV19IC0tW1t0YWJsZTogMHgwN2Q5NzMyOF1d;0,1,wasd,e3sxNCwgNX0gLS1bW3RhYmxlOiAweDA3MzkwOGQwXV19IC0tW1t0YWJsZTogMHgwNzM0MTk5MF1d;-1,0,wasd,e3sxNCwgNX0gLS1bW3RhYmxlOiAweDA3NWVhYjc4XV19IC0tW1t0YWJsZTogMHgwN2MyZTE2OF1d;0,1,wasd,e3sxNCwgNX0gLS1bW3RhYmxlOiAweDA3OTlhOTEwXV19IC0tW1t0YWJsZTogMHgwNmVkOWMwMF1d;1,0,wasd,e3sxNCwgNX0gLS1bW3RhYmxlOiAweDA3Yzg1N2YwXV19IC0tW1t0YWJsZTogMHgwN2M4NTdjOF1d;0,0,undo,e3sxNCwgNX0gLS1bW3RhYmxlOiAweDA2ZjNhMTk4XV19IC0tW1t0YWJsZTogMHgwN2Q5NjlkMF1d;0,0,undo,e3sxNCwgNX0gLS1bW3RhYmxlOiAweDA3M2RiMGI4XV19IC0tW1t0YWJsZTogMHgwNzNkYWY0OF1d;-1,1,wasd,e3sxNCwgNX0gLS1bW3RhYmxlOiAweDA3Nzg0NGQ4XV19IC0tW1t0YWJsZTogMHgwNmY4YTRlMF1d;0,1,wasd,e3sxNCwgNX0gLS1bW3RhYmxlOiAweDA3NjU4YWI4XV19IC0tW1t0YWJsZTogMHgwNzY1OGE5MF1d;1,0,wasd,e3sxNCwgNX0gLS1bW3RhYmxlOiAweDA3MjE3ZWQwXV19IC0tW1t0YWJsZTogMHgwNzFkYjdiMF1d;0,-1,wasd,e3sxNCwgNX0gLS1bW3RhYmxlOiAweDA3MjcyYzc4XV19IC0tW1t0YWJsZTogMHgwNzI3MmM1MF1d;1,0,wasd,e3sxNCwgNX0gLS1bW3RhYmxlOiAweDA3NGRiNjkwXV19IC0tW1t0YWJsZTogMHgwNzRkYjY2OF1d;0,-1,wasd,e3sxNSwgMTB9IC0tW1t0YWJsZTogMHgwNzg3YTkxOF1dLCB7NCwgOH0gLS1bW3RhYmxlOiAweDA3ODdhOTc4XV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDc4N2E5YjhdXSwgezQsIDd9IC0tW1t0YWJsZTogMHgwNzg3YWEyOF1dLCB7NCwgNn0gLS1bW3RhYmxlOiAweDA3ODdhYTY4XV19IC0tW1t0YWJsZTogMHgwNzBjYjViOF1d;0,-1,wasd,e3sxNSwgMTB9IC0tW1t0YWJsZTogMHgwNzk2NDZlOF1dLCB7NCwgOH0gLS1bW3RhYmxlOiAweDA3OTY0NzQ4XV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDc5NjQ3ODhdXSwgezQsIDd9IC0tW1t0YWJsZTogMHgwNzk2NDdjOF1dLCB7NCwgNn0gLS1bW3RhYmxlOiAweDA3OTY0ODA4XV19IC0tW1t0YWJsZTogMHgwNzFmYjg0OF1d;0,-1,wasd,e3sxNSwgMTB9IC0tW1t0YWJsZTogMHgwNzlkMDI5MF1dLCB7NCwgOH0gLS1bW3RhYmxlOiAweDA3NjRmMTYwXV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDc2NGYxYTBdXSwgezQsIDd9IC0tW1t0YWJsZTogMHgwNzY0ZjFlMF1dLCB7NCwgNn0gLS1bW3RhYmxlOiAweDA3NjRmMjIwXV19IC0tW1t0YWJsZTogMHgwNzlkMDI2OF1d;0,-1,wasd,e3sxNSwgMTB9IC0tW1t0YWJsZTogMHgwNzhlNTUxMF1dLCB7NCwgOH0gLS1bW3RhYmxlOiAweDA3OGU1NTcwXV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDc4ZTU1YjBdXSwgezQsIDd9IC0tW1t0YWJsZTogMHgwNzhlNTYyMF1dLCB7NCwgNn0gLS1bW3RhYmxlOiAweDA3OGU1NjYwXV19IC0tW1t0YWJsZTogMHgwNzhlNTRlOF1d;1,0,wasd,e3sxNSwgMTB9IC0tW1t0YWJsZTogMHgwNzA1MjZjOF1dLCB7NCwgOH0gLS1bW3RhYmxlOiAweDA3MDUyNzI4XV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDcwNTI3NjhdXSwgezQsIDd9IC0tW1t0YWJsZTogMHgwNzA1MjdkOF1dLCB7NCwgNn0gLS1bW3RhYmxlOiAweDA3MDUyODE4XV19IC0tW1t0YWJsZTogMHgwNzA1MjZhMF1d;1,0,wasd,e3sxNSwgMTB9IC0tW1t0YWJsZTogMHgwNzNmYWU3OF1dLCB7NCwgOH0gLS1bW3RhYmxlOiAweDA3ZDI3MzU4XV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDdiODk1MjhdXSwgezQsIDd9IC0tW1t0YWJsZTogMHgwN2E5ZjNhOF1dLCB7NCwgNn0gLS1bW3RhYmxlOiAweDA2ZjI0ZmQwXV19IC0tW1t0YWJsZTogMHgwNzIxMzgyMF1d;1,0,wasd,e3sxNSwgMTB9IC0tW1t0YWJsZTogMHgwNzc2M2MzOF1dLCB7NCwgOH0gLS1bW3RhYmxlOiAweDA3NzYzYzc4XV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDc3NjNjYjhdXSwgezQsIDd9IC0tW1t0YWJsZTogMHgwNzc2M2QyOF1dLCB7NCwgNn0gLS1bW3RhYmxlOiAweDA3NzYzZDY4XV19IC0tW1t0YWJsZTogMHgwNzc2M2MxMF1d;0,1,wasd,e3sxNSwgMTB9IC0tW1t0YWJsZTogMHgwNzZiOTRhOF1dLCB7NCwgOH0gLS1bW3RhYmxlOiAweDA3NmI5NTA4XV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDZmMjdlODhdXSwgezQsIDd9IC0tW1t0YWJsZTogMHgwNmYyN2VjOF1dLCB7NCwgNn0gLS1bW3RhYmxlOiAweDA2ZjI3ZjA4XV19IC0tW1t0YWJsZTogMHgwNzI1MzZhOF1d;0,1,wasd,e3sxNSwgMTB9IC0tW1t0YWJsZTogMHgwN2NmYmVmOF1dLCB7NCwgOH0gLS1bW3RhYmxlOiAweDA3Y2ZiZjM4XV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDdjZmJmNzhdXSwgezQsIDd9IC0tW1t0YWJsZTogMHgwN2NmYmZlOF1dLCB7NCwgNn0gLS1bW3RhYmxlOiAweDA3Y2ZjMDI4XV19IC0tW1t0YWJsZTogMHgwN2NmYmVkMF1d;0,1,wasd,e3sxNSwgMTB9IC0tW1t0YWJsZTogMHgwNzJlMjFlOF1dLCB7NCwgOH0gLS1bW3RhYmxlOiAweDA3MmUyMjI4XV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDcyZTIyNjhdXSwgezQsIDd9IC0tW1t0YWJsZTogMHgwNzJlMjJkOF1dLCB7NCwgNn0gLS1bW3RhYmxlOiAweDA3MmUyMzE4XV19IC0tW1t0YWJsZTogMHgwNzJlMjFjMF1d;0,1,wasd,e3sxNSwgMTB9IC0tW1t0YWJsZTogMHgwNzg1N2ZiOF1dLCB7NCwgOH0gLS1bW3RhYmxlOiAweDA3ODU3ZmY4XV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDc4NTgwMzhdXSwgezQsIDd9IC0tW1t0YWJsZTogMHgwNzg1ODBhOF1dLCB7NCwgNn0gLS1bW3RhYmxlOiAweDA3ODU4MGU4XV19IC0tW1t0YWJsZTogMHgwNzg1N2Y5MF1d;-1,0,wasd,e3sxNSwgMTB9IC0tW1t0YWJsZTogMHgwN2QzMGI0OF1dLCB7NCwgOH0gLS1bW3RhYmxlOiAweDA3ZDMwYmE4XV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDdhNzAxNzBdXSwgezQsIDd9IC0tW1t0YWJsZTogMHgwNzMzMGJhMF1dLCB7NCwgNn0gLS1bW3RhYmxlOiAweDA3ZDMwYzE4XV19IC0tW1t0YWJsZTogMHgwN2QzMGIyMF1d;-1,0,wasd,e3sxNSwgMTB9IC0tW1t0YWJsZTogMHgwNmRhODUxMF1dLCB7NCwgOH0gLS1bW3RhYmxlOiAweDA2ZGE4NTcwXV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDZkYTg1YjBdXSwgezQsIDd9IC0tW1t0YWJsZTogMHgwNzQxMmU4OF1dLCB7NCwgNn0gLS1bW3RhYmxlOiAweDA3NDEyZWM4XV19IC0tW1t0YWJsZTogMHgwNmRhODRlOF1d;-1,0,wasd,e3sxNSwgMTB9IC0tW1t0YWJsZTogMHgwNmZiNWY3OF1dLCB7NCwgOH0gLS1bW3RhYmxlOiAweDA2ZmI1ZmQ4XV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDZmYjYwMThdXSwgezQsIDd9IC0tW1t0YWJsZTogMHgwNmZiNjA4OF1dLCB7NCwgNn0gLS1bW3RhYmxlOiAweDA2ZmI2MGM4XV19IC0tW1t0YWJsZTogMHgwNmZiNWY1MF1d;-1,0,wasd,e3sxNSwgMTB9IC0tW1t0YWJsZTogMHgwNzYxZmE2MF1dLCB7NCwgOH0gLS1bW3RhYmxlOiAweDA3NjFmYWMwXV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDc2MWZiMDBdXSwgezQsIDd9IC0tW1t0YWJsZTogMHgwNzYxZmI3MF1dLCB7NCwgNn0gLS1bW3RhYmxlOiAweDA3NjFmYmIwXV19IC0tW1t0YWJsZTogMHgwNzYxZmEzOF1d;-1,0,wasd,e3sxNSwgMTB9IC0tW1t0YWJsZTogMHgwNzE2MGNhMF1dLCB7NCwgOH0gLS1bW3RhYmxlOiAweDA3MTYwZDAwXV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDcxNjBkNDBdXSwgezQsIDd9IC0tW1t0YWJsZTogMHgwNzE2MGRiMF1dLCB7NCwgNn0gLS1bW3RhYmxlOiAweDA3MTYwZGYwXV19IC0tW1t0YWJsZTogMHgwNzE2MGM3OF1d;-1,0,wasd,e3sxNSwgMTB9IC0tW1t0YWJsZTogMHgwN2M4OGU3OF1dLCB7NCwgOH0gLS1bW3RhYmxlOiAweDA3Yzg4ZWQ4XV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDdjODhmMThdXSwgezQsIDd9IC0tW1t0YWJsZTogMHgwN2M4OGY4OF1dLCB7NCwgNn0gLS1bW3RhYmxlOiAweDA3Yzg4ZmM4XV19IC0tW1t0YWJsZTogMHgwN2M4OGU1MF1d;0,1,wasd,e3sxNSwgMTB9IC0tW1t0YWJsZTogMHgwNzAxMTVhOF1dLCB7NCwgOH0gLS1bW3RhYmxlOiAweDA3MDExNjA4XV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDcwMTE2NDhdXSwgezQsIDd9IC0tW1t0YWJsZTogMHgwNzAxMTZiOF1dLCB7NCwgNn0gLS1bW3RhYmxlOiAweDA3MDExNmY4XV19IC0tW1t0YWJsZTogMHgwNzAxMTU4MF1d;-1,0,wasd,e3sxNSwgMTB9IC0tW1t0YWJsZTogMHgwNzZmODdiOF1dLCB7NCwgOH0gLS1bW3RhYmxlOiAweDA3NmY4ODE4XV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDc2Zjg4NThdXSwgezQsIDd9IC0tW1t0YWJsZTogMHgwNzZmODhjOF1dLCB7NCwgNn0gLS1bW3RhYmxlOiAweDA3MGI5YWU4XV19IC0tW1t0YWJsZTogMHgwNzZmODc5MF1d;0,-1,wasd,e3sxNSwgMTB9IC0tW1t0YWJsZTogMHgwN2E0Nzc4OF1dLCB7NCwgOH0gLS1bW3RhYmxlOiAweDA3YTQ3N2U4XV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDdhNDc4MjhdXSwgezQsIDd9IC0tW1t0YWJsZTogMHgwN2E0Nzg5OF1dLCB7NCwgNn0gLS1bW3RhYmxlOiAweDA3YTQ3OGQ4XV19IC0tW1t0YWJsZTogMHgwN2E0Nzc2MF1d;0,-1,wasd,e3sxNSwgMTB9IC0tW1t0YWJsZTogMHgwNzU3ODc5OF1dLCB7NCwgOH0gLS1bW3RhYmxlOiAweDA3NTc4N2Y4XV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDcyNGI0ODBdXSwgezQsIDd9IC0tW1t0YWJsZTogMHgwNzI0YjRjMF1dLCB7NCwgNn0gLS1bW3RhYmxlOiAweDA3MjRiNTAwXV19IC0tW1t0YWJsZTogMHgwNzU3ODc3MF1d;0,1,wasd,e3sxNSwgMTB9IC0tW1t0YWJsZTogMHgwNzhjZTcwMF1dLCB7NCwgOH0gLS1bW3RhYmxlOiAweDA3Nzc4NWYwXV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDc3Nzg2MzBdXSwgezQsIDd9IC0tW1t0YWJsZTogMHgwNzhjZTc0MF1dLCB7NCwgNn0gLS1bW3RhYmxlOiAweDA3Nzc4NmEwXV19IC0tW1t0YWJsZTogMHgwNzhjZTZkOF1d;1,0,wasd,e3sxNSwgMTB9IC0tW1t0YWJsZTogMHgwNzE4NmIwOF1dLCB7NCwgOH0gLS1bW3RhYmxlOiAweDA3MTg2YjY4XV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDcxODZiYThdXSwgezQsIDd9IC0tW1t0YWJsZTogMHgwNzE4NmMxOF1dLCB7NCwgNn0gLS1bW3RhYmxlOiAweDA3MTg2YzU4XV19IC0tW1t0YWJsZTogMHgwNzE4NmFlMF1d;1,0,wasd,e3sxNSwgMTB9IC0tW1t0YWJsZTogMHgwNmY1ZmNkOF1dLCB7NCwgOH0gLS1bW3RhYmxlOiAweDA2ZjVmZDE4XV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDZmNWZkNThdXSwgezQsIDd9IC0tW1t0YWJsZTogMHgwNmY1ZmRjOF1dLCB7NCwgNn0gLS1bW3RhYmxlOiAweDA2ZjVmZTA4XV19IC0tW1t0YWJsZTogMHgwNmY1ZmNiMF1d;1,0,wasd,e3sxNSwgMTB9IC0tW1t0YWJsZTogMHgwN2FiMjBmOF1dLCB7NCwgOH0gLS1bW3RhYmxlOiAweDA3YWIyMTM4XV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDdhYjIxNzhdXSwgezQsIDd9IC0tW1t0YWJsZTogMHgwN2FiMjFlOF1dLCB7NCwgNn0gLS1bW3RhYmxlOiAweDA3YWIyMjI4XV19IC0tW1t0YWJsZTogMHgwN2FiMjBkMF1d;1,0,wasd,e3sxNSwgMTB9IC0tW1t0YWJsZTogMHgwNzM2ZDYyOF1dLCB7NCwgOH0gLS1bW3RhYmxlOiAweDA3MzhmMzYwXV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDZlNGNiODhdXSwgezQsIDd9IC0tW1t0YWJsZTogMHgwNzc4YjFmMF1dLCB7NCwgNn0gLS1bW3RhYmxlOiAweDA3NzhiMjMwXV19IC0tW1t0YWJsZTogMHgwNzc4YjE5OF1d;1,0,wasd,e3sxNSwgMTB9IC0tW1t0YWJsZTogMHgwNzkzMWE3OF1dLCB7NCwgOH0gLS1bW3RhYmxlOiAweDA3OTMxYWI4XV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDc5MzFhZjhdXSwgezQsIDd9IC0tW1t0YWJsZTogMHgwNzhkMjMyOF1dLCB7NCwgNn0gLS1bW3RhYmxlOiAweDA3OGQyMzY4XV19IC0tW1t0YWJsZTogMHgwNzkzMWE1MF1d;1,0,wasd,e3sxNSwgMTB9IC0tW1t0YWJsZTogMHgwNzJiOWUzOF1dLCB7NCwgOH0gLS1bW3RhYmxlOiAweDA3MmI5ZTc4XV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDcyYjllYjhdXSwgezQsIDd9IC0tW1t0YWJsZTogMHgwNzJiOWYyOF1dLCB7NCwgNn0gLS1bW3RhYmxlOiAweDA3MmI5ZjY4XV19IC0tW1t0YWJsZTogMHgwNzJiOWUxMF1d;0,-1,wasd,e3sxNSwgMTB9IC0tW1t0YWJsZTogMHgwN2RmYTJlOF1dLCB7NCwgOH0gLS1bW3RhYmxlOiAweDA3ZGZhMzQ4XV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDdkZmEzODhdXSwgezQsIDd9IC0tW1t0YWJsZTogMHgwN2RmYTNmOF1dLCB7NCwgNn0gLS1bW3RhYmxlOiAweDA3ZGZhNDM4XV19IC0tW1t0YWJsZTogMHgwN2RmYTJjMF1d;-1,0,wasd,e3sxNSwgMTB9IC0tW1t0YWJsZTogMHgwN2Q5ODRiOF1dLCB7NCwgOH0gLS1bW3RhYmxlOiAweDA3ZDJiNzYwXV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDcxNzcwMjhdXSwgezQsIDd9IC0tW1t0YWJsZTogMHgwN2QyYjdhMF1dLCB7NCwgNn0gLS1bW3RhYmxlOiAweDA3Mjc5ZTMwXV19IC0tW1t0YWJsZTogMHgwNzVmNDliMF1d;-1,0,wasd,e3sxNSwgMTB9IC0tW1t0YWJsZTogMHgwNzE4Mzg2OF1dLCB7NCwgOH0gLS1bW3RhYmxlOiAweDA3MTgzOGM4XV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDcxODM5MDhdXSwgezQsIDd9IC0tW1t0YWJsZTogMHgwNzE4Mzk3OF1dLCB7NCwgNn0gLS1bW3RhYmxlOiAweDA3MTgzOWI4XV19IC0tW1t0YWJsZTogMHgwNzE4Mzg0MF1d;-1,0,wasd,e3sxNSwgMTB9IC0tW1t0YWJsZTogMHgwNmRkOGZkOF1dLCB7NCwgOH0gLS1bW3RhYmxlOiAweDA2ZGQ5MDM4XV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDZkZDkwNzhdXSwgezQsIDd9IC0tW1t0YWJsZTogMHgwNmRkOTBlOF1dLCB7NCwgNn0gLS1bW3RhYmxlOiAweDA2ZGQ5MTI4XV19IC0tW1t0YWJsZTogMHgwNmRkOGZiMF1d;-1,0,wasd,e3sxNSwgMTB9IC0tW1t0YWJsZTogMHgwNzc3MjMwMF1dLCB7NCwgOH0gLS1bW3RhYmxlOiAweDA3NzcyMzYwXV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDc3NzIzYTBdXSwgezQsIDd9IC0tW1t0YWJsZTogMHgwNzc3MjQxMF1dLCB7NCwgNn0gLS1bW3RhYmxlOiAweDA3NzcyNDUwXV19IC0tW1t0YWJsZTogMHgwNzc3MjJkOF1d;-1,0,wasd,e3sxNSwgMTB9IC0tW1t0YWJsZTogMHgwNmVlZDk3OF1dLCB7NCwgOH0gLS1bW3RhYmxlOiAweDA2ZWVkOWQ4XV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDZlZWRhMThdXSwgezQsIDd9IC0tW1t0YWJsZTogMHgwNmVlZGE4OF1dLCB7NCwgNn0gLS1bW3RhYmxlOiAweDA2ZWVkYWM4XV19IC0tW1t0YWJsZTogMHgwNmVlZDk1MF1d;0,0,undo,e3sxNSwgMTB9IC0tW1t0YWJsZTogMHgwNzFiYjhmOF1dLCB7NCwgOH0gLS1bW3RhYmxlOiAweDA3YTZlZDcwXV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDcyMTg0MDBdXSwgezQsIDd9IC0tW1t0YWJsZTogMHgwNzIxODQ0MF1dLCB7NCwgNn0gLS1bW3RhYmxlOiAweDA3MjE4NDgwXV19IC0tW1t0YWJsZTogMHgwNzIxODNiOF1d;0,0,undo,e3sxNSwgMTB9IC0tW1t0YWJsZTogMHgwNzZjNWIxMF1dLCB7NCwgOH0gLS1bW3RhYmxlOiAweDA3NmM1YjUwXV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDc2YzViOTBdXSwgezQsIDd9IC0tW1t0YWJsZTogMHgwNzY4Mzk4OF1dLCB7NCwgNn0gLS1bW3RhYmxlOiAweDA3YjYwNjk4XV19IC0tW1t0YWJsZTogMHgwNzZjNWFlOF1d;0,1,wasd,e3sxNSwgMTB9IC0tW1t0YWJsZTogMHgwN2RiZTYwMF1dLCB7NCwgOH0gLS1bW3RhYmxlOiAweDA3MDMxMDc4XV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDcwMzEwYjhdXSwgezQsIDd9IC0tW1t0YWJsZTogMHgwNzAzMTEyOF1dLCB7NCwgNn0gLS1bW3RhYmxlOiAweDA3MDMxMTY4XV19IC0tW1t0YWJsZTogMHgwN2RiZTVkOF1d;-1,0,wasd,e3sxNSwgMTB9IC0tW1t0YWJsZTogMHgwNzI0ZmU4OF1dLCB7NCwgOH0gLS1bW3RhYmxlOiAweDA3MjRmZWU4XV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDcyNGZmMjhdXSwgezQsIDd9IC0tW1t0YWJsZTogMHgwNzI0ZmY5OF1dLCB7NCwgNn0gLS1bW3RhYmxlOiAweDA3MjRmZmQ4XV19IC0tW1t0YWJsZTogMHgwNzI0ZmU2MF1d;0,-1,wasd,e3sxNSwgMTB9IC0tW1t0YWJsZTogMHgwNzE3YWZiMF1dLCB7NCwgOH0gLS1bW3RhYmxlOiAweDA3MDM4MDMwXV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDcwMzgwNzBdXSwgezQsIDd9IC0tW1t0YWJsZTogMHgwNzAzODBlMF1dLCB7NCwgNn0gLS1bW3RhYmxlOiAweDA3MDM4MTIwXV19IC0tW1t0YWJsZTogMHgwNzAzN2ZlOF1d;1,0,wasd,e3sxNSwgMTB9IC0tW1t0YWJsZTogMHgwN2QzYTJkOF1dLCB7NCwgOH0gLS1bW3RhYmxlOiAweDA3ZDNhMzM4XV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDdkM2EzNzhdXSwgezQsIDd9IC0tW1t0YWJsZTogMHgwN2QzYTNlOF1dLCB7NCwgNn0gLS1bW3RhYmxlOiAweDA3ZDNhNDI4XV19IC0tW1t0YWJsZTogMHgwN2QzYTJiMF1d;0,-1,wasd,e3sxNSwgMTB9IC0tW1t0YWJsZTogMHgwNzg2YmI5MF1dLCB7NCwgOH0gLS1bW3RhYmxlOiAweDA3ODZiYmYwXV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDc4NmJjMzBdXSwgezQsIDd9IC0tW1t0YWJsZTogMHgwNzg2YmNhMF1dLCB7NCwgNn0gLS1bW3RhYmxlOiAweDA3ODZiY2UwXV19IC0tW1t0YWJsZTogMHgwNzg2YmI2OF1d;-1,0,wasd,e3sxNSwgMTB9IC0tW1t0YWJsZTogMHgwNzhkYmFkOF1dLCB7NCwgOH0gLS1bW3RhYmxlOiAweDA3OGRiYjM4XV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDc4ZGJiNzhdXSwgezQsIDd9IC0tW1t0YWJsZTogMHgwNzk5MzFiOF1dLCB7NCwgNn0gLS1bW3RhYmxlOiAweDA3OTkzMWY4XV19IC0tW1t0YWJsZTogMHgwNzhkYmFiMF1d;0,-1,wasd,e3sxNSwgMTB9IC0tW1t0YWJsZTogMHgwNmQ3MTVhMF1dLCB7NCwgOH0gLS1bW3RhYmxlOiAweDA2ZDcxNTQwXV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDdhZGQwNzBdXSwgezQsIDd9IC0tW1t0YWJsZTogMHgwNmQ3OTQ4OF1dLCB7NCwgNn0gLS1bW3RhYmxlOiAweDA2ZjUxY2U4XV19IC0tW1t0YWJsZTogMHgwN2MyZWE2MF1d;-1,0,wasd,e3sxNSwgMTB9IC0tW1t0YWJsZTogMHgwNzRhZGI5MF1dLCB7NCwgOH0gLS1bW3RhYmxlOiAweDA3NGFkYmYwXV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDc0YWRjMzBdXSwgezQsIDd9IC0tW1t0YWJsZTogMHgwNzRhZGNhMF1dLCB7NCwgNn0gLS1bW3RhYmxlOiAweDA3NGFkY2UwXV19IC0tW1t0YWJsZTogMHgwNzA5MTgyMF1d;-1,0,wasd,e3sxNSwgMTB9IC0tW1t0YWJsZTogMHgwNzMzMDAyOF1dLCB7NCwgOH0gLS1bW3RhYmxlOiAweDA3MzMwMDg4XV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDczMzAwYzhdXSwgezQsIDd9IC0tW1t0YWJsZTogMHgwNzMzMDEzOF1dLCB7NCwgNn0gLS1bW3RhYmxlOiAweDA3MzMwMTc4XV19IC0tW1t0YWJsZTogMHgwNzMzMDAwMF1d;-1,0,wasd,e3sxNSwgMTB9IC0tW1t0YWJsZTogMHgwN2FhOTI4OF1dLCB7NCwgOH0gLS1bW3RhYmxlOiAweDA3YWE5MmU4XV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDdhYTkzMjhdXSwgezQsIDd9IC0tW1t0YWJsZTogMHgwN2FhOTM5OF1dLCB7NCwgNn0gLS1bW3RhYmxlOiAweDA3YWE5M2Q4XV19IC0tW1t0YWJsZTogMHgwN2FhOTI2MF1d;-1,0,wasd,e3sxNSwgMTB9IC0tW1t0YWJsZTogMHgwNzg3MDRkOF1dLCB7NCwgOH0gLS1bW3RhYmxlOiAweDA3ODcwNTM4XV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDc4NzA1NzhdXSwgezQsIDd9IC0tW1t0YWJsZTogMHgwNzg3MDVlOF1dLCB7NCwgNn0gLS1bW3RhYmxlOiAweDA3NWY5ZGI4XV19IC0tW1t0YWJsZTogMHgwNzg3MDRiMF1d;0,1,wasd,e3sxNSwgMTB9IC0tW1t0YWJsZTogMHgwNzEyMzAzMF1dLCB7NCwgOH0gLS1bW3RhYmxlOiAweDA3MTIzMDcwXV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDcxMjMwYjBdXSwgezQsIDd9IC0tW1t0YWJsZTogMHgwNzEyMzEyMF1dLCB7NCwgNn0gLS1bW3RhYmxlOiAweDA3NmJiNTE4XV19IC0tW1t0YWJsZTogMHgwNzBiNmFiMF1d;0,1,wasd,e3sxNSwgMTB9IC0tW1t0YWJsZTogMHgwNzVkMDZjMF1dLCB7NCwgOH0gLS1bW3RhYmxlOiAweDA3NWQwNzIwXV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDc1ZDA3NjBdXSwgezQsIDd9IC0tW1t0YWJsZTogMHgwNzVkMDdkMF1dLCB7NCwgNn0gLS1bW3RhYmxlOiAweDA3NWQwODEwXV19IC0tW1t0YWJsZTogMHgwNzVkMDY5OF1d;1,0,wasd,e3sxNSwgMTB9IC0tW1t0YWJsZTogMHgwNzc4NjJjOF1dLCB7NCwgOH0gLS1bW3RhYmxlOiAweDA3Nzg2MzI4XV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDc3ODYzNjhdXSwgezQsIDd9IC0tW1t0YWJsZTogMHgwNzc4NjNkOF1dLCB7NCwgNn0gLS1bW3RhYmxlOiAweDA3Nzg2NDE4XV19IC0tW1t0YWJsZTogMHgwNzc4NjJhMF1d;1,0,wasd,e3sxNSwgMTB9IC0tW1t0YWJsZTogMHgwNzNhMTcwOF1dLCB7NCwgOH0gLS1bW3RhYmxlOiAweDA3M2ExNzQ4XV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDczYTE3ODhdXSwgezQsIDd9IC0tW1t0YWJsZTogMHgwNzNhMTdmOF1dLCB7NCwgNn0gLS1bW3RhYmxlOiAweDA3M2ExODM4XV19IC0tW1t0YWJsZTogMHgwNzNhMTZlMF1d;1,0,wasd,e3sxNSwgMTB9IC0tW1t0YWJsZTogMHgwNzZkMTkxMF1dLCB7NCwgOH0gLS1bW3RhYmxlOiAweDA3NGIxZDAwXV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDc0YjFkNDBdXSwgezQsIDd9IC0tW1t0YWJsZTogMHgwNzRiMWQ4MF1dLCB7NCwgNn0gLS1bW3RhYmxlOiAweDA3NGIxZGMwXV19IC0tW1t0YWJsZTogMHgwNzRiMWNiOF1d;0,1,wasd,e3sxNSwgMTB9IC0tW1t0YWJsZTogMHgwN2I1NzhiMF1dLCB7NCwgOH0gLS1bW3RhYmxlOiAweDA3YjU3OTEwXV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDdiNTc5NTBdXSwgezQsIDd9IC0tW1t0YWJsZTogMHgwN2I1NzljMF1dLCB7NCwgNn0gLS1bW3RhYmxlOiAweDA3YjU3YTAwXV19IC0tW1t0YWJsZTogMHgwN2I1Nzg4OF1d;1,0,wasd,e3sxNSwgMTB9IC0tW1t0YWJsZTogMHgwNmQ3ZGRkMF1dLCB7NCwgOH0gLS1bW3RhYmxlOiAweDA2ZDdkZTMwXV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDZkN2RlNzBdXSwgezQsIDd9IC0tW1t0YWJsZTogMHgwNmQ3ZGVlMF1dLCB7NCwgNn0gLS1bW3RhYmxlOiAweDA2ZDdkZjIwXV19IC0tW1t0YWJsZTogMHgwNmQ3ZGRhOF1d;0,-1,wasd,e3sxNSwgMTB9IC0tW1t0YWJsZTogMHgwNzAxYTg4MF1dLCB7NCwgOH0gLS1bW3RhYmxlOiAweDA3MDFhOGUwXV0sIHs0LCA1fSAtLVtbdGFibGU6IDB4MDcwMWE5MjBdXSwgezQsIDd9IC0tW1t0YWJsZTogMHgwNzAxYTk5MF1dLCB7NCwgNn0gLS1bW3RhYmxlOiAweDA3MDFhOWQwXV19IC0tW1t0YWJsZTogMHgwNzAxYTg1OF1d;0,0,space,e3sxNSwgMTB9IC0tW1t0YWJsZTogMHgwN2IzOTJkOF1dfSAtLVtbdGFibGU6IDB4MDdiMzkyYjBdXQ==;0,1,wasd,e3sxNSwgMTB9IC0tW1t0YWJsZTogMHgwN2FhY2EwMF1dfSAtLVtbdGFibGU6IDB4MDdhYWM5ZDhdXQ==;1,0,wasd,e3sxNSwgMTB9IC0tW1t0YWJsZTogMHgwNzJlODllOF1dfSAtLVtbdGFibGU6IDB4MDcyZTg5YzBdXQ==;1,0,wasd,e3sxNSwgMTB9IC0tW1t0YWJsZTogMHgwNmYwNmNmOF1dfSAtLVtbdGFibGU6IDB4MDZmMjM4ODBdXQ==;0,-1,wasd,e3sxNSwgMTB9IC0tW1t0YWJsZTogMHgwNzQzY2UzMF1dfSAtLVtbdGFibGU6IDB4MDc0M2NlMDhdXQ==;-1,0,wasd,e3sxNSwgMTB9IC0tW1t0YWJsZTogMHgwNzYwN2MxOF1dfSAtLVtbdGFibGU6IDB4MDc2MDdiZjBdXQ==;0,-1,wasd,e3sxNSwgMTB9IC0tW1t0YWJsZTogMHgwN2QyY2M0MF1dfSAtLVtbdGFibGU6IDB4MDdkMmNjMThdXQ==;0,-1,wasd,e3sxNSwgMTB9IC0tW1t0YWJsZTogMHgwNzVhZmJmMF1dfSAtLVtbdGFibGU6IDB4MDc1YWZiYzhdXQ==;-1,0,wasd,e3sxNSwgMTB9IC0tW1t0YWJsZTogMHgwNzdmYTgyMF1dfSAtLVtbdGFibGU6IDB4MDc3ZmE3ZjhdXQ==;0,1,wasd,e3sxNSwgMTB9IC0tW1t0YWJsZTogMHgwNzRkYTQ3MF1dfSAtLVtbdGFibGU6IDB4MDc0ZGE0NDhdXQ==;1,0,wasd,e3sxNSwgMTB9IC0tW1t0YWJsZTogMHgwN2NmODhhOF1dfSAtLVtbdGFibGU6IDB4MDdjZjg4ODBdXQ==;0,1,wasd,e3s0LCA5fSAtLVtbdGFibGU6IDB4MDdkYTg5ZTBdXX0gLS1bW3RhYmxlOiAweDA3ZGE4OWI4XV0=;0,1,wasd,e3s0LCA5fSAtLVtbdGFibGU6IDB4MDZkYzA3NDBdXX0gLS1bW3RhYmxlOiAweDA2ZGMwNzE4XV0=;0,-1,wasd,e3s0LCA5fSAtLVtbdGFibGU6IDB4MDc4Mzk0MDBdXX0gLS1bW3RhYmxlOiAweDA3ZGMxMDEwXV0=;-1,0,wasd,e3s0LCA5fSAtLVtbdGFibGU6IDB4MDcyYzk2MzBdXX0gLS1bW3RhYmxlOiAweDA3MmM5NjA4XV0=;-1,0,wasd,e3s0LCA5fSAtLVtbdGFibGU6IDB4MDZmYTgzYTBdXX0gLS1bW3RhYmxlOiAweDA2ZmE4Mzc4XV0=;1,0,wasd,e3s0LCA5fSAtLVtbdGFibGU6IDB4MDdhZWJjOTBdXX0gLS1bW3RhYmxlOiAweDA3ZGFkMjQwXV0=;1,0,wasd,e3s0LCA5fSAtLVtbdGFibGU6IDB4MDdiZDFkMjhdXX0gLS1bW3RhYmxlOiAweDA3YmQxZDAwXV0=;0,1,wasd,e3s0LCA5fSAtLVtbdGFibGU6IDB4MDc1ODBjZTBdXX0gLS1bW3RhYmxlOiAweDA3NTgwY2I4XV0=;0,1,wasd,e3s0LCA5fSAtLVtbdGFibGU6IDB4MDdlNWFhNzBdXX0gLS1bW3RhYmxlOiAweDA3ZTVhYTQ4XV0=;-1,0,wasd,e3s0LCA5fSAtLVtbdGFibGU6IDB4MDZmMTA4MzBdXX0gLS1bW3RhYmxlOiAweDA3MTY1YTAwXV0=;0,-1,wasd,e3s0LCA5fSAtLVtbdGFibGU6IDB4MDdkYWE1ZDhdXX0gLS1bW3RhYmxlOiAweDA3NDQ1ODE4XV0=;0,-1,wasd,e3s0LCA5fSAtLVtbdGFibGU6IDB4MDc1MTlkMzhdXX0gLS1bW3RhYmxlOiAweDA3NTE5ZDEwXV0=;0,0,space,e30gLS1bW3RhYmxlOiAweDA3OTdiNGUwXV0=;-1,1,wasd,e30gLS1bW3RhYmxlOiAweDA2ZmVjMzQ4XV0=;-1,1,wasd,e30gLS1bW3RhYmxlOiAweDA3NGRkYmY4XV0=;-1,0,wasd,e30gLS1bW3RhYmxlOiAweDA3NjFiYmY4XV0=;0,1,wasd,e30gLS1bW3RhYmxlOiAweDA2ZTA3MWY4XV0=;0,1,wasd,e30gLS1bW3RhYmxlOiAweDA3NDUzYTM4XV0=;0,1,wasd,e30gLS1bW3RhYmxlOiAweDA3MzcwZGY4XV0=;0,1,wasd,e30gLS1bW3RhYmxlOiAweDA2ZjEyZDA4XV0=;0,1,wasd,e30gLS1bW3RhYmxlOiAweDA2ZTcwMjM4XV0=;0,1,wasd,e30gLS1bW3RhYmxlOiAweDA2ZDc2NzI4XV0=;1,0,wasd,e30gLS1bW3RhYmxlOiAweDA3N2RhMmY4XV0=;0,1,wasd,e30gLS1bW3RhYmxlOiAweDA3OGM5MzQ4XV0=;1,0,wasd,e30gLS1bW3RhYmxlOiAweDA3MzRiOGUwXV0=;0,1,wasd,e30gLS1bW3RhYmxlOiAweDA3MzA4NWEwXV0=;"
  },
  {
    "path": "officialworlds/bab be u/meta+/mous/lvl editor.bab",
    "content": "{\"width\":25,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"redfault\",\"parent_level\":\"\",\"name\":\"lvl editor\",\"map\":\"eJyVmd2OmzAQhV9l1YtWlaI2NmBDV3mSVRWRhESoLKxY0uw2yrsXPOOEnyxz9i6KvmObsc/YHu+qh6LapsXDenU+N3mRrb5sqnpXf1m8rZaLfLdSi/f2x+tLts3TYnW+LHZ5vVKXxV1Yt7BC4aCF9cdw89asm+ytufJhywdo49E83DW+ya60aekQbdrOw13TZdXUabmv6uerKm5VEdpFMg9TF+o2R8uWN2jjSs3To9ioblIt3HgwT3eN/0tPaX3cVTdRN7Ux3EU0T3ddZH+z+l3fJN0EJ3AHdp6mAJXfbktTdbOrYJuoRMC7Hn59v9mqm18FG0urz+HOtTNOHOHdDCvYiLqbW4WYSzk8AvMN0QZMOETb+YwzomMw3xCdgCnE0cESzAZEC4Yd0ahfiQ5A6xEdgj4iOkJdQbhBly3hFl22hMfosiU8EZatSwLpphNotzstheEMskbgJEoYUic5dnjocI0PyTpBML8mT2lxY0Nhy8l7bCRsIH3WCPtBn7Xza3Ew3ljO0QNeSrkMx+7wINiTB02sZE6aEGIFaw7aFYw5GK9gy+s6ShwdQcuCWANFglgLLQtiYygSxCZQJBxrlnIkyupQ3QQKWxeKzokaCgfDARQPhkMoIAwLJ6DhmIWzjztnD1qXEuuQjgX6mK/dYVK5vGqSu3vwYlsVVb06LxfBZfIZTmgxTzIsHXEHMOZKhjFbMgz40l9xWBGBsSfaAHvOV8e7PcrePwBx8Mu8mHRDsnj+3OS/mWDp7tJvORYuLnW17cHgpBIsTOqwZenSMmhZuKwMWwadSjDgVLqYMY8alWjAqEW2b7ZFvv3jZO6QEs8atr9m/Lc4WQLalWBwZgkG7UowaFeCAbuWTY9HzUq0ZFY/FnfYSywWP4JjLH4EJ1j8QqosLLEAMq3kCNK91guku+doNAGQ8PZFdXCaiDQhdNzxdITFnWmDBZ5pi0We6RiLPNOJHHmfmUjhikbIyccQrrDAMK3nA3OdI8bBBMy0kIFHA4/gNWlJIFQDffNMg0ZlGnQq06BVidagVZkGrHqo0lP6/lK89nUaqF3xwDQXEIP5ms5tX9OKBOF8WWdaYtWahBFY4dEB8QasNnnegvUmzwsnpwmfgDUn5l0dCak6eV4w8YQXbDzhBR9PeLTw63nByxPeoBUoL7BoDcoLpFPVRJCgdSgWUGEJmmTaJEP0ycbzd19too/5TzzceAn6duN56PmGa2legz7ieB54xxkkQK9DX3I8DzzmNPlzkfU7idAXHc8DbzqjOZGKUZMugJed0899nZV9EWxw5oG3Hd7HvAIvb3iF8LwzGRNQauTtiwVSrXHcg5GOYl0Xuzo9bPrfYeBnHi/QnxVIx+2JILyb3D7OJa6SdS+5XR75WXrd/ve4frL29w+6cq6fTMK/2//j5N7/ddYc6/Jh/ZiVu/8syC9J\"}"
  },
  {
    "path": "officialworlds/bab be u/meta+/mous/lvl editor.replay",
    "content": "1,0,wasd;0,0,e;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;0,0,e;0,0,e;nil,nil,drag;0,0,e;0,0,e;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;0,0,e;0,0,e;0,0,undo;0,0,undo;0,0,e;0,0,e;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;0,0,e;0,0,e;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;0,0,e;0,0,e;nil,nil,drag;nil,nil,drag;0,0,e;0,0,e;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;0,0,e;0,0,e;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;1,0,wasd;0,0,e;0,0,e;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;0,0,e;0,0,e;0,0,e;0,0,space;0,0,e;nil,nil,drag;0,0,e;0,0,e;0,0,undo;0,0,undo;0,0,e;0,0,e;nil,nil,drag;nil,nil,drag;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,e;nil,nil,drag;0,0,e;0,0,e;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;0,0,e;0,0,e;nil,nil,drag;0,0,e;0,0,e;nil,nil,drag;0,0,e;0,0,e;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;0,0,e;0,0,e;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;0,0,e;0,0,e;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;0,0,e;0,0,e;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,e;0,0,e;0,0,undo;0,0,undo;0,0,undo;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;0,0,e;0,0,e;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;0,0,e;0,0,e;nil,nil,drag;nil,nil,drag;0,0,undo;0,0,undo;0,0,undo;0,0,e;0,0,undo;0,0,undo;nil,nil,drag;nil,nil,drag;0,0,e;0,0,e;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;0,0,e;0,0,e;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;0,0,e;0,0,e;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;nil,nil,drag;0,0,undo;0,0,undo;0,0,undo;nil,nil,drag;0,0,e;0,0,e;nil,nil,drag;nil,nil,drag;nil,nil,drag;0,0,e;0,0,space;0,0,undo;0,0,undo;nil,nil,drag;nil,nil,drag;0,0,e;"
  },
  {
    "path": "officialworlds/bab be u/meta+/mous/massakirb.bab",
    "content": "{\"width\":21,\"next_level_after_win\":\"\",\"extra\":false,\"compression\":\"zlib\",\"author\":\"Patashu\",\"height\":15,\"version\":5,\"map\":\"eJyN2d1O20AQBeBXQVy1UqR6f70uyrOgkKQ0Io0rJxFUiHevvTODd2nxnDsuvgmW56y9O971N8d+uzne3K9fXy+H4359+7w53q5e1s3qsFub1Z/xj/Pv/fawOa5f31a7w7A2b6v/UDtSg1E3UotRP1KH0TBSj9E40oDRdqTxc3p5udw/bB7eeRp5u8zLX+9GntQLMbkVzXIvpp/+1V/Pc4FZ7ki+9P3M7XJXJj7029m75fvNd4Wsh2442QDc8eKyo37HS95Cd9xmm6D0k+2g+GdrGyj/ZA20AMhaaAWQdVBHyHq9I9dZB70hp/6xnwvickumgqfDkNPkc0GrB/u5f5x90pP92F9m3y3f88mfn67H9wLXLN/4OYMhc3hhElcWJreKLNZWskpbK6s0tbJKPys7tbID7dRGo69Hwnk96gsyYz/1z4C32OfuKfHor9ufU0XMFcqr8d8C7AVJVnu00kIgqzxaK6s8VyurPVRLm5SOl7bTOl7g0GgdL7HBOk7YKh1n3GasrUC6CrLaCiyttgJLq6xAeZoS1pZg+cPqEiyxugQLHMElSBhZgrIXSrnCQq9ysg56lZP10EolG6BXOdkIvcrJtlDiyCYocWS75cRJijJuGyxyhM1y5GpsscwRdljmCHssc4QDkLnnbz+G/Wmq6XJNhFJHVtvUHAqrbWhKq21mCpuUfUx5vclAqSNrl1Mn/SbssNgR9ljsCAcsdoSjErtat1juCCcsd4Q7IHfcRENnSuWgKIctwtpetPpl7YhYYQcFj7GHksc4LEdPOsM6YuFj3WLpY52w+LHusPyRNk0DJlC8UTL40VsshsIdEEQ+afPAwmNBZB2wJLKOWBRZt1gWWScsjKw76EHIOk9xkDQyN2AcmVswj8wdGEjmHg0k+4A9FIVHMI/MW2gTuBlyDQ1pwImOaGymwxqc6ojG5jqiscmOaOwIIho7hIhWjiHvEWAOnkSEK2eRjxw8jggHDyTMHXgkEa4dSoQ74hZrEmuHNYm1h86KogPYI+YROi+KbsEWMU9gi5h3YIuI05xHe4Xx3NpTCTKrqysstrJZg2uVNbhWWWMjA9Ha2K7W2NRANLpQmaMLlXhAFypzZHpw3pzoS0qgGmCE97FE2f/KRbEGv5Cw1gZ5tdZGebXGvpCI1sZ5tVYHehWP6kiv5uBQT7g21is/PJhINcpsKH/cuJQFygfMYtPcUoG2DS4+PkhJ1P/H96+5IFEB8AGFL4oLEvAfvuSCjgo+mTq83Q37y3U43dzf7U+7vwGPAL4=\",\"music\":\"gras be mov\",\"is_overworld\":false,\"level_number\":0,\"level_sprite\":\"\",\"name\":\"massakirb\",\"palette\":\"default\"}"
  },
  {
    "path": "officialworlds/bab be u/meta+/mous/massakirb.replay",
    "content": "0,0,space,e3sxMSwgNH0gLS1bW3RhYmxlOiAweDA2ZjJkNDUwXV19IC0tW1t0YWJsZTogMHgwNmYwMTQyOF1d;0,0,space,e3sxMSwgNH0gLS1bW3RhYmxlOiAweDA3MzBmMjEwXV0sIHsxMCwgNH0gLS1bW3RhYmxlOiAweDA3MzBmMjUwXV0sIHsxMSwgM30gLS1bW3RhYmxlOiAweDA3NDVjNjQ4XV19IC0tW1t0YWJsZTogMHgwNzJjYzFmMF1d;0,0,space,e3s5LCAyfSAtLVtbdGFibGU6IDB4MDZmNDRlYzBdXSwgezgsIDJ9IC0tW1t0YWJsZTogMHgwNmY0ZGMxOF1dLCB7OSwgMX0gLS1bW3RhYmxlOiAweDA2ZjQ2ZDcwXV0sIHs4LCAxfSAtLVtbdGFibGU6IDB4MDZmNGM0NDhdXSwgezksIDB9IC0tW1t0YWJsZTogMHgwNmYxOTc0OF1dLCB7NywgMn0gLS1bW3RhYmxlOiAweDA2ZjU3MTY4XV19IC0tW1t0YWJsZTogMHgwNmY1OGQ2MF1d;0,0,space,e3s5LCAyfSAtLVtbdGFibGU6IDB4MDcwYjdiZTBdXSwgezgsIDJ9IC0tW1t0YWJsZTogMHgwNmY3ZTM3MF1dLCB7OSwgMX0gLS1bW3RhYmxlOiAweDA3MDk5YWIwXV0sIHs4LCAxfSAtLVtbdGFibGU6IDB4MDcwYjdjZDBdXSwgezksIDB9IC0tW1t0YWJsZTogMHgwNzBiN2QxMF1dLCB7NywgMn0gLS1bW3RhYmxlOiAweDA3MDk5OTM4XV0sIHsxMCwgMn0gLS1bW3RhYmxlOiAweDA3MDk5OTc4XV0sIHs5LCAzfSAtLVtbdGFibGU6IDB4MDcwOTk5YjhdXX0gLS1bW3RhYmxlOiAweDA2ZjdlMzQ4XV0=;0,0,space,e3sxMSwgMn0gLS1bW3RhYmxlOiAweDA3MmM2NGIwXV0sIHsxMCwgMn0gLS1bW3RhYmxlOiAweDA3MmM2NGYwXV0sIHsxMSwgMX0gLS1bW3RhYmxlOiAweDA3MmM2NTMwXV0sIHsxMCwgMX0gLS1bW3RhYmxlOiAweDA3MmM2NWEwXV0sIHsxMSwgMH0gLS1bW3RhYmxlOiAweDA3MmM2NWUwXV0sIHs5LCAyfSAtLVtbdGFibGU6IDB4MDcyYzY2NzBdXSwgezEyLCAyfSAtLVtbdGFibGU6IDB4MDcyYzY2YjBdXSwgezExLCAzfSAtLVtbdGFibGU6IDB4MDcyYzY2ZjBdXSwgezEzLCAyfSAtLVtbdGFibGU6IDB4MDcyYzY3MzBdXSwgezEyLCAzfSAtLVtbdGFibGU6IDB4MDcyYzY2MjBdXSwgezExLCA0fSAtLVtbdGFibGU6IDB4MDczYjAxODhdXX0gLS1bW3RhYmxlOiAweDA2ZjUwMzM4XV0=;0,0,space,e3sxMiwgMn0gLS1bW3RhYmxlOiAweDA3MzdlODEwXV0sIHsxMSwgMn0gLS1bW3RhYmxlOiAweDA3MzdlODUwXV0sIHsxMiwgMX0gLS1bW3RhYmxlOiAweDA3MzdlODkwXV0sIHsxMSwgMX0gLS1bW3RhYmxlOiAweDA3MzdlOGQwXV0sIHsxMiwgMH0gLS1bW3RhYmxlOiAweDA3MzdlOTEwXV0sIHsxMCwgMn0gLS1bW3RhYmxlOiAweDA3MzdlOWEwXV0sIHsxMywgMn0gLS1bW3RhYmxlOiAweDA3MzdlOWUwXV0sIHsxMiwgM30gLS1bW3RhYmxlOiAweDA3MzdlYTIwXV0sIHsxNCwgMn0gLS1bW3RhYmxlOiAweDA3M2M5ZTQwXV0sIHsxMywgM30gLS1bW3RhYmxlOiAweDA3M2M5ZjEwXV0sIHsxMiwgNH0gLS1bW3RhYmxlOiAweDA3M2M5ZjUwXV0sIHsxMCwgM30gLS1bW3RhYmxlOiAweDA3M2M5ZjkwXV0sIHsxMSwgNH0gLS1bW3RhYmxlOiAweDA3M2M5ZmQwXV0sIHsxMSwgM30gLS1bW3RhYmxlOiAweDA3M2NhMDEwXV19IC0tW1t0YWJsZTogMHgwNzM3ZTdlOF1d;0,0,undo,e3sxMiwgMn0gLS1bW3RhYmxlOiAweDA3MGRiNGUwXV0sIHsxMSwgMn0gLS1bW3RhYmxlOiAweDA3M2NkMTI4XV0sIHsxMiwgMX0gLS1bW3RhYmxlOiAweDA3MDgxMDUwXV0sIHsxMSwgMX0gLS1bW3RhYmxlOiAweDA3M2NkMjE4XV0sIHsxMiwgMH0gLS1bW3RhYmxlOiAweDA3M2NkMjU4XV0sIHsxMCwgMn0gLS1bW3RhYmxlOiAweDA3MDRjNTEwXV0sIHsxMywgMn0gLS1bW3RhYmxlOiAweDA3MDRjZGQ4XV0sIHsxMiwgM30gLS1bW3RhYmxlOiAweDA3MWFkMDQwXV0sIHsxNCwgMn0gLS1bW3RhYmxlOiAweDA3MWFkMDgwXV0sIHsxMywgM30gLS1bW3RhYmxlOiAweDA3MWFkMGMwXV0sIHsxMiwgNH0gLS1bW3RhYmxlOiAweDA3MDRjNGMwXV0sIHsxMCwgM30gLS1bW3RhYmxlOiAweDA3NDA5ODI4XV0sIHsxMSwgNH0gLS1bW3RhYmxlOiAweDA3NDA5ODY4XV0sIHsxMSwgM30gLS1bW3RhYmxlOiAweDA3NDA5OGE4XV19IC0tW1t0YWJsZTogMHgwNzA0YzQ1OF1d;0,0,space,e3sxMiwgMn0gLS1bW3RhYmxlOiAweDA2ZjgxNGIwXV0sIHsxMSwgMn0gLS1bW3RhYmxlOiAweDA2ZjgxNGYwXV0sIHsxMiwgMX0gLS1bW3RhYmxlOiAweDA2ZjgxNTMwXV0sIHsxMSwgMX0gLS1bW3RhYmxlOiAweDA2ZGZmYWI4XV0sIHsxMiwgMH0gLS1bW3RhYmxlOiAweDA2ZGZmYWY4XV0sIHsxMCwgMn0gLS1bW3RhYmxlOiAweDA2ZDU3NzQwXV0sIHsxMywgMn0gLS1bW3RhYmxlOiAweDA2ZDU3NzgwXV0sIHsxMiwgM30gLS1bW3RhYmxlOiAweDA2Zjg3YzE4XV0sIHsxNCwgMn0gLS1bW3RhYmxlOiAweDA2Zjg3YzU4XV0sIHsxMywgM30gLS1bW3RhYmxlOiAweDA2ZjFlY2YwXV0sIHsxMiwgNH0gLS1bW3RhYmxlOiAweDA2ZDU3NmYwXV0sIHsxMCwgM30gLS1bW3RhYmxlOiAweDA2Zjg3Yzk4XV0sIHsxMSwgNH0gLS1bW3RhYmxlOiAweDA2ZWM3ZjY4XV0sIHsxMSwgM30gLS1bW3RhYmxlOiAweDA2ZWM3ZmE4XV19IC0tW1t0YWJsZTogMHgwNmU4MzU3OF1d;0,0,space,e3sxMywgM30gLS1bW3RhYmxlOiAweDA3MmM4ZjQwXV0sIHsxMiwgM30gLS1bW3RhYmxlOiAweDA2ZDZiZjkwXV0sIHsxMywgMn0gLS1bW3RhYmxlOiAweDA3MWNkNzA4XV0sIHsxMiwgMn0gLS1bW3RhYmxlOiAweDA3NGM4NzE4XV0sIHsxMywgMX0gLS1bW3RhYmxlOiAweDA3NGM4NzU4XV0sIHsxMSwgM30gLS1bW3RhYmxlOiAweDA3NGM4N2U4XV0sIHsxNCwgM30gLS1bW3RhYmxlOiAweDA3NGM4ODI4XV0sIHsxMywgNH0gLS1bW3RhYmxlOiAweDA3NGM4ODY4XV0sIHsxNSwgM30gLS1bW3RhYmxlOiAweDA3NGM4OGE4XV0sIHsxNCwgNH0gLS1bW3RhYmxlOiAweDA3NGM4OTc4XV0sIHsxMywgNX0gLS1bW3RhYmxlOiAweDA3NGM4OWI4XV0sIHsxMSwgNH0gLS1bW3RhYmxlOiAweDA3NGM4OWY4XV0sIHsxMiwgNX0gLS1bW3RhYmxlOiAweDA3NGM4YTM4XV0sIHsxMiwgNH0gLS1bW3RhYmxlOiAweDA3NGM4YTc4XV0sIHsxMSwgNX0gLS1bW3RhYmxlOiAweDA3NGM4YWI4XV0sIHsxMCwgM30gLS1bW3RhYmxlOiAweDA3NGM4YWY4XV0sIHsxMCwgNH0gLS1bW3RhYmxlOiAweDA3NGM4YjM4XV19IC0tW1t0YWJsZTogMHgwNzRjODU1OF1d;0,0,undo,e3sxMywgM30gLS1bW3RhYmxlOiAweDA3M2VjYjY4XV0sIHsxMiwgM30gLS1bW3RhYmxlOiAweDA3M2M2ZmMwXV0sIHsxMywgMn0gLS1bW3RhYmxlOiAweDA3M2M3MDAwXV0sIHsxMiwgMn0gLS1bW3RhYmxlOiAweDA3M2M3MDQwXV0sIHsxMywgMX0gLS1bW3RhYmxlOiAweDA3M2M3MDgwXV0sIHsxMSwgM30gLS1bW3RhYmxlOiAweDA3M2M3MTEwXV0sIHsxNCwgM30gLS1bW3RhYmxlOiAweDA3M2M3MTUwXV0sIHsxMywgNH0gLS1bW3RhYmxlOiAweDA3M2M3MTkwXV0sIHsxNSwgM30gLS1bW3RhYmxlOiAweDA3M2M3MWQwXV0sIHsxNCwgNH0gLS1bW3RhYmxlOiAweDA3M2M3MmEwXV0sIHsxMywgNX0gLS1bW3RhYmxlOiAweDA3M2M3MmUwXV0sIHsxMSwgNH0gLS1bW3RhYmxlOiAweDA3M2M3MzIwXV0sIHsxMiwgNX0gLS1bW3RhYmxlOiAweDA3M2M3MzYwXV0sIHsxMiwgNH0gLS1bW3RhYmxlOiAweDA3M2M3M2EwXV0sIHsxMSwgNX0gLS1bW3RhYmxlOiAweDA3M2M3M2UwXV0sIHsxMCwgM30gLS1bW3RhYmxlOiAweDA3M2M3NDIwXV0sIHsxMCwgNH0gLS1bW3RhYmxlOiAweDA3M2M3NDYwXV19IC0tW1t0YWJsZTogMHgwNzNjOGRiMF1d;0,0,space,e3sxMywgMX0gLS1bW3RhYmxlOiAweDA3MWE5MGQ4XV0sIHsxMiwgMn0gLS1bW3RhYmxlOiAweDA3MzE3YmQ4XV0sIHsxMywgMX0gLS1bW3RhYmxlOiAweDA3NDZhMmYwXV0sIHsxMiwgMH0gLS1bW3RhYmxlOiAweDA2Zjg4Y2QwXV0sIHsxMywgLTF9IC0tW1t0YWJsZTogMHgwNzAyM2NlMF1dLCB7MTEsIDF9IC0tW1t0YWJsZTogMHgwNzA5MGU2MF1dLCB7MTMsIDF9IC0tW1t0YWJsZTogMHgwNzA5MGVhMF1dLCB7MTIsIDJ9IC0tW1t0YWJsZTogMHgwNzA5MGVlMF1dLCB7MTUsIDJ9IC0tW1t0YWJsZTogMHgwNzFiZjEzMF1dLCB7MTQsIDN9IC0tW1t0YWJsZTogMHgwNzQ4OTBmOF1dLCB7MTMsIDR9IC0tW1t0YWJsZTogMHgwNzAyM2QyMF1dLCB7MTEsIDN9IC0tW1t0YWJsZTogMHgwNzFiZjE3MF1dLCB7MTIsIDR9IC0tW1t0YWJsZTogMHgwNzFiZjFiMF1dLCB7MTIsIDN9IC0tW1t0YWJsZTogMHgwNzQ4OTFkMF1dLCB7MTEsIDR9IC0tW1t0YWJsZTogMHgwNzQ4OTIxMF1dLCB7MTAsIDJ9IC0tW1t0YWJsZTogMHgwNzQ4OTI1MF1dLCB7MTAsIDN9IC0tW1t0YWJsZTogMHgwNzQ4OTI5MF1dfSAtLVtbdGFibGU6IDB4MDc0ODZiNThdXQ==;0,0,undo,e3sxMywgMn0gLS1bW3RhYmxlOiAweDA3MzM0YzY4XV0sIHsxMiwgMn0gLS1bW3RhYmxlOiAweDA3Mjc3Yzg4XV0sIHsxMywgMX0gLS1bW3RhYmxlOiAweDA3MjdkOTkwXV0sIHsxMiwgMX0gLS1bW3RhYmxlOiAweDA3MDI4ZjMwXV0sIHsxMywgMH0gLS1bW3RhYmxlOiAweDA3MzQ3YmI4XV0sIHsxMSwgMn0gLS1bW3RhYmxlOiAweDA3M2U2ZTU4XV0sIHsxMywgMn0gLS1bW3RhYmxlOiAweDA3MDZkMTI4XV0sIHsxMiwgM30gLS1bW3RhYmxlOiAweDA3MWJiYjgwXV0sIHsxNSwgMn0gLS1bW3RhYmxlOiAweDA3MzI1MDQ4XV0sIHsxNCwgM30gLS1bW3RhYmxlOiAweDA3MzQ3ZDg4XV0sIHsxMywgNH0gLS1bW3RhYmxlOiAweDA2ZmJjYTU4XV0sIHsxMSwgM30gLS1bW3RhYmxlOiAweDA3NGNhOWYwXV0sIHsxMiwgNH0gLS1bW3RhYmxlOiAweDA3NGNhYTMwXV0sIHsxMiwgM30gLS1bW3RhYmxlOiAweDA2ZmJjYjQ4XV0sIHsxMSwgNH0gLS1bW3RhYmxlOiAweDA2ZmJjYjg4XV0sIHsxMCwgMn0gLS1bW3RhYmxlOiAweDA3MzQ3YmY4XV0sIHsxMCwgM30gLS1bW3RhYmxlOiAweDA3MzQ3YzM4XV19IC0tW1t0YWJsZTogMHgwNzI3N2M2MF1d;0,0,undo,e3sxMCwgOH0gLS1bW3RhYmxlOiAweDA2ZmJlNDYwXV0sIHs5LCA4fSAtLVtbdGFibGU6IDB4MDZmNzkzNThdXSwgezEwLCA3fSAtLVtbdGFibGU6IDB4MDcyN2YzODhdXSwgezksIDd9IC0tW1t0YWJsZTogMHgwNzQ1YzQyOF1dLCB7MTAsIDZ9IC0tW1t0YWJsZTogMHgwNzQ1YzQ2OF1dLCB7OCwgOH0gLS1bW3RhYmxlOiAweDA3MmFlNjM4XV0sIHsxMSwgOH0gLS1bW3RhYmxlOiAweDA3NDVjNGY4XV0sIHsxMCwgOX0gLS1bW3RhYmxlOiAweDA3NDVjNTM4XV0sIHsxMiwgOH0gLS1bW3RhYmxlOiAweDA3M2ZjZTk4XV0sIHsxMSwgOX0gLS1bW3RhYmxlOiAweDA2Zjg0ZWYwXV0sIHsxMCwgMTB9IC0tW1t0YWJsZTogMHgwNzE3YTcwOF1dLCB7OCwgOX0gLS1bW3RhYmxlOiAweDA3MDhjYjgwXV0sIHs5LCAxMH0gLS1bW3RhYmxlOiAweDA2ZWZkZDYwXV0sIHs5LCA5fSAtLVtbdGFibGU6IDB4MDc0NWM2MDhdXX0gLS1bW3RhYmxlOiAweDA3MWVjMmQ4XV0=;0,0,space,e3sxMiwgM30gLS1bW3RhYmxlOiAweDA3NDhmYWQ4XV0sIHsxMSwgM30gLS1bW3RhYmxlOiAweDA3MjE1OTQwXV0sIHsxMiwgMn0gLS1bW3RhYmxlOiAweDA3MjE1OTgwXV0sIHsxMSwgMn0gLS1bW3RhYmxlOiAweDA3MjE1OWYwXV0sIHsxMiwgMX0gLS1bW3RhYmxlOiAweDA3MDhmOWUwXV0sIHsxMCwgM30gLS1bW3RhYmxlOiAweDA2ZjJjZDE4XV0sIHsxMywgM30gLS1bW3RhYmxlOiAweDA2ZjJjZDU4XV0sIHsxMiwgNH0gLS1bW3RhYmxlOiAweDA2ZjJjZDk4XV0sIHsxNCwgM30gLS1bW3RhYmxlOiAweDA2ZjJjZGQ4XV0sIHsxMywgNH0gLS1bW3RhYmxlOiAweDA2ZjJjZWE4XV0sIHsxMiwgNX0gLS1bW3RhYmxlOiAweDA2ZjJjZWU4XV0sIHsxMCwgNH0gLS1bW3RhYmxlOiAweDA2ZjJjZjI4XV0sIHsxMSwgNX0gLS1bW3RhYmxlOiAweDA2ZjJjZjY4XV0sIHsxMSwgNH0gLS1bW3RhYmxlOiAweDA2ZjJjZmE4XV19IC0tW1t0YWJsZTogMHgwNzIxNThmOF1d;0,0,undo,e3sxMiwgM30gLS1bW3RhYmxlOiAweDA3MGI2ZDgwXV0sIHsxMSwgM30gLS1bW3RhYmxlOiAweDA3NDRjNDY4XV0sIHsxMiwgMn0gLS1bW3RhYmxlOiAweDA2ZmYxNjI4XV0sIHsxMSwgMn0gLS1bW3RhYmxlOiAweDA2ZmYxNjk4XV0sIHsxMiwgMX0gLS1bW3RhYmxlOiAweDA2ZmYxNmQ4XV0sIHsxMCwgM30gLS1bW3RhYmxlOiAweDA3MDFjYWE4XV0sIHsxMywgM30gLS1bW3RhYmxlOiAweDA3MDFjYWU4XV0sIHsxMiwgNH0gLS1bW3RhYmxlOiAweDA3MDFjYjI4XV0sIHsxNCwgM30gLS1bW3RhYmxlOiAweDA3MmI3N2YwXV0sIHsxMywgNH0gLS1bW3RhYmxlOiAweDA3MmI3OGMwXV0sIHsxMiwgNX0gLS1bW3RhYmxlOiAweDA3MmI3OTAwXV0sIHsxMCwgNH0gLS1bW3RhYmxlOiAweDA3MmI3OTQwXV0sIHsxMSwgNX0gLS1bW3RhYmxlOiAweDA3MmI3OTgwXV0sIHsxMSwgNH0gLS1bW3RhYmxlOiAweDA3MmI3OWMwXV19IC0tW1t0YWJsZTogMHgwNmZmMTYwMF1d;0,0,space,e3sxMiwgMn0gLS1bW3RhYmxlOiAweDA3NTA4NDEwXV0sIHsxMSwgM30gLS1bW3RhYmxlOiAweDA3NTA4NDUwXV0sIHsxMiwgMn0gLS1bW3RhYmxlOiAweDA3NTA4NDkwXV0sIHsxMSwgMX0gLS1bW3RhYmxlOiAweDA3NTA4NTAwXV0sIHsxMiwgMH0gLS1bW3RhYmxlOiAweDA3NTA4NTQwXV0sIHsxMCwgMn0gLS1bW3RhYmxlOiAweDA3NTA4NWQwXV0sIHsxMywgMn0gLS1bW3RhYmxlOiAweDA3NTA4NjEwXV0sIHsxMiwgM30gLS1bW3RhYmxlOiAweDA3NTA4NjUwXV0sIHsxNCwgMn0gLS1bW3RhYmxlOiAweDA3NTA4NjkwXV0sIHsxMywgM30gLS1bW3RhYmxlOiAweDA3NTA4NzYwXV0sIHsxMiwgNH0gLS1bW3RhYmxlOiAweDA3NTA4N2EwXV0sIHsxMCwgNH0gLS1bW3RhYmxlOiAweDA3NTA4N2UwXV0sIHsxMSwgNX0gLS1bW3RhYmxlOiAweDA3NTA4ODIwXV0sIHsxMSwgNH0gLS1bW3RhYmxlOiAweDA3NTA4ODYwXV19IC0tW1t0YWJsZTogMHgwNzQ0ZmQ2OF1d;0,0,undo,e3sxMiwgMn0gLS1bW3RhYmxlOiAweDA3MjdmNzYwXV0sIHsxMSwgMn0gLS1bW3RhYmxlOiAweDA3MDI3YWY4XV0sIHsxMiwgMX0gLS1bW3RhYmxlOiAweDA3MDI3YjM4XV0sIHsxMSwgMX0gLS1bW3RhYmxlOiAweDA3MDI3YmE4XV0sIHsxMiwgMH0gLS1bW3RhYmxlOiAweDA3MDI3YmU4XV0sIHsxMCwgMn0gLS1bW3RhYmxlOiAweDA3MDI3Yzc4XV0sIHsxMywgMn0gLS1bW3RhYmxlOiAweDA3MDI3Y2I4XV0sIHsxMiwgM30gLS1bW3RhYmxlOiAweDA3MDI3Y2Y4XV0sIHsxNCwgMn0gLS1bW3RhYmxlOiAweDA3MDI3ZDM4XV0sIHsxMywgM30gLS1bW3RhYmxlOiAweDA3MjdlNTcwXV0sIHsxMiwgNH0gLS1bW3RhYmxlOiAweDA3MjdlNWIwXV0sIHsxMCwgM30gLS1bW3RhYmxlOiAweDA3MDI3YzI4XV0sIHsxMSwgNH0gLS1bW3RhYmxlOiAweDA3NDdmOTE4XV0sIHsxMSwgM30gLS1bW3RhYmxlOiAweDA3NGQwYmIwXV19IC0tW1t0YWJsZTogMHgwNzJkNDViMF1d;0,0,space,e3sxMiwgMn0gLS1bW3RhYmxlOiAweDA3MmU4YjMwXV0sIHsxMSwgMn0gLS1bW3RhYmxlOiAweDA3MjgyZDYwXV0sIHsxMiwgMX0gLS1bW3RhYmxlOiAweDA3NDg2Yjc4XV0sIHsxMSwgMX0gLS1bW3RhYmxlOiAweDA3NTNmNjY4XV0sIHsxMiwgMH0gLS1bW3RhYmxlOiAweDA3MzliZjgwXV0sIHsxMCwgMn0gLS1bW3RhYmxlOiAweDA3MzliZmMwXV0sIHsxMywgMn0gLS1bW3RhYmxlOiAweDA2ZmFiOWU4XV0sIHsxMiwgM30gLS1bW3RhYmxlOiAweDA3NTNmZmYwXV0sIHsxNCwgMn0gLS1bW3RhYmxlOiAweDA3NTQwMDMwXV0sIHsxMywgM30gLS1bW3RhYmxlOiAweDA3NDU4YzY4XV0sIHsxMiwgNH0gLS1bW3RhYmxlOiAweDA3NTQwOTEwXV0sIHsxMCwgM30gLS1bW3RhYmxlOiAweDA3NTQwOTUwXV0sIHsxMSwgNH0gLS1bW3RhYmxlOiAweDA3NTQwZGIwXV0sIHsxMSwgM30gLS1bW3RhYmxlOiAweDA3NTQwZGYwXV19IC0tW1t0YWJsZTogMHgwNzM5YWVjOF1d;0,0,undo,e3sxMiwgMn0gLS1bW3RhYmxlOiAweDA3MDRmN2U4XV0sIHsxMSwgMn0gLS1bW3RhYmxlOiAweDA3MDRmODI4XV0sIHsxMiwgMX0gLS1bW3RhYmxlOiAweDA3MDRmODY4XV0sIHsxMSwgMX0gLS1bW3RhYmxlOiAweDA3MDRmOGE4XV0sIHsxMiwgMH0gLS1bW3RhYmxlOiAweDA3MDRmOGU4XV0sIHsxMCwgMn0gLS1bW3RhYmxlOiAweDA3MDRmOTc4XV0sIHsxMywgMn0gLS1bW3RhYmxlOiAweDA3MDRmOWI4XV0sIHsxMiwgM30gLS1bW3RhYmxlOiAweDA3MDRmOWY4XV0sIHsxNCwgMn0gLS1bW3RhYmxlOiAweDA3MDRmYTM4XV0sIHsxMywgM30gLS1bW3RhYmxlOiAweDA3MDRmYjA4XV0sIHsxMiwgNH0gLS1bW3RhYmxlOiAweDA3MDRmYjQ4XV0sIHsxMCwgM30gLS1bW3RhYmxlOiAweDA3MDRmYjg4XV0sIHsxMSwgNH0gLS1bW3RhYmxlOiAweDA3MDRmYmM4XV0sIHsxMSwgM30gLS1bW3RhYmxlOiAweDA3MDRmYzA4XV19IC0tW1t0YWJsZTogMHgwNzA3OGEzOF1d;0,0,space,e3sxMiwgMn0gLS1bW3RhYmxlOiAweDA3NGI0Mjc4XV0sIHsxMSwgMn0gLS1bW3RhYmxlOiAweDA3NGI0MmI4XV0sIHsxMiwgMX0gLS1bW3RhYmxlOiAweDA3NGI0MmY4XV0sIHsxMSwgMX0gLS1bW3RhYmxlOiAweDA3NGI0MzY4XV0sIHsxMiwgMH0gLS1bW3RhYmxlOiAweDA3NGI0M2E4XV0sIHsxMCwgMn0gLS1bW3RhYmxlOiAweDA3NGI0NDM4XV0sIHsxMywgMn0gLS1bW3RhYmxlOiAweDA3NGI0NDc4XV0sIHsxMiwgM30gLS1bW3RhYmxlOiAweDA3NGI0NGI4XV0sIHsxNCwgMn0gLS1bW3RhYmxlOiAweDA3NGI0NGY4XV0sIHsxMywgM30gLS1bW3RhYmxlOiAweDA3NGI0NTM4XV0sIHsxMiwgNH0gLS1bW3RhYmxlOiAweDA3NGI0NTc4XV0sIHsxMCwgM30gLS1bW3RhYmxlOiAweDA3NGI0NWI4XV0sIHsxMSwgNH0gLS1bW3RhYmxlOiAweDA3NGI0NWY4XV0sIHsxMSwgM30gLS1bW3RhYmxlOiAweDA3NGI0NjM4XV19IC0tW1t0YWJsZTogMHgwNzRiNDI1MF1d;0,0,undo,e3sxMiwgM30gLS1bW3RhYmxlOiAweDA3MjA3YWE4XV0sIHsxMSwgM30gLS1bW3RhYmxlOiAweDA3MjEwYjA4XV0sIHsxMiwgMn0gLS1bW3RhYmxlOiAweDA3MjEwYjQ4XV0sIHsxMSwgMn0gLS1bW3RhYmxlOiAweDA3MTczNzQ4XV0sIHsxMiwgMX0gLS1bW3RhYmxlOiAweDA3MjIzZTA4XV0sIHsxMCwgM30gLS1bW3RhYmxlOiAweDA3MjIzZTQ4XV0sIHsxMywgM30gLS1bW3RhYmxlOiAweDA3MjMzMDM4XV0sIHsxMiwgNH0gLS1bW3RhYmxlOiAweDA3MjMzMDc4XV0sIHsxNCwgM30gLS1bW3RhYmxlOiAweDA3MjMzMGI4XV0sIHsxMywgNH0gLS1bW3RhYmxlOiAweDA3MjMyZmU4XV0sIHsxMiwgNX0gLS1bW3RhYmxlOiAweDA3MGI0MTgwXV0sIHsxMCwgNH0gLS1bW3RhYmxlOiAweDA3MDc2NTg4XV0sIHsxMSwgNX0gLS1bW3RhYmxlOiAweDA3MWZiODIwXV0sIHsxMSwgNH0gLS1bW3RhYmxlOiAweDA2ZTVmN2Y4XV19IC0tW1t0YWJsZTogMHgwNzIwN2E4MF1d;0,0,space,e3sxMSwgMn0gLS1bW3RhYmxlOiAweDA3MDJiZDkwXV0sIHsxMCwgMn0gLS1bW3RhYmxlOiAweDA3MTg0MzIwXV0sIHsxMSwgMX0gLS1bW3RhYmxlOiAweDA3NDY2ZTQwXV0sIHsxMCwgMX0gLS1bW3RhYmxlOiAweDA3NTRlNWYwXV0sIHsxMSwgMH0gLS1bW3RhYmxlOiAweDA3MzdkMjQwXV0sIHs5LCAyfSAtLVtbdGFibGU6IDB4MDcwODc5MTBdXSwgezEyLCAyfSAtLVtbdGFibGU6IDB4MDc0MWQ1NThdXSwgezExLCAzfSAtLVtbdGFibGU6IDB4MDc0MWQ1OThdXSwgezEzLCAyfSAtLVtbdGFibGU6IDB4MDc0MWQ1ZDhdXSwgezEyLCAzfSAtLVtbdGFibGU6IDB4MDc0MWQ2YThdXSwgezExLCA0fSAtLVtbdGFibGU6IDB4MDc1NTdlMDhdXSwgezksIDN9IC0tW1t0YWJsZTogMHgwNzRmMmQ1MF1dLCB7MTAsIDR9IC0tW1t0YWJsZTogMHgwNmZhNjI0MF1dLCB7MTAsIDN9IC0tW1t0YWJsZTogMHgwNzM4NTQzMF1dfSAtLVtbdGFibGU6IDB4MDczN2NhNjBdXQ==;0,0,undo,e3sxMSwgMn0gLS1bW3RhYmxlOiAweDA3NWUzNzAwXV0sIHsxMCwgMn0gLS1bW3RhYmxlOiAweDA3NWIxMWQwXV0sIHsxMSwgMX0gLS1bW3RhYmxlOiAweDA3NWIxMjEwXV0sIHsxMCwgMX0gLS1bW3RhYmxlOiAweDA3NWIxMjUwXV0sIHsxMSwgMH0gLS1bW3RhYmxlOiAweDA3NWIxMjkwXV0sIHs5LCAyfSAtLVtbdGFibGU6IDB4MDc1YjE3ZTBdXSwgezEyLCAyfSAtLVtbdGFibGU6IDB4MDc1YjE4MjBdXSwgezExLCAzfSAtLVtbdGFibGU6IDB4MDc1YjE4NjBdXSwgezEzLCAyfSAtLVtbdGFibGU6IDB4MDc0ZDRhYjBdXSwgezEyLCAzfSAtLVtbdGFibGU6IDB4MDc0ZDRiODBdXSwgezExLCA0fSAtLVtbdGFibGU6IDB4MDc0ZDRiYzBdXSwgezEwLCAzfSAtLVtbdGFibGU6IDB4MDc0ZDRjMDBdXSwgezExLCA0fSAtLVtbdGFibGU6IDB4MDc0ZDRjNDBdXSwgezExLCAzfSAtLVtbdGFibGU6IDB4MDc0ZDRjODBdXX0gLS1bW3RhYmxlOiAweDA3NDFkNjQ4XV0=;0,0,space,e3sxMiwgMn0gLS1bW3RhYmxlOiAweDA3NDBjYzc4XV0sIHsxMSwgMn0gLS1bW3RhYmxlOiAweDA3MDQzNTQwXV0sIHsxMiwgMX0gLS1bW3RhYmxlOiAweDA3MDQzNTgwXV0sIHsxMSwgMX0gLS1bW3RhYmxlOiAweDA3MDQzNWYwXV0sIHsxMiwgMH0gLS1bW3RhYmxlOiAweDA3MDQzNjMwXV0sIHsxMCwgMn0gLS1bW3RhYmxlOiAweDA3MDQzNmMwXV0sIHsxMywgMn0gLS1bW3RhYmxlOiAweDA3MDQzNzAwXV0sIHsxMiwgM30gLS1bW3RhYmxlOiAweDA3MDQzNzQwXV0sIHsxNCwgMn0gLS1bW3RhYmxlOiAweDA3MDQzNzgwXV0sIHsxMywgM30gLS1bW3RhYmxlOiAweDA3MDQzODUwXV0sIHsxMiwgNH0gLS1bW3RhYmxlOiAweDA3MDQzODkwXV0sIHsxMCwgM30gLS1bW3RhYmxlOiAweDA3MDQzOGQwXV0sIHsxMSwgNH0gLS1bW3RhYmxlOiAweDA3MDQzOTEwXV0sIHsxMSwgM30gLS1bW3RhYmxlOiAweDA3MDQzOTUwXV19IC0tW1t0YWJsZTogMHgwNzA0MzUxOF1d;0,0,undo,e3sxMiwgMn0gLS1bW3RhYmxlOiAweDA2ZmNlYTU4XV0sIHsxMSwgMn0gLS1bW3RhYmxlOiAweDA2ZGMzODk4XV0sIHsxMiwgMX0gLS1bW3RhYmxlOiAweDA3MjdiNTU4XV0sIHsxMSwgMX0gLS1bW3RhYmxlOiAweDA3MGVkZDI4XV0sIHsxMiwgMH0gLS1bW3RhYmxlOiAweDA3NTE3OTEwXV0sIHsxMCwgMn0gLS1bW3RhYmxlOiAweDA2ZjUwY2U4XV0sIHsxMywgMn0gLS1bW3RhYmxlOiAweDA3MmQyZjk4XV0sIHsxMiwgM30gLS1bW3RhYmxlOiAweDA2ZjRjOWM4XV0sIHsxNCwgMn0gLS1bW3RhYmxlOiAweDA3NTNhY2YwXV0sIHsxMywgM30gLS1bW3RhYmxlOiAweDA3NTVkZjQwXV0sIHsxMiwgNH0gLS1bW3RhYmxlOiAweDA2ZTQ1MmI4XV0sIHsxMCwgM30gLS1bW3RhYmxlOiAweDA3M2IwMDQ4XV0sIHsxMSwgNH0gLS1bW3RhYmxlOiAweDA3M2FlMjkwXV0sIHsxMSwgM30gLS1bW3RhYmxlOiAweDA3M2FjNGUwXV19IC0tW1t0YWJsZTogMHgwNzA5YTY5OF1d;0,0,space,e3sxMSwgMX0gLS1bW3RhYmxlOiAweDA3MzNlNWMwXV0sIHsxMCwgMX0gLS1bW3RhYmxlOiAweDA3MzNlNjAwXV0sIHsxMSwgMH0gLS1bW3RhYmxlOiAweDA3MzNlNjQwXV0sIHsxMCwgMH0gLS1bW3RhYmxlOiAweDA3MzNlNmIwXV0sIHsxMSwgLTF9IC0tW1t0YWJsZTogMHgwNzMzZTZmMF1dLCB7OSwgMX0gLS1bW3RhYmxlOiAweDA3MzNlNzgwXV0sIHsxMiwgMX0gLS1bW3RhYmxlOiAweDA3MzNlN2MwXV0sIHsxMSwgMn0gLS1bW3RhYmxlOiAweDA3MzNlODAwXV0sIHsxMywgMX0gLS1bW3RhYmxlOiAweDA3MzNlODQwXV0sIHsxMiwgMn0gLS1bW3RhYmxlOiAweDA3MzNlOTEwXV0sIHsxMSwgM30gLS1bW3RhYmxlOiAweDA3MzNlOTUwXV0sIHsxMCwgMn0gLS1bW3RhYmxlOiAweDA3MzNlOTkwXV0sIHsxMSwgM30gLS1bW3RhYmxlOiAweDA3MzNlOWQwXV0sIHsxMSwgMn0gLS1bW3RhYmxlOiAweDA3MzNlYTEwXV19IC0tW1t0YWJsZTogMHgwNzMzZTU5OF1d;0,-1,wasd,e3sxMCwgOH0gLS1bW3RhYmxlOiAweDA3MGI5YTcwXV0sIHs5LCA4fSAtLVtbdGFibGU6IDB4MDcwYjlhZDBdXSwgezEwLCA3fSAtLVtbdGFibGU6IDB4MDcwYjliMTBdXSwgezksIDd9IC0tW1t0YWJsZTogMHgwNzBiOWI4MF1dLCB7MTAsIDZ9IC0tW1t0YWJsZTogMHgwNzBiOWJjMF1dLCB7OCwgOH0gLS1bW3RhYmxlOiAweDA3MGI5YzUwXV0sIHsxMSwgOH0gLS1bW3RhYmxlOiAweDA3MzVhM2EwXV0sIHsxMCwgOX0gLS1bW3RhYmxlOiAweDA3MzVhM2UwXV0sIHsxMiwgOH0gLS1bW3RhYmxlOiAweDA3MzVhNDIwXV0sIHsxMSwgOX0gLS1bW3RhYmxlOiAweDA3MzVhNGYwXV0sIHsxMCwgMTB9IC0tW1t0YWJsZTogMHgwNzM1YTUzMF1dLCB7OCwgOX0gLS1bW3RhYmxlOiAweDA3MzVhNTcwXV0sIHs5LCAxMH0gLS1bW3RhYmxlOiAweDA3MzVhNWIwXV0sIHs5LCA5fSAtLVtbdGFibGU6IDB4MDczNWE1ZjBdXSwgezksIDExfSAtLVtbdGFibGU6IDB4MDczNWE2MzBdXSwgezgsIDEwfSAtLVtbdGFibGU6IDB4MDczNWE2NzBdXSwgezcsIDl9IC0tW1t0YWJsZTogMHgwNzM1YTZiMF1dfSAtLVtbdGFibGU6IDB4MDcwYjlhNDhdXQ==;0,0,space,e30gLS1bW3RhYmxlOiAweDA3MmNmYWM4XV0=;0,0,undo,e30gLS1bW3RhYmxlOiAweDA3MmU5YmI4XV0=;0,0,undo,e3s3LCA5fSAtLVtbdGFibGU6IDB4MDczZTg3OThdXSwgezgsIDEwfSAtLVtbdGFibGU6IDB4MDc1MWU2YTBdXSwgezksIDExfSAtLVtbdGFibGU6IDB4MDc1MWU2ZTBdXSwgezksIDl9IC0tW1t0YWJsZTogMHgwNzUxZTc1MF1dLCB7OSwgMTB9IC0tW1t0YWJsZTogMHgwNzUxZTc5MF1dLCB7OCwgOX0gLS1bW3RhYmxlOiAweDA3NTFlN2QwXV0sIHsxMCwgMTB9IC0tW1t0YWJsZTogMHgwNzUxZTgxMF1dLCB7MTEsIDl9IC0tW1t0YWJsZTogMHgwNzUxZTg1MF1dLCB7MTIsIDh9IC0tW1t0YWJsZTogMHgwNzUxZTg5MF1dLCB7MTAsIDl9IC0tW1t0YWJsZTogMHgwNzUxZTk2MF1dLCB7MTEsIDh9IC0tW1t0YWJsZTogMHgwNzUxZTlhMF1dLCB7OCwgOH0gLS1bW3RhYmxlOiAweDA3NTFlOWUwXV0sIHsxMCwgNn0gLS1bW3RhYmxlOiAweDA3MTVkYWUwXV0sIHs5LCA3fSAtLVtbdGFibGU6IDB4MDZlNDhiMzhdXSwgezEwLCA3fSAtLVtbdGFibGU6IDB4MDZlNDhiNzhdXSwgezksIDh9IC0tW1t0YWJsZTogMHgwNmU0OGJiOF1dLCB7MTAsIDh9IC0tW1t0YWJsZTogMHgwNzUwMDAyOF1dfSAtLVtbdGFibGU6IDB4MDc1MWU2NzhdXQ==;0,-1,wasd,e3s3LCAzfSAtLVtbdGFibGU6IDB4MDczNGMyYzBdXSwgezgsIDR9IC0tW1t0YWJsZTogMHgwNzM0YzMyMF1dLCB7OSwgNX0gLS1bW3RhYmxlOiAweDA3MzRjMzYwXV0sIHs5LCA0fSAtLVtbdGFibGU6IDB4MDczNGMzZDBdXSwgezksIDV9IC0tW1t0YWJsZTogMHgwNzM0YzQxMF1dLCB7OCwgNH0gLS1bW3RhYmxlOiAweDA3MzRjNGEwXV0sIHsxMCwgNH0gLS1bW3RhYmxlOiAweDA3MzRjNGUwXV0sIHsxMSwgM30gLS1bW3RhYmxlOiAweDA3MzRjNTIwXV0sIHsxMiwgMn0gLS1bW3RhYmxlOiAweDA3MzRjNTYwXV0sIHs5LCAzfSAtLVtbdGFibGU6IDB4MDczNGM0NTBdXSwgezEwLCAyfSAtLVtbdGFibGU6IDB4MDZmZmUyNzhdXSwgezgsIDJ9IC0tW1t0YWJsZTogMHgwNmZmZTJiOF1dLCB7MTAsIDB9IC0tW1t0YWJsZTogMHgwNzE3OWYyOF1dLCB7OSwgMX0gLS1bW3RhYmxlOiAweDA3MTc5ZjY4XV0sIHsxMCwgMX0gLS1bW3RhYmxlOiAweDA3MTc5ZmE4XV0sIHs5LCAyfSAtLVtbdGFibGU6IDB4MDcxNzlmZThdXSwgezEwLCAyfSAtLVtbdGFibGU6IDB4MDcxN2EwMjhdXX0gLS1bW3RhYmxlOiAweDA3MzRjMjk4XV0=;0,0,undo,e3sxMCwgMn0gLS1bW3RhYmxlOiAweDA2Zjk3NTY4XV0sIHs5LCAyfSAtLVtbdGFibGU6IDB4MDZmOTc1YThdXSwgezEwLCAxfSAtLVtbdGFibGU6IDB4MDZmOTc1ZThdXSwgezksIDF9IC0tW1t0YWJsZTogMHgwNmY5NzY1OF1dLCB7MTAsIDB9IC0tW1t0YWJsZTogMHgwNmY5NzY5OF1dLCB7OCwgMn0gLS1bW3RhYmxlOiAweDA2Zjk3NmQ4XV0sIHsxMCwgMn0gLS1bW3RhYmxlOiAweDA2Zjk3NzE4XV0sIHs5LCAzfSAtLVtbdGFibGU6IDB4MDZmOTc3NThdXSwgezEyLCAyfSAtLVtbdGFibGU6IDB4MDZmOTc3OThdXSwgezExLCAzfSAtLVtbdGFibGU6IDB4MDZmOTc4NjhdXSwgezEwLCA0fSAtLVtbdGFibGU6IDB4MDZmOTc4YThdXSwgezgsIDR9IC0tW1t0YWJsZTogMHgwNmY5NzhlOF1dLCB7OSwgNX0gLS1bW3RhYmxlOiAweDA2Zjk3OTI4XV0sIHs5LCA0fSAtLVtbdGFibGU6IDB4MDZmOTc5NjhdXSwgezksIDV9IC0tW1t0YWJsZTogMHgwNmY5NzlhOF1dLCB7OCwgNH0gLS1bW3RhYmxlOiAweDA2Zjk3OWU4XV0sIHs3LCAzfSAtLVtbdGFibGU6IDB4MDZmOTdhMjhdXX0gLS1bW3RhYmxlOiAweDA2Zjk3NTQwXV0=;0,-1,wasd,e3sxMCwgMn0gLS1bW3RhYmxlOiAweDA3MjE2YjA4XV0sIHs5LCAyfSAtLVtbdGFibGU6IDB4MDcyMTZiNDhdXSwgezEwLCAxfSAtLVtbdGFibGU6IDB4MDcyMTZiODhdXSwgezksIDF9IC0tW1t0YWJsZTogMHgwNzIxNmJmOF1dLCB7MTAsIDB9IC0tW1t0YWJsZTogMHgwNzIxNmMzOF1dLCB7OCwgMn0gLS1bW3RhYmxlOiAweDA3MjE2Y2M4XV0sIHsxMCwgMn0gLS1bW3RhYmxlOiAweDA3MjE2ZDA4XV0sIHs5LCAzfSAtLVtbdGFibGU6IDB4MDcyMTZkNDhdXSwgezEyLCAyfSAtLVtbdGFibGU6IDB4MDcyMTZkODhdXSwgezExLCAzfSAtLVtbdGFibGU6IDB4MDc2MDM1ZjBdXSwgezEwLCA0fSAtLVtbdGFibGU6IDB4MDc2MDM2MzBdXSwgezgsIDR9IC0tW1t0YWJsZTogMHgwNzYwMzY3MF1dLCB7OSwgNX0gLS1bW3RhYmxlOiAweDA3NjAzNmIwXV0sIHs5LCA0fSAtLVtbdGFibGU6IDB4MDc2MDM2ZjBdXSwgezksIDV9IC0tW1t0YWJsZTogMHgwNzYwMzczMF1dLCB7OCwgNH0gLS1bW3RhYmxlOiAweDA3NjAzNzcwXV0sIHs3LCAzfSAtLVtbdGFibGU6IDB4MDc2MDM3YjBdXX0gLS1bW3RhYmxlOiAweDA3MjE2YWUwXV0=;0,0,undo,e3s3LCAzfSAtLVtbdGFibGU6IDB4MDcyMmE5ODBdXSwgezgsIDR9IC0tW1t0YWJsZTogMHgwNzJhZGE3OF1dLCB7OSwgNX0gLS1bW3RhYmxlOiAweDA3MmFkYWI4XV0sIHs5LCA0fSAtLVtbdGFibGU6IDB4MDcyYWRiMjhdXSwgezksIDV9IC0tW1t0YWJsZTogMHgwNzJhZGI2OF1dLCB7OCwgNH0gLS1bW3RhYmxlOiAweDA3MmFkYmY4XV0sIHsxMCwgNH0gLS1bW3RhYmxlOiAweDA3MmFkYzM4XV0sIHsxMSwgM30gLS1bW3RhYmxlOiAweDA3MmFkYzc4XV0sIHsxMiwgMn0gLS1bW3RhYmxlOiAweDA3MmFkY2I4XV0sIHs5LCAzfSAtLVtbdGFibGU6IDB4MDcyYWRkODhdXSwgezEwLCAyfSAtLVtbdGFibGU6IDB4MDcyYWRkYzhdXSwgezgsIDJ9IC0tW1t0YWJsZTogMHgwNzJhZGJhOF1dLCB7MTAsIDB9IC0tW1t0YWJsZTogMHgwNzFlYThhMF1dLCB7OSwgMX0gLS1bW3RhYmxlOiAweDA3MWVhOGUwXV0sIHsxMCwgMX0gLS1bW3RhYmxlOiAweDA3MWVhOTIwXV0sIHs5LCAyfSAtLVtbdGFibGU6IDB4MDcxZWE5NjBdXSwgezEwLCAyfSAtLVtbdGFibGU6IDB4MDcxZWE5YTBdXX0gLS1bW3RhYmxlOiAweDA3MmFkYTUwXV0=;0,0,space,e3s3LCAzfSAtLVtbdGFibGU6IDB4MDc2OTBiYjBdXSwgezgsIDR9IC0tW1t0YWJsZTogMHgwNmQ1YWY1MF1dLCB7OSwgNX0gLS1bW3RhYmxlOiAweDA2ZGJiNjMwXV0sIHs5LCA0fSAtLVtbdGFibGU6IDB4MDZmNThiYzhdXSwgezksIDV9IC0tW1t0YWJsZTogMHgwNmU4ZjYwOF1dLCB7OCwgNH0gLS1bW3RhYmxlOiAweDA3MDUwZjM4XV0sIHsxMCwgNH0gLS1bW3RhYmxlOiAweDA3NTQxYzU4XV0sIHsxMSwgM30gLS1bW3RhYmxlOiAweDA3N2IyNzkwXV0sIHsxMiwgMn0gLS1bW3RhYmxlOiAweDA3NTI4ZDMwXV0sIHsxMCwgM30gLS1bW3RhYmxlOiAweDA3NzllMzEwXV0sIHsxMSwgMn0gLS1bW3RhYmxlOiAweDA2ZDU4ODM4XV0sIHs4LCAyfSAtLVtbdGFibGU6IDB4MDZmNTFhZDhdXSwgezEwLCAwfSAtLVtbdGFibGU6IDB4MDc1Nzg5ZDhdXSwgezksIDF9IC0tW1t0YWJsZTogMHgwNmQ1NjA1MF1dLCB7MTAsIDF9IC0tW1t0YWJsZTogMHgwNmU4NjRkMF1dLCB7OSwgMn0gLS1bW3RhYmxlOiAweDA3MmNkOWY4XV0sIHsxMCwgMn0gLS1bW3RhYmxlOiAweDA3MTVmNmMwXV19IC0tW1t0YWJsZTogMHgwNzUwZWQxMF1d;0,0,undo,e3s3LCAzfSAtLVtbdGFibGU6IDB4MDZmZjMwZjBdXSwgezgsIDR9IC0tW1t0YWJsZTogMHgwNmZmMzEzMF1dLCB7OSwgNX0gLS1bW3RhYmxlOiAweDA2ZmYzMTcwXV0sIHs5LCA0fSAtLVtbdGFibGU6IDB4MDZmZjMxZTBdXSwgezksIDV9IC0tW1t0YWJsZTogMHgwNmZmMzIyMF1dLCB7OCwgNH0gLS1bW3RhYmxlOiAweDA2ZmYzMmIwXV0sIHsxMCwgNH0gLS1bW3RhYmxlOiAweDA2ZmYzMmYwXV0sIHsxMSwgM30gLS1bW3RhYmxlOiAweDA2ZmYzMzMwXV0sIHsxMiwgMn0gLS1bW3RhYmxlOiAweDA2ZmYzMzcwXV0sIHs5LCAzfSAtLVtbdGFibGU6IDB4MDZmZjM0NDBdXSwgezEwLCAyfSAtLVtbdGFibGU6IDB4MDZmZjM0ODBdXSwgezgsIDJ9IC0tW1t0YWJsZTogMHgwNmZmMzRjMF1dLCB7MTAsIDB9IC0tW1t0YWJsZTogMHgwNmZmMzUwMF1dLCB7OSwgMX0gLS1bW3RhYmxlOiAweDA2ZmYzNTQwXV0sIHsxMCwgMX0gLS1bW3RhYmxlOiAweDA2ZmYzNTgwXV0sIHs5LCAyfSAtLVtbdGFibGU6IDB4MDZmZjM1YzBdXSwgezEwLCAyfSAtLVtbdGFibGU6IDB4MDZmZjMyNjBdXX0gLS1bW3RhYmxlOiAweDA2ZmYzMGM4XV0=;0,0,space,e3s3LCA0fSAtLVtbdGFibGU6IDB4MDc0ZGE4MzBdXSwgezgsIDV9IC0tW1t0YWJsZTogMHgwNzRkYTg3MF1dLCB7OSwgNn0gLS1bW3RhYmxlOiAweDA3NGRhOGIwXV0sIHs5LCA0fSAtLVtbdGFibGU6IDB4MDc0ZGE5MjBdXSwgezksIDV9IC0tW1t0YWJsZTogMHgwNzRkYTk2MF1dLCB7OCwgNH0gLS1bW3RhYmxlOiAweDA3MDBjZGIwXV0sIHsxMCwgNX0gLS1bW3RhYmxlOiAweDA3MDBjZGYwXV0sIHsxMSwgNH0gLS1bW3RhYmxlOiAweDA3MDBjZTMwXV0sIHsxMiwgM30gLS1bW3RhYmxlOiAweDA3MDBjZTcwXV0sIHsxMCwgNH0gLS1bW3RhYmxlOiAweDA3MDBjZjQwXV0sIHsxMSwgM30gLS1bW3RhYmxlOiAweDA3MDBjZjgwXV0sIHs4LCAzfSAtLVtbdGFibGU6IDB4MDcwMGNmYzBdXSwgezEwLCAxfSAtLVtbdGFibGU6IDB4MDcwMGQwMDBdXSwgezksIDJ9IC0tW1t0YWJsZTogMHgwNzAwZDA0MF1dLCB7MTAsIDJ9IC0tW1t0YWJsZTogMHgwNzAwZDA4MF1dLCB7OSwgM30gLS1bW3RhYmxlOiAweDA3MDBkMGMwXV0sIHsxMCwgM30gLS1bW3RhYmxlOiAweDA3MDBkMTAwXV19IC0tW1t0YWJsZTogMHgwNzRkYTgwOF1d;0,0,space,e3s3LCA5fSAtLVtbdGFibGU6IDB4MDc2ZGY5MjBdXSwgezgsIDEwfSAtLVtbdGFibGU6IDB4MDc2ZGY5NjBdXSwgezksIDExfSAtLVtbdGFibGU6IDB4MDc2ZGY5YTBdXSwgezksIDl9IC0tW1t0YWJsZTogMHgwNzZkZmExMF1dLCB7OSwgMTB9IC0tW1t0YWJsZTogMHgwNzZkZmE1MF1dLCB7OCwgOX0gLS1bW3RhYmxlOiAweDA3NmRmYWUwXV0sIHsxMCwgMTB9IC0tW1t0YWJsZTogMHgwNzZkZmIyMF1dLCB7MTEsIDl9IC0tW1t0YWJsZTogMHgwNzZkZmI2MF1dLCB7MTIsIDh9IC0tW1t0YWJsZTogMHgwNzZkZmJhMF1dLCB7MTAsIDl9IC0tW1t0YWJsZTogMHgwNzZkZmM3MF1dLCB7MTEsIDh9IC0tW1t0YWJsZTogMHgwNzZkZmNiMF1dLCB7OCwgOH0gLS1bW3RhYmxlOiAweDA3NmRmY2YwXV0sIHsxMCwgNn0gLS1bW3RhYmxlOiAweDA3NmRmZDMwXV0sIHs5LCA3fSAtLVtbdGFibGU6IDB4MDc2ZGZkNzBdXSwgezEwLCA3fSAtLVtbdGFibGU6IDB4MDc2ZGZkYjBdXSwgezksIDh9IC0tW1t0YWJsZTogMHgwNzZkZmRmMF1dLCB7MTAsIDh9IC0tW1t0YWJsZTogMHgwNzZkZmUzMF1dLCB7MTEsIDd9IC0tW1t0YWJsZTogMHgwNzZkZmU3MF1dfSAtLVtbdGFibGU6IDB4MDc2ZGY4ZjhdXQ==;0,-1,wasd,e3s3LCA5fSAtLVtbdGFibGU6IDB4MDc2ZjNlYjBdXSwgezgsIDEwfSAtLVtbdGFibGU6IDB4MDc2ZjNlZjBdXSwgezksIDExfSAtLVtbdGFibGU6IDB4MDc2ZjNmMzBdXSwgezksIDl9IC0tW1t0YWJsZTogMHgwNzJlNjBkMF1dLCB7OSwgMTB9IC0tW1t0YWJsZTogMHgwNzJlNjExMF1dLCB7OCwgOX0gLS1bW3RhYmxlOiAweDA3MmU2MWEwXV0sIHsxMCwgMTB9IC0tW1t0YWJsZTogMHgwNzJlNjFlMF1dLCB7MTEsIDl9IC0tW1t0YWJsZTogMHgwNzU3N2I2MF1dLCB7MTIsIDh9IC0tW1t0YWJsZTogMHgwNzJlNjIyMF1dLCB7MTAsIDl9IC0tW1t0YWJsZTogMHgwNzFlMGI4OF1dLCB7MTEsIDh9IC0tW1t0YWJsZTogMHgwNzM3NGI3OF1dLCB7OCwgOH0gLS1bW3RhYmxlOiAweDA3MmU2MmYwXV0sIHsxMCwgNn0gLS1bW3RhYmxlOiAweDA3MmRlYTE4XV0sIHs5LCA3fSAtLVtbdGFibGU6IDB4MDc2MzIzOTBdXSwgezEwLCA3fSAtLVtbdGFibGU6IDB4MDczOWQ1NTBdXSwgezksIDh9IC0tW1t0YWJsZTogMHgwNzJlNjMzMF1dLCB7MTAsIDh9IC0tW1t0YWJsZTogMHgwNzJlNjM3MF1dLCB7MTEsIDd9IC0tW1t0YWJsZTogMHgwNzJlNjNiMF1dfSAtLVtbdGFibGU6IDB4MDc2ZjNlODhdXQ==;0,0,space,e30gLS1bW3RhYmxlOiAweDA3NjU5ZDc4XV0=;0,0,undo,e30gLS1bW3RhYmxlOiAweDA3MDdkOTI4XV0=;0,0,undo,e3sxMSwgN30gLS1bW3RhYmxlOiAweDA3MjhiOGYwXV0sIHsxMCwgOH0gLS1bW3RhYmxlOiAweDA3MGM1MmEwXV0sIHs5LCA4fSAtLVtbdGFibGU6IDB4MDcwYzUyZTBdXSwgezEwLCA3fSAtLVtbdGFibGU6IDB4MDcwYzUzNTBdXSwgezksIDd9IC0tW1t0YWJsZTogMHgwNzBjNTM5MF1dLCB7MTAsIDZ9IC0tW1t0YWJsZTogMHgwNzBjNTQyMF1dLCB7OCwgOH0gLS1bW3RhYmxlOiAweDA3MGM1NDYwXV0sIHsxMSwgOH0gLS1bW3RhYmxlOiAweDA3MGM1NGEwXV0sIHsxMCwgOX0gLS1bW3RhYmxlOiAweDA3MGM1NGUwXV0sIHsxMiwgOH0gLS1bW3RhYmxlOiAweDA3MGM1NWIwXV0sIHsxMSwgOX0gLS1bW3RhYmxlOiAweDA3MGM1NWYwXV0sIHsxMCwgMTB9IC0tW1t0YWJsZTogMHgwNzBjNTYzMF1dLCB7OCwgOX0gLS1bW3RhYmxlOiAweDA3MGM1M2QwXV0sIHs5LCAxMH0gLS1bW3RhYmxlOiAweDA3MGM0ZTYwXV0sIHs5LCA5fSAtLVtbdGFibGU6IDB4MDcwYzRlYTBdXSwgezksIDExfSAtLVtbdGFibGU6IDB4MDcwYzRlZTBdXSwgezgsIDEwfSAtLVtbdGFibGU6IDB4MDcwYzRmMjBdXSwgezcsIDl9IC0tW1t0YWJsZTogMHgwNzBjNTUyMF1dfSAtLVtbdGFibGU6IDB4MDcwYzUyNzhdXQ==;0,0,space,e3sxMCwgMX0gLS1bW3RhYmxlOiAweDA2ZmZiOGM4XV0sIHs5LCAxfSAtLVtbdGFibGU6IDB4MDZmZmI5MDhdXSwgezgsIDF9IC0tW1t0YWJsZTogMHgwNmZmYjk0OF1dLCB7OSwgMH0gLS1bW3RhYmxlOiAweDA2ZmZiOWI4XV0sIHs4LCAwfSAtLVtbdGFibGU6IDB4MDZmZmI5ZjhdXSwgezksIC0xfSAtLVtbdGFibGU6IDB4MDZmZmJhODhdXSwgezcsIDF9IC0tW1t0YWJsZTogMHgwNmZmYmFjOF1dLCB7MTAsIDF9IC0tW1t0YWJsZTogMHgwNmZmYmIwOF1dLCB7OSwgMn0gLS1bW3RhYmxlOiAweDA2ZmZiYjQ4XV0sIHsxMSwgMX0gLS1bW3RhYmxlOiAweDA2ZmZiYzE4XV0sIHsxMCwgMn0gLS1bW3RhYmxlOiAweDA2ZmZiYzU4XV0sIHs5LCAzfSAtLVtbdGFibGU6IDB4MDZmZmJjOThdXSwgezcsIDN9IC0tW1t0YWJsZTogMHgwNmZmYmNkOF1dLCB7OCwgNH0gLS1bW3RhYmxlOiAweDA2ZmZiZDE4XV0sIHs4LCAzfSAtLVtbdGFibGU6IDB4MDZmZmJkNThdXSwgezgsIDV9IC0tW1t0YWJsZTogMHgwNmZmYmQ5OF1dLCB7NywgNH0gLS1bW3RhYmxlOiAweDA2ZmZiZGQ4XV0sIHs2LCAzfSAtLVtbdGFibGU6IDB4MDZmZmJlMThdXX0gLS1bW3RhYmxlOiAweDA2ZmZiOGEwXV0=;0,0,space,e3sxMCwgMH0gLS1bW3RhYmxlOiAweDA3MjhjOGE4XV0sIHs5LCAxfSAtLVtbdGFibGU6IDB4MDcyOGM4ZThdXSwgezgsIDF9IC0tW1t0YWJsZTogMHgwNzI4YzkyOF1dLCB7OSwgMH0gLS1bW3RhYmxlOiAweDA3MjhjOTk4XV0sIHs4LCAwfSAtLVtbdGFibGU6IDB4MDcyOGM5ZDhdXSwgezksIC0xfSAtLVtbdGFibGU6IDB4MDcyOGNhNjhdXSwgezcsIDF9IC0tW1t0YWJsZTogMHgwNzI4Y2FhOF1dLCB7MTAsIDF9IC0tW1t0YWJsZTogMHgwNzI4Y2FlOF1dLCB7OSwgMn0gLS1bW3RhYmxlOiAweDA3MjhjYjI4XV0sIHsxMSwgMX0gLS1bW3RhYmxlOiAweDA3MjhjYmY4XV0sIHsxMCwgMn0gLS1bW3RhYmxlOiAweDA3MjhjYzM4XV0sIHs5LCAzfSAtLVtbdGFibGU6IDB4MDcyOGNjNzhdXSwgezcsIDJ9IC0tW1t0YWJsZTogMHgwNzI4Y2NiOF1dLCB7OCwgM30gLS1bW3RhYmxlOiAweDA3MjhjY2Y4XV0sIHs4LCAyfSAtLVtbdGFibGU6IDB4MDcyOGNkMzhdXSwgezgsIDR9IC0tW1t0YWJsZTogMHgwNzI4Y2Q3OF1dLCB7NywgM30gLS1bW3RhYmxlOiAweDA3MjhjZGI4XV0sIHs2LCAyfSAtLVtbdGFibGU6IDB4MDcyOGNmMDhdXSwgezExLCAxfSAtLVtbdGFibGU6IDB4MDcyOGNmNDhdXSwgezEwLCAyfSAtLVtbdGFibGU6IDB4MDcyOGNmODhdXSwgezksIDN9IC0tW1t0YWJsZTogMHgwNzI4Y2ZjOF1dfSAtLVtbdGFibGU6IDB4MDcyOGM4ODBdXQ==;0,-1,wasd,e3sxMSwgN30gLS1bW3RhYmxlOiAweDA2Zjk3ZjcwXV0sIHsxMCwgOH0gLS1bW3RhYmxlOiAweDA3MDQ0N2UwXV0sIHs5LCA4fSAtLVtbdGFibGU6IDB4MDZmZDc5OThdXSwgezEwLCA3fSAtLVtbdGFibGU6IDB4MDc2ZTI4ZDBdXSwgezksIDd9IC0tW1t0YWJsZTogMHgwNzFmZWZhMF1dLCB7MTAsIDZ9IC0tW1t0YWJsZTogMHgwNzMxM2EyMF1dLCB7OCwgOH0gLS1bW3RhYmxlOiAweDA3NzY2MTEwXV0sIHsxMSwgOH0gLS1bW3RhYmxlOiAweDA3NzAxOWY4XV0sIHsxMCwgOX0gLS1bW3RhYmxlOiAweDA2ZTdkN2U4XV0sIHsxMiwgOH0gLS1bW3RhYmxlOiAweDA3MTg1OTAwXV0sIHsxMSwgOX0gLS1bW3RhYmxlOiAweDA2ZmNjZjM4XV0sIHsxMCwgMTB9IC0tW1t0YWJsZTogMHgwNzE4NTk0MF1dLCB7OCwgOX0gLS1bW3RhYmxlOiAweDA2ZjhhNTY4XV0sIHs5LCAxMH0gLS1bW3RhYmxlOiAweDA2ZWIyYzg4XV0sIHs5LCA5fSAtLVtbdGFibGU6IDB4MDZmMTg1NThdXSwgezksIDExfSAtLVtbdGFibGU6IDB4MDczMzNhODhdXSwgezgsIDEwfSAtLVtbdGFibGU6IDB4MDZmZjU5ZThdXSwgezcsIDl9IC0tW1t0YWJsZTogMHgwNzM2NTk3MF1dLCB7MTIsIDl9IC0tW1t0YWJsZTogMHgwNmY1MjA3OF1dLCB7MTEsIDEwfSAtLVtbdGFibGU6IDB4MDZmNGY1ZjhdXSwgezEwLCAxMX0gLS1bW3RhYmxlOiAweDA2ZDM3MTU4XV0sIHsxMSwgMTB9IC0tW1t0YWJsZTogMHgwNmY0Y2E3OF1dLCB7MTAsIDExfSAtLVtbdGFibGU6IDB4MDZmNTg2ZjhdXSwgezEyLCA5fSAtLVtbdGFibGU6IDB4MDZkOWM4MjBdXX0gLS1bW3RhYmxlOiAweDA3MjE0ZDIwXV0=;0,0,space,e30gLS1bW3RhYmxlOiAweDA3NzQwYTE4XV0=;0,0,undo,e30gLS1bW3RhYmxlOiAweDA3MTZkNWQ4XV0=;0,0,undo,e3sxMiwgOX0gLS1bW3RhYmxlOiAweDA3YTJhNzMwXV0sIHsxMCwgMTF9IC0tW1t0YWJsZTogMHgwNzVhZTExMF1dLCB7MTEsIDEwfSAtLVtbdGFibGU6IDB4MDc4ZThjODBdXSwgezEwLCAxMX0gLS1bW3RhYmxlOiAweDA3NjU4ZjcwXV0sIHsxMSwgMTB9IC0tW1t0YWJsZTogMHgwNzUyYzg4MF1dLCB7MTIsIDl9IC0tW1t0YWJsZTogMHgwNzk4MjRlOF1dLCB7NywgOX0gLS1bW3RhYmxlOiAweDA3NjI0NmY4XV0sIHs4LCAxMH0gLS1bW3RhYmxlOiAweDA3NDZiMTQ4XV0sIHs5LCAxMX0gLS1bW3RhYmxlOiAweDA3MGNkNzUwXV0sIHs5LCA5fSAtLVtbdGFibGU6IDB4MDc5NzQ1MDBdXSwgezksIDEwfSAtLVtbdGFibGU6IDB4MDczZDMwMjhdXSwgezgsIDl9IC0tW1t0YWJsZTogMHgwNzA2ZDdlOF1dLCB7MTAsIDEwfSAtLVtbdGFibGU6IDB4MDc4ZThjYzBdXSwgezExLCA5fSAtLVtbdGFibGU6IDB4MDczYTIxZDhdXSwgezEyLCA4fSAtLVtbdGFibGU6IDB4MDc0Y2U2MTBdXSwgezEwLCA5fSAtLVtbdGFibGU6IDB4MDczYjkyYThdXSwgezExLCA4fSAtLVtbdGFibGU6IDB4MDc3NWNmZjBdXSwgezgsIDh9IC0tW1t0YWJsZTogMHgwNzU2ZmEyMF1dLCB7MTAsIDZ9IC0tW1t0YWJsZTogMHgwNzU3MTU4MF1dLCB7OSwgN30gLS1bW3RhYmxlOiAweDA3YTZkN2Q4XV0sIHsxMCwgN30gLS1bW3RhYmxlOiAweDA3NzYxMmI4XV0sIHs5LCA4fSAtLVtbdGFibGU6IDB4MDc1ODc2MThdXSwgezEwLCA4fSAtLVtbdGFibGU6IDB4MDc4NmExZThdXSwgezExLCA3fSAtLVtbdGFibGU6IDB4MDcyYTAzMzBdXX0gLS1bW3RhYmxlOiAweDA3OTk3NmUwXV0=;0,0,space,e3sxMSwgMX0gLS1bW3RhYmxlOiAweDA2ZjQ1YzQwXV0sIHs5LCAzfSAtLVtbdGFibGU6IDB4MDZmNGE5NzBdXSwgezEwLCAyfSAtLVtbdGFibGU6IDB4MDZmNDc0NTBdXSwgezksIDJ9IC0tW1t0YWJsZTogMHgwNmY0ZTdjOF1dLCB7MTAsIDF9IC0tW1t0YWJsZTogMHgwNmY0MzcwOF1dLCB7MTEsIDB9IC0tW1t0YWJsZTogMHgwNmY0ZGQ3OF1dLCB7NiwgMX0gLS1bW3RhYmxlOiAweDA2ZjQzMmU4XV0sIHs3LCAyfSAtLVtbdGFibGU6IDB4MDZmMmQyNDBdXSwgezgsIDN9IC0tW1t0YWJsZTogMHgwNmY1M2EzOF1dLCB7OCwgMX0gLS1bW3RhYmxlOiAweDA2ZjUyMTA4XV0sIHs4LCAyfSAtLVtbdGFibGU6IDB4MDZmNTNjNDhdXSwgezcsIDF9IC0tW1t0YWJsZTogMHgwNmY0NTRmMF1dLCB7OSwgMX0gLS1bW3RhYmxlOiAweDA2ZjJlYmYwXV0sIHsxMCwgMH0gLS1bW3RhYmxlOiAweDA2ZGE4NzE4XV0sIHsxMSwgLTF9IC0tW1t0YWJsZTogMHgwNmY0ZjgwOF1dLCB7OSwgMH0gLS1bW3RhYmxlOiAweDA2ZjU1ODM4XV0sIHsxMCwgLTF9IC0tW1t0YWJsZTogMHgwNmY0ZjE2MF1dLCB7NywgLTF9IC0tW1t0YWJsZTogMHgwNmY0NjFmOF1dLCB7OSwgLTN9IC0tW1t0YWJsZTogMHgwNmY1ODA1MF1dLCB7OCwgLTJ9IC0tW1t0YWJsZTogMHgwNmY0MTM3MF1dLCB7OSwgLTF9IC0tW1t0YWJsZTogMHgwNmY0ZmY5OF1dLCB7OCwgMH0gLS1bW3RhYmxlOiAweDA2ZjUwZjYwXV0sIHs5LCAtMX0gLS1bW3RhYmxlOiAweDA2ZjRkYWI4XV0sIHsxMCwgLTF9IC0tW1t0YWJsZTogMHgwNmY0OGFjMF1dfSAtLVtbdGFibGU6IDB4MDZmNDkwZjBdXQ==;0,0,space,e3sxMCwgMn0gLS1bW3RhYmxlOiAweDA3NDE0ZDgwXV0sIHs4LCA0fSAtLVtbdGFibGU6IDB4MDc0MTRkYzBdXSwgezksIDN9IC0tW1t0YWJsZTogMHgwNzQxNGUwMF1dLCB7OCwgM30gLS1bW3RhYmxlOiAweDA3NDE0ZTcwXV0sIHs5LCAyfSAtLVtbdGFibGU6IDB4MDc0MTRlYjBdXSwgezEwLCAxfSAtLVtbdGFibGU6IDB4MDc0MTRmNDBdXSwgezUsIDJ9IC0tW1t0YWJsZTogMHgwNzQxNGY4MF1dLCB7NiwgM30gLS1bW3RhYmxlOiAweDA3NDE0ZmMwXV0sIHs3LCA0fSAtLVtbdGFibGU6IDB4MDc0MTUwMDBdXSwgezcsIDJ9IC0tW1t0YWJsZTogMHgwNzQxNTBkMF1dLCB7NywgM30gLS1bW3RhYmxlOiAweDA3NDE1MTEwXV0sIHs2LCAyfSAtLVtbdGFibGU6IDB4MDc0MTUxNTBdXSwgezgsIDN9IC0tW1t0YWJsZTogMHgwNzQxNTE5MF1dLCB7OSwgMn0gLS1bW3RhYmxlOiAweDA3NDE1MWQwXV0sIHsxMCwgMX0gLS1bW3RhYmxlOiAweDA3NDE1MjEwXV0sIHs3LCAxfSAtLVtbdGFibGU6IDB4MDc0MTUyNTBdXSwgezgsIDB9IC0tW1t0YWJsZTogMHgwNzQxNTI5MF1dLCB7NiwgMH0gLS1bW3RhYmxlOiAweDA3NDE1MmQwXV0sIHs4LCAtMn0gLS1bW3RhYmxlOiAweDA3NDE1MzEwXV0sIHs3LCAtMX0gLS1bW3RhYmxlOiAweDA3NDE1MzUwXV0sIHs4LCAwfSAtLVtbdGFibGU6IDB4MDc0MTUzOTBdXSwgezcsIDF9IC0tW1t0YWJsZTogMHgwNzQxNTNkMF1dLCB7OCwgMH0gLS1bW3RhYmxlOiAweDA3NDE1NDEwXV0sIHs5LCAwfSAtLVtbdGFibGU6IDB4MDc0MTU0NTBdXSwgezksIDR9IC0tW1t0YWJsZTogMHgwNzQxNTQ5MF1dLCB7OCwgNX0gLS1bW3RhYmxlOiAweDA3NDE1NGQwXV0sIHsxMCwgM30gLS1bW3RhYmxlOiAweDA3NDE1NTEwXV19IC0tW1t0YWJsZTogMHgwNzQxNGQ1OF1d;0,0,undo,e3sxMCwgMn0gLS1bW3RhYmxlOiAweDA3MDNjZmQwXV0sIHs4LCA0fSAtLVtbdGFibGU6IDB4MDc2NDYyZDhdXSwgezksIDN9IC0tW1t0YWJsZTogMHgwNzU1OTc0MF1dLCB7OCwgM30gLS1bW3RhYmxlOiAweDA3NTU5NzgwXV0sIHs5LCAyfSAtLVtbdGFibGU6IDB4MDc1NTk3YzBdXSwgezEwLCAxfSAtLVtbdGFibGU6IDB4MDc1NTk4NTBdXSwgezUsIDJ9IC0tW1t0YWJsZTogMHgwNzU1OTg5MF1dLCB7NiwgM30gLS1bW3RhYmxlOiAweDA3NTU5OGQwXV0sIHs3LCA0fSAtLVtbdGFibGU6IDB4MDc1NTk5MTBdXSwgezcsIDJ9IC0tW1t0YWJsZTogMHgwNzU1OTllMF1dLCB7NywgM30gLS1bW3RhYmxlOiAweDA3NTU5YTIwXV0sIHs2LCAyfSAtLVtbdGFibGU6IDB4MDc1NTlhNjBdXSwgezgsIDN9IC0tW1t0YWJsZTogMHgwNzU1OWFhMF1dLCB7OSwgMn0gLS1bW3RhYmxlOiAweDA3NTU5YWUwXV0sIHsxMCwgMX0gLS1bW3RhYmxlOiAweDA3NTU5YjIwXV0sIHs3LCAxfSAtLVtbdGFibGU6IDB4MDc1NTliNjBdXSwgezgsIDB9IC0tW1t0YWJsZTogMHgwNzU1OWJhMF1dLCB7NiwgMH0gLS1bW3RhYmxlOiAweDA3NTU5YmUwXV0sIHs4LCAtMn0gLS1bW3RhYmxlOiAweDA3NTU5YzIwXV0sIHs3LCAtMX0gLS1bW3RhYmxlOiAweDA3NTU5YzYwXV0sIHs4LCAwfSAtLVtbdGFibGU6IDB4MDc1NTljYTBdXSwgezcsIDF9IC0tW1t0YWJsZTogMHgwNzU1OWNlMF1dLCB7OCwgMH0gLS1bW3RhYmxlOiAweDA3NTU5ZDIwXV0sIHs5LCAwfSAtLVtbdGFibGU6IDB4MDc1NTlkNjBdXSwgezksIDR9IC0tW1t0YWJsZTogMHgwNzU1OWRhMF1dLCB7OCwgNX0gLS1bW3RhYmxlOiAweDA3NTU5ZGUwXV0sIHsxMCwgM30gLS1bW3RhYmxlOiAweDA3NTU5ZTIwXV19IC0tW1t0YWJsZTogMHgwNzU1OTcxOF1d;0,0,space,e3sxMCwgMn0gLS1bW3RhYmxlOiAweDA2ZmIwODA4XV0sIHs4LCA0fSAtLVtbdGFibGU6IDB4MDZmYjA4NDhdXSwgezksIDN9IC0tW1t0YWJsZTogMHgwNmZiMDg4OF1dLCB7OCwgNH0gLS1bW3RhYmxlOiAweDA2ZmIwOGY4XV0sIHs5LCAzfSAtLVtbdGFibGU6IDB4MDczYjM4ZjBdXSwgezEwLCAyfSAtLVtbdGFibGU6IDB4MDczYjM5ODBdXSwgezUsIDJ9IC0tW1t0YWJsZTogMHgwNzNiMzljMF1dLCB7NiwgM30gLS1bW3RhYmxlOiAweDA3M2IzYTAwXV0sIHs3LCA0fSAtLVtbdGFibGU6IDB4MDczYjNhNDBdXSwgezcsIDJ9IC0tW1t0YWJsZTogMHgwNzNiM2IxMF1dLCB7NywgM30gLS1bW3RhYmxlOiAweDA3M2IzYjUwXV0sIHs2LCAyfSAtLVtbdGFibGU6IDB4MDczYjNiOTBdXSwgezgsIDN9IC0tW1t0YWJsZTogMHgwNzNiM2JkMF1dLCB7OSwgMn0gLS1bW3RhYmxlOiAweDA3M2IzYzEwXV0sIHsxMCwgMX0gLS1bW3RhYmxlOiAweDA3M2IzYzUwXV0sIHs4LCAyfSAtLVtbdGFibGU6IDB4MDczYjNjOTBdXSwgezksIDF9IC0tW1t0YWJsZTogMHgwNzNiM2NkMF1dLCB7NiwgMX0gLS1bW3RhYmxlOiAweDA3M2IzZTIwXV0sIHs4LCAtMX0gLS1bW3RhYmxlOiAweDA3M2IzZTYwXV0sIHs3LCAwfSAtLVtbdGFibGU6IDB4MDczYjNlYTBdXSwgezgsIDB9IC0tW1t0YWJsZTogMHgwNzNiM2VlMF1dLCB7NywgMX0gLS1bW3RhYmxlOiAweDA3M2IzOTMwXV0sIHs4LCAxfSAtLVtbdGFibGU6IDB4MDczYjNhODBdXSwgezksIDB9IC0tW1t0YWJsZTogMHgwNzNiM2FjMF1dLCB7OSwgNX0gLS1bW3RhYmxlOiAweDA2ZjFkMzAwXV0sIHs4LCA2fSAtLVtbdGFibGU6IDB4MDZmMWQzNDBdXSwgezEwLCA0fSAtLVtbdGFibGU6IDB4MDZmMWQzODBdXX0gLS1bW3RhYmxlOiAweDA2ZmIwN2UwXV0=;0,0,undo,e3sxMCwgM30gLS1bW3RhYmxlOiAweDA2ZTdjMTI4XV0sIHs4LCA1fSAtLVtbdGFibGU6IDB4MDZlNjhmZThdXSwgezksIDR9IC0tW1t0YWJsZTogMHgwNmU2OTAyOF1dLCB7OCwgNH0gLS1bW3RhYmxlOiAweDA2ZTY5MDY4XV0sIHs5LCAzfSAtLVtbdGFibGU6IDB4MDczYjNkYTBdXSwgezEwLCAyfSAtLVtbdGFibGU6IDB4MDczYjNlMzBdXSwgezYsIDJ9IC0tW1t0YWJsZTogMHgwNzNiM2U3MF1dLCB7NywgM30gLS1bW3RhYmxlOiAweDA3M2IzZWIwXV0sIHs4LCA0fSAtLVtbdGFibGU6IDB4MDc3MDVjNjBdXSwgezcsIDJ9IC0tW1t0YWJsZTogMHgwNzcwNWQzMF1dLCB7NywgM30gLS1bW3RhYmxlOiAweDA3NzA1ZDcwXV0sIHs2LCAyfSAtLVtbdGFibGU6IDB4MDc3MDVkYjBdXSwgezgsIDN9IC0tW1t0YWJsZTogMHgwNzcwNWRmMF1dLCB7OSwgMn0gLS1bW3RhYmxlOiAweDA3NzA1ZTMwXV0sIHsxMCwgMX0gLS1bW3RhYmxlOiAweDA3NzA1ZTcwXV0sIHs4LCAyfSAtLVtbdGFibGU6IDB4MDc3MDVlYjBdXSwgezksIDF9IC0tW1t0YWJsZTogMHgwNzcwNWVmMF1dLCB7NiwgMX0gLS1bW3RhYmxlOiAweDA3NzA1ZjMwXV0sIHs4LCAtMX0gLS1bW3RhYmxlOiAweDA3M2IzZGUwXV0sIHs3LCAwfSAtLVtbdGFibGU6IDB4MDc3MDVjYTBdXSwgezgsIDB9IC0tW1t0YWJsZTogMHgwNzcwNWNlMF1dLCB7NywgMX0gLS1bW3RhYmxlOiAweDA2ZWQ5ODUwXV0sIHs4LCAxfSAtLVtbdGFibGU6IDB4MDZlZDk4OTBdXSwgezksIDB9IC0tW1t0YWJsZTogMHgwNmVkOThkMF1dLCB7OSwgNX0gLS1bW3RhYmxlOiAweDA2ZWQ5OTEwXV0sIHs4LCA2fSAtLVtbdGFibGU6IDB4MDZlZDk5NTBdXSwgezEwLCA0fSAtLVtbdGFibGU6IDB4MDZlZDk5OTBdXX0gLS1bW3RhYmxlOiAweDA2ZTY4ZmMwXV0=;0,0,space,e3sxMCwgM30gLS1bW3RhYmxlOiAweDA3MzM2NTIwXV0sIHs4LCA1fSAtLVtbdGFibGU6IDB4MDczMzY1NjBdXSwgezksIDR9IC0tW1t0YWJsZTogMHgwNzMzNjVhMF1dLCB7OCwgNH0gLS1bW3RhYmxlOiAweDA3MzM2NjEwXV0sIHs5LCAzfSAtLVtbdGFibGU6IDB4MDczMzY2NTBdXSwgezEwLCAyfSAtLVtbdGFibGU6IDB4MDczMzY2ZTBdXSwgezUsIDJ9IC0tW1t0YWJsZTogMHgwNzMzNjcyMF1dLCB7NiwgM30gLS1bW3RhYmxlOiAweDA3MzM2NzYwXV0sIHs3LCA0fSAtLVtbdGFibGU6IDB4MDczMzY3YTBdXSwgezcsIDJ9IC0tW1t0YWJsZTogMHgwNzMzNjdlMF1dLCB7NywgM30gLS1bW3RhYmxlOiAweDA3ODVkMDI4XV0sIHs2LCAyfSAtLVtbdGFibGU6IDB4MDc4NWQwNjhdXSwgezgsIDN9IC0tW1t0YWJsZTogMHgwNzMzNjY5MF1dLCB7OSwgMn0gLS1bW3RhYmxlOiAweDA3MDkzNjYwXV0sIHsxMCwgMX0gLS1bW3RhYmxlOiAweDA3MDkzNmEwXV0sIHs4LCAyfSAtLVtbdGFibGU6IDB4MDcwOTM2ZTBdXSwgezksIDF9IC0tW1t0YWJsZTogMHgwNzA5MzcyMF1dLCB7NiwgMX0gLS1bW3RhYmxlOiAweDA3MDkzNzYwXV0sIHs4LCAtMX0gLS1bW3RhYmxlOiAweDA3MDkzN2EwXV0sIHs3LCAwfSAtLVtbdGFibGU6IDB4MDc4NWNmOThdXSwgezgsIDB9IC0tW1t0YWJsZTogMHgwNzg1Y2ZkOF1dLCB7NywgMX0gLS1bW3RhYmxlOiAweDA2ZjkzOTY4XV0sIHs4LCAxfSAtLVtbdGFibGU6IDB4MDZmOTM5YThdXSwgezksIDB9IC0tW1t0YWJsZTogMHgwNmY5MzllOF1dLCB7OSwgNX0gLS1bW3RhYmxlOiAweDA2ZjkzYTI4XV0sIHs4LCA2fSAtLVtbdGFibGU6IDB4MDZmOTNhNjhdXSwgezEwLCA0fSAtLVtbdGFibGU6IDB4MDZmOTNhYThdXX0gLS1bW3RhYmxlOiAweDA3MzM2NGY4XV0=;0,-1,wasd,e3sxMiwgOX0gLS1bW3RhYmxlOiAweDA3MDVhZTM4XV0sIHsxMCwgMTF9IC0tW1t0YWJsZTogMHgwNzA1YWU5OF1dLCB7MTEsIDEwfSAtLVtbdGFibGU6IDB4MDcwNWFlZDhdXSwgezEwLCAxMH0gLS1bW3RhYmxlOiAweDA3MDVhZjQ4XV0sIHsxMSwgOX0gLS1bW3RhYmxlOiAweDA3MDVhZjg4XV0sIHsxMiwgOH0gLS1bW3RhYmxlOiAweDA3MDViMDE4XV0sIHs3LCA5fSAtLVtbdGFibGU6IDB4MDcwNWIwNThdXSwgezgsIDEwfSAtLVtbdGFibGU6IDB4MDcwNWIwOThdXSwgezksIDExfSAtLVtbdGFibGU6IDB4MDcwNWIwZDhdXSwgezksIDl9IC0tW1t0YWJsZTogMHgwN2E3ODZjMF1dLCB7OSwgMTB9IC0tW1t0YWJsZTogMHgwN2E3ODcwMF1dLCB7OCwgOX0gLS1bW3RhYmxlOiAweDA3YTc4NzQwXV0sIHsxMCwgMTB9IC0tW1t0YWJsZTogMHgwN2E3ODc4MF1dLCB7MTEsIDl9IC0tW1t0YWJsZTogMHgwNzA1YWZjOF1dLCB7MTIsIDh9IC0tW1t0YWJsZTogMHgwNzA1YjExOF1dLCB7OSwgOX0gLS1bW3RhYmxlOiAweDA3MDViMTU4XV0sIHsxMCwgOH0gLS1bW3RhYmxlOiAweDA3NmNkZDI4XV0sIHs4LCA4fSAtLVtbdGFibGU6IDB4MDc2Y2RlNzhdXSwgezEwLCA2fSAtLVtbdGFibGU6IDB4MDc2Y2RlYjhdXSwgezksIDd9IC0tW1t0YWJsZTogMHgwNzZjZGVmOF1dLCB7MTAsIDd9IC0tW1t0YWJsZTogMHgwNzZjZGYzOF1dLCB7OSwgOH0gLS1bW3RhYmxlOiAweDA3NmNkZjc4XV0sIHsxMCwgOH0gLS1bW3RhYmxlOiAweDA3YTc4NjMwXV0sIHsxMSwgN30gLS1bW3RhYmxlOiAweDA3YTc4NjcwXV0sIHsxMSwgMTF9IC0tW1t0YWJsZTogMHgwNmZlYjM1MF1dLCB7MTAsIDEyfSAtLVtbdGFibGU6IDB4MDZmZWIzOTBdXSwgezEyLCAxMH0gLS1bW3RhYmxlOiAweDA2ZmViM2QwXV0sIHsxMywgOX0gLS1bW3RhYmxlOiAweDA2ZmViNDEwXV0sIHsxMywgMTF9IC0tW1t0YWJsZTogMHgwNmZlYjQ1MF1dLCB7MTMsIDEwfSAtLVtbdGFibGU6IDB4MDZmZWI0OTBdXX0gLS1bW3RhYmxlOiAweDA3MDVhZTEwXV0=;0,0,space,e30gLS1bW3RhYmxlOiAweDA3YTk4ZWY4XV0=;0,0,undo,e30gLS1bW3RhYmxlOiAweDA3OGM2NmU4XV0=;0,0,undo,e3sxMywgMTB9IC0tW1t0YWJsZTogMHgwNmVjZTk4MF1dLCB7MTMsIDExfSAtLVtbdGFibGU6IDB4MDc5MTllZThdXSwgezEzLCA5fSAtLVtbdGFibGU6IDB4MDc5MTlmMjhdXSwgezEyLCAxMH0gLS1bW3RhYmxlOiAweDA3YmY3ZDMwXV0sIHsxMCwgMTJ9IC0tW1t0YWJsZTogMHgwN2JmN2Q3MF1dLCB7MTEsIDExfSAtLVtbdGFibGU6IDB4MDc5MTlmNjhdXSwgezExLCA3fSAtLVtbdGFibGU6IDB4MDc5MTk1ODBdXSwgezEwLCA4fSAtLVtbdGFibGU6IDB4MDc5MTk1YzBdXSwgezksIDh9IC0tW1t0YWJsZTogMHgwNzkxOTYwMF1dLCB7MTAsIDd9IC0tW1t0YWJsZTogMHgwNzkxOThmMF1dLCB7OSwgN30gLS1bW3RhYmxlOiAweDA3OTE5OTMwXV0sIHsxMCwgNn0gLS1bW3RhYmxlOiAweDA3OTE5NjQwXV0sIHs4LCA4fSAtLVtbdGFibGU6IDB4MDdiZjdkYjBdXSwgezEwLCA4fSAtLVtbdGFibGU6IDB4MDdhOTBjNDBdXSwgezksIDl9IC0tW1t0YWJsZTogMHgwN2E5MGM4MF1dLCB7MTIsIDh9IC0tW1t0YWJsZTogMHgwN2E5MGNjMF1dLCB7MTEsIDl9IC0tW1t0YWJsZTogMHgwN2E5MGQwMF1dLCB7MTAsIDEwfSAtLVtbdGFibGU6IDB4MDdhOTBlNTBdXSwgezgsIDl9IC0tW1t0YWJsZTogMHgwN2E5MGU5MF1dLCB7OSwgMTB9IC0tW1t0YWJsZTogMHgwN2E5MGVkMF1dLCB7OSwgOX0gLS1bW3RhYmxlOiAweDA3YTkwZjEwXV0sIHs5LCAxMX0gLS1bW3RhYmxlOiAweDA3YTkwZjUwXV0sIHs4LCAxMH0gLS1bW3RhYmxlOiAweDA3YTkwZjkwXV0sIHs3LCA5fSAtLVtbdGFibGU6IDB4MDdhOTBmZDBdXSwgezEyLCA4fSAtLVtbdGFibGU6IDB4MDdhOTEwMTBdXSwgezExLCA5fSAtLVtbdGFibGU6IDB4MDdhOTEwNTBdXSwgezEwLCAxMH0gLS1bW3RhYmxlOiAweDA3YTkxMDkwXV0sIHsxMSwgMTB9IC0tW1t0YWJsZTogMHgwN2E5MTBkMF1dLCB7MTAsIDExfSAtLVtbdGFibGU6IDB4MDdhOTExMTBdXSwgezEyLCA5fSAtLVtbdGFibGU6IDB4MDdhOTExNTBdXX0gLS1bW3RhYmxlOiAweDA3OTE5ZWMwXV0=;0,0,undo,e3sxMiwgMTB9IC0tW1t0YWJsZTogMHgwNzcwZjU5OF1dLCB7MTAsIDEyfSAtLVtbdGFibGU6IDB4MDc3NmMwMThdXSwgezExLCAxMX0gLS1bW3RhYmxlOiAweDA3YmM4NWUwXV0sIHsxMSwgN30gLS1bW3RhYmxlOiAweDA3MWIxNTQwXV0sIHsxMCwgOH0gLS1bW3RhYmxlOiAweDA3MGQ1MjM4XV0sIHs5LCA4fSAtLVtbdGFibGU6IDB4MDc4NDAwZDBdXSwgezEwLCA3fSAtLVtbdGFibGU6IDB4MDc1Y2NjYzBdXSwgezksIDd9IC0tW1t0YWJsZTogMHgwN2MxNzgwMF1dLCB7MTAsIDZ9IC0tW1t0YWJsZTogMHgwNzdjNGQwMF1dLCB7OCwgOH0gLS1bW3RhYmxlOiAweDA3OGJiMjI4XV0sIHsxMCwgOH0gLS1bW3RhYmxlOiAweDA3ODUwZGE4XV0sIHs5LCA5fSAtLVtbdGFibGU6IDB4MDdhYzY0NzBdXSwgezExLCA4fSAtLVtbdGFibGU6IDB4MDczMzI2ZDBdXSwgezEwLCA5fSAtLVtbdGFibGU6IDB4MDZlZWY0YThdXSwgezksIDEwfSAtLVtbdGFibGU6IDB4MDZmZWY2YzBdXSwgezgsIDl9IC0tW1t0YWJsZTogMHgwNzY1NzIzOF1dLCB7OSwgMTB9IC0tW1t0YWJsZTogMHgwNmQ2ODBkMF1dLCB7OSwgOX0gLS1bW3RhYmxlOiAweDA3MzMyNzEwXV0sIHs5LCAxMX0gLS1bW3RhYmxlOiAweDA3MDQ3YTI4XV0sIHs4LCAxMH0gLS1bW3RhYmxlOiAweDA3M2ZiMGEwXV0sIHs3LCA5fSAtLVtbdGFibGU6IDB4MDcyMGMxNzBdXSwgezEyLCA4fSAtLVtbdGFibGU6IDB4MDcxZmYyOTBdXSwgezExLCA5fSAtLVtbdGFibGU6IDB4MDczZmIwZTBdXSwgezEwLCAxMH0gLS1bW3RhYmxlOiAweDA2ZmY4N2QwXV0sIHsxMSwgMTB9IC0tW1t0YWJsZTogMHgwNmY4ZDA1MF1dLCB7MTAsIDExfSAtLVtbdGFibGU6IDB4MDZmNjIzNDBdXSwgezEyLCA5fSAtLVtbdGFibGU6IDB4MDc0YmFkZTBdXX0gLS1bW3RhYmxlOiAweDA3NWVjZjg4XV0=;0,0,undo,e3sxMSwgMX0gLS1bW3RhYmxlOiAweDA2ZTllY2Q4XV0sIHsxMCwgMn0gLS1bW3RhYmxlOiAweDA2ZmJkYTMwXV0sIHs5LCAyfSAtLVtbdGFibGU6IDB4MDc3YTA0MThdXSwgezEwLCAxfSAtLVtbdGFibGU6IDB4MDdiNjMzNzhdXSwgezksIDF9IC0tW1t0YWJsZTogMHgwNzcwNWYxOF1dLCB7MTAsIDB9IC0tW1t0YWJsZTogMHgwNmZmYTY0OF1dLCB7OCwgMn0gLS1bW3RhYmxlOiAweDA2ZmZhNjg4XV0sIHsxMCwgMn0gLS1bW3RhYmxlOiAweDA2ZmZhNmM4XV0sIHs5LCAzfSAtLVtbdGFibGU6IDB4MDZmZmE3MDhdXSwgezEyLCAyfSAtLVtbdGFibGU6IDB4MDZmZmE3ZDhdXSwgezExLCAzfSAtLVtbdGFibGU6IDB4MDZmZmE4MThdXSwgezEwLCA0fSAtLVtbdGFibGU6IDB4MDZmZmE4NThdXSwgezgsIDN9IC0tW1t0YWJsZTogMHgwNmZmYTg5OF1dLCB7OSwgNH0gLS1bW3RhYmxlOiAweDA2ZmZhOGQ4XV0sIHs5LCAzfSAtLVtbdGFibGU6IDB4MDZmZmE5MThdXSwgezksIDV9IC0tW1t0YWJsZTogMHgwNmZmYTk1OF1dLCB7OCwgNH0gLS1bW3RhYmxlOiAweDA2ZmZhOTk4XV0sIHs3LCAzfSAtLVtbdGFibGU6IDB4MDZmZmE5ZDhdXSwgezEyLCAzfSAtLVtbdGFibGU6IDB4MDZmZmFhMThdXSwgezExLCA0fSAtLVtbdGFibGU6IDB4MDZmZmFhNThdXSwgezEwLCA1fSAtLVtbdGFibGU6IDB4MDZmZmFhOThdXSwgezExLCA1fSAtLVtbdGFibGU6IDB4MDZmZmFhZDhdXSwgezEwLCA2fSAtLVtbdGFibGU6IDB4MDZmZmFiMThdXSwgezEyLCA0fSAtLVtbdGFibGU6IDB4MDZmZmFiNThdXX0gLS1bW3RhYmxlOiAweDA2ZmZhNWEwXV0=;0,0,space,e3sxMCwgMX0gLS1bW3RhYmxlOiAweDA3YmQ3ZmE4XV0sIHs5LCAyfSAtLVtbdGFibGU6IDB4MDdiZDdmZThdXSwgezgsIDJ9IC0tW1t0YWJsZTogMHgwN2JkODAyOF1dLCB7OSwgMX0gLS1bW3RhYmxlOiAweDA3YmQ4MDY4XV0sIHs4LCAxfSAtLVtbdGFibGU6IDB4MDdiZDgwYThdXSwgezksIDB9IC0tW1t0YWJsZTogMHgwN2JkODEzOF1dLCB7NywgMn0gLS1bW3RhYmxlOiAweDA3YmQ4MTc4XV0sIHsxMCwgMn0gLS1bW3RhYmxlOiAweDA3YmQ4MWI4XV0sIHs5LCAzfSAtLVtbdGFibGU6IDB4MDdiZDgxZjhdXSwgezExLCAyfSAtLVtbdGFibGU6IDB4MDdiZDgwZThdXSwgezEwLCAzfSAtLVtbdGFibGU6IDB4MDdhYTNjZjBdXSwgezksIDR9IC0tW1t0YWJsZTogMHgwN2FhM2QzMF1dLCB7NywgM30gLS1bW3RhYmxlOiAweDA3YWEzZDcwXV0sIHs4LCA0fSAtLVtbdGFibGU6IDB4MDdhYTNkYjBdXSwgezgsIDN9IC0tW1t0YWJsZTogMHgwN2FhM2RmMF1dLCB7OCwgNX0gLS1bW3RhYmxlOiAweDA3YWEzZTMwXV0sIHs3LCA0fSAtLVtbdGFibGU6IDB4MDdhYTNlNzBdXSwgezYsIDN9IC0tW1t0YWJsZTogMHgwN2FhM2ZjMF1dLCB7MTEsIDJ9IC0tW1t0YWJsZTogMHgwN2FhNDAwMF1dLCB7MTAsIDN9IC0tW1t0YWJsZTogMHgwN2FhNDA0MF1dLCB7OSwgNH0gLS1bW3RhYmxlOiAweDA3YWE0MDgwXV0sIHsxMCwgNH0gLS1bW3RhYmxlOiAweDA3YWE0MGMwXV0sIHs5LCA1fSAtLVtbdGFibGU6IDB4MDdhYTQxMDBdXSwgezExLCAzfSAtLVtbdGFibGU6IDB4MDdhYTQxNDBdXX0gLS1bW3RhYmxlOiAweDA3MTgyOGI4XV0=;0,0,undo,e3sxMSwgN30gLS1bW3RhYmxlOiAweDA2ZjgxNDQ4XV0sIHsxMCwgN30gLS1bW3RhYmxlOiAweDA3NWYyYjE4XV0sIHs5LCA3fSAtLVtbdGFibGU6IDB4MDZmZThhNjBdXSwgezEwLCA2fSAtLVtbdGFibGU6IDB4MDZmYWRmNTBdXSwgezksIDZ9IC0tW1t0YWJsZTogMHgwNmZhZGY5MF1dLCB7MTAsIDV9IC0tW1t0YWJsZTogMHgwNmZhZTAyMF1dLCB7OCwgN30gLS1bW3RhYmxlOiAweDA2ZmFlMDYwXV0sIHsxMCwgN30gLS1bW3RhYmxlOiAweDA2ZmFlMGEwXV0sIHs5LCA4fSAtLVtbdGFibGU6IDB4MDZmYWUwZTBdXSwgezEyLCA3fSAtLVtbdGFibGU6IDB4MDZmYWUxYjBdXSwgezExLCA4fSAtLVtbdGFibGU6IDB4MDZmYWUxZjBdXSwgezEwLCA5fSAtLVtbdGFibGU6IDB4MDZmYWUyMzBdXSwgezgsIDl9IC0tW1t0YWJsZTogMHgwNmZhZTI3MF1dLCB7OSwgMTB9IC0tW1t0YWJsZTogMHgwNmZhZTJiMF1dLCB7OSwgOX0gLS1bW3RhYmxlOiAweDA2ZmFlMmYwXV0sIHs5LCAxMH0gLS1bW3RhYmxlOiAweDA2ZTlhMDEwXV0sIHs4LCA5fSAtLVtbdGFibGU6IDB4MDZmYWUzMzBdXSwgezcsIDh9IC0tW1t0YWJsZTogMHgwNmZhZGZkMF1dLCB7MTIsIDh9IC0tW1t0YWJsZTogMHgwNzAzMWM0OF1dLCB7MTEsIDl9IC0tW1t0YWJsZTogMHgwNzAzMWM4OF1dLCB7MTAsIDEwfSAtLVtbdGFibGU6IDB4MDcwMzFjYzhdXSwgezExLCAxMH0gLS1bW3RhYmxlOiAweDA2ZjY0MTMwXV0sIHsxMCwgMTF9IC0tW1t0YWJsZTogMHgwNzQwYzYxMF1dLCB7MTIsIDl9IC0tW1t0YWJsZTogMHgwNzFjNDZiOF1dfSAtLVtbdGFibGU6IDB4MDc1ZjJhZjBdXQ==;0,-1,wasd,e3sxMSwgN30gLS1bW3RhYmxlOiAweDA2ZjRjOTE4XV0sIHsxMCwgOH0gLS1bW3RhYmxlOiAweDA3NDdjZWM4XV0sIHs5LCA4fSAtLVtbdGFibGU6IDB4MDcyZGZlMjhdXSwgezEwLCA3fSAtLVtbdGFibGU6IDB4MDc2MTJiMjhdXSwgezksIDd9IC0tW1t0YWJsZTogMHgwNmY5MmQzOF1dLCB7MTAsIDZ9IC0tW1t0YWJsZTogMHgwNmY1OGZlOF1dLCB7OCwgOH0gLS1bW3RhYmxlOiAweDA3NDNmMjg4XV0sIHsxMSwgOH0gLS1bW3RhYmxlOiAweDA2ZjQ3MGUwXV0sIHsxMCwgOX0gLS1bW3RhYmxlOiAweDA3MjQ2OWMwXV0sIHsxMiwgOH0gLS1bW3RhYmxlOiAweDA2ZDgyMTEwXV0sIHsxMSwgOX0gLS1bW3RhYmxlOiAweDA2ZTBiMjkwXV0sIHsxMCwgMTB9IC0tW1t0YWJsZTogMHgwNmY1NTk5OF1dLCB7OCwgOX0gLS1bW3RhYmxlOiAweDA2ZGI0MGUwXV0sIHs5LCAxMH0gLS1bW3RhYmxlOiAweDA3MTUwZjUwXV0sIHs5LCA5fSAtLVtbdGFibGU6IDB4MDZmMDk0NThdXSwgezksIDExfSAtLVtbdGFibGU6IDB4MDZkOTFkYThdXSwgezgsIDEwfSAtLVtbdGFibGU6IDB4MDcwMzE1ZjBdXSwgezcsIDl9IC0tW1t0YWJsZTogMHgwNmU1ZjYzOF1dLCB7MTIsIDl9IC0tW1t0YWJsZTogMHgwNmY1MTgxOF1dLCB7MTEsIDEwfSAtLVtbdGFibGU6IDB4MDZmMWExMThdXSwgezEwLCAxMX0gLS1bW3RhYmxlOiAweDA3MWYzOWY4XV0sIHsxMSwgMTB9IC0tW1t0YWJsZTogMHgwNzJjNGE0MF1dLCB7MTAsIDExfSAtLVtbdGFibGU6IDB4MDcyM2ZiOThdXSwgezEyLCA5fSAtLVtbdGFibGU6IDB4MDZmZjUxZTBdXX0gLS1bW3RhYmxlOiAweDA2ZjVkMjM4XV0=;0,0,space,e30gLS1bW3RhYmxlOiAweDA3NTYyMjI4XV0=;0,0,undo,e30gLS1bW3RhYmxlOiAweDA3MGQ1NmIwXV0=;0,0,space,e30gLS1bW3RhYmxlOiAweDA3OWRhZjE4XV0=;0,0,undo,e30gLS1bW3RhYmxlOiAweDA3NzBmNGU4XV0=;0,0,undo,e3sxMiwgOX0gLS1bW3RhYmxlOiAweDA3N2M1Njg4XV0sIHsxMCwgMTF9IC0tW1t0YWJsZTogMHgwN2JhYjU1OF1dLCB7MTEsIDEwfSAtLVtbdGFibGU6IDB4MDczYmVlMDhdXSwgezEwLCAxMX0gLS1bW3RhYmxlOiAweDA3M2JlZTc4XV0sIHsxMSwgMTB9IC0tW1t0YWJsZTogMHgwNzNiZWViOF1dLCB7MTIsIDl9IC0tW1t0YWJsZTogMHgwNzNiZWY0OF1dLCB7NywgOX0gLS1bW3RhYmxlOiAweDA3M2JlZjg4XV0sIHs4LCAxMH0gLS1bW3RhYmxlOiAweDA3M2JlZmM4XV0sIHs5LCAxMX0gLS1bW3RhYmxlOiAweDA3M2JmMDA4XV0sIHs5LCA5fSAtLVtbdGFibGU6IDB4MDczYmYwZDhdXSwgezksIDEwfSAtLVtbdGFibGU6IDB4MDczYmYxMThdXSwgezgsIDl9IC0tW1t0YWJsZTogMHgwNzNiZjE1OF1dLCB7MTAsIDEwfSAtLVtbdGFibGU6IDB4MDczYmVlZjhdXSwgezExLCA5fSAtLVtbdGFibGU6IDB4MDZmYjRiYzBdXSwgezEyLCA4fSAtLVtbdGFibGU6IDB4MDZmYjRjMDBdXSwgezEwLCA5fSAtLVtbdGFibGU6IDB4MDZmYjRjNDBdXSwgezExLCA4fSAtLVtbdGFibGU6IDB4MDZmYjRjODBdXSwgezgsIDh9IC0tW1t0YWJsZTogMHgwNzNiZjA0OF1dLCB7MTAsIDZ9IC0tW1t0YWJsZTogMHgwNzNiZjA4OF1dLCB7OSwgN30gLS1bW3RhYmxlOiAweDA2ZmI1M2I4XV0sIHsxMCwgN30gLS1bW3RhYmxlOiAweDA2ZmI1M2Y4XV0sIHs5LCA4fSAtLVtbdGFibGU6IDB4MDZmYjU0MzhdXSwgezEwLCA4fSAtLVtbdGFibGU6IDB4MDZmYjU0NzhdXSwgezExLCA3fSAtLVtbdGFibGU6IDB4MDZmYjU0YjhdXX0gLS1bW3RhYmxlOiAweDA3M2JlZGUwXV0=;0,0,space,e3sxMSwgMX0gLS1bW3RhYmxlOiAweDA3NzkxYzEwXV0sIHs5LCAzfSAtLVtbdGFibGU6IDB4MDc3OTFjNTBdXSwgezEwLCAyfSAtLVtbdGFibGU6IDB4MDc3OTFjOTBdXSwgezksIDJ9IC0tW1t0YWJsZTogMHgwNzc5MWQwMF1dLCB7MTAsIDF9IC0tW1t0YWJsZTogMHgwNzc5MWQ0MF1dLCB7MTEsIDB9IC0tW1t0YWJsZTogMHgwN2FiYzRlMF1dLCB7NiwgMX0gLS1bW3RhYmxlOiAweDA3YWJjNTIwXV0sIHs3LCAyfSAtLVtbdGFibGU6IDB4MDdhYmM1NjBdXSwgezgsIDN9IC0tW1t0YWJsZTogMHgwN2FiYzVhMF1dLCB7OCwgMX0gLS1bW3RhYmxlOiAweDA3YWJjNjcwXV0sIHs4LCAyfSAtLVtbdGFibGU6IDB4MDdhYmM2YjBdXSwgezcsIDF9IC0tW1t0YWJsZTogMHgwN2FiYzQ5MF1dLCB7OCwgMn0gLS1bW3RhYmxlOiAweDA3NjU5YTAwXV0sIHs5LCAxfSAtLVtbdGFibGU6IDB4MDc2NTlhNDBdXSwgezEwLCAwfSAtLVtbdGFibGU6IDB4MDc2NTlhODBdXSwgezgsIDB9IC0tW1t0YWJsZTogMHgwNzY1OWFjMF1dLCB7OSwgLTF9IC0tW1t0YWJsZTogMHgwNzY1OWIwMF1dLCB7NiwgLTF9IC0tW1t0YWJsZTogMHgwN2FiYzVlMF1dLCB7OCwgLTN9IC0tW1t0YWJsZTogMHgwN2FiYzYyMF1dLCB7NywgLTJ9IC0tW1t0YWJsZTogMHgwNmViNGNmOF1dLCB7OCwgLTF9IC0tW1t0YWJsZTogMHgwNmViNGQzOF1dLCB7NywgMH0gLS1bW3RhYmxlOiAweDA2ZWI0ZDc4XV0sIHs4LCAtMX0gLS1bW3RhYmxlOiAweDA2ZWI0ZGI4XV0sIHsxMCwgLTF9IC0tW1t0YWJsZTogMHgwNmViNGRmOF1dfSAtLVtbdGFibGU6IDB4MDc3OTFiZThdXQ==;0,0,space,e3sxMCwgM30gLS1bW3RhYmxlOiAweDA3MDkzZDk4XV0sIHs4LCA1fSAtLVtbdGFibGU6IDB4MDcwOTNkZDhdXSwgezksIDR9IC0tW1t0YWJsZTogMHgwNzA5M2UxOF1dLCB7OCwgNH0gLS1bW3RhYmxlOiAweDA3MDkzZTg4XV0sIHs5LCAzfSAtLVtbdGFibGU6IDB4MDcwOTNlYzhdXSwgezEwLCAyfSAtLVtbdGFibGU6IDB4MDcwOTNmNThdXSwgezUsIDN9IC0tW1t0YWJsZTogMHgwNzA5M2Y5OF1dLCB7NiwgNH0gLS1bW3RhYmxlOiAweDA3MDkzZmQ4XV0sIHs3LCA1fSAtLVtbdGFibGU6IDB4MDcwOTQwMThdXSwgezcsIDN9IC0tW1t0YWJsZTogMHgwNzA5NDBlOF1dLCB7NywgNH0gLS1bW3RhYmxlOiAweDA3MDk0MTI4XV0sIHs2LCAzfSAtLVtbdGFibGU6IDB4MDcwOTQxNjhdXSwgezgsIDN9IC0tW1t0YWJsZTogMHgwNzA5NDFhOF1dLCB7OSwgMn0gLS1bW3RhYmxlOiAweDA3MDk0MWU4XV0sIHsxMCwgMX0gLS1bW3RhYmxlOiAweDA3MDk0MjI4XV0sIHs4LCAyfSAtLVtbdGFibGU6IDB4MDcwOTQyNjhdXSwgezksIDF9IC0tW1t0YWJsZTogMHgwNzA5NDJhOF1dLCB7NiwgMX0gLS1bW3RhYmxlOiAweDA3MDk0MmU4XV0sIHs4LCAtMX0gLS1bW3RhYmxlOiAweDA3MDk0MzI4XV0sIHs3LCAwfSAtLVtbdGFibGU6IDB4MDcwOTQzNjhdXSwgezgsIDB9IC0tW1t0YWJsZTogMHgwNzA5NDNhOF1dLCB7NywgMX0gLS1bW3RhYmxlOiAweDA3MDk0M2U4XV0sIHs4LCAxfSAtLVtbdGFibGU6IDB4MDcwOTQ0MjhdXSwgezksIDF9IC0tW1t0YWJsZTogMHgwNzA5NDQ2OF1dLCB7OSwgNX0gLS1bW3RhYmxlOiAweDA3MDk0NGE4XV0sIHs4LCA2fSAtLVtbdGFibGU6IDB4MDcwOTQ0ZThdXSwgezEwLCA0fSAtLVtbdGFibGU6IDB4MDcwOTQ1MjhdXX0gLS1bW3RhYmxlOiAweDA3MDkzZDcwXV0=;0,0,undo,e3sxMCwgM30gLS1bW3RhYmxlOiAweDA2ZDY1YmEwXV0sIHs4LCA1fSAtLVtbdGFibGU6IDB4MDZkNjViZTBdXSwgezksIDR9IC0tW1t0YWJsZTogMHgwNmQ2NWMyMF1dLCB7OCwgNH0gLS1bW3RhYmxlOiAweDA2ZGM5MmY4XV0sIHs5LCAzfSAtLVtbdGFibGU6IDB4MDZkYzkzMzhdXSwgezEwLCAyfSAtLVtbdGFibGU6IDB4MDZkYzkzYzhdXSwgezUsIDJ9IC0tW1t0YWJsZTogMHgwNmQ2NWM2MF1dLCB7NiwgM30gLS1bW3RhYmxlOiAweDA2ZDg0ZTQ4XV0sIHs3LCA0fSAtLVtbdGFibGU6IDB4MDZkODRlODhdXSwgezcsIDN9IC0tW1t0YWJsZTogMHgwNmRjOTM3OF1dLCB7NywgNH0gLS1bW3RhYmxlOiAweDA2ZDYzZmM4XV0sIHs2LCAzfSAtLVtbdGFibGU6IDB4MDZkNjQwMDhdXSwgezgsIDN9IC0tW1t0YWJsZTogMHgwNmQ2NDA0OF1dLCB7OSwgMn0gLS1bW3RhYmxlOiAweDA2ZDY0MDg4XV0sIHsxMCwgMX0gLS1bW3RhYmxlOiAweDA2ZDY0MGM4XV0sIHs4LCAyfSAtLVtbdGFibGU6IDB4MDZkYTZhNThdXSwgezksIDF9IC0tW1t0YWJsZTogMHgwNmRhNmE5OF1dLCB7NiwgMX0gLS1bW3RhYmxlOiAweDA2ZGE2YWQ4XV0sIHs4LCAtMX0gLS1bW3RhYmxlOiAweDA2ZGE2YjE4XV0sIHs3LCAwfSAtLVtbdGFibGU6IDB4MDZkYTZiNThdXSwgezgsIDB9IC0tW1t0YWJsZTogMHgwNmQ4NGVjOF1dLCB7NywgMX0gLS1bW3RhYmxlOiAweDA2ZDg0ZjA4XV0sIHs4LCAxfSAtLVtbdGFibGU6IDB4MDZkODRmNDhdXSwgezksIDF9IC0tW1t0YWJsZTogMHgwNmQ2ZTA2OF1dLCB7OSwgNX0gLS1bW3RhYmxlOiAweDA2ZDZlMGE4XV0sIHs4LCA2fSAtLVtbdGFibGU6IDB4MDZkNmUwZThdXSwgezEwLCA0fSAtLVtbdGFibGU6IDB4MDZkNmUxMjhdXX0gLS1bW3RhYmxlOiAweDA2ZDY1Yjc4XV0=;0,0,space,e3sxMCwgM30gLS1bW3RhYmxlOiAweDA3MWFjOGY4XV0sIHs4LCA1fSAtLVtbdGFibGU6IDB4MDcxYWM5MzhdXSwgezksIDR9IC0tW1t0YWJsZTogMHgwNzFhYzk3OF1dLCB7OSwgNH0gLS1bW3RhYmxlOiAweDA3MWFjOWI4XV0sIHsxMCwgM30gLS1bW3RhYmxlOiAweDA3MWFjOWY4XV0sIHsxMSwgMn0gLS1bW3RhYmxlOiAweDA3MWFjYTg4XV0sIHs2LCAyfSAtLVtbdGFibGU6IDB4MDcxYWNhYzhdXSwgezcsIDN9IC0tW1t0YWJsZTogMHgwNzFhY2IwOF1dLCB7OCwgNH0gLS1bW3RhYmxlOiAweDA3MWFjYjQ4XV0sIHs4LCAyfSAtLVtbdGFibGU6IDB4MDcxYWNjMThdXSwgezgsIDN9IC0tW1t0YWJsZTogMHgwNzFhY2M1OF1dLCB7NywgMn0gLS1bW3RhYmxlOiAweDA3MWFjYzk4XV0sIHs4LCAzfSAtLVtbdGFibGU6IDB4MDcxYWNjZDhdXSwgezksIDJ9IC0tW1t0YWJsZTogMHgwNzFhY2QxOF1dLCB7MTAsIDF9IC0tW1t0YWJsZTogMHgwNzFhY2Q1OF1dLCB7OCwgMn0gLS1bW3RhYmxlOiAweDA3MWFjZDk4XV0sIHs5LCAxfSAtLVtbdGFibGU6IDB4MDcxYWNkZDhdXSwgezYsIDF9IC0tW1t0YWJsZTogMHgwNzFhY2UxOF1dLCB7OCwgLTF9IC0tW1t0YWJsZTogMHgwNzFhY2U1OF1dLCB7NywgMH0gLS1bW3RhYmxlOiAweDA3MWFjZTk4XV0sIHs4LCAwfSAtLVtbdGFibGU6IDB4MDcxYWNlZDhdXSwgezcsIDF9IC0tW1t0YWJsZTogMHgwNzFhY2YxOF1dLCB7OCwgMX0gLS1bW3RhYmxlOiAweDA3MWFjZjU4XV0sIHsxMCwgMH0gLS1bW3RhYmxlOiAweDA3MWFjZjk4XV0sIHsxMCwgNX0gLS1bW3RhYmxlOiAweDA3MWFjZmQ4XV0sIHs5LCA2fSAtLVtbdGFibGU6IDB4MDcxYWQwMThdXSwgezExLCA0fSAtLVtbdGFibGU6IDB4MDcxYWQwNThdXX0gLS1bW3RhYmxlOiAweDA3MWFjOGQwXV0=;0,-1,wasd,e3sxMiwgOX0gLS1bW3RhYmxlOiAweDA3NDMwYzEwXV0sIHsxMCwgMTF9IC0tW1t0YWJsZTogMHgwNmY2MjAzOF1dLCB7MTEsIDEwfSAtLVtbdGFibGU6IDB4MDZmNjIwNzhdXSwgezEwLCAxMH0gLS1bW3RhYmxlOiAweDA2ZTA0YTUwXV0sIHsxMSwgOX0gLS1bW3RhYmxlOiAweDA2ZTA0YTkwXV0sIHsxMiwgOH0gLS1bW3RhYmxlOiAweDA2ZTA0YjIwXV0sIHs3LCA5fSAtLVtbdGFibGU6IDB4MDZlMDRiNjBdXSwgezgsIDEwfSAtLVtbdGFibGU6IDB4MDZlMDRiYTBdXSwgezksIDExfSAtLVtbdGFibGU6IDB4MDcxNjliZDBdXSwgezksIDl9IC0tW1t0YWJsZTogMHgwNmUwNGM3MF1dLCB7OSwgMTB9IC0tW1t0YWJsZTogMHgwNmUwNGNiMF1dLCB7OCwgOX0gLS1bW3RhYmxlOiAweDA2ZTA0Y2YwXV0sIHsxMCwgMTB9IC0tW1t0YWJsZTogMHgwNmUwNGQzMF1dLCB7MTEsIDl9IC0tW1t0YWJsZTogMHgwNmUwNGQ3MF1dLCB7MTIsIDh9IC0tW1t0YWJsZTogMHgwNmUwNGFkMF1dLCB7MTAsIDl9IC0tW1t0YWJsZTogMHgwNzFmZDAxOF1dLCB7MTEsIDh9IC0tW1t0YWJsZTogMHgwNzFmZDA1OF1dLCB7OCwgOH0gLS1bW3RhYmxlOiAweDA3MWZkMWE4XV0sIHsxMCwgNn0gLS1bW3RhYmxlOiAweDA3MWZkMWU4XV0sIHs5LCA3fSAtLVtbdGFibGU6IDB4MDZlMDRiZTBdXSwgezEwLCA3fSAtLVtbdGFibGU6IDB4MDZlMDRjMjBdXSwgezksIDh9IC0tW1t0YWJsZTogMHgwNzE2NzAzOF1dLCB7MTAsIDh9IC0tW1t0YWJsZTogMHgwNzE2NzA3OF1dLCB7MTEsIDd9IC0tW1t0YWJsZTogMHgwNmQxMWFiMF1dLCB7MTEsIDExfSAtLVtbdGFibGU6IDB4MDcwYTdkMjBdXSwgezEwLCAxMn0gLS1bW3RhYmxlOiAweDA2ZDU2ZmUwXV0sIHsxMiwgMTB9IC0tW1t0YWJsZTogMHgwNzE2NzBiOF1dLCB7MTEsIDEwfSAtLVtbdGFibGU6IDB4MDcxNjcwZjhdXSwgezEyLCA5fSAtLVtbdGFibGU6IDB4MDZmYWE2YzBdXSwgezEwLCA5fSAtLVtbdGFibGU6IDB4MDZlZDc0NjBdXSwgezExLCA4fSAtLVtbdGFibGU6IDB4MDZkODZmODhdXX0gLS1bW3RhYmxlOiAweDA2ZjYyMDEwXV0=;0,0,space,e30gLS1bW3RhYmxlOiAweDA3NmRjYTI4XV0=;0,0,undo,e30gLS1bW3RhYmxlOiAweDA3ZDI1MzAwXV0=;0,0,undo,e3sxMSwgOH0gLS1bW3RhYmxlOiAweDA3Y2FlNmMwXV0sIHsxMCwgOX0gLS1bW3RhYmxlOiAweDA3MmVlNmMwXV0sIHsxMiwgOX0gLS1bW3RhYmxlOiAweDA3NjM2YTE4XV0sIHsxMSwgMTB9IC0tW1t0YWJsZTogMHgwNzcwNDhlMF1dLCB7MTIsIDEwfSAtLVtbdGFibGU6IDB4MDc5YzRlMDBdXSwgezEwLCAxMn0gLS1bW3RhYmxlOiAweDA3NTkxNDAwXV0sIHsxMSwgMTF9IC0tW1t0YWJsZTogMHgwNzU5MTU0MF1dLCB7MTEsIDd9IC0tW1t0YWJsZTogMHgwNzNjN2MzOF1dLCB7MTAsIDh9IC0tW1t0YWJsZTogMHgwNzNjNWFjOF1dLCB7OSwgOH0gLS1bW3RhYmxlOiAweDA3NjM1Zjg4XV0sIHsxMCwgN30gLS1bW3RhYmxlOiAweDA3NjMzZTAwXV0sIHs5LCA3fSAtLVtbdGFibGU6IDB4MDc2MzVlMThdXSwgezEwLCA2fSAtLVtbdGFibGU6IDB4MDczYzdlYjhdXSwgezgsIDh9IC0tW1t0YWJsZTogMHgwNzUzODI3OF1dLCB7MTEsIDh9IC0tW1t0YWJsZTogMHgwNzc2NjkxMF1dLCB7MTAsIDl9IC0tW1t0YWJsZTogMHgwNzU5MTY5OF1dLCB7MTIsIDh9IC0tW1t0YWJsZTogMHgwNzU5MTkyMF1dLCB7MTEsIDl9IC0tW1t0YWJsZTogMHgwNzVjNTgwMF1dLCB7MTAsIDEwfSAtLVtbdGFibGU6IDB4MDc5YzRmNDBdXSwgezgsIDl9IC0tW1t0YWJsZTogMHgwN2IyZDE3OF1dLCB7OSwgMTB9IC0tW1t0YWJsZTogMHgwNzljNTA5OF1dLCB7OSwgOX0gLS1bW3RhYmxlOiAweDA3OWM1MzIwXV0sIHs5LCAxMX0gLS1bW3RhYmxlOiAweDA3OWM1NTU4XV0sIHs4LCAxMH0gLS1bW3RhYmxlOiAweDA3YmQyZGUwXV0sIHs3LCA5fSAtLVtbdGFibGU6IDB4MDcwOTBhZjhdXSwgezEyLCA4fSAtLVtbdGFibGU6IDB4MDdhMGFjNDBdXSwgezExLCA5fSAtLVtbdGFibGU6IDB4MDc0NTc3MzBdXSwgezEwLCAxMH0gLS1bW3RhYmxlOiAweDA3ODUzMTcwXV0sIHsxMSwgMTB9IC0tW1t0YWJsZTogMHgwNzljZDZiMF1dLCB7MTAsIDExfSAtLVtbdGFibGU6IDB4MDcwY2Q2YjBdXSwgezEyLCA5fSAtLVtbdGFibGU6IDB4MDczYTg4MzBdXX0gLS1bW3RhYmxlOiAweDA3YWVlZTgwXV0=;0,0,space,e3sxMCwgM30gLS1bW3RhYmxlOiAweDA3Y2IwZjcwXV0sIHs5LCA0fSAtLVtbdGFibGU6IDB4MDc3MDBmZDhdXSwgezExLCA0fSAtLVtbdGFibGU6IDB4MDc3MDEwMThdXSwgezEwLCA1fSAtLVtbdGFibGU6IDB4MDc3MDEwODhdXSwgezEwLCA0fSAtLVtbdGFibGU6IDB4MDc3MDEwYzhdXSwgezgsIDZ9IC0tW1t0YWJsZTogMHgwNzcwMTE1OF1dLCB7OSwgNX0gLS1bW3RhYmxlOiAweDA3NzAxMTk4XV0sIHs5LCAxfSAtLVtbdGFibGU6IDB4MDc3MDExZDhdXSwgezgsIDJ9IC0tW1t0YWJsZTogMHgwNzcwMTIxOF1dLCB7NywgMn0gLS1bW3RhYmxlOiAweDA3NzAxMmU4XV0sIHs4LCAxfSAtLVtbdGFibGU6IDB4MDc3MDEzMjhdXSwgezcsIDF9IC0tW1t0YWJsZTogMHgwNzcwMTM2OF1dLCB7OCwgMH0gLS1bW3RhYmxlOiAweDA3NzAxM2E4XV0sIHs2LCAyfSAtLVtbdGFibGU6IDB4MDc3MDEzZThdXSwgezksIDJ9IC0tW1t0YWJsZTogMHgwNzcwMTQyOF1dLCB7OCwgM30gLS1bW3RhYmxlOiAweDA3NzAxNDY4XV0sIHsxMCwgMn0gLS1bW3RhYmxlOiAweDA3NzAxNGE4XV0sIHs5LCAzfSAtLVtbdGFibGU6IDB4MDc3MDE1ZjhdXSwgezgsIDR9IC0tW1t0YWJsZTogMHgwNzcwMTYzOF1dLCB7NiwgM30gLS1bW3RhYmxlOiAweDA3NzAxNjc4XV0sIHs3LCA0fSAtLVtbdGFibGU6IDB4MDc3MDE2YjhdXSwgezcsIDN9IC0tW1t0YWJsZTogMHgwNzcwMTZmOF1dLCB7NywgNX0gLS1bW3RhYmxlOiAweDA3NzAxNzM4XV0sIHs2LCA0fSAtLVtbdGFibGU6IDB4MDc3MDE3NzhdXSwgezUsIDN9IC0tW1t0YWJsZTogMHgwNzcwMTdiOF1dLCB7MTAsIDJ9IC0tW1t0YWJsZTogMHgwNzcwMTdmOF1dLCB7OSwgM30gLS1bW3RhYmxlOiAweDA3NzAxODM4XV0sIHs4LCA0fSAtLVtbdGFibGU6IDB4MDc3MDE4NzhdXSwgezksIDR9IC0tW1t0YWJsZTogMHgwNzcwMThiOF1dLCB7OCwgNX0gLS1bW3RhYmxlOiAweDA3NzAxOGY4XV0sIHsxMCwgM30gLS1bW3RhYmxlOiAweDA3NzAxOTM4XV19IC0tW1t0YWJsZTogMHgwN2NiMGY0OF1d;0,0,undo,e3sxMCwgM30gLS1bW3RhYmxlOiAweDA3YjFjMjY4XV0sIHs5LCA0fSAtLVtbdGFibGU6IDB4MDZmMTM2MzBdXSwgezExLCA0fSAtLVtbdGFibGU6IDB4MDZmMTM2NzBdXSwgezEwLCA1fSAtLVtbdGFibGU6IDB4MDZmMTM2ZTBdXSwgezExLCA0fSAtLVtbdGFibGU6IDB4MDZmMTM3MjBdXSwgezksIDZ9IC0tW1t0YWJsZTogMHgwNmYxMzdiMF1dLCB7MTAsIDV9IC0tW1t0YWJsZTogMHgwNmYxMzdmMF1dLCB7OSwgMX0gLS1bW3RhYmxlOiAweDA2ZjEzODMwXV0sIHs4LCAyfSAtLVtbdGFibGU6IDB4MDZmMTM4NzBdXSwgezcsIDJ9IC0tW1t0YWJsZTogMHgwNmYxMzc2MF1dLCB7OCwgMX0gLS1bW3RhYmxlOiAweDA3NjQzN2YwXV0sIHs3LCAxfSAtLVtbdGFibGU6IDB4MDc2NDM4MzBdXSwgezgsIDB9IC0tW1t0YWJsZTogMHgwNzY0Mzg3MF1dLCB7NiwgMn0gLS1bW3RhYmxlOiAweDA3NjQzOGIwXV0sIHs5LCAyfSAtLVtbdGFibGU6IDB4MDc2NDM4ZjBdXSwgezgsIDN9IC0tW1t0YWJsZTogMHgwNzUxMjYxMF1dLCB7MTAsIDJ9IC0tW1t0YWJsZTogMHgwNzUxMjY1MF1dLCB7OSwgM30gLS1bW3RhYmxlOiAweDA3NTEyNjkwXV0sIHs4LCA0fSAtLVtbdGFibGU6IDB4MDc1MTI2ZDBdXSwgezYsIDN9IC0tW1t0YWJsZTogMHgwNzUxMjcxMF1dLCB7NywgNH0gLS1bW3RhYmxlOiAweDA2ZjEzOGIwXV0sIHs3LCAzfSAtLVtbdGFibGU6IDB4MDZmMTM4ZjBdXSwgezgsIDV9IC0tW1t0YWJsZTogMHgwNmY3MDZlMF1dLCB7NywgNH0gLS1bW3RhYmxlOiAweDA2ZjcwNzIwXV0sIHs2LCAzfSAtLVtbdGFibGU6IDB4MDZmNzA3NjBdXSwgezEwLCAyfSAtLVtbdGFibGU6IDB4MDZmNzA3YTBdXSwgezksIDN9IC0tW1t0YWJsZTogMHgwNmY3MDdlMF1dLCB7OCwgNH0gLS1bW3RhYmxlOiAweDA2ZjcwODIwXV0sIHs5LCA0fSAtLVtbdGFibGU6IDB4MDZmNzA4NjBdXSwgezgsIDV9IC0tW1t0YWJsZTogMHgwNmY3MDhhMF1dLCB7MTAsIDN9IC0tW1t0YWJsZTogMHgwNmY3MDhlMF1dfSAtLVtbdGFibGU6IDB4MDZmMTM2MDhdXQ==;0,0,space,e3sxMCwgMn0gLS1bW3RhYmxlOiAweDA2ZmI5NjY4XV0sIHs5LCAzfSAtLVtbdGFibGU6IDB4MDZmYjk2YThdXSwgezExLCAzfSAtLVtbdGFibGU6IDB4MDZmYjk2ZThdXSwgezEwLCA0fSAtLVtbdGFibGU6IDB4MDZmYjk3NThdXSwgezExLCA0fSAtLVtbdGFibGU6IDB4MDZmYjk3OThdXSwgezksIDZ9IC0tW1t0YWJsZTogMHgwNmZkNDE3OF1dLCB7MTAsIDV9IC0tW1t0YWJsZTogMHgwNmZkNDFiOF1dLCB7OSwgMX0gLS1bW3RhYmxlOiAweDA2ZmQ0MWY4XV0sIHs4LCAxfSAtLVtbdGFibGU6IDB4MDZmZDQyMzhdXSwgezcsIDJ9IC0tW1t0YWJsZTogMHgwNmZkNDMwOF1dLCB7OCwgMX0gLS1bW3RhYmxlOiAweDA2ZmQ0MzQ4XV0sIHs3LCAwfSAtLVtbdGFibGU6IDB4MDZmZDQzODhdXSwgezgsIC0xfSAtLVtbdGFibGU6IDB4MDZmZDQzYzhdXSwgezYsIDF9IC0tW1t0YWJsZTogMHgwNmZkNDQwOF1dLCB7OSwgMX0gLS1bW3RhYmxlOiAweDA2ZmQ0NDQ4XV0sIHs4LCAyfSAtLVtbdGFibGU6IDB4MDZmYjk3ZDhdXSwgezEwLCAxfSAtLVtbdGFibGU6IDB4MDZlODBhNDhdXSwgezksIDJ9IC0tW1t0YWJsZTogMHgwNmU4MGI5OF1dLCB7OCwgM30gLS1bW3RhYmxlOiAweDA2ZTgwYmQ4XV0sIHs2LCAzfSAtLVtbdGFibGU6IDB4MDZlODBjMThdXSwgezcsIDR9IC0tW1t0YWJsZTogMHgwNmU4MGM1OF1dLCB7NywgM30gLS1bW3RhYmxlOiAweDA2ZTgwYzk4XV0sIHs4LCA1fSAtLVtbdGFibGU6IDB4MDZlODBjZDhdXSwgezcsIDR9IC0tW1t0YWJsZTogMHgwNmU4MGQxOF1dLCB7NiwgM30gLS1bW3RhYmxlOiAweDA2ZmQ0Mjc4XV0sIHsxMCwgMn0gLS1bW3RhYmxlOiAweDA2ZmQ0MmI4XV0sIHs5LCAzfSAtLVtbdGFibGU6IDB4MDZlZmY0ZjBdXSwgezgsIDR9IC0tW1t0YWJsZTogMHgwNmVmZjUzMF1dLCB7OSwgNH0gLS1bW3RhYmxlOiAweDA2ZWZmNTcwXV0sIHs4LCA1fSAtLVtbdGFibGU6IDB4MDZlZmY1YjBdXSwgezEwLCAzfSAtLVtbdGFibGU6IDB4MDZlZmY1ZjBdXX0gLS1bW3RhYmxlOiAweDA2ZmI5NjQwXV0=;0,0,space,e3sxMCwgMn0gLS1bW3RhYmxlOiAweDA3YTQ2N2Y4XV0sIHs5LCAzfSAtLVtbdGFibGU6IDB4MDdhNDY4MzhdXSwgezExLCAzfSAtLVtbdGFibGU6IDB4MDdhNDY4NzhdXSwgezEwLCA0fSAtLVtbdGFibGU6IDB4MDdhNDY4ZThdXSwgezExLCA0fSAtLVtbdGFibGU6IDB4MDdhNDY5MjhdXSwgezksIDZ9IC0tW1t0YWJsZTogMHgwN2E0NjliOF1dLCB7MTAsIDV9IC0tW1t0YWJsZTogMHgwN2E0NjlmOF1dLCB7OSwgMX0gLS1bW3RhYmxlOiAweDA3YTQ2YTM4XV0sIHs4LCAxfSAtLVtbdGFibGU6IDB4MDdhNDZhNzhdXSwgezcsIDJ9IC0tW1t0YWJsZTogMHgwN2E0NmI0OF1dLCB7OCwgMX0gLS1bW3RhYmxlOiAweDA3YTQ2Yjg4XV0sIHs3LCAwfSAtLVtbdGFibGU6IDB4MDdhNDY5NjhdXSwgezgsIC0xfSAtLVtbdGFibGU6IDB4MDc5MGNkYjBdXSwgezYsIDF9IC0tW1t0YWJsZTogMHgwNzkwY2RmMF1dLCB7OSwgMX0gLS1bW3RhYmxlOiAweDA3OTBjZTMwXV0sIHs4LCAyfSAtLVtbdGFibGU6IDB4MDc4ODBkYTBdXSwgezEwLCAxfSAtLVtbdGFibGU6IDB4MDc4ODBkZTBdXSwgezksIDJ9IC0tW1t0YWJsZTogMHgwNzg4MGYzMF1dLCB7OCwgM30gLS1bW3RhYmxlOiAweDA3ODgwZjcwXV0sIHs2LCAzfSAtLVtbdGFibGU6IDB4MDc4ODBmYjBdXSwgezcsIDR9IC0tW1t0YWJsZTogMHgwNzg4MGZmMF1dLCB7NywgM30gLS1bW3RhYmxlOiAweDA3YTQ2YWI4XV0sIHs4LCA1fSAtLVtbdGFibGU6IDB4MDdhNDZhZjhdXSwgezcsIDR9IC0tW1t0YWJsZTogMHgwNzA5YjM3OF1dLCB7NiwgM30gLS1bW3RhYmxlOiAweDA3MDliM2I4XV0sIHsxMCwgMn0gLS1bW3RhYmxlOiAweDA3MDliM2Y4XV0sIHs5LCAzfSAtLVtbdGFibGU6IDB4MDcwOWI0MzhdXSwgezgsIDR9IC0tW1t0YWJsZTogMHgwNzA5YjQ3OF1dLCB7OSwgNH0gLS1bW3RhYmxlOiAweDA3MDliNGI4XV0sIHs4LCA1fSAtLVtbdGFibGU6IDB4MDcwOWI0ZjhdXSwgezEwLCAzfSAtLVtbdGFibGU6IDB4MDcwOWI1MzhdXSwgezExLCAyfSAtLVtbdGFibGU6IDB4MDcwOWI1NzhdXX0gLS1bW3RhYmxlOiAweDA3YTQ2N2QwXV0=;0,0,undo,e3sxMCwgMn0gLS1bW3RhYmxlOiAweDA3NmU0ZTUwXV0sIHs5LCAzfSAtLVtbdGFibGU6IDB4MDc2ZjM3NThdXSwgezExLCAzfSAtLVtbdGFibGU6IDB4MDc2ZjM3OThdXSwgezEwLCA0fSAtLVtbdGFibGU6IDB4MDc2ZjM3ZDhdXSwgezExLCA0fSAtLVtbdGFibGU6IDB4MDc2ZjM4MThdXSwgezksIDZ9IC0tW1t0YWJsZTogMHgwNzE2ZTYwMF1dLCB7MTAsIDV9IC0tW1t0YWJsZTogMHgwNzE2ZTY0MF1dLCB7OSwgMX0gLS1bW3RhYmxlOiAweDA3MTZlNjgwXV0sIHs4LCAxfSAtLVtbdGFibGU6IDB4MDcxNmU2YzBdXSwgezcsIDF9IC0tW1t0YWJsZTogMHgwNzE2ZTc5MF1dLCB7OCwgMH0gLS1bW3RhYmxlOiAweDA3MTZlN2QwXV0sIHs3LCAwfSAtLVtbdGFibGU6IDB4MDcxNmU4MTBdXSwgezgsIC0xfSAtLVtbdGFibGU6IDB4MDcxNmU4NTBdXSwgezYsIDF9IC0tW1t0YWJsZTogMHgwNzE2ZTg5MF1dLCB7OSwgMX0gLS1bW3RhYmxlOiAweDA3NmYzODU4XV0sIHs4LCAyfSAtLVtbdGFibGU6IDB4MDZlNDRkNjhdXSwgezEwLCAxfSAtLVtbdGFibGU6IDB4MDZlNDRkYThdXSwgezksIDJ9IC0tW1t0YWJsZTogMHgwNmU0NGVmOF1dLCB7OCwgM30gLS1bW3RhYmxlOiAweDA2ZTQ0ZjM4XV0sIHs2LCAzfSAtLVtbdGFibGU6IDB4MDZlNDRmNzhdXSwgezcsIDR9IC0tW1t0YWJsZTogMHgwNmU0NGZiOF1dLCB7NywgM30gLS1bW3RhYmxlOiAweDA2ZTQ0ZmY4XV0sIHs4LCA0fSAtLVtbdGFibGU6IDB4MDcxNmU3MDBdXSwgezcsIDN9IC0tW1t0YWJsZTogMHgwNzE2ZTc0MF1dLCB7NiwgMn0gLS1bW3RhYmxlOiAweDA2ZjJjZDE4XV0sIHsxMCwgMn0gLS1bW3RhYmxlOiAweDA2ZjJjZDU4XV0sIHs5LCAzfSAtLVtbdGFibGU6IDB4MDZmMmNkOThdXSwgezgsIDR9IC0tW1t0YWJsZTogMHgwNmYyY2RkOF1dLCB7OSwgNH0gLS1bW3RhYmxlOiAweDA2ZjJjZTE4XV0sIHs4LCA1fSAtLVtbdGFibGU6IDB4MDZmMmNlNThdXSwgezEwLCAzfSAtLVtbdGFibGU6IDB4MDZmMmNlOThdXX0gLS1bW3RhYmxlOiAweDA3MTZjMzgwXV0=;0,0,space,e3sxMCwgMn0gLS1bW3RhYmxlOiAweDA2ZjYyZTc4XV0sIHs5LCAzfSAtLVtbdGFibGU6IDB4MDZmNjJlYjhdXSwgezExLCAzfSAtLVtbdGFibGU6IDB4MDZmNjJlZjhdXSwgezEwLCA0fSAtLVtbdGFibGU6IDB4MDZlZWVmYThdXSwgezExLCA0fSAtLVtbdGFibGU6IDB4MDZlZWVmZThdXSwgezksIDZ9IC0tW1t0YWJsZTogMHgwNmVlZjA3OF1dLCB7MTAsIDV9IC0tW1t0YWJsZTogMHgwNmVlZjBiOF1dLCB7OSwgMX0gLS1bW3RhYmxlOiAweDA2ZWVmMGY4XV0sIHs4LCAxfSAtLVtbdGFibGU6IDB4MDZlZWYxMzhdXSwgezcsIDF9IC0tW1t0YWJsZTogMHgwNmVlZjIwOF1dLCB7OCwgMH0gLS1bW3RhYmxlOiAweDA2ZWVmMjQ4XV0sIHs3LCAwfSAtLVtbdGFibGU6IDB4MDZlZWYyODhdXSwgezgsIC0xfSAtLVtbdGFibGU6IDB4MDZlZWYyYzhdXSwgezYsIDF9IC0tW1t0YWJsZTogMHgwNmVlZjMwOF1dLCB7OSwgMX0gLS1bW3RhYmxlOiAweDA2ZWVmMzQ4XV0sIHs4LCAyfSAtLVtbdGFibGU6IDB4MDZlZWYwMjhdXSwgezEwLCAxfSAtLVtbdGFibGU6IDB4MDZmNjJmMzhdXSwgezksIDJ9IC0tW1t0YWJsZTogMHgwNmVlZjE3OF1dLCB7OCwgM30gLS1bW3RhYmxlOiAweDA2ZWVmMWI4XV0sIHs2LCAzfSAtLVtbdGFibGU6IDB4MDZlYzJiMzhdXSwgezcsIDR9IC0tW1t0YWJsZTogMHgwNmVjMmI3OF1dLCB7NywgM30gLS1bW3RhYmxlOiAweDA2ZWMyYmI4XV0sIHs4LCA0fSAtLVtbdGFibGU6IDB4MDZlYzJiZjhdXSwgezcsIDN9IC0tW1t0YWJsZTogMHgwNmVjMmMzOF1dLCB7NiwgMn0gLS1bW3RhYmxlOiAweDA2ZWMyYzc4XV0sIHsxMCwgMn0gLS1bW3RhYmxlOiAweDA2ZWMyY2I4XV0sIHs5LCAzfSAtLVtbdGFibGU6IDB4MDZlYzJjZjhdXSwgezgsIDR9IC0tW1t0YWJsZTogMHgwNmVjMmQzOF1dLCB7OSwgNH0gLS1bW3RhYmxlOiAweDA2ZWMyZDc4XV0sIHs4LCA1fSAtLVtbdGFibGU6IDB4MDZlYzJkYjhdXSwgezEwLCAzfSAtLVtbdGFibGU6IDB4MDZlOGM1ZDhdXX0gLS1bW3RhYmxlOiAweDA2ZjYyZTUwXV0=;0,-1,wasd,e3sxMSwgOX0gLS1bW3RhYmxlOiAweDA3MDNlNWQ4XV0sIHsxMCwgMTB9IC0tW1t0YWJsZTogMHgwNzAzZTYzOF1dLCB7MTIsIDEwfSAtLVtbdGFibGU6IDB4MDcwM2U2NzhdXSwgezExLCAxMX0gLS1bW3RhYmxlOiAweDA3MDNlNmU4XV0sIHsxMiwgMTB9IC0tW1t0YWJsZTogMHgwNzAzZTcyOF1dLCB7MTAsIDEyfSAtLVtbdGFibGU6IDB4MDcwMzdjODhdXSwgezExLCAxMX0gLS1bW3RhYmxlOiAweDA3MDM3Y2M4XV0sIHsxMSwgN30gLS1bW3RhYmxlOiAweDA3MDM3ZDA4XV0sIHsxMCwgOH0gLS1bW3RhYmxlOiAweDA3MDM3ZDQ4XV0sIHs5LCA4fSAtLVtbdGFibGU6IDB4MDc4ZjM0ODhdXSwgezEwLCA3fSAtLVtbdGFibGU6IDB4MDc4ZjM0YzhdXSwgezksIDd9IC0tW1t0YWJsZTogMHgwNzhmMzUwOF1dLCB7MTAsIDZ9IC0tW1t0YWJsZTogMHgwNzhmMzU0OF1dLCB7OCwgOH0gLS1bW3RhYmxlOiAweDA3MDM3YzM4XV0sIHsxMSwgOH0gLS1bW3RhYmxlOiAweDA3MDM3ZDg4XV0sIHsxMCwgOX0gLS1bW3RhYmxlOiAweDA2ZDU1ODgwXV0sIHsxMiwgOH0gLS1bW3RhYmxlOiAweDA2ZDU1OGMwXV0sIHsxMSwgOX0gLS1bW3RhYmxlOiAweDA3OGYzM2Y4XV0sIHsxMCwgMTB9IC0tW1t0YWJsZTogMHgwNzhmMzQzOF1dLCB7OCwgOX0gLS1bW3RhYmxlOiAweDA2ZGFkMzkwXV0sIHs5LCAxMH0gLS1bW3RhYmxlOiAweDA2ZGFkM2QwXV0sIHs5LCA5fSAtLVtbdGFibGU6IDB4MDZkYWQ0MTBdXSwgezksIDExfSAtLVtbdGFibGU6IDB4MDZkYWQ0NTBdXSwgezgsIDEwfSAtLVtbdGFibGU6IDB4MDZkYWQ0OTBdXSwgezcsIDl9IC0tW1t0YWJsZTogMHgwNmRhZDRkMF1dLCB7MTIsIDh9IC0tW1t0YWJsZTogMHgwN2I4NGY5OF1dLCB7MTEsIDl9IC0tW1t0YWJsZTogMHgwN2I4NGZkOF1dLCB7MTAsIDEwfSAtLVtbdGFibGU6IDB4MDdiODUwMThdXSwgezExLCAxMH0gLS1bW3RhYmxlOiAweDA3Yjg1MDU4XV0sIHsxMCwgMTF9IC0tW1t0YWJsZTogMHgwN2I4NTA5OF1dLCB7MTIsIDl9IC0tW1t0YWJsZTogMHgwN2I4NTBkOF1dLCB7MTMsIDl9IC0tW1t0YWJsZTogMHgwNzljNWUxOF1dfSAtLVtbdGFibGU6IDB4MDcxOTc2MzBdXQ==;0,0,space,e30gLS1bW3RhYmxlOiAweDA3ZDU5MTAwXV0=;"
  },
  {
    "path": "officialworlds/bab be u/meta+/mous/mous demon.bab",
    "content": "{\"width\":13,\"version\":5,\"extra\":false,\"palette\":\"variant\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":10,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"futr be cool\",\"is_overworld\":false,\"author\":\"jill\",\"parent_level\":\"\",\"name\":\"mous demon\",\"map\":\"eJyV191uozAQBeBXiXqx2pVygTFg2IpniQghCaoLFTXaVlHefY3HDT/aes7e9eIbNcwZw/jU73RfV3p3KG830+qmfDIf5lDr9sU87T/KaN+eSrH/tH+8vzV1W+nydt+f2qEU970vqPuj1g8cWyxQLC2OUZxYLFGcWpygOLM4/R67jqwKlC3IwgWXa/9uzkPTPYpyW5T/b1Fhi4pw0XUc6qprphLh4orAvEiLcGCrcaCKGAyCtOSbe1z8+IRv7ZKnfFOXPOPbSTx2XIGdJJ3znfxTLXwRnv7JvzWm+7wM1ev8o+IIbD9pwbe/6y/9XBDzAYyzlnz/+7G+zgUJn8DvXxOXjqdgAqQzPgGKl7jiA1jyHGw86SLc+LWWUbjrGz2FqmAdhzPaaMkHdG6HY6/dGyFxNQmYEumUT+lrJKkg43NavTmpSoFxkc75x/4x6dTpAnxgp5MI/CaSZk7sovnkmQOrW7P2Mjw8bb3mCTg9pFO+jfM/yFxJBvaStAJ7SToHFwzSBTgxTqcRuGKQxlMlj6dKHk6VOJoqaSBVdziU02igpBX4niQNHNNFa3JXwxzWsT3o5mzsklO/PIqyKDw5tmjaimYvwNkhHYcfev3ZpxIm4PljVTiOvpJJp+iSRhxYo+ym47ojaMNGNynPmVVqy5lNasMVukF5LsCD7vk/s5UP7ldAj2X4mK9xEh6BNQY2484sPJCpO+PCbdIKDpQ4E+jyDkMFwHL8tVhSRR4Bm+VP590mmqPXWs/Ri63n6NXWc/Ry6zl6vfWcueBuOXO93fIc3EY9L8BPD/Him1jvz0NjxqHbHZ6b7vQXf56dGQ==\"}"
  },
  {
    "path": "officialworlds/bab be u/meta+/mous/mous demon.replay",
    "content": "0,0,space;0,0,space;8,7,clikt;-1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;-1,0,wasd;-1,1,wasd;0,0,undo;0,0,undo;-1,1,wasd;1,0,wasd;0,-1,wasd;0,1,wasd;0,0,undo;1,0,wasd;0,1,wasd;-1,0,wasd;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;1,1,wasd;0,0,undo;0,0,space;0,0,space;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;10,6,clikt;10,6,clikt;10,6,clikt;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;10,6,clikt;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,0,space;0,0,space;0,0,space;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,0,space;0,0,space;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;11,2,clikt;"
  },
  {
    "path": "officialworlds/bab be u/meta+/mous/mous kompaniun.bab",
    "content": "{\"width\":21,\"next_level_after_win\":\"\",\"extra\":false,\"compression\":\"zlib\",\"author\":\"szoob\",\"height\":15,\"version\":5,\"map\":\"eJyN2t1u2zgUhdFXCXox6AAGRqT+yBZ+lsBJ3MCoaxW2gqQN8u6VeDYrOZ0Zfne5WDRicos6PObDcHMc7nfHm9vt6+t4OO63H553xw+bl221OTxs3ebH9Mfl+/7+sDtuX982D4fz1r1t/oX6iTpG64l6RpuJ1oy2E20Y7SbaMtpPtGM0TLRnNE40MOqqyUZo5/VycMFcWjG4ZG5eMwcXzc2r5uCyuXndXHnhXMIdCqTZ/v8TOb6Mtz8vw3C3jAgomGYjSmayvkLRNOtQNs16FE6zNUqn2QbF02yL4mm2Y/E03LN4Gg4snoYji2fCdcXi6RNm+6VZtmGaLeyYc5Qfh3HxbNs027KpM9yxqTPcs6mrEw5o6sxGNHXJNhV6ps06FjnDns2b4ZrNm+GGzVuTcIvmzWyH5s1sj+bNbOnpu9pqbQh8BhNu4TPYJsyeQbPsGTQLnsHf39FGNGjbN1t6CuePvx++f92Nyxj4MBqGD2OXMHsYzbKHMdmOPYxmHdrDzHo002ZLlcw803e7u2UArGYMw2qmT7hQzcz/yfNuPC8DCiXN1YcXipn5wy9fn1YDWEWTbF+oaDR/Zh2qJszCTdUw3FQNw001JFzYVFNE9gtn+6rZwr6a1vyfL+f9aRkS0MKYjehJSDZU4EnIEbERjs24Yc9mPCZcl2f8NFyeD9+WIQ2adbNteda/DU+XZUCH5txsT3aU/eIDm0XDER6P7FxZsfORYYcmUNiXZ9C+o3zNzkeGC2/KPz68ZQcUwx1Yni/HH+vP7+EJwXSAS5QOFDGyJbJTZlWxNZJ25UU6jesBnq2SdM3OsdINPMCJw3NI5rD4yRyWP84bZwVQ1qwEknaFImhepE8f1wNYJZQ1q4Wyhn2dzGEtlDnt7dTGYXdHmhVDWcPejjTs7pim/R1p2OGRLvZ4rD7MvNDmya/zzBvWFZKG2650xzpD0j3sDYkHuLmIRxhz49b0weuf2j4k5o1xX651xv3LuB5Ss6xLN+BdbRV6HtGyvEt35df1uxE9y7x0gJkXjzDzxlNHCGReunB6seJheFwP8Sz40nUh+H+uVkPfrOKkt7B0wjWIvl/F6fu1NV54v87/0V9rD9+wplvwhlUZpAHwDStdeMOuqlUNqFn6pRuYfvEWpl+8Y+mX7svpv/6qgWVfOpLsrz8/dZBI9MUdiP46aKmTRGIvXsPYd8Yb0vC5GtGy4Et3+JCmAT0LvnQoB/80PA7rIZFF33RqK5HoizsYfXHPoi9dl6P/6e/1gIZFX7oF0X9aD+hg8sVJU+L9BMHGROa0NZEacC4UehOrcGoA7E9IgwaFNn0NgB0KadbMz7plsZfuYOzFexh7cXYvIWt2NUE6sssJWZeuJyy7sQbAKwqZo9b+OmKRnmfF6Xk2GAf9/XF3vBoCD7XSoMefS0eNgAfbpH0FD7bS8GArDatkaVIlX8+lxw0ocVImqzGjEbRGFqc1cjQOe1DSsEI2XepBvdOwPJaGDSjpQm38+2wlDhsW0vByijS9niJOL6iI0ysq4vSSinFPr6nYXT0PL6pIw6sq0ux6X9bwqoo0u+SXNbvnl3WPwpJ1YGHJPLKwiNeln+becfi7XOb/9cvc2+fzfnw6n25uP+9PD78ARgu/qw==\",\"music\":\"bab be go\",\"is_overworld\":false,\"level_number\":0,\"level_sprite\":\"\",\"name\":\"mous kompaniun\",\"palette\":\"variant\"}"
  },
  {
    "path": "officialworlds/bab be u/meta+/mous/wal really be nogo.bab",
    "content": "{\"width\":19,\"next_level_after_win\":\"\",\"extra\":false,\"compression\":\"zlib\",\"author\":\"szoob\",\"height\":15,\"version\":5,\"map\":\"eJyV2U1u2zAQhuGrBFkULeCFKOqHauCzBE5sFEHduHDsNkGQu1fiN7QloRXf7rp4JjWGw+GQ2h5u9ofHzf7mfv3+fnra79a3vzf729Xrulg9bddu9db/4+Xn7vFps1+/f6y2T8e1+1j9hZY9dYz6npaMVj31/6an19P9w+bhwuueVxm+u+im1/WyPl9w2+OG/ejQ05bRrqeBUVf0toN2WDgHV87FpYNr54bFc3D13LB8LrN+k4BhAd3CChp2ETeoOmVbVJ6yAdWnbLdcoGNbFsvVObFuuTYntkSlKetRbcpWqDhla1Scsg0rTuGWFadwYMUp3IHiVLeI3hesNsuIWeeUzbTO4Xecdq+nawBroLKZDjqxbBFlG761FdCy9PmIA0qfbIe2drRVgTIn61DmZEuQjU9X7jO5GPh+czy+DSFVDKlQRmRrlBHZBjUP2RY1D9mAakmW7MTnw7fDJaLO7cXr3q2jZ9tRlk0ysh5lT7ZazojNMbI163rCDUhGHGSayFuUC9mAciHboVxE27BZRtZlqmOCS9Zl2og9yoRshTIhWy9nYrK7FdGgo1a2RbmTDSx3wh3LXYjjcIFyJ+tQ7mTZMCPrUSZkc6PoBMMxtIuYjaGybAyVDSgTsh3KRLShyPSWoTx/HM4v1wgHItRt5Us2hgnnzsI0s+lqxY5Bw+wcNMwOQsNsD7o4OAY2zBhm04xwV7DfLOz+4zd3JZzRpT0c0qUrOKVL12zjms6dhUnHmbRjR6FhdhYaZoehsCvYcZg0vNwnDq/3icMLfuKwryZOL/heHF7xTcNLvmnWX5NmHdZ0fKshS2ScNNiX7+dJTK7Jjq6vFuHBmP318ziigqtViddstUw3+WvvLKJdvr1dMmQcvuOYzuzY2R8vM1s2XllO4wAH95VxOMi6WpyNsklnhtlR6VhADTNvvGGZN92ydzHTgb2MmaarKu7Bqk4S4+mqGs+9E8w4nY0acTgcmc5MR+NLdwqB62o6s11nOixXQWxOX8YBHSsE6SozKl0KwXhmWBptbwuAM2/iuV4847QRt+KwEZvONOKZhqtqOqBHtKS7fA2kl1ALiS9BoApMO3bmmy7Re1fSHt3hk868Bs10DecJ4w2YJ+ykt4gWTBP7X5P/hD62G8898k15A1/bXRBnD3xJsye+pNlze9LswT3pzBfLmc58sZxp9skyafbVMmn24dJ0C+83pun9xji93xin9xvj9H5j/F/3m4+74+50Pj7f3N/tnrd/AMIuSKY=\",\"music\":\"babs are u\",\"is_overworld\":false,\"level_number\":0,\"level_sprite\":\"\",\"name\":\"wal really be nogo\",\"palette\":\"variant\"}"
  },
  {
    "path": "officialworlds/bab be u/meta+/no takebacks.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":false,\"map\":\"eJyVl9lugzAQRX8l6lMr8YANxtCKb4lI4laoFCpKlyjKvxcvimzVeG5fozOT4V5m4TTthunYDbt9e7ks/aDau+Vn2Q9fw1320+ZZf2pZdm5F9vGujn03tJdrdurnll0zDz+oG81XukrTfvJixSWSnGm6pEt5md7O391Zh3AdIuiQx4cbXaXLOXQHjZYalekH/e7MQ1YardM1+GiDZ2V5uljH1obVJnKQ1RYWIKv9K0GWcC9gxT+eTZtWg6x2rQFZbdsqMgU3Bm7SAr8q9XqDeR5TQkYTc0Z3SJicx+SQYUvZ99jyRUySjWJKTBJmR4HANHF0FXuV5BYtIQkdXMNTxvINIKHHFzkkoYMZqKGZeAUHNbR0tB0jGlo62pB/y7Yw0ZFmkN57fLQrQw3XP/DLkXTEp4fXmOgWbkDRzRYoc2haOpilNQ9hjklu4SK2DLbgEpqYDhZpqUO4woS2sASFLgxdU0Ivs0c3WCEGFjlYiFnmAtuPDuZgamHoIp3au4hcQJnev970sbxI72DNr7+o49JPoxdWQaeGg1FbzWUiSFt9GG1NaQ40sjXdG2NpBp0yDkZtNddBRdgawoSlIUz4GcIVdFQ5GLtZHUwszRCObswNWEbX5RZMrUu7SJzr5kqR0SEbbSDLR+dsyH/1H/3yPKvRCyMmrttw5tvCbH4JfIvYuhxPdKjmx+ll8iJkvKTr06yWz3nc7Z/UePoFYxmbeA==\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"mountain\",\"name\":\"no takebacks\",\"height\":13,\"author\":\"vitellary\"}"
  },
  {
    "path": "officialworlds/bab be u/meta+/no takebacks.replay",
    "content": "1,1,wasd;1,1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;1,0,wasd;0,-1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,1,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,0,undo;1,-1,wasd;0,0,undo;0,0,undo;1,0,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;1,-1,wasd;1,0,wasd;0,0,undo;0,0,undo;0,0,space;-1,0,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,0,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;"
  },
  {
    "path": "officialworlds/bab be u/meta+/race to dont finish.bab",
    "content": "{\"width\":13,\"version\":5,\"extra\":false,\"palette\":\"abstract\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":16,\"next_level\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"is_overworld\":false,\"author\":\"vitellary\",\"music\":\"bab be go\",\"name\":\"race to dont finish\",\"map\":\"eJyVmN1uozAQhV+l6tWulAtswECrPEtFEhqhdUOVkm2zUd99wWN+TI3nJFe5+I5l5syMxz40D7rZl/rhZXu7tbWuto+fpX7cfG2jTX3Yis21+/PxXu3rUm9v35tDfd6K740HlR0qMDTuULmOtl/tS1t9tSOfdHwa5nfVSKcdrZjVSz3tRnV8hm08678xEA+zdv2mq49RkveSQFx6Sb3fNXr63KKX3BOfbkudIoYjJHpbRXJHjIRxN+CBjZIwcAxlDbEJlDbEpnze0FcSrnxpk4747vI+sVmYdbaRM1ngwAXj/xyWEeO8AwvGdAeWjOMOHDNmU6A1paw0kiRs+YJOw6b36+u/euIVlCTEZnySNB8T3psJVQ7hvZ1M4fwrP8vz5dCMojgK96/ZdmIBNSNiJdCNaO+x4ZmyHD0iminM5eKMpXbjxCq0jgnPwhbZOibWX5tqhKdWS/w9vdYokgjoncem+/WSxEiYU3QMPNHYQUoscJJeJjpBc53wlD92X/V1JsBOUmKRo3S+mRwwas4XWMNLzcQQgQYRLSCDiJVhgxw2BkIy5S9pkjvylxQpkL92W8oIFBgcojMoOMTmUHCILeB8ycxQh1pKNGYpsZilxMbhinPYJHy0OCxTmg6rwvOwbZ/EZlAFE9u7l4Ns716BsVnEOP2nbMvTdeL9c5Ba5f2jULrK+6eh1C0xOyznRsEMQ73g1BybSZCCyUo0Ng0RC0xD04WFJMxE5CwPjENTOI0k9w5DPyZtYoUvdVdY/zTks5X42Js22XLxwsDoeEs0NgsRi8xCVKHEM8OQs3bOu0Mtk/ACcsawRQQ5Q6yAnSFeYs4IuiyjU63FwfsmwfiFk3gFmWPhjHfn6deMz8P2zNuQVWCGCvuGgFk60Lipg0J6b8IhRewdbkKKhDkLTFB/GwVdzyOmVl91c5zjQLla06yAqVfHNSsBrqTH5u36WV7nqsKnUj/sI1r4D1k3mxbfTq9G0JVwUEhgOq331+43V/k7888ykoQzvXlBY715oBm7FzTWmwea6c4L2lvLa7T01vIqjT06DLSE5r6BjqHJb6AT8GnN4in4uGZxBT6vWTy7Kw/NS1JorlzgxcpY+f18rtrL+fTw8lydDv8By2XQnA==\"}"
  },
  {
    "path": "officialworlds/bab be u/meta+/race to dont finish.replay",
    "content": "0,0,e;1,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;0,-1,wasd;-1,0,wasd;0,0,e;-1,1,wasd;-1,1,wasd;-1,-1,wasd;1,1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,-1,wasd;0,-1,wasd;-1,0,wasd;-1,-1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,0,undo;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,0,undo;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,-1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;0,1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;-1,-1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,-1,wasd;1,1,wasd;1,0,wasd;1,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;1,1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,-1,wasd;0,-1,wasd;-1,0,wasd;0,0,undo;0,-1,wasd;-1,0,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;0,0,e;1,0,wasd;-1,0,wasd;1,1,wasd;-1,0,wasd;1,1,wasd;1,1,wasd;0,1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;1,-1,wasd;1,-1,wasd;1,0,wasd;0,-1,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;1,-1,wasd;1,0,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,0,e;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,0,e;1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;-1,0,wasd;0,0,e;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;"
  },
  {
    "path": "officialworlds/bab be u/meta+/sublvl/keyk.bab",
    "content": "{\"width\":24,\"version\":5,\"extra\":false,\"map\":\"eJyNl9+qozAQxl+lnItlL6SY+Cd6ik+yLNLVbI8cMcWmnC7Fd9+YycFYYzIXBZHflyaTmW/GVhx60Zz7Q109n7LrefX2de7fokcVR11bkeiferhdedOd++o5RW03VskUOVCqUIJDE4UmODRVaIpDM4VmODRXaI5DmUIZDi0UWuDQUqElDiXxHNjwJRANE9R2gaWu/RI3m7g2vMOmzg1vYKrhDLUwsHlgYfmQ9R8+86nmmX/tnkvJx/pzFmRaMN8gtQWN6MVYPWlEd8R8EZevWQ3ioetDUhq/ZnlAumyZktes35MuwQEhddXAGr8vdOLKqzX9/nPBU9StApvh0iXXcI5aGFgWWPiTcx1IpunCZR+blUvNli5bdLNJ7PLFHZa85p+HpS4T3WEDt7diU5QrAIsrXmAxxduKUdsIdAnmj/KS0IYv/JGe+b9j115aS1OiIg5wGvtDborzbik21elbnoZrbC1I0H5ItDOnKSoXDZyhTjtYihx3WoCdjXW9d8kf0lI4+6vntCUiPGBaRPeXLMYlA8DEH5558ePxaAkoLjoAI/z2IqQlCJTtLBjERVgKpO+q1j/Tuf+4ykstmOGOCnCBSAT1+xAq3xZZEYcP/MP6F0wyfDcEoseHPEb7D/Ak7D9f97G1FBSXcAA7p+Y9OA0H9ToKyZvGEmEzQvftPEc1QQMznPMAvBnDfPBm7PLAbDNoreHv/gMw0rwBdo5T28EbYFw/NjCuIRsY15ENjGnJuoaoNlQWKGvTEeYBVHcFqn2GBQYro7qeRz7ID37rblqrq5aVLm02TSfz0aq+WqdT/YuUv48w96rnwjyr9zTeeU9c70cu7+NwqE98aP8DB4wBIw==\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"keyk\",\"height\":11,\"author\":\"vitellary\"}"
  },
  {
    "path": "officialworlds/bab be u/meta+/sublvl/keyk.replay",
    "content": "1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;1,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;1,-1,wasd;0,-1,wasd;1,-1,wasd;1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;-1,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;-1,-1,wasd;0,1,wasd;-1,1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,-1,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,1,wasd;-1,0,wasd;1,1,wasd;-1,0,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;-1,-1,wasd;1,1,wasd;1,0,wasd;-1,-1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,0,undo;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,1,wasd;1,-1,wasd;-1,0,wasd;0,1,wasd;-1,1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;-1,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;-1,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,1,wasd;-1,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;0,0,space;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;1,1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,-1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;0,0,undo;0,-1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;1,-1,wasd;-1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;"
  },
  {
    "path": "officialworlds/bab be u/meta+/sublvl/regret.bab",
    "content": "{\"width\":18,\"version\":5,\"extra\":false,\"author\":\"vitellary\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"autumn\",\"parent_level\":\"\",\"name\":\"regret\",\"map\":\"eJyN2d1u2zgQhuFbCXpQYAEDK+pfLXwtQVrLrgDFKhx5kyDIva/MGUayLGvesxw8dBx+/Jlhdt1D2/1+ah8etx8ffdPW22+v5/Pu2+ZtG22a3dZt3ocfXv7Wv5undvvxudk1p6373CzZeLAO2mSwMbTpYBNos8Gm0OaDzaAtBptDWw62gLYabAmtiwZcUXxJztHonM/uJrzkjr6k52h87pKfowG6S4IOROi8ztn6FFywBSq4XF+h/Vv/+NKfn8cBFVumHscRW6eCHVskgmOYjegEZiM6hdnEXmcsG8E5y0ZwYWfzqx55yZIRXK0n0zZt84WTaD2Zl/6p77qRm3uyOY54OchxS/7qnke8nOPt/hVNc0y8NnK8zHaYFRlgZDnGIxykuT81u8PkK8FEBRuJXj7/fPzxz9eANGKHvWC4OQXTzSmahiqahpp6DUI9dP3o4f4UDBL9PmoYpmAjzCucRes3fDi/BTsjddmbYmO2QgQnrB4QnLLlJDgzCoLpV85hPSC6WKwH7ukSLmvRlbGsz83jqX6px8WXR3AjiHZwI2Rex/ZGuB6Q0NNNeGrvhWN36MYBGdsOgnO2HQQXbG0JppmKtjK90kUEE8q9hj2IYNiECIZdiGDYhgiGfYjg3Jhqv6TktpcBBZxt0eXibN/qwuvK3g9jWeOHlBHdEcKdvSPOo47ZtAtO2LQLTsm0T753BmdddA5nvfS6YGtccMnWuOCKrXGPq4hNtmDHJluwVflcJntXt3LqyxDam4heLn9u57vyGvYmgkE9+3o+jt4of64/HFY/go3qZ992hy/sIqM7ufpoFzmj35jxGO4G5QmMx+lTRwobe+WZHVH7Xzsdka+H9NXbKy/WY9o3p6ku7ZZDTpYwoFqvVH0PpOHqEAe7lMCX473vl/O973HA8lriaMDKQcA6ozrAyHf++Ua+c24EPOcVnXzx8XLBe98vl7wLkx+LN4reOQcl75+u7+vpGKPunf8KWPUGDuvewAs6/+pLOv/qKzr/ibyfRnD+lTv4cKk8hlOvPIFTrzyFU688Wz/Z5jyHp5rygvXWgZfwJVV5hfpr1f7ZiHTYwTvYYwePX3bV47dd9bSCcql48ITU12/9dAippP7dn+rjdBB5H9TrV0cYNdXkstAB4IlwfILUQdbr0my6zPelGY/hylaewJWt3Op95n6597nvaffjMvGw/wkcdkCBwx5IeQ67oMBhHxR4DJeN8gQuG+UpXDbKs/Vlc+ja/ZTTR8Tg8b2rfvnevbtscnzv+pcQVxj3rj9/9FDXEcbVOzlKdIBx+crD+vP769P7dBS9g5Ubd7D8Eo1Ohxj38O0fYtzElwHyT5MwgN7FyuldrByX0OJL+mYcPC6hC/G0hFZulNBzTqtn5bR6Vk6rZ+UFPLGUl/DEUl7BZSO8go8agTujhJvxmB5w6hNaw6nH9656+uYY/L179/Pnqe7Pp+PD48/6uPsfY4HflQ==\"}"
  },
  {
    "path": "officialworlds/bab be u/meta+/sublvl/regret.replay",
    "content": "1,-1,wasd;1,0,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,-1,wasd;1,1,wasd;1,-1,wasd;-1,0,wasd;0,1,wasd;-1,-1,wasd;-1,1,wasd;0,1,wasd;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;0,-1,wasd;0,-1,wasd;"
  },
  {
    "path": "officialworlds/bab be u/meta+/supermeta/good job.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":false,\"palette\":\"default\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"author\":\"vitellary\",\"parent_level\":\"\",\"name\":\"good job\",\"map\":\"eJyFz9EKgyAUgOFXke4GXizbyi18FrE8A0Eq1KAQ332eGGwXwy48V99/OOqZ2HlUlkgRYzAWRBW2IAc1VHQTNTU6jz0/v8BolBUxUW2cqBP95YCaoWZl/Vl80CbTrrx4Rdwgvp1f8WKoH6jv56sXB94fn7xi0eaiLRcMtAnfossFLxfPy8E5cv7/pNQ7CKubiOxh0m81eYbA\"}"
  },
  {
    "path": "officialworlds/bab be u/meta+/supermeta/good job.replay",
    "content": "1,0,wasd;1,0,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;-1,1,wasd;0,0,f;0,0,undo;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;-1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,0,f;"
  },
  {
    "path": "officialworlds/bab be u/meta+/text text.bab",
    "content": "{\"width\":12,\"version\":5,\"extra\":false,\"map\":\"eJyN1t9qwjAUBvBXkd2MQWHN/2bSZ5FuVimUOrrqFPHdF3OCVZs134Wwi1/iwe/snKx3i3b3VbWLVXk+D01bly+/VfuSHcs8a9Yly07uj5/v+qup2vJ8ydZNX4pLFqHcUYZR4SjHqHRUYFQ5KjGqHVUYNY5qjBaOGoxaRwuMstxZC9prXiwdGPOYz4c7HIfVZ/U5ejGfsPf1yOV8yle+H7WCgiar55OeFG7m47763/dNX3fjkWI+9slX2Pnsn34bns/nf+UfbyNnUAuQ5VgLcI9FugUevERbgLhKt0C32+7GAxrqArIG+n8nW6Q7oD3ceQvEX3evw+2EyNMNMNTHuwMMGgFkOZQ/WYHlLzyW0Hwnq6ABT1ZDE56sgTInW0CZk7XQkPdW5tCUJ8ugMU+WQyGTFbGQVdxKLGTpsYJCJqujF0+qUB4b6GKyRfRi9oy1xxbeTN6rHIqaLLgijceJFRmKIAuvR+IyvcS2zWH0Kj3Chv5Ubaumux0ywBpzn2ZzGo8YaNZQTfFumeDC40S33E9IOpAY2g+XW6wS619/OdS3ZFks1UnbkgVXL6M3KLB7w04KB6LLd1JKwAqsxT8atI7VMr2asMHqIFxAmyBgiz0CPTY5tAsCZlAvBcyhbRCwgNZBwBLaBwEr7NVH+L/BfVn29bDvu8VqWXfrP/HRnWE=\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"variant\",\"name\":\"text text\",\"height\":11,\"author\":\"vitellary\"}"
  },
  {
    "path": "officialworlds/bab be u/meta+/text text.replay",
    "content": "0,1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;-1,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,-1,wasd;-1,-1,wasd;0,-1,wasd;0,0,undo;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;1,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;0,1,wasd;1,0,wasd;0,0,space;0,-1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;1,-1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;-1,0,wasd;1,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;1,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;"
  },
  {
    "path": "officialworlds/bab be u/meta+/the level is trans.bab",
    "content": "{\"width\":14,\"version\":5,\"extra\":false,\"map\":\"eJydmf9q4zgQx1+l7D/HgVms39KWPElZQpp4e2FNcqTu0l7pu5+jseOxPWNLWSgsU32skearmZF6OD/U5/2ufthuPj+bY11tvr2ezr/q3e9vxfumLI6HjSg+2p/Xf6v9cVdvPr+K/bk+XzafopBfxeF42YivgkFli0oC1UW5hqoWVQRars+qW1TP0dOxXgFNC5oU8J/q8HKjbEs50lMx9XTEuZbz2bP5lgr3LC5cw1imkM17s63/1IMAyitKx3EWjN5ZEUlGO/waAWN0s4YxmlnDkvUyxrLVAthVLjYfc7TK1rB75AJknl6eqxsp53Jhp5IRuKokaaZ+bYDJXHEBpu7YEiB11pac/moG1PBHaJYl0LwqwjZ3fwBzufsDWLJkxli6XkacimpJcvO6qcf9R/tvoMWK1lAuA0AygeinU2NZ754HVGWkQRRDHWGdG0PATGoMx5sDsJ3mw6WZmARDlbG4qcd6N8B+Wsu4DAHDw1Ri8+Fvt9G6ZJS1VH6AFFnaaqr3ZmA5oaxE20RY5UYbMJ0T7U6bQJrU0jeEAkA7rWJL/iUXoeksK/oYzzJTR9LmGU4ma1y6SFCYbURlbpgBU1lhrgZQLx/o/kzC4Fl/suQS08QyB+WyO/03sLNGdpxHxxMlV5frRGOUqzDUnQDl/QjbtTIzzvs//r6SLpJMd9LOqpYSI8ByOWLdGYaxKi1gMFinBgyJFkiTe+8AzOYEDkQLoJuFbXm8n0VqHB+0IB+BsHwK50qMmCtzTuHLeQAFczUVheZiBqDM7eEBS25YY9d5xq5yHWvrK1nVu54VYJN8ZKYhcTa5y+qXGiKX3bIC5pfvVNxsITceEfNlbn0CTGTdHiCKQMqs3NXlFEDVPTEEVGfHUMALhcmtih1ncw5kl9w71KW2P89VXTcIJBsTR7aFHcF0J4tvIfAAk96g4Ms4sPN7zpIEMB/v5IHpVNo8MCtiN6+BTG5WJpxefsNxHLfSybKcXX7FYTm3/IxDqBy4lZzDzreSdDhOlCtph3NUlOmJZ6YbUebdl19Pu/0+4hJw5iJEPXvEsza6xfYfmV2LiKvvy+l8wYxhnp6JV2toQPq80PGzuzNf5NH7Vwe7qRa5/N4DPvUtMW5y8/Z7tMmBpqm13rQBaHzazXuN7ECR/R7ZgTK3/ezBe97teja9lo0yvgI6uaDhmTvWpj5lE2xyVSNYf8cfQXqW0VMKK5MFhVqVnhWp0kAnrkPl+ovSZDK1mhW/Hrs/jW3b3z5un/TP7zBk+yS7/7ZWM1jFYHWD1Q5WT1oD+QUhyMFC0mZFmzVtNrTZ0mZ6MYJejQjkNklBrlLSy5H0ciRajkJmS09J+y1pv2UgzaqkzchvUSI77aGiN1zTMdaKXI+mg6nRtxWaU6PlK4fs9EINvVBDu2jw+pGZjpuxtCuGDoUt6c21mv6Mpc+gpeVs6fPmSvrjTjJ2eqkO+SINslt6ViZIzjP2QNs9HT1PR8+jNTnkjUdrwlLydOrzhnGGCbdHi8VxDczWB+Q98iYoZjgjj8C4GRg3AxOTwMQkMDFpW3buF4L7hSQ3um0Q8c7hbCu4OQQ3h2AELQSzrwJXkVGFQhursbuCFrvAlWQ0Hu8sttO1pO0y6O/jIoP1KyQp7EvVvF1OD9vH6nT4H9wC2C4=\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"mountain\",\"name\":\"the level is trans\",\"height\":13,\"author\":\"vitellary\"}"
  },
  {
    "path": "officialworlds/bab be u/meta+/the level is trans.replay",
    "content": "0,-1,wasd;-1,1,wasd;0,0,undo;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;1,1,wasd;1,-1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;-1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,0,undo;0,0,undo;0,0,undo;1,0,wasd;1,0,wasd;0,1,wasd;1,-1,wasd;1,0,wasd;1,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,-1,wasd;1,1,wasd;-1,0,wasd;-1,0,wasd;1,1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,0,space;"
  },
  {
    "path": "officialworlds/bab be u/meta+/the third way.bab",
    "content": "{\"width\":23,\"version\":5,\"extra\":false,\"map\":\"eJyVmN1O4zAQhV+l4m6lXsRO4p9FeRYUaLaqyDaoFAFCvPvWM06dEDdzlisuPlvjc+av2Q2bfnhq+81D8/V1PvRdc3f+OD+8t/3d9qMptoddo7afl39eX7qnQ9s3X9/b3eHUqO/tBH9sH6+4vuDqNj69ubygev3m1+e3xFfh6vrnATsPpQu4CngNBJ5oA8VNqJXjnlzsslHP8Xi7DryXw367wqpYDzvQx2E/pANKDr49nSYHgqGL8OvMaxkPppp1fD/8/XxvP9OZYKy9fWaqjgquKkGfMWv4hBHSJl5fEmzX1Z+xDkoZZv267FNWB09LkA12ViCbdfIGm7XxBpu17wYb7HMgG4zzIGuzabHIoYpgty4ap3Tfn9MJD8lBbFkIGTqDg39KTiKGqbfKWVQTXCKPTHgFvZDZGjKGWYOpwTC5KKc+w1R+cu4z7IUuHGFDc6aQpdsPl790QkHqMash9ZgtMfUYrjD1LME11DiYNVDjYNZCSjDr1hvHtQaZ9rnWsahwYusC0phZhWnMsBaSLuTG7yHxJZZ3juAKi4ThWohknOJM54dgUu+5654D7Ym268kR9z1mHdTRmfXYAwk2BVbfinZDI7n4px/2hPO2p6E0jTBYhYr2DSO5GFJklFvR9DL1eoFNNkrmzXr03KDay4710r9OjlloUEfYZZ+R1qZxyYp43trFlsW0Rb2luWfBCo20xkZqpEtspkZaarFU/r8mB6QqHa+nKWUNtPlFWCjSOeygFh5hL2gSXnmtJzriCkCYmMJ8QIHC0GhzOrc+l8tJEfFyXcefeIUpybBQq3NYKNQ5bMFUZNph0z7S/n/k9gU2tRTNOC/8pExqM65z5iQvx7kVaWGN/UFXmDkM15g5DJtc79QLmKatF74QzGGHFT3DXl5Nr43Z8ReCIqfJsjFHWmEzwjOtscqJdJmLRC+9jHj2J8li4RvpGgpc8zetQlhpr59AIp6dnAsNtWIaa7Yjjf22jDR98AGeGWmVX86+70/d+e103Dzcd8fdP3S5l3Y=\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"baba\",\"name\":\"the third way\",\"height\":16,\"author\":\"vitellary\"}"
  },
  {
    "path": "officialworlds/bab be u/meta+/the third way.replay",
    "content": "-1,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;-1,1,udlr;-1,0,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;0,-1,udlr;1,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,-1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;0,1,udlr;-1,1,udlr;1,1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;1,1,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;0,1,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;1,-1,udlr;1,0,udlr;0,-1,udlr;-1,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,-1,udlr;-1,-1,udlr;1,1,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,-1,udlr;0,-1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;1,1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;0,-1,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;1,1,udlr;-1,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,1,udlr;-1,0,udlr;-1,1,udlr;1,-1,udlr;1,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;1,-1,udlr;1,0,udlr;0,1,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;-1,1,udlr;-1,1,udlr;1,0,udlr;0,-1,udlr;1,-1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,-1,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;"
  },
  {
    "path": "officialworlds/bab be u/meta+/to the other side.bab",
    "content": "{\"width\":16,\"version\":5,\"extra\":false,\"map\":\"eJydmu1O6zgQhm8F9cd+SNVunNhOvKhXcrSq2hJQREhQW9hzhLj3DbFLUntex9MfSJWZB3vG4xn7LQ/9Xdsfdu3ddvPxcW7aerN6Ou5Oq/XPTbZuHjZi/Wv4cHqtD82u3Xx8rg992x83H3qdfa4fmuNGfK4pLh84EXJd08aoYqByNiUHqmBTaqAkm9IDpTBV0FQ5UJpNVQNVsikzUBWbEtmAGT72lR+CSJAlbsyPSIIg7itDRCRFQk6MnKTzGO+2xVQ8jafZHuvuNOM0ncjDsRH+sfHIMjWZPa5KTWePM/GERlyexVMaciKe1JDL42kNuSI1rz1OJie2Byp2ZltOL2R2mKL5yJXczLZYlVqgv92znEkt0ddckSWH5fzzvG2bbkKFF5n35tTsm7Y5/9qs+te6W6FOVIx4Hg8QsZGWK9gRspxMjdCXo49t/zShyk/y6AI1K6RPzfuElkGy0RGUo3WVGsFx697biTR+DEHkRmuZpUbuua6fJ0z4JSwM839/Px7rbkKCahJdV8EK9OuxP9eHw4TLxGCr0Vpxgr2vu9/PE6sTw22ty9Rwuy21VHUd7bZ+r9vN6qU+71brbvdSXz4Hp3Tdvb3s6+Mm++6G+VpSm9XNPApuMzGPVHqRuYq58ivMchHVI5dcWry8sHRQYMJQuMhbe0nZE9XBWqvU3d3v9hMV3G8X1lQm7o+1rtj7YznDvvWV42U94+zP8DORIvEkWeucU/L39QQWiQXfWkt2+Cyn2OGrRk6zO6flSnbntFzFCaPbLkumlonRuuSXCcstlYmQMyPHKhPfa7XsQpHwrJPvHqfnt3bClP/oiE6i2U8Ny5Wpb2ePq1Jfzx5n2Ns8clXGf2Pa9zoQS1DrnpGBXILeNNY8WSe5bLPjAqUkPk2yRPLljzdVQiO5ikAgkYT2//wxsw/EkdD+t5n5QoEIHTCBIBKNlVkSQjDJl0IceIMWMj41zYIYcp2nXf/Uz9hAEUHOWXMghEQy1XKBDBKf5gb1w4I3yB9WN8mSBZAxdf+co4EGsjDVDdqHI29QPxx5i/7h0BsUEEcuaSAEmVtyQQUpiMLgyEAIQSF19nwBxJGjxJok7Tn148KJ1LPg7HP+YXBkwT8NjpSpp8HzTV0fhUVpJ5hY8/VERwZPl9gBvigOF7iKd4exvdl31YUwwYEKES+rNTpJlI48k80uuC8QJQtn7g/kN9yECkuyrkLT1jg6+Trk7JPvQ5cAOc67Dy3G57tJOX7h3uzN5t2b2bOV/rmOzubpNOzZgs4Ym63wuiF3tlHjjVz/vNlyZtXwZytSG7Czl5xS4a61DlVUoSBfAg7QZJ2IEWVQJcCpdvYV/1RLSxq2IODIUdrlSQIXUvD7rSNz/ldpjiz4HdSRkt9BHan4X6g58oYW6EhWC3ybkwn97/B2PNVzJqUDdv35uOse++PLjCR0XZDhzp4v1AhlyWSpxgcXvi3C4IJkg8Gg+aSCC/oNBpMFHB9MVnB80MRTG4Kj8sv6L4gLKFJfTD6YJz+YfDL96yWfDL9Z8snPe/fvPdvht/fbH/m/f1mT7Q/hPg6jBTkqyVFFjmpytCRHK3LUkKMio4cFPUy7J2j/BO2goD0Uc2f0bLwC44YezzMwLsB4DsYLMC7BuALj9Nbl9N7l9OblwNkCOFuAPAQ+FcCnQoNxepUSrEaCaSWdCRJkggJ/XtHJqugYKLBPCuSZog+Opg+OBtmkQYQ1OO500mgQGQ3WXoKIlXTESjpiJVh7CbKjBKss0SpBcld0iCt68RVIsgrstwH1wIAdNHSRM3SRMyA2BsTAgBiIDGyhyMA6RQYCITKwjyIDIRIZnYYio4uXyJAXAnkhkBcCeSGQFwKEXMDOkoN2loN+hkq8QHVSSNBeJeivEoUDldDhRYR+gRYr4WJRnCRqwRLttwIRVOhKAO4ECiSgAgmo6MYkQBEXoIoP11QwDjJGA3818BeUfUHW/WN9fjt2d9v7unv4HwjQmkU=\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"to the other side\",\"height\":13,\"author\":\"vitellary\"}"
  },
  {
    "path": "officialworlds/bab be u/meta+/to the other side.replay",
    "content": "1,1,wasd;1,0,wasd;1,1,wasd;-1,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;0,1,wasd;1,1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;-1,-1,wasd;-1,-1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;-1,-1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;-1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;-1,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;1,0,wasd;0,1,wasd;0,-1,wasd;-1,1,wasd;1,0,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,-1,wasd;1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;1,0,wasd;-1,0,wasd;0,-1,wasd;1,-1,wasd;0,-1,wasd;0,1,wasd;-1,-1,wasd;-1,1,wasd;1,1,wasd;1,0,wasd;0,-1,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;0,0,undo;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,1,wasd;0,-1,wasd;0,0,undo;0,0,undo;-1,0,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;-1,-1,wasd;0,1,wasd;1,1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;0,0,undo;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;1,-1,wasd;1,-1,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,0,undo;-1,1,wasd;-1,-1,wasd;1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,1,wasd;1,0,wasd;-1,-1,wasd;1,0,wasd;0,0,undo;0,1,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;1,-1,wasd;1,1,wasd;1,-1,wasd;-1,0,wasd;1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;-1,1,wasd;-1,1,wasd;1,0,wasd;1,-1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,1,wasd;0,-1,wasd;-1,0,wasd;1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,1,wasd;1,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;-1,-1,wasd;-1,-1,wasd;-1,0,wasd;0,0,undo;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;1,-1,wasd;1,0,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,1,wasd;-1,1,wasd;0,0,undo;0,0,undo;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;0,0,undo;0,-1,wasd;-1,0,wasd;1,0,wasd;-1,1,wasd;0,1,wasd;1,-1,wasd;-1,0,wasd;-1,0,wasd;1,1,wasd;1,1,wasd;-1,0,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,1,wasd;1,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;-1,0,wasd;0,1,wasd;-1,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;"
  },
  {
    "path": "officialworlds/bab be u/meta+/wo.bab",
    "content": "{\"width\":20,\"version\":5,\"extra\":false,\"map\":\"eJyNmN1O4zAQhV8FcbNaqUJx/mwv6rOgbpuFaEOL2qAFId59a59pcdrgOXe9+MadzJk/e7O7GXbr1XDzsPz4GPuhW96Ob+PD4WXox3F/u3hbFot+szSL9+OPw0u37lfD8uNzsen3S/O5EJOh357R8ohW36Ph9Kdu8xh4E/gqf3Tgf3dnuj7SJk+vd8/dy3A4mzRHk1L1PaJt3vcUtUe0zTuy3T3uAl8G3lFeRNRTXkTUFHk3JmwQ0ZJsUNGRbFDQk2zUT88kwEE5k1F7AgftjB7hKsKWymewLp9yE9ZTKke2LCiZwRolEiHd/q2GYFBHg5KtKuCVXlavX3RNfSXYJv+VSaMB33KaAw4yGj2GgKOONQkHIY/5l29jq24MFk1sYwWVUmANJT3YoGTG6ySA4IOUV45X82fXVPcA2+S7x6mnA26p9gHWKopffaEjtJF/aKOBz0uT/EHk62Iuv92l92A5KcFyTRVsxdWBjbBSkMkHgm8o3cFyUoLVpEyHPyw0LeV4F2Glux66YY2vjHgzK+P80Y2hvhJsyUnjI6ysNxNWWW4mLLfVgFUkTNIDvJ0b6FctBKzjBjpgT+QHxlLk24LLDhMXz9bkQyLzUWClrU5PrvIBTKavGNREi/pKV4Pls6FSReCW22oBWzoBxMBRGSCw51IAtC246hHacFud0CW3DwhdKQvBVVjsvKzVtL/JVmDiWmoVUZHx2x+pSUu1AYEtlweAHXe/Aey5CsHtppjbOr6DDTV+BC7ze8dFJcntRUn46T9UZP6CrpWsmVxw4/buiBw4PL3f3d0lNmR9A7acroAdF33AWm2nNRItfMGt2Sbu2V5Zn9LjYVDq9+6h7/5+WZiS22DkfDYZQGvJcKLj4urJBg9Y6QJpZGAw2wmuezZgshMAJjtBgxcJ5UkiHZawiHdEQiA535AKCc7OBMG1oXCBa4P+hLfAGy6SQrdcpQptqeedE+24mAvtuX0AdHyUYhQSXHvcuMDL2ZXgW2cqRf+Qj3+GHfq1hU3NFarQpKhCK90oee90MFDeqs6+C849NJ5opbTTLgOL+Gyl+D/9DzxeKRPz189o4WGhvF6dzhe64uIvdD3v/+f9vhtf99ubh/tuu/kPklaaRA==\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"wo\",\"height\":16,\"author\":\"vitellary\"}"
  },
  {
    "path": "officialworlds/bab be u/meta+/wo.replay",
    "content": "0,1,wasd;0,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,-1,wasd;0,0,undo;0,0,undo;1,-1,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;0,1,wasd;1,-1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,0,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;0,1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,1,wasd;0,-1,wasd;1,1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,-1,wasd;-1,0,wasd;0,-1,wasd;1,1,wasd;1,1,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;0,-1,wasd;0,0,undo;1,-1,wasd;0,-1,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,1,wasd;1,1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;"
  },
  {
    "path": "officialworlds/bab be u/nil.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":false,\"author\":\"Patashu\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"nil\",\"map\":\"eJyN1s2OgjAUBeBXMe4mYUHL/xiehVRhDBkiE8SoMb77tD1VcWF7Nqy+29BzubTtuBrGnRpWTX27zf3Q1ev5MjdbtV1HlzqL+rYW0bVOo+Nft+vVUN/uUdtPtbhHjp/V8KRS0+wz1c8nTTTNOZpqWnA007Tk3jXXtPKsqlNY8kJzEfv9tjM8N7ykQrO0okKzVL+ANzXXNlhBxQYrqdxgk3BwiyBESgR3MrywPKOCg82p5GAL6nuDLankYCsqOWtlHE7uMO7HV4EIZOdWLy3mhg+Wmz5YbvxgufmDDQzgqW+UwZXFpn0yuDBsSQUBW1FBWJvEVBCwggoCVgaDOBusPwSjTeuEVx8XOvXnZtZWw++iwHQwCb64w9wAOhyYwGncLXBJ9cXhyt+Yt5VTrosOB9r4vjL3E3U48BfVjWmtFlYH2vhYGjjjugKcc0EDF1x2wCUXB3Dlj+OBpT3kY26DwILbILDkNgiccBsETsP//p9h3NuKxFZwJ6HD5CQCc2ehw9xh6DB3GgLnxHH4GDAUhI7D19VD3zpMgeQiBE64CIFTf4TPVkJnXIbAOZchcMFexpwviQi/v2wBbskVFyHuyORgApODCUwOJjA5mMDEYO5HdVbXv+G4KMs+BHnfTN18mg6rZtMd2n9Bv2iJ\"}"
  },
  {
    "path": "officialworlds/bab be u/overworld.txt",
    "content": "bab be u,mapp"
  },
  {
    "path": "officialworlds/bab be u/sendoff.bab",
    "content": "{\"width\":20,\"version\":5,\"extra\":false,\"map\":\"eJyVmstu20gQRX/FyGYwgBZsvjuBvsWwLcURQEiBLE8cGP73IftWm5JIqw8XAbw41wzrFrse7c3hrjs8PXR39+v399Ou266/PR26bvNt9bbOVrvN2q3+9j+8/N4+7R669fvHarM7rt3HahbOe9h9DZ/eTvd/Ds+feNHjOf3d5RK46uGawnUPNxRuerilcNvDnsJ+CB4OdU/2+I1gX+GDjw7HzwUnC4wPTroS4C7gZTpPHrcjXkHrRdeL6MFP8p6iB0P5aw6OVpTOM5izoh1MWtE5TRbhRSJZZND+n9MoKWnCCK+W4TXNrzzgTTq/Xke6hQkj2i+hiwyml2gH00t0DtNLdHE7vexcFlvCc0t0RZNLeA2Sa/i3fzuNoobmi/B2Ge5pehWhEmW30+uKdjBhROcwYUQXMGFElzBhRNMaKrqmSSC8AUmwP408NlS4X4RXGfW/DDh1VDR1VDR1VDR1VDT+UIWnPtQrHH+iwlsa8yrg9NgNdE2PXdH02BWdOHYfHx5HtoDdouiSBlw4rqHCcQ2tA97Axl80raGi/W17ho//+7+feJPRuAjHra5w3OoKx61uE/AShlF0BSuLaNrpim4S80Wou792++fdz7+jqqVnhnC/CG+xs8IdtUp4Tq1qA17ctmqIT/dfN/KJKebqt9MhRnQ9a1bxFd7QsAtvadiF42oacJ+qpkMgfx63+277YiOEdI7a5QOep+3SECm8gG6JLmlAhVc0oMJrGlDhDQjoSd2yBLi2Om0ePDyknK0eaHmNPC2wkefjqglSA+tEwMdVE1TAA9tZmALXW6dtQUYrbuRbmNGRpy2U8Q67bDx22fgcm2aCAptmgpJ/OFFCfN5fKLjPuQQJn4cnTDTYa+P9Mj4sn5AVxru53CguA/tre67I51rhmYIWeW62CaDZ1t1EVcrv8TGFBDUtO1GQWEZNHoCtNh5/1uLnV1LF1y8QtlJkiIk8bqijgG+PSwkSTXX4Rg/Ph3NJorO+/OhMU1MnjMdOGz87NM19EsbjNZWrtGbPaEUx3s29wNx/yPicvoDx3OhaAmD0RENnqMhjl41v6Esbj1dXUcBtDmOOqxI2X27rTTNr9Y1nJK72Jvzs3d5clIwv0ysBWwhHRXV7D3N13JsIrymjILWonAi43SbgdocxydXA7rMXNxH223jst/H0LjfyCb8nfEWbS+PrRdlhInq5G3m8HIkCj7NJAq2+FsSpwUO08xIkxugJT+foyNN7+8hXNDGMr2liGN/AlXnkB4/Rtazxg8XoYlZ8WIGhnDN+MJjczUU+T6z9JoICJ7UJ8No6CvjlrwlSI9bZak7Dd0vulz5romlaupU23sPME+7pOG04naYNp5fBaiV9Ytd5eXXgPOjD7N7Dfj9otzVk2AMSTdjZA9QkeXDF/+f1uDlT0LnKcDpBhxfIM3onXAqn5bgQTg9p/YlCRt21Pzz5wt2PH8ft6fW4v7v/sd1v/gdnxpKW\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"snowy\",\"name\":\"sendoff\",\"height\":15,\"author\":\"vitellary\"}"
  },
  {
    "path": "officialworlds/bab be u/sendoff.replay",
    "content": "1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,0,wasd;1,1,wasd;1,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;-1,1,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,0,wasd;1,1,wasd;1,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;1,-1,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;0,-1,wasd;-1,0,wasd;1,0,wasd;-1,-1,wasd;0,-1,wasd;-1,0,wasd;-1,-1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;1,-1,wasd;0,1,wasd;0,1,wasd;-1,-1,wasd;0,1,wasd;1,0,wasd;1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,0,wasd;-1,1,wasd;-1,0,wasd;0,1,wasd;1,-1,wasd;1,-1,wasd;0,1,wasd;0,1,wasd;1,-1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,0,wasd;1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,1,wasd;-1,1,wasd;1,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;"
  },
  {
    "path": "officialworlds/bab be u/w0 (prison)/another angle.bab",
    "content": "{\"width\":12,\"version\":5,\"extra\":false,\"map\":\"eJyVmOuK2zAQhV8l7L+CKZJ8kxr8JEsx2cRdDCZe0izdEvLulTVqHPmiOf4TgvKdKJ6L5iinftf1x0O3q6vb7dp2TfXy59C9JF+VSNpTJZO/lUp+fzTH9tBVt3tyai+VvCcLqLJoiqGpRTMMzSyaY2hu0QJDC4uWGFpaVK+j169r/XZ4G3A54Nrikv1mh5p4bO3rA5UiHtyAldPoHvuuv1Q3kYioTsVDHbDpNNbgHhkUeGJzIPLNgCuHF1DkiS2h0BOrp6FnH5V0Jl7kz6wS09BP91APnS820smllKnlPVS8PQI2naZp/Zmf46oyPmWfA506OocyRmwBZYzYEmoWYvXmZiGdgZrFsanY3Cykk1CzEKvikfds5tgUiiWxGV79wR45dG4TW0CVSWy5uTJJp6H45I5lDuZnNmMO5oCdHcwRlunWgJ11a4RlOtSzhWNzqE6ILTbXCelKKCbEaqimiDX8SeT50nkHAZ1FxDKmyMeFWMYVBezMFrHnBOkYjxSwM5ME7oE5JmIRy+QGt3Y4ZpmIxTyTY4tZa0Ye1f6kX13/PoollDdiFTTpiU25Sb+iy+LnQfjjGSccfPEssWzjkg5I8rl/7weBcQIszcRyaX5UkMNLzB0TiyWW2Fli4xX049soZa44wTZY/xK7vX9Jh/UvsUxq/5t0uh5p7BZDsNk8JUioBTQmPLzoitdgbNB6GJu0HsZGraRrIzNrQ3g2bGMwM2Gfp7jWy4fBue2WVc5T6JkXZlRuL7PiildVzseZlcvtqLrv/f8Ztf10X79q/fM7MfVrnvv3w7oZ19NsXDdiZV0urV+a6+flvKv3zfn0D036uw8=\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be u them\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"another angle\",\"height\":9,\"author\":\"Patashu\"}"
  },
  {
    "path": "officialworlds/bab be u/w0 (prison)/another angle.replay",
    "content": "1,-1,wasd;1,0,wasd;1,1,wasd;1,1,wasd;1,-1,wasd;1,0,wasd;1,-1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;"
  },
  {
    "path": "officialworlds/bab be u/w0 (prison)/bab be who.bab",
    "content": "{\"width\":12,\"version\":5,\"extra\":false,\"map\":\"eJyV1t1ugkAQBeBXMd414YL9hxqexaDQhoRKo9jaGN+96xwMralwesfFx2Z3Zmdmq27RdtuyXayL87lv2rpYtmX5sUxORZo0VaGSr/hxeK+3TdkW50tSNftCXZK/rI5WkdZEq0lrozWkddFa0vpoHWlDtJ60WbSBtHm02WPbn/r1ptxcuZJ0pNNxu/qXtnsdf1Bc8IA1FxFgM731G9aCLXePgN30RZKg1CP33F0CDtPxGIINm3FJB57J5A0bqZSUCwewmg/HcdR6/oY8P43ccCkHttwZrWDHnRHYc70DOHAJB864PTvBObdnwSbl9gysuD0Da65ogQ3X8oAt15uAHRc6L9hzoQMOXOiAMy50wDkXOsE25UIHrLhKAdZc6wA2XFKAyRoMgskaBCbnITA5EIHJiQhMNtJMxn3KrQysuJVzwXp65Wsf/f0DOQ8V3inkQBz0zES8057LzaDD/EExbQdPNlQlrwRHdlRoT7bUQZM9ddBkUx002VUHbcmHE7Qj8wPt5/Oz6w6fzduPf8I/HiM+444q1enzaXz3NgvpP54XQXFxkXILmts1sOFuobSJMFOat/c1VnbcrZLgBfKVg20ELnTYBjkj5XaEBzV5We3r/rjfLdareld9A8p9qrw=\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"snad be hote\",\"is_overworld\":false,\"palette\":\"redfault\",\"name\":\"bab be who\",\"height\":9,\"author\":\"Butcherberries\"}"
  },
  {
    "path": "officialworlds/bab be u/w0 (prison)/bab be who.replay",
    "content": "1,-1,udlr;-1,-1,udlr;0,1,udlr;-1,1,udlr;0,1,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,-1,udlr;-1,-1,udlr;-1,1,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;-1,-1,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w0 (prison)/comeback.bab",
    "content": "{\"width\":17,\"version\":5,\"extra\":false,\"author\":\"vitellary\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":9,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be u them\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"comeback\",\"map\":\"eJydmNuOmzAURX8lylMr8YC5MyO+JSKXjqKiUGUSdaoo/17ibTeBHuyNH2ae1o7h7ONzYd+vun7XdqtNc7tdjt2hWV++Lpttu11HX00cHfeNiv4Mf5+/Drtj2zW3e7Q/nht1jwz+u+3+ocmAJhyaDmjKodmAZhyaD2jOocWAFhxaDmjJodWAVvOoju3hQasHXVOh1aiK3bEd/j9Z5Q7uiE3E6Ea7vuvPzXrbtbvdWlam7mBP3lVl7oCPfjoX2bmHGg56+/4UF267Rgdx1oIlvL0+6ETTnLeaTThvwcreuv2CUnZaZmVvmVM4m8HmYvRnThlFrHB7YdhUsyUVXbCV++aYugi2puKp2TQOuGVQKvct+/x5fYETKvhg00V37FWZUZcGbE4ZlWm2oIwCW0pG5e6nh7KibANbB1wDrcxiygmwKuAaQJlQ0c01m1LRBZtRDQRsvii1hyL5o+s/nvLC00VejyoXsFVAekNZU+mt2TymDCg0qygDwCYBVR7KlEpvsFlAekMpN2iZlfuxO72hLP0d19a/UgsqqumCralhVbNFTN0HsGrJfRidklDTK1i5esssV6/Beur1c6irNF5QAQfL9WGwch92ZyaUXFfWbBkH5D+Uisp/sElA/kOZ+s14+/bAa41nlBlgc8oMsAW1q4EtqfCDrahyDrYOKOdaWcVU9oNVVDlXWPU8267dMwDL+65nzYLUs/+OYXkDps7xbMRjWF6c3EltpJ49ysJ66ao8Vdo+FNZprkwbeFGdHks9hXoMh8zZRsoVbgNzk7bS+1PNjdoGFmdt3xtAyg3bBg6ZtiFVMTdvWzpk4rZabuZWKWjP1D2hPXP3hJYn7zmaG7QtXYZkrdFWXNoauvY3OavI8HUr5j6bGdo3dr8MkVYiT9//va6hl5X251cxIyfLu6E9nk9o2XOPi0YrZ8AcLXvuuVFGS2SACVmOT5ZkAhia27ssTXpvaHnb8gTYaOXta45e9kl0rPV8EZ3Ei9i6Tv1HryUFJNzeZWlu8zJ06mnqE1ru6nM0t3FZmtu5LE02b0PPdO/7+/lwuZ5Pq8374bT/C+cEdQI=\"}"
  },
  {
    "path": "officialworlds/bab be u/w0 (prison)/comeback.replay",
    "content": "1,0,wasd;0,1,wasd;0,1,wasd;1,-1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;1,1,wasd;1,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,-1,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;-1,1,wasd;-1,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,-1,wasd;1,0,wasd;"
  },
  {
    "path": "officialworlds/bab be u/w0 (prison)/cordor.bab",
    "content": "{\"width\":16,\"version\":5,\"extra\":false,\"author\":\"vitellary\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":8,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be u them\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"cordor\",\"map\":\"eJydmM1uo0AQhF/F8m0lDsww/G3Es1j+28gSMiuvo83K8rsvnhrbgBq64JCcvpqQ6p5SwaFZ1c1+W6821e12PdXHan39vm7+but19F3F0elQmehf+/Pn93F/2tbV7R4dTpfK3KOAd1HbopZDkxZNONS1qOPQtEXTIZqIaNai2fipDxd2xwdtHnROmeDRgjLBo+W0Cbvt7oWaeNqF9vebNSIb7Zu6ubTH1tv9fi0+kLGSgfLDm0R38Nx8Ng+B9QJHmQg2nXbRjwf2gM+mrQz2gM1FdsSe9yJAXFBzAFsqbHv014u28bT33ZOtEdnpCUNpp6cW2MSzCTUwsI5ae7ApNSyw2YJdhjKndhlsMcOVx1RzlXU+5WLKQbCGchCspeITbELlJ1hHeQY2pTwDm1GepZ5VsjZsB1g5bMeuclepZG+XdXL2En/FyfdUZuWbOb3pUCaUu5lnlRAOTwRWC+EuKwfwyNOH6IYypxIVLJe+YMs5GdlVpjG12WAN5X3uWUt5DzZZsNlQOmqzwaYLNhvKjNpssPmCzYayoNwtPFtS7no2i6nNBmuW1QWILbWwYJWg7rFyUE8PDkoutsFysV16lottsEtiG0outj2bL4ltKLXYbof888cbVzpV72i5NU/fBSgdNQzj327ylJpGgDO9bP+qm8+OQq7QI8cXsy5QT6o16C5cyAWa+TuFoS5FgC03CLwNKh36+RiA5RKt/AeQcp06wLNKdV+qtOo+LNdq5UUUUq5lG/9SUyo1+/lQgJWe3Yfloq04BSkX5wFekudBygV6gLlEN/5Np+QiPcBLMj1IlVB/ZU+CLyHkp5BAz/oYMtAqn0MG9JJof2rJcHegyXQPtBbvfXre15G+lqvnT3pJQQ9aw1X0J82VdJOCVmr6gJaL+hitlPMBLdfzMVqp5ANaLuVj9EgRv39cjtevy3m1+TieD/8BF3xZOQ==\"}"
  },
  {
    "path": "officialworlds/bab be u/w0 (prison)/cordor.replay",
    "content": "1,-1,wasd;1,1,wasd;1,-1,wasd;1,-1,wasd;1,1,wasd;-1,0,wasd;-1,-1,wasd;0,1,wasd;1,1,wasd;1,1,wasd;1,-1,wasd;1,-1,wasd;1,1,wasd;-1,0,wasd;"
  },
  {
    "path": "officialworlds/bab be u/w0 (prison)/drinking hole.bab",
    "content": "{\"width\":17,\"version\":5,\"extra\":false,\"author\":\"Patashu\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":11,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"forte be deepe\",\"is_overworld\":false,\"palette\":\"greenfault\",\"parent_level\":\"\",\"name\":\"drinking hole\",\"map\":\"eJyN1ttuozAQBuBXiXq3EhcYGx+24lkiWtgIiQ0VIUq7Ud59nRkSoNr1/HdcfLbM/ONDM+z64b3ud/vqep26vq1eLnX/kn1WedY1lcq+4sfpo33v6r663rKmGyt1y/5Bi0gVRnWkBUZNpBqjZaQGozbSEqMuUotRH6nDaIjUY1Tl0QbRKrJCXoexPi1YSGyLdTqILTbpKLa4hGrB1kK1KMi6dC2mz2n/Vr8t3qe78u4fC+cBId0aG1zk0F+yVem/3E5MKcp7VBPWQE3ahZt0SebysS3Te+r71BbaV2wdVg/GHquHIRzkepyfWudAhwz1pf766E/LKAX9KdsC6u+SrJDlxhpoXku2hOZli+1HR1bYj48UGXvsbGIcsOOGsMnTfbrBQaeP9O3MCtribLGgPVksaLYGuoXZltA1zNZC9zBbJ13E07hgD13FbIUDd23LHLqM2WLBsRWCe3QEYy2cRfcT41GOQCOE/JZTlLkQ4Z0fh9Ol+70MwZJkCybJGEuSLXh1ErZYlIpfdgpb8qwLaM0z1tiiZ22wo2PWwiOIG4UXQy8ha9FGmb1DOuUwrEZ4qFFmLBzBz7KTdsIZvJnaYfenoteQK8B1sNbYOhib9DrO3f7PSguBRn0+NsNqgHCV3gP61Q8HGkEvHefgFmAPPHB//lj5gDUAYZ+DhWetsMIzLsB9xxq8smdt0jF90yX2tlT0mPM2XZJnmqwdVhLGHiwJ6wAum96KQUxyjcEgGf8nyNvr2E7n8bjbv7bH5i8Hh3sH\"}"
  },
  {
    "path": "officialworlds/bab be u/w0 (prison)/drinking hole.replay",
    "content": "-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;1,1,wasd;1,-1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;"
  },
  {
    "path": "officialworlds/bab be u/w0 (prison)/headtilter.bab",
    "content": "{\"width\":13,\"version\":5,\"extra\":false,\"author\":\"Patashu\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":13,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"snad be hote\",\"is_overworld\":false,\"palette\":\"redfault\",\"parent_level\":\"\",\"name\":\"headtilter\",\"map\":\"eJyN2N1u4jAQBeBXQb3albiI458krfIsKAWK0GZJxU9phXj3jX0ySo269rnj4jOKZk4cezbDoh/WXb9Ytbfbed9v26e+6z6elp9tsdxvWrX8Gn+c3rfrfde3t/tysz+26r78yZajVaTVoy1Ja0arSWtHa0jrRmtJW43WkbYebUXaZrQ1aVUx4obFvnOKbZ0KvWObp3z3VKJ958/z6rV79QtUWGC4GAHbdI6uXT9bl85RZKt0jiJbczkCbrggBVwW6SR9f4pSpZMU2TKdpMjqdJAiazI5irAlYwTtmBhtvS+Dr7gUAddUimAbKkXB6iKdjMgqLhjAJRUMWJ0Ohi/c6c/l2wKTTsdDpbVNB8Tz518zd1xGgCsyI9A1kZGL5zrwhotIwKagIgKr0hGZdjvYkooIrE5HJLKGSgispbYOWEdtHbAV12rgmmw1dJNptWgTPvQF12lgRXUatkx3+jisZ6u5zwRwpn0+yfECy7604C7/0h6G03X/d15CdhOY7SZ0rpv+caa/t+E0RjYUmGsobKah8R9r6h2DNWRBoC39tXPBO64ewBVVD9iaCjhskw64fGQCrjJHmxhnzjYxzhxuYpw53cSYPN4As8cbaOZ4cxh2g19RhRXkAQeYO+DAZg44UpKAa+6ECqvIikCX5A5fB625agAbqhqwNl0N35fpJYB36YuDVA84c1OMHoTdUaGZHfWtH3Z+RRMul+SWCsxtqbCZLTWyOl29edsDN+kdx/Pd0F27r/f+NK+y6WOUtAjYpVsU17Ci7kqwbD+hmX6iMmq6/5P9FJ7p6CPnmio609YHnemq9Ee45S7Jk3bsrXPyFVH4599hBS74RU0WfuINWXjwMNchdkXhiqv8pLnLiGjuOiKau5CI5q4korlLiWjuLRVdkzONiTdsvuDDiIf5zKkSnhyyCifnrMLJUatwctoqnBy4CidnrsLJsatwcvIqnBy+TlyT41fh7ABWPDuCFf+/Iez95bg9X46Hxeple9j8Axov2os=\"}"
  },
  {
    "path": "officialworlds/bab be u/w0 (prison)/headtilter.replay",
    "content": "1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;-1,1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,-1,wasd;-1,0,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;"
  },
  {
    "path": "officialworlds/bab be u/w0 (prison)/hotte as hec.bab",
    "content": "{\"width\":15,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":13,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"snad be hote\",\"is_overworld\":false,\"palette\":\"redfault\",\"parent_level\":\"\",\"name\":\"hotte as hec\",\"map\":\"eJyN2NFu2jAUBuBXqXoxaRIXcewkdiueBaXAGFJGKkhHK8S7L/HvALZWn/9uF59XnPM7Oceb/qnr1233tFpeLsO+2y6fu7b9+7z4XBaL/WapFl/jP07v2/W+7ZaX62KzPy7VdfE/W45WfW/PbXejeqQlR81INUerkRqO1iOtONqMtOaoHWnDUTdSy1FVjNaRdiqYylQswr5imZLFUZiKpjJVGz6H1Vv7Ni1QfoHhwgNcUemBran4wDbkHqEts8ft5EvvHbdFj8uC2iKsym/x2K/vtsznfvrNj15pIafpJrUQ1snv+vbcfr13p/syw+UWe9BkmaANUaaPiWvPK65KwDVVJdgmX6VwGmAt9R6BdeTT8FoXxNP4MXHjOflOB+Ze6rDcWx3WCDt8xMooYoe/jvvNbjMtqvxfIIsOLBQ9xkLVY2zz369wMGFd/qsU/cf+dGUOZYxV/ijGuBS+IZFWhv2KBC59RmZe+9+iuSoCG66KwBVXReA6X8UYN/n3cYwtV3Ngl39xR7giAwJMBgSYDQg0+2qHZl7t84rGryAPOjB50IHJgw4sHPQYOy4iHtcFFxFglf/MxLjk8gSsuTwBGy5PwBWZJ+hayNOUkHM7HO8rGrqrs95bLlHAjkuUx03BJQpYcYkCFprAGGsuUcCGSxRwxSUKuOYSBdxwiQK2ZKKgpXYryYdlGq7f/TD4Jc4vIZsuYKHpirHQdcVYmKZjLMzTMRYm6hg3XEqALZcSYMelxGNXkCmBVkRKDv3pvP9zX1OSzY7CpQDZ7QRNtjtBk/1O0GTDEzTZ8QRtuRoF7cgiqXBZUrADf/DUbNH1O78GtwRFSdYpcE0WKnBDVirwirohm3VNDeWzbrjrpJlbbqqbuaO/ywpXCv4qjHnwgSvuUinoMv/cbyEIXFMD/ayFhghNS7RC6ooSLrVFCWd6opeffoXGCrIrmrnQF80/B7oUGqNEC9NKoqVx5SFmYYU0siR/QJpZbo8G1xnsfdTMuRupWQtDS6KFqSXRwtgSay3MLYkWBpdEC5NLooXRJdHCUU00e0wDZ6aXQ7/rH9d8d1avr8ft8HE8PK1et4fNPx62eYc=\"}"
  },
  {
    "path": "officialworlds/bab be u/w0 (prison)/hotte as hec.replay",
    "content": "0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;-1,-1,wasd;0,-1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;"
  },
  {
    "path": "officialworlds/bab be u/w0 (prison)/it hurts.bab",
    "content": "{\"width\":16,\"version\":5,\"extra\":false,\"author\":\"Notnat Tlikehis\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":9,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"forte be deepe\",\"is_overworld\":false,\"palette\":\"greenfault\",\"parent_level\":\"\",\"name\":\"it hurts\",\"map\":\"eJyN191uozAQBeBXiXq1lbgAY2xoxbNEJGGjaFGoSKK2ivLuCzMO4P2ZOXe9+FwNnvGxc+g3Xb9vus22vt+vp66tXz6b7iX5qtPkdKiz5Hv84/LR7k9NV98fyeE01Nkj+Qc1I80wmo/UYNSONMdoMVKLUTfSAqN+pA6j5Ug9RquRlirNqAWp3IPr13V7+XVbLcjkTkwLdu3CjdyNib/9WHgud+Q4NJcFW7kn0/8e+v3iC7kxf5bu5OZM/Ng3n833R7cqykN9YltCjTJkK7lRz50hXBlsGwmbFKqYbQZVnJM1WMWMsVPL1kJFWLKFXMRzthk7ebZj7OWKY1zKDYlxJc91hPNUHuoYZ/JIx9hAc8E2h1pSkLXYXDDGcpetg4pwZL1cxK7ZLbaUa3gWzLiStzjCFjt6bLGj58mCR4+xcvRibKEbi20BVVySdXLFIcfZevkwLTnOXGnfXznOqyroFidbpNCHVmSxRw9b7NXDFgtQtkqAzrcsv3yUCJ3272fXH1crlBx93oGMwRwNGgzSoMEkZe2UKI3KdkqUxhiL0oCVLF09U+gV4Sy224wLaEwCBl5AISjDAuXxMw8Wa+X5Q2/DV/L0+HAV9qGEfSp/6DyxrDMs4oM22KAwzoFNbFfeYrNCTyGvtHOum7WDfu8ErPw2meq+rbjy+2SuhN4LHmwl4VJp5VRJvCBDL4jgjX5DnPtjv1qRYxPAWLkz460pC3Aj6c1TglHLWInaGCtJG2MlaCNcgTnL+D85+3gf2uttOG+27+358Btc021X\"}"
  },
  {
    "path": "officialworlds/bab be u/w0 (prison)/it hurts.replay",
    "content": "1,1,wasd;1,1,wasd;1,-1,wasd;0,-1,wasd;-1,0,wasd;1,1,wasd;0,1,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,0,wasd;0,-1,wasd;1,1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;-1,-1,wasd;-1,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;1,1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;"
  },
  {
    "path": "officialworlds/bab be u/w0 (prison)/lava cavern.bab",
    "content": "{\"width\":15,\"version\":5,\"extra\":false,\"author\":\"oatmealine\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":11,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"snad be hote\",\"is_overworld\":false,\"palette\":\"redfault\",\"parent_level\":\"\",\"name\":\"lava cavern\",\"map\":\"eJyN2NFq2zAUxvFXCb1awReWbMvSip8lZIk7AqYZWTo6Qt69yvk00pZ2+t/14meIvuNzrJ7dYbUctptltZ7O59N+mae7ZbP5c9e8TG2z302u+Zv/+P1r3u43y3S+NLv9cXKX5jPrs3XQdtl6aPtsO2iHbHtoQ7YDtGO2AdqY7QhtyjZC69qME8XXyjlQOmfaszoLdyxk4Z6lLDywOIQDi0N4hHF40/H/cTwuh583nNi7bNi3LDthWsPONKyhcKWGp5fT+njY3nyljO/swBpAOMAz9qZHdkbhyAaSMKyi4a5lI0nY1aP+Md+4Zw0j3MH0BtM9S094YOkJB5ae8MjSE4719J5vOrHwDPctG+rCjk0bYQ/LEkx3rCzCPSuL8MBOKBxY2wqPbFILR5adcILZjfa9b1l2wo69HcKeZSfcseyEe5ad8MCyE6bDNJqGw1Q4suyEE8vOcGhZdsKOZSfsWXbCdJQm03CUCsM2FIZtKAzbUBi2oTBtQ6f7caUPr2P6362pPOHYV6BoD2+G0h28Gkr39Kh2lRyH+lH1PS8+wINKw4oWDUtaNK6pXT8jqOn3+zeeVlSaVlS6UtHrb/nwBK6q3UNjpaofdGBf4aJH1tJFRxiMdKoHU95G86mlsdgFM8EFQNFwBVA0XAIUDdcARcNFQNFwFVA0XAYUDdcBRcOFgLRrKysBa9Fvbx/46l/Ky8NxPj0fn1brh/lp9wq+o/as\"}"
  },
  {
    "path": "officialworlds/bab be u/w0 (prison)/lava cavern.replay",
    "content": "-1,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;1,1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;-1,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;"
  },
  {
    "path": "officialworlds/bab be u/w0 (prison)/no transform.bab",
    "content": "{\"width\":14,\"version\":5,\"extra\":false,\"author\":\"Notnat Tlikehis\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":10,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"forte be deepe\",\"is_overworld\":false,\"palette\":\"greenfault\",\"parent_level\":\"\",\"name\":\"no transform\",\"map\":\"eJyN19tugkAQBuBXMd414YI9Qw3PYlCoISHSIKY2xncvzEBw27r7339LhpmdYai6Tdsdy3azL+73oWnrYnvqy8s2uRVp0lSFSL6LLLl81sembIv7I6mavhCP5D8rR5u/tl9lO1ExUTVSgVE9UolRM1KFUTtSjVE3UoPRbKQWo/lIHUZFihWBsYCqIMnKcBmG27D3vArXYvKHeuU6XI8/jzfhoizvydiGy0KxlIfVOyjhbLNwwmeryObhHC5BE5YpmkDmAksIYxlOiI9V+Kb+DkRDyWNroORpshaaA2xdPHcfbXdaD2Th7E0HrqvGGpKsAhuSMdaQhqwMv+N8odkqaC6x1VjAjE044AVbwlgF2UYq6NlICy5BOMKRHpwfTFZHWnC5QowF1lOMJXSD2Crs9TLCU/XS6IPZmvDr+Q+2UMRsHRZxTjgLR+xjrHpkTaR63oONiH9/lnLzgcgI9SKJTFDPYuOTLTY+BW1cxmLpmLWLD0Qe+rOPrDOTf3978uBOQ9hGZuiCeVsT2BLIWGJrIGMF54S9xrZBxgbbBxljzThjsBsF7TM2wzLCOI9nxDvgUmATq5+8iF+rc3fqnk5gk3XG4GidtcY+doJ2Gwf+YTAG/zEYg38ZjMH/DMZgVxLOXnTlY9fXw7U/b/a7+lz9AOuRstk=\"}"
  },
  {
    "path": "officialworlds/bab be u/w0 (prison)/no transform.replay",
    "content": "0,-1,udlr;-1,-1,udlr;-1,0,udlr;0,1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;-1,-1,udlr;0,1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w0 (prison)/patrols.bab",
    "content": "{\"width\":17,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":12,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be u them\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"patrols\",\"map\":\"eJydmt1uozAQhV+lysVqV8oFNhjMVnmWKE2yVVTUVPlRu6r67gue8QbomDnhor36jg3MYTwzZHd8aI7bTfOwXn1+Xg7NfrV43zSL5ccqWx52K7P82/6d3/bbw6ZZfX4td4fTynwtBdS2qMXQvEVzDC1atMBQ16IOQ8sWLTG0atEKQ32LegytW7TGUJN1MchU2ARYCVj7/8bKEVtuj83xtFo8NZvtdiErlQAOWDmCyC5YQIlVInr5uKz/NMfnm0CJ6+BCvMK2iz/tb3g97YP+0jYTWeDpWANZiFirWCjcweapE9gg6AKsW47YArIcsW46SVwP6/PbZru/CUrIacRWIpt4lu1W75vD5ab205lmsFONs3kmujhxVf0HmxvF0/1drGjRaR+RMlfc2lrj968bXkzbbrC0E1nk1kvEsMEmeeAryK/EesivxNYzUmRQFhlkXGLNjBRJSgulSGJzyE7EFlB2JNbNSGGkLKEURmwFOOLa4UXAPWQIYmuoyAmsy6Aqh1gDlTnEWqjOITaHgk5sAQWdWHdPDhnsUkKVD7EVFHRiPVb6uAArYeRbDWwph3Has6RUgjpg5aBOP1BSKiEe7CKHGLkXOeAyK4c4scv55dqTihF38jYecgexNeaOMpTxGeQOYs30Sx4LSYItZAhi5bp5OlSkxPogYpW6ebCuVjf3WblknrYzKZXOKNqFYLE3+maXwPpsRoVBSoOZpwqwhcxDbD4jtZCygJxErJuRWkhZQu4gtpqRWkiptEyDK1L6peiOANdixL+5g1isRSJWa5EY9gHOIT8QW0wnE267iHWQA4iVO6Pp2JCygnIJsR5yC7E1lEs8DTWyGcmEpQbzC9MWMgzD+Yx8wtLiDgOZrIu00YvOmugS8hvD1YwExFIP+Y9huQmeflYkNXJPLO9j5DYYuR8jd8WJi9Ia4cHKWBvMsJOtAT2qUjFK1/fEWQ/NCw3WDEcaa4cjLTfECdrKTbAy3WKt3BQn7sJijXCklVZ4RCvN8IiW2+HUXcot8LQzolZriUe4B5zEY0yeD9eYkXgmjFXYkZZrbKWfiGKx5s5TWynT6vHiYqmdXPyuQmy8lViLJbeqpj0+XtxLJk8uLh/eyqvKE375LE/R8vGN7SQe5ilHhokX8oIwXgAvyOvx+Rg0ljQOe0WYxs7xSMsHeYqWz27lsbIWm2cz7eZMtKNWmWmPaOz8jjR2gEdaPsGh5+USB3rqwrQzPOI54RU0j4y0hyaSka6hmSTTYUwGnMFMG+wMZtpC3UKkc8wJTBfQPDLS8meK1JUkPk0o9mdxBTqhIFyJbZeQ/md9ligBjjdDdHVfgXYrEFiu1GijzZQZd/jS9LMvwKagkS7uSUvdZj/6aofZkWngc3Mbype+BPzgzLQ8P1GyE2vB789E3zdCG2nBIVrELeh+R7g8Sft2LUxj07NI31W2jbTYBC3Sc2ZoUav98GBIy3GHdpLHaqmd6kTclRzIYtQFJeGKC0a04oIRLbsgRStxH9Fy3FM0Ni+NtPKGD2ibKbEd0eg7zXgqml+Pp/3lenp9WD/uX3f/AGp2mDA=\"}"
  },
  {
    "path": "officialworlds/bab be u/w0 (prison)/patrols.replay",
    "content": "1,0,wasd;1,0,wasd;0,1,wasd;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;-1,1,wasd;0,0,space;0,0,space;0,0,space;0,0,space;-1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,1,wasd;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;1,1,wasd;1,0,wasd;1,0,wasd;1,1,wasd;0,0,space;0,0,space;0,0,space;0,0,space;1,-1,wasd;1,0,wasd;1,0,wasd;1,1,wasd;1,0,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;0,0,space;0,0,space;0,0,space;0,0,space;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;"
  },
  {
    "path": "officialworlds/bab be u/w0 (prison)/prison.bab",
    "content": "{\"width\":12,\"version\":5,\"extra\":false,\"author\":\"Slabdrill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":10,\"puffs_to_clear\":9,\"next_level\":\"\",\"music\":\"map\",\"is_overworld\":true,\"palette\":\"default\",\"parent_level\":\"mapp\",\"name\":\"prison\",\"map\":\"eJyVmN2OmzAQhV8F5aqVUBv+QSueZFVFDriLu44dGW/SVZR3L2EIYGrw7B1MvuHg8fFgp5YelxXh3qG83TTjtNxdCd/5f8u9z+oy8D+7i/ZMK0Z4ebv7NVNlcPctaNihAQ6NOjTEoXGHRjg06dAYh6YdmuDQrENTHJp3aIZDiw7NcWiw79jCyQY9i5svYEPUc8Oejbafyy8zNjZnl9ML5eXuRM7nnX9hLTsyzvRnuZNnKnY+q6QQ5NQ9BK5b/fl4Yi11u/PhB0gVH6cjVWUB2tGo3VJeaTXJJzZzTThnYmJT013/vd1mcmb6bSU5sCfnpgPdyfMKF6Ynhwpf9963s2KtFN9/XinRDVW09n5LpcfiBUNFlz9/ST7cmz63yDPtNR9qmsHZPbxIsuW2MEA5M+rZ0OFMKDqw0Ven+zITip1FrxUT70y8eY3k9Dn0ZRDGH68UGKQSZ4GF9LQiou2m7/RUWsRAKN8sXooqdNyzGarQwObmGpwXumF1vW4wSC/MebKMnwj5MLBHxNusqqGlv0BtTH4Q9yvJpSpvez+4W8cc4Vpv0rOO1jsMENjQ2iLnA6ykqqV6vv54B+OMzAEIxu0ykbOOlTzRI6neJ6HxHqRSpFRsNkOL1JloJfnYEqbboTXt15WMOieoOUl7NkV5Ftjs656dp+frvQWTXqx/TFbS5wONcUbNeha3RwAWt6kDFrerA9axrRusBWxifiot1mooqbtETccFY0TAYNli1Yd+dLcLps5O30itqUdar6HVKGnGjN2KdfnA9INkZnZ8/PRDeo6a/rxnC0fp4bV6Ntmv71K2+zikB85CcnIhXkUuVI2t2gwNzSFwtiFQDJ1fziM5ekfqXRv5FDQig17obEagF20XvmoIlLPo6di28qbtxh/C+AQn20uve+uJTVHLFNgMdaICFuerAI5fDmPpv/pgJKQLd9kSjnTGL+y0LN+DF/JNzjIWdth8/9Qxl0+4PzyluHPpAONOpgOMO5sOMO50OsC48+kA406oAGcrn5/7y/DfwqGLvRxeo/DXD1hQh9ewGK4f8WglHtvjcTrF42SKJ8FKPLTFFdUfSniHFyrqf+wju7Q=\"}"
  },
  {
    "path": "officialworlds/bab be u/w0 (prison)/weathered fort.bab",
    "content": "{\"width\":15,\"version\":5,\"extra\":false,\"author\":\"Patashu\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"forte be deepe\",\"is_overworld\":false,\"palette\":\"greenfault\",\"parent_level\":\"\",\"name\":\"weathered fort\",\"map\":\"eJyN2NGOqjAQBuBXMXt3Ei9aoKWcDc9iWCWGhCMbxbgb47sf27+sQLKd/86Lrw3OdIYOh2HTD/um3+zq+33s+rZ+G7/G3a3p37Zftdp2h1pvv58/Lp/tvmv6+v7YHrpzrR/byI/n5vKy2jy1prV96ozVyvm9eV55nv/O/R/9aD5+VmTeF4JvPdee5+m4xBAGWqT/5pz6+CWeeU598BKPO6flkxqO+iBbjvoAlxzV6mkdHVutiVychuPgV2RhRUalAzbnjh1wkc7IEhsqJLA2HZKF9QmsSBvKhA1FKJJEwc5xpoQC9Fm5vriUxLh3HnCWzsmsK8Hn6dPv/XnYv3xBnWtYk87MlHJgy0UQuCRbGLQTAjjpAjVTUiUQcFbJ4UY9Bp6rdLRjG4XV6WazemguL9g5I6MHnXPHzwQstGgfj+PQ3Jrvz/7yWmWoFgzLlTusUO7xYMOS5Q5MlnvAhVTuU7ihyWq3AQvVPu0MnHMdGLigOjCsUOcLa6mUwJZcSoAdlxLgSkjJHBslXIAWgTNk/sqAhfwtrJC+hS2ogoI11KUG1lJdBrakThCso04QrHQfndLh0Bhd+iYdtw7YKiodsJr6e7AZ9yIEzqk7CmxBxqJCLCoqFgFbw7WWuLNwjYhljZ2tdODG8wuLp2iOhWN07XYzXAndxev20o4/K0rFtRhgLaRmutaHmakkrm3xXg+fc5MIMNfLIyYvbTqOnprrpHFzS57XyEuul2oMZ447sVFX6XY6u/higRPubn7B3z8zr9O9cvk4LuNyBJyTOYpDoHQBWW7O9pTIDTFiTlWqw0DjLDfyA5fc0A/suLEfuOIG/4ArxRUcsJD6JSYzDyxkfokL6k0SseEuW1GT01rU0ri21I754IRmGOa7quI+rUFrJXxDWfHwRUR6nNNwuXX/wirMY4r83Bd5Jtw8Vlxl3Gw48ZxsRZEL74s1N+ljtuZWOGhrX/5y1B7v53a8nk+b3Xt7OvwHATASzw==\"}"
  },
  {
    "path": "officialworlds/bab be u/w0 (prison)/weathered fort.replay",
    "content": "0,1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;"
  },
  {
    "path": "officialworlds/bab be u/w1 (beach)/all in this together.bab",
    "content": "{\"width\":13,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":10,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"futr be neet\",\"is_overworld\":false,\"palette\":\"variant\",\"parent_level\":\"\",\"name\":\"all in this together\",\"map\":\"eJydlttqwzAQRH8l5K0giiVZvjT4S0IxaaIGE2MXxykJxv9eS5trO5ajvoVlTjTeHV029ays16tylmdd1xalzubtsc31t25OfM6OWcCKTcbZKUvZ/kuvi1WZdT3bFE3Ge3ZHvL0YNTdqMajVb7V6UH/oq1pO//dnWW+NXhh9OOilW0//btVqUIdudVVv66s+crvZlqu90UqjjQct/6Nl67qsm6zjTPSYSwZOjHFVUWIqhd89RfEANmAS42iG05gZfeSPmQzEPlhosdA1gHtsp/XuhilocmSNyNeaspgzG/eYSeDFHqGJO+CP66S+9iK7QwMfe7SdCMS5GFlF+JqLLSZ9zN1OKoJDuLlGVlK+KScs8k05YbFvOxKLJf+JEqHp9OlHw7VyGbiHa+SHm5o/t41I7B2F1GJPR+ERwyGYxJTvEUtY5HvEEhb7ho+wxDd8hD19UJgpX1Bub/8wcF+Kl+uZ2/s85Kgd8PonvZh+AFz90Atg5MnQL85PmeEt0y/yZfL+Sp+XL+Pzz6GawioPcJnjssBlicshLke4HOMy9i2wb4ENCmxQKFzGBgU2KHC7JXYisROJWyWxQYkNSmxQjhhEjW10e2iqWb7Q1eYHY8LIJg==\"}"
  },
  {
    "path": "officialworlds/bab be u/w1 (beach)/all in this together.replay",
    "content": "1,0,wasd;1,-1,wasd;0,0,undo;1,0,wasd;0,-1,wasd;-1,0,wasd;1,-1,wasd;1,0,wasd;1,-1,wasd;0,-1,wasd;-1,0,wasd;-1,1,wasd;0,1,wasd;1,0,wasd;1,-1,wasd;-1,0,wasd;0,1,wasd;-1,-1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,0,space;"
  },
  {
    "path": "officialworlds/bab be u/w1 (beach)/always.bab",
    "content": "{\"width\":13,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":9,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"chocolate\",\"parent_level\":\"\",\"name\":\"always\",\"map\":\"eJyVk9uKgzAURX9FfBvIg8b7lHyLRJOWQDCSUWgR/31yaWO9BXwT2YuTs7JDRMBFi3lQo2kaGKcoHJ5D3eAmBE8UAUZQDF4Igr+etgxzNM2AMKl+toILiUJJKQln8MViKTriaKjoZEevAPXl4omKp6fDeta162ENdWiq0Mw/aXThTIXz8/Cdi4fOQrNC7D3UQ2L6Wk71VpdoMveCG3XWQqq54qIFpzzTdHlIbwflOlpd1W2XK00vIgXH17azoN/nfurnNipDw8OrO7mNpSMW1v0q/CX5/VniulPl+UlH2e9WjO2jybyvZrPjivSXxkcWXjN7rx86NrSuTXT56b3h6rALB15tHkZ+PUbsfJN0GGUX1DfakX/17pFb\"}"
  },
  {
    "path": "officialworlds/bab be u/w1 (beach)/always.replay",
    "content": "1,1,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;1,1,udlr;-1,1,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;1,1,udlr;1,-1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w1 (beach)/bab's go.bab",
    "content": "{\"width\":17,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"gras be mov\",\"is_overworld\":false,\"palette\":\"mountain\",\"parent_level\":\"\",\"name\":\"bab's go\",\"map\":\"eJydmdtu2zAMhl+l6NUG+EKSbdlu4WcpcvCKYF48pAnaIsi7LxKpOF5kWuRtwA+UyZ+kxGyHp37YrPqnt/Z8Pu76rn0+dLv9c/bVqmy3bXX23ebZx99us1v17fmSbXeH64+boR8O7Vll+nLJkPtYjZi5YtrwudxxAn+F44o0btMPn1tHakeWV1KlgSEwnrPOo4Crrlwl4GrnL/GgGBnPNfxMeO7qi50KADUjF5+nk0+F8aRTzTxoM/UYGwCdbGziUffDn9Ud6pVDJVI9fCaAJT+wAFp+YAGsGIEN8ck96cSTeNTj1/FtvVqPbBPtAA8Z9MZGpWdwCjrRlBLQkKknwJwsRAJ0iqkloFNMIwEtXfsEWdHqJsialjdBNrS+baSiPJgrSRMvPKr5XRxAk97GfWV0I5qnFQYYF+mFcVeBwJbR2hgdrfrR1kY1NnOoKl2QH79Pd14WhpHJzBzZ0IKcJwtFC3JCTj6z0HxBAmgYgnRZ6/brb0eXnk7UBxhz9dGN6JI8Jn4sv10CKNAKgBytvA/9r5Gc0UrcTynRB5ACfQDI0UdoO9aTcW2QVyQAmTo5jeSCTLDjgK2NzsaZIzGUMQVrftwBbCSDovK3dsXr90FiANOPoajCAGRcbKdgzo8tgAU/tgCWzJ4X3NaetuRFc6aNAVqltUswrvkBBbDh3zM9WKn0xrnu+v44knrhxTfr0vAvmgAKVAOgQDUAclUDiW88G9fMxPzlx2ieqBMwZugEjoWZAzoulrirWvGDDqBg/ADIvZ7sh/fBP9P9yqTO02s1HBjJguyDFFlKrjnI2rRsoLVgKiEpGEtIiuaShjWNEuyhgNTpI+32pUCa9Dy6bKB6gM3pbITBidYFmY3o5ESyFGQDSMssj3D51H7b0lR0W7odE6xrQUkA2QiECvsgtbCii8YGUc6S7q4SYSWkTGJs0Jy+7cY/EdGC/14JaMlf8ATU8idvQCV9B9GFlxLJLryrKVYvvJxIVjC8AsodXy8/PV0AHZ9ej+dEc8nIQpQxs/5H4yMrCa3ShX+bB4jWpHqji3skF1Z3BGpEyztdAqzT99O3OCHKmGG3OCGak4mNj1xECzKxJFpy/si5/VkRaLv0r0Ok3hCtBMlFtBYl1wLcCP4pAzSnH10kqsk+HP1YJI0gTojmCXG6vB664+mwf3p77fbbfztzxZs=\"}"
  },
  {
    "path": "officialworlds/bab be u/w1 (beach)/bab's go.replay",
    "content": "1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,1,wasd;0,-1,wasd;-1,1,wasd;-1,1,wasd;1,-1,wasd;1,0,wasd;-1,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;"
  },
  {
    "path": "officialworlds/bab be u/w1 (beach)/beach.bab",
    "content": "{\"width\":22,\"version\":5,\"extra\":false,\"map\":\"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\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":9,\"parent_level\":\"mapp\",\"next_level\":\"\",\"music\":\"map\",\"is_overworld\":true,\"palette\":\"baba\",\"name\":\"beach\",\"height\":15,\"author\":\"Patashu\"}"
  },
  {
    "path": "officialworlds/bab be u/w1 (beach)/breakfast.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":false,\"author\":\"oatmealine\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"gras be mov\",\"is_overworld\":false,\"palette\":\"autumn\",\"parent_level\":\"\",\"name\":\"breakfast\",\"map\":\"eJyNl91uozAQhV8l6t1KXGCMMWzFs0QkoV0UNlQJbLqK8u7FMw6BNPWc+++MhjmeH3bdqu22Vbtal5dL37R1+XKu2pfos4yjZleq6H+ZRqePettUbXm5RrvmWKpr9ARNRlQpkVWO1eGwm2ozoemIFlhUg2WQODYLZ7Cv6/3EWigFQnMhhf6zX5+r/ugE2gmKUZCIsQlVcThnF/uWNwucexYMLtnnom9qx6fEayhxZlM5cW85887IDE8lC3+mw4c77dzMwcQROw/d6dz8dRpDGsxRYhPA0eFOY3YyC3ZjRrDQjgs2xQJbgg0UmNkMC5wTbKHAzDoTDcgW4Zc3Z3UMjQVmnXVj/2Kw5F1bVf8cXRAtmLeE0/D3nfZDe4fNs/emf4ichauxhC34hYo2i87lNrll7hVF2PNl/DTGquJp9WyAfC+Lp5NwXVzuDwotvJUHXGrICed1KrTkfbZ6PgMrybQFK8l0jj0wTxdyJeeZmxitI+MKrSMtepPIdRybej9TaLCSTIOd6mkDvkmmhV7lrfbezRQWrSXj0t6ccLo9TIGNMKYztFuZfro0n1SGaaFbH2gNnrx0TGTOUXkFeJhuWRTOoJPDw85KjcLC5F3CwtBdwFZw8XYke1o8fRZ0Ap14HtbYDwbDKbbHPQ3+kHiaDiDURksdifpoqSHBfwdFh54twu9kdrSzII/D9jvBW9u9zxTSyJ2NdLoR8wTIac4LI/cbL+1SJ+iG7R+S0LGWGzmlB4WwUacaMW3ln5vfv2b8T6P3+nqs++F4WK1f68PuCz04RCw=\"}"
  },
  {
    "path": "officialworlds/bab be u/w1 (beach)/breakfast.replay",
    "content": "0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,1,wasd;1,1,wasd;"
  },
  {
    "path": "officialworlds/bab be u/w1 (beach)/conditionally.bab",
    "content": "{\"width\":15,\"version\":5,\"extra\":false,\"map\":\"eJydlttugkAQhl/FeNdk07InDjU8iWkIIm1ItmKojRrDu5fdGQkWVhnvyGa+HXbmn8O2Xpi6yM0iSy+XQ2XKdHk4HbKmLpbslAas2qacnVPJfvZlUeUmvbSsqE3dpBfNRMu2VZPylg3Qov4u9+anx0WH6wlcTOObfGNRblHZoXyITpiXvbXqrNV96+PbZ1PuLCEsoR/cX5neNPx/+f1XICotGv33gmjIAo9Hh8UEjwMsIYR7gPGg42JCmlzclUP5rDCCrfCIyf97wMn50UAFATcSBXKK8bv+NDmMwFmdhE9wViTRE1xMSNuQszJJ5qf715LalXMwK9tgy8kaBk6QXxU6Ts7nsMNFjlOerE21OPAHnH6maAC1QumK7lEcY2cckeOROI6uDg49OyGXKYAymJ9xzACCPqn4U4AgZb7cgJJcqggqcq0iSJHLDRgSqhVBGKARuQARjOlRBTB5piS4m0FqJJ6x/VU0rosp4mryVefH/IzLCV5Bl48rLeUZSLvKTDj+NPVX36WUGpU++pQTQ6mj31/6TqA0kb19MoQ59Cwk91Pk1iA1Wma8uw/oQcWE7edmQwPpq+SxQ9SEy4sejSe/JK5ZcQ1Z+xrQVGDxhbBEikdKaFe4Ync7drvK1kp+vIJNtpYCv7tzLQbn0fW8KQ+/zW6Rrcrd9g+cUuZ5\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"chocolate\",\"name\":\"conditionally\",\"height\":11,\"author\":\"Butcherberries\"}"
  },
  {
    "path": "officialworlds/bab be u/w1 (beach)/conditionally.replay",
    "content": "0,0,space;0,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;0,0,undo;0,1,udlr;1,-1,udlr;-1,1,udlr;0,-1,udlr;-1,0,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;-1,1,udlr;0,-1,udlr;1,0,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;-1,1,udlr;0,-1,udlr;-1,0,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w1 (beach)/crushing depths.bab",
    "content": "{\"width\":16,\"version\":5,\"extra\":false,\"map\":\"eJyVmdtu2zAMhl+l6N0AY7BOlrQiTzIMQU5rg3nJ4CZYi6DvvohUE8+Srd8XvUj9ieZBpCh6e3xoj5tV+7BcXC6nfbtbPP5dnbrH6m3hq/12Iar369/rn91mv2oXl49qu+8W4qMasMIEWF7hGoB1gBUIqwBrEJYBNiAsAtyAcB1gi8Fkn8NYMs/PkHvVBAoJRUSA8WsIlmCwyRdCgTS5WWiQpggKA9LkPdGANPvPztnSws3SJARSwulSgzTpLUMoFSxbgjT5W4ZYatRKqTGatokMoTSAaIIbEGaPWFBr9ojDaHaIxxQhf6ga1JppMcdGJUGa1FZqjtohjA3oEGUwmMKoGhBm0Rak2SEOpNlGn6NVfqvqEEcL2qgFBvPxJUHJ5BCtQJpla5Am92mD0axIiKNDbbQYzNmo3SytPSibz/8apElvI2YYaUIgPVj6jMJgVlpjMLvPmDnONg0om220c2yk8xFvzTyoCdFNDQpnWqCqkJmNBHGmFSqc3NJQuwP0DY5oA9KsSgPSFPvGZmk55hUHCo8R8iBOlwlbgzTJthTPpD8yI5vczoqnVVnhIz231SBtiTYgTcG3DUhHMy2IU0tvXZZ2Y/cbDwqncLp6luZOzNpaTqLSKaAODSgZ6tCARtXR7odpsItlTcBjk+FZzY/zc+4Avp5FC+zuwtdb8GLJsML0YDXA5oeSwWcHA3rkxurzZTbtHSOez8sMThXFu5z/MroQnK+yGdk8IKhzh+wonT82R3GJ7Ve+x9cKPX0YR9OSJxB1/tzsST8+94SXCu36vG53PT49OTfH9tgtLrLShRlDDbdFkUfP0ciLUun9uX992fUXJPkabdGVGNt7caUEQxgHTvk6nOI8chL5RkmOG2KGmzsaUldqeLjd1/J0RiT30ltA1XS6CpFtiu/46e20PN/3fX5slLo4+iw7/0tpy1O6GqMd0wKjedorsyPcO/16WnXdza1sq8wOHeTIGs5cmdTtGAnxmVq99S/d/nfPoKSKD3fyfemqfV6996wrHMxDvHARGuKlnL/5IMYxzXm25LBvx1Zy0qg0+4fuyyQB7zWVdmFxrankaPJxEqi0JbslkBx9b1yb1oX/rR3XOC0Rw7RNqwu7WBUPiP9yRYGD5CgcHCRz7VHZA3+U9tPDyvVqfXetLsyRQ206njcv/Wl8YZgclqx394uB0IV5Mi1gpTgbdKGNS9+gy1Zsul3/FWZ6xS0/Obo0zZqB22kDbngMggOLRZTupxvXG845YAqjyU/H8M6kkRaiSxQup28VA0tNYcg8xPV0wzjEzfTOH+reFIruoEibwjeDQZhM4cIVNuW3Lz3eF9S5b3sOVXHE1d/2XP3hORcfzzTnQr6SMA1+CeKcbQpfgoLyh+PzsSe/kLNhxUCjwhdaXtH+6llcyNxe6WHewbUtmu2nK//wBbbwybYfY36DHanPH0/xa/3y+r+n5fdrE/HjK5+G1x+1jT/CE6V6T5T4fNLtTufu8LB82h22/wDVko6H\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"map\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"crushing depths\",\"height\":13,\"author\":\"hillexed\"}"
  },
  {
    "path": "officialworlds/bab be u/w1 (beach)/crushing depths.replay",
    "content": "1,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;1,1,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;0,1,udlr;-1,-1,udlr;-1,1,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w1 (beach)/esac erats.bab",
    "content": "{\"width\":19,\"version\":5,\"extra\":true,\"map\":\"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\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"limon be swiit\",\"is_overworld\":false,\"palette\":\"cyberpunk\",\"name\":\"esac erats\",\"height\":18,\"author\":\"Butcherberries\"}"
  },
  {
    "path": "officialworlds/bab be u/w1 (beach)/esac erats.replay",
    "content": "1,0,udlr;1,1,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;-1,0,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;-1,1,udlr;1,1,udlr;1,0,udlr;0,0,undo;0,-1,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;0,-1,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;0,-1,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;0,-1,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;0,-1,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;0,-1,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;0,-1,udlr;1,1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;-1,0,udlr;1,1,udlr;1,-1,udlr;-1,0,udlr;-1,1,udlr;-1,0,udlr;1,1,udlr;1,-1,udlr;-1,0,udlr;-1,1,udlr;-1,0,udlr;1,1,udlr;1,-1,udlr;-1,0,udlr;-1,1,udlr;-1,0,udlr;1,1,udlr;1,-1,udlr;-1,0,udlr;-1,1,udlr;-1,0,udlr;1,1,udlr;1,-1,udlr;-1,0,udlr;-1,1,udlr;-1,0,udlr;1,1,udlr;1,-1,udlr;-1,0,udlr;-1,1,udlr;-1,0,udlr;1,1,udlr;1,-1,udlr;-1,0,udlr;-1,1,udlr;-1,0,udlr;1,1,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;-1,1,udlr;-1,0,udlr;-1,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;-1,0,udlr;1,1,udlr;1,-1,udlr;-1,0,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,1,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;0,0,undo;0,0,undo;-1,1,udlr;1,1,udlr;-1,1,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w1 (beach)/facink.bab",
    "content": "{\"width\":10,\"version\":5,\"extra\":true,\"author\":\"vitellary\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":11,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be u them\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"facink\",\"map\":\"eJyN1UtugzAUBdCtoIxaiQH4w6cRa0Ek0AjFiisCairE3mv8AhSpse8gjI4t516eqXWg9LlSQVmMY9+qpjj0j778VPpyCB9FHLa1efyY3/2rObeVKsYprNuuiKfw6b8rtVJmKHtN79dhs9xYjm0rDBUYlYZKjCaGJq/pnMOpOq08NTz18GbVmdGZWw8rzg3Oka2Z7SOCCiEbuxtZiibM3JUs9RHmUNJkhT/qnZdo1sQTf9g3fdHbgtQf+MfbzLnlGRQ42dwd+F/LImgEyMbQDJBl7rh3lruj3lnhznlnJfBO03QJ6xMoC7IplAXZzH8OpfW16ucl0i7JoaNYyyP3UZ5/kWwM1UKW+Y+9jGNiF2DXKVnsPiWL9GhHMbUcq5Gsp0Y7he8b91ypu62BG5UGPLPfF2wQyWKDSJZBdyRZDr0dZAU0tGQlFBvZ5P/YpmPX9EN3C8pjc6t/ASlnuiM=\"}"
  },
  {
    "path": "officialworlds/bab be u/w1 (beach)/facink.replay",
    "content": "-1,0,wasd;-1,-1,wasd;-1,0,wasd;0,-1,wasd;-1,-1,wasd;-1,-1,wasd;0,-1,wasd;1,-1,wasd;1,0,wasd;1,1,wasd;-1,0,wasd;0,-1,wasd;-1,1,wasd;-1,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;1,0,wasd;1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,0,wasd;0,-1,wasd;-1,-1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;1,0,wasd;1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,0,wasd;0,-1,wasd;1,1,wasd;-1,-1,wasd;0,-1,wasd;0,1,wasd;1,1,wasd;1,1,wasd;1,0,wasd;-1,-1,wasd;1,-1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;"
  },
  {
    "path": "officialworlds/bab be u/w1 (beach)/follow me.bab",
    "content": "{\"width\":9,\"version\":5,\"extra\":false,\"map\":\"eJyN1W1vgjAQB/CvYnyxbAkvgLY8aPpZCAPiiB1dFDKN8buv7Rk7YuHu/e/qXf/2aPVG6aZWm0rebmOvOrn9rdU2usg46luZRFeZRuefrulrJW/3qO1PMrlHAZoamtEoMzSnUW5oQaPC0HKZjpex+uysTqzOjI7JOjc6QdtwtAhdmQjS0lBO7iGJ1+/C8snq1OkEH3D37nlKmhAsWx/RHq20PtajL+H4qP+7Efiob1YzpwlZPvoHT0sTLBLn4+yjLyjx1iFU7l5NTOoFbPA1isWjU7yT3YflwnGG3+KgD9oXcFLrYAXpVYC1cTLUZs7SogQbjHLBlqEeXmzuthktQrC0hQo2Xe/BBnIe6qbxFQxZgb07vXCWkyYEK9Z3u+3kq+5GX5Dhf71ZMzm+u89KH575sIJeAJ8cJNCXAo6k6h7bNHxffQWycZ/a7QmOfC9n57tL4shnc1YBv2EzFssVsyvlIozv+1M3TqdhU+27of0DqOe84Q==\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"follow me\",\"height\":10,\"author\":\"Slabdrill\"}"
  },
  {
    "path": "officialworlds/bab be u/w1 (beach)/follow me.replay",
    "content": "1,0,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,0,udlr;1,-1,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w1 (beach)/food chain.bab",
    "content": "{\"width\":15,\"version\":5,\"extra\":false,\"map\":\"eJyN2N2OojAUB/BXMXOxySZcUCgFZsKzGEbQmCVi0NkZY3z3pT1V7Hra/m/m6lemnI+WYzeuhnHTDqt1c72e90PfvB3nv9Nb8tOkyb5rRHJpsuR07Df7dmiut6TbT424JSzOZixRnM9Y+fF3OzyonGmF0WKmNUbVTEWK2VJbgdlK20DMnm2tbY7Zea8zDsT3/HNef7afeoEwC3Ty4psmm4VjrJ+93U+LzyNv+bIZib0q4QJ51V77zHgFvSnZMlzSjtW5jO+ZbB2u/meb6VQWoBVQo5DVWSxBm4cz/qdf4ptJqK3IFpG+0rk7HdrNZlmisJYhXAK18aV5bngFlQbZOlwatp6NzdNwadjwkRXh0ujGabFZON3Oc/Nwum3DkmVTWHL9Sr4AGtz5ByrS4HqBs/tYIm1qpMEV1LVka6hrjZUp1LVkBdS1ZCNpdGwkjY7F7kKysU50sMKuOMIl1rCEK+zkJ1wD3W37pTAXfhoujOWmIC7CtaH5oe9sndKSyGeN3T7ZyKHqWAkclHYjyiwo0FclruKvuh0nG0xaUoZfVS/5tegq3A9a78b2u70ch9OyqoY6w1iVcuEs/z84yQrojiKbsaFfHvz4VCWOfOzY55dmgUQzRbwAinLcjcsCBZUk2TIcQ8dWkbhYXBnM3pa8Ldnb0mPZ29JjM64EPZadODxWckeyxxZQgMnyQ4cH81OHB/NjxwuuDa6hjyJjK/aA5Z9bCWwTggalLLyL5xGCFuTxttoO4+5phQx31n2kIVyEC8TFKlwhLsZ60GIwk8KMSlUklfaIJFxHPlqdT3O7BLgw6SizPnJb3uNCONKSj2SSZpvS9+hIV9qL1WLwtwCr+a+f1wSZeaWODCA6gP3ffrqIpzWRQUSvef+9eJFGEnsPjdXsSPlau1azQ6VXs19AntiIVIKhzIkX2C8aVivo5LprNKuSODuQeDU7kvi0YIcSr2bHEq9mBxOvZkcTr2aHE69mf6vzavDmvHPw7rxz35l7+5j689d0WK0/+kP3D19s+jc=\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"food chain\",\"height\":15,\"author\":\"Patashu\"}"
  },
  {
    "path": "officialworlds/bab be u/w1 (beach)/food chain.replay",
    "content": "0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;-1,1,udlr;-1,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;1,0,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;1,-1,udlr;1,1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;-1,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;1,1,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w1 (beach)/hlepfull.bab",
    "content": "{\"width\":16,\"version\":5,\"extra\":false,\"map\":\"eJyVl9GO2jAQRX8F7UOlSpEaO4ntdJVvQQHSLWpKViEIEOLfG8812aBu49s3Hs5Mxvd6PMOuW7Xdtm5X6+p2G/ZtU70Ml2G9qTcvyaVKk/2uUsl1/HF8b7b7uq1u92S37yt1TwJ+rtsJ1SOq/o36zH23nfBsxDWXOR/RbDnzpjtdJr4Y+ZxLbUa04FDrz7eQ1pcx553nF3JL2Y3HlcdLSmlBVRqXepZZKUpqsJrQepY6o6QGmy9rHS4HWG+hWqjjKbEhnJkXbQlnTh7XgjvKGbBl3Jm3rj7X1/f2OEXplDIIrIob9MkXNOUT2IzqCbA5If2he+s+IgpC/C8ezwQ3lPhgbVz8WWZHiQ62jIv+kTlLKbHBKkpssDoi9hOcETr/rJvh+OsqrZFLVE7JDbaIy/33BwylOlgbV33b/W7CRUeMo7QHWy5rP7layBBKKWnAqmVpnlhNKQI2W1bkic0pJcAW1C0EayJPs7xA9dUHGAmwlHBgHSUc2JKbEVZWAs49sBH3wqACKz0Ztw9wxlXsBM45uBS4oC4GWMOVDNiSgxiLl6PKCLD4R6w8WNRS4tqFzVXJmDeR3XW2FYAnFtjHKAsR3A4b4MgW+wwXpDagmZY8f/vRNwcJkkFsuLYMMGksYNZYoW3M2IepoBWzVYcIGYRWc+cEzD2wAc7Jc4KOrbSz+yjjyXKrT4AtWQtoR2oOuiQ0//5VAmREuMhj+/izFmhFlg5a/8ez6LgGBZtTowdmuoLrfMDm88z3174ZTv1htX5tDrs/TdsiyQ==\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be u them\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"hlepfull\",\"height\":16,\"author\":\"Patashu\"}"
  },
  {
    "path": "officialworlds/bab be u/w1 (beach)/hlepfull.replay",
    "content": "-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;0,0,undo;0,0,undo;0,0,undo;1,-1,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,-1,udlr;0,0,undo;0,0,undo;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;-1,1,udlr;1,-1,udlr;-1,0,udlr;-1,1,udlr;-1,-1,udlr;1,-1,udlr;0,0,undo;0,0,undo;1,0,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,-1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w1 (beach)/i haet u.bab",
    "content": "{\"width\":13,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"futr be cool\",\"is_overworld\":false,\"palette\":\"variant\",\"parent_level\":\"\",\"name\":\"i haet u\",\"map\":\"eJyVl92K4zAMhV+lzN1CWOL4L5mSJ1mGkrbZbpnQLJ0MM0vJu29tOSSlVizdFXE+R9ZRbfnYb7r+0HSbXX27DeeurV++mu4l+67z7HysRfbv/uPjb3s4N119G7Pj+VqLMYtIi7tU0KTSSSVNq5xW4drhe9jtm73TC6fXpIy91JAy9lKbyNhlsdSXhKz/NO3ggMIBFSltLxX5et6nrvmYxc7B58SzQ9/11/omMjEioPPzeQcBvJw7BHPeaj7mbDZ8zLlt+ZhzvuRjrgsqPuab4dncJOd6QjwbHeGW7VHkhF7dt7NeEHp1Skx6oiA1K2glrVlBrNaaNVYowDS3UIAZQqEu/amfCZsoVVheeXFJqhJoK1qVvFjm3CoBJrhVAqygHdYglokCTRlprybb7Zx4b9v3GdXR8yLS4yA30XNiZX0bPSGQfZTkyi5uK+NRovFerMjGLz+hxPreHz9RkLfyu+tPM5e60qevWK9mGR82AyTZd5ATfP+c1UTTQUw3PfxDSo/RLnqv1cSLHsSrF33sVACMbvhDasQRDsSUGW5qp8oTtCkOtIkxbtouiC23SoCxzQasItww07njCZNTxl3f4MKPx4Y2oQdxYkaf9hzUklurwCnu5Bg4zR0dA2e4s2PgLHd4DFzJnR4DV3HHR+Bszp4fA8i+8QOXuvKXr5eApC5+h7z+8AA8qBStb0GsaS81EFPGuum0CQhxrhN+YLa0wS6IExf8g7hMje6PamxwH7fhSX9/04/b3S9RvP0Ey++/Rfjt4hKJKySukbhB4haJl0i8iscLJJ8CyUfmSFwgcWR9ieSpkPUVUmeFrK+Q9TWSp0bW10idNbK+QXw3SJ4GqbNBfDdIPgbLB/HdInW20fpc2+Hzetnstu3l+B/oS0sP\"}"
  },
  {
    "path": "officialworlds/bab be u/w1 (beach)/i haet u.replay",
    "content": "0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,0,undo;0,-1,wasd;0,-1,wasd;0,1,wasd;1,-1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,0,undo;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,0,undo;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,0,undo;0,-1,wasd;0,-1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;-1,1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;1,1,wasd;1,1,wasd;1,1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,0,undo;0,0,undo;-1,1,wasd;-1,1,wasd;0,1,wasd;1,0,wasd;1,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,0,undo;0,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,-1,wasd;0,0,undo;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;1,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;0,1,wasd;0,1,wasd;0,1,udlr;0,1,wasd;0,1,wasd;0,1,udlr;-1,1,udlr;-1,1,wasd;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w1 (beach)/lazy go^ tutorial.bab",
    "content": "{\"width\":19,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":12,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"sno be fall\",\"is_overworld\":false,\"palette\":\"mountain\",\"parent_level\":\"\",\"name\":\"lazy go^ tutorial\",\"map\":\"eJydmN1uo0AMhV+l6t1KXDD8sxXPEpFAs0g0RISoraK8+zJjE5LU0DlzW50vpmPPsT1V99J2u7J92RSXy9C0dfF6Kg+v3lfhe01VKO+7SL3Tsd41ZVtcrl7V9OMfd13b9cXF99T16glYMGIZjoUjluNYNGLKx7lYc8qOO5Zt+6FJpclkJJNFMBICGiy1P83ha9jco5l4omKU3P7wdZRtfSPHQ5QSIEZRyj5Zz/+MCuSMyYFCPL0ERkB+GQwMGGN5ohMkNLHKE2lT+JYQl8HXhLgcP0gDBj5+kKEBAfvQB3no9t0Mr5tI7AULQUP4WImLsILe1m07zHRsV9IkTvBMEJgCmdAfue/Kz/L72J70T0TmJ3T1hMvf+d52+1mci0b3/G1GG/pwryBOwfkiLkDzNaMLliLHcWgvBDr1l9igeIMhDugwD5zcXn7nciwHdL0NGvl2OSCxwnNAYIBbV2LAED5J4iL4JImLYVMnzsFKCESs5FadqUEzuDqJy8G+Wm5vbOxbNVbSAo4yOwOhsqnIYYBxVYc5z+SCpchhFjrLWoYJTIAM37pZZlBdHCvf96TW9fAzzpJaV0Fgq0789Xb1pNaZj6zVOtmxtTq06oWkjVwmSEJjq0InrTxtrlUGcSlsNsRleCkSmOM2nJuNCRgq9EG+9021r2ZcdgI5FL60EgfawGc59DNs6QQkdnACAhEnmFYosyKn+EDBID5RMAiOFLy+GjaznClY7TBUMOkwVSha4/HlhEFwO/nXDUN9h1uuJ6x2GCqYRBeUm8cqs2pmv2wndxknfb5u+Fo//qXeDU13mLHcX3f++bWH5Ot7rPjeQyDuKQziT2EMOmwrTCLrykSarTTH2xCDQB8y7s67KdML3WghlsPrB5HKR94/eGhVEaFy5fwIxGqHcmESbEJ8hxi2bEKT3KENTSjSiOZLGBO83ovEW8ikQzNiEuhGj6RCiubjfCY2IVatD9TTCDHJ5bJZlMu18lAff//cA7b1wXIXI0kJdXASJvGRdiIzp5rMCF5facWaJDKQF9rVD2YSeHl/Ihfe3W3Q0OKUrm99PZz7w8vmrT5U/wGFULSO\"}"
  },
  {
    "path": "officialworlds/bab be u/w1 (beach)/lazy go^ tutorial.replay",
    "content": "-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,1,wasd;1,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;1,1,wasd;1,0,wasd;1,1,wasd;0,0,undo;1,0,wasd;0,0,undo;1,1,wasd;0,1,wasd;1,0,wasd;1,1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,-1,wasd;-1,-1,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,0,undo;0,-1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;-1,-1,wasd;0,0,undo;-1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,0,space;0,0,space;-1,0,wasd;0,-1,wasd;1,0,wasd;-1,-1,wasd;1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,1,wasd;1,1,wasd;0,1,wasd;1,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;"
  },
  {
    "path": "officialworlds/bab be u/w1 (beach)/meaner fence.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":true,\"author\":\"Patashu\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"space\",\"parent_level\":\"\",\"name\":\"meaner fence\",\"map\":\"eJyV2d1O2zAYxvFbQRxtUg9ixx/JUK8FFdqhahGduiKYEPe+xI9NErTh/8568EsV5Xn99Xp/uhpO97vh6nb7+no5Doft9fPucr7evGybzXG/NZvf449fPw/3x92wfX3b7I/nrXnb/M3a0Rpo29FaaN1oW2j9aB20YbQe2jjaAG032ghtP9oOWtOMuKd4Ss7Q6EzKjoZnpvQMjc9M+RkaoJkSNCBCk3Rg9SkcWYEKdyxx4Z5FnrBtWObChmUubGHm0i3MXNrBzKU9zFw6wMxt0pFlLtyxzIVhjAm3MEZhGKMwjVGaxihNY5SmMUrTGNukYYzClTn18nK5vdvdzb4yr05+OJ1+7C7vj7jK7Do98rwbZl+bYNM7HWZfm2In/+3L7OkkK00nWWk6ybqkA/j4h5lHNjCEOzYwhHs4MJL2DRwY0gZ+bmkLP7d0Cz+3T9qxfYmwZ8uUMAjyadYwR+FKjho9ywdqWc5VlXyopTn5x9PDaX6CJipNE5WmiYakHdvtCnu23RUObL8rHFlhCcP9jzBcOBOOcOEUhgunMF04penCKU0XTmm6cErThTMmHVk1CXesmoR7Vk0Jdw2rJmHDqknYsmoSblk1CTtWTcIeVpN0gNUkHWE1SXewmqR7WE1dOoA2rECEDSsQYcsKRLhlBSLsWIEIe1YgwoEViHCEBSLdgQXs+3B6mJ7o0xPV4Ti8W9M0tW+yxKa+Pdbaa3LnwaJXKbpF71K0+/xl8r6+aI+30UZn86a6Rg5LHdm7Z93VikvaSleXyaU21XVSupU27L+ztrAH4cTb2lltWOrq8FzpyvhMeX5dPkBnWuPlqwfNYamr3buVhv07E9Rla2C7KvNqpmtOQ828ha2lKO4+f/cydRUOO7GFB9huy7w6Ste8OkzXvP+vL5M6Qajtlr2hBZy9pa23Tr46WtfcwbZo5vDEWXjlzPmRw0Nn4bB9UDhtIGTvaAuheHrkLJ4eOounx06jdd5VxuxH7mElZA4vUAqHdyiFw2uUwulMLO7hXUrh9DaleHqfUjxt9hVP233F04afzZcw8F6lcHizUnjHCqfwnhVO5qG6E17zyl74I7escApvYeEU72DhFO9h4RQfYOEUH/9ROG8358Pl6fx4dXtzeNz/ATWn96s=\"}"
  },
  {
    "path": "officialworlds/bab be u/w1 (beach)/meaner fence.replay",
    "content": "1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;-1,0,udlr;1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;1,0,udlr;-1,1,udlr;0,-1,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w1 (beach)/multipurpose.bab",
    "content": "{\"width\":13,\"next_level_after_win\":\"\",\"extra\":false,\"compression\":\"zlib\",\"author\":\"szoob\",\"height\":11,\"version\":5,\"map\":\"eJyN1kFugzAQBdCrRFlUqsQCYxtDI86CSKARCsIVJWqqKHevzbgBL2L/TVZvwsBnxrR6N+hTM+zq6n6f+6Gr9vNtri/9dNwnt4olfWt+fqss+f7qTn0zVPdH0vZTxR6J88dmpZmh8jW1f73l3PAizD/11OrJVnBbIcK9bC6wcGm4iPDuqfN499cnVgbnKC7CN/rTDJbmlpaGphhlqbEMtJEUPWtj5KDl4UfsWRF+wJ6V4efrWRucAq3Co2A2thK0NjcWD04tY5JCIZNlUMhkMyhkshwKmayAQiYroZDJ5lDIZBUUMlls3siWUMiL5SkWcrFgFg552W6DPq8FWThpW+BdgEOdkxVY5+WCZbxzWpvE83Df/zdJWMWX7FnPq8dmkCw4g4bYoyQyhLaTj/eNjwyid25SRQb17jAHm19OTiGgDeKwhFaIwzm0QxxW0BJxuIC2iMMltEYIyxTaIw4zaJE4nEGbxGFsIB0GJ9IcxlZHRtLHkYH0sYp/UvkFRTjzdTs4X8Y/wsauvXSbmjyNb4m3DWfxj7FRn/WmIsNeAsKR71QfC+wlICxfvASPw9TN12nc1YdubP8Aaw/Zow==\",\"music\":\"bab be u them\",\"is_overworld\":false,\"level_number\":0,\"level_sprite\":\"\",\"name\":\"multipurpose\",\"palette\":\"default\"}"
  },
  {
    "path": "officialworlds/bab be u/w1 (beach)/multipurpose.replay",
    "content": "-1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,1,wasd;1,0,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;1,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,1,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;-1,0,wasd;1,-1,wasd;1,1,wasd;1,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,1,wasd;1,1,wasd;0,-1,wasd;1,-1,wasd;1,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,1,wasd;-1,1,wasd;0,0,undo;1,1,wasd;-1,1,wasd;0,1,wasd;-1,1,wasd;-1,0,wasd;1,-1,wasd;1,-1,wasd;-1,-1,wasd;1,-1,wasd;0,1,wasd;1,-1,wasd;1,1,wasd;1,1,wasd;1,0,wasd;-1,1,wasd;0,1,wasd;-1,1,wasd;0,-1,wasd;1,-1,wasd;0,-1,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;-1,1,wasd;1,1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;"
  },
  {
    "path": "officialworlds/bab be u/w1 (beach)/never.bab",
    "content": "{\"width\":15,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":9,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"chocolate\",\"parent_level\":\"\",\"name\":\"never\",\"map\":\"eJydl92OgyAQhV+l8W4TLwQBdRufpfGHbUyMNlTTNk3ffYWxXU0p63ChV/M5zOEwg3W/a/uqaHeH/H4fmlbmwXAdDj9Kdq08B+E1J2FTT6/b9JxPsmqKNr8/wrpROXmET6RpX6EimmLjt9iw6tte5UGpLl1gBenEMQ9O6MXxraCluHjiE0dxE1IWpQ6nOpxZtXimO6rxfZ2G4whdlvmEU5fP+RKkLKqvXmxqleTJKinrNVtKjcYazdxWmbOYUKKtQremgdIMyDO8xwwoKFKURWGE/O+TUUczE003HRmIjfHlAMiQ5Rz74lLcTu357xMcs9WQmxtQ4BcNIMqYAAoDps6T5wAzp88+g9SjlwGI6klLUNtG+ID2LuYEEwNqD0U+IMdvB4AezgHQwzkAuvuZA9TOSXFgamZKhFB17okAEkxPXE8z+IB9jtqTxU63WQ8/gAyvS2ZAjncbgALvNgAT/OEHMMXbFMAMb1MDsgh/+AG0j6YNIMXv4zS1NRlj9mPy6ZpmGG1fc3iGudvhOv77axEvnPtxGtXpU5EJXldi7pTMY1bNpMewApJ72GcmPfxD4FJLPVYLpMelZyZRt54VyT0Ughunx8yaycTjvwbIdEOdj72Sw6i63WEvu/oXpiqeyw==\"}"
  },
  {
    "path": "officialworlds/bab be u/w1 (beach)/never.replay",
    "content": "1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;1,-1,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;-1,-1,wasd;0,1,wasd;0,0,undo;1,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,-1,wasd;1,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,0,undo;0,1,wasd;-1,1,wasd;1,1,wasd;-1,-1,wasd;1,-1,wasd;1,-1,wasd;1,0,wasd;1,1,wasd;1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;0,-1,wasd;1,0,wasd;-1,-1,wasd;0,1,wasd;0,-1,wasd;0,0,undo;0,1,wasd;-1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,-1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;0,0,undo;0,0,undo;-1,-1,wasd;0,-1,wasd;0,-1,wasd;-1,1,wasd;1,0,wasd;0,1,wasd;-1,1,wasd;0,1,wasd;0,0,undo;1,1,wasd;0,-1,wasd;1,0,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;-1,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;1,1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;"
  },
  {
    "path": "officialworlds/bab be u/w1 (beach)/nobody at all.bab",
    "content": "{\"width\":14,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":9,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"futr be cool\",\"is_overworld\":false,\"palette\":\"variant\",\"parent_level\":\"\",\"name\":\"nobody at all\",\"map\":\"eJyVlm1rgzAUhf9K6bdBGCbxdSW/pAzpqiuC1WEtdIj/fTFJX7Yda+43uZyHnHtzuLFoV3W739WrXA1DX9WlWveXPj/Uu9OaXVTAqkJx9q0kO32V+2pXq2FkRdUpPrIH/Ud5UwutDp+rm/bQ3vRS66N5/dWJmLSh1vJ/WrZv67ZTQ8yCEXOR5sQc11Q1pmLY9xKVwP6XqBROYYnKNBWTKR5oLKFg0mD82fTnMUE9LTSY9D3tnj8Lhs8D+PuUiGouMlhMHYXFEuppscFS39OOZXm8Y5nfIIxYkDORGIycCYuRM5EajJSJpuV30jMUVkwORWYwcigsRg4Ft3vWOxXTMK7JcGzmu9KtXgbLS/38IOd+O92pyWHQm2jivNPwhwupr4HjIup74LiY+iI4LqG+CY5Lqa+C4zLfe5iu+7NuD4Y1Sz4MvANl9Xw5UG8vD3qBEzVu3N+L/n0ZN/k2en+1dvNt6D51NYbVBFZTWM1glQe4zHFZ4LLEZdwKx71w3AzH3QjsW2DfAvsW2LfAvgX2LbBvgX1L7ERiJzLEZWxQYoMSG5QzBlFOurI/d80q35RN8QNuk+CQ\"}"
  },
  {
    "path": "officialworlds/bab be u/w1 (beach)/nobody at all.replay",
    "content": "0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;1,-1,wasd;0,0,undo;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;-1,-1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,0,undo;-1,1,wasd;-1,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;-1,-1,wasd;-1,0,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;"
  },
  {
    "path": "officialworlds/bab be u/w1 (beach)/occasionally.bab",
    "content": "{\"width\":12,\"version\":5,\"extra\":false,\"map\":\"eJydlu1qgzAUhm+l9NcGMkxOjDrxSsqQtrpNGnRYCx3ivS8m1Wk9jbF/VA7vE8+3puVGlMe92CRx09S5yOJtfa2TT1F+bZ1rTJw8lZff2HPOP9kx34u4aZ1jKcoqbsAhrZPmVSxvPZuLDqMdRiXmIhh3XBMGEiNzrMiFAWISomshT0KwFuISYlZQl8YqK0R2HmD/Hp4jh/1hkAf3iUfk2aAOpZqb1ZdBTFyp9g1qHTIoLcEr+TBRTFEP6v+Q8hQFttQtUZpieNM0bN6i59Nl9LpZD5jE3FyPqdg3l2MqDszVmIq7QgeLpeNqBl3bdPav8BVG7NISKDG1E4dKDHZi2Z+dmq0oD/XM09WLdWK4+eRx/9PZ2Nr0Pw1WUjqIcCWlogH3KWpWZSuKrty1mrJe6/2nRyURrBf70DjqkwVr5hq6XgjNm/P9ZXS4v6zXe1l3MQQLAyv1kyGBcGE5S6D+LovT0KJsaZ13Ibz+h8AI7lIb3f4G5O9AGyU7+HjTCU929PYorQy1eqiVo1ZCcDPFzbgb1MXNPm4OcHOImgE/G3C/AfcbcL9hlL/+vKjK6ktVbJIoK9I/D5c8HA==\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"chocolate\",\"name\":\"occasionally\",\"height\":10,\"author\":\"Slabdrill\"}"
  },
  {
    "path": "officialworlds/bab be u/w1 (beach)/occasionally.replay",
    "content": "0,1,udlr;-1,1,udlr;-1,0,udlr;-1,1,udlr;-1,0,udlr;-1,1,udlr;1,1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;1,0,udlr;1,-1,udlr;-1,-1,udlr;-1,0,udlr;0,1,udlr;-1,-1,udlr;-1,1,udlr;-1,0,udlr;-1,1,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;1,0,udlr;-1,1,udlr;1,0,udlr;0,1,udlr;-1,1,udlr;0,-1,udlr;-1,-1,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;-1,0,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w1 (beach)/oceanside snacc.bab",
    "content": "{\"width\":15,\"version\":5,\"extra\":false,\"map\":\"eJydmm1r4zgUhf9KmW8LYdeSrbct+SXDENI0XQohGdKUmSX0v298r5JYdeVzvN8G8ci975JO5vnwsDts1ruH1fJ8Pr3utstvv9an47fF76Uxi9fnpVn8u+wWbz+3m9f1bnn+WDy/HpfmY/EZtj1sSbjr4fYCexbuLrAj4KaH3QVuMZx61l9Yi9nYs+HCGsyGno0XtiEMbns4kaGQIF985GiJhSETKMEwlouceGhaLhwSOtNxcfYCOy54+mXPwepgINOisYuch7lTEudibpWGC7UWiDUkLc1i2T7Ub7ckLV7ajrREImgdFxNJjvVzwm0DORI03JGkNSRpDt32qQz02DOz6D6Vkabb6eScfp9W1x2Sn7bPZqpveDm+n+6wmx48V1jS03oOluy0gYM13JGDNSJgtF5hJ4cMmKwlbKZrpIRBR5YwyGIJg8Fawm66w0oYDNan9dMtgR04Gl92h3/uDdOBudqX6d9/DA7/NG1Jzz9t7993DeZvFon9zhA7huXtwEnZb3jbrzebW4gc0Zs5pOoEGLTFX1Cb3HQzD/6CWuRpXg58F6Yn1z0NcjC7iPH32/B3ifi4GqNHiyeS/Ouvl+N2fz8zPEjz23p/89aPMrw57A7H5dkvmso+ubz4UZ513/519/UuaTY/yjbYJY3hRzddatfozgt2ST36MHOX1JiP/2tX+jwgGAtDM3OXRCOYmbskX8HO3CW1EUZXZmrXaMSDXVK/YXT1ovyaWxv6tyq1cbaLdqpXwtzqUBtHF21mVxxduJnqiKOLN1OJsTI7pqs+zp0cEsM4d3Lo83Tu5FC/5laHxnDu5FC/RrUxkVvw9BpakxqK1Xe5oVjJXrIUK9FP7QwW3AOGMUtA+RjGLHmK1ZgFitWYRYrVmCWK1ed1A17MGdaXewMezCXMpS6bweXOKdxN33SHyTMNuJ0PM2Ia8FgepsQ04Hpe2gykq9IMcDUvzDDgyjYsDWO4u5omRYQrGgbCVWkGl8GstQHhqoS5DGabw/QDsoSB2FHC4IVcwBZIHYWDFigdJQyEjtKMloI1g6JYYVhLVAQrDGvxi2BFw2H6tVWaESlYG1bUKgzrkBGxCsNZ4TUUrDqsSFUYVh1WlCoMZx0WyVRXWqujBe/gK63l0YJX8JXWxLRcFlW3MC2XxmwIl0b1sePSqOHruDRm2FLzIMNAOy4cFKkKf1kDLVIVnmEaZ5GqMKzt0gHhuIQj5aD2luhUGNbeEpEKw9pbDvyKU8JAmyoa0XEZzDD4Ga7sWsel8EoDwfgTDbSociIgKaqcCEiKKmnRoYiDS8taFCiCVrs9eShqTDx3Kl6/zXWjJt4D6b+oP89lUtvAA+m/aDAPpP+idT13sdEsinaEa1XNCED6LxwUpQjDGjoRiDCcf8vsqDrNMHexyWZwF5vsYKDgHLpIwZpBEXrYa17krqbahpG7mqoZouZgWB0UEQfDGrrIZVCTIpINhnM0PDXWczS4x4WetZE7ETPM9aCakcDPb8WX05zHRar04Mdj/s8vq8va4+q7b3/8qdrU5d82/7tf7yrrrrLuK+uhsh4r6+nr9dBU1k1l3VbWK/6Gir+h4m+o+BsGfoUwWE9fr8emsm4q67ay3lbWu8q6q6z7ynr4av24Pb0f9w+rx+3++T+LrFc0\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"map\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"oceanside snacc\",\"height\":10,\"author\":\"hillexed\"}"
  },
  {
    "path": "officialworlds/bab be u/w1 (beach)/oceanside snacc.replay",
    "content": "0,1,udlr;0,1,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;-1,0,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;-1,0,udlr;0,1,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;-1,1,udlr;-1,0,udlr;1,0,udlr;-1,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,-1,udlr;1,-1,udlr;-1,0,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;-1,1,udlr;-1,0,udlr;0,-1,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w1 (beach)/painful be.bab",
    "content": "{\"width\":12,\"version\":5,\"extra\":false,\"map\":\"eJyVld1qhDAQhV9l2buCFE2MP13yJKVIVm0rBC2ahS3iu9eZLK6FxCQ3IofvkMmcGW2GkxxqIU8Vn2fVyZaf1V1V1/Yc3XkSdc36+OVxNP20dSckn5eo6UaeLNGO7oevAXgCPHHz11ZKBQYKBuphENcNT1c8s+N7lK1o4SoF6BTozF2HviYDOj+mtysiXKww84AzgMtj+Fl1jvHE7rLfXgAvEPeI89FCzRNTu3NDNRqHMPNj/PakU4+AdDEl8sxntnByY+Q9Ih1u9Tc69LA7YgXHJHow6BOKY35SYhw/u+m73YYygXyp44h/NhwhAjmnByeJvhaTkltzSeJxzs6Es0cc27u/O4Gskz1bD3IY+UwiavFhj0lq9vWdNLv0Z4UFurDZJAt04ZeA5IEunVAR6NIdLwNduPU0DnThSNAk0IVbR0mgSy8ftYyH3YbTQUOnA7tImXM7tpxoZmaXy+NPuP4Kl0v1TtKPV332+k4f76Azi55Z9NyiFxa9NOs0tuiJRScWnVp0433HVt3G/lRd2r75A2DAweI=\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"painful be\",\"height\":10,\"author\":\"Slabdrill\"}"
  },
  {
    "path": "officialworlds/bab be u/w1 (beach)/painful be.replay",
    "content": "-1,-1,udlr;0,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,1,udlr;1,-1,udlr;1,0,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;-1,-1,udlr;1,0,udlr;1,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;1,1,udlr;-1,1,udlr;-1,-1,udlr;1,0,udlr;1,1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;1,0,udlr;0,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;1,-1,udlr;0,0,undo;1,0,udlr;1,0,udlr;-1,-1,udlr;1,0,udlr;1,1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;1,1,udlr;-1,1,udlr;-1,-1,udlr;1,0,udlr;1,1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;1,1,udlr;-1,1,udlr;-1,-1,udlr;1,0,udlr;1,1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;1,0,udlr;0,1,udlr;-1,1,udlr;-1,-1,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w1 (beach)/poem4u!.bab",
    "content": "{\"width\":15,\"version\":5,\"extra\":false,\"author\":\"vitellary\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":10,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"limon be swiit\",\"is_overworld\":false,\"palette\":\"marshmallow\",\"parent_level\":\"\",\"name\":\"poem4u!\",\"map\":\"eJyV1MtugzAQBdBfQdlV8gI/gNDI34JMoAjJgoo6alLEv9cPCimqxtOsj51hLpdmTPR4VTqp5DybXrfyVLf2dyJ3mZK+kZQ8pCAf7+21V1rOC2n6SdKFrNjcTfWp9MaZ5SXMa385dZrDer2YOSosZTiaWcpxNIef7pkWlmY4erY0h5cwjN24+RJewxYI94GkVtPIilW9ewqvw/k3PXb7ARaP/DASh3fjTzz/g4gvKLwlwvNIoEceCfXII8EeOSLcm9OZ12V89NeXjbM0PrqZ1PC1n6Dx6Tv12D2Dx19f49xbjipSsALVpGAzVJWCzf8xr0uyQPSo8NoFeQZ06FDpbYl6OurbzF2IKRZTuM2/MYM/gtsDrjxSy7WS1HeSC9wgAWfwID/fE+orw3PcQgIu/r56uUytuU1DUl3aofkGJYw8DA==\"}"
  },
  {
    "path": "officialworlds/bab be u/w1 (beach)/poem4u!.replay",
    "content": "-1,1,udlr;-1,1,udlr;0,1,udlr;-1,1,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;1,-1,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w1 (beach)/pyroclasm.bab",
    "content": "{\"width\":15,\"version\":5,\"extra\":false,\"palette\":\"volcano\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":10,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"snad be hote\",\"is_overworld\":false,\"author\":\"Patashu\",\"parent_level\":\"\",\"name\":\"pyroclasm\",\"map\":\"eJyN19FumzAUxvFXiXoxbRIXGLANrXiWiDasisTClKVbpyjvPjif0y4Xgf9dLn6O5O9w7OPduBnGl27YbNvz+bQf+vbh9H7aPnfPD9l7m2f7Xeuyv9OPXz/7l303tOdLttsfW3fJEv/TDR+0mKi7T4eu+/1hy8kW7G+riZaM+olWjIaJekbjRAOj9UQjjKCZbHPfWiH6WTurQ44KIeuWK5HqK1ugSsiWqBSy1XIUN9avR/E268J0QEnIxuUkbmyNdifboM/HbJGjJGTdchLJlmYLlINsiXKQZQ0n61EOsgHlIBtRDpXZGuUg26AczJY5ykHWoRxkC5SDbLneGddDxduCCoUh61EYsuy8lI1og7I1PQWD8QZtz2yVo+3JOnQKyhbou5At0Y0kW6GIZT2KWDasR/z4debReEQRy9YoYtkGRWzWs9aTdSgK2WI9ii+zrk2XKAnZajmJ+Z+/D+Pr5wK/HMfnhy8eUCKyrP9kQf/9GLvjvKCxBawDzQbWgbKsjLIrZbzOFhr0WBUTBmV8/PafZxNnwuwCTJjdgM4GqMCuwITZHSgc2fCS8Mr0Mqd3XWDjTmQjTMIrM8y1vZKu2Fwr7NlgKxxYzYUjOtQTrtFLI+GGVcZwnePHhs1fNXv2Jbzy8LvF8A0hXLGohdksmnBgUQuzAzVhcKIextfRVtiQV7MjVbhhZ2rCdxry8nTsT2/Hw2b71B92/wD/60iT\"}"
  },
  {
    "path": "officialworlds/bab be u/w1 (beach)/pyroclasm.replay",
    "content": "1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;0,-1,wasd;1,-1,wasd;1,1,wasd;1,1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;1,0,wasd;"
  },
  {
    "path": "officialworlds/bab be u/w1 (beach)/sometimes.bab",
    "content": "{\"width\":15,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":10,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"chocolate\",\"parent_level\":\"\",\"name\":\"sometimes\",\"map\":\"eJydltuKgzAQhl+leLGwIKyJ8bTFZyke0iJkjaSWtpS++5pDa3XTrONtmC+ZTP75MzXfMF4VbLPLb7e+YTT3+ku/E7zy/Ese+E2dI/+aY//Y0aopWH67+3UjhsWKMy5yr2vayrv7L+yBF+fi2rHjc4coGLYgb7cQlNbTLUoqWSRZPKDhH3QSbZLFMjwcwoOlyTbsyRHrMQ+uZEU1u+X5ay9oK/lQXdF67vwoFRqDjnoBkwFMIDkamEg4dRbGfqoCM+fzO0AUQC5aFuVIIifJRdEe3pyJnUpzZSuVE60ipXbiVWQEfdE944cRl0rKwG0VKTZZJFgdm65QrCYz6AXHtlIb4MB6xfd+E6tmzpxinxVG56tAjKD5Gu/RNHa+x9R8Hi+ZKDJ0VtiasAYJNGGtAQ1H/xfXtGWq4mNnWe1tqUmwdZ1GNv0/y1E1mULs7z9PTcWGIJeakGCxfIysXSo290bqCw3dH5s9TYOSFQ5u0AhSHNMLBnV/c9af2JDJCg83aLrCxA2arXBxjZIAKoTvzxcauV3jJDrrcKSmI4IXKd0Eu13mzRU1CvYZ1cBIz1bLhiMTDBuPxnqoEYkki8dFpP5QkgKn24r/UPPX6B0itGC4vW8F7U+i3ey2tK1/AU2J1YY=\"}"
  },
  {
    "path": "officialworlds/bab be u/w1 (beach)/sometimes.replay",
    "content": "0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,0,undo;0,0,undo;0,0,undo;-1,-1,wasd;1,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,-1,wasd;-1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;"
  },
  {
    "path": "officialworlds/bab be u/w1 (beach)/stare case.bab",
    "content": "{\"width\":19,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":17,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"limon be swiit\",\"is_overworld\":false,\"palette\":\"mountain\",\"parent_level\":\"\",\"name\":\"stare case\",\"map\":\"eJydnM1u3DgQhF8lyG2BOYj61wZ+lsCxvVkjA0/gONgEgd99PerizHhULbbqlkN/bkVDdrGLFO8PH/aHu9v9h883f/68PO4fbj7+2B8O3z/uft1Uu8f7m7T7/faPH98f7h5v9zd/Xnf3j8833e7usD883/xJu+b1dUfBmoEpADZvYLoGhwDYMrAJgN0bWCsZewZGMg5vYKNkHBkYyTi9ga2SMVWMjKRMx7HTSTlrRoZyHkdPL+VsGRnKeRw/g5SzZ2Qo53EEjVLOkZGhnMcxNCk564qRPOfd/vDf/Zk8jqG0rCNeopqGh56xoWjkxdRz5ZFqVt1RNJT1OHiSVLfqgaKhrMfhk6TaVU8UjWRtjgMoSfWrSRR1st4+ncF5LC2qUMeD59GzKB/d8qHSHN4KsmpkJ+iqkb0grEYOcWU9TV8jR6aQZPZa9CQI8Uy2laDERiZBio2sBS02shHE2Mg2Lsbvf4m2Y5Lq/RJtL0i3kYMg3UaOgnQbOQnSPZNdJQiwkUkQfSNrQbqNbATpNrIVpNvILi7dV2SvaLGhg6LFho6KFhs6KVo8o32laLGhSdFiQ2tFiw1tFC02tFW02NBugxZ/v33+cdif2X49bbNLCx03cKA6nnjwSHWc1Ml6Dp8EHZ/JoRJ03Mgk6LiRtdAhG9kIymxkKyizkZ2gzEb2gjIbOQjKbOQotMlGToLWzuRYCVprZBK01sha0FojG0ExjWzjKn1a9RjZMcX0ZvPYC8psJG3HQ29lFJTZSNqOR3JOlaLMhvJ+PJS1VpTZ0EZRZkNbRZkN7RRlNrRXlNnQQVFmQ0dFmQ2dtnfJtdmDVUxeEZ2i+tpYPLWRCwILtIkr7KlqAKXtuf+QnaDIQGlTXvixgQ6CJgOlbXmhoAKdmLa6r2Z2j7fOA6C0Mw+9mtk/3joPgNLePJa1FYQcKO3OedYvz4/fLsie6XHyogempG40t4q9aK5HTnTNNcgNT1wBvPCal24v3OmGvHDeAbnhHa2QbnhPS2SzHDutxQ9CiQQ6Ck0I0EmoeYaambtxigFNQs0DWguNCNBGKGJAW6GIAe2ESgS0F+ofUOrfxdBxexEDSQ28zomezd7QBOksXtnDBqrsYgNV9rGBKjvZQJW9bKDKbjZQZT8b6IYd7dNSBCjd0yZLEQvv6EZ26CFns3frVARKt7JjWZvt8wkk3cs+z6f97f3zRTTdvz7Nj35XvXokbZhD5MAWCyFypAsHjl69FsfgPYfffjlH96XG5v0f73lnQ6pSb/FKZwN0Q2dzjdLSUhiOQGmXU5ipQGlpITMV4UpnA3RDZ5N/P5CFxuZ99ECLiRvNT8J40dxi86Idb2QxfRDO/ZC0OvOAdnSVHEK5eR9CHft+db4D5WY+mZKDxStuvqGjYucDVfx8oIqhD1Rx9IFusPTzDwKSWvrnWfPy6+UzajAAupC9Ah4u4unq9X38v7cPLz++/b6k6M7zSpaJStBy9lu42a2B3hXhzoagF86Pqbjh/KAKmROjxSsnVYAqR1WAKmdVgG44rHKN8tMqIZQeXeGvKf8gM1lX1CFjgw/xdC26HHuIpstPN9o5A7cozQjn597WSzNQx1v3wrl+uOFcM8ggnyye+iCFQQ6UakZhzBiaqA9SGORAqWYUBjlQ6oPEHphqxvogB0ltkPeD/OdFOLU+lqMW0fSwUloMWkQPtNivrkRAjtQ8jZAT65PW54mRzslZL9rZnfPC+fkRN7wJTkKEt3QSnle9/+wPXy/Cu+jOUMJR316YtJmlnmlhbyizI5t7K8+pOKVgJas0s9QrLZ0UBUuLxPpMzyg1S5dzN4fTE41+eOEY43U4NSiWIzaHU1fCD+f7rX78VJClXDUQ7xid3Oo4/4TJYMX1zKxie2ZW8T0zqxifmaXOZ/CZqT8RfFfU+wzmpeZnYZoBLZifR0XNBRYIP+xK5g7C0/rcOQ1WhNds7qyrY0b5sjPGblmDXrN8ERpj+QkPzh5/jL//uqQH7oe42XilOWWr1p6UH+1YX32AdTxQUuEQHzZBU22A4oJmVrFBM6v4oJndYIQuWO6ExlhqiwbfFa00wbzUGS1UKUNLNulpqCKc+qSF+QiUmqYxlB5MLMwPoG1wfYFwvsZl06MxQFrjgt2wxl2wdI1bmh5g6Xq3ND2MHel3PLG8I13vlr6NAUu/5WFresQrJwIyu+FIwGn8AC30xbNXdIXQ5rh7jzxcArw/fgc8Hb4eLhHeGLv/C94Ne+ET/7aCFBHEJ6rM63uLma2pVsbYhmrl+sZkZttwYWgNoN5qqTCApUWlVBjAUne1NPDB0qJSKgxgpU8DZ7appI8DwUqfB4Ld8IHgaTwA5acQ3XB68tAP79gU98P5h8ZkwiJ+CA/mzgDFfs2s4r+ClQzYzCoObGapuxLMSz3YYF6qPMG8dOsumFc5jpZZ+kVOMC89kBbMS7/KKUxeQ2fPNjK9EE6/JPXD6eejfngTtLQQ3gYd5Bzv3F/gxvNa4sc7X0O48WFLDvElS+4qvgmfPUy9AZINB1ay4cBKNhzYDTbceSUNlttwfi7aEAefkzbEpdoAljbEwby0IY7lbZVTiJlVjiFmVjmHmNkNBxEXLD2KGMzL1ykxll6tE8xLv5II5qXfTATz0sYoNu86ulHoz7vZ3d18IwBYavXG3o/j9QYTO+oUg7lUBTP3XOdiML9uJ5h55IoZg/mVO7HMZv6Kda7n1+4EM/M2fPVrxIzyLnz5tT/CeePN5s1ggNR4g5Uab7BS4w1WarzBSo23sYPUeIOVGm+w0s08YKW7ecBuuJ1nwdKN7WBe6vEF81K7L5iXnpsM5p0UfTZ2lG7tAUt3NYN5eesVY2kfFsxLb+8J5u0kvQXMr/AJZh4kvQXMr/EprYUATwXD6jqbYzHHHtU7rxuDtSt8AGuX+ADWrvEBvOUin6y4QPugQCOcm4nstxwNkMxEsJKZOLNtJZmJYDeYiefBDpZ+A+C+n7ZSDv5nVrnMJ7PKdT6ZVS70yaxypU9mlUt9Mqtc6wM2bbjY53o8JHq1jz8eEt04Dz4nvW039n4SvdQnmJd+sRjMq1zyk1nlmp/MKhf9ZFa56gesc9FCLLF3oDgGSxf+ZFi68ifD0qU/GZau/cmwdPFPhqWrfzIsXf6T4S3X/1xczGd06XZeejUf0ERXA4tLdnN4TVcD3evrp+eHl5/PTx8+f3p4uv8fvL5eEg==\"}"
  },
  {
    "path": "officialworlds/bab be u/w1 (beach)/stare case.replay",
    "content": "1,0,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;-1,-1,wasd;-1,-1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;0,1,wasd;1,0,wasd;-1,1,wasd;-1,1,wasd;-1,0,wasd;-1,-1,wasd;0,1,wasd;1,1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,-1,wasd;1,-1,wasd;-1,-1,wasd;0,1,wasd;1,0,wasd;-1,1,wasd;1,-1,wasd;0,1,wasd;1,0,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;"
  },
  {
    "path": "officialworlds/bab be u/w1 (beach)/stare casen't.bab",
    "content": "{\"width\":19,\"version\":5,\"extra\":true,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":17,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"limon be swiit\",\"is_overworld\":false,\"palette\":\"cauliflower\",\"parent_level\":\"\",\"name\":\"stare casen't\",\"map\":\"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\"}"
  },
  {
    "path": "officialworlds/bab be u/w1 (beach)/stare casen't.replay",
    "content": "1,0,udlr;1,1,udlr;1,0,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;-1,0,udlr;-1,1,udlr;0,-1,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;0,-1,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;0,-1,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;0,0,undo;1,1,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;-1,1,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;-1,1,udlr;-1,0,udlr;1,0,udlr;1,1,udlr;-1,0,udlr;1,1,udlr;1,0,udlr;-1,0,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,1,udlr;1,0,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w1 (beach)/stare caser.bab",
    "content": "{\"width\":19,\"version\":5,\"extra\":true,\"map\":\"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\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"limon be swiit\",\"is_overworld\":false,\"palette\":\"cyberpunk\",\"name\":\"stare caser\",\"height\":18,\"author\":\"Butcherberries\"}"
  },
  {
    "path": "officialworlds/bab be u/w1 (beach)/stare caser.replay",
    "content": "1,0,udlr;1,1,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;-1,0,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;-1,1,udlr;1,1,udlr;1,0,udlr;0,0,undo;0,-1,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;0,-1,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;0,-1,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;0,-1,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;0,-1,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;0,-1,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;0,-1,udlr;1,1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;-1,0,udlr;1,1,udlr;1,-1,udlr;-1,0,udlr;-1,1,udlr;-1,0,udlr;1,1,udlr;1,-1,udlr;-1,0,udlr;-1,1,udlr;-1,0,udlr;1,1,udlr;1,-1,udlr;-1,0,udlr;-1,1,udlr;-1,0,udlr;1,1,udlr;1,-1,udlr;-1,0,udlr;-1,1,udlr;-1,0,udlr;1,1,udlr;1,-1,udlr;-1,0,udlr;-1,1,udlr;-1,0,udlr;1,1,udlr;1,-1,udlr;-1,0,udlr;-1,1,udlr;-1,0,udlr;1,1,udlr;1,-1,udlr;-1,0,udlr;-1,1,udlr;-1,0,udlr;1,1,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;-1,1,udlr;-1,0,udlr;-1,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;-1,0,udlr;1,1,udlr;1,-1,udlr;-1,0,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,1,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;0,0,undo;0,0,undo;-1,1,udlr;1,1,udlr;-1,1,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w1 (beach)/underwurdld.bab",
    "content": "{\"width\":19,\"version\":5,\"extra\":false,\"map\":\"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\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"limon be swiit\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"underwurdld\",\"height\":12,\"author\":\"Slabdrill\"}"
  },
  {
    "path": "officialworlds/bab be u/w1 (beach)/underwurdld.replay",
    "content": "-1,1,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,1,udlr;1,0,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,1,udlr;-1,1,udlr;1,1,udlr;0,1,udlr;-1,0,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,1,udlr;-1,-1,udlr;-1,0,udlr;-1,1,udlr;1,1,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w2 (bab)/all text.bab",
    "content": "{\"width\":7,\"version\":5,\"extra\":false,\"author\":\"Slabdrill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":7,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"all text\",\"map\":\"eJyV0ssOgjAQBdBfIexMuqBQ8EH6LYRHNU2a1mCJGMK/y7SIK+y4Y3HucGGmM5Eyba2iik+TlUrw2I62auomJiNPiOw4Ja/l4XEXrawVn2bSyZ7Tmaz8WauNpgul+9RNFqAp6Aw12FEWHtwa1V+HbyRNlgz7nRlAp6BzVBdHi3AXK0a7+WO4x+UAOgN9QhVx9Bwuou2mKeJ/rNOZ87i9extY/HpO3sLaM8yReM7CtT+/2wdglTlmfu54gfpMb49/naHLpDTcX5ubgUDhXoK7AG93TmAue2GHXkdVKXT3BgwGTwk=\"}"
  },
  {
    "path": "officialworlds/bab be u/w2 (bab)/all text.replay",
    "content": "-1,1,udlr;-1,0,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;-1,1,udlr;1,1,udlr;-1,1,udlr;-1,-1,udlr;1,1,udlr;1,-1,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;1,0,udlr;-1,1,udlr;-1,0,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,-1,udlr;1,1,udlr;1,0,udlr;-1,-1,udlr;-1,-1,udlr,e3s4LCAwfSAtLVtbdGFibGU6IDB4MDg1N2I2OTBdXX0gLS1bW3RhYmxlOiAweDA5ZWY0ODM4XV0=;"
  },
  {
    "path": "officialworlds/bab be u/w2 (bab)/alternation.bab",
    "content": "{\"width\":12,\"version\":5,\"extra\":false,\"author\":\"Slabdrill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":9,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"alternation\",\"map\":\"eJyN1t9qgzAUBvBXKb0ZAy/yP7risxRb3RBEh7Oso/TdF3PsomxLvgvvfieY7xwT62HXDeeq2x3L221qu6bcf1bdPruWLGvrkmdf7vl4b85t1ZW3e1a3Y8nv2R9UOCowKh2VGFWOKoxqRzVGjaMGo9ZRm6R8prmjDKNFPNfpOh1P1emHcxYPd/bVOPR1qODxjOeK1254CwUinrR/paZ/mkKFjAf+axMKSp2sxmPnczfzpBXeWqhHZHNoXeltEV93lYX3gqUH4NEeKuDp9mwLBJQgWQntVHmrgJ02gWtg0lfcxMd2yZCsRSY28BwY1xUvoPy8lQzKT3vL0/ldghb4nFCBTIfy8hy4gnZJVkO7NN4a6Dsja6F1rbfYGUs2cciurWJQDmQ59L65t4n+bayEblCy2FlKFjtLC29N/B0es0Y48QFuFs6xw58u/SJ93W0KNEvfdvRtLx44TfvhbVhVCOjvYsES26y/vrSC2r5gDf06LdhA/VmwxTZI+J9u3g9jM13Gfnc8NH39Dew3b78=\"}"
  },
  {
    "path": "officialworlds/bab be u/w2 (bab)/alternation.replay",
    "content": "-1,-1,udlr;-1,-1,udlr;0,-1,udlr;1,0,udlr;1,1,udlr;1,1,udlr;-1,0,udlr;0,1,udlr;-1,1,udlr;0,-1,udlr;1,0,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;0,1,udlr;1,1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;-1,0,udlr;0,0,undo;0,0,undo;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,0,udlr;1,0,udlr;-1,-1,udlr;0,1,udlr;0,-1,udlr;-1,0,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w2 (bab)/apparently overpowered.bab",
    "content": "{\"width\":8,\"version\":5,\"extra\":false,\"map\":\"eJyV080OgjAMB/BXIdxMdmAbAz+yZyEI05AszOCMGsK7SzejEk03bxx+bcq/XWsSbZpaJ5UcR9tpJVN7s9W+3qfkJjPStZKS+/xxPqmmq7UcJ9J2g6QT+eQKNAXNcP1s7CifKcMb9/al81kLXF8AM8Aidmani1nnuL7WGjgHXoab+7mdXoeb+1Fy0JuIwX2EjtMsNkPPaTjE3hwNFAhXEFjnM5bCWf6HhW3SSCvwf1xYWCWPtCW+mYVd48EtLOywiDqn0r2YLPZYPad4dF/tGR7fQZvjG3M8P2i+LMhjz9tzET7A7erNCzzKz1fJyt+5TLtB2cvQJ9VO9e0D1aynig==\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"apparently overpowered\",\"height\":7,\"author\":\"Slabdrill\"}"
  },
  {
    "path": "officialworlds/bab be u/w2 (bab)/apparently overpowered.replay",
    "content": "-1,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;1,1,udlr;0,-1,udlr;0,1,udlr;1,0,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr,e3s2LCA0fSAtLVtbdGFibGU6IDB4MDVlZjVlMDBdXX0gLS1bW3RhYmxlOiAweDAyZDMxMGM4XV0=;0,1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;1,0,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w2 (bab)/bab bab bab bab bab bab.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":false,\"map\":\"eJyVl91u4jAQhV8F9WK1K3ER/+THrfIsKIVsG5FiFNLdVoh3X8ezhJjMOMMFN+g7STxzfDze2VVrt1W72pTnc9+0dfnUf/Wb1/pp/VUm62ZXivW3+52O9bap2vJ8We+arhSX9YT+HGHpYBmHf4ywcrC6h1UA265/t6NAO4GmBX+rdkRTh6bxZ7fW7qt+VGROkccV7p962zf2MIpyJyruRXkgmpSycLSJv+K9qvvfre1GjRnKn9AlnS7acQ6eNQuvkPCNndUobFYgGJorssVPER4emjv77BxnNWYxgk0xhxFshhmMYHPMWwRbYOYi6jD0j1kzmWAWJFgRd17ASsx3BKtQv80sBLBe8NurbSf00DoR2fDBozOGO2FrAZ8vmHPgT8dmPyikVxSYQxXyAsANZtIQf/454irBfKrmSQi0WI7Crq53N4FkRSGw6pEsBIl+MAxBlWKeJCuqMl4cnvbfE1HOy0OAC14eAmwYjjvYNzsqdMILROVhwQpEYCUrEIFVcaMFrI7bLGBTViACm2EOI9gcC0SCLTAbEqxhBaJn04QViMAKXiACLBcMd00goH3WBr3bWnf2l2e5lnGlD14dUxKrSRdMHsAZz9/awznmb4ItOOH+/+wAhUE/ZdaF1E9yCetTgBXx7XMtO8Dyfv/Q/QpeotiHGfCat9rMwylrtcBm8fn8ulqA84dXCzpOd59/3Xhmb3M/cPN6CyzaW4KdtTbCKiwaCVazZkVgU9asCCx6XSFY9JZCsOgdhWCZdxMPF/jdhIDFLBkjsETnSgJWs+SMwJqXlgCnvLQsPJyxbGw8u5Cs100LcHE/OtCbdtiH7udnaB/4BXqGYgOc8Kls0HM05Lf2oz62Jy/y4WaWDlQYLqs3P2fBHVjGKzAo/jT97aJtVHwnTQV+lDOaL4A3LKTuFYYlZwummz7e+8NQ15nLS1f3n91htXmpD7t/VvvkKg==\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"space\",\"name\":\"bab bab bab bab bab bab\",\"height\":17,\"author\":\"vitellary\"}"
  },
  {
    "path": "officialworlds/bab be u/w2 (bab)/bab bab bab bab bab bab.replay",
    "content": "-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,-1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;0,0,undo;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;"
  },
  {
    "path": "officialworlds/bab be u/w2 (bab)/bab be killin it.bab",
    "content": "{\"width\":15,\"next_level_after_win\":\"\",\"extra\":false,\"compression\":\"zlib\",\"author\":\"szoob\",\"height\":15,\"version\":5,\"map\":\"eJyNmNGOqjAURX/FzNPchBhKaSl3wrcYhM7EDIIRzHVi/PdLexDoiHQ/+LZ20+5z2rOlbDZVU+TVZpfdbt2h0tlbd+12+3z/FlyzMDiUGQt++l970sUhr7LbPSgP54zdgxn+1XQjHvV45MEvda1HAe8FfF3wWTVfIx/3vFzn99PqoqeTdfrvn5GWPa08a8+sSYw1T94Ih2/rvChGhTKKJ3tcxVHr4yhIjeDJHrG0JWarFfaC8PUR2u9LNcGe2rqwp7Iu7KmqC5uSxihsKipQWK43iwsn673iwmq9VVzYVDEF4chUkKEljNhiD76io8X+e0XzxeZz78O//NBtt9tJZIrJnqopFi5oZHmBNSzBEmtYghOsYQlWWMMSnIKmW5qHoOlEM8D04caTIAIMvxicW5xjfhMcY34TLDC/CZagKUQniCl64pXHk8fqsaXT9VMObls2Dv0DZXYlSMPAsxIdAWf9rH70pODgaYWlPTWd9RfxAtw90dKz+wctLZ1g/UWwApdOLO0pqgOLEFxaWRocmwT7yvmgU0tzoDh6wmOwNkQLcCuMopPnsX3klIFenJ7i18WovmeK5TD0cjvLUcj1ZpTYWSTRMEQ0moaIRuMQ0Rw9K+ExPgQGhYDHLrNjQ0rQG6LBizrQCvSG6BTMipZOQjTwEI6+vQOOPL7tqWlOM43v+bV/Mt6twE6nJAatJ1qA1hMtQeuJTkDriVZgTic6BYO6pVUIJnWiGRjViY7ArE40B8M60TGa1gkXaPcSjqakAUdi0vhsk8SXlIyk01f7B5/ZuKE8k9Uo8nNTl5MkDf1fBcZ9kYL5PwsMzxnx0XpvGr5ojvpUtTMRX2/RhW3FnvrNPocMCl98mn/gGCSvMtT946y7y7ne7D50Xf4HusPi2w==\",\"music\":\"leef be blad\",\"is_overworld\":false,\"level_number\":0,\"level_sprite\":\"\",\"name\":\"bab be killin it\",\"palette\":\"edge\"}"
  },
  {
    "path": "officialworlds/bab be u/w2 (bab)/bab be killin it.replay",
    "content": "1,-1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;0,1,wasd;-1,1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;-1,-1,wasd;-1,0,wasd;-1,1,wasd;1,0,wasd;1,0,wasd;-1,-1,wasd;-1,-1,wasd;-1,0,wasd;0,0,space;0,0,space;0,0,space;0,0,space;-1,0,wasd;"
  },
  {
    "path": "officialworlds/bab be u/w2 (bab)/bab stacks many.bab",
    "content": "{\"width\":19,\"version\":5,\"extra\":false,\"map\":\"eJyVmdtu00AQhl+l4gKBlAuvj2tQnqVyk1AirLjKgbZUfXfsndnYMeD5uEDi4vvb7szszP7jbXfXdpumvbtfv72d9+1u/eG5aT+sXtbJar9du9Vr/5/T026zb9r12/tquz+u3fvqL2jao46hWY+mDM17NGNo0aM5Q8seLRha9WjJUN+jFUPrHvUMdUnP1pAd8uVgwlzIGEyZG3LmYNLckDUH0+aGvLmFxJ1fzvf9v0HggqBElSZstVxqw89+6C4vo8AvF1wQ7Ea8Xi66Ae8um+9XQZosl94gmB4gdSzuAqcs7gJnIO7NsTtsB0kaJDmKvLCFHfnH7jzyJbrpwlboqgvrlwP+0DyMLLuWgc0S4/aMlSI8TKTAMJECk0T+2B/DObOgYHkUFuSx3bfNKDASOcZFcJZLYT2I+aF77EZFzaIe4DxhURfYgah/HPA84Gw8Csvmo7BsQArLJqSwxoiMTVPgCt0bYa0c3sAwfQEuYPoEJuk7dptBUAQBS6CwRgJj8ATOl4P3xx9SsAAKXLKYCFzRki4D7lFEhK3tLhJbVBCUyXKtxhAK7FD9CQtbq8BWa1W4CnC+/FiedkoRFCiAwpaoJwhbsSMK7NkRfYBr+4gfr3SVoPMJ65bP9+vUdQ8jnaKECwtfrgLDl6vA1stV4TrAJbJSwhqv1hvWG8cbcvKt7R5HRc3OGGCfsDM6cUCGX7zWh+KspypsNNXTj8uUNubijDYm480zXhTMQirMTKTCzEYqzF6sAtcJc4dKOzZnlE5BGapxEkEGvYrQOSzDYG3qwi7Da0NRCTSVAhv381pcQhuWckbXrLDEfibJcmVN7aQq3HJ5DYrTodlsphqj3d5cD5Vky1uLqalXRQ6rU3H4DIp4Cerzy+epAk7RiMM56lLBwSTV6yICx4ZppI1xOn1vRUmK3EGkM9bSlM5ZT1O6YE1N6RLtxyJdwSpTHLqViEO/ongKHUvELc8S8Uzw1C6x661VScaKTOkctkHFmf2MdGl3trGHq6aye9v3ZneeSrzd2uaS2iihm8slGrQtmv0ec2M0NRRRQzeAikN/43LBDYczo5m9iTQzOJGu0Noj0p5VntJwAgudGxN4RhvTd0YzmxNpY+TOaDpuFafjVnFr3M5wOmsVp7O2ENyYtbd0AQet0sagndEpK1ulMxhzxXMYc8ULGHPFS7Ac0mW6K0VS4TeOCoyNknwzmAqMtVI8gtBhpwQOrLTlf8JLOY441fyHC1KFZYPkzM1z8/rUnqZCyxFNflUlCsMVxeMrDQ2R0mxjEWnDEcV1RcRr1jSFrviHmaig39gUpzNWcfJ55hIEXgRwyioNp6zScMoqDaes0uTrzJdPUwV9Lgvu6XNZceu5/HN/3l33oM5bn8OHPz9K9P3kgcuNkloUxqe36TtQXv1hNwX31c6zLaO0dG/05+n3EhfWUjascWETVw4Y1lKg3gX+x4bx/etxd74cD3f3X3eH7W9HA2pT\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"variant\",\"name\":\"bab stacks many\",\"height\":15,\"author\":\"vitellary\"}"
  },
  {
    "path": "officialworlds/bab be u/w2 (bab)/bab stacks many.replay",
    "content": "1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,0,undo;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;0,-1,wasd;1,0,wasd;1,1,wasd;1,1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;1,-1,wasd;-1,-1,wasd;0,1,wasd;1,0,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,-1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;-1,1,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;-1,-1,wasd;-1,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,1,wasd;1,1,wasd;0,1,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;0,-1,wasd;1,0,wasd;-1,-1,wasd;1,1,wasd;1,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,0,wasd;1,0,wasd;-1,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,-1,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;-1,1,wasd;0,1,wasd;-1,0,wasd;0,0,undo;0,1,wasd;0,1,wasd;-1,1,wasd;-1,0,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;-1,-1,wasd;1,0,wasd;1,0,wasd;"
  },
  {
    "path": "officialworlds/bab be u/w2 (bab)/bab world.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":false,\"map\":\"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\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":13,\"parent_level\":\"mapp\",\"next_level\":\"\",\"music\":\"limon be swiit\",\"is_overworld\":true,\"palette\":\"default\",\"name\":\"bab world\",\"height\":15,\"author\":\"Patashu\"}"
  },
  {
    "path": "officialworlds/bab be u/w2 (bab)/baba is you.bab",
    "content": "{\"width\":21,\"next_level_after_win\":\"\",\"extra\":false,\"compression\":\"zlib\",\"author\":\"vitellary\",\"height\":15,\"version\":5,\"map\":\"eJyV1tFugjAUBuBXMd4t4YJCS9sZnsWgMEdC7IKYuRjffaXnqJBs9PduF98h9K9n/LVbdW5fdatteb0ObdeU6+EybHfVbp1cyjRp61IkP/6P01ezb6uuvN6Suu1LcUumvBm1GHUW164fPt04kI0DOfB4ehs1cum5/J9/V92DKk/VwpPbJy08LTCqPdUYNZ4a7F2tp3Y5hSkXqfcCupUieAHFRjaDciObLwfHN0dWQsmRVVB0ZIt4dtMoNBDdeeQ6cAMlR9ZCyQWbpdBPjqyAkiObQcmRzePJHd3BPQdkJDt+uglYQcmRLaDkyGooObIGSo6shZILNk+Xk5tZgYVmA8aWj2xk+WYWWz6y2PKRjSwfWxG+JLmGDsfYQKdjbKHjEZYpdD7GAjtg+PhJ7PYYY9fHGLs/xtgFMgZvMHyspYZ2mrHB0iBssTQCVimWBmGBpUE4eyENlQOfko/OHcJIHkaw/sIYazCMIx2md/sJxloMY6zHMAaazOxVCrzK+AYxDmBdhnFkI++vQjiykY+rJB1ZyfmjwZUkDDca9kileX8LA1R3sVLDGGs1hHWk1txDIYz1GsZYsWH8QrPhiVi1mYQeupBWkX9Y3tdtdZhMFH+f4Lbpm+HcH1fbTXOsfwGIIXpK\",\"music\":\"bab be go\",\"is_overworld\":false,\"level_number\":0,\"level_sprite\":\"\",\"name\":\"baba is you\",\"palette\":\"baba\"}"
  },
  {
    "path": "officialworlds/bab be u/w2 (bab)/baba is you.replay",
    "content": "-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;"
  },
  {
    "path": "officialworlds/bab be u/w2 (bab)/beeee yourself.bab",
    "content": "{\"width\":8,\"version\":5,\"extra\":false,\"map\":\"eJyN09FugyAUBuBXMb1ZlnAhCtiu4VmMFtaZOGgYzdoY370gKYxkBbzy4vvNOT/IZDXL0zBXPV0WPc2c7vRN9yM3zw7caA0mRiG4m5efCz9Nw0yXFbBJUbiCP4FfzkfvG+NJmYfWt8Y3aT9yr5HRbVoLqdUgPqX69ilsUuh1yi/cWkxKBhJv2ge69EzPbTe7T08S1Y9t4JCvfwwa1obD1/yLs3PAMD14jJv05DG2h4pLMSq/MWQL4NJOHCfpTiw3t8XX7kJdyUEFvk8vbPnHe+CH9MrPfrrth6rT68YY5pe9Bt3k73r8+Tb//7laHEf5FoU8yxDAZRfHYVLWItpw93+L61FxfVWi6o9csAcnuLRi\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"beeee yourself\",\"height\":7,\"author\":\"Slabdrill\"}"
  },
  {
    "path": "officialworlds/bab be u/w2 (bab)/beeee yourself.replay",
    "content": "-1,-1,udlr;-1,0,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,1,udlr;0,1,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;1,0,udlr;1,-1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w2 (bab)/by my side.bab",
    "content": "{\"width\":18,\"version\":5,\"extra\":false,\"palette\":\"volcano\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":12,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"laav be floe\",\"is_overworld\":false,\"author\":\"Patashu\",\"parent_level\":\"\",\"name\":\"by my side\",\"map\":\"eJyV2M2O2jAUhuFbQbOoWolFnD87M+JaED9ZRGRgBKGlQtx7E39mSFEbv7ObxWOEz2cfH2Z7mLWHzaqdLRfXa9e09eLltDu3L/PLIpk324WZ/+7/OH3Um2bVLq63+bY5Lsxt/i+b9tZAm/U2hTbvbQZt0dsc2rK3BbS2tyW0rrcW2qq3Lm6NzyJhYQgbloZwOh3HerV+2IzFIZx/ZX9DeBXFQ3oGV2PIz4BypF47VmjhihXa4zSZLvTxsHlYw86ncAo3mHmdsQ0K52yDwgW72MIlC1zYwsClHaxH7nXF6uFxlrB6CBtWD+GUdRnhjLUZYXgPhSP3MBxSWXoNC68tq7OwY3UWrqbr3K5WPz9xnrBXQhheQ2GYoHA2Xefu0i3vC0q/IGflEy5Y+YRLdkyFLXsBhB2rtXDFGoLHRRI5ekP91vXgrfdwlhGGw4wwnGaEc3S7ZAuwxdfvg3fel2yLwpZtUdixLQrDGCs/hcGpRhhONcKRqeZvDMca4ZwdauFiuoHcW5NwyRqIsGVdXdjB6UqzceRFHA5eOKlaYOGrGDR8FoOGXTVo+DAGTSdUP0faIl4WtZzgS1gVaQurIu3gN/cDogWBnpptvWt2j0WOhiodCdUXJ/yS0IKUPa1BZ1/Zr4u02eHL3G+e8SOji2T7+fnSNFnpSLKjcyPvYGWkI/129Ol+aKvoD0lp+ktSOtJ0h+9yHvEMblSaXlbpyBw7fJX94fSrefdr/ExWwRc0aPiEBg3f0KAr2PQK/W8ggV0vcAMrWYqn8e7R1ZduvCSbrs3oUIYFefzkbA7v9Ud7Gq8q4L8jAi/Zy33nFh7PwN10ZsMWvo19BUMTNzTjwGnGVjyS8TOP5PvMI+k+cxpr4DTWwGmsgYNYX3+MF9BcxVOaa+D/yfX2dqy783E/W77V++0fqgU9SA==\"}"
  },
  {
    "path": "officialworlds/bab be u/w2 (bab)/by my side.replay",
    "content": "1,1,udlr;1,0,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;-1,-1,udlr;1,1,udlr;0,-1,udlr;-1,0,udlr;-1,1,udlr;-1,1,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;0,1,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;-1,0,udlr;1,1,udlr;0,-1,udlr;-1,1,udlr;-1,0,udlr;1,1,udlr;0,-1,udlr;1,-1,udlr;-1,1,udlr;1,-1,udlr;1,1,udlr;-1,0,udlr;-1,-1,udlr;1,0,udlr;0,0,undo;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w2 (bab)/diamond.bab",
    "content": "{\"width\":18,\"version\":5,\"extra\":false,\"map\":\"eJyVl91uozAQhV8l6t1KSIvBf7TiWSIaaBotChVNlUZR3n3jmQTi1rFPLrj7BmbOGc+Ydlj0w6rpF8v6eNxt+q5+2jf9U/Zd59mmrUV2OD+fH91q0/T18ZS1m7EWpyyAFg4tkqxwbBl/7e57t3xtXidcnnGbwLuJVme6itNfE6xdJjmWtcEqLBxrMbZ0bAWJTOg51UMNvlY480qQde5JkHXuKZBNWOexCeM8FvSNYTIOVRh0ThKMWUdskUOyMeus0/fZ1Xv3b5xpZ54B31xChjArIUMUsSquxFs/rGdYxztzKo9pA4rBtI2L8YOu4nJcphCxZY61kSYYm5zMFlBnMFuCYjAtoc5gVkGdwayGOsMQayAlmLWh8WbCbAWNN2JlDo03ZgXkBrNF3A2PLXHNpMTGG8MK60uGNTbeLMEJ69wqHYcVLUi6A0ib3r37v29jt6UYXu5VOmbqakHLVeXxkGtONNCViJ+Bm9sD80U6n3bT0DQTNCdVwtmb6wx/wbkbMddXiT+h0iH+ZFM6HcFl04lWJo1fq6ZGUjYU8Ouosl/YmqzoQpY/wIp40reXN108oKCgEnUZL9EPIdV10FoTajaSXQd99fntsB7m9tRBX/2Ia91ceNDZYEpklk4Ye3vo+QNBd+9/wAQd9vn10Oybw0f/ORdughvVD7veMtgMU8CJkRkm+Fvi889/5v4wMs57NhgFrbaLRBqDWRiDwTRIDLZhLwJWGEzq2eCvyW+YpLMCgmkL2QJiaSLYEkuCtpWVEMz/c6B9xGLucQ6YecxiI/dSXPUAXN05kqeXsdt9jdvF8qXbtv8BcRpbAg==\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"limon be swiit\",\"is_overworld\":false,\"palette\":\"marshmallow\",\"name\":\"diamond\",\"height\":13,\"author\":\"oatmealine\"}"
  },
  {
    "path": "officialworlds/bab be u/w2 (bab)/diamond.replay",
    "content": "0,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;1,1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;0,-1,wasd;-1,-1,wasd;-1,0,wasd;1,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;"
  },
  {
    "path": "officialworlds/bab be u/w2 (bab)/diamonf.bab",
    "content": "{\"width\":18,\"version\":5,\"extra\":true,\"author\":\"oatmealine\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":13,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"limon be swiit\",\"is_overworld\":false,\"palette\":\"marshmallow\",\"parent_level\":\"\",\"name\":\"emerald\",\"map\":\"eJyV2NGOojAUBuBXMXO3icnSFmi7E57FMMq4ZFmZoBNnYnz3tf0rYjZyfu+8+A459G9L66ZfdP267har6nQ6tF1TvRy+Dqv17+bP8LL8qrJlu6nU8vvyY//RrNu6q07n5aYdKnVepoJj3Y1UX6jiqAlUP7ahj7cmcBV4TjURaTHfRHxw/Tby8sId3Ye9aD+vP0fsQidk154YjzEXHXPJqDGBVVQysFpoJWETsaGagM2pJmBDimwPIUJD2hBgTtqQX0FaPz+NplZn85PozipuDgHH5MgR1swKfO/6bajIY4WY32G4YS5AWC5AWC5AWC5A2BBg+diOay9qEyK03JONoqYGrJb3F+xGReSGSwQ4lxKZ4kKKZIpLKZMptlIoU+zmU7nHfj6UMcKo82w+lvSNgFXCwgq5/PoRfBm9+CFE28CGWimwObVSYAtqpcCW1EqBteRKgXbUSoHlNtFoC24TtdFyRxhY7gwDyyUHyyUHyyUHyyUHKyR3Z90T4+u5j1TEZcZ9pIAVc0zESnWxQFNRwwq7Z3j2nRc20OCHfn3z4h46ebawhcZefr4PzS6U+FhiqVeFdcShuLlxL7/phNuMelFYJb/ouIOoeFWwXKYJE6Hu+m0/qSBi3fb1sf7+6PaTMi7dhIl409RJBcRFI11LcC9x3BgBe2qPA3YZtcklrLhBAdbPzPlUY+Rx2bR1PLSqeJ1x5NURWLg83uNSnjjXL32qsNzwALtnVgpKPLVpq3gB8Nz9MWHuApmwZreP5A03LMD5/LBclxFwMX/6+K+TkhvAeFj3Vn7NXb8/tn8nNY57VWAvz4Bxsuf4T4A7FqkCWnFrO2nN9Z60oQ4xqoQWUr1qC/3ggHR+HZrD57BbrF6b3eYfDxQ+eQ==\"}"
  },
  {
    "path": "officialworlds/bab be u/w2 (bab)/diamonf.replay",
    "content": "0,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;-1,-1,udlr;1,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,1,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;-1,0,udlr;1,1,udlr;1,0,udlr;1,-1,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;-1,0,udlr;-1,-1,udlr;1,1,udlr;-1,-1,udlr;0,1,udlr;1,0,udlr;-1,1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;-1,-1,udlr;1,0,udlr;-1,-1,udlr;1,-1,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;-1,1,udlr;-1,-1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;0,-1,udlr;1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;0,1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;-1,1,udlr;0,1,udlr;-1,1,udlr;-1,-1,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;-1,0,udlr;-1,1,udlr;0,1,udlr;-1,1,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w2 (bab)/duplication.bab",
    "content": "{\"width\":11,\"version\":5,\"extra\":false,\"author\":\"Slabdrill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":12,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"duplication\",\"map\":\"eJyNlcuKg0AQRX9FshgYcOH7McFvEaM9QSJ28EEM4r+P1aXpCcy0d+fi3OJWXaurklYjy6Kx8myeh7oR2WmYhry/jc3JnjLHrqvMtZ/rR38XZV002bzYVd1l7mJv/KPQqLeiLob6hBrKko1LcXnxAfGG2sR/EO0SHUKeFRpBnhUaI57FC08Ay/ukPRKkkGuFrjaMtpUVOU5aQDGGYHEPaHTUuA80ynPxFR9AfTIbHvfZyVLzFGeAW4nNUyH8KotH8bw3vVZRshHYQArM8rfAc4BpVrIjQaAE2IIye7ChVPtbdm/lfejHYTaAN4T5EN3qUOER1CmzMbTXzCaA7VZepVakeEiReu4cyDqzLmSd2aNVfYPxRY0Vjy0qs8CitqK6CVU+URIsTmYP4tzfUYYpTw8sTEn6wB+YqiuExcjsQYy7ZYY9yDKzvtny9h4ySxHG5vYGMQ1aQDkm/wu2m8wsBZhia+PyFY+xw8xwgg1wo1PzBMnM16fmQ+fvKS7nTgxj11r5WbTVDyxlCgg=\"}"
  },
  {
    "path": "officialworlds/bab be u/w2 (bab)/duplication.replay",
    "content": "1,0,udlr;0,-1,udlr;0,1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;0,-1,udlr;1,1,udlr;0,0,undo;1,0,udlr;1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;-1,1,udlr;1,0,udlr;1,1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;-1,-1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;1,0,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;-1,-1,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,0,undo;0,0,undo;0,1,udlr;-1,-1,udlr;-1,0,udlr;1,-1,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;-1,1,udlr;-1,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;0,1,udlr;-1,-1,udlr;-1,-1,udlr;1,0,udlr;1,1,udlr;0,-1,udlr;1,1,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;0,0,undo;1,0,udlr;1,1,udlr;-1,-1,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;1,1,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;-1,-1,udlr;1,1,udlr;0,1,udlr;-1,-1,udlr;-1,-1,udlr;0,0,undo;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;-1,0,udlr;1,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;1,-1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w2 (bab)/farfishing.bab",
    "content": "{\"width\":11,\"version\":5,\"extra\":false,\"author\":\"Slabdrill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":11,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"farfishing\",\"map\":\"eJyVl9FuqzAMhl+l2sWmI3FBQiBwKp6loiVnQ0VloqlOp6rvPhKnAabN9u4/R/b/O47TDpt+ODT9ZlffbrbrTf30Ojbnp+Rap0nX1iL5qGVyfjeHrunr2z1pu7EW9ySw/5s+onJC9c+ovdqdNVcb+Wziy5/5RxrCsWpiBZPN8ZRdHnvT9zYGFFNARtboUU3X+BzhklegdGw1sSmTFSmuBlQ44wKvbz9crjPsXMy5iTgLC1I5YBUt3b7Zz3z+C/VEgcNfFXE2Vjh+mWnno2CYk3macNKd/TpEXKa4OauzpeCZA7BkmQNsRpvz1hg7ByieOwAzrVQeLnD9Qo8Aq3niAVzyxAO4Yonn2SylxTu8meM4R4hfCJJJbm8DnuG9vT5b0RfhX/+xOD1n3oXc04SXPvUwfSCAaSjAJcsjYCvco9XBKuXZA7DAJYxPTeFpyR3dgGe4HvG9AVrhHR4EATbnCQIwZ7wGH32A1jwFAS7oJlxooksGvkxGaaJnXcS5a82xO7og7YNKXPl4oYHmjQvP5sS4eGgDMDEpQJvTi50jJFFtzLz0eIb3zBda4XW6dP7+mXGiyea3EPCCSD3IWHlY47NlxZb4rVuxFWvj9WxBPN4r1jmpmCyxhC12JeCJPezRUgATHq5hhoOP/dgv9QVn5JsFr+mBeBqgSUJEiRsU/wJAV7jsa1qnvB0h0IKnZKAZ/6OlMpr7PwKauZAFOv9+ht63o7GX8bTZbc2p/QQK5bJk\"}"
  },
  {
    "path": "officialworlds/bab be u/w2 (bab)/farfishing.replay",
    "content": "-1,1,udlr;0,-1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,1,udlr;0,-1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;0,1,udlr;-1,-1,udlr;1,0,udlr;1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;-1,-1,udlr;0,1,udlr;1,-1,udlr;-1,1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,1,udlr;-1,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;-1,-1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;1,1,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,0,udlr;1,1,udlr;0,-1,udlr;-1,-1,udlr;1,0,udlr;-1,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;-1,0,udlr;1,-1,udlr;0,1,udlr;1,1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,0,undo;1,1,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;-1,1,udlr;-1,1,udlr;0,0,undo;0,1,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,0,undo;0,0,undo;0,1,udlr;-1,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;0,1,udlr;-1,-1,udlr;1,-1,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w2 (bab)/firewall.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":false,\"palette\":\"volcano\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"laav be floe\",\"is_overworld\":false,\"author\":\"Patashu\",\"parent_level\":\"\",\"name\":\"firewall\",\"map\":\"eJyVmNtu6kAMRX8F9QGdIyGUyX1a5VtQgJRGREkFQS1C/Psh48mlwR3v88bD2mTsPRfb+2ZRNbu8Wmyy260tqyJ7ab/bzTbfvqy+M29V7jO1uj5+nD+LXZlX2e2+2penTN1XEzw/NfV+EPgPgXIL3qvmMPDBg/fd/LYY6PBBB2769e9ARw86RP5bdXTsDvUrrwY04YJMWDTl4uNRzQXHo8rjQvuF7TyMQLazLwbZzroEZDvjUpDtbNO/s51tl472DY3ZRizmG7GpvIplRweG1tAqDOt77lV0/3w+XiYC5d4Y9rwS67vN/vnHmIPEhnI+msvuoxOERhBBKSE2llNCJ5XwBDopxAo+WjYyrJaXcWjyr/z6WZ0HVeC5V2P8LPfFsTyOGuFM9jYR7EM2ERtA4caGDaHjQCxwKA+Xui5GhfFUutpp65LAnE7HfW3Xkxg45XZXwLOCrVM29KD8EduZqITXsWqaY96OGh/IyvCikiQQ8jLkPTV46M7Me3naNlU78hGXHQcfc9vdwSfu3fvECwd2Fq1mPfi5Mevx3yMPyP98SZFCHdAG92EHiA9gB4hnqyAHH8EOEB+DDhCdAA48fSJFLofJRzTqgDKVX+zBFliBgj2wAh82wQqEx/ZZILy485AjwIfdqcinn0Du6Nc/E4F0R4+LoppauKanQZOAvasdgoR9fV0ChftAAh/1gfDg/86DVYWCE+NXTHmasNUVHzYJ2BLLJWCLLJcgxRNLAo0m1uCpByR2OxUoOKemxE3xe9sK8IvbCvCb2wrwq9sK0Lvb4sjl/ah5jhOJdHWPnzAFeMq2RnzMRqDZ/sglYPsjl0AoqJ8FQlU9C1mHQFaXEz6CU2qKfM32vHzAJGAbX5cgxVNKAo2nNKIJhlBpz2JWHl9t8x1or5Gq7X7uEBMeQE1FT2PtU08LDdSMjoHWYjkVJMBL3n8jIQn7Nj/nxtJCE9UP9SxuBlTA0MnSSu4uzx/X9Xo9FSGtlH0PUlKw/j5HbGnQX0sDDXLdHBoj0SQBJ46WBoeOlsbGHj4NeRXWIVvaDLDkmWZPC9OrGe1Dg82eDqBd1tMhNNzsaeHpndExNODs6YR35/52KtrLqV5s3op6/w9lb9Xt\"}"
  },
  {
    "path": "officialworlds/bab be u/w2 (bab)/firewall.replay",
    "content": "1,1,udlr;0,1,udlr;1,1,udlr;0,-1,udlr;-1,0,udlr;-1,1,udlr;-1,0,udlr;1,-1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;1,-1,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;-1,-1,udlr;0,1,udlr;-1,1,udlr;0,0,undo;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,0,undo;1,0,udlr;0,0,undo;0,0,space;1,0,udlr;0,0,space;1,0,udlr;0,0,space;1,0,udlr;0,0,space;1,0,udlr;0,0,space;1,0,udlr;0,0,space;1,0,udlr;0,0,space;1,0,udlr;0,0,space;1,0,udlr;0,0,space;1,0,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w2 (bab)/idle is a cooler name.bab",
    "content": "{\"width\":17,\"version\":5,\"extra\":false,\"author\":\"Slabdrill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":12,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"idle is a cooler name\",\"map\":\"eJyV2NFum0AQheFXiXJXyYpYYFlo5GeJiE0jFGoi26kTRXn3wp6l4NT1/r3LxTconmGWmd32N12/qbubh/XHx7HtmvXtYdffrt7Wyardrs3qffjj8NJs2rpbf3yutu1+bT5XF2g6UMNoNtCU0XygGaN2oDmjxUAto26gBaPlQB2j1UBLRk0y2ArasV4GFsz4isVLZjzOrr8Jx7fjw5nP0esga9H7IFugJMs6lGXZEmVZtmJZ9jhNWJZTjyP9Nmb5sZk56znZSNONjz7V7fHu7m6OiXTfc9M8z9heb6p9v5ltpIpn9mIVy8s/MlLF8Uc2v5r9u5lDYDE9zmAxM49BMXf90yKAlVMWlHMqjwLYSSprUXlki0vlcZef6+Ll0estXrLSCFesNLn/qiS0z8QNyp1sig4o2ex/XleF5CwnwpblxHpcxHNyqrvnOcChrMiyb6NshY5ib23C0iFsWDoKj9Pr6XisH2ebocaVzVEmZC3KhGzBMiHsWCacxyUaAmUr9Ou8LdhgIwsHG2E42JQeRwabM8tqJ8tqJwtrJwxrV3kcqd3Y1OE0l6/Qm+ytS+KfoNAl8gZN3bKRU/RUH/czztCcJ5vHj9zzh1tWG+ECjtRaLRz9CgVfsplauGJDtTaXhKU7aMPmauGUfvODz+BwLZ3DhPtZvLTxhD/19al+f+kOi7CC5V3YsbwLRz6LP7r+aaHZ1ihcRU5XTZ+HU/tzEQNP2aDp/uhH54qdswHD7VEYro/CBRpaAnboSiFgNuIEDEuZ6gaAfSknTasYOC1jJg7rGHR+PYOL7g8BkS3yy+Mje+T4+D89FEIilwJ//0dgp/z+bRlArwfEDdwpTS4e2SpfW7/GLyMia+UQcXipN80yJLJdDiF2ydluOenIRd2Y0NelZ7d1k3asDYMuWR8GzTaToFO4m0wcbifGikf2ky86YydZ0GzOnbRlOQy6YDkM2sEcBl7CHBbiFcuhtC5/sDbsqxR0yjooaFjNoHPWP0FbdOE9aXgdGzS8kA0aXskGTU9d8fxfp+7n/b45vu53Nw/3zW77GzZhQpI=\"}"
  },
  {
    "path": "officialworlds/bab be u/w2 (bab)/idle is a cooler name.replay",
    "content": "-1,0,numpad;-1,0,numpad;-1,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;0,0,undo;1,1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,-1,udlr;1,-1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;-1,1,udlr;-1,1,udlr;1,1,udlr;0,0,undo;1,0,udlr;1,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,1,udlr;1,0,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,1,udlr;-1,-1,udlr;-1,0,udlr;1,0,udlr;-1,0,udlr;-1,-1,udlr;0,1,udlr;1,0,udlr;-1,0,udlr;1,0,udlr;-1,0,udlr;1,0,udlr;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w2 (bab)/lazy.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":false,\"map\":\"eJyVmd1O40AMhV8FcbHSShU7f5lkFvVZUGhDqQgNSssCQrz7dsZOM+my8ekNV59dZ47H9ph1d9V2q7q9ult+fh62bbO8fqvb68X7Ui+26+Ofj2W12L80q23dLj+/Futtv9RfiylqImog1EbU4qg7olphbBFZjbE+sgZjy8hakXWRrTC2iGzAWJ+EUBEGWY05LhNsIMfEWsxxlWAHOSY2SierQWyUDo2hxFKC4ArLCYIl8Q7vh7u+W0WDkK6Hgj6RWA19IrFG+MQYyH19PxpY7DOPGRdpB4XCsHQDUyxNZgBeQ52KkSmxWAiugFheMz6AoaRiZxUWCsEay0JNxdFgrgm2oOtUnCwoJsFgOdWpllnhVmZZyAZRTD9vsH/8uLm5yWwqqHEwHMD4U810oKAEo4KmqulAQQmOghYo7ObPcApHPUsU9thJExylDCgs3cuBTmXWhfmze2qap5Eu1HefaL93XaAipqpZgCISDIpIMCgiwaCIBIMiEgyKSDBSXAdtTCr1RZgPZmwNxHs1H0/kjzFlv+D1BbOiN4D7Xw99sxu7lY+yzvjPa1zqKd7JBm1d/zn1Zl8Av9CMncV7mechhPqFL+cNJu3cR5UdCgcs5xNcqvmcHw6FaY0lPcHYO4RhiyU9wdJbJNOfMrIUxtppkrEN0EinN6ss52WKFpsu4yu58+Y3sQSVTRlZKSxnCNaXeDZYnSQYe2Iy7LAsILgQsuCUu4T7+dyNh73qnpuXdh+N0oFXpVwq+VYTDwuaqlIV5NK3f3ptT/4DUIofu8OhOe0CgpYtHvrterMeS1MwwgA+NaLcDNJjJhr9GOUIDuXZPzgEp4k5CP12OFSCSzkxHtpuMw60oYKbQ5pSQ5D53z/HyUwrBf+AIgMt17dNV7/VH5ze1Ba1MrLdrqOaxaEhrbfJtiVA581XMVoJnTfXWSuh7W76ep/Fgj1bGa6gNQHDASq2vBRSULGl49CCslNYmI2H42DaQkEz7KCgSZa0RZI7BMN+3jMXWIaFFjt8IdPC3HRGC0+cSdTSFmlwbYkW+usZDcrItL0oEuE+5qO5NoKOLA3Dwrw0hUsorQ3BQr2dwuECzxa7igzr+dMYDpppQUQ+DoYtpjjTDhvtCMbuIsMeWhUzDD5hCK6wZzvBWDkl2AkaDmfHNFZPqa06bCXPsHAP80FRO6GcDkEzXVxEe6zqMS00xWH0YVqoqNOPxGSkBlMIL9HpGpJt9Lw+4zBCRbsQ9MzmeSpTaX8kJwBdy0L4P8u026QFEkDzlwoXk1+7HDXYJJkWJD17tOi0PxLmZeYpdv/tMvDfaZw2Wjptj2biOceN8Awc1i4UvRcWDWf0f67p123fHF773dXdbbNb/wXT9cSJ\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"lazy\",\"height\":15,\"author\":\"Patashu\"}"
  },
  {
    "path": "officialworlds/bab be u/w2 (bab)/lazy.replay",
    "content": "1,-1,udlr;1,1,udlr;1,-1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,0,space;-1,1,udlr;-1,-1,udlr;1,1,udlr;0,0,space;-1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;0,0,space;0,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,1,udlr;-1,0,udlr;-1,-1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;-1,-1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,-1,udlr;0,-1,udlr;1,1,udlr;-1,0,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;-1,0,udlr;1,0,udlr;-1,1,udlr;-1,-1,udlr;-1,-1,udlr;-1,1,udlr;0,1,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w2 (bab)/le flog an da roc.bab",
    "content": "{\"width\":19,\"version\":5,\"extra\":false,\"map\":\"eJyVmNuK4zAMhl+lzMXCQi7ixPFhhjxLyTTZUsg2Je0wM5S++8aSJweWRn8uWnrxyZX1S7Lsutu13aFqd/vyfr+d2qZ8+azal+SrTJNTXarku8yT66U5nKq2vD+S+tSX6pFE9PZ12/fdYcSzAVfqOR+XVoHN5aXfm5HWwsrDd2CzwBaYF3lgTWAx1K47HNEioA5alVA/oBZDVTqwDmSDch5kSbYUhHMsuoZgDe2O2WJ9dyEhFryBdsisxXbIsMN2aAn2kNTEZimUQcwqKHLMZnLkuJQYz6HAMauxwDEMFp4jGKs8Zq28wXN37CYDB22RWY9t0VPTwkqQWawEmQVLUFGbzXModhHWcvAuw69+ZlJAnkfYgK5z1w9SwjDWRyOMdVKGtaDj7PRhHtMywqiYdFrpHPObYUDMY1d9Vt+X9jozAwVlGBWUaQue+XSGaofJzzDWWxkugqIZCgtzzRIOcmoUBtVkWFBzCYMaMoxqyLSkYUirP213JBNNJtIhGcdCRUND4dd9n5Ub8SbFxj1FB7ZRWApSvpoMkp5ZsM8Sqzf0ZFNAZUCRNthByZGwEMvrOigQvK7HZ1+LTTncPazCqpbhDAsxwznWaRjWW3wusH5AaWENUFpV353rMZOscEQGi+EzZqkVemrgf023GA+vTmniUnB1vvgoeHVKLJfJ/HxYc5iqNFM5vYEt1lPrf5WcWc/cZdSdlenYMTnqTuaPfXUdb97OywY/HZyyxgvn5dSS+ZoqFGrAX3+PuvoMqmu6Nvgc8KR6H3PAi28Bo+ukrZeuJYH/mJqzl0p23hm9hZoBx9BBLAfFb2gyKk030eD0E2lByp809EwDzzqLATWaBU3Nc7Nx+GBaGIVitkTYrC89a0kqPrMAxRqnFX4wSIV7SjD421V8w+Jng1So1+lGxn9Bbz8ru1g82tHjj+BP3HI0ANrw7AVBqSeD0eOtb24f/Xm3f2vO9T/L37gV\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be u them\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"le flog an da roc\",\"height\":12,\"author\":\"szoob\"}"
  },
  {
    "path": "officialworlds/bab be u/w2 (bab)/le flog an da roc.replay",
    "content": "1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;-1,1,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;0,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,1,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;-1,1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;-1,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;-1,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;-1,0,udlr;0,-1,udlr;0,0,undo;1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,0,undo;0,0,undo;1,-1,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,0,undo;-1,0,udlr;1,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;-1,1,udlr;-1,0,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w2 (bab)/mall entrance.bab",
    "content": "{\"width\":15,\"version\":5,\"extra\":false,\"map\":\"eJyV2U1u2zAQBeCrBNkV8EIU/8QGOkvgxGpqQLUKx2kSBLl7Tb6xFQqF5nX/yZBmnqghvZtuxulxO97c9x8fp/049LeP0zjubjdvfbPZ73qzee/d5vn38Ljfjv3H52a3P/bmc/NP3J5xYrE9Y9Ow2mVtWO2zblkdsrasjlkzJTFZd+v1e9g+XGk608j+7rlyXK2hDVts8JatNrhlyw3u2HqDe7bgbeGBTCx0JMsI3bFlBE9sGQtvG7aM4IYtI3irlPH0drq/XmLLJaWv61c8DDPPfV25/cwP0/Pr/td8Se4t8wjQSmvL/eCFgs/NDfSvd2QUoBMbhcJtw0YB3LBRAG/ZKIBb9o1yhTu67PCeLDt0IMsOHdmyg3ds2cETW/bCXcOWHdwoZX/djhn7gnNLV56zssp7WlnlJa2s8nZWVnk3K5ub6Jl1Bbxb/zBWP53W0/TV+kbJUoWNkqQKt0qOKmyVFFXYcRkKBXsqQ7CByhBs1Bf6ynfrOZr7DZ709eYwPU3XC0Kj5+ll1rmTHfekgWwkMNlIYLKRsWBPvbSwgbtl4MjdMnDH3XJXcKJuudioDT4V1saeCmtDj+BUsF2/5R/j9DRjRy1KsNp2pMLabqTC2mZEsMHOpaN6IjhRiz9w11Crv2BtM1JrbS9Sa20rUmttJ1JrbSNy0dj4Ba7YwJErNrCyp8zL3SWrckVan8jmBRg+Nevhzv77ty+eW1IFt2T7oS3ZfmhHth/ak+2HDmT7y3YrKd/IGisfyBorn8cKm0b5Ni60WQ/KQrfUGnjRlguJaEcNchftyUwJD2SohEcyVcI7MlbCE5kri5OchguWaMMlS3TLRUu05aIl2nHREu25aIkOXLREK2c+C62d+Sy4duZTc/XMZ8HJ4efCyfHHOHBlAFpox0VLtOeiJTpw0RKtnPMsNLedvOjERQvaKqeyC80OQsLZSUg4OwoJZ2ch4ewwhCSWUx7+SeO6zvPHdDz9nOavsylHPco1MuPgj41y2KNcMPwZju/mOm6bcuKjP0YENv/zzOXAh143yCMf+cSUQx9dd8CewvKM3LGBVC9yN43+lGMfdvAz5eDnH/rz7jicXo6Hm/u74bD7C8Gb0KY=\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"sno be fall\",\"is_overworld\":false,\"palette\":\"ocean\",\"name\":\"mall entrance\",\"height\":15,\"author\":\"oatmealine\"}"
  },
  {
    "path": "officialworlds/bab be u/w2 (bab)/mall entrance.replay",
    "content": "0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,0,udlr;0,1,udlr;1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w2 (bab)/multilevel.bab",
    "content": "{\"width\":23,\"next_level_after_win\":\"\",\"extra\":false,\"compression\":\"zlib\",\"author\":\"Patashu\",\"height\":10,\"version\":5,\"map\":\"eJyV2N1O4zAQhuFbQZyt1IM4/1nUa0GBBlRt1KBSBAhx75t6xk2dFZ53z3rwJHLm88/Uu+lmnB778eZ++/V12o/D9vb0cbp/mX8dbzcf22yz323d5nP+8foyPO77cfv1vdntj1v3vdEH3vvxQvOZup/p+d3XvJh5zt5czrRIv/nPMFx4NfMyzXfT8on1zKs0f1he3sy6TutTPy5jb2ffsM/sZtoy6rLZdmTQznMjxjUHUV5zFqVYkOX1q0GW1xxnKdwIMxo4C1IsS9LbHCT5NH76Qef+AbYkxYIgD9PztDzAohQLonyajrrU5BEQ52HY6WKWR0Ckz1P/3n++jK/LU2CZxh/O4hXL4vW2MOJVW3jLkhVrJBtZFqpYI9TIGmlG1ogxsmxZimW5iWW5eVuSDbZ/OPvSe5adWLy9Vp4X6NViS/vVYTeRB6p03vqNYut0/c4vfzvr2usGDVtsi2az2A7NZm+rDM1msQ7NZrE5ms2Ntyw+sUZ8ka3QGFpvazQGsQ0ag9gW1Vdsx8dbZ2gH6LxlK0+ssfIuva/ogrUH0kWWaBiKq/Q49ABUXLP2SnCDElHcoimvmOUnuGEBOt8CNSxBxezgUww7U8Hs6FPMzj7F7PBTDJtS3140LSud4I6VzuM2Y6UT7FjpBOegp5djRx8ocFcvvmQV9Ad9W7EKCq5ZBQU3rIKC2U6quGOTz+MuY5NPsEuXTpt55/uYLk+XLsZFunQxLtOli7HRwsS4Tpcuxk26dDFu/6d0XbptjbDLsnTjtdIO/eVwlWgjxJU2UrwcoMEbQYa316LhWlRtLMZwiKo2VuMycvXtf428Y8tXtL+9SUzC9Vgca02DZs1p0LDJaUTDLkc1bHNU1+kaLlVRD1sd1S2riuqOVaWV67KMVUW1Y4eI6pxWRX3B5orqklVFdcWq0olmfzqCZn87goZpqjbSDPunaH9lA276VLv03rzkoz5nd4OqC7SX53IpXLDVGbSxOi8jD97Yb89t2O9f1w+wBiho1gEFbdzlrAdfGkdo/PaSHaG5XmmzIzRoeoQGb9wJ/OMr1DsFbWy6q7EbDdFKGx3RShst0fo7K7ZMgzaW6UrnLP9cNLvhCZrd8QRtpLnSME3VDToqgmZbbtDsAFVdwyxVwyxV/5Dl991xOL0dDzf3d8Nh9xcUVIfi\",\"music\":\"bab be go\",\"is_overworld\":false,\"level_number\":0,\"level_sprite\":\"\",\"name\":\"multilevel\",\"palette\":\"default\"}"
  },
  {
    "path": "officialworlds/bab be u/w2 (bab)/multilevel.replay",
    "content": "0,-1,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,-1,wasd;0,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;-1,-1,wasd;0,-1,wasd;-1,-1,wasd;1,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;-1,1,wasd;-1,0,wasd;0,-1,wasd;-1,-1,wasd;1,0,wasd;-1,0,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;-1,1,wasd;-1,0,wasd;1,-1,wasd;1,0,wasd;1,-1,wasd;1,0,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,-1,wasd;0,-1,wasd;1,1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;1,-1,wasd;-1,-1,wasd;-1,-1,wasd;1,-1,wasd;0,1,wasd;-1,0,wasd;1,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;-1,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;0,-1,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;1,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;-1,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;"
  },
  {
    "path": "officialworlds/bab be u/w2 (bab)/multilevez.bab",
    "content": "{\"width\":23,\"next_level_after_win\":\"\",\"extra\":true,\"compression\":\"zlib\",\"author\":\"Patashu\",\"height\":10,\"version\":5,\"map\":\"eJyV2N1O4zAQhuFbQZyt1IM4/1nUa0GBBlRt1KBSBAhx75t6xk2dFZ53z3rwJHLm88/Uu+lmnB778eZ++/V12o/D9vb0cbp/mX8dbzcf22yz323d5nP+8foyPO77cfv1vdntj1v3vdEH3vvxQvOZup/p+d3XvJh5zt5czrRIv/nPMFx4NfMyzXfT8on1zKs0f1he3sy6TutTPy5jb2ffsM/sZtoy6rLZdmTQznMjxjUHUV5zFqVYkOX1q0GW1xxnKdwIMxo4C1IsS9LbHCT5NH76Qef+AbYkxYIgD9PztDzAohQLonyajrrU5BEQ52HY6WKWR0Ckz1P/3n++jK/LU2CZxh/O4hXL4vW2MOJVW3jLkhVrJBtZFqpYI9TIGmlG1ogxsmxZimW5iWW5eVuSDbZ/OPvSe5adWLy9Vp4X6NViS/vVYTeRB6p03vqNYut0/c4vfzvr2usGDVtsi2az2A7NZm+rDM1msQ7NZrE5ms2Ntyw+sUZ8ka3QGFpvazQGsQ0ag9gW1Vdsx8dbZ2gH6LxlK0+ssfIuva/ogrUH0kWWaBiKq/Q49ABUXLP2SnCDElHcoimvmOUnuGEBOt8CNSxBxezgUww7U8Hs6FPMzj7F7PBTDJtS3140LSud4I6VzuM2Y6UT7FjpBOegp5djRx8ocFcvvmQV9Ad9W7EKCq5ZBQU3rIKC2U6quGOTz+MuY5NPsEuXTpt55/uYLk+XLsZFunQxLtOli7HRwsS4Tpcuxk26dDFu/6d0XbptjbDLsnTjtdIO/eVwlWgjxJU2UrwcoMEbQYa316LhWlRtLMZwiKo2VuMycvXtf428Y8tXtL+9SUzC9Vgca02DZs1p0LDJaUTDLkc1bHNU1+kaLlVRD1sd1S2riuqOVaWV67KMVUW1Y4eI6pxWRX3B5orqklVFdcWq0olmfzqCZn87goZpqjbSDPunaH9lA276VLv03rzkoz5nd4OqC7SX53IpXLDVGbSxOi8jD97Yb89t2O9f1w+wBiho1gEFbdzlrAdfGkdo/PaSHaG5XmmzIzRoeoQGb9wJ/OMrVnXVxqa70kZDtNJGR7TSRku0/s6KLdOgjWW60jnLPxfNbniCZnc8QcM0VcM0VTfoqAiabblBswNUdQ2zVA2zVP1Dlt93x+H0djzc3N8Nh91fEViH4Q==\",\"music\":\"bab be go\",\"is_overworld\":false,\"level_number\":0,\"level_sprite\":\"\",\"name\":\"innerlevel\",\"palette\":\"default\"}"
  },
  {
    "path": "officialworlds/bab be u/w2 (bab)/multilevez.replay",
    "content": "-1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,-1,wasd;0,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;0,-1,wasd;-1,-1,wasd;-1,-1,wasd;1,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;-1,1,wasd;-1,0,wasd;0,-1,wasd;-1,-1,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;1,0,wasd;1,-1,wasd;1,-1,wasd;1,0,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;1,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;-1,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;0,-1,wasd;-1,-1,wasd;0,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;-1,0,wasd;-1,1,wasd;-1,0,wasd;-1,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;0,1,wasd;1,0,wasd;-1,1,wasd;1,1,wasd;-1,1,wasd;-1,0,wasd;-1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;1,0,wasd;1,0,wasd;-1,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,1,wasd;-1,-1,wasd;1,0,wasd;1,0,wasd;1,1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;"
  },
  {
    "path": "officialworlds/bab be u/w2 (bab)/n'tn't.bab",
    "content": "{\"width\":10,\"version\":5,\"extra\":false,\"palette\":\"default\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":10,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"author\":\"Slabdrill\",\"parent_level\":\"\",\"name\":\"n'tn't\",\"map\":\"eJyN0d0KgyAYBuBbiU7GwIMss1p4LWEpIxALM1ZE9760VtvBsvPn/X5Z44mmosIryDTpWnDi60EXmg/aBwMJQM0IBCPJQNfyqqaCTDNgtSJwBl/+cTcaGh0uGp1rqhrJ9kDkLl/SUt7sQKFJoCURnifkoeNF43P9Wdd6fGkewyPDE/e+Jd+mt4H0Qn1uNDI6c5d/NvRFx1Z0ewgG7h7rhWLLobvJ+mFs+YUXbxdKrI/c/9pPtCaQ+2c/HeLzfTebWouvPOzgifuUvdGZ1X+eO+eK615Jr8i5ZG/6bCuc\"}"
  },
  {
    "path": "officialworlds/bab be u/w2 (bab)/n'tn't.replay",
    "content": "0,-1,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;1,1,udlr;0,0,undo;0,1,udlr;1,-1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;-1,-1,udlr;0,0,undo;-1,0,udlr;0,-1,udlr;1,0,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;0,-1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;0,-1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;0,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;0,1,udlr;-1,0,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;-1,1,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w2 (bab)/overruled 2.bab",
    "content": "{\"width\":8,\"version\":5,\"extra\":true,\"palette\":\"variant\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":5,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"author\":\"Slabdrill\",\"parent_level\":\"\",\"name\":\"overruled 2\",\"map\":\"eJyN0U0KgzAQhuGriLtCFsbEn1ZyFlGTRSBosRGU4N0bM8V2UcwsdPUQXr6RU2KmoTNJK5yz2iiR2tW2fdenZBWUaOl/m/9eTzXozgi3E6lnQXfyy9Wpc6/zaz3aUzOv2bVeTsw95pEQ6GYHL+Il0B10iSwJuLou+VTwg9aICuDFwe+eZ5jooGkWvw2sDZxijwM8R24CmsXPA4+XgXP0MFXwBXYZ4CV2GeBVvOZx+/L6/zJ7Myu7zGPSNmqUb0IlIe0=\"}"
  },
  {
    "path": "officialworlds/bab be u/w2 (bab)/overruled 2.replay",
    "content": "-1,-1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;1,0,udlr;-1,-1,udlr;1,-1,udlr;0,-1,udlr;-1,1,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,-1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;1,-1,udlr;-1,-1,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;1,-1,udlr;1,0,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;0,0,undo;0,-1,udlr;-1,1,udlr;-1,0,udlr;1,0,udlr;0,1,udlr;-1,1,udlr;1,1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;0,0,undo;-1,-1,udlr;1,0,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;1,1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;-1,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,-1,udlr;1,1,udlr;-1,0,udlr;-1,-1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;0,1,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w2 (bab)/overruled.bab",
    "content": "{\"width\":10,\"version\":5,\"extra\":false,\"palette\":\"variant\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":5,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"author\":\"Slabdrill\",\"parent_level\":\"\",\"name\":\"overruled\",\"map\":\"eJyN0c0KhCAUBeBXiXYDLjL7nfBZotKFIDU0BkX07mPecGYx5F3o6kOO54gp0tPQ6ajl+26Uljw2q2n7ro/JyilRwl6bPe+XHFSn+X4QoWZOD/LLpdep1em9Ho3XzGp2rxePM4uzQBDIzU6eY3M7XYRzLx6X97GvFPlJq/C7Fy9OXlueYEI7TZPwH6Ft4BQ7DvAUuQ5ohp6ndD7D7lM5nqOLrJ0vsE0CL7FNAkfM+nx8ef2/yaOZpVnmMWobOYoPCc8x/A==\"}"
  },
  {
    "path": "officialworlds/bab be u/w2 (bab)/overruled.replay",
    "content": "-1,1,udlr;-1,1,udlr;0,-1,udlr;-1,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,1,udlr;1,1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;1,0,udlr;0,1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,-1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;1,0,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w2 (bab)/peekaboo.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":false,\"author\":\"oatmealine\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"gras be mov\",\"is_overworld\":false,\"palette\":\"autumn\",\"parent_level\":\"\",\"name\":\"peekaboo\",\"map\":\"eJyV191O4zAQBeBXqbhYLVIu4vzYCSjPUqVt6FYbahSCoKr67mv7tKS+wHP2jotvrMRnJh12djXabT+u1t35PB/GoXuYv+b1ZLcP2VeXZ4ddp7KT++P9bdge+rE7X7LdYerUJfuBF46rNN8MXiuvS/nwO12lz/7sx29aO1pxVDtac9Q4qjnaOGo42jracFTlzrak9cmpxO1GOORGXq7ysbkKDofUSqqDilBQy03x9HvhmuoKWEO1BWxDPHc/TdZXlKHCB5kouJ4ebJGnn+TuUuBVup+WSQEv0j3l+d72n/3pbXxfqkqqu2CZWDf9xhdUoYCIFW8ArqnLhBVijR6joWYYtiXecbT2bz/7mjp80XL5Nff29eSufqlR1LvCFlQLw5bCF+AuIxRU3GAD18TtvIx27yt0qNDpu7meDmuoO4Ft0ndym1LgNv29j3CVp7slxsKMxliY0BhzgwlbMaEPi6+5zIE1M/XhcBO8oRKHbdKJ31oJuE1Hfv12BlsLIUZWyDCyQoSR5RKEZRL8WDgZIDAT4NOj903wXICwQoCRFfK7tzqnNjRYxQ0scEEtabAltaXBVlTYsDW3pQFrbksDNlxfADPbzm0C21AhrK2+4Ne3NsLi6vX1eeCl5XX50MBL+6v3R7u3SwW5xAL/x7aj8K8Cve6osG4a4bfRezvNf8ILqLCCmR9m8/I8DfPHdFytn4fj7h9Q75ww\"}"
  },
  {
    "path": "officialworlds/bab be u/w2 (bab)/peekaboo.replay",
    "content": "-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;"
  },
  {
    "path": "officialworlds/bab be u/w2 (bab)/point&click.bab",
    "content": "{\"width\":17,\"version\":5,\"extra\":false,\"map\":\"eJyNlE1uwyAQRq8SZdVKXgT8m0Y+i0VsZKNMwcKgJo1y94Lj2qhyPF2we+8TzAzTqB2omsGuKu93I4CXe6P5PrqWNBJNSaKbO0PPa8GgvD+iRuiSPKIJ7ZicUerQ9DV6tr1HY4/GDi1eo+Zqqik58Xiynezx83jl1NPpNq2Y8Wjm0cyh8XawneEcv4XSTLZeKLxQ4K88A7czf8T5GwdQs0AOuDFcLCwCwQXNebMIFBd6q/tF+Edr6xtnUi5KgiuttoGQ4sLHu8ePI55tz/CIvy14vo1bUdUgLp539fdCgQ9GqwLe9zl7zf927EnTwzbt00EACwyCG50yhgcK3VaY1sEDqO9x/pfOwwpp0XbGlakO6kT/0ef57WQ0Uvx/TmtlEpAP/cXC9BxPr9Un72EIpAKXjNsC34FyxBU57iTyXI4HfJ4Gw8F0gUNwR6ppCsedGtO1Ji5GrQCaAF/t+donmvgEiQd1CegUT59n8GlkuDEA7wMjXzceJ82N1XJXnbhsfgDNvF/O\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"point&click\",\"height\":11,\"author\":\"vitellary\"}"
  },
  {
    "path": "officialworlds/bab be u/w2 (bab)/point&click.replay",
    "content": "0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,0,undo;0,0,undo;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,0,undo;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;"
  },
  {
    "path": "officialworlds/bab be u/w2 (bab)/roguen't floor 2.bab",
    "content": "{\"width\":14,\"next_level_after_win\":\"\",\"extra\":true,\"compression\":\"zlib\",\"author\":\"Patashu\",\"height\":15,\"version\":5,\"map\":\"eJyN2Mlu2zAUheFXCbIoWsALUbMa+FkMD4phRLACD0gCw+9eiYeMaLQV/10WHw2F5/KKurv+qeu36+5ptbzdLoeuXT5/rLvnxecyWRx2S7P4Gv44v7fbw7pb3u6L3eG0NPfFP2g6UMNoNtCU0XygGaPFQHNGy4EWjFYDLRmtB1ox2gy0ZtQkg22gHfMyMDBjE4ORmTEzA0MzY2oGxmbG3Ew8OGNxOV+Qm/VmshUqM9kaxSzboJytTRMUtKxBQcumbNNSi7P5Tbt8Xlbnt2uwgJ062QLtnGyJdk62QjsnW6Odk23YzmW2USXxndu0Ezfz+zby42Xi6XzH8pkIZ2ifZfP5/QgD14KCtQLhku1gbnEV38HfPydez++gf2rhBm2JtXmki05JipvIhpz67YRT1huFM7Z7hcU5ev/KRg7i+B++9qddf5qWlCx24Yo9eGlxjR5clsVobZGgDiJrUAeRhf20sjjSTx9sjq5FsgV6YcmWqEXLVuhmJFujq5FsJLjXrt9/45IlJ8uSk03nD7ard9mMXY+Ec3Y4hAvWAoRLdj0ShseutpgdO9lmvjLDl4RdUCXz5Tm1UHHwMlTnF4+8DMNHrzJUpLJ5vC26GpEvUJ3KlqhOZWGOjcWRHMeHfvCRLENbgxh97loQCfLhxyMp2hrRHV2eJSkLklT9ibMgZSNBjj/t3vjyFesNwjX8wNFHZEOvnPJNEj/GvhG7FYaeY+dTcJB/BT4DNRD+fo5qwGFwyzn2+z5YwT46HI58dfz17DUrBKfht4fRd2YCvj6+/1e3xKBG4HXKW4FfkqFm4HUeL4Vr6AtWCk6X8Vr4EfqKVYLTNe4JfkUDi0HcDnZINaTibBbndWQcFz69WxGZygWl7xZEpgTjgn2//lh/vXfncB0b1HnNZnVeR8Z19si0u7f24R9hgzuv2ezO6ZSGnInDkJ1mM1ev2djVazYD8hpm6jTM1Gk2gvUahuk0DFM6Y6NYr+Ew1nM4jvUcDmQ9hyNZz/83lL2/nNrL9XR8Wr20x90fY1L5OQ==\",\"music\":\"bab be go\",\"is_overworld\":false,\"level_number\":0,\"level_sprite\":\"\",\"name\":\"roguen't floor 2\",\"palette\":\"default\"}"
  },
  {
    "path": "officialworlds/bab be u/w2 (bab)/roguen't floor 2.replay",
    "content": "1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;0,1,udlr;1,0,udlr;-1,0,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;1,0,udlr;1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,-1,udlr;-1,0,udlr;-1,-1,udlr;1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;0,0,space;"
  },
  {
    "path": "officialworlds/bab be u/w2 (bab)/roguen't.bab",
    "content": "{\"width\":14,\"next_level_after_win\":\"\",\"extra\":false,\"compression\":\"zlib\",\"author\":\"Patashu\",\"height\":15,\"version\":5,\"map\":\"eJyN2M1O4zAYheFbQSxGjNRFnB8nBvVaUKEZVFE1qBQBQtz7JD5fpklnJn53LB6j1uf0S+xtd7XvHjf7q/v119dpt2/X1++b/fXqY52tdtu1W332f7y+tI+7zX799b3a7o5r9736B8176hgtepozWva0YLTqacmo72nFaN1Tz2jT05rR0NOGUZf1NkA75OVgYC4mBiNzQ2YOhuaG1ByMzQ25uXRwLmKPCilbo0bKNqiSsgF1Mto8Q6WUdaiVsjmqpWyBeilbomLKVqiYsp4VU7hmxRRuWDGFAytmxEXGiplHzCalbGJUPmwezpbNStkSlUK2QqWQ9agUsjUqhWzDNriIOKANjrbMljf49HG6f31+myxwyz/pOWa/PdlieTv+/iQl674wHJ1lxGx0yiZG5/CxH9ozb5a3b+CH05mH5aE4bkjEVYZ2W9ald3vysavUA/DYPZ4xfAAKlyyYKuIKBSPr08Hc3px5jR5Vss3yRg//+ld33HbH85LAyhqxh+PUR8zGqSx785QtUJtkSzQiZSs0ImU924g64hpthGyDNkI2oOdKtHWGWiTr0AuPbI5eeGRZcLIsOFkWnKxfHi/205Ct2QuPcMN+R8KBDaKIm4y98Ag7Vswm4hwVU7bgz2MtKJfbeR7k4lX6+aOpKO5RR2Vr1FFZMEGtI/IB9TTakKGeysIcQ8SJHIcPPfOJLGc2EePMJjKc2USAsR56iZZnIcqCEFU9cZZh0Ek+EeLwv+2dwxY4NhhM5/AkbfcKRTp5fdNxQckO1KYrdqQ27dmh2nQNCjD76A07W5sO6Q4cuqdusiTe0oBDtmmXLsLs89O7mpEXsAm60Ij3NYkm/Pm+tqRiXTDtWRdMs7fWUTfpLrxNfWBVkM4Tx4/hv/+Yesd6YDpP9+D253RBAXtgHJ5DXC7OTiKjBmcRm2bjipo+1scF4GD51G3eN58v+9fpusQJc/5F4kUPaIRpB4ZDu31up18kXvmAWpgu2C2caRpyIQ5DNp0I+UInAr7QiXQvNMxUuoSZmk5keqFhmKZhmKZLdqlquoLXqsY9nB7Ga3i1aryBl6vGw39q+313bE9vx8PV/V172P4GRsK9Uw==\",\"music\":\"bab be go\",\"is_overworld\":false,\"level_number\":0,\"level_sprite\":\"\",\"name\":\"roguen't\",\"palette\":\"default\"}"
  },
  {
    "path": "officialworlds/bab be u/w2 (bab)/roguen't.replay",
    "content": "1,0,udlr;1,0,udlr;0,1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;0,-1,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;0,0,undo;1,-1,udlr;1,0,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;0,1,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w2 (bab)/safety with fren.bab",
    "content": "{\"width\":20,\"version\":5,\"extra\":false,\"map\":\"eJyVmdtum0AQhl8lykWlSr5gDyxLI54lIja1SClE2G5iRXn3wswaTJj1jC9y9+162H/O2XUPTbctm4fn4vPzWDdV8Xj4c2oeNx+F3tS7Qm3Ohd0c3qptXTbF59dmV/eF+toE9nh6KSdWD6ziWTOyRsbakbUy1o1sOrApz6pkhJ3sYqVGOBPC8BSegk0EzgdYS+HB8vPwelKa1C9Ka+r11nQGsFBClQJtKbMJGlRUKUN/HJ9f69fxgAd+VDK/zb9UI54DnvH4aXYT5Xm877bz9aOg/ja/78r38vzWHKZTehR2+EH+iSAotLrHD7SmTIrShvpggkZL7F13j9IqQWwgDSG6Co5IUtGZkEa7vZAGl9S5kIbgMImQBvc1SkiDoxgtpNF7jZHikOaMleKYx1MpDmnASPXEPGCkgip8damiCp+dlnTtimC6lUqKtlgyPmPRbPU9EWeNMKsjbZmsPqSj3023n0W1KVORpnSKqlrH8+1xltVmPP/r59VbemGFBFltLiy+QKfSeoq0tJ4iLayngR5VdWJ6VDUT06kwRyNNltMonZGFK4p7YQFAX0xJNWNx5JJ7mhKnhDR4rRP2t+izjmuP6mb+SGcpB1/DaDUZnWsYjSZDcw2jzWRcxtKnE0YlGi0MSjA6k6oImmdK6n+Ia87/5uyD1hju/jkd4gGuIbpOuHgilYU+qJQ52YwDImWZrAwh7O+5WRqYOBDR1TMmkqc7oohz+XvmFm/42SKoCf2TJ2MzpXszzw0ui9bMO96UH7PhXHQO9GV2B6/yZIAuDwx/s/HkIBrpQnMuRkcn76u2qQ6Ty+RK9gMgaq75JuHQltvt9L05qezyRPWv6s9qPmKZer44gh+R8kfQf0C13Mk6BvxmMlpjsJfdjHLld8AqSfiWcd+11Tw2qISZR9/LYz/Ht0r07fZlwg3iRoiHHYm0OQq4MP1ejHEUHitPKsmY2687AZWQOXj59KdrPuf5kM7wALtAWpjDLpCWtOYjMAwC4QA3ycwH8DEVmY3X9gSaG2SWwsIa6cbi5lK0A83k40suDjQZrWs6GE6GK+FiuLYjczHxmUiTWThKc5IuaelkijQ3mS5paZQi7YQpAOlMOB8hTS4Eo3Qu7U9xrZpI5yPE2U5pCKEpPeIuFjZIt7zrW0OrDCnr8kDbHd7rv/MwoQxZW1ejR/gFsqqu4HAzWVNXMK6GYYfEwyEFGG7Xu6RpaWO4paX91pEtcxLskUSr7csBzdkEYu276zOGM2xZMGGldMulwzo83J7KaEx9sEwS0OHfCtzyIfybINzt6QT/9dRXx1PfPjw/Ve3uP/vw6q4=\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"safety with fren\",\"height\":14,\"author\":\"Slabdrill\"}"
  },
  {
    "path": "officialworlds/bab be u/w2 (bab)/safety with fren.replay",
    "content": "1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;-1,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,-1,udlr;1,1,udlr;1,-1,udlr;0,-1,udlr;-1,0,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;1,0,udlr;0,1,udlr;1,-1,udlr;0,1,udlr;1,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;0,-1,udlr;1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;1,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,1,udlr;-1,-1,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;-1,1,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;-1,1,udlr;0,1,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,1,udlr;1,-1,udlr;-1,-1,udlr;1,1,udlr;1,0,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,-1,udlr;0,-1,udlr;-1,1,udlr;0,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;1,-1,udlr;-1,-1,udlr;0,-1,udlr;-1,-1,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w2 (bab)/suffix.bab",
    "content": "{\"width\":11,\"version\":5,\"extra\":false,\"palette\":\"default\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":11,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"author\":\"Slabdrill\",\"parent_level\":\"\",\"name\":\"suffix\",\"map\":\"eJyV1sGOgjAQBuBXMd424UBpS2ENz2JQui6brhjFrMb47ls6LNCDM7M3Dl9b8k+nbdOtXLev3WpbPR5962y17m/9dlfv1smtSpO2qURy9x+Xk923tasez6Rpz5V4Ji945rkg/LEfuBi4ZMxuJ60YkwPPBq7xyb/q1k029zZ7bQ+uvkzWeCuZtvBWMW3prWZaH8Pd/zQTD0U0zCTEUMICD/k6a8kpeHfohhEyjFB4WX5qN1uNl6VvFzbHyxJZg5clsgVelsiWeFWWNkvxonza5jBjgRdlDE0Fm7FCAyvx0MbWBquI0KbWBq5ZuYHNeVkANqwsdLAFKwuwJbGB5qMueJnSecBpBFwQeSwaBQZkrM0EVvICBKzwAD9ct8CaaPAx7jxg4hgdfxkscYzO2wk4rw3Blrw0AlYpfd6Nk5vgiRtxzAMsrxXBEq0YWaoVl5bXh2Bz1pYDa3ghAy7okKFXisBL3tUdsE7xkL9tv8ACTznGGR5zjCWec4wVHnSMNe/6BpzTSf81OAww7CdbGXzBfbMBL//xQBDhDZmn9ArvbwsvXizx3Jxtfz0fV9uNPTa//lShVQ==\"}"
  },
  {
    "path": "officialworlds/bab be u/w2 (bab)/suffix.replay",
    "content": "1,0,udlr;-1,0,udlr;-1,1,udlr;0,1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;1,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w2 (bab)/txt.bab",
    "content": "{\"width\":13,\"next_level_after_win\":\"\",\"extra\":false,\"compression\":\"zlib\",\"author\":\"vitellary\",\"height\":10,\"version\":5,\"map\":\"eJyN0UsOgjAQBuCrEHYmXTCAIJKehRQ6miYFTC0JSri7bRXiBspuFt8/mQfvA9k3TAYVnSYtJNJQj7qqWR2SkUZEcArkZYrnAxvBJJ1mwoWiMJM/3iK2q4+Nz/d9jVaD1Ym/u8ZRrz71dx8sji0+7zf/beloZmh6ZGqnc/8UWrHubQOJDVz2A8sBM2sL/yg32d9XD5EJFNuBBcP3nXB0U3AHh9j/oevJeXca2PjoXCrUg+qCqsSOfwDRU9Us\",\"music\":\"bab be u them\",\"is_overworld\":false,\"level_number\":0,\"level_sprite\":\"\",\"name\":\"txt\",\"palette\":\"factory\"}"
  },
  {
    "path": "officialworlds/bab be u/w2 (bab)/txt.replay",
    "content": "-1,1,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,1,wasd;-1,-1,wasd;-1,0,wasd;1,1,wasd;1,1,wasd;-1,-1,wasd;0,1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;1,0,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;1,0,wasd;0,0,undo;1,-1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;"
  },
  {
    "path": "officialworlds/bab be u/w3 (mine)/across the board.bab",
    "content": "{\"width\":11,\"version\":5,\"extra\":false,\"map\":\"eJyV09tqhDAQBuBXkb1qIRcm8dglzyJRQ5ENpqhLt4jvXme0rkI7sfffDJn5J7ULrKu0DQo1jkNjjboMj6H41PbCHipkTa04+1IJ6z9M1WirxonVTaf4xHa8cxVwDlzMXNK8122/eUm3X1sLoNFM+d+01OVG45lG9Ctuxtw2n/iHLA1oCTr1z7jTmb93694d+Ah8Tvs1mxizCemVHCwEKU5aT4oHK+ldHyxEGNO7WH2CHnIMz11TigWJv+An+AwLUn/B28uTZ/QSMfrlDhefnz0V5CL03+39qbl/m0vzHLk4Meorfkz8+ELSfh+siP5h498PfLp2Zrh3bVBcTVt/A0rpisk=\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"across the board\",\"height\":7,\"author\":\"Slabdrill\"}"
  },
  {
    "path": "officialworlds/bab be u/w3 (mine)/across the board.replay",
    "content": "0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;-1,1,udlr;-1,0,udlr;0,1,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;1,1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;1,0,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,0,undo;-1,0,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;0,-1,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w3 (mine)/corection.bab",
    "content": "{\"width\":14,\"version\":5,\"extra\":false,\"author\":\"vitellary\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":11,\"next_level\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"is_overworld\":false,\"palette\":\"default\",\"music\":\"bab be go\",\"name\":\"corection\",\"map\":\"eJyN199umzAUBvBXiXoxaRIXgI1tVvEsES1WhorCRMiaKMq7F/tzAl0y/N3/DoLzxz40/abr3+tus60ul7HtbPXyWXcvyalKk7apsuRcieTwx763dVddrknTDlV2TZ7QfKKSo2KiBUflRBVHi4lqjqqJGo7qiZYcNRPN0v/b8TRug8+cL52PPtrT6bHnKcOcjRTNvcZb/Tb7fD3H3tuZi/U8O36ctaRSDVsQCcSb5N4rKoGwmkogLFPIfb/rXYTwEVwpvc25UsISpRztaZwDuCmEjYxh6BFYroywsTIGLD1WRLPamWvq+2ANdczAlvEZqId+39wjREplBDbjMlJ4nMczcms+BHDHKazk3kR57ArJWm4WYblZhDXUDQRbUonwVqbEjP+2zc5FaB+RrWdj7lTwfD0hj88X61lxAT9mLam8wBbUoMNyVyOs5prJeGyoZoLljlNvC+44heXWGVjuJIWNTOCtzsCRleZeZ+iCqges4upReqypHMMaKsewkZN0aVVsCG/bAZa2bP2NDx/Hpc7X3/lWk6AF1RkBS6o1Ao4M33es4r3xeRyaRYSmtt6ADbeMAZdPiyMetN/dNLmgAnNzGHBkEF1O7qVHBHchBhwZx38ezf1kBBybx8Vm7RdPreNX/6+fC2/iqdm1fxcB3A0JbFJqkgPOuNYCzp/9VD12FrBgburajoePM3Lpt1AjuU8FLrhPBVZcDwDr53m5vg52PA77zfbV7psvmJ8gug==\"}"
  },
  {
    "path": "officialworlds/bab be u/w3 (mine)/corection.replay",
    "content": "-1,1,numpad;-1,0,numpad;-1,-1,numpad;-1,-1,numpad;-1,0,numpad;0,-1,numpad;0,-1,numpad;1,1,numpad;1,1,numpad;1,-1,numpad;0,-1,numpad;1,1,numpad;1,1,numpad;1,0,numpad;1,0,numpad;1,-1,numpad;1,1,numpad;1,0,numpad;1,0,numpad;1,0,numpad;0,-1,numpad;-1,0,numpad;-1,0,numpad;-1,1,numpad;-1,1,numpad;0,-1,numpad;-1,-1,numpad;1,-1,numpad;-1,0,numpad;-1,0,numpad;-1,0,numpad;-1,0,numpad;-1,0,numpad;-1,0,numpad;-1,0,numpad;0,-1,numpad;-1,1,numpad;0,-1,numpad;0,-1,numpad;0,-1,numpad;1,1,numpad;1,0,numpad;1,0,numpad;1,-1,numpad;0,-1,numpad;0,-1,numpad;1,-1,numpad;1,-1,numpad;1,1,numpad;"
  },
  {
    "path": "officialworlds/bab be u/w3 (mine)/furtherer fields.bab",
    "content": "{\"width\":25,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":16,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"ruins\",\"parent_level\":\"\",\"name\":\"furtherer fields\",\"map\":\"eJyVmdFu2zAMRX+l6MOwAXmIbcmWW+RbiqzxuqBGPKQp1qLov88SpcRiXN+7l6IPhy5FUtQluxtu+uFx2988bD4+Tvu+29yOP29Xb5v1ar/bFKv38ZeXP93jfttvPj5Xu/1xU3yuZtByRAsOrUa01KidRc2IVhxqvQOks7VnSW8bz5LuOs9e+Xv13cKzLRXbgI7HYoJbBtbnrFlg304P713fD96iChY+dQZ+XVifu5pkzZwnV4ET1mfPkd8N2bMQNgFuQOjGcJy6t9PFwFHRELYFsZ6wZcgh+eGyQEcc3f7Zed4GnkuhsBXniMCGcOTvtn/2FnWwsMuuPHfdBK6pAArbcGl3AXY47ckTMWhBYZ8DHvBqjW/Z64UuqOoWtuR6UxvgimoiwhqqiQhr51r0F2zNNV6Bm/85nZttvdc9Ul6VljqfwGZNHTDCxdwr9BWM8vd03L4EPLR2AzKoaJBDRYMsKrpePqWim+VrrmifyYWrq2hwF3PagquoaHAVFe2T2dJ0BW6Cws1/VYq14DYovAZaROENeBUU7kAzPuNBlFggdnK6BnJH0QVZ5UKXZJULXZFVLrQhq1xoS1a50OClVHRDVrnQjqxyoVu2ygPerNkqF7xgq1zwkq1ywZH2UTijfn71w1MwCYKpQbf0jAdR08DH86w7osH8OJIb3P0IBk0wQI/oqN4mdAsClNFuDeKT6KBsHJgmcxjMkzkMJe1E7kUTUtgGi6BGnOXcF7jmx45o0Sw3D29xrk6xcMsNJHcIjCoZ3MJZ5VKVYsDPK2VQSW1JBTPCFVULEQZN+MoT0Ibzj9dEYIbj6fcwsYFzy2hzGJ7ERFYDjouOwEj3TkqtjOsEpH4vMYoGSAHP/A00ko4m36Z8hfN2931qYPDEdsg8stQVSDTSTwpH+knhSD8lXHY6a6CfchqtixQN9JOigX5SNNBPigZXV9HkxY002jRM9hjJBIgo9QfIdzbhLbcqjDi7PUo47McRjwtA0I0VDdqxog01aSfaUqN2omtq7ZVo9MLmNPe6Jpp7XiMdtkdL+6Bzb4x8sSzQ1ddLbm2S8IqsxIgbshIjbslKlIVqWCYRlRhptNzNacdVYqRbrhKFDvskIiiRLrhKjHQJHrqcrrhKjLThelyk7XIdnreeiUfTjfo8nG3yk5L/bUk4Gm1y3H4123zeH7vT6/Fw83DfHXb/AFar6q4=\"}"
  },
  {
    "path": "officialworlds/bab be u/w3 (mine)/furtherer fields.replay",
    "content": "0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,0,undo;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,0,undo;-1,0,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,1,udlr;0,1,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w3 (mine)/ise climers.bab",
    "content": "{\"width\":15,\"version\":5,\"extra\":true,\"author\":\"szoob\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":17,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"sno be fall\",\"is_overworld\":false,\"palette\":\"mountain\",\"parent_level\":\"\",\"name\":\"ise climers\",\"map\":\"eJyVmN1u4jAQhV+l6kWllVAVx7GdbMWzoABpFzUiCFLRLuLdN/E4f2Qcn+1VL74Z2XPOmMnsq6ey2uXl02Z9u9WHslg/19/15r2sPp5X3+toddivxeqn+edyKnaHvFzf7qv94bxW95Xjr3nZo3GDikdU9GibeozLBo+xzEmDyuXM52rX46rBEyyzblCFoaZBs+VDbIuyrPuAtK3H7IaCTZ617MIVx6yIWnh2QQ/cCigWrtie+++lqrZDiLQn18sx26INEDYg5kwyOw+xMuySceoEcgmxKmyTcWoN2YRYs+yTx9RtAVOwINmyr8ZsHLE24c8cC8wmBMeATV4GXLIOmdb696+Wjy2fQM8IsSrskGP1UQ0BGvIIsSbskY8qv+Y/p/IyRKWQVYjNoCfFsjKCtCdWYNoTjMh5yut8iAgp6tJLC2NyEhuQc8JiShILKPky0JiCxGIKWjbBFCQWVJBgREF6cohHOvL9XBzLwvo6sUGsjrPTEwu0ZV1810NAQMzhAoSzek7xP3lRXz5/RkGYrMRislpWYbISi/zCdg8WRcSAVta7yuISUonYBOo2YhXUbcTqZXUmrIFEITaFRCHWDkmzy/GwjlhVfDXWApDkmh/q19fXNkjbIGzuITYw9/SjI9Hs2OOl2cHH+Gh27vHS7OTjpVs5Z1X00q2gBqVNxA1VXlpwHeylbUfOpDSslEayPuR1NwnwOozfNYpSgB37qd3QYG2gH2ULGw26kWiz7MZJZrahPSzf0Dychhp6AiPtvDsXub1kakOwZiYWbWaiA808yayg8hGrsfIRbP5jIqQI/iuQ/ezObEAGVdCyWQRWkGgBVZDYGJnwm78hQnIPoid7AulDrML0IVjD8x7xBpvXBa0XUuwLneAM1Ea4dUQEqdPRYlmfBzqG6t3Rkn3GvXiCCdThChgpvsYBGtSIFgFR4IvmgcYe2o4OPbVd6zves2Oabxoczs/AvtOI0ADc4THhEiuMo7EW7WiFrWocrbFljaMNaEeHp6AdHZ4BduxnBBckeUsOunbLXyFpswf2tqPB3nZ0HLjvcHgKoFUCYEqXXwIF2lWnT5oCuqgE9GZCeGDp+ECz+2Yvbbhp2kun3DTtpTPM90SDi6qOFqDvHR7ywQOOyNo/Zy7GJ+r97VzUX+fj0+atOO7/AaBWQoQ=\"}"
  },
  {
    "path": "officialworlds/bab be u/w3 (mine)/ise climers.replay",
    "content": "1,-1,wasd;1,-1,wasd;1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,0,space;0,-1,wasd;0,0,space;0,-1,wasd;0,0,space;0,-1,wasd;1,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,1,wasd;-1,0,wasd;1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,-1,wasd;0,0,undo;-1,0,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;0,0,space;0,-1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,0,wasd;0,0,space;0,-1,wasd;0,0,space;0,-1,wasd;1,-1,wasd;1,0,wasd;0,0,space;0,-1,wasd;0,0,space;0,-1,wasd;0,0,space;0,-1,wasd;0,0,space;0,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;-1,0,wasd;1,1,wasd;-1,0,wasd;0,0,space;1,-1,wasd;0,-1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;"
  },
  {
    "path": "officialworlds/bab be u/w3 (mine)/it's a frozen world after all.bab",
    "content": "{\"width\":15,\"version\":5,\"extra\":false,\"map\":\"eJyV2N1u4jAQBeBXQb3albjAifPXKs+CKGRRpIggoNoixLtv8JmE2Cs8p73qxec2mTOOf3b9ouu3m26xrm+3S9s19dvl+7L+3Hy+Lb/r1bLd1WZ5HX45H5ttu+nq2325a0+1uS/nvJl0MmgT118TTgecxPGf9jRxO/CUfpJs0Dau339NOh909lqfD/1Ei4Hmr+m277rdhMsBFyyuBlyy2KwGXdH6EaOJ5Dh/Q+NSjCQj2DicxhvEszbeHp7N4t3h2TzeGp4t4o3h2ZJqC9iK7Aunk1W8MZ7NDG7I1oBOfqRTspGgLddIwBnXSInDOdVIsOwkhGZnITQ7DZ1OlWn4CHLfb/5ursfu/BxlyJpDJ1zNgVOu5qnDNl5zWQhgM2qSweZkPtAFmQ90SeYDXZGVdtquuEoDG67S1uGE6m7YlPpMwlrqEwWbxVPxbB7PxLNFPBHPlmQe0BWXh8PZissjc1jZ13hW2dV4VtnUeNZSSxFsFs/58Z2ZaocRyhx8jGi31+HnOYQLEpadhtBkkA7nZJC5w1yQsEqQ0zNDK1HK3hTWxm3wl5VPaaBzqk1gC71NsK8AL8nvNDQZosMFGWLhsBLi9BzQbIzQXIywbIzQbIzQXIywRIzD3H16Jcf/diEYxa6NTpfk2ghMro2lw8raOD0HNLc6wrJ5Qit5SqfAKkeO4C8rh45Al1ylgd2kJOtRkZOycpidlNDcIgnLLZKwyrE/eArl2C8RwnITEraITxXPllwiwBV51pZD/4rMZPSGO3GLTrgzt+iUO3WL5jY7o1a2O4FWtjqBVo4bgVb2OYFWPqm+NuQndeSGa6yRs9c4uL/QLnKerSVeucxx13ddv58PycgXEJ6TL5CAF+wLiC/1F5AD8Dii4roSWrvjmYojnL0TGH2i3zzIFZIMSMnqC7dk9VPwjK2++Fyv/r6/zEcU+n3xuWuPx+Z0ng8r9Xvj4FUq/e5YKosB7hJI2a4d+v38f7gbIOKTJTrRrwvff88HsFkLZ7O24ErWgVaSDrSScqCVcAOtBOtrq6QaaDJQ0UqggU65NUi05dYg0Rm5BgnPycYSXvzgFGgsexytwF+dR+8fp+bydTos1h/NYfcPwafcjg==\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"mountain\",\"name\":\"it's a frozen world after all\",\"height\":13,\"author\":\"Slabdrill\"}"
  },
  {
    "path": "officialworlds/bab be u/w3 (mine)/it's a frozen world after all.replay",
    "content": "1,0,udlr;1,0,udlr;1,1,udlr;1,-1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,0,undo;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;-1,-1,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,-1,udlr;-1,-1,udlr;1,-1,udlr;1,0,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;1,-1,udlr;0,1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w3 (mine)/jagged river.bab",
    "content": "{\"width\":15,\"version\":5,\"extra\":false,\"map\":\"eJyVlstugzAQRX8lyqJSJRb4xaMR3xIRoC2qC4gYJVGUfy9jJ8RE4HEXyepcbN87nnHZbmRb5HKzz65XVcsq26qz2nd53ahtcM5IUJfj3yXjwbGrijqX2fUWlHWfsVtgC4a+m3g68uKVJzP+q51oNtKRmz7kB8Ap4HzEKYJXUqpJIEZBggmAZkBH7s/fd6LRGD+m9eEE38anvGieA5/i51S5lBNPQvcCkylC04uZxms0XcroWQGnXPUAxxqGQMn6RuYwxMl8YeF2fA5DkrEvDFmmOJxoGKIMcTcMnPq5oWEaukOfw8TPOgPTpbzXYObns4G5+/7OYeEXioEjd0XP4f8kSCFB4hFhqunUL28NM88IDbx4C9fgxUu4BjM/7wzMETug2TwUxDRt4S7rZ/O780hfBb5pj6f619LE7gIHzZuFJ24z9ZjqW1UVhSVK8SZurcFDfFgd1fBjrcCJu+RfV6D4nHj0/buCuSvfGqBETyLOvbMzvMCzGyw8wmMbf5Ygxh2a7cdjlLZD8W0pUtyij3fNmydDiFfF84mklxDIVX49hPB6JDW2YuWhdNv1lRr6ZrPfVU35B2jNSSc=\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"jagged river\",\"height\":11,\"author\":\"Slabdrill\"}"
  },
  {
    "path": "officialworlds/bab be u/w3 (mine)/jagged river.replay",
    "content": "-1,1,udlr;-1,1,udlr;-1,-1,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;1,-1,udlr;1,1,udlr;0,1,udlr;-1,1,udlr;0,1,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,-1,udlr;0,-1,udlr;0,0,undo;-1,1,udlr;-1,1,udlr;-1,0,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;1,0,udlr;0,-1,udlr;1,-1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;1,-1,udlr;1,-1,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;1,0,udlr;1,-1,udlr;1,-1,udlr;-1,-1,udlr;0,1,udlr;-1,1,udlr;0,0,undo;1,0,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;0,1,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;0,-1,udlr;1,0,udlr;-1,-1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,-1,udlr;1,1,udlr;1,0,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,0,udlr;0,1,udlr;-1,1,udlr;0,-1,udlr;1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w3 (mine)/kirb be imposter.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":false,\"author\":\"szoob\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be u them\",\"is_overworld\":false,\"palette\":\"autumn\",\"parent_level\":\"\",\"name\":\"kirb be imposter\",\"map\":\"eJyV2Mtu2zAQBdBfMbJqAS9ESuIjgb7F8KuGYNUKZBlJYfjfK3FIi2xazu0uizOKMSQ1lzr0q67fb7vVprnfx7Y7Ni8f2+5l/dkU6/bQiPWv6Y/r+3Hfbrvm/lgf2qERj/VfqJyoyNFxeNpyshK01WRL0NaTrUCrJluDVk9WgdZMVoPWTtaAVhQTtiieF05kVy7Wbu3QxRPz6ons8kUbaF4+kV2/CM/rJzILOH6Om/BbhKtQ+Q1KBd3iNbZLCRtsmxK2TFfmn7Lb7p4FssA6Q1gAnTn141wgXYHkG7M7LrzE+kK4wvpCuEb6Ev0ShbWFsP6PDVO6CsP35dKf+qXAYp1xuCzynZmffm6H3VIgsLcQYQm08rbwEusk4YrpZPglldM1NxdirLAOEtbY3iJs2DdRrC3bj0hXBdiQ2ml2UMZYgo9WTpfYowmjy6idZpYxbFXCChtshLmDGbRxmjmUKQYPpMM1t4rzkfnR9ae5wroKcCUJs6GnW2yZDxHX8y3CVb7ZKa7zMSLFKh8jUqyZGJFqw8SIVHMDM9GKn5bRuihkXNLQERQGmXH5HPWkmWn55ekVl0u7CNf5fRJ2q9cKDHqeIwPz9bsrcMFDgUfTa/ZsdgvWBZeqYyy4t0+MJZerY1xyuTrGFdvuWNdsro61wnK11xo8EJ4b8IUsXLDSFlx2p00BpmrS3OF8cpdMDHM0Q6YmXGJDymt0WgoXCQwzLuOETwXw4SSODk3hYoRBjyZpiz7cBQlbgA8nLcANQFqC9yrS/HUz4fyFM+HclTMcOhdrLHDdDKHJV6AXTtLojZM0cuUMU5RKRMHN0eSK7Wv4A0v/whAHrp77/v28HeMi8AIaOHgFDRy/hIYK7hr6tYI/vdQlSxy4iIaXia8Ag6/ngrmL/skF0KLXb3GFBFp06a8f7c+4qsTaJP13rAr6Ahl0DX7G8FyBHzI819inyMAN9jUycIt9CvBcsukp5Wx+SjmboFLOZqiU8ykq9XyOSj2YpALno1TC/xWlHm/DcbwNl9Xm7Xg5/AaVj7Fb\"}"
  },
  {
    "path": "officialworlds/bab be u/w3 (mine)/kirb be imposter.replay",
    "content": "-1,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,-1,wasd;-1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,-1,wasd;0,1,wasd;-1,0,wasd;-1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;1,0,wasd;1,0,wasd;-1,-1,wasd;-1,1,wasd;1,0,wasd;1,0,wasd;1,1,wasd;-1,-1,wasd;1,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,-1,wasd;0,1,wasd;0,1,wasd;-1,-1,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;-1,-1,wasd;-1,-1,wasd;0,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;"
  },
  {
    "path": "officialworlds/bab be u/w3 (mine)/let's moov.bab",
    "content": "{\"width\":17,\"version\":5,\"extra\":false,\"author\":\"Slabdrill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":7,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"let's moov\",\"map\":\"eJyN1MGOgjAQBuBXIZ52Ew6UUkANz0JAGtPAUoPoagjvbofWFTe1nQOcvjZ/O51pZNDJQ9UFZTFNo+h4samrehPeChKKRv3u6juf+EFUXTHNYSOGgsyhoeNtLNc8Vpy5+Y+UV/AxeOr2LectWAo28Ud588y992/VAWVAU0UjHM3cKc4n0f7ZXNkYabfKUqQlkcIJLi8h+GsgUL7UfcXPINmygKIuTtvEbVdPSXvmDvO2d+oPXnPg+cIzVGxtc3Rs7T2F/BcljlCn1Jb4T7n7Ar5deIw6pbaeQsLWl5dOUKG1xZWR6PGBa0SDka1otLUZ2SdtreInTa39yOyxKa4hDUZ05FEs81T1Fyyg/im5+175xD+xn4nSZQFzD7XX+zY+9fdDL49ytSKzT7d5P/DxMvRBued98wBnBDwH\"}"
  },
  {
    "path": "officialworlds/bab be u/w3 (mine)/let's moov.replay",
    "content": "1,-1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,1,udlr;1,-1,udlr;-1,-1,udlr;-1,1,udlr;-1,-1,udlr;0,-1,udlr;1,0,udlr;-1,1,udlr;1,0,udlr;0,1,udlr;1,-1,udlr;1,1,udlr;0,1,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;-1,1,udlr;-1,-1,udlr;0,-1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;-1,1,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,1,udlr;0,-1,udlr;0,1,udlr;-1,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,-1,udlr;0,-1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;0,1,udlr;1,1,udlr;-1,-1,udlr;1,0,udlr;0,1,udlr;1,1,udlr;1,-1,udlr;-1,-1,udlr;-1,1,udlr;-1,-1,udlr;0,-1,udlr;1,-1,udlr;1,0,udlr;0,1,udlr;-1,1,udlr;1,-1,udlr;0,-1,udlr;-1,1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;-1,1,udlr;-1,-1,udlr;1,0,udlr;-1,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w3 (mine)/mines.bab",
    "content": "{\"width\":15,\"version\":5,\"extra\":false,\"map\":\"eJydlm2PoyAQx78K8c3dJSZXn202fpYNKt3lFsEA7W6v6Xc/1GurdUDdlziD85s/MwO1QExUmKHX4nLRlJHCYyfm+V9F4tO6CPxzEfmqJRXFrLjwY1MSWYT+iSpaUkb1ufBES7jn00pwpc/dDwYvz+e4MStcSaEU0u8ElQLL2vMZORFWeJ8R+tlQTn79nrlc/ZrKIrj6U6S0QwoNUjxD2ruRaqHVDajBbXuH6BfP4RRhlZb3iNE04gyO8rtrbFwTh+uQR9a5JqC0wRZpqf6hEEYHKf4Sjj6FZDXCB00kwowBOrv9LXntO9h0CjtmfKd1bShdu7OpgGt2j4TKze5sJlQyEcrU8AepJ1IxovVDKtVS3mDVf5npMjK6QPYGJF84sf/52GrvEWkBBEIZFB36cre+JoOnJrb49ikG4ar/9qcaRNNiX3+seb+965VwJmdqL3fFaKu0aCHhbiZLxAE4ASPmS5X0RKGPZcnRgfCKQCRjs6uaghSkieyRW6ZQlygQ9W5yKp6BIydeyFVIjqg915vZEnko13xaKmAPLww7SSrBBNQ1N4uToGvedOHaWDz7FlOuS3i4PmwWjri/vXagEqafN4H8wW9vpEaSnsA5MjE7cQJQliDYhsPJlwYw+s+W8FEfPoTVCLeFPxyleTuYmYkOlLBaASgzF8tkG7Ci715Yg6gx2GfZ1lqTyuAqLY+VPkqo/2YurnkTJrDW7h6c3qIfVJaoJIg2rbDcpTMX10QKU5Bp8finVFQRVDHaEAmd/Njq1CcDWyHaxlIJM400FRwgedicmuQgR7yNw6zMW68R4gSAjIyux0C4n7681r/6hmfzbvX264skpoA5en0hvP4HkKpdNA==\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":10,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"mines\",\"height\":10,\"author\":\"Slabdrill\"}"
  },
  {
    "path": "officialworlds/bab be u/w3 (mine)/next.bab",
    "content": "{\"width\":17,\"version\":5,\"extra\":false,\"map\":\"eJyVmGFvmzAQhv9K1U+bhLYYg4FF/JJqQiShGSqBiFClUZT/PtuvAyQYfP2wakLPlePe987n7pqXqtnm1UuWXq9dWRXpa/fVZR959+p9pcwrd/LHJfW907HYlnmVXm/ermxTdvMMfs6rHvUlymkol2hAQwOJhjQ0lKigoUKiEQ2NJBrT0FiiyTyqarspFO0rOiGVVqNsRaotWObO4lPRXNM+KQuwfDkL4xuwAUkMsOFyxoYNNCtI+YKNSFUD69DOsKFmHcqpCo9536Ge4ttmO/CMVDuwPilvoVnuzhv+BB6401b/3qtm3wfFyXK/qoBjXtbd8BpH2+pq/itHAbTmBRu5m+Gef6QDlA+Y85eDJfigbvZNH8AJRjBNBJ5mBLAOI+gy/n5vi1qFxDqEk74VbEDqO7Ch+zPhM+CCNGHBEvQ0rZRoniYnWNpA1mxAUPLuKwRYpeSWmgD3lz2u8G1zKI7VaYjhpDqCDahHlTx6FB+S6mhgx4zetOXHiJ5M6W1TNW16FR5/jjTSmsCYtnAATmgnvobDFe3MB2w9bx+V/fNT89hSfFopAVtHNp+BrQN7Dg5tO9gcLGxTfYA3+WYER89WN4Iyz1/+2Nht+sc3Jc869W+aWAeOrqpuCBerZ+XcieoVSzDaUgqY0Mqm1cA72njCW1v5abLcO07vW2LSzH3HsblPQaC1saeeAUzbvgwc024EgB07xiCzxqPV9/2IQGZT7rGy++ZwOeeXUZBv92RdVtb14HQuD6NoThAT4uu1NQpowwRwuCzf/cAytKBJAjiijVfAsc3hUxsBTgjj9Yfm9UIcr2gVAWy93k4zAWy94M7BxCsuYMclt29f0JOFec5hjy8h3nkBW2+9c99qvTvx221t/rqQyWfr7C3if38h1exNMPN/+TwWw/Mgvj9vi+6zrV+ydVHv/gPjsYfd\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"next\",\"height\":11,\"author\":\"vitellary\"}"
  },
  {
    "path": "officialworlds/bab be u/w3 (mine)/next.replay",
    "content": "1,-1,numpad;1,0,numpad;0,1,numpad;0,1,numpad;-1,1,numpad;1,0,numpad;1,0,numpad;1,-1,numpad;1,-1,numpad;0,-1,numpad;1,-1,numpad;-1,1,numpad;-1,1,numpad;1,0,numpad;0,1,numpad;-1,-1,numpad;-1,0,numpad;-1,0,numpad;-1,1,numpad;0,1,numpad;1,0,numpad;1,-1,numpad;-1,-1,numpad;-1,-1,numpad;-1,0,numpad;1,1,numpad;0,1,numpad;1,0,numpad;1,0,numpad;-1,-1,numpad;0,-1,numpad;1,0,numpad;1,0,numpad;1,0,numpad;1,-1,numpad;1,1,numpad;0,1,numpad;-1,0,numpad;-1,1,numpad;0,-1,numpad;1,0,numpad;1,-1,numpad;-1,-1,numpad;0,1,numpad;-1,0,numpad;-1,0,numpad;-1,0,numpad;-1,-1,numpad;0,1,numpad;1,1,numpad;1,0,numpad;1,0,numpad;1,0,numpad;1,0,numpad;1,0,numpad;1,0,numpad;1,0,numpad;1,0,numpad;0,-1,numpad;0,-1,numpad;0,-1,numpad;0,1,numpad;"
  },
  {
    "path": "officialworlds/bab be u/w3 (mine)/paintball.bab",
    "content": "{\"width\":18,\"version\":5,\"extra\":false,\"palette\":\"default\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":13,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"author\":\"vitellary\",\"parent_level\":\"\",\"name\":\"paintball\",\"map\":\"eJyV1k1uo0AQBeCrWNmMRmJBA/1DIs5iEcNEyMhYNlYSWb77NPUaE4807sfGq6+shkdVVzNs+mFX95ttdb2OXd9WL+PXuD21bfOSfFUq6Rr/812lyfnY7rq6r663pOlOlbolwX/W/Z1mnmYczT3NOVp4WnBUe6o5ajw1HLWeWo46Tx1HS09LjqrUW/UkhCm0P/3wsVRMqaknWUwV+7bdTxWZVGRUzrA5FTRs8Tzp6SDn/eVHgabyhjXEizmMi7fEa3lvJ5+Ld9RLgS2plyI2YwI91h2OjhIm0cvEC+FcnLCROKd/9n6/FERaUmbIsFu8ppoNlol0/nJREQs1/L0W7OLPig8AvIw/6Q+ep9SDwqrIgwZsBEdGq5yjfl98Hj/3x1B/1t/H/rxUFdTxYfWKnKxUGOqThLVUM8G6FdMRFSU1Bg6/pP2cXEIpdXhYRR0eNqMuQthIqA+2oK5CWK49YZn2REfAMxN3Hi6lVHAzF5abuWI1M3Nffy8+NnDnGzoVHWnQuROCjiQZWjlgrisDjrXlrLEvGW5jA7YrOl7Jfau5LAPmwgQ2KbdAAituhQTOuCUSOOeyAS64RRJYc6sksOGWSWAmx/s2iRJHdDGWFSXbiim54AXblAseOHZt/nsUm9E7n5J9wubc2YGL52e/v0foyG4blqaADfcFADOhPjzlikhlX7FkpIIdGSnwikhRwER6n0SyrjgyVOBIqI9Yc5MI2HCTCNhykwjYcZMIuOQmkeAy5b5DYMVNIuBszSRCSU5Ej1s8FBT/Kbi9ndrxcjpstm/tofkLFhOgsQ==\"}"
  },
  {
    "path": "officialworlds/bab be u/w3 (mine)/paintball.replay",
    "content": "-1,1,wasd;0,1,wasd;-1,1,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,1,wasd;-1,1,wasd;1,0,wasd;1,1,wasd;1,1,wasd;1,-1,wasd;1,-1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;-1,0,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;-1,-1,wasd;1,1,wasd;0,1,wasd;1,-1,wasd;1,1,wasd;0,1,wasd;-1,1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,1,wasd;1,0,wasd;1,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,1,wasd;1,1,wasd;1,0,wasd;-1,-1,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;0,0,undo;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;-1,-1,wasd;-1,-1,wasd;1,1,wasd;1,1,wasd;0,1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;0,0,space;0,0,space;0,0,space;0,0,space;1,1,wasd;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;1,0,wasd;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;"
  },
  {
    "path": "officialworlds/bab be u/w3 (mine)/parser structure.bab",
    "content": "{\"width\":10,\"version\":5,\"extra\":false,\"map\":\"eJyV1tuKwjAQBuBXES/2AL1ojm2VPotUG0Qo7VLrriK++6YzxeiCzb8XghdfdNI/M2ndLZpuVzWLTXm9DofGlcvhPGx+qmaZnMs0OdSlSC7+y/HL7Q5VU15vSX3oS3FLJv5IpacCo8pTiVHtqcKo8VRj1HpqMJp5ajGae5phtPA0f03HGLZu1IJSSKEY2AooB7YyXkbb7btxgaQFCiqErZ4vhPbYnc5hgYFSYWvjlb+NWpHOoLLZ5kDZLvBi/oD+4TKF9shWxPc4eU1eQrtkq+K7bIfANVQ2WwOc7Wo7ekPeQmWzzebLfvrdPJ6M/wRfQHskq1K0fy1xbIyyjczR+8lmreaLHrX7dv1FhCUaGlNsgSxPo85IY0myjSU5TQbGQJT76hJ8JEqOp30f7it0Cj0UtkBfUkI5aawr2QJdufoMHEuSLd6VBXksS7aRLJ9sDt39bCOz9dGaFLr92Qqo09lK6P5nq6A82Op4HvuudWHBGGCBjBzK29g4f+5ek/1jBU1Bk8dXHKv2ODUaTRRTANvgc8hvaum//oNea6yA/4NeJqxEHy3dy1bF+erjfh9aDT3XsOMXQd/WvRtOfbvYrF1b/wINaenp\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"parser structure\",\"height\":10,\"author\":\"Slabdrill\"}"
  },
  {
    "path": "officialworlds/bab be u/w3 (mine)/parser structure.replay",
    "content": "-1,1,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;-1,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;-1,1,udlr;-1,0,udlr;-1,1,udlr;-1,-1,udlr;0,-1,udlr;0,0,undo;1,-1,udlr;-1,1,udlr;1,1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;-1,-1,udlr;0,-1,udlr;0,1,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;1,-1,udlr;1,1,udlr;-1,0,udlr;1,1,udlr;-1,1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,-1,udlr;1,0,udlr;-1,-1,udlr;0,0,undo;0,-1,udlr;-1,-1,udlr;-1,0,udlr;1,1,udlr;1,0,udlr;0,1,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;-1,-1,udlr;-1,1,udlr;-1,0,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;1,-1,udlr;-1,1,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;0,1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,1,udlr;0,-1,udlr;1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;1,-1,udlr;1,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;-1,1,udlr;0,1,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,-1,udlr;0,1,udlr;-1,-1,udlr;-1,0,udlr;1,1,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;1,1,udlr;0,0,undo;0,0,undo;1,0,udlr;1,1,udlr;-1,1,udlr;-1,0,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,1,udlr;0,-1,udlr;1,1,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;-1,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,1,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;0,0,undo;0,0,undo;1,0,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;-1,1,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;1,0,udlr;-1,0,udlr;1,1,udlr;-1,-1,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,-1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;1,0,udlr;0,1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;0,1,udlr;-1,0,udlr;1,1,udlr;0,1,udlr;1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w3 (mine)/pls slip.bab",
    "content": "{\"width\":11,\"version\":5,\"extra\":false,\"palette\":\"default\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":7,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"author\":\"Slabdrill\",\"parent_level\":\"\",\"name\":\"pls slip\",\"map\":\"eJyN1MluwjAQBuBXQRy6SDnESzaQnwWFxEWR3DgKQYAQ715vTdJKeIYTh++3/mGwW71RuqnV5iAej6lTUmyn23Q41sdtchNp0rWCJHfz5TzIpquVeDyTthsFeSaBX2s1U2po9prakxutVDsHmAnk8cBRWk2s5vEmobSjmaEUR3NDGTifowU836puCQ93sZhaXMVnW452mqSo0t4SuHXX3M1niVC4+pvVzGkGd79exnYJcFR7bzO4/apKDhc/6cl67nwBVze+f19FSlR5byu4/O5j5jSF259VNwxyPNtQ5kLA/fSX7lsOapWhqBm8ZfAMfzyPDxFs7ixiuf5f7zmw3XB04Szirvb6pJcAcF3D4aWziL1+KX2aAwzY7PwqVk7blRK0pvG37p9mqNV7y7Hr8TxDDkn825/Hp/z9AYMukFMGjrulAWOu6efi+YttPvejnC5jvznsZd/+AEludWo=\"}"
  },
  {
    "path": "officialworlds/bab be u/w3 (mine)/pls slip.replay",
    "content": "1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,-1,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;1,1,udlr;1,1,udlr;-1,1,udlr;0,-1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;-1,1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;-1,1,udlr;-1,-1,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,0,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,-1,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w3 (mine)/recolor.bab",
    "content": "{\"width\":15,\"version\":5,\"extra\":false,\"map\":\"eJyN1O1uwiAUBuBbMf5bQkyBfjnDtTS1ZaYLKYbVqGl67wPWaiXuHP4/b4Hz0VZvlG5qtanEOA6dkmJ7rdWW3EROulZQchcJ+TnLpquVGCfSdkbQibyhzFIeR7mlNI6mlrI4mllaxNHc0jSOFpZmcbS0NP+fDrehmjlzfA/X1vGjdJr7TiQ47/VJu0DqA0jvvpQ+Obz3mMF3P+520jxuTjnca391c+1dgPpAClfRB16PyCISq+rkOL88S4M09fnxv+KU8Lw6fpdK+drbPrnIHo48HusPYElYz0YrbcRICYcP889hSKf9aAwrz/D3LNMxJzi8hs+CzT7FB+TzY+UzeCGd/647tUpENPzlRgW+nMv6zIkS/p887uMHkCHb/Kp5Ancg0BSufqCRVQ40hysfaGSPA438kQOd4zOzTGXpA8X7Ik4HI4eL6TfVQfbtL411SdQ=\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"map\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"recolor\",\"height\":8,\"author\":\"Slabdrill\"}"
  },
  {
    "path": "officialworlds/bab be u/w3 (mine)/recolor.replay",
    "content": "-1,1,udlr;-1,1,udlr;1,1,udlr;0,-1,udlr;1,-1,udlr;1,-1,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,1,udlr;1,0,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;1,0,udlr;-1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,1,udlr;1,0,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,-1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w3 (mine)/slipstop.bab",
    "content": "{\"width\":13,\"version\":5,\"extra\":false,\"map\":\"eJyVl91uozAQhV8l6t1KXAA2ttmKZ4kIsAgJxRUlbaIo777YEwqmxjO5ydXn0TA/Z05qfeh1VfaHY3G/j13fFG/tUH6+Rdciibp6+rkVcfT50VRd2Rf3R1R3Q5E8Ih+bTmyyz36X4/DDsomVeNzUsDycwxzXshktLjOsoMW1rJzYjMgqWg7CsDmNlbYXMa0ZAJvOCSqchtOYPy+3MKPVDWBOGwqATfdSKmzax6iw6R+nworWbIDzcJ0dOI1pdZ46begkXI7xOh5P5Wn1IPWVhDkP/vW6Xb1gvrqw3wnBgnNCQs2Kz/B8HF68lA2ykyb6xeJWGVKFJ/P3z4rPiclYmsV4Ml11Wz1IfKPwO7xtE0tp4wswo40vwDw8kfO4AJyFZ32G4QNFGK5039fLPZDhbd7QKlyPDZ2HC+LSPKYtNJymhFZrgJEuOseJezdz5+JwThN720WehSXZhUV45V1Yhi+DWYJWl9/l7aO3r7h9pcL5mFeDrhY+p6pQZh1BHJ6sZ2hgEcV9qi2wiN0xaZx1q39OfcbwByd9uS4PELmdR0BZOKNdZYAF7SoDLF9Jw6uye7BXYndggSisCyPux4UR9+MYNoG4HxdG3I9jwgRxLwEm7iXAiLjOsJ1rQbSvdhcF0b9aWCLK6sKIspptce2STGkbAPdXItu4iU20sc/YyJ3cxEYOpVXN7msxPlLiQtLqc7NKSOGSuVxByAo5mlvvpohnE6Irr/vx0BD7pc4q4v+TZ+wdA/R4H5rxMpwPx/fmXP8Hbk4Kvw==\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"mountain\",\"name\":\"slipstop\",\"height\":8,\"author\":\"Slabdrill\"}"
  },
  {
    "path": "officialworlds/bab be u/w3 (mine)/slipstop.replay",
    "content": "0,1,udlr;-1,0,udlr;-1,1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;0,-1,udlr;1,0,udlr;1,-1,udlr;0,-1,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;-1,0,udlr;-1,1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;1,-1,udlr;0,1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;1,1,udlr;-1,0,udlr;0,1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;0,-1,udlr;1,-1,udlr;0,1,udlr;0,0,space;0,0,space;1,0,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w3 (mine)/spinmaster.bab",
    "content": "{\"width\":11,\"version\":5,\"extra\":false,\"author\":\"Slabdrill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":11,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"spinmaster\",\"map\":\"eJyV1lFvgjAQB/CvYnzZlvBAaUthhs9iUJkhNrAoZi7G7z7gADnj7s43H36nrf+7trt64ett7hfr7HptSl9ky+bSrH9yvwwuWRiUu0wFv+2H03exLXOfXW/Brjxm6hbM+KaYdNRqReuq3teT162PaL/19WHypvVavBoXt9zQ/NScD9t7hWsrLPcD3jdThW0LYvGKugW5V76+W0/CFVRv94KkLUjpgvOE0y4uIt2hEVTfCCHdCcgqug+QjegeQFbT+SNr6PCRtXTsyMZ04sg6Om9kEzpqZFM65bmNQibkvofyTVeg+wImvHtLA2fymzoONJNgp+F8AG5eGBiosPRfM2nb65je64N29FYfdEJvdfjPwaaSfU5ch/yxcPouq3uBEjWM620kGnSwWjToYI1o0MFa0aCDZU55ZJnzHdlENOhgmfzm1jDhIcvk9uXrfYeTHjPBjTcpYP0KNnTMGFs6Z4xjOmiMHZ00xgkdNcYpnTXCNqTDxljRaWMc0XFjrGW3d9pjIxpqsFY01GBj0VCDdaKhBpuIhhpsKhrq3sahaKjBKtFQg41EQw1Wiw5jsEZwe4+ngII3pn0WtXtylwz+6R2I/efHzD+9BbEfG3WoYG7CrsLX9SFvZjUp/3YfnznwUg4lT/eZV/zL/fN95iP+isbbdlryeJ95w7/dx1t9qLD/dMdtdSya87FarFdFtfsDc3yf/Q==\"}"
  },
  {
    "path": "officialworlds/bab be u/w3 (mine)/spinmaster.replay",
    "content": "0,-1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;0,1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,-1,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,1,udlr;0,1,udlr;-1,-1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,1,udlr;0,1,udlr;-1,0,udlr;1,-1,udlr;-1,-1,udlr;0,1,udlr;1,1,udlr;-1,1,udlr;-1,0,udlr;1,-1,udlr;-1,1,udlr;-1,0,udlr;1,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;0,1,udlr;1,1,udlr;0,-1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,1,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;1,1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,1,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;1,0,udlr;-1,-1,udlr;-1,-1,udlr;0,0,undo;0,0,space;0,0,space;0,0,space;-1,-1,udlr;0,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,0,udlr;1,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w3 (mine)/spinmasterer.bab",
    "content": "{\"width\":11,\"version\":5,\"extra\":true,\"author\":\"Slabdrill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":11,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"spinmasterer\",\"map\":\"eJyV1sFugzAMBuBXqXbZJnEgCUmgE89SsZZNqBFULdU2VX33hZgCnjrHvfXwGZH+Ns6uW7luW7nVprxc+sbV5VP/3W++KveUfJdp0uxKkfz4H6dDvW0qV16uya45luKaLPh7PWnptaB12312k1feS9pvXbeffOa9Yr+N9jqj9ak/77dTgfEFOvZ45/qpwPoCw36f3Gv7yOMLX5DHCtrnuUCkvqKgK86zHsIVRLpjI4iAJd0JyCq6D5DN6B5AVtP5I2vo9JG1dPDI5nTmyBZ04ksrUzpsZAUdM7IyEnLooup9KFChIBLe3NTAI/lNLQc6kuCg4fsA3DwwMlBh6b9m0jronD7rH13QR8VapfRRx/8crOCcc+Yy/mE4HZp2LlCshrHBZqxBB6tZgw7WsAYdrGUNOticNehgC9agB5ulrEEHG8kP2Uh4yEZy+3Dd54DzgCPB3TYpYP0INnTMGFs6Z4xzOmiMCzpphHVKR42xoLPGWNJhY6zotDHO6Lgx1rztXQRsWEMN1rKGGmzOGmqwBWuogzUpa6jBCtZQg5WsoQarWEMNNmMNNVjN+hiDNYztffsKCLjE2ntR2zu7ZPR3dyD269eFv7sFsb81KlTYyCYcKlzX7at+vMuOZSJ+fz8fFl5yru8Lr+K39/XLwmfxJf3n4JpzgV94E7++3/b6WGH/6Y/r27Huz8d2tXmr290vdkegpw==\"}"
  },
  {
    "path": "officialworlds/bab be u/w3 (mine)/spinmasterer.replay",
    "content": "0,-1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;1,1,udlr;0,1,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,-1,udlr;-1,-1,udlr;0,1,udlr;0,-1,udlr;-1,-1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,0,undo;0,0,undo;-1,0,udlr;1,1,udlr;0,1,udlr;1,1,udlr;0,-1,udlr;1,0,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;1,-1,udlr;-1,-1,udlr;0,1,udlr;1,0,udlr;1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;1,-1,udlr;-1,-1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;1,0,udlr;1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,0,undo;0,0,undo;0,0,undo;-1,0,udlr;0,0,undo;0,0,undo;0,0,undo;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,0,undo;-1,0,udlr;0,-1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;0,1,udlr;1,1,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,1,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;0,0,space;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;-1,-1,udlr;-1,-1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;1,1,udlr;-1,1,udlr;0,-1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;0,-1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;1,0,udlr;-1,-1,udlr;0,0,undo;-1,0,udlr;0,-1,udlr;1,-1,udlr;-1,0,udlr;0,0,undo;0,-1,udlr;-1,1,udlr;0,1,udlr;-1,1,udlr;0,-1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;0,0,undo;1,1,udlr;0,1,udlr;1,1,udlr;-1,0,udlr;0,0,undo;-1,1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,0,space;0,0,space;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;-1,-1,udlr;-1,1,udlr;1,0,udlr;1,1,udlr;0,-1,udlr;1,-1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,1,udlr;1,0,udlr;0,-1,udlr;0,1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,1,udlr;1,-1,udlr;-1,0,udlr;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;-1,0,udlr;0,0,space;0,0,undo;0,0,undo;0,0,space;0,0,space;-1,0,udlr;1,0,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;1,1,udlr;1,0,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;-1,1,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;1,1,udlr;0,1,udlr;-1,1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;-1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;-1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,udlr;0,1,udlr;1,0,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;1,1,udlr;0,-1,udlr;1,-1,udlr;1,-1,udlr;0,-1,udlr;-1,0,udlr;1,0,udlr;-1,1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;1,1,udlr;1,1,udlr;-1,0,udlr;0,0,undo;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,-1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;-1,1,udlr;1,-1,udlr;1,1,udlr;-1,0,udlr;-1,-1,udlr;-1,1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;0,0,space;0,0,space;0,0,space;1,1,udlr;0,0,undo;0,0,space;1,1,udlr;-1,0,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,1,udlr;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;-1,-1,udlr;1,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w3 (mine)/stubbn fence.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":false,\"palette\":\"space\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"author\":\"Slabdrill\",\"parent_level\":\"\",\"name\":\"stubbn fence\",\"map\":\"eJyN2V1P2zAYxfGvgriYNqkXcZw3D/WzoJZ2DC1qphIEE+K7L/GxSVttff53XPxcRX2OHfewG2764WHT39yv39/Hp36/vn3djMfb1du6WD3t1m71Z/rj+ff+4WnTr98/Vrun49p9rP5ly8k6aP1kS2iryXpo68lW0DaTraFtJ9tA2022hTZMtoPWFRMOFM+Tc3R0Ls6ODs/N03N0fG6en6MDdPMEHRihi7ph+RRurwd0fBvvt5vt4jsWPOHAEhJxWbCICDuWEeGSZUTYw4xIVzAj0jXMiHQDMyLdwoyUUXcsI8IBZGT/yX3BIiLs2NSFSzZ1Yc+mLlzBqUvXcOrSDZy6dAunLt3Bqfuow/Wpz4McjuPP4XNFBWcpbMzy5CyRN8Y5+34Yfm3GZYkx1HnJ66ZfvDXXJbvy1mRn//3r4ulspelspa3Zzs/yZeZV5IGNKuLaOGyXr0UcHrfC8LgVpsetND1upelxK02PW2nruJ2/wefxZbs9zGvquAa+O4UDu4lF3BTsRSsMtunLouGZK4y25+kCvj/lyf48DI/DsoLuUGm6Q6Xp6dtEHdj9PuIWHrzCjt3whUsWLGHPgiVcsXe5cM1yJdywI0W4hUeKdAePFOkA0xR1V8A0STuYpjbqkqVJ2LM0CVcsTcI1S5Nww9Ik3LI0CXcsTcKBpSniUMA0STuYJukSpknawzRJVzBNXdQ1C4hwwwIi3LKACHdWQPrFBisfi3VFYV81f/TD47wiaIV5pvYnuETPnbBHD55wZT+43o8u9SFm29OfanNHnmlzS55pY0/mWiHpYO4cfbiaBWe2BWfavL9Kl9Il++ykPftsL22+I880fEm6StxsfvpTDaeZtDHN+MPo2+kCe6Dp4Wu1bQV7+KTN3uBMw0usa8Q9bNASh/eezM2h9qcaXn1cK95ef/R8yGXesaM8c1roiXta6SVOS73ES9rUJe9pIJOvaFund0xshcjjJN5cb9UuOWzbM4eFe+awc0+8gq175rR3z54279nT7j172r5nj/t3vbQr2sAnbnTwl7xjN6rM6Z4Vt5qhS073bOK0ik8cl/HJ4zo+eVzIJ48r+eRxKZ/+z0Nr+cSNYv6Cx5YIBCdzx4KTuXlrOufmtemcVyw4mdcwONk3MDjZtzA42XcwONmH/wTn4+64H1+Oh5v7u/1h9xeGrxl4\"}"
  },
  {
    "path": "officialworlds/bab be u/w3 (mine)/stubbn fence.replay",
    "content": "1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,0,udlr;1,-1,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;-1,1,udlr;0,1,udlr;1,-1,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;-1,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;1,1,udlr;0,-1,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;-1,1,udlr;-1,0,udlr;1,0,udlr;1,1,udlr;0,1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,1,udlr;1,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;-1,0,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;1,0,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w3 (mine)/stubborn ice.bab",
    "content": "{\"width\":12,\"version\":5,\"extra\":false,\"palette\":\"default\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":12,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"author\":\"Slabdrill\",\"parent_level\":\"\",\"name\":\"stubborn ice\",\"map\":\"eJyNl91uozAQhV8l6tWuxAW2MT+teJYIEjZCi0IEjpoqyrsv9vBjsrZnev2diT1n5pie+0PXn6rucCyfT9V2TfnxXanhI3qUcdSeSxb9lDwab82prbry+YrO7VCyVzSzddN1aoX5BMt3WHhgMcGZv/J31a1oMqE5DZUTWtDQdEJZ7GfVQx3/dP1lFWRawNDiTLO5ZkMo9NiwRbjH49/7Vnc6cBC2z8C0eYLIOr1zGA20Ni8lOA200z/hbgZzOuiD3R4KT+8yxPF97dxpt692QRsObvYkDk+Hnryxa2+3Zhg3EbKKux/gJOeBFWHnd2zi8t3DStKCA5u6JkTuGvL5e8OJmygMjKziOqtAI8toVxYxqcvAsnCG6RvWjcYTg3NSo4EV4dJLhgGcEFKvrmotkEYgkfbZrLYxQU8NbIY3ZFT3ur5qSWokedibrYeAF6TBNmwSE04z7zsIWPih0YIlTkDACY1XzUNtCoFM+XKgzNDa2GC2WawkPajApvhFoemAYxn7zrtT9v9Mzg1dYJe0YImk7NI+gBn2YFssJ2UEsIKUEcAm4fWxZwoEkpQSwDoj1sNm9OEGQU5w/fPXxuOvJVQvzIdaTHMdYMTIxXWAOe0zDWCBx8+lVxufhK1fHx6gpct88e4PsIiXVoYDT/Dz7TQUQ3dHojrK4FOaaOlMEz2dadRUG0ZM3cOIo3vYaei+g+3pZ/qzNClpoWeY8IJC0s58Tk3ymS/IUQ6CPCY+WAz+RWKkF2uGOX7Zu4UL/K6X3uIpn0XXfieRntu+voZG3Yfr4fjVXM//AHCmG/0=\"}"
  },
  {
    "path": "officialworlds/bab be u/w3 (mine)/stubborn ice.replay",
    "content": "1,0,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;0,-1,udlr;0,1,udlr;-1,-1,udlr;-1,0,udlr;-1,-1,udlr;0,-1,udlr;1,-1,udlr;1,-1,udlr;0,0,undo;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,1,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;1,-1,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;1,0,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;0,1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,1,udlr;0,0,undo;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,0,undo;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;1,1,udlr;1,1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,0,undo;0,0,space;1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w4 (edge forest)/alphababa clone.bab",
    "content": "{\"width\":11,\"version\":5,\"extra\":false,\"map\":\"eJyN1MuOgyAUBuBXMd3MTOICBW9tfBbjhXRMGG3Upm2M7z7AIU6ZtHAWdvWdBv4f6MZAjG0tgqpc16UXvDws96VqJ94cwnsZhX0nfx7ymy+87WtRrlvY9VMZbeGTb/iuY6mpTw8fyz5A5UDyfsBaCpM2e2+bWlOqaCIpc69j/p76HzWQqIEUu02tM/825bfz3L1Jxc9jfasfFzHvQ4V7t7daKJrpjoi0BGk9hVpW1RkjLXVnYlnmrseyiTs8y6oWU3fQxufaZ69yo///G2yOyg1sgcpN25ggrgycbPARKjuwsf8awKkG7rmMil//NHOHbS0kQR1msKrEHLPoQnNch2BxHYItUOdZW0pQnYCNULGBjVGxgaX+2IbxPOrXlOgJhkrO4AQVncEp6vwb7HlMbZxjT7TxBSptwIz4n4/j15OPUPUYjOvSYESZx8+9e8Ze572dJr5cpyGoTnzofgG8n6Kb\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"alphababa clone\",\"height\":9,\"author\":\"Slabdrill\"}"
  },
  {
    "path": "officialworlds/bab be u/w4 (edge forest)/alphababa clone.replay",
    "content": "-1,0,udlr;-1,0,udlr;-1,0,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;1,-1,udlr;0,-1,udlr;-1,1,udlr;0,1,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;-1,1,udlr;1,0,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;0,-1,udlr;1,-1,udlr;-1,0,udlr;0,-1,udlr;-1,1,udlr;0,0,undo;0,1,udlr;0,1,udlr;-1,1,udlr;0,1,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,-1,udlr;0,1,udlr;-1,0,udlr;1,1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;1,-1,udlr;-1,0,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;1,1,udlr;-1,0,udlr;-1,-1,udlr;0,0,undo;0,-1,udlr;-1,-1,udlr;-1,1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,-1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;-1,-1,udlr;1,0,udlr;-1,-1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;0,-1,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,1,udlr;1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,-1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;-1,-1,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;1,1,udlr;0,-1,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,1,udlr;0,1,udlr;-1,1,udlr;-1,-1,udlr;1,0,udlr;-1,-1,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;-1,0,udlr;-1,1,udlr;1,0,udlr;0,-1,udlr;-1,-1,udlr;1,0,udlr;-1,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;1,-1,udlr;1,0,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,1,udlr;-1,0,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,1,udlr;0,1,udlr;1,-1,udlr;0,-1,udlr;1,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;1,-1,udlr;0,-1,udlr;-1,-1,udlr;1,-1,udlr;-1,1,udlr;1,1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;-1,1,udlr;1,1,udlr;0,-1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,0,undo;0,-1,udlr;0,0,undo;-1,0,udlr;0,0,undo;-1,-1,udlr;0,-1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;1,1,udlr;-1,0,udlr;0,-1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,-1,udlr;1,-1,udlr;-1,0,udlr;0,-1,udlr;0,1,udlr;-1,-1,udlr;0,-1,udlr;1,0,udlr;-1,-1,udlr;1,0,udlr;0,0,undo;0,0,undo;0,0,undo;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;-1,-1,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;1,-1,udlr;-1,0,udlr;-1,-1,udlr;0,-1,udlr;1,1,udlr;1,0,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,1,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;1,1,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;-1,1,udlr;1,-1,udlr;1,1,udlr;-1,0,udlr;-1,-1,udlr;0,0,undo;0,-1,udlr;0,-1,udlr;-1,0,udlr;1,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;-1,-1,udlr;1,0,udlr;1,-1,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,0,udlr;1,1,udlr;0,1,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;1,1,udlr;-1,1,udlr;-1,0,udlr;-1,1,udlr;0,-1,udlr;1,-1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;-1,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,1,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,-1,udlr;0,0,undo;1,1,udlr;-1,-1,udlr;-1,0,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;1,1,udlr;0,1,udlr;0,0,undo;-1,0,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;0,0,undo;1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;-1,1,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;1,-1,udlr;0,-1,udlr;0,0,undo;1,-1,udlr;0,-1,udlr;-1,0,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;-1,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,0,undo;1,0,udlr;0,1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;1,1,udlr;0,1,udlr;-1,0,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;1,0,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;0,1,udlr;0,-1,udlr;-1,0,udlr;-1,1,udlr;0,-1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,0,undo;-1,1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;1,-1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,0,undo;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;1,-1,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;1,-1,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,1,udlr;-1,1,udlr;1,1,udlr;0,-1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;0,-1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;-1,-1,udlr;-1,0,udlr;1,1,udlr;0,0,undo;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;0,0,undo;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,1,udlr;0,1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;0,0,undo;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,0,undo;1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,0,undo;0,-1,udlr;0,1,udlr;-1,1,udlr;1,0,udlr;1,1,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;0,-1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;1,-1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;0,-1,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;0,1,udlr;-1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,-1,udlr;1,0,udlr;0,-1,udlr;0,0,undo;1,-1,udlr;-1,-1,udlr;0,1,udlr;0,0,undo;1,-1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;0,1,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w4 (edge forest)/avoidance.bab",
    "content": "{\"width\":16,\"version\":5,\"extra\":false,\"author\":\"vitellary\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":13,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"winde be goldin\",\"is_overworld\":false,\"palette\":\"edge\",\"parent_level\":\"\",\"name\":\"avoidance\",\"map\":\"eJyN2NGOojAUBuBXMXO1k3hBKS3tTnwWg0IcEiIbh9k4Mb77lB60oof2v9i5+tqtP5zT0rpfdf2+6lbbzeUytF2zedv3u657W583Yt3W7s+P+/f1r9m3Vbe5XNd1e9qI65rFucM5iqXDEsWFwwWKlcPqGcsFrB3WKC4dLtFlGIcNiq3DFsUiG59Khq5a+If48hQZnnueg8+ctIxnMpyH7eFU/Q8DCjAX0ioezDj90wjNhrP4H5RoONJzEw9nXM+uqtswwIKvrtd5lk5z1wQuwCxJ5+ksHyeXaJDECzTIwnMFBNkErsEYSScKdZz875/A0VIlnajVcfJjf+jvAyRfrkvzS7hcleeJch2X8x20jOdYdYfqJ+iC647MwkkrsD2S1mDopEuwQZI2aIMkbtHEtd+Msnjit3ZHWMRDmeOcy2RxHTKeyXzqAn0JiSs0ktJzHY/k1hIJl/Gt//4OkjbxHfr2KwlbLG2PVQamTVpgaRPO0bSJSzRt43mBvYCEE1U5x4miDF2ZeAnWMGmDJUjYogl6rjM0Qet54lx7fwVJ5/E2eFs44cSBaI4ThyG/Ub0HrsC8SWssb8Ilmjdxg+bt5hy9xc9NNKLMwJ1q4gLcqiaeo0d54hI9zBMvsOQnrdDoJ6/h7OmrpUSPWpM36NcWcbbnytn0Q3MewgiDNt6Js533dQeYNNx6Jw/3XuE/GEyi+fqf+9nu9w9DFBoocZ0O9LNqhocRbB9e/glsI2YCJQ13YvIWbsXCfzhY+I6BOFu583RCb6AhbPUuL4itXiYe0nj1kser138O2ET1PnODXsIQt+g1TEE3D4mu/OIFdxkT8Ymt9sWzu+1imCJjN9yIZ+8fIp6/fYgMWLp/uH6cmuH7dFxtP5pj/QtTmoHe\"}"
  },
  {
    "path": "officialworlds/bab be u/w4 (edge forest)/avoidance.replay",
    "content": "1,1,wasd;1,1,wasd;1,0,wasd;-1,-1,wasd;1,-1,wasd;-1,0,wasd;-1,1,wasd;-1,0,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,-1,wasd;1,0,wasd;1,1,wasd;-1,1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,1,wasd;-1,1,wasd;1,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,1,wasd;-1,1,wasd;1,1,wasd;0,-1,wasd;-1,-1,wasd;1,-1,wasd;1,0,wasd;-1,1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;1,1,wasd;1,-1,wasd;1,1,wasd;1,-1,wasd;1,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;-1,1,wasd;0,-1,wasd;0,-1,wasd;-1,-1,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;-1,0,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;"
  },
  {
    "path": "officialworlds/bab be u/w4 (edge forest)/backtrack.bab",
    "content": "{\"width\":11,\"version\":5,\"extra\":false,\"map\":\"eJyN1k1ugzAQBeCrRNlVYoF/MY04CyIBVagUKgpqKsTdazytTCNqvwVZfUbDvPEo9XDqhlvVncpiWaa2a4rzZ9Wdk3vBkra2P1/2+Xhvbm3VFcua1O1YsDU5oNxSjlFhqcCotFRiVFmqMKot1RjNLM0waiw1GM0tzTHK0i2DFMQusHhi3GEeTne6T+W1unovwhFv3j7eS6h3ZBVWuHBYA4U3nmfhun++kawJD9yuJ+Tz8Cg9lMLTcEs2/jb39mNf/RkGzRVZjrVROizibZy9lvH0f+umAwqKn6zG6lYOZ9BWImugXUM2h5aNsyKFtg1ZBq0bshxqGllxNBji2Epo45BV2MYhDCanHY4k528L8Uh4G39+8hzLz1kZyW+3y8hHMnyoXEZi3Hi/e/thksd3iw5gcWbOKui6kNXQdSGbQe0ma6DrYpzNoXqdVWl8Qv54Bqz3xnMen5J+eBn8AQFd9dxZCX0nWQX9uyL7T4brZWymeexP5aXp62++XE/s\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"backtrack\",\"height\":13,\"author\":\"vitellary\"}"
  },
  {
    "path": "officialworlds/bab be u/w4 (edge forest)/backtrack.replay",
    "content": "-1,-1,numpad;0,-1,numpad;0,-1,numpad;0,-1,numpad;1,-1,numpad;1,1,numpad;-1,0,numpad;0,-1,numpad;0,1,numpad;0,1,numpad;1,1,numpad;0,-1,numpad;-1,-1,numpad;0,-1,numpad;1,-1,numpad;0,-1,numpad;0,-1,numpad;-1,1,numpad;0,1,numpad;0,-1,numpad;1,-1,numpad;-1,0,numpad;0,0,numpad;0,1,numpad;0,1,numpad;0,1,numpad;1,-1,numpad;0,-1,numpad;-1,-1,numpad;0,-1,numpad;0,-1,numpad;1,0,numpad;1,0,numpad;1,0,numpad;"
  },
  {
    "path": "officialworlds/bab be u/w4 (edge forest)/bomb cellar.bab",
    "content": "{\"width\":15,\"version\":5,\"extra\":false,\"map\":\"eJyN1t1ugkAQBeBXMV61CRfsL1DDsxgUakipNBZTG+O7F2bWLDYtc+68+HYzmTM7WPerrt9X3WpbXq9D2zXl+qvq1smlTJO2LlXyPf74/Gj2bdWV11tSt6dS3ZI/qB6pwqgZqcaoHanBqBupxagfqcNoNlIvUjXRHGoW0WL51uEybOdcpVNz5bs1YSG0XbWLVkP9ZWvkondN5Bar2RB2Qs39e7QeqpmtEN9U87E/9PFAjlVtCRdQ4mR1Cg2SI4s9O7YauteTNcv3UoLcafZ2+aHGxJm75WCo2efmLR7w0JNlCyQZJps9GGRGGAuSrBGCfO36Q8RTkjnSQeYaKzonLKR5L4QxtkjZOrnV56g9VnNBOIMazTbHVi9/UoQEw1gztinUjIAVVgYtaquxbwBjZKGGuvkAuFIVLWAr7NTp+vuMhBMefe/BZ/KDf3me+Rx67wEL38g7prXtUqzvjMFEaW87MFHGBvoTFLCwXR+xsFsfMbZXA86gP0MBC2/y94S4QpjY+YxTOF76q0ND9TQ7oP45cNucmuF8Oq62m+ZY/wBa7Zlc\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"winde be goldin\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"bomb cellar\",\"height\":11,\"author\":\"Slabdrill\"}"
  },
  {
    "path": "officialworlds/bab be u/w4 (edge forest)/bomb cellar.replay",
    "content": "1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,1,udlr;1,-1,udlr;0,-1,udlr;-1,1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,1,udlr;0,-1,udlr;1,0,udlr;1,1,udlr;-1,0,udlr;-1,1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;0,0,undo;0,-1,udlr;-1,0,udlr;0,1,udlr;-1,-1,udlr;1,1,udlr;1,1,udlr;1,0,udlr;1,1,udlr;1,1,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w4 (edge forest)/boom.bab",
    "content": "{\"width\":13,\"version\":5,\"extra\":false,\"author\":\"Slabdrill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":9,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"winde be goldin\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"boom\",\"map\":\"eJyV1d9qgzAYh+FbkZ4NPDAa/3Ql1yK2ZkWWmeKUdYj3viRfJzq25LczDx4/El9iWh0pfWlUVIt5HjslxWG8j/W5OR/iu0jirhUs/jQP7zd56Rol5iVuu0GwJd5yuerUaObX04ozg9PAaP1mObOcA1yuOjea+3U/ydfVF8YXf/vHJ0ktLf2jPxq10srQyjOVtpdZeoSmctck8UfZWeZPsrOp/xPvrK2XgZb/Y282XA7aQLSdtdVK0AayPWzu7BFq4WyaQHMLZ7FuZLFuZLFuZLFuZLFuZLFuZLFupbMV1ILsEWpRuR8Vdt7IYt3IYt3IYt3IYt3IYt3IYt3IYt3IYueN0a0RCGf/7C9KX90bdHEE8m1uDvKBhNY/P218IOOP1WThm+l7w+4O4RxePvk8vPxeX/XmjeL3DSynQY7T0Ef1SfbtFzbPtbc=\"}"
  },
  {
    "path": "officialworlds/bab be u/w4 (edge forest)/boom.replay",
    "content": "-1,1,udlr;0,1,udlr;-1,-1,udlr;0,-1,udlr;1,-1,udlr;0,1,udlr;1,-1,udlr;0,-1,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;0,0,space;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w4 (edge forest)/breakthru.bab",
    "content": "{\"width\":19,\"version\":5,\"extra\":false,\"author\":\"vitellary\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":11,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"leef be blad\",\"is_overworld\":false,\"palette\":\"edge\",\"parent_level\":\"\",\"name\":\"breakthru\",\"map\":\"eJyN1UtuwjAQBuCrIHaVssCx8yrKWVAgLo3kJig1Kghx9/oxpPGi9r+A1TfW2JOZ6aeNmk6d2hzax0MPSrZbfdOHn05ts1vLsqE3f3fz+77I09Cp9vHM+mFu2TNb8WN3XHhueB7nF6nH+3nuvuQSxU1UHY/S8qatz60XQFJy0UU6J90ptfjSeP6/D/N3EZWJKOB86vRtrxZzi5t08uN0nhbPdvHsbcD72x9n8WToUyiczePPHlgezzuwIp5yYG0xBWjLeFkCa0tYgtYWsAJtg79vbkvXJG3pbKIvA5tD51bOcuhcbwV0bu1sET+XZoi3WN28raAcGmdr6G7eNtC5ptvs+Nqh84g8i3/E1s/TaRWQQy9CmGOp+8kLjNLX6KWIRAeuLut9oprWf6j7OgLrRcI1dls3eXmTvq2fpd6LHTLYP4fxuophWPYeY63J3KwWWG8SxprTzF6LE935+hg9xtqTMNafzA1AgTUoYbBD3QgsEh0aYoad7IZggS1FwthWJIytRcLYXiQMVtBjsBs9xlYjYWw3elz+sxyf+1nq6zxuDns59r+/CJVk\"}"
  },
  {
    "path": "officialworlds/bab be u/w4 (edge forest)/breakthru.replay",
    "content": "1,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,-1,udlr;1,1,udlr;-1,0,udlr;0,1,udlr;1,1,udlr;0,-1,udlr;-1,0,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;-1,1,udlr;-1,0,udlr;0,1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;-1,1,udlr;1,-1,udlr;1,1,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,-1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w4 (edge forest)/checkers.bab",
    "content": "{\"width\":17,\"version\":5,\"extra\":false,\"map\":\"eJyVmttuGyEQhl8l6l0lS13YXQ6N/CzRxt62ll07cpymVZR3r2GGNSCF+XOXi48JOyeGH29Pd4fTZjrcPazf3i67w7z+cvl7eXicHr+s/q671W67Vqt/1z+en+bNbjqs395X2915rd5XCd8dFlQL6NXy79Ppz8L3V161+fNps+DDFdfYTsY2+jpdzgtrwi4a236dbnZtYJuGb6wL7ICxPrCm7YrHOeAqxqSDgkKsanv5ME1/brCGfExsCF8PsiF2I8iG4FmQDcHz6MdZLNIEx/A1/FbAMX4NX+SwDsFTLWdcg/0ScB1xrACJFSow5T3BPRRrYkP8GrlcsCF+rVzO2RA/9zHLjYhY22bLj3NCrDe/5n2Ge6ywI9x3WGUTrKTSJnf0EdZYrRKMxY/YAapVYkeoVok1UK0Sa7FaJViKH/uYYI/VaoSHDqtVgpVUq/SBQ4SB8y99JC3o5QUpq2nBgNU3wcIhWGzdtOu7NGyhAifWYUVLsBeCXnhv7MSoZ7ZHJVR4aVuLSZLb7rGGQPAAnPXPx2kTB58xLhmhI4BYg7UQgi2UIsQ6qIUQ69stpNiE6aB0Ila1+w2Pi8TqduoVdnusNxE8YL2J4BHrTQQbIe2KPVusN5kIO7nV7Od5f1vgsVYTYdtBeUSswloNwRrKDWJ7rNUQLMWwsDxi0wHBBmsGBFtsOrARdlhpE+yhkETWde3SLgw7MH4Ea6wRENxDwSZ2gAYPYkesuAmWroOFZYsVN8FOKO5yH15Mo8zPXrpTFLY9OJO6CANTzTJM0wphrEk7Jxi71RM7YqlHsIGyiVjhapE6I8HgSEOwNNJwhji61ndio8lsq04JOZKizrgWkqSy3gODyuu3H+f5GBZ5WiRMqOx1hkesoTFtMFGHaYv1NKYddL9lGJxuiFbYeMOwMN+UsMb6GtO9mIm5/6Ji02ptlXXwiGRamnMq4xbshYw7sBkyLopvLDiRHKol7S2bpNISQcJJ2084KMIx3WNNMeFDOx0XxYxxQYyrrQt6Tm1dkARq65IoUHkGFHUYR2WdhIuH6E2zZb1UOkl590wL6vjiSsaFc3RxJeMj1h4TLugD1dYt1iAT7topWW/dt1Oysh71HuC4TrgCFWXGNZiSjPdCV63wAdSVGR+xG6HShBu5k33/mi+wWAIz7cCMZNy3U2xxPOFR/YE/Nao/SNdjXINdj3Hh5llbH8Cux/gIphjjBux6jMtna4E78LDsCfftJlbSRriHLo5hXIFthnFMS0h0D6YA40JM671IMa3NG3AaS7z8UFnaR++miZdvp7kzLXo9TTxyti5D1kBrwNOVaUl6L2nskppo8JqacOyimmjwFSzh4DtKwtGRiXCHjkyMf2JkGmkFID48X6bDPl8j/ayA/cn08ClaGJsq2rQb1BIrxi10+Uu0AzsO45IQUVr30uNKhStMuE64pESEuG5308+4xtAasGKZlnSI6z84nn6e8iWCGpH9HCWtEBSJakvYY0uiMUUi0R4coSOuO2EmLoxrkplQ12uSmdAP1Z30eFbhyPNZ/tMa3Uk1W8hYvEa672TnD68Q7jy31sa8cOnJ3355hW8XfOyFT9N5n317FJ9aLaXaVdSf5MRgGHtgYxgT9xn+4Ocm7/fn+fJyPt493M/H7X/H+bEw\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"winde be goldin\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"checkers\",\"height\":17,\"author\":\"vitellary\"}"
  },
  {
    "path": "officialworlds/bab be u/w4 (edge forest)/checkers.replay",
    "content": "1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,0,space;0,0,space;0,1,wasd;-1,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,0,space;1,1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;-1,-1,wasd;-1,-1,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;0,0,space;0,0,space;0,0,space;0,1,wasd;0,1,wasd;-1,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;-1,-1,wasd;0,-1,wasd;-1,0,wasd;0,0,space;0,0,space;0,0,space;0,-1,wasd;-1,1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;-1,1,wasd;-1,0,wasd;0,1,wasd;0,0,space;0,0,space;0,0,space;1,0,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;-1,-1,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;1,-1,wasd;0,0,space;0,0,space;0,0,space;0,-1,wasd;1,0,wasd;"
  },
  {
    "path": "officialworlds/bab be u/w4 (edge forest)/clearout.bab",
    "content": "{\"width\":12,\"version\":5,\"extra\":false,\"map\":\"eJyV1t9qgzAUBvBXKb0YDIQZNf5Z8VmKtc4JosNZ2lL67jP5sqVeNPl2/4vk5Dsn5jhu+rGu+s2+vN3mrm/K7bnqt8GlDIPuWIrgWsrg+6upu6ovb/fg2E2luAeGfvRj+2cjt338bLzQlKPJQrPndL7M+0N1UFwoLhcePuePNF1o7N2EphlVmqb5//ZbLDz38EbpSMcRusszG4H1ZLeykX/XJ6VjrWP3LuymwVWEkZvPn11d2xWSigY2pcqEzai+S7TNqe/CFvx3o9B91Csr3N2xsirCwmultjFVG2xC1QYrqdpgU6o22IyqLdU2p0YEVuUmOBuH7i5eWUH1L6zKLSEtlxsslxusdJ+vmlDjM+1T9gIAz9zHrPgwtqNdkPtvjBerC+LKtbtJQv+Ve377mJpBLcn1EkH1FGxE9RRsTPUUbEL1FKykegrWc3+q42irq/UZ/YMrtOfmEdYzj+rbv08OvUB6htJGD+6ZS8XfXy3nRhOWG01YbjRhuSsVNvWPMU5D6KeVzKhoDM6pvja4oBobOA25hxiwoDIxmHuSGsw9Sg32PEvXWFK/OoOJENtxQIx4x5IxApMxApMx4o1MxghMxghMxghMxghMxghMxgj8JMb7bmrm0zRs9rtmOP4A73l2rg==\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"winde be goldin\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"clearout\",\"height\":10,\"author\":\"Slabdrill\"}"
  },
  {
    "path": "officialworlds/bab be u/w4 (edge forest)/clearout.replay",
    "content": "-1,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;0,-1,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;0,1,udlr;1,1,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;0,1,udlr;1,1,udlr;1,-1,udlr;1,0,udlr;-1,-1,udlr;0,1,udlr;-1,1,udlr;0,-1,udlr;1,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;-1,1,udlr;0,-1,udlr;1,-1,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;1,1,udlr;-1,1,udlr;0,-1,udlr;1,0,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,1,udlr;1,-1,udlr;-1,0,udlr;-1,1,udlr;-1,0,udlr;-1,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;-1,1,udlr;1,0,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,1,udlr;-1,-1,udlr;-1,1,udlr;1,-1,udlr;1,1,udlr;-1,0,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;0,-1,udlr;0,1,udlr;0,-1,udlr;-1,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;1,1,udlr;-1,1,udlr;-1,0,udlr;1,-1,udlr;-1,-1,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;-1,1,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;1,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;1,0,udlr;1,1,udlr;-1,0,udlr;1,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,1,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,0,undo;1,-1,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,-1,udlr;1,1,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;0,-1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,1,udlr;0,-1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;1,0,udlr;1,1,udlr;1,1,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;1,0,udlr;0,0,undo;0,0,undo;0,0,undo;1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;1,1,udlr;1,-1,udlr;-1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;1,1,udlr;-1,1,udlr;0,-1,udlr;1,0,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;1,0,udlr;-1,0,udlr;0,1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;0,-1,udlr;-1,-1,udlr;0,0,undo;0,0,undo;-1,-1,udlr;1,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;0,-1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,-1,udlr;-1,0,udlr;-1,-1,udlr;0,0,undo;0,-1,udlr;1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,0,undo;1,0,udlr;-1,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,1,udlr;1,0,udlr;-1,-1,udlr;0,-1,udlr;1,1,udlr;0,1,udlr;1,1,udlr;1,0,udlr;0,0,undo;0,0,undo;0,-1,udlr;1,0,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;1,1,udlr;1,0,udlr;1,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,1,udlr;1,1,udlr;1,0,udlr;0,1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;-1,0,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;-1,-1,udlr;-1,-1,udlr;1,0,udlr;1,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w4 (edge forest)/controlled destruction.bab",
    "content": "{\"width\":16,\"version\":5,\"extra\":false,\"map\":\"eJyVmN1u4kAMhV8F9QLtSkibSTJ/rXiWKkBKUSOCAghQ1XffjD0NQ7Ubn1wU9eLzxOPjsT2zaWdNu66a2evy8/O0a+rl0+l6el1Vq6fFdZktdpulWtz6f46Her2rmuXn12Kz65bqa5HidaBVoHOZPgc4D3AxDl+qhtYtAlv2rJZZWlePs8ePM8PkscEWpljYCazr2RJkfc8WINv/3vpYY1FTQT0jwp7YHFqY18WkYzZIl8sOlwQL2oUEev5NvCbewOnJ61uZf2vabRJCJ1tc/rx19f6egMrLNsfd/ta163si5plstG1P90zIhaP5kAk5pi5HNS+mwODRZJ/1eDKETfZ/yepmPIODwTzBg74WTLbcQacjwn7CykXQ0qFw0NGjMOkIqM40CTmiJGVirIckUBHUVCPF6Ee+k40GbPgUUi4WBuCPh6r7IL94Jxb+BiVC4ZB9cKwMGXj4A5YaUgbw+3bbBgtHFkqwiO6QDiXpDJRNggsMpuJUlhjMbVdjMGlUGgwmgUqLwSRO6TCYlfEYTKLoDIOpRWo1Ic46x/oesYVcFlft+Tqkhy7HK3QwiN2FndEyn5wejbTV6A9Jr4G+2p7X74OiGmir80FSDTTUbVtdqtuhOQ7aGqCjzgdxDdZOeWWsm5LvBmumFBUDyLqq33f783BCjR4fNFOpSFtjZIN7gectWNkkZhv7JDTWH9lmvIw/qEtO2Uy2iqMEOWXVeE8O/KFrT/V6PXhmc9lmW93uPhXjfLxYsT+l0MljRNkRLcDfErMbRqATwXhusnbCwGLdhPHQgtWYl3ZgOeah1oH1mKdyB7ZUqgauQMaBGHTeqSuBYSteRthAjw9+NEEks7CTZP3eLvUUZzGVODaCpOmcGJ3xQMtKNuuz8Usu3ex+JbyaUqZ4Fz4HRHu4XnhI5uQC6ZH5+PsTlKRemo4fVPPgDBVpaSoe7rIcHwc9NPCbBKwvX5Mz4V3iH/cGlSnZhg8AX94zrO1GWJip0mFUZdgjhWEYuMQ+tFyVGaCvRwt+Qcj+p+zXS1efzt1+9vpS7zd/AQw0jIQ=\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"controlled destruction\",\"height\":14,\"author\":\"Slabdrill\"}"
  },
  {
    "path": "officialworlds/bab be u/w4 (edge forest)/controlled destruction.replay",
    "content": "1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;1,0,udlr;-1,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;1,1,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;1,0,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;1,-1,udlr;1,-1,udlr;-1,-1,udlr;0,-1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;1,-1,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,1,udlr;-1,1,udlr;1,1,udlr;-1,0,udlr;1,-1,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,0,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;0,1,udlr;-1,1,udlr;0,-1,udlr;-1,0,udlr;1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;0,0,undo;1,0,udlr;0,1,udlr;1,1,udlr;1,-1,udlr;1,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,-1,udlr;0,1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,-1,udlr;1,0,udlr;1,0,udlr;0,0,undo;0,0,undo;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,0,undo;0,0,undo;0,0,undo;1,1,udlr;1,0,udlr;1,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,1,udlr;1,0,udlr;0,0,undo;0,1,udlr;1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,-1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;-1,-1,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w4 (edge forest)/copdog.bab",
    "content": "{\"width\":15,\"version\":5,\"extra\":false,\"author\":\"Slabdrill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":12,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"copdog\",\"map\":\"eJyV191O4zAQBeBXqbhAWqkXSRz/BJRnqVLiRdVGDQop26rqu6/jMesGnMzhAq4+m7GPPTFtv+n6l6bb7OrrdTx0tn7423QP23Odbw+t+3VxP+9v9uXQdPX1tm0PQ53ftglaOFp8pSJJhaMCo6WjJUaloxKjylGFUe2oxqhx1GC0crRa3tfxPO7shx0ueUwim6JYyWIa8/Rr8oX3U3QZGx3ZAoqZrOBL39vIS6bsMLfwWK7X4edu9tGr1Jmb++Etcp06d3P+x9roTerwRT8rpUqdk/Qyi+wn6dOQHNvG0mMmzhgRccHv4j1PXsmFSuT6SoOV3iq+6lPUmi/6tblEz2QZcieLZemtYLIMVnmLdVOyBTSv9lZA85ItoTZNVkJ9mqxab9RtP0SrU516oV6TatULNplbut4yg5o12TyVxTdrvAXuXtgL8vDlI17yLexo23CaaYiE7itZBZ26ylvNr/QxaoO2auLYFfRWYlfQfUAnzNzBqY75gOS7Zml25uP4iem9UqJtOniJVUKYSXLfn8532me58lr4wg3wFvk/xL8DZAU9RwirDN4Z8kCox/61vxvBpOpHjNGbjPfh0oU/INZ73LcllOt9bvK/+yG0jjBGQpckYPRAkOYOxHyx3Hn4rMS/ZVSF/VPhsQY2/hS5ybE7QnPn6810jguojQbMpD/HTPRzDGZOWKU+cktYgweEtEE7BvFq4YTcngc7nobjZvdsj+0/Hx/RHg==\"}"
  },
  {
    "path": "officialworlds/bab be u/w4 (edge forest)/copdog.replay",
    "content": "-1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,1,udlr;0,1,udlr;-1,1,udlr;0,-1,udlr;1,0,udlr;-1,-1,udlr;1,-1,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;0,1,udlr;-1,0,udlr;-1,-1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;0,0,undo;-1,0,udlr;-1,1,udlr;1,0,udlr;1,1,udlr;0,-1,udlr;-1,1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;0,-1,udlr;-1,1,udlr;-1,1,udlr;-1,-1,udlr;0,-1,udlr;1,-1,udlr;-1,0,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,0,udlr;1,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;-1,1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w4 (edge forest)/edge forest.bab",
    "content": "{\"width\":19,\"version\":5,\"extra\":false,\"map\":\"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\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":8,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"map\",\"is_overworld\":false,\"palette\":\"edge\",\"name\":\"edge forest\",\"height\":15,\"author\":\"vitellary\"}"
  },
  {
    "path": "officialworlds/bab be u/w4 (edge forest)/endless stacking.bab",
    "content": "{\"width\":6,\"version\":5,\"extra\":false,\"author\":\"Slabdrill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"endless stacking\",\"map\":\"eJyNldGOgjAQRX/F+LYJydoWBDT9FoPSNcQGDdZdjfHfl3a0LVLL8MTDuc0wZ6bUx5k87io52/D7XTVS8PlWSKnmyZUvkqbmJLn1L+eT2DWV5PdHUjcdZ48kCNMeJliYaXh0dG5pdVWbbbW1fKr50elkwB+EONhApgM0HujfLL/UPIvz55NslOpsJteZ9HPmVRDRcBHqZTpuj4HLeC91MX/fP51obaJv5o2P6i+GkUq6eoiWu3wP0A8FEYoRJhzPEMJa7/wU4cs/P0P4em/RcsKXN3TUBPKQMzJuEdDFtLTnxAFfxo35lVBtN8N0B3DtNo8cPSicYtxeHI5R6xeDUes3hmLctl79U17t5zKD53FP3pYDr72OTg9sLtAlopmt49kC0x3bUcgQzCAbPjU8Dc1xYNWBZtNzXDfV/qzEyYXS0DCng5D4Fd2NuEgWv4CeIwGsVlwgDAOdIxy8LkNIFOjrB/gSYWD1pfnM/L4WSANAE+SvFGjc1TyI4FcYeMwK74/94yKYJTar5iKf9vix7oS6dO1ssxZt/Q8mXesd\"}"
  },
  {
    "path": "officialworlds/bab be u/w4 (edge forest)/endless stacking.replay",
    "content": "0,-1,udlr;1,-1,udlr;0,-1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;1,1,udlr;1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,-1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;1,-1,udlr;1,1,udlr;-1,0,udlr;1,1,udlr;-1,1,udlr;0,-1,udlr;1,0,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,1,udlr;-1,1,udlr;-1,-1,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;1,0,udlr;1,-1,udlr;-1,-1,udlr;0,1,udlr;1,1,udlr;1,1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,-1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;-1,1,udlr;-1,0,udlr;1,-1,udlr;0,-1,udlr;0,1,udlr;1,-1,udlr;1,-1,udlr;0,0,undo;0,-1,udlr;0,1,udlr;1,1,udlr;-1,0,udlr;-1,1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;-1,1,udlr;-1,0,udlr;1,-1,udlr;1,-1,udlr;0,-1,udlr;0,1,udlr;1,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,1,udlr;1,1,udlr;0,-1,udlr;1,-1,udlr;1,-1,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;0,1,udlr;-1,1,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,-1,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;1,-1,udlr;0,0,undo;0,0,undo;0,0,undo;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;0,1,udlr;0,-1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;1,1,udlr;-1,0,udlr;0,-1,udlr;0,1,udlr;-1,1,udlr;-1,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,0,undo;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;1,-1,udlr;1,-1,udlr;1,1,udlr;0,0,undo;0,1,udlr;0,0,undo;1,0,udlr;1,-1,udlr;0,0,undo;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;0,0,space;"
  },
  {
    "path": "officialworlds/bab be u/w4 (edge forest)/outsmart.bab",
    "content": "{\"width\":20,\"version\":5,\"extra\":false,\"author\":\"vitellary\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":12,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"winde be goldin\",\"is_overworld\":false,\"palette\":\"edge\",\"parent_level\":\"\",\"name\":\"outsmart\",\"map\":\"eJyN2NtO4zAQBuBXQVystFIvmpOdLOqzoEBCN9tsg0JYqCrefRP/4+Yg4fnvuPjGKjMeZ+yqu2u757K9ezxcr0PT1of74XN4PDX90/3u87DfNdUh2l3GP95e6+embA/Xr13V9Ifoa7fwb0PZnm4B8RgQhQNOdT37ZPTx9/6jbG80HWkSXnrJs5Gn3MpmpFl45XNdjb/7FmHHiJxbPJ8yoqTk2A2TjyZfhFMuSzsa7fVsP9Uzj6hkw8Z6tpdLJ1S2YVM93S9dX3X9HDIV034f8qdsFuubcHGm9dcBSjW3/+tU0YL8Xwui+qdyKM+XKSZ2LbSndgBspO+A91nH1AaATfQNcO6O3RyQUlsANtO3ADIOrlR0tbRVMi44cTinUg1bhFO9tMmeSjRsFE70ysZUjmGTcI79OQ+cUhmGzZg9LaunLsJQaYa1/BcEATmVa9hC39Ry7jif7ql8w0bhfK9sTKTwx8QzxxMqf7Ap+00Az6jswRr2mwBuqeTB5spmlYoDF9RmdTbbE5luy/LfFGFchDLzyOqwxLjz0jfVsZpDuIkHlhh5jl35UV5e27c5ipt8YJXRZ2W1k3Wuv3WeO1xhucPVWcMdrrDK4XrrM2jueIVVjle/p4CnQhoWZ+HtvcYmPIyssasgWRLDDK6/u2FwFc9dCDe7OmuJ2dVPaQjgpldYYnp97v7W0jaI4UZYWGWE9VkHzrjiAyujzhpbrvjAOVd8YG1uFVy4Gw43sMISA6vchuC5kRVWGVlXlptWYZVp1acZ2HDVBiYbElhrSH/xwLWTvEc6XBDN+NJ2x0WE0o2LOxM80ZG/fi48eaEEJttRNNmPok346rnRylVyo8mWFE32ZCRvA1xXeq305UZzXek115dec53pNdmbnpPd6bkliy88J6svvCDLL6832ijreQzOzbFeK5PsRivDj3+7EZ2S/6dw7X7peQLOXS69Vq6XG80euSk4eeZCx8qhu9Hc9dJr7YLpeQbOXTC9Vq6YG83dML02XPeLtlxSRLPVNOBkNaETspqiyWqKZqtpwclqilaq6XtZdMad5aIN+cNzcMv9cNE5l3HRBZdx6JQ9awtw8qwVTZ61orkHA6+VJ4ON5p4KvOYeC7y24U/tRufhL+1Gcy9Aot0bEPFgLzoiv1bCv+vNr4e+Ht77893jQ32u/gO4MgR6\"}"
  },
  {
    "path": "officialworlds/bab be u/w4 (edge forest)/outsmart.replay",
    "content": "1,-1,wasd;1,0,wasd;1,0,wasd;1,1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;1,1,wasd;0,1,wasd;0,0,undo;0,-1,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;0,0,space;-1,1,wasd;1,-1,wasd;1,1,wasd;0,1,wasd;0,-1,wasd;0,0,space;0,1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;1,1,wasd;1,1,wasd;1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;0,0,undo;1,1,wasd;0,0,space;-1,-1,wasd;0,0,undo;0,0,undo;0,0,undo;1,0,wasd;0,1,wasd;-1,-1,wasd;-1,-1,wasd;-1,1,wasd;-1,-1,wasd;-1,0,wasd;1,-1,wasd;1,1,wasd;-1,-1,wasd;1,0,wasd;1,1,wasd;1,1,wasd;1,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,-1,wasd;1,-1,wasd;1,1,wasd;1,1,wasd;-1,0,wasd;0,0,undo;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;0,0,undo;-1,0,wasd;0,-1,wasd;1,-1,wasd;-1,1,wasd;-1,-1,wasd;0,0,undo;0,0,undo;-1,1,wasd;1,-1,wasd;0,0,space;0,0,space;0,0,space;-1,1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,-1,wasd;-1,0,wasd;1,1,wasd;1,1,wasd;-1,1,wasd;-1,-1,wasd;1,-1,wasd;1,-1,wasd;1,0,wasd;1,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,1,wasd;-1,0,wasd;1,1,wasd;0,1,wasd;0,0,undo;1,1,wasd;1,-1,wasd;0,0,undo;1,0,wasd;1,0,wasd;1,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,0,undo;0,0,undo;0,0,undo;-1,1,wasd;-1,-1,wasd;0,0,undo;0,0,undo;-1,-1,wasd;-1,1,wasd;0,-1,wasd;-1,1,wasd;1,-1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;1,-1,wasd;0,0,space;0,0,space;-1,1,wasd;-1,1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;-1,1,wasd;-1,0,wasd;-1,-1,wasd;0,-1,wasd;1,-1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,0,wasd;1,1,wasd;-1,1,wasd;-1,0,wasd;-1,-1,wasd;0,-1,wasd;1,-1,wasd;1,0,wasd;1,-1,wasd;1,-1,wasd;-1,0,wasd;0,0,space;0,0,space;0,1,wasd;0,0,undo;0,0,undo;0,-1,wasd;-1,1,wasd;1,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,0,undo;0,0,undo;1,0,wasd;0,0,undo;1,-1,wasd;1,1,wasd;0,1,wasd;-1,0,wasd;1,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;0,-1,wasd;1,-1,wasd;1,0,wasd;1,-1,wasd;0,1,wasd;-1,0,wasd;0,0,undo;0,0,space;-1,0,wasd;-1,1,wasd;0,0,undo;0,0,space;-1,1,wasd;-1,-1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;-1,1,wasd;0,0,undo;-1,-1,wasd;-1,1,wasd;1,0,wasd;-1,1,wasd;0,1,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;-1,0,wasd;-1,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;1,-1,wasd;-1,0,wasd;1,0,wasd;1,-1,wasd;-1,0,wasd;0,-1,wasd;-1,-1,wasd;-1,0,wasd;1,1,wasd;0,1,wasd;"
  },
  {
    "path": "officialworlds/bab be u/w4 (edge forest)/power of ignoring.bab",
    "content": "{\"width\":25,\"version\":5,\"extra\":false,\"author\":\"Slabdrill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":7,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"leef be blad\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"power of ignoring\",\"map\":\"eJyVl81u2zAQhF/FyKFFAR9EivproGcx1Eg1hCpSICtwAsPvXmmHsmkg1U5vPnxDa4fk7rAedt3wUnW7Q3m5TG3XlE/nqnvaf5TRvq1Ls/+cf5zempe26srLdV+3Y2mu+y9QO6OGQ+MZtf9G62G8oW5GY27VZEYdh6YzmnBoNqOpipoFzSmzBC0oswQ1EeUWWEPZBdZSfoGNKcPAum3Hpo/pcK4m+ehYBMl2gYugPfZDoEi3y1wUv6q6vQuy7VpF0Cy4EzzfXn9dOxG40D//OFTn6vOtO91UNtr+i9fwL6yhtioT1lKnEGxMHUOwbrvMdUsBJ9Q5BJv+R3EZdQ7B5tTNzYUtKNOEjSPKNLCGMw2wpUwDG1OmgXWUaWATyrRC2JQyDWxGmQY250wDXFCmCesiyjSwhjINrNU73u9hXBu1dEmnXL2wS3qFMgrvPczzyjxc+H44ndvXQKMMRvxH/30SiRVJpn9W39R/GnyatGOX68U/tEwvU/Z6ka0miyCJuLElTTbhso6HubTjYS7veJhLPB7mMo+HudTjYTL3pAKTyQcwmX0ETsnwA5hMP4DJ+AOYzD+AlQC0wjKl0oSzDnDKWQc446wDrCSex5ULzjqBM/IOAjZMdoRAWm+m3MNF8C3AlZsYdhAI+KYLnmq6xyFQEC13DYMWLxJlY+/f5Hllbxf+PcCV3X2YAZDkymANh5nFU8no++ZrAG/1mvthGqt+HrSvgS7Wa//5I+CdXsl9lHtNQp1wKyMp50KTh7nU5GEyNnmay02ACy44eZhLTh5WotMKy7OsiDnvADvOO8DKE/TmHWjl+fm4tPL0fIRzzjvAxdfeXZ/HZnof+93huenrv9Z/61c=\"}"
  },
  {
    "path": "officialworlds/bab be u/w4 (edge forest)/power of ignoring.replay",
    "content": "-1,1,udlr;-1,0,udlr;-1,0,udlr;1,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;1,1,udlr;1,0,udlr;0,1,udlr;1,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;0,-1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;-1,1,udlr;0,1,udlr;-1,-1,udlr;0,-1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;1,1,udlr;1,1,udlr;-1,0,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;1,1,udlr;1,-1,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;1,0,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;1,1,udlr;1,0,udlr;0,1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;-1,0,udlr;1,1,udlr;-1,0,udlr;0,1,udlr;1,1,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,-1,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;0,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;1,-1,udlr;-1,1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;0,1,udlr;1,0,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;1,0,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,0,undo;-1,1,udlr;-1,-1,udlr;1,-1,udlr;-1,1,udlr;0,1,udlr;1,1,udlr;-1,1,udlr;1,0,udlr;1,-1,udlr;0,-1,udlr;-1,0,udlr;1,-1,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,0,undo;0,1,udlr;1,-1,udlr;1,1,udlr;1,-1,udlr;-1,-1,udlr;1,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;0,1,udlr;1,0,udlr;-1,1,udlr;0,1,udlr;-1,1,udlr;0,-1,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;-1,0,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;-1,0,udlr;0,-1,udlr;1,-1,udlr;1,0,udlr;0,-1,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w4 (edge forest)/shini.bab",
    "content": "{\"width\":17,\"version\":5,\"extra\":false,\"author\":\"vitellary\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":11,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"winde be goldin\",\"is_overworld\":false,\"palette\":\"mono\",\"parent_level\":\"\",\"name\":\"shini\",\"map\":\"eJyV1k1OwzAQBeCrVKxAyiJ/thNQzlK5bagCVlOlQYCq3h3bL62phOzHjsU3bpjxS2Y3rsy41Wa17s7neTB99/CpzUP21eXZsOuK7Nv+cTr220Gb7nzJdsPUFZfsD1paWnC0srTkaG1pxVFhac1RaangqLJUcrSxVHG0tbThaJFb25LWzauIDGz+mtevZty7isJXlNSEYat4h93hm97x0vM6fvT1OYBF/E6cjnp6N4HL+KNs9CbYxAjdYz8/OV553lAXGbal7lzt85FTnYYtqGeALak0wVZUnGDrf/xvggoUrKQSBavikXKjW7zwvon3ONxQ8DbeZscP4368FVQ51WvYIt5rd3i41Sgp2YCBV/Gu+4v9GHhNNR5WUO8y6a2kLjasoi42bEM1G7Ylmj1r836rqPN0r6dx67zynvsUwia+hZijMXOoSATz7kkSwfSn4/0HnwhnuFXgiXw6/hE0kVAc3nieCOjSRVginb+OFlw2YRPZvLOJUN7ZRCLf9PALc3mE5fIIK6nlAlZRywVsQywX+1F/6u+jObmy1pe11Mi9lXl65HgdgxfUyGHL+MhveYSuiP/1Ok1U1ImK6yaFBVRwaxewpF6aC1ZUTxbckE1ZeEt0BZFEgcoTBeEH/IapmP31+kVeSkr6J/w2qFKTDd6veCo117uV2m8tSrAvrsXL+MjCd3zxip0aeCq3wftvv0pNOXj/JW3+HrK6XF6mfv6YDqv1S3/Y/QDaEcdG\"}"
  },
  {
    "path": "officialworlds/bab be u/w4 (edge forest)/shini.replay",
    "content": "1,1,wasd;1,0,wasd;1,0,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,0,undo;0,0,undo;-1,0,wasd;0,0,undo;-1,-1,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;-1,0,wasd;-1,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,0,wasd;1,-1,wasd;1,0,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,0,wasd;1,1,wasd;0,-1,wasd;0,-1,wasd;0,0,undo;0,0,undo;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,0,wasd;0,0,undo;0,-1,wasd;1,-1,wasd;0,-1,wasd;-1,-1,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,-1,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;-1,1,wasd;"
  },
  {
    "path": "officialworlds/bab be u/w4 (edge forest)/thicc prison.bab",
    "content": "{\"width\":17,\"version\":5,\"extra\":false,\"map\":\"eJyVld2OgjAQhV/FeLcJF0xbCqzps5jyE5eEFYMYNcZ3l7bEsm7plPtv2tNzZqZVt2m7UrabvXg8hqatxXa4Dfui3kY3kUVNJSC6izQ6n+qyka14PKOq6QU8oxk9XAqp+FTxBOeP3aFTfK54ivN9V76PZyNOP3Fq8UkKUAUnI8xDYe4SsgSnIxyHwtkIQyicjzDxwO90tHsQI36oeH6asrR5gl/6ZDYkGiZrHAS6JhxQUbJgWmWZ+B966ORV3k/tWZdxXcYR7217jXpUQYoXGP8nh5BwC1nYsHLXi+HTejNGsZ+9ylax2hsCrp5ZYIkrowWW+jUoLyY+1jxztRY4vDN44rLOvSpMAcfeOfRWfOpqmCU4c/X5f5hoOA87WcM0xk62ftOAXTv1E2iehPptcIr7fbE085ut6O8vqx0J8887uV/3xBr/nJt2yewMG5o5nPsnYf6zaUdYjOVuZbMV36Y5PODfnGXJqL+tzOycr83ve3oYC73B4M7P83P4jZ+mgAfZY+SnQVvInJutYJENO9eQLGzY566vh0t/3Ox39bF6AQcdDCc=\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"thicc prison\",\"height\":8,\"author\":\"Slabdrill\"}"
  },
  {
    "path": "officialworlds/bab be u/w4 (edge forest)/thicc prison.replay",
    "content": "-1,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;1,0,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,-1,udlr;1,-1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,1,udlr;0,1,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;1,0,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,0,udlr;1,1,udlr;0,1,udlr;0,-1,udlr;0,1,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,1,udlr;-1,0,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;1,1,udlr;1,0,udlr;1,-1,udlr;0,-1,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,1,udlr;-1,1,udlr;1,-1,udlr;-1,0,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;-1,1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,-1,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w4 (edge forest)/will n't.bab",
    "content": "{\"width\":15,\"version\":5,\"extra\":false,\"map\":\"eJyN181Og0AQB/BXaTwYTXqAhf1Aw7M0KESbEGgQU03Td3eZWYG2uvM/tOnhN2Q7szs71P2m7V+rdrMrT6dx3zbl3fg17vyvu+1XmW73tf/69p+PQ/O6r9rydN7W+6FMz9sVf6leZq48zwTezDrzOo/rzxnnHuv/8bFaFq09tRg1njqMWk8LjLopawlmi8lGUry2/pkeKxBT7YRqVEPf1VOIopCpfvLj2WZQltnmwFLCPsooQMsb6eB/DUuEgfYHWxtf+vT0Y9+NS4CL1/5m+WBRCasESQ6dmpx8Kh+bNVdQYthiNWWL1DQEaArQQC9pFm7ie3HiTw8Lt/KOuV+0k3PY9W/9ElBAWSSbJfEshp3CNsVaBWMlpDxgQxirJVuplgFbwkIdL6xQxAsrVPDCCvW7sFjpyOZT6Qxo03iC5/7EWsVvmiudyQ3nd39yQC7so3CpM9YCvlqMEbrZFbfYJcXYYTvPES7iO29eB2ktHMP1k7V0VwZcEFbgMlhj55AteA597SYNNNS3vjpW34f2YxVm4mdnXn7gwGXpP6sAJwdw4w6+AKcl0ka6LX81j3fC/Lr8V+YKmxwZZ3+uJLvRNAKZHF0Jc3CGZWzAnNC8YSzUvwN2UAMPuIA6OGObQC084BSb/hkrqIkHjB3PgHPsdYGxxl4YGBvwELC24EsDa/dnQ77dqKwLYK4LB54CXCK3ofeqGefJ0QEvlU+P88uD+2eAPT8Pzfg5dJvdc9PVP8xx4/A=\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"will n't\",\"height\":15,\"author\":\"vitellary\"}"
  },
  {
    "path": "officialworlds/bab be u/w4 (edge forest)/will n't.replay",
    "content": "-1,1,wasd;-1,1,wasd;0,-1,wasd;0,-1,wasd;0,0,undo;0,0,undo;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,-1,wasd;0,1,wasd;1,0,wasd;-1,0,wasd;1,-1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;1,0,wasd;1,-1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,1,wasd;0,-1,wasd;-1,0,wasd;1,-1,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;0,0,undo;0,0,undo;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,1,wasd;0,0,undo;0,0,undo;1,0,wasd;0,1,wasd;0,0,undo;1,1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,1,wasd;1,1,wasd;1,0,wasd;0,0,undo;0,0,undo;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,0,undo;0,-1,wasd;-1,0,wasd;0,-1,wasd;0,0,undo;0,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;0,0,undo;1,1,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,0,undo;0,0,undo;0,-1,wasd;0,-1,wasd;-1,0,wasd;1,0,wasd;-1,1,wasd;-1,1,wasd;0,0,undo;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w4 (edge forest)/xwx _nuzzles bulge_.bab",
    "content": "{\"width\":15,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":10,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"sayonabab\",\"is_overworld\":false,\"palette\":\"baba\",\"parent_level\":\"\",\"name\":\"xwx *nuzzles bulge*\",\"map\":\"eJyV191um0AQBeBXsXJRqRIXLLv8bCKexaIGpagEIoJrR5bfvbBn6WLX7Zze5eKbhMxhZtl62HXDoep2+/JymdquKZ9OVfcUncs4autSRZ/zDx/vzaGtuvJyjep2LNU1ekCTmSqO6pkmHDUz1RxNZ2o4ms005Wg+04yjxUxzjtqZFhxV8WytaJWzQl7Tedr/qKbghdAWX41DX4cKIbulot/8ASG/hZ+O41soEFJcCr41gQtJgn9v+2Mo4RKF5SKFtVROiZuVWM4J/yW4omYLNqGGC1ZT0wVrqPGCTan5gs2oOGBzKg7YghoxWC467XYXEV3ddM0UKrj0YIX0tvOCAiHCpeBtGH6GAiHHzYqAF7Jc/JeghTQXPTXnza8XIv2zgMsVlsvVuIPmYa75Y8slCkskilEH50YSlhtJWG4kYbmRhBXyG4dDsFx0sFx0qTv4iZG88Vx8sER8x6Cl9PzoAhuqzbAptflgM6p1mbO53LrfHwCoKKjmwVrqLHI2i6kXH1ZRLz5sQnUZVlNdhjVUl3NnU7nL/aCCz6gew+ZUj2EL6pkLZy37ieJ4HlOPDKv+/cj++IFNqKits5pp8+sQCgz10LAp1WdYboHCct80sNwCheUWqMLNRdigt5hbnx4T+9PfF+A1lbfHwgbdfjz4CmGPbo4KX5BRLfc453ru7gtFQZ9avsByfXfYxtTr6rGS++gvXfCJ3MUbr7kmAnOLVbkvd0tsVv8k8Nxm9VhYretNGrjgXlxgKze83/xyFcfcRdRrxbVQQyf/caNZazTXR68N9zJ6ncrNeR2qU/X53n1s6zL5rXz+ui3IudfSa+7wVAZaOD5vteJOz1UL5+edTqgPq1WT+9drQ90qVi0Ee6eFOO80maXXf8ny+jI203Hsd/uXpq9/AeuM+wc=\"}"
  },
  {
    "path": "officialworlds/bab be u/w4 (edge forest)/xwx _nuzzles bulge_.replay",
    "content": "0,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;-1,1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;"
  },
  {
    "path": "officialworlds/bab be u/w5 (hole)/break the wal.bab",
    "content": "{\"width\":10,\"version\":5,\"extra\":false,\"author\":\"Slabdrill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":6,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"break the wal\",\"map\":\"eJyN00sKgzAQBuCriLuCC6OJ2krOIlFDKwQtNlKLePfmUayCeSx09WWY/Jlph4ANDWFBhZeFd4zikM+8qiljPIxmDKKuFb+P+F5P2nSE4WWN2m7EYI0OBzadCJ3Y9YOOG08FT828JrWkiaTQXnlrWmF0Vhcd2rgPm86Ehmb9JkxSKGkuaGzuYk8Le3B7erXfbU9BbI/sYMHZxQxWvhxyWqRs6pWCttArBm2RVw7aZl45aJt75aBtYc9Bjs7PZ8o73k7thx7jXC1I7LtPmgN3+emvE3soUveDnvxCHUjd5W8Xya+Kw/Nw1nKkfBr7oCpp334BlnJzCQ==\"}"
  },
  {
    "path": "officialworlds/bab be u/w5 (hole)/break the wal.replay",
    "content": "1,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,-1,udlr;1,1,udlr;-1,0,udlr;0,1,udlr;1,1,udlr;-1,0,udlr;-1,1,udlr;0,-1,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;1,-1,udlr;0,1,udlr;0,-1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;-1,0,udlr;-1,-1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;1,-1,udlr;0,-1,udlr;-1,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;1,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,0,undo;-1,-1,udlr;1,0,udlr;-1,-1,udlr;1,0,udlr;-1,0,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;1,1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,1,udlr;-1,-1,udlr;0,-1,udlr;1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,1,udlr;1,-1,udlr;-1,0,udlr;0,1,udlr;-1,1,udlr;1,1,udlr;1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;1,0,udlr;1,1,udlr;-1,1,udlr;-1,1,udlr;1,0,udlr;1,1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;0,0,undo;-1,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;1,0,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;-1,-1,udlr;0,0,undo;0,0,undo;0,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;-1,1,udlr;0,1,udlr;1,0,udlr;-1,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,-1,udlr;1,1,udlr;-1,1,udlr;0,-1,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,-1,udlr;1,1,udlr;-1,0,udlr;-1,-1,udlr;0,1,udlr;-1,1,udlr;1,1,udlr;-1,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;1,1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,-1,udlr;1,1,udlr;-1,1,udlr;-1,-1,udlr;0,0,undo;0,0,undo;-1,-1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;1,1,udlr;-1,1,udlr;1,-1,udlr;0,-1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;0,-1,udlr;1,-1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;0,1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;-1,1,udlr;0,0,undo;-1,0,udlr;-1,1,udlr;0,1,udlr;1,1,udlr;1,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;-1,-1,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;1,-1,udlr;-1,-1,udlr;1,-1,udlr;1,1,udlr;-1,-1,udlr;-1,1,udlr;1,0,udlr;1,-1,udlr;1,1,udlr;-1,0,udlr;1,0,udlr;1,1,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;0,-1,udlr;-1,0,udlr;1,0,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;0,0,undo;1,-1,udlr;1,0,udlr;0,0,undo;0,1,udlr;0,1,udlr;1,1,udlr;1,-1,udlr;1,-1,udlr;-1,-1,udlr;0,1,udlr;1,1,udlr;0,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;-1,0,udlr;0,1,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w5 (hole)/duodirectional.bab",
    "content": "{\"width\":18,\"version\":5,\"extra\":false,\"palette\":\"default\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":7,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"author\":\"Slabdrill\",\"parent_level\":\"\",\"name\":\"duodirectional\",\"map\":\"eJyVlttu4yAQhl8l6sWuKuXCGB/irfwsEYmpay01kUOVZKO8ew04NrjDYS+Sq+/Hwxz+oeEbxo+Ebfb1/S46RusXcRX7A33ZXmu07Zrx7zb+zid67Air749t0w11/tga9K8ZTkc49cMtJxdyO7HzLMKjKPOLTpwPgjM2a7JRk0dElUo4h66ALPiDC0FnQeE/vTseOBOSxpIuRzpZ05mL3oWDeWe8lXwm+Qo63b6prpaiUeIv13s3PKPRPIIqhmf+QA4LK6uL3aH/OBssbGmF/ud1wWVNi5is5wrPocSkTrwI93FLbpIvFF+G+QthC78Ld6QYSP9PKkqlqMJfMFKqNGkSnpVPKtgiQLGtXCk8hZKKnDj2N/Maz6Bmc+O5v9/WeAHlxo2XUGbc+A7qTntuBb0qwTiEUlGFFeN49b8NDU7CGqMnkPZP5C/a1KYTDA6x3UEfhJrH44h76H2hzBNn/nBMh5sUEQa9lGPSFP+XKeW9GLRqW0QG3jeGJODX5xMZ/jKDr8L5nbKl+Cym4s9sKZ/MAuWWil4YfBqxcYxMaREO21nLP28XbZmTCHRwMDLlyRlo4Qjy2EkAmrgtMAqiNaXfdH4EFWHk01acBDFzTp9jrpZFnoQvvpaA7zBwCjUPPsXQqoDmB7DfbaGYIl5hVkx5OFP6QYDU8sqLcJosHtzZq04fuqZtDM0uoj14yw0FOOGOiVWKAtza7gnUosDmlqIvA0/h3D7eBiq+hn6zf6N98w1SiAO7\"}"
  },
  {
    "path": "officialworlds/bab be u/w5 (hole)/duodirectional.replay",
    "content": "-1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwOGVjZDY3MF1dfSAtLVtbdGFibGU6IDB4MDhlY2Q2NDhdXQ==;-1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwODU3MjJiMF1dfSAtLVtbdGFibGU6IDB4MDg1NzIyODhdXQ==;-1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTY5M2YxOF1dfSAtLVtbdGFibGU6IDB4MGE2OTNlZjBdXQ==;-1,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwMmM1Y2Y1MF1dfSAtLVtbdGFibGU6IDB4MGExZTAwNjhdXQ==;1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTk4YjljOF1dfSAtLVtbdGFibGU6IDB4MGE2OTNjYThdXQ==;1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTIzZGQwMF1dfSAtLVtbdGFibGU6IDB4MGEyM2RjZDhdXQ==;1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwY2VjYWE1OF1dfSAtLVtbdGFibGU6IDB4MGNlY2FhMzBdXQ==;-1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTgxY2VlOF1dfSAtLVtbdGFibGU6IDB4MGE4MWNlYzBdXQ==;-1,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTAyNDcyOF1dfSAtLVtbdGFibGU6IDB4MGEwMjQ3MDBdXQ==;-1,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwY2YzYWRmOF1dfSAtLVtbdGFibGU6IDB4MGE4YzAxZjhdXQ==;0,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTFkMGQ1MF1dfSAtLVtbdGFibGU6IDB4MGE5MTEyMjhdXQ==;0,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTZiYThiMF1dfSAtLVtbdGFibGU6IDB4MGE2YmE4ODhdXQ==;1,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwY2ViYzM3MF1dfSAtLVtbdGFibGU6IDB4MGNlYmMzNDhdXQ==;1,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTE2NDY4OF1dfSAtLVtbdGFibGU6IDB4MGExNjQ2NjBdXQ==;0,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTc2YTI2MF1dfSAtLVtbdGFibGU6IDB4MGE3NmEyMzhdXQ==;1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwMmQzMTMyOF1dfSAtLVtbdGFibGU6IDB4MGE4MTM3ZDhdXQ==;0,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwODQ2NGRiMF1dfSAtLVtbdGFibGU6IDB4MDg0NjRkODhdXQ==;1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTI4NDgxMF1dfSAtLVtbdGFibGU6IDB4MGEyODQ3ZThdXQ==;-1,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTA5ODUzMF1dfSAtLVtbdGFibGU6IDB4MGEwOTg1MDhdXQ==;1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTE0YjNlMF1dfSAtLVtbdGFibGU6IDB4MGExNGIzYjhdXQ==;1,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTA2NGVhMF1dfSAtLVtbdGFibGU6IDB4MGEwNjRlNzhdXQ==;1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwOGYzYzUyMF1dfSAtLVtbdGFibGU6IDB4MDhmM2M0ZjhdXQ==;1,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTE0YWI3OF1dfSAtLVtbdGFibGU6IDB4MGExNGFiNTBdXQ==;1,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwOGY3Y2E0MF1dfSAtLVtbdGFibGU6IDB4MDhmN2NhMThdXQ==;0,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwOGVhNTg2MF1dfSAtLVtbdGFibGU6IDB4MDhlYTU4MzhdXQ==;-1,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTY4MmQ3MF1dfSAtLVtbdGFibGU6IDB4MGE2ODJkNDhdXQ==;-1,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTA5MDgwMF1dfSAtLVtbdGFibGU6IDB4MGEwOTA3ZDhdXQ==;0,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTA0MWQxMF1dfSAtLVtbdGFibGU6IDB4MGEwNDFjZThdXQ==;-1,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwODQwYTVkMF1dfSAtLVtbdGFibGU6IDB4MDg0MGE1YThdXQ==;-1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTkxYzgzOF1dfSAtLVtbdGFibGU6IDB4MGE5MWM4MTBdXQ==;-1,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwODQyY2YyOF1dfSAtLVtbdGFibGU6IDB4MDg0MmNmMDBdXQ==;1,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTMzOGFjOF1dfSAtLVtbdGFibGU6IDB4MGEzMzhhYTBdXQ==;0,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTBiMjM2OF1dfSAtLVtbdGFibGU6IDB4MGEyYWYyMDBdXQ==;-1,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwY2Y1YzljOF1dfSAtLVtbdGFibGU6IDB4MGNmNWM5YTBdXQ==;1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwMmVhZTk4MF1dfSAtLVtbdGFibGU6IDB4MDJlYWU5NThdXQ==;1,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTNhOTlhMF1dfSAtLVtbdGFibGU6IDB4MGEzYTk5NzhdXQ==;-1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTk3Mzc3OF1dfSAtLVtbdGFibGU6IDB4MGE5NzM3NTBdXQ==;1,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTk0OTMxOF1dfSAtLVtbdGFibGU6IDB4MGE5NDkyZjBdXQ==;1,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTg5NDEyOF1dfSAtLVtbdGFibGU6IDB4MDgzZDZjMjBdXQ==;0,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwODNjNGNlMF1dfSAtLVtbdGFibGU6IDB4MDgzYzRjYjhdXQ==;1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTAxYjE3OF1dfSAtLVtbdGFibGU6IDB4MGEwMWIxNTBdXQ==;1,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwOWZhNWIyOF1dfSAtLVtbdGFibGU6IDB4MGNmNWJlOThdXQ==;1,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwODVlNzFjOF1dfSAtLVtbdGFibGU6IDB4MDg1ZTcxYTBdXQ==;-1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTg4YmViOF1dfSAtLVtbdGFibGU6IDB4MGE4OGJlOTBdXQ==;-1,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTNhMTExMF1dfSAtLVtbdGFibGU6IDB4MGEzYTEwZThdXQ==;-1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTNhMjU0OF1dfSAtLVtbdGFibGU6IDB4MGEzYTI1MjBdXQ==;-1,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTI1ZGM0MF1dfSAtLVtbdGFibGU6IDB4MGEyNWRjMThdXQ==;-1,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwODM0MjkzMF1dfSAtLVtbdGFibGU6IDB4MDgzNDI5MDhdXQ==;0,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwOWZjZGQwOF1dfSAtLVtbdGFibGU6IDB4MDlmY2RjZTBdXQ==;-1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwODI3NzNjMF1dfSAtLVtbdGFibGU6IDB4MDgyNzczOThdXQ==;0,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTY3YzIwMF1dfSAtLVtbdGFibGU6IDB4MGE2N2MxZDhdXQ==;0,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwODJkZmU2MF1dfSAtLVtbdGFibGU6IDB4MDgyZGZlMzhdXQ==;1,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwODRlY2MzOF1dfSAtLVtbdGFibGU6IDB4MDg0ZWNjMTBdXQ==;0,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwOGY5OTczOF1dfSAtLVtbdGFibGU6IDB4MDhmOTk3MTBdXQ==;1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYThhZTBlOF1dfSAtLVtbdGFibGU6IDB4MGE4YWUwYzBdXQ==;1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwODJiMzNmMF1dfSAtLVtbdGFibGU6IDB4MDgyZDdkYzhdXQ==;1,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTEwNjE0MF1dfSAtLVtbdGFibGU6IDB4MGExMDYxMThdXQ==;1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTFkMGVjMF1dfSAtLVtbdGFibGU6IDB4MGExZDBlOThdXQ==;0,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwODM2YzFlOF1dfSAtLVtbdGFibGU6IDB4MDhmMWYwYTBdXQ==;-1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTg4NTcyMF1dfSAtLVtbdGFibGU6IDB4MGE4ODU2ZjhdXQ==;-1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTdmYWVhOF1dfSAtLVtbdGFibGU6IDB4MDgyMjNkMDhdXQ==;1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwODUyNDI2OF1dfSAtLVtbdGFibGU6IDB4MDlmZWY2YjhdXQ==;-1,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTA3YzY2OF1dfSAtLVtbdGFibGU6IDB4MGExY2FlZTBdXQ==;0,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTg1ODRlMF1dfSAtLVtbdGFibGU6IDB4MDg0YWMxZDhdXQ==;-1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTMzODkyMF1dfSAtLVtbdGFibGU6IDB4MGEzMzg4ZjhdXQ==;-1,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwOGVmNTVhOF1dfSAtLVtbdGFibGU6IDB4MGEyODcwMjhdXQ==;0,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwODM0ZDQxMF1dfSAtLVtbdGFibGU6IDB4MDgzNGQzZThdXQ==;1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTg0NjI2MF1dfSAtLVtbdGFibGU6IDB4MGE4NDYyMzhdXQ==;1,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwODI1ZWU0MF1dfSAtLVtbdGFibGU6IDB4MDgyNWVlMThdXQ==;1,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwOGU3N2UxOF1dfSAtLVtbdGFibGU6IDB4MDhlNzdkZjBdXQ==;-1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTYxZGMwOF1dfSAtLVtbdGFibGU6IDB4MGEwYjBhYTBdXQ==;0,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTZjYmRjOF1dfSAtLVtbdGFibGU6IDB4MDg0ZmQwYjBdXQ==;0,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwMmVjM2ExMF1dfSAtLVtbdGFibGU6IDB4MDJlYzM5ZThdXQ==;0,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwODJkYmJmMF1dfSAtLVtbdGFibGU6IDB4MDgyZGJiYzhdXQ==;-1,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwODJlMWNlOF1dfSAtLVtbdGFibGU6IDB4MDgzNjA0NDBdXQ==;1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTZhMzdiMF1dfSAtLVtbdGFibGU6IDB4MGE2YTM3ODhdXQ==;1,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwODMxOWVhMF1dfSAtLVtbdGFibGU6IDB4MDgzMTllNzhdXQ==;1,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTdmNjlkOF1dfSAtLVtbdGFibGU6IDB4MDg0ODg2ODBdXQ==;-1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTFiN2NmOF1dfSAtLVtbdGFibGU6IDB4MGExYjdjZDBdXQ==;-1,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwOGZiN2UwOF1dfSAtLVtbdGFibGU6IDB4MDg1N2Q0ODBdXQ==;-1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwOGYzZDk5OF1dfSAtLVtbdGFibGU6IDB4MDhmM2Q5NzBdXQ==;-1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwODI2ZjEzMF1dfSAtLVtbdGFibGU6IDB4MDgyNmYxMDhdXQ==;0,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwODJiNDZmOF1dfSAtLVtbdGFibGU6IDB4MDgyYjQ2ZDBdXQ==;1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwOGVkYzcwMF1dfSAtLVtbdGFibGU6IDB4MDhlZGM2ZDhdXQ==;-1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTkwY2UxMF1dfSAtLVtbdGFibGU6IDB4MGE5MGNkZThdXQ==;0,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTAzYzdjMF1dfSAtLVtbdGFibGU6IDB4MGEwM2M3OThdXQ==;1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTcyMzMxMF1dfSAtLVtbdGFibGU6IDB4MGExOWUyNjhdXQ==;0,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwODUzOGY1MF1dfSAtLVtbdGFibGU6IDB4MDg1MzhmMjhdXQ==;0,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwODUxYzAyMF1dfSAtLVtbdGFibGU6IDB4MDg1MWJmZjhdXQ==;0,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTY0NjVmOF1dfSAtLVtbdGFibGU6IDB4MGE2NDY1ZDBdXQ==;0,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwOGYyZDVkOF1dfSAtLVtbdGFibGU6IDB4MDhmYWIwOThdXQ==;0,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTZkZmUyMF1dfSAtLVtbdGFibGU6IDB4MGEyYjkzMzhdXQ==;-1,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTE3NzIwMF1dfSAtLVtbdGFibGU6IDB4MGEzNTRmNDhdXQ==;-1,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwODYyNDY2MF1dfSAtLVtbdGFibGU6IDB4MDg2MWIxOThdXQ==;-1,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwODRkMTYyMF1dfSAtLVtbdGFibGU6IDB4MGNlYjRlMDhdXQ==;-1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTdkNzMwOF1dfSAtLVtbdGFibGU6IDB4MDg1NTA5ZDBdXQ==;-1,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTYwYjNlMF1dfSAtLVtbdGFibGU6IDB4MGE2MGIzYjhdXQ==;0,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTNhNzVmOF1dfSAtLVtbdGFibGU6IDB4MGEyNjBkMTBdXQ==;1,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTdjODQzMF1dfSAtLVtbdGFibGU6IDB4MGE3Yzg0MDhdXQ==;1,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwODM0YzNiMF1dfSAtLVtbdGFibGU6IDB4MDgzNGMzODhdXQ==;0,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwODI1MDE5MF1dfSAtLVtbdGFibGU6IDB4MDgyNTAxNjhdXQ==;1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTVjNWY3OF1dfSAtLVtbdGFibGU6IDB4MDg0ZTRiMDBdXQ==;0,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYWEwYTc4MF1dfSAtLVtbdGFibGU6IDB4MDgyZTc3MjBdXQ==;1,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwOGViNWIzMF1dfSAtLVtbdGFibGU6IDB4MGE2NmZhMzhdXQ==;0,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwOWZhOTI3OF1dfSAtLVtbdGFibGU6IDB4MDlmYTkyNTBdXQ==;1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTIzNjU5MF1dfSAtLVtbdGFibGU6IDB4MGEyMzY1NjhdXQ==;0,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTY2NDc2OF1dfSAtLVtbdGFibGU6IDB4MGE2NjQ3NDBdXQ==;0,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwODYwZjhmMF1dfSAtLVtbdGFibGU6IDB4MDg2MGY4YzhdXQ==;-1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwODI3ZGQyMF1dfSAtLVtbdGFibGU6IDB4MDg2M2I1ZDhdXQ==;0,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTM2MmU0OF1dfSAtLVtbdGFibGU6IDB4MGEzNjJlMjBdXQ==;0,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTE3MTI1MF1dfSAtLVtbdGFibGU6IDB4MGExNzEyMjhdXQ==;-1,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTY0MTVlMF1dfSAtLVtbdGFibGU6IDB4MGE2NDE1YjhdXQ==;1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTc4ZWYyOF1dfSAtLVtbdGFibGU6IDB4MGE3OGVmMDBdXQ==;-1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwOWZkZTM1MF1dfSAtLVtbdGFibGU6IDB4MDgyNTY2MjhdXQ==;1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTA0NmMwOF1dfSAtLVtbdGFibGU6IDB4MGE1YmNmYjhdXQ==;0,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTI2Njg1MF1dfSAtLVtbdGFibGU6IDB4MGEyNjY4MjhdXQ==;0,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTI4ZmU5OF1dfSAtLVtbdGFibGU6IDB4MGE4YWE3ODhdXQ==;0,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwOGY4MDkyOF1dfSAtLVtbdGFibGU6IDB4MDhmODA5MDBdXQ==;0,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTA3OTc4OF1dfSAtLVtbdGFibGU6IDB4MGEwNzk3NjBdXQ==;-1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwODM3MTc4MF1dfSAtLVtbdGFibGU6IDB4MGExZTU1YThdXQ==;-1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwODI2NGEyOF1dfSAtLVtbdGFibGU6IDB4MGE3ODFmNjBdXQ==;-1,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwOGU4NjFkOF1dfSAtLVtbdGFibGU6IDB4MDhlODYxYjBdXQ==;0,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwMmViMWU5MF1dfSAtLVtbdGFibGU6IDB4MDg0NDE1MjBdXQ==;0,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwMmVjODUzMF1dfSAtLVtbdGFibGU6IDB4MDJlYzg1MDhdXQ==;1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTE3MzQzMF1dfSAtLVtbdGFibGU6IDB4MGEwODJjZjhdXQ==;0,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwODQyMWY3OF1dfSAtLVtbdGFibGU6IDB4MDg0OGEzMzhdXQ==;0,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTk2MmM5MF1dfSAtLVtbdGFibGU6IDB4MGExYjc0MTBdXQ==;-1,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTIwYjc2MF1dfSAtLVtbdGFibGU6IDB4MGEyMGI3MzhdXQ==;1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTM2OTBmMF1dfSAtLVtbdGFibGU6IDB4MGE1YjhjMThdXQ==;0,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwODNjZDI0OF1dfSAtLVtbdGFibGU6IDB4MDgzY2QyMjBdXQ==;-1,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwMmQyY2M5MF1dfSAtLVtbdGFibGU6IDB4MGEwZWIzZjBdXQ==;1,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYThmMDZkOF1dfSAtLVtbdGFibGU6IDB4MGE4ZjA2YjBdXQ==;0,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTExNTYxMF1dfSAtLVtbdGFibGU6IDB4MGExMTU1ZThdXQ==;-1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwMmVhMjg0OF1dfSAtLVtbdGFibGU6IDB4MDJlYTI4MjBdXQ==;0,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwODRkYmQwMF1dfSAtLVtbdGFibGU6IDB4MDg0ZGJjZDhdXQ==;1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwODM2Y2ZmOF1dfSAtLVtbdGFibGU6IDB4MGE4YTIwMDhdXQ==;0,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTMwMThmOF1dfSAtLVtbdGFibGU6IDB4MGEzMDE4ZDBdXQ==;1,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTljZTIwOF1dfSAtLVtbdGFibGU6IDB4MGEzMjgyMDhdXQ==;1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwODYxNzk5OF1dfSAtLVtbdGFibGU6IDB4MDg2MTc5NzBdXQ==;1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTcyMWFjOF1dfSAtLVtbdGFibGU6IDB4MGE3MjFhYTBdXQ==;0,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTdiZGU3OF1dfSAtLVtbdGFibGU6IDB4MDg0NzAwNjBdXQ==;1,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwY2VmOGVlOF1dfSAtLVtbdGFibGU6IDB4MGNlZjhlYzBdXQ==;1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTlhN2NlMF1dfSAtLVtbdGFibGU6IDB4MGNmMzQ1MDBdXQ==;-1,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTg4OWE1MF1dfSAtLVtbdGFibGU6IDB4MDg2NDQyMDhdXQ==;0,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTViYzIzMF1dfSAtLVtbdGFibGU6IDB4MGE3ZDMzZjhdXQ==;-1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTM4N2JjOF1dfSAtLVtbdGFibGU6IDB4MGEzODdiYTBdXQ==;1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwODRmOWU3OF1dfSAtLVtbdGFibGU6IDB4MGE2MDlhMjhdXQ==;1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwY2VlNDE3MF1dfSAtLVtbdGFibGU6IDB4MGNlZTQxNDhdXQ==;1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTYyMDJjOF1dfSAtLVtbdGFibGU6IDB4MGE2MjAyYTBdXQ==;0,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTdkMjhmOF1dfSAtLVtbdGFibGU6IDB4MDJlOTViMDhdXQ==;0,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTZlN2QzOF1dfSAtLVtbdGFibGU6IDB4MDhlODQ5MjhdXQ==;0,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwOGYxMjUzOF1dfSAtLVtbdGFibGU6IDB4MDhmMTI1MTBdXQ==;0,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTlmNWY5MF1dfSAtLVtbdGFibGU6IDB4MGE5ZjVmNjhdXQ==;0,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTExYTVlMF1dfSAtLVtbdGFibGU6IDB4MDg0N2M1MzhdXQ==;0,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwODQ0YTIyOF1dfSAtLVtbdGFibGU6IDB4MDg0NGEyMDBdXQ==;0,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTg3Y2ZmOF1dfSAtLVtbdGFibGU6IDB4MGE4N2NmZDBdXQ==;0,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTI3NzM2MF1dfSAtLVtbdGFibGU6IDB4MDg1YjRiOThdXQ==;-1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwY2YzYjgzMF1dfSAtLVtbdGFibGU6IDB4MGE3NGY4MDhdXQ==;-1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTI1NWY3OF1dfSAtLVtbdGFibGU6IDB4MGEyNTVmNTBdXQ==;1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYThiNmI5MF1dfSAtLVtbdGFibGU6IDB4MDg1M2RkNTBdXQ==;0,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwODQzMjk0MF1dfSAtLVtbdGFibGU6IDB4MGEyYzUyZDBdXQ==;0,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYWEyMjViOF1dfSAtLVtbdGFibGU6IDB4MGFhMjI1OTBdXQ==;0,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTg1ZmZjOF1dfSAtLVtbdGFibGU6IDB4MGE4NGJjOThdXQ==;0,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwODM2ZDk5OF1dfSAtLVtbdGFibGU6IDB4MGE4ZTYyMDBdXQ==;1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYWE4ODNiMF1dfSAtLVtbdGFibGU6IDB4MGFhODgzODhdXQ==;0,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwMDE0MWE5MF1dfSAtLVtbdGFibGU6IDB4MDAxNDFhNjhdXQ==;0,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTIyODk1MF1dfSAtLVtbdGFibGU6IDB4MGEyMjg5MjhdXQ==;-1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTM3ZDczOF1dfSAtLVtbdGFibGU6IDB4MGE4NGZlYTBdXQ==;-1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTZkNzY3OF1dfSAtLVtbdGFibGU6IDB4MGE2ZDc2NTBdXQ==;0,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTc2MGU4OF1dfSAtLVtbdGFibGU6IDB4MGExYmQ3ZjhdXQ==;0,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTk3NjE0OF1dfSAtLVtbdGFibGU6IDB4MGE5NzYxMjBdXQ==;1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwODU3Mzg0MF1dfSAtLVtbdGFibGU6IDB4MDgzOTI2YThdXQ==;1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTM4YWJjMF1dfSAtLVtbdGFibGU6IDB4MGEzOGFiOThdXQ==;0,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwODRiMjRhOF1dfSAtLVtbdGFibGU6IDB4MDg0YjI0ODBdXQ==;0,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwODMyZTVjMF1dfSAtLVtbdGFibGU6IDB4MDg1MDY5YTBdXQ==;0,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwOGYxNzVlMF1dfSAtLVtbdGFibGU6IDB4MDhmMTc1YjhdXQ==;-1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwODI3ZDNjMF1dfSAtLVtbdGFibGU6IDB4MDgyN2QzOThdXQ==;-1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwODI5NTAxOF1dfSAtLVtbdGFibGU6IDB4MGE5ODg4NTBdXQ==;-1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwMmVlNTQwMF1dfSAtLVtbdGFibGU6IDB4MDJlZTUzZDhdXQ==;0,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwODQwMDA5MF1dfSAtLVtbdGFibGU6IDB4MDg0MDAwNjhdXQ==;-1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYWE3ZDMyMF1dfSAtLVtbdGFibGU6IDB4MGE4OTE5ZDhdXQ==;0,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwODU1ZTliMF1dfSAtLVtbdGFibGU6IDB4MGEwNWJiODBdXQ==;-1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwODM0OWUxOF1dfSAtLVtbdGFibGU6IDB4MDgzNDlkZjBdXQ==;-1,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTY1ZDhhOF1dfSAtLVtbdGFibGU6IDB4MGE2NWQ4ODBdXQ==;0,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwODI4NjM0OF1dfSAtLVtbdGFibGU6IDB4MGE2MTJmNThdXQ==;-1,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTY2ZjFlMF1dfSAtLVtbdGFibGU6IDB4MGE2NmYxYjhdXQ==;0,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwODNhYzUyOF1dfSAtLVtbdGFibGU6IDB4MDgzYWM1MDBdXQ==;0,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwODM1Zjk2OF1dfSAtLVtbdGFibGU6IDB4MGNlZjhiYzhdXQ==;-1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwOGVlYmMyOF1dfSAtLVtbdGFibGU6IDB4MGFhNWE0ODhdXQ==;0,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwY2ViOWZmMF1dfSAtLVtbdGFibGU6IDB4MGNlYjlmYzhdXQ==;1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTI0YmU1MF1dfSAtLVtbdGFibGU6IDB4MGEyNGJlMjhdXQ==;1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwOWZkNzAxMF1dfSAtLVtbdGFibGU6IDB4MDlmZDZmZThdXQ==;1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTVmZThjMF1dfSAtLVtbdGFibGU6IDB4MDgyZDA5OTBdXQ==;-1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTcwNWJiOF1dfSAtLVtbdGFibGU6IDB4MGE5MDdhODBdXQ==;0,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTNhNTU3OF1dfSAtLVtbdGFibGU6IDB4MDhmYTA4ZjBdXQ==;1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwODNkNGY2MF1dfSAtLVtbdGFibGU6IDB4MGNlYzczMDBdXQ==;-1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwMmNmNmZiOF1dfSAtLVtbdGFibGU6IDB4MDJjZjZmOTBdXQ==;0,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTkwODQxMF1dfSAtLVtbdGFibGU6IDB4MGEzMTIwODhdXQ==;0,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTM3MjFjMF1dfSAtLVtbdGFibGU6IDB4MGEzNzIxOThdXQ==;0,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYThjMjZmOF1dfSAtLVtbdGFibGU6IDB4MGE4ODYxMDBdXQ==;0,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwODRhMTU1OF1dfSAtLVtbdGFibGU6IDB4MGEwMWIzNzBdXQ==;0,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTBhNDJjMF1dfSAtLVtbdGFibGU6IDB4MGEwYTQyOThdXQ==;1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTg2ZTA2MF1dfSAtLVtbdGFibGU6IDB4MGE4NmUwMzhdXQ==;-1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwOGY2ZWNjOF1dfSAtLVtbdGFibGU6IDB4MDhmNmVjYTBdXQ==;1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwY2VkZTRiMF1dfSAtLVtbdGFibGU6IDB4MGNlZGU0ODhdXQ==;1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTAzN2MzMF1dfSAtLVtbdGFibGU6IDB4MGEwMzdjMDhdXQ==;0,0,undo,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTIyZmNhMF1dfSAtLVtbdGFibGU6IDB4MGEyMmZjNzhdXQ==;-1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwODY0NmI0MF1dfSAtLVtbdGFibGU6IDB4MDg2NDZiMThdXQ==;0,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwODQyN2VlMF1dfSAtLVtbdGFibGU6IDB4MGEyMDg0MThdXQ==;0,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwODNjMzlmOF1dfSAtLVtbdGFibGU6IDB4MDgzYzM5ZDBdXQ==;0,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwODJhZTQxOF1dfSAtLVtbdGFibGU6IDB4MDgyYWUzZjBdXQ==;1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTY0YmEyOF1dfSAtLVtbdGFibGU6IDB4MGE2NGJhMDBdXQ==;1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTY0Nzg2MF1dfSAtLVtbdGFibGU6IDB4MGE2NDc4MzhdXQ==;-1,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwODM0ZjE2OF1dfSAtLVtbdGFibGU6IDB4MGE5MjEzNjhdXQ==;-1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYWExZjc2OF1dfSAtLVtbdGFibGU6IDB4MGFhMWY3NDBdXQ==;-1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwODYzOTVhOF1dfSAtLVtbdGFibGU6IDB4MDg2Mzk1ODBdXQ==;0,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTVlZDM0OF1dfSAtLVtbdGFibGU6IDB4MGE1ZWQzMjBdXQ==;0,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwODQ2NTFiMF1dfSAtLVtbdGFibGU6IDB4MDgzY2NkMDhdXQ==;1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTYzY2I5MF1dfSAtLVtbdGFibGU6IDB4MGE2M2NiNjhdXQ==;1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTFmYjY2MF1dfSAtLVtbdGFibGU6IDB4MGExZmI2MzhdXQ==;0,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTY0Njg2MF1dfSAtLVtbdGFibGU6IDB4MGEyZDg0ZTBdXQ==;-1,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTkwYzM2MF1dfSAtLVtbdGFibGU6IDB4MGE5MGMzMzhdXQ==;-1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwODRiZWYyOF1dfSAtLVtbdGFibGU6IDB4MDg0YmVmMDBdXQ==;1,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwOGVmMzE5OF1dfSAtLVtbdGFibGU6IDB4MDhlZjMxNzBdXQ==;0,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwODUxZTY1OF1dfSAtLVtbdGFibGU6IDB4MDg1MWU2MzBdXQ==;0,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwODQwZjY4OF1dfSAtLVtbdGFibGU6IDB4MDg0MGY2NjBdXQ==;1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTI2NWE3MF1dfSAtLVtbdGFibGU6IDB4MGEyNjVhNDhdXQ==;1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTFmMTI2MF1dfSAtLVtbdGFibGU6IDB4MGExZjEyMzhdXQ==;1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwOGYxYjdhOF1dfSAtLVtbdGFibGU6IDB4MDhmMWI3ODBdXQ==;1,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwOGY4OGYwOF1dfSAtLVtbdGFibGU6IDB4MDhmODhlZTBdXQ==;1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTgzMjhiOF1dfSAtLVtbdGFibGU6IDB4MGE4MzI4OTBdXQ==;-1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwMmU1NWIzMF1dfSAtLVtbdGFibGU6IDB4MDJlNTViMDhdXQ==;1,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwODM5YTA0MF1dfSAtLVtbdGFibGU6IDB4MDgzOWEwMThdXQ==;-1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwODNmNzBlOF1dfSAtLVtbdGFibGU6IDB4MDgzNDdiOThdXQ==;-1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwODU5NzIyMF1dfSAtLVtbdGFibGU6IDB4MGE1ZTY1YjhdXQ==;1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTc4ZjI4MF1dfSAtLVtbdGFibGU6IDB4MDhmNmMwODhdXQ==;1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTg2ZDk3MF1dfSAtLVtbdGFibGU6IDB4MGE4NmQ5NDhdXQ==;1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTEwMzE1OF1dfSAtLVtbdGFibGU6IDB4MGExMDMxMzBdXQ==;1,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTdiNWNlOF1dfSAtLVtbdGFibGU6IDB4MGE3YjVjYzBdXQ==;0,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTMwYzdiOF1dfSAtLVtbdGFibGU6IDB4MGEzMGM3OTBdXQ==;-1,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTc0YjVkOF1dfSAtLVtbdGFibGU6IDB4MGE3NGI1YjBdXQ==;0,-1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTE2YjgyOF1dfSAtLVtbdGFibGU6IDB4MGExMWViNDhdXQ==;-1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTA5ZTdkMF1dfSAtLVtbdGFibGU6IDB4MGEwOWU3YThdXQ==;1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTExZWJmMF1dfSAtLVtbdGFibGU6IDB4MDg0OTE3YzhdXQ==;1,1,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTI0Yjg4OF1dfSAtLVtbdGFibGU6IDB4MGEyNGI4NjBdXQ==;1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwMmM3OWFkOF1dfSAtLVtbdGFibGU6IDB4MGEwM2ZhZThdXQ==;1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTdlYWRhOF1dfSAtLVtbdGFibGU6IDB4MGE3ZWFkODBdXQ==;1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTg5NTQ4OF1dfSAtLVtbdGFibGU6IDB4MGE4OTU0NjBdXQ==;1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwODMyYzI2OF1dfSAtLVtbdGFibGU6IDB4MGE4NzgzMjhdXQ==;1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwYTIyYzAyOF1dfSAtLVtbdGFibGU6IDB4MGEyMmMwMDBdXQ==;1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwODYzZjkwMF1dfSAtLVtbdGFibGU6IDB4MDg2M2Y4ZDhdXQ==;1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwODRjMjM5MF1dfSAtLVtbdGFibGU6IDB4MDg0YzIzNjhdXQ==;1,0,udlr,e3sxNCwgLTJ9IC0tW1t0YWJsZTogMHgwODY1MmU0OF1dfSAtLVtbdGFibGU6IDB4MDg2NTJlMjBdXQ==;"
  },
  {
    "path": "officialworlds/bab be u/w5 (hole)/fartherest leap.bab",
    "content": "{\"width\":23,\"version\":5,\"extra\":false,\"map\":\"eJyN2c1O4zAUhuFbQSxGGqmLOnHiZFCvBZW2g6opDUpbFYS490n8HU9TNNTvjsVjSOzzF7Pu7nbdarm7e1x8fBy3u83i/rzc3c/eFvPZdr1ws/fhh8PrZrVd7hYfn7P1tl+4z5nRw5/TxRaDdd/b6a8tB1ow6gdaMloN1DNaD7RiNAy0ZrQZaGC0HWjDqJsPtoV2PDBHT8zFI4Nn5sZDc/lTcxH724FzZSv4zNI1e2bhwJ65iLhhwS7comiPtpjDF5R27AWFC/aCZcQle0Fhj15Qtrqdz323uthM6h3fjo9XPpN/V5YloGwLDyXqcs4ORdixQ/ERF+xQhEt0KLIeFVlZmoLSMAWFYQpWEcMUFGYpGK2fo82QpTVUGtZQYVhD64gzNTQ9hnCFNkO2RpshG+BmSDdsM4Rbthkh9vY52wxhhzZDtri9GWM9etpceJkvX1PuUUWSpUkoDZNQGCZhEzFMQmGWhNHWLAllaRJKwyQUziVh+tVt1KwPymb6YAyO5dPFg16oYBLPtMKRny6aNUNZ2gyjDrAZCsNm6DRsw25omrVDw6wfGsYzqTgdSqVhNro4wwaYjqZZPgo3mYS8xJ95dzteLbYNFyj+DJd0v8U93G/pCu53HKmbGu63dGD7LdywEBSmOSnewqQ0ncvKf788TrQt+7Y3zL7uDfvMWyYdh8m2gmcjXbOnFg7sqYUbejbiLTwbr+/9OYzXShxe0iQOz9J05jDHEvGy7ftlv19Pl/l8Z3vupguqfG87n/qrv1GzAmOaDrLJw1E2cTjMulrXNHCcTZwNtElnRtovGpde87T2GqfFN4jT6mscll/TsP6axgVYvqAV2DgdjBpxOhkZh6ORaTgbmcbDkXk6HRmn41ErTucj43BAki7ZJ0vSDl1WJ12g++qkMx+eX7RHt9ZJV6ySmq7R3XXSAd1eJ40bq3naWcU97KyFbrw97KyJs86aNOisv3fd83RJ5p8h45Kvz1TRT8y0oM434n13OG9fpovC7QAaF/2Y+uZ2CGk8eHk/L9+nq1oUSqYrfOtunt67G4c374X9jwPevSfObh2SJvcOm+mCOh9I525/nC4Jt6vV/5Y0OPZsQQuGwKs3j1dKmcC7+hPxXikTeftOo2laUrCwM03HqeThOJU4HKcK/ZeqhuNU4mycSjozTo17+evndEGbDzvbei2IN02ZCHrtu+NmtZqucqidJV3QAzNfwgMz7jMHlmq8OlTIfOFefTy78M3xfj70m+Op3989Pmz2678FbnBL\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"fartherest leap\",\"height\":13,\"author\":\"Slabdrill\"}"
  },
  {
    "path": "officialworlds/bab be u/w5 (hole)/fartherest leap.replay",
    "content": "1,0,udlr;-1,0,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;-1,1,udlr;1,1,udlr;0,-1,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;-1,-1,udlr;1,-1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;0,-1,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,0,undo;-1,1,udlr;0,1,udlr;1,-1,udlr;0,-1,udlr;0,1,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;-1,1,udlr;0,-1,udlr;1,0,udlr;1,1,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;1,0,udlr;-1,-1,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;0,1,udlr;-1,0,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,-1,udlr;1,0,udlr;1,1,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,0,undo;-1,1,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;1,-1,udlr;1,0,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,1,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;0,-1,udlr;1,-1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;0,1,udlr;-1,1,udlr;0,1,udlr;0,0,undo;0,0,undo;1,0,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,0,undo;-1,-1,udlr;-1,1,udlr;-1,0,udlr;0,1,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;1,1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;1,-1,udlr;0,1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;-1,1,udlr;-1,0,udlr;1,0,udlr;0,1,udlr;-1,1,udlr;0,-1,udlr;1,1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;1,-1,udlr;0,-1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,0,undo;0,1,udlr;0,1,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w5 (hole)/four square.bab",
    "content": "{\"width\":11,\"version\":5,\"extra\":false,\"author\":\"Slabdrill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":11,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"four square\",\"map\":\"eJyN1sGOgjAQBuBXMd424UBpS2FNn8WgoCHpwoatUWN89207SFGxnfs3Y/mnk1r3K9XvK7XayttNt6qRa33R23Ol1slFpklbS06Sq2TJ32+zbyslb/ekbgdJ7sno59ZSjqOZoTmOUkMFjjJDCxzlhpY4mhtK0s/WRrardtYT64XxWYQ3k+YZKmBni3DAtrNuLnryZTjll5OYbwwmbXnnmxMSTtvyk9cZKnCwFJO4O3jmPIsn3vXHfirgFJU5NOfx0A+qP/qCPJz6MxbxEH9VpQ/94GsKVJRgS0SUbkrUrWUaTnJsDTay7n5IwCMr/4gFcGTpX3szVCJgeSSRcZWZwzkqD7Ainsf3l+dFfDmP/c/1XF19TYn6TmdpGvnOEXOH7SzfrJjs7AqCt8Mkn3u/eRrO8c3bgVLk2fnSMotlmy/N6IMVqDcKbIF6pMCWqFfKWZaiBg6W4AaeO5yFg4DbVw1dbUuEK6HhmcxmCJ7FfwJ2GDgPRzhrXzgfGaVvXzou0DcW/OJb+9z+8dZCAW43Cfz7SJe73zdDo09Dt9pumq7+BzMdNng=\"}"
  },
  {
    "path": "officialworlds/bab be u/w5 (hole)/four square.replay",
    "content": "-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,-1,udlr;1,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,-1,udlr;-1,1,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;1,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,1,udlr;1,1,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;-1,-1,udlr;0,-1,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w5 (hole)/hidden nature.bab",
    "content": "{\"width\":10,\"version\":5,\"extra\":false,\"map\":\"eJyVlNuKgzAURX9F+jaQBxPvU/ItkjahEyZjJE1pi/jv44mORRg86ftasvfZqrSJsWdhkpYPg9dG8UPv9I86kAfPiZackicvybVXZy0MH0YiteN0JAvsH77trXXeGgNOCQ7DHeFsJ1chm4RmX7hYcRfP3lxBqkHKI5JtqhSTkO8L31MuD0IBQonHOokT4BXgVQSu1vh1TOcu8A3wTezTQ3SaTngRg4folOL4l30tTNn+LZezhKI0w+++8GngYdg08vWZDViWRi47GzAtiznPjMO02T7++fHC64jG4ek04A1e+AY0Cx9XitNr2dmg+Hk6e7Frfsbwt+FPCA1Y9q6Q4xfaCgW+wFaIWHgrVO9eqf7/BzQenfI31yXtUXXyF6L3098=\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"hidden nature\",\"height\":10,\"author\":\"Slabdrill\"}"
  },
  {
    "path": "officialworlds/bab be u/w5 (hole)/hidden nature.replay",
    "content": "1,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;1,1,udlr;1,-1,udlr;0,0,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,1,udlr;0,1,udlr;1,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;1,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;-1,0,udlr;1,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;0,-1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;0,-1,udlr;-1,1,udlr;0,-1,udlr;-1,0,udlr;1,-1,udlr;0,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;0,-1,udlr;-1,-1,udlr;1,1,udlr;0,1,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;0,0,undo;1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;-1,-1,udlr;-1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;0,0,undo;-1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;-1,1,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;1,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;1,-1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,0,undo;-1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;0,-1,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;-1,0,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,0,undo;0,1,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,0,undo;1,-1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,0,undo;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;-1,1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;-1,-1,udlr;0,0,undo;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;1,0,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w5 (hole)/hole.bab",
    "content": "{\"width\":20,\"version\":5,\"extra\":false,\"map\":\"eJydV9tu4yAQ/RWUp13J0saX3FT5WypiT2oUYlzATaOq/74Y7MQ3IM5jHA5nZjhzGHKGKMswRe/pz48kFNIVJeUq+E53AcnTMLilm0BUkBFM058vIsiRUCJv6YpVUK5+g5zwNPwNZrCRwu7nsQXJczt636Dj15gPDTZR2O2L2I3C7pZgv2iDDdcNeDskpvAFNF1dcFWtgslOAclYKeSt2SVnUqyCEl+gW17WlyPw9DDmE0AzyR+UuyGlJbUwbNbuX6uLAR8WH6f8lu9HoFTqTSKtp7XaJXKE21bTLA6HZ9GW87pBfwpG4e8/zthFXInMiq52/S9Pp2fIlsvV5Ke3iPUW8Vxy8SQ5szjxJFfVoiDlB5IFZ/XHPcPpZyOUzVx0FWNcMmpoE027ccf4OK+tXr6dk9c0JbN450npxGqOxGeNOcz1g0lwsKhNLrHoRDtF2Mg6cdAKddAfomDS04QUpATexdFDeaLQvhGO+mMSheSELQrAAFru0Ok7UdNWBxc54As6UcbyYQjK+8+Qu4LoAdtQYlsoWgRR6KkDyW5ISJydO4r+hzZZa7Zaw1HkyTavmYJDJgkrMe14Jl9bssjmCxtNFg/JnvCFRw/pTo+Sp3pIazlq2jN2abkEfG76vy7z5pQWHeYY3FZg5z7QxgKUzBxtjbksgIOQiAJectVNkDaJjWwpapxGXQ+jmu4setl7fOkGIBE7oRMm8m6044+eWpmj9pkAhxOFs7xfV/efZve9U/fx2rO70SMqsay1eWqO8cdW9WsLlb4M49HcN2EqGTriI8KUsiss9ZQxuA1p2of9iKLZ0apvr2psarR9IaVq8KU2N0bbbtVBTLFHV1fGzwgXgJdWqA+0DYKtS2ndxYl9WnbP2gbuGHptcFMHbZHx1jenAVHJYQnzZeh64b6o06jtpjGsO2+vmQ1PQ9Y2IZsllUyiz1ohUYfv68GmUdOfPp8hpbmAkKKWXM9l7RU4/WO2UG1dbIOIieLg6RQOF6bSU/Oh+zgeq6wS7NEma49lHLm6fNTYCujau33jlm7070xcLi0kPr/S/5xI9jjI7kq8//HsS88Q+uyo4kSwElUFFg9Bbx31HgCc1LFn3KUgBOryQsdaqumKUIoEs4reBXneS/TVnDisyPUKM+CXjci8+7eewfCCz6CeTyeJClYt9OQRtjtS18sk2XniUTsJyapq8STXB1pnB1NY0537p1+3v28c1KhQovc3KPP/zaFAIQ==\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":14,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"snowy\",\"name\":\"hole\",\"height\":15,\"author\":\"vitellary\"}"
  },
  {
    "path": "officialworlds/bab be u/w5 (hole)/hopstopper.bab",
    "content": "{\"width\":17,\"version\":5,\"extra\":false,\"author\":\"Slabdrill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":17,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"swamp\",\"parent_level\":\"\",\"name\":\"hopstopper\",\"map\":\"eJyNmN1uozAQhV+l6sVqV8oFBvzXKs8S0cTbotIQEaJ2VfXdN8wYHMDxzF0uPpszc2bscQ7tQ9Puq+Zht/3+7uvGbR9fu+r8uPnaZpv6sBWbf9cf55Pb11Wz/f7ZHOpuK382nu2/+t3Tn4nOr7RY0mKiZzsXMVbG2fLK5kxWXtkirfj8fmkmXg06VpuL2YIXN+F6wFf7z/Gn3xNuBrxM478m2g60TNOnru3dfh8cyoZFis66AJowdA5H/bwHF2mTGuf+Bjgb8rjKiwmRdu5GM4S4Ur0OMQe85IUIsLG8kkXYxEIM8Klqmo+gIxvSp+8LWeJFtFbWwgvAJS9KhBXPyBJgzdsZYZPeeWw1hG3MdBGH88H0RC/M4aGsEz0wh6O+3IMHVwwXHkrPcmFJVPWcBgsTlTqnNXGqjd2IvmRl9OApVp5L2NykC2RUgjDTc4CLjJA96lBAE2fZGKPCGKPNu1aNW+dp1V27DyyzQhAuiQhHWgMt0zLgbqpeAq/SlT3w7869hwWaV7AIG6Z2AzRhvNcNbJml2zfcwYgLOsxje/6sP8KSPG3S8gtFOi9jEhEumY2MtCSy+OZeB9jCQGB5RQtwqehquQRa00m89G0bFhherSBsqbEKL3iLF7wgBp992zSHkBVFjDyjFIETYcZqZg8LXjd7OifCnIQjbyUR6GfVdzd4wQ0UBiVZ8M5aT1NHUdAOvNFc7YBrydUO448kjroFrXjDgac1bzrwtOGNB562zHoBWmW8HvK0YB4sHs+ZI4LHC7b/wNuSeMtM/iOec8sFcF0S5eKPRYEDbZal7/6gHXijuNoB14rQ3tRNHXAb74z83u5UV4+PHz+c2diLNvLqGPnoLBx5iHk8PoaWkVTCAiOJF/AULOIZN/OA63gq5T08Z1aNxFhVrFljVQO8FUSHTGIQz7iZAVxbIjNTkeHu8b8SIpnB3Q23/RAXVE1ex4HxooRJVkWf2fMFb5Xrb1bI9Fv79q8Zv0KlH9zBL8ANdaNNMQOuKb/WMWvCsqUgwfj7B8dO/wHKteUHqEMWp7jOnW++YQmrl9+4d1z9PHeuv3THh92zOx7+A7PcseA=\"}"
  },
  {
    "path": "officialworlds/bab be u/w5 (hole)/hopstopper.replay",
    "content": "0,1,ijkl;-1,1,ijkl;-1,1,ijkl;-1,0,ijkl;-1,0,ijkl;-1,0,ijkl;0,1,ijkl;1,0,wasd;1,1,wasd;-1,1,wasd;0,1,wasd;-1,0,wasd;-1,1,wasd;0,-1,wasd;-1,1,wasd;0,-1,wasd;1,-1,ijkl;1,0,ijkl;1,0,ijkl;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,-1,wasd;1,-1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,-1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,1,wasd;-1,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,numpad;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,-1,numpad;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;1,1,udlr;1,0,udlr;1,0,numpad;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,numpad;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;1,1,udlr;1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;-1,-1,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w5 (hole)/icy stack.bab",
    "content": "{\"width\":13,\"version\":5,\"extra\":false,\"map\":\"eJyV1O2KhCAUBuBbGebHwoKwmX3u4LWElTsIUkMfNBHd+6aGTQvjcf8/b7xHO9btRbYVk5eCLssgJKfXickretIAiZpiNNMI9Q9eCSbpsqJadBSvaKfDcyheebjx2M2rVsraBsgWSNyBkpWWRxtP3/O9ClY0hpuX3OoELj59/XS8sYnUo/nx/cyreKhoDhdv2ntrPQ7+cegmgeHu46FDd3el7y2b2PyQvUoRnVI3G4ITGxu5Rz7ZGJ7WnLvhCTzqx6FTeNSx40IFIh3IvKY0Noebf39aHgZw8+3Yu6Y+ItjrL4u1BVb1ZIEtPVlgRe2fmGmtbhN768R92n+0ukziuRcmkbnPxOpc69yzu9Yk8OxuNHZ3399EY0Pfl85w4jkkNg905DnlzmPPMXeewHckqvklkMJL1EtzOvr1Im82dL11fBi75lLceFP/Am/mWjY=\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"icy stack\",\"height\":8,\"author\":\"Slabdrill\"}"
  },
  {
    "path": "officialworlds/bab be u/w5 (hole)/icy stack.replay",
    "content": "1,0,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;1,1,udlr;1,1,udlr;1,-1,udlr;-1,0,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;1,1,udlr;1,0,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;0,1,udlr;1,1,udlr;0,-1,udlr;1,1,udlr;0,-1,udlr;1,1,udlr;0,-1,udlr;1,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;1,1,udlr;0,-1,udlr;1,1,udlr;0,-1,udlr;1,1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;1,-1,udlr;0,1,udlr;1,-1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;-1,-1,udlr;1,1,udlr;-1,0,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;0,0,undo;0,-1,udlr;-1,0,udlr;0,1,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,0,undo;0,0,undo;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,0,space;-1,0,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;1,-1,udlr;0,-1,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;0,1,udlr;-1,-1,udlr;0,1,udlr;-1,-1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w5 (hole)/indirect controll.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":16,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"marshmallow\",\"parent_level\":\"\",\"name\":\"indirect controll\",\"map\":\"eJydmttO4zAQhl8F9QJppV7EOXtRnwWVNgvVRg0KYQEh3n1TzziJ44k9NhISF/8XO+M5Opy7u7Y7Hdu7x8P393Bpm8PupTk/7/afh2R/OR/E/mv84+21OV2O7eH7Z3++9Afxs0ft0/H61HWTOh3VwlLvT13b9Yfdc/9+3W2h2YimcWg+olkcWoxoHoeWI1owUcOk1QiWbJPWo7piq+Wortfqgt6HSEaxZD9a3FxB2L7AMpZQnhHpGuLmGyLSOcTNOwTXPUwD3bxD2O4xqf9dmutNLZS6pEKloNcZPofH2+8oaU7DpVs8piJjaGPNmvIlx5pPzfgz49LtXMZaKekuG2uZpKDt6EZThaZk/nG94Mxmbkve5H+6fjIJQDmVEYqN3RVkKPN2V/JsD+IqwPakb8FjajoKDfTyfO36GZF07JmrNZ/DRGQJHXD0m2VRvpEplPQNh1HeZ5ThGvezmukTIA73CfQ/wJluAWLSLbbyYtO2w4zWdDa3MiGopcdx5qSr9HkSl7EBFjEZG9DUk7HXSyk/4FZxbftcoXmg903nDDjZeWTWa4G45LYMIK+4PQPIa17TAGLpbhoMGxVJSNXX6xQK9TSeczYFeeo2p94WiLOAqmmSOflCIYm4VM8p/PkH3g7kJdkcG/KXpp/1FdURZ4ae2FTNsyGIZYANJ9dXaOnpO411ShHjQpVC6d7BWgfEpE+wlqF9ggo30BchudFcqmSW1lqpq+DeCSsE4LXbR/XOQCzdHjrbQMmrJGpkA1ZEzWzAphFDG5C0f2wulJMpmLfJgsrHrE2WvMgCcRVSZjUqFVoH176Zlbz5RonrhHKrjYW0KYDcaCIIo4N+o3PwnRjAUW2EgPme7CMcUfrcLWBPHVktRZYR1rQIfEVGHnHSqK/JaDP0H8f274IgqwrRl4NcJu5GB8x1/Dh+vbZvC0yQAba5iq+ptN9DbjiEfTBqQJYhPrBCi4B7Mx0hiPqqyezlCFRxMYJ0HRUkakqUMjBITFwkCTNOUC4CjLq8QtB8Sg5X9sSo9VlMKhYZwKGDyP0S9iSQyWNQ7mlEF2eOAN2JetwTWbIf3b6/0Zh0Zx1rj+oeNLQp0KxwJ6zVWcE1qGUP3yVaDnAWGATTXpHPmUGAcjKzOPzKOAt8Ruk+wvWSdIHx9RWaZpQbE2DOsihPNy62PIdXAEzOs94oRZj+rmI7JcrpbylUBCAQ8gVlvRj9CcV4l9+/lgD94WTTcHSb6guZEuDgRnU2DT6B2a6iPCMbVp8lkeW3rJqIbFo1Hte2VgCH338taW7dQTm/7iBA1h3fOSBL1p3CsRhdcbynALS6K+XePNi0iBo0NZ1GjJqazdzZcy33XZNM/lWDvgisdtcOJyPkS2bgojy09Nhf7/BB/CqEAGPmuQ4LoGBMPZhxEfDMOytTqLtU7leFNZvFXNcJCTA9BlHuiwCdRbzOjzSdVLh0VIZB1tPZ2otFZhigy8gMg3RkhkE6KsMgy80wKOdfxGoi6CrWxjcGaC4eO04jHjVPp/CfDeq+1q5xLLZifdX5eeib4b2/3j0+NNfzf7tKG0Y=\"}"
  },
  {
    "path": "officialworlds/bab be u/w5 (hole)/indirect controll.replay",
    "content": "0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;0,0,undo;0,0,undo;1,0,wasd;0,0,undo;1,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,0,undo;0,-1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,0,undo;1,-1,wasd;0,-1,wasd;-1,-1,wasd;0,0,undo;-1,-1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,0,space;1,-1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,0,undo;0,0,undo;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,0,undo;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,1,wasd;1,0,wasd;0,-1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,0,undo;0,0,undo;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;0,-1,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,-1,wasd;0,0,undo;0,0,undo;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,0,undo;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,0,undo;0,0,undo;0,0,undo;1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,0,undo;0,0,undo;0,1,wasd;0,1,wasd;1,0,wasd;0,0,undo;0,0,undo;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,0,undo;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;0,1,wasd;0,0,undo;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,0,undo;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;0,-1,wasd;0,-1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;0,0,undo;0,0,undo;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,0,undo;1,-1,wasd;1,-1,wasd;0,0,undo;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;0,0,undo;0,0,undo;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,0,undo;1,0,wasd;1,0,wasd;0,0,undo;1,-1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;0,0,undo;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;0,0,undo;0,1,wasd;-1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,0,undo;-1,-1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,0,undo;-1,-1,wasd;-1,0,wasd;0,0,undo;0,-1,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;0,0,undo;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;-1,-1,wasd;0,-1,wasd;0,0,undo;0,1,wasd;0,1,wasd;0,0,undo;0,-1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,0,undo;0,-1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,0,undo;0,0,undo;-1,0,wasd;-1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,0,undo;0,0,undo;0,0,undo;1,0,wasd;0,0,undo;0,0,undo;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,0,undo;0,0,undo;0,0,undo;1,1,wasd;0,0,undo;1,0,wasd;0,-1,wasd;0,0,undo;0,0,undo;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;0,1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,0,undo;0,0,undo;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,0,undo;0,0,undo;0,-1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;0,0,undo;0,0,undo;-1,-1,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,-1,wasd;0,0,undo;0,0,undo;0,1,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,1,wasd;1,0,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;-1,0,wasd;0,1,wasd;1,0,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,1,wasd;1,0,wasd;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,0,undo;0,0,undo;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,0,undo;1,0,wasd;0,0,undo;0,-1,wasd;0,1,wasd;-1,0,wasd;0,0,undo;0,-1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,0,undo;0,0,undo;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,0,undo;0,0,undo;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,0,undo;0,0,undo;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,0,undo;0,0,undo;0,0,undo;0,1,wasd;0,1,wasd;1,-1,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;0,0,undo;0,1,wasd;0,1,wasd;1,0,wasd;0,0,undo;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;"
  },
  {
    "path": "officialworlds/bab be u/w5 (hole)/less specific but still so.bab",
    "content": "{\"width\":11,\"version\":5,\"extra\":true,\"map\":\"eJyN1c1ugzAMB/BXQb1N4kBIgLCKZ0FdidZIDKY0SJ2qvvsSe7BWAuwbh5//MnE+ujHpx/OpT9rmfve2N83B33w7OWMP6a3JUts1Iv0JH9dvc7anvrk/0s66RjzS2Y9uoXmgYoeG6A8TtYhasoKBqrVg+RI8RZxHXLBygZZ0rrP+YpxZSqpQovb/cV4+8Dr4ktdNTdAQfTkZv3iRhYKKly0EYeOvGjv8F8Rhama4ZFkJVq2NR67bgp4PbijkJb2Af/EKfMVqBa3eb2WeOeKa3iTYdwHHJmP1gVbQSzKMn2MsKKEgZ4WjlUQ42gosb45oiTnOGw9xnGK+vXivOI5QcrHeH8srjjMsmFhmrFOOljqJz5Z3CNHG4dVMCxfq3iUZttHXNMEfaqjg3apoV6/VDVvR9xIelRq4ZrWBtqafo8EvXGXEoX2KVsQM56VDnBODCX28v8FbB6+oYj6MiFefxi1crLf9ODrjJzck7dEM3S9YqrL1\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"cyberpunk\",\"name\":\"less specific but still so\",\"height\":11,\"author\":\"vitellary\"}"
  },
  {
    "path": "officialworlds/bab be u/w5 (hole)/less specific but still so.replay",
    "content": "-1,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;-1,-1,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;1,1,udlr;-1,1,udlr;0,-1,udlr;-1,0,udlr;1,-1,udlr;0,-1,udlr;1,-1,udlr;0,1,udlr;-1,1,udlr;0,1,udlr;1,0,udlr;-1,-1,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;1,1,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w5 (hole)/makeshift hop.bab",
    "content": "{\"width\":7,\"version\":5,\"extra\":false,\"palette\":\"default\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":9,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"author\":\"Slabdrill\",\"parent_level\":\"\",\"name\":\"makeshift hop\",\"map\":\"eJyNk9tugzAQRH8F5amV/IAvXNrI34KcQBGqhSMwSiLEvxfbxJZSY/N+ZrQ7u1OLhIsr40lF51l2vKGnO+Mn8KAp6GoKwZPmYLw1145xOi+g7gYKF7Ch8iGrS8O5tAK0Cop3AQ4I8Coo9wUWhgomKwwj47CLxbMVR+FhJimE5fOVJ7HhLV34svHRSNFleJYtdI1+xY1bwe7seeOjFcE0nnwrHA7DuetsFI01jeJJjr8TdwIcfpxtXcOSI0/m8My36I51HmaV9feHwwtfKDvWZZhV1htPNO+96j9vzaL0aCIGh/Ete2GObwQoPLstXaZp7Gtd5mjTOMMS36PsOme+wjnn10sZOA+H8sNF6+DIJVUkL0GuBeWh8xg2ckp3Ho1jbzPfnvDT4d5mwmU5D42chj6pzk1f/wEWduuO\"}"
  },
  {
    "path": "officialworlds/bab be u/w5 (hole)/makeshift hop.replay",
    "content": "-1,1,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;0,1,udlr;-1,-1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,0,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;1,-1,udlr;1,-1,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;-1,1,udlr;0,-1,udlr;-1,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;1,1,udlr;1,0,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,1,numpad;1,1,numpad;0,1,numpad;0,1,numpad;0,1,udlr;0,1,udlr;0,0,space;"
  },
  {
    "path": "officialworlds/bab be u/w5 (hole)/no bab allowed.bab",
    "content": "{\"width\":18,\"version\":5,\"extra\":false,\"author\":\"Notnat Tlikehis\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":11,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"no bab allowed\",\"map\":\"eJyN2M1uo0AMwPFXiXpbiQPDN1vxLBFJ2CwSGypClVZR3r3MeMR6Ehv71sOPCeFPBtPTuBvGYzvs9s39PvdD17zNX/P+0B7eoq8mifpTY6Lv5Y/rR3fs26G5P6JTPzXpI/J8Go8rTRZaPVOzUruy56nl6cLNNj90q862z8Pq89je2u+P4boelC8HpfxH+O/paLHQgqf4xEv5e35anFlcqa6fo/X2urd2nqwtXZZ4wTG/bogNdak5nGyfcYhT6gpz2DbMtNi2y7WYrMdh26/U4oqKwmFbsFbixBY0ioSV00bXG3Ci6w041fUGnOl6A851vQEXut6AS11vwJWuN2DyR8jgNNb1BmyUvWunE11vwORWymFhJw0xuYNyuND1BlzqegOudL0B17reDmexrjdgo+sNOFH2XozlKRX8dff3Ott+eD7pnErO6mL7qfmkSyo6qyuqOqvr7YdyqPOY6s5qo3vaep1Q5VmdkukJbhzPlOlB58r0oAtletClMj3oSpkedK1M73QRK9ODNsr0oIVB9UmnyvSgMzH94DQMnblUHuNC2uUxLqVdHuNK2uUxrqVdHuGSzMhhsiKHyYgcJhtymE74qt3QXgoJ0fuUP4DMSL33eC+UtP4yI0/GDNf/203oAGVQeJ0RgtrV/wzjGR2hrJrBm0omv1yFJ0TuzNzZ0xvzq86dFvdljMVtGWNxV8ZY3JQxFvdkjIXnK7oVna/JJyxz9Yx7gxNSBquL0xVavaanq9cvWjgtDFdwV/l9HI4QBix08uCFEcv9Ssfrrf+HjhEHLfwVhDlr/dGBFucsvLTiNvj96783sThpodWNezkX7oPLeB7xB5C3AvcBsfZe8P85ESftQIuTdqDFSTvQyhvAa3HSDrTyDvBanLSxNsr+XouTdqDFSTvQ3KT9eJ+6+XO67Pbv3eX0A4f65nE=\"}"
  },
  {
    "path": "officialworlds/bab be u/w5 (hole)/no bab allowed.replay",
    "content": "1,-1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,1,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;-1,-1,udlr;0,0,undo;0,-1,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,1,udlr;-1,0,udlr;-1,-1,udlr;1,1,udlr;1,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;0,0,undo;-1,0,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w5 (hole)/prison phase.bab",
    "content": "{\"width\":21,\"next_level_after_win\":\"\",\"extra\":false,\"compression\":\"zlib\",\"author\":\"vitellary\",\"height\":15,\"version\":5,\"map\":\"eJyN2c1O20AUhuFbQewqZeH5t4tyLSiQqI0UkSoElQpx73Xmm9NgRO13AavHEdK84wlntsebw/Fxc7i5X7+9nfeH3fr29+Zwu3pdh9V+u3arP+PP86/d435zWL+9r7b709q9r76gfqSe0TDSwGgcaWQ0jTQxmkeaGS0jLYz2I+0ZHUY6MOq6yxp0ENcFgyvmLkvm4Jq5y6K55VWLFcf5bsbfV5vmw5nYPF/OxJb5dCa2n29nYof5eD5a383XM7FuPp+J9fP9TGxY6GeC40I/E5xYP8KZ9ZMqLqgf2R71IzugfqoNHepH1qF+ZD3qRzagfmQj6kc2oX5kM+tHuLB+hHvWj/DA+sn11OhQP7IO9SPrF/p5Pd8/bB6uPqCGZCNqSDYtNPT578ioI9mCOpLtUUeyA+uo4tSxjoQd60jYs45KxQF1JBtRR7IJdLS78owyki0oI9kevYpkB5RQtblDCcm6+YRaxrKeJSQcWELCkSUknFhCfcUZJSRbUEKy/XJCL1c9oIKqLR0qSNYtv4h+7k5X77+qKHz92QFVJBvRi0g2sYqEM6tIuLCKhHtW0VDxgCqqtu9QRbIOfSGS9agh2YAako3oLSSb0FtINqN+ZAvqR7Zn/QgPrJ+Kh471I+xYP+NfetEeBdRwQAU1HFFCDSfUUMMZRdRwQRU13KOMGh5QR8Ku61BJph1rybhnNRkPrCfjERblxBMaDpnOaD5kuqARkekeTYlMD2hQ1HQdvyzPikw7FlbTnpXVdGBlNR1hWY0nWFbjGZbVeIFleXG4PZuG+1Paw/3ZNN2fjdP92Tjdn43T/dmme+ysNM1OS9PsvDQNT0zj8MxsPMBT0/jSuXn5zvr9W31CA7+w8MXHPr9pNrMxzaY2ptncxjSc3BiHsxvjcHpjHM5vXNIAmU1OTS/NTscl/fT5SxPUf/+B2wOLY9Txiafjj+PHZ+A01TicpxqHE1WXxdlNhml2mWGa3Wc0neCNhnF4p2Ec3moY/9+9xvvdaXd+OT3d3N/tnrZ/AdEe3+4=\",\"music\":\"bab be u them\",\"is_overworld\":false,\"level_number\":0,\"level_sprite\":\"\",\"name\":\"prison phase\",\"palette\":\"factory\"}"
  },
  {
    "path": "officialworlds/bab be u/w5 (hole)/prison phase.replay",
    "content": "0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;-1,-1,wasd;0,1,wasd;-1,-1,wasd;-1,-1,wasd;-1,0,wasd;1,1,wasd;-1,1,wasd;1,1,wasd;0,-1,wasd;-1,-1,wasd;0,-1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,0,wasd;0,1,wasd;1,1,wasd;-1,-1,wasd;-1,0,wasd;1,1,wasd;1,1,wasd;0,1,wasd;-1,1,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;"
  },
  {
    "path": "officialworlds/bab be u/w5 (hole)/pushing through.bab",
    "content": "{\"width\":9,\"version\":5,\"extra\":false,\"author\":\"Slabdrill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":12,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"pushing through\",\"map\":\"eJyN1d1u2jAYxvFbQT2blIPY8UeyKteCIGRbVDeugqN1Qtx7Yz+FiLXg5/z3QvjbvDn4jfPdzm227ekUBte3T8eX2T0V721ZDIdWFP9aUxzf+m7YufZ0Lg7D1Ipz8Z2Vi7WkrRZbk1YttiGtXqwoSWwiFvdxeA/b/W4fvYjeRn+f73vnwhXXC1b/Y/3lQZJtuMrJLr+OygwsuM7A8nHolOPmN4qKzA2tmN599DJ5/bj35cOBDdcQ2HINgWuuIXDDNLxyWZIBoQURcI68SlyS9xW6+u7Cfn0SYMXVBtZcbWDD1Qa2+dp+7v6sA3Wmd5wYfZh24y8/vV7nTG7u9rGazDldtEqrsORaAguuJbDkWgJX3JoFVmQPaE398T9vo04jJnN3sZZhLXdzgWuuNnDD1U5YlVxtYJG/ubcDkiwOXdGr1iSvuFULrLmEwIZLCGy5hMA1u2rBGzJg0rokAv720dvkxeOAkb95PwXv3DokuYsLXHHVgRVXHVhz1YFNvvroj3+H13XEEkv3GOaXbh1h9vTPH6vPHW7qP/nQd+uXGPblC517+V50nbTkTgu44k4LWHGnBay5pQ5syB7Q9k6P8/PUh3kaN9vnfjx8AMCNIn0=\"}"
  },
  {
    "path": "officialworlds/bab be u/w5 (hole)/pushing through.replay",
    "content": "1,1,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,0,undo;0,0,undo;0,0,undo;1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,1,udlr;0,1,udlr;0,-1,udlr;0,1,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;0,0,undo;0,0,undo;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w5 (hole)/reflekt.bab",
    "content": "{\"width\":15,\"version\":5,\"extra\":false,\"author\":\"vitellary\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":13,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"reflekt\",\"map\":\"eJyN112PqjAQBuC/Yrw7CRdA+Shnw28xrBKX2FiDbPbD+N9P6XCo6JS+F+vVM9q8dNiZg94ovW/UZlffbkOn2np7VM11G33XSdQdzMeP+bte2n3XqPp2jw5dXyf3iLOpsSlohbECtJmxGWhzY3PQFsYWoC2NLUErjZV++6HVTKt1unwUscEViu2Di1E9ProEeM6p1WL9Ugzfw+73qvW7q8jWr8ZY8d46nq/fjpGf9fDZn11JgV0SwiV2SwhLMBthdRXORml9aoa5JI3RcIgnWOsQTrFYCAssFsIZGEtmdR6O5dS2J1dQcKEIz7eX4fvy6bTEMiFcrWfy1Z1nK2KsmwknYH651Wk4P7ojxAWWHuEMu1CEcyw8wgV2oQiXYCCF1TIcyN8/jldYIBZncfg6ze83qkiwVAin66n87wPCbE+KaK+V7uvtpTvvt56fQRu0tDrQoEvMNqcPA8350bSDKwD7kzDbn68P1uI8BiORVgdmn/HgU/uTB+cfwoEByKZCgwJ5cAgiHJiCFl/M9uhrgITRHq2sBnqUXlrE2R718gLo0kcOtijhQIsusQBDMePYyDMuFbE4txtuppo8HM1RN1/Nz0U9/FQVKHs6WBEO9KJ1P2ilHqpKcDonLddv2/xanTg7H+eeLy/59n69ywmN9Gx/ezW63ZBG9xvS6IZDmu1u77kLNBQ77ZZluGefKiTatpOvkOH+qF2FjMF4SCdgPKT5zYfhduqVgdXnSQfWnifNbj3ek7ALj1ezG49XS24z9uqK2419umKHZKen/6gTTsD+J51yC7L3IILdkL2cH6fE/f7Wt+PberN7a8+Hfyn6ve4=\"}"
  },
  {
    "path": "officialworlds/bab be u/w5 (hole)/reflekt.replay",
    "content": "1,0,wasd;1,0,wasd;1,0,wasd;-1,1,wasd;-1,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,-1,wasd;1,-1,wasd;1,0,wasd;0,-1,wasd;1,1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;"
  },
  {
    "path": "officialworlds/bab be u/w5 (hole)/reiterate.bab",
    "content": "{\"width\":24,\"version\":5,\"extra\":false,\"map\":\"eJyNmd1O4zAQhV8FcYF2pWo3dn5sg/osKLShVGQbVFIKQrz7Jp5xnaaufe568Y01yZycGU/X3U3brer25nH5/d1v22Z5e6zb28XnMlts10ux+Bp+vL81q23dLr9/Fuvtfil+FgFUDqjA0HxAJYYWA5pjaDmgBYZWA1piqBrQCkP1gCoMNQOqMVRkA2tAdqyXAAsmbMUiJXtq2rb3+Fg1cVE2PT9bWLiIC6f/7B/P+BJSD7FVXD7j2e2fP4cPH6FC0lBnEU+Nx3VcHiN+8LSJK2Sk7060zOIiGemXru99NlLEtTJLXqaqOn2VMlzTC1haGKgpJUI4VlJiEyU9YxWWc25hnc551206H2CgrC2bZ/GsTyLMSYR5SIV54P0xL0PC8vy+W/lUEiJ5qfvewxJzCYJBiRQWTkjkjMX0QSymD2JBfZQWBvRxrPu9D8D0YdkiqI/zgr80/myhRKjb5eHDBfaYlYVl+jHvPJ1Dz0hsAVWG2BJq5sRWUDcnVkHtnFid6udUbIIN1NEtW2ZQSydWQC2dWPBjJTjHzJ/gAlOQsnCZVlBb1x8+oIJERKyCRESsxrLWFjZoy7J4lUE5EyvSU8j0aJmeKdjQNXkBNvbR4aBHGwsDbfx5v11v1j4Es2pigens+Pd53+x8SOL7HUM2XX2sv97adx+loRdErMFekKCRP4O6GMMCm1wJlpDQGQarKuwop6CJm8yNI8CZm+BEWVdt9zqhVdzpZ7SOe/2MNnG1nNM6i/v9jBZxw5/RMm75MzqP63VGFwnbn+ElOPUTXYHKsgO3Vmllbbp+EqAxYRFssE/CwiYDE7ejq0lsL6Y9iyOwJQbDiTXG6frMeHCVMR//z0PKtDHy1Y/4Kn25pLsO8wqyUIbBxivsFG6AzutEU9CaA2u+jk603xmNXooZR52XxvYMsN7T58ohoPcyjZov46j7Mo7aL+Oo/xIuUANmHHVgxlELZhz1YMZTJjxW9v31MK2VSDlxKAb144pwwJDZFjgANGSmE458cbxEXVkRDtjypvv3Ncx70yjQmplOePPFSOniCqB697+mESX48DTW200XMFsyrbCHZlpjnsi0ibvESaOE22VX+kLuaAFdyR0d3HRdpXPoVu7oArqXO7rEOiLTFXY3d7gCuxDjaMM1hCc67snbCC+Ci2g/jvhRhPngzkJdSaYIby2u4uG9xVUc3FxI+uOiSOwu3JtxeHCKmq3teJ/qQsKVvcjf4WBlJf+XAlaW8TJR2cmengMEmD3jEsxeEp6D2TNepLO//z0NKDGpORzstZKW8GWi185orNE6Grv6MG2XU+ntqaMFZNeOTmynZnQO2bWjgwW9SpeQXTu6guza0Qqza4drzK4dfm3H9POwb/rDfnfz+NDs1v8BmV9PLg==\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"ocean\",\"name\":\"reiterate\",\"height\":13,\"author\":\"vitellary\"}"
  },
  {
    "path": "officialworlds/bab be u/w5 (hole)/reiterate.replay",
    "content": "-1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;0,-1,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;1,1,udlr;1,1,udlr;1,-1,udlr;0,-1,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;0,1,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,-1,udlr;0,1,udlr;-1,-1,udlr;0,-1,udlr;0,1,udlr;-1,1,udlr;-1,0,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,1,udlr;1,1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;1,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,1,udlr;-1,0,udlr;-1,-1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;1,1,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w5 (hole)/reiteratf.bab",
    "content": "{\"width\":24,\"version\":5,\"extra\":true,\"author\":\"slabdrill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":13,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"ocean\",\"parent_level\":\"\",\"name\":\"not quite reiteration\",\"map\":\"eJyN2dtO4zAQBuBXQVygXalCsZPYDqjPggLtloosQSWcFvHum3rGOTqZ/46LbyofJuOx2dUXVf1QVhd32+/v5ljtt5cfZXW5+dwmm+NuqzZf7R+vL/uHY1ltv382u+Npq342EapbqjCatlRjNGtpitG8pRlGTUtzjNqWGoy6llqMFi11GFVJawvQnvdLgRum/I6tbNn9vqqanp93Tc22zU1/W3mcrSdO89ncjXwOZQ9Zs54+59+urq/f3vsIG8siO4q43/fcxTJpzN96XcSSaayvOq2TWD6N9WPdNP1otIql1eLgtbSrw6XU8T2dYe0xsKc0EOLYlpIFtnT40xb61Mk6bIqpx4U8xef6UHcBaQJNkqySJ/m4P/Ver2dtl+Ok0/Wadqofeputl5/Hsml6nGM1hbDBVjvz2EKnC1kHLTTZAjpfvM0SbMC5x8JxSFWtOfUB2KFINnoqpnGbYaM2HufyqK96baAhk7XQQpN10ElOtoC+b2/zBDrLySrpMKe9I6yh45xsCp3nZDPoPCcLfnuEDVb5CVssg6zHTs6gqizf+4ACSiJvTQIlEVmFjdp5rNHzingKjZlshp5XxPP1HD1zrs/kDZQiZMGNLDwGNvLP6bg77PoQbCu9tcJWnn++2X82fYCSF+ZQlx/l10v12kdpaHnIgh2OomZfaHHGGOxZCQsdzkNVPw10tGFd1NF+dVFH+9Ul7aL96qKO9qqLWq9XzYlO13d9ojOhck54DnbNpMEuR/km2wltzrBr4Ais2WGMdTuEC7DdUb53LoB+51A3gwCs32EsPAN010/m0aeAdFJzxyFA3eWrE3mznr6+fp3K53+DEAvVIsbgXUT5XroALiPh1KUIlWDXkaCFC8lEa3DwGfEUzx2OyLDBs87BgsrcgBWVuXDDnHIH1lTmBVhUifsXIKSqMldgWWUunKZTnmItaeAZWFiZ52CS5cSNnGTd+DnEYlnG2skdzevT2yikEGYcidFoWTbEgbrMdY0DwLrMWijM858Hr6PKEgcupIf671fb9g2jsItp0MLVdNZZhjgX3b3xMXPzaxhRgJN39IqaYC0maxWbtF3SOjbpRZ2ul8QuR5ln0KU8aOHonWgjXcxH2kI386AddDcPusDOc9L0egTvpn8/Qoohc/TELYgLJ25XCJlnsTWfvTcFncfWZVGb6LpMnrn5lTHE2OjizLOXebyXmnFN/7zIhGYqLA7zPHrtmU036PizxHws/L8O4WGiGwvzFBsL6/jFZ7z0N7+HEfG7z+Lo45efOdfEhdtPN1nmbn2yXYcffPR7XRqMiX+vizz+vc6Xnjn4vWpqqI3wvU401h0HHe2O5wNnLTTHEw3+94W10BpPtNAZj7UVGuOJFvriicYemYIGu+LAwa448KWu+Of2tG/eTs8Xd7f7591/qY9sxw==\"}"
  },
  {
    "path": "officialworlds/bab be u/w5 (hole)/reiteratf.replay",
    "content": "0,-1,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,1,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;-1,1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;0,-1,udlr;1,-1,udlr;0,1,udlr;-1,1,udlr;0,1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;1,0,udlr;0,1,udlr;1,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,-1,udlr;1,0,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;1,0,udlr;0,1,udlr;1,-1,udlr;-1,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;0,0,undo;0,0,undo;1,1,udlr;1,1,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,udlr;0,-1,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,udlr;1,-1,udlr;0,-1,udlr;1,-1,udlr;-1,1,udlr;-1,0,udlr;-1,-1,udlr;0,-1,udlr;1,0,udlr;1,1,udlr;1,1,udlr;-1,-1,udlr;-1,-1,udlr;0,1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;0,-1,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;-1,1,udlr;0,1,udlr;1,-1,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;0,0,undo;0,0,undo;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;0,0,undo;0,-1,udlr;0,-1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,1,udlr;0,1,udlr;1,-1,udlr;-1,0,udlr;1,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;0,1,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;0,0,undo;1,1,udlr;0,0,undo;0,1,udlr;1,1,udlr;1,-1,udlr;0,-1,udlr;-1,0,udlr;-1,1,udlr;1,-1,udlr;0,1,udlr;-1,0,udlr;-1,-1,udlr;0,-1,udlr;1,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;1,-1,udlr;-1,0,udlr;0,-1,udlr;-1,-1,udlr;0,0,undo;0,-1,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,-1,udlr;1,-1,udlr;-1,1,udlr;0,1,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,0,undo;1,0,udlr;0,0,undo;0,0,undo;0,-1,udlr;1,0,udlr;0,0,undo;0,-1,udlr;1,1,udlr;0,1,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;-1,1,udlr;1,0,udlr;0,0,undo;0,1,udlr;0,-1,udlr;0,1,udlr;0,-1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;-1,1,udlr;0,1,udlr;1,-1,udlr;0,0,undo;1,0,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,0,undo;1,-1,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,0,undo;1,0,udlr;0,1,udlr;-1,0,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;0,0,undo;1,-1,udlr;1,1,udlr;1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;-1,1,udlr;-1,-1,udlr;-1,1,udlr;1,0,udlr;0,1,udlr;1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,-1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,0,undo;0,1,udlr;1,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;-1,-1,udlr;0,-1,udlr;1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;-1,-1,udlr;0,-1,udlr;1,1,udlr;0,0,undo;0,0,undo;0,-1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;-1,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;1,-1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;1,-1,udlr;1,-1,udlr;-1,1,udlr;-1,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,1,udlr;0,1,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,0,undo;0,-1,udlr;0,-1,udlr;1,-1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;1,-1,udlr;0,-1,udlr;-1,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;-1,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,-1,udlr;1,1,udlr;0,1,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,0,udlr;1,0,udlr;1,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;0,1,udlr;1,1,udlr;0,-1,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,-1,udlr;0,1,udlr;-1,0,udlr;1,1,udlr;-1,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;1,-1,udlr;1,-1,udlr;-1,1,udlr;-1,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;-1,1,udlr;1,1,udlr;0,1,udlr;-1,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,1,udlr;0,-1,udlr;1,0,udlr;1,1,udlr;0,1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;1,-1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;-1,-1,udlr;-1,0,udlr;0,1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;0,1,udlr;-1,1,udlr;0,1,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;-1,-1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;-1,-1,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;0,-1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;0,1,udlr;-1,1,udlr;1,0,udlr;0,1,udlr;1,-1,udlr;0,0,undo;0,0,undo;0,1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;-1,0,udlr;-1,1,udlr;0,1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;-1,0,udlr;1,0,udlr;0,1,udlr;-1,1,udlr;0,1,udlr;1,-1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;0,-1,udlr;-1,0,udlr;1,-1,udlr;-1,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;0,1,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;-1,-1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;-1,1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;1,-1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;-1,1,udlr;1,0,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;-1,0,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w5 (hole)/remote txt.bab",
    "content": "{\"width\":22,\"version\":5,\"extra\":false,\"map\":\"eJyV2t9qGzsUxeFXCb074Atr/s8pfpaQxkNrMHFJXU4PIe9ez6wlbKW1988XhVI+Nc7W9pI0o+3hYX94fto/PG7e3o67/bT5dPx1fPzx/bCdXj+tfm3Wq912k1b/n/7y4/v0vHvab97eV9vd6ya9rzziv6fj2VZ32PpkE7TNyVbQtidbQ9udbANtf7IttMPJdtCOJ9tDm9YnPFA8z9xI8Tx1ic5dWiaPzl6apy/R+UvzBKYbM/i3Hp0nMtGZTH2g55/wZZp9WvzA2lp4vANXa/YlEE6w6NIVLLp0DYr+7Wk6nkc0sOTSLSj5z5lXC+9YEYX7e/Bwu+LnxhKH384F12s4QdIJTpB0BSaoHFHDCZKm01kvumUlF+5ul3z+5Kd/mZ6Pu8PLeVTP0kt4gJWXHmHlF92sg8qXOsE6NouGC6YwXDGFG1gR6RZWRLqDFZGO0jbrdtEwa4XHuLOU4wtv17e3BjNf/nw7/4g23Q6AP3zF2laYLqPSdBmVjpbRUtMFtFs0TFzhIHFLPMKKLLpbw4pIJ1gR6QpWpF90zSoi3LCKCLds7yvcsc2vcM92v8ID2/4Kj2z/u+B+zZZY4cQ2wMLwuyhcww2wNI1XaRqv0jRepWm8DouG8SocxGuBhzXrU+HE+lS4Yn0qXLM+FW5Ynwq3rE+FO9anwnCrIzzAPpWmebrokeapNM1TaZqn46JhngrDPBWGeSoM81QY5qkwzFNhmKejnhHAQLWGiWoNI9WaZqo5DVVzmqrmNFbNaa4mP5mhDwnMYbaaJ5iumcN8zRwmbOYwYzOHKZs5zNnMYdJmDrM2c5q22dO8ta9o4mZPMzd7mrpJD68qmLuZw+TNHGZv5mH67i91GL+FDvO30DCAzeswgS//8zpM4EKHCVzoOIELHidwweMELnicwAXHCVzJ0wQ2pwks3tAENg8TeH+pgwD+8GQijwpy+OIxtgfQJDYPkvjKpwoC+cqoIJevjIri+cqwKKX/PqzFYV3Lw1dnmVewIc1r2JDmDWtI65aFqXXHwtS6j7qw0EPchG5yDxjj/isGLE+RgtYrByTQdeWICjRcOaKmvdbIN7DXzFvYa+Yd7DXznvWa9XBf+HnUiMNPA5bnTCT8zIMHvx95xRZx65ot4tYNXMTNW7iIm3dwETfv4SJuPtBFvJWnr0/FB/oC1TzBPjavWB9b1ywzrRuWmdYty0zrju0/rXvWutYDa13rEbau+EjfoGZP36FmH71F/ejpO9TUydMUNqcpbE5T2DxM4ZIHMfyRB/lb8mpN09ecpq95mL4lD+O35HH+lj4O4NLHCVz6OIJLjzO4l6cZLJ5oBpvTDDYPM7jkYQiXPEzhkrewccw72jj2PW0c+4E2jv1IG0deT6dINQd5euAxpwcec3rgMQ8PPCUPTzwlj4480/Tlkvcwz8zpfZbs6Y0W+5reaUmjPJ1Yczqx5nRizenEmtOJNQ/PsiWnz5PNB1j4SvdpaxjF5g2M4sxhFGcOozhzGMWZwyjOPNwRlzzcEpc83BOXPNgUX17Ocyc00c744gCrES2+Xugrlwk2g3kFm8G8hs1g3sBmMKeza05n15zOrnl45Ck53Bmb6xIT+Y7b42vAyvoOvrLNHL4xcOfrLlN8Rs4cvjHIvGOPMjLv7ywl3T9lT/dP9j3eP+kb3uOptY/ueM8Z8u8/l58oeL93Dh2XtA9OtEuy5b2OPxW8HJw/UnDXW9m5v2hRfOUp/w7R+eePqNXNp2DEy+Hr4eKnDHdulgd6U9ifabj2Kvf98+t0/Pn68vD4eXrZ/ga0wgNF\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"gras be mov\",\"is_overworld\":false,\"palette\":\"variant\",\"name\":\"remote txt\",\"height\":15,\"author\":\"oatmealine\"}"
  },
  {
    "path": "officialworlds/bab be u/w5 (hole)/remote txt.replay",
    "content": "1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;1,0,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;0,1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;1,0,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,1,udlr;1,0,udlr;1,1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;-1,0,udlr;-1,-1,udlr;1,0,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w5 (hole)/roomswitch.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":false,\"palette\":\"default\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":13,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"author\":\"vitellary\",\"parent_level\":\"\",\"name\":\"roomswitch\",\"map\":\"eJyV19tuozAQBuBXiXq3Ui4IYGy24lmiHGgXLRtXlKqtorx77flRacsA/160V5+twXOwc/ab1p8O7WZfXa9909bVXf/W74/+/W77Vu22zTn8ew9/z0/1qTm01fW2PTddtbttB348HD9pGmjG0SzQnKN5oIajJtCCo0WglqM2UMdRF2jJ0TKea8LZ4AJeyIIkrY4+Fc8lDZbLGmxGxPESeSY8p8KANcthxJ2fvO9637bjooJKDaxdiX3AuWC3cihoENhyuerG3AhPE6pGYHdM3rHAyIKUOnHYbP3E//h29DkVOKyhC7YQX1Bxw1qqYGEdEcfFP/q4wsqKkopEbJZQkcDuqIkHm1IjDzajZh5svjz0hmzDGs0afV+uDWEtVUWwjpuRwCXX32G/eKkkWponnzfgmLuUxeo8NT8PecArPfh951wrobkwjFZDU4wrVm2/OWy5neXGyN3yzrH/On/62/Rf1pTcoQg2yX9EY3ZaUdsZnGpVPYczraxH/PMbDTdMB2zUPpgLpVAbYarlWjSWSz2w4w4buOQOW3Chv3CmWu7FQn3fTOMATrnuBVYbcg6TDQlMNiSw+jydOw39ZTPVcjUXjtsaWB+qUy23rU24rYH1t82oH1r/KFzGuyV/XABny4Hg1n9+bf59WUN2JLD+vpl+qhNNZhN4LZsx+M+zKWWJ0ypce2wNfmXARv/71+hdwv1aAyZnLDA5Y4FXZux3nJMzE3oun7f7ru5fustmf19fzh8mNvgh\"}"
  },
  {
    "path": "officialworlds/bab be u/w5 (hole)/roomswitch.replay",
    "content": "1,1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;-1,1,wasd;-1,-1,wasd;-1,1,wasd;1,0,wasd;0,-1,wasd;1,1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,1,wasd;1,1,wasd;-1,1,wasd;-1,-1,wasd;-1,1,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;1,1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;0,1,wasd;0,1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;"
  },
  {
    "path": "officialworlds/bab be u/w5 (hole)/slingshot.bab",
    "content": "{\"width\":19,\"version\":5,\"extra\":false,\"author\":\"vitellary\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"next_level\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"is_overworld\":false,\"palette\":\"snowy\",\"music\":\"bab be go\",\"name\":\"slingshot\",\"map\":\"eJydmWFP2zAQhv8K4sO0SdUW23ESg/pL0FQxmm0VWTOVVANV/e9LfG6TwHv1uV8QMu8T+3KvL2ezbm+a9umxuVktD4du09TL26e2ada3i9elWmzW/Y+3pV28/K2fNo/N8nBcrDe7pVn0ona3PGQLczwuIKh7sODA7aZhMNNjZTqW91iVjtkec+lY0WMqS+fKgVPpXDVwOp1zA2ckXPfarZ4fu4HUPu3ZgL4n1Ux/nouIwSkf5lIfV0ZqjXylLkVEnIEhIXBY4o96II0n83hEU7kVhkPqIjkc4sqkcPYDmHuwikezbX+1I+CE8Xi1zqTxTIxDpEJbip1Hi+M/g9aDRrrAsDiiclRd5m/tra4nACwQI/Cybf+M4gJubxA7ydNy3/82oAXtHuhO83EmL9dVSja7+rUbUSdMp1ebLCmkf99+7urtQJcUVSGMyssN/DRdtA5xcs9NX0dF5cegfWfQdiDAZ1kSk5cbsa3fcfkVZdFRRDoe0adR7r0kicfLjZXG8/K8b0asQM3DCTuoadcxB0u4waPzVah9iGN4c8SwPIPtQ5xTuL5EOQ3bh4uuIjDtY3vaKX1o3ljwgzs31ql+BkTDj9S528wXCnWbns1zcY2jQhowC53GiIvI52MmLqGnGHF1uczOxQ77B6ttFvkqzdUKe4V77TatmFLhUXSy8F8LSSkhvRXXxlNEhOWyDJPYyjJM4kKWYRKXsgyTuBJmmNROmGE6u2TiDJNeJWX47otHQ7MOzwQow15fiA8Fp4gIM7IMkzjWAs7ENpLhaQkjopB+EuYTCd1BYqk7SC11h1eXcneQXu6OkfRHnzI52YQJk01iYbJJLEh2qF+kx6lmHi5MMImlCSa1NMFeXckTTPq07X/eDf54V8HekmVD0xJYAw+sYw+oUS9AaHIvQJiwFyCxsBcgcawX6KPfbX797iaIsCMgceSUNhM7pv1k1EzTyaiZVpPLlLvmOkf547MT3+cEvfRCJ8jFNzqnF0BYKfMQiSuZh0jsZN2Gpeu7TOaIoFZCSwS5FnoiyI3YFAFIO83uu9bfcym6G8ls3Bh3n6cAvHZAywv6MtUagatk3ghqJzMHqf19rcAdQR25pHun1kJ3BLkRuiPIc7E7AmCvaDnogumKa9oTife1hMSbXELiHS8gNd79EpKpBBKUqQoSlKkQEjReK4734V9cq/6v96sH/f0r/XH1oMKv/aiBozkctXC0gKMlHK3gqIOjCi9Y4RUrvAyF16EzPIyn1HhKzTwbh2MUHsbPNjgDBk9p8HvN8ZT5ZMpcT8ZzZtwy4wUzXjLjFTOOX5jFyShw6gqsLrG6ZNSTiOzUtvhFVvgpDqudxg93ONV9/8CMM05XzHOYLaA03s5KM89n7K40Np9i9oEyOCWK2SDKcHWAeT9w6+zqbr/b3qzu6+36PxiusJo=\"}"
  },
  {
    "path": "officialworlds/bab be u/w5 (hole)/slingshot.replay",
    "content": "-1,0,wasd;-1,0,numpad;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;0,-1,udlr;1,0,udlr;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,1,udlr;-1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;-1,1,wasd;0,1,wasd;-1,0,wasd;1,0,udlr;0,0,undo;0,-1,wasd;0,-1,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;"
  },
  {
    "path": "officialworlds/bab be u/w5 (hole)/sneaking under.bab",
    "content": "{\"width\":17,\"version\":5,\"extra\":false,\"author\":\"vitellary\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":11,\"next_level\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"is_overworld\":false,\"palette\":\"default\",\"music\":\"bab be go\",\"name\":\"sneaking under\",\"map\":\"eJyN19tq4zAQBuBXCb0pCyFYsq3DFj9LcBs1GIxdUneTEPLuq2jcSqLG81809OKTUGakmclh3PTjW9tv9s3tNnW9a57Obf+0vTRi2x38x9X/fX64t67tm9t9e+hOjbhvF6j0VGK09LTEaOVphdHa0xqjylOFUe2pxqjx1GDUempZKkMKivUcTJdp/9q+Ri/WExG8i1yuJ+PBv6IuoXyQrdYT8tjZ/xd9vZ6Vhz92/6JX66kJfhySr6qhBJE1UIbKYC30SoKVBXT3yQoo2GQldPvJltD1J1tB959sDcWXrILiWwWr+Rdwbrtpt9vFNdhjJIu9xjqULuY1zi+RrAAegLtMcYGEDk22hA6tgq3gEkK+hi4pWayWkmWKaSxNxBdzWC5vjeVQh54CVNSrc1NcIJga2SWbS6aKpbbk4zE8J+eooPtBtoYCYoJVfEDeT27o3Wdco6GYkDVQTMhapKq35/b60cfT1AUUGbJiKTK/rpUNVkLPnWzJPPcu2beCIkK2ZiKSWgXFgayGboifPx7YMFekS7FlRpAUK6Yj5phpiTlmemKOmaaYY6Yr5hhrizPG+qKgMZZpjDk22IBO2GIjOo3IBZYUwkxTzHdmimmOF6vpr3c9Y6yUzhirpSJMjlrxA/V7Px6TFZqJ309bnL3h54q/fxJvsSgGbArsB0+Y4gzTGHMs17/mT1BIM9U035oppzlm6uk3DrOhUdgPUMIaOzNhrimGqZYWhInPWPiaBG8L/poM43FMVojlI91fTm76Og2b/YsbDv8BVbdbYQ==\"}"
  },
  {
    "path": "officialworlds/bab be u/w5 (hole)/sneaking under.replay",
    "content": "1,0,wasd;0,0,undo;0,0,undo;-1,0,wasd;1,0,wasd;1,0,wasd;0,0,undo;1,0,wasd;0,0,undo;1,0,wasd;0,0,undo;1,0,wasd;0,0,undo;1,0,wasd;0,0,undo;1,0,wasd;0,0,undo;1,0,wasd;0,0,undo;1,0,wasd;0,0,undo;1,0,wasd;0,0,undo;0,0,undo;1,0,wasd;1,0,wasd;0,0,undo;1,0,wasd;0,0,undo;1,0,wasd;0,0,undo;0,0,undo;1,0,wasd;1,0,wasd;0,0,undo;1,0,wasd;0,0,undo;1,0,wasd;0,0,undo;1,0,wasd;0,0,undo;1,0,wasd;0,0,undo;1,0,wasd;0,0,undo;1,0,wasd;0,0,undo;1,0,wasd;0,0,undo;1,0,wasd;0,0,undo;1,0,wasd;0,0,undo;1,0,wasd;0,0,undo;1,0,wasd;0,0,undo;1,0,wasd;0,0,undo;1,0,wasd;0,0,undo;1,0,wasd;0,0,undo;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,1,wasd;-1,1,wasd;1,-1,wasd;0,-1,wasd;-1,1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,1,wasd;-1,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;0,-1,wasd;0,1,wasd;-1,0,wasd;0,0,space;1,0,wasd;-1,0,wasd;-1,1,wasd;0,1,wasd;1,1,wasd;0,0,undo;0,1,wasd;0,0,undo;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;0,0,undo;-1,1,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;-1,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;1,-1,wasd;1,-1,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;0,1,wasd;-1,1,wasd;1,0,wasd;0,-1,wasd;1,-1,wasd;-1,0,wasd;1,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,0,undo;0,0,undo;0,1,wasd;-1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;"
  },
  {
    "path": "officialworlds/bab be u/w5 (hole)/specific.bab",
    "content": "{\"width\":11,\"version\":5,\"extra\":false,\"palette\":\"cyberpunk\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":11,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"author\":\"vitellary\",\"parent_level\":\"\",\"name\":\"specific\",\"map\":\"eJyNldtqhDAQhl9F9q7ghTHx1MVnEbuGbsBqySpsEd+9yUy1K6gzd7n45mcm/xyaPmj7W90GVTlNg2l1eRmeQzVabS7hs4xC05Qi/HGPx7e+mbotpzlsjC3FHC58b1c0dqg4QZ30h/a08LRkCQOq9oTlRnj0cOzhhKULaErrWjPctdVrSOZC1HmNy/cBnzs+5WVTEKiTvtd6WHkRuYCMpy0EwfpSten+A7yZOVNcslgJrNqzR+6zCe0PNhTiKf2Bf/IK+IyVCrL5eSqL5wgXdJNg3gmMTcTKA1lBf0nXf/Y+IIWAmCWOrCTEkc2A5fmILOHj0ngIexfj48/bwt5CyYXzc1u2sPcwYcIyYk05stQkvrK8IUTWm1cwWVioZ0vStdHXOEKFOUTwtiqyu2v1gM3ovYSjUgCes9JAtqDP0VIjBKiIGNsXcUW4uBWOCWtcJu9vcO3gjirmaUR49zgewcl+2vPV6mG0XVBdddf8Av5Es9g=\"}"
  },
  {
    "path": "officialworlds/bab be u/w5 (hole)/specific.replay",
    "content": "0,1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;1,-1,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,1,wasd;-1,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,-1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;"
  },
  {
    "path": "officialworlds/bab be u/w5 (hole)/team flood.bab",
    "content": "{\"width\":24,\"version\":5,\"extra\":false,\"author\":\"Slabdrill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":14,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"team flood\",\"map\":\"eJyVlt1ugzAMhV+l6sW0SUgjIfyt4lkQLWmHxsjEYO1U9d1HnDCCtMbeHRffgfj4xKZWm1YdqnZTFtfr0LSy2LZV9bUNLkUYNHXBgu/p4fNDHpqqLa63oG76gt2Cv1g+sSy6D79J+aZhruFIw/w+PFyGchYILRCTIPHze6npWNMxTh/7pj7VWpFoReJXnKtWo5lG0wnNaWimy/QY6LK5ZhmNnd7p928FM6QzFs4B5v7qwLpWnRZBhNQIran2i0DQCjVwTAjKHEOjSJBq7VmYCbhupkDPYuEM9+b8fOxl52hyij1yEfAQsQe+4h6LM4JHq09gV3VsyhxwBpdJ4ynuEcA8wj2aL7ZVCIJDo8PHBINsuUaQEPx5VcPgalLanWEwzTghGPZEhv9HKMy4pISiUyflSCipeHB4LBRzxRHQhDa/PDk81uT12yktHgelHAmlye+q6h0J1mN31jHYQpFuND52LZyTFoWBRUg0yNCMNkMtzWnbwtIRwRYbTli2QvhN+bXQ0LF/4kJyHoGHxSwS/9tXTYJ9J1L6PISVITKCYPlf4DBERY6I5q3EIWxxSPuVsvS9lX3b9XIY+25T7mRX/wCNOzdV\"}"
  },
  {
    "path": "officialworlds/bab be u/w5 (hole)/team flood.replay",
    "content": "1,-1,numpad;1,-1,numpad;1,-1,numpad;1,-1,numpad;0,-1,wasd;0,0,undo;0,-1,udlr;0,-1,udlr;1,1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;1,1,wasd;-1,1,wasd;-1,0,wasd;0,1,wasd;1,1,wasd;1,-1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w5 (hole)/trapping minion.bab",
    "content": "{\"width\":7,\"version\":5,\"extra\":false,\"author\":\"Slabdrill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":10,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"trapping minion\",\"map\":\"eJyV1d1OgzAUwPFXIbvQmHBBS/ly4VkIGxUbCBBkOkN4d9sepatx7fFuF7+eNP/1bM0Y9OO57oOqXNdF9Lw8LNelmgSfDuG1jELRlCT8lB/eJn4WdV+uW9iIuSRbeOM/6n7nVHJyn9/SWFKKo0zS9D61LpxIm+HGppLmOJpJWrgztOJdcaJ47q924rsuUNE0JRGqGljizqZvUZ+Mp+50v25NYnc+xS9GM0TBcdDjqT6Q+BsOYzuaAykqI9jMnVEN7zjvzAH1jTLk8MLd3RpMI9R7BUv8xe3h1B/9pR9bdSDWB2LEw4UnA56hmoNN/M2t2SkqOdjMXwaeLvDc3wU407zArPPwuOwn4gjVBSxBdLGnU1QZsIgtlb4zBxCL+vykeKI5Yk1f+Ww8bkvBerbUsuorjf9xjwLVUFsW+Rs+GE3cAX8WLtWYuvN9LwRY3D8mWIb/qYADyd+33o4zXy7zEFRHPjRfF1S87Q==\"}"
  },
  {
    "path": "officialworlds/bab be u/w5 (hole)/trapping minion.replay",
    "content": "0,1,udlr;-1,1,udlr;-1,1,udlr;1,-1,udlr;-1,0,udlr;0,-1,udlr;-1,1,udlr;-1,-1,udlr;-1,0,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;-1,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,0,undo;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,0,space;0,-1,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w5 (hole)/trio.bab",
    "content": "{\"width\":12,\"version\":5,\"extra\":false,\"map\":\"eJydmN1unDAQhV8lykWrSqjC/9CIJ4kqRAJJyKKlYomSaLXv3gUTwHhsD7lbjc6HPZ7xYdiyvWnax6K5ybPzua+bKrvtP/r8oXi4jT6yOKrLjESf1x+nf9VjXTTZ+RI9tk3bZWca0UtU1l1GLtEKPRT9jNIrykCUQ+hT0z7NLLuyEmBJxCD2re+q0wDTAeYwfKwbEG3bmRTwlh3kjEn4kGDsoRo4MnDqm1yyZ5srLsUezFudF13Xvs8kia8od6MKRHUHDS0k3KjwrEr9KAPRsSSE+VEj19WKQ+8Q7BEtOQ6NQ5HYaVlN7sDKJTe1A6uX1Ya2UUjsdclt6JoEiR3m1Wi8A2vm3CjBYkNv/xg4NnJ029u2+qWo+tPhc7wPfIQsmzGhl6p8HsRqFPPtzmBxMooFTky0U8pt18HqdBQrv3jy0ucly2RrMy6T0PI0/Pw/v2Y5i7fNaMuPVXmoqrlWjGwbEUDa53YBLB9wZaDlbGtW8Akdf/YLw7eeCvTPVAYNCMypGksEqrxeQh+tCu9pVTiWINJuu7LtFiQNH+ymeDxQ768MxCgOVNoUU9ydkaOY7RFz/8mYYmsI8JgCl37xNA/pB6NtexrANJVg30hfA5TGUuxsYeQjYpwTaTHBtYIWB+6wYZ+C4fpmNETB94gFzvK1MQu5Z9MBYzaPI2DKm32kuJPWahnjOnhSE//l+HqXkPG1LumefUvkC3Y8P8kd3xosIt6aSsuKQ70+7Q49t8+cPgOr0EguwRrAhkux877JqcDQ7uQI9jthw1HsgLnh0LP6hrMmMlzdlTWchbixzZT85nLqm8diWYSLey+a+ZWuLON3a5OA2xvagNkbWuvT36MNDGuGlvvt2NAGjN7QSv8bxNAq/+AxacdZKQmYvKENjN1rbRqYwQwtQdVCaymqFlprXVqP1vpHxqMVqFporXUjtfZyN/2tlV9jd/k9//tbX538nk0/r1GxROkSlUuULFEFRhPwCSm4GolBMSFwmMJhBoc5uD0i4DCcIoFzJAmcDpwljeEwAcNcgenwBNwJh5eUqywlX8WlI64c8cQRT+G4ih1x4ohTR5w54twRd+SrHPkqR74KzLer+rfueJPfVcfyPzedb9A=\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"trio\",\"height\":9,\"author\":\"Slabdrill\"}"
  },
  {
    "path": "officialworlds/bab be u/w5 (hole)/trio.replay",
    "content": "-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,ijkl;-1,1,udlr;0,1,udlr;1,1,udlr;0,1,udlr;1,0,ijkl;1,1,wasd;1,0,wasd;1,1,ijkl;0,-1,udlr;1,-1,udlr;1,1,udlr;0,1,udlr;1,-1,numpad;-1,-1,wasd;0,-1,wasd;1,-1,wasd;1,0,wasd;1,1,wasd;1,-1,numpad;0,-1,udlr;0,-1,udlr;-1,-1,numpad;0,-1,wasd;0,-1,wasd;1,-1,numpad;1,-1,numpad;0,-1,ijkl;1,-1,ijkl;1,-1,ijkl;1,-1,ijkl;0,-1,ijkl;0,0,undo;1,-1,ijkl;"
  },
  {
    "path": "officialworlds/bab be u/w5 (hole)/work ahead.bab",
    "content": "{\"width\":17,\"version\":5,\"extra\":false,\"map\":\"eJyV2E1u2zAQBeCrBFm1gBeiSOqngc9i2LHqqHXkwpaRFIbvXopvHFmKonlFkKy+UcQZikNye3jYH57X+4fV8nJp6321fHxb7x8X78tkUW+XZvE3/J7+VM/1er+8XBfb+rg018UETQNNOWoDtRx1gTqO+kA9R7NAM47mgeYcLQItOFoGWnLUJF0Nkq9x+96ujodN+Gm7IBODusLNxMg/gE3nixz+9tZSY4R184Ps3jv89t4TA91UnU+jz6gxwuZTY/TjMcJydYRVCjl65ZSp5bnjNnKuirBaFcOTm7bnyjfY8d25aao+YvJTtBNDBZ/8HIe8fTn2fvKbtOMKweZUhWALvUI/j/V2t+1DSqVK8nwX17JkqkZ22irLqYwRNqXGCGup5QTWEVNQAnwM8NQkhM2oAcJyRYQlijh4tlbBfrJmsctMFvHTu8AqRbxbiuFTqtvBWqqHwTqqicH6+S4muYPNqLrA5uzyB14QZWkOu0MXkceIkipMtD6hNiuwZj7RkhDYlEo0rKUSDeuoRMN6PdEvh7at+oiMW8SKiPP5NH90AuiCmtGwJTWjo80SKtGwhtqXwabU8ghriSn6kY4yhjhqjsL6+Tn6a13f4YyapLD5fO6GDy7mkzfE2hbnzubM/gYLgsHumtynAhNbnMHDLXUkEeyoiSrYUzNVcKasCePX5hqjYKUzDjHTFk/tebNpYlDclhdcbxSs7XCwufh9F8GdGwVzJ0fB3NlRMHd6FKycHwdrhIQo50h0vtNb/XoXQ9YWmNy0mngQKcmiAnO3AIJTLpHAlvuOgB215AtWGuYQa72yq85tUTTxjFAqHfP2fOCCSyBwOf9BDN/DJMnUapF/MRclxnDJEZ3yi7pDhOWSI9px2RHN3BL8+BYjPCK4e4Kbnrwp+HwbIlq5K4gv8/0+gLv5Ea3e/dx4Bk52U9FKOx1pspmKdtxCLdpzK7VoZVs00srGaKSVndFIl1ynho6XP0TpRZv/2L8b7fZncGeVTn6e/np9Olbt+dg8rJ6qZvsPjnVJcg==\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"factory\",\"name\":\"work ahead\",\"height\":11,\"author\":\"vitellary\"}"
  },
  {
    "path": "officialworlds/bab be u/w5 (hole)/work ahead.replay",
    "content": "0,1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;1,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,-1,wasd;1,-1,wasd;1,0,wasd;0,-1,wasd;0,0,undo;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;1,-1,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,-1,wasd;0,-1,wasd;1,0,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,0,undo;1,-1,wasd;0,-1,wasd;0,-1,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;1,1,wasd;1,1,wasd;0,1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;"
  },
  {
    "path": "officialworlds/bab be u/w5 (hole)/yeet of faith.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":false,\"palette\":\"variant\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"author\":\"vitellary\",\"parent_level\":\"\",\"name\":\"yeet of faith\",\"map\":\"eJyVmdtu2zAMhl+l6MWAAQFm+ewVeZbCadIuqxcHjru1KPrus0X5EOs3ySA3ufh+WRLFg6h9fVfVT2V197j9/GyP1WF73763j7tyd7953wab435rNh/dn8v58HQsq+3n12Z/bLbmazPD/9T135EPO97w/O5QVe0oiDpByAu+jXDcwREPN/Wu+03jJ50kliY00mlHJzz9qzy0l9ePSZN1mlS7gryDMx6+tG+73WlUFJ0iX1ecq7J9rpvJYEHHF/wXPE1vZeOZOVrbJWOt7Jn5mj/VL/Wk6M1sPDtPit/lsZro3s6GMfQ13ZvYqGxsLJ/yZ3oYnOAMTiVboXM4lexqKm89Hlq84Gcys5PlwwAdz2ydN4iP1vkQ8Ym3VoIj5c4QHQs7M5tLZAUJ2ptp7jM/Jz7lHd0bP1PvJfE5v5cuaBJb8F4+7IyFo0C5j0QbxQkbFLFVhGgj4UKJj9QbQ3ysPmTEJ3yMvZ58qtwcojPF5lxO5dNTL0msJOeP2ZisiIbBeI2OAxhW/ckTbZRLJTpULHXmI6kVRfxihy8QjIOwPx+icRCGxyazAhiFk3U+U8dK4nNUiTDjF3zlsuSTABUu6+Mnhi90PD5EvG8rgrWxmGgpFl9VabmVCNF4SrGEp3IZeK7rpq2rahJl/A4NayA4V66Y6EKx4r6w6xWFLQQD9XEj3vClqceHiIdRk/gI8dC9iIelsp/KCU6Um0l0qtjMl6a82LKIymrBecciimitbR0uGXe2N8aWaRk0LvRdJzDqYOIEgvf6AngP4r4Qo3qHWzS8CXFfgJchTgBvQpwA3oY4Acy/jCCHtyFOgK9CnAJfhjgFvgz5zulwbSJ2+A2Z2NjaPE/5w3o5H19ndKaORE6Q8yd1nD7RhXa1Fi+CG1ZrK+hCaGn4AqGn4QuEnoYviPXRggRCV8MXwNsRt0vwesR9IefbIL5AuCR5AhME6lbIoDB8MwQoQuj/rCSCAYCVxDACgIToeG2CHnhNiu7d+sOKYhIJSXpM6Q4XWlnjlByu9mvijeTY/RL+/XhuDrZVZhJSCc49rsHh0LWTVVxI0ktcqMGWuJCgl7iQnpe4kJyXuJCal7iQmBd4KKTlJS4l5SUvpeQlr07Ijpcy8nJ87L7r40vuuxwf9z2SK1+ZNQNMSjLY+wAe7HC1BxMfaTzY9WUzUgjeO37A4aF2Qo6PFBP6+d0qclLE+lrBKRLkNzjROkWKFDj5O0XG++YQ3OeSnE+dvaRs6tN+rin45Lk8VKRaaXrBbrxTGCF/0muCmUtCbf50vLY/MvA3dKtNQRKhQwIUNxjeKaDhoUM5gWB28AlodG7hyQ1XLKe45Y7lJLdcspxEHdQdr310Gnjp2Wn+uuIeqmDP8/qi9THnhadF8AWYtvGLj1PAMjxbOB895TlJqq/DBwWsw8FTkcNxYPdNMfA4sJuvr4fm0L41p7vHh8Np/x9xykFu\"}"
  },
  {
    "path": "officialworlds/bab be u/w5 (hole)/yeet of faith.replay",
    "content": "-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;1,-1,wasd;0,0,undo;0,1,wasd;1,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;1,1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,-1,wasd;0,-1,wasd;1,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,-1,wasd;0,1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,1,wasd;1,1,wasd;1,0,wasd;0,1,wasd;"
  },
  {
    "path": "officialworlds/bab be u/w6 (city)/_--_ _- - _-_ --- _-__ ___.bab",
    "content": "{\"width\":17,\"version\":5,\"extra\":false,\"map\":\"eJyVmm9v2yAQxr9KtRfTJkWTAWPjVfkk0xSlTTZFjZopS/av6nefzXGNDZh7/KaqnN9h4I7jePDudHc8PW6Pd5v1y8vlcNyv3/3eHt+t/qyr1WG3Vqu/a736+WP/eNge1y+vq93hvFavqwyqe9RgqOnRGkPrHrUYanu0wdCmR1sMbXvUiagaUFeerP7vG9qVJ2uMqiqercfT8XRev1SrqminylM3YXU8d+A7DDSRxNbQTGrPWmgqiW3iuRT7TnZtOQqvh8328XL4tb3cTFzZZNJ8F08/1i1dlcO479b+BqsyPGlYx76iDj0fjgVPaAN5zXi2hrxGrIVWALHN4hVAdi20Aoh1+RWQzs7EqoPi37Omgmay9uzgVwWyGsrRxBooSRNbQ1maWAulaWIbKE8T20LzS6xbML+D3zoxMqzfgap4fsXoIzsFRTixGo/wMA6yM9C8E1tDuYJYW573y5/L5tvx9P1m0JQnf9J4sqXOD/bn03Vk6HJes/mXCB4ez4wdPNxvs1LvGw8LJRFPC8FCUTRpOFmbYpyRHbZOicXWKbHCOh1i4GF/w4WlOumyQ7ci9j+ZdVCQebYRsu2k4UZBgUWsjllxqZKdwYKs9XCyk4qxQHbYrkrsgl01DITshF11wia7ahpDnz/ecGE7HXe/raCtgViFBQPBiYOzwUCsgbIMsTUWAM7DQgH8sH24sUkBXGi3XZxkyE6ofMNAiU0q3/l2nVDtTli1sIAlK435nuCsPxPfE1svTgRkZ4U4mMCDb1WhEgw96jzcLs4aZOegACK2W5w1vF1XQUFBbHKqwcbRJSecQn+Ec82k3cTT+RAi2EIhRGyThAI4m60QFnzw9hJG58qnCT7RE9xhKgbJQ1W1OJ+wpYIyCtMa2nSYNtARg+kaEzECbaHAYbpZnCTYssXSBOMOjIigKXVYSAQlafkRiC2FQxAvHcaz9bKZxbNCopnrS1Ioy+cONs3WzbMvasrBGjfe5qJ1tvEZoQLwhVBdRd3S2QJrrls6KbHQbulsvTUXuFoqoyO8BpcFaXZelQKWRaAbLFUGennpxZaY7Mj0AuFxOnojFGMRnZRjRVoow6ZjMEkdhs6VkarsqFsWjA9DeAPpckwn9ViRFqqwiE7qsBJdC9VXRGOqMtNY1cU0piczLVReUU/SyloO/WAq1dmM14QLnh3OtW/pNJhgRTbTyQVRYQG8CTHB2CY3RqVXWaEQ82f0D2MDoRaLmk8kyvJI3o9tMcmSaeECcGi9d+PT2ES4CIxekEhcclYKloI2HdGJdom+p5GUzGkYe90LiXpLuHDTwH0JtHDXENELirPIUtA0IzpRNeH3YAIn04nH4fdgdxOBblOPyzkvmKLebwjH7pmYxm6amMY0bKYxFZtp7L6JaezGiWnszolp7E4i0A5dywGXvHkZidjKq2IqjZrZ605HZmahWUdmNVRWtwRjNTjFsBMKsiHn/9v+3p6vu9OoP61s9X40akk/6fHraADS2Xp6caK8NCbxpPfSoLsFt8PKi2JyFIWWDQSHftcQTJPiZTFQ9FReF5NhcqbXwmCdxGthJRGeigRvQQZSOn7zZvh8o5L559N3H430DUGVvX1KBkAfWVXYaTnA6GGZaPDoFMYJythhjKnSOR+zWtS+LpMPZrLXwumGSTC2u1Kv1YwvX+/DN3Ob/tn95ovWXz9RItx8Ufz/8Nzln9vR87q9PXcq/7xP16MfqvEPJvfDeX+5np/vNvf7591/1BIWGQ==\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"winde be goldin\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\".--. .- - .-. --- .-.. ...\",\"height\":12,\"author\":\"Slabdrill\"}"
  },
  {
    "path": "officialworlds/bab be u/w6 (city)/_--_ _- - _-_ --- _-__ ___.replay",
    "content": "1,0,udlr;1,1,udlr;1,0,udlr;1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,udlr;0,0,e;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;0,0,e;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,0,e;1,-1,udlr;1,0,udlr;1,0,udlr;0,0,e;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,0,e;0,-1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;0,0,e;0,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w6 (city)/animay vilen.bab",
    "content": "{\"width\":17,\"version\":5,\"extra\":false,\"author\":\"szoob\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":13,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"leef be blad\",\"is_overworld\":false,\"palette\":\"volcano\",\"parent_level\":\"\",\"name\":\"animay vilen\",\"map\":\"eJyN19tuozAQBuBXiXq1lXKB8ZFWPEtEC23RsrhKSQ+K8u41Hjch3l3mv0iuvnEyHsyMW78Z/GMzbHb18Tj1Q1fffDTDzfazFtu+DV9f4fP22j32zVAfT9u239fitP0HLQMtMSoDlRhVgSqM6kA1Rk2gBqM2UItRF6jDaBVohVFRzDUoQBwLtlKx6XPaPTQPc0AZA+ay8YuTletPw19rq/VHYvavzdRcAjSWKmEDpPrH+/c5QsYIC+VK1gG5dhde8akueFmsn4C0i2TF+sOaL11ie0hYAnv4UyIVIxS0h2Q1v4eHizb8Fo7+MLb+EmLX3w60NS/9uPgVh20P4YrZnoR1fKkV0LuSLHdMEzYRl+sL/9SHsIRebWQV9i9sxEwxryx3NBN2EVtoYbIOW7iKuIIWjlYV2MLhyZk10xbffh+WmumMmWaaY6aZ/phppkVmmumSmWYaZaaZXplppl1ea402TNLgURQ0YzBn8fxPSEuw8qQVWHnSGqw8aQNWnrQFK0/agZUnXYGVp0GtACtPWoCVJ10Cze/8A3HmMBLqfgkrvv1dB2i+Az4N/nkRYcCESVtkOIyjhIjjgXFYuoSZ122+uC3Wsz1nShqegpIHx6CkkTno7lcMiJOBxcaghIE5aPTPfhEBzEJ3twtvwWxJg11UxFnFYm2UsGOKeo0Fdg8kXGI3QcISuwsSVthtkLDG7oOEDXYjJGyxOyFhcIxN+n9z7Ol+302H/bjZ3Xdj+w11WUnL\"}"
  },
  {
    "path": "officialworlds/bab be u/w6 (city)/animay vilen.replay",
    "content": "1,0,wasd;1,0,wasd;1,0,wasd;-1,1,wasd;0,-1,wasd;-1,1,wasd;1,0,wasd;-1,1,wasd;0,-1,wasd;-1,1,wasd;1,1,wasd;0,-1,wasd;0,1,wasd;0,0,undo;0,0,space;0,1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,-1,wasd;-1,1,wasd;1,0,wasd;1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;1,0,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;1,1,wasd;0,1,wasd;"
  },
  {
    "path": "officialworlds/bab be u/w6 (city)/back in time.bab",
    "content": "{\"width\":8,\"version\":5,\"extra\":false,\"author\":\"Slabdrill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":9,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"back in time\",\"map\":\"eJyN1E1ugzAQBeCrRFlUreQFNv+NfBZEgtuiWhARRyVC3L0eT0tIlNiz//xkZp5p+o3uD7XeVHKaTKuV3P7UestGGbG2kTxiF8nZ6agOba3lNLOmHSSf2SPLrRVEK6yNiTa2NiHaxNqUaFNrM5pNYA75c/uh+88Fx6XFxXNsRlMZNRo4wN1NMtKU0eZ+C+FftVqFF6S1oC39FsLXXkSkNaLlfgvZe3XlgrR1tIGGQPT765XTSoI29VuI/l8+HshIrUKb++39SAp/CW+iS791I3lbeBz5K7uOjjnJCmcFqdloY1JR0Sak4qFNSU1Cm5GqgTawvRsbWJ3bdL0Hn7iHGH6H567pFy/CLcUipe42/vS/izgamDMEvyw4MOi7WwRG7b4RcAY4Dw8E/nqn74tazhSkXeZAy8ernHeDMueh21Q71TW/fphi5g==\"}"
  },
  {
    "path": "officialworlds/bab be u/w6 (city)/back in time.replay",
    "content": "1,1,udlr;-1,0,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;1,0,udlr;-1,-1,udlr;1,-1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;0,-1,udlr;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;"
  },
  {
    "path": "officialworlds/bab be u/w6 (city)/city.bab",
    "content": "{\"width\":16,\"version\":5,\"extra\":false,\"map\":\"eJydV9tuozAQ/RUrD3uRQjbckqCKb0EG3MaqsVlw0kZV/33HQC4mA1nnBRLmjH08d5eKCFVQQbL060tzwdKF/tRZTvPF8jP1l7yExyn118u2ZgWnIv36Xpa8Sf3v5YAfsIHBBgY7DRVHcYGGAN1cofJQ5awB0ZG3POeC61O62POyZHKx5IWSrT6ZJUql28VS0gp+N+zvAdCakZq2mgh2ZLB+90oXHxvyq4BVfv9BYWNq3anZhV304NCCS4MNDTYGbHyFIgeY096A9tZJ21DVqikuS2wfke3NHhnsziY7mN33LbtDSLyz0rJ7D7xaXoMItXUnmGOQoI6PLQKqHrnd3l5VlJEPSip1IO2ey5Lx5oCwwXFz5MCMljvO9onc7NMyxuUbKdUhFwwhZssxB/+4UnqUgEM0xR3YZGD0TDD26qOsvPPJrLJJmp1zKH9Q8X5dI/6/WN50YJM74Z2zEjdf7U81ayA6XjXiqBvhLJOtbfaBSejG5BXKE2uI3lNJBH/bY4TuMRMu6XntnvNnr5w4+3OwybbrBWvUOxs3m2hVE/UK54VEVo0oEZPcQWZZ+ainApfyw/XPltBcHTTRvMLye4yYMHPPKJjuH7iPbo+Dt9Fk/ji3TbSidX05QfdnvF/LRKGb65aRveXs2eJnQ2jXqZsED9zTSjCtb9wlIYcrKpksUF/dimfZbNGAftg6bTYNKxXaOOHz7O47NHBjt3TKafFOuJyKW0s84dieTfJcYemUQ1MZkmeaVNKp+8/2uF49cKXee6FXDtH5IHIpH8a4grUtYTCQ0KNqWqyo3YNmeY1678Br5xYdXL4SaC+1ebAjmisWYJZRbDv5nC2OAVsIJc2oxD4hS7GGOAJM3E56Sqac+I/vJzB/GPQWHZUDt3SXShM1mW+30nkyO7TO+y5xt/K8FVl5xIPHinhe94YvqxXCLPO8jGQGnMEPA4Y3fMmyB0QTNEG2jl5XVY5Vyf77LIFojWaC7ziLtWaq4FjAnSVTLLpLc+TjLFyut8NGpBZYgRikwVTE+93VMArsDtqDQ3SIjUK02/oPI35sOWgiJiNzik1rlnhutIkinM7ajQ6VvKIncoT1sQurJT7T+X6Be+yhkSR7gfL7D3/j5Lk=\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":10,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"map\",\"is_overworld\":false,\"palette\":\"edge\",\"name\":\"city\",\"height\":13,\"author\":\"vitellary\"}"
  },
  {
    "path": "officialworlds/bab be u/w6 (city)/cloning expert.bab",
    "content": "{\"width\":15,\"version\":5,\"extra\":false,\"author\":\"Slabdrill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"winde be goldin\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"cloning expert\",\"map\":\"eJydl9GOmzAQRX8l2oeVKvGAscFmV3xLRIKbotJ4RYh20yj/XuNxCimmmfFbFN3D2DPXY09jNp3Z191mW12vQ9vp6uWz7o8vyVeVJW1TseRif5w+9L6tu+p6S5q2t3/sTWf66soSfrslIS6zHI/guOVEBCcsl0dwueWKCK6wnIzgpOVUBKcsV0ZwpeVYGgFayJIshhw9w5CmGb6Gba/bGT06hy2t80Ds6t0IcAeMllmsky3WBmKB9/N9WQDmwUTylTAFMQU7PbESkwCnF06vcPsHcUnfvwOzNGykcJiMaoGD+XX5rC/TBzAuOI/y3MmRHgAxwQM/tZ64PNRjpiDelKAtQn1l0u5/6NMklqFmsrZ6RTjRjeknsAwe6JUwPCVW8HVEC4cyXDFAnNEvGAA5PQ8ACmQeQJ0T8/AQqgi6mD0Av2sb8NyYkZKOkrj8gVjR8wcg5Wbwm3KgCF8MK+sT1E4AnQ3YcBNYRlJOzfGZmAIBGnw9PJbpu+l9FgAJPhzYaoTge2FtJ5JeGgAVsjSgLomlOerG90PH5ynC3feIpSOCneH/ZgWQ0CXGqH6ZwPLnxT0YewgvH91posTz+t6bOAA5rsIgLugVBlAiKwxqFdPEAS0RxQWD232MD+IU17W8mjBXLCJlzws6WdUz/Hk5D2aYAQJXTq8Ovw7X9/P2bQYXwZoun5ZeLqnH1hzMDFeIwv5FmENKZGmdWqb0G8mT1LvidcZi7woGYxjhsviHFPTJ1pM5fbb1ZEGfbj0p6fOtJxV9wvVkSZ9xgVQpfcr1JIuYcz2aRQy6HuVEw87fev4TYsW3t/deD+f+uNm+62PzB7iT4AI=\"}"
  },
  {
    "path": "officialworlds/bab be u/w6 (city)/cloning expert.replay",
    "content": "1,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;1,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;1,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,0,e;-1,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;1,0,udlr;-1,0,udlr;0,-1,udlr;-1,-1,udlr;-1,-1,udlr;0,0,e;0,0,e;0,0,e;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;1,0,udlr;0,1,udlr;0,-1,udlr;-1,0,udlr;-1,-1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,1,udlr;0,-1,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w6 (city)/combo.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":false,\"map\":\"eJyVmd1um0AQhV8lykWrSr5ggd2FRn6WiNi0tWJhi9hK0ijvXtgZCiE2++XCvvqOveyc/TnD9nCzP2yq/c39+u3ttNvX69vnan+7elmb1W7bfb12n6djvdlV+/Xb+2q7a9fmfXUBTTs0ZWjWoRlD8w7NGWo71DLUdahjqO9Qz9CiQwuGlh1aMtQkfQ0SCIeCwYqZvmQmXog0wBmygrB5ZBSnl9P907FqHyeavnwmbqAswA4NRlhPBtNUm80oKdhY8gCXy2Ppf/5Ynar/gjRZ9nQv6P7gcRSYS3a1HwSP3T80r6MkRV4UNgMTNP/9/AszlFrmMxvgSGn7wTzUI+7jkznFi/hUvtb1aRSUaCIDmyVgIieDyQybRIHhYnUBjizWfiDnkY5ssj3dfUbexifxb/VcteftYRQ5NJHCkiX769BuD+2ogWtW4JJNpg9HUII2G2Hh/itwyoYscMaGXAQ4Xx7yuJoFt+iUFdaB2nwQePaUAhfsKcsAR3be8YQJuE2Wbyhz3CzfUuZ4unz9mOMZuoIIm6M7iLAWLTNhHbqFCOvZLUTgAm+EwpfMIgF2CbNIN9iejtxgx7IoH7nGfuIjd9lPfE5tovzFvfbaw7plo8jSbJuJwi/bZSyU8sWyZXq+qbeP9VRTRqzTi76NvCfHaHP4fZhI4EmqNDxKjQSAyFk6qZjwOXaQ8BY7SHiHHSS8Zw4SuGBxR2B2NxK4SFjkEdjAzCN0CkOP0Bn0itA59EoIMYXFXhHeYa8I77FXhC+wV4QvmVcCXCZgt9kdnyYKg3cb4dP4bvPzx4TPoG2EJilV772qgBlVaQetEzJn6bF1hC+wdYQvl60zRFShTXIxpNqrP28Sg62mgpR5TemMbUxK52xnUtqyrUlpB02mOMkyD3Xz/TQVwTAz4DDOGGlYmEigmZRKBQZ7TQUp3qdUkGH3qCBn7lHaMvcoTSLOeSqAEWfAYcgxVnAcc1SQ4qAzCHDUGQQ47AwCFncGOhZ4hlNFcbh+lY5Vd4bT2ipOa+sE57UVQcZrq4JIbT+OJ3SZwEJR+mudw0EFe4cDDruHxgse6R9OJkgFHs+oCorYjGrCUrxkUyp0znqIw3GhIhp/FKf5pxCcByAV8ASkAh6BVOCWG1afBR5vWCq42Ci+OkWwxkJbUuPzVBCr7/SVwaCBzcUBh+1FUwoeaTDOaLtsiBnt2I6ldOQFwIyOBKIZDeOQ0C6Sh2Z0JAvN6EgSmtE0BykeC0IznKYgxWEM0hd7/kvnp4PLVOlyufqTwBcaRUZaUZGF96eS90XyTpW2ouSlJ21F6XDgIlX6Wlnf79r6dG6bm/u7utn+A9Lig+8=\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"winde be goldin\",\"is_overworld\":false,\"palette\":\"mountain\",\"name\":\"combo\",\"height\":15,\"author\":\"vitellary\"}"
  },
  {
    "path": "officialworlds/bab be u/w6 (city)/combo.replay",
    "content": "-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,1,udlr;-1,1,udlr;-1,0,udlr;1,-1,udlr;1,0,udlr;0,-1,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;0,1,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,1,udlr;1,1,udlr;1,-1,udlr;1,0,udlr;1,-1,udlr;-1,0,udlr;0,0,space;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,-1,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,-1,udlr;-1,0,udlr;1,-1,udlr;0,0,e;0,-1,udlr;0,0,space;1,0,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,1,udlr;0,0,space;0,0,e;0,0,space;-1,1,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w6 (city)/faster than light.bab",
    "content": "{\"width\":24,\"version\":5,\"extra\":false,\"map\":\"eJyVmd1u2zgQhV8l6MUCCxhdUX8Ut/CzBI6tGkYEqXCc/iDIu6/EGVokTXHOXhToxXcMhsM5Z0idpqdhOh6Gp+f9x8ftMvT7L7fft+eXw8uX3e99sbuc9mr3Z/7P24/+eDkM+4/P3ely3avPnYe/jYfj8S4oZ4HKC177/vXOVzNfbvO/DsMdrWe0wtBmRmsMbWe0wVA9oy2GdjOqMdTMaIehqphZA7JL6ZRQu5d+4ZXly3yp+beJraBSEFsn16GDdbwveGnxBloGsW1qGTrNamEZDFcW7lKneIM1qROcZssCWjCx6fptwLbtwBWXS/UUumRbvsya/Y4mxVJBJXdfbeFW2unbdYV13izO18PbCnf5MxrCJm8YAVwVecsIYZU3jRAu87YRwlXeOEK4zjtHCDeCdRyH6XWlW+HsudNBtMYOH8EdcPjIw4g32NFrbJwUUJMTq6AmJ7aEmpzYCmtygmusyQlusH0muAX2eRa8rgqN7XRr4WQrPiyFWIPtiLYxj/kpsaCfdhYWauiNScRX0GhALBKIzveMVWCZSKxoqB6b9NMNVqjh2omEG2hDLNsWgt0EsEo2wQZcJptgA66STfA41dDYWGPBxXST3+njNAwnD08ONmoT1/n0eplxj+7y8RX/uMnjS+HH28rrIl/56Oe1kI/cZQwL+Rj/dvX/8DofqDHe5CM1xlswVBnXYKoy3mF2z7QBj7qd4DssKBnGkpJhwGbnf54A81mGJaMN6QYzFqZbzFmY1sJ+c75ahb2udB22jQQbKAYJNmm3TTm5svO8AStKMDb8MCxNP9ZbpvNkJXbCMzW2GIIbbDEEp/vzkbbzj9FYTxAMFpNgsJgNPQhI1YzwdHpu4un83MTTCfqIt4SjEcq4kKG3a+/TQoRGtJCgES0kaEQLo1BI2yeeTGZFtMpHVkSX+cSK6HR3JgKLeel6ck8s5sEbisOlO4rDNeFggzINdijTYIsSXaItyjjaooyjLcq41KKL5X4fprPVdKSpsZdBpkHTZVpy3WU994PGGmk08hKMFdJ0FAQNa9IzUqh5O4z22UQZehYtsJ1iWmGvqEyXwHtuvJ4K2Ck3YLGkFi7267xf0jtzBb7YMi34ckQLvhzRgi9HNHZFZboWfDmiBV+OaMGXI1ryZXv8+crnNJI3P1S1ll5xF8Xw9ev7Tyvip/42fxT8t2In0UJOL5PxP9+v/eiLOiGuZ5F70XSS5DU23IDzdPMUjXCR9Z3SSZQQ3ndjcgLp3f5RUQF1YQV/UBHsOygKS5IevlkUFrVyUe53YqfReFVY0clVGaf38TT5IpOqS/L084elAu8XViigLv/+bRX03agVPrgFdWFJ8rub3qoLi+pUXaIMoMnPKRq8KqxoU1XRG2bBGi03i8tkJ+nwPHMS6ZOA75ZkffYFK3O192pPPPCRfD2StCwNFP98+bk+2Sj7mCUpprFfXx2UBjrf7Rb/KY1wn/A2i+YFetaC/Mj9IdKng3C/3N/SAaq/1mcOpTfi/fPbtb+9X8en52/9ePoPucvaFg==\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"faster than light\",\"height\":15,\"author\":\"Patashu\"}"
  },
  {
    "path": "officialworlds/bab be u/w6 (city)/faster than light.replay",
    "content": "1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,-1,udlr;1,0,udlr;-1,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;-1,1,udlr;-1,0,udlr;-1,1,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;0,1,udlr;0,-1,udlr;-1,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;1,-1,udlr;0,-1,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,0,space;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,-1,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,1,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w6 (city)/hypershift.bab",
    "content": "{\"width\":10,\"version\":5,\"extra\":false,\"map\":\"eJyNk1FvgyAUhf+K6cOSJT4IotQ1/BajhSxmBBYKaRfjf59AC+tikTcfvnO89xwulQWX54EXPZlnPXFGDvqm+3EYD+WNVOVECSh/1o/LNztPAyfzUtJJEbCUf3FmaWBpuE9fjQ54veLoNX75MjywaGXbtPXHe6CblcZp2lgYWrhNT32Pw6F4Reu076CkoEFwzFvRsd3+0CPj3OVXu3KqtHtsBzkc5OKNw2He7K2D6/3qhTSCyihBW/74SfL4B3aCJucx3gPyClstSCveIo338/mUEbfdNjlxHh3eZRyHFDoIYJV7ex4H+7tejaJRsNkv/leZX7hzgoyOQ/5egdIzPer1sK0XJu7w2brdupbmhTXePq3lpJg2ShT9iQn6C1YatUI=\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"hypershift\",\"height\":8,\"author\":\"Slabdrill\"}"
  },
  {
    "path": "officialworlds/bab be u/w6 (city)/hypershift.replay",
    "content": "-1,0,udlr;-1,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;-1,1,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;0,0,undo;0,1,udlr;-1,1,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,-1,udlr;-1,0,udlr;0,0,undo;-1,0,udlr;0,0,undo;-1,0,udlr;0,0,undo;-1,0,udlr;0,0,undo;-1,0,udlr;0,0,undo;-1,0,udlr;0,0,undo;-1,0,udlr;0,0,undo;-1,0,udlr;0,0,undo;-1,0,udlr;0,0,undo;-1,0,udlr;0,0,undo;-1,0,udlr;0,0,undo;-1,0,udlr;0,0,undo;-1,0,udlr;0,0,undo;-1,0,udlr;0,0,undo;-1,0,udlr;0,0,undo;0,-1,udlr;-1,1,udlr;1,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;0,-1,udlr;0,0,undo;-1,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,1,udlr;1,-1,udlr;-1,0,udlr;1,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,1,udlr;0,-1,udlr;0,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,0,undo;0,0,undo;0,-1,udlr;-1,1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;0,-1,udlr;-1,-1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;0,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,-1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;1,1,udlr;0,1,udlr;-1,0,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;1,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w6 (city)/inf step steev.bab",
    "content": "{\"width\":19,\"version\":5,\"extra\":false,\"map\":\"eJyN2M1S2zAQwPFXYTi1MzlY/pBtmDxLJhCXZurGjGMaKMO7N9KuQGmc6H/r4bep0K7WWm2Gm354XPc3q+X7+7Ttu+Xt9Dqt9lPX/bldvC6zxXazNIu34z/2z93jdt0v3z8Wm+24NB8LDTis+0+aH6lhtHD0inXriH3pfH7dP3SOG8crtGhPLVq0pzVYdLSIBqz5xenc6fb6kh3+uz6sx5fN8BljsnTQME4/owiWTrGJfO6f++00jV/eJbW44kNdiXYptXAlFdj53fAU/Z02sfn684XHNdoUsQ2qF7FtYtkxzjO24tJjlkax7FiKJedyHB6/AlIHU3+98pgdS7HsXIp1+aNraK4X6Yl1+SuZLVz6qmtWTopgg2pfrEtfDa1LXwOty1wLrT9/MHOFxW1SfE16+/rBBVgf0KAyEtuiMvK2TKRQ616sQbsnNgcb8jQcm/vbc7//CivwN6/2vkTbIraa25Zi3tpUZUc29Yk8weQDeQz45SIaH5H4SOqve1tlqczLgRRsUOrF5ij1Ytk9J14JbKitx6yhik02VFmFYNZRxSY7avzDrKV6a5MtNbKso4plHVUs66hiWUcVCzuqYN5Rxac6qnZT46/WlrVTxayfCq4z9K1VbNBOK2ZnUHHB9lp1ie6a+8P2dxRUgVYWX981LHVLPRnHjAwh7LKqmN1WFbcsXTLcZCxdgtnXUnEO0yU61WFPNeyuxg8RzexXcnYA0gA7t4Nnn1XFNdtBwQ3bQcEt3EEZPDNQ8Gd/amvgTvrhpmUziOJi7uNzvouCS7blgqu5r88lPHvvibHuh+gafYAUNyz1gluWehk5swzmXrnhbxoakcPEl8ILlnnVJbp3BF2xhqXaoqtH0DWb5wJvWPpVtyz/ov0rDygA1QYWgHIynPjTHwelRpPwf1TCS1YDqitWA6pnW+5FXbMaUN3AGlDeshoQ7d970rfQoOHtSDW8Hqmm9yPlqQvSfzx1NQrcCofvsarZnBI0e/sJmo0qqun7T+BsXgmaTSxBs5klaDa1BA3nlsDJ5PKjH57iGPQeJJ+kWiLgBKMajjCi/aMQqDDVhlWY6pxVmOoCVphy9r4edMUqTLVlFaa6ZhWmuoEVpjz1xn5WLVXqod1F3H3zEY1EsNf2oOFdV/XsZfeinr3tXtQwqaphUlXDpKqmSVVOknr3PYqwJKknA7jGpcaYz+akPnlk9RAqp2dWOTyzcguzF9L7cT9208u4u1ndd7vNPyvHzKE=\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"winde be goldin\",\"is_overworld\":false,\"palette\":\"mountain\",\"name\":\"inf step steev\",\"height\":13,\"author\":\"vitellary\"}"
  },
  {
    "path": "officialworlds/bab be u/w6 (city)/inf step steev.replay",
    "content": "0,0,e;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,0,e;0,0,e;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,0,e;0,0,e;1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,0,e;0,0,e;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,0,undo;0,1,udlr;1,0,udlr;1,0,udlr;-1,0,wasd;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,0,undo;-1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,0,e;0,0,e;0,0,undo;0,0,undo;-1,0,udlr;-1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;0,0,undo;0,0,undo;0,0,undo;0,1,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;0,-1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,0,e;0,0,e;1,0,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w6 (city)/inpermanence.bab",
    "content": "{\"width\":9,\"version\":5,\"extra\":false,\"palette\":\"default\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":10,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"author\":\"Slabdrill\",\"parent_level\":\"\",\"name\":\"inpermanence\",\"map\":\"eJyNlsuOgzAMRX+l6mKkkVgQwnMqvqUKDyFUFCoealHVfx+IgRREY+9YnOvYN7ZDVp+qOhXV6Rq/Xl1Z5fG5e3bXRCRn6xnbVpnFzBrGj/aep6Wo4tfbysomZm9rxh+iWlFnRBkN5SPq71G+olMStzy/rbw78oGZ7/Jnt/LeyIffU9nE9kc2+s4qQ/KJZhMdkPxQaGj2Y3ZZodGIclpUZuPetUK2WsBw81op0lQrnCPFV0sYN7s94f1EO4p2SQ4C65FaClif4Mut/xAEuC+y7mVWa0mIV7qcwZUgMhc7CZqhL2q5Shyb5A+wjOQPsNOlOuZUlrkAATc35RaebtUlZuLhNwXtBbiP3xPgrsJpEwosMqL70LQxVSwnjOnfr8YJQzqGV4Z7SuDgndV2fZJILeEkZ4B1cWe6ZhCFKD8O8Ej+AIuMq54KwAnDOof3FR+SagU2wmv9WWnXNhepewZwZh6MZV0A7JhN+czaJbyhkEegcNraBRZZu9vNCBIfd6WoxUMM96rVqoC0NYANj+plBw0DeGR+w3a4Z5s3+x5n+E+DrAvlT6gEyLjOlQLLcfuXXQAC17zaN8EJy1cXC5LDBbxbNcsPBCgC/J1cng8QhMd+vi9N3vWNPF0vucz+Ad8RlxY=\"}"
  },
  {
    "path": "officialworlds/bab be u/w6 (city)/inpermanence.replay",
    "content": "1,1,udlr;1,-1,udlr;1,1,udlr;1,-1,udlr;0,1,udlr;1,-1,udlr;-1,1,udlr;1,1,udlr;1,0,udlr;1,-1,udlr;-1,0,udlr;-1,1,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;-1,-1,udlr;0,1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;0,0,undo;0,-1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;-1,0,udlr;1,0,udlr;0,1,udlr;1,0,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;0,1,udlr;-1,1,udlr;-1,0,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,-1,udlr;-1,0,udlr;-1,-1,udlr;1,1,udlr;0,0,space;0,0,space;-1,1,udlr;1,0,udlr;0,0,undo;0,0,undo;1,0,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;-1,0,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w6 (city)/it's about time.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":false,\"palette\":\"default\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"author\":\"Patashu\",\"parent_level\":\"\",\"name\":\"it's about time\",\"map\":\"eJyN2MGOokAQBuBXMXPYZBMPNNBA74RnMYy6xoSViWKcifHdF+qvVpzJUP/Nw1emqeoqmt50i7ZbN+1iVV+v/b7d1i/9R796a95elh91stxvarf8HH6c3rfrfdPW19tysz/W7rZUfmnaO00H6jiaDTTlaD7QjKN+oDlHi4F6jpYDLThaDbT8mX7NbRh4ZfDtqJ1UIqFKAeuoWsCm9qp3Xf/wmb3s86hT0Tm1alg/v2rNHWxB7QvY0n7CS9MfHwHV/CPqn2diw/yij936btNkftFP1lFbFJYoof53Lj6jigKbU1sJ1hMNIDvaCy+oZcCW1DJgK2q8wAZqH4nNEqoksI4aG7BUBzaX5vO9PY1RhUQZRZzuagQYlfwe4Kk8wnL9CFvO53FcyK9Rl6Ir+zl1PsEbDfnYhMLzhHpIWGc9JLIHnFKvI9jMzog2cCXemKooZfvwxmQd/aE7Xfb/HiEFlRfYkio+bEU1URBrlHJqPVdHWLOOE5vy6/UZ1fSw+XzTP1lvv3LjKx0nIW6yKuZGq2Lj1Tg5tMhpwQduJYKLhJ9QGmFUctI4GsCVU7Fx1HnGY0EDi6Uh6byM5XREiaClnnYrqB4L6owUHrpdJyFyPCrImgouiZrqhoEnKvrkzYLqfoE2K/qkc7JK0J7IpLzXnJzaSrJJgY0mRZXOh003iansVH6LCVx/CK4Srj+AHdcfwKmR+cm3lEZkZI9A52SPQDOVjRFyEq7I2gKbA1g3JbT5cfKkA7mFRYfEeNCo5dwajK/MaVYQQA5fYHL4ApPDF5gdvtDs8IVmhy+0NXyjlnNzoE+28C7hPliidlzCS2jjuie+dVVzNz5R5/Yh42/b7SSkQojnGk51wS1edcktXrUxdb9o/hIo4GaHvAZSbbToPYvK0/knjXlRnVHXGVHn1PdQ1MSR989vubHBPaXjJm7U3Jk3au5CIWruSkG13AnZaYmauxWKOqW+R6LOqC+SqH/o0dvrcdufj4fF6nV72PwHnWlfpg==\"}"
  },
  {
    "path": "officialworlds/bab be u/w6 (city)/it's about time.replay",
    "content": "0,-1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,0,undo;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,-1,udlr;1,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,0,undo;0,1,udlr;0,1,udlr;0,1,udlr;0,0,undo;0,0,undo;0,0,undo;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;0,1,udlr;0,0,undo;0,1,udlr;0,1,udlr;0,1,udlr;0,0,undo;0,0,undo;0,0,undo;1,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;1,0,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,0,undo;0,0,undo;1,0,udlr;0,0,undo;1,0,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w6 (city)/no moar.bab",
    "content": "{\"width\":19,\"version\":5,\"extra\":false,\"author\":\"vitellary\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":11,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"winde be goldin\",\"is_overworld\":false,\"palette\":\"mountain\",\"parent_level\":\"\",\"name\":\"no moar\",\"map\":\"eJyN2dtO20AUheFXQVygVsqFzwdQngUZkqKoLkGJIbSId69n9koYhyTz3/Xim3Ts5bV9YLG+6tePXX91P//4GFb9cn49vA/322G5fLuevc+T2WoxT2d/x39sX5aPq66ff3zOFqvNPP2cacGu6w80G2nKaD7S9jx129h1w+bgC/fTF7bhFjwsHU8dL9GmPa0ub3r70q8G24jn9cjzY96c5c3Iy2Oen+XtyOtjnp3c93g2oqcwOCNpCs7gq+OZ5xk6g2ZzlLvZIr7r5/V2t/rztaQEO79xPPe8Qjs3W+PwzTen0g/8vjmmT6Z5eicZSPPrGDMS5r9u121eF2u3qvCrIpnauX8KFuToVJot0EVgtowf7PfdV5Fj1v9QelyjnZtt0M7Ntpd3Hto8ITOre3ALKr+AjVqzbNaaRcM28HzY1t6zaWs2Mm4n1oWYQRtp5sS6EAtmi+TUAD9jXX4VtFlsNtjYMewCbOAPgwEbZFeQ4Tr+/m+3ovEr2Hw1G5mv+6M03MTiDnEbyzvAZRILPMRpLPEQZ7HIQ5yzzA0XKHOzYJ7uB7stgLO09ZjNUrPRWWqHaLhF/fa2SlC/zaao32Yz1G+zOeq32QLd+82WKGqzFboBma0jKevmk/on7Kphz8yGW5az6TphzZZOWbWlM9Zt6ZyVW7pg7ZYuWb2lKxS6cB0v+K9+/RSsaMBcPzyupvZq07IrwF5sEnQjF05R04UzVHXhHHVduEBlFy5R24UrmL3pmmVvuMHveeZbNttT/3LVRmPUxk1Hc5zoaJATHU1yoqNRTnQ0y4mmYZqGYRoGYd7+DDwN0144E5qmOKylNOylNCymNGymNKymdDTOiYZxSoM8b0JP8yzsmw3NU5zWU5z2U5wWVJw2VJxWVJx2VBymKg1SDb9P7JfRcEv7wgbvoNKwq9Kwq9Kwq9Kwq9Kwq9I0VnEYq3Qk1iNN06zsGyitqjitqjitqjitqjitqjitqjjNVBxmKg2qGn5k16pYtsFDVW2frRP2bCydwotBPGPdls5Zt6UL1m3pknVbumLdlq7ZfVi6YZeBdOS77Lc8S/Jx9vaHX9HYCvZ1dq+j32d1BYjncByIF3AciJeXr4HDq6N4xS4C6ZpdBNINuwikW3YRmK7A31D8LAjXnPtLyufdZjm8bp6v7u+Wz4v/r4KYzA==\"}"
  },
  {
    "path": "officialworlds/bab be u/w6 (city)/no moar.replay",
    "content": "0,0,e;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,0,e;0,0,e;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,1,wasd;-1,1,wasd;-1,0,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,0,e;0,0,e;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;-1,-1,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;0,-1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,0,e;0,0,undo;0,0,e;0,0,undo;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;0,0,e;0,0,e;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;1,0,wasd;1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;1,1,wasd;1,0,wasd;0,-1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,1,wasd;0,1,wasd;1,1,wasd;1,-1,wasd;0,1,wasd;1,-1,wasd;1,1,wasd;1,-1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,-1,wasd;1,1,wasd;0,-1,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;0,1,wasd;1,-1,wasd;1,0,wasd;1,1,wasd;0,-1,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;0,-1,wasd;1,-1,wasd;1,1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;0,1,wasd;1,1,wasd;1,-1,wasd;1,1,wasd;1,-1,wasd;0,-1,wasd;1,0,wasd;0,0,undo;1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;1,1,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;1,-1,wasd;1,-1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,0,e;0,0,e;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;1,1,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;0,1,wasd;1,1,wasd;1,-1,wasd;0,1,wasd;0,0,undo;0,-1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;0,-1,wasd;-1,-1,wasd;0,-1,wasd;-1,-1,wasd;-1,1,wasd;0,1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,1,wasd;1,0,wasd;0,1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,1,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;0,1,wasd;0,0,undo;1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;0,1,wasd;0,0,undo;1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;0,1,wasd;1,1,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;"
  },
  {
    "path": "officialworlds/bab be u/w6 (city)/not on time.bab",
    "content": "{\"width\":10,\"version\":5,\"extra\":false,\"author\":\"Slabdrill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":6,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"winde be goldin\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"not on time\",\"map\":\"eJyV00tuwyAQBuCrWNlVYmGw8aMRZ7FIQBUKsSOC5bSW717GrmhV4UA2rL5/NJoZxJDp4cx11rF5tkpLdrAP21l11fJ+QA+GkRLu+WQE3W/yrLhm84KEMgwv6E/ixE+eE8eLCJdeF06Xz/XE9cX70nmaUp2ApvFevvjEzSgGyBSQqeKZEXAJuA61Qz3+mQsF2jynULe3oCvQrdP5vnYz8RTnzuJEG1zmjg1ucscG97hjgzuk/3cOvl49TZrFZqvQLEL30ay8Tiq92ea10m3820yjET5A8vjh9cPHeqjtGsBJzW+WxJt/f/vlRfibLUcj7Wj6rDvKXnwDDtxtnw==\"}"
  },
  {
    "path": "officialworlds/bab be u/w6 (city)/not on time.replay",
    "content": "0,0,e;-1,0,numpad;-1,0,numpad;-1,0,numpad;0,0,e;0,0,e;1,-1,udlr;1,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,0,e;-1,1,udlr;0,0,e;-1,0,udlr;0,1,udlr;-1,0,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,1,udlr;0,0,undo;-1,0,udlr;0,1,udlr;1,0,udlr;-1,1,udlr;0,0,e;0,0,e;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,0,e;"
  },
  {
    "path": "officialworlds/bab be u/w6 (city)/omae wa mou shindeiru.bab",
    "content": "{\"width\":18,\"version\":5,\"extra\":false,\"author\":\"\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":10,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"winde be goldin\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"omae wa mou shindeiru\",\"map\":\"eJyN191uqzAMB/BXqXZ1JnFBgHywiWep2MqpqnJKVai6qeq7H7ChJJMW/+9/CcGOsdl1m7b7rNvNtrrfh0PbVC/D17C91e1L8lWlyWFXqeS7ypP+3Hwe6ra6P5Ld4VKpR+Lxj+aps1EXcX3q9t3T56PXv/v5IGqixUgVRvVIM4ya+Ov51MbfzacOf61ypAajKh2tBe2UNyfkrf6YfEZ+ylwq7s02j6ci2LeI56I/Xr2NNRRitiYeuGPTHFdsocixdXLkws2nFJZIieRUIikUabYqHukleoyF4gs2zuPR+3nmAoofWw3cPG9rI0fvOumCtIWCx9ZhwWNcYveUcJ7GvxohVlBa2GbQ14BtLsd59Md1QRGP9Ly5Jquhry1boRIDa+OHnq0hK+QvsNhnlGyR4mcoFBQzSzaDzss2hy4F2wLqJmw1FAe2QuXN1pG10LuxdfIQcK77YV1Qxl9wWrCUFC3Qqfz1evuzcqEX+ofXGRSUkqzQBwNbQAlnq6GEs8WKj63QBaew7bv6Vn+f235dJfTD4AlCK1wmFJr9TIpNdIyxQlQ81GGVOOMc25l6vQGnUMYa25n6oDHYzowtNuEydtKMO1w8XUoX1dc2la5qoBU27DLOsGmXsdAMQyw0wqkO/rbdnlZQ67TgHwVj8J+CMVCTzyDyCmA+5flKUcu1wmSzHIewEyabZ1hYK+w/h7GQz5/ndsB88/ZKnlq1E/40lsMw1liOGBv55Keuvx3+eWuwQUdRJ3ZihfpYLFAPl2J9+hgsT8a/pPPxfmmG6+W02b43p91/UIhr0g==\"}"
  },
  {
    "path": "officialworlds/bab be u/w6 (city)/omae wa mou shindeiru.replay",
    "content": "0,1,wasd;1,0,wasd;0,0,space;0,0,space;0,0,space;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;"
  },
  {
    "path": "officialworlds/bab be u/w6 (city)/redo.bab",
    "content": "{\"width\":13,\"version\":5,\"extra\":false,\"palette\":\"default\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":7,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"author\":\"Slabdrill\",\"parent_level\":\"\",\"name\":\"redo\",\"map\":\"eJyVlM2OgyAUhV/FdDeJC8Gf2ml4FkOVGjIEJhYzNsZ3H65oi4sBZsPqO+Rc7jl0KhGqpSJpyDxrLhg53ejtlE4Epbwzx5Pg9PHNWk4FmZe04wNBS7qhetKNi2ODlwGcAY2Bzg2d+2mpRtkpUBSgKPx2WqG+gC2BLQ2bRbKVYVEke/6Hh9o/4YG9GLaIZFHmf+gjDEus/O+s2aRBUK8CHLF19sZzv3PAd0PGOCgK/27cWFlB6V8QCH6ocARVOIl3oXpHcQ6/kh0a2WbUETO4/MU/wm7f9iiLC9lGI3/Mjlfj8LZc3ziP7fTGFxFpG560p1yuqvUrwIG2gmp08EBh94ktHGjsKweWDnT2eHWgtPYL69VbkQeaC4rPD4f/o7zLdWB6HGTSXJnsfgE2aezV\"}"
  },
  {
    "path": "officialworlds/bab be u/w6 (city)/redo.replay",
    "content": "0,1,udlr;0,1,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,1,udlr;0,-1,udlr;1,0,udlr;-1,-1,udlr;-1,-1,udlr;1,1,udlr;1,0,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w6 (city)/requisite past level.bab",
    "content": "{\"width\":16,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":12,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"wind be stil\",\"is_overworld\":false,\"palette\":\"garden\",\"parent_level\":\"\",\"name\":\"requisite past level\",\"map\":\"eJydl29vmzAQxr9K1BeTJqEJ/wUW8UmqKaKBRtkQRCTVWqF894GPgNM8uPZepIqu94vPd8/Z57Ld1O2+qDe7vO8vx7rKny7vl91L8fIUvecsOpbDn4/hcz5V+2NR5/01Ko9dzq7R5P67ONazLx98xYNvtG/rtst7HcXXmauLsps5MXDSwbEVTg6cWuOaY40pNVA6mNIDlQRTyUClwVQ6UJkPdZf9bKxU7IOZGlcjyE2JY3eNb7GRM0NFTsAqk4qI4rDEK0sIuBOxspO3ERQGlH5iJWflUiuqDWEa7UQ5ikNYEqpVwlLvVNw4abgMLYeqdC6aQ12cZ5LHLsn2PBKPzUggC6rajVWG5bBw8ARYxEvoKBa+XvPRvanKP5WFSOc5xdF5Q6Dyzeo9poMy820EtQETv8Yk59Q3uHGR17YrWwvOYNXxSiIO2s+tDxLD4vsE3hEjbMmTePcdA+VJoAitHWEyaK8kzNSQyl28z+4abuwhKnKGp8larQ9t8bf4ONXnhU9dt9l9FawKEAulgg7Au5BlmGia9tCObGbYL4aQ+x4nxKkTFCVhwSohzF8l80UfGzD4RJm4sCPltW4PBqaxCR8rsIcWlU5s+vVx+/O75Z+F9yuRKg7R+Kk4XyyWuWa8XkR8WXWeoYjkqDNc1/vEidCumLj/UI4ZkpS3cj4doxPunGdXNUAsnmrXAvUfYWaZmtlHZVBqbukYUgdJp2mZhTJnXuKVvBDLPfNC3v5T7iw1M2jp8GcPcfDh45QocVAqHhyUiQcHnz/OFiTu6wfQdTs9d4f37nW7e5a/ftA/d89i+jpYFbRqaE2gNYXWbLHyxcoYdGYCmxX+ERwdS7A3jo9l0MxxgBynieNIOF5SxNiMNy9wvQQugrDzHS92ideU3HKXlh3HInEsEmdF4qwoHIqyQ7HMAptXVIwjUbgQGkei8ea1hJHolc7Bm9e4bHolQNQ9XXV565rNbls15T+7zVy5\"}"
  },
  {
    "path": "officialworlds/bab be u/w6 (city)/requisite past level.replay",
    "content": "0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;"
  },
  {
    "path": "officialworlds/bab be u/w6 (city)/retcon.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":false,\"author\":\"Patashu\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"winde be goldin\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"retcon\",\"map\":\"eJyV2N1uo0AMBeBXqXq3Ui6YAWaGrfIsESm0G5UNUUKUVlXfveBjftpVmbM3ufocEXvsmKnau6Z9LJu73fb9vTs09fa+e+12VXu+37xuzeZQ9R9v22RzOdWPh7LZvn9sqsN5az42C/6nrp4nb3tvfvZfbNpbS9qstylp895mpHW9zUnre+tIG3rrSVv0NpDWJD0uWDxUz6yU76uW2rHFM0P1DFs+M9TPsAU0QwXNSgmHY7evB2/Fu/gpXXLPHVLgwJ1S4IJ48GNdvdTyNKl0TBJ/+GP73M4BRE92ZdPMAfZ/A9L1BP37SBmXUeCcyyiwi2R01Jloz301cGBOWbkfAnIJKIg81q/dFJAmXFqADffswJabRcApN4yAs/VpNPzIU3lZ/MicHDLQsXrOverEe7a1wQOXceCCy7jgLFnPeN/SLzM2XMaBbTzjOjDgUzLh0BmR8OvAvfA8nu+n5q2eAxyXcWCyP4FDNOOzLbiEC86TeML383fn7L8otCUHVhAd2YF0/MBm3K4CnHMDAtjFEzIWHQGeTAk0M2jH/ikkgpi0t7I7TwGOnLTA5KQFJictcMqtcsBMZ+Ic9qkeAoje/OLJ1lRN9qbqSHN+0+yKK9onRGJuZSPnxWA1J3aiS3fd74+LGGItOraX2+HvIiayGU0/BDojUwodadnxwKt25BsGtCcLAB1r2InL1uvJ/1HowFRXZ7uRHTAYMunQlnwa6JRvQtkaA7nqqiZ3XdXMcvTclrfy7dRcJE6WqhB5oZH53Z7H93rEkJuSarbEootYiScuK0pBzmPVlrwKgE7JywBo8i9WNduw0GzDQrMNCx3WbwXGygMX7K2Aw41Dwt4LqDfszYB6y94NqGda9qlpEeMRw3at8pw8B8odeRCUe/IkKA/U+8HLMoQuMbzcKq2VbDEFAyLYmazcrid0KpfylNwulGdkQpXnZG8pd+SVm3LPtov6QOT+9y+JKBBRkLkHlwsm5jArN2TulVsy98rJDXnkGZl75exdxOgdWyv1nhxtNoGPzOXvnG1b9elPk/nj4Vx31/PxbvdQH6tPaZvd0g==\"}"
  },
  {
    "path": "officialworlds/bab be u/w6 (city)/retcon.replay",
    "content": "1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;0,1,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,1,udlr;1,1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,-1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,1,udlr;1,1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,0,udlr;1,-1,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w6 (city)/seeing double.bab",
    "content": "{\"width\":11,\"version\":5,\"extra\":false,\"author\":\"Slabdrill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":7,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"winde be goldin\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"seeing double\",\"map\":\"eJyN091uhCAQBeBXMXvXhIsF8a8bnsWgUmtKxChm3RjfvSxWLEk77J0X3yGT8UyjIqlqLqOSravupGAXveiyElLqC1rYFXUNw+hhPqZB1B2XbN1Q040Mb+hXQIvl9CTsp69ZOh8bjwO+53XtAtQECByoeOV4Yngc4MLp1GgK69nhzOAExh9Stc7nxqew/+TCrhI/fRFe5T661fgafv7YPLGBwK89Zt8x+WuPiff6+9vJY3iYYxBqMYUH8XECF8bHKVwWH2dwVXycw03xcQE3xcPkhf/oTjS1CRzu+MAnG8hsgLxwQ+Lkcfj9VvE7fwxyOlM0fEutevLc8sCh/tx0YW0Kd8CtZ9f/3Ol2G4Wexz4qb6JvvgGu77RE\"}"
  },
  {
    "path": "officialworlds/bab be u/w6 (city)/seeing double.replay",
    "content": "0,1,udlr;0,1,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,-1,udlr;1,-1,udlr;1,0,udlr;1,-1,udlr;1,-1,udlr;0,-1,udlr;-1,1,udlr;-1,-1,udlr;-1,0,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;-1,1,udlr;0,0,undo;1,-1,udlr;1,-1,udlr;1,1,udlr;-1,0,udlr;0,-1,udlr;-1,1,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w6 (city)/stacking bad.bab",
    "content": "{\"width\":11,\"version\":5,\"extra\":false,\"author\":\"vitellary\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":11,\"next_level\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"is_overworld\":false,\"palette\":\"default\",\"music\":\"bab be go\",\"name\":\"stacking bad\",\"map\":\"eJyVld2OgjAQhV/FeLGbTbigtOVnDc9i0HY3ZElrEKPG8O4LHWIhkul4x8V3ysw5namym8Yeq2azLx+Prm50ue1u3f5QHbbRrYyjWpUsug8f55M+1lVTPvpI1W3J+miGd/rWPXlRDIIEFxz0E5fj+fyN82U8CAQuULb1fDLwKc5/eJoPdPZGOePpeahb8+kF4w8KXPD95d0caBawH9xkrnw8rGvVPNF0PJmGZniiczTH05yjBZ7jHGVj5pLIMjzvBZvgaS9Yjie9YAUe8oKVhIgvI544PCVFDGxGyhjYPDwm01gBX5Bs5m5GYryOad0AS9gHcOEBD0z3ogxOYoVjxZrNfJ2VJJulY1fjezk3dWz2BpvjNcz3FgjIa9rhPCYNNrCECI29GGW9ZDXGl1Yzx3KS3cAKapeAS9KmAzYNd/lj22lmQJLhXfrdD3hOeFtgdIAvwvzUQe7elph0v4Bla6YvSzda/WntJYFMvfeFwzmpGmAFXs1kOrAynNOvra7V/dScvSoNF2/sr7vBDF5q2rRO8Oq48r7ftbq7tGaz32mj/gHVODWj\"}"
  },
  {
    "path": "officialworlds/bab be u/w6 (city)/stacking bad.replay",
    "content": "1,0,numpad;1,1,numpad;1,0,numpad;1,1,numpad;1,0,numpad;1,0,numpad;1,0,numpad;-1,1,numpad;0,1,numpad;-1,0,numpad;-1,0,numpad;-1,0,numpad;0,1,numpad;-1,-1,numpad;1,-1,numpad;1,-1,numpad;1,0,numpad;0,-1,numpad;0,-1,numpad;1,-1,numpad;1,0,numpad;-1,1,numpad;0,1,numpad;-1,0,numpad;-1,0,numpad;-1,0,numpad;-1,1,numpad;0,-1,numpad;0,-1,numpad;1,1,numpad;-1,1,numpad;-1,1,numpad;1,0,numpad;1,1,numpad;1,0,numpad;1,0,numpad;1,0,numpad;-1,-1,numpad;-1,-1,numpad;1,1,numpad;-1,0,numpad;-1,0,numpad;-1,0,numpad;0,1,numpad;1,1,numpad;1,1,numpad;1,0,numpad;-1,-1,numpad;-1,-1,numpad;-1,0,numpad;0,-1,numpad;0,-1,numpad;0,-1,numpad;0,-1,numpad;0,0,undo;1,0,numpad;-1,0,numpad;-1,-1,numpad;0,-1,numpad;1,-1,numpad;0,1,numpad;-1,0,numpad;1,1,numpad;-1,1,numpad;1,1,numpad;0,-1,numpad;1,0,numpad;-1,0,numpad;0,-1,numpad;"
  },
  {
    "path": "officialworlds/bab be u/w6 (city)/stop it.bab",
    "content": "{\"width\":15,\"version\":5,\"extra\":false,\"author\":\"vitellary\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":11,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"winde be goldin\",\"is_overworld\":false,\"palette\":\"ruins\",\"parent_level\":\"\",\"name\":\"stop it\",\"map\":\"eJyN2NGOojAYBeBXMXOxySYmS4HSdic8i0FljJHIBDXOrPHdt/RUQAfo8WouvtZODy3/77ZeVPWmqBar/HY776syf2vqzdvyK4+W+20ult/2j9NnudkXVX67L7f7Jhf3pafXoupobKmYpuev82pdrDueWB6/cjk6c2ppMk2Hs0pLU269maWSo8rSjKPaUsVRY6nmqIisNaRtMxPh0ITDTGplz7nUYAOxPVlJhQGbUWnAKioOWE3lAWuoPJyNIy6P2GERzuPS65iKAzaZj6Od2Z98+JRbduKwnF/2k82oRcOq8KLxeIJrbs2pwya81R9VvesGJNHYwscnTwSxcNxb8PH8Q936Q1ke+gHJ/NPaDtjVxbX4/qxO/SgyVOlwINR+88G5XGHpXMF1eHeGPHCztvxXp1PyfGYOE+fz7++ejx7QialHD2hvH/EDp+Ed+WfTby7buh8kw/tiVzT4liywNeuyqs4tV44rqlqA1dSNAWuoJ8tZGVFvHVjyTakdJt6UT370VTkx9+ircsJKNhPjeEZlAqvYAw+uqf8Q1szHcjpcepxFVBUHK6jKATZwyT7ZhKocYMlbVaDuJK7VY72rByNGb9ap6QNX62OnvdbUVnts5vd68FLDABVxpRqw4Go14Jg9BcIVYSqhjoHHKXU3eSy5khg4I8OBVlw4wDoczvXPR1MeB2MMl4/DOuLyAWabEFdraqoLeQSKIWQnAhxoRbpth+aaSI8DbWS79JfpuW7SY66f9NjQh8KVyyYaOxTJJCdqH98rwnPdiceB9qTbQ+iUiwg40Fz+WDfZYAIHOswfk2uucwTmA03xM8FoonLaj0aqXroI+xmOIWP1OpDro8N6cDJYr4lkj7UYjiCz9Zr8+cDrqe7z/t6U50tzXKzey+P2Pz5TbFE=\"}"
  },
  {
    "path": "officialworlds/bab be u/w6 (city)/stop it.replay",
    "content": "1,0,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,0,e;1,1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,0,e;0,0,e;0,-1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;0,1,wasd;1,0,wasd;-1,0,wasd;0,-1,wasd;1,-1,wasd;-1,-1,wasd;0,1,wasd;0,1,wasd;1,-1,wasd;1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;0,1,wasd;0,1,wasd;1,-1,wasd;1,0,wasd;1,-1,wasd;1,0,wasd;1,-1,wasd;0,0,e;0,0,e;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,e;"
  },
  {
    "path": "officialworlds/bab be u/w6 (city)/stop it2.bab",
    "content": "{\"width\":15,\"version\":5,\"extra\":false,\"palette\":\"ruins\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":11,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"author\":\"vitellary\",\"parent_level\":\"\",\"name\":\"stop it pls\",\"map\":\"eJyN19tu4jAQBuBXQb1Y7UqRNs7BsVvlWVAgLkJEpAqhlEW8+xqPyaEFz3/HxTfGmj9xxnW7aNp11SyW5eXSbxtTvnTt+iX6KuNoW5ciOtsfhw+z3lZNeblG9bYrxTXy9FQ1A00sFRhNLU0wmlmaPqerajXQ3NIMW1Vamj+n/Ve/nHahsFyG+enve2f2Q4WyFQVTUfXd4LX1KuxXZkwltlyH+XHUtxAFn6JwGIuRLJYj2YdB5o9tHo5nZmU4m5ktwqnMrAonMrM6HMfUJjEWRuKwgMIgm0BhkE3DYUyef/IZtunU4RzaNFn5aNM/ngqyBb9pekeIK2zPmcM6vOfb2u9NuxkK0hjqNlkBbJzOMfIJf9zsjNmNBSl/emza6lSdP5rDWAWGmjvMhDo2nziWK1k4V+Iq3J17Zwhr/hyerJ3FfCN/jRo8V6XDzLl6W/r1z8ixo5Usc7QOXwPSOf90/bPPSnes27FI8o2xW9qNBQXWm8JhBZ0YZDX0ZDmbx9A3hywYpnIYCHPmsTTJYh9Ksjm2ae2wRF9h4gW0Z7IqvOfD7jjBGprTnJUxNAmQFdAkQDaBJgGyKTg+0WSZ8V3et5t2UpFjUxRhiXXa6wJqtceKH4rNp+nOYlKjsemLpugYG78Io0Orm6oKcGol/PBt/DmKEmZex6HhpLE7iMfALWS8Vvga5ioy/wPmFjLHGmy4mwhVjJyAdMHxFQJ7zAknYNdJp1jXCWd8178tz3wx58tLrOeE+a+kb6EbaZWCbuMeAyMtHffkNTbResyMtEMDSSdYPoRTPp/ZvjMsHcI5Og96z8w988XBmUe48VuDYRIGwqxNY/qxRMRgoF4zid5vP3cORuo1kOnr72kBGKrXTKrftHwS0/WtM/2x2y+Wb2Zf/wds0E+5\"}"
  },
  {
    "path": "officialworlds/bab be u/w6 (city)/stop it2.replay",
    "content": "1,0,wasd;1,1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;1,0,wasd;0,-1,wasd;0,0,e;-1,-1,wasd;-1,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;0,1,wasd;1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;0,0,e;0,0,e;-1,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;-1,-1,wasd;1,0,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;-1,-1,wasd;-1,0,wasd;0,1,wasd;-1,-1,wasd;0,1,wasd;1,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;-1,-1,wasd;0,-1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;0,1,wasd;0,1,wasd;0,0,e;0,0,e;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,e;0,1,wasd;"
  },
  {
    "path": "officialworlds/bab be u/w6 (city)/timeless endeavors.bab",
    "content": "{\"width\":10,\"version\":5,\"extra\":false,\"author\":\"Slabdrill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":9,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"winde be goldin\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"timeless endeavors\",\"map\":\"eJyVl++Km0AUxV8l7IdCQYrOP7XBJykluCpFIrq4Cbtt8N3rzDWxoR5n7rcwnN/M8Z7jEOvh0A1V2R1Oxe12abumePkou5fos4ijti6S6HeRRu9vTdWWXXGborodi2SKFunl83L6Vy5meYbl56Y5W21itXLWSqxdtnVS5Xfx2jzUet/EsrGwUuPfuB9+DQ99ur+11d+fUVp9NuuTEONOnc9q4R32unsS74/QAl9Wtc1S7av/lB/leK2HFbKJau8wSSv3p/l+vjqxcmKbafyfOKqGbhiLWxwlEwD15kwXsG87gJnN4XqxdHPEXizbnLUXyzen7cOE7YEJwZa4iPK82/cjtBOLvbi2nBEmuWERprhhEaZDw3IvXvm6kmb/TXo+JuWGS1jGDZewnBmuo2Tsv9mejpHJ/tV2FxsnZreBMHYbCGO3gTBeG5oVDCwDidllIIxdBsK4ZXCUCilDX1bVSgS2IXVidhsIY7eBMHYbCAtuwzNmuPESlnLjJSxjxktU7o/3/q/EAToOSzdz4oSbLmGCmy5hkpsuYSo03eXWJ2q7E+AIdhMIYzeBMG4TiApoAl10Tm4Ce5A7MbsHhLF7QFhwD+wzXVduuwjgEPadQBi7CYSxm0AYtwlEBTTh+9eHPAVNmI7Lx+H8dTgdTz8S/fMbHTz/Vstvu27AegrWM7Ceb6+LGKwLsC7BugLr4LkE8C+AfwH8S+BTAp8S+JTApwQ+JfApgU8FfCrgUwGfCvhUoCcK+FfAv07AOvCvgX8N/GvgUwOfGvg0wKcBPg3wacA8DfBpgE+z6XNsLtexP5yOTV//BS6nHJM=\"}"
  },
  {
    "path": "officialworlds/bab be u/w6 (city)/timeless endeavors.replay",
    "content": "0,0,e;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,e;-1,-1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,1,udlr;-1,0,udlr;1,0,udlr;0,-1,udlr;1,-1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,0,e;-1,0,udlr;1,0,udlr;1,1,udlr;1,0,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;-1,0,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;0,0,e;0,-1,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w6 (city)/top of the world.bab",
    "content": "{\"width\":10,\"version\":5,\"extra\":false,\"author\":\"Slabdrill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":9,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"space\",\"parent_level\":\"\",\"name\":\"top of the world\",\"map\":\"eJyN1c2KgzAQB/BXkR6EBWGNGj+2+CyiNRYh6OJGqojvvmlGTS5N5lI8/CYk/5mk7ejx8VFzryq3TfSclTexiEqwRdyCpQyDvi1JsMqPv1/26GtebnvQ9lNJ9sDwDbt0JDWxa1FzfvlY+sju/QsnEsforVCpE7se9DFTqaldzxfOJE4/41etD5hLmtnXNXkhee5cmajGhO6lIQ7gxL50x8fnG0cKI/o4D+2oC2J3bzq+Ml2Q2AM/TgqWuk86jE9jN6n9rOYYQkGGyj1WFtHSM0wocDRV/r5tou5P6A6+qRvtiTt3X+sIFTrYGDtewBN35MCp4tS+72MnYFNM4KuxuKObZkGqCnLEuGtduDN/fXcTG66SOEQFD5a4j+trHaEmN1MW0dIzFyhANPWY3lx5as/xmFywqT3F8woBzlD5gUXcT19r3ItbqP8fxIv786X5hxd3v09MzNPgVXc2tP/3sISY\"}"
  },
  {
    "path": "officialworlds/bab be u/w6 (city)/top of the world.replay",
    "content": "1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,0,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;-1,-1,udlr;0,1,udlr;1,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;-1,-1,udlr;1,-1,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;1,1,udlr;1,0,udlr;0,1,udlr;-1,1,udlr;1,1,udlr;-1,1,udlr;0,-1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w7 (heaven)/apparn't.bab",
    "content": "{\"width\":16,\"version\":5,\"extra\":false,\"map\":\"eJydl+9qszAUxm+l7MvegQzzV13xSsYQV6UTRIdzvBul974sJ9WmHk2yD4VyeH7JOXlOTtqq37X9oWx3RX46jU1b53fj11ioz130lcdRU+Uk+lZfPt7rQ1O2+ekcVc2Qk3Nk5G91dZy0VGnJtfbQt/2Qn2hENjmmOLrkuqa9oX6Tey1fJ5ArkK0np+X1pBZKzbfVn5NYKrHYFh/7SZ1sq61qU6WVPtVaVKao5C9nRGJFpj6HRLTc03AQrzi+Xgtg3obb2MJuP2zhux+26AA/LAm1F7A0yN+6ux9nNnM7/PTvV071LY23Hb6aAKD37AgQB3cEYEEjoOqHmfSeASD3GALW8o45YFcR7D1gQd4/Pcygw/jLLkwP2YXtruQAI6GGAkZDrzhgLPSKA8ZDrzhgIvSKAyZDbQYs8bXZxtJbk7e644JyjWa45epBpmu9okEeh5oOGAlpZDNjgKS+j5TQcuY3kkDMfYsxzyZQjkFhbyH/NL2BTdyldz381pAaSN3z+5IdACttsO6mxkRwEwAW1ATHvvxffr+3HzPvaIXLZokWLxrBlSNg3i1hYyL0BgMmt28ws73WrZFqMHG/bbdI6v7dat63TOsz9xbXehm71zfXiMDvaOL7Phs9xTaYj8gkQ/RslIvnwl7cFnM89fPe/AdSf4LO++KZvTyCP8UzNV9VNEWjGRolFA/jKxOOhwUelng4wcN42hRPkOIJUnxtiq/NYjxM8DCeCcMzYfhRMfyoGH5UDC+H4eVwvByOl8PxBDmeCb9qH5bNcYHvKfA9BX5WAk9F4GclsAyHevwcul2xr7vqB0MueWM=\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"apparn't\",\"height\":9,\"author\":\"vitellary\"}"
  },
  {
    "path": "officialworlds/bab be u/w7 (heaven)/apparn't.replay",
    "content": "1,0,udlr;1,-1,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;1,1,udlr;1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,-1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;1,1,udlr;0,-1,udlr;1,0,udlr;1,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;0,0,undo;0,-1,udlr;-1,0,udlr;-1,1,udlr;0,1,udlr;-1,1,udlr;0,0,undo;-1,0,udlr;-1,1,udlr;0,1,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;0,-1,udlr;-1,1,udlr;0,1,udlr;0,0,undo;-1,1,udlr;0,1,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;0,-1,udlr;0,0,undo;0,0,undo;0,0,undo;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;1,-1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;1,0,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;1,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr,e3sxNSwgNH0gLS1bW3RhYmxlOiAweDBhOTBjNzA4XV19IC0tW1t0YWJsZTogMHgwYWFlMjllOF1d;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,-1,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;-1,0,udlr;0,0,undo;1,-1,udlr;1,-1,udlr;1,-1,udlr;0,-1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;0,1,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;-1,-1,udlr;0,1,udlr;1,1,udlr;-1,0,udlr;1,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;1,-1,udlr;0,-1,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,-1,udlr;1,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w7 (heaven)/badly spoken.bab",
    "content": "{\"width\":12,\"version\":5,\"extra\":false,\"author\":\"Slabdrill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":10,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"sno be fall\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"badly spoken\",\"map\":\"eJyN1s2KgzAUBeBXKV0MDLgw8Sc6xWcptkoRRAdHmZbSd594j6hdTHJ2Lr5cYo4316o/tP21bA/n4vkcm7YujuN9PF/KyzG4F2HQVIUKHvbh57u+NmVbPF9B1QyFegU7/lu2K9eWGze/1KuOrM744rHluZt346zVrBP3zpfCQlNLFUeNpZqjmaURR3NLY46q0NqEtHN6KWk90b1ZIjjEDE4EB66Fc8nBctHBGv+ub+Vj8xn7vUXCc2rbYnXo3vauC+GVO3TplGnbi9ZU8LBEmB+bJrKcZh2L5qKE9US5fSXgxn8ke55RJwKb+0+k62/9uiAK3YeyFE/EKvdrLrHDavcVsh42dES9ImzsfsXFpmITqsdgU6quEWuourCZP5Kh727zgkwWcN0oNia6EY0Orvyp7Ll2X+67aweeixHWE+Nce6zvsplcFnANCcvdrbDE3bpMBIzyjJvOwDk3nwUnITehgT1RvmNPkO844sY0cMzNaeCEG9TAnn5cbxCFfybj/937+tz5f0bk6zTU4zR0h/Op7qo/mFV1Vw==\"}"
  },
  {
    "path": "officialworlds/bab be u/w7 (heaven)/badly spoken.replay",
    "content": "0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;1,0,udlr;1,-1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,-1,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,-1,udlr;-1,-1,udlr;0,-1,udlr;-1,1,udlr;1,0,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w7 (heaven)/beckup's backup.bab",
    "content": "{\"width\":12,\"version\":5,\"extra\":true,\"map\":\"eJyNl9GOmzAQRX8l2peqUqRiDMZ0xbdEbOKNUCleEdIkivLvtT0khlXC3BeezrXHM+OLZ2dXrd3W7WpTXa9D05rq7VS3b+tzJdbNzn0uVbo+fJltU7fV9bbeNX0lbusnaOpQiaHSoRmGZg7NMTR3qMJQ5dACQwuHagzVDi2/o/IpWjpUJK+XHc7D5qP+8Hwa6pB4ARsGsUzR3DeyWNWIlUDQs8V98cRC1OGUxvMy8Dl0SGIV1JnEFsuHDHHPQ9Gal2x7Uw9xE73c1GM1iS2hVg1smgBZP/367E0XNQJI/NHjWcBTKO/ESqa5HnkkPIP6i9gcvxQkUMAxOyuiwDeCYKKfCXxRBR9/HuASSmNgZcKnsfsxRF4ALWzOE0G63GKxToTLZZsbrzWxGWSJxEI1ncTBlXRcXAW4WE64X3tv61N9+WoPUcVc7dkOJfSnCmwGXdR66KMCuaaUHOJTqH0Pp+Zv1Eisg4sAZ1AHE5tDBkysglJObLGc8s/W7iOsISMllvvnTuE8wfqQYAHUZRToIMAMl1jGcGdsBgRytwlS5Ex7xBYsA6+gyIkteI+7V5MEGjoqsczN9Iv3dvvgVQLdZGIF752HP8eJgDHb2eKc0/qE2+M5CjC7JRayW9tOFAq7FQQj/8/fPyOvAX7SXaoEurGzexve0Ul4nmMP4xEGxxmCwYGGYHCkIRgcaggGxxqCwcGGYHC0IfjpcPMKBq2WaA167UgjZnv3uFGSAm31kNAoJ5dL9Hj/j4+0UZXxxmH+mf4iJpp8uWQvdlK8i3w7UfG8gLf33gzHvltt3k23+w9TTlVY\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"mountain\",\"name\":\"beckup's backup\",\"height\":15,\"author\":\"vitellary\"}"
  },
  {
    "path": "officialworlds/bab be u/w7 (heaven)/beckup's backup.replay",
    "content": "0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;0,0,undo;0,0,undo;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,0,undo;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,1,wasd;1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,-1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,-1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;0,-1,wasd;0,-1,wasd;1,1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;1,-1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;-1,1,wasd;-1,1,wasd;0,1,wasd;1,-1,wasd;0,-1,wasd;1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,-1,wasd;1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;-1,0,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;1,1,wasd;1,1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;-1,-1,wasd;0,0,space;"
  },
  {
    "path": "officialworlds/bab be u/w7 (heaven)/beckup.bab",
    "content": "{\"width\":12,\"version\":5,\"extra\":false,\"map\":\"eJyN1tFugjAUBuBXMd4sS7gACgVmeBZTgRmyhhrEqDG++9qebpWF0f/Gq+8cm/P3aFu1kaoRcrOvH4+pl129vQq5jW51EvWt/rjXaXQ+dU0vZP14Rm0/1skzWqCppgyjTNMMo5mmOUZzTTlGuaYFRgtNS4yWmlYYrTRN4v/tdJv2B3EwPrU5xKYg2JssFhrZFDlIZzyznkHnIJutn8O0/tOes/VLZHgzdmLyX5JDd4ksX7du4GQL6DaRLYEhXgzPLK+gGVqbxuEZ0vyIJ9ASkg1F73BuMZY7WSD34W3yPg+HPnW3lwK+no0fCnFshcmGonSYWxwI0pzjqMRV3E/y/FvFYigjsgl0u8mCeRYWY3mSDeQ5s4EsZzawjp9SHT3G9pEsso+uoLQF2EZamwU2cmaTxYOwhZtaWZ9C5yDLwlv2M0EqwGIkG/hVNc1H1XgfiHLWO5Ck6X3+urwUlFD0ZKv1XbcDV9IX5DH040B2Oc55949375E/10EdlX0WxLYE20uHsUQdxjbTYSxPhwvsjUYYC9PhCnunWcyxJB1OsLca4f9yfO7GbrqMw2a/64b2GwgtvlQ=\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"mountain\",\"name\":\"beckup\",\"height\":12,\"author\":\"vitellary\"}"
  },
  {
    "path": "officialworlds/bab be u/w7 (heaven)/beckup.replay",
    "content": "1,1,wasd;1,0,wasd;1,0,wasd;-1,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;1,-1,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;0,1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;0,-1,wasd;1,0,wasd;-1,0,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;0,1,wasd;1,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;1,0,wasd;1,1,wasd;1,1,wasd;1,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,-1,wasd;1,-1,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;-1,1,wasd;1,1,wasd;0,-1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,1,wasd;-1,-1,wasd;1,0,wasd;0,1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;"
  },
  {
    "path": "officialworlds/bab be u/w7 (heaven)/beless.bab",
    "content": "{\"width\":17,\"version\":5,\"extra\":false,\"author\":\"vitellary\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":13,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"sno be fall\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"beless\",\"map\":\"eJydmd1u4jAQhV+l6t1KXMRxYidb8SwVpbSLhGBFYdUK8e6bZGz+ciY5zh0X3+EYczIeT953T5vdcrF5ep2fTof1ZjV//lhtv76eZ9/zbLZ+n5vZT/Ph6+9quV5s5qfz7H29n9vZcrfZ7eenbGbO5xkU5o3QcsLtbnW46Gyjq3o6xaRoYDNpeWWrNFOUrlXmab/MtELfCPu6vksHVxAeXl4nrPl9P3wfXu9W2GzlT7Mz6hJbQfPpyrfpcOxPMnnCv3W/Lov3/G5hn+t/rSDvBAW5MKHbMNRp6xKhw79I8/ETNsB2ygo+hn0foWs+PO3OHS/KPBveN0nM5+4qaBPg2YXlOb/RF2XRKbsETFIWE54kUZYTnvSyUzq42r6P0J7/bfc2uEhoNgmpuLOxGSwpio016YVfhG04CtrGQpqwKYZr3INNCWnCxpEVSGgPacKmIp8/oWtIj9sUGXkqC20gTdjg+qDZ2PSyLUKlbdB8ygllW5QOdxmakZ/SlIi0mlCrXKesyVrV0WXG16rQKYjOoOJjMAtbR4WFZUBh4ZOvsCV6IBXWoadKYT16NBS2QvlW2Bpm1OD/3GVsLgU3U3LpO2nO3x/iEkWID3zNpkiOpehKKpbCOiqWwvrhWL4t3q5sRUVY2HqkQb9hPezl8Pd62MbdsE3f9+e4Xy62q6smh1GOe15oe+5h2VbWhSt1P9ZCK5c6JTReqc6D4aw6Je7Y+j5CV8nhFB1s2Hob1bEV7NEU1lCBEzYfqZntjfD7sP74uUrsyB3i9uvhPU1ZSjme0XAHFN4N9yx33+2pTApbkZkUumYz2eG1UpkHM1l3SkNmUug8OZOis1QmhS2oTApbUgVTWEflV1hPnfnCVlQYhYWd9H0YjxfaZCP98+1Xm8xQYQwwHqr00xhwy8Yx8MWEPBqZHGYlmcjI41vzUCajEo7WejsW6YrKZaRrKm2BxhM0lYbzM5XOqT4z0nCQqtIFlblI4xtRP3SRp+9BUZByE7qYhZkkPm6BV+DxBQha3fRAQd1NzPrxgF3Qw0Lp2Vnk4f9P7UnOTtUjX6Tf4KMUD1N1K5d+i49SZZ6qe+GjmzOjD/IgsFOOciODYsse5pFPOM4fregTIQomHQkymLb0kRD4lCOhOXJ//7oVw7u2VddW0RsRBEoihjeikPcTeI4CvAKPA0FZ5fTvCgIlESMvn4K4mDCIMqVo6XQEPiEdj1b0y7jAJ7yPe7TCb+RUqxKP2xmrEt7sBqzwyJ2ysuQYPfJ47E5ZwVncgBUevVNWnj2SA4/H75RVzR7Jwjt8hWCsHLxQDFglvKZ7tLL0kRwEKa/wH83oeU8UpEx8rmInYs+PMnvahBFQT1uP/xvnl/3qcNxvn15fVtv3//hdLNc=\"}"
  },
  {
    "path": "officialworlds/bab be u/w7 (heaven)/beless.replay",
    "content": "-1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;"
  },
  {
    "path": "officialworlds/bab be u/w7 (heaven)/ditto.bab",
    "content": "{\"width\":8,\"version\":5,\"extra\":false,\"map\":\"eJyN1MGKgzAQBuBXkV7KQg4mGmNb8iySaqBCqMWmtIv47uskklaWJnPw9vnzOzPYDZkZWmWyRk6T7Y2Wu6cyO/KSOek7ScmvZOR+022vjJxm0vWjpDNZqX3Z5qzOgbOFF9/5Jy0WWn6nawkKtESU0EFzVDADWqWDHwGLeC7g/T7oetE82aIAeoi3+KQ0jw94YylqEN4yfF0Km6uQFlYnkrZ0lmPX7HkVjwY+Du3bC1QV7myNreL5IT4R4MsTPMvT1Y8/wCvHYZE5po3nDHVP3hbpD12H6H0Zv6mN5fGbguyL0vb9QmKja3HhrEgX3/gale1+IAzWSf/b+TRq+xivWXPS1+4PuZO9pQ==\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"sno be man\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"ditto\",\"height\":8,\"author\":\"Slabdrill\"}"
  },
  {
    "path": "officialworlds/bab be u/w7 (heaven)/ditto.replay",
    "content": "1,-1,udlr;1,0,udlr;0,1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,-1,udlr;1,1,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,1,udlr;0,1,udlr;1,-1,udlr;-1,1,udlr;-1,-1,udlr;0,0,undo;-1,0,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,-1,udlr;1,-1,udlr;1,1,udlr;-1,0,udlr;1,1,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;-1,-1,udlr;1,-1,udlr;1,-1,udlr;-1,1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;-1,-1,udlr;0,1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,0,undo;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;-1,1,udlr;-1,0,udlr;0,-1,udlr;1,1,udlr;1,-1,udlr;1,-1,udlr;-1,-1,udlr;0,1,udlr;-1,1,udlr;0,1,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,0,udlr;-1,-1,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w7 (heaven)/dualpurpose.bab",
    "content": "{\"width\":11,\"version\":5,\"extra\":false,\"author\":\"Slabdrill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":11,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"sno be man\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"dualpurpose\",\"map\":\"eJyV191uozAQBeBXiXrVSkjFf9i04lki2lAUCcGKUDXbKO++2EMCXqme0wvuPlvWGdtjDsOuG97rbrevLpfp2DXVw1fdPWTnKs+Oh0pkfyuVnf4078e6qy7X7HAcK3HNFjqdp/1b/Xbncuaa4c1dq1mbtP68Yz3j4me8XbSZqWWp8LSYaY5RO1OBUTdTidEyHfCWijydbmRFOtvISihasgrPVviSOdD6mpWg9UUTiaq1Y33yWgZt0yWOsUsXOcZluswRljl/kl4eVy7SeXx0Q7tiyQSypKcCVtCWJ6uxOAgbLA7CRTqOGFvgWqFbiLxLb/548hI6KcGqHNqlZAVTFL/q20p0GCGhypBV6cr4yf339fwxNv06TGOxEzZ87P/PX2DJE7a/wQ66pMiW6TL5hd8OUBigc6BW1LhM8AKqFFnJV2o7teLviak5T+sAjaVI2PwGF+nIlyNH1qb7Qjyxg5oIWaCWm/gMUslprPtvP6QIQ7BikgWKOQ59uw4AyknLJw4Wk7BJ1yfGBZQ5Wctn/vK0coe1HxtwCaUdbJEDR4c2IXnm0XMLhLDEdixhBT1lyGqoSZA14FPGBc3UMMY2veR15xF36VXHcwOHsh36dXbLHctoesu1ziXCMmCsa5JlumZkNfSIJ2ugVzzZAnrFk2U6ZGSxBkm2hC6DYF0ObX2yzKs1suCjVYRfOgfco/EAjf6KLp7pjN73QztsRjDtMV7OD/3x+jo20+fY7/avTX/4B7qiKVY=\"}"
  },
  {
    "path": "officialworlds/bab be u/w7 (heaven)/dualpurpose.replay",
    "content": "0,-1,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,-1,udlr;0,-1,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w7 (heaven)/each every.bab",
    "content": "{\"width\":18,\"version\":5,\"extra\":false,\"map\":\"eJyVmNFuozAQRX8l6sNqV+LBBgN2K74lyhaSsKWhSojUKsq/L8w4xES7ntuHvh1PzczcmevU/arrXzfdal1dLkPbNdXTezN0T8lnpZK2rnTyVZXJ6aN5bTdddbkmdXus9DXx7PA5rPdNvZv5dORtnP/Tdvf42ci7OL+4jxl5rf5/4AbrCc5HOIsH/93MdDHSOUyXI13AtJU/M6Cd8JETfp7olEqk5OCHftffD2gwiRnRaTyLS3iqp0FhE8/4Es7jCV/CRbxtl3AZ79klLFRyCSOF3PfDQKXPST9K6MJ9e7rDgDq5rQrC0zh+EybDgDLHv3b7NR0p6YhQz9vdGc6xEjmCp3oCDcvwVE+NwlM9UxR2mBQIzhQmBYY1JgWGhTou4QzrboYN1t0M5+gs5klfxJN3ejuHdIklxNMWy4im8Zo5rJuYNgprJ09rrJ88Dc5WT2fxnNwWsacNNjA9DcpR0wYxwq48fWyObyEvbMuH6Gg1acgaF9cZWY5NG5zIhRkb3J55Le/6Q6+DA6BAPQ0q1NOgRD0Na9QQDs5ZT5dg9zJtsXnoaSe7se2xrXf1/UyhwC5jWlieD7RgbB9oYHnOaqVVXhgw80wDznbb9WH8QlaJd6DMC/N34p9/BryVNfIjwJ3sXJ5/3flSgelnWsfTv0xNmQIuzeeGrFGZgbVi2oAqYToHVcI0PoeZR+cw0+gcZtqBJSLaSo8W7xU9Lb1Y5gHPOFLR2W+QHbUZuOUJNt94MdgccwS0+mwB2geCSwwmi2QFo0spmduFjwh2N9ysdHunvvXgdhqdSRw9lXEeSYwLbinsAfpcJz1fFiuH/wfomjh+AYqP4BKLzNewWD8y7LBr8M8/CnzFsPC00v+W0fXl2Azn42G1fmkO9V8mZCCN\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"sno be man\",\"is_overworld\":false,\"palette\":\"mountain\",\"name\":\"each every\",\"height\":11,\"author\":\"vitellary\"}"
  },
  {
    "path": "officialworlds/bab be u/w7 (heaven)/each every.replay",
    "content": "0,-1,wasd,e3sxOCwgN30gLS1bW3RhYmxlOiAweDE3ZTZmOTAwXV19IC0tW1t0YWJsZTogMHgxN2U2ZjhkOF1d;0,-1,wasd,e3sxOCwgN30gLS1bW3RhYmxlOiAweDE4NDMzZGU4XV19IC0tW1t0YWJsZTogMHgxN2ZmMWVjMF1d;0,-1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;-1,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;-1,0,wasd;0,1,wasd;-1,1,wasd;1,0,wasd;0,0,undo;0,0,undo;0,0,undo;1,0,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;-1,-1,wasd;-1,-1,wasd;0,-1,wasd;-1,-1,wasd;1,-1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,-1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;"
  },
  {
    "path": "officialworlds/bab be u/w7 (heaven)/every0.bab",
    "content": "{\"width\":17,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":12,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"variant\",\"parent_level\":\"\",\"name\":\"every0\",\"map\":\"eJydmW+L2zgQxr/K0hc9CqFYf2xJt+STlBJyG7cN5OKSzd7usuS7n6OZxHbzyBnpRSAM87M10uPRaLTpHnbd03r3sFp+fBy3u3b56fh2XJ1/h+7p0+JtWS22m6VavPd/nn+3T9v1bvlxWmy2h6U6LUbIr3V73P91vCK6R9Q8cv69ro+HK2N6Rt8wi6du1x2WH2qhTxP+db27orZHTRKtFtXp5tV/f7nSdU/b+cH+0169m967nvfeDxPheu9m3vtnt35dv//ePV8h30NuHhpHH3p3n4p+v93dxH6zwFX/hJC3wuqsCnVHFjdrrKIwbpWRGCxHqSJqoAwlpIVqlJD1nCZnyWZOkrOkg3KUkB5KU0IGKFMBqSuoVQmpcmQ7ITWUq4Q0WLQS1GYp9+UM6gjW99Mnv4j8mwK1Eukyo6MPk1ifFd6xfYupwEQ2iCOM/qbKibD9rz28qwFW8MOaIJ8Hbw1Flh5ankAm02ASCgEbiY3+cmGQf5YwXgZOsAdN3uOz5mAcURDMQBxYHXftSjwB5K9yJoA3OCL1/S1+8qY8Gey759ftvwMtEQK/rokAVsL8J09klib63/bH+wA7cZ1B/nnCmKAJZcwUKYy7WKHJlUL+cqX82j4PmL6fW0ju5G7ul4KTUdm85DLK0cTX4gTjo38jnjXydwU7D5ElKYNIScqgejrE6luuBPLPyhmX6SZU5xV/Y9TkVX9j1OaVf2O0zqv/xmiTVwCOUZxFRKjPKwHHaCioASPpqrzcPmjPKUlefzlsYtFIxz8tlisDpkSvzNoSwTJblyiW2aZEssy6Es0y60tEy2woUS2xviqRLbOq5OxCqM4S7qStwE8w8sJExVOPtyWHbkLrIiUT2xQpmVhXpGRifZGSiQ1FSo5sqIqUTKwqUjKx+HgkY02JkgnNK4SmbKIIul9JqnjQDfKiiIGSqojRvLJoaEsyLqmNqJZShvp48uroQmTVRzw6RrX4XHkh8o5V09Akh6p997OLjCVGfsK+ECXNlwub137huWQ20X6Br6sJwV2XO0MlVmV1YP5gVUlPlFl8wJKxpqQvyqwt6YwyW5f0RpltSrqjzLqS/iizviQ3MxuKkjPBsR2cm515V2noCfi2aT5FMCq4daJy/gLgK6dEz+QC4csmOClM4AumuX6nHuOCG6fz7cwYEbT80Nzji6c7K89s1i3U0NRl3AiuoCaLbYT3T9PFM4n7p9PpkW9CV73tcfUtfP9KI199s/y3tyo9mM3IbLC3xeYamxtsdtjssRmPW1fYrLBZYzOOUuMoNQ5H43C0hxNr8LgNHonBrzR4qiwO3uJnW7xoFr/SJl6JV6fGI6nxxNZ4Bmv8ygY/u8FCbgw2W2yusbnBZofNeOWbAM0OC8LhRXN43A6P2+FxOzxuh8ft8Lh9hc0Km/EH6LEgPJamx+F4HI7H4XgcTsDhBBxOwGILWGwBRxlwlAF/DSGRHiv8OfQnk4Q9kZSrRFauEvuGwrrti+mEHStApXaa1FaT2mtSm01qt0ltN4n9RiU2HKWxQvoSKeGPZdlXG8D/0B5fDvuH1WO73/wPFKqUXA==\"}"
  },
  {
    "path": "officialworlds/bab be u/w7 (heaven)/every0.replay",
    "content": "1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;1,0,wasd;0,-1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;1,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;-1,-1,wasd;-1,-1,wasd;-1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;"
  },
  {
    "path": "officialworlds/bab be u/w7 (heaven)/extension cord.bab",
    "content": "{\"width\":15,\"version\":5,\"extra\":false,\"author\":\"vitellary\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":13,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"sno be fall\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"extension cord\",\"map\":\"eJyN2N1uozAQBeBXiXpTrRRFGPPnrXiWiBS0QosgIlRqFeXd1/jQglnCnIv26nMSMx48M2V3aLr3ojmc8/t9qJsqf7kV7cvxM1fHurT/vuzf7Vq910WT3x/Hsu5z9Thu0NDSkKPaUs3RyNKIo7GlMUcTSxOOppamHM0szThqLDUcVcEYg4DELmByxEKHw/3oDp/D+drVt0vXDPMiLcT5WvR/m5lHQqxXPBbiveKJEPMVT4W4r3gmxH7FzX78x8d5qX54GOyfgZH//jVzxR0D4JA7BtphLR8D/G7waP8ALE8MFsTsUwdPuI0Cp9xGI4czeaMfszbsQXdck2kKTKZp7LCQpvMPARcSdNzl6XSafbSfQ6N/fZ15zCYFOBlNYDKaicNCNOcfAk6H0/GIDCcwGc7UYTqc4EI4L8Uw9F8zj7aSTT/99JjbJnDCbTNzOGW3CZ6x4QE37LXieByw1wq4Yq8V8JB9wYFrNoPAI6GsWPFYKC1WnMxPYDI/jcNSfi6tlJwLmwRU9QirqPIRNqTqR1hNFZCwEVVBwsZUCQmbUDUkbMpFGTjjomw/b9RGvlS9BWkg308oNyav9uM9+rb70y1WhFzTAKzl629xZU6LNt+y/qKi79pysUS4N7e/J2FLysmnck3ZdmqxICObC2hDngy0QwHXPAIrrn0EDrkGElhzpwFYKIZ8LBW2Hk64RhI45VpJ4IxrJoENGXC0qQEZcNd1GGFa4E7rT7kyrdkcG+itEw4vzA7c6+ba1MNiyeYMQT/ZgzBF+E5TVMTTGmGc4L8NsEQYK2x+jTBf+O9RCUOG5csADWzAjhomTpa9SoNLha+vpTmDr6Uxg6+lKYOvpSGDr6UZg6+lEYOvhQmDr5UwYFhpcr7wzZ9NGB5vfTV89O3h/Fa15T8Vlbmi\"}"
  },
  {
    "path": "officialworlds/bab be u/w7 (heaven)/extension cord.replay",
    "content": "0,1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;0,1,wasd;-1,0,wasd;-1,1,wasd;0,-1,wasd;1,0,wasd;1,1,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,0,undo;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,1,wasd;1,1,wasd;0,-1,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;-1,-1,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;-1,1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,-1,wasd;1,1,wasd;-1,0,wasd;-1,1,wasd;0,-1,wasd;1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,-1,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;0,1,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;"
  },
  {
    "path": "officialworlds/bab be u/w7 (heaven)/heaven.bab",
    "content": "{\"width\":17,\"version\":5,\"extra\":false,\"map\":\"eJylmO2OoyAUhm/F9NduYrL1u2bitUysMlO2FIxgP9L03hcEW1GRoftjJpmOD7yHc3jPsTXxEKlK5H0W9zuDCBSbEn8jsPGvReDDmv+6FZFPG1DBEhX3h18RRNriHvrRw69hWwQPfxEMObgbg4aHI/FwxB8OFneJpyA6oycWcyx8YQicASo2l8z7dQDlGeDff8j+L6gY/IKg3fhnSOEeIshufBlSHUG98WFFMGU3sTLuTnvxGC5P/C+NlP8qglU1iX5UC2r4J+1t6yhkgAYNs3NHED81pFxD/NIw3ugA6xrgzXoiMpGI7WImQkPsseB21kzQY4cQ/Lo5Rv/ChviDNR25NQcn0gKPHUrs9QcbOOqZ44Ou7ZoufqZaYhaEHTHfmy8NvAu/jzW5YEdpSwsocbtVbeKOp6va4JdVCwKMvbQIQO09vzOyXuXewiYyp4JV0pMej6z53oPq2DWORzlAKoR0VUNsTe0eIECpswYJKQ2J4RilBuE9yfvHmForgJc847UF8bceBmn42uY6GGPDRVkNJNPbxs8DSXv8Bz7EyurI9XilXFcPR+0xDqgmjD7daAYbgxqrsrsSuzJ3bxwg40UbaQjtBsSX8/iPJb8zCZKxJFdqmBjNbJ9VWDhF/l5ry/oFhFcstbbE2NokF1uz14K6q4DTwQ2IOre5Ahm6VJCYu/rauUk4NVvDMjyOPdPteSH26+XqXfgtp+KaUydzmKLqLOYDzljRTjeIpSmrrA6yOzs2rTFocV2pJf/PkozEpQyWBt/UN40Tux4M9KSqUziVTWPJwNjN5OMq0ny6HwWoYu1ry1DfclVeNBkjF7JUQ8aI1Xz1BClGKc4Mucl7CbFr2Y/hxNWoZPASTu3BgysDmEKCvYq0teMpTGHjjCcj4lKEqkzvjD9vrIrfWV3wAhDyaEOOwHVy1UjjzKWFk7ta4jiYeGu1tX5wIdhm6gvTTg9ZbF3JCN73j6B/yY5DQ08LjC/OCoysg1Ldlajp2oZQ4JhOjTTZiy7H3mP3ZY1u75WXjhrdQxOUWMclsqfAdaZXjKXRKQnposePJWAi+ufpBJ2FaOQwuxmrVerJzKZocRDJ76yXDvO7c4WU2xtzbN0aaXlrU3Jy6yAB+8nEXv2TV9+BMlX+5A4nxiFg68/G6Rfbvz4nwfRbNoXGa2j/ppWEugOMrGPlmz2JRnolPNHotevjowWsa7H3+QFw/Q9Qtwq2\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":11,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"map\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"heaven\",\"height\":13,\"author\":\"vitellary\"}"
  },
  {
    "path": "officialworlds/bab be u/w7 (heaven)/if.bab",
    "content": "{\"width\":15,\"version\":5,\"extra\":false,\"palette\":\"default\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":9,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"author\":\"Slabdrill\",\"parent_level\":\"\",\"name\":\"if\",\"map\":\"eJyVl8tu2zAQRX/FyKoFtND70UDfYkgxmxgSpMKiWxuG/70ir54BwrnZeXEuPZo7Mxye+kPbv1Xt4Vg+HvrcqvJF3/SxruoX71b63vlUBt59/DH8UW/nqi0fT+90vpTB05vwobm2CxuObPY1a45ulGoWPhr53M3XytCBoWN3JJ/oZKQjN/1RKT0091WTjprYrflXtc3CZyOfyLmxbC7nptMLXciZuRo4tBb5RGZgKfjA/Z1z3IAJU5F24ISncw1EVkDYqj8qjf+AhPAWuQRO2DpU3bAKSF8B08YCJ5zFp8a2owRr51AAB3Ioc/1CEMrBdP17bwSJFUTucMbTV5YwdtDXuu5WSfKN442rAckaQ0OSzd3FtWMLd2Vt2ch3F9WONUamJCv051whgCM3vDs4lotjPjy1As49sIJ707gCK7i3GW/gBQf3QRdURiwb+3J/aXXTqyBgmz2zeEglEGzkTuDno2Nu5ANOqJyATeWcmHt2FWRyTn79MHhu8ZzKCdhCzsn2zreiROjL+bICLDTmnEbAQmduQ0+ExpxG98oTzfm77d+NoLACrjnBpt9gM2oMg82pMQy2oMawZVOfGsNgA2oMgw2pMQxWMHCuDMAxVRlgE3pJtjt1Kpi3LKWgM2K7w2ydBDnRvj8tj5W6IMPBQk1M2GlLBk8MWPVXXe6B1dgNNROm7BIR6Ijr+IkWjN2YBZ43126PGWsu6Mwd+zwgJpp/oYAnNtlN7u3CmZPr7EST03aiiYfK7sUH1RfvlefrRenrpTscX1V3+g8atxBY\"}"
  },
  {
    "path": "officialworlds/bab be u/w7 (heaven)/if.replay",
    "content": "0,1,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,0,udlr;1,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;1,-1,udlr;-1,0,udlr;1,0,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;-1,-1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,-1,udlr;1,1,udlr;1,-1,udlr;-1,0,udlr;1,0,udlr;1,1,udlr;1,0,udlr;1,-1,udlr;1,1,udlr;-1,0,udlr;-1,1,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;1,0,udlr;1,1,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,0,numpad;"
  },
  {
    "path": "officialworlds/bab be u/w7 (heaven)/its the.bab",
    "content": "{\"width\":17,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be u them REEEMAZTUR\",\"is_overworld\":false,\"palette\":\"abstract\",\"parent_level\":\"\",\"name\":\"its the\",\"map\":\"eJyll91uozAQhV8lykWllZAKBmyzFc8SEaAtKoWIULVRlHdf8DjAVv4ZOxfJ1fk89szxeKj6XduXRbs75Nfr2LR1vh9/xoP4vdf74CePgqaa/i7T73yqy6Zo8+stqJohj27BBjmuajKpiVn9tYjjSRybxR/1unYyyalZ/v38OtTdQqQTwcxENy5qOqm5WV31wyJnkzxDJ4bPaQzN8re++C4up/a8UNlM2bJfHNdihTNgyemaJCKYCMHIILEAiN0ST6taXeWg7Nt+yPenpiv3OnSueKJFL3Xb9lp2rn3qF5YqjYYLy5SWQ4XlSv/hwmZKM2LCklDtTFRcEqkNqg+8NRIhTm5NBBMjzQfqxGg+3dmATc1nU8C/90oR5zsXn/VrUYpOkQqKIU8Iau5wvWTyAcyUF0QTJg5dCy07N9AOLYYKANtiQG1uMb8K9V8cxJsiH0PQp/Y3YrMv+oCDYAWGSZzYHxN6jswbqDN37wgwCZHeAbVzk5DeARrTJOS7zAWA7RCg9usQwD7SIWAFTIcQATMhZz5vKaDctQgyp0Bn2H1OL8k8eIWuWb0PeoBH9mt53OqJfdDb7i5+oG5yiQTvyghm0RRpSymnPqWWLPOstcQ5uulEYoJMM+zRhJw6m2MLW5qJgt5ulTp0k0gMKRTbTqTc3E90dQM29Zp3JUx9Bl7JMq+JV8LcZ+SVbOY18wLMQp+hV7KR39QraeJ6wf7+2dAxwoNrRDFBsQT9GQ761P4h3vVv/YZQNxxFCkDOlF41noHbp4b7MwCA2h26xiwYrjaFduSWlMYO+r1xjQW0FeGi6paS3DsPELo35vYy1OPX0O0OL3VX/QOwm+1d\"}"
  },
  {
    "path": "officialworlds/bab be u/w7 (heaven)/its the.replay",
    "content": "1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;1,-1,udlr;1,0,udlr;0,1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;1,0,udlr;1,1,udlr;1,0,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;0,0,space;0,0,space;1,1,udlr;-1,-1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w7 (heaven)/knock the wal down.bab",
    "content": "{\"width\":17,\"version\":5,\"extra\":false,\"author\":\"vitellary\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":10,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"sno be fall\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"knock the wal down\",\"map\":\"eJyVl91uszAMhm+l2tkkDgghP2ziWiq+QTskRifK9HWqeu8LMaMkDbF3UNSDx6nx69hv69OuO71V3W5fXq9j2zXl03gZ9/+r7im5lGnS1iVLvs2X82fz1lZdeb0ldTuU7JbMeFfVw8JmhmU+y8MsD7H3c81zQXODZjRUGJTTUGnQfBs9j9UwHNrze7NEKBMhaIdrOloYVNJQlhpWEcVgk3J6W41JaDdgkq+IZGIC/tlqMItzWmcAnMdbY35LYAVJb2AlSXBgFa16AGu8eutiFHjt+tPxNAVk9qqktOoBzEjVAzaLV2++28DyePUcNo/fF4cVpPYHVtJUAVjhqrhl1nFd5qy5ZYu4JGuWp/Hx5bCMpAiwGUkRYHm8yg6bx6eMw4q4Ig4rQ4JssAq/Ix/tcWiniNxG6JAijwsF4IK2fSycp3gjuRsAwhh1RAqLZ7T8AQ5uRDelsbmM9wBkLy61BFqE7q/wlQJWxrvl0zxXiStkg02JT5/3tj+2h+97oKZdfYAL6kC2uEhxpb4mWlo66HIehQKYaHMA5njaL893PI+n/Xu2srCg7RCAJS1rgFV8vLmwjvehCxc0zS0skVvqwkG/s3Uy2esUFuehy8P9Fp+bG0Ly0HR2Qw5D03fN2boIayMk4l8XiwJ00Pw8lofZVSjVn2iNGKuHATnHFfFfWf29gACVEl8ZaBYXwqOzuGdZj9Q5AhHaOz+ocdAxA4/4Iu90ZAqvzc4cgUzi5Xy7j5UmvqsdqCq4XgNnW1qntJkw04zYA0Ajqno04pI8GvFJHo04JY/e8Eq316EZv4Z+t39t+voHAPguZQ==\"}"
  },
  {
    "path": "officialworlds/bab be u/w7 (heaven)/knock the wal down.replay",
    "content": "-1,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;1,-1,wasd;1,0,wasd;0,-1,wasd;-1,1,wasd;-1,0,wasd;1,-1,wasd;1,-1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;1,1,wasd;-1,-1,wasd;0,-1,wasd;1,1,wasd;1,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;1,1,wasd;1,0,wasd;-1,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,-1,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;-1,1,wasd;1,1,wasd;0,1,wasd;-1,-1,wasd;-1,1,wasd;0,-1,wasd;1,-1,wasd;0,-1,wasd;-1,-1,wasd;-1,1,wasd;1,0,wasd;1,1,wasd;-1,0,wasd;-1,1,wasd;0,-1,wasd;-1,-1,wasd;1,0,wasd;0,1,wasd;1,-1,wasd;1,1,wasd;0,-1,wasd;1,0,wasd;0,0,undo;0,0,undo;1,-1,wasd;0,-1,wasd;-1,-1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,1,wasd;1,-1,wasd;-1,-1,wasd;-1,1,wasd;1,1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,-1,wasd;-1,0,wasd;-1,1,wasd;0,0,undo;0,0,undo;-1,0,wasd;-1,0,wasd;-1,1,wasd;-1,0,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;"
  },
  {
    "path": "officialworlds/bab be u/w7 (heaven)/more than every1.bab",
    "content": "{\"width\":15,\"version\":5,\"extra\":false,\"map\":\"eJyV1l1vgjAUBuC/YrzaEi5oaQto+C0GpdtImCwMN43xv69f8mEi593N4sXT7rRv20PVrpr2UDarXXG99nWji3V/7nf7cr+OzgWL6sr8uRRx9P2lD3XZFNdbVNVdwW5R4L9lM1BuKMdoYmiCUWGowKg0VD6ndmnm18CV4fky32urudUptBGOZssb8TBxDu2FoyxeXuHM2uQUXAXj9G6crE6cTqDd8FYQ21FPrKSLPrZ9Vx7f2u5zHKaQYe/tOCBdXm2oXzhLxBlui7dYmM7ymC66aw/WS+cZcLzPvfXKeb5cS9h3b4kLOR4Wz4lLOZtaQhfYWyLHYFNnbYQMtESEM4tF6GxCRBhs5iyD6vWWQ/PmzibQvN6Kf8xrc0tBa3PL6Ec6dpgIbnKOw4AMqjrgHCvF95YY2ruAGTaze04Fx2b2OME6p8cC650eY5cvYAV1l4BTLBSPM+gsBUwkOD0f7iGVMdRg3CMqGfRyeYs9oN4SEc6sIC7A1MrlRjuzVBec2nQ5kZnNiECmNqc/I/SP7i586MUqJiIxQz5KPQlcMbpb3Y+UH8Dpf7F5Hb6FVEKfwM3LuABB8/vXR6gH+FJ9GPEk29u20/2pO652W32s/gBy0OtZ\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"sno be fall\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"more than every1\",\"height\":10,\"author\":\"Slabdrill\"}"
  },
  {
    "path": "officialworlds/bab be u/w7 (heaven)/more than every1.replay",
    "content": "-1,-1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;1,1,udlr;1,-1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,0,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;1,-1,udlr;1,-1,udlr;1,1,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,-1,udlr;1,-1,udlr;-1,1,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;-1,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;0,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;-1,0,udlr;1,-1,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;-1,0,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w7 (heaven)/no whammies.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":12,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"sno be fall\",\"is_overworld\":false,\"palette\":\"mountain\",\"parent_level\":\"\",\"name\":\"no whammies\",\"map\":\"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\"}"
  },
  {
    "path": "officialworlds/bab be u/w7 (heaven)/no whammies.replay",
    "content": "1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;0,-1,wasd;1,0,wasd;-1,-1,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;-1,-1,wasd;-1,1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,-1,wasd;0,-1,wasd;1,-1,wasd;1,0,wasd;1,1,wasd;1,-1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,-1,wasd;-1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,1,wasd;1,1,wasd;1,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;0,0,undo;0,-1,wasd;1,-1,wasd;1,1,wasd;-1,1,wasd;-1,-1,wasd;-1,-1,wasd;-1,1,wasd;0,1,wasd;1,1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,1,wasd;1,1,wasd;-1,1,wasd;1,-1,wasd;1,-1,wasd;0,-1,wasd;-1,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,1,wasd;0,0,undo;-1,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;1,1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,0,undo;1,-1,wasd;1,0,wasd;1,1,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;1,0,udlr;1,0,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w7 (heaven)/nonexistent.bab",
    "content": "{\"width\":12,\"version\":5,\"extra\":false,\"author\":\"Slabdrill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":13,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"sno be fall\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"nonexistent\",\"map\":\"eJyV2F1vsjAcBfCvsuzieUm8oFBeuoXPYnAyHxMihumcMX73p/aAhQn8z26WXfxaseektK7rp6p+K6qnZX65HLZVmT/bv8+LrzxYbNe5WpztPx/78m1bVPnlulhvm1xdFyM0tFRxNLI05Ki2NOJobKnmaGJpzNHU0mSangpPM0vTmVm/Dss+N5Zn83xV+iQCy80839Wb2g+4Zadmwus/i3LpPcSnx/EtP/UQoP6+fsphTVUINqY6BJtQJYJNqRbBZlSNYA3VI2fDgCoSrJKb9MvrcL5Ig5mjsRbpwczlZ9mcQz9ECz3yRYWPR6ukZj8jGW3Uw0qGDqdUo2AzoVH2WQ7/Su/NWKvS0bmjQGjgfV3A1VgJJ6YOhcLaqTdNXe/9iGisthOza6risDFVcdiEqjhsKld8MHdGlRzWyFvle1Vv7gN0MFpxPRWlVsJuefMvf70PuQ0zcjii6g2r5+u9KlbextSGCcttrrDc5gorbK7vzfHgsaFq6mwcUDWFVVRNYUO5pqty99s/dRxRRYXVQlHx1NrZmKoFbCLvevftAyNSKnDYjNn32jXBCENVxNkkkLe+07FZ+wGKqgls+AMbUZWC1VSlYGO5UsNwkoSqFGw6X6lu3wPOpH0M3zF22FAFdDYNqIMcrKKqByu9F/t29I04YTWVNWxMZQ2bkAc56JTKGTajto7EWS45ZzMuOVguOVguOVguOVguOVguOVgiuW4bwgAuPFguvNRZIbx2XmeNEN7ACuENrBDewArhDawQ3sBy4cEK4Q0slxvsD3IzRro29bAKAunSNNBKui7503OGESHVohZHVI0MsJ7vUXeka7WQonv51cWpOO+rj94w4Q3ojhw467YDUmKF2ktr+/NKRq1Qpw21RK1WxE3x/srvxgin1IcvoIij6suf/gDhpPr4CZpY1PYj8PuIEg6t3TK1Wji2ftOjR9bhHezY99nE019fm/JwbHZPy9dyt/4PVNH33A==\"}"
  },
  {
    "path": "officialworlds/bab be u/w7 (heaven)/nonexistent.replay",
    "content": "1,0,udlr;-1,0,udlr;1,1,udlr;0,-1,udlr;-1,0,udlr;-1,-1,udlr;0,0,undo;0,0,undo;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;0,1,udlr;-1,-1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,-1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;0,-1,udlr;1,0,udlr;1,-1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;1,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;1,0,udlr;1,-1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;0,0,undo;0,0,undo;0,1,udlr;0,1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;1,0,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;-1,-1,udlr;-1,1,udlr;1,0,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;-1,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,-1,udlr;0,-1,udlr;1,1,udlr;-1,-1,udlr;0,-1,udlr;1,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;-1,0,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w7 (heaven)/objectifier.bab",
    "content": "{\"width\":19,\"version\":5,\"extra\":false,\"author\":\"lilybeevee\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"futr be neet\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"objectifier\",\"map\":\"eJydmttu4jAQhl+l6sVKK3ERJ/EhW/EsFS0pm21EKqAqFeLdN/HYDYEx8e+7qpqP2M78c4rX3UPbva7ah+fl6XRo2nr5+LVqHxfHZbZo1kux+O7/2H/Ur82qXZ7Oi3Wz6//52rXdbnnKFuJ8XjBY3mMCx4oey3Gs7LECx2SPlTimekzimO4xhWOmxzSOVT1mcExkPVclcIOfiARHEdZTElxFDL4iEpxFDN4iEtxFDP4iIh3mcDw8v6xeBlhYWMFCIk7DSiLOALscFjuBK3anxXR39WCfW7Vn7OauF0a2At4QcTm4oV8jWkRs53MwL6x5Cb8q4mT8zl66z+MIKjY0BIw1q2x+RagT7D+a95Ge8wL3qNJGbt4F7h0acbg7EIe6A7krsTH+8FK37WFApEVwnyAO8YnpE+fSTBYkNRfDJUtO1sp7SxE80m236UY64C3sY8cXomz+josfZIs7DHE5XFsQV8DFBXFlfHXx8/6IlPFvfvJEPozMr5SPKDErNbCnEVfh1YIFZYZXCwQKvFogEIkzEzAQZIJqIi1py+LRhjgg2mza1X4EFSeOMSDum912NNacsfZPkYs8sDoTr6ThQA5/65GtODXlt35prVUGK4g4ASuIuDxBQUQW8Qq6PhNVsioy/BIloJyJbyjFSkeP6+o2m4sHadac9/vJCpFiZQLOZh6uMjS2J4tLPGQLJB5/gASymYc5P7Jme2B97xSIA5rgMf0SyjbCxa3LkjVQmEwWCDTArnMiju+A+WcAbe90V4ZtfMNCvDg+w/e+ml2hQfrdiRsZvuEN+ZEpefNZRzIS1yGBCtQhnWFlWR0lRLI1uBAJrCKFaK2rjM2J946BOAGmueOhefse8ZytG2/dlqwLWIzElXCmI04mCIxIhWa6ZruZHIyOkxkZmwSZEVnNyMzXQhXNy7L76Y6rhhwpcJ05MgeFtrWvQbgJXzFTXBa3EyVHlvgsypESbr48qeD2y5M6oQHzrIFl5ckKFpYj7egVlZZnBdyIeTLHWzGPFngz5lE+OUWhCenJo2iCGkOzoLmo4NPU3Wc7Ekha49t1bJUwCnJsDtQ10xXnCfHJo0iA8mhO6Fx0CpMJ0cmRiEtdjkk9H/CrCfNv1dAzC2LiCh5vDXiPrazcxNjjfFBiijEH2GnunZqb5hWrr9X3R7u/5ETUcNpbp81wPR03xbVESQQ/VrlZnbMGhilXpAL3ta3X7/VkpRqMVH9+W1oSbfAM78gK3zORdoQbOzy+QkVCtFCE5ni0cGSB79SRJV7LOFLitYwjVXwtc0XqmdwRJg1eyTiS7cJlBCnnslWYTPgA7dGET9AeTfgI7dGEz9AeRT5Ee1QTmvAZ2pEJH6IdaeIFc/nZ3NFVylzLwXYQfKeZHoC3brfudpeQmJEMEz4dmXOS4d33p4ZwaMFlXBk0L+8n2mtzyeoqaK54MQXtNaug8O8bXjZB+4rVyvj7P8UV2duxLiOQm9dmyBy/5ORJ/J6TJ/GrTp7Ebzt5Er/w5En8zpMn8WtPnsRvPnkSv/zkSH4KHEWm5B+HpuQfh6bkH4em5B+HxuSf89OuPnzutg/PT/V2/R+jP1Bn\"}"
  },
  {
    "path": "officialworlds/bab be u/w7 (heaven)/objectifier.replay",
    "content": "-1,0,numpad;-1,0,numpad;-1,0,numpad;-1,0,numpad;-1,0,numpad;0,-1,numpad;-1,-1,numpad;1,0,numpad;1,0,numpad;1,1,numpad;1,-1,numpad;1,0,numpad;1,0,numpad;1,1,numpad;0,1,numpad;0,1,numpad;1,0,numpad;1,0,numpad;-1,-1,numpad;-1,0,numpad;0,-1,numpad;0,-1,numpad;-1,1,numpad;-1,1,numpad;-1,0,numpad;-1,0,numpad;-1,0,numpad;-1,0,numpad;-1,-1,numpad;1,-1,numpad;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;1,-1,numpad;1,-1,numpad;1,-1,numpad;1,0,numpad;1,0,numpad;0,-1,numpad;0,-1,numpad;1,-1,numpad;0,1,numpad;0,1,numpad;0,1,numpad;0,1,numpad;1,-1,numpad;0,1,numpad;0,1,numpad;0,1,numpad;1,1,numpad;-1,0,numpad;-1,0,numpad;0,-1,numpad;0,-1,numpad;0,-1,numpad;0,-1,numpad;-1,1,numpad;-1,1,numpad;-1,0,numpad;-1,0,numpad;-1,0,numpad;-1,0,numpad;-1,0,numpad;1,-1,numpad;1,-1,numpad;1,-1,numpad;1,-1,numpad;0,-1,numpad;1,-1,numpad;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,-1,numpad;0,-1,numpad;1,-1,numpad;1,-1,numpad;1,0,numpad;1,0,numpad;0,-1,numpad;0,-1,numpad;1,-1,numpad;0,1,numpad;0,1,numpad;0,1,numpad;0,1,numpad;0,1,numpad;-1,0,numpad;1,1,numpad;1,0,numpad;-1,1,numpad;1,-1,numpad;0,1,numpad;0,1,numpad;-1,1,numpad;0,-1,numpad;1,0,numpad;1,1,numpad;-1,0,numpad;0,-1,numpad;0,-1,numpad;-1,0,numpad;0,0,space;0,0,space;-1,0,numpad;-1,-1,numpad;1,-1,numpad;1,0,numpad;1,0,numpad;1,0,numpad;1,0,numpad;1,1,numpad;1,1,numpad;0,1,numpad;-1,1,numpad;1,1,numpad;0,-1,numpad;0,-1,numpad;0,-1,numpad;0,-1,numpad;0,-1,numpad;0,1,numpad;0,1,numpad;0,1,numpad;-1,1,numpad;0,-1,numpad;0,-1,numpad;-1,0,numpad;-1,0,numpad;-1,1,numpad;-1,0,numpad;-1,0,numpad;1,-1,numpad;1,-1,numpad;0,-1,numpad;1,0,numpad;1,0,numpad;1,0,numpad;1,0,numpad;1,0,numpad;1,0,numpad;1,1,numpad;0,-1,numpad;0,-1,numpad;0,-1,numpad;-1,1,numpad;-1,1,numpad;-1,0,numpad;-1,0,numpad;-1,0,numpad;-1,0,numpad;-1,-1,numpad;1,-1,numpad;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;1,-1,numpad;1,-1,numpad;1,0,numpad;1,0,numpad;1,0,numpad;0,1,numpad;0,1,numpad;0,1,numpad;0,1,numpad;0,1,numpad;0,1,numpad;0,1,numpad;"
  },
  {
    "path": "officialworlds/bab be u/w7 (heaven)/obses.bab",
    "content": "{\"width\":10,\"version\":5,\"extra\":false,\"author\":\"vitellary\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":10,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"sno be fall\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"obses\",\"map\":\"eJyNlttugzAQRH8lykOlSijifmnEt0QOuAiF4ohLCY3y78Vegl1V8e4bQmfIeMb2phS7RhSs2Z3y+32oG57vh9twOrPz3rnlrlOXuefMy0N/5UXNmvz+cMq6y72HY+J8o/2F9uz0uMHBAvuv4Yk1GxouaPAaNQ1HC5rZLfSs7SXvST62L3B1odDEvjoTTUlrU2hmX5s0XIiOXwap8FUnLl7K+gvAeyTjwPp258b+AD7A7bfKeqDwkLqfAI9IzoGNcef9ZTQEss/ILvjseNvwXmtksbFds7zhxVCLVqtkxwl51b7sN7XjA7+pVEMlIJzSVlRCC5CDuuYKLHJO5cdFr3HZcGjHvzj/0oIIr4F1oi21IsZLmMbOECR4/pUw8kzxAqCvSOEZ6Q5RbOCSkgfWw5NfnjTv49GXbP6ZtSLAs3/TdIjnXgk2sfna9FoVUTc/4DGe/ce7xGOFJ6TsgU3x8dQcDuO3VmR4A5OoNj508TyXrWwIPDzS51EHgY+nOXNuCAJ7nmtAiWKR2/kPS7uaU8XShiywtCkLLG3MAkuYs8+kM/VHgjBlYd8CjgzZ/99HJu1qHljClB06w8yLS/hx7Pgwdu3udORt+Qu8FVzH\"}"
  },
  {
    "path": "officialworlds/bab be u/w7 (heaven)/obses.replay",
    "content": "1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,-1,wasd;-1,-1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;1,-1,wasd;1,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,0,undo;0,1,wasd;1,0,wasd;1,0,wasd;-1,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,-1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;-1,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;-1,0,wasd;-1,-1,wasd;1,0,wasd;1,1,wasd;1,0,wasd;1,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;1,-1,wasd;0,1,wasd;1,0,wasd;1,-1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;0,-1,wasd;-1,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,-1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,1,wasd;0,1,wasd;0,1,wasd;1,-1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;-1,-1,wasd;-1,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,-1,wasd;0,0,undo;0,0,undo;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,0,undo;0,0,undo;0,1,wasd;1,-1,wasd;1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;0,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,1,wasd;0,1,wasd;0,-1,wasd;1,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,-1,wasd;-1,-1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,1,wasd;1,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;"
  },
  {
    "path": "officialworlds/bab be u/w7 (heaven)/reduce.bab",
    "content": "{\"width\":15,\"version\":5,\"extra\":false,\"author\":\"vitellary\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"autumn\",\"parent_level\":\"\",\"name\":\"reduce\",\"map\":\"eJyN182OgjAQB/BXMV42m3Cg0C/W8CwGodkQETaIiRvju2/p6EIj0v8BT7/iMG2nnarbNF1ZNJt9frsNdWPybd+V2+ias6iu7M+vfc4/pqyLJr/do6ruc3GPFmhiaYLR1NIUo9xSjlFhqcCotFRiVFmqMKot1RjNLM0wyuJxDmIQuwkDZ4yNU8Ze5owt43HS2MusveDEYb6+bobrsPe8gBYPWQmtHrIKCzp1WIeDPpiJZ1DMzibxeszjq0/GnKYBbGkxMz+W4jD5ZGnt+f5ozHEakC4ulOXMJBxLI3dYhNPYdt/dNEBCiSSrwomkOSKugTTOeBbO4oynMZZDwgzLoXA4geou2RRKH1keTt9l0mI9Hd6bJfZ50mEVXiL/odAIvfSRb96eQQXCWR5jYSuHA6fhtDyIYyci2cCR+CwOhPn6qn4UBrKBOXwWBcISW9CEwdqqHQZq69fnxLHa6qwI1FbPgpswcxjbhGSxTUg2sAk9K7CA7f1g1BLYV+Y6zEYo7NZGWIerx+Lj/2WgyHp/KcH9yehaB2zQc1uU8yHgtZUweHElDB6azN1UJHBq2gHtxzAbgx2cDxw4OX2swdjd9UBmWJfgsIqxoAkzLGjCCdYrEE6xboEwx/oFwgLrGAhLrGcgrLCugbAG2wbSGdg3OK1jsHEg/a7o3ne9GS59u9nvTFv9ATC9ziY=\"}"
  },
  {
    "path": "officialworlds/bab be u/w7 (heaven)/reduce.replay",
    "content": "-1,0,wasd;-1,-1,wasd;-1,0,wasd;-1,-1,wasd;-1,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;-1,-1,wasd;-1,-1,wasd;0,-1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,-1,wasd;0,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,0,wasd;-1,-1,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,1,wasd;-1,1,wasd;0,1,wasd;1,-1,wasd;1,0,wasd;1,-1,wasd;1,1,wasd;0,-1,wasd;1,-1,wasd;-1,0,wasd;0,1,wasd;-1,1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,1,wasd;1,0,wasd;0,1,wasd;1,-1,wasd;1,-1,wasd;-1,-1,wasd;1,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;-1,-1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,1,wasd;-1,-1,wasd;-1,-1,wasd;1,-1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;0,0,space;0,0,undo;-1,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;-1,1,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w7 (heaven)/reuse.bab",
    "content": "{\"width\":15,\"next_level_after_win\":\"\",\"extra\":false,\"compression\":\"zlib\",\"author\":\"vitellary\",\"height\":15,\"version\":5,\"map\":\"eJyN1stuwjAQBdBfQWyqSixiJ36kKN+CeFgVEk0qCBIV4t/r+NKaKAbfRVgdh8lcx5ldNzt02/Vhtmqu135/cM382G3ni0sjFvud//nx1+nbbffrQ3O9LXb7Y6NuiwSVnkqOlp6WHK08rTiqPFUc1Z5qjhpPDUetp5ajtac1R0UxZFCQOARGJiaGyMQkM5HGQ2hiktoEy4Cr1/umv/SrkVfU5oHV1O6BNVzRZcA2X/TGRV5TNQcri9c1D7f+cu4rLhCpHSrGtaw30cvkJkk/qCSjrAImomy7zy4u4LKEzWQZWw5uiK48cMs1BbjmmqLCAVZQ5yKsoPoBK9l+gJf5fpyjrrh2ACuuHTpgnd8j/7VghUk15cndLfXCw5IpmvBtyaQYuw3OBQmbCfLvZQfOxHh/0WHJEIHJEG3ARIgf75EnE5x0A5ZLEJZMsA6ffO49hOXig83EN7LkaepDGzRxnPbu0j+s4M7TOyYO1OQ1/kuTmmSePZElnx9DWp1//lO73j4s0QXXAGDBzZbAkiw9DBO6pIaa9q1/WFNxtQMrrnZgTdYePvnacIM8sOWKBq65ogM2BTfOAwtuoAeW3EgPXHJDPXDFjfXAihvsgTU52UMbcrSHtuRsD/3s0L0tj64/H9vZauna3S9Uoa7W\",\"music\":\"bab be go\",\"is_overworld\":false,\"level_number\":0,\"level_sprite\":\"\",\"name\":\"reuse\",\"palette\":\"autumn\"}"
  },
  {
    "path": "officialworlds/bab be u/w7 (heaven)/reuse.replay",
    "content": "-1,-1,wasd;-1,0,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;1,-1,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;1,-1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;1,1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,-1,wasd;-1,0,wasd;0,0,undo;0,1,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;1,0,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,1,wasd;1,1,wasd;-1,0,wasd;-1,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;1,0,wasd;-1,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,-1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,0,undo;1,1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;1,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;1,1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,1,wasd;1,1,wasd;1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;0,1,wasd;-1,1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;-1,-1,wasd;0,1,wasd;0,-1,wasd;1,-1,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,1,wasd;0,1,wasd;-1,0,wasd;0,0,undo;0,1,wasd;-1,-1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,0,undo;0,-1,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,1,wasd;1,1,wasd;0,1,wasd,e3sxMywgN30gLS1bW3RhYmxlOiAweDIzZGMxZDIwXV19IC0tW1t0YWJsZTogMHgyM2RjMWNmOF1d;-1,1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;-1,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,1,wasd;-1,0,wasd;-1,-1,wasd;0,-1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,0,undo;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;-1,1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,1,udlr,e3sxMywgN30gLS1bW3RhYmxlOiAweDIzZjBhYWQwXV19IC0tW1t0YWJsZTogMHgyM2YwYWFhOF1d;0,1,udlr,e3sxMywgN30gLS1bW3RhYmxlOiAweDIzZWI4NTQwXV19IC0tW1t0YWJsZTogMHgyNDIwMzFjMF1d;0,1,udlr,e3sxMywgN30gLS1bW3RhYmxlOiAweDI0MGJhMzg4XV19IC0tW1t0YWJsZTogMHgyNDBiYTM2MF1d;-1,0,udlr,e3sxMywgN30gLS1bW3RhYmxlOiAweDI0MjA0MTI4XV19IC0tW1t0YWJsZTogMHgyM2VkOGEzMF1d;"
  },
  {
    "path": "officialworlds/bab be u/w7 (heaven)/skullify.bab",
    "content": "{\"width\":9,\"version\":5,\"extra\":false,\"author\":\"Slabdrill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":11,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"skullify\",\"map\":\"eJyV1U1ugzAQBeCroOwqITWY3zTyWRABh1pFUDmQghB3r+1JISwCr7ssvpnY71lJ0ThVk2eVk/JxbGUl+KHt2/SSXQ5uz4+uLLjnDvrD7VvkMqv4OLmFVNyb3Ae/fXXVbJm23mtrVwujPaN9bLO1wf5m/WnmoebBNldNPvNI8wg8SaztCbSJOfXGFc05OqOZ0ScsD2v11u1A5JP14DTIMywOwv52Hk/PiXwAZCLuQg3MzPh2JsSSIRxtJ7PGO22aw/y8X5WolxGkVHrlgfVgrRazvVrXu5lpNkR3M7gp8v6/mgrtTIBdlnC4f9lS3hcfbb/jx+HJxtgbJpwAyYiFn4Bg/r4gsr90RywWwh72gAkDpX68LRzplK4aWw/2SRjos/2UdSmvwzK0U6od6tvVCNgt4Z1u1xhptm7Kxkwk9n8JbJbwi2ansxJtp2onPYu6+AWVpoq2\"}"
  },
  {
    "path": "officialworlds/bab be u/w7 (heaven)/skullify.replay",
    "content": "-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;1,-1,udlr;1,1,udlr;0,1,udlr;0,-1,udlr;0,1,udlr;-1,-1,udlr;0,-1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;-1,-1,udlr;1,-1,udlr;1,0,udlr;-1,1,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;1,0,udlr;-1,1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,0,undo;0,0,undo;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,numpad;0,1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;-1,-1,udlr;0,1,udlr;0,0,undo;0,0,undo;0,0,numpad;-1,-1,udlr;0,1,udlr;-1,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;0,0,undo;1,1,udlr;1,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;1,0,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;0,0,undo;0,0,undo;1,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;0,0,undo;0,0,undo;1,0,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;0,1,udlr;-1,1,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;0,0,undo;-1,0,udlr;-1,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;1,-1,udlr;1,-1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,-1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;0,-1,udlr;1,0,udlr;1,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;0,0,undo;0,0,undo;0,0,undo;-1,0,udlr;1,1,udlr;-1,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,0,undo;0,0,undo;1,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;0,0,numpad;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w7 (heaven)/stacking ability.bab",
    "content": "{\"width\":13,\"version\":5,\"extra\":true,\"author\":\"Slabdrill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":13,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"sno be fall\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"stacking ability\",\"map\":\"eJyt1s2KgzAUBeBXkS5mGHBhYvxJi88iVp0iiBZraUV890lyQ7UwY85iFu3qS7i5Jyapeq/ty6L18myex6ats8P4HPNH0R78Z8b8plJ/Uxb5t2tdNkWbzYtfNUPGFn/Dz/VLc6Xjfd31l/7lQ+WTv70thGsqFOUYjRQNMRorKjCa7HdiS9P9NmypxDvAAmVT0OrcJGh1ampyFw4NDqEcyApsYmFwtD+x3jtDX67eEd2bTaDOkU0dRetC0J8tIjIT66iZswhjeeBuxseqGbSLybrCNl90cV4H6MDZTt10BHSfox4SmyECWilZIPZNJ2mMI3pbPlkserJI9HTakZdAay598Sima3vTwxJz6AVQe8gyd3uoIuIc2glkQ2C195ULx2Lt3KnBWKrN97QOwb5nslioZF2hWiwNltDpZqwIsIkV0doR5Dvm0A1mcQhlbrGAbjGLI+gesziGbjKLsQAtTqG7zGL5/8c3M2+VKICfQuSZ+zF0/Np4/nsDl9NQj/eh8/JT3VU/VD4/Qw==\"}"
  },
  {
    "path": "officialworlds/bab be u/w7 (heaven)/stacking ability.replay",
    "content": "1,-1,udlr;1,0,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,-1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;-1,-1,udlr;0,1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,1,udlr;-1,-1,udlr;-1,0,udlr;-1,-1,udlr;0,-1,udlr;1,-1,udlr;0,1,udlr;0,0,undo;1,1,udlr;1,1,udlr;-1,1,udlr;1,-1,udlr;-1,-1,udlr;-1,-1,udlr;0,1,udlr;-1,1,udlr;0,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;-1,1,udlr;0,-1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;-1,-1,udlr;1,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;-1,1,udlr;0,-1,udlr;-1,-1,udlr;0,-1,udlr;1,-1,udlr;1,1,udlr;1,1,udlr;-1,1,udlr;1,-1,udlr;-1,-1,udlr;-1,-1,udlr;0,1,udlr;-1,1,udlr;0,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;-1,1,udlr;0,-1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w7 (heaven)/that one.bab",
    "content": "{\"width\":12,\"version\":5,\"extra\":false,\"author\":\"Slabdrill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":9,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"that one\",\"map\":\"eJyN1s2OgjAQB/BXMV42m3Cg0C/W8CwGhXVJKhjFrBvju2/t1BQSpP8bh19hpsO0U/cr0+8rs9qW9/vQmqZc/1ZmndzKNGnrkiV/9uFyavZtZcr7I6nbc8keyQzNLGUYzS3NMMotzTEqLOUYlZYKjCpLJUa1pQqjhaU6SpkrQbpcg+E2bCeeLRfi6Y/NMFoQqdwUY7Ujy6EsM2dFPMtdE7jEYiaslmN+vnv4Gb1cz/0eaj5urJK56xCgkl1/6MOCSClfWRLOlrPcVbtg8+VeCbtNnM9tSD6fpIA2hDsrgaJT2OQVth+Edbzq+/7YnMwlrCmgRJ3NUyhR4WzkHA37TRzsSMJYR5LFOlI6C3TkNWiwIQlHGnIShoZCVs4W0HXlLE+h+4osg+Ilm0E3FtlIG07sbA++sQK6tMhK6NYiq6BaaGd1/Pf5Nv0hLCji99b4AyKFAifLoMALZzO0V4nny2G/ciTMkXO3+xjCCgFlSVZiUwVNSyqe5tfnyOt4eUbHqV9UQNETltiBytxsIbHJ1GNsNvUYnHAIY/Opx9iE6jE2o3qMTakeY3Oqx2/mm8fm3AzXc7fabpqu/gf3/RFk\"}"
  },
  {
    "path": "officialworlds/bab be u/w7 (heaven)/that one.replay",
    "content": "-1,0,udlr;-1,1,udlr;0,1,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;1,-1,udlr;1,1,udlr;0,1,udlr;-1,-1,udlr;-1,0,udlr;-1,1,udlr;1,1,udlr;0,-1,udlr;1,1,udlr;1,-1,udlr;-1,0,udlr;-1,1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;1,1,udlr;0,1,udlr;1,1,udlr;1,0,udlr;-1,0,udlr;-1,-1,udlr;1,0,udlr;1,1,udlr;1,0,udlr;-1,-1,udlr;-1,1,udlr;-1,-1,udlr;-1,1,udlr;1,0,udlr;-1,1,udlr;1,0,udlr;1,1,udlr;0,-1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;-1,0,udlr;-1,-1,udlr;1,-1,udlr;1,0,udlr;1,1,udlr;0,1,udlr;1,-1,udlr;1,1,udlr;-1,0,udlr;0,0,undo;-1,-1,udlr;0,1,udlr;1,1,udlr;0,1,udlr;-1,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;1,-1,udlr;1,1,udlr;0,1,udlr;0,0,undo;1,0,udlr;1,1,udlr;-1,1,udlr;0,-1,udlr;1,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;1,1,udlr;0,1,udlr;-1,-1,udlr;-1,0,udlr;0,0,undo;0,0,undo;-1,0,udlr;1,-1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;-1,-1,udlr;1,0,udlr;0,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,-1,udlr;0,-1,udlr;1,-1,udlr;-1,1,udlr;1,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w7 (heaven)/that thing.bab",
    "content": "{\"width\":17,\"version\":5,\"extra\":false,\"author\":\"vitellary\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":13,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"sno be fall\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"that thing\",\"map\":\"eJyNl9GOmzAQRX8l2odKlfKAbcCmK74lYkOa0KKwYll1qyj/XuNxYkwHz7zwdAbMzOXOpR12/XBs+t2hvt2mrj/VL8dL011f9l+12Hetvfyts/3H++nYNX19u+/bbqz1fY/C0sKCCysLSy6cW1hx4cLCORcuLVxsw7+arn+y2rLlmhUbNzYW1txTVBY2XFhklq7Y9DxCwZ6hcENkT1HMYxSJOT4aKB2dY3IKHZy+psPz/lBRYJpSUcW3QJeYqGI6PpDGhBUXvJ0CbjBpxfh1OA+hoMLkpf5vpqNllhbYfPuf/XAOBSItstXxpUzLbMZ/fA+4Suss7r3MCZ25049de25DTUGILRqWLAmtPbupHK4xsSG9B9qkhbaiq7TQYlplaZWtaJEW2YqWaYU9OgiwwgS21UCVMy0M6ILpYUCXTA8DWnM9DHDD9TDAK0JX7jNq3uaC3G2jjLax6dJMoUBg4hLIdwq4xNQV45dhmhYVClPY9gPy9Iqc8c9AF5jEkL0HdEmbWNRMTXvY4iwGnRVymMLhFTO/OLrImAEGaMFMMEBLZoQBWjEzDNA5L8QAXDA9oHQ0Y5rnYQq8plfM49OAAoMZQeIBFWEFXlvahTvUeBGxAC2Y+c44WjLpytEqLcTHiADO03YRw+g8t+CS/tjem/FjWJRoOgX4ntuxzAUm7Y4hQAJecb0ReE2kX5fBnF4EhHb0FwY7DuDoTwxqX74A/ZERGy31NcRmXbwz8MRunfk/Tf97UUHs18UTXLbSaFjCugQ4mpbQoQGP5iV0aG4lG2LDhuMAztivz4XpSwg/XowMeCIMP3K5p3MigTy3mnBrzRTc9wW8TL9vwJ3lG3S4yE8u0MRs1zcnRrvCK9SSt3E0DG/jaBrexrl52OPcQOxxbiL2ODcSe5ydiT3PDsWe30rF99fxNH2O193h9XRt/wE5zhHe\"}"
  },
  {
    "path": "officialworlds/bab be u/w7 (heaven)/that thing.replay",
    "content": "0,0,space;0,0,space;0,0,space;1,1,wasd;1,1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;-1,1,wasd;-1,1,wasd;1,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,1,wasd;-1,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;-1,-1,wasd;1,0,wasd;1,-1,wasd;-1,0,wasd;-1,1,wasd;-1,-1,wasd;1,1,wasd;1,-1,wasd;0,-1,wasd;-1,0,wasd;1,1,wasd;1,0,wasd;1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;-1,0,wasd;-1,-1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;"
  },
  {
    "path": "officialworlds/bab be u/w7 (heaven)/txt txt.bab",
    "content": "{\"width\":7,\"version\":5,\"extra\":false,\"map\":\"eJyVkt0KgyAYhm9FOht4YGbtJ75rkZYeCFLDGTSke5+OrRqxaQeePc/Ly+creqT7ttGIg3NWaQmZHS1/vwyPQLASkOMHlPh+k61qNLgJC2Ugn/BW+Wg0aNRrJFnb6IXX6W79K4L5CPY/4ioDXQS6jPdd0VU8+3IINAv0cfctZvUUv8Mww+d4q1V+9fpdktxtcdInsazoxx6m2kg7mA7xWnbiCf0o57A=\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"sno be fall\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"txt txt\",\"height\":6,\"author\":\"Slabdrill\"}"
  },
  {
    "path": "officialworlds/bab be u/w7 (heaven)/txt txt.replay",
    "content": "-1,1,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;1,1,udlr;0,1,udlr;-1,1,udlr;-1,0,udlr;0,1,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w7 (heaven)/txtify.bab",
    "content": "{\"width\":13,\"version\":5,\"extra\":false,\"author\":\"Slabdrill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":13,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"sno be fall\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"txtify\",\"map\":\"eJzN1stqwzAQBdBfMVm0FLywZPnV4G8xfjUYjB0chySE/HsljYgdaD131y7a1ZEYzZ1IbkavH+uy94r8fp+7vs1383UuLmW/86+58LtG/7vlkX86tnVX9vn94TfdlIuHv+JV+9RS63hbD+NhfPpQ++R37wqRhipNJUYjTUOMxpoqjCbbnVjTdLsNa5rhHRCBtiloTW4ZaE1qenMOhxaHUA5kFbaxsjja3tjMzjTWi2eiq8pqsQnUObIpU7Qp5K/+XAMiW6gZHcEeyloZ8M19W7SAfhVkueGxNwRlQQvMAImNuulKGd5nsyS2SxR0UrLAGK06SWuYUXpJob2uCsPmiiwyV3SVks+APh3G8lLejv3JLEvsjRpAvSIr+F5RRcQlNBZkQ+C054Ur5rBu79RiLOLu67YsYRJ200AWC5UsF6rDmcUZdHVaqwJsY02MZoJ8xRJ6Hh0OocwdVtAT6XAEPZIOx9Az6TAWoMMp9FA6nP3/t0HYD6sogL/byAv+y+3zY+Xlz4E89lM7n6fBK/bt0HwDf7KK2Q==\"}"
  },
  {
    "path": "officialworlds/bab be u/w7 (heaven)/txtify.replay",
    "content": "1,-1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;-1,-1,udlr;1,-1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;1,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,-1,udlr;1,0,udlr;0,-1,udlr;1,-1,udlr;0,-1,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;-1,-1,udlr;0,0,undo;-1,0,udlr;0,1,udlr;0,-1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;1,1,udlr;-1,1,udlr;0,-1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,-1,udlr;1,-1,udlr;-1,0,udlr;0,1,udlr;1,1,udlr;-1,-1,udlr;1,0,udlr;0,1,udlr;1,1,udlr;0,-1,udlr;1,0,udlr;-1,-1,udlr;0,0,undo;0,-1,udlr;-1,0,udlr;0,1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;1,1,udlr;0,-1,udlr;-1,-1,udlr;1,0,udlr;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;1,0,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,1,udlr;0,0,space;0,0,space;0,0,space;1,-1,udlr;0,0,undo;0,0,space;1,-1,udlr;-1,0,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w7 (heaven)/well spoken.bab",
    "content": "{\"width\":22,\"next_level_after_win\":\"\",\"extra\":false,\"compression\":\"zlib\",\"author\":\"vitellary\",\"height\":12,\"version\":5,\"map\":\"eJyN2dFSnDAUBuBXcbzrzF4QICSps8/iUKHbnaI4iFXH8d2L+RNZYkj+u158ocs5h+Sc2I1Xw3jXDle3x/f3+Tz0x+uhbf9dH16PxeHcHcXhbfnH02N/d26H4/vHoTtPR/FxiNlysYK01WJL0taLrUgrF1uTtlmsJK1abENavVhFWrNYTVpRLNiw+DNzgk2dsLkjkiesrriqAK65sgCWXF0AN1xhACuuMoA1VxrAhqsNi8uCKw5gwVUHcMlVB3BFVgd0TVZHabVMV8f8Ot/e9/39uqCJVYjcebqKVYjcPP1unPq/87pEx+pEJn5QNKPbBb/6L15Fc7rlv6dzd+rWJdHM7rxyVZLJgq7IZFVW1/lk4VXBJZcq4Cb9Mb+087RixX3MwJqMCLQhI1Lb06bIR+R51YILCHCZDsgabPAqXbe+ZoFrbhcClmT8oBsyftJqxR0OwJoLH7DJh+/njy8ui3T4Ns+W7HEJzR6XjdXkcQkcPS6//2pg8rgEjh6Xe09WZDygNRkPZbXJf2GbBU3BxQRYcDEBZrdWaHZr1VbTWys4ubUCZ7ZWe+QM42ldoNIdzRaTHSywIUNotSrIEBqrM+PH52s+jKdxXRCdQb4HEZgcQoBr8jWhJdtPY7poyIYaWpEdNbTmTmGnTfoY3mpdpJvqQIt0DQa6TB9oga7SJRvoOt1YB1qSnTV0w7bW4IqtFNuKa01WCrQhK8VqU5CVAi3ISoEuyUqBrshKgc60PoGWZKVAN2SlQCuyUqDZLtZxto0VJW4LiEb26+e7JdFudv9/yPSzIaeHTufZsVNU8MTgiQPXL4gOnvvPj46e+5xOr/N0fmtc8BD5/TPOc3+5hk2w42yCHacT7DydYAmfSXDI2fQ6zqbXcTq9ztPpbXAjl0lvyNnMOs5m1nE6s87TmVXwbGYdZzPreCazlxdAfkn0zii6l7gFJn3A2d32eeoulth7o8Qp97nkNLYv7dvj8HS5jr0WdJydcbyPTznfm2ih4TNzTsijc84+z0w6IWfnVu/jk2vkZQ18ZnYNeB2dXPc5Obt6TmfWeTazJf4oUJOZ9ZycYD0nM+s5eUHouU5/jyE36W8x4PZuibht81xwA7XnJfeBe15xXafn7CTrPTvLlu5POOQw6zk5zXqeGWdDnplnA95kBtqQZybakGdG2pBnZtqQZ4bakJNTrefsWOv93lz7cTP18/P0cHV70z90/wFqwgDY\",\"music\":\"bab be go\",\"is_overworld\":false,\"level_number\":0,\"level_sprite\":\"\",\"name\":\"well spoken\",\"palette\":\"space\"}"
  },
  {
    "path": "officialworlds/bab be u/w7 (heaven)/well spoken.replay",
    "content": "-1,1,wasd;0,1,wasd;-1,1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;0,1,wasd;1,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;-1,1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;0,-1,wasd;-1,-1,wasd;"
  },
  {
    "path": "officialworlds/bab be u/w7 (heaven)/xwx whats this.bab",
    "content": "{\"width\":15,\"next_level_after_win\":\"\",\"extra\":false,\"compression\":\"zlib\",\"author\":\"vitellary\",\"height\":9,\"version\":5,\"map\":\"eJyN08EOgjAMBuBXIZ402YENENTsWQi6qkuGGJxRQ3h3V1EciW67f+2a/p1oItXsKhWVvOu0VMBn+q7LvWoOM3LnjEjBKXnwlFzOsJOV4l1PhGw57Ynlb5UaOTM8/88/rRO0ibHU3XoLo079g1g6c8+Ber1AnaJe+nuv56PO3b3f68iRFobGYXTl3oZNaWwsC7QYYBJomXsPE4vpZYEWs1sGWk9yE4u5FY7cjvKC2OwLde5PuQaorYrCPcuo6Ut7Evxe6OBZHHrRb0/9Ny1AgX6VDL/REyiWXC2e/H6h37Sgr+0pKjdwEk+NO2dQ\",\"music\":\"bab be go\",\"is_overworld\":false,\"level_number\":0,\"level_sprite\":\"\",\"name\":\"xwx whats this\",\"palette\":\"ocean\"}"
  },
  {
    "path": "officialworlds/bab be u/w7 (heaven)/xwx whats this.replay",
    "content": "1,1,udlr;0,1,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,1,udlr;0,-1,udlr;-1,1,udlr;1,1,udlr;-1,0,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,-1,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w8 (grove)/clause.bab",
    "content": "{\"width\":12,\"version\":5,\"extra\":false,\"author\":\"vitellary\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":10,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"volcano\",\"parent_level\":\"\",\"name\":\"clause\",\"map\":\"eJyN1s2OwiAQB/BXMR52Lz1IW/oR02cxtWW1sQsGcaMxvvtSplI5yMzNw2+U4Q+DvVqNqmvH1a55PMwwimZtbmZ3GvR+ndyaTTL0DUvu9sPlLLqhHZvHM+kH3bBnMvu9Hk7eptayz3b6bvEn9J35isxWpPGKvfA6tzqLa6mMbuWP0r++ituqnNhBYS2P/4I5DhfvS+sL8vorq0tk/cbr2uoKWYu4Gfm9lPCp1zpe8zVp5qLd0LIFzOLhhjiN5xriLB5riHNamoB5PM4QF/EsQ1zGowxxFU8yxDUeoVbd5FN355AQ3RGcfwAKkCBf52opIIYJmBgmYCTM5fpkjnNCq2+8wBt95yWtTcAVrU3ANd5mp7T32SZ+EgPL8ClxnXTudIrvoFQHtRRk+B7akXvVcinJafsImNP2EXBBu/vc4ZI23ABXtOEGuKY16HC+oTUImFHvA/A0fk7mMQE2Q87J/KqVDiP3chTGCG3P7KjkUsTxt/D1zwIKCvzoHpSbQ5XzZdzPqzq3WkhzFBdoqHalFb62ebfAI2+vn9huZHPqOwqa+pCCRobv+7SeK6jPKegPUT+3WkzXerXbCtn/A7D+aBM=\"}"
  },
  {
    "path": "officialworlds/bab be u/w8 (grove)/clause.replay",
    "content": "-1,0,wasd;-1,-1,wasd;-1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,1,wasd;1,1,wasd;1,0,wasd;1,-1,wasd;1,0,wasd;0,-1,wasd;-1,1,wasd;-1,1,wasd;-1,0,wasd;-1,-1,wasd;1,0,wasd;1,1,wasd;1,-1,wasd;-1,-1,wasd;-1,1,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;0,-1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;0,0,undo;0,-1,wasd;1,0,wasd;0,1,wasd;1,-1,wasd;1,1,wasd;0,-1,wasd;0,-1,wasd;-1,1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;1,-1,wasd;0,-1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;0,1,wasd;1,1,wasd;-1,0,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;0,-1,wasd;1,1,wasd;0,0,undo;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;1,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,1,wasd;0,1,wasd;-1,-1,wasd;-1,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,-1,wasd;1,1,wasd;1,0,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;-1,0,wasd;0,-1,wasd;1,-1,wasd;1,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;-1,0,wasd;1,-1,wasd;1,-1,wasd;1,0,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,-1,wasd;0,1,wasd;-1,-1,wasd;0,1,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;0,1,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;1,0,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;0,1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,-1,wasd;0,-1,wasd;0,0,undo;0,0,undo;0,1,wasd;1,-1,wasd;-1,1,udlr;-1,1,udlr;-1,1,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,0,wasd;1,0,wasd;1,-1,wasd;-1,-1,wasd;0,1,wasd;-1,-1,wasd;0,1,wasd;-1,-1,wasd;0,1,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;0,1,wasd;"
  },
  {
    "path": "officialworlds/bab be u/w8 (grove)/f is for.bab",
    "content": "{\"width\":24,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":16,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"garden\",\"parent_level\":\"\",\"name\":\"f is for\",\"map\":\"eJyVm9tu2zoQRX8l6EOBAnkQqStP4W8JHEdtA7h2oSinCYL8+5E5Q12oIWefNz+srQtnczwcik/Xu/P1dDzfPRw+Psbnc3/48nM4vny5fzsU989PB3P/Pv14+dOfno/nw8fn/dPzcDCf98yOb+PD4/Fxxu2Emzz+cjmeTrOgnAQ2L7iMM11NdJmnN09fT3yV5jdsM7F1zJYy205sk2Z/9JeXBe4muEVhN8Fd+om3sCkm2oHPbG6hNLtYpmgfyV0oU/QtjCYTxy19C6PZxTF17VsQzS6KKfoWRrOL4/5JjKdbyd77SxPcSeZOwU4ydgK2heTrFGwkU6dgi7ma4BK0NdFV3tfnfhz74eHXIqhBbxPdYN4muAW9TXQHeptoJ3o7QZeF4u1bjtq+aWlEgycsW1rF4JsbWC8p80k8XJ/gKp/Ct3Cdd3n0HE3e5hHd5n0e0V3e6BHtQKd7uirADE60kYwr2JxoKzo3iZeidZN4BeZlomvAu4/9wjegcYluAePS1UvPd5hrCXZ64XEchussqIt84TGPI9EGdC7RFhx1osv/kzFIUoEDT3QNDDwVWZXnG2zgCW71gf+60B046kQ7cNQ93RTgqBNtwBqEaAvWIESXwICfrr/7P2cvqr2owkad4Fof9Xl0SNGAI090mx/52/XHX/3CKzWu5/u3cRE4MEl6ukVDSzQaWqLR0BKthTbQjafFmO4vTTAQ068LjcaTaCWeEd2Bw020A4fb012hpC5v3WF6nkViwDFvPW2xMSe41Mc8+JYEFTjsRNf6NOIy+cciEheiyy14uU1sC5bURHdorUG4Q2sNjzt0khItT9IULU9SqXYgHp2mnafBaUowME3pSQhH5ynRQN5dX1wsepMXd0r4N+9pikIJf4QbMPyMWzD+jJeAAV5XfAUawBFeYw5gutEtQPUU8y3oAca7vAnWGYMVDvQB4b5thBiBcQMagXG0+mVcLn+TOFr6Mo7UvpxRDbfJwPI34EAB/Lrm0RI48EoRzG4YVhLfTkLsEHi5M5gRyM3BjEDrD+4EcoswGQUrNwnTvNYmXDKtoX6eFVuFwg0YF5uFaVxsF0rjQ3ypdAzZFesX8G2mzBuH5XHA5cbE9r9otYgJMjzSLIAjzTwcaeaRSM8Fp7EkQoPNONoZZhwONvEVFuzLWqIEe3cLuA0VBHAjKgi0VtROIHejkkGAu1GB1/pRM18SL/ajhCAzLnakkjjcjwq80pFiT2wk4l5A5hYlWCYEvgLrhMDXYKEQ+AY1BPMtagjmO9QQFfEONATh1J/CcQO21gNvwSV+4LXo7gRaeHcCOb7pN4bjyzwcX+bh+NbEK/Fd95RZ0qIxZhyOMfNwjJmX/4zTzwP/FzMP/xczD2/ONsQr27OrIo0F6B8x48om7TKexHfKH/GOl9fEyefp0EVx4LVVccyjq2LTEq8si/33Ftff73+P72uVuDwWXppxcXUsDSrzyvJ4x4t7fVLaIt6Ju30Z3uR7cHOKYNyCne/A43maBXieZgGcp5mH8zTzWp72FfjzsJbAqZraPU5M1ULvnHhbiHk6dXlbiHlaGlHm4TzN/C3GyFZ34CupksvwtTQFhAAz3qAzgHm0Cx14rQ8dP4/WiI54g3aiA4/2ogOPdKPnz9yCCG1JG0e8sh+4qT5YorSm4zsorekYF3vTabyTPJ3GlRZmhPsWVyapx7hBHc28RR3NPLxUYh5eKjGvLZW2XxWxCM7TzCN5OtagidrS56FWSdQRXoJ5OuBKno5xMU2ncTFLp3ExSadxMUencTRHB17J0bfYDtfxOD6e16oOLFYCj24xMV+he0yB1zaZVl8osQItqQOPltSBR0tqyx9NiiV1Gge2mmKJstu0GiIWiAV1tJ11/XldS1x+Ksz1FvO1siMhvIZvcCHzgXGLzgfmSzDDB75CZwLzNToTmG/QmcB8C8yEKGrU4ELmAvMOnQv8xW6BzgVLvHK4IMaVwwUxrhwtiHHlbEGMg0cLAq581BHj4gGDNC5+fpXGlUMGEd6KpwzSuLabGPPaZmLMo2cNAo82tQKPNrUCjza1bEm8srcUfxQUZMqG4iqts0DZZVq+UmCB3N3KCcSTCFvB65pXNiCigerE4whpXDyPkMaV0wgxLh5H2L5r/28/vJu1SD6WkAlaJx9NyAVBPp6wVfzzbaVw8hGF5Ks79HxC4FMnFD6/D/34OlzuHr73l6f/ADl84so=\"}"
  },
  {
    "path": "officialworlds/bab be u/w8 (grove)/f is for.replay",
    "content": "-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,-1,wasd;1,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,-1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;1,1,wasd;0,1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,0,undo;-1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;-1,-1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;0,-1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,1,wasd;-1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;-1,-1,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;1,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;-1,-1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;1,0,wasd;0,1,wasd;1,-1,wasd;1,0,wasd;0,-1,wasd;1,-1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,-1,wasd;0,1,wasd;1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,-1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,0,undo;-1,-1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,0,undo;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,-1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;1,1,wasd;1,1,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;1,1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;1,-1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;1,1,wasd;1,1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,1,wasd;1,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;-1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;1,-1,wasd;0,0,undo;0,-1,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,0,undo;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,-1,wasd;1,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,1,wasd;0,1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,1,wasd;1,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,0,undo;0,1,wasd;0,1,wasd;-1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;-1,-1,wasd;0,1,wasd;0,1,wasd;1,-1,wasd;1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;1,1,wasd;1,1,wasd;1,1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;1,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,0,undo;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;0,1,wasd;0,0,undo;1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;1,1,wasd;1,0,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;-1,0,wasd;1,-1,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,1,wasd;0,1,wasd;-1,0,wasd;-1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;0,1,wasd;-1,0,wasd;-1,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,1,wasd;1,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;1,-1,wasd;1,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;-1,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,1,wasd;0,-1,wasd;1,0,wasd;0,0,undo;1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,-1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;-1,1,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,0,undo;1,0,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;1,1,wasd;1,1,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;1,-1,wasd;1,0,wasd;1,1,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;"
  },
  {
    "path": "officialworlds/bab be u/w8 (grove)/grove.bab",
    "content": "{\"width\":12,\"version\":5,\"extra\":false,\"map\":\"eJyVkeFqgzAUhV8l5NcGgWHVtqPkWYo11y3smtgkuon47ovUdOvaRfyp3JPv4xyhCeqyQHLkw+AkAqfYIWVfPGdS8IT1PGW2gVIWyAeEDpDTzz15ejO6g+eXM2WdtPIkUbqeU92AokyWWlnXT4+ptj6BoUwVtf/y15cffDMyIQ1PRvaAuvHU7I5aF02zQBPa2cC6nM+41784C1g6cyWmt8R/5LbTabZUSVtj0bpbU9/xB4hIMyE0+6Yxg/xhPb8MEJxPr1omRGZ+EuNvPT+P86t7gXcpRGSua2bBYDcZ7JY2qIi0pNJm5Qo/sdkij1nsl3Yo/aYWVjqE0GyQBYPxYMC1RpHjAZT4BgXRSnE=\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":4,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"volcano\",\"name\":\"grove\",\"height\":10,\"author\":\"vitellary\"}"
  },
  {
    "path": "officialworlds/bab be u/w8 (grove)/leftdir.bab",
    "content": "{\"width\":22,\"version\":5,\"extra\":true,\"author\":\"Slabdrill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"leftdir\",\"map\":\"eJydmd1u2zAMhV+l6MWAAbmwLNuyV+RZgrZxuwBePbju0CLIuy8macs/lMj0LhffkSjxmKKUY3vXtM+Pzd1hfz73p6be37+23bHu7nef+2R3Ou7N7uv64/1v/Xx6bPbny+546vb5ZUd0/9kf6s7j6RU3a9xM+Gpwe6XT8OCeNgOdcaGYRShP9UTn8Uj+1H0zsQUXBxd1OtBOjoO2BPAyHogPG+gqHsp8YJNcWRdmm7rv6+7QeMGQzEoUzGaAdEbW6nfGAm+1KUI80+UI4Ty+MxT8bPRCtdqTFzj1ajPgS3m1H56utJ8G4GkS/zYo+hcv0CX31Quk5I7bnwPNptYGYCGxfq2Is6ndrLX3Al1qf3uBlNrZR1uAQMitXwHibHK5Sga4FZI7RPOnbf8NAgcCtgxz4SDOlmEuHMSFOoyfbdNAAkpQCLXYT4A4W4y5eBBn67HHV7E4rgzym1mBQJ1bxNW5BTwTcvvSdh8eNvESPsTe15+wWANHZpZqgyfeaqMnPlPuPeG5vIAfgOMRXqijR96po0e+vMHJBs64rFKHBHyeqENC3sRDmhoROINyfXqRF9K7Gp1NLtMUIT3k1t4Qy5DcbM27MD8kNw/zq2iG1Bbq2IeslvrYi4Q7UcKxF4Y9UCICKMmbTEUEkNlNsiICOHQ3+YoIoCpHEjZtKfQLBfvtbjsAotkv1y6r8lIhfLuz8JGv4vZcju4S1j6757Zpu/052ZmLj+00FwolejVNyvqOnWaltJwDQ9vrMsF/Kzxn3WeDm+sKwX3L8Q3Uiq35QttkoFZsvcfw0L854c61otVXLuKFS9dsc4AvE6XzkDa3Ow+FqdJ5SFu98zYLyuL99IbPWfex3yoKCtZ/q0ZnsXjHGjAck8GSrDuvcIpS8OAQ1EwErXsptAszbwFfse3Ckn9rX9uZgm0Y2GUgnyrdiLS93Y0ozJRuRDr/lhtRK9zuNjx/uWPdiIJS4cb3un57+pqJKr0hCzRkojckKpJEWxUd8upr4ShgL4bMIUM4ezEM4xnnxDCe325FUhZKLxLuvmVGEpdqN5Kg0tsRFfCQJ/mRXidGidG7ERXQESvdSHOkghtnihIV7CPR8vo13n9HifqpaBQI74BT7gkvbjcZKdl3hfBE5bdMRuJKbTIUwPOg0mSkMAqT0clFilTvMVTAHU3pMZrD6j1WoYJ9elpf8ecC4Z+A7QzC3wFT4gl3tzuMlKXSYYTzd1rJYSi27AU3sguWv+GyDiMFf8UN9Dqk4W+5kbjg1UDpMZojU3ssxf+84L1S8Nivn3OBYBnK+0g7ncFGnK8skfDV1YQEmVRNVhFlUi3ZzsDXkm1vQDy+aym62nF8qY5MvEFeqCKzBZCArSJM/ISzhgjjfIcSxNmeJDw635FsL/PE53w/wr0WjAq+HQnPwL9VBRec862IvVweurr/6N7uDg/12/E/q+YunQ==\"}"
  },
  {
    "path": "officialworlds/bab be u/w8 (grove)/leftdir.replay",
    "content": "1,0,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,-1,udlr;1,0,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,1,udlr;0,1,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;1,0,udlr;0,1,udlr;1,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;0,-1,udlr;1,0,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,0,space;1,-1,udlr;0,-1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;1,0,udlr;1,-1,udlr;-1,1,udlr;-1,0,udlr;1,-1,udlr;-1,1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;0,0,space;0,-1,udlr;-1,0,udlr;0,-1,udlr;1,-1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,1,udlr;0,1,udlr;0,-1,udlr;-1,0,udlr;1,1,udlr;-1,0,udlr;1,0,udlr;1,1,udlr;1,1,udlr;0,1,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;-1,-1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,0,udlr;-1,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;0,-1,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;1,0,udlr;-1,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w8 (grove)/letdir.bab",
    "content": "{\"width\":22,\"version\":5,\"extra\":false,\"author\":\"danielisgamer\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"letdir\",\"map\":\"eJydmdFuozAQRX+l6sNKK+UBY8CwVb4lShu2ikpDRcm2VdV/32AP4JqLZ5q3PJwLg+d6xuMc2pumfdg3N7vt52d/bOrt7WPbHerudvO+TTbHw1ZtPi4/Xl/qh+O+2X5+bQ7Hbpt/bTCdXmglpvWFTiW0GugMRaIm+rnum4nNURwrbIGiUCCKdKBNPIr+vd/V3YyX8UAG/L6e6Coeiv9glVxYs842dd/X3e48C4ZMVpLv1BZP+Q91kTtcy1bcwVn8Oyn2wyzIpbFnFi/42M8zbeKhhw8v466l4NtZUMWDH5cmtxsoQaHrFVhJI3d4Go/8vm6afqaHjOZiekhpIabzuHkDekhnydrlNAtMfMW9TVpYvoz7ZV5Hh1fSKmdxnYgM8zILmJ06hP/ctv8GgbECZq/OATkc7lUUv8Phbl3E/zYLmN3qSgdluLQKZsPOETkc7lj0AQ5ndqy/npUVVNJwLJ4l0nAcruLh/G278wyn8Z0yxN7X73YplW2qmZYGT3wmjZ74nF/NXxZ3XVucWuLFuSVekNzJbMp2wkycXsfn4vwSzyR4On3Y3paLNy/xzO4Nns602oAecqt/EMuQ3CzkzTpvUE+J8CXqKmYt+grR69EXCeora08vVLwLLZ6eoiq4/q2FzevCCBGB3bgLJ0QE9lS8MENEMKRXLfwQEdjNGzHEtKT2ZFTAvrs87BAN267+Xsa/KQzTeb3wHa/i9g+enkK7bR7apu0uD+/29cftHN3Rl+p4VX99Ovt0hpy3tkwmhz5dCSvQFsizq28yjGMDvIR+1evpqOR+tYIykfvVCRT0K8i4PVeWTKkOaGYkmico4plS7QXveKZYTyZydCEspY4213jbScu4t4MXVT9xa7gEVSKdC4lX0LGwIjhBCj0bnL/8z680NC0cPkiRQddGviJnXDu84m3vgrITRSUYiL23OI3gpoPs63jBVcepfWw9BXPdEUakkkRYnwlX15iYtMy5e9pchGthiSYcVnSB60kuvg4ZBYXc96QwAuO/1vXp/sNXlQLzN237tO99VSXfAE5hL79Edds4Ht5iwheQAF5kgnwSDm8y1/EM+VgvzUV4LizdhMNKz9metEZYvAkvr/QxyZmbsYXA3o4JfUwKJfDxWI5JkgpMHKTIXpYJLUyKjLGwpyidIo9fxQ9hjXcHo6SQXhCOAiMcFwmH8xlnNdJWwgrrcA2HNbDFCMfTGu9MksPhLbJwGk9v0JmkwOMbbLCkwPNbTIEHuNh34AkOKiqngENceAHjC+AcF3lDBsc44BTCYdsH5ZLwq8Y40jJzXPiqa9s+yeVtnwQ/aPukkLT96RRHGknTP7XKl/yg4ztFznV87286979lzvxzOUT157cvgH+PqDD1Iw1b/jL1I45THwlfnOxRwCU7jIhL9fINONFogB8VOM/Lqk18IT3Xpcrx4n+nR4HwXDfiwnPdiDNJDnGY4vWn4wQvC9vI4wTDdJECJxjdn4wKnODVmAxOsP76uuvq/tydbnZ39enwH5uGyE8=\"}"
  },
  {
    "path": "officialworlds/bab be u/w8 (grove)/letdir.replay",
    "content": "1,-1,udlr;1,-1,udlr;1,-1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;1,0,udlr;1,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;1,0,udlr;1,1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;1,-1,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;-1,0,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;1,0,udlr;0,-1,udlr;-1,1,udlr;1,-1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,0,space;0,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;-1,0,udlr;1,0,udlr;1,-1,udlr;-1,0,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;-1,0,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,0,space;0,-1,udlr;0,0,space;0,-1,udlr;1,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,-1,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,0,udlr;1,0,udlr;0,0,undo;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;0,0,undo;0,0,undo;0,1,udlr;0,0,space;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w8 (grove)/q.bab",
    "content": "{\"width\":19,\"version\":5,\"extra\":false,\"map\":\"eJyNmM1yozAMx1+l08vuzuRgYcD2dvIsGTahHaYUMoQ2zWTy7guWy5cF1i2Hn4SivyTLPtVPZX3MyqfD/n5vizLfP1+z8nn3vRe74rSH3a37cTnnxyIr9/fH7lQ0e3jsCDTqUOChskMjHhp3qOShSYfGPDTt0GSJShJVHZryUN2hioeaDtU8FETHmiWraLbXCzzBVmCrmCfZShS9ZuCJtuK5Vw082VbgXjfwhBvh9rs9fOT5R28B1iJlVSWyarsse+czXrNqE1mzXZy979eyfhsMIrFdor3BpcqOx9ECqEqdW/zLy7IdLSKqYBffOBfvo4GkanH5iR6PLB6zko9sEk7+1HXKyj2yKpz7qWvNGg7IGk7OB1yK7fxNXUugenmFjXi9jLAke3kFjsle9hof4STQy306PntcWpzXm8gyerOq3+rRgNecyDKa8++fAY8DrTl1HQeacsZG1KGwCOP3iAeaceY6ZhUTsgkp+QqckpInSzi2sGIJjqxm7QjIGpbWlk0Ea0tAFlhCIxux9gRkJWtRQDbeLooZm7BWBWTT7Yr4mfsIK1JlOSvNY12Wp94ksSaa+o8JMRkRN9TfnONfxaVoX5u8GqxScp56xYcsOU9X2Ii3lKQWptcdTyKEQ+vOcEIjTi88Y9Q/y46ydMqqbWRpSRM/EMR1IBDnW1vYcH1bXAmeb2Nh4GUbYVpHIhDEJS8QwG2flpJw7viQlrN1y+5birx8KKKJHK+2rxVDizpcUy3hzQsHs0VFXodU7YPPmrrCgOwCoYE17Bwc8SrB0TIQ/rB9Ix4Hoi/zts2bQ2ZN7FGok22xnAXuKM4kpf6vIvRCXPH0QljzTmZHG/L/wjL6j5u1saeCEdvR/3wAYSDD8T5wLi/WyM5hQx6qXkqv2W1iI7ejwpvWLZ9YkMuRn1aEmduRo+n1yKfttDf0TPZpO5INLbBP2yFrDDNujQ8Jguc8QhoC1YODqvrVjuGDiAJGs0yCoIfzynVbBNYmd5d/n1jQ45m6yzmDkLbe9RmECogwn4loo8nr2ta9HoQh74MruaJfjVYvsWBfjgLPBpN7CkDgmWFWSkC2rzcmrpNaBXpWzwPKv/LmBmOvwcpbEjweL03efjbV0+Elr07/Ae8U7Hs=\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"q\",\"height\":15,\"author\":\"vitellary\"}"
  },
  {
    "path": "officialworlds/bab be u/w8 (grove)/q.replay",
    "content": "1,1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;1,-1,udlr;0,-1,udlr;-1,-1,udlr;0,1,udlr;-1,-1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;-1,0,udlr;1,1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;1,1,udlr;1,0,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,1,udlr;0,-1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;-1,1,udlr;1,1,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;0,1,udlr;1,-1,udlr;1,1,udlr;-1,0,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;0,0,numpad;1,0,udlr;0,0,numpad;1,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,-1,udlr;1,-1,udlr;-1,0,udlr;-1,-1,udlr;0,0,undo;-1,0,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;1,0,udlr;0,1,udlr;1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;-1,1,udlr;0,1,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;0,-1,udlr;1,0,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;0,-1,udlr;1,-1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;"
  },
  {
    "path": "officialworlds/bab be u/w8 (grove)/umlaut.bab",
    "content": "{\"width\":15,\"version\":5,\"extra\":false,\"palette\":\"default\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":13,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"author\":\"vitellary\",\"parent_level\":\"\",\"name\":\"umlaut\",\"map\":\"eJyN191uozAQBeBXiXpXKULYxj+04lmiNLBtJARVFqqsorz7Oj5UTlMD56K9+sYynpmMXfebtj/s282uulyGY9tUTx9N/f60PVdie6z9v3/+7+9nczju2+py3dbHU6Wu25SV3krSKm8VaQtvC9JqbzVpjbeGtNZbS1rnrSNt6W1JWpHfkpGzOqSOyJ0MWi4nejgPu7f9W/QqlWwxs3ixnO2weD+eY4BOpXxudZP80N9aBW3XPzTLsugd96HA5fqH/mn7GCDzVL3G1dtmGJrTro0BIlWIvwLi/qVcrsYp4NC3fReDFFeWwAV5/kXQmj5/eMOdP7BdPv+pgmFdqv3nFi7Jb9Thxy0nmqmJXHCfCCyJXrpbW1EFNsaAgiqwrxigU7Uyt3u2V03QfK/Ck70KvNKrP3CRk/u2Qa9Mzbt9wycn59zi5OgEJmcnMDk8gcnpCUyOT2ByfgKvDNDYDoHr9AidOWrNjlAXNDFCx6jJAQpMDNA2y8avGJGcoD8juiFys5z6eIzgdjn5j6u75fTf+Mtz5CVXAAGbfL0A7tY2giwAaEkWQBm04i7LwAV3WwbWXM8DG67ngS3X88DJkTmHS67nA7Y5l3Jgwd1OgCV5aYZWZML9ijderLf8Q4QmH0nQhnwmQVtySAk8aRx7S5l8SW4dj6B8eevf1+BJi+Uy/H4dTFpyV45Jp3Oa4OE54Yicdv17fxfB5hSazSk0ndNwF3crOX3QbEaDLlcy+qAF+WqHluS7HVqRL3fo5I12Vmvy9Q5tyPc7tGUf8OBu5sfo+npqhvHUbXavTVf/By4e3Bs=\"}"
  },
  {
    "path": "officialworlds/bab be u/w8 (grove)/umlaut.replay",
    "content": "-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,-1,wasd;-1,0,wasd;0,1,wasd;0,-1,wasd;1,1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,1,wasd;0,-1,wasd;0,-1,wasd;0,0,undo;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,1,wasd;1,0,wasd;1,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;-1,0,wasd;1,0,wasd;-1,-1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;1,0,wasd;0,-1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,-1,wasd;1,1,wasd;1,-1,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,-1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,0,undo;0,0,undo;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,-1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;-1,1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;1,0,wasd;-1,0,wasd;1,-1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;0,1,wasd;-1,0,wasd;1,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;"
  },
  {
    "path": "officialworlds/gadgets/5 step steev.bab",
    "content": "{\"width\":22,\"version\":5,\"extra\":false,\"palette\":\"steve\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"steev be trial\",\"is_overworld\":false,\"author\":\"jill\",\"parent_level\":\"\",\"name\":\"5 step steev\",\"map\":\"eJyVmttu2zoQRX8l6LPhWncRhb8lUGQ1NSJYga2c1CfIv9fkDC+6mLPdpz6srUhcI3JE+jA89UPb9E/P+6+v8dh3+x/j3/H5Mnbdfz82f/e7zfGwTzbX238u7117bPr91/fmcDzvk+9NELj9z+HpDU8ieIBmNzTF0FxfNXbZxW0XOgFevdRsdp9t++HNwZWG8/itvHQaTzRey8MX0AoaPYMmu/jwueEgWmuswCunwGh//vx97k4+k2HjTXAODjjRhTDi/Xb7ETxpCQj60Hhq8EoWdBpeBx+oIUfEqrijQ3P9/+roVBtdjErl6JfmxbPaZ+Qhz0PrWe2zuH/dCas9lvAd5/Gqaoe+P3hai6xhWntU2DinFTI/vH0EiRqrV4IVWK+GznZovRKeQBNK3486kplIKtesG0xKZFDREpsLEwuPI8GC0yksKJ3ds5Eae8zwpmugAmiiJV5h/g2c70D/REtCnX/CU3hByQ2foSsK4TlkntgCM09wiZknuALNE11j5glWiHmaOk2g2GHqCU5A9URLLp16wjNAPS09heFzWf2xvd7++UgB6Se2xPQTXGH6Ca5B/UQrTL+By90jrSFFEqwACE6FApg8aIkY5fW2NAFAqbt7SmBGiRWMutWc6ApczYmuwdWcaAWt5oatEKU0xREP+iRY8jmBEZ10J5XhAZshjqkkVlDJMxyx1VrDd+e6yMI5nMc/g4+Ia2fQbZlELS2gOuHmRoogbdHr0Hw21/f+omO1iQGt0UoKa4+IFdoj904RXaz19HfpMt7Vz2iwQSIY8exmGopAnk9N27qIQkRfmpMfegW1v1TcygQAw5f3/jiOZ59Z9VvNB4pYwe+ELeK+7EtAcCnomjwl6JZgyC2POiUQtba1UbTdgKg9jUEA+7AxH+6007QD1E4DmFdLY2YtLby5M1p4c9mtpcHmyeJSPzy7Otg/MZ4gy63bkeGMuOSuZMSV95b53Q+vYQbrkIP5POHtLqSv0rNEmFldjpfVxLTULfs5yCZWrRdL64yj1hlHrfMeH95k2QTifJpAjLfnrgktpFDPxY9Ou2wp0nZNE1jnZWlBNTf0lq7WttC8ZreIW76Ot90LHhVNeAaJnoxOhpj+bPq3MAO5tjMCZxDVwUZzRinA9jIECmdaarbtdpzlhYZ7wddrJVLd51W8RGwBEm22qyLzzPRZabtKqI/ZH0iB+uiP3VuYyZD2YUjCSA6Uh387cgoVcnW4RYYjJVYbTFdobTBfr9VGdp9X8eljzpvtrEVtLG0zjdj2ByocQnzzzM8JxPbta6Mf/4QpRDj/nYISgO1pAHTNtOB6RiNtuK9XDklnC5PvssRsSyRm0wvdNbKZBHtyplPsyZnOHnpyDuXIKuMnck4Vj3SRnEGOBD+b47jdbk2sohhwNGgnRk5gZ4OWRk8Hmad9MWDhZxx51YPx5RTyrvva4hDyui//FPK6+z9VUwh4493SwxHwnWdaeOe9FebBwwqLP3BcwZFaPLDwsxwnpFML/61uE/gpVEKf9zVwDuXHijPYYZSlheOoxdWlDZbZ5ZFD4+kji4fG4dzDmcfmdwop6Qg5KJKUvpQV8DsdMm4D2C91LC38WMf/LoD5HHNh8QJwYUfWZkr4tbAJ8bc7fFP0JWq21aBnZl6Bu7fEp2ZHLfLVsOCTtc4wwqfgh6Xls/iu1ILXjiNnOgu+AGuC8fKRpsKG7in+/nXuxo/z6en5V3c6/AMvE95u\"}"
  },
  {
    "path": "officialworlds/gadgets/a ditto.bab",
    "content": "{\"width\":23,\"version\":5,\"extra\":false,\"author\":\"jill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":16,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"a ditto\",\"map\":\"eJyNmd1uozwQhm+l2oP99ElRhflnV7mWigSHoFI7a0zSbNV7X2Pj2FCXmR714H1i8HhezwwNf+r5se6fXvYfH7Lr6f6HfJcvraivP3bv+2jXNXuyu6t/hgs9dnW///jcNZ3Yk8+dpz/QhzpWarKtZrzlD32i9PG2nl6puMcPIlVEgn6eTKnTbXXLa8GaB5ErIgN+vz485IWS5+jHKZW62FaPD3GlxCVib4iLVaSQCv00ZIotAYIr6bt0hI4vfvvJFF8CBIALeXYngkwBJhsRsKeTaHW2vaNNJyV36hzeUnmmTl+E9rNYHWcpanbi4s1hU5gJkAZml2Ktr0LLJA/5fN60No4QOzqyX/9PRKIJRAbLuu8dgEji7nhXfw5B5LFCnB6RxS1Xf47AZHI/0sYRiEz+5S2AyGR/VxGpfK6pPPVcOAiR0ife81vtopEEczpZMIKz1gGYrGa0eaXUMTHixA5dQwdJL47S2Q2E/ZV17VkuuRThIvLcsbY7uTOTZIiT34i6PXiblyPNJNXqAuOHxh8yDZTbsXm4j1FXwM/bh9HqNEKbSK71ZPtZ7I8bcYw5IyN9nYhCEwnsImKKtCNS2EaO/I1e+sExGewjS8M1WA7byd/u4vQFbCZnLiV1RAmbyUl0Tds4pIINZeipe6osgi3l1N/dQ2UkZCfJardMtWWAGK4P+Hg8OyBBnBPlVu6cZCni2FJ2uDsiQ7jImV/4VTgmRzjIZL/Dq79fBcJBbqNwMcxKwD8m4k0VkBNRaaKC88SzeM3kEZwpLWfUAQROk9mnjD4Y94BPGTUm6Efei9PovUMa3NvVPVVfvYfKgnubBAyOmMo8h29Cc9iJLsPyAg4F48Ote/OYEg6F5OLoERUiFsqw/jqkiGC7YnxkjfcyBYEtq6E9lR4SIzyLi8YUKDOTwKZ14api56ZgnKkUdi5VAfTy7DFZyLyWtfVQs8EjgvH/0szd6vt8pcwY5la/CC7p0Qtrganhh0vf+RteIZyM8alGcVAZIays6erWllAzRhBedu2GTp4EZR4XIxytFaNBdBFVJqGcWGU2NZX3TKShnFhldk9Hj8hCKfG1epnV+XYyrNTFdh6s1OV2BriO0sgxMbc9pSaqcMADbjzrMZF2gwCiS9kq2MMl20ywiQOYYCMXiJtRA02ce3MjD3dwO3X3cDH9tjql360EdHPrlRDdnA2iAYKdXPE9QCKgj1s9EYkwbdxhsUJ4OBO8UDNDIDJ7CWASewFg83qWA4ntNmnWh1PbnhDtSt+uBST613dBxHwBYMZx9pDMBCbof6RPYIJujDY3ACLmozSTF4sgoj5KQQefwQZ+lqMDP+u3A68vl2/XQgRedCowgvpUMPrJKpjCI2LE5ObgLxFD0V+9SIyZ2vz0gQSoNR4LFEafIu/ZWZ4hL9pZnsNxsDs6E+FSLgvNGS1SYjrFR3dpqQpx59rUrcykOwq9fMjfZz1B2I8Z/FoihqeHh8UjJbD/2IGCRVJUw9/J5+dnHwv3cuv5oZlSxvOngRxunFoufaKA+6ZL3bEFU8J908BqU/pbpoIbp0F1QReP0eM61G1igeDwZj1ZGAcfgWp31f5JKl7Mu5hPESliMt+OzAwXLIOYzt/OnZkTWQYxn7ffMWYCMZ9341wLFfCuHQWtpc9ghjj22cwHGT27A7s/1Z2y/6SH6Qke1AwsV9IzPPiL2mqdGGFPq3WSbzbh87egchTs6eU3Zc0/2jAT9g==\"}"
  },
  {
    "path": "officialworlds/gadgets/a ditto.replay",
    "content": "4,6,drag:20@4@6,e3s0LCA2fSAtLVtbdGFibGU6IDB4MTllZjQwZDhdXX0gLS1bW3RhYmxlOiAweDE5ZWY0MGIwXV0=;-1,0,wasd,e3s1LCA3fSAtLVtbdGFibGU6IDB4MTlhMDY3MzBdXX0gLS1bW3RhYmxlOiAweDFhMjUyMWYwXV0=;0,1,wasd,e3s1LCA3fSAtLVtbdGFibGU6IDB4MWEzZmFhZTBdXX0gLS1bW3RhYmxlOiAweDFhM2ZhYWI4XV0=;0,1,wasd,e3s1LCA3fSAtLVtbdGFibGU6IDB4MWExMzYwMDBdXX0gLS1bW3RhYmxlOiAweDFhMTM1ZmQ4XV0=;-1,0,wasd,e3s1LCA3fSAtLVtbdGFibGU6IDB4MWEzYTgzZjBdXX0gLS1bW3RhYmxlOiAweDE5YWU2ZTQwXV0=;-1,0,wasd,e3s1LCA3fSAtLVtbdGFibGU6IDB4MTljZWEzOTBdXX0gLS1bW3RhYmxlOiAweDE5YzYwMWE4XV0=;"
  },
  {
    "path": "officialworlds/gadgets/annoying fly.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":false,\"palette\":\"autumn\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"wind be stil\",\"is_overworld\":false,\"author\":\"jill\",\"parent_level\":\"\",\"name\":\"annoying fly\",\"map\":\"eJyN2Mtuo0AQBdBfsbLIylJ4NrQif4uFYzKygiCDsezI8r8P9C1DMyLUXSTK4jQifav6wbHZVM1HUW32u/u9O1Xl7qW7dftDcXjZ3nbh9nTsf/30P+fv8uNUVLv7Y3s8tbvwsfV40bbN6KPex+v+UI467nWyrq9F9TX6pPfpun8dcdpjs46rUzk93PQ+W/f9XyPPep4rvLx1o8+HmQzoqbEDV2a+np7eP7n30br/0xTX4ue7Ok/DXL5UYJHzkV4PVdN8Fd00JGZLAjzRa+Iy6NjpVH8fKWd4o7/MubscDvU0JFsvutnjc6WGUD+Js3apgMxia6WutQK+FzFgCHetJPA2sJHSWr6Nl/7LdNkOcVrtpZv6OIwwbgQR6fXtsy3raYih/lHYTKkv3+bKEuLbxTiXbRwwawHqKnMDiGV45iNqQmC1/vSttgD7Vlt/fbu49pplqy28vs2V6vMts+JiocrdXkS0o8+5ZoSNqBqFjalIYBMqEtiUanJYQ0UCm1GRwKp7po8tsQP+dfuSdccDIr/a41x+sFx+sFx+sFx+sIv5/WK5/GC5/GDJ/IDV/vOwYY47OAoGzhML6HjSxAhuCRWsHWRnmFtEBXOrqGDlCDue1KEzqkIE51SJCLZUjQBn6mY40yER/HSCC3FUJ06trx6PueiBtfPqDKdc9MCGix6YDBOYDBOYDBOXHDZMaCZMuRO5y0FONiUw2ZTAZFMCk00JrN0rZ5g73AjmTjeCLZmM0zYgDkPYTEN387Hc9iiYu2wIjrnJBk64yQZOuckGNtxkA2f09uTugjbnZg/YcrOHW2YQcDMimvkeILmnGEG2pGjutPPUZJqiU+LdMekGA7hr41Mr3wH+09yXgKfmLo+i3bceohRFh2TjC4/4CsgwgtwuRZMLreiUfHnhhjtDPrnapnOe0wWWY4DlZgbafd8hZkZ0yC2LoiOuHEXHXDmK1j7xzLWa6FRfFiN+adPHe1t2l7be7N/L+vgP5yyDhg==\"}"
  },
  {
    "path": "officialworlds/gadgets/back test.bab",
    "content": "{\"width\":21,\"next_level_after_win\":\"\",\"extra\":false,\"compression\":\"zlib\",\"author\":\"Patashu\",\"height\":15,\"version\":5,\"map\":\"eJyV1sGOgkAMBuBXMR48cWAGGCAbnsWgEEMkYBCjxvjua1vAgQXavX+VsX87kNWbsj6m5WafvF5tUebJtn20+0Nelu3WeSSuU2SJcp6Jcp3rJT8WaZm83k5WNIn3dkYVA9fA1To/1QP3gGuGN+l1KPChwJsWqFHBPS0HH4D31/0hPYBX4A34Zd79NNKQ6czQR9QR05imPg42Zuz4lz9n4JtIEZFXgh6S1+j1ek+mHDL9c5oxr+pbldXfEkh1JaQuILKQaMgmRNYIhrdrPBWEgtZU9ck6eiQYsBtwD3m83st+1hFrV/RXyXJ7OsLclo4wt6MjPL+fC3h+Ocfx9IPiYwUEysTT5RmghzwDyega5NH/OIRpmOi742OBxwRKl2N6T5+XEscgxCrFn6p/jKLnaH4FdxaHhCM5h4xjOQ9mJ3PZm9nhXPbh7Hwu+0iw47aPBRt+zvMzlmBiPuQsemd2XvE37M7iev26nHKPnx+b+/xU25y5j6fciNMiL7mRbS+5j7veR1gQ81ntvjxwpatFXPEXls21tPfEPWnvifviTSQfiDeRvBH0/vMCoE2JsSSUdp94JF0U4rG0+8iNK10U4krafeJaem0S98TNJ899GfdXlMbvYhPMN/790+Ttrak2+5+8yn4BL4IBqg==\",\"music\":\"bab be go\",\"is_overworld\":false,\"level_number\":0,\"level_sprite\":\"\",\"name\":\"back test\",\"palette\":\"default\"}"
  },
  {
    "path": "officialworlds/gadgets/bertie.bab",
    "content": "{\"width\":11,\"version\":5,\"extra\":false,\"palette\":\"default\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"author\":\"Patashu\",\"parent_level\":\"\",\"name\":\"bertie\",\"map\":\"eJyN0d0KgyAUB/BXia6FrexrhM8Slm4ITocZNaJ3n8eN6GJoF56r3/9wPIfpROqByqQj62qF5CS1i+162qdoIRkSzJW3e+OLD4JKsm6ICUOyDR245Yvdfe48Dvueg85B43j3kapx90W4+29wT0tH63DrCTAGXMXnUHbXdfyPT62BF8CbMD/SW3zo+XI3XEGi9Pe5nlj4dy2V99nZA9Wen7in0eoBgcYH8P/A1hpuJ6OSruWKfQAN7NbO\"}"
  },
  {
    "path": "officialworlds/gadgets/button test.bab",
    "content": "{\"width\":21,\"next_level_after_win\":\"\",\"extra\":false,\"compression\":\"zlib\",\"author\":\"Patashu\",\"height\":15,\"version\":5,\"map\":\"eJyN1NtqhDAQBuBXkb0rCOspHrrkWcRDtsgGLVGpRXz3zcmsLm0mF3r1TXD+GdMOHh2ainolXtepowRfpmUq66q++AsO/a7lr1/+jN+k6SqK181vO4bDzT/wByEP4yPukd3f6fBlfMx9+r8/2YTbzH42GxrDEee5ndfDvBifcl8AnggdCZ3BwYxVPxqfw8GcfGEPRs9I0jCAg/m53hnpXyUhHM57SQTnMwsdSx3D+ehhKZ/A+ezTUgXIHtDp8BQOSAeqfOawOkefu65OInnh0OuLR4G903fuMNojdxjr/hciWRDDX79fCaogsX//GSOHUek9UAUp3K7eBeUz9375HoiKHF5lFSjfA+EL2H9+SF/IKzD42283RqaZ9V55I337BEib6eQ=\",\"music\":\"bab be go\",\"is_overworld\":false,\"level_number\":0,\"level_sprite\":\"\",\"name\":\"button test\",\"palette\":\"default\"}"
  },
  {
    "path": "officialworlds/gadgets/chessboard.bab",
    "content": "{\"width\":20,\"version\":5,\"extra\":false,\"author\":\"jill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"ocean\",\"parent_level\":\"\",\"name\":\"chessboard\",\"map\":\"eJyVmd1u2zgUhF8l6N0CubD+pS38LIFiq7FqVTIkpU02yLuvxEOKpO1wpjdFUHwj0uRoDnl0HB664VB3D0/7j4+57Zr9tz/1PH57fNvvHtvjPnp8X/6YLs2hrbv9x+fjsR330eejZi/LvxaOw3BX1783NlnY6Gt2Or92G5uGWW/C2cLG5BzyhU3I5xYLm5LPLRc2I59bLWz+NftcP9u92IVZbw7RunNFCB7Hd0vHYXp+m5+uFGoDA6u3Snx7RCkhOQ3jZBXrbkaBZV8VP9vOWiXKgcIsUqToIuxYMxmByzBstlXgivO3guNdGPbmHEdhh3vTiOOwxf0nJ2GP+09Owyb3n5xRLhc2D7P+LIqwb403BC7D8Gv7dOjas+XXPayCfNf8mBfNwYoStZcBm6yWfW4sHxEvhcvHwOBmfWJFJ2HPTv3wq+4tnnIJLnDGWVzgnMtwgQsuxAUuuRQXuOJiXMHpjstxgSPK4sLGXJALnIRd+980DM6j0zC9ZPhg4Yzw6jDOJ0eSE3Y99+3LaZ7m5mJ1BZnLiaJB1A6TRSsulRWcgaA1lhU44lJZ4JhLZYETLpUFTrlUFjjjUllgkLTassIWXCoLDIK2a7vawlUYNk9O1YltB/Ls0p7fLQ1Or2Y1BI45bwgMjq/+pFMuzgTOuDgTOOfiTOCCizOBS8obwoIzrDeLYhfe7ks91xYGh9g1bH6MTT9ZRUzk09y8zVaRkMmUKRpUSFtQBc+4dBIY1EjjQIELLp0ELrl0Erji0knB5Y5LJ4EjLp0EBkVSO1DYhEsngUGJ3Aqq0Bm24O/J4kx9lOOc8KgumqnnigZ10dxXBAaV0ay2giuyMgoMKqM35wpURn8aoDL6TwaV0X8yqIz+k7nKKCyojP4sQGU09xWBQWVcrfQyDsNlU0S7HWG/7USnNREZgIXgoMuz3fk1Dm4gZt01DVo9xoaaBjeQq4nnXAhquuBSUNMlF4OarrgcFBq1fbQZNQyuIf5EUNtna/loHFxFVnOZAUpRgHIpfSX5tVoB9tQr+VoCNtZ7T7QE3DDvjQK6evdGAfu8StaOw2wlMfMCm/OLlqD315acSgTgDb7hwWFXbWLbnB0FOPHejADCear7l66eHEF+z4mZN8DU9u4QBbGwyzjuICWzsF19OKjujG6kgqqr3pFTOzuSBNRe9yUxEtAEdN9EIwF1eJX0w/w69q4oIRw8NrX3c5g2r3rBIleFWr1mOyPpr6qGUkkPokWMCZ69YSgPiCIWRcUYbW66+eSoVK8JjdMP8mMSkTCdwy3EokxEMdHy2WLMiFQAAIduQWZEjA3MCxfJUYRqSF1rcmJy/ewqGBfYn6NFlBF0H1vKJWpNuR8vtCQD/Q3vO4zRgC7HqtnuNEZDlABzEzcScJCTKtB5EqL6W4Nqzd/Uf6MhDgDbpxwtAd/zvK9XRgMOecqc2/3fiEDHWYnMxyCR5OBOrc7w7o9RfS40humMGU2MNTYHtIaoBjeaNHwgVQs9NpP3e1YPBD683C5ATuTGlTlVOwzlhnPwMLKSi7VrWcXXETnWFUQU+AJwK78VECcCXwA+EN4KwEfCWwH4UKje/tgV5Ngq/ggFYRVfURJG8RXMEcBTlEz5t7En59OSCP7jWL88d64ItLlX0dg0R1eS/MX9ymhAb+b+3MA1QNXl96bue1cEejWr6N9/XEGBLeMLSsIyvqIiLLP8T3OY28H9MdX961+GhV9dAj+/j816qH94+t70x/8Bny3zJw==\"}"
  },
  {
    "path": "officialworlds/gadgets/chessboard.replay",
    "content": "0,0,f;"
  },
  {
    "path": "officialworlds/gadgets/colors.bab",
    "content": "{\"width\":21,\"next_level_after_win\":\"\",\"extra\":false,\"compression\":\"zlib\",\"author\":\"jill\",\"height\":15,\"version\":5,\"map\":\"eJyVmN1uozAQhV+l6sVeRRXmH1V5lsoBbxKtGyICSbNR3n3BYzBU1HP2Lhffwc4cjz0zVf2i61Lql4/t49Eetdq+tl/tx07uXjdf22BzrLZic+9/XM6qPEq9fTw31bHZiudmhuu3t+46CcJeIPyCVn21Ex/1fObnP+vuMvFxz+fMhq56wpMeL/z4Tmnt9pMO+2f+wKF2C2QDH3IrDLgY8JyP54wu+GDOaBHwsZzjgg/lHA+RUDo8AgI552MgkN2AhwZP+EDua3mT97O+OFXKB3Tf1PXZKQZ/o58V9igQO5gbc3tyeAFE6FzXTVtrt0gYAHH6NeCRwYEEntFA9pJnhEf+4Ax4o1TlBLE/QlMqEp2s0cm6W6RI+Qz4psj4JPimyPk8mEUUMXlaIDY3YgAc7aVC8LbVjTztnSIEjSA68hthHwxiB4sT/14urdLtwUkSIEYmpInBU/7U3fv9106Rgf+W6NU0/n7sutMgSI2gAD9v6Djwf356TokerE2B0GSGDvnQlHclTycnWfV2ZfNErybwMjY7rcw9nRvBag6vfJ7o1P/5m9SOzfyRucm2cXDuvxi0lFcHF/47oTyoP+7TSeC/Dw6q2jvYZKonuT9V6/5iEjKJUfYvQ+XwCH0aCoPH/GE5d83ZCVAvica8JBb0kmDQS4JRLw2dgl4SjHpJNOwl4YiXt8PRxFtQ5Yo+rhZnXlfrj4VTzCBLZ5hDls5BiyxeYB4RnQWgSRYXqEuWD9GUE6bKzYCKaadlWc4ksK2Eg7YSjNpKNGor0bCthKO2UhsF20o4bivxiK29pvnd0SqmNM/Rp9TiwFtKR8dUknkCFNvyqmaK1Rt4bT+Er1ZJy/24yk2Y0i1nWh63BOGrldJyibYvVP8aianGCqZcMtWYvBuBqZgKwXdhYxKQIORLrCkRSAEMLaZkIAUwtnAJQRJgdDElBSlSJinMMGVMDJJkQOntkoM0OZAc44zHSkwXxLfRIqM5BuC5HR1YAVAlLwUhPCqxgggellhBDI9LrCAB3FsqkFnVUvEf0yqryBnn5j2+yElT8G5M7ajVILOrqakbNcAAa2zURgkwxHIN0iiKEGds1zNqYmS4Y6vrUZMA7tRNe1gEIf3BoOd7o9quOb18vKtT9Q/CUU9Y\",\"music\":\"bab be go\",\"is_overworld\":false,\"level_number\":0,\"level_sprite\":\"\",\"name\":\"colors\",\"palette\":\"default\"}"
  },
  {
    "path": "officialworlds/gadgets/counter.bab",
    "content": "{\"width\":30,\"version\":5,\"extra\":false,\"palette\":\"default\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":30,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"author\":\"danielisgamer\",\"parent_level\":\"\",\"name\":\"counter\",\"map\":\"eJyd291u2zgQBeBXCXqzKGBgxR/xZws/S5DEytZYwy5sFZsiyLtvxBmbtGtb5+xdL/hBschDSTPsavew2b08bR4el+/v43ozLL+Mb+PjZhjHYf+4+7J4W3aL9WppFr+WcXH4MbysnzbL94/Far1fmo9FY/7983U/bE/Cfop0X3z+6zTcfQ7P94cfnraH7R/jifhPYrr75mWz/qeKfhLmvnjebepfFSZgZ8BwGh6n4e7+cL215oTShDyE6nzkT2RnfvvTfrdd1RnsJjLz4/U6uapp4u3MHbiYeTNNvZ25De3cm2ny7cwtuJx9M02/7ZnpN9P820DMv5kWgJ1Z+M0CMNMKsL8t+3h/BZhpCdjfVv9tZYrKTCYLsR0cShlvqFSKsUwshTgilyI8HEwZ3+PJtFUFPJp1XmxksikkkdkUlalsFuM6PJsCDJdNQZbJphBHZFOEh7Mp4/ur2ZxZAy5czeZtZYuKTDaFJDibMj5T2SzGd0w2hRgimyIsnE0Z7/Bsuqo8ns06L75nsikkkNkUFalsikl4NgVkLpsF9R2TTSGGyKYIC2dTxjs8m3UN9B7PZlGuqJ7JppAAZ1PGRyqbYhKTTSGZyGYRoYOzKeMNnk1flcWzWeclOCabQjyZTVE9lU0xAc+mgMhlU1BisikkE9ksInZwNmW8wbNZ10C0eDaL8kU5JptCPJxNGd9T2RQTmGwKiUQ2RSQ4mzI+49nsTyp1eDbrvCTDZFOIJbMpylHZFOPxbArouWwKCkw2hUQimyISnE0Zn/Fs1jWQOzybaVJ9UdMamFkCimJFFkahIgejviIPI19RDyNXUYCRrSjCyFSUYJQryv/j7pmuY3ZeNQbeehVYau9V5JjNV40ndl8lPbz9Kgj4/hsaFq9uwFeLPe38JGYHVpPJLViYVArhPViRwTdhFZbbhVU5ZhtW44l9WEkPb8QKAr4TN6tBCoYzkZDrBAH4lhAaRdUKxRDFQgVctVARVS5Uw9QLleAFQwVExTA2jCgZNvPD1QzVsEVDZVzVUBBTNlRB1g1VUYVDNUzlUAleOlRA1A6b1QAVD7flt0QB+FtCbFRi0q0mw+kWUGqHeLoVGSbdaiyRbiUOTrcCj6c7NazH093Mj5QQ0XSriWS6lSUq3Yoynm4RUkTE063KMOlWY4l0K3FwuhV4PN3NaiiFxLl0H8ZhM36fUBKEfzykRlH9BDV4Q0EB11EQFKiWghqmp6AEbyooILoKuWFEW6GZn0D1FdSwjQVlXGdBEdFaUEH2FkRFqrmghukuKMHbCwqI/kJzryPRYCgsC6M6DGrwFoMCrsegiGoyqGG6DEIS3mZQQPQZdg0jGg3N/CSq06CGbTUo43oNiohmgwqy26CKajeoYfoNQjLecFBAdBya1ZCRlsPrZvf3RIwVM3f06DTeyXgPLJ16skERsgguL4SsAT3doAJZAz9bgEz/X1+L8CLmHgrtpJjyDWRLYdHcWTCnQx06vmwFdyb/7BpRjJ25hoblONzNDa/5MkkIUF0eh7exJcjHgs5gFgG8G56D67XEW2+gVg5mdkAJabcfv+9ak69eqb9/JYM0m463zeqRM+CoaXumQRVw3PR12B4OrQHOnD4PF9dBDp0290HV3MHTw3orhyGsjA8zGbjcAK1kxyDvhvV4iyLk3bAtWR0d8obYFrLVWeTbse3UHB1SUTo7I6IOqTOfnRRSh5xKbVs2R+dxl1uHdCXbT4+jC7iLrUOeF80RJVXIQ0NKWkeBvDHobqvEXX9jiDeiqej6W0O8FU1V118azlU9DiUPkFJynLkHdbdRMy2LmbvQ3G1FwJfEae9QAnxIPJ8B4ENiuzOtoL4irDwOS8Fx5p6dfoqQUnKcuWUv++GpvYwHHh91atQAD4/nsz8M+d8KdaUpuvXo+Pi2H8af++3D47dhu/oPL9qj8A==\"}"
  },
  {
    "path": "officialworlds/gadgets/counter.replay",
    "content": "16,18,clikt;16,18,clikt;16,18,clikt;16,18,clikt;16,18,clikt;16,18,clikt;16,18,clikt;16,18,clikt;16,18,clikt;16,18,clikt;16,18,clikt;16,18,clikt;16,18,clikt;16,18,clikt;16,18,clikt;16,18,clikt;16,18,clikt;16,18,clikt;16,18,clikt;16,18,clikt;16,18,clikt;16,18,clikt;16,18,clikt;16,18,clikt;16,18,clikt;16,18,clikt;16,18,clikt;16,18,clikt;16,18,clikt;16,18,clikt;16,18,clikt;16,18,clikt;16,18,clikt;16,18,clikt;16,18,clikt;16,18,clikt;16,18,clikt;16,18,clikt;16,18,clikt;16,18,clikt;16,18,clikt;16,18,clikt;16,18,clikt;16,18,clikt;16,18,clikt;16,18,clikt;16,18,clikt;16,18,clikt;16,18,clikt;16,18,clikt;16,18,clikt;16,18,clikt;16,18,clikt;16,18,clikt;16,18,clikt;16,18,clikt;16,18,clikt;16,18,clikt;16,18,clikt;16,18,clikt;16,18,clikt;16,18,clikt;16,18,clikt;16,18,clikt;16,18,clikt;16,18,clikt;16,18,clikt;16,18,clikt;16,18,clikt;22,18,clikt;17,20,clikt;17,20,clikt;17,20,clikt;17,20,clikt;17,20,clikt;17,20,clikt;17,20,clikt;18,20,clikt;18,20,clikt;17,20,clikt;17,20,clikt;17,20,clikt;17,20,clikt;17,20,clikt;17,20,clikt;17,20,clikt;17,20,clikt;17,20,clikt;17,20,clikt;17,20,clikt;17,20,clikt;17,20,clikt;17,20,clikt;17,20,clikt;17,20,clikt;17,20,clikt;17,20,clikt;17,20,clikt;13,20,clikt;"
  },
  {
    "path": "officialworlds/gadgets/duane _the roc_ johnson.bab",
    "content": "{\"width\":90,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":90,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"the rock\",\"parent_level\":\"\",\"name\":\"duane \\\"the roc\\\" johnson\",\"map\":\"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\"}"
  },
  {
    "path": "officialworlds/gadgets/every1 be sans.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":false,\"author\":\"vitellary\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"every1 be sans\",\"map\":\"eJyNl9uO2jAQQH8F7VMroYrcSRFfsqqQnQzBjWOnjr27AfHvzW1jr7R4AIF4OJPg45nxpJQbLgvCN6fj7aYZh+OL/tAneAPVBy/bj2OwZeXw1Q+froWCEX683bclU8fgvnUiNHzolQ/9PCV0RaMBjR6jnQZ4W+F4gJPHsGKtPK9wMsDZY/jMSVPJlU4HOn9MN6xSbIWzcX2eBXYtZ1qrld+PvGeVo0AKIx6OeI7r7ojoRj6atmfnD6gBagsHiHEhGyIsHvqdU6PPvIeVT/NvtW8LyaU63nbb4L7GVobb+0T+DeCMEwvHyAaUpL/2Fk+e8P/758gnE5/6fTYAjYUzv8+atMTCe7/Nd6OcK3+v0qkNotSZdRdYQ8Kd36KW2rIBIlFJc7V0+IzDHyOfTXzkd9jV8+bPcOx3SI1oeksnSBsgWls4RSQKAOePZH5/LdHEwntEYE2UhfNn/E39KJ/6IlLT1UV2+qxA2AiksAsF1MJIWbPeopHfIAjaU1lZPvY7/Ms4t3CCJmFRM2359AmNJXCYD6P5iMn8KpWkw9sN2GOHEtFSOnzul9kyURmLxzu/0IK8wecROQcESG8c+kDv4CHilA4F8iUgekKqEXOHDKaWGsd+p+9zQixwgpQ3DC8HT/06jQLm0JnfJpVy2asZ3/tdXjspqYPniMtCFs7Vkx1iUkgtyJxqU1tNkNGqZoo6dOgXuR4GCx75RV6k6hw69otsSMkcOvF7lF9WmSIWzdk4dIZIpKad6KmxJlixinn4WWikVJslVyY4RQqVfhqZaaRKu3+GKHB4rEw7vjSBCc8epNYyWQnGnZSfi3vqmCkyYS+te4GRCbu7KNY4ODJjq95UUjg8MmVrxYioODgR2Kg9zJ/FBZQT8WjYvh+WJ53hUed+OL2m8Z9fs7vTaxAtvw8KtFFiczqAKP8DvbpaOA==\"}"
  },
  {
    "path": "officialworlds/gadgets/every1 be slep.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":false,\"author\":\"jill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"every1 be slep\",\"map\":\"eJyNmOtu4yoUhV+lmj9zRoo0sR3fzijPUuGYOEww+ABO4qny7scGX3Y0LZtW6q9vFdhrs8DU8o3LE+Fv78ePD8M4PX4zD/Pe9ar7tnscox2rxz/DMd7pjp4Y4ceP565m6hg9dy98e2ViVcSjIkIlboh4EiSTwM//Zpyv/OHTKe1Okkt1/Eh20fNFW1Hx3azidBQn/sE0p9vkspE/+Hl6o2qIV0U+KgpkhE7KbYgioGAVnfBkwkvcEUBHe3w6S3WdIPp8Ol/Wt5+kByuN8aktxXWCJKBWROhNMHlffi1YVuLgyetx/cErMfRhGyWz6gxvy39/bHjub5RKqlptdIG3lVEDaYjbWE40OZ+GDhHv/fQ0xP3nWVE7QG4lUcCS/9nwOHDJjk7wJdeUU7MpDoHrdXSKr3dVFFYR4rDc8FCHHR3gcC9cAzlBqLuWTgLcXYOvtIoAc8UD8KHuOjrA3erHhoda6+gAa++9qu0RtLcKxNqKVBZ2589k7N8xscJXSq+ALvz/uqW0BTSS1vra840+7P2nU3OR2ixbdpZE/sIrWY2/BghifzHvsgHwZGvmKQ1ToJCHydXcU/W+A3Dqz/5KDgDO/LmvDaU3gOefJ//KXwgsoXXUY6kWsn0RlMiJfSUd2fB0cjXy2Co1gO029Rh6Jc5Me1insb91T4pWgEZuWtoQIyXgP79pbRbR8QfgyN3qzPQF4sjVSot52zk6xxKjAXDhb1vFOnkGeIn1rTnzAUw9Qy5VYxi1gI78zauIAZZmMdK7bABwgrRux0TTA/6AdG6vKAN4inTuRSoN8Azp3TOfy27vZxmSu/qiWAtwJHjPnLSNBDwSvc2cvBbOkeQdt4ZSWwM7DRK9YwNTOAQSvFRUw9LFToCE74nc6HKQOQGWv1JKUKAcSeCW1AzQSARXrzSWwJzpDuBYBNdUARrLXzX0jRSboMASuGUtmHyBZXDVi9btwtTySAq3c9UdjIRwyxrFAI5k8PVGAIwkcMfqZv5SdzwWwXcCaSSCx6/axSbHIylcUyMfAEdSuBvTgG54iWQwEQ2HOBLC9Y0DGMvgjtwBjYXwWHNQxhLL4BtTvYZTx1KYKlD1EgthIyvXu/YzsURCWAzyLgFe+E0ae7e9shoISuyaJxtGNz7a7/1GEa0vEI8Qq6bLG+TR5ynazlmQO0GCnFJz0BSORj5sTrJbLnClE6T+f18zYyTkkS+bP+ROVF+/SHJ/hID3u1lQ+BfBGScQxzYuMRDHXqT4eNIOkEd2rubzGTjj2N4db3Ony5xTswTbwEIa8eJahO3h5dUq3js+RT6+3RfaQmf+gq6voTOOvDj+0VJWkC/8BZXkZTIltsH+64miQGFfnnzlNIqt6bxovnh1fD5/KWp6Jd7ef1FR/w+ga4J2\"}"
  },
  {
    "path": "officialworlds/gadgets/every1 sing c.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":false,\"map\":\"eJyVmdtyozgQhl9lai52blJT5gw15WdJCZCxgkCsBHbYVN59hSSb9my225NUqnLx/XbTJ7WaVn2TqmHy2+vx42MWkh+/z+/z66j4/P3l/Xh4Ee0xelntP2bijWDy+PH50gp9jD5fAF/zOx1bOsLpUXXqzieWj3Fe8vnMtblLUitJcEkjRb8/QWYF+Z8IcisocAG/cL1Gd0WxPTZiVK10q+90udHpMz6NNrx6NgKOjg50CCAe0e6cFj3tgph2p9Js7HZFQvuzY7PaBVuIIyIt4DNkhPvdN4DPz58IwLLhscMLOgCdYnpsd0lJ5/XvkooOxJ51ThIf6FD8LonwWNzi4OH4S78mXyaHVyRPROKvDU8c/kQt+zh7/IlKhvgTdVzz8Ycr/NQpCtqee257RUmbdPOQF1S0UTdB5jrk4Q9syp2CiPFjWhROEj9hlebGdeHSKRK8zSzi1Uys4bsgpUsiniRfd0VGP7kR/sG9gAj47VyrHFzgkbPHzsz1a7MLSvzTg6DdBVuoS1LA74J0C3VFCk67YIt0hLSmoOh2hStpJG5BwXZFQjTjoKh3RUo0gYc4pNkTzdicWTiC/AiQ01V3kmwGigKPRc2c/ZHrYmmJN/ye8x7QFV4JA+fDTmcHvAxMv0hAE6dzd1ZmPmk+AskWYcSdWtX2dwaCLcDZ/wuuqgNwinu+Fxo4MsvwkqmXCcA5ESK1ArjAS8XMnF8AXhKFcmbQhRVRJGZUAxTkB6JGejYxgEdEgSgD4Jiojz7kuTvz8gRP3UbzGtApnrpmtuOAAnyGJ2/N7Q/Aczx7T8KcIV7gmWvGUHaeLvG0rUPaerjC01aLSZ12vDhQeTuf5ApMLyI8d6+LHgAd48mr2QxCWiRE7ooVwCmRupM9MBfAZ0TmLpoLgOdE5p6Vv6kFvCBy9ySD291sVBB915y1GABONF57Agxh6nd8SbTeLnReDxOd15aG1nsCew3Rem0Cc/gVROPlY73estgLiObbsAu/HWReQPVfpRR0ENGBB9YKQBMtuH6kqQ4shZkATrXgluudrqj+q9elUyMQUB14EAMwvqJ68BDc6Cb2ihiNB9FpAXBiMO4vDMDETDyJthMj4HMiJa8M0gWekWZSN797nrj9tHxW7wAn7j6TLW++49HhgOejvfTIBz7CM7K9SEjHREZO7ArxhMhI6/cR8tQS4yL0Yh7Mp9YYXGuIU1uMcVVXn5a5FxTE3d+6vxctVJTUSKY6waGgwiPAjDkD3O+q0KYgffIXno+o24ttyisUxEQQVBieAk6tL4wM7TXwKRGCf4xSXlB6AXXcmr8XpjlUUCfuqOYxPERQUIduo6bbzFh5BXHutmIO27nAEwfvm5AS4G5N9Ri1Rkmljx/JS/TfopsZ1EbUKlCLvQ0Ezddrq4fxrTmHPhYkCRVIdmV6af1uzO/F3fIKm1bYaCCe4U5jUq4gim55hd5B/ORx+/SCwM/LsGx/49K7PzYt7AcDteg2WdSlB/IVlcoyzC6ed3sstLYape10CjuW22RhYbEzBsRjPCKnMGz64k2Iq9KbeIM0cVWqbfxgK0mIq9Ks6hWanhNbez6EgSTwBbFGsM6/FXlQlPjkMIr+wfXEjan++TNUkOfd7gq7jrE6PLA/vVLivVK9jAN0UErM1tdlaUH5uK0VtjiRDBanW1lhY1KYkny3cCsrtMHWoQEGY4gh7BQq5WYMMYXVanmH1hAXYa0aaEtFffgITMmINwyTzfoB2OL2VdgNRTUKGJMR75LqpZawy2XEm6RGqh5ak36Nf/7SfF70+O31Fx/bfwG+Lpdy\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"every1 sing c\",\"height\":15,\"author\":\"jill\"}"
  },
  {
    "path": "officialworlds/gadgets/feature testing.bab",
    "content": "{\"width\":18,\"version\":5,\"extra\":false,\"author\":\"lilybeevee\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":14,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"feature testing\",\"map\":\"eJyVl9GOoyAUhl9lMtdNVhBQM/FZGtsy1YyrjaXTNk3ffRGwiDvjOdw0vfg/ApyPAx76t7bfV+3btnw8VNPK8l3d1FbJm3rf3Mpk0xxKsrnrP+eT3DdVWz6em0MzlOS5meXltxzu5EVQTdAoItVEGkUwTbAogmuCRxFCEyKKyDSRRRG5JvIootBEEUWQRCMkroZkLLv+iWLGwpO4ypOx9OS/2ouA2ckxT0yewTpe/3wOsvMIh31cIgIWcolksJFLJIeVXCIF7OQCoQks5RIhsJVLhMJaLpEUoeWSYQgtlwxHaLlkBELLflB1PyLUIBnCzLrZ157IYTHPVac8UMBa1pXyQJrAUu76ayM9QWAnvypVdXePUNjJr6759EAKG3lum9NJDmcPMdjJ46XrZkvhsJJ/L5fOAwIh5K6fARnCxn01A3KEivu6amZIgTDx2Juap+ZmTGCrgjyBpQryFHYqyKewUUGewToFeQ7bFOQFQqR5PoM1sheUjecYiWb5AuHQLM8ThELzPEH4c72Y9TID0Ig+ZokU38cswPB9zAI8oo9ZQsT0MYtk+D5mgTyuj1moiOhjhhAJLOC5lScPEISCuiB+UoJiGlnft55IERoeq+7oCYZ+6XGT57CHuoJjXpi8gPPdLG56N+YY2TjmrlayVbVHgNu6GgbzesjMl0Py0+z5L2Hy09z9TrrjXJgsXZ9FkAVatT8wNs7W48HQQJd+KW/TYj0djAz059d1atP5etqNTMwrMAMqOL0ebDpPUDvtwsA7a2o0Lk1RO+3CwPNq3pIcwVDbTcyFknNgmdPd4OLAp1Q4dra+zlePd3HgAyocu1hfpHvY2XABfDRNI5tOVQAvqOnuc2ncgXRh4EROt6RLAwfSPUVdGDiR4Tx+OZDPj0Gqy9C9bT9kd/gHRrIqtg==\"}"
  },
  {
    "path": "officialworlds/gadgets/glitch.bab",
    "content": "{\"width\":21,\"next_level_after_win\":\"\",\"extra\":false,\"compression\":\"zlib\",\"author\":\"Patashu\",\"height\":15,\"version\":5,\"map\":\"eJyVmd1uozAQhV+l6nUuYv5sVOVZKpqwVdQUVoRuW1V99wXPmGBiPIe7XHzHnszYx2Nzah8u7bG6PDwffn7686U+PPZf/fNL9fK4+zrsd+fTQe2+hx/Xv/XxXF0OP7+707k7qN/dDP+sLhOeDLiK4y/1RKcDncTppn1tJz4b+DTOd+1xwvMBz+BgioHO4/RrW31W338v10mkB1GxLpqnxoypEaJ/r75vqS9HwV38aSB+ZSu1j5eKq0qsimees0jsWNNyyWYT+9pV1xuchuCVgcdyqkjEHjwWU0WWFqea4ALIddOqm0AHc+0LPkY8sbiJp9qlhOCxjlr8l5ZNxhqa9ZJ7AycqBK9EkQSreJc+YlMgfdeqmY2eCflzsaSWzuP7mGMhFinle12/3xRSLV0smaVN3LG4OsSW8V3jDZzuoS1GrIonxB84gbJHbAr5E7FZfIX4QUjb0ft7toaRXHhhaKDgZHvEG7DcuaVLqNyWzYQKctTEqvjp4bEJVBRiBT/1/lyWYUUhOMeKQvCWXUgKaRfy8IWFTfyk9tgynmmXEQvne+zUIFgJf9KDE3DZaUsLnQ6PTKzQ5Xis0OL4QRTxg8iHdfxw4aVErMEOcoJLoSReGIVUQEcbSwttjQ8L29CH03ju3NonOMMOZoLzLXABtVfEaqEqvJAINoIb8MilhQUTdSFbWO+3wEIBOWRiE2ztEywchD4snITzXOg8mGUdDlk6CF3HS3cLjWWOaaGRcf0xwSVkuASbfXzt+7DQlPpwgp1ByjbpJsWCJhjcg0yjtwvb7RrhqjiNTbRwR1zQBjNpplEzJbzcg+uPaOk8nAa3fXcp3P1dCglOoX6J4QzMINE5mEGiC2y9EgxaKtPSjd+nw9f9QNwZ3fYFX3WlZBo8GR2eYO8DTKdQx+Jo6dq/wNGtyTjUqfIzi9OEe9U7D1c54dJZucBLIKK+/upnGvuWA3TPqiBceKVb0OBGZRprXR2NNa+OFtrXBS3Y7oLGnuYcLdjugi4x0yDaPurITy+OVuD2YDwBtwfjqbB2ve3Bmiy4gLWnafq5Igee06ZZNGkK+aV5KREaJPfXmTbya/NygjK0ms3KBPbFZ9ufToPPBiYqCV5bVmMS7i2hCYTOKSTJsRXOdCGs8NAMGlzmjEsWPX+vcBrEp6uubU4zUSYZtTeRIQ3wTWUpAS2baeC7ynIC0LeZBr6sLCcAPq8sJaCDMy04eGgCwcYDkhz0cqYlLw/NgBo644ih81ciVoTtPB4UYug8S0kKwM59AWjmTANm7g8ftPK14QvAyr3hC+H9916APQI7GrBxf3jAxC9t+1b1cxFo40wjNn5tquNxLkJ9nPFNPs4axMe9ZGnExIfA3kZNQp/FNWLibdXNJZiJOxow8X/n67n/09XNXIc5uaMBJ6cP8E6w9TO502Fm7mjAzI/te72YA/Bz97WVFCZo5+lKVGaLnTsNaOcOR+ycem2n2GLnTrNm579PXd1/dM3D81PdnP4D/oA40w==\",\"music\":\"bab be go\",\"is_overworld\":false,\"level_number\":0,\"level_sprite\":\"\",\"name\":\"glitch\",\"palette\":\"default\"}"
  },
  {
    "path": "officialworlds/gadgets/kaleidoscope.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":false,\"palette\":\"marshmallow\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":21,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"laav be floe\",\"is_overworld\":false,\"author\":\"jill\",\"parent_level\":\"\",\"name\":\"kaleidoscope\",\"map\":\"eJyNlt2OgjAQRl/FeOEVF7b8Z8OzmCqNSyxgSll1je++BWqZXTbM3HlxDsTv63Qo241qT0JtDsXzaSoli625m4ORd7MN7sU+qMqCBQ/7o7vKUyVU8XwFZaUL9goA3xkpv7zArcDWBSW0fnghtEK4LhgtPR5ZPFrHb+3Z47HFk3X8KozwfGL5dJ2vpaw9n1o+X+e/u7Y9eiEb8kESbcb82YDneP5H6Wn7YDR9iDM8e4hzPHuIh3j2EI/w6CEe48lDPCHkPvF85FM8+LISZ3v4r7OU4fF3VSl/SzlewkLie7yKum9uQl1mh+F9LBxOmIe/Tog3s3AiQj39gIcjHuPt7GY6wcMCdIrHBOgMDwjQOR7NTId7QigjHo044a6GR3aSKDOtZD8LhKlevoUw2/CMTxJhwpcSZc7rSmuhm3Kw4tEiTPtupil3OMwgGa0csS5SjgPBpj2Hle/XruMZwvut63iO/Ylp6To6RGi3cx2NTfN75To8RvD3xnU4VrFfuI5PCXW9P3r4pGTUtev4HL/4G/D8eCiXr/PnVtzE46o6oBH29Q7g5H3t+KHkGP3YU+YTONH/18HrQ0vT62Zz+JBN+QN7Q4HN\"}"
  },
  {
    "path": "officialworlds/gadgets/langton's bog.bab",
    "content": "{\"width\":127,\"version\":5,\"extra\":false,\"map\":\"eJyVlduOgjAQhl/FeLGbTUiWnjis4VkMK1XJNkAKGzXGd9/SrhQ8MOOFiRffB51/OkNRL1S9ydVinZ3PXalktuyO3dr8lsExo0FZZCQ4mT9tIzdlrrLzJShKnZFLMMK/692AU4NzPM4MLvA4N3iEx4XB43lcSbkd+MjwyTzfaNm2gxAbgUHpyOrdxsl6I0HEKQc6hdM8fG61rAaDhHBEThmfihA4qdsXUTisLfU4Q0S1q/NDfmqUDZhbjcN5HXL14wUBR3btuRMiOLCpEMNZ/V9CxydwUF8fHk8RQb31uLDzFiIGTnqcICZohFNErdf77QwGV2varKuiVyKrcLiEtikrL4hHRUQzQvSoDPqwx06I56u4LhlXsp3pO1o83zO077GZ1NmSN1rmfkJZiFDaJtc/arhKjCCcSd2Mwvv4fnswxBa/PRqHlSEAmzITr7zEfVz6thNoe9yXEyO0yUpgCcKYzglLEYqvx3aHhwjHrwaO+XRL/3QK47Xu9nVvxNZgsGGPk1gascrbTqpu3yupVcQriqsiQtz50Ybj8RP+stKy+9XVYr2SVfEHGPMYmA==\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"gras be mov\",\"is_overworld\":false,\"palette\":\"autumn\",\"name\":\"langton's bog\",\"height\":127,\"author\":\"jill\"}"
  },
  {
    "path": "officialworlds/gadgets/langton's bog.replay",
    "content": "1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;0,1,wasd;-1,1,wasd;1,1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;0,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,1,numpad;1,0,wasd;1,0,wasd;1,0,wasd;1,1,numpad;1,0,wasd;1,0,wasd;1,0,wasd;1,1,numpad;1,0,wasd;1,0,wasd;1,0,wasd;1,1,numpad;1,0,wasd;1,0,wasd;0,0,space;1,1,numpad;1,0,wasd;1,0,wasd;1,0,wasd;1,1,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,wasd;1,1,numpad;0,0,space;1,0,wasd;1,0,wasd;0,0,space;1,1,numpad;1,0,wasd;1,0,wasd;1,0,wasd;1,1,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,wasd;1,1,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,1,numpad;1,0,wasd;1,0,wasd;0,0,space;1,1,numpad;1,0,wasd;1,0,wasd;0,0,space;1,1,numpad;1,0,wasd;1,0,wasd;1,0,wasd;1,1,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,wasd;1,1,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,wasd;1,1,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,wasd;1,1,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,wasd;0,0,space;1,1,numpad;1,0,wasd;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,1,numpad;1,0,wasd;1,0,wasd;0,0,space;1,1,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;0,0,space;1,-1,wasd;0,0,space;1,-1,wasd;0,0,space;1,-1,wasd;0,0,space;1,-1,wasd;0,0,space;1,-1,wasd;0,0,space;1,-1,wasd;0,0,space;1,-1,wasd;0,0,space;1,-1,wasd;0,0,space;1,-1,wasd;0,0,space;1,-1,wasd;0,0,space;1,-1,wasd;0,0,space;1,-1,wasd;0,0,space;1,-1,wasd;0,0,space;1,-1,wasd;0,0,space;1,-1,wasd;0,0,space;1,-1,wasd;0,0,space;1,-1,wasd;0,0,space;1,-1,wasd;0,0,space;1,-1,wasd;0,0,space;1,-1,wasd;0,0,space;1,-1,wasd;0,0,space;1,-1,wasd;0,0,space;1,-1,wasd;0,0,space;1,-1,wasd;0,0,space;1,-1,wasd;0,0,space;1,-1,wasd;0,0,space;1,-1,wasd;0,0,space;1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;1,0,numpad;0,0,space;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,wasd;1,0,numpad;1,0,wasd;0,0,space;1,0,wasd;1,0,numpad;0,0,space;1,0,numpad;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,0,f;"
  },
  {
    "path": "officialworlds/gadgets/lvl be.bab",
    "content": "{\"width\":21,\"next_level_after_win\":\"\",\"extra\":false,\"compression\":\"zlib\",\"author\":\"jill\",\"height\":15,\"version\":5,\"map\":\"eJyNmN1u4jAQhV8F9aLalbggP84PVZ4FhdiFaN0YpaFbhHj3tT3GNlmaGaTefSfxzMmcscrVSqqulatdc71OvRTNy/Q97fbt/mX93aTrnjfJ+qL/Pk+i61vZXG9r3o9NcltHuPySHk81nv2MH1VAM43my0/+I4THc42XyzhXo8eZxqtlfC+knLygMIUilcbHLw2fznk2e4PBM4NXeB8jul5uoz+5hZMN3snTqCbRdUGT4JroPEmKdz/GM0r3A54Teh/z7GnvH/mzwXOLF3jvB3UeuAqSkmgA0BXeTHXujkFQLwvcAFo2Ne4Wyw9/V6P79kGS4G4NgrvpAkmKO3YI/UkzgmMnpcZJSRlUOcG3V4MzizPct4guiJYBXeKWDerzb/8RJASXo+PUuAeBzjZ4+8MnWliJMXmhl75eoFP88Ec1TSIoCPn8Li9WUFpB/swu9n/FQDOiXUAXhMOMPT/wICE4/Hj+CnfsUVAvm+ZLqOz+IqR0mGOQEELadrS2NLJ7/XGAJtgbMgIkOZJa9xfohWRwhr9h+zviCR7banXuGJwa0Q4nTO/2V8QjEW34TocbDxK2wT8g2bZfkSIhfkEJ3GkIQ7xVEU/wGNaq4wl3rAeecMkCx+zaZtSEdjhhgLmQIpYQTA4x4TSEoPbJCJICSetQiF17BWGMp/HSHtp+iFQEs18jPCPuG4fnyyW4uXewXcQbKo3dpF3EOfr5Pfon2l6jSd+Q3asFYYqlUqegKJGYvpcKcEJsDNApsTFAZ8TGAJ2TG2O3e0kIZ7jvOZ6ygN1ydIqSvk6dolr+JkPcAl4jzZ/x1QZpv89mwBOk/zM8JRtgLw8VIZsPSv8iCbJ/Q72AY1M757G59QUDjg3uDKdPrr37VITJ7btLENTI4Ibn28tMTQhl/Xz9izRIJN//PWCvM/VTg9nt9jaK6TwOq92bGPg/M/jV9g==\",\"music\":\"bab be go\",\"is_overworld\":false,\"level_number\":0,\"level_sprite\":\"\",\"name\":\"lvl be\",\"palette\":\"default\"}"
  },
  {
    "path": "officialworlds/gadgets/main menu.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":false,\"palette\":\"default\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"author\":\"jill\",\"parent_level\":\"\",\"name\":\"main menu\",\"map\":\"eJylmW1v2jAQx78K6ovtDdLiPDlRxWdBAbw2wyRVSFtQ1e8+7LvEBoLvslWaVFX/n+179DnbtQvdbiu9WK++vvpaq9VTf+rX+kM/LU+raFnvVmJ5vvxyfFPbutKrr+/lru5W4nvpyXt16kd9fNGnYf3nr9+dagwhDJHQO+CBrDy9yEVYflSq2ZxHIqOPZA50HIHcbBHPIaQhkjlEYQjiVI11a2zkJe2kjWp+OkBEtJ/GEwEhaD9t1LHeKYfEk56SQSaZ9FWYSSe9JSfTMLFERjusaV9aB+S0vzbKySXtrH3VV83ZIQUjraqu885UctKq7jatdpbHESOzwJLU6jkVfvn3p9baQUSZO9NBbmKePw7fYDWITbCLx2LPYNCbUIs7C24Tyuk55e3rOcXt6zmlfeyV7l8Nk1mGUd9jtVoimVPfQJhAs8wGORHiTbVx2sn4Oq2uG6dNCS30etBm11qtPpRePX2+Vtv9olrYIzTVQV3/Kbi7Cb58vPu21Xrn1DKsvlq5mErbB3aV19r/tys16VBy7UpFWH21cjxZXtOGpcmN+N8ss6no5VeaMkp2r9TeERmjaA9KHRyRs/tmbvWSe2GAvKCrT6u+V9365KCSvmWGvmyBLCKK63aHTBBZewdQ6WDO9G7k0soT2kuXv6htX7eNo1JuqwJ5Frb6Vp6Hbb6VS6oAwEc2XQtLFKwo7B1QsqJwGIE8YkRhbP+lRUQ4ErhH5YA4bMVLV3mrJ0SnhNWVAyZv+UerZ1P9SgZWzxn+0TU0DGEfLjlRz36UkSDCPJiA6pLvISBkxHMRqqmefr8+p5SxDSORzOjDiKQzGjEiGaMT4xUl4PnFGN7HGxARE+7AsfwaRYK64L0iRaLkOFg5oIjYoykCgj2bIhCzbzlhn14Fo4Ff6dOwX69fwoBks97bwOSzXtzAyFmDubDPqaKg7a+358uPx5S0D35YuX0wlFFY7h5TqBe81xSqY/ZzCoHbGW7qPeW5yU5PJRH2oY2AmLivh9oGcT5HTAzsrgmAvGDN9yimLmlfLCLuQD7oeSP5oOa0bi9vkOK07zF7kOH0bz+HEOP08OGLjciByblT3wBIfrtEouD3SyRKfsOU8Bktos146dr2zWcEw5I7KGYYcwclDHvarn+FJCgAYszjYzARYXx1rbq22fmMSYCM8010ACQ9+I9TEiJEyXvhRIAo+5tuCFBMVP/dLjEnAZAogYhpQ7xzIcTpAI6K4b8A7Be5ia2+nzvVv3fNYv2smt1fj8Qh+Q==\"}"
  },
  {
    "path": "officialworlds/gadgets/maybe rule.bab",
    "content": "{\"width\":21,\"next_level_after_win\":\"\",\"extra\":false,\"compression\":\"zlib\",\"author\":\"Patashu\",\"height\":15,\"version\":5,\"map\":\"eJyV0d0KgyAUwPFXia428GJm5Vb4LNGHi8DlaAZF+O7ztFUjWm4XevU7hz9aSEfIPBVOwoZBVYIzV3UqydLMRR3DqCrM1ZvzuPO8SgUbNCqqhmGNPjkH7YH29vV78UiJoXR/cQuYAPbtFbe0z2YfGO/bqoVQMODDQLg/cBWynC21l08+AH823lt7sjzKFDLiyz8Yn4wma003fufF8S/PAjwcubfV8p0Te0wpF+7bY6IjcDrywB4THRYebsVgreOGq7apnSTmdfEEZr4CkA==\",\"music\":\"bab be go\",\"is_overworld\":false,\"level_number\":0,\"level_sprite\":\"\",\"name\":\"maybe rule\",\"palette\":\"default\"}"
  },
  {
    "path": "officialworlds/gadgets/megalovania.bab",
    "content": "{\"width\":34,\"version\":5,\"extra\":false,\"author\":\"jill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":20,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"megalovania\",\"map\":\"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\"}"
  },
  {
    "path": "officialworlds/gadgets/ms paint deluxe.bab",
    "content": "{\"width\":29,\"version\":5,\"extra\":false,\"palette\":\"cyberpunk\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"windo be blis\",\"is_overworld\":false,\"author\":\"jill\",\"parent_level\":\"\",\"name\":\"ms paint deluxe\",\"map\":\"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\"}"
  },
  {
    "path": "officialworlds/gadgets/ms paint deluxer.bab",
    "content": "{\"width\":34,\"version\":5,\"extra\":false,\"author\":\"Slabdrill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":17,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"windo be blis\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"ms paint deluxer\",\"map\":\"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\"}"
  },
  {
    "path": "officialworlds/gadgets/ms paint deluxer.replay",
    "content": "-1,-1,udlr,e3sxMSwgMX0gLS1bW3RhYmxlOiAweDBlY2ExMGEwXV19IC0tW1t0YWJsZTogMHgwZWNhMTA3OF1d;0,-1,udlr,e3sxMSwgMX0gLS1bW3RhYmxlOiAweDA5ZjE3YzQwXV19IC0tW1t0YWJsZTogMHgwOWYxN2MxOF1d;"
  },
  {
    "path": "officialworlds/gadgets/ms paint.bab",
    "content": "{\"width\":31,\"next_level_after_win\":\"\",\"extra\":false,\"compression\":\"zlib\",\"author\":\"thia\",\"height\":20,\"version\":5,\"map\":\"eJyNnN1u21gShF8lmIvFLhBkxH9yBn6WQBMriRHFGsjyJEGQd1+TXW2TZxLVd+eLr0RZfeocsdit29Or4+nd/vjq7c3375e74+Hmt8vXy9uHy+Hwz2+vv97sXt/d3lSvvz398fD34d3d/njz/cfr27vzTfXj9S8F9ZOgui746/BMN090fZ3+cNqf72+fFe2Tovm14uHT4/GZ7eb3MkK4n+GJvPNqxgf/wazo8fqn8mV/fEan6x/JGq121z+MDTtXsoXsXMQOsnMJe8jOxRsgOxfvSu027Fy7K6XbsHPhqiuV28BL3WDhqrlyFSxdPZeugrWr59pVsHj14kBYvXquXgXLV8/lq2D9ame+2SGPM14veO/9dDpfPp5eFAPyVLCj2WfuVux03VRrttldN9WGra6basPW1021YZvrptqw7XVTbdjuuqk2bG9MtYEHY6oNPBpTbeDJmGoNtztjqg1cGVNt4NqYagM3zFQBt8ZUgpsF7tCiD7ZHiz7YAS36YEe06IOd0KJf2G6HFn2wFVr0wdZo0QfbsEUfcMsWfcAdW/QB92zRBzywRR/wyBZ9wBNb9Avc79iiD7gCJ8nhn8P5WzVr2kVT++Pkcvh6eRE06DQJtkXGCrZDxgq2R8YKdkDGCnZExgp2QsZa2GGHjBVshYwVbM2MFXDDjBVwy4wVcMeMFXDPjBXwwIwV8MiMFfDEjLXA4w4Y68vv78+H+1nTLRpwQxj3PYGb20G9nWDdzeDdijW3gRu2Q7YKtke2CnZAtgp2RLYKdkK2Wthph2wVbMVsFXDNbBVww2wVcMtsFXDHbBVwz2wV8MBsFfDIbBXwBGx1vxw9fdzF77yn3p0+H/4+PqxEFXKW4BpZS3CDvCW4ReYS3CF3Ce6RvQQPyF+CR2QwwRNyWMBLIAMsJrpiHhNdM5OJbpjLRLfMZqI75jPRPTOa6IE5TfQIrKbXH0Ixea/95wWPmMa+G8EVcpngGrlMcINcJrhFLhPcIZcJ7pHLBA/IZYJH5DLBE3NZ0EtGA1wmumIuE10zl4lumMtEt8xlojvmMtE9c5noAbgsvvSNIRi9yV5ifWkm5LSAl+zGF0lwhZwmuEZOE9wgpwlukdMEd8hpgnvkNMEDcprgkTlN9MScFvQS4QCnia6Y00TXzGmiG+Y00S1zmuiOOU10T746nh7vb5ccfAqReRSlKwhmSbhgFoUH3LMsXDALwwWzNFwwi8MFszxcMAvEBcNEXDSMxEXDTFw0DMWDHmAqLhrG4qJhLi4aBuOiYTJexVPtgWXjSbN0PGmWjyfNEvKkWUYuemQpedIsJ0+aJeVJw6w8cZiWJw7z8sRhYp44zMwTh6l54jA3Fz7B5Dxxkp1/OkSjgp5is8guaRbaJc1iu6RZcJc0i+6SZuFd0iy+S5oFeJUaAViElzQM8RKHMV7iMMhLHEZ5icMwL3EY5yUOA73EYaSXOAn11PATbQQViw6SZtlB0iw8SJqlB0mz+CBplh8kzQKEpFmCkDSLEJKGGYLwGoYIicMUIXEYIyQOc4TEYZCQOEwSEodRQuIkS/hw2n/Zf1PcXTUhhC10ok0XXf4PQTemj66gTSddQZteuoI23XQFbfrpCtp01BW06akraNdVV+Cur67AXWfdFm9db12Bu+66Anf9dQXuOuwKnPbYCSdddnmFNiSg0+72dF4rWKdd0ixhSJpFDKI7ljEkzUKGpFnKkDSLGZJmOUPSLGhIGiYNicOoIXGYNSQOwwbhPUwbEodxQ+Iwb0gcBg6Ju8Rh9Y2wC0XnnbcV9Mx4ogdmPNEjM57oiRkv6CVEAmUSXTHjia6Z8UQ3zHiiW2Y80R00nvAeGk/4AI0nfITGEz5B4wUenUK4okuSRIwnvIbGE94A4z1cDsfLx0XVh6r15rs/fTitJR2zn+ie2U/0wOwnemT2Ez0x+wW9JEqgVqIrZj/RNbOf6IbZT3QL7Se8g/YT3kP7CR+g/YSP0H7CJ2i/BW+WRInYT3gF7Se8hkn7EHhz3XcF3TLLiTYpfkGbFL+gTYpf0CbFL2iT4m/pyqT4BW1S/II2KX5BuxS/wF2KX+AuxS9wl+IXuEvxC9yl+AXuUvwtXtMUX7hL8RMfA3fdfnNb7/7u8ubNm7XKtP0V13B9fz+/hmsAnKe8HtYC1wS46VBOkWsGfBJ9Pj1uruNaAl++mkvg2gJzuk18YzsDs/EsBbY5cL6zP3/bf9jfrf/5xrUJbuvYuD7BAneNggVuOwWXZRKSKSQmnihod8+zij+kMPc9xeub+579+Xxa4a2r8vbVW9vUUrhIMtfdUlzFtrc8L+46hrJb8105R9JEu2fpG4+miB3GSZvDOMuQ+E8fBTTPeGwxCbsnAcWLdz9/FDD84q37xqWXJZoSWN/ESX3z1qauQgMrLBpUODfUlMD6iqb1Ff7ztrTuV69uQ6ntCg2Vzaa2F7HZVOIamDUDagXNptOSdvNp8zzB+bC/rDVmTq24gplUK2gzq1bQZlqtoM282pZ2E2sFbWbWCtpNrRW4m1srcDe5VuB2dm1tWWncCFtxCTfEVuBujK3A4SCbcDvKVuCLWd2Pfez/WiRNSMBE6afD4dNaYlw7S94fTx/WEmPd599aSd6Nl85RmH7lJCVuynT+10+PX9cSN2z60kSUCjdyulzkuHlfbvL0SXJ88+Zx/e9PbgJ1fph83j+sJW4Qdd4cj6cvt2uNHUid3XQ4fF5r7FxqXGi9YCY7nrr+uZ0UEas/3O/fvVuL7LjqvDbPj5e1xk6tLnck62Uw2dnV+UP4ePh0Xouc9VdPKEPS7tAk6/6y0bg9ILeMNnB4YIuGB7Zo4/qChke1aHhUi4ZHtWh4VIuGR3XQFTyqRRtX5+4kmh7VwulRLZwe1cKJf/MGQRJ6UgunJ7VwelILpyd14DU9qYVTl3aBmzwztw3RMM9MHOaZiZPCxhxwKmhdhdO69oG7R4QF7h4RbvHGPSJMfAjc/I5AQbOe5KRNT3JBm57kgjY9yQVtepIL2vQkF7TpSS5o05O8pVvTk1zQrie5wG234/p78Rga8xRp8z1XEvYoKWkQceTmIYUbCll9KZaCPVJK2g2GbL4LSuPGQ7ZBR4jsbymtzh8p3KTIS6AogRsWedkJJbDzIs+/HicB3ZuFw2dNibtnTcXa61yXa8mP5H40PtEpFGCOfSPoWTt60q4d/V8v7zrS/yUwTenF+zFN6QVtmtIL2jSlF7RpSi9o05Re0C6K3uKDa0ovcNeU/rwoxbsH/XNN//jfrGjip1kHsEv/8d+1gO3RSYM9+v5wq003RWCbfn86a29PEdupkzY7dX6uibtRkjz7xEe29ZNF9OPP8+HyeL5/9fbPw/3t/wEHa53K\",\"music\":\"limon be swiit\",\"is_overworld\":false,\"level_number\":0,\"level_sprite\":\"\",\"name\":\"ms paint\",\"palette\":\"ruins\"}"
  },
  {
    "path": "officialworlds/gadgets/mutually exclusive.bab",
    "content": "{\"width\":21,\"next_level_after_win\":\"\",\"extra\":false,\"compression\":\"zlib\",\"author\":\"Patashu\",\"height\":15,\"version\":5,\"map\":\"eJyF0cEKgzAMBuBXEc89GLdpRfospdoyCp2OWlER331tFdmc1FsOX0KSn7eRamumIkrm2UglSGxGQytWxWgkCZKcAJps0b1FLZki84K41AQW9M2F0+B0eq17h1OHb2G8beHp3dI8PPfFJu+x8w/rs6PHP74xu87Oph90CzvPLcdhvr7Ea2x1EdZPzbrdF9bD31tOtyl8QMn1rVtCa6Bw7QdmtO/woUJ63rGUWpheNxEtRcM/BWjHPg==\",\"music\":\"bab be go\",\"is_overworld\":false,\"level_number\":0,\"level_sprite\":\"\",\"name\":\"mutually exclusive\",\"palette\":\"default\"}"
  },
  {
    "path": "officialworlds/gadgets/object palette.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":false,\"palette\":\"default\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"author\":\"vitellary\",\"parent_level\":\"\",\"name\":\"object palette\",\"map\":\"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\"}"
  },
  {
    "path": "officialworlds/gadgets/piano keyboard long.bab",
    "content": "{\"width\":37,\"version\":5,\"extra\":false,\"author\":\"jill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":8,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"map\",\"is_overworld\":false,\"palette\":\"cyberpunk\",\"parent_level\":\"\",\"name\":\"piano keyboard long\",\"map\":\"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\"}"
  },
  {
    "path": "officialworlds/gadgets/piano keyboard.bab",
    "content": "{\"width\":17,\"version\":5,\"extra\":false,\"author\":\"jill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":8,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"map\",\"is_overworld\":false,\"palette\":\"cyberpunk\",\"parent_level\":\"\",\"name\":\"piano keyboard\",\"map\":\"eJydmd1um0AUhF8l8kWlSlbK/08jP4tFgDhUFCKMlURR3r14ZxfTZL0+zJ0v5lsbxsPscqr+ru3Lor3b7z4+xqatd5vxbdz/adp2s33bedum2vnb9+nD8aUum6LdfXxuq2bY+Z/bhX6s38ZZH0x6/7r+0BbHWRtO2uCbdlv2bT/sNq/Pzbixg9EEhgwYT2DEgMkExkLwfE+OTXeY4XSCk+v3pK3HsR725azPJn169csOw6n7/8se6zPqn9H8tl0Lte/J3ILYd9r12BZl+f3uAQ2chjnR0GmZE41I00DHVtrqGoDEavN1247PxfBywdOVrp/OaKDQ7Lbr/TA+9xcilxmvxIFH5BSkTwQVZEAkFWRIug46EmW1ugDxStt+nNFQoYnbNnNZEKdM+oBmTPqA5kz6FBp6pA+gfVH6qgsQsOkDHq608fU0qC+PFB3JnIQ4JuIEMiHiBDIl4gQyI20EnYviVM9A5DFxihV6Y6tiLgvigDABZEiYADIiTABp76LbJoC2F9NXE54uwNoqag5dP5zxROE36shcGsQ581xTaOwxzzWgPvNcAxqQXoC2t5PVCwD2QhI814CvrSezmU8VLWwoiN0NZf97g3QXlIt095ODTNh6Au2LIrUAgpU+vAz1Uf3aTOGhzAiIIyZSQGMmUkATJlJAU9IL0PaGsnoBwF5KgkgpPF1bUU/Bmc0VK+woiJmOAsl0FEimo0CyHQVa1lHFBVjbUb9/qqMWDuTChtJqqqLAZlRHaZYqKc2yLaVxWU0VC4LuKc2vLarXohnv7+/VCuoAnd0oq+WrLU2kwtcfUGdEHDWaE3kEmntEIDVqP0MJ/gPA7Seqr/+BxwWx9hD1tz/h96qjdH7jFKV+YtEtiVhoINQJYyDQlDEQaMYYCDRnDcRLHs+Tv3g0iO+0sHyvi+5rEH89DXWn1gixRnDbx25cAqHQRi2n9jcGpnY4Bqb2OAZmdzmGl+1zyiXi3unY3Lw8lrGE797t2JaYrzvCCoIRwvxc1ohwimDkzCDBsMwswbDMOMGw7ETB8LKhQrVE3HMFm5XlUBdIaowl5PMFAIF0wqDl3IxBw9yUQcPcnEHD9KRB87JZQ7VE3NMGd7T1Eu4ttG2JOacJVhAMHrreXxLCwYOWh8zowbDM8MGwzPjBsOwAwvCyEUS9RNybZ+Pk58NQj6ehu9s/1F31D16WDNQ=\"}"
  },
  {
    "path": "officialworlds/gadgets/player select test.bab",
    "content": "{\"width\":21,\"next_level_after_win\":\"\",\"extra\":false,\"compression\":\"zlib\",\"author\":\"Patashu\",\"height\":15,\"version\":5,\"map\":\"eJyN1NuOwiAQBuBXMd5t0phy6ME1fRZTLRoia03FqDG++xam0oMU8MqLb/B3BqaqF6Lel2KxLV4vyQUrljsmhFxGjyKOeFWg6Nl+uV7YnpeieL2jijcFekcdlg+53ZU7w7GNZ4bfS9kYS1qL5u04B20xnscqx4k3fZDE7+8ll6vVypSkbQmZ/6v3UhiatZROKfmOjhTObT0h4+iMnYxfh/VQWxQHNhE0snUlGUX5Y+yvL8D+Nk5+gti6SKZdBEvdbYTTFceaJwF3ccDD5gnWN1C44mDVPLP5cz+zBKyGmc/jT7c1xmqYa8fJ3QUHrGaJPO24KU40t77MsT7WPbeO8at5YAPG2HmqvXWOUw+XHArCJgnWM8n+kiSaBzzOIV8HJdGWxP4k5xp6nuoC664dF/D9s/30JTgoD1jiztPZTFvqjjKyiW0FzdjUtk9mbBa0ScDm/l5fGna9qoq1rlCTTN3v4YANp7H70SuOWcVlX4HcL38UCel9SHFAJjTwJCDURbDnoIT6Ux1EfdQVurXUOl7b1m0Xo/Kp25vTQWf+v/D7oz10Nbef/t40TN6a82K7YefqH4Vb9AQ=\",\"music\":\"bab be go\",\"is_overworld\":false,\"level_number\":0,\"level_sprite\":\"\",\"name\":\"player select test\",\"palette\":\"default\"}"
  },
  {
    "path": "officialworlds/gadgets/poor toll gunne.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":false,\"palette\":\"factory\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"sno be fall\",\"is_overworld\":false,\"author\":\"Jill\",\"parent_level\":\"\",\"name\":\"poor toll gunne\",\"map\":\"eJyNmt9u2zwMxV+l2MWADwi6yPLfDXmWwmm8NKhnF66Dbij67p8jSrLl0OK528X5LRJ1RIp0T/1D2z/X7cPT4fNzvLTN4dv4d3w61sdvu7+H/e5yOqjdv+kf72/N86VuD59fu9NlOKiv3UL+pxlbr08mvYrrz0P97vV60idx/ceP30PTeSKdCL0msoB4f7u8/vNANgFpHDg2Xp1P6iyuDjZQTPp8W39s2nb04nISF/HdLpZSyepgKWo/ASW8U3U720qI5Ni048uMmOO980PIvPSzHdTtfNXdcalt4Ha86u64uBgpo89kg36f1blsz4/6Mj4+Ps5MwVmUdwQBJefQ8Efe624BVJxDQ6AbvTzZcxZV/A0gQnEmVfcmJXXC+S7ccNerWa8527FHTPqU893mCScZ67lQ/9b3w9i3ix8xJy0dtc8sxBSsWYsoU7J+DZnrTZ4YeSXb9aNuvV7v8XxKgAL2QGYifQKs31wgbeRaXj+dHclTeflLeQYs3m2XiBxY/nG4jOZHUoMU8ha6/tzPQBnfhKt/JBbuciBOhZscioVLHIrZO7wlFi5wKBZubyhG7m4/1N15RnKgYhzn40wL1MCZkZdgvSB1hR29EWd77OhJrLCYk5gvu2yKJcCUXeFddWyb60wgdffcm8SRGwAovON0sm/10C0ooQC7bZO4iAfUvlNJW2K3g8QVFnwjzvdA8OeqQIwC4m8PjIAEcP352nXG+IVBgFS8eMsQw+ZjfbdxErMP5/sokTgHokRGIH0BRGiOKjElEKTFlksDARXXv38MUbA1dw6Src+kVfEYPU9vktOsTrB8T2KNOZrEKZbvSZzF+wRrTNLmcW34Hxfx2hBErgQM42o9ERVgmYAo94BhTLavjBxodqnykJztde98QloN+oTUKeYTEmeYT0icx33iUwypC8xVJC6xpEriCnKK0VZIAp5PsUJy70KOZN72Qu0RteVA4qXno9WDSdeqhaxrI2PFSNb1vSYhSOJdIUje/dNfCTFtUQVk3blHpS54L/Q6Pk5WzqbeOay/2/68lCdxe7q4WrWGy5kjUiCuIcF3O5stakJUjiYpBxRgWK28jIfVxcmqK8SA/qAJMnMq0YJriG9s+VGk0sQkiAvr4TWANNqzOiCVZ5hu/mGJLD4hWm8jjx/JWl5g1cPJwZezkwtTSecPUifsSHJTzU4kN9VSVzSPtSzAd0V6+2gT/lLr7Z9AJhjPQ1MTlBKEX2kLCFfalKy+fw1/pZRt6sZ6lkAeXCGi+RdXsXG1M4KAd1c/jC/9kgE+NNj+0BEaGMuuVyad/yqDWAoxwT0ljbJmr+UEsIMszptWz86xmEGJ0wvDj4UtCUj5vL69opTP6REAmVaGa9LIXMON7wtiUi6wqymkeyg7Rni2ra6khdiPTRvvKouw35tWLvYfbRxUAjb2YzgHVcggzs6QLGNGYFK0XS0sCRE66FXgLCQ00sFbwCJCO71wjgWElnqZ/CzB9tX85isigMy/eAFaCMj+q58BUr/duwUqOVe6vRORC8PPG+Ff5BZRcoCDVeXCE/4G/PxvCej4eyK8yJbBS74FkGe8vyeW4XP9+iu2qxAJfRrNgS8X81VxkPD1YvnFyRKV7BZ3uSxiRmaQwRygYIM5IpENtl6VlrNEuKpUzhEfL5dleM0sTTCxH+44JpdtGa6rQLpR+83KMebcpU+HzvwO4l98jPktsDFh4/7mwBFIH+drkYP4uq++vn4NzXgduoenX013+h+M2pOU\"}"
  },
  {
    "path": "officialworlds/gadgets/poor toll gunne.replay",
    "content": "0,-1,wasd,e3sxNCwgNX0gLS1bW3RhYmxlOiAweDE2N2MyYjE4XV19IC0tW1t0YWJsZTogMHgxNjdjMmFmMF1d;0,-1,wasd,e3sxNSwgNX0gLS1bW3RhYmxlOiAweDE2NjNhNTQwXV19IC0tW1t0YWJsZTogMHgxNjYzYTUxOF1d;0,0,space,e3sxMywgNX0gLS1bW3RhYmxlOiAweDE2NWY2OGYwXV19IC0tW1t0YWJsZTogMHgxNjU0YWJmOF1d;-1,0,wasd,e3sxMywgNX0gLS1bW3RhYmxlOiAweDE2N2FhZTY4XV19IC0tW1t0YWJsZTogMHgxNjQ5M2RmMF1d;1,0,wasd,e3sxMywgNX0gLS1bW3RhYmxlOiAweDE2NWNiMzA4XV19IC0tW1t0YWJsZTogMHgxNjVjYjJlMF1d;1,0,wasd,e3sxMywgNX0gLS1bW3RhYmxlOiAweDE2YjY2OTM4XV19IC0tW1t0YWJsZTogMHgxNjQ5M2QyOF1d;0,1,wasd,e3sxMSwgNn0gLS1bW3RhYmxlOiAweDE2OTNiNGEwXV19IC0tW1t0YWJsZTogMHgxNjkzYjQ3OF1d;0,1,wasd,e3s5LCA2fSAtLVtbdGFibGU6IDB4MTYzNDE5OThdXX0gLS1bW3RhYmxlOiAweDE2ODE4N2E4XV0=;0,1,wasd,e3s5LCA2fSAtLVtbdGFibGU6IDB4MTY2NmFmOTBdXX0gLS1bW3RhYmxlOiAweDE2NTQzNjE4XV0=;0,-1,wasd,e3s2LCA3fSAtLVtbdGFibGU6IDB4MTY2NDQ5NzhdXX0gLS1bW3RhYmxlOiAweDE2NjQ0OTUwXV0=;0,-1,wasd,e3s2LCA3fSAtLVtbdGFibGU6IDB4MTY3NTJjYjBdXX0gLS1bW3RhYmxlOiAweDE2NzUyYzg4XV0=;-1,0,wasd,e3s2LCA3fSAtLVtbdGFibGU6IDB4MTY2NjM2ODhdXX0gLS1bW3RhYmxlOiAweDE2NjRiOGE4XV0=;0,1,wasd,e3s2LCA4fSAtLVtbdGFibGU6IDB4MTY4M2U0OThdXX0gLS1bW3RhYmxlOiAweDE2ODNlNDcwXV0=;1,0,wasd,e3s2LCA4fSAtLVtbdGFibGU6IDB4MTY0ZDZlODBdXX0gLS1bW3RhYmxlOiAweDE2NGQ2ZTU4XV0=;1,1,wasd,e3s2LCA4fSAtLVtbdGFibGU6IDB4MTYyNGU3YzhdXX0gLS1bW3RhYmxlOiAweDE2MjRlN2EwXV0=;0,1,wasd,e3s1LCA5fSAtLVtbdGFibGU6IDB4MTZhY2RiNDhdXX0gLS1bW3RhYmxlOiAweDE2MmZiODM4XV0=;0,1,wasd,e3s0LCA5fSAtLVtbdGFibGU6IDB4MTY2ZjgyNDBdXX0gLS1bW3RhYmxlOiAweDE2NmY4MjE4XV0=;-1,1,wasd,e3s0LCA5fSAtLVtbdGFibGU6IDB4MTY4OTNmODhdXX0gLS1bW3RhYmxlOiAweDE2ODkzZjYwXV0=;0,0,space,e3s0LCA5fSAtLVtbdGFibGU6IDB4MTZhZjc2MjhdXX0gLS1bW3RhYmxlOiAweDE2YWY3NjAwXV0=;-1,0,wasd,e3s1LCA5fSAtLVtbdGFibGU6IDB4MTY3MzUyNzhdXX0gLS1bW3RhYmxlOiAweDE2NzM1MjUwXV0=;-1,0,wasd,e3s1LCA4fSAtLVtbdGFibGU6IDB4MTY3MWM2YzhdXX0gLS1bW3RhYmxlOiAweDE2NzFjNmEwXV0=;0,0,space,e3s1LCA4fSAtLVtbdGFibGU6IDB4MTY5Y2YxMDhdXX0gLS1bW3RhYmxlOiAweDE2OWNmMGEwXV0=;0,-1,wasd,e3s1LCA4fSAtLVtbdGFibGU6IDB4MTY3MjM0YzhdXX0gLS1bW3RhYmxlOiAweDE2NzIzNGEwXV0=;0,1,wasd,e3s1LCA5fSAtLVtbdGFibGU6IDB4MTY0NmI4MjhdXX0gLS1bW3RhYmxlOiAweDE2NDZiODAwXV0=;0,0,space,e3s1LCAxMH0gLS1bW3RhYmxlOiAweDE2NDU4ODIwXV19IC0tW1t0YWJsZTogMHgxNjQ1ODdmOF1d;0,1,wasd,e3s1LCAxMH0gLS1bW3RhYmxlOiAweDE2NDUzYzMwXV19IC0tW1t0YWJsZTogMHgxNmFmMDU4MF1d;0,1,wasd,e3s1LCAxMH0gLS1bW3RhYmxlOiAweDE2YmMyYzYwXV19IC0tW1t0YWJsZTogMHgxNjdmMzNlOF1d;0,1,wasd,e3s1LCAxMH0gLS1bW3RhYmxlOiAweDE2NDhlMTYwXV19IC0tW1t0YWJsZTogMHgxNjVjM2U2OF1d;0,1,wasd,e3s1LCAxMH0gLS1bW3RhYmxlOiAweDE2NTZlYWM4XV19IC0tW1t0YWJsZTogMHgxNjc0Zjk1OF1d;0,1,wasd,e3s1LCAxMH0gLS1bW3RhYmxlOiAweDE2YjNiNDIwXV19IC0tW1t0YWJsZTogMHgxNmEyNTA4MF1d;0,1,wasd,e3s1LCAxMH0gLS1bW3RhYmxlOiAweDE2NWMwODgwXV19IC0tW1t0YWJsZTogMHgxNjVjMDg1OF1d;0,1,wasd,e3s2LCA5fSAtLVtbdGFibGU6IDB4MTY2M2U3YjBdXX0gLS1bW3RhYmxlOiAweDE2NjNlNzg4XV0=;0,1,wasd,e3s2LCA4fSAtLVtbdGFibGU6IDB4MTY3ZDI1NDhdXX0gLS1bW3RhYmxlOiAweDE2N2QyNTIwXV0=;1,0,wasd,e3s2LCA4fSAtLVtbdGFibGU6IDB4MTY1ZjAzZTBdXX0gLS1bW3RhYmxlOiAweDE2NWYwM2I4XV0=;1,0,wasd,e3s3LCA4fSAtLVtbdGFibGU6IDB4MTYyNDgxOThdXX0gLS1bW3RhYmxlOiAweDE2OTRlNzA4XV0=;1,0,wasd,e3s3LCA4fSAtLVtbdGFibGU6IDB4MTY1YzQ2NzBdXX0gLS1bW3RhYmxlOiAweDE2YWRjYjI4XV0=;1,-1,wasd,e3s3LCA4fSAtLVtbdGFibGU6IDB4MTY0YzFlZjBdXX0gLS1bW3RhYmxlOiAweDE2NGMxZWM4XV0=;0,-1,wasd,e3s5LCA1fSAtLVtbdGFibGU6IDB4MTY2YjA1MzBdXX0gLS1bW3RhYmxlOiAweDE2OTQyYWMwXV0=;0,-1,wasd,e3sxMCwgNX0gLS1bW3RhYmxlOiAweDE2YTYyMWYwXV19IC0tW1t0YWJsZTogMHgxNmE2MjFjOF1d;0,-1,wasd,e3sxMiwgNX0gLS1bW3RhYmxlOiAweDE2ODk4YzUwXV19IC0tW1t0YWJsZTogMHgxNjg5OGMyOF1d;0,-1,wasd,e3sxMywgNX0gLS1bW3RhYmxlOiAweDE2NjBkODcwXV19IC0tW1t0YWJsZTogMHgxNjgyN2RkOF1d;0,-1,wasd,e3sxMywgNX0gLS1bW3RhYmxlOiAweDE2YmI5YWUwXV19IC0tW1t0YWJsZTogMHgxNmJiOWFiOF1d;0,0,space,e3sxMywgNX0gLS1bW3RhYmxlOiAweDE2YjczNmY4XV19IC0tW1t0YWJsZTogMHgxNmI3MzZkMF1d;0,1,wasd,e3sxMywgNX0gLS1bW3RhYmxlOiAweDE2OTIxM2QwXV19IC0tW1t0YWJsZTogMHgxNmI1YjRiOF1d;0,1,wasd,e3sxMywgNX0gLS1bW3RhYmxlOiAweDE2MzQ5NTAwXV19IC0tW1t0YWJsZTogMHgxNjM0OTRkOF1d;0,1,wasd,e3sxMywgNX0gLS1bW3RhYmxlOiAweDE2NTAzYTI4XV19IC0tW1t0YWJsZTogMHgxNjUwM2EwMF1d;0,1,wasd,e3sxMywgNX0gLS1bW3RhYmxlOiAweDE2NmNhNDE4XV19IC0tW1t0YWJsZTogMHgxNjZjYTNmMF1d;0,1,wasd,e3sxMywgNX0gLS1bW3RhYmxlOiAweDE2YTBjMDk4XV19IC0tW1t0YWJsZTogMHgxNmEwYzA3MF1d;-1,0,wasd,e3sxMywgNX0gLS1bW3RhYmxlOiAweDE2OWVhMzMwXV19IC0tW1t0YWJsZTogMHgxNjllYTMwOF1d;-1,0,wasd,e3sxMywgNX0gLS1bW3RhYmxlOiAweDE2NDcyMTcwXV19IC0tW1t0YWJsZTogMHgxNjQ3MjE0OF1d;-1,0,wasd,e3sxMywgNX0gLS1bW3RhYmxlOiAweDE2YTUxMDYwXV19IC0tW1t0YWJsZTogMHgxNmE1MTAzOF1d;0,1,wasd,e3sxMywgNX0gLS1bW3RhYmxlOiAweDE2NDFhNGMwXV19IC0tW1t0YWJsZTogMHgxNjQxYTQ5OF1d;0,1,wasd,e3sxMywgNX0gLS1bW3RhYmxlOiAweDE2NGIxMzYwXV19IC0tW1t0YWJsZTogMHgxNjRiMTMzOF1d;-1,0,wasd,e3sxMywgNX0gLS1bW3RhYmxlOiAweDE2NTY3N2MwXV19IC0tW1t0YWJsZTogMHgxNjU2Nzc5OF1d;0,1,wasd,e3sxMywgNX0gLS1bW3RhYmxlOiAweDE2OTQ4NjUwXV19IC0tW1t0YWJsZTogMHgxNjk0ODYyOF1d;0,1,wasd,e3sxMywgNX0gLS1bW3RhYmxlOiAweDE2NDdkYmIwXV19IC0tW1t0YWJsZTogMHgxNjQ3ZGI4OF1d;"
  },
  {
    "path": "officialworlds/gadgets/prop palette.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":false,\"author\":\"Patashu\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"prop palette\",\"map\":\"eJyNmNtu2zgQhl8l6E23QJBaZymFnyWgJVoiTJNaioqjBHn3pUhKZA2sZ3oVFPOZh//XzHA6+cRlS/jT2/HrSzNOjz/0h36bfzx/HA/PrDsmz4v5Yxppywg/fn0/d0wdk+/nKFjQ7kLpTqSGSB4TSmqiT3xHMoOkj5HXX3t0bqKzx9E3wi97fGHi88fxrF328NKEF8CJ5XRj152oDFE+JjrKqd6B2gDVY+BEByaCDI0h6sfEv+H3k4MJbwANmB6oCrIlq9IJIPUsOhkIqzQgdU/CzSarzgkgxaylXSKxRA7bT0nRB6CA3TcNy8vLS0BK2H1nqTqpAlLBFhwI1dNloQGqUT40/wLSwF7sw22lB4QRGQm3lSawEbXxYc/OYVNpCntx+Uk4D0QG21HITsU7yxFu7CW5kWXkU8AKhCW1IuIzICXKlIraVVKLVIikONNLAGrYlT2faReIBnaYnpVopRJqp7IDbLGJiHCSLIENNnE6BiCFLSaVHmQgMthjrbxSL6NjcoSMVJyWQBQIFaf5xN+tLTPLlAgZ5eoW8/lfA1bBYn4aY6rZ5UoH1bCen2wM8Q2s5DubmD4rKnYqP2DyxXW5uaTsmASXNCZNw/byFBZ1Yh29sEtgMoSoV0msnXNLILL/mmbPXEYQogKcTPGjgShhbYTcSp9DKlieM1+iNWrEh2YubLtlBzWwNHoIRy8OsCqrlF4VxyQIVaaRM9tdFBZJYVm0VG0AMlgS8z+01UyKQOWIK9OU6yEgBXxhozT5Sbrq5KAS4eWR2Y2VFkCk/+ssth7UMQj9TTsW4hHSm/KnRLcjJUL9V2vhyoYjOvuzYl3fBSTFpBcpo0Uy+BhXptR2EAfliK7kQ/uepLZIAR/m9CuEI3p80/e0bSAQPb5a9GDLRGOJGt5SKyUPAKLZMza0e0rcu+OA6I6p6yo8kcBfojQFr4+QFG6PF8q5jJAMTqi9mkVE5HA+bRdKRMwU8H2dOJ0jokSkh1mNEVHBVhwJEzpCarjZPalbfJAGkYJvA4sWqVflE0CVXhG6RIzVHpDlxEkbOaxOMc3xyOnZbc521HX2WJieE9ex286tRhR5TT90RAAf+93vl7Dlb7+3NsozQIt3t0INfyF3RPOY+Du6OcCf04lG8cnj+LtfTxFvhr3MeiaDmXmM4oFSvu/INooNIpk7xcRPHWGIdt5fk4uvkCK4aITI86hYP8RbAlL6vkTupjaIfH6PIKp4pJ6HgJR+vwZiPLdnAI8Ago9KjnF4AaSzfUeFi0dJvbnDM4iuLcjnGUTXpsg7jZEGe5TSTd0Qmt9m1cUIQvNO3sSuiccQ3VsruTrPPKYyRKUR0k+hKscgqvm6wRhBFPNJz5c2ZhDlfL86j1SI06xbC06oHYh5v2myaN/EbxjkBj9jmJW7jMbNVQ/wB6fomVNfqj2VIJKycHP0DUFMc9axnBvVb1AGz/+Er9eeyBG3sM5ZRvMO+AvETHVe/7FTID+SRlT7QWr3+t8YoBA4ZpTvKoYQ01w5t0OMYJ7zaiE9cY9Nj9mhHnDfJp9q74aNShB3fhGrzbeZw0amiD5R+/nuxvzfZP/7j6Kru5/e/lDR/QcOLPCM\"}"
  },
  {
    "path": "officialworlds/gadgets/slots.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":false,\"author\":\"oatmealine\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":16,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"futr be cool\",\"is_overworld\":false,\"palette\":\"ocean\",\"parent_level\":\"\",\"name\":\"slots\",\"map\":\"eJyVmdFuozoQhl+l2ruVIh2MMZhd5VkqktA2qhciQjfNVn33A57BGHCY4WZVrf6P2DO/h/Fwqp9MfSzM0/P+66s9m3L/o/1sn01R/P2x+9xHu/NpL3b3vdxdL+XxXJj91/fudG724nvn6a9lWR3ujog7IlknDrUxTi87vSL0pVMnnTpdV7+Y+tXpVafPiKcXh14uennaycVj+a0wTprRTz6a+t3pdafX6/rbfy9NWTki74iciP37x7giEfWrjzixBH2fXLGy3V5f1WIE+tx2/6xvwouR6JMrKDfYFcVWn6zH308vAIr2p//8lDbnYH8AsnV34mZBq9e9iT4Dbb7uHv+5cUQ7x9tjLBgx/+jl0spjluVBK2nP10U76pMtngdE8U0PQMo2PegzvukB0AzTV/VrPRI5x/XghsSWwIhRZYvqOgKC72MAYrrKHpsScgeEpCtt7a0ooa1xK9qmB5QF+kQTaXs/N4cR6BNNpAHyDHJGfb6Ul/N1JDZVaEA2lGgLJPwSDfoNJRoAToke39ipZSSdClgTyBM6Eb/qUc54BXd/jfqUsQN/OfZAE6fnxdw9QjPOJ9axzAI5HaDB3BZQEREi2C9ogy2WdNrjW/nuPZlor4ZTD2Kit5qumWitBh+DmNNXYZcHQLrlcAGS8Q8XAJp9uECf8w+XBdKIYU3zd1xRao8vq7vVVh/TRjNF09xHQrKcBtpk/TXjnAZqxXMaiFOe00Cc8ZwGYs1wWmlMOxKctA6vU0tkESNNw8sot4SgE3WtiuNxJGJWokArmYkCdcJLFIgVL1EgTnmJAjHjhQtWB7lmZOnS/eUtJ2ekySHC3v80rxKjmFuKUc6sxahmFmNUM6sxqoly3JWM2lOnROhn8ixY9bLQtRIAzal6eOuGuzHxgnULgntxFFy/nDx/SCwQ4TZKPfqBcBOlJj9QfxzfPEQy9jwUHWEvanlC15A/xf3gEYruvIZ9A5CuG9rLHOizkKOn+tem8DehQ66Wa5vIQ52Anr5021EvoijUB0yBU3H/d/cZwR+FIBEz6hE2hQMi2Z3qQCSMXvW1Lm7F/WKuPqgYLaurIBKYlPYXBhqBjLbXGGhkgpcmHQpBAgCjlx48DISgSvj8JwRjaOlahoHhjC0nP8KYW3b/Ux7bc135XLCwB48kAoqOsDthiHBmItVk+5ypiDv5yHAGI9Ot5Az7u6EpMHb6RTn/109LKCAYvRkuCwGqNVsAkj/jHpDgKEyH44uI4tcwJFJGrJxXUmAyOlrjoUdGrwfMvU1Rnq+Haya307DFyQq2GwgI7oB0AGJGZKdlGEHOPNtd0EQGUPA9L5fbR3nw3vVYHrx5qdlWfCA40p4D/t6RY4zH3EBtYHK+hTV8AIiYwUI5cdbn8uCwO2gtBCRjA2352fpMwq+LSChGXby2pWnffIpz2m+FgWqaAxM87YHwolxvk+eh8E6tNUNUcPQdfB0iEBx9y5DfEQiOvueA73fkOKmf72ZD6pHYmHqkqNS7GhTDV1xF5N3dmge9DmVSPNbn62+EuT4lvngs9MQHj4We+N6x0BNfOxZ64nPHQh9s4lb06frsc6HPCLMuAGr8sgBywtpzAIZqG3KcUR8uF0D84M79/bsp24+menr+XVan/wEmfvSr\"}"
  },
  {
    "path": "officialworlds/gadgets/slots.replay",
    "content": "0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;|e1siZGF5enksNywzLDMsMTIsOCw4LDIiXSA9IDAuOTc1MTYwNzUxOTUzNzQxNTIsIFsiZGF5enksOCwzLDMsMTIsOCw4LDIiXSA9IDAuNjgzNjQ5MTU3NjIyNTg0MDUsIFsiZGF5enksOSwzLDMsMTIsOCw4LDIiXSA9IDAuNDk2NzI0Njk2ODI4MDE1NjgsIFsiZGF5enksMTAsMywzLDEyLDgsOCwyIl0gPSAwLjc1NjMyMzU2NjQ4NDMzNTc0LCBbImRheXp5LDEwLDMsMywxMiw4LDgsNSJdID0gMC40MzY5MTY5ODQ3MDU1MjU2NSwgWyJncmFzLDcsMywzLDE0LDEwLDEsNSJdID0gMC4wMTE3NTQ4OTAzNDgzMTE3ODYsIFsiZ3Jhcyw4LDMsMywxNCwxMCwxLDUiXSA9IDAuMTY4Nzg0NTE0MTQxNDUyNTcsIFsiZ3Jhcyw5LDMsMywxNCwxMCwxLDUiXSA9IDAuODI0MTg4MDk2Mzg4NzU0OSwgWyJsYXJyeSwyMCwwLDMsMTYsMCwxLDEiXSA9IDAuNjkxNzM5MTY2MDM2NzUyMjMsIFsibGFycnksMjAsMCwzLDE2LDAsMSw0Il0gPSAwLjkwMDk2MTM1Mjk5MTUwNzcsIFsibGFycnksMjAsMCwzLDE2LDAsMSw1Il0gPSAwLjA1MjgxNDUwNjEzOTgzMDYzLCBbInRpbCw3LDMsMywxMiwyLDEsMSJdID0gMC44MTQxMjA4MTY3ODU2NDI2MywgWyJ0aWwsNywzLDMsMTIsMiwxLDQiXSA9IDAuMzgyNTUzOTkxODg4ODk4OTQsIFsidGlsLDgsMywxLDEyLDIsMSwxIl0gPSAwLjc4NDE1NjA1Mzc2MTI0Mjg3LCBbInRpbCw4LDMsMywxMiwyLDEsNCJdID0gMC4wNDI0MzE0MDY4OTgxMjg2MzIsIFsidGlsLDksMywxLDEyLDIsMSwxIl0gPSAwLjgzNDAxNTQ3MTI3NTIyMzY5LCBbInRpbCw5LDMsMywxMiwyLDEsNCJdID0gMC40OTk3NTQzNzc1MzY4MTU4NCwgWyJ0aWwsMTAsMywzLDEyLDIsMSwxIl0gPSAwLjgzODQ1NDgyNTczODc3OTM5LCBbInRpbCwxMCwzLDMsMTIsMiwxLDQiXSA9IDAuNjY2MzcxOTU0MjUyMzE4NTR9IC0tW1t0YWJsZTogMHgyMzgyNGUxMF1d"
  },
  {
    "path": "officialworlds/gadgets/spin gadget.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":false,\"music\":\"bab be go\",\"map\":\"eJyVlt2OgjAQhV/FeO2F/YcYnsWgNC6RgFFM3BjffTtFEXSm7ZrohTnnMMw3Hai6RdPty2axLe73vm5ssexv/XZX7parW8FWdeV+ft33crL7umyK+2NV1eeCPVaEnDu5DMsvx2sz6oXT60i8BTUHtUwo5q1W8Vomah2v5ApiAWITL+RyqttRnyW0ZarPsWL4qH+1UHlCayc2dPgTj/FaFtYerT2COPdiHhZD1S8DG4YFcKpPhw45JHYNHnIA1vxfDkDLvnDxj0lomt57/DQwIMzpe/8p24kY8IpUcY7NgnnjmhfC11hLDZ7NGTY3dDYKmMoGtll6tsQwUdnA1M1xcjhO1CBn+2kwEcO8HODJvujP4+cOgMoCIzApyB9wsU6br0HMwvMF4e4fu+/rbmrj8dOI2UR4KigbCjyL2hRKhuqERskous8mAcyh8wbpDVkamEGcx8GMu8g7JHqciQ05ONCVHXRwjETQIVAIGr9rKRMgHDr3mXhUhMPrCv6RJjXWV0GIDbZQBbI7BnmGEaCy0Qcxma3QRzGRrRi2UOlslCqVLdCFSodLdACodJUwAPOzrr1PY62P2wzWVRm1ZeGGUbaceFt4bM62v57bxXZj2+oP8oe+Lw==\",\"palette\":\"default\",\"name\":\"spin gadget\",\"height\":15,\"author\":\"Patashu\"}"
  },
  {
    "path": "officialworlds/gadgets/spirograph.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":false,\"palette\":\"marshmallow\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":21,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"laav be floe\",\"is_overworld\":false,\"author\":\"jill\",\"parent_level\":\"\",\"name\":\"spirograph\",\"map\":\"eJyVl81u4jAURl8FdTHdIJT/EFV5FmSI2/FgEuSYAkW8exM7OLdEE3/dsTgHbB/HMVWzkM2OycWmvN20kLx80Re9eVe8bl+WlzJYiqoMl9fuQ3vkO8FkebsvK6HK8L4kQqs5/3RC1AnhvCCZUlcnxJ0QzwtacYcnHZ7M42K3baR2RtoZ2bzxT0jp+Kzj83n+yDRzfN7xxTz/1TbN1gnrfok8i8o/ubqGTil6JfKskjhITsoFveNZ2a1Z2NDwQGqKA6EpDmSmOJCZ4kBjigOJKQ4UpjjSl/JYXOmECCl76vHI4EDYSrCP7jk+jhKQtxUV/ykBkacSkPpwqs9M7kcH6D1xgOgTByg/cZD8X+zM1KlqRgvZBFtev2qnxMg2+NPjscGBbUBooD+hgfCEBooTGmhNaKAyoYG+hEbKHpmo9agUQKODUIqpuuqtxLzjAn8q95q2RujP9WRE/mT0VLBS7C/39DOJv970Z1J/RHqOWCnzt5xKOZDU7IDU4Gtw51q6APeiodMA3IuWDoGBuxSZUSL/rtpzvh+F+BebyhrAk/1kAKmfDKAz3VFWQjq7Rzc3yhq9D1m8AA9MQ2cBMJ7hnb82AnB6u3WyBnCCNwQHjvAzE3q1Wo3Ob3JbIwXmvVOcmQ6FUTL/wOw8LJ77x1Q35mYd2us+0FnziyYGkNpN2yp5AF9/LR/Oz6Kh3x3h901zf8xj/4xdg0FJ/FN+rKoVUn+Gx53W3GbyDMjwQ8j9Q3p0i+xCwU/0wAOda/L96z6y5wr30XQ3v+tRtkQLwcvTgEfoX6OB72un3r/wUv8lzn/e2vc3xfVJ1YvNG6+rb9GHfFU=\"}"
  },
  {
    "path": "officialworlds/gadgets/what level should you make.bab",
    "content": "{\"width\":18,\"version\":5,\"extra\":false,\"map\":\"eJyVW9uO2zoS/JXgPGx2gUFWpO45mG8JZJtjE5ZFH13GcYL8+0psjtgEFqlOgLwEXRHVVU22qumT+9S7Y9d/+vb68+dse/P61/x9/rb+/evl+2v2Yk+v6uX5qsqX6W6Otutff/56OdnxVf16YfGP/76NZtggaoNoAeTo+v60IfSGyAWIg9nC8y28EITPYzf82BDFhigFiI7ewMdXkifY3gPKDVCL30BVW3zzJzlS9QZpBZB/7SSobA3Pfh99dvNOgVI4/jiabt5ZUBojpqE7HncWVC5A3J27bwifVlUIVuXuV1qWz6wqMeTm3PsG8HlVFQY8jfFPaDygxoDemusGaD2gwYBLR09QVHWtIFNz1/tnKKo6AeH2PLjRQzznWsD5vbMDLcyTrgWkv0+xkLSEcjucYyVpAeWTu7pYS1rAeO9cEAkVkxaQvszOxU3NVzgCjGbaK0o3GPH83PX9XlG6xYjHXk15hqMHNz3sba+NXGGIW46XvTZyjQH30c2GqtyXR54L1vWdiT0vMGAV+3O+mDHqPS8FyXJBu3TKVBhxtu9R7LmA8/EepZsLGPdCfHTPKMVcwPrZ7QdysdGuUbhj0i0URtjjcxduoUXx6594IucYMs3L4TDs8i0KDPn67/0kKEocPpjT1Zhd7UWFIY9lPO3KLWoM6MPxRCIsGoxw7hA1WLQYsDVTPW0kpMNSQPlsbx8Y6ngEpPd2juItBawf3Wiuc9x5SwHtowu7uxd7KWB9cEzu5cZ7juS+VdS9n3bJlxVGHd3NBIynpqwxZrInc7XXXfdlgzEn250DhphpBRjTUzvgqakyjLi4eY7SrxRGzJf13LVvz13+lRYsbOzOhz7u3VWOMYPbULFoqgJjup5t3JVAA8feXlmfUgkEcO+mmbX8AvofyxALphJwH74piBMB77fueYjFUgt4f7eTnT8+vzwl9cZ9AXTcm/teLLUWAC7PL1++7LVS5xhyMKvAlr1U6gJDHqGj9YTUJQZ8dXuR1BUOv7lu3GukrgWvfQ97JPHRYMT6l9dU3WLIuHY2t1hSTYYhx2WcTKyoRkD5o7NzoJBKpJHQ3t3MW+86VieNgPoNFj8cPD2NgH7/tO7IP5MFGnjrn2YXf7OpAH24h56bUldjwPZtNl3pKV7+TSMDrakb9wJoWgxahq//2RXdZhhwdkPc9VuFAcNCH6ZkKWgBwG1Wypsbb7uo2xzDmCfk374tMKZbe4VTVFpbYsjUDVMUWStgfzJmODyjxFqBAPxWxq0YAf/bsb/Lst24r0CfOM6X2LSrLMOQs7s9w7cEmTiZwqD50rGDUmUaQ27GPWLGVJZjyMFsvVJMmcoKwdKWcVh7zGGM9mO2iaAGO4Dr3Xp0sNxVGHRxd/c+stTVGDOum2H41A3JayQgc+L5bjHktgwfRyFlwbt5De5Np5md68p7egC1yfQDFYxAjVHXwZ4v8weOXsy7ewA3j8/uvB4M0eDzDh9ADW4ZTi46fN7iA5gPBInPe3wA8WP9iBgXQpHP540+gDqMlvpucvq81YeS4MYjs/q81wfz1g33bgwHKrGrJZq429gYKu/3tehzbe7mA6sl7/gB0HpGrJUbJeRdP4CZ5uXKKsnbfgByd+se6ejwJvV46w+g1q/DkTZvUo+3/gDmZsfxA0UK8v4felK/mOgmKG8AwiyYfr6w7cF7gAD0D2vHlLcBAWD9F3OcrYszGkVWILCd1k9EvtuRG4iMbDLpiB/yAgFivsSmXJEZCBBrza2PMZEdMgPhc0wkh8xAgDgZ8yPWNtmBaKYSrL2QsUYACV051Si5gaDl/fw5Eun9QAQY2KDH24EI0A2zjcR7RxBBJtMfZ8ak9wSVwOuaIo/eFESYc0eOErHijUEEWam/ret7Y9uudwcRrn/v2Qt5/pGr8n1mr9MIEINTUZbeH0QI827Gp4op8P6gCKRZArxD+FvUxU7svPEGIXrKzS1TNG6UNwgRpjdbNTMVeJMQye3o+vFt6VlbWko2gam393t4Gn00qFKkBGv4o2oB5ODG08g6YG8WIpBNViZRw9MtbGWVWAs5W1oFtWBZS1ChISAFkwQqNAG0cQCmKjT8o2A6+So097OsU6jQwM+ySq/QhJeCQ+7QdJeCqb4rNNilYKrrGo10LXNiVY2muSGaOKxlHIY6rmUkhlOvlrEYGphaRmMoiVrGY6iGWkZkqIJaxuRHNJrbJdENmuGk0ci/T96yQaObNBpZ9mk08u3SaGTZpNEVsATSnNR/FI0smkRVjZBLim6FXIZoIZchGrmyaTRy4pJKgx5cUsXQfkujhVyGaGS2pOtGvnsajeYsPFpnQi7pgkaGpqppNBqopdHIWE+j0aUJvn/rDF2W4GeDztBFCX7u6Azdkkj/bzQxT9eNxuVJtELzsmQlSliX9JZKyGWIFnIZViLcYylYRmXIiIxJkpSSEUl1o9BdF9ZPaSXbXulmlkb3mlg/pTW60ZQEy85JWrNGdxtYd6k1utbAU6fRVRZOikaXWDjdGl1g4ULSskokQWtZIVJwLqxDCpaVIb1gLqtCSl0ua3TCPUV0KYHTnaMLCVxIObqKwCWao1sISbDsXAzBaPzIa7BAo0f+ggUaO/LUFWjkmCxDto2GZch20bAMNFjm2ijQ1QKuugJdK+B6LoSdDQWjuwS8Bkt0iyAJljFIyyhlDNILlrIGlVJXyvrT8D+XooYzvKCsOw3BsuY0BKOBTxKMzH2e5woZ+0kwGvUlwVr0gpRn79/gYGLQ+zfiYDTGS4LR1CYJhk598oYyCkPwn1DoDZzfDlmSPrAWkkhiqtGclllJukbDWX5U1Ggmy/foWsYi7dE1msPyPbpG49ckGA3bkmXISKRsNLI6pGV440agPFpHAwdqPNMNHKYly4aDNK6PBnrnyUqgY568JTTLk2g4M0lWAh1yHt3CWRnPYCs0xSmDLRyPJNXbwslIsjV460YSTruU927kSxfS+bF0IZ/hNy2NLOdh4XD8yfbXPBPyST8zyeDgk3treSYlNITDcSf3PvMMTjrTcCGh4Scl5ODIw4WMhp/FZHCqnYYLj0z6VZMStj3hB03C/ZbeU6G7LFxcCt1y49pSkmsLy703bzMDSQaWb5qJjPwcsYTJ0fk/4b/+Hs12ZefTt7/NcPof7cfvXQ==\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"what level should you make\",\"height\":15,\"author\":\"Butcherberries\"}"
  },
  {
    "path": "officialworlds/minigames/2048 is a big number _(.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"2048 is a big number :(\",\"map\":\"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\"}"
  },
  {
    "path": "officialworlds/minigames/Rif Collapse.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":false,\"palette\":\"marshmallow\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"wind be stil\",\"is_overworld\":false,\"author\":\"Adr\",\"parent_level\":\"\",\"name\":\"Rif Collapse\",\"map\":\"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\"}"
  },
  {
    "path": "officialworlds/minigames/Rif Collapse.replay",
    "content": "1,-1,udlr;0,-1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;-1,0,udlr;-1,1,udlr;-1,0,udlr;-1,-1,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,0,undo;-1,1,udlr;-1,1,udlr;-1,0,udlr;1,-1,udlr;1,1,udlr;1,0,udlr;1,-1,udlr;1,1,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,1,udlr;"
  },
  {
    "path": "officialworlds/minigames/bab be sneke.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":false,\"author\":\"szoob\",\"compression\":\"zlib\",\"height\":13,\"next_level_after_win\":\"\",\"map\":\"eJyNmt1uozAQhV+l6sVqV4q62GAwrfIsFU3YFi1NKppsW1V59wXPGHBCPOcmysV3CMyM549s9zftflO1N4/r7+9D09br28Pn4fGperpdfa6TVbNdq9VX/+X9rd40Vbv+Pq22TbdWp9UM/6jaEdc9ruP4Uz3SaU+ncXq3f96PfNbzWZx/revXkTc9b+L8jxHOeziPw8/H3W66+6IXFPCz2p62oiH/jnzZ8yV67yrpaSX46f7nxA9u7T+Am1eO1/Ew4BAgdvBq5NIBm8XjJWBNPFoCNo9HSsAW8SgJWBsPkoAt4/ExZ3USj46AVfHICFgtxEUAp0hQ7NuZYnCfEs77ccC1ww0URcTm8SjqPye2ELLOnLVCzpmzJRRFjk2TeBT5vESwiodGCGvI38RCLqwnXnIgXzx1sIFcQmwedwmXGGILyCXEWsglxJaAMe5/jXyWYMbIHKwgYxArVcU5K9XEOSvUw+B+hVroQ47gHEpHxBaClRk2DrZQbSC2hGqDY00C1QZiFWQ1YjVUG4hNodpAbAbVBmIN5AxicyhXECs5bjgebdV1X4MkdxILJXBiy7ir3/rPbqTzJO7s8D5yFXfLGa3jxn45dpuK+jriU8g5xGZwwi0cj5VAYrESSKxQAkeLEG3j9ptZhPgStLejiwSyH7FII/qveW8Of7p6N8isk2H9KLFCP8pmJFboR8cHJVrIqWd0Doch8cJ8ETyjBcx48QMlVu9KN74kkBWJVVDmJlZDmZvYFMrcxGZQ5ibWQJmbWMGLAVtAmZtYC2VuYkusq3dwmSyGRrqQoYhXWFQomlI1FBYMp9i0R3AWD4xZNLPAwOeLBUKXcykosMmLYORI0kjOAuk4BvVY0YyZJNhgzjTWtHpaaFvPrr3YuJpFa7JCaIIWFEIrtKDAGiJPIy3Rx29fipQmFdYVeVroi7wPiFZCXxRe2611ImdmHN4ZF7rbKdiYFxqjCz7D3cUKwcEXvwC6l2nEvTyZqpQkoG+ZBn1LtAZ9y7Tg27kxWYH3vV6R4g5jRYY5gGmDrx0zUuSY/ZkuMPszbTH7M13i9idFKvTBCwqF258V2HLI08h6aHdwCkOKDLM/09iGyNPCjujs2sKW6IzG9kSeFuabkHZ7ImAJzLSw6zujNbYIZjrFvM80MquOrzi8yABdSTCgqZyE4MllGjy5TIMnl2nh5PrVF+Nul3QROvoqvriLuI7rpeC5ji+W3Ov4YsXVVwxjkHQ8a3dYlYMDQkF4gcUB08KC0McB09iKkOl8eRIKH3dcS3mRNA6NHrDEL24m0qv44nJiwtumreb44n7CXDww0+AbM6ZzvDizogAjoSQc7KWYFnqpkC7AXoppoZc6ozVWS5hOsVrCdIbVEqaFEfeMxrb4ngaHW6YttoLwOPIqZn/cvMw0VnodQ6/Mm8Pd3d0g0/Rm2wL/WOAe3yukHcb0zowFwh5j6qK8QNhlTK9JmTfxiHObAM4MXiLspcJU7kXCgmr+hwovEfZUg2TT1VXw+NK+Kmg8WHRlb6VOp4euPhy73c3jQ73b/gevOG4r\",\"puffs_to_clear\":0,\"music\":\"bab be u them\",\"is_overworld\":false,\"level_number\":0,\"level_sprite\":\"\",\"name\":\"bab be sneke\",\"palette\":\"variant\"}"
  },
  {
    "path": "officialworlds/minigames/bab be sneke.replay",
    "content": "0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;-1,1,wasd;1,1,wasd;1,0,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;-1,-1,wasd;0,-1,wasd;0,0,undo;-1,-1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;0,0,space;1,0,wasd;0,0,undo;0,0,space;1,0,wasd;1,0,wasd;0,0,undo;0,0,space;0,0,space;1,0,wasd;0,0,space;0,0,space;1,0,wasd;0,0,space;0,0,space;1,0,wasd;0,0,space;0,0,space;1,0,wasd;0,0,space;0,0,space;1,0,wasd;0,0,space;0,0,space;1,0,wasd;1,1,wasd;-1,1,wasd;1,1,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;0,0,undo;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,0,undo;0,0,space;0,-1,wasd;0,-1,wasd;0,-1,wasd;"
  },
  {
    "path": "officialworlds/minigames/beginner.bab",
    "content": "{\"width\":10,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":10,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"futr be neet\",\"is_overworld\":false,\"palette\":\"chocolate\",\"parent_level\":\"\",\"name\":\"beginner\",\"map\":\"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\"}"
  },
  {
    "path": "officialworlds/minigames/better bab snek.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":false,\"author\":\"Slabdrill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"better bab snek\",\"map\":\"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\"}"
  },
  {
    "path": "officialworlds/minigames/better bab snek.replay",
    "content": "1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,0,space;-1,0,wasd;0,0,space;-1,0,wasd;0,0,space;-1,0,wasd;0,0,space;-1,0,wasd;0,0,space;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,0,space;1,0,wasd;0,0,space;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;0,0,space;1,0,wasd;0,0,space;1,0,wasd;0,0,space;1,0,wasd;0,0,space;1,0,wasd;0,0,space;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,0,space;-1,0,wasd;0,0,space;-1,0,wasd;0,0,space;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,0,space;0,-1,wasd;0,0,space;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,0,space;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;-1,0,wasd;0,0,space;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,0,space;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,0,space;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;0,0,space;1,0,wasd;0,0,space;1,0,wasd;0,0,space;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,0,space;0,-1,wasd;0,0,space;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,0,space;-1,0,wasd;0,0,space;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;0,0,space;1,0,wasd;0,0,space;0,0,space;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,0,space;0,-1,wasd;0,0,space;0,-1,wasd;0,0,space;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;0,0,space;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,0,space;-1,0,wasd;0,0,space;-1,0,wasd;0,0,space;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;0,0,space;1,0,wasd;0,0,space;1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,0,space;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,0,space;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,0,space;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,0,space;0,1,wasd;0,1,wasd;0,1,wasd;0,0,space;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,0,space;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,0,space;-1,0,wasd;0,0,space;-1,0,wasd;0,0,space;-1,0,wasd;0,0,space;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,0,space;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,0,space;0,-1,wasd;0,0,space;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,0,space;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,0,space;1,0,wasd;0,0,space;1,0,wasd;0,0,space;1,0,wasd;0,0,space;1,0,wasd;0,0,space;1,0,wasd;0,0,space;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;|e1sidGlsLDEsMTIsMSwyIl0gPSA2ODgsIFsidGlsLDEsMTIsMSwzIl0gPSA1ODUsIFsidGlsLDEsMTIsMSw0Il0gPSA3NDEsIFsidGlsLDEsMTIsMSw1Il0gPSA3NDUsIFsidGlsLDEsMTIsMSw2Il0gPSA2ODYsIFsidGlsLDEsMTIsMSw3Il0gPSA4MTEsIFsidGlsLDEsMTIsMSw4Il0gPSA3MTcsIFsidGlsLDEsMTIsMSw5Il0gPSA3MjYsIFsidGlsLDEsMTIsMSwxMCJdID0gNjA4LCBbInRpbCwxLDEyLDEsMTEiXSA9IDYxMSwgWyJ0aWwsMSwxMiwxLDEyIl0gPSA4MDIsIFsidGlsLDEsMTIsMSwxMyJdID0gODI2LCBbInRpbCwxLDEyLDEsMTQiXSA9IDczNywgWyJ0aWwsMSwxMiwxLDE1Il0gPSA3MjksIFsidGlsLDEsMTIsMSwxNiJdID0gNjYyLCBbInRpbCwxLDEyLDEsMTciXSA9IDc0OSwgWyJ0aWwsMSwxMiwxLDE4Il0gPSA3MDEsIFsidGlsLDEsMTIsMSwxOSJdID0gODgzLCBbInRpbCwxLDEyLDEsMjAiXSA9IDg2NiwgWyJ0aWwsMSwxMiwxLDIxIl0gPSA2NjMsIFsidGlsLDEsMTIsMSwyMiJdID0gODM2LCBbInRpbCwxLDEyLDEsMjMiXSA9IDY1MiwgWyJ0aWwsMSwxMiwxLDI0Il0gPSA1ODYsIFsidGlsLDEsMTIsMSwyNSJdID0gODY2LCBbInRpbCwxLDEyLDEsMjYiXSA9IDgxNSwgWyJ0aWwsMSwxMiwxLDI3Il0gPSA3NjgsIFsidGlsLDEsMTIsMSwyOCJdID0gNzg2LCBbInRpbCwxLDEyLDEsMjkiXSA9IDY3MywgWyJ0aWwsMSwxMiwxLDMwIl0gPSA2NTYsIFsidGlsLDEsMTIsMSwzMSJdID0gOTQwLCBbInRpbCwxLDEyLDEsMzIiXSA9IDc5NiwgWyJ0aWwsMSwxMiwxLDMzIl0gPSA4MzQsIFsidGlsLDEsMTIsMSwzNCJdID0gNjA1LCBbInRpbCwxLDEyLDEsMzUiXSA9IDc1MiwgWyJ0aWwsMSwxMiwxLDM2Il0gPSA2ODUsIFsidGlsLDEsMTIsMSwzNyJdID0gNzMxLCBbInRpbCwxLDEyLDEsMzgiXSA9IDc1NSwgWyJ0aWwsMSwxMiwxLDM5Il0gPSA4NTYsIFsidGlsLDEsMTIsMSw0MCJdID0gNzA0LCBbInRpbCwxLDEyLDEsNDEiXSA9IDY1OCwgWyJ0aWwsMSwxMiwxLDQyIl0gPSA2NzAsIFsidGlsLDEsMTIsMSw0MyJdID0gNzMyLCBbInRpbCwxLDEyLDEsNDQiXSA9IDYyMSwgWyJ0aWwsMSwxMiwxLDQ1Il0gPSA4MjcsIFsidGlsLDEsMTIsMSw0NiJdID0gNzEwLCBbInRpbCwxLDEyLDEsNDciXSA9IDkyNSwgWyJ0aWwsMSwxMiwxLDQ4Il0gPSA5MDAsIFsidGlsLDEsMTIsMSw0OSJdID0gMTExNSwgWyJ0aWwsMSwxMiwxLDUwIl0gPSA1OTcsIFsidGlsLDEsMTIsMSw1MSJdID0gODQ1LCBbInRpbCwxLDEyLDEsNTIiXSA9IDg5MCwgWyJ0aWwsMSwxMiwxLDUzIl0gPSAxMDEwLCBbInRpbCwxLDEyLDEsNTQiXSA9IDYwMCwgWyJ0aWwsMSwxMiwxLDU1Il0gPSA3NTUsIFsidGlsLDEsMTIsMSw1NiJdID0gODkxLCBbInRpbCwxLDEyLDEsNTciXSA9IDYwMywgWyJ0aWwsMSwxMiwxLDU4Il0gPSA3NzIsIFsidGlsLDEsMTIsMSw1OSJdID0gNzk2LCBbInRpbCwxLDEyLDEsNjAiXSA9IDExMTAsIFsidGlsLDEsMTIsMSw2MSJdID0gNjI4LCBbInRpbCwxLDEyLDEsNjIiXSA9IDExNjAsIFsidGlsLDEsMTIsMSw2MyJdID0gNzk2LCBbInRpbCwxLDEyLDEsNjQiXSA9IDk2NSwgWyJ0aWwsMSwxMiwxLDY1Il0gPSA4ODksIFsidGlsLDEsMTIsMSw2NiJdID0gODQzLCBbInRpbCwxLDEyLDEsNjciXSA9IDg1NCwgWyJ0aWwsMSwxMiwxLDY4Il0gPSA3MjUsIFsidGlsLDEsMTIsMSw2OSJdID0gNzczLCBbInRpbCwxLDEyLDEsNzAiXSA9IDczNSwgWyJ0aWwsMSwxMiwxLDcxIl0gPSA4ODIsIFsidGlsLDEsMTIsMSw3MiJdID0gODM2LCBbInRpbCwxLDEyLDEsNzMiXSA9IDY0NywgWyJ0aWwsMSwxMiwxLDc0Il0gPSA2OTEsIFsidGlsLDEsMTIsMSw3NSJdID0gNzYwLCBbInRpbCwxLDEyLDEsNzYiXSA9IDYzNSwgWyJ0aWwsMSwxMiwxLDc3Il0gPSA3MjYsIFsidGlsLDEsMTIsMSw3OCJdID0gODU0LCBbInRpbCwxLDEyLDEsNzkiXSA9IDg4NCwgWyJ0aWwsMSwxMiwxLDgwIl0gPSA4NzcsIFsidGlsLDEsMTIsMSw4MSJdID0gODE2LCBbInRpbCwxLDEyLDEsODIiXSA9IDY1NiwgWyJ0aWwsMSwxMiwxLDgzIl0gPSA2OTIsIFsidGlsLDEsMTIsMSw4NCJdID0gODU3LCBbInRpbCwxLDEyLDEsODUiXSA9IDY2NywgWyJ0aWwsMSwxMiwxLDg2Il0gPSA5ODUsIFsidGlsLDEsMTIsMSw4NyJdID0gODg0LCBbInRpbCwxLDEyLDEsODgiXSA9IDc2OCwgWyJ0aWwsMSwxMiwxLDg5Il0gPSAxMDk1LCBbInRpbCwxLDEyLDEsOTAiXSA9IDg4NSwgWyJ0aWwsMSwxMiwxLDkxIl0gPSA4NTcsIFsidGlsLDEsMTIsMSw5MiJdID0gNzYxLCBbInRpbCwxLDEyLDEsOTMiXSA9IDY1NSwgWyJ0aWwsMSwxMiwxLDk0Il0gPSA3NjUsIFsidGlsLDEsMTIsMSw5NSJdID0gMTA0MCwgWyJ0aWwsMSwxMiwxLDk2Il0gPSAxMjIwLCBbInRpbCwxLDEyLDEsOTciXSA9IDEwOTUsIFsidGlsLDEsMTIsMSw5OCJdID0gMTEwNSwgWyJ0aWwsMSwxMiwxLDk5Il0gPSAxMDQ1LCBbInRpbCwxLDEyLDEsMTAwIl0gPSA2MTQsIFsidGlsLDEsMTIsMSwxMDEiXSA9IDYzMSwgWyJ0aWwsMSwxMiwxLDEwMiJdID0gMTIxMCwgWyJ0aWwsMSwxMiwxLDEwMyJdID0gNjY4LCBbInRpbCwxLDEyLDEsMTA0Il0gPSAxMjQwLCBbInRpbCwxLDEyLDEsMTA1Il0gPSA3NTMsIFsidGlsLDEsMTIsMSwxMDYiXSA9IDg2OSwgWyJ0aWwsMSwxMiwxLDEwNyJdID0gMTI1MCwgWyJ0aWwsMSwxMiwxLDEwOCJdID0gMTM2NSwgWyJ0aWwsMSwxMiwxLDEwOSJdID0gMTEwNSwgWyJ0aWwsMSwxMiwxLDExMCJdID0gODkyLCBbInRpbCwxLDEyLDEsMTExIl0gPSA4NjQsIFsidGlsLDEsMTIsMSwxMTIiXSA9IDgzNywgWyJ0aWwsMSwxMiwxLDExMyJdID0gNjQ1LCBbInRpbCwxLDEyLDEsMTE0Il0gPSA2NzgsIFsidGlsLDEsMTIsMSwxMTUiXSA9IDg3MiwgWyJ0aWwsMSwxMiwxLDExNiJdID0gMTI2MCwgWyJ0aWwsMSwxMiwxLDExNyJdID0gNzcyLCBbInRpbCwxLDEyLDEsMTE4Il0gPSAxMzAxLCBbInRpbCwxLDEyLDEsMTE5Il0gPSAxMjY1LCBbInRpbCwxLDEyLDEsMTIwIl0gPSA4ODYsIFsidGlsLDEsMTIsMSwxMjEiXSA9IDYxNSwgWyJ0aWwsMSwxMiwxLDEyMiJdID0gMTIyNSwgWyJ0aWwsMSwxMiwxLDEyMyJdID0gODY5LCBbInRpbCwxLDEyLDEsMTI0Il0gPSA4NzAsIFsidGlsLDEsMTIsMSwxMjUiXSA9IDYyOCwgWyJ0aWwsMSwxMiwxLDEyNiJdID0gNjc5LCBbInRpbCwxLDEyLDEsMTI3Il0gPSA4NjYsIFsidGlsLDEsMTIsMSwxMjgiXSA9IDY0MywgWyJ0aWwsMSwxMiwxLDEyOSJdID0gNzMzLCBbInRpbCwxLDEyLDEsMTMwIl0gPSA4MjMsIFsidGlsLDEsMTIsMSwxMzEiXSA9IDkwMCwgWyJ0aWwsMSwxMiwxLDEzMiJdID0gMTE1NSwgWyJ0aWwsMSwxMiwxLDEzMyJdID0gNzM2LCBbInRpbCwxLDEyLDEsMTM0Il0gPSA2NTAsIFsidGlsLDEsMTIsMSwxMzUiXSA9IDY4MSwgWyJ0aWwsMSwxMiwxLDEzNiJdID0gNzA2LCBbInRpbCwxLDEyLDEsMTM3Il0gPSA1ODUsIFsidGlsLDEsMTIsMSwxMzgiXSA9IDY0NSwgWyJ0aWwsMSwxMiwxLDEzOSJdID0gODg5LCBbInRpbCwxLDEyLDEsMTQwIl0gPSAxNTA1LCBbInRpbCwxLDEyLDEsMTQxIl0gPSA3MTEsIFsidGlsLDEsMTIsMSwxNDIiXSA9IDY0NSwgWyJ0aWwsMSwxMiwxLDE0MyJdID0gODIyLCBbInRpbCwxLDEyLDEsMTQ0Il0gPSA4MjIsIFsidGlsLDEsMTIsMSwxNDUiXSA9IDEyODAsIFsidGlsLDEsMTIsMSwxNDYiXSA9IDc3NSwgWyJ0aWwsMSwxMiwxLDE0NyJdID0gMTU1NSwgWyJ0aWwsMSwxMiwxLDE0OCJdID0gODAyLCBbInRpbCwxLDEyLDEsMTQ5Il0gPSA5ODAsIFsidGlsLDEsMTIsMSwxNTAiXSA9IDEwMTAsIFsidGlsLDEsMTIsMSwxNTEiXSA9IDY5OSwgWyJ0aWwsMSwxMiwxLDE1MiJdID0gNzM3LCBbInRpbCwxLDEyLDEsMTUzIl0gPSA3MjYsIFsidGlsLDEsMTIsMSwxNTQiXSA9IDE1NDUsIFsidGlsLDEsMTIsMSwxNTUiXSA9IDEyOTUsIFsidGlsLDEsMTIsMSwxNTYiXSA9IDkwNSwgWyJ0aWwsMSwxMiwxLDE1NyJdID0gNzEwLCBbInRpbCwxLDEyLDEsMTU4Il0gPSA4OTAsIFsidGlsLDEsMTIsMSwxNTkiXSA9IDY2OSwgWyJ0aWwsMSwxMiwxLDE2MCJdID0gMTU3NSwgWyJ0aWwsMSwxMiwxLDE2MSJdID0gMTUzMiwgWyJ0aWwsMSwxMiwxLDE2MiJdID0gMTI0NSwgWyJ0aWwsMSwxMiwxLDE2MyJdID0gODY3LCBbInRpbCwxLDEyLDEsMTY0Il0gPSA1OTUsIFsidGlsLDEsMTIsMSwxNjUiXSA9IDE0OTAsIFsidGlsLDEsMTIsMSwxNjYiXSA9IDE1MDUsIFsidGlsLDEsMTIsMSwxNjciXSA9IDE2NDYsIFsidGlsLDEsMTIsMSwxNjgiXSA9IDgyNCwgWyJ0aWwsMSwxMiwxLDE2OSJdID0gMTQzNSwgWyJ0aWwsMSwxMiwxLDE3MCJdID0gNjQ1LCBbInRpbCwxLDEyLDEsMTcxIl0gPSA4MjUsIFsidGlsLDEsMTIsMSwxNzIiXSA9IDYwMSwgWyJ0aWwsMSwxMiwxLDE3MyJdID0gNzI4LCBbInRpbCwxLDEyLDEsMTc0Il0gPSA3OTcsIFsidGlsLDEsMTIsMSwxNzUiXSA9IDE0MjAsIFsidGlsLDEsMTIsMSwxNzYiXSA9IDEwMTUsIFsidGlsLDEsMTIsMSwxNzciXSA9IDg3MSwgWyJ0aWwsMSwxMiwxLDE3OCJdID0gMTMzMCwgWyJ0aWwsMSwxMiwxLDE3OSJdID0gODc3LCBbInRpbCwxLDEyLDEsMTgwIl0gPSA4NDYsIFsidGlsLDEsMTIsMSwxODEiXSA9IDExNDUsIFsidGlsLDEsMTIsMSwxODIiXSA9IDE2MzUsIFsidGlsLDEsMTIsMSwxODMiXSA9IDc4MywgWyJ0aWwsMSwxMiwxLDE4NCJdID0gNjk1LCBbInRpbCwxLDEyLDEsMTg1Il0gPSAxNzI1LCBbInRpbCwxLDEyLDEsMTg2Il0gPSA2MjgsIFsidGlsLDEsMTIsMSwxODciXSA9IDY4MCwgWyJ0aWwsMSwxMiwxLDE4OCJdID0gMTU5MCwgWyJ0aWwsMSwxMiwxLDE4OSJdID0gOTY1LCBbInRpbCwxLDEyLDEsMTkwIl0gPSA4NjgsIFsidGlsLDEsMTIsMSwxOTEiXSA9IDg2NCwgWyJ0aWwsMSwxMiwxLDE5MiJdID0gNjc4LCBbInRpbCwxLDEyLDEsMTkzIl0gPSAxMjgwLCBbInRpbCwxLDEyLDEsMTk0Il0gPSA3ODQsIFsidGlsLDEsMTIsMSwxOTUiXSA9IDkxNSwgWyJ0aWwsMSwxMiwxLDE5NiJdID0gNjUxLCBbInRpbCwxLDEyLDEsMTk3Il0gPSAxMTMwLCBbInRpbCwxLDEyLDEsMTk4Il0gPSA2MjUsIFsidGlsLDEsMTIsMSwxOTkiXSA9IDkwMCwgWyJ0aWwsMSwxMiwxLDIwMCJdID0gMTgxNSwgWyJ0aWwsMSwxMiwxLDIwMSJdID0gNjE0LCBbInRpbCwxLDEyLDEsMjAyIl0gPSA4ODEsIFsidGlsLDEsMTIsMSwyMDMiXSA9IDEyNDUsIFsidGlsLDEsMTIsMSwyMDQiXSA9IDY1NiwgWyJ0aWwsMSwxMiwxLDIwNSJdID0gODg3LCBbInRpbCwxLDEyLDEsMjA2Il0gPSA2NTUsIFsidGlsLDEsMTIsMSwyMDciXSA9IDE5MTUsIFsidGlsLDEsMTIsMSwyMDgiXSA9IDg4MCwgWyJ0aWwsMSwxMiwxLDIwOSJdID0gNzg4LCBbInRpbCwxLDEyLDEsMjEwIl0gPSA2OTUsIFsidGlsLDEsMTIsMSwyMTEiXSA9IDEzMzUsIFsidGlsLDEsMTIsMSwyMTIiXSA9IDE4MDUsIFsidGlsLDEsMTIsMSwyMTMiXSA9IDcyNywgWyJ0aWwsMSwxMiwxLDIxNCJdID0gMTI3NSwgWyJ0aWwsMSwxMiwxLDIxNSJdID0gOTM1LCBbInRpbCwxLDEyLDEsMjE2Il0gPSAxNjIwLCBbInRpbCwxLDEyLDEsMjE3Il0gPSAxMjI1LCBbInRpbCwxLDEyLDEsMjE4Il0gPSAxNTkwLCBbInRpbCwxLDEyLDEsMjE5Il0gPSAxNTQwLCBbInRpbCwxLDEyLDEsMjIwIl0gPSA3NzUsIFsidGlsLDEsMTIsMSwyMjEiXSA9IDEzNjUsIFsidGlsLDEsMTIsMSwyMjIiXSA9IDE0ODAsIFsidGlsLDEsMTIsMSwyMjMiXSA9IDg0NCwgWyJ0aWwsMSwxMiwxLDIyNCJdID0gODM0LCBbInRpbCwxLDEyLDEsMjI1Il0gPSA4NTAsIFsidGlsLDEsMTIsMSwyMjYiXSA9IDEzMjUsIFsidGlsLDEsMTIsMSwyMjciXSA9IDExMDAsIFsidGlsLDEsMTIsMSwyMjgiXSA9IDE5NjUsIFsidGlsLDEsMTIsMSwyMjkiXSA9IDc5OCwgWyJ0aWwsMSwxMiwxLDIzMCJdID0gNjY4LCBbInRpbCwxLDEyLDEsMjMxIl0gPSAxNzY1LCBbInRpbCwxLDEyLDEsMjMyIl0gPSA4ODYsIFsidGlsLDEsMTIsMSwyMzMiXSA9IDE0MDAsIFsidGlsLDEsMTIsMSwyMzQiXSA9IDkzMCwgWyJ0aWwsMSwxMiwxLDIzNSJdID0gMTM1MCwgWyJ0aWwsMSwxMiwxLDIzNiJdID0gMTg5NSwgWyJ0aWwsMSwxMiwxLDIzNyJdID0gNzc3LCBbInRpbCwxLDEyLDEsMjM4Il0gPSAxOTIwLCBbInRpbCwxLDEyLDEsMjM5Il0gPSAxNTgwLCBbInRpbCwxLDEyLDEsMjQwIl0gPSAxNTUwLCBbInRpbCwxLDEyLDEsMjQxIl0gPSA2NjgsIFsidGlsLDEsMTIsMSwyNDIiXSA9IDIwMzksIFsidGlsLDEsMTIsMSwyNDMiXSA9IDYwMiwgWyJ0aWwsMSwxMiwxLDI0NCJdID0gMTU5MCwgWyJ0aWwsMSwxMiwxLDI0NSJdID0gOTU1LCBbInRpbCwxLDEyLDEsMjQ2Il0gPSAyMTAyLCBbInRpbCwxLDEyLDEsMjQ3Il0gPSA4NjYsIFsidGlsLDEsMTIsMSwyNDgiXSA9IDY2OCwgWyJ0aWwsMSwxMiwxLDI0OSJdID0gOTIwLCBbInRpbCwxLDEyLDEsMjUwIl0gPSA3MjcsIFsidGlsLDEsMTIsMSwyNTEiXSA9IDcxNSwgWyJ0aWwsMSwxMiwxLDI1MiJdID0gMTQwMCwgWyJ0aWwsMSwxMiwxLDI1MyJdID0gMTcwNSwgWyJ0aWwsMSwxMiwxLDI1NCJdID0gNzg0LCBbInRpbCwxLDEyLDEsMjU1Il0gPSA2NTEsIFsidGlsLDEsMTIsMSwyNTYiXSA9IDc4NCwgWyJ0aWwsMSwxMiwxLDI1NyJdID0gODY1LCBbInRpbCwxLDEyLDEsMjU4Il0gPSA4NjcsIFsidGlsLDEsMTIsMSwyNTkiXSA9IDg4OSwgWyJ0aWwsMSwxMiwxLDI2MCJdID0gMTM2NSwgWyJ0aWwsMSwxMiwxLDI2MSJdID0gODg5LCBbInRpbCwxLDEyLDEsMjYyIl0gPSA4MTQsIFsidGlsLDEsMTIsMSwyNjMiXSA9IDY1MiwgWyJ0aWwsMSwxMiwxLDI2NCJdID0gNTk2LCBbInRpbCwxLDEyLDEsMjY1Il0gPSAxMDI1LCBbInRpbCwxLDEyLDEsMjY2Il0gPSA2ODcsIFsidGlsLDEsMTIsMSwyNjciXSA9IDE1MjUsIFsidGlsLDEsMTIsMSwyNjgiXSA9IDE5ODEsIFsidGlsLDEsMTIsMSwyNjkiXSA9IDE5MDAsIFsidGlsLDEsMTIsMSwyNzAiXSA9IDg4OSwgWyJ0aWwsMSwxMiwxLDI3MSJdID0gNzUyLCBbInRpbCwxLDEyLDEsMjcyIl0gPSA4OTIsIFsidGlsLDEsMTIsMSwyNzMiXSA9IDE5NzUsIFsidGlsLDEsMTIsMSwyNzQiXSA9IDIwODMsIFsidGlsLDEsMTIsMSwyNzUiXSA9IDE0ODUsIFsidGlsLDEsMTIsMSwyNzYiXSA9IDIyMTgsIFsidGlsLDEsMTIsMSwyNzciXSA9IDY2MSwgWyJ0aWwsMSwxMiwxLDI3OCJdID0gMTg5MCwgWyJ0aWwsMSwxMiwxLDI3OSJdID0gOTUwLCBbInRpbCwxLDEyLDEsMjgwIl0gPSA4MzMsIFsidGlsLDEsMTIsMSwyODEiXSA9IDE0MjUsIFsidGlsLDEsMTIsMSwyODIiXSA9IDY4NywgWyJ0aWwsMSwxMiwxLDI4MyJdID0gMTUxNSwgWyJ0aWwsMSwxMiwxLDI4NCJdID0gNjY4LCBbInRpbCwxLDEyLDEsMjg1Il0gPSAxNDY1LCBbInRpbCwxLDEyLDEsMjg2Il0gPSAxNDI1LCBbInRpbCwxLDEyLDEsMjg3Il0gPSAxNTEwLCBbInRpbCwxLDEyLDEsMjg4Il0gPSAxODQ1LCBbInRpbCwxLDEyLDEsMjg5Il0gPSAxMzcwLCBbInRpbCwxLDEyLDEsMjkwIl0gPSAxMzY1LCBbInRpbCwxLDEyLDEsMjkxIl0gPSAyMDk3LCBbInRpbCwxLDEyLDEsMjkyIl0gPSAxMjI1LCBbInRpbCwxLDEyLDEsMjkzIl0gPSA2MDIsIFsidGlsLDEsMTIsMSwyOTQiXSA9IDYyMSwgWyJ0aWwsMSwxMiwxLDI5NSJdID0gODgyLCBbInRpbCwxLDEyLDEsMjk2Il0gPSAxMjUwLCBbInRpbCwxLDEyLDEsMjk3Il0gPSA4NjUsIFsidGlsLDEsMTIsMSwyOTgiXSA9IDE1ODUsIFsidGlsLDEsMTIsMSwyOTkiXSA9IDIzNDgsIFsidGlsLDEsMTIsMSwzMDAiXSA9IDEyNDUsIFsidGlsLDEsMTIsMSwzMDEiXSA9IDExNTAsIFsidGlsLDEsMTIsMSwzMDIiXSA9IDIzNTMsIFsidGlsLDEsMTIsMSwzMDMiXSA9IDg0MCwgWyJ0aWwsMSwxMiwxLDMwNCJdID0gMTE3NSwgWyJ0aWwsMSwxMiwxLDMwNSJdID0gMTY1NSwgWyJ0aWwsMSwxMiwxLDMwNiJdID0gMTU5NSwgWyJ0aWwsMSwxMiwxLDMwNyJdID0gMTI2NSwgWyJ0aWwsMSwxMiwxLDMwOCJdID0gODgyLCBbInRpbCwxLDEyLDEsMzA5Il0gPSAxMjAwLCBbInRpbCwxLDEyLDEsMzEwIl0gPSA4MTgsIFsidGlsLDEsMTIsMSwzMTEiXSA9IDEzNDUsIFsidGlsLDEsMTIsMSwzMTIiXSA9IDY4NiwgWyJ0aWwsMSwxMiwxLDMxMyJdID0gODg3LCBbInRpbCwxLDEyLDEsMzE0Il0gPSA3OTgsIFsidGlsLDEsMTIsMSwzMTUiXSA9IDIzOTgsIFsidGlsLDEsMTIsMSwzMTYiXSA9IDcwMCwgWyJ0aWwsMSwxMiwxLDMxNyJdID0gOTU1LCBbInRpbCwxLDEyLDEsMzE4Il0gPSAyNDU4LCBbInRpbCwxLDEyLDEsMzE5Il0gPSAyMjAzLCBbInRpbCwxLDEyLDEsMzIwIl0gPSAxODYwLCBbInRpbCwxLDEyLDEsMzIxIl0gPSA4NTYsIFsidGlsLDEsMTIsMSwzMjIiXSA9IDc2MCwgWyJ0aWwsMSwxMiwxLDMyMyJdID0gMTE0MCwgWyJ0aWwsMSwxMiwxLDMyNCJdID0gMTY2NSwgWyJ0aWwsMSwxMiwxLDMyNSJdID0gODg3LCBbInRpbCwxLDEyLDEsMzI2Il0gPSAxOTE1LCBbInRpbCwxLDEyLDEsMzI3Il0gPSA4ODIsIFsidGlsLDEsMTIsMSwzMjgiXSA9IDEyMzAsIFsidGlsLDEsMTIsMSwzMjkiXSA9IDIxNzgsIFsidGlsLDEsMTIsMSwzMzAiXSA9IDYwMywgWyJ0aWwsMSwxMiwxLDMzMSJdID0gNjc4LCBbInRpbCwxLDEyLDEsMzMyIl0gPSA4NTYsIFsidGlsLDEsMTIsMSwzMzMiXSA9IDY4NiwgWyJ0aWwsMSwxMiwxLDMzNCJdID0gMTY0NiwgWyJ0aWwsMSwxMiwxLDMzNSJdID0gMjAwOSwgWyJ0aWwsMSwxMiwxLDMzNiJdID0gNjM5LCBbInRpbCwxLDEyLDEsMzM3Il0gPSAxMzYwLCBbInRpbCwxLDEyLDEsMzM4Il0gPSA3ODAsIFsidGlsLDEsMTIsMSwzMzkiXSA9IDg0MiwgWyJ0aWwsMSwxMiwxLDM0MCJdID0gMTQyMCwgWyJ0aWwsMSwxMiwxLDM0MSJdID0gMjM2OCwgWyJ0aWwsMSwxMiwxLDM0MiJdID0gMjI0MywgWyJ0aWwsMSwxMiwxLDM0MyJdID0gNjU1LCBbInRpbCwxLDEyLDEsMzQ0Il0gPSA2NzgsIFsidGlsLDEsMTIsMSwzNDUiXSA9IDI0NjUsIFsidGlsLDEsMTIsMSwzNDYiXSA9IDEyNTUsIFsidGlsLDEsMTIsMSwzNDciXSA9IDE4NzAsIFsidGlsLDEsMTIsMSwzNDgiXSA9IDc1NywgWyJ0aWwsMSwxMiwxLDM0OSJdID0gMjUwOCwgWyJ0aWwsMSwxMiwxLDM1MCJdID0gMTI4MCwgWyJ0aWwsMSwxMiwxLDM1MSJdID0gODg2LCBbInRpbCwxLDEyLDEsMzUyIl0gPSAxNDIwLCBbInRpbCwxLDEyLDEsMzUzIl0gPSAyMjc4LCBbInRpbCwxLDEyLDEsMzU0Il0gPSAxNjYwLCBbInRpbCwxLDEyLDEsMzU1Il0gPSAxODc1LCBbInRpbCwxLDEyLDEsMzU2Il0gPSAxNjM1LCBbInRpbCwxLDEyLDEsMzU3Il0gPSA2MDcsIFsidGlsLDEsMTIsMSwzNTgiXSA9IDg0MywgWyJ0aWwsMSwxMiwxLDM1OSJdID0gMTkxNSwgWyJ0aWwsMSwxMiwxLDM2MCJdID0gMjI2OCwgWyJ0aWwsMSwxMiwxLDM2MSJdID0gMjA3NSwgWyJ0aWwsMSwxMiwxLDM2MiJdID0gMTEyNSwgWyJ0aWwsMSwxMiwxLDM2MyJdID0gNjMzLCBbInRpbCwxLDEyLDEsMzY0Il0gPSA2MzksIFsidGlsLDEsMTIsMSwzNjUiXSA9IDEyMDAsIFsidGlsLDEsMTIsMSwzNjYiXSA9IDk1NSwgWyJ0aWwsMSwxMiwxLDM2NyJdID0gMjE4MywgWyJ0aWwsMSwxMiwxLDM2OCJdID0gMjU0MCwgWyJ0aWwsMSwxMiwxLDM2OSJdID0gNjM5LCBbInRpbCwxLDEyLDEsMzcwIl0gPSA5MzUsIFsidGlsLDEsMTIsMSwzNzEiXSA9IDEzMDEsIFsidGlsLDEsMTIsMSwzNzIiXSA9IDE2ODUsIFsidGlsLDEsMTIsMSwzNzMiXSA9IDEyMTAsIFsidGlsLDEsMTIsMSwzNzQiXSA9IDIwNTQsIFsidGlsLDEsMTIsMSwzNzUiXSA9IDI2ODgsIFsidGlsLDEsMTIsMSwzNzYiXSA9IDI0MjgsIFsidGlsLDEsMTIsMSwzNzciXSA9IDYwMiwgWyJ0aWwsMSwxMiwxLDM3OCJdID0gMjE0NywgWyJ0aWwsMSwxMiwxLDM3OSJdID0gMTQwMCwgWyJ0aWwsMSwxMiwxLDM4MCJdID0gMTYyMCwgWyJ0aWwsMSwxMiwxLDM4MSJdID0gMjA1OSwgWyJ0aWwsMSwxMiwxLDM4MiJdID0gMjQ3MywgWyJ0aWwsMSwxMiwxLDM4MyJdID0gMTcwMCwgWyJ0aWwsMSwxMiwxLDM4NCJdID0gMjU5OCwgWyJ0aWwsMSwxMiwxLDM4NSJdID0gMjYzMywgWyJ0aWwsMSwxMiwxLDM4NiJdID0gMjUwOCwgWyJ0aWwsMSwxMiwxLDM4NyJdID0gMjI5OCwgWyJ0aWwsMSwxMiwxLDM4OCJdID0gMjcwOCwgWyJ0aWwsMSwxMiwxLDM4OSJdID0gOTMwLCBbInRpbCwxLDEyLDEsMzkwIl0gPSAxMjIwLCBbInRpbCwxLDEyLDEsMzkxIl0gPSAyNjM4LCBbInRpbCwxLDEyLDEsMzkyIl0gPSAyMjQ4LCBbInRpbCwxLDEyLDEsMzkzIl0gPSAyMjczLCBbInRpbCwxLDEyLDEsMzk0Il0gPSAyNTAzLCBbInRpbCwxLDEyLDEsMzk1Il0gPSAyNDQ4LCBbInRpbCwxLDEyLDEsMzk2Il0gPSAyODA3LCBbInRpbCwxLDEyLDEsMzk3Il0gPSAyMjU5LCBbInRpbCwxLDEyLDEsMzk4Il0gPSA4ODUsIFsidGlsLDEsMTIsMSwzOTkiXSA9IDE0MTIsIFsidGlsLDEsMTIsMSw0MDAiXSA9IDcyNSwgWyJ0aWwsMSwxMiwxLDQwMSJdID0gNzE1LCBbInRpbCwxLDEyLDEsNDAyIl0gPSAyMTA3LCBbInRpbCwxLDEyLDEsNDAzIl0gPSAyMjE4LCBbInRpbCwxLDEyLDEsNDA0Il0gPSAyODYzLCBbInRpbCwxLDEyLDEsNDA1Il0gPSAyOTAzLCBbInRpbCwxLDEyLDEsNDA2Il0gPSAxOTgxLCBbInRpbCwxLDEyLDEsNDA3Il0gPSA4ODEsIFsidGlsLDEsMTIsMSw0MDgiXSA9IDg2NSwgWyJ0aWwsMSwxMiwxLDQwOSJdID0gMjc3OCwgWyJ0aWwsMSwxMiwxLDQxMCJdID0gODgxLCBbInRpbCwxLDEyLDEsNDExIl0gPSAyNjczLCBbInRpbCwxLDEyLDEsNDEyIl0gPSA4NjYsIFsidGlsLDEsMTIsMSw0MTMiXSA9IDI1ODgsIFsidGlsLDEsMTIsMSw0MTQiXSA9IDI5MTgsIFsidGlsLDEsMTIsMSw0MTUiXSA9IDEyNzAsIFsidGlsLDEsMTIsMSw0MTYiXSA9IDI1OTgsIFsidGlsLDEsMTIsMSw0MTciXSA9IDI2NTMsIFsidGlsLDEsMTIsMSw0MTgiXSA9IDI2OTgsIFsidGlsLDEsMTIsMSw0MTkiXSA9IDI5NjgsIFsidGlsLDEsMTIsMSw0MjAiXSA9IDI2MDMsIFsidGlsLDEsMTIsMSw0MjEiXSA9IDk0NSwgWyJ0aWwsMSwxMiwxLDQyMiJdID0gNjg2LCBbInRpbCwxLDEyLDEsNDIzIl0gPSAxODc1LCBbInRpbCwxLDEyLDEsNDI0Il0gPSAyNzc4LCBbInRpbCwxLDEyLDEsNDI1Il0gPSA4OTEsIFsidGlsLDEsMTIsMSw0MjYiXSA9IDI3NjMsIFsidGlsLDEsMTIsMSw0MjciXSA9IDIyMzMsIFsidGlsLDEsMTIsMSw0MjgiXSA9IDg2NywgWyJ0aWwsMSwxMiwxLDQyOSJdID0gMTg2MCwgWyJ0aWwsMSwxMiwxLDQzMCJdID0gODU1LCBbInRpbCwxLDEyLDEsNDMxIl0gPSAxMTk1LCBbInRpbCwxLDEyLDEsNDMyIl0gPSA3MzAsIFsidGlsLDEsMTIsMSw0MzMiXSA9IDE3MTAsIFsidGlsLDEsMTIsMSw0MzQiXSA9IDI3ODMsIFsidGlsLDEsMTIsMSw0MzUiXSA9IDI5MDMsIFsidGlsLDEsMTIsMSw0MzYiXSA9IDI5ODgsIFsidGlsLDEsMTIsMSw0MzciXSA9IDE4ODAsIFsidGlsLDEsMTIsMSw0MzgiXSA9IDg5MywgWyJ0aWwsMSwxMiwxLDQzOSJdID0gMjgwNywgWyJ0aWwsMSwxMiwxLDQ0MCJdID0gMjk2MywgWyJ0aWwsMSwxMiwxLDQ0MSJdID0gMjg2OCwgWyJ0aWwsMSwxMiwxLDQ0MiJdID0gODg3LCBbInRpbCwxLDEyLDEsNDQzIl0gPSAyNTk4LCBbInRpbCwxLDEyLDEsNDQ0Il0gPSA1OTUsIFsidGlsLDEsMTIsMSw0NDUiXSA9IDE5MTAsIFsidGlsLDEsMTIsMSw0NDYiXSA9IDE0NDYsIFsidGlsLDEsMTIsMSw0NDciXSA9IDEyNDAsIFsidGlsLDEsMTIsMSw0NDgiXSA9IDEzOTAsIFsidGlsLDEsMTIsMSw0NDkiXSA9IDIwNDksIFsidGlsLDEsMTIsMSw0NTAiXSA9IDIwNzUsIFsidGlsLDEsMTIsMSw0NTEiXSA9IDI3NzMsIFsidGlsLDEsMTIsMSw0NTIiXSA9IDE1ODUsIFsidGlsLDEsMTIsMSw0NTMiXSA9IDg0MiwgWyJ0aWwsMSwxMiwxLDQ1NCJdID0gMjczOCwgWyJ0aWwsMSwxMiwxLDQ1NSJdID0gOTMwLCBbInRpbCwxLDEyLDEsNDU2Il0gPSAyMDA5LCBbInRpbCwxLDEyLDEsNDU3Il0gPSAzMDY4LCBbInRpbCwxLDEyLDEsNDU4Il0gPSAyOTQ0LCBbInRpbCwxLDEyLDEsNDU5Il0gPSAyOTk4LCBbInRpbCwxLDEyLDEsNDYwIl0gPSAyNjYzLCBbInRpbCwxLDEyLDEsNDYxIl0gPSAxNzc1LCBbInRpbCwxLDEyLDEsNDYyIl0gPSAzMDgzLCBbInRpbCwxLDEyLDEsNDYzIl0gPSA2MDcsIFsidGlsLDEsMTIsMSw0NjQiXSA9IDI1MzMsIFsidGlsLDEsMTIsMSw0NjUiXSA9IDY4NywgWyJ0aWwsMSwxMiwxLDQ2NiJdID0gMjc1MywgWyJ0aWwsMSwxMiwxLDQ2NyJdID0gODgxLCBbInRpbCwxLDEyLDEsNDY4Il0gPSA4NjQsIFsidGlsLDEsMTIsMSw0NjkiXSA9IDEyNzUsIFsidGlsLDEsMTIsMSw0NzAiXSA9IDc1MiwgWyJ0aWwsMSwxMiwxLDQ3MSJdID0gNjk3LCBbInRpbCwxLDEyLDEsNDcyIl0gPSAyNjYzLCBbInRpbCwxLDEyLDEsNDczIl0gPSAyODIzLCBbInRpbCwxLDEyLDEsNDc0Il0gPSAxNzgwLCBbInRpbCwxLDEyLDEsNDc1Il0gPSAxNjM1LCBbInRpbCwxLDEyLDEsNDc2Il0gPSAzMTU4LCBbInRpbCwxLDEyLDEsNDc3Il0gPSAxNTg1LCBbInRpbCwxLDEyLDEsNDc4Il0gPSAxNTY3LCBbInRpbCwxLDEyLDEsNDc5Il0gPSAyNDY1LCBbInRpbCwxLDEyLDEsNDgwIl0gPSAzMTgzLCBbInRpbCwxLDEyLDEsNDgxIl0gPSAxNjQ2LCBbInRpbCwxLDEyLDEsNDgyIl0gPSAyMjI4LCBbInRpbCwxLDEyLDEsNDgzIl0gPSA1OTUsIFsidGlsLDEsMTIsMSw0ODQiXSA9IDI5NTgsIFsidGlsLDEsMTIsMSw0ODUiXSA9IDMxMzAsIFsidGlsLDEsMTIsMSw0ODYiXSA9IDI3NzMsIFsidGlsLDEsMTIsMSw0ODciXSA9IDU4NiwgWyJ0aWwsMSwxMiwxLDQ4OCJdID0gMzMxNiwgWyJ0aWwsMSwxMiwxLDQ4OSJdID0gNzUyLCBbInRpbCwxLDEyLDEsNDkwIl0gPSAzMTYzLCBbInRpbCwxLDEyLDEsNDkxIl0gPSAyODg0LCBbInRpbCwxLDEyLDEsNDkyIl0gPSA4MDEsIFsidGlsLDEsMTIsMSw0OTMiXSA9IDMwOTMsIFsidGlsLDEsMTIsMSw0OTQiXSA9IDI4OTMsIFsidGlsLDEsMTIsMSw0OTUiXSA9IDMxMjMsIFsidGlsLDEsMTIsMSw0OTYiXSA9IDI3NzgsIFsidGlsLDEsMTIsMSw0OTciXSA9IDcxNSwgWyJ0aWwsMSwxMiwxLDQ5OCJdID0gMjY5OCwgWyJ0aWwsMSwxMiwxLDQ5OSJdID0gMjk1MywgWyJ0aWwsMSwxMiwxLDUwMCJdID0gMTYwMCwgWyJ0aWwsMSwxMiwxLDUwMSJdID0gMTMxMCwgWyJ0aWwsMSwxMiwxLDUwMiJdID0gMzI1NSwgWyJ0aWwsMSwxMiwxLDUwMyJdID0gMzMxNiwgWyJ0aWwsMSwxMiwxLDUwNCJdID0gMjc4MywgWyJ0aWwsMSwxMiwxLDUwNSJdID0gMzIxMywgWyJ0aWwsMSwxMiwxLDUwNiJdID0gMTU5NSwgWyJ0aWwsMSwxMiwxLDUwNyJdID0gODY0LCBbInRpbCwxLDEyLDEsNTA4Il0gPSAzMjU1LCBbInRpbCwxLDEyLDEsNTA5Il0gPSAzMDI4LCBbInRpbCwxLDEyLDEsNTEwIl0gPSA3MDUsIFsidGlsLDEsMTIsMSw1MTEiXSA9IDI2NzgsIFsidGlsLDEsMTIsMSw1MTIiXSA9IDMzNTIsIFsidGlsLDEsMTIsMSw1MTMiXSA9IDEyNDAsIFsidGlsLDEsMTIsMSw1MTQiXSA9IDEzNTAsIFsidGlsLDEsMTIsMSw1MTUiXSA9IDI3MzgsIFsidGlsLDEsMTIsMSw1MTYiXSA9IDMwMjgsIFsidGlsLDEsMTIsMSw1MTciXSA9IDkxNSwgWyJ0aWwsMSwxMiwxLDUxOCJdID0gMzE0MywgWyJ0aWwsMSwxMiwxLDUxOSJdID0gMzM1MiwgWyJ0aWwsMSwxMiwxLDUyMCJdID0gMzA0OCwgWyJ0aWwsMSwxMiwxLDUyMSJdID0gNjU1LCBbInRpbCwxLDEyLDEsNTIyIl0gPSAzNDE5LCBbInRpbCwxLDEyLDEsNTIzIl0gPSAzMTQzLCBbInRpbCwxLDEyLDEsNTI0Il0gPSA4ODEsIFsidGlsLDEsMTIsMSw1MjUiXSA9IDMxNjMsIFsidGlsLDEsMTIsMSw1MjYiXSA9IDg4NiwgWyJ0aWwsMSwxMiwxLDUyNyJdID0gMjg0OCwgWyJ0aWwsMSwxMiwxLDUyOCJdID0gMzQ5OSwgWyJ0aWwsMSwxMiwxLDUyOSJdID0gNjI1LCBbInRpbCwxLDEyLDEsNTMwIl0gPSAyMTczLCBbInRpbCwxLDEyLDEsNTMxIl0gPSA2ODcsIFsidGlsLDEsMTIsMSw1MzIiXSA9IDU5NSwgWyJ0aWwsMSwxMiwxLDUzMyJdID0gODY0LCBbInRpbCwxLDEyLDEsNTM0Il0gPSAzMzAxLCBbInRpbCwxLDEyLDEsNTM1Il0gPSAyMTE3LCBbInRpbCwxLDEyLDEsNTM2Il0gPSA3NjAsIFsidGlsLDEsMTIsMSw1MzciXSA9IDE0MjAsIFsidGlsLDEsMTIsMSw1MzgiXSA9IDcwNywgWyJ0aWwsMSwxMiwxLDUzOSJdID0gMjczOH0gLS1bW3RhYmxlOiAweDA3NDVhY2UwXV0="
  },
  {
    "path": "officialworlds/minigames/block puzzle 1.bab",
    "content": "{\"width\":13,\"version\":5,\"extra\":false,\"map\":\"eJydmN1u4jAUhF8F9Wa1UqSNEzs/W+VZEJCURUpjFMIuFeLdN/ZJiyHYZ+hFpV58o8KM7TOntV60erNqF8vqfB52bVO9rHVf9y/RqYqjXV2J6GP85bBvNrtVW50vUb3rK3GJHsLJCAsUTkc4CcHH0xcrRzZ12Y1udV+dkygJ/xE1CjP0E2UjnKNwPsIFAAsDF6CLFi45F8kYy4r43sWQM65QPGOpKzQhy+8ITeDqoTANGyIkGAzRiklmtTZsYtmMCcZlcywXgovn7SVh+YxLjjCJ74+6X/jW6u1VKCC/UssmkF/EpuBrQLS8P1aPvyvBymuSDAszr0kPhNPnk1aZg1eY6AI7KwSXnjss/JFbYRp7DhkrFJ47rPynk4SJx3jhN56Eqcf4h0LXyhS9/ERzl/+TVpbmrv8tDT4ABPsegEA2JCyfz8YKZfxMNu4XkwK0mOgEtDizdApaTLQE3wyiFVchbujsPpEgnd+7GaQLsGcQXYJ+W1rFoN+5pZnCNpyGpXn+ux/DVYP2NqLZ4nZDz6pbkFbcFLihMzAjonMwI6ILMCOiy3BGxvV1Y/DCFs04bLjBt73W+6tChE3/jPUqSEDfiU5B34mWoO9Eox2caLSEE8208BsjS6tgJrNR/Pv11jfdVTKbz6wkn01mz7cgejaOg/RsBgfp2eAN0uiwJZoZttdTL2hlynjv3/Xx4Chy3vqpc06C2dj1rQqEz4ZtEC9mIzaMC9D7CU/QNYfwlHe/01ttFbSFMtPVKA6r92a/2nWDI1O8bIqZ+AwIzeVzNDPCCzQzwmcLVRAvZ2tUGEer04Qz3cm+V+2xqa3Ermcls0YZydHBJW/+758Or1DzCc9Q8wlHW9SEozVqwtEeRbiImSZlvNH98Me5MiIG+pT7xomYWZGNoPnb9B/i6x0VMVOSjWb8cQQSbNUF4Qr9/9NklGcvurz2zXDsu8Xytenq/9KPv3s=\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"block puzzle 1\",\"height\":9,\"author\":\"Slabdrill\"}"
  },
  {
    "path": "officialworlds/minigames/block puzzle 1.replay",
    "content": "-1,0,udlr,e3syLCA2fSAtLVtbdGFibGU6IDB4MDliYmUxZTBdXX0gLS1bW3RhYmxlOiAweDA5YmJlMWI4XV0=;-1,0,udlr,e3szLCA2fSAtLVtbdGFibGU6IDB4MDljNWQwNTBdXX0gLS1bW3RhYmxlOiAweDA5YzVkMDI4XV0=;-1,0,udlr,e3s0LCA1fSAtLVtbdGFibGU6IDB4MDgyNWI3YzBdXX0gLS1bW3RhYmxlOiAweDA4MjViNzk4XV0=;0,1,udlr,e3szLCA1fSAtLVtbdGFibGU6IDB4MDljYWUyYTBdXX0gLS1bW3RhYmxlOiAweDAzZTVmMmM4XV0=;1,0,udlr,e3s1LCA0fSAtLVtbdGFibGU6IDB4MDFlZWIyYzhdXX0gLS1bW3RhYmxlOiAweDAxZTc5MTQ4XV0=;0,-1,udlr,e3syLCA2fSAtLVtbdGFibGU6IDB4MDdmZDhlOThdXX0gLS1bW3RhYmxlOiAweDAxZTY5OGY4XV0=;-1,0,udlr,e3szLCA2fSAtLVtbdGFibGU6IDB4MDljM2Y1NzhdXX0gLS1bW3RhYmxlOiAweDA3ZTZiYzYwXV0=;0,1,udlr,e3syLCA3fSAtLVtbdGFibGU6IDB4MDNjMTRiYTBdXX0gLS1bW3RhYmxlOiAweDA4MjExYWU4XV0=;0,1,udlr,e3syLCA1fSAtLVtbdGFibGU6IDB4MDdmZjNmMDhdXX0gLS1bW3RhYmxlOiAweDA3ZmYzZWUwXV0=;1,0,udlr,e3syLCA2fSAtLVtbdGFibGU6IDB4MDgyNTg5NDBdXX0gLS1bW3RhYmxlOiAweDA4MjU4OTE4XV0=;1,0,udlr,e3szLCA2fSAtLVtbdGFibGU6IDB4MDgyMTViMjhdXX0gLS1bW3RhYmxlOiAweDA4MjE1YjAwXV0=;0,-1,udlr,e3s0LCA1fSAtLVtbdGFibGU6IDB4MDljMTIwNjhdXX0gLS1bW3RhYmxlOiAweDA5YzEyMDQwXV0=;0,-1,udlr,e3szLCA3fSAtLVtbdGFibGU6IDB4MDljNWNkMzBdXX0gLS1bW3RhYmxlOiAweDA5YzVjZDA4XV0=;1,0,udlr,e3szLCA2fSAtLVtbdGFibGU6IDB4MDlhYjJjYzhdXX0gLS1bW3RhYmxlOiAweDA5Y2NmOWQ4XV0=;1,0,udlr,e3sxLCA2fSAtLVtbdGFibGU6IDB4MDFkY2RiYzBdXX0gLS1bW3RhYmxlOiAweDAxZGNkYjk4XV0=;0,1,udlr,e3syLCA2fSAtLVtbdGFibGU6IDB4MDljNDg5OTBdXX0gLS1bW3RhYmxlOiAweDA5YzQ4OTY4XV0=;0,1,udlr,e3sxLCA0fSAtLVtbdGFibGU6IDB4MDgxMmNiYTBdXX0gLS1bW3RhYmxlOiAweDA4MTJjYjc4XV0=;-1,0,udlr,e3s0LCAzfSAtLVtbdGFibGU6IDB4MDI4YjAyMTBdXX0gLS1bW3RhYmxlOiAweDAyOGIwMWU4XV0=;-1,0,udlr,e3szLCAzfSAtLVtbdGFibGU6IDB4MDgwYWQ3ODhdXX0gLS1bW3RhYmxlOiAweDA4MGFkNzYwXV0=;1,0,udlr,e3szLCAzfSAtLVtbdGFibGU6IDB4MDgxZjJiYjBdXX0gLS1bW3RhYmxlOiAweDA4MjYwMjM4XV0=;1,0,udlr,e3s0LCAzfSAtLVtbdGFibGU6IDB4MDliNDMzMDhdXX0gLS1bW3RhYmxlOiAweDA5YjQzMmUwXV0=;-1,0,udlr,e3s0LCAzfSAtLVtbdGFibGU6IDB4MDgyMWZmYzBdXX0gLS1bW3RhYmxlOiAweDA5YWNhZGEwXV0=;-1,0,udlr,e3szLCAzfSAtLVtbdGFibGU6IDB4MDgxMjkyYThdXX0gLS1bW3RhYmxlOiAweDA4MTI5MjgwXV0=;0,-1,udlr,e3s0LCA0fSAtLVtbdGFibGU6IDB4MDNlZjA4NTBdXX0gLS1bW3RhYmxlOiAweDAzZWYwODI4XV0=;0,-1,udlr,e3s0LCAzfSAtLVtbdGFibGU6IDB4MDliYmY0YjhdXX0gLS1bW3RhYmxlOiAweDA5YmJmNDkwXV0=;-1,0,udlr,e3s1LCA0fSAtLVtbdGFibGU6IDB4MDgwOWYzMTBdXX0gLS1bW3RhYmxlOiAweDA4MTU2NTI4XV0=;0,1,udlr,e3s0LCA0fSAtLVtbdGFibGU6IDB4MDlhYmEzMDhdXX0gLS1bW3RhYmxlOiAweDA5YWMyNzQwXV0=;-1,0,udlr,e3s0LCA1fSAtLVtbdGFibGU6IDB4MDdlNTE5YzhdXX0gLS1bW3RhYmxlOiAweDA3ZTUxOWEwXV0=;-1,0,udlr,e3s0LCA1fSAtLVtbdGFibGU6IDB4MDljYTI3ZDhdXX0gLS1bW3RhYmxlOiAweDA5Y2EyN2IwXV0=;1,0,udlr,e3s0LCAzfSAtLVtbdGFibGU6IDB4MDgwZTVmNzhdXX0gLS1bW3RhYmxlOiAweDA4MGU1ZjUwXV0=;0,1,udlr,e3s1LCAzfSAtLVtbdGFibGU6IDB4MDgwMTQzYzBdXX0gLS1bW3RhYmxlOiAweDA4MDE0Mzk4XV0=;0,1,udlr,e3s1LCA0fSAtLVtbdGFibGU6IDB4MDlhYjk5NjhdXX0gLS1bW3RhYmxlOiAweDA5YWI5OTQwXV0=;0,1,udlr,e3s1LCA1fSAtLVtbdGFibGU6IDB4MDgxODBmYThdXX0gLS1bW3RhYmxlOiAweDA4MTgwZjgwXV0=;1,0,udlr,e3szLCAzfSAtLVtbdGFibGU6IDB4MDgxOWM0ZDhdXX0gLS1bW3RhYmxlOiAweDA4MTljNGIwXV0=;1,0,udlr,e3s0LCAzfSAtLVtbdGFibGU6IDB4MDgxMDg2NDBdXX0gLS1bW3RhYmxlOiAweDA4MTA4NjE4XV0=;0,1,udlr,e3s1LCAzfSAtLVtbdGFibGU6IDB4MDNlZmRjYzBdXX0gLS1bW3RhYmxlOiAweDAzZWZkYzk4XV0=;1,0,udlr,e3s0LCA0fSAtLVtbdGFibGU6IDB4MDgwOGQ3ZTBdXX0gLS1bW3RhYmxlOiAweDA4MDhkN2I4XV0=;0,-1,udlr,e3sxLCA0fSAtLVtbdGFibGU6IDB4MDljZTY0MTBdXX0gLS1bW3RhYmxlOiAweDA5YWRiZDAwXV0=;1,0,udlr,e3sxLCAzfSAtLVtbdGFibGU6IDB4MGQwMjg2ZjBdXX0gLS1bW3RhYmxlOiAweDBkMDI4NmM4XV0=;-1,0,udlr,e3syLCA1fSAtLVtbdGFibGU6IDB4MDlhNjViNDhdXX0gLS1bW3RhYmxlOiAweDA5YTY1YjIwXV0=;-1,0,udlr,e3sxLCA1fSAtLVtbdGFibGU6IDB4MDliOTA4MjhdXX0gLS1bW3RhYmxlOiAweDA5YjkwODAwXV0=;0,-1,udlr,e3swLCA1fSAtLVtbdGFibGU6IDB4MDliZjg1MjBdXX0gLS1bW3RhYmxlOiAweDA5YmY4NGY4XV0=;0,-1,udlr,e3syLCA2fSAtLVtbdGFibGU6IDB4MDgwYmQ1MTBdXX0gLS1bW3RhYmxlOiAweDA5YTg1ZmMwXV0=;-1,0,udlr,e3syLCA1fSAtLVtbdGFibGU6IDB4MDljZjlhMDhdXX0gLS1bW3RhYmxlOiAweDA5Y2Y5OWUwXV0=;-1,0,udlr,e3szLCA2fSAtLVtbdGFibGU6IDB4MDNlZDNmNDhdXX0gLS1bW3RhYmxlOiAweDAzZWQzZjIwXV0=;-1,0,udlr,e3s1LCA2fSAtLVtbdGFibGU6IDB4MDgwZTAxMjBdXX0gLS1bW3RhYmxlOiAweDA5YWZhMjIwXV0=;0,-1,udlr,e3s0LCA1fSAtLVtbdGFibGU6IDB4MDliODFkZThdXX0gLS1bW3RhYmxlOiAweDA5YjgxZGMwXV0=;0,-1,udlr,e3s0LCA1fSAtLVtbdGFibGU6IDB4MDdlNmQ3NDBdXX0gLS1bW3RhYmxlOiAweDA3ZTZkNzE4XV0=;0,-1,udlr,e3s0LCA0fSAtLVtbdGFibGU6IDB4MDgxMmFiYjhdXX0gLS1bW3RhYmxlOiAweDA4MTJhYjkwXV0=;0,1,udlr,e3syLCA2fSAtLVtbdGFibGU6IDB4MDljMGU1NjhdXX0gLS1bW3RhYmxlOiAweDA4MGUwMTIwXV0=;1,0,udlr,e3sxLCA1fSAtLVtbdGFibGU6IDB4MDgxYjcxYTBdXX0gLS1bW3RhYmxlOiAweDA4MWI3MTc4XV0=;1,0,udlr,e3syLCA1fSAtLVtbdGFibGU6IDB4MDljZjcxYjBdXX0gLS1bW3RhYmxlOiAweDA5YjU5ZGYwXV0=;1,0,udlr,e3syLCA1fSAtLVtbdGFibGU6IDB4MDgxZWYzMThdXX0gLS1bW3RhYmxlOiAweDA5YWVkYmQ4XV0=;1,0,udlr,e3szLCA1fSAtLVtbdGFibGU6IDB4MDFkZDNiMjBdXX0gLS1bW3RhYmxlOiAweDAxZGQzYWY4XV0=;0,1,udlr,e3sxLCA0fSAtLVtbdGFibGU6IDB4MDgxMTlhMjhdXX0gLS1bW3RhYmxlOiAweDA4MGM0MzAwXV0=;-1,0,udlr,e3syLCAzfSAtLVtbdGFibGU6IDB4MDljZjhhMjhdXX0gLS1bW3RhYmxlOiAweDBkMDRiYmI4XV0=;-1,0,udlr,e3s0LCAzfSAtLVtbdGFibGU6IDB4MDgwNTgyZThdXX0gLS1bW3RhYmxlOiAweDA5Y2MyN2Q4XV0=;-1,0,udlr,e3s1LCAzfSAtLVtbdGFibGU6IDB4MDljMzI5MjhdXX0gLS1bW3RhYmxlOiAweDA5YzMyOTAwXV0=;0,-1,udlr,e3s0LCA0fSAtLVtbdGFibGU6IDB4MDgxY2U0YTBdXX0gLS1bW3RhYmxlOiAweDA4MWNlNDc4XV0=;0,-1,udlr,e3s1LCA1fSAtLVtbdGFibGU6IDB4MDdlNGU5ODhdXX0gLS1bW3RhYmxlOiAweDA3ZTRlOTYwXV0=;0,-1,udlr,e3syLCA3fSAtLVtbdGFibGU6IDB4MDgwMzdiODBdXX0gLS1bW3RhYmxlOiAweDA4MGJkZDA4XV0=;0,-1,udlr,e3szLCA2fSAtLVtbdGFibGU6IDB4MDI4YTkwYThdXX0gLS1bW3RhYmxlOiAweDAyOGE5MDgwXV0=;1,0,udlr,e3szLCA1fSAtLVtbdGFibGU6IDB4MDlkMDQxNThdXX0gLS1bW3RhYmxlOiAweDA5ZDA0MTMwXV0=;1,0,udlr,e3sxLCA1fSAtLVtbdGFibGU6IDB4MDNjM2RjZDBdXX0gLS1bW3RhYmxlOiAweDAzYmQ4NGMwXV0=;0,1,udlr,e3sxLCA1fSAtLVtbdGFibGU6IDB4MDgyMGQzNjhdXX0gLS1bW3RhYmxlOiAweDA4MjBkMzQwXV0=;0,1,udlr,e3sxLCA0fSAtLVtbdGFibGU6IDB4MDliNjNmODBdXX0gLS1bW3RhYmxlOiAweDA5YjYzZjU4XV0=;-1,0,udlr,e3szLCAzfSAtLVtbdGFibGU6IDB4MDliNjI5YzBdXX0gLS1bW3RhYmxlOiAweDA4MTU3ZGM4XV0=;-1,0,udlr,e3s0LCAzfSAtLVtbdGFibGU6IDB4MDgxYTAzOThdXX0gLS1bW3RhYmxlOiAweDA4MWEwMzcwXV0=;0,1,udlr,e3szLCA2fSAtLVtbdGFibGU6IDB4MDljMjJlMThdXX0gLS1bW3RhYmxlOiAweDA5YzIyZGYwXV0=;0,-1,udlr,e3sxLCA1fSAtLVtbdGFibGU6IDB4MDliN2Q5MDBdXX0gLS1bW3RhYmxlOiAweDA5YjdkOGQ4XV0=;1,0,udlr,e3szLCAzfSAtLVtbdGFibGU6IDB4MDgwMzRjMDBdXX0gLS1bW3RhYmxlOiAweDA4MDM0YmQ4XV0=;1,0,udlr,e3syLCAzfSAtLVtbdGFibGU6IDB4MGQwNGE5ZDhdXX0gLS1bW3RhYmxlOiAweDBkMDRhOWIwXV0=;0,-1,udlr,e3sxLCA0fSAtLVtbdGFibGU6IDB4MDgwN2VkZjBdXX0gLS1bW3RhYmxlOiAweDA3ZmZiZDk4XV0=;0,-1,udlr,e3syLCA2fSAtLVtbdGFibGU6IDB4MDdmZmJkYTBdXX0gLS1bW3RhYmxlOiAweDA5YmE4NWUwXV0=;1,0,udlr,e3syLCA1fSAtLVtbdGFibGU6IDB4MDliMjkzMThdXX0gLS1bW3RhYmxlOiAweDA5YjI5MmYwXV0=;1,0,udlr,e3szLCA1fSAtLVtbdGFibGU6IDB4MDgxODhkNzBdXX0gLS1bW3RhYmxlOiAweDAzZTdkMjU4XV0=;0,1,udlr,e3sxLCA0fSAtLVtbdGFibGU6IDB4MDdmYmQ3NjBdXX0gLS1bW3RhYmxlOiAweDA5Y2IyZjIwXV0=;0,1,udlr,e3sxLCA0fSAtLVtbdGFibGU6IDB4MDlhZDVhZDBdXX0gLS1bW3RhYmxlOiAweDA5YWQ1YWE4XV0=;-1,0,udlr,e3szLCAzfSAtLVtbdGFibGU6IDB4MDlhYTEyZDhdXX0gLS1bW3RhYmxlOiAweDA3ZTcxMjIwXV0=;-1,0,udlr,e3syLCAzfSAtLVtbdGFibGU6IDB4MDgxZmU1NDBdXX0gLS1bW3RhYmxlOiAweDA5YWRkODE4XV0=;-1,0,udlr,e3s0LCAzfSAtLVtbdGFibGU6IDB4MDdmOTQyNzBdXX0gLS1bW3RhYmxlOiAweDA3Zjk0MjQ4XV0=;-1,0,udlr,e3szLCAzfSAtLVtbdGFibGU6IDB4MDljM2JmYjBdXX0gLS1bW3RhYmxlOiAweDA5YjI2NDAwXV0=;0,-1,udlr,e3s1LCA0fSAtLVtbdGFibGU6IDB4MDliYTI2OThdXX0gLS1bW3RhYmxlOiAweDA5YmEyNjcwXV0=;0,-1,udlr,e3s1LCAzfSAtLVtbdGFibGU6IDB4MDliYjkzNDhdXX0gLS1bW3RhYmxlOiAweDA5YmI5MzIwXV0=;0,0,undo,e3s1LCAzfSAtLVtbdGFibGU6IDB4MDgxZDM1MDBdXX0gLS1bW3RhYmxlOiAweDA5YThkYTk4XV0=;0,0,undo,e3s1LCAzfSAtLVtbdGFibGU6IDB4MDgwNWY4NjhdXX0gLS1bW3RhYmxlOiAweDA4MDVmODQwXV0=;0,0,undo,e3s1LCAzfSAtLVtbdGFibGU6IDB4MDgwNDEwYzhdXX0gLS1bW3RhYmxlOiAweDA5YzFmOTk4XV0=;0,0,undo,e3s2LCAzfSAtLVtbdGFibGU6IDB4MDlkMWFlYTBdXX0gLS1bW3RhYmxlOiAweDA5ZDFhZTc4XV0=;0,0,undo,e3s2LCAzfSAtLVtbdGFibGU6IDB4MDgwZTYwMDhdXX0gLS1bW3RhYmxlOiAweDA4MDNjNTkwXV0=;0,0,undo,e3s2LCAzfSAtLVtbdGFibGU6IDB4MDdlOGU4NzhdXX0gLS1bW3RhYmxlOiAweDA4MDFjZjQwXV0=;0,0,undo,e3s2LCAzfSAtLVtbdGFibGU6IDB4MDljMTQ0MjhdXX0gLS1bW3RhYmxlOiAweDA5Y2NhYWM4XV0=;0,0,undo,e3s2LCAzfSAtLVtbdGFibGU6IDB4MDgwZWQwOThdXX0gLS1bW3RhYmxlOiAweDA5YjllMjI4XV0=;0,0,undo,e3s3LCA0fSAtLVtbdGFibGU6IDB4MDdlOWM4ODhdXX0gLS1bW3RhYmxlOiAweDA3ZmJjNjg4XV0=;0,0,undo,e3s3LCA0fSAtLVtbdGFibGU6IDB4MDgyMjM2ZThdXX0gLS1bW3RhYmxlOiAweDA4MjIzNmMwXV0=;0,0,undo,e3s3LCA0fSAtLVtbdGFibGU6IDB4MGE0MmE0MDBdXX0gLS1bW3RhYmxlOiAweDA5YmFiMWI4XV0=;0,0,undo,e3s3LCA0fSAtLVtbdGFibGU6IDB4MDdlNmY2NjBdXX0gLS1bW3RhYmxlOiAweDA4MTJjYzEwXV0=;0,-1,udlr,e3sxLCA0fSAtLVtbdGFibGU6IDB4MDgxM2MwZThdXX0gLS1bW3RhYmxlOiAweDA4MTNjMGMwXV0=;0,-1,udlr,e3syLCA2fSAtLVtbdGFibGU6IDB4MDgxMzU0NDhdXX0gLS1bW3RhYmxlOiAweDA4MTM1NDIwXV0=;1,0,udlr,e3syLCA1fSAtLVtbdGFibGU6IDB4MDdmZTRmNzBdXX0gLS1bW3RhYmxlOiAweDA3ZmU0ZjQ4XV0=;1,0,udlr,e3syLCA1fSAtLVtbdGFibGU6IDB4MDgwNjc3ODhdXX0gLS1bW3RhYmxlOiAweDA4MDY3NzYwXV0=;-1,0,udlr,e3szLCA2fSAtLVtbdGFibGU6IDB4MDI4YTZlODhdXX0gLS1bW3RhYmxlOiAweDAyOGE2ZTYwXV0=;-1,0,udlr,e3szLCA2fSAtLVtbdGFibGU6IDB4MDgwNjNlNDhdXX0gLS1bW3RhYmxlOiAweDAzZTQwYjIwXV0=;0,-1,udlr,e3syLCA2fSAtLVtbdGFibGU6IDB4MDNlYzhkZjBdXX0gLS1bW3RhYmxlOiAweDAzZWM4ZGM4XV0=;-1,0,udlr,e3syLCA2fSAtLVtbdGFibGU6IDB4MDgwMmM2ODhdXX0gLS1bW3RhYmxlOiAweDA3ZmY4ODU4XV0=;1,0,udlr,e3syLCA2fSAtLVtbdGFibGU6IDB4MDFlNmU4NjBdXX0gLS1bW3RhYmxlOiAweDAxZTZlODM4XV0=;-1,0,udlr,e3szLCA1fSAtLVtbdGFibGU6IDB4MDgxMWE1NzBdXX0gLS1bW3RhYmxlOiAweDA5YzczMzcwXV0=;-1,0,udlr,e3szLCA1fSAtLVtbdGFibGU6IDB4MDdlNDM2NTBdXX0gLS1bW3RhYmxlOiAweDA3ZTQzNjI4XV0=;-1,0,udlr,e3syLCA1fSAtLVtbdGFibGU6IDB4MDgxZWI3MjhdXX0gLS1bW3RhYmxlOiAweDA4MGMwMWUwXV0=;0,-1,udlr,e3szLCA2fSAtLVtbdGFibGU6IDB4MDgxNDZkNjBdXX0gLS1bW3RhYmxlOiAweDA4MDUwZmI4XV0=;-1,0,udlr,e3syLCA1fSAtLVtbdGFibGU6IDB4MDdmY2MxZTBdXX0gLS1bW3RhYmxlOiAweDA4MWM0YjYwXV0=;-1,0,udlr,e3szLCA2fSAtLVtbdGFibGU6IDB4MDdlYzU1YTBdXX0gLS1bW3RhYmxlOiAweDA5YzU1ZmY4XV0=;0,1,udlr,e3syLCA2fSAtLVtbdGFibGU6IDB4MDljZDNlOThdXX0gLS1bW3RhYmxlOiAweDA5Y2QzZTcwXV0=;0,1,udlr,e3syLCA2fSAtLVtbdGFibGU6IDB4MDlhOTU3YjBdXX0gLS1bW3RhYmxlOiAweDA5YjQxNjY4XV0=;1,0,udlr,e3sxLCA1fSAtLVtbdGFibGU6IDB4MDlhOWEyOThdXX0gLS1bW3RhYmxlOiAweDA4MGIwYTAwXV0=;1,0,udlr,e3syLCA1fSAtLVtbdGFibGU6IDB4MDljZjEzZjBdXX0gLS1bW3RhYmxlOiAweDA5Y2YxM2M4XV0=;1,0,udlr,e3szLCA1fSAtLVtbdGFibGU6IDB4MDliODQwNDBdXX0gLS1bW3RhYmxlOiAweDA5Yjg0MDE4XV0=;0,1,udlr,e3s0LCA1fSAtLVtbdGFibGU6IDB4MDgxOWY4YzBdXX0gLS1bW3RhYmxlOiAweDA4MTlmODk4XV0=;1,0,udlr,e3s0LCA2fSAtLVtbdGFibGU6IDB4MDNlY2Q2ZjhdXX0gLS1bW3RhYmxlOiAweDAzYmViOTA4XV0=;0,-1,udlr,e3syLCA3fSAtLVtbdGFibGU6IDB4MDgxZjU4NThdXX0gLS1bW3RhYmxlOiAweDA4MWY1ODMwXV0=;0,-1,udlr,e3syLCA2fSAtLVtbdGFibGU6IDB4MDlhZjk4MThdXX0gLS1bW3RhYmxlOiAweDA5YWY5N2YwXV0=;-1,0,udlr,e3syLCA1fSAtLVtbdGFibGU6IDB4MDgyMzc4NThdXX0gLS1bW3RhYmxlOiAweDA4MjM3ODMwXV0=;-1,0,udlr,e3s0LCA2fSAtLVtbdGFibGU6IDB4MDgwNDVhZThdXX0gLS1bW3RhYmxlOiAweDA3ZTg1ZmI4XV0=;-1,0,udlr,e3s0LCA2fSAtLVtbdGFibGU6IDB4MDlhYWRlMjhdXX0gLS1bW3RhYmxlOiAweDA4MWRkOGI4XV0=;0,1,udlr,e3syLCA2fSAtLVtbdGFibGU6IDB4MDliOTNiMzBdXX0gLS1bW3RhYmxlOiAweDA3ZWFmYTE4XV0=;0,1,udlr,e3syLCA3fSAtLVtbdGFibGU6IDB4MDljMTFmNzBdXX0gLS1bW3RhYmxlOiAweDA4Mjc3ODg4XV0=;1,0,udlr,e3sxLCA2fSAtLVtbdGFibGU6IDB4MDliMWM1NzBdXX0gLS1bW3RhYmxlOiAweDA5YjFjNTQ4XV0=;1,0,udlr,e3szLCA2fSAtLVtbdGFibGU6IDB4MDNjMTc5YTBdXX0gLS1bW3RhYmxlOiAweDAzYzE3OTc4XV0=;1,0,udlr,e3syLCA2fSAtLVtbdGFibGU6IDB4MDNlZmMyYzBdXX0gLS1bW3RhYmxlOiAweDAzZWZjMjk4XV0=;0,1,udlr,e3szLCA2fSAtLVtbdGFibGU6IDB4MDliMmJhMjhdXX0gLS1bW3RhYmxlOiAweDA5YjJiYTAwXV0=;0,1,udlr,e3sxLCA0fSAtLVtbdGFibGU6IDB4MDgxOTgwNDBdXX0gLS1bW3RhYmxlOiAweDA5YjkxMjE4XV0=;0,1,udlr,e3sxLCA1fSAtLVtbdGFibGU6IDB4MDgwODJhZThdXX0gLS1bW3RhYmxlOiAweDA4MDgyYWMwXV0=;1,0,udlr,e3sxLCA1fSAtLVtbdGFibGU6IDB4MDliNTA0NDhdXX0gLS1bW3RhYmxlOiAweDA5YTljNDEwXV0=;-1,0,udlr,e3szLCAzfSAtLVtbdGFibGU6IDB4MDNjMGNkMDBdXX0gLS1bW3RhYmxlOiAweDA5YzFmYTk4XV0=;-1,0,udlr,e3syLCAzfSAtLVtbdGFibGU6IDB4MDliN2Q1ZTBdXX0gLS1bW3RhYmxlOiAweDA5YzU3MzU4XV0=;0,1,udlr,e3sxLCAzfSAtLVtbdGFibGU6IDB4MDdlNDI4YjBdXX0gLS1bW3RhYmxlOiAweDA3ZTQyODg4XV0=;-1,0,udlr,e3sxLCA0fSAtLVtbdGFibGU6IDB4MDgwYjExMjBdXX0gLS1bW3RhYmxlOiAweDA4MGIxMGY4XV0=;-1,0,udlr,e3syLCA1fSAtLVtbdGFibGU6IDB4MDdlZDg3MjhdXX0gLS1bW3RhYmxlOiAweDA3ZWQ4NzAwXV0=;0,1,udlr,e3syLCAxfSAtLVtbdGFibGU6IDB4MDgxZTIxODBdXX0gLS1bW3RhYmxlOiAweDA4MWUyMTU4XV0=;0,1,udlr,e3syLCAyfSAtLVtbdGFibGU6IDB4MDdlN2RkMDBdXX0gLS1bW3RhYmxlOiAweDA3ZTdkY2Q4XV0=;-1,0,udlr,e3syLCAzfSAtLVtbdGFibGU6IDB4MDlhODhhZTBdXX0gLS1bW3RhYmxlOiAweDA5YTg4YWI4XV0=;-1,0,udlr,e3s0LCAzfSAtLVtbdGFibGU6IDB4MDlhOTYwZjhdXX0gLS1bW3RhYmxlOiAweDA5YTk2MGQwXV0=;0,-1,udlr,e3szLCAyfSAtLVtbdGFibGU6IDB4MDNlZjhhZjhdXX0gLS1bW3RhYmxlOiAweDAzZWY4YWQwXV0=;0,-1,udlr,e3s1LCA0fSAtLVtbdGFibGU6IDB4MDgxNTYwZDhdXX0gLS1bW3RhYmxlOiAweDA4MTU2MGIwXV0=;0,-1,udlr,e3szLCA2fSAtLVtbdGFibGU6IDB4MDgwNzEwZDBdXX0gLS1bW3RhYmxlOiAweDA4MDcxMGE4XV0=;1,0,udlr,e3szLCA1fSAtLVtbdGFibGU6IDB4MDdlYjRiNDhdXX0gLS1bW3RhYmxlOiAweDA3ZWI0YjIwXV0=;1,0,udlr,e3syLCA1fSAtLVtbdGFibGU6IDB4MDFlZWQ1MzhdXX0gLS1bW3RhYmxlOiAweDAxZWVkNTEwXV0=;0,1,udlr,e3syLCA2fSAtLVtbdGFibGU6IDB4MDgyMzcxMTBdXX0gLS1bW3RhYmxlOiAweDA4MjM3MGU4XV0=;0,1,udlr,e3sxLCAzfSAtLVtbdGFibGU6IDB4MDgwOTU3YThdXX0gLS1bW3RhYmxlOiAweDA4MDk1NzgwXV0=;-1,0,udlr,e3szLCAyfSAtLVtbdGFibGU6IDB4MDdmYzA2OThdXX0gLS1bW3RhYmxlOiAweDA3ZmMwNjcwXV0=;0,-1,udlr,e3syLCAyfSAtLVtbdGFibGU6IDB4MDNlNWUzODBdXX0gLS1bW3RhYmxlOiAweDAzZTVlMzU4XV0=;0,-1,udlr,e3syLCAzfSAtLVtbdGFibGU6IDB4MDgxMTc4YThdXX0gLS1bW3RhYmxlOiAweDA4MTE3ODgwXV0=;1,0,udlr,e3syLCAzfSAtLVtbdGFibGU6IDB4MDlhNjA1ZjBdXX0gLS1bW3RhYmxlOiAweDA5YTYwNWM4XV0=;1,0,udlr,e3swLCA0fSAtLVtbdGFibGU6IDB4MDdlNmRmZDhdXX0gLS1bW3RhYmxlOiAweDA4MDUzYjcwXV0=;0,-1,udlr,e3sxLCAzfSAtLVtbdGFibGU6IDB4MDgxZjMwZDhdXX0gLS1bW3RhYmxlOiAweDA4MWYzMGIwXV0=;0,-1,udlr,e3syLCA2fSAtLVtbdGFibGU6IDB4MDFlODJkMThdXX0gLS1bW3RhYmxlOiAweDAxZTgyY2YwXV0=;-1,0,udlr,e3syLCA1fSAtLVtbdGFibGU6IDB4MDlhYjFjNjBdXX0gLS1bW3RhYmxlOiAweDA5YWIxYzM4XV0=;-1,0,udlr,e3s0LCA1fSAtLVtbdGFibGU6IDB4MDgxODIzMjhdXX0gLS1bW3RhYmxlOiAweDA5YTljOGU4XV0=;0,1,udlr,e3s1LCA0fSAtLVtbdGFibGU6IDB4MDljMTY4NzBdXX0gLS1bW3RhYmxlOiAweDA5YzE2ODQ4XV0=;1,0,udlr,e3szLCAzfSAtLVtbdGFibGU6IDB4MDliMWJkYTBdXX0gLS1bW3RhYmxlOiAweDA5YjFiZDc4XV0=;1,0,udlr,e3szLCAzfSAtLVtbdGFibGU6IDB4MDgxZTAwNTBdXX0gLS1bW3RhYmxlOiAweDA4MWUwMDI4XV0=;1,0,udlr,e3sxLCAzfSAtLVtbdGFibGU6IDB4MDgyNTQxMDhdXX0gLS1bW3RhYmxlOiAweDA4MjU0MGUwXV0=;1,0,udlr,e3syLCAzfSAtLVtbdGFibGU6IDB4MDgxOGNmYzBdXX0gLS1bW3RhYmxlOiAweDA4MThjZjk4XV0=;0,-1,udlr,e3sxLCA0fSAtLVtbdGFibGU6IDB4MDgxOTdmNjBdXX0gLS1bW3RhYmxlOiAweDA3ZmMyMTI4XV0=;0,-1,udlr,e3sxLCA0fSAtLVtbdGFibGU6IDB4MDdlYzM1NTBdXX0gLS1bW3RhYmxlOiAweDA4MGI4YzYwXV0=;-1,0,udlr,e3szLCA1fSAtLVtbdGFibGU6IDB4MDgyNTFhOTBdXX0gLS1bW3RhYmxlOiAweDA4MjUxYTY4XV0=;-1,0,udlr,e3syLCA1fSAtLVtbdGFibGU6IDB4MDlhZWM2NDhdXX0gLS1bW3RhYmxlOiAweDA5YWVjNjIwXV0=;0,-1,udlr,e3szLCA4fSAtLVtbdGFibGU6IDB4MDdmZTAxOThdXX0gLS1bW3RhYmxlOiAweDA3ZmUwMTcwXV0=;0,-1,udlr,e3szLCA3fSAtLVtbdGFibGU6IDB4MDdlOTEzODhdXX0gLS1bW3RhYmxlOiAweDA3ZTkxMzYwXV0=;1,0,udlr,e3szLCA2fSAtLVtbdGFibGU6IDB4MDlhY2EzNjhdXX0gLS1bW3RhYmxlOiAweDA5YWNhMzQwXV0=;1,0,udlr,e3s0LCA2fSAtLVtbdGFibGU6IDB4MDljOGFmNzhdXX0gLS1bW3RhYmxlOiAweDA5YzhhZjUwXV0=;1,0,udlr,e3syLCA1fSAtLVtbdGFibGU6IDB4MDdlZWM0NzBdXX0gLS1bW3RhYmxlOiAweDA5YzA4ODE4XV0=;0,1,udlr,e3syLCA2fSAtLVtbdGFibGU6IDB4MDgwZWZhYTBdXX0gLS1bW3RhYmxlOiAweDA4MGVmYTc4XV0=;0,1,udlr,e3syLCA3fSAtLVtbdGFibGU6IDB4MDliMjAxYTBdXX0gLS1bW3RhYmxlOiAweDA5YjIwMTc4XV0=;0,1,udlr,e3sxLCA0fSAtLVtbdGFibGU6IDB4MDFlNzRiZjhdXX0gLS1bW3RhYmxlOiAweDA5YmRjOGQ4XV0=;0,1,udlr,e3sxLCA0fSAtLVtbdGFibGU6IDB4MDNlZTkwMzhdXX0gLS1bW3RhYmxlOiAweDAzZWU5MDEwXV0=;-1,0,udlr,e3s0LCA2fSAtLVtbdGFibGU6IDB4MDNmMGVhYjhdXX0gLS1bW3RhYmxlOiAweDAzZjBlYTkwXV0=;-1,0,udlr,e3szLCA2fSAtLVtbdGFibGU6IDB4MDdmZTY5NzBdXX0gLS1bW3RhYmxlOiAweDA3ZmU2OTQ4XV0=;0,1,udlr,e3s1LCA1fSAtLVtbdGFibGU6IDB4MDliYTUzZThdXX0gLS1bW3RhYmxlOiAweDA5YmE1M2MwXV0=;-1,0,udlr,e3s1LCA1fSAtLVtbdGFibGU6IDB4MDgwNTAwMzBdXX0gLS1bW3RhYmxlOiAweDA4MDUwMDA4XV0=;-1,0,udlr,e3szLCAzfSAtLVtbdGFibGU6IDB4MDliMGJiZDBdXX0gLS1bW3RhYmxlOiAweDA3ZWU2MTMwXV0=;-1,0,udlr,e3syLCAzfSAtLVtbdGFibGU6IDB4MDgxYjA0NDBdXX0gLS1bW3RhYmxlOiAweDA4MWIwNDE4XV0=;0,1,udlr,e3s0LCAzfSAtLVtbdGFibGU6IDB4MGQwMWM5YzBdXX0gLS1bW3RhYmxlOiAweDBkMDFjOTk4XV0=;0,1,udlr,e3szLCAxfSAtLVtbdGFibGU6IDB4MDljZjhiMjhdXX0gLS1bW3RhYmxlOiAweDA3ZThlY2MwXV0=;1,0,udlr,e3szLCAyfSAtLVtbdGFibGU6IDB4MDdmYzA5NDBdXX0gLS1bW3RhYmxlOiAweDA3ZmMwOTE4XV0=;1,0,udlr,e3sxLCAyfSAtLVtbdGFibGU6IDB4MDlhZjI0MTBdXX0gLS1bW3RhYmxlOiAweDAzZWZhZjc4XV0=;0,-1,udlr,e3syLCAyfSAtLVtbdGFibGU6IDB4MDdmZjk1YzhdXX0gLS1bW3RhYmxlOiAweDA3ZmY5NWEwXV0=;0,-1,udlr,e3syLCAxfSAtLVtbdGFibGU6IDB4MDI4YjBkODhdXX0gLS1bW3RhYmxlOiAweDAyOGIwZDYwXV0=;0,-1,udlr,e3sxLCA0fSAtLVtbdGFibGU6IDB4MDljYThkYThdXX0gLS1bW3RhYmxlOiAweDA5Y2E4ZDgwXV0=;0,-1,udlr,e3sxLCA0fSAtLVtbdGFibGU6IDB4MDNlYWEyNThdXX0gLS1bW3RhYmxlOiAweDAzZWFhMjMwXV0=;1,0,udlr,e3sxLCAzfSAtLVtbdGFibGU6IDB4MDliOWQ0YjBdXX0gLS1bW3RhYmxlOiAweDA4MThjMTA4XV0=;-1,0,udlr,e3syLCA2fSAtLVtbdGFibGU6IDB4MDliYzZlMzBdXX0gLS1bW3RhYmxlOiAweDA5YmM2ZTA4XV0=;0,-1,udlr,e3syLCA2fSAtLVtbdGFibGU6IDB4MDlhYTViNThdXX0gLS1bW3RhYmxlOiAweDA5YWE1YjMwXV0=;-1,0,udlr,e3sxLCA1fSAtLVtbdGFibGU6IDB4MDgyNmJjYjhdXX0gLS1bW3RhYmxlOiAweDA4MWIzMDAwXV0=;0,-1,udlr,e3swLCA1fSAtLVtbdGFibGU6IDB4MGE0MjNiNThdXX0gLS1bW3RhYmxlOiAweDA3ZjBhOWEwXV0=;-1,0,udlr,e3szLCA1fSAtLVtbdGFibGU6IDB4MDdlYWRiNzBdXX0gLS1bW3RhYmxlOiAweDA3ZWFkYjQ4XV0=;-1,0,udlr,e3syLCA1fSAtLVtbdGFibGU6IDB4MDljM2JlZjBdXX0gLS1bW3RhYmxlOiAweDA5Y2M5MGMwXV0=;-1,0,udlr,e3syLCA1fSAtLVtbdGFibGU6IDB4MDlkMTIyMzhdXX0gLS1bW3RhYmxlOiAweDA5ZDEyMjEwXV0=;0,-1,udlr,e3syLCA3fSAtLVtbdGFibGU6IDB4MDdmOWM3MjBdXX0gLS1bW3RhYmxlOiAweDA4MGQ0NmY4XV0=;1,0,udlr,e3syLCA2fSAtLVtbdGFibGU6IDB4MDljMTU5NDBdXX0gLS1bW3RhYmxlOiAweDA5YzE1OTE4XV0=;0,1,udlr,e3s1LCA0fSAtLVtbdGFibGU6IDB4MDliNDc1NDBdXX0gLS1bW3RhYmxlOiAweDA5YjQ3NTE4XV0=;1,0,udlr,e3sxLCA2fSAtLVtbdGFibGU6IDB4MDliMDAxNzhdXX0gLS1bW3RhYmxlOiAweDA5YjAwMTUwXV0=;0,1,udlr,e3syLCA2fSAtLVtbdGFibGU6IDB4MDgxYzI5NTBdXX0gLS1bW3RhYmxlOiAweDA4MWMyOTI4XV0=;0,1,udlr,e3sxLCA0fSAtLVtbdGFibGU6IDB4MDgyMzI5YTBdXX0gLS1bW3RhYmxlOiAweDA4MjMyOTc4XV0=;1,0,udlr,e3sxLCA1fSAtLVtbdGFibGU6IDB4MGQwM2Q3MThdXX0gLS1bW3RhYmxlOiAweDBkMDNkNmYwXV0=;1,0,udlr,e3sxLCA1fSAtLVtbdGFibGU6IDB4MDgyMDhmNzhdXX0gLS1bW3RhYmxlOiAweDA4MjA4ZjUwXV0=;-1,0,udlr,e3syLCAzfSAtLVtbdGFibGU6IDB4MDdlNjNiNTBdXX0gLS1bW3RhYmxlOiAweDA3ZTYzYjI4XV0=;0,1,udlr,e3sxLCAzfSAtLVtbdGFibGU6IDB4MDdlYjRhMzBdXX0gLS1bW3RhYmxlOiAweDA5YjU0M2IwXV0=;0,1,udlr,e3szLCAyfSAtLVtbdGFibGU6IDB4MDlhYTQ1ZjhdXX0gLS1bW3RhYmxlOiAweDA5YWE0NWQwXV0=;-1,0,udlr,e3szLCAzfSAtLVtbdGFibGU6IDB4MDdlOWZkNjBdXX0gLS1bW3RhYmxlOiAweDA3ZTlmZDM4XV0=;0,-1,udlr,e3s0LCA0fSAtLVtbdGFibGU6IDB4MDdlNjE0MjhdXX0gLS1bW3RhYmxlOiAweDA3ZTYxNDAwXV0=;0,-1,udlr,e3s0LCA0fSAtLVtbdGFibGU6IDB4MDdlNjFiODhdXX0gLS1bW3RhYmxlOiAweDA3ZTYxYjYwXV0=;1,0,udlr,e3szLCA1fSAtLVtbdGFibGU6IDB4MDlkMDI1MDBdXX0gLS1bW3RhYmxlOiAweDA5ZDAyNGQ4XV0=;1,0,udlr,e3s0LCA1fSAtLVtbdGFibGU6IDB4MDgwZTgwNDhdXX0gLS1bW3RhYmxlOiAweDA4MGU4MDIwXV0=;0,-1,udlr,e3s0LCA1fSAtLVtbdGFibGU6IDB4MDgyMWVmMThdXX0gLS1bW3RhYmxlOiAweDA4MjFlZWYwXV0=;0,-1,udlr,e3szLCA2fSAtLVtbdGFibGU6IDB4MDgyMWU5NDhdXX0gLS1bW3RhYmxlOiAweDA3ZWY0NGE4XV0=;1,0,udlr,e3s0LCA1fSAtLVtbdGFibGU6IDB4MDliYTUwYThdXX0gLS1bW3RhYmxlOiAweDA5YmE1MDgwXV0=;1,0,udlr,e3syLCA2fSAtLVtbdGFibGU6IDB4MDgwMDllMTBdXX0gLS1bW3RhYmxlOiAweDA5YzY3MmYwXV0=;0,1,udlr,e3szLCA3fSAtLVtbdGFibGU6IDB4MDFlZTBlODBdXX0gLS1bW3RhYmxlOiAweDA4MWYzZDAwXV0=;-1,0,udlr,e3s0LCA1fSAtLVtbdGFibGU6IDB4MDFlNjI1OThdXX0gLS1bW3RhYmxlOiAweDBhNDM2YWE4XV0=;-1,0,udlr,e3szLCA1fSAtLVtbdGFibGU6IDB4MDdlNTA0NTBdXX0gLS1bW3RhYmxlOiAweDA3ZTUwNDI4XV0=;0,1,udlr,e3s0LCA0fSAtLVtbdGFibGU6IDB4MDdmZDdlNjBdXX0gLS1bW3RhYmxlOiAweDA3ZmQ3ZTM4XV0=;0,1,udlr,e3s0LCA1fSAtLVtbdGFibGU6IDB4MDliM2Q4NjhdXX0gLS1bW3RhYmxlOiAweDA5YjNkODQwXV0=;-1,0,udlr,e3s0LCA2fSAtLVtbdGFibGU6IDB4MDgyNTEwYThdXX0gLS1bW3RhYmxlOiAweDA4MjUxMDgwXV0=;0,1,udlr,e3s1LCAzfSAtLVtbdGFibGU6IDB4MDgwNmQyMzBdXX0gLS1bW3RhYmxlOiAweDA4MDZkMjA4XV0=;0,1,udlr,e3s1LCA0fSAtLVtbdGFibGU6IDB4MDljYzJlOTBdXX0gLS1bW3RhYmxlOiAweDA5Y2MyZTY4XV0=;1,0,udlr,e3szLCAzfSAtLVtbdGFibGU6IDB4MDgyMWE5NThdXX0gLS1bW3RhYmxlOiAweDA4MjFhOTMwXV0=;1,0,udlr,e3s0LCAzfSAtLVtbdGFibGU6IDB4MDliMzIxYThdXX0gLS1bW3RhYmxlOiAweDA5YjMyMTgwXV0=;0,-1,udlr,e3sxLCA0fSAtLVtbdGFibGU6IDB4MGE0MmJmNDhdXX0gLS1bW3RhYmxlOiAweDBhNDJiZjIwXV0=;1,0,udlr,e3sxLCAzfSAtLVtbdGFibGU6IDB4MDgxZDFiYThdXX0gLS1bW3RhYmxlOiAweDA4MWQxYjgwXV0=;1,0,udlr,e3syLCAxfSAtLVtbdGFibGU6IDB4MDliOGI5NzhdXX0gLS1bW3RhYmxlOiAweDA3ZmY0ODc4XV0=;0,-1,udlr,e3syLCAzfSAtLVtbdGFibGU6IDB4MDljYTZlYjBdXX0gLS1bW3RhYmxlOiAweDA5YmJhMTU4XV0=;-1,0,udlr,e3syLCA2fSAtLVtbdGFibGU6IDB4MDliYmJmMThdXX0gLS1bW3RhYmxlOiAweDA5YmJiZWYwXV0=;0,-1,udlr,e3sxLCA1fSAtLVtbdGFibGU6IDB4MDliN2VhYThdXX0gLS1bW3RhYmxlOiAweDBhNDM2NzkwXV0=;-1,0,udlr,e3sxLCA0fSAtLVtbdGFibGU6IDB4MDgxYTFjMDhdXX0gLS1bW3RhYmxlOiAweDA4MWExYmUwXV0=;0,-1,udlr,e3sxLCA0fSAtLVtbdGFibGU6IDB4MDgxODcwMThdXX0gLS1bW3RhYmxlOiAweDA4MTg2ZmYwXV0=;-1,0,udlr,e3szLCA2fSAtLVtbdGFibGU6IDB4MDNmMDFhYjhdXX0gLS1bW3RhYmxlOiAweDAzZjAxYTkwXV0=;-1,0,udlr,e3szLCA2fSAtLVtbdGFibGU6IDB4MDdlZmI1YjhdXX0gLS1bW3RhYmxlOiAweDA3ZWZiNTkwXV0=;0,-1,udlr,e3sxLCA2fSAtLVtbdGFibGU6IDB4MDlkMWU0MTBdXX0gLS1bW3RhYmxlOiAweDA5ZDFlM2U4XV0=;0,-1,udlr,e3sxLCA1fSAtLVtbdGFibGU6IDB4MDgyMzk4NTBdXX0gLS1bW3RhYmxlOiAweDA4MjM5ODI4XV0=;0,-1,udlr,e3szLCA3fSAtLVtbdGFibGU6IDB4MDliMjM2NjhdXX0gLS1bW3RhYmxlOiAweDA5Yjc4MDY4XV0=;0,-1,udlr,e3syLCA2fSAtLVtbdGFibGU6IDB4MDliZGY5OTBdXX0gLS1bW3RhYmxlOiAweDA5YmRmOTY4XV0=;-1,0,udlr,e3syLCA1fSAtLVtbdGFibGU6IDB4MDFlOThiNDBdXX0gLS1bW3RhYmxlOiAweDAxZTk4YjE4XV0=;-1,0,udlr,e3syLCA1fSAtLVtbdGFibGU6IDB4MDliNmQ1YThdXX0gLS1bW3RhYmxlOiAweDAzZWZiMzQ4XV0=;0,1,udlr,e3s0LCA1fSAtLVtbdGFibGU6IDB4MDljMzRjMDhdXX0gLS1bW3RhYmxlOiAweDA5YzM0YmUwXV0=;-1,0,udlr,e3s0LCA2fSAtLVtbdGFibGU6IDB4MDdlYzY4NThdXX0gLS1bW3RhYmxlOiAweDA3ZWM2ODMwXV0=;-1,0,udlr,e3s0LCA2fSAtLVtbdGFibGU6IDB4MDgyMzU2YzhdXX0gLS1bW3RhYmxlOiAweDA4MjM1NmEwXV0=;0,1,udlr,e3szLCA2fSAtLVtbdGFibGU6IDB4MDdlOTM1MzBdXX0gLS1bW3RhYmxlOiAweDA3ZTkzNTA4XV0=;0,1,udlr,e3szLCA2fSAtLVtbdGFibGU6IDB4MDliMDhiZTBdXX0gLS1bW3RhYmxlOiAweDA5YjA4YmI4XV0=;0,1,udlr,e3syLCA4fSAtLVtbdGFibGU6IDB4MGQwMzBjNTBdXX0gLS1bW3RhYmxlOiAweDBkMDMwYzI4XV0=;"
  },
  {
    "path": "officialworlds/minigames/block puzzle 2.bab",
    "content": "{\"width\":14,\"version\":5,\"extra\":true,\"map\":\"eJydl91uozAQRl+l6s1qJaTF2MawFc8SJYFmo1IcEdhNFeXdFzyEP8eeSS8q9eIchfnGeIZcv5R6vy1fNtn12hzLInvd6TqvX4NLFgbHPGPBV/fP+VTsj9syu96C/Fhn7BY8hKMOZh54uxtR3qERDRUdyn2P0F5GVnasmLN7Xeo6u0ZB5PXizpNUb16y6sSYmk/SwYoAsx5OkeQhIYOykJQmsIwWJ8CRM0/uF/k3AgVTEEOKDC1p1QAcP18NiMpZDSIm6+MxisIvpusU3OJ7qQ+9yM0rGBJfWKAZcnCWdEQLG2DuCFvaJ+D80ZaTKLBXav4rkp7TXRRGjNc5DSJztxREtb7kqGKyznoUkUdN17G7k1yIPKS3YCkyx3n39A7EyN+7JcyxNx0eSRpYPN8vEKWzX87YQYyf7xeIytEvHjC/mDj6hYqpo18PxH2pP0ZRhP5+LWFGvJljQ0fYRQQFAOy6LDyVgygclQt35SBK4uAGOiaWrgytiHcw0AmyNQ31Apw6gnpQ70KUIT2o5fNJRkwK6MifVHNpNv3Aqn40vZOYTYc6swwtOZbXghbECQc0uk4saGuf8NLWEuGlrc3BS1vrgp36rujx1ASObPU9fqi1Po1GjGyY97ZOArpmDs8PtLVnemlrufTS6D6xoK2FwhMNM1t9itx0vfLv13tdVJMTW8OF4FhzxbVHA25NEz9uzRAvrpDJscaR2TEdUAYfPxzPtPubCcgt2gvF36L+YjMnxZ1P3Z4nQ0V42+4fWyBwas8AF9SeAS6pPQM8pvYMcIX3rNIHbQzz1ZJKvGvn7Wdx2h6rZtJYiAyA2emA37F2cD+vrNUb4a2N2xWUwRNrz/bj1nbtx5Gdeo0jW7W5wMq2yI1iPqJSa7e2FV03f/RMifEOtBOeIFO4x3//nPHUOTzg1EE84NRJPODUUTzgjll8e6uLpq2rl81bUeX/ASIVfqo=\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"block puzzle 2\",\"height\":8,\"author\":\"Slabdrill\"}"
  },
  {
    "path": "officialworlds/minigames/block puzzle 2.replay",
    "content": "-1,0,udlr,e3s0LCAwfSAtLVtbdGFibGU6IDB4MDliZmViNThdXX0gLS1bW3RhYmxlOiAweDA5YmZlYjMwXV0=;-1,0,udlr,e3szLCAwfSAtLVtbdGFibGU6IDB4MDlhZWE2YThdXX0gLS1bW3RhYmxlOiAweDA3ZTdjNTU4XV0=;0,1,udlr,e3syLCAxfSAtLVtbdGFibGU6IDB4MDNlNjQxZTBdXX0gLS1bW3RhYmxlOiAweDAzZTY0MWI4XV0=;0,-1,udlr,e3s1LCAxfSAtLVtbdGFibGU6IDB4MDgwMTFkZThdXX0gLS1bW3RhYmxlOiAweDAzYmRhNzYwXV0=;0,-1,udlr,e3s1LCAzfSAtLVtbdGFibGU6IDB4MDgwYjhkNjhdXX0gLS1bW3RhYmxlOiAweDA4MGI4ZDQwXV0=;1,0,udlr,e3s1LCAzfSAtLVtbdGFibGU6IDB4MDgwYjk3YjhdXX0gLS1bW3RhYmxlOiAweDA4MTRhOTgwXV0=;0,-1,udlr,e3s2LCAzfSAtLVtbdGFibGU6IDB4MDlmYTgwMjhdXX0gLS1bW3RhYmxlOiAweDA5ZmRjYzg4XV0=;1,0,udlr,e3s0LCA0fSAtLVtbdGFibGU6IDB4MGEwNTdhNzBdXX0gLS1bW3RhYmxlOiAweDA5YjE5NGQ4XV0=;0,-1,udlr,e3s1LCA0fSAtLVtbdGFibGU6IDB4MDNjMTM2NDhdXX0gLS1bW3RhYmxlOiAweDAzYzEzNjIwXV0=;0,-1,udlr,e3s3LCA0fSAtLVtbdGFibGU6IDB4MDlmOGZkNDhdXX0gLS1bW3RhYmxlOiAweDA3ZjNmMzc4XV0=;0,-1,udlr,e3s1LCA2fSAtLVtbdGFibGU6IDB4MDgwMTgzOTBdXX0gLS1bW3RhYmxlOiAweDA4MDE4MzY4XV0=;1,0,udlr,e3s1LCA1fSAtLVtbdGFibGU6IDB4MDljMWUxNzhdXX0gLS1bW3RhYmxlOiAweDA5YzFlMTUwXV0=;1,0,udlr,e3s0LCA2fSAtLVtbdGFibGU6IDB4MDNlZmVjNzhdXX0gLS1bW3RhYmxlOiAweDAzZWZlYzUwXV0=;0,-1,udlr,e3s1LCA2fSAtLVtbdGFibGU6IDB4MDlkNzI4YjBdXX0gLS1bW3RhYmxlOiAweDA5ZDcyODg4XV0=;1,0,udlr,e3szLCA3fSAtLVtbdGFibGU6IDB4MDNlOGViZDBdXX0gLS1bW3RhYmxlOiAweDA5ZDY2MGUwXV0=;1,0,udlr,e3s0LCA3fSAtLVtbdGFibGU6IDB4MDgwYzQwYzBdXX0gLS1bW3RhYmxlOiAweDA4MGM0MDk4XV0=;1,0,udlr,e3syLCA1fSAtLVtbdGFibGU6IDB4MDdmZTk3MjBdXX0gLS1bW3RhYmxlOiAweDA4MDg4ODA4XV0=;0,1,udlr,e3szLCA1fSAtLVtbdGFibGU6IDB4MDdmZmJmOTBdXX0gLS1bW3RhYmxlOiAweDA5YjJiODcwXV0=;0,1,udlr,e3szLCA2fSAtLVtbdGFibGU6IDB4MDNlZmQxZjhdXX0gLS1bW3RhYmxlOiAweDA4MjNiODk4XV0=;-1,0,udlr,e3szLCA2fSAtLVtbdGFibGU6IDB4MDNiZGI3ZDBdXX0gLS1bW3RhYmxlOiAweDAzYmRiN2E4XV0=;1,0,udlr,e3sxLCA1fSAtLVtbdGFibGU6IDB4MDliZmFmMDhdXX0gLS1bW3RhYmxlOiAweDA5ZjdjOTYwXV0=;1,0,udlr,e3syLCA1fSAtLVtbdGFibGU6IDB4MDlmZTFiMDhdXX0gLS1bW3RhYmxlOiAweDA5ZmUxYWUwXV0=;0,1,udlr,e3sxLCAzfSAtLVtbdGFibGU6IDB4MDgyNDNkYTBdXX0gLS1bW3RhYmxlOiAweDA4MjQzZDc4XV0=;0,1,udlr,e3sxLCA0fSAtLVtbdGFibGU6IDB4MDlmZjg3ZjBdXX0gLS1bW3RhYmxlOiAweDA5ZmY4N2M4XV0=;-1,0,udlr,e3syLCAyfSAtLVtbdGFibGU6IDB4MDgxMGFmNDhdXX0gLS1bW3RhYmxlOiAweDA4MTBhZjIwXV0=;0,1,udlr,e3sxLCAyfSAtLVtbdGFibGU6IDB4MDliYTgzMzhdXX0gLS1bW3RhYmxlOiAweDAxZGRiYTk4XV0=;-1,0,udlr,e3s0LCA3fSAtLVtbdGFibGU6IDB4MDNlZmZjYTBdXX0gLS1bW3RhYmxlOiAweDA4MWE0N2EwXV0=;0,1,udlr,e3s1LCA2fSAtLVtbdGFibGU6IDB4MDdmNjYwMDhdXX0gLS1bW3RhYmxlOiAweDA5YzFhOTMwXV0=;1,0,udlr,e3szLCA1fSAtLVtbdGFibGU6IDB4MDgwY2M5ZThdXX0gLS1bW3RhYmxlOiAweDA4MGNjOWMwXV0=;1,0,udlr,e3s0LCA1fSAtLVtbdGFibGU6IDB4MDI4N2RmMThdXX0gLS1bW3RhYmxlOiAweDA5YTc4NjkwXV0=;-1,0,udlr,e3s0LCAxfSAtLVtbdGFibGU6IDB4MDdmOTNkMjBdXX0gLS1bW3RhYmxlOiAweDA3ZjkzY2Y4XV0=;-1,0,udlr,e3szLCAxfSAtLVtbdGFibGU6IDB4MDliYmQzOThdXX0gLS1bW3RhYmxlOiAweDA5YmJkMzcwXV0=;-1,0,udlr,e3szLCAxfSAtLVtbdGFibGU6IDB4MDlhZTg3OTBdXX0gLS1bW3RhYmxlOiAweDA5YWU4NzY4XV0=;0,-1,udlr,e3s1LCAyfSAtLVtbdGFibGU6IDB4MGQwM2E1ZDBdXX0gLS1bW3RhYmxlOiAweDBkMDNhNWE4XV0=;0,-1,udlr,e3s1LCAxfSAtLVtbdGFibGU6IDB4MDAyN2U0MDBdXX0gLS1bW3RhYmxlOiAweDA4MDk3MTA4XV0=;-1,0,udlr,e3s1LCAxfSAtLVtbdGFibGU6IDB4MDgyMzY4MjhdXX0gLS1bW3RhYmxlOiAweDA4MjM2ODAwXV0=;1,0,udlr,e3s0LCAyfSAtLVtbdGFibGU6IDB4MGEwNTIzODBdXX0gLS1bW3RhYmxlOiAweDBhMDBmY2Q4XV0=;0,-1,udlr,e3s0LCA0fSAtLVtbdGFibGU6IDB4MDljODZmOThdXX0gLS1bW3RhYmxlOiAweDA5Yzg2ZjcwXV0=;0,-1,udlr,e3s0LCA0fSAtLVtbdGFibGU6IDB4MDI4YTQ4NDhdXX0gLS1bW3RhYmxlOiAweDAyOGE0ODIwXV0=;1,0,udlr,e3sxLCA1fSAtLVtbdGFibGU6IDB4MDlhZWQxYzhdXX0gLS1bW3RhYmxlOiAweDA5YWVkMWEwXV0=;1,0,udlr,e3syLCA1fSAtLVtbdGFibGU6IDB4MDgwZTZkODhdXX0gLS1bW3RhYmxlOiAweDA4MGU2ZDYwXV0=;1,0,udlr,e3syLCA1fSAtLVtbdGFibGU6IDB4MDliNzM4NjhdXX0gLS1bW3RhYmxlOiAweDA5YjczODQwXV0=;1,0,udlr,e3szLCA1fSAtLVtbdGFibGU6IDB4MDgwODRlNjBdXX0gLS1bW3RhYmxlOiAweDA4MDg0ZTM4XV0=;0,-1,udlr,e3syLCA2fSAtLVtbdGFibGU6IDB4MDdmMmJkYzBdXX0gLS1bW3RhYmxlOiAweDA4MTkwODk4XV0=;0,-1,udlr,e3syLCA1fSAtLVtbdGFibGU6IDB4MDNlN2NiNzhdXX0gLS1bW3RhYmxlOiAweDAzZTdjYjUwXV0=;1,0,udlr,e3syLCA0fSAtLVtbdGFibGU6IDB4MDlkOTY5MTBdXX0gLS1bW3RhYmxlOiAweDA5ZDk2OGU4XV0=;-1,0,udlr,e3szLCA2fSAtLVtbdGFibGU6IDB4MGQwMzNjNzBdXX0gLS1bW3RhYmxlOiAweDBkMDMzYzQ4XV0=;0,-1,udlr,e3syLCA3fSAtLVtbdGFibGU6IDB4MDlmYjhkNTBdXX0gLS1bW3RhYmxlOiAweDA5ZmI4ZDI4XV0=;-1,0,udlr,e3syLCA2fSAtLVtbdGFibGU6IDB4MDlmNDZhYjBdXX0gLS1bW3RhYmxlOiAweDBhNDM3NjkwXV0=;0,-1,udlr,e3sxLCA1fSAtLVtbdGFibGU6IDB4MDlhY2U3YjBdXX0gLS1bW3RhYmxlOiAweDA5YWNlNzg4XV0=;-1,0,udlr,e3sxLCA1fSAtLVtbdGFibGU6IDB4MDdlNDA5MThdXX0gLS1bW3RhYmxlOiAweDA3ZTQwOGYwXV0=;0,-1,udlr,e3swLCA1fSAtLVtbdGFibGU6IDB4MDliY2RjYjBdXX0gLS1bW3RhYmxlOiAweDA5YmNkYzg4XV0=;-1,0,udlr,e3s0LCA2fSAtLVtbdGFibGU6IDB4MDljYmQyMjBdXX0gLS1bW3RhYmxlOiAweDA5YmU4YzM4XV0=;-1,0,udlr,e3s0LCA2fSAtLVtbdGFibGU6IDB4MDdlZmY1YzBdXX0gLS1bW3RhYmxlOiAweDA3ZWZmNTk4XV0=;-1,0,udlr,e3szLCA2fSAtLVtbdGFibGU6IDB4MDljYjk2MThdXX0gLS1bW3RhYmxlOiAweDA5Y2I5NWYwXV0=;0,-1,udlr,e3syLCA2fSAtLVtbdGFibGU6IDB4MDljODMxYThdXX0gLS1bW3RhYmxlOiAweDBkMDI1ZjQwXV0=;-1,0,udlr,e3sxLCA1fSAtLVtbdGFibGU6IDB4MDgxM2QyYTBdXX0gLS1bW3RhYmxlOiAweDA4MTNkMjc4XV0=;0,1,udlr,e3s1LCA1fSAtLVtbdGFibGU6IDB4MDlmNTVjNDBdXX0gLS1bW3RhYmxlOiAweDA5ZjU1YzE4XV0=;0,1,udlr,e3s0LCA2fSAtLVtbdGFibGU6IDB4MDlhZDdlYzBdXX0gLS1bW3RhYmxlOiAweDA5ZmFkNjMwXV0=;-1,0,udlr,e3s0LCA2fSAtLVtbdGFibGU6IDB4MDdmNzM4MDBdXX0gLS1bW3RhYmxlOiAweDA5ZDgzNWMwXV0=;-1,0,udlr,e3s0LCA2fSAtLVtbdGFibGU6IDB4MDgyMDhmZDBdXX0gLS1bW3RhYmxlOiAweDBkMDQ2ZmY4XV0=;0,1,udlr,e3s0LCAzfSAtLVtbdGFibGU6IDB4MDNlYjdiYzBdXX0gLS1bW3RhYmxlOiAweDAzZWI3Yjk4XV0=;0,1,udlr,e3s0LCA0fSAtLVtbdGFibGU6IDB4MDI4YWM2NThdXX0gLS1bW3RhYmxlOiAweDAyOGFjNjMwXV0=;0,1,udlr,e3s0LCA1fSAtLVtbdGFibGU6IDB4MDFlN2ZlNDBdXX0gLS1bW3RhYmxlOiAweDAyOGI5MzE4XV0=;0,1,udlr,e3s0LCA2fSAtLVtbdGFibGU6IDB4MDlmZDIwODhdXX0gLS1bW3RhYmxlOiAweDA5ZDJhMTg4XV0=;1,0,udlr,e3szLCA0fSAtLVtbdGFibGU6IDB4MGQwNGNhOThdXX0gLS1bW3RhYmxlOiAweDBkMDRjYTcwXV0=;1,0,udlr,e3s0LCA0fSAtLVtbdGFibGU6IDB4MDliNzQzNThdXX0gLS1bW3RhYmxlOiAweDA5Yjc0MzMwXV0=;0,-1,udlr,e3syLCA2fSAtLVtbdGFibGU6IDB4MDliODBmYTBdXX0gLS1bW3RhYmxlOiAweDA5YjgwZjc4XV0=;0,-1,udlr,e3syLCA1fSAtLVtbdGFibGU6IDB4MDlmNTY2OTBdXX0gLS1bW3RhYmxlOiAweDA5ZjU2NjY4XV0=;-1,0,udlr,e3s0LCA3fSAtLVtbdGFibGU6IDB4MDdlNTI4OTBdXX0gLS1bW3RhYmxlOiAweDA3ZTUyODY4XV0=;-1,0,udlr,e3szLCA3fSAtLVtbdGFibGU6IDB4MDgxMzA2NzhdXX0gLS1bW3RhYmxlOiAweDA4MTMwNjUwXV0=;0,1,udlr,e3s1LCA1fSAtLVtbdGFibGU6IDB4MDFkZDhjZjhdXX0gLS1bW3RhYmxlOiAweDAxZGQ4Y2QwXV0=;0,1,udlr,e3s1LCA1fSAtLVtbdGFibGU6IDB4MDliYjllYjhdXX0gLS1bW3RhYmxlOiAweDA5YmI5ZTkwXV0=;-1,0,udlr,e3s1LCA2fSAtLVtbdGFibGU6IDB4MDlmNjE0ODhdXX0gLS1bW3RhYmxlOiAweDA5ZjYxNDYwXV0=;-1,0,udlr,e3s2LCA2fSAtLVtbdGFibGU6IDB4MDlmYzVlMThdXX0gLS1bW3RhYmxlOiAweDA5ZmM1ZGYwXV0=;0,1,udlr,e3s1LCA2fSAtLVtbdGFibGU6IDB4MDlkNWI4NDBdXX0gLS1bW3RhYmxlOiAweDA5ZDViODE4XV0=;0,1,udlr,e3s3LCA0fSAtLVtbdGFibGU6IDB4MDgxNzk4NzBdXX0gLS1bW3RhYmxlOiAweDA4MWMxZjYwXV0=;0,1,udlr,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDlmMWQ2NzBdXX0gLS1bW3RhYmxlOiAweDA5ZjFkNjQ4XV0=;0,1,udlr,e3s1LCAzfSAtLVtbdGFibGU6IDB4MDNiZTVjYjBdXX0gLS1bW3RhYmxlOiAweDAzYmU1Yzg4XV0=;0,1,udlr,e3s1LCA0fSAtLVtbdGFibGU6IDB4MDgxZGJkYTBdXX0gLS1bW3RhYmxlOiAweDA4MWRiZDc4XV0=;0,-1,udlr,e3s1LCA0fSAtLVtbdGFibGU6IDB4MDgyM2E3MDBdXX0gLS1bW3RhYmxlOiAweDA5Y2EzNzM4XV0=;0,-1,udlr,e3s3LCA1fSAtLVtbdGFibGU6IDB4MDljZDBmOTBdXX0gLS1bW3RhYmxlOiAweDA5Y2QwZjY4XV0=;0,-1,udlr,e3s1LCA2fSAtLVtbdGFibGU6IDB4MDNlNDdlNzBdXX0gLS1bW3RhYmxlOiAweDA4MTI1OTk4XV0=;1,0,udlr,e3s1LCA1fSAtLVtbdGFibGU6IDB4MDNlODkxNjhdXX0gLS1bW3RhYmxlOiAweDAzZTg5MTQwXV0=;0,1,udlr,e3s1LCA0fSAtLVtbdGFibGU6IDB4MDlkNTlmNjBdXX0gLS1bW3RhYmxlOiAweDA5ZDU5ZjM4XV0=;0,1,udlr,e3s1LCA0fSAtLVtbdGFibGU6IDB4MDgwZDBhMjhdXX0gLS1bW3RhYmxlOiAweDA4MGQwYTAwXV0=;-1,0,udlr,e3s2LCAzfSAtLVtbdGFibGU6IDB4MDgyNzA4MDBdXX0gLS1bW3RhYmxlOiAweDA4MjcwN2Q4XV0=;-1,0,udlr,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDlmM2UxYjBdXX0gLS1bW3RhYmxlOiAweDAzZWZlNjk4XV0=;0,-1,udlr,e3s0LCAyfSAtLVtbdGFibGU6IDB4MDdlNzZlYjBdXX0gLS1bW3RhYmxlOiAweDA3ZTc2ZTg4XV0=;0,-1,udlr,e3s1LCA1fSAtLVtbdGFibGU6IDB4MGQwMzIzNTBdXX0gLS1bW3RhYmxlOiAweDBkMDMyMzI4XV0=;0,-1,udlr,e3s1LCA1fSAtLVtbdGFibGU6IDB4MDNiZWUzOTBdXX0gLS1bW3RhYmxlOiAweDAzYmVlMzY4XV0=;-1,0,udlr,e3s2LCA2fSAtLVtbdGFibGU6IDB4MDlmNjgwODBdXX0gLS1bW3RhYmxlOiAweDA3ZjJkMWYwXV0=;0,1,udlr,e3s1LCA2fSAtLVtbdGFibGU6IDB4MDlhY2ZkMDBdXX0gLS1bW3RhYmxlOiAweDA5YWNmY2Q4XV0=;0,1,udlr,e3s3LCA0fSAtLVtbdGFibGU6IDB4MDNjMjAxNzBdXX0gLS1bW3RhYmxlOiAweDA4MjM1ZmY4XV0=;1,0,udlr,e3s1LCAzfSAtLVtbdGFibGU6IDB4MDlmOGRmMjhdXX0gLS1bW3RhYmxlOiAweDA5YzNjMDQwXV0=;0,-1,udlr,e3s2LCAzfSAtLVtbdGFibGU6IDB4MDliYWQyYTBdXX0gLS1bW3RhYmxlOiAweDA5YmFkMjc4XV0=;1,0,udlr,e3szLCA0fSAtLVtbdGFibGU6IDB4MDliN2QyMThdXX0gLS1bW3RhYmxlOiAweDA5YjU5MDQ4XV0=;1,0,udlr,e3s0LCA0fSAtLVtbdGFibGU6IDB4MDliMjkxZDhdXX0gLS1bW3RhYmxlOiAweDA5YjI5MWIwXV0=;0,-1,udlr,e3s1LCA0fSAtLVtbdGFibGU6IDB4MDlkMDYwNTBdXX0gLS1bW3RhYmxlOiAweDAxZWU5NjkwXV0=;0,-1,udlr,e3s1LCA0fSAtLVtbdGFibGU6IDB4MDgxNThlMTBdXX0gLS1bW3RhYmxlOiAweDA4MTU4ZGU4XV0=;0,1,udlr,e3s1LCA0fSAtLVtbdGFibGU6IDB4MDgwMjgwMTBdXX0gLS1bW3RhYmxlOiAweDA4MGU1NGYwXV0=;-1,0,udlr,e3s0LCA0fSAtLVtbdGFibGU6IDB4MGEwNjYyYThdXX0gLS1bW3RhYmxlOiAweDA4MDIzMDA4XV0=;-1,0,udlr,e3s0LCA1fSAtLVtbdGFibGU6IDB4MDgxMmVjOThdXX0gLS1bW3RhYmxlOiAweDA4MTJlYzcwXV0=;-1,0,udlr,e3s2LCA1fSAtLVtbdGFibGU6IDB4MDNiZThiZjhdXX0gLS1bW3RhYmxlOiAweDAzYmU4YmQwXV0=;-1,0,udlr,e3s2LCA1fSAtLVtbdGFibGU6IDB4MDlhZTc2MDhdXX0gLS1bW3RhYmxlOiAweDA5YWU3NWUwXV0=;0,1,udlr,e3s2LCAzfSAtLVtbdGFibGU6IDB4MDliMDRiYzBdXX0gLS1bW3RhYmxlOiAweDA5YjA0Yjk4XV0=;1,0,udlr,e3s2LCAzfSAtLVtbdGFibGU6IDB4MDdmNGEzNjBdXX0gLS1bW3RhYmxlOiAweDA3ZjRhMzM4XV0=;0,1,udlr,e3s3LCA0fSAtLVtbdGFibGU6IDB4MDljMzgwMzhdXX0gLS1bW3RhYmxlOiAweDA5YzM4MDEwXV0=;0,1,udlr,e3s0LCAxfSAtLVtbdGFibGU6IDB4MDgwOWM5ZDBdXX0gLS1bW3RhYmxlOiAweDA5YTgyODMwXV0=;1,0,udlr,e3s0LCAyfSAtLVtbdGFibGU6IDB4MDdlNTBlNjhdXX0gLS1bW3RhYmxlOiAweDA3ZTUwZTQwXV0=;1,0,udlr,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDljNzMyYzBdXX0gLS1bW3RhYmxlOiAweDA3ZTkyZjM4XV0=;0,-1,udlr,e3s1LCA0fSAtLVtbdGFibGU6IDB4MDgxYWExMDhdXX0gLS1bW3RhYmxlOiAweDBhMDYzMzkwXV0=;0,-1,udlr,e3s1LCA0fSAtLVtbdGFibGU6IDB4MDdlYWQyMjhdXX0gLS1bW3RhYmxlOiAweDA3ZWFkMjAwXV0=;0,-1,udlr,e3s1LCAzfSAtLVtbdGFibGU6IDB4MDgxM2QwNDhdXX0gLS1bW3RhYmxlOiAweDA5YTllODMwXV0=;0,-1,udlr,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDlkYTIzNjhdXX0gLS1bW3RhYmxlOiAweDAzZTQxNjAwXV0=;1,0,udlr,e3szLCA1fSAtLVtbdGFibGU6IDB4MDgxNmZjNDhdXX0gLS1bW3RhYmxlOiAweDA4MTZmYzIwXV0=;1,0,udlr,e3s0LCA1fSAtLVtbdGFibGU6IDB4MDgxYTYxODhdXX0gLS1bW3RhYmxlOiAweDA3ZThlMmYwXV0=;0,-1,udlr,e3s0LCA0fSAtLVtbdGFibGU6IDB4MDljYjllNTBdXX0gLS1bW3RhYmxlOiAweDAzZTZjYWUwXV0=;0,-1,udlr,e3s1LCA0fSAtLVtbdGFibGU6IDB4MDAyNzk2YzBdXX0gLS1bW3RhYmxlOiAweDBhMDYyOWI4XV0=;0,-1,udlr,e3s0LCA2fSAtLVtbdGFibGU6IDB4MDgxOWIwNjBdXX0gLS1bW3RhYmxlOiAweDA4MWMyMDM4XV0=;0,-1,udlr,e3s0LCA2fSAtLVtbdGFibGU6IDB4MDljZDBlNjBdXX0gLS1bW3RhYmxlOiAweDA5YjgxYzk4XV0=;1,0,udlr,e3syLCA3fSAtLVtbdGFibGU6IDB4MDgyNzU0YjBdXX0gLS1bW3RhYmxlOiAweDA4Mjc1NDg4XV0=;1,0,udlr,e3sxLCA2fSAtLVtbdGFibGU6IDB4MDgxN2Y1NzBdXX0gLS1bW3RhYmxlOiAweDA5ZjgxMDEwXV0=;0,1,udlr,e3syLCA2fSAtLVtbdGFibGU6IDB4MDlmYWI5ZTBdXX0gLS1bW3RhYmxlOiAweDA5ZmFiOWI4XV0=;0,1,udlr,e3swLCA0fSAtLVtbdGFibGU6IDB4MDlhYmQ1ODhdXX0gLS1bW3RhYmxlOiAweDA5YWJkNTYwXV0=;1,0,udlr,e3sxLCA1fSAtLVtbdGFibGU6IDB4MDdlYzZmODhdXX0gLS1bW3RhYmxlOiAweDA3ZmE3Y2QwXV0=;1,0,udlr,e3sxLCA1fSAtLVtbdGFibGU6IDB4MDNmMGYyYzBdXX0gLS1bW3RhYmxlOiAweDAzZjBmMjk4XV0=;-1,0,udlr,e3sxLCAzfSAtLVtbdGFibGU6IDB4MDNlZDk5ODhdXX0gLS1bW3RhYmxlOiAweDAzZWQ5OTYwXV0=;0,1,udlr,e3swLCAzfSAtLVtbdGFibGU6IDB4MDgxOTcwMDBdXX0gLS1bW3RhYmxlOiAweDA3ZWYxMjcwXV0=;0,1,udlr,e3swLCAzfSAtLVtbdGFibGU6IDB4MDgyMDIwZjBdXX0gLS1bW3RhYmxlOiAweDA4MjAyMGM4XV0=;0,1,udlr,e3syLCAxfSAtLVtbdGFibGU6IDB4MDljZTA1YjBdXX0gLS1bW3RhYmxlOiAweDA4MWJhYTU4XV0=;-1,0,udlr,e3sxLCAyfSAtLVtbdGFibGU6IDB4MDNlYjVlYjhdXX0gLS1bW3RhYmxlOiAweDAzZWI1ZTkwXV0=;0,1,udlr,e3sxLCAyfSAtLVtbdGFibGU6IDB4MDdmNTMxNzhdXX0gLS1bW3RhYmxlOiAweDAxZGNjNGM4XV0=;-1,0,udlr,e3s0LCAxfSAtLVtbdGFibGU6IDB4MDliODJkYTBdXX0gLS1bW3RhYmxlOiAweDA5YjgyZDc4XV0=;-1,0,udlr,e3szLCAxfSAtLVtbdGFibGU6IDB4MDdlODE4YzBdXX0gLS1bW3RhYmxlOiAweDA3ZTgxODk4XV0=;-1,0,udlr,e3syLCAxfSAtLVtbdGFibGU6IDB4MDlmYTI4YTBdXX0gLS1bW3RhYmxlOiAweDA5ZmEyODc4XV0=;0,-1,udlr,e3s0LCAyfSAtLVtbdGFibGU6IDB4MDgyMmI0MThdXX0gLS1bW3RhYmxlOiAweDA4MDViMDUwXV0=;0,-1,udlr,e3s0LCAxfSAtLVtbdGFibGU6IDB4MDlmNWMyODBdXX0gLS1bW3RhYmxlOiAweDA4MTBmMjA4XV0=;-1,0,udlr,e3s0LCAwfSAtLVtbdGFibGU6IDB4MDgyNTVmMDBdXX0gLS1bW3RhYmxlOiAweDA4MjU1ZWQ4XV0=;0,0,space,e3szLCAwfSAtLVtbdGFibGU6IDB4MDgxNzQwNjBdXX0gLS1bW3RhYmxlOiAweDA4MTc0MDM4XV0=;"
  },
  {
    "path": "officialworlds/minigames/block puzzle 3.bab",
    "content": "{\"width\":14,\"version\":5,\"extra\":true,\"map\":\"eJydl91uozAQhV8l6s1qJaSNwcbQimeJSHCzSBRH/GxTRXn3wpiCiWNmtBeVevEdH47H9kwKvav0Ka92h+x268pKZS9H3RTNS3DN9kFZZCz4Gv5pL+pU5lV2uwdF2WTsHjyFwwFmG3B+nNFoQEM/etJVVcww34btdcWARtR14214HU4OMEc/go1oQgwHcEoKByjbE9MZmhHjGTrczjevHQIdYeeivy4wf4SHxXST3cIgQmwEcqJWNvEjTLaRSA1WNk51JxsWcMQmxQpi2YROrf02cyWNkhErGQEd0ippYKfshC02Sk7LbmDnFhOyg1ImxOwcfGJadgNLb3Z/3Y0yoWU3sHNIJhsRhN7soJQpMbuAB3hPy25gpw0Qshsl1hNWNpH3BmM2WItY2QjPDX6yxQ82aMewbeR/VBKUyR7pNZNNDDaJtzZPbGxh6t1t//eBMkFemPdKn0dYQvMmHjQD+w+aN4wROueMEMYokVHkgUbfMZuW2NDwQyewtiAOW0ALid2s1drxdsru2h1+ygYCiRz1UTDNJsDHfDsq8FPFjEAQ9yYFGmlT9veDQCAPzyg4N1pfZgVHpoBR0eZ1W//qZo1E5k1IrZYUMTEzM/MpMmWNq3/+eW9UvWiE84biGo4MrLC5g6JS7SKSyE1YbfCUB7kOo2T4AwEMpTHydowC9U81X8zSID9ZrINrBILjO/ah+3ZRcGRmHxXLLA4SGVEPypQCGWQsHoY+kRJS2zwyWTv8Ho98VNPVMBIZ4pFrfdaLIkYmGHMDP9QlL2vbCGmXo0w33V/jBHOicJqmK3n9bfHObwuX7y2c4btlL58Qtupc9apYJNLTg+9vjer6pt4d3lRdfAMJJE3D\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"block puzzle 3\",\"height\":5,\"author\":\"Slabdrill\"}"
  },
  {
    "path": "officialworlds/minigames/block puzzle 3.replay",
    "content": "-1,0,udlr,e3syLCAxfSAtLVtbdGFibGU6IDB4MDljMGRhMzBdXX0gLS1bW3RhYmxlOiAweDA5YzBkYTA4XV0=;1,0,udlr,e3s1LCAzfSAtLVtbdGFibGU6IDB4MDgyNjcwYjhdXX0gLS1bW3RhYmxlOiAweDA4MjY3MDkwXV0=;0,-1,udlr,e3syLCAzfSAtLVtbdGFibGU6IDB4MDlmYjhlODhdXX0gLS1bW3RhYmxlOiAweDA5ZmI4ZTYwXV0=;1,0,udlr,e3szLCAyfSAtLVtbdGFibGU6IDB4MDdlYzJhODhdXX0gLS1bW3RhYmxlOiAweDA5ZmRkNjEwXV0=;0,-1,udlr,e3szLCAyfSAtLVtbdGFibGU6IDB4MGEwNWFkZDBdXX0gLS1bW3RhYmxlOiAweDA5ZmI4YzI4XV0=;1,0,udlr,e3sxLCAzfSAtLVtbdGFibGU6IDB4MGEwNWJiYThdXX0gLS1bW3RhYmxlOiAweDA4MjY5NzEwXV0=;1,0,udlr,e3syLCAzfSAtLVtbdGFibGU6IDB4MDljM2QzMjBdXX0gLS1bW3RhYmxlOiAweDA5YzNkMmY4XV0=;1,0,udlr,e3syLCAzfSAtLVtbdGFibGU6IDB4MDdmZmU1NzhdXX0gLS1bW3RhYmxlOiAweDA3ZmZlNTUwXV0=;0,1,udlr,e3sxLCAxfSAtLVtbdGFibGU6IDB4MGQwM2QwYThdXX0gLS1bW3RhYmxlOiAweDBkMDNkMDgwXV0=;0,1,udlr,e3sxLCAyfSAtLVtbdGFibGU6IDB4MDNlZDZhOThdXX0gLS1bW3RhYmxlOiAweDAzZWQ2YTcwXV0=;-1,0,udlr,e3sxLCAzfSAtLVtbdGFibGU6IDB4MGEwNzRlMTBdXX0gLS1bW3RhYmxlOiAweDBhMDc0ZGU4XV0=;-1,0,udlr,e3szLCAxfSAtLVtbdGFibGU6IDB4MDljYmM3MjhdXX0gLS1bW3RhYmxlOiAweDAxZTczOGQwXV0=;-1,0,udlr,e3szLCAxfSAtLVtbdGFibGU6IDB4MDdmZmVmZDBdXX0gLS1bW3RhYmxlOiAweDA3ZmZlZmE4XV0=;-1,0,udlr,e3s0LCAwfSAtLVtbdGFibGU6IDB4MDgxYzZhMjBdXX0gLS1bW3RhYmxlOiAweDA4MWM2OWY4XV0=;-1,0,udlr,e3szLCAwfSAtLVtbdGFibGU6IDB4MDdmZWIxNjBdXX0gLS1bW3RhYmxlOiAweDAyODhiOWQ4XV0=;-1,0,udlr,e3szLCAyfSAtLVtbdGFibGU6IDB4MDdlN2E2ZjBdXX0gLS1bW3RhYmxlOiAweDA5ZjllYWQwXV0=;-1,0,udlr,e3s2LCAzfSAtLVtbdGFibGU6IDB4MDNlYTEzNzBdXX0gLS1bW3RhYmxlOiAweDAzZWExMzQ4XV0=;0,-1,udlr,e3s1LCAzfSAtLVtbdGFibGU6IDB4MDgyMDcwZjhdXX0gLS1bW3RhYmxlOiAweDA4MjA3MGQwXV0=;0,-1,udlr,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDdmZTYxMTBdXX0gLS1bW3RhYmxlOiAweDA3ZmU2MGU4XV0=;1,0,udlr,e3szLCAzfSAtLVtbdGFibGU6IDB4MDlkNzlkMTBdXX0gLS1bW3RhYmxlOiAweDA4MDNiNDIwXV0=;1,0,udlr,e3s0LCAzfSAtLVtbdGFibGU6IDB4MGEwODc0NjhdXX0gLS1bW3RhYmxlOiAweDBhMDg3NDQwXV0=;1,0,udlr,e3s1LCAzfSAtLVtbdGFibGU6IDB4MGQwM2MyODBdXX0gLS1bW3RhYmxlOiAweDAxZGM5ZDgwXV0=;1,0,udlr,e3swLCAyfSAtLVtbdGFibGU6IDB4MDNjMjJkOTBdXX0gLS1bW3RhYmxlOiAweDBkMDE5N2MwXV0=;1,0,udlr,e3sxLCAyfSAtLVtbdGFibGU6IDB4MGE0MjBmNzhdXX0gLS1bW3RhYmxlOiAweDBhNDIwZjUwXV0=;1,0,udlr,e3syLCAyfSAtLVtbdGFibGU6IDB4MDgxMzUxMjBdXX0gLS1bW3RhYmxlOiAweDA4MTM1MGY4XV0=;0,1,udlr,e3sxLCAxfSAtLVtbdGFibGU6IDB4MDljNzQ4MjhdXX0gLS1bW3RhYmxlOiAweDA5Yzc0ODAwXV0=;0,1,udlr,e3sxLCAyfSAtLVtbdGFibGU6IDB4MDgxNTA3ZDBdXX0gLS1bW3RhYmxlOiAweDA5ZGMzNjM4XV0=;-1,0,udlr,e3sxLCAzfSAtLVtbdGFibGU6IDB4MDliMjUwZThdXX0gLS1bW3RhYmxlOiAweDA5YjI1MGMwXV0=;-1,0,udlr,e3szLCAwfSAtLVtbdGFibGU6IDB4MDgwYjRmOTBdXX0gLS1bW3RhYmxlOiAweDA4MGI0ZjY4XV0=;0,1,udlr,e3syLCAwfSAtLVtbdGFibGU6IDB4MDFlNmJiMzhdXX0gLS1bW3RhYmxlOiAweDAzZTdhNTI4XV0=;0,1,udlr,e3syLCAxfSAtLVtbdGFibGU6IDB4MDNjMDY3NjhdXX0gLS1bW3RhYmxlOiAweDAzYzA2NzQwXV0=;-1,0,udlr,e3s1LCAxfSAtLVtbdGFibGU6IDB4MDlhOTQ4NDhdXX0gLS1bW3RhYmxlOiAweDA5YTk0ODIwXV0=;-1,0,udlr,e3s0LCAxfSAtLVtbdGFibGU6IDB4MDlmMzI1NjhdXX0gLS1bW3RhYmxlOiAweDA5ZjMyNTQwXV0=;-1,0,udlr,e3szLCAxfSAtLVtbdGFibGU6IDB4MDlhOWExMzhdXX0gLS1bW3RhYmxlOiAweDA5YTlhMTEwXV0=;-1,0,udlr,e3s2LCAxfSAtLVtbdGFibGU6IDB4MDlmYzA0NjhdXX0gLS1bW3RhYmxlOiAweDA5ZmMwNDQwXV0=;-1,0,udlr,e3s1LCAxfSAtLVtbdGFibGU6IDB4MDdlYzVmMThdXX0gLS1bW3RhYmxlOiAweDA3ZWM1ZWYwXV0=;-1,0,udlr,e3s0LCAxfSAtLVtbdGFibGU6IDB4MDliY2U3OThdXX0gLS1bW3RhYmxlOiAweDA5YmNlNzcwXV0=;0,-1,udlr,e3s2LCAyfSAtLVtbdGFibGU6IDB4MDlkMGMzYzBdXX0gLS1bW3RhYmxlOiAweDA5ZDBjMzk4XV0=;0,-1,udlr,e3s2LCAxfSAtLVtbdGFibGU6IDB4MDNlOGYzZThdXX0gLS1bW3RhYmxlOiAweDAzZThmM2MwXV0=;1,0,udlr,e3s2LCAwfSAtLVtbdGFibGU6IDB4MDgxMzhlMThdXX0gLS1bW3RhYmxlOiAweDA4MTM4ZGYwXV0=;1,0,udlr,e3s0LCAyfSAtLVtbdGFibGU6IDB4MDNlNjk0NjhdXX0gLS1bW3RhYmxlOiAweDAzZTY5NDQwXV0=;1,0,udlr,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDgwNTE2MjBdXX0gLS1bW3RhYmxlOiAweDA4MDUxNWY4XV0=;0,1,udlr,e3s0LCAxfSAtLVtbdGFibGU6IDB4MDgxOTllZThdXX0gLS1bW3RhYmxlOiAweDA4MTk5ZWMwXV0=;0,1,udlr,e3s0LCAyfSAtLVtbdGFibGU6IDB4MDdmMTg1YjhdXX0gLS1bW3RhYmxlOiAweDA3ZjE4NTkwXV0=;1,0,udlr,e3syLCAxfSAtLVtbdGFibGU6IDB4MDdlNWNiZDhdXX0gLS1bW3RhYmxlOiAweDA5ZmM2ODY4XV0=;1,0,udlr,e3szLCAxfSAtLVtbdGFibGU6IDB4MDNiZGI2ODBdXX0gLS1bW3RhYmxlOiAweDA5ZjdhNWMwXV0=;1,0,udlr,e3s0LCAxfSAtLVtbdGFibGU6IDB4MDlkOTgwMThdXX0gLS1bW3RhYmxlOiAweDA5ZDk3ZmYwXV0=;0,-1,udlr,e3syLCAyfSAtLVtbdGFibGU6IDB4MDliMmExNThdXX0gLS1bW3RhYmxlOiAweDA4Mjc5ZjE4XV0=;0,-1,udlr,e3syLCAxfSAtLVtbdGFibGU6IDB4MDlkNWY0MjBdXX0gLS1bW3RhYmxlOiAweDA5ZGE3Mjc4XV0=;1,0,udlr,e3syLCAxfSAtLVtbdGFibGU6IDB4MDNlZmM0ZTBdXX0gLS1bW3RhYmxlOiAweDA5ZmI1MjI4XV0=;1,0,udlr,e3swLCAzfSAtLVtbdGFibGU6IDB4MDliZmM4ZTBdXX0gLS1bW3RhYmxlOiAweDA5YmZjOGI4XV0=;0,-1,udlr,e3sxLCAyfSAtLVtbdGFibGU6IDB4MDgyMWE3YjBdXX0gLS1bW3RhYmxlOiAweDA4MjFhNzg4XV0=;0,-1,udlr,e3sxLCAyfSAtLVtbdGFibGU6IDB4MDNlN2FkMzBdXX0gLS1bW3RhYmxlOiAweDAzZTdhZDA4XV0=;-1,0,udlr,e3szLCAzfSAtLVtbdGFibGU6IDB4MDlkN2ZlYThdXX0gLS1bW3RhYmxlOiAweDA5ZDdmZTgwXV0=;-1,0,udlr,e3syLCAzfSAtLVtbdGFibGU6IDB4MDliODU0ZTBdXX0gLS1bW3RhYmxlOiAweDA5Yjg1NGI4XV0=;-1,0,udlr,e3sxLCAzfSAtLVtbdGFibGU6IDB4MDlhZmJjZDBdXX0gLS1bW3RhYmxlOiAweDA5YWZiY2E4XV0=;-1,0,udlr,e3s1LCAyfSAtLVtbdGFibGU6IDB4MGQwM2Y3ODBdXX0gLS1bW3RhYmxlOiAweDBkMDNmNzU4XV0=;-1,0,udlr,e3s0LCAyfSAtLVtbdGFibGU6IDB4MDlkNjZjMjBdXX0gLS1bW3RhYmxlOiAweDA5ZDY2YmY4XV0=;-1,0,udlr,e3szLCAyfSAtLVtbdGFibGU6IDB4MDliMmU3ZDBdXX0gLS1bW3RhYmxlOiAweDA5YjJlN2E4XV0=;0,1,udlr,e3s1LCAxfSAtLVtbdGFibGU6IDB4MDdmYmVjMzhdXX0gLS1bW3RhYmxlOiAweDA5YjUwOWU4XV0=;0,1,udlr,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDlmYjA2MDhdXX0gLS1bW3RhYmxlOiAweDA5ZmIwNWUwXV0=;1,0,udlr,e3szLCAwfSAtLVtbdGFibGU6IDB4MDgxOWM2ZTBdXX0gLS1bW3RhYmxlOiAweDA4MGJmMjM4XV0=;1,0,udlr,e3s0LCAwfSAtLVtbdGFibGU6IDB4MDI4OGI1NzBdXX0gLS1bW3RhYmxlOiAweDAwMjdkNzIwXV0=;1,0,udlr,e3szLCAyfSAtLVtbdGFibGU6IDB4MDNlYWY5NzhdXX0gLS1bW3RhYmxlOiAweDAzZWFmOTUwXV0=;1,0,udlr,e3syLCAxfSAtLVtbdGFibGU6IDB4MDdmMWI4MDBdXX0gLS1bW3RhYmxlOiAweDA3ZjFiN2Q4XV0=;1,0,udlr,e3szLCAxfSAtLVtbdGFibGU6IDB4MDNjM2IwOThdXX0gLS1bW3RhYmxlOiAweDA3ZjAyZTI4XV0=;1,0,udlr,e3sxLCAyfSAtLVtbdGFibGU6IDB4MDliNzJhYTBdXX0gLS1bW3RhYmxlOiAweDA5YjcyYTc4XV0=;0,-1,udlr,e3syLCAyfSAtLVtbdGFibGU6IDB4MDlhYTZmNTBdXX0gLS1bW3RhYmxlOiAweDA4MGRiMzMwXV0=;0,-1,udlr,e3syLCAyfSAtLVtbdGFibGU6IDB4MDNlZGEwZDBdXX0gLS1bW3RhYmxlOiAweDAzZWRhMGE4XV0=;-1,0,udlr,e3szLCAyfSAtLVtbdGFibGU6IDB4MDlhNjEyMjBdXX0gLS1bW3RhYmxlOiAweDA5YTYxMWY4XV0=;-1,0,udlr,e3syLCAyfSAtLVtbdGFibGU6IDB4MDljZjE3YjhdXX0gLS1bW3RhYmxlOiAweDA5Y2YxNzkwXV0=;-1,0,udlr,e3sxLCAyfSAtLVtbdGFibGU6IDB4MDgwM2E5ZTBdXX0gLS1bW3RhYmxlOiAweDA4MDNhOWI4XV0=;-1,0,udlr,e3s1LCAzfSAtLVtbdGFibGU6IDB4MDlmYzY4ZjBdXX0gLS1bW3RhYmxlOiAweDA5Y2VmZmUwXV0=;-1,0,udlr,e3szLCAzfSAtLVtbdGFibGU6IDB4MDgwMGFlNzBdXX0gLS1bW3RhYmxlOiAweDA3ZTUyYWM4XV0=;-1,0,udlr,e3szLCAzfSAtLVtbdGFibGU6IDB4MDgwYzJjZTBdXX0gLS1bW3RhYmxlOiAweDA4MGMyY2I4XV0=;0,1,udlr,e3szLCAxfSAtLVtbdGFibGU6IDB4MDNjMTEyOTBdXX0gLS1bW3RhYmxlOiAweDBhMDYwZGYwXV0=;0,1,udlr,e3szLCAyfSAtLVtbdGFibGU6IDB4MDlkNjU3ODhdXX0gLS1bW3RhYmxlOiAweDA5ZDY1NzYwXV0=;0,1,udlr,e3s1LCAxfSAtLVtbdGFibGU6IDB4MDFlODUxMTBdXX0gLS1bW3RhYmxlOiAweDAxZTg1MGU4XV0=;0,1,udlr,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDgxNTUyMDBdXX0gLS1bW3RhYmxlOiAweDA3ZjRkZTcwXV0=;1,0,udlr,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDliYmM1ZThdXX0gLS1bW3RhYmxlOiAweDA5YjAyYzcwXV0=;1,0,udlr,e3syLCAwfSAtLVtbdGFibGU6IDB4MDdlOWQzOTBdXX0gLS1bW3RhYmxlOiAweDA3ZmY5NzY4XV0=;1,0,udlr,e3szLCAwfSAtLVtbdGFibGU6IDB4MDljYmM3MDhdXX0gLS1bW3RhYmxlOiAweDA5ZDRjMjM4XV0=;1,0,udlr,e3s0LCAxfSAtLVtbdGFibGU6IDB4MDlkYTYyOTBdXX0gLS1bW3RhYmxlOiAweDAyODhjYTgwXV0=;1,0,udlr,e3s0LCAzfSAtLVtbdGFibGU6IDB4MDgxZjU0NjBdXX0gLS1bW3RhYmxlOiAweDA4MWY1NDM4XV0=;1,0,udlr,e3syLCAzfSAtLVtbdGFibGU6IDB4MDgyNThkMzhdXX0gLS1bW3RhYmxlOiAweDAxZTY2MTc4XV0=;1,0,udlr,e3sxLCAyfSAtLVtbdGFibGU6IDB4MDlmNjQwNzBdXX0gLS1bW3RhYmxlOiAweDA4MWY0YTQwXV0=;0,-1,udlr,e3sxLCAyfSAtLVtbdGFibGU6IDB4MDlhZjZjYjhdXX0gLS1bW3RhYmxlOiAweDA5YzczNjE4XV0=;0,-1,udlr,e3sxLCAxfSAtLVtbdGFibGU6IDB4MDgxYjhmMThdXX0gLS1bW3RhYmxlOiAweDA3ZjBmZTkwXV0=;1,0,udlr,e3sxLCAwfSAtLVtbdGFibGU6IDB4MDdmNjA2NzBdXX0gLS1bW3RhYmxlOiAweDA3ZjYwNjQ4XV0=;-1,0,udlr,e3szLCAzfSAtLVtbdGFibGU6IDB4MDlhZGYwYzhdXX0gLS1bW3RhYmxlOiAweDA5YjYxMGQwXV0=;-1,0,udlr,e3syLCAzfSAtLVtbdGFibGU6IDB4MDgwNzk1NDhdXX0gLS1bW3RhYmxlOiAweDA4MDc5NTIwXV0=;0,1,udlr,e3syLCAxfSAtLVtbdGFibGU6IDB4MDljNTA3ZTBdXX0gLS1bW3RhYmxlOiAweDA5YzUwN2I4XV0=;0,1,udlr,e3syLCAxfSAtLVtbdGFibGU6IDB4MDgwOWFkNzhdXX0gLS1bW3RhYmxlOiAweDA4MDlhZDUwXV0=;-1,0,udlr,e3s0LCAwfSAtLVtbdGFibGU6IDB4MDlhNjkwNTBdXX0gLS1bW3RhYmxlOiAweDA5ZGMwNDA4XV0=;-1,0,udlr,e3szLCAwfSAtLVtbdGFibGU6IDB4MDdmYmNmYjBdXX0gLS1bW3RhYmxlOiAweDA3ZmJjZjg4XV0=;-1,0,udlr,e3syLCAwfSAtLVtbdGFibGU6IDB4MDljMTUwYzhdXX0gLS1bW3RhYmxlOiAweDA5YzE1MGEwXV0=;-1,0,udlr,e3s2LCAwfSAtLVtbdGFibGU6IDB4MDljZTEyZjhdXX0gLS1bW3RhYmxlOiAweDA5YmNkMTAwXV0=;-1,0,udlr,e3s1LCAwfSAtLVtbdGFibGU6IDB4MDliYzBiMjBdXX0gLS1bW3RhYmxlOiAweDA5YmMwYWY4XV0=;-1,0,udlr,e3s0LCAwfSAtLVtbdGFibGU6IDB4MDgwNzg0MzBdXX0gLS1bW3RhYmxlOiAweDA4MDc4NDA4XV0=;0,-1,udlr,e3s2LCAyfSAtLVtbdGFibGU6IDB4MDljMTRlZjhdXX0gLS1bW3RhYmxlOiAweDA5YzE0ZWQwXV0=;0,-1,udlr,e3s2LCAxfSAtLVtbdGFibGU6IDB4MDdmZTNiZTBdXX0gLS1bW3RhYmxlOiAweDA3ZmUzYmI4XV0=;1,0,udlr,e3s2LCAwfSAtLVtbdGFibGU6IDB4MDdlN2RjNjhdXX0gLS1bW3RhYmxlOiAweDA3ZTdkYzQwXV0=;1,0,udlr,e3s0LCAzfSAtLVtbdGFibGU6IDB4MDlhZmJlNjhdXX0gLS1bW3RhYmxlOiAweDA5ZGQ2Njc4XV0=;0,-1,udlr,e3s1LCAzfSAtLVtbdGFibGU6IDB4MDgyMTA3MDhdXX0gLS1bW3RhYmxlOiAweDA4MjEwNmUwXV0=;0,-1,udlr,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDgwOWRiNDhdXX0gLS1bW3RhYmxlOiAweDA4MTUwOTMwXV0=;1,0,udlr,e3syLCAyfSAtLVtbdGFibGU6IDB4MDI4YjAxOTBdXX0gLS1bW3RhYmxlOiAweDA4MDY5NWUwXV0=;1,0,udlr,e3szLCAyfSAtLVtbdGFibGU6IDB4MDljYjQ1NThdXX0gLS1bW3RhYmxlOiAweDA5Y2I0NTMwXV0=;1,0,udlr,e3s0LCAyfSAtLVtbdGFibGU6IDB4MDI4OGU4ZjBdXX0gLS1bW3RhYmxlOiAweDAyODhlOGM4XV0=;1,0,udlr,e3sxLCAzfSAtLVtbdGFibGU6IDB4MDdmMWZlODhdXX0gLS1bW3RhYmxlOiAweDA3ZjFmZTYwXV0=;1,0,udlr,e3syLCAzfSAtLVtbdGFibGU6IDB4MDlkMjg3ZjhdXX0gLS1bW3RhYmxlOiAweDA5ZDI4N2QwXV0=;1,0,udlr,e3syLCAzfSAtLVtbdGFibGU6IDB4MDdmMTdjZjBdXX0gLS1bW3RhYmxlOiAweDA4MjA0ODg4XV0=;0,1,udlr,e3sxLCAxfSAtLVtbdGFibGU6IDB4MDljNTNkNThdXX0gLS1bW3RhYmxlOiAweDA5Y2YzNTA4XV0=;0,1,udlr,e3sxLCAyfSAtLVtbdGFibGU6IDB4MDlkNjgwYzBdXX0gLS1bW3RhYmxlOiAweDA5ZDY4MDk4XV0=;-1,0,udlr,e3sxLCAzfSAtLVtbdGFibGU6IDB4MDNlZWM1YzBdXX0gLS1bW3RhYmxlOiAweDAzZWVjNTk4XV0=;-1,0,udlr,e3szLCAxfSAtLVtbdGFibGU6IDB4MDljMGIwZDBdXX0gLS1bW3RhYmxlOiAweDA5YmIyNDI4XV0=;-1,0,udlr,e3szLCAxfSAtLVtbdGFibGU6IDB4MDgwODkwOTBdXX0gLS1bW3RhYmxlOiAweDA4MDg5MDY4XV0=;0,-1,udlr,e3s0LCAyfSAtLVtbdGFibGU6IDB4MDdlOGYwODhdXX0gLS1bW3RhYmxlOiAweDA3ZThmMDYwXV0=;0,-1,udlr,e3s0LCAxfSAtLVtbdGFibGU6IDB4MDdlYjk3YzhdXX0gLS1bW3RhYmxlOiAweDA3ZTU3ZmUwXV0=;-1,0,udlr,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDlkN2M5OThdXX0gLS1bW3RhYmxlOiAweDA5ZDdjOTcwXV0=;-1,0,udlr,e3s0LCAyfSAtLVtbdGFibGU6IDB4MDljZjk0OThdXX0gLS1bW3RhYmxlOiAweDA5ZGNiOTg4XV0=;-1,0,udlr,e3szLCAyfSAtLVtbdGFibGU6IDB4MDdlNDRmNzBdXX0gLS1bW3RhYmxlOiAweDA3ZTQ0ZjQ4XV0=;0,1,udlr,e3s1LCAxfSAtLVtbdGFibGU6IDB4MGEwNjUxYjBdXX0gLS1bW3RhYmxlOiAweDBhMDY1MTg4XV0=;0,1,udlr,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDljMDA4NThdXX0gLS1bW3RhYmxlOiAweDA5YzAwODMwXV0=;-1,0,udlr,e3s1LCAzfSAtLVtbdGFibGU6IDB4MDlkNmU3ZThdXX0gLS1bW3RhYmxlOiAweDA5ZDZlN2MwXV0=;-1,0,udlr,e3s2LCAwfSAtLVtbdGFibGU6IDB4MDNlNDFkYjhdXX0gLS1bW3RhYmxlOiAweDA3Zjk2ZmUwXV0=;0,1,udlr,e3s2LCAxfSAtLVtbdGFibGU6IDB4MDlkMWVkNzhdXX0gLS1bW3RhYmxlOiAweDA4MTRkODU4XV0=;0,1,udlr,e3s2LCAxfSAtLVtbdGFibGU6IDB4MDdmMTNmYjhdXX0gLS1bW3RhYmxlOiAweDA3ZjEzZjkwXV0=;1,0,udlr,e3s0LCAxfSAtLVtbdGFibGU6IDB4MDliZGRlNTBdXX0gLS1bW3RhYmxlOiAweDA5YmRkZTI4XV0=;1,0,udlr,e3s1LCAxfSAtLVtbdGFibGU6IDB4MDliM2ZhMjBdXX0gLS1bW3RhYmxlOiAweDA5YmUwYmY4XV0=;1,0,udlr,e3s2LCAxfSAtLVtbdGFibGU6IDB4MGEwNmE1ODhdXX0gLS1bW3RhYmxlOiAweDA4MDkzNmQ4XV0=;1,0,udlr,e3syLCAxfSAtLVtbdGFibGU6IDB4MDdmNTJmYzBdXX0gLS1bW3RhYmxlOiAweDA4MTcwZTI4XV0=;1,0,udlr,e3szLCAxfSAtLVtbdGFibGU6IDB4MDlhNzRiMzBdXX0gLS1bW3RhYmxlOiAweDA4MGE0MDk4XV0=;1,0,udlr,e3s0LCAxfSAtLVtbdGFibGU6IDB4MDliN2NhZjhdXX0gLS1bW3RhYmxlOiAweDA3ZTgwMzU4XV0=;0,-1,udlr,e3syLCAyfSAtLVtbdGFibGU6IDB4MDdmNzZmMTBdXX0gLS1bW3RhYmxlOiAweDA3Zjc2ZWU4XV0=;0,-1,udlr,e3syLCAxfSAtLVtbdGFibGU6IDB4MDFkYzc1NjBdXX0gLS1bW3RhYmxlOiAweDAxZGM3NTM4XV0=;-1,0,udlr,e3syLCAwfSAtLVtbdGFibGU6IDB4MDgyMDYxMzBdXX0gLS1bW3RhYmxlOiAweDA4MjA2MTA4XV0=;-1,0,udlr,e3s0LCAzfSAtLVtbdGFibGU6IDB4MDgxOWQwMTBdXX0gLS1bW3RhYmxlOiAweDA4MTljZmU4XV0=;-1,0,udlr,e3szLCAzfSAtLVtbdGFibGU6IDB4MDliMTIyOThdXX0gLS1bW3RhYmxlOiAweDA5YjEyMjcwXV0=;-1,0,udlr,e3s2LCAyfSAtLVtbdGFibGU6IDB4MDdmYTcyNzBdXX0gLS1bW3RhYmxlOiAweDA3ZmE3MjQ4XV0=;-1,0,udlr,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDlhNjYzYzBdXX0gLS1bW3RhYmxlOiAweDA5ZDMwZjU4XV0=;-1,0,udlr,e3s0LCAxfSAtLVtbdGFibGU6IDB4MDlmNzI1NzhdXX0gLS1bW3RhYmxlOiAweDA5ZjcyNTUwXV0=;-1,0,udlr,e3s2LCAxfSAtLVtbdGFibGU6IDB4MDI4YTU5ZDBdXX0gLS1bW3RhYmxlOiAweDAyOGE1OWE4XV0=;0,1,udlr,e3s1LCAxfSAtLVtbdGFibGU6IDB4MDFkZDVlZjBdXX0gLS1bW3RhYmxlOiAweDAzZTY4YzAwXV0=;0,1,udlr,e3s2LCAyfSAtLVtbdGFibGU6IDB4MDI4Nzc0YjhdXX0gLS1bW3RhYmxlOiAweDAyODc3NDkwXV0=;1,0,udlr,e3s0LCAxfSAtLVtbdGFibGU6IDB4MDlmZWFiNjhdXX0gLS1bW3RhYmxlOiAweDA5YzBkM2UwXV0=;1,0,udlr,e3s1LCAxfSAtLVtbdGFibGU6IDB4MDgwMTU2NDhdXX0gLS1bW3RhYmxlOiAweDA4MDE1NjIwXV0=;1,0,udlr,e3s2LCAxfSAtLVtbdGFibGU6IDB4MDdmNWQwZjBdXX0gLS1bW3RhYmxlOiAweDA4MTcwZWQwXV0=;0,-1,udlr,e3s0LCAyfSAtLVtbdGFibGU6IDB4MDljZDExNjhdXX0gLS1bW3RhYmxlOiAweDAxZGNhZWU4XV0=;0,-1,udlr,e3s0LCAxfSAtLVtbdGFibGU6IDB4MDljYmM3ZjBdXX0gLS1bW3RhYmxlOiAweDA5Y2JjN2M4XV0=;1,0,udlr,e3s0LCAwfSAtLVtbdGFibGU6IDB4MDlmMWI4YTBdXX0gLS1bW3RhYmxlOiAweDA5YzU3NjE4XV0=;-1,0,udlr,e3s1LCAzfSAtLVtbdGFibGU6IDB4MGEwNWNkMTBdXX0gLS1bW3RhYmxlOiAweDBhMDVjY2U4XV0=;1,0,udlr,e3syLCAwfSAtLVtbdGFibGU6IDB4MDgwOTZjZjhdXX0gLS1bW3RhYmxlOiAweDA3ZTZiNmU4XV0=;0,0,space,e3s3LCAwfSAtLVtbdGFibGU6IDB4MDgxZmJjODBdXX0gLS1bW3RhYmxlOiAweDA4MjRiNzM4XV0=;"
  },
  {
    "path": "officialworlds/minigames/block puzzle 4.bab",
    "content": "{\"width\":11,\"version\":5,\"extra\":true,\"map\":\"eJyNlmtrgzAUhv9K6ZcxkM0kXlf8JWWI1dQJ1pRUtxbxv8/ES+Ilxg8FCc+D5805aUzIISdxlB/CoK7LLMfB8UKq59F4BqaRJQEwXu3D447jLMqDujFikhMa1NBAjZFkNACNMXjRZdRgqwFZU6OoReEGKldjtSxaqcY2oMoDzLPXUxRZzi13XhiXnF0ZOOruy8BZbz3DUMvSgszylX2wVG/jHjDnKUax3zJXIYJ5JuWeTTSoaBFQF4q4iPb2iJJYWNZakxSsvdalZY4OdrbbtHiFxS13HmKDXQzClC2fZdj+GG9zfjEC091kPP7F9AVGBZrbyjUnqYDB9lZOYbi9l6wYJhRvIgBEa4GnAS6Y4Q7HLX3e9gz2b+gUe/vIMiWlhNyF4Wyf3HlNrj4CoeUPYYbLDU+f4ifCpRB8fYa/zyvFxaggUx9ijN0ZQJ+jn1WP81CfYpiPTkD6FDdSPYRg7W1Eh9t7ZqmfDZ8bzo5xwgJ39QFk3NOXX5CUCMHXB3hEN3yPskKEsEy9leYVTvht012Zixt8qXy9S7zm6mZ8JeGa63utosUt3inNqf8SaT9FmlN4tr8/uv/c8Az6x3bVE6uWWAVAgk1pHYl1X1p2JBwO6xSXFS0O4QkXyT/6whCZ\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"block puzzle 4\",\"height\":4,\"author\":\"Slabdrill\"}"
  },
  {
    "path": "officialworlds/minigames/block puzzle 4.replay",
    "content": "1,0,udlr,e3szLCAyfSAtLVtbdGFibGU6IDB4MGE1ZTVjZjhdXX0gLS1bW3RhYmxlOiAweDBhNWU1Y2QwXV0=;0,1,udlr,e3s0LCAwfSAtLVtbdGFibGU6IDB4MGEyZWFiMzhdXX0gLS1bW3RhYmxlOiAweDBhMmVhYjEwXV0=;1,0,udlr,e3szLCAwfSAtLVtbdGFibGU6IDB4MGEyZjYyYTBdXX0gLS1bW3RhYmxlOiAweDBhMmY2Mjc4XV0=;0,-1,udlr,e3syLCAxfSAtLVtbdGFibGU6IDB4MDQwNmZhMjhdXX0gLS1bW3RhYmxlOiAweDA4NjFhZjYwXV0=;0,-1,udlr,e3syLCAzfSAtLVtbdGFibGU6IDB4MDg2NGRmMTBdXX0gLS1bW3RhYmxlOiAweDBhMmY1ZmY4XV0=;-1,0,udlr,e3s0LCAzfSAtLVtbdGFibGU6IDB4MGIxZjMwOTBdXX0gLS1bW3RhYmxlOiAweDBiMjQ3NzE4XV0=;0,1,udlr,e3s0LCAyfSAtLVtbdGFibGU6IDB4MGEyZTllMThdXX0gLS1bW3RhYmxlOiAweDBhMmU5ZGYwXV0=;1,0,udlr,e3szLCAyfSAtLVtbdGFibGU6IDB4MGExODIwMThdXX0gLS1bW3RhYmxlOiAweDBhMTgxZmYwXV0=;0,1,udlr,e3syLCAxfSAtLVtbdGFibGU6IDB4MGIyNzViNzhdXX0gLS1bW3RhYmxlOiAweDBiMjc1YjUwXV0=;0,1,udlr,e3syLCAyfSAtLVtbdGFibGU6IDB4MGExOTAzNTBdXX0gLS1bW3RhYmxlOiAweDBhMTkwMzI4XV0=;-1,0,udlr,e3szLCAxfSAtLVtbdGFibGU6IDB4MGE0Yjc4ZTBdXX0gLS1bW3RhYmxlOiAweDBhNGI3OGI4XV0=;0,-1,udlr,e3syLCAxfSAtLVtbdGFibGU6IDB4MGExNjc3ZjBdXX0gLS1bW3RhYmxlOiAweDBhMTY3N2M4XV0=;-1,0,udlr,e3s0LCAxfSAtLVtbdGFibGU6IDB4MGEwZGFiYThdXX0gLS1bW3RhYmxlOiAweDBhMGRhYjgwXV0=;-1,0,udlr,e3szLCAxfSAtLVtbdGFibGU6IDB4MGU0MGU3ZjBdXX0gLS1bW3RhYmxlOiAweDBlNDBlN2M4XV0=;0,-1,udlr,e3szLCAyfSAtLVtbdGFibGU6IDB4MDgzMDE5ODBdXX0gLS1bW3RhYmxlOiAweDA4MzAxOTU4XV0=;0,-1,udlr,e3szLCAzfSAtLVtbdGFibGU6IDB4MDg0ZGE4YjhdXX0gLS1bW3RhYmxlOiAweDA4NGRhODkwXV0=;1,0,udlr,e3szLCAyfSAtLVtbdGFibGU6IDB4MGE1ZWY2YzBdXX0gLS1bW3RhYmxlOiAweDBhNWVmNjk4XV0=;1,0,udlr,e3syLCAyfSAtLVtbdGFibGU6IDB4MDg2NDgzYzBdXX0gLS1bW3RhYmxlOiAweDA4NjQ4Mzk4XV0=;0,1,udlr,e3syLCAxfSAtLVtbdGFibGU6IDB4MGEzZmFlZDBdXX0gLS1bW3RhYmxlOiAweDBhM2ZhZWE4XV0=;0,1,udlr,e3syLCAyfSAtLVtbdGFibGU6IDB4MDNmZjkzNzhdXX0gLS1bW3RhYmxlOiAweDAzZmY5MzUwXV0=;0,1,udlr,e3syLCAwfSAtLVtbdGFibGU6IDB4MDg1ZGFhYjhdXX0gLS1bW3RhYmxlOiAweDA4NDYwZmEwXV0=;0,1,udlr,e3syLCAxfSAtLVtbdGFibGU6IDB4MGFmZWNiOThdXX0gLS1bW3RhYmxlOiAweDBhZmVjYjcwXV0=;-1,0,udlr,e3szLCAxfSAtLVtbdGFibGU6IDB4MDQwMjQyOTBdXX0gLS1bW3RhYmxlOiAweDBiMDA1ZDc4XV0=;-1,0,udlr,e3szLCAwfSAtLVtbdGFibGU6IDB4MGIyMDliYzhdXX0gLS1bW3RhYmxlOiAweDBiMjA5YmEwXV0=;0,-1,udlr,e3s0LCAyfSAtLVtbdGFibGU6IDB4MGIyMGE1MThdXX0gLS1bW3RhYmxlOiAweDA4MmI1ZDk4XV0=;0,-1,udlr,e3s0LCAxfSAtLVtbdGFibGU6IDB4MDg1N2I2NjhdXX0gLS1bW3RhYmxlOiAweDBhMmZhNDkwXV0=;0,-1,udlr,e3s0LCAzfSAtLVtbdGFibGU6IDB4MDg1M2Y1MDBdXX0gLS1bW3RhYmxlOiAweDA4NTNmNGQ4XV0=;0,-1,udlr,e3s0LCAyfSAtLVtbdGFibGU6IDB4MGEyNmI5YzBdXX0gLS1bW3RhYmxlOiAweDBhZmU5MzMwXV0=;1,0,udlr,e3szLCAzfSAtLVtbdGFibGU6IDB4MDQxMTY4MDhdXX0gLS1bW3RhYmxlOiAweDA0MTE2N2UwXV0=;1,0,udlr,e3syLCAyfSAtLVtbdGFibGU6IDB4MGIwMThmMDBdXX0gLS1bW3RhYmxlOiAweDBiMDE4ZWQ4XV0=;0,1,udlr,e3szLCAyfSAtLVtbdGFibGU6IDB4MDgzZWFlYTBdXX0gLS1bW3RhYmxlOiAweDA4M2VhZTc4XV0=;0,1,udlr,e3syLCAxfSAtLVtbdGFibGU6IDB4MDgyYzY2NDBdXX0gLS1bW3RhYmxlOiAweDA4MmM2NjE4XV0=;0,1,udlr,e3syLCAwfSAtLVtbdGFibGU6IDB4MGU0ZDliNDBdXX0gLS1bW3RhYmxlOiAweDBlNGQ5YjE4XV0=;1,0,udlr,e3sxLCAwfSAtLVtbdGFibGU6IDB4MDg1MDIzYjBdXX0gLS1bW3RhYmxlOiAweDA4NTAyMzg4XV0=;1,0,udlr,e3syLCAwfSAtLVtbdGFibGU6IDB4MGIyMDIxZjBdXX0gLS1bW3RhYmxlOiAweDBiMjAyMWM4XV0=;0,-1,udlr,e3swLCAxfSAtLVtbdGFibGU6IDB4MDg2MmZjYzhdXX0gLS1bW3RhYmxlOiAweDA4NjJmY2EwXV0=;0,-1,udlr,e3swLCAzfSAtLVtbdGFibGU6IDB4MGU0YzhhNzhdXX0gLS1bW3RhYmxlOiAweDBlNGM4YTUwXV0=;-1,0,udlr,e3syLCAzfSAtLVtbdGFibGU6IDB4MGIyODBhNjhdXX0gLS1bW3RhYmxlOiAweDA4NDZmZGI4XV0=;-1,0,udlr,e3sxLCAzfSAtLVtbdGFibGU6IDB4MGE0NDRkZTBdXX0gLS1bW3RhYmxlOiAweDBhNDQ0ZGI4XV0=;-1,0,udlr,e3szLCAzfSAtLVtbdGFibGU6IDB4MDQxMTU2NjhdXX0gLS1bW3RhYmxlOiAweDBhMjkyMjMwXV0=;-1,0,udlr,e3sxLCAzfSAtLVtbdGFibGU6IDB4MGEwZjRkOThdXX0gLS1bW3RhYmxlOiAweDBhMGY0ZDcwXV0=;-1,0,udlr,e3syLCAzfSAtLVtbdGFibGU6IDB4MGIyNzM2MTBdXX0gLS1bW3RhYmxlOiAweDBhMjJmYTE4XV0=;0,1,udlr,e3syLCAyfSAtLVtbdGFibGU6IDB4MGIyMmY2MDBdXX0gLS1bW3RhYmxlOiAweDBiMjJmNWQ4XV0=;1,0,udlr,e3sxLCAyfSAtLVtbdGFibGU6IDB4MGU0ODMwOThdXX0gLS1bW3RhYmxlOiAweDBlNDgzMDcwXV0=;1,0,udlr,e3syLCAyfSAtLVtbdGFibGU6IDB4MGIyMDY3MTBdXX0gLS1bW3RhYmxlOiAweDBiMjA2NmU4XV0=;0,1,udlr,e3swLCAxfSAtLVtbdGFibGU6IDB4MDg0YmQzZThdXX0gLS1bW3RhYmxlOiAweDA4NGJkM2MwXV0=;-1,0,udlr,e3syLCAwfSAtLVtbdGFibGU6IDB4MGI2YTZjNjBdXX0gLS1bW3RhYmxlOiAweDBhZmY4NDMwXV0=;-1,0,udlr,e3sxLCAwfSAtLVtbdGFibGU6IDB4MDg0MTgwOTBdXX0gLS1bW3RhYmxlOiAweDA4NDE4MDY4XV0=;0,-1,udlr,e3syLCAxfSAtLVtbdGFibGU6IDB4MGIyMDE1MjBdXX0gLS1bW3RhYmxlOiAweDBiMjAxNGY4XV0=;-1,0,udlr,e3s0LCAxfSAtLVtbdGFibGU6IDB4MGEyOTY2YTBdXX0gLS1bW3RhYmxlOiAweDBhMjk2Njc4XV0=;-1,0,udlr,e3szLCAxfSAtLVtbdGFibGU6IDB4MGIwMDExYjBdXX0gLS1bW3RhYmxlOiAweDBiMDAxMTg4XV0=;0,1,udlr,e3s0LCAwfSAtLVtbdGFibGU6IDB4MGIyM2ZhMDBdXX0gLS1bW3RhYmxlOiAweDBiMjQzMTYwXV0=;-1,0,udlr,e3s0LCAxfSAtLVtbdGFibGU6IDB4MDgzYTI2NDhdXX0gLS1bW3RhYmxlOiAweDA4M2EyNjIwXV0=;0,-1,udlr,e3s0LCAyfSAtLVtbdGFibGU6IDB4MDg0OWQxMjBdXX0gLS1bW3RhYmxlOiAweDA4NDlkMGY4XV0=;0,-1,udlr,e3s0LCAxfSAtLVtbdGFibGU6IDB4MGIyMGEzZjhdXX0gLS1bW3RhYmxlOiAweDBiMjBhM2QwXV0=;1,0,udlr,e3szLCAyfSAtLVtbdGFibGU6IDB4MDgzMWM1YjhdXX0gLS1bW3RhYmxlOiAweDBhMGE4NTUwXV0=;1,0,udlr,e3szLCAzfSAtLVtbdGFibGU6IDB4MGEwZWZhNDhdXX0gLS1bW3RhYmxlOiAweDBhMGVmYTIwXV0=;0,1,udlr,e3syLCAxfSAtLVtbdGFibGU6IDB4MDgyZjY5MzBdXX0gLS1bW3RhYmxlOiAweDA4MmY2OTA4XV0=;0,1,udlr,e3syLCAyfSAtLVtbdGFibGU6IDB4MGExN2UzMzBdXX0gLS1bW3RhYmxlOiAweDBhMTdlMzA4XV0=;1,0,udlr,e3sxLCAyfSAtLVtbdGFibGU6IDB4MGEyMzk1MjBdXX0gLS1bW3RhYmxlOiAweDBhMjM5NjkwXV0=;0,-1,udlr,e3swLCAzfSAtLVtbdGFibGU6IDB4MGIzYTRiOThdXX0gLS1bW3RhYmxlOiAweDBiM2E0YjcwXV0=;0,-1,udlr,e3swLCAyfSAtLVtbdGFibGU6IDB4MGE1ZWFiYjBdXX0gLS1bW3RhYmxlOiAweDBiNmIyNzQ4XV0=;0,-1,udlr,e3swLCAxfSAtLVtbdGFibGU6IDB4MGIxZTc1YjhdXX0gLS1bW3RhYmxlOiAweDBiMWU3NTkwXV0=;-1,0,udlr,e3sxLCAzfSAtLVtbdGFibGU6IDB4MDg2NmFlNThdXX0gLS1bW3RhYmxlOiAweDA4Mjk0NDYwXV0=;0,-1,udlr,e3swLCAzfSAtLVtbdGFibGU6IDB4MGIzOTcyYThdXX0gLS1bW3RhYmxlOiAweDBiMzk3MjgwXV0=;-1,0,udlr,e3syLCAzfSAtLVtbdGFibGU6IDB4MDgzZGI3OTBdXX0gLS1bW3RhYmxlOiAweDA4M2RiNzY4XV0=;-1,0,udlr,e3sxLCAzfSAtLVtbdGFibGU6IDB4MGU0ZDhkYjBdXX0gLS1bW3RhYmxlOiAweDBlNGQ4ZDg4XV0=;-1,0,udlr,e3szLCAzfSAtLVtbdGFibGU6IDB4MDg1ZjhiODhdXX0gLS1bW3RhYmxlOiAweDA4NWY4YjYwXV0=;-1,0,udlr,e3syLCAzfSAtLVtbdGFibGU6IDB4MGIwMjExZDhdXX0gLS1bW3RhYmxlOiAweDBiMDIwZmE4XV0=;0,1,udlr,e3szLCAyfSAtLVtbdGFibGU6IDB4MGE0M2FjMzBdXX0gLS1bW3RhYmxlOiAweDBhNDNhYzA4XV0=;0,1,udlr,e3szLCAxfSAtLVtbdGFibGU6IDB4MGExNTBlYjBdXX0gLS1bW3RhYmxlOiAweDBiMDYxMTQ4XV0=;1,0,udlr,e3szLCAyfSAtLVtbdGFibGU6IDB4MDgzZWQzZjBdXX0gLS1bW3RhYmxlOiAweDA4M2VkM2M4XV0=;1,0,udlr,e3syLCAyfSAtLVtbdGFibGU6IDB4MGU0M2ExZDhdXX0gLS1bW3RhYmxlOiAweDBlNDNhMWIwXV0=;1,0,udlr,e3swLCAxfSAtLVtbdGFibGU6IDB4MGI2YjA3NzBdXX0gLS1bW3RhYmxlOiAweDBiNmIwNzQ4XV0=;0,1,udlr,e3sxLCAxfSAtLVtbdGFibGU6IDB4MGE0YWI2ZTBdXX0gLS1bW3RhYmxlOiAweDBhNGFiNmI4XV0=;0,1,udlr,e3swLCAwfSAtLVtbdGFibGU6IDB4MDg0MGI0ODBdXX0gLS1bW3RhYmxlOiAweDA4NDBiNDU4XV0=;-1,0,udlr,e3syLCAwfSAtLVtbdGFibGU6IDB4MGExYWMxMThdXX0gLS1bW3RhYmxlOiAweDBiNDJiZmU4XV0=;-1,0,udlr,e3syLCAwfSAtLVtbdGFibGU6IDB4MDgzMGRlYjhdXX0gLS1bW3RhYmxlOiAweDA4MzBkZTkwXV0=;0,-1,udlr,e3syLCAxfSAtLVtbdGFibGU6IDB4MDg0YzQ4OTBdXX0gLS1bW3RhYmxlOiAweDA4MmJjMzg4XV0=;1,0,udlr,e3sxLCAyfSAtLVtbdGFibGU6IDB4MGE0YjAxZjhdXX0gLS1bW3RhYmxlOiAweDBhNGIwMWQwXV0=;1,0,udlr,e3swLCAyfSAtLVtbdGFibGU6IDB4MDI2YjJiZTBdXX0gLS1bW3RhYmxlOiAweDAyNmIxM2UwXV0=;0,-1,udlr,e3swLCAzfSAtLVtbdGFibGU6IDB4MDg2NDAzODBdXX0gLS1bW3RhYmxlOiAweDA4NjQwMzU4XV0=;-1,0,udlr,e3sxLCAzfSAtLVtbdGFibGU6IDB4MGU0MDVhMzBdXX0gLS1bW3RhYmxlOiAweDA4NTY4NGEwXV0=;-1,0,udlr,e3szLCAzfSAtLVtbdGFibGU6IDB4MDgyZDQwYThdXX0gLS1bW3RhYmxlOiAweDA4MmQ0MDgwXV0=;0,1,udlr,e3s0LCAyfSAtLVtbdGFibGU6IDB4MDg0MTEzOTBdXX0gLS1bW3RhYmxlOiAweDA4NmEzNGIwXV0=;1,0,udlr,e3syLCAyfSAtLVtbdGFibGU6IDB4MGE0MTViMDBdXX0gLS1bW3RhYmxlOiAweDA4NTE3YjUwXV0=;1,0,udlr,e3szLCAyfSAtLVtbdGFibGU6IDB4MGU0M2ZiMjhdXX0gLS1bW3RhYmxlOiAweDBlNDY5ZTMwXV0=;0,1,udlr,e3szLCAxfSAtLVtbdGFibGU6IDB4MGE2ZTYyOThdXX0gLS1bW3RhYmxlOiAweDBhNmU2MjcwXV0=;1,0,udlr,e3sxLCAwfSAtLVtbdGFibGU6IDB4MGU0Mzk2ODhdXX0gLS1bW3RhYmxlOiAweDBhNGJmMGI4XV0=;1,0,udlr,e3sxLCAwfSAtLVtbdGFibGU6IDB4MDgzNzk5MzBdXX0gLS1bW3RhYmxlOiAweDA4Mzc5OTA4XV0=;0,-1,udlr,e3swLCAxfSAtLVtbdGFibGU6IDB4MDI3MDM4YzBdXX0gLS1bW3RhYmxlOiAweDBhMjRhNDYwXV0=;0,-1,udlr,e3swLCAyfSAtLVtbdGFibGU6IDB4MGE0MDBjNjhdXX0gLS1bW3RhYmxlOiAweDBhNDAwYzQwXV0=;0,-1,udlr,e3sxLCAyfSAtLVtbdGFibGU6IDB4MGEyNGUzNjBdXX0gLS1bW3RhYmxlOiAweDBhMjRlMzM4XV0=;0,-1,udlr,e3swLCAzfSAtLVtbdGFibGU6IDB4MDgzZTA1NDhdXX0gLS1bW3RhYmxlOiAweDA4M2UwNTIwXV0=;-1,0,udlr,e3syLCAzfSAtLVtbdGFibGU6IDB4MDg2MWRiMjhdXX0gLS1bW3RhYmxlOiAweDA4NjFkYjAwXV0=;-1,0,udlr,e3sxLCAzfSAtLVtbdGFibGU6IDB4MGE0YThmNDBdXX0gLS1bW3RhYmxlOiAweDA4NTc1OTgwXV0=;0,1,udlr,e3syLCAyfSAtLVtbdGFibGU6IDB4MGIwODE0YjhdXX0gLS1bW3RhYmxlOiAweDBiMDgxNDkwXV0=;1,0,udlr,e3sxLCAxfSAtLVtbdGFibGU6IDB4MDg2ODM0YzhdXX0gLS1bW3RhYmxlOiAweDA4NjgxNTE4XV0=;1,0,udlr,e3syLCAxfSAtLVtbdGFibGU6IDB4MGU0MzlmOThdXX0gLS1bW3RhYmxlOiAweDBiMDE5Y2Q4XV0=;1,0,udlr,e3swLCAxfSAtLVtbdGFibGU6IDB4MDgzY2Q2MThdXX0gLS1bW3RhYmxlOiAweDA4M2NkNWYwXV0=;1,0,udlr,e3sxLCAxfSAtLVtbdGFibGU6IDB4MDg1NTlkYzBdXX0gLS1bW3RhYmxlOiAweDBhNWZhNTk4XV0=;0,1,udlr,e3swLCAwfSAtLVtbdGFibGU6IDB4MDgzYjdkMjBdXX0gLS1bW3RhYmxlOiAweDA4M2I3Y2Y4XV0=;-1,0,udlr,e3syLCAwfSAtLVtbdGFibGU6IDB4MGIyNWMzODhdXX0gLS1bW3RhYmxlOiAweDBiMjVjMzYwXV0=;-1,0,udlr,e3sxLCAwfSAtLVtbdGFibGU6IDB4MDg0NDkwMDhdXX0gLS1bW3RhYmxlOiAweDA4NWMzYWE4XV0=;0,-1,udlr,e3szLCAxfSAtLVtbdGFibGU6IDB4MGEyNjM3MTBdXX0gLS1bW3RhYmxlOiAweDBhM2Y2NDE4XV0=;-1,0,udlr,e3szLCAwfSAtLVtbdGFibGU6IDB4MGU0YzI4YjhdXX0gLS1bW3RhYmxlOiAweDBlNGMyODkwXV0=;-1,0,udlr,e3s0LCAwfSAtLVtbdGFibGU6IDB4MGE0YjQ5YTBdXX0gLS1bW3RhYmxlOiAweDBhMThmYmIwXV0=;0,-1,udlr,e3s0LCAyfSAtLVtbdGFibGU6IDB4MGIzYWYwNDhdXX0gLS1bW3RhYmxlOiAweDBiM2FmMDIwXV0=;0,-1,udlr,e3s0LCAxfSAtLVtbdGFibGU6IDB4MDgzZTY4ZjhdXX0gLS1bW3RhYmxlOiAweDBhMjgyN2EwXV0=;0,-1,udlr,e3s0LCAzfSAtLVtbdGFibGU6IDB4MDg1MzQyZDhdXX0gLS1bW3RhYmxlOiAweDA4NTM0MmIwXV0=;0,-1,udlr,e3s0LCAyfSAtLVtbdGFibGU6IDB4MGEwZjQ3YjhdXX0gLS1bW3RhYmxlOiAweDBhMGY0NzkwXV0=;1,0,udlr,e3szLCAzfSAtLVtbdGFibGU6IDB4MGEyMjNlZThdXX0gLS1bW3RhYmxlOiAweDBhZmYyOTk4XV0=;0,1,udlr,e3syLCAxfSAtLVtbdGFibGU6IDB4MGE0YjljODBdXX0gLS1bW3RhYmxlOiAweDBhNGI5YzU4XV0=;0,1,udlr,e3syLCAyfSAtLVtbdGFibGU6IDB4MGU0YWViMDhdXX0gLS1bW3RhYmxlOiAweDBlNGFlYWUwXV0=;0,1,udlr,e3syLCAwfSAtLVtbdGFibGU6IDB4MGE0MDAxZDhdXX0gLS1bW3RhYmxlOiAweDA4M2Y0MmU4XV0=;0,1,udlr,e3syLCAyfSAtLVtbdGFibGU6IDB4MDg2MDVmMzhdXX0gLS1bW3RhYmxlOiAweDA4NjA2MzkwXV0=;0,1,udlr,e3syLCAxfSAtLVtbdGFibGU6IDB4MDgzMTFmNjBdXX0gLS1bW3RhYmxlOiAweDA4MzExZjM4XV0=;-1,0,udlr,e3szLCAxfSAtLVtbdGFibGU6IDB4MGEyZWZjNjBdXX0gLS1bW3RhYmxlOiAweDBhMmVmYzM4XV0=;-1,0,udlr,e3s0LCAxfSAtLVtbdGFibGU6IDB4MGEyMmUxMThdXX0gLS1bW3RhYmxlOiAweDA4MzBkNjIwXV0=;0,-1,udlr,e3szLCAxfSAtLVtbdGFibGU6IDB4MDg1MjVjMzhdXX0gLS1bW3RhYmxlOiAweDA4NTI1YzEwXV0=;0,-1,udlr,e3szLCAyfSAtLVtbdGFibGU6IDB4MGU0MDVhZTBdXX0gLS1bW3RhYmxlOiAweDBlNDA1YWI4XV0=;1,0,udlr,e3s0LCAyfSAtLVtbdGFibGU6IDB4MGEwYzEwMjBdXX0gLS1bW3RhYmxlOiAweDBhMGMwZmY4XV0=;1,0,udlr,e3s1LCAxfSAtLVtbdGFibGU6IDB4MGE0Yjc1ODBdXX0gLS1bW3RhYmxlOiAweDBiMDg4MzcwXV0=;"
  },
  {
    "path": "officialworlds/minigames/block puzzle 5.bab",
    "content": "{\"width\":10,\"version\":5,\"extra\":true,\"map\":\"eJyVl9uOmzAURX8lmpeqEmrxjUsjvmRURUnwpGgYHBHSZhTl3ws+BHvANx4iRUdrgb05NqYUm1oc9/VmV9zvXVXz4uWwP7xEtyKOqrJA0Wf/53Lmx2pfF/dHVFZtgR6RAcU9ihyouN4mlvQs1tmjqEVb3FmEnR7tPbL0mqp2Way3qOFuJELLu9X15CW9x+wz6m7d7q0Wp4lPez6x8++cvw8sGtgsLC3J5ua07LOWForXhgUaMqe11Ib5//v51vJGydgdwfNOWMLE01xfYBoWGMDM0l8oom4xWZsZaKmlw6ipw3Qxm7fYKCZRbGq3cb2Bm4dlTeTijMOyBhiFZQ0wXtudoJG1SYNGLUnH9qRBZOakzW192TeX5lun7CQsayrhdJ71OEZs7z4QF5uCLxPQLPtD3+3EeT+yeocALXiH+Krh0Cfw3FRBI/5d+Llrg0Ddz2oQ+t/AM8kz99IYeP6Xt59IKYlfGZcq8Kl7QQ388+0Aguf1AJOGcEHI/cKpFeI8GTSed43hFnzC00WvmFbNBz/vq0Zlm+J5qxiGVV95qQzkf9zqpQMzQf4HDjNJJI4DHp6GE3+yakCgUHe0B9GWraKZO9kZnbgTndGpP81n44GQ+bMUbfdHDEYqjdwf59R50mCxP9EPcb0oAQXmCTQOzBNoEpgn0DRgM+IKZ77XxnjxTNIhuwpXeMCmouNZYIhA54EhSjqJA0MEOmCJ//qucO+Zcrx4LmnPoXK4eCNOQgmeg+UgXBW9OFk6B7M4TjrpxSnSSS+Ojk7aclh8bMevv/7z77HdvdLfP+CtvHsl49++mhurKDaXkSozrZyoMtLqGFvqxFJnWj3T6pmq41TViTZKnGt1bZiYanVsun7Lu2vbbHZb3pT/AQrDH6k=\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"block puzzle 5\",\"height\":7,\"author\":\"Slabdrill\"}"
  },
  {
    "path": "officialworlds/minigames/block puzzle 5.replay",
    "content": "0,1,udlr,e3swLCA0fSAtLVtbdGFibGU6IDB4MDg0Y2JjZjBdXX0gLS1bW3RhYmxlOiAweDA4NGNiY2M4XV0=;0,1,udlr,e3swLCAzfSAtLVtbdGFibGU6IDB4MDQwNjE1ZTBdXX0gLS1bW3RhYmxlOiAweDA0MDYxNWI4XV0=;0,1,udlr,e3sxLCAxfSAtLVtbdGFibGU6IDB4MDg2M2VkMTBdXX0gLS1bW3RhYmxlOiAweDA4NjNlY2U4XV0=;-1,0,udlr,e3sxLCAyfSAtLVtbdGFibGU6IDB4MDg2OTQ2NjBdXX0gLS1bW3RhYmxlOiAweDA4Njk0NjM4XV0=;-1,0,udlr,e3syLCAxfSAtLVtbdGFibGU6IDB4MGE0NjFiOTBdXX0gLS1bW3RhYmxlOiAweDA4M2QzMzE4XV0=;-1,0,udlr,e3s0LCAxfSAtLVtbdGFibGU6IDB4MGI2YjllNzBdXX0gLS1bW3RhYmxlOiAweDA4NTQyM2UwXV0=;0,-1,udlr,e3s0LCAyfSAtLVtbdGFibGU6IDB4MGEyOGFlMzhdXX0gLS1bW3RhYmxlOiAweDAyNmQ1MGQ4XV0=;0,-1,udlr,e3s0LCAxfSAtLVtbdGFibGU6IDB4MDQwNmQ0MjhdXX0gLS1bW3RhYmxlOiAweDA4M2JiYjU4XV0=;1,0,udlr,e3szLCAyfSAtLVtbdGFibGU6IDB4MDgyZDdjNjBdXX0gLS1bW3RhYmxlOiAweDA4MmQ3YzM4XV0=;0,-1,udlr,e3syLCA0fSAtLVtbdGFibGU6IDB4MGIwY2NkYThdXX0gLS1bW3RhYmxlOiAweDBiMGNjZDgwXV0=;0,-1,udlr,e3syLCAzfSAtLVtbdGFibGU6IDB4MDg2NTc4NDhdXX0gLS1bW3RhYmxlOiAweDA0MTEwNWE4XV0=;-1,0,udlr,e3syLCAyfSAtLVtbdGFibGU6IDB4MGFmZjQzMDBdXX0gLS1bW3RhYmxlOiAweDBiM2MzN2IwXV0=;-1,0,udlr,e3szLCAzfSAtLVtbdGFibGU6IDB4MDg1ZDBhMjBdXX0gLS1bW3RhYmxlOiAweDA4NWQwOWY4XV0=;-1,0,udlr,e3szLCA0fSAtLVtbdGFibGU6IDB4MGExMTI0NDhdXX0gLS1bW3RhYmxlOiAweDBhMTEyNDIwXV0=;0,1,udlr,e3s0LCAxfSAtLVtbdGFibGU6IDB4MGU0YWY2MzhdXX0gLS1bW3RhYmxlOiAweDBlNGFmNjEwXV0=;0,1,udlr,e3s0LCAzfSAtLVtbdGFibGU6IDB4MGIwOTdhNThdXX0gLS1bW3RhYmxlOiAweDBiMDk3YTMwXV0=;0,1,udlr,e3s0LCAyfSAtLVtbdGFibGU6IDB4MGEwYjU3YThdXX0gLS1bW3RhYmxlOiAweDBhMGI1NzgwXV0=;0,1,udlr,e3s0LCAzfSAtLVtbdGFibGU6IDB4MGE0MTczZThdXX0gLS1bW3RhYmxlOiAweDBhNDE3M2MwXV0=;1,0,udlr,e3szLCAxfSAtLVtbdGFibGU6IDB4MGU0MDU5ZjhdXX0gLS1bW3RhYmxlOiAweDBlNDA1OWQwXV0=;1,0,udlr,e3syLCAxfSAtLVtbdGFibGU6IDB4MGE0MTQyMzhdXX0gLS1bW3RhYmxlOiAweDBhNDE0MjEwXV0=;1,0,udlr,e3swLCAxfSAtLVtbdGFibGU6IDB4MDg2M2I3NThdXX0gLS1bW3RhYmxlOiAweDA2MGEwMGMwXV0=;0,-1,udlr,e3swLCAyfSAtLVtbdGFibGU6IDB4MGU0YWE5YjBdXX0gLS1bW3RhYmxlOiAweDBlNDQ4MDQwXV0=;0,-1,udlr,e3swLCAxfSAtLVtbdGFibGU6IDB4MGIwNTNjZjhdXX0gLS1bW3RhYmxlOiAweDBiMDU0M2EwXV0=;-1,0,udlr,e3sxLCAyfSAtLVtbdGFibGU6IDB4MDQwNGVlMThdXX0gLS1bW3RhYmxlOiAweDA4NGNlNzk4XV0=;0,-1,udlr,e3swLCAyfSAtLVtbdGFibGU6IDB4MDgzZjE3ZDhdXX0gLS1bW3RhYmxlOiAweDA4M2YxN2IwXV0=;0,-1,udlr,e3swLCAzfSAtLVtbdGFibGU6IDB4MGIxZDg0YTBdXX0gLS1bW3RhYmxlOiAweDBiMWQ4NDc4XV0=;0,-1,udlr,e3swLCA1fSAtLVtbdGFibGU6IDB4MDg1YTlhNjBdXX0gLS1bW3RhYmxlOiAweDA4NWE5YTM4XV0=;-1,0,udlr,e3syLCA1fSAtLVtbdGFibGU6IDB4MDYwMDE4MjhdXX0gLS1bW3RhYmxlOiAweDA2MDAxODAwXV0=;-1,0,udlr,e3sxLCA1fSAtLVtbdGFibGU6IDB4MDI3MDQ2YzhdXX0gLS1bW3RhYmxlOiAweDAyNzA0NmEwXV0=;0,1,udlr,e3s0LCA0fSAtLVtbdGFibGU6IDB4MDgzNWI0MTBdXX0gLS1bW3RhYmxlOiAweDA4MzViM2U4XV0=;0,1,udlr,e3s0LCAxfSAtLVtbdGFibGU6IDB4MGI0NGNjYjhdXX0gLS1bW3RhYmxlOiAweDA4NDI1NDIwXV0=;0,1,udlr,e3s0LCAyfSAtLVtbdGFibGU6IDB4MDQwODA3NDhdXX0gLS1bW3RhYmxlOiAweDA0MDgwNzIwXV0=;1,0,udlr,e3szLCAxfSAtLVtbdGFibGU6IDB4MGE0Y2MyMzhdXX0gLS1bW3RhYmxlOiAweDBhNGNjMjEwXV0=;1,0,udlr,e3sxLCAxfSAtLVtbdGFibGU6IDB4MDVmYmY0NzhdXX0gLS1bW3RhYmxlOiAweDA1ZmJmNDUwXV0=;1,0,udlr,e3swLCAxfSAtLVtbdGFibGU6IDB4MDg1MzQ4YTBdXX0gLS1bW3RhYmxlOiAweDA4NTM0ODc4XV0=;0,-1,udlr,e3sxLCAxfSAtLVtbdGFibGU6IDB4MDgzNTYxODBdXX0gLS1bW3RhYmxlOiAweDBiMGIzMjMwXV0=;0,-1,udlr,e3swLCAyfSAtLVtbdGFibGU6IDB4MDQwYTU2ODBdXX0gLS1bW3RhYmxlOiAweDAyNmVlYWIwXV0=;0,-1,udlr,e3swLCA0fSAtLVtbdGFibGU6IDB4MGEyNWIzZTBdXX0gLS1bW3RhYmxlOiAweDBhMTU3ODg4XV0=;-1,0,udlr,e3syLCA0fSAtLVtbdGFibGU6IDB4MDgyYjRlMThdXX0gLS1bW3RhYmxlOiAweDBiMjBhOGU4XV0=;-1,0,udlr,e3sxLCA0fSAtLVtbdGFibGU6IDB4MDVmZjc4NDhdXX0gLS1bW3RhYmxlOiAweDA1ZmY3ODIwXV0=;-1,0,udlr,e3s0LCA1fSAtLVtbdGFibGU6IDB4MGE1Zjg5ZThdXX0gLS1bW3RhYmxlOiAweDBhNWY4OWMwXV0=;0,1,udlr,e3s0LCAzfSAtLVtbdGFibGU6IDB4MDgzMDFjMjhdXX0gLS1bW3RhYmxlOiAweDA4MzAxYzAwXV0=;0,1,udlr,e3s0LCA0fSAtLVtbdGFibGU6IDB4MDgzYTQ5NzhdXX0gLS1bW3RhYmxlOiAweDBhMTA1OGUwXV0=;1,0,udlr,e3szLCAzfSAtLVtbdGFibGU6IDB4MDg0NWI4YzBdXX0gLS1bW3RhYmxlOiAweDA4NDViODk4XV0=;1,0,udlr,e3szLCAzfSAtLVtbdGFibGU6IDB4MGE1ZjgyNzhdXX0gLS1bW3RhYmxlOiAweDBhNWY4MjUwXV0=;0,1,udlr,e3syLCAxfSAtLVtbdGFibGU6IDB4MDg2MzJjMDBdXX0gLS1bW3RhYmxlOiAweDA4NDMzNTk4XV0=;0,1,udlr,e3syLCAyfSAtLVtbdGFibGU6IDB4MDg1YmI5YjBdXX0gLS1bW3RhYmxlOiAweDA4NWJiOTg4XV0=;0,1,udlr,e3syLCAyfSAtLVtbdGFibGU6IDB4MGE2ZWU0YzhdXX0gLS1bW3RhYmxlOiAweDBhNmVlNGEwXV0=;1,0,udlr,e3sxLCAwfSAtLVtbdGFibGU6IDB4MDg0NDlhNThdXX0gLS1bW3RhYmxlOiAweDA4NDQ5YTMwXV0=;0,1,udlr,e3syLCAwfSAtLVtbdGFibGU6IDB4MDg0M2U5NTBdXX0gLS1bW3RhYmxlOiAweDA4NDNlOTI4XV0=;0,1,udlr,e3syLCAxfSAtLVtbdGFibGU6IDB4MGU0MjFmNjhdXX0gLS1bW3RhYmxlOiAweDBlNDIxZjQwXV0=;1,0,udlr,e3swLCAwfSAtLVtbdGFibGU6IDB4MDg0NzAyNThdXX0gLS1bW3RhYmxlOiAweDA4NDcwMjMwXV0=;1,0,udlr,e3sxLCAwfSAtLVtbdGFibGU6IDB4MGE2ZGFhZjhdXX0gLS1bW3RhYmxlOiAweDBhNmRhYWQwXV0=;0,-1,udlr,e3sxLCAxfSAtLVtbdGFibGU6IDB4MDg1YjdjOThdXX0gLS1bW3RhYmxlOiAweDBiMDJkYjQ4XV0=;-1,0,udlr,e3syLCAyfSAtLVtbdGFibGU6IDB4MDg2M2E3MzBdXX0gLS1bW3RhYmxlOiAweDA4NjNhNzA4XV0=;-1,0,udlr,e3sxLCAyfSAtLVtbdGFibGU6IDB4MGE0MWNhMzhdXX0gLS1bW3RhYmxlOiAweDBhNDFjYTEwXV0=;0,1,udlr,e3syLCAwfSAtLVtbdGFibGU6IDB4MDg2YmQ2YzhdXX0gLS1bW3RhYmxlOiAweDA4NmJkNmEwXV0=;0,1,udlr,e3syLCAxfSAtLVtbdGFibGU6IDB4MGU0N2I5ZDBdXX0gLS1bW3RhYmxlOiAweDBlNDdiOWE4XV0=;-1,0,udlr,e3syLCAyfSAtLVtbdGFibGU6IDB4MGIyOGZiODBdXX0gLS1bW3RhYmxlOiAweDBiMDdiOGIwXV0=;0,-1,udlr,e3syLCAzfSAtLVtbdGFibGU6IDB4MDgzMzk3NDhdXX0gLS1bW3RhYmxlOiAweDA4MzM5NzA4XV0=;0,-1,udlr,e3syLCAzfSAtLVtbdGFibGU6IDB4MDg0NDEyZjBdXX0gLS1bW3RhYmxlOiAweDA4NDQxMmM4XV0=;0,-1,udlr,e3syLCAxfSAtLVtbdGFibGU6IDB4MDNmZTJhMzBdXX0gLS1bW3RhYmxlOiAweDAzZmUyYTA4XV0=;1,0,udlr,e3sxLCAzfSAtLVtbdGFibGU6IDB4MGIzZWQ2ZDhdXX0gLS1bW3RhYmxlOiAweDBiM2VkNmIwXV0=;1,0,udlr,e3sxLCA0fSAtLVtbdGFibGU6IDB4MDI2ZmJiMjhdXX0gLS1bW3RhYmxlOiAweDA4NTU0OGU4XV0=;0,1,udlr,e3swLCAyfSAtLVtbdGFibGU6IDB4MDYwMGVlMDBdXX0gLS1bW3RhYmxlOiAweDA2MDBlZGQ4XV0=;0,1,udlr,e3swLCAzfSAtLVtbdGFibGU6IDB4MDgzM2Q5NjBdXX0gLS1bW3RhYmxlOiAweDA4MzNkOTM4XV0=;-1,0,udlr,e3sxLCAyfSAtLVtbdGFibGU6IDB4MDYwOGY3YzhdXX0gLS1bW3RhYmxlOiAweDA4M2EzODk4XV0=;0,1,udlr,e3swLCAyfSAtLVtbdGFibGU6IDB4MGIwOWIyMjBdXX0gLS1bW3RhYmxlOiAweDBiMDliMWY4XV0=;0,-1,udlr,e3sxLCAzfSAtLVtbdGFibGU6IDB4MGI0MzU3MzhdXX0gLS1bW3RhYmxlOiAweDBiNDM1NzEwXV0=;-1,0,udlr,e3sxLCAyfSAtLVtbdGFibGU6IDB4MGIyMzk2MDhdXX0gLS1bW3RhYmxlOiAweDBiMjM5NWUwXV0=;0,-1,udlr,e3sxLCA0fSAtLVtbdGFibGU6IDB4MGU0NzBkZDhdXX0gLS1bW3RhYmxlOiAweDBlNDcwZGIwXV0=;1,0,udlr,e3swLCA0fSAtLVtbdGFibGU6IDB4MGIyOGJlMzhdXX0gLS1bW3RhYmxlOiAweDBiMjhiZTEwXV0=;1,0,udlr,e3sxLCA0fSAtLVtbdGFibGU6IDB4MGFmZTJlYThdXX0gLS1bW3RhYmxlOiAweDBhZmUyZTgwXV0=;0,1,udlr,e3swLCAzfSAtLVtbdGFibGU6IDB4MGIwOGVlZjhdXX0gLS1bW3RhYmxlOiAweDBhMGNiN2U4XV0=;-1,0,udlr,e3sxLCAzfSAtLVtbdGFibGU6IDB4MDgyYTBmNjhdXX0gLS1bW3RhYmxlOiAweDA2MGFiOTQwXV0=;-1,0,udlr,e3syLCA0fSAtLVtbdGFibGU6IDB4MDg0NzhlMzBdXX0gLS1bW3RhYmxlOiAweDA4NDc5MmIwXV0=;-1,0,udlr,e3szLCAzfSAtLVtbdGFibGU6IDB4MDQxMjhhNzhdXX0gLS1bW3RhYmxlOiAweDBiMDViYWY4XV0=;0,-1,udlr,e3s0LCA0fSAtLVtbdGFibGU6IDB4MDVmOWE4NjBdXX0gLS1bW3RhYmxlOiAweDBhMTRiMjQ4XV0=;0,-1,udlr,e3s0LCAzfSAtLVtbdGFibGU6IDB4MGEwYjlkYzhdXX0gLS1bW3RhYmxlOiAweDBhMGI5ZGEwXV0=;1,0,udlr,e3szLCA0fSAtLVtbdGFibGU6IDB4MGIwODEyNzBdXX0gLS1bW3RhYmxlOiAweDBiMDgxMjQ4XV0=;0,1,udlr,e3syLCAzfSAtLVtbdGFibGU6IDB4MGIwNjExMDhdXX0gLS1bW3RhYmxlOiAweDA0MTU4YTgwXV0=;1,0,udlr,e3sxLCAyfSAtLVtbdGFibGU6IDB4MDg2MTFkZDBdXX0gLS1bW3RhYmxlOiAweDA4NjExZGE4XV0=;1,0,udlr,e3syLCAyfSAtLVtbdGFibGU6IDB4MGIxZDUzNjhdXX0gLS1bW3RhYmxlOiAweDBiMWQ1MzQwXV0=;0,-1,udlr,e3swLCAzfSAtLVtbdGFibGU6IDB4MGIyYTAyYjhdXX0gLS1bW3RhYmxlOiAweDBiMmEwMjkwXV0=;0,-1,udlr,e3sxLCA0fSAtLVtbdGFibGU6IDB4MDg0NmNiMzhdXX0gLS1bW3RhYmxlOiAweDA4NDZjYjEwXV0=;-1,0,udlr,e3sxLCAzfSAtLVtbdGFibGU6IDB4MGExNjY3YTBdXX0gLS1bW3RhYmxlOiAweDA0MDFkMjkwXV0=;-1,0,udlr,e3syLCA0fSAtLVtbdGFibGU6IDB4MGExMTA1YjhdXX0gLS1bW3RhYmxlOiAweDA4NGI1ZTAwXV0=;-1,0,udlr,e3s0LCA0fSAtLVtbdGFibGU6IDB4MGE2ZWQ5ZTBdXX0gLS1bW3RhYmxlOiAweDBhNmVkOWI4XV0=;0,-1,udlr,e3szLCA0fSAtLVtbdGFibGU6IDB4MDVmZjZhNzBdXX0gLS1bW3RhYmxlOiAweDA1ZmY2YTQ4XV0=;1,0,udlr,e3syLCA1fSAtLVtbdGFibGU6IDB4MDgzZWU5YjhdXX0gLS1bW3RhYmxlOiAweDA4M2VlOTkwXV0=;1,0,udlr,e3szLCA1fSAtLVtbdGFibGU6IDB4MGIzYmM5MTBdXX0gLS1bW3RhYmxlOiAweDBiM2JjOGU4XV0=;1,0,udlr,e3swLCA0fSAtLVtbdGFibGU6IDB4MDgzYjY5ODBdXX0gLS1bW3RhYmxlOiAweDBhNWZmYWM4XV0=;0,1,udlr,e3swLCA0fSAtLVtbdGFibGU6IDB4MDQxMjRiNTBdXX0gLS1bW3RhYmxlOiAweDA0MTI0YjI4XV0=;1,0,udlr,e3swLCA1fSAtLVtbdGFibGU6IDB4MGEyMjRhNzBdXX0gLS1bW3RhYmxlOiAweDBhMjI0YTQ4XV0=;0,1,udlr,e3swLCAzfSAtLVtbdGFibGU6IDB4MDgzN2ZhMzhdXX0gLS1bW3RhYmxlOiAweDA4MzdmYTEwXV0=;0,1,udlr,e3swLCA0fSAtLVtbdGFibGU6IDB4MGExMWEyNDhdXX0gLS1bW3RhYmxlOiAweDBhMTFhMjIwXV0=;-1,0,udlr,e3sxLCA0fSAtLVtbdGFibGU6IDB4MDg2MDY1OThdXX0gLS1bW3RhYmxlOiAweDA4NjA2NTcwXV0=;0,1,udlr,e3s0LCAzfSAtLVtbdGFibGU6IDB4MGIyNDlhZDhdXX0gLS1bW3RhYmxlOiAweDBiM2M2YmEwXV0=;1,0,udlr,e3szLCAyfSAtLVtbdGFibGU6IDB4MGU0YzEzOThdXX0gLS1bW3RhYmxlOiAweDBlNGMxMzcwXV0=;0,1,udlr,e3syLCAxfSAtLVtbdGFibGU6IDB4MDYwY2U3MzBdXX0gLS1bW3RhYmxlOiAweDA2MGNlNzA4XV0=;0,1,udlr,e3syLCAyfSAtLVtbdGFibGU6IDB4MDg0YTJmNDhdXX0gLS1bW3RhYmxlOiAweDA0MDU4NDkwXV0=;0,1,udlr,e3syLCAzfSAtLVtbdGFibGU6IDB4MGE1ZmMzMzBdXX0gLS1bW3RhYmxlOiAweDBlNDhlOGMwXV0=;-1,0,udlr,e3szLCAxfSAtLVtbdGFibGU6IDB4MGE0NDA3MjhdXX0gLS1bW3RhYmxlOiAweDBhNDQwNzAwXV0=;-1,0,udlr,e3szLCAyfSAtLVtbdGFibGU6IDB4MGExYmQ0OTBdXX0gLS1bW3RhYmxlOiAweDBhMWJkNDY4XV0=;0,-1,udlr,e3s0LCAzfSAtLVtbdGFibGU6IDB4MDg2OTRjYzBdXX0gLS1bW3RhYmxlOiAweDA4Njk0Yzk4XV0=;0,-1,udlr,e3s0LCAyfSAtLVtbdGFibGU6IDB4MGExMDdiODhdXX0gLS1bW3RhYmxlOiAweDA1ZjhmNzY4XV0=;0,-1,udlr,e3s0LCAxfSAtLVtbdGFibGU6IDB4MDgzYmEzNjBdXX0gLS1bW3RhYmxlOiAweDBhNDI4YWIwXV0=;1,0,udlr,e3szLCAzfSAtLVtbdGFibGU6IDB4MDI2NDJjNThdXX0gLS1bW3RhYmxlOiAweDAyNjQyYzMwXV0=;0,-1,udlr,e3s0LCAzfSAtLVtbdGFibGU6IDB4MDg0ZDQ4ODhdXX0gLS1bW3RhYmxlOiAweDA4NGQ0ODYwXV0=;1,0,udlr,e3syLCAzfSAtLVtbdGFibGU6IDB4MDYwOGVkODBdXX0gLS1bW3RhYmxlOiAweDA2MDhlZDU4XV0=;1,0,udlr,e3sxLCA0fSAtLVtbdGFibGU6IDB4MDgzOWVjMThdXX0gLS1bW3RhYmxlOiAweDBhMTdjMTEwXV0=;0,-1,udlr,e3swLCA1fSAtLVtbdGFibGU6IDB4MGExODhjYjBdXX0gLS1bW3RhYmxlOiAweDBiMWYwNzcwXV0=;0,-1,udlr,e3swLCA0fSAtLVtbdGFibGU6IDB4MGE0YTNiYzBdXX0gLS1bW3RhYmxlOiAweDBhNGEzYjk4XV0=;-1,0,udlr,e3sxLCA1fSAtLVtbdGFibGU6IDB4MDgzYWI2NzBdXX0gLS1bW3RhYmxlOiAweDA4M2FiNjQ4XV0=;0,-1,udlr,e3swLCA1fSAtLVtbdGFibGU6IDB4MDNmZTc0MDBdXX0gLS1bW3RhYmxlOiAweDBhM2Y5NmY4XV0=;-1,0,udlr,e3syLCA1fSAtLVtbdGFibGU6IDB4MDYwZDY2YzhdXX0gLS1bW3RhYmxlOiAweDA2MGQ2NmEwXV0=;-1,0,udlr,e3sxLCA1fSAtLVtbdGFibGU6IDB4MGE0NjIxMjhdXX0gLS1bW3RhYmxlOiAweDBhNDYyMTAwXV0=;0,1,udlr,e3szLCA0fSAtLVtbdGFibGU6IDB4MGIwNzIyNDBdXX0gLS1bW3RhYmxlOiAweDBhM2ZlODMwXV0=;1,0,udlr,e3szLCA1fSAtLVtbdGFibGU6IDB4MGI0NDViYjBdXX0gLS1bW3RhYmxlOiAweDBhMTdlOTAwXV0=;1,0,udlr,e3syLCA1fSAtLVtbdGFibGU6IDB4MGE0MzgyMjhdXX0gLS1bW3RhYmxlOiAweDAyNmU0ODg4XV0=;0,1,udlr,e3swLCA0fSAtLVtbdGFibGU6IDB4MDYwZThiMzBdXX0gLS1bW3RhYmxlOiAweDA2MGMwNDUwXV0=;1,0,udlr,e3s0LCA1fSAtLVtbdGFibGU6IDB4MDg1ZDUxZThdXX0gLS1bW3RhYmxlOiAweDA1ZmRjYWE4XV0=;"
  },
  {
    "path": "officialworlds/minigames/block puzzle 6.bab",
    "content": "{\"width\":9,\"version\":5,\"extra\":true,\"map\":\"eJyVl2uPojAUhv+KmS+bTcguvXFZwy+ZbAxKxyXDUFNgxonxvy9w0FahFz6YmJPnqXDe04KF2FTikFebXXa5tGXFs5d3zt9fgnMWBmWRoeC7/9Kc+KHMq+xyDYpSZugaTOxedOc7i3sW6exBVEJmFxogq0d6D8+9uqxmlizkXaO9Rm2XpsOsh5kZbs/t7q0Sxzsf9Xzkvm80sLFfj0Y2We7R0r1qVurfIc1CYa+RhUBwQK0XidBzaycRzcVb10DE9jZLcVAscUfy9ftN8lop1C8VPMLMLxaAI8PshubZBTFeGw1oyXI0Li1dDsayVUYPh+5e7/O94pG90VOOZGSxX58BNuz1CzH3GURqmGUWYLvIjLNMjEcGmJG7aU1eN/WPVjmxV+PoyCZ+jQM4XXtwjBoJ144naGjteIKG/cezqpTmOAn0phHqMckPizPHmQFjz0Y2ciSis/FzIMuNAThZ/YgDb7bfbTT12OXqRAXFsdEHpf8MfDTyjs0+8PyTy2+kFOJWpsYCT+2NHfjbKwoIzC3c0gBhdtjPhWnmgHdGPaUA9CxrK50+7zQbzULPeQAauefhoZMMu6dhzwc8HnGPZI9SiJMyPLLVf8AjWTXQoET27g/Kh+gaJcT2AJ4vKbEnMOCdolOP00otHoXu/gvZ/hODkYyG4/38IQIwZm/pxuEHfvbENt0C4NQHnx6ZYDB3ALU4avccuYUm/+CnvKy1n/HI+Vh1vFCGI+r7ZgPaI+o/P+94bIj6up3+jvX/x67b3Sv5+wseFbtXPH3tq8liNV2soliVUaTVtUVQqNW1ZRBSdawvT1SdhIY60upUq2OtzrR6srSO5G0n681uy+viP9xX8fE=\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"block puzzle 6\",\"height\":7,\"author\":\"Slabdrill\"}"
  },
  {
    "path": "officialworlds/minigames/block puzzle 6.replay",
    "content": "-1,0,udlr,e3sxLCAzfSAtLVtbdGFibGU6IDB4MGU0Yzg2NjhdXX0gLS1bW3RhYmxlOiAweDBlNGM4NjQwXV0=;0,1,udlr,e3syLCAyfSAtLVtbdGFibGU6IDB4MGU0M2ZhZThdXX0gLS1bW3RhYmxlOiAweDBlNDNmYWMwXV0=;0,1,udlr,e3szLCAxfSAtLVtbdGFibGU6IDB4MGU0YjlmMjhdXX0gLS1bW3RhYmxlOiAweDBlNGI5ZjAwXV0=;0,1,udlr,e3szLCAwfSAtLVtbdGFibGU6IDB4MGExMzI0ZjhdXX0gLS1bW3RhYmxlOiAweDA4MWRiZTA4XV0=;-1,0,udlr,e3szLCAxfSAtLVtbdGFibGU6IDB4MDgyZDk5MzhdXX0gLS1bW3RhYmxlOiAweDA4MmQ5OTEwXV0=;-1,0,udlr,e3s0LCAwfSAtLVtbdGFibGU6IDB4MDg1ZDQ2YjBdXX0gLS1bW3RhYmxlOiAweDBlNGI5YzgwXV0=;0,1,udlr,e3szLCAwfSAtLVtbdGFibGU6IDB4MGIwYTgxYjBdXX0gLS1bW3RhYmxlOiAweDBiMGE4MTg4XV0=;1,0,udlr,e3syLCAwfSAtLVtbdGFibGU6IDB4MDYwNWY5YThdXX0gLS1bW3RhYmxlOiAweDA2MDVmOTgwXV0=;1,0,udlr,e3szLCAwfSAtLVtbdGFibGU6IDB4MGIwMjMwYTBdXX0gLS1bW3RhYmxlOiAweDA4MmQ5ODA4XV0=;0,-1,udlr,e3syLCAxfSAtLVtbdGFibGU6IDB4MDVmZmViMDBdXX0gLS1bW3RhYmxlOiAweDBiMDE2MWQwXV0=;-1,0,udlr,e3syLCAwfSAtLVtbdGFibGU6IDB4MGU0OWM0NjBdXX0gLS1bW3RhYmxlOiAweDBlNDljNDM4XV0=;0,-1,udlr,e3syLCAyfSAtLVtbdGFibGU6IDB4MGExOWQ3OThdXX0gLS1bW3RhYmxlOiAweDA2MGYwNGQwXV0=;0,-1,udlr,e3syLCAxfSAtLVtbdGFibGU6IDB4MGIzY2YxYzhdXX0gLS1bW3RhYmxlOiAweDBiM2NmMWEwXV0=;1,0,udlr,e3szLCAzfSAtLVtbdGFibGU6IDB4MGI2YmQyMDhdXX0gLS1bW3RhYmxlOiAweDBiNmJkMWUwXV0=;1,0,udlr,e3sxLCAzfSAtLVtbdGFibGU6IDB4MDQxMTY1YjhdXX0gLS1bW3RhYmxlOiAweDA0MTE2NTkwXV0=;1,0,udlr,e3syLCAzfSAtLVtbdGFibGU6IDB4MDgzN2VkYzBdXX0gLS1bW3RhYmxlOiAweDA4MzdlZDk4XV0=;0,1,udlr,e3swLCAyfSAtLVtbdGFibGU6IDB4MDYwZTVhMzBdXX0gLS1bW3RhYmxlOiAweDA2MGU1YTA4XV0=;0,1,udlr,e3sxLCAwfSAtLVtbdGFibGU6IDB4MGExMTg4ZjBdXX0gLS1bW3RhYmxlOiAweDBhMTE4OGM4XV0=;-1,0,udlr,e3sxLCAxfSAtLVtbdGFibGU6IDB4MGE0MDdhZTBdXX0gLS1bW3RhYmxlOiAweDBhNDA3YWI4XV0=;-1,0,udlr,e3syLCAxfSAtLVtbdGFibGU6IDB4MDJjNGIwNjBdXX0gLS1bW3RhYmxlOiAweDBhM2YxOTgwXV0=;-1,0,udlr,e3szLCAxfSAtLVtbdGFibGU6IDB4MGExNWNkNTBdXX0gLS1bW3RhYmxlOiAweDBhMTVjZDI4XV0=;0,1,udlr,e3syLCAxfSAtLVtbdGFibGU6IDB4MGExMDdjMThdXX0gLS1bW3RhYmxlOiAweDBhMTA3YmYwXV0=;1,0,udlr,e3sxLCAxfSAtLVtbdGFibGU6IDB4MDg2MzQ3ODhdXX0gLS1bW3RhYmxlOiAweDA4NjM0NzYwXV0=;1,0,udlr,e3swLCAxfSAtLVtbdGFibGU6IDB4MGU0YmQxOTBdXX0gLS1bW3RhYmxlOiAweDBhMTI5YTQ4XV0=;0,-1,udlr,e3sxLCAxfSAtLVtbdGFibGU6IDB4MGExOGIyMjBdXX0gLS1bW3RhYmxlOiAweDBhMThiMWY4XV0=;0,-1,udlr,e3swLCAyfSAtLVtbdGFibGU6IDB4MGEyZWIxOThdXX0gLS1bW3RhYmxlOiAweDBiM2Q4YTg4XV0=;-1,0,udlr,e3syLCAzfSAtLVtbdGFibGU6IDB4MGU0YTU1ZjhdXX0gLS1bW3RhYmxlOiAweDBiNDQ5ZGU4XV0=;-1,0,udlr,e3sxLCAzfSAtLVtbdGFibGU6IDB4MDg0NTFhNjBdXX0gLS1bW3RhYmxlOiAweDA4NDUxYTM4XV0=;0,1,udlr,e3syLCAyfSAtLVtbdGFibGU6IDB4MDgzOWI5NzhdXX0gLS1bW3RhYmxlOiAweDBiNDFkMzA4XV0=;1,0,udlr,e3syLCAzfSAtLVtbdGFibGU6IDB4MDg0YjE4NThdXX0gLS1bW3RhYmxlOiAweDBiM2FmMjAwXV0=;0,1,udlr,e3syLCAxfSAtLVtbdGFibGU6IDB4MGIwNmU1YjBdXX0gLS1bW3RhYmxlOiAweDAyYzNlYjU4XV0=;0,1,udlr,e3syLCAyfSAtLVtbdGFibGU6IDB4MDg0MDEzZTBdXX0gLS1bW3RhYmxlOiAweDA4NDAxM2I4XV0=;1,0,udlr,e3sxLCAwfSAtLVtbdGFibGU6IDB4MGEyODk0OTBdXX0gLS1bW3RhYmxlOiAweDA4NGYyYTg4XV0=;0,1,udlr,e3syLCAwfSAtLVtbdGFibGU6IDB4MDYwYmQwZThdXX0gLS1bW3RhYmxlOiAweDA2MGJkMGMwXV0=;1,0,udlr,e3syLCAxfSAtLVtbdGFibGU6IDB4MDg2ODU3ODhdXX0gLS1bW3RhYmxlOiAweDA4Njg1NzYwXV0=;1,0,udlr,e3swLCAwfSAtLVtbdGFibGU6IDB4MGEyZTg2MDhdXX0gLS1bW3RhYmxlOiAweDBhMmU4NWUwXV0=;1,0,udlr,e3sxLCAwfSAtLVtbdGFibGU6IDB4MGIwMTEzZjhdXX0gLS1bW3RhYmxlOiAweDBiMDExM2QwXV0=;0,1,udlr,e3syLCAwfSAtLVtbdGFibGU6IDB4MGIzZmQ2MDBdXX0gLS1bW3RhYmxlOiAweDBiM2ZkNWQ4XV0=;-1,0,udlr,e3szLCAwfSAtLVtbdGFibGU6IDB4MGE0NTJkMzBdXX0gLS1bW3RhYmxlOiAweDA0MTUzNmU4XV0=;-1,0,udlr,e3syLCAwfSAtLVtbdGFibGU6IDB4MGIyOGI0NTBdXX0gLS1bW3RhYmxlOiAweDBiMjhiNDI4XV0=;0,-1,udlr,e3szLCAxfSAtLVtbdGFibGU6IDB4MDg2NDFiMjhdXX0gLS1bW3RhYmxlOiAweDBhMGJhZDE4XV0=;1,0,udlr,e3szLCAwfSAtLVtbdGFibGU6IDB4MDg1Zjc4OTBdXX0gLS1bW3RhYmxlOiAweDA4NWY3ODY4XV0=;1,0,udlr,e3syLCAwfSAtLVtbdGFibGU6IDB4MGU0MmM0NjBdXX0gLS1bW3RhYmxlOiAweDBlNDJjNDM4XV0=;0,-1,udlr,e3swLCAxfSAtLVtbdGFibGU6IDB4MDg2NDVlNjhdXX0gLS1bW3RhYmxlOiAweDBlNGQyY2QwXV0=;0,-1,udlr,e3swLCAzfSAtLVtbdGFibGU6IDB4MDg2M2ZkYjhdXX0gLS1bW3RhYmxlOiAweDA4NjNmZDkwXV0=;1,0,udlr,e3syLCAxfSAtLVtbdGFibGU6IDB4MGEyN2EyOTBdXX0gLS1bW3RhYmxlOiAweDBhMGJjYTU4XV0=;0,-1,udlr,e3syLCAyfSAtLVtbdGFibGU6IDB4MDg0ZmMwMThdXX0gLS1bW3RhYmxlOiAweDA4NGZiZmYwXV0=;0,-1,udlr,e3sxLCA0fSAtLVtbdGFibGU6IDB4MDVmYWYyZDhdXX0gLS1bW3RhYmxlOiAweDA2MGY0MDg4XV0=;-1,0,udlr,e3sxLCAzfSAtLVtbdGFibGU6IDB4MGU0MDIzMzBdXX0gLS1bW3RhYmxlOiAweDBlNDAyMzA4XV0=;-1,0,udlr,e3szLCAzfSAtLVtbdGFibGU6IDB4MGIxZmYzMTBdXX0gLS1bW3RhYmxlOiAweDBhMTBmMDcwXV0=;0,1,udlr,e3syLCAzfSAtLVtbdGFibGU6IDB4MGIwOGViZDhdXX0gLS1bW3RhYmxlOiAweDBiMDhlYmIwXV0=;-1,0,udlr,e3syLCA0fSAtLVtbdGFibGU6IDB4MGU0Yjc2MjhdXX0gLS1bW3RhYmxlOiAweDA4MzkyOTgwXV0=;0,1,udlr,e3syLCAyfSAtLVtbdGFibGU6IDB4MGExMWFhMTBdXX0gLS1bW3RhYmxlOiAweDBhMTFhNTI4XV0=;0,1,udlr,e3syLCAzfSAtLVtbdGFibGU6IDB4MDgyYWY4ZjBdXX0gLS1bW3RhYmxlOiAweDA4MmFmOGM4XV0=;-1,0,udlr,e3szLCAxfSAtLVtbdGFibGU6IDB4MDVmY2FmYTBdXX0gLS1bW3RhYmxlOiAweDBiMWRiMmQ4XV0=;-1,0,udlr,e3s0LCAyfSAtLVtbdGFibGU6IDB4MDgzY2ZlODhdXX0gLS1bW3RhYmxlOiAweDA4M2NmZTYwXV0=;-1,0,udlr,e3s0LCAzfSAtLVtbdGFibGU6IDB4MDVmYzQ0YzBdXX0gLS1bW3RhYmxlOiAweDA1ZmM0NDk4XV0=;0,1,udlr,e3s1LCAxfSAtLVtbdGFibGU6IDB4MGIwYjdkNjBdXX0gLS1bW3RhYmxlOiAweDBiMGI3ZDM4XV0=;0,1,udlr,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDgzZmY3MjhdXX0gLS1bW3RhYmxlOiAweDA4M2ZmNzAwXV0=;1,0,udlr,e3s0LCAwfSAtLVtbdGFibGU6IDB4MDQwMTk4YzBdXX0gLS1bW3RhYmxlOiAweDAyNjQwYTYwXV0=;0,1,udlr,e3s1LCAwfSAtLVtbdGFibGU6IDB4MGU0YWEwNTBdXX0gLS1bW3RhYmxlOiAweDBlNGFhMDI4XV0=;1,0,udlr,e3szLCAwfSAtLVtbdGFibGU6IDB4MGExYmFmZjBdXX0gLS1bW3RhYmxlOiAweDBhMWJhZmM4XV0=;1,0,udlr,e3s0LCAwfSAtLVtbdGFibGU6IDB4MGU0ZGNhMjhdXX0gLS1bW3RhYmxlOiAweDBlNGRjYTAwXV0=;0,-1,udlr,e3syLCAxfSAtLVtbdGFibGU6IDB4MDgyYTRhZDhdXX0gLS1bW3RhYmxlOiAweDBiMGFlNmU4XV0=;0,-1,udlr,e3szLCAxfSAtLVtbdGFibGU6IDB4MGExMzZhNzBdXX0gLS1bW3RhYmxlOiAweDBhMTM2YTQ4XV0=;1,0,udlr,e3sxLCAyfSAtLVtbdGFibGU6IDB4MDg1ZTc4YzBdXX0gLS1bW3RhYmxlOiAweDA4NWU3ODk4XV0=;1,0,udlr,e3syLCAyfSAtLVtbdGFibGU6IDB4MGE1ZWIwNzBdXX0gLS1bW3RhYmxlOiAweDBhNWViMDQ4XV0=;1,0,udlr,e3szLCAyfSAtLVtbdGFibGU6IDB4MDgzMmM3ODhdXX0gLS1bW3RhYmxlOiAweDA4MzJjNzYwXV0=;0,-1,udlr,e3swLCAzfSAtLVtbdGFibGU6IDB4MGIyNzQwYzhdXX0gLS1bW3RhYmxlOiAweDBiMjc0MGEwXV0=;1,0,udlr,e3sxLCAyfSAtLVtbdGFibGU6IDB4MGEyYTk4OThdXX0gLS1bW3RhYmxlOiAweDBhMmE5ODcwXV0=;0,-1,udlr,e3sxLCA0fSAtLVtbdGFibGU6IDB4MGExMzhhODhdXX0gLS1bW3RhYmxlOiAweDBhMTM4YTYwXV0=;-1,0,udlr,e3sxLCAzfSAtLVtbdGFibGU6IDB4MDg1ZDg5ZTBdXX0gLS1bW3RhYmxlOiAweDA4NWQ4OWI4XV0=;0,-1,udlr,e3swLCAzfSAtLVtbdGFibGU6IDB4MDYwZjA2ZTBdXX0gLS1bW3RhYmxlOiAweDBiM2JhYWY4XV0=;0,-1,udlr,e3sxLCA1fSAtLVtbdGFibGU6IDB4MGExNzljZDBdXX0gLS1bW3RhYmxlOiAweDA2MGMzZDQwXV0=;0,-1,udlr,e3sxLCA0fSAtLVtbdGFibGU6IDB4MDg1YzU4MjBdXX0gLS1bW3RhYmxlOiAweDA1ZmM2MTk4XV0=;-1,0,udlr,e3sxLCAzfSAtLVtbdGFibGU6IDB4MGIyNmJkMjhdXX0gLS1bW3RhYmxlOiAweDBiMjZiZDAwXV0=;-1,0,udlr,e3syLCAzfSAtLVtbdGFibGU6IDB4MDgxZGUwOTBdXX0gLS1bW3RhYmxlOiAweDBhZmZiZDY4XV0=;0,1,udlr,e3sxLCA0fSAtLVtbdGFibGU6IDB4MDg0MTFkNDhdXX0gLS1bW3RhYmxlOiAweDA4NDExZDIwXV0=;1,0,udlr,e3swLCAzfSAtLVtbdGFibGU6IDB4MDg2MGZhYzBdXX0gLS1bW3RhYmxlOiAweDA2MDk1OTYwXV0=;1,0,udlr,e3sxLCAzfSAtLVtbdGFibGU6IDB4MGE0MTgzYzhdXX0gLS1bW3RhYmxlOiAweDBhNDE4M2EwXV0=;0,1,udlr,e3syLCAzfSAtLVtbdGFibGU6IDB4MDgxZTYxZThdXX0gLS1bW3RhYmxlOiAweDA4M2NkNzQwXV0=;-1,0,udlr,e3szLCAzfSAtLVtbdGFibGU6IDB4MGExNGQ2YjhdXX0gLS1bW3RhYmxlOiAweDA4NjdmNmUwXV0=;-1,0,udlr,e3syLCAzfSAtLVtbdGFibGU6IDB4MDgyNjBhMTBdXX0gLS1bW3RhYmxlOiAweDBhNGMwMTA4XV0=;-1,0,udlr,e3sxLCAzfSAtLVtbdGFibGU6IDB4MGIxZjMxODhdXX0gLS1bW3RhYmxlOiAweDBiMWYzMTYwXV0=;0,1,udlr,e3szLCAyfSAtLVtbdGFibGU6IDB4MDgyOTcwYTBdXX0gLS1bW3RhYmxlOiAweDAyYzI5YzU4XV0=;1,0,udlr,e3syLCAyfSAtLVtbdGFibGU6IDB4MDgyNjk2MjBdXX0gLS1bW3RhYmxlOiAweDA4MjY5NWY4XV0=;1,0,udlr,e3szLCAyfSAtLVtbdGFibGU6IDB4MDg1ZjExYjBdXX0gLS1bW3RhYmxlOiAweDA4NWYxMTg4XV0=;1,0,udlr,e3swLCAyfSAtLVtbdGFibGU6IDB4MGU0ZDFmNzhdXX0gLS1bW3RhYmxlOiAweDBlNGQxZjUwXV0=;1,0,udlr,e3sxLCAyfSAtLVtbdGFibGU6IDB4MDgyOTQxMzhdXX0gLS1bW3RhYmxlOiAweDBiNTMxZTEwXV0=;0,-1,udlr,e3sxLCAzfSAtLVtbdGFibGU6IDB4MGIxZGU3NjBdXX0gLS1bW3RhYmxlOiAweDAyNjY4NDUwXV0=;-1,0,udlr,e3szLCAzfSAtLVtbdGFibGU6IDB4MGIyMDQ0ODBdXX0gLS1bW3RhYmxlOiAweDBiMjA0NDU4XV0=;-1,0,udlr,e3szLCAzfSAtLVtbdGFibGU6IDB4MGE0OGJmZThdXX0gLS1bW3RhYmxlOiAweDBhNDhiZmMwXV0=;-1,0,udlr,e3syLCAzfSAtLVtbdGFibGU6IDB4MDg1NjZjZjhdXX0gLS1bW3RhYmxlOiAweDA4NTY2Y2QwXV0=;0,1,udlr,e3szLCAyfSAtLVtbdGFibGU6IDB4MGExNTA5NThdXX0gLS1bW3RhYmxlOiAweDBiMmI4ODgwXV0=;-1,0,udlr,e3szLCAzfSAtLVtbdGFibGU6IDB4MGFmZjkyMTBdXX0gLS1bW3RhYmxlOiAweDBiMGE1YTEwXV0=;1,0,udlr,e3syLCAyfSAtLVtbdGFibGU6IDB4MGEyZjI1ZTBdXX0gLS1bW3RhYmxlOiAweDBhMmYyNWI4XV0=;1,0,udlr,e3szLCAyfSAtLVtbdGFibGU6IDB4MDg2NDRlNThdXX0gLS1bW3RhYmxlOiAweDBiNGMyOTYwXV0=;0,1,udlr,e3s0LCAyfSAtLVtbdGFibGU6IDB4MGEyZTYyMDhdXX0gLS1bW3RhYmxlOiAweDBhMmU2MWUwXV0=;0,1,udlr,e3szLCAxfSAtLVtbdGFibGU6IDB4MGExOWY2ZDhdXX0gLS1bW3RhYmxlOiAweDBiNDkwZjA4XV0=;0,1,udlr,e3syLCAwfSAtLVtbdGFibGU6IDB4MGEyNzZjMjBdXX0gLS1bW3RhYmxlOiAweDBlNDdhZjM4XV0=;-1,0,udlr,e3s0LCAwfSAtLVtbdGFibGU6IDB4MDgyYmYxNThdXX0gLS1bW3RhYmxlOiAweDBhNDNlMzYwXV0=;-1,0,udlr,e3szLCAwfSAtLVtbdGFibGU6IDB4MDVmYThlNjhdXX0gLS1bW3RhYmxlOiAweDA1ZmE4ZTQwXV0=;0,-1,udlr,e3s1LCAxfSAtLVtbdGFibGU6IDB4MGEyYjI3OTBdXX0gLS1bW3RhYmxlOiAweDBhMmIyNzY4XV0=;-1,0,udlr,e3s1LCAwfSAtLVtbdGFibGU6IDB4MGEwZDg3NjhdXX0gLS1bW3RhYmxlOiAweDBhMGQ4NzQwXV0=;0,-1,udlr,e3s1LCAyfSAtLVtbdGFibGU6IDB4MGI0MDBhNThdXX0gLS1bW3RhYmxlOiAweDBiNDAwYTMwXV0=;0,-1,udlr,e3s1LCAxfSAtLVtbdGFibGU6IDB4MDgyYjcwMThdXX0gLS1bW3RhYmxlOiAweDA4MmI2ZTM4XV0=;1,0,udlr,e3s0LCAzfSAtLVtbdGFibGU6IDB4MDg1OGQ3MTBdXX0gLS1bW3RhYmxlOiAweDA4NThkNmU4XV0=;0,-1,udlr,e3s1LCAzfSAtLVtbdGFibGU6IDB4MGU0MGJhNDBdXX0gLS1bW3RhYmxlOiAweDAyYzJlMjI4XV0=;1,0,udlr,e3szLCAzfSAtLVtbdGFibGU6IDB4MGIzZDc0ODhdXX0gLS1bW3RhYmxlOiAweDBiM2Q3NDYwXV0=;1,0,udlr,e3szLCAzfSAtLVtbdGFibGU6IDB4MGIzZTkyMzBdXX0gLS1bW3RhYmxlOiAweDBiM2U5MjA4XV0=;1,0,udlr,e3sxLCAzfSAtLVtbdGFibGU6IDB4MDgzMmIzMjBdXX0gLS1bW3RhYmxlOiAweDA4MzJiMmY4XV0=;1,0,udlr,e3syLCAzfSAtLVtbdGFibGU6IDB4MGIwNzI1ZDBdXX0gLS1bW3RhYmxlOiAweDBiMDcyNWE4XV0=;0,1,udlr,e3swLCAyfSAtLVtbdGFibGU6IDB4MDVmZTc5YThdXX0gLS1bW3RhYmxlOiAweDA4M2M2OGMwXV0=;0,1,udlr,e3swLCAxfSAtLVtbdGFibGU6IDB4MGEyZmI5NTBdXX0gLS1bW3RhYmxlOiAweDBhMjViYjk4XV0=;-1,0,udlr,e3syLCAwfSAtLVtbdGFibGU6IDB4MDVmYzBhNTBdXX0gLS1bW3RhYmxlOiAweDA2MDA5ZTk4XV0=;-1,0,udlr,e3syLCAwfSAtLVtbdGFibGU6IDB4MDgzNjMwYThdXX0gLS1bW3RhYmxlOiAweDBiMjE1ZjAwXV0=;0,-1,udlr,e3syLCAxfSAtLVtbdGFibGU6IDB4MGI0OTYyMDhdXX0gLS1bW3RhYmxlOiAweDBiM2Q3OTQ4XV0=;0,-1,udlr,e3szLCAxfSAtLVtbdGFibGU6IDB4MDQxMWI2ODhdXX0gLS1bW3RhYmxlOiAweDBiM2MwZGMwXV0=;0,-1,udlr,e3syLCAzfSAtLVtbdGFibGU6IDB4MGI2YWQyZTBdXX0gLS1bW3RhYmxlOiAweDA1ZmZmZTE4XV0=;0,1,udlr,e3s0LCAzfSAtLVtbdGFibGU6IDB4MDYwM2VlMDhdXX0gLS1bW3RhYmxlOiAweDBiMjlkZjIwXV0=;0,1,udlr,e3szLCAzfSAtLVtbdGFibGU6IDB4MDg0ZWI4YzBdXX0gLS1bW3RhYmxlOiAweDA4NGViODk4XV0=;-1,0,udlr,e3s0LCAzfSAtLVtbdGFibGU6IDB4MDVmYWNhZThdXX0gLS1bW3RhYmxlOiAweDA1ZmFjYWMwXV0=;-1,0,udlr,e3s0LCAzfSAtLVtbdGFibGU6IDB4MGEyY2RhMjBdXX0gLS1bW3RhYmxlOiAweDA4NGRkOGEwXV0=;-1,0,udlr,e3s1LCAyfSAtLVtbdGFibGU6IDB4MGI0ZGI3MDhdXX0gLS1bW3RhYmxlOiAweDBiNGRiNmUwXV0=;0,1,udlr,e3s1LCAxfSAtLVtbdGFibGU6IDB4MDg1ZWQ1MzhdXX0gLS1bW3RhYmxlOiAweDA4NWVkNTEwXV0=;0,1,udlr,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDg1ZDVhNDBdXX0gLS1bW3RhYmxlOiAweDA4NWQ1YTE4XV0=;1,0,udlr,e3s0LCAwfSAtLVtbdGFibGU6IDB4MGI0MjZjYTBdXX0gLS1bW3RhYmxlOiAweDBiNDI2Yzc4XV0=;1,0,udlr,e3s0LCAxfSAtLVtbdGFibGU6IDB4MDg2NWVhYTBdXX0gLS1bW3RhYmxlOiAweDA4NjVlYTc4XV0=;0,1,udlr,e3syLCAwfSAtLVtbdGFibGU6IDB4MGEyNzRkMzBdXX0gLS1bW3RhYmxlOiAweDBhMjc0ZDA4XV0=;1,0,udlr,e3sxLCAwfSAtLVtbdGFibGU6IDB4MDQxNDliOTBdXX0gLS1bW3RhYmxlOiAweDA0MTQ5YjY4XV0=;1,0,udlr,e3sxLCAwfSAtLVtbdGFibGU6IDB4MDQwNmY5NzhdXX0gLS1bW3RhYmxlOiAweDAzZmQ4OWYwXV0=;0,-1,udlr,e3swLCAxfSAtLVtbdGFibGU6IDB4MDI2ZGYxNThdXX0gLS1bW3RhYmxlOiAweDAyNmRmMTMwXV0=;0,-1,udlr,e3swLCAzfSAtLVtbdGFibGU6IDB4MDVmY2NkZDBdXX0gLS1bW3RhYmxlOiAweDA1ZmNjZGE4XV0=;-1,0,udlr,e3syLCAzfSAtLVtbdGFibGU6IDB4MGU0OWNhMDBdXX0gLS1bW3RhYmxlOiAweDBlNDljOWQ4XV0=;-1,0,udlr,e3sxLCAzfSAtLVtbdGFibGU6IDB4MGIyNTY4ZThdXX0gLS1bW3RhYmxlOiAweDBiMjU2OGMwXV0=;0,-1,udlr,e3szLCA0fSAtLVtbdGFibGU6IDB4MGIyODkwMjhdXX0gLS1bW3RhYmxlOiAweDBiMjg5MDAwXV0=;-1,0,udlr,e3szLCAzfSAtLVtbdGFibGU6IDB4MGI0NDU3NjBdXX0gLS1bW3RhYmxlOiAweDBiNDQ1NzM4XV0=;0,1,udlr,e3s0LCAyfSAtLVtbdGFibGU6IDB4MGIyN2JmYjBdXX0gLS1bW3RhYmxlOiAweDBiNDk2MDA4XV0=;0,1,udlr,e3s0LCAzfSAtLVtbdGFibGU6IDB4MDgzZDIyMzhdXX0gLS1bW3RhYmxlOiAweDA4M2QyMjEwXV0=;-1,0,udlr,e3s0LCA0fSAtLVtbdGFibGU6IDB4MGIwMDE2MzhdXX0gLS1bW3RhYmxlOiAweDBiMDAxNjEwXV0=;-1,0,udlr,e3s1LCAzfSAtLVtbdGFibGU6IDB4MDg1ZmY1NTBdXX0gLS1bW3RhYmxlOiAweDA4NWZmNTI4XV0=;0,1,udlr,e3s0LCAzfSAtLVtbdGFibGU6IDB4MGI0OGJjODhdXX0gLS1bW3RhYmxlOiAweDBiNDhiYzYwXV0=;1,0,udlr,e3szLCAyfSAtLVtbdGFibGU6IDB4MDgzNGYzZjBdXX0gLS1bW3RhYmxlOiAweDA4MzRmM2M4XV0=;1,0,udlr,e3szLCAyfSAtLVtbdGFibGU6IDB4MGIzYzE2ODhdXX0gLS1bW3RhYmxlOiAweDBiM2MxNjYwXV0=;0,-1,udlr,e3syLCAzfSAtLVtbdGFibGU6IDB4MGIyNDNmMzBdXX0gLS1bW3RhYmxlOiAweDBiMjQzZjA4XV0=;0,-1,udlr,e3szLCA0fSAtLVtbdGFibGU6IDB4MGIyM2NkNDhdXX0gLS1bW3RhYmxlOiAweDBiMjNjZDIwXV0=;-1,0,udlr,e3szLCAzfSAtLVtbdGFibGU6IDB4MGIxNGI2ZDhdXX0gLS1bW3RhYmxlOiAweDBiMTRiNmIwXV0=;-1,0,udlr,e3s0LCAzfSAtLVtbdGFibGU6IDB4MDg1OGEzMDhdXX0gLS1bW3RhYmxlOiAweDA2MDQ1Zjk4XV0=;0,1,udlr,e3s0LCAyfSAtLVtbdGFibGU6IDB4MGE2ZDA3NzhdXX0gLS1bW3RhYmxlOiAweDBiMzkzY2QwXV0=;1,0,udlr,e3szLCAyfSAtLVtbdGFibGU6IDB4MGEyOTczYzBdXX0gLS1bW3RhYmxlOiAweDBhMjk3Mzk4XV0=;1,0,udlr,e3szLCAyfSAtLVtbdGFibGU6IDB4MDg2MTIyODBdXX0gLS1bW3RhYmxlOiAweDA2MDQyN2QwXV0=;0,-1,udlr,e3szLCAzfSAtLVtbdGFibGU6IDB4MGIyOTY0MDBdXX0gLS1bW3RhYmxlOiAweDBiMjk2M2Q4XV0=;1,0,udlr,e3syLCA0fSAtLVtbdGFibGU6IDB4MDg0MWYxODhdXX0gLS1bW3RhYmxlOiAweDBiNTU1ZDIwXV0=;1,0,udlr,e3szLCA0fSAtLVtbdGFibGU6IDB4MGIzY2JkZDBdXX0gLS1bW3RhYmxlOiAweDBiM2NiZGE4XV0=;0,1,udlr,e3syLCAzfSAtLVtbdGFibGU6IDB4MDVmODNhZDBdXX0gLS1bW3RhYmxlOiAweDBhNmQ5ZjQwXV0=;1,0,udlr,e3syLCA0fSAtLVtbdGFibGU6IDB4MGExNTNhYTBdXX0gLS1bW3RhYmxlOiAweDBhMTUzYTc4XV0=;0,1,udlr,e3syLCAxfSAtLVtbdGFibGU6IDB4MDg1ZDJhMDBdXX0gLS1bW3RhYmxlOiAweDA4NWQyOWQ4XV0=;0,1,udlr,e3syLCAyfSAtLVtbdGFibGU6IDB4MGIwMjdlMjhdXX0gLS1bW3RhYmxlOiAweDBhNGFkY2UwXV0=;0,1,udlr,e3syLCAzfSAtLVtbdGFibGU6IDB4MGEyYmE0YThdXX0gLS1bW3RhYmxlOiAweDBhMmJhNDgwXV0=;-1,0,udlr,e3szLCAyfSAtLVtbdGFibGU6IDB4MGE0MjJmOThdXX0gLS1bW3RhYmxlOiAweDBhNDIyZjcwXV0=;0,-1,udlr,e3syLCAyfSAtLVtbdGFibGU6IDB4MGE1ZTMwYjhdXX0gLS1bW3RhYmxlOiAweDBhMjU1NDU4XV0=;0,-1,udlr,e3szLCA0fSAtLVtbdGFibGU6IDB4MGEyYTVlODBdXX0gLS1bW3RhYmxlOiAweDBhMmE1ZTU4XV0=;0,-1,udlr,e3szLCAzfSAtLVtbdGFibGU6IDB4MDg2NGEyZThdXX0gLS1bW3RhYmxlOiAweDA4NjRhMmMwXV0=;0,-1,udlr,e3syLCA0fSAtLVtbdGFibGU6IDB4MGI0Njg1MzhdXX0gLS1bW3RhYmxlOiAweDBhNGE5M2Y4XV0=;1,0,udlr,e3syLCAzfSAtLVtbdGFibGU6IDB4MDgyODY3MzBdXX0gLS1bW3RhYmxlOiAweDBiNmE0MmMwXV0=;-1,0,udlr,e3s0LCA0fSAtLVtbdGFibGU6IDB4MGI1NjZhMDBdXX0gLS1bW3RhYmxlOiAweDA2MGY4ZGM4XV0=;-1,0,udlr,e3szLCA0fSAtLVtbdGFibGU6IDB4MDgzNWY0ODhdXX0gLS1bW3RhYmxlOiAweDA4MjZiNGI4XV0=;0,-1,udlr,e3syLCA0fSAtLVtbdGFibGU6IDB4MGExN2EyNzBdXX0gLS1bW3RhYmxlOiAweDAyYzQyMjU4XV0=;0,-1,udlr,e3s0LCA1fSAtLVtbdGFibGU6IDB4MGI0YTEyYzBdXX0gLS1bW3RhYmxlOiAweDBiM2ExNzkwXV0=;-1,0,udlr,e3s0LCA0fSAtLVtbdGFibGU6IDB4MGI1NmJmMThdXX0gLS1bW3RhYmxlOiAweDA4MzdiMDUwXV0=;-1,0,udlr,e3szLCA0fSAtLVtbdGFibGU6IDB4MGE1ZTFkNzhdXX0gLS1bW3RhYmxlOiAweDBhNWUxZDE4XV0=;0,1,udlr,e3szLCA0fSAtLVtbdGFibGU6IDB4MDgzMTc1MzBdXX0gLS1bW3RhYmxlOiAweDA0MDUxZGYwXV0=;0,1,udlr,e3szLCAzfSAtLVtbdGFibGU6IDB4MGExNTRmMDBdXX0gLS1bW3RhYmxlOiAweDBhMTU0ZWQ4XV0=;1,0,udlr,e3szLCA0fSAtLVtbdGFibGU6IDB4MDgzM2RlMzBdXX0gLS1bW3RhYmxlOiAweDA2MGZhOTYwXV0=;0,1,udlr,e3s0LCA0fSAtLVtbdGFibGU6IDB4MGEyY2MwMDhdXX0gLS1bW3RhYmxlOiAweDBhMmNiZmUwXV0=;-1,0,udlr,e3s0LCAzfSAtLVtbdGFibGU6IDB4MGI1Njk2NzhdXX0gLS1bW3RhYmxlOiAweDBiNTY5NjUwXV0=;0,1,udlr,e3szLCAzfSAtLVtbdGFibGU6IDB4MDg0MGQ2YjhdXX0gLS1bW3RhYmxlOiAweDA4MjFmMzY4XV0=;0,1,udlr,e3szLCAyfSAtLVtbdGFibGU6IDB4MGEyODA5YTBdXX0gLS1bW3RhYmxlOiAweDBhMjgwOTc4XV0=;0,-1,udlr,e3szLCAzfSAtLVtbdGFibGU6IDB4MGIyMDZlZDhdXX0gLS1bW3RhYmxlOiAweDA2MDIyNTAwXV0=;1,0,udlr,e3syLCAzfSAtLVtbdGFibGU6IDB4MGEyMTM2MjhdXX0gLS1bW3RhYmxlOiAweDBhMjEzNjAwXV0=;1,0,udlr,e3szLCAzfSAtLVtbdGFibGU6IDB4MDg2NjE0MjhdXX0gLS1bW3RhYmxlOiAweDA4NjYxNDAwXV0=;1,0,udlr,e3s0LCAzfSAtLVtbdGFibGU6IDB4MGEyMTFmNThdXX0gLS1bW3RhYmxlOiAweDBhMjExZjMwXV0=;1,0,udlr,e3sxLCAzfSAtLVtbdGFibGU6IDB4MDgxZjNkNTBdXX0gLS1bW3RhYmxlOiAweDA4MWYzZDI4XV0=;1,0,udlr,e3syLCAzfSAtLVtbdGFibGU6IDB4MDgyZTE1NTBdXX0gLS1bW3RhYmxlOiAweDA4MmUxNTI4XV0=;1,0,udlr,e3szLCAzfSAtLVtbdGFibGU6IDB4MDgzNDgzZDBdXX0gLS1bW3RhYmxlOiAweDA4MzQ4M2E4XV0=;0,-1,udlr,e3syLCA0fSAtLVtbdGFibGU6IDB4MGIwN2IyZThdXX0gLS1bW3RhYmxlOiAweDBiMDdiMmMwXV0=;-1,0,udlr,e3syLCAzfSAtLVtbdGFibGU6IDB4MDgzNjRhNTBdXX0gLS1bW3RhYmxlOiAweDA4MzY0YTI4XV0=;-1,0,udlr,e3sxLCAzfSAtLVtbdGFibGU6IDB4MDg1M2NjNzBdXX0gLS1bW3RhYmxlOiAweDBiMWY4MWM4XV0=;0,-1,udlr,e3sxLCA0fSAtLVtbdGFibGU6IDB4MDdmYTNmNjBdXX0gLS1bW3RhYmxlOiAweDA4MjQ0OTU4XV0=;1,0,udlr,e3sxLCAzfSAtLVtbdGFibGU6IDB4MDgyMTQzYzBdXX0gLS1bW3RhYmxlOiAweDA4MjE0Mzk4XV0=;1,0,udlr,e3swLCAzfSAtLVtbdGFibGU6IDB4MDYwYjlmNDBdXX0gLS1bW3RhYmxlOiAweDA2MGI5ZjE4XV0=;0,1,udlr,e3sxLCAzfSAtLVtbdGFibGU6IDB4MGExMGRhMzBdXX0gLS1bW3RhYmxlOiAweDBhMTBkYTA4XV0=;0,1,udlr,e3sxLCA0fSAtLVtbdGFibGU6IDB4MGE0YTZjNzBdXX0gLS1bW3RhYmxlOiAweDBhNGE2YzQ4XV0=;-1,0,udlr,e3syLCAzfSAtLVtbdGFibGU6IDB4MGIyMzEzYjBdXX0gLS1bW3RhYmxlOiAweDBiMjMxMzg4XV0=;0,1,udlr,e3syLCAyfSAtLVtbdGFibGU6IDB4MDgzYmU3ZjBdXX0gLS1bW3RhYmxlOiAweDA4M2JlN2M4XV0=;0,1,udlr,e3syLCAyfSAtLVtbdGFibGU6IDB4MDgzNzgxZjhdXX0gLS1bW3RhYmxlOiAweDA4MzNkMjEwXV0=;-1,0,udlr,e3szLCAyfSAtLVtbdGFibGU6IDB4MDg2NDQzNDBdXX0gLS1bW3RhYmxlOiAweDA4NjQ0MzE4XV0=;0,-1,udlr,e3syLCAyfSAtLVtbdGFibGU6IDB4MGIyODVlZDBdXX0gLS1bW3RhYmxlOiAweDA4NDlkNjc4XV0=;1,0,udlr,e3sxLCAyfSAtLVtbdGFibGU6IDB4MDYwNGM1ZDBdXX0gLS1bW3RhYmxlOiAweDBhMjBmZjU4XV0=;1,0,udlr,e3syLCAyfSAtLVtbdGFibGU6IDB4MDgzYTU0ZTBdXX0gLS1bW3RhYmxlOiAweDA4M2E1NGI4XV0=;0,-1,udlr,e3sxLCAzfSAtLVtbdGFibGU6IDB4MDI2ZWVjYjBdXX0gLS1bW3RhYmxlOiAweDAyNmVlYzg4XV0=;-1,0,udlr,e3sxLCAyfSAtLVtbdGFibGU6IDB4MGIyYThlMzBdXX0gLS1bW3RhYmxlOiAweDBiMmE4ZTA4XV0=;0,-1,udlr,e3sxLCA1fSAtLVtbdGFibGU6IDB4MGU0YjNmZjhdXX0gLS1bW3RhYmxlOiAweDBlNGIzZmQwXV0=;0,-1,udlr,e3sxLCA0fSAtLVtbdGFibGU6IDB4MGIyYzQ1MjBdXX0gLS1bW3RhYmxlOiAweDBiMmM0NGY4XV0=;0,-1,udlr,e3sxLCAzfSAtLVtbdGFibGU6IDB4MGIwOWMxNzhdXX0gLS1bW3RhYmxlOiAweDBiMDljMTUwXV0=;-1,0,udlr,e3syLCA0fSAtLVtbdGFibGU6IDB4MDgyNDUwZTBdXX0gLS1bW3RhYmxlOiAweDA4MjQ1MGI4XV0=;0,1,udlr,e3sxLCA0fSAtLVtbdGFibGU6IDB4MDg0Y2MzNTBdXX0gLS1bW3RhYmxlOiAweDA4NGNjMzI4XV0=;0,1,udlr,e3sxLCA1fSAtLVtbdGFibGU6IDB4MGU0MTJkYThdXX0gLS1bW3RhYmxlOiAweDBlNDEyZDgwXV0=;"
  },
  {
    "path": "officialworlds/minigames/boxes [1].bab",
    "content": "{\"width\":14,\"version\":5,\"extra\":false,\"author\":\"Slabdrill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":9,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"boxes [1]\",\"map\":\"eJyN2NtuozAQBuBXiXq1K6EIMObQimeJCNAWiYUVIW1XUd59icfBHAb831XVN4j8zgxDivZQt3lWH07p7dZXdZm+fGf1i/OTuk5VpJ7zb/jj8rfMq6xOb3enqLrUuzsM9QfqYVQM1MdoMFCBUTnQYJue267oRhwOWG7j/qc/nbPzyKOBhxZe1nU/FsRDQbQsEMv79h40gTJW1HP3Q/68dnnWlMZ7UNJkfShqsgLMmnQAhD25aYmEbXi4H/WDr3J5nGds/ay+sjF0PmQTqAmU9V0ob7IemDdp35731Whhj7vt+s/WVAT2io8Jl/YDovMkHkJnI5SNuLMxl9YtTDaG8iabgHkrLdz9vMfJQNrj0hPc6CHv76e9uLrgwp6fzVd1qfr3rmxMVQBlHigroX4gG0L9QDaCzodsDJ4P6QQ8H6UDl8tbbmmPyzta3rVU1t//ts4sOmFJAxP2T9t+mQJ2xkY7BeyUlct7D5Vlu3J1kmRj6AlFNoG+IcpKF8yPtGfPb/hPmfdV25gqtjOFrUpwvbb6FkTKBlCSZCWUJNkQTId0ZE9ndvXY/nx4r9sPU5DsDy198Vgtbi4UCVls/SHrg5GQFvZILk2W56YCeGh+Z1V/PB5NDbwJEWd7dPVxE2UtT86ZRactacu0nTzflI/YeTv3r78NZwfuek2ltZ2duFtYQA8rjbEXE43RVxPNkZeTcuItbyfPe1Grb4Stsxpj+yzhGFtoNUY3Ws2Blfb118RbltrnvaiNM8amrMZyP5LnYNM65CbQ+j2QsGUDmr7FUIGlMedXt21BY+KKJ5a2fF5b7Y8J9juBxtgvBRqzvxWsAyTMNuUWZptSMHkQ32jK+1tX9teuOZzeyqb4D5J7v5k=\"}"
  },
  {
    "path": "officialworlds/minigames/boxes [1].replay",
    "content": "0,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;"
  },
  {
    "path": "officialworlds/minigames/boxes [2].bab",
    "content": "{\"width\":15,\"version\":5,\"extra\":false,\"palette\":\"default\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":12,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"author\":\"Slabdrill\",\"parent_level\":\"\",\"name\":\"boxes [2]\",\"map\":\"eJyN2e1O2zAUxvFbQXzZJlUofndAvZaqtGGL1DVTCS8T4t5nfI7rBLKe59s0/YwKf5/EcvfD1WHYbQ9Xm/Xb29gfuvX1y/ZwvXpdN6t+v1arv+kfj3+6Xb89rN/eV/v+tFbvqwWqE1UYNYlqjNpEDUZdohajPlGH0ZCox2hMNGC0TTT+n46v4+Z+e3/8NtYSTVrSXl4yK/eRTsntVMYa6kzWQKHJCvkeDsPPirGAZIWC6Y9XLZaQLNaQLBKxO3MNBHw8bne7umI5ofnUvB9vbm7qIi0s4l9BZ2yg7mQt1J2sg8aWrIeykw3Q4JLFUpIFUj73j/34cOqO51UGKMobkbzUkz+SyRgbSbLCSD71m7ZiCz19yWIdyWIdyQod0wdWFUdofsm2UPRsbQM9hKtXQO6ucnAQbcbYIJLFBpGsg2KT9VBssgGKTTZCQ0u2hVpn6xqoNVmFPquJazn17ffKDZbaZWyh1GSdONihYg+1Jhug1mQj1Jpsiw12xr6BYpNVUGyyWo79VLWRWw+n8ddQV1j4uU8+V7yc8aVqL2j+VX3G4fJmKhuEcBR3U6y4hXZItqG5vEPSD3YVK3GL1E8RNJSdrLmcfWaFhKUIYakf/+SQsYfGm2wQg5iKIzTeZLF42UYh3szK7eoHjhoab7IG6kzWXu5c2hF2WGjC4OjFjIXRm1lh8ma2hTpn2zZQZ7IK6kxWQ69ssgbKTNZCmck6LDNhj2UmHLDMbcYRyky2FefZn7FqGig0YwWVZqyh1IyNONN2oi1Um7GDcjP2WG/WQX4H/x6G58mKKFyIfCxJ/9Ptxn44Tta1i7vly+FO8bVLI76R3ZQr7DaFtYZ2QdFGfC37KbfQ0BeNtS1aiEvnb77vKmsWE7vFxGXJcmP35VPRBU6+wQGuvfiOrBGnW0+5gsa7aLAsa6HsJy2ELdcDhTvsvoy1x/YB6wAezYuP8h6YzWxZhw6tpitNYWg/aXBmWWtsH7A22D5gbbF9wNphA87aY9uAdcC2AesIHdWVIQ2OKWmLjilzcExZg2PKGhxT1vKY2ikHx5Q1OKashTEt2pLGjkhFC4ekuXbYIalo7JRUNHZMKlo4J33S2DmpaPBlyhp4mZ6/WeEli+/S+TcJ/F0FL1h+k85X3P6YrvjfI/f97tSNT6fj1eauO+7/AU9KVSs=\"}"
  },
  {
    "path": "officialworlds/minigames/boxes [2].replay",
    "content": "1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;-1,0,udlr;1,0,udlr;-1,0,udlr;0,1,udlr;0,-1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;"
  },
  {
    "path": "officialworlds/minigames/boxes [3].bab",
    "content": "{\"width\":18,\"version\":5,\"extra\":false,\"author\":\"Slabdrill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":14,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"boxes [3]\",\"map\":\"eJyNmeFu0zAUhV9l4g8gVaOO4zgB9Vmm0gWoCMnUZTA07d3JfK9x0nnN92+avqOmPefY8fXtcNUNh313dbN7ehqPXbt792ffvds87rab4+3ObP5Of9zftYfjvts9PW9uj6eded5k0GJCDUPthBYMLSfUMtRNaMnQakIdQ/2EVgytJ9QztJnQmqFmO7ENZF/8MhcMGx/Hm6/7r0kQXLtgWxAM3ewjXswzF9wLirbrxiR5MdGsu2gC7C5HLj6MwMxIYZmTwq5YuXwIZmZgC2amsMjMNvHEyz+fvp3aPmmIm+caaGcR4BU7F2yF1gVhPVoYhK3RyiBsg1ISWMvMFJaYOZzGH0OS5P10C8lDwi3AtfsiKIH3019J4JjxNsAVMl5Yj4wXtkbGC9sg4wNbbpHxwhq00gtboJAIa1HjdW0VSUlcbxPvgOn3+/6+fz/7kIoZXwbYI+OFrZHxwjbI+MA6ZqawzExhmZnCEjNffumkyHu5VBy64WdSEDeXCmilCzCzUlhmpbDMysBWW7TFC2uQ7cIyK4UlVsafWRTESqml8MTIOQ9trAK8YuO3bvie4Bq9xwvbIM8D61klhTXIG2EL4M2vYfidFPmNcqnoB5MEZKO8vzv2SZHfKf35N/ABZjulsB65IyxrpLCskYGtt2hXFZY1UtgCLcTCWpQQYUuQkLF9HJPCkfbKq5QIqpWE6PPUAWarqrCsjcKyNga22V72W7+csGyDFJatqsLSDVJfRUREurj4lHwV3fkjNQFmVRSWVVFYVkVhWRUbmQ2w3VFhVkaFWRsVZnVUmPQx7kkqIYWMG7BK1ioZ0tXvD4eZxq9kRcJ1HK+vr2eqmiXM6DinQRlTOkx/1lMWaYNyFumCTU+Utmx+ojQxWYcXqkCLbquLQRQRl3Uxi5I1k+MXkeFOGAUBu5RumF1Ch2kQsEtpgxaGSBfMLqUtm2EpXbIpltIOROHzx7miIm9o41zh8ftzVNDWFoLD1gptYWuVhq1VumAxUNqil7VIlyw0SjsWGqUrFhqlPQjNw1xQgwR8/jBXNDABVobYW5YApQ1LgNIFS4DScCVWGpZV6bWy/h8/RcFaV18J8lX1bwvyTX11mDKl4LCpQjvYVKVhU5WGTVXast1YadhUpR16mYs0bKrSa01NfqqgxolRQZNNTJWqfZw/UJgYXcRn7wQqMSuS80cK0yOydjjBLcuk0iXLpNKOZVLpimVSac8yqXTNMql0wzIptIcXZ0qv3bYkP1WQv2uxbwvyF2fubUH+1ux1YirB2b1ZpCuWGKXZdUukVy5c/t+FKs7uXJSu2VQw0iuTiLNHCQMl8H6iNDvDRpqdb+JpRUX5I875Zc2ZKH/EsQtRHHBGTX6Pta++jBccnnGUhmccoRt4xlEannGULljWlIYbrNJwg1UabrBKVyyYSnsWTKVr/OKsggaEciYotvn9dRnI6T/tYTwO/VyY32Xt8/OXUzs+nPqrmy9tf/sP6NL7lg==\"}"
  },
  {
    "path": "officialworlds/minigames/boxes [3].replay",
    "content": "0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;1,0,udlr;0,-1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,-1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;"
  },
  {
    "path": "officialworlds/minigames/cleste.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":false,\"author\":\"hillexed\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":18,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be climb exten\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"cleste\",\"map\":\"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\"}"
  },
  {
    "path": "officialworlds/minigames/cling shotte.bab",
    "content": "{\"width\":23,\"next_level_after_win\":\"\",\"extra\":true,\"compression\":\"zlib\",\"author\":\"szoob\",\"height\":17,\"version\":5,\"map\":\"eJyVmt1OIkEQRl/FeLWbEEPP/2h4FoMyErKsGBiDxvjuS3dVwQyJU2dvjBenhun6qqu/Lljtbra75+X25nHx9dVvtt3itv/oH5+WT7ezj8V8tlktwuzz9M/hrXveLLeLr+/ZarNfhO+Z4sfl9oxmJzQwNI9o+TMb3+K43PR3d3fnmCLGVNMxT13EQ8RL9OIJraZfPD74/veZriOdsyc3YJ2a7cS3YI3vkc6SNnO0RmEDUkfYqGQB2SjlxApHbJRwYnUjNupXQzYK2EA2ytdCNslHE5y0gxnOonKnNDM4gCr67Lr+EpE5daSPzxOcoyoStkBVJGyJqkjYiuVD4JrvKgloWDqKBLcoHYnN5ygdwobpdOgLC5uhghY2Z6kTuHBSN4JLlrYywRVKm7C1l7Z+f4GjeJPLG8JRPL83J7aYo/oUNrhJHrxFkblHxJBOAtIXgQIKDAWsEswEFBYKKDAUUGAmYGJLR8C309/Lk8uADh9hMyi30DmUW+iCyS1wiYzS8PEVsBB995EOizpF1Eh4YRvU8IRtUcNLbDVHDU9Yfy8O4IycFd2Fz7HLbBJfoOQJW6LkCVuh5iRszRIiMLGkr7vDcfP3EkNs6ct+s1qvYkybXDLzpsIybyos86bCMm8qrONND3/eB7BjTsew407HMLOnwkJ7KjC0pwluoD0V2LOnIxg605CufA2zpgo73tTyrHTpJO8Kr5z0XeFwSyrt7ckx7e1Go+VGyfahwmwjKkxa6/kM1hivvdonpGtMy5qrwk53PQsktNNfr+h6upFc0Q1yGgq3+IAKeumfg2683i2Py8+37SEF5hLIZjlGs3GO0Tlqy0YXqDEbXbLWbHjFmrPhNWvPhjeoQRvdshateBrogCZtOHRChv/fhtUgYojMT4ZCYuC+VZrZIqOZMTLa2bjjFWsM3L5Kt1ADwWXwA0pf8cCHnqVEZCz3Sucs90oXLPdKl37ux69eTSdenOl6Nwyp4f5SvIFiKU5689Ub5aQ7P+/+dtabKwmDvVlptzfLjdDwnN3ADS/QHdxoNuYzuvKLYnx2aVzNNqXSvs7jFbfwBq98Gh2BO7zhZIB77qEaQ41yLTh0ykq7Y1xdruIlrB/FK1Y/StesfpRumHNQup2umpftbj3ASzaFMJrOBI2nU0Hj4VzQcG8yOOi3GgHHg6ERnA0IjXZHhCO6YUWgdMuKQOg0W/KGF1YIGhLgsaK4Ny4cpF4j/JHh6AOItsNDRcOowK3gUGClocBKQ4GVhgILXTsCX9HUNCvumeYrnNhlu1Jk8g17zeyy0cwuG83sstGOXb6imVE2up2+lo3phrViowO6lBmdsd1teM4uZYYXrL4MZxP+UQgZ8Uu7yYJEsBG/0WzIbzQfYGhESyzy/a8UoV+tM3dsNJtcGE1+i2Im32J++i3K98O+69/3rzePD93r6h+4QpRz\",\"music\":\"bab be u them\",\"is_overworld\":false,\"level_number\":0,\"level_sprite\":\"\",\"name\":\"cling shotte\",\"palette\":\"variant\"}"
  },
  {
    "path": "officialworlds/minigames/cling shotte.replay",
    "content": "-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;1,-1,wasd;0,-1,wasd;1,1,wasd;0,0,space;0,0,undo;0,0,undo;0,1,wasd;1,0,wasd;0,-1,wasd;1,1,wasd;0,0,space;1,0,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;1,-1,wasd;0,0,space;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;1,-1,wasd;0,1,wasd;-1,0,wasd;-1,1,wasd;0,0,undo;0,0,undo;0,1,wasd;-1,0,wasd;1,1,wasd;-1,-1,wasd;0,0,space;1,1,wasd;0,1,wasd;0,0,space;1,0,wasd;0,0,space;0,-1,wasd;-1,0,wasd;0,0,space;0,1,wasd;-1,-1,wasd;0,1,wasd;-1,0,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;0,0,space;1,1,wasd;1,1,wasd;1,1,wasd;0,0,undo;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;1,1,wasd;0,1,wasd;-1,-1,wasd;0,0,space;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,-1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;0,1,wasd;1,1,wasd;1,-1,wasd;-1,-1,wasd;-1,1,wasd;-1,0,wasd;-1,1,wasd;-1,0,wasd;0,0,space;0,-1,wasd;1,0,wasd;0,0,space;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;0,0,space;1,1,wasd;1,0,wasd;1,0,wasd;"
  },
  {
    "path": "officialworlds/minigames/color maze 1.bab",
    "content": "{\"width\":11,\"version\":5,\"extra\":false,\"map\":\"eJydWu1uozoQfZVq/+y9UtTFNhjYKk9ydRXRhG3RsmFFqbpV1Xdf4hnAxtgzSaVKTXWOP4/PjMc5dXdtd6zau8P+42No2nr/ZfgzHB6rxy+7P/tk15z2Yvc+/vHyuz42Vbv/+Nydmn4vPncTvGlnqByhIgIdW26ezl0/E1Sc8Ni1S+PpiJU29ti1Xb//yHZyq6Pxd6Zma6oLf6uWXvQIVRu9SL8XZ3T5yEt5o7O7K0ZaxpyUtdDlSMt5ExLJiC03uhA7FZ2RuGy8SLjM/rRsqzBCiGzsU1+9LGijAnp/hAGnazmGN+hXPVjEjBBnY2H1dVrD4wLcfK2g2KCKONiZeRmQWOJvh9OJTNYiC3ciL5uub1heKeOSXC+TVATe2g552fOCuaQyW+s9MlsdkvjGms4SB2rOlDigC0LilmNJQyhZrmuwKlkrm1BrvVAFYcCwY4CVcRe9NN31w3O3MBTLdwGbBow3MInnql5WS2XxY+Sslr7Ccr2OcpZqAVussWFtObwyYNgbA5w1aZhpwtQkoAXPdpUBy4DtBlbt7duPvj6fvw5LCyqu6OkQAzhlmTVgiejuNuzFd3/sL9Wv+nfVnK2xE57urFQRsOmNqOkOrYzbtD3nLFnbdKThTNDWPM/Z3rKM8nR7RGrt0WGBuKNLWX4N2Czk15vpGZ4NoGrm2QB0TpyNKVNKDbrg5ySXxZ66AjLh9Dh/g9Uhp9/QlsMT/KzWRKLG4sq49p2V0OrqNBh4acCUNwbo8LKAx4ZsyeZqlroBmwc8eTNPsBekuEWxQC2ZijXoPGFkGBD5M4PnXesA65n/9nkGMHGncxr27nSxhnlBHrB6rcNYwzkrPwZsEciPI+4OROLKZo++SHj5LoAFyz8BK2/Jd4GqmGoEdMpQ41vVDPf39wspI0jH5/qnGZE2cE0o+BLWhrodnhdKzhI9YIu4jnFdAVvyk1ebV3o3MybPi+jhbXR4kl8L+NF2TwtR3VILAGrKFA6gKQ0YG0OHBYamGLCpuQETAphOFoAJBTgNl/Tl6LGtX2eCSBKe9yHai+Cbu4xgeX2lAJmKZYUITgNeSHfjhe3wyopEBzLLSEkCmV7UDggV4QVTqQgvGVKd7xHAEZwoPU2iAAoRqHFLEOxVYIkiaWOTqci9JFBIoG5pI2GyEWQQdzV3PDfUYpF5RTXW7fKaeuz6qohNlPGrmbOCpjS3ZeRbibk9UElE/TlUItwP/IGjgHhutEc4J9xjLQkZpM/DbEtAM0I95LaIZ9o8oimfX7desjIDACvP5uNXL7sjU51jhAhEExc1Z0WVd1GLNu1dz2JNZ7zaBKKJW5i7mPn1RQZkFvHz4s6g5J4WwLPrbginCm9rHZjiG6caIeA9xS+1hZO1S1/n7qmz6d4Ty3ZpHtHUu8rl0e/4Pv7YJE2Tvjtjylml5AntPauQ+fHE9Ipw9GsZUv2aHFmcmZihdD4S6Caq5CdHq04Vv6QxBfGJmnLPx0TIuI8liCdz+lEfrzaBqtc5GWUWKsqcm3ajo76uT1gWxd44mZ/zJqg5eR/UzOf6vNAcn5gDvQIOZRWLt6RAoB5fzVH8Z76kC82J9W7Wp6nKzcrvNKNI/163bbdsqSYq9GYW/1qK0YGX188H/D7EYfzfw+G/USz/34M6xg+Jxg8PfT289ue7w0N9Pv0FOHYGMQ==\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"color maze 1\",\"height\":13,\"author\":\"Slabdrill\"}"
  },
  {
    "path": "officialworlds/minigames/color maze 1.replay",
    "content": "1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;0,0,numpad;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,0,numpad;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,0,numpad;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,0,numpad;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;"
  },
  {
    "path": "officialworlds/minigames/color maze 2.bab",
    "content": "{\"width\":13,\"version\":5,\"extra\":false,\"author\":\"Slabdrill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":13,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"color maze 2\",\"map\":\"eJydWt1u2zwMfZWiN8MHBJ0l/39DnqVIE68x5sWD62Itir77bJOyTZuipO6i2MU5oiSTR0dULu1d055Pzd3j8eOjr5vqeN+/9Y9Pp6f7w9sxOtSXozq8D/95+VOd61Nz/Pg8XOruqD4PCP/ZtM8zVrPYw7lt2u54/9RUr/cz8e+pmXnxwFNW3nP3elt40/yqmZqwVIJ+ncHpANZ28FPbLHPKWCy/luHvzMsHXmzldVV14XnFwEs945GJlgMx8wy43nQVDcTcSnyvmqa1MMecKD2/F5mrGjNE2VPEvj1qyhF7kvy91v1utmpiJmJWbtY5Jkz9fGu7hZ/KFfC76lfBMjkfycRyMcU2E6NhCjbLaJFAEQO+lPHraekxL5IvTUsrNon5MFrMW5rwNErMJu42bQA7fvwi5OOvt02nLNsyrYytCn5aeUgd0DAFXwh8nPG7K3uO7aW1r976ka4nXY7k1De1DWD+pLCEqldE7VUzgI1D5HVYz/VUrdaTeJUBYFNRkKne0I3IAjKbbEQuKvKGuFtcIScrWVwpKjiv/RMziWQd5g8qoKqQZMSg8cSUjcX+q4NBAG7sJ98AdtgJMineTdi/1svpd/XnVN/6ZYhMzkc6N95ZbDMJsAWr4ZaBS1m11wOnEZvb/MCpkoV6vZupFoWalhvZzdu3ZUPT2E+wAZx4CTZgU16wLSNnDo0mK8/lsthn90tfNf11HCCZBijkDB8pbddf24VROhiw8gmbRaI530iFKXigqnAPDUTttjcEz58K2+0GbCLqOuuXgZiK6rw/Sgk5kxOT7lsu1gKrk0AsRFkXNryUVV36ynkk5+/WY0HYdKLKloH3gMB0eAYSJRbTkEoLjeLnFwCbiraZd3TAzLxcM2Bz0VvQ1KBRCi8xBmwZIMYkShF5aSpglWyChcUU2k9gARyH+I7ztfo1Xf6yictfHrdxAJuGtDHqFZG3AbIbA2YuitmGuVlaIR/lJE4Z4EyNOkzMMhJTie0JAVFuMtB6wksbEC09Bj6Ko61gET7gJkHCh2Hzicr3FBx3bKD6dRgA+6UOA1AdHQYSphSlj5fxHHpQkZf2IViJ4sfLElK1l/ohmHeRXnH8PCWCfU0lwj1dJaLDbCXMqwBqIQrZ/maD5YfsUk5QU0OAnrqQvrPEBSJTiarJaxJStZiwrFIjMxYFl299IjURs5dXC6TK1nOjhTQqbzx99jcP6PLSTbK0qMTUK4HquJmYigC05u8m1IV//9lVtxVHeekngnVAdoLnr/uHh4fVCLz5tC3IYTjHEJAoCyX1EmoEZyGJP1b2WEULPfdrKyCaf9KwzEx+xuC9IFBj/iGDjzN1KUO1HanaS9sRHMvmVgyU+Ak9otOw+9dyd1b4spK5+wemc4+M3K8vbOB8g0K8zxoqf5jYE3b2uDhA4pCIHZ7vWdCioMtLeJGwrCiRO9j7Rpd5YTV8h0RsJxdyLeXC8YphW1zQfWQMN79t4AAOzaCZm8jXEvacQWrqd1E1aCWfaJuvhlx8PuSb10y/2hA8O9YG7vEETsfn76m26fMP4WT4uattOPy9w7oCn9dMsgLHcyZdQSY/aNp+XmDYyu/MM3DtSODd+Lyj3BUYomUTaXk1RS7vIm27JhtHORJvHW1rKr7SBzJkS+fSEsvVrNwnQ31+H/5NQ2gYwvGLGBMQ0XyjUlDESUtWA/A/jtnrPcIT0bEyyY7v3Uh3/ETG5Aii5cbVPtj//63ZrgetkdCuCY5Xrc3k+Gct+8l3a5/X0QpHa2Kz8YXcnGAvWobKNyfEtr2hxgGXtO2ME7nu2N6c4aYhB+LsKZCc8UX4+fmjq/rX7nb3+KO6Xf4B4U3OWg==\"}"
  },
  {
    "path": "officialworlds/minigames/color maze 2.replay",
    "content": "-1,0,udlr;-1,0,udlr;-1,0,udlr;0,0,space;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;0,0,space;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,0,space;0,-1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,0,udlr;0,0,space;0,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;"
  },
  {
    "path": "officialworlds/minigames/color maze 3.bab",
    "content": "{\"width\":15,\"version\":5,\"extra\":false,\"palette\":\"default\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"author\":\"Slabdrill\",\"parent_level\":\"\",\"name\":\"color maze 3\",\"map\":\"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\"}"
  },
  {
    "path": "officialworlds/minigames/color maze 3.replay",
    "content": "0,-1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,0,space;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,1,udlr;0,0,space;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,0,space;0,0,space;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,0,space;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,0,space;0,1,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;"
  },
  {
    "path": "officialworlds/minigames/color maze 4.bab",
    "content": "{\"width\":17,\"version\":5,\"extra\":false,\"author\":\"Slabdrill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":17,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"color maze 4\",\"map\":\"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\"}"
  },
  {
    "path": "officialworlds/minigames/color maze 4.replay",
    "content": "1,0,udlr;0,-1,udlr;0,0,numpad;0,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,0,numpad;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;0,0,numpad;0,-1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;0,0,numpad;0,0,numpad;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,0,numpad;0,1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,0,numpad;1,0,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;0,0,numpad;-1,0,udlr;-1,0,udlr;1,0,udlr;0,0,numpad;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,0,numpad;1,0,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;0,0,numpad;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;"
  },
  {
    "path": "officialworlds/minigames/dodgeball.bab",
    "content": "{\"width\":21,\"next_level_after_win\":\"\",\"extra\":false,\"compression\":\"zlib\",\"author\":\"Patashu\",\"height\":15,\"version\":5,\"map\":\"eJyNl91u4jAQhV8F9WK1K+Uijn/TKs+CKKQVIiJVAG0rxLs3nglJwON47r8ZzsxxfMyuXTXtdtOs1tX1et43dfVy/j6vT4dL85J9V3m231Ui+6mK7PRVb/ebprrest2+q+wtm/GHuj6MfNHz8pkXI/9/M7WWParireeo6lEhlmW8b949LzyvPR9XAXg90iY944y2rAkBdcsT+sYfTfs58mXPm3jr+YQi71kb7/3QV3gXHU+zKDi7hnUUwMv0rvv+h6lApdf9WKBZG0fWsA4VspYx6cXjEnCXHvTPRJfpKSe6yFkjIitYIyLLMfN86Y7btjt2vkxBmUyL/2ibdvgprFGsEZDVyyPcbyCEvaX6GVYR2FInXdEqHGM5Q4GGgpJ5AoCWObXEKC1Y60O2YJ0AZCX7czbAq/SMr38nXKeHnOOGNSWylndIEHbU1RkeEoS9j+UzbEgVKmfs79h+tr7CQoVY3uDQHVmek8imnBxgB7DiLQ9hTWVJsA9kDU9FCTDTQoThc8yTMhAueTIEPB90zlrzAAvqvgnDEuFiObIfYUntOQYr6pDGYE3uLkYzPRT4lkqY+Ain7tQ7DQmsy+XW95cl0ian7vZIayOYQiAnTeI7HIUgLXmmI6wo04NEGmDNiq8B5toIaWeYNiLseKIRLnmiAbap+/ROQ3pZ8q0TbhrhgicaYbksenQcafJj1JHWmhwxVA0BY8kXqwiFIG15Rw9hposIM10E2NEuhjoguVzCxXFEpAtKiIy0pkMxFALh5chUjMFcGyGQXMJGeAj9m/F22ZvZn07kHc8ehOl0DP8yQRyUZDrGYPpeFbfbW1f7fxKr9Vt93P0C+3hkzQ==\",\"music\":\"bab be go\",\"is_overworld\":false,\"level_number\":0,\"level_sprite\":\"\",\"name\":\"dodgeball\",\"palette\":\"default\"}"
  },
  {
    "path": "officialworlds/minigames/dodgeball.replay",
    "content": "1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;0,0,undo;-1,0,udlr;-1,0,udlr;1,0,udlr;0,1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,0,undo;0,0,undo;0,-1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;0,0,undo;0,0,undo;1,0,udlr;0,1,udlr;0,0,space;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,1,udlr;1,0,udlr;-1,-1,udlr;0,0,undo;0,0,space;0,0,undo;-1,0,udlr;0,-1,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,0,udlr;1,1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;0,0,undo;0,0,undo;0,0,undo;0,1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,0,undo;-1,0,udlr;0,0,undo;-1,-1,udlr;-1,0,udlr;"
  },
  {
    "path": "officialworlds/minigames/dodgemaster.bab",
    "content": "{\"width\":21,\"next_level_after_win\":\"\",\"extra\":false,\"compression\":\"zlib\",\"author\":\"Patashu\",\"height\":18,\"version\":5,\"map\":\"eJyVmNFuozAQRX+l6kO1K0UVNhjsVvmWiiZsNyoNFaHbRlX/fcFjQyhjc/vGw7noesZjj2ffXNXNrqyvHrafn92hrrbX3Uf38Fg+Xm8+tsnmsN+Kzbn/OL1Wu0NZbz+/NvtDuxVfG4e/l/WIyh4VYbQuy38jm/asBNmsZ1OQVT2bgWzeswpki57NQVb3bAGypmc1yIqkhw0KD4kTkczNaZs7NHliyJ6IpO9yV4ghfWKRPz3Cw457rqrnSTEkUUSyOCheyvPFJh1SKRa51BHFkFCxyOhc8VgNvLC8huqAWBMvhOHXf+rmaRTIJL67BsHd7wkX8U1z6UVKIPo3E54Coe+/JkEGRP6pLU+TQgGR97kihc3uoqLmircBlxYvoFQRq+OpcichsSZe15f/TRMg7C9V9TIpBBD5XVuV3SSRQOy/SVIg+LumrveTJFuJvlt3amEVj+eMzdGtSXgBBMifI6TQyKngkkAKg4THR9RKsgTYnG7ZmRVgNyqxK1fqjE2Rc7bsyuN50mRsTGVUo9gFS+bkVJbPofUSW0DrJVYD6730YX6wf6xCIak9Nk/NoMitAsstsVhuiUVy2wueJwWfWcFEh3g+q4sqLyycQ9aJLdAqJ1wjd7+rWVIYoMpppZbPE6DGu7f2uGvaYzvJBLAZfJekrUJCm4HYFIoosUhDdfdr4pF2igJkLI8VLLFYwRKLFOzNhCP1emxO7we7FwS16QnWphEsIPMORhqp09/z7e3thQhpp6j7sp1OkWH2CcbuWgcjl+1r23TVbmdV9u4vsFbKwSu91Bw2K348bS9ZnWC/JliAv7bXmcaOYQevncOetveHzrBfE6zAX9vjWq+cwBevF+ILqHd18FqhetoejHrltTODzVpf7Gl7cpmVAh0fUURLbI0Eo5m0Z5FZyaR/ERGsuNlGPsLja4jonKOzkR6bcYcXHK4CTjQ3OVEhJyZOf3MikiTOz6yIRHCTmVBURCI5PBgWkaQcHzSTcaOfsBnF4REz7GQpaIadLYXNaA6PmDEcHzJjZ0yLIgqasVOmBR42I9gaDZpJuUFH2EzG4REziuODZnJu+hY2U3B4xIzm+KAZw073gm7shGnJh+1IfnwY8iP5+WHYT8ryET8ZKwj6UeyEMuwnZ/mIn4IVTH5m94eQ4JUq3TR25U717wyH22kTME33uMAG6h5nj+IwnmJjdY9n2GTd4wobrns8x+brHmeLNoxrcMbueQNO2R1Ps6X1ObvHQ43v131bDS/aq4f76rj/D5Tiipg=\",\"music\":\"bab be go\",\"is_overworld\":false,\"level_number\":0,\"level_sprite\":\"\",\"name\":\"dodgemaster\",\"palette\":\"default\"}"
  },
  {
    "path": "officialworlds/minigames/forever and ever.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":16,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"gras be mov\",\"is_overworld\":false,\"palette\":\"abstract\",\"parent_level\":\"\",\"name\":\"forever and ever\",\"map\":\"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\"}"
  },
  {
    "path": "officialworlds/minigames/hedge be maze.bab",
    "content": "{\"width\":40,\"version\":5,\"extra\":false,\"map\":\"eJyVnd2O21ayhV8lmIs5OIAxI/6TZ+BnCdpu2W5EaQXq7jieIO9+WtxriZs/UX28MOCL9bUokbWrWFW79uP5p9P588Ppp58//vnn69Pp+PEfn8+n0+M/Pvzx8fDh6fFj8eHH+39efjt+fno4ffzzrw+PT5ePxV8fNsXlu7ig4updXFJx/S6uqLh5F9dU3L6LGyru3sUtFffv4o6Kh3dxT8XF4V09YPX1Hhb4vhTjXcQ/dnG9j8Wdn/v1j9efv5+/TkAdAIu/f72bBb5DxfV+FvgeFdc7WvAf/npPizu//PXLXo5Pz1eiGIkBGtCoLg/31dc//3A5P2dEcd/mrsTXy/n820SU9w3vSny+HB9eJ6K6b31X4tPbp9NxIur7JjgSmby5bypX+fO5mPQttJak7qC1JHUfWMvy2gfw/J+Oxy83ojoED9H8gqoCPHPzh6IabzF+6qoqkK8foup6g8vgV5o/RdX1JpfBg/f48OO/Pybkep/L6Mmb7kV1vdPlHeNfPkjV9WaXZJFO8oHKy9FpBda8UBfQISZ1Gdvk939/uRyfJ6SCfjGpAxNeqBvoRpO6hX40qTvoSJO6h2tDUg/U2Y3y5gCM/cvpx3EiCurtkryk3i7JK+rtknx0vfinbBrqHJO8DZYRO8ak7oIVZPHHe7B6LB74ZgiWj/lHtId98tFe8Z1txzUZ39m2oktNNcrrOHDwz5+AJgbSyprkLQztk7qLQ4wv58vj+TIhfYzcXFAiBrhAjeruAJeFpC7ok5/k2N8meQWe5fmX7WrgCR1lJKIJnrfFHe5a4Du9tCWi2/WIdtjX1qOcBs6juj/sCGoTUcDHJ6nLXeoKesOkrqE3TOoGPshJPdot/xnH16E7v+PpX/96+32S94Fz+3J8fnmZ5EPk3L4df7nc5MOBOrckxzab5Nhmk5zY7PwJGyKbXXxCQ/1JkrfUnyR5FBov5NhYm1EeGOu41px/vemLA3jRTYuT9MFr7vxyigN4x/VaJiJIR12JX445QONjyYOk1OoLB3mpq/7129PnzxlCs1OS98HScDnnfzx6zf32dvn88Jx9gzFJdc/aP71fTyYvqLVLX1Jzl76ib93S13R9kB693qaIRwR/uxXQBSvExkMxZqzQMiE9fsVtU7KQvuNKTl9yJQ/c7vQLSU9fcSWnnlfyIE21lNMsleQ0TSV5ZL5L/RC49u8Pp0ldRS+63x9eL5m8CG397Y9MXlJbl76iti49tl3pI9td6rnlCuhoKCB9T2MB6Qdq5Uk/ZqbuWXnmsLtE0EKQ5CX179JXcRr75fV4ev2WMTVcSyRv9snbeOlRKlFAB9ceybH9Sh/Z70KfUlV3bGb1BcZUFX3HFIKTGtJX+KVUQA3eSpcPxpi3Qj5M+pbq+6TvoC1IHqQ2lnKa10jyMWt15wdS6U3i4r74dHx9PV5+/pQRJXSRklfQRUpeQxcpeUNtRvo28nmzHyd6+c3eAUT01Calx9nmpO9CL5xffxelmifjElDS3LT0FU1OS18Hbn5++U2gnmcNBeFyr/QdzYBL39PIQ/qBRh5Jn/JW5MVW+oJGKtKXNPCQvqKBh/Q1dQDSR0vzmPo8n0YfMySkhaut5MHiPBmB9P2eyEPMAFf0JB+C5ORSTjOTkpcw2Sh5BZdcyWu65EofZbHyIEIIzmRJT6q8+S1OySyySEgfvQOPodPxUb5ghMpDFFJPpeTUK3WgEbX1tLvK+qBrY6Wv4XNkfYMCD6uDkq8ij4ccofks62nDlfW050r6lNDaccdSSosYvgHcemUgar5aATV14QYir7wCWuphDeAWLANRE9YKwE5ZQIm9sgHslg2U1M8aiN6cVkANFrEsaVuoOSyoC08fI33gna+f8vT1OcVsZrrY5b7/ywn6CmV94KCzviF1uB3uL5bzKMAQddTW0yKi9TjeNhAF3CsAd3gYiDJfK4DkrG/tcWKinPX69g3UwwtICbCwU+zrOWcK7OEFlBgoE1BR45OeZsCsp53R1gdFKLt4qQN/nScXjPTUxUs/UBef9A3t+rC+gDl460scEggYTRp5FgE1S2FY3oAcxrfj44yJsiSra+pwmCIg6hNYfAnSUiv7T0QbJUqWV9RG1cb5FbVRwWK2XIjBvXkGarwYC2hwXCOgxWGKAFy3MIDLjQb4yp2AbkfpoqgSgt+0pAfFi6nhWgwoYEwt1GLw8i19UMGY91yLaePAxvkWI7SQYX1/X59ZqwC8iid9H6zieVe3iIKu+9KXdN2XnkdmAnhkJoDbtoA2eGfJstdGuHUL6ANgDJMfnl9yZsBvOglI2bLgebrtsRFT8IhRRInXHQEViBizVwRR0VvY6mNw7aqoE0DTo9aD3typj9pQYOKrD6E1rKSvDkERa6UvcNwloMRxl4AKB0UCahwUCWhwzCKgxYuOgA4vOgJ6nLsRMOCQJQEF3/skoMDroACeWRHAMysCSGZl8vVNgnBeRfpdeRUxO/IqInBeRXqQV1leVQlSK8tfq8SZFelxZkX6iq430tM6tfW4UG2gxYYkoMOGJKDHOU0BQ/CykDU0CqmiHTSz+EBMtI1mliASg9tODPC+ExP7Gk9Mce8tALeeFG0CaO+J9UF5c6UfYmud3jESMybTkPVJH1i3372lDjpQZmklIdi8pcfmLX1k3rdtEgaiFMtto4SBLgoOvFXCQI99vQDuuhPQRK57tKGH/D40kfOe3+mGb1sWUOE1TQDekmEAb8owgIvZBqJdVKPF3aAuQT1dBaQn+zOOGZASajDfJYS2dluP9mjoARFC27ut52MIBATbmGcN9mboZmbrcVlbelzWlh6XtZO+42VtAXijlYESxyoCuF0LINsjpyBTENkhOUWzgqJtkqtLI/Z9S2eI4WMJ+gTgKSNJ3wfmvdJj25Ye79swEFi2HYXUwb4NhQSzDwi6VVbfAI8YkR4PGZEe7r6yPOr+zp1vQtL2SVYEF1EEKYzFB0Tto+OT/fT67XiZfUrUs+J9Ydbz1KkAXtQW0JLIZvYdOhjYSN7jwEbAgBfAEagPeHaBgShjugKiYvboG5/SnRsSgsvZ0oMhBroNAhq6jElPpxhY391/GVrpQSXEhQoROFGa9AVOlEpf0OBB+pIue9JXOHgQwIucAhocPAiICiErICqD5HkzIaQQkmXRRfFSSAJSH1oQoXipEbKjEiKCV0IERKNJ5lGyIFwIKdPAP9yIZn0LQxTrqW1bT0sg1g+BZXgHpfThjktvobQe75c2gDdMG4h2TF/v81sORNsu9ahajkucBrBlG8AFTgN436UBvPFSANp5OUFFgmgDg/V7GhjM7GlgMEMbGKzf08BgJmhgWH1GYNdZmGICW7b0gc+eVlgBY+YMLX3SB047CyNMULdtPd0EYj3eBWKAjw4TEMXgKyCaH5Z5bSP7vLapyGtnTlhIS/z2p+Pz/+RXl/JnuOJgCveYGsCDxUrN6gui8pWe7rO2HnQoZTdFEO1Rsr6/n9hb6Yf7cbbvtwYUBlG58hGnHAl24i4vaMyh7bhrHbZw6bmFCxgtHDljAbjN1ABuMzUQtZmugHAg1QLo8UgqA2OUtuO+9TxKE4Dn2hiIRreuADwdwwDeJGAg2iSwAnCbqQHcZipg2BenVQnCcZr0eEqGARCk3caPCsExmvQgRpviQDFgVsZt+KeQoAqy/upBGWThHQXRWkjSN2MajS1qAqJaSJaXNRI1Lyy/enOIWg9XV0U6lN5yAPctlHUCaNeh9UHX4Urfx0HB9KYghubSpC+CtgX7eKnZ6IxzjtDZGdbT4RnW07YF6xtYo7AeD4800AXms/hJo/EZeQnYDB6DI2DMobEoQkA0RmP+JUpSBZE5i8Cbdg3gTbsGok27i68QDdG4foX/+9+cwJ2lBvAcDQO4AiIg9Z7teDCqaNzRCsCdpQZwZ6mBXZ2lZZMgnCiVHnSW6nkVANpKvaXMCE6pSM9TKgkY02jol5W+uK+fpazN4OVberx8S487xg3gvfgG8F58A9FefDdiWo+34hvAW/EFNNFW/DzAEsJLICZwCcTArhKIIV4CaROALVt6XAKRHqRK9TsJCMzabkXqIIeiiOklQ6JhZstv0NLypvV0n5f1uLxpoMYvEAIavAgIwLtADHBfLYAbtQDuqxPQcV8tgPtqAdxXC+C+WkDUIL4C0Oirm3PvEoTfs6TH068MgPFXvz+9PL3eErDi6Ags6aMB/St90COe10BE0D0g1gdD+mdJCyFB39nq1+3pxGDr2zjJccvvCOnoS6D0PV0CpR/w8pGAIRo8ugLIAVfZpBpjO/IoIngeRQDPowjgeZQ+Adi+pcd5FOmhx5aaeezXCWnxzk3rsceWHlc2pa/o4y09r3sIiCZszH7S9hBVPbJdVEaiOaSrS+pxDCEgGrAx/w4FOfVKliaCn3olIDr3anFF0WyN+YQ+U7iT1ECD358E4G18BqJG0hWAt/EZiLbxLYGSH4MlgB+EJYAfhSWAvG5NodOQIFy3lh6fiGUg6CZNFaJfj7+dXnIKr+DS0y261oNUitsiElHR7XvWB7mUlR6XrqXHM5IMRDOSVgBPpAjgiRQBeHuuAdwiboC/dCWgJk0pK2hHLkUEzqVU6fxlPPTMelrQtB6cvDP1lxgKKpqrD6FnVFofnTK7AvDocAHhUZUrIDrDYwXgUzwMVNSKDNSBFWnOk+UN9VwG8GZNA2Qz13RyX5EgulnTerxZUwDZrPn1/PD94YdckTm6q8v6YMfmSh9s6soa50zQQ7Wsp8fOWt/CtwPrO/p2YIDbtQBu1wnocAuSAdyCZABv1zSAt2saiKbGL974je040lIE3q1pgBj41GZiCu/XrNLhrni/pvQ4e2Y9yJ7d+k/N0PyZ9fSQS+tr6iKlpwddWo9tW/qoWWEF4NdsA7i9UEBKne34jcLU2QoosakKiM69XAF4xIIBPGLBAPfaAvZ5bZ0ujL229Nxr60Bi4LUfnx6+/vL0S05hny099tnSE5/9dpkh2GlLT5Pi1mPDlp4btgBu2AK4Yes4ae60BXDDFkCy4bcTwMWQqUi3AQiGcN3LAKl7KSNhBE9FqtJZ0QWdimQ9TapYP1Bfl/Ql3fFjfYEfWQH4pAgDeGKpAZwsNYCTpQZwstQATqoYwEkVAzipIoB3nRnAlWwDOFlqAFe5DOzqOquaBNHeFOtx15kB0HX28vR4tHsUhQ1bejDQcPnV8bgz60EwPq2yYuihTtaDYra6pEzQs2+tD7z25rcIytmrzwhq2bmnENHTlwTpBxpLJH2DNwQYiGaozPywGDz3zEC1F6jxMiUgSqWND9Tbp1NusmE6besZafDB9Aail+31U9LgQ62rsVena+mp1tbjqFx6fG6EATyO2ABuLjWAxxEbwI1oBnAjmgE8jtgAnmkooCMzDW875Q3hkcQG+Eu3gAoHCQLwMYwGGmx1AqKQfFzX0syqqksIDsqlD964x1fPdEi5CdqEJj1Po0l/vdPR1mSN8TCCs2jS05GG1gen9I3rsiaFGKGjz6ynAw2tD2pf6ZJO+Y3rsduWnu7jk35MpAVmfZugagbPlDcQLeJjt54HuxqKFvJx3LHHxxqq8dosoAnW5mWCXRjZCPT97TVH8Ol9BqLu4r+5NLxxIAF9moi2ByiCVXrzwvqUYOOLSn+IFvd5aCWoDpKkY7bw4cd/f+QQX+QFkEVeb2l9IjbX+HbjE6QHa/z8AzaX+Pbvge1dnfeAzY2d9wDakmh90JK4/oCoJ3FNRE2Jq2tqwWvK/COiidRrAo+kNjAE8d7qI8qo13hN8OBNQBS8XT/i1/P595yJiibry4rse3VZO2qhIngtVMC+ssmQIFw2kR5XQpO+Ir0Oi2uq8NuZ9LhmIn1w0vLmNeGiifT06Ebrg6MbN6+JTqa2np7eaH1w7tfWNdX0BEfr6clf1gc7wjavCe8KM4CbzA1Ew3U2LwsP2DGAG80NRIWyzcuKms2Xn7Kjc01A1LmWb5sxw5vXBODjHA3UOHshIJqZNttUaogXUQTwIoqAqIiybi8TyEP2BLRor+8tMhaEj942wAN2ATwbI4AE61kTkSjeByGA90EIiFKt29fV47hBQJRt3Rqz13fBjv7ZlAEheIaa9MGG/tdsNOQhEaCskn0TQWCX4HRpYkB15Z+5PhhPf8tbesagsGBK/XwfhZhoUn3WAi5iCLyXsniS92RQvfd6CikAclspxAQltfm9FBMcJJQXc0QEXW63Gyl50OSWcme/ZgDeiSB9B96pNNslAVHSfbrdyar66K1tetZH/YDPG6mSnp/1mPS4tpJ+oSGK5pa2JKzeYUpComOjsoZoESQhl9+MIaqxzJd43RH8oq6r4jOYrvrhEBn4/I4PB2Tdk2kP4eme2QoigqRhswHuCQK5d5+wmwCaeU97ZwaUf8vunqh9PctpGslwCDol5lChj9rMxlUbXyh9SBEUXDbW3KEgedhbqlNMVEEfs+qaXSOE5Gj+menJEUOrZWIooqhuvU4MBamj589/QQK72fNf4I516XEFPenTJlK8pAzhsQVLPZ7vIT2O4aXHDRPSN8FDu9S34IFdrj9lNCY120suIpqTuviYtP6Wm92O1Qy6ncyWkGpzDMDGwmD9Zug+/4jbsfTpu1Sb8Vv1d19F0GYAN4cUX5nYDOCq9bJg/WYEV/3tsmBss6m52l4WzGzvRqo21gUT29uRqq2Fwci2c6/++us/l+Pr2+X5p5//c3x+/H9Wiyd9\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"windo be blis\",\"is_overworld\":false,\"palette\":\"swamp\",\"name\":\"hedge be maze\",\"height\":28,\"author\":\"Butcherberries\"}"
  },
  {
    "path": "officialworlds/minigames/hok shotte.bab",
    "content": "{\"width\":22,\"next_level_after_win\":\"\",\"extra\":false,\"compression\":\"zlib\",\"author\":\"szoob\",\"height\":14,\"version\":5,\"map\":\"eJyN2d1O4zAQBeBXQVysdqUKxUmcxKA+C2ohy1aUdlXaBYT67tv4jEMcnMy54O5zaHw8/svj/mq7f1htr+6Xn5/HzbZdXh/fj/dvq83x5ubmevG+zBabx6VZfFz+Xv+2D5vVdvl5XjxuDktzXgyarFfrnucXns/zj7Y99r64+IJ/fHnhJcVNx+2FZ9P8bbXtaTX/nkNaz7/jkDbzrzekbv7VhtRkF2tJ2wVYkbZLryZtl1xD2i42R9ouM0OGZnxqZGymy80og3Pddj73vqFGD6ybHz4yKL3NM2pQwBoqadicShq2oJKGLamkYS2VNGzFJQ1cc0kDN0TSp44XnjsqaG+LbD7o1+fTACvpxViJL8ZKfjFWAowxlyBspfSz4NLjmioRWG7ehHVUiXhbZlSJwBqqRGBzqkRgC6qDYUtu1ANbYtRLA+sbVNS4h1XSi2xDLZCwjkraW5tRSyRssvRs2nITJyw3ccJyEycsE97z5rD+auGLT9s7+eWs8r6m0oZtuFkOWCnACFdKBcZYKcEYczUIWxC9/bQ/fjUoic7e7Z/2XYvat+D2nrDK5vOlbV++MLf9hG2ouRHWUVXgbZ1RVQBrqFxgcyaX027XfjUplGTk+Y3HJTWLwVqqn2ErahaDralMYBsqE1hHZeJtk1GZwBpqvYLNuS0dcMEtbsAlt9UAtskxYaNhFCYP51twSyGsshT+OR0eVhih8NxyCMsth9465RQYvaBTqjAsLcD5fOTxkwsl8/jR5I4GmMnxhz/g+dsBx6UomNvRCCYP8sDkgghtMqUYx1ypxzHXSnLsyaoMPL0wxhGF9cvI7QV5LSOavJkRXXNBiVbWx75vhDsyKbl5ycikhBs2KfG5ktR6v428tumJ+8YwyWJ/aXAHYshcRZO5iiZzFc3mKpzNFTxncxVO5ypeyzV+1zy9AYpzuv3pWxRoUXI5ibbcWSDwirvHFK1shsLaEXiTCspO/hY3H9To6bjb+dYxk4/31ztMUMJzJajAS/CCqw/RJXcpLdpy1SSajFQ0t78NuuGunEUrhRrrUqnTkdbKdMTZKhXOTr7CmfNmv6xatCGnX9HK9NuPdeFKquPf0sx3/Zg7tvLg/U0Q0/nCDXGs7FdLaZOu1tT1iqnQouD6X7RyFO3fWLgl+194lep/O8lrdokS35D9L9wx/T/sS39NpPX+5Z88+zY12hiu/0Xn9CkutFC+VfZ9JLwkExOu3LuPefrjSaJixJPfTwJnvqDc/hq2cNw9jPEndFOT31ECV76k9L0jPHmATQx/4doRdvxryENs4NrdbuAOnJ2ZhbMzs3B2ZhZOz8zwDTszC9dm5vBZD6fNJlm033ZQQRepPdGkLlPlPaltak80qatURpO6Tt36TerkDmpSJ3dQU9old1CTOr2DmuTpHdQkT++g4nPOYNbOcYx1yXU2dYoNDZL3vnGDf5vXzfH3od0N2yXvgO35fHdoj6fD7ur+rt09/gd0U5y6\",\"music\":\"bab be u them\",\"is_overworld\":false,\"level_number\":0,\"level_sprite\":\"\",\"name\":\"hok shotte\",\"palette\":\"default\"}"
  },
  {
    "path": "officialworlds/minigames/hok shotte.replay",
    "content": "1,-1,wasd;-1,-1,wasd;0,1,wasd;0,0,space;1,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,0,space;1,1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;-1,1,wasd;0,0,space;0,0,space;1,1,wasd;1,0,wasd;"
  },
  {
    "path": "officialworlds/minigames/icy puzl 1.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":false,\"author\":\"Ondrashek06 (ondra)\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"icy puzl 1\",\"map\":\"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\"}"
  },
  {
    "path": "officialworlds/minigames/insane.bab",
    "content": "{\"width\":10,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":10,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"futr be neet\",\"is_overworld\":false,\"palette\":\"chocolate\",\"parent_level\":\"\",\"name\":\"insane\",\"map\":\"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\"}"
  },
  {
    "path": "officialworlds/minigames/intermediate.bab",
    "content": "{\"width\":10,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":10,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"futr be neet\",\"is_overworld\":false,\"palette\":\"chocolate\",\"parent_level\":\"\",\"name\":\"intermediate\",\"map\":\"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\"}"
  },
  {
    "path": "officialworlds/minigames/is this sokoban [1].bab",
    "content": "{\"width\":7,\"version\":5,\"extra\":false,\"author\":\"Slabdrill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":9,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"is this sokoban [1]\",\"map\":\"eJyNlutOwyAYhm9l8Y+aNFqg9ODSK1lM062ojVgW2sUtS+9dhA3q5PRvIc/D4eXjWzu2omzX0lVTn89TT0l990bZ+11yrNOk72qQnMSPcU92fUvr85x0PReDO0YZr88wgfOcXLxx33+etAiFCP6JGt62W40igULnGiBBrjUyIaK4NbBAM9caQ0+19Of0eay1ZbzjWiuEht37mo5Ts9xbKfDcj3NCOs1Xgi8C01NyMHeYCqF0CzpUIGngv7kbGgbu4BqMolFEMsTgWTiZS5CKxxHJLPncH4zePJR0xLW+s/a7Pe3paKyI22V8+mDGqCJOTTQO04hDL3AQWQxI0oFnfEOjyGJQdBbO82Z+HE7mYOg8HMxh4mQ0RhFjMGaEMlBAqtgyyVa+VmprQVJDaayms1Je4Bkvt4agrwO7t+Zt3J6thfr2tUwUjWN7hsJzf43oybGkC2u6LroMZPqXrqzxOOgsjQxF0cD6z+SiYTjClweDo+i2m0s+84coH3I7jEbA/hx/hWulKSH3R/krfD+/cTIM95OxCn+kal9fZN/2w8Iq/dH+O30VW58Sx2k43JdHgwN7S5rXl8828d02r5sNfn1Sz67ZoMtPMZqbUWBGYWUdRql1DgTtNLLQnEwHPqyaNRm6H1Oxfao=\"}"
  },
  {
    "path": "officialworlds/minigames/is this sokoban [1].replay",
    "content": "-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,udlr;1,0,udlr;0,-1,udlr;0,1,udlr;1,0,udlr;0,1,wasd;-1,0,udlr;0,-1,udlr;-1,0,wasd;-1,0,wasd;0,-1,udlr;1,0,udlr;1,0,udlr;"
  },
  {
    "path": "officialworlds/minigames/is this sokoban [2].bab",
    "content": "{\"width\":12,\"version\":5,\"extra\":false,\"author\":\"Slabdrill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":10,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"is this sokoban [2]\",\"map\":\"eJyVl91unDAQhV9llZumEmqxDRiy4kmiCLGLk6JSvAJWyQrx7gUP4HTrn8kdsr6DPXNmBlPJQyPPZXMo8nEc6kbkDyfZVd1D8JGHQV3lJLjND/1FnOuyyccpqOouJ1NghOkMUzv82si3nWUzy/5jg7NsZJePJGCTZZNoFkbITeKZjW2btHVj2SKZZQk2aD7D3A4PH0PRCVHtfDrzmePl5WlByYJmruOPNKCTUUZC4/ldYYOO+EP5Zx/qCWV7O1U0Q5YS0JG7lu7o2F0UdzTWX6ARBq9ZAX4xOPXwQuOZO4lbPTPVYKExhy5nQYdxVmic+kO4apq5I1D00IleKyJk4USKjj2FA8kHdrGWfClBoOPIcgM6RZYb0Bmy3BTNQr9Vb7J8L2+Xptcq4ndMdsMvqRUIj0+NuGqBx+atUGMFm9vX5QPoYn/0/aX+fdOKBBEHVAjwHFl7iaJTVO0Bm3259pQuCpG1BzRB1h7QFFl7QDPsmAA8wk46wGNk5rmiE+TnAmhuzL2NTpEZBzozXlUsdBwi/QGaGD/xNhrrJtAIN58eNY5w8zpIqQUePz91Xqr4xJ111dtl22sBdyd+EWxTBwSeubwI3n++dqJtvw1aZb5m3Z3rj7iUdatVifmSZY0+QX+CAUeM56fvGvcM570yMkVH7m7ZJyzQnsvVThO4PPsad71BAmzuW8PM3IxedSlWd3+6DNn6gPPQ0/ufg+Hm0ewNhlOs7v50DDk9iLqvc6ztK27xfTquv4zzP+N0LJ7jlx9w0uKZrY/zKgn1cqaXqWU5Mb6ERUaaZUY64ebl1LjMifHdnBqWOzFcu/ZQHEVb/QVssxuc\"}"
  },
  {
    "path": "officialworlds/minigames/is this sokoban [2].replay",
    "content": "-1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;-1,0,udlr;-1,0,udlr;0,-1,wasd;1,0,udlr;1,0,udlr;0,1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;1,0,udlr;0,1,wasd;-1,0,udlr;0,-1,wasd;-1,0,udlr;1,0,wasd;0,0,undo;1,0,udlr;0,1,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;-1,0,udlr;0,1,wasd;0,1,wasd;0,-1,wasd;1,0,wasd;0,0,undo;0,-1,wasd;1,0,udlr;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,udlr;1,0,udlr;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;0,-1,wasd;0,1,wasd;-1,0,udlr;0,1,wasd;1,0,udlr;0,1,wasd;-1,0,udlr;1,0,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,1,wasd;0,1,wasd;0,-1,wasd;1,0,udlr;0,1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;-1,0,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,1,wasd;0,1,wasd;-1,0,udlr;1,0,wasd;0,0,undo;0,0,undo;1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;0,1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;-1,0,udlr;-1,0,udlr;0,-1,wasd;0,0,undo;0,0,undo;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,udlr;1,0,udlr;1,0,udlr;0,-1,wasd;-1,0,udlr;-1,0,udlr;0,-1,wasd;1,0,udlr;1,0,udlr;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,udlr;0,1,wasd;0,1,wasd;0,1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,1,wasd;0,1,wasd;-1,0,udlr;-1,0,udlr;1,0,wasd;0,0,undo;0,-1,udlr;0,0,undo;0,0,undo;0,-1,wasd;0,1,wasd;0,0,undo;0,0,undo;-1,0,udlr;0,-1,wasd;1,0,udlr;1,0,udlr;0,1,wasd;0,0,undo;0,0,undo;0,1,wasd;-1,0,udlr;0,1,wasd;0,1,wasd;1,0,udlr;1,0,udlr;0,0,undo;0,-1,wasd;0,0,undo;-1,0,udlr;0,-1,wasd;0,-1,wasd;1,0,udlr;0,1,wasd;0,0,undo;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;0,1,wasd;0,1,wasd;0,1,wasd;1,0,udlr;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;0,-1,wasd;0,-1,wasd;-1,0,udlr;0,1,wasd;0,1,wasd;0,-1,wasd;0,1,wasd;-1,0,udlr;0,1,wasd;0,1,wasd;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,wasd;0,-1,wasd;0,1,wasd;0,-1,wasd;0,1,wasd;1,0,udlr;-1,0,udlr;0,-1,wasd;0,0,undo;0,0,undo;0,0,undo;0,-1,udlr;0,0,undo;0,-1,wasd;1,0,udlr;1,0,udlr;0,1,wasd;-1,0,udlr;0,0,undo;0,-1,wasd;0,-1,wasd;1,0,udlr;-1,0,udlr;0,1,wasd;0,1,wasd;0,-1,wasd;1,0,udlr;1,0,udlr;0,1,wasd;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,0,undo;0,1,wasd;0,1,wasd;-1,0,udlr;0,0,undo;0,-1,udlr;0,0,undo;0,-1,wasd;-1,0,udlr;-1,0,udlr;0,1,wasd;1,0,wasd;0,0,undo;1,0,udlr;0,1,udlr;0,0,undo;-1,0,udlr;0,1,wasd;0,1,wasd;-1,0,wasd;0,0,undo;0,-1,udlr;0,0,undo;0,-1,wasd;0,0,undo;0,1,wasd;0,0,undo;0,1,wasd;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;1,0,udlr;0,1,wasd;0,-1,wasd;0,1,wasd;-1,0,wasd;0,0,undo;0,-1,wasd;1,0,udlr;0,1,wasd;0,0,undo;0,-1,wasd;0,-1,wasd;1,0,udlr;1,0,udlr;0,1,wasd;-1,0,udlr;0,0,undo;0,1,wasd;-1,0,udlr;-1,0,udlr;0,-1,wasd;0,-1,wasd;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;0,1,wasd;1,0,wasd;0,0,undo;1,0,udlr;1,0,udlr;0,1,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,udlr;1,0,udlr;1,0,udlr;0,-1,wasd;0,1,wasd;0,-1,wasd;-1,0,wasd;0,0,undo;-1,0,udlr;0,1,wasd;0,1,wasd;1,0,udlr;-1,0,wasd;0,0,undo;-1,0,udlr;0,-1,wasd;0,0,undo;0,0,undo;0,0,undo;0,1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,wasd;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,wasd;-1,0,udlr;0,-1,wasd;1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,wasd;0,-1,wasd;0,-1,wasd;-1,0,udlr;-1,0,udlr;0,1,wasd;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,wasd;"
  },
  {
    "path": "officialworlds/minigames/jailbreak.bab",
    "content": "{\"width\":13,\"version\":5,\"extra\":false,\"author\":\"Slabdrill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":11,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"jailbreak\",\"map\":\"eJyN18FuozAUBdBfibobiQXGYJup+JaIFNqJyoSKUk1RlH8fx5c6BDn47ro4L7XfxfjR9Luuf6m73b46n8dj11ZP4/e4P9SHp+S7SpNjU4lksn98frQvx7qrzpekOQ6VuCRL3k+eZ5aLCG+9llZn27ofxj+9L8htgdwueO36N+8L63N6OcrqYlv//uW1tlo91od+aAaPjcWaxaXFhsUivbY8FpHbpHCeSXTBI4n6xUBHEl3pSJwrHQlzpSNhrnQ0zOlm2Syh2TCdzpgwv648c5zI8tQ27217KyFO6KtdUz/cSthQodlQodlQoRV55qB1pJmeS8fNdjNXuiTPhdMyjbVwullBNhA6IxsILcmnETpnG5g7XpANhFbkUwXNvm2hDbvwwvGSXLjTeUp2HFqQHYfOIgv/ud2U05JcN3RONhy6iDQcMwKsYtutHdfksqEN2W5o9nXrdBF73XpuHI+8budTDMvem9DsKxY6Jw8DdMFusnRckelAa3Kb0IbcJnRJJu+0SsnkoQXbFIHRMCOmJhyJuUCycxM4ezhnXrCTE7iKdXJaYM1OTuCGfBhnXjLjqq9xU5FOQ82XoZEVXoR6f+/HoT591MNpXJRloQxkYCfgks0APGfHV/CCTQGcnYxmrtmpFDx2ny4+A4WbvXTkSr37tEOJSeOp/W37f4sKsR3Y8lCiIAtFdl/wOdbd+6JEhmLb+h95KLjQUwQevGcfc8V+fIBHc15kZq4pl/xvPzrJl+ehHb+G027/3J6a/3JhdZo=\"}"
  },
  {
    "path": "officialworlds/minigames/jailbreak.replay",
    "content": "0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,0,undo;0,0,undo;0,-1,udlr;-1,0,udlr;0,0,undo;0,0,undo;0,1,udlr;0,0,undo;0,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,-1,udlr;0,-1,udlr;0,0,undo;0,0,undo;0,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,0,udlr;0,0,undo;0,0,undo;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;"
  },
  {
    "path": "officialworlds/minigames/knight's tour.bab",
    "content": "{\"width\":8,\"version\":5,\"extra\":false,\"palette\":\"default\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":8,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"author\":\"jill\",\"parent_level\":\"\",\"name\":\"knight's tour\",\"map\":\"eJydl91uozAQhV8l4m4lLviHbMWzRCmgBpWFCJxuVlHeveCzBVqGwcNdpJwv49hnjsd5c6ia7FwdTunjocqqSC11V6dL03aWfU8du8xT1/7Xf+iuRVaeq/TxtPOyTd2n/V//Tevx2uG3u/qcZSPg94DLA1VZvI/6YENfVqM0JKV21lRNm1p/L6WyvtWZs1HPemZlYlL6VeZ6a68WySU955sub8Ydey7YUc91ejDcUdAdDBDtqTi4IRacwGsxsK5m/Q0noQ60Aaldr9Od626iSZ/EdKWI9RS5FQB5l5CbD5C3CVOR98l6RY/3yXpFj/cJU5H3yY+K/fndBtTT6JZNevV7Xb5dVKeK64TRjvm5OmhD1l3kfgDkzbIaQIBJwyxcCW0ijyCAR3kGadB35CEE0JWHEEBPHkIAfUkIAfQ1KEqVOchfPORSAdK3zlZego2po1z4BdodmQJwR6ZoMNiRKQB3ZApAUaYADDRIJ4oBSI8m7FIBhvL2BRhJ2rf3y+9fExtTR7nwC7SJvNsBHuXdrsHQkXc7QFfe7aEG6cnVAKQn2PXLq/+iyic8MMp5aHmjMGvkjUJuJ0DSJSYVE3nDAzzKG16DkSNv+EiD9PvGAPSE9/ufpvmYaN/o4KElTcJ4DBcD2NDoYoBWFChzkPcJs4e8T5iKvE/WK8a8T8iKsQZ5nyyP++thDNrgZVy+1U07EVtP4/na+LtnaRBV3NVEk7mysAi0+2YUsGYzCrQ7ZhSAohlleAyqolKXkU/IUWVa5BjfUJPzLP2XEk+eiQB9eSYCDAwy8fnSFurW1ofTS1Hnn5IlEI8=\"}"
  },
  {
    "path": "officialworlds/minigames/knight's tour.replay",
    "content": "1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;0,-1,udlr;1,1,udlr;-1,0,udlr;1,-1,udlr;1,1,udlr;0,0,undo;1,0,udlr;0,1,udlr;-1,0,udlr;0,0,undo;-1,1,udlr;1,0,udlr;-1,-1,udlr;0,-1,udlr;1,1,udlr;1,0,udlr;1,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,1,udlr;0,1,udlr;1,-1,udlr;-1,0,udlr;1,1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;0,0,undo;1,1,udlr;0,1,udlr;1,1,udlr;-1,0,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;-1,-1,udlr;1,0,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;0,0,undo;0,-1,udlr;1,0,udlr;1,-1,udlr;-1,0,udlr;1,1,udlr;-1,1,udlr;0,1,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;0,1,udlr;1,1,udlr;1,-1,udlr;0,-1,udlr;-1,0,udlr;1,0,udlr;0,0,undo;0,0,undo;-1,1,udlr;1,-1,udlr;0,-1,udlr;-1,1,udlr;1,1,udlr;1,0,udlr;0,-1,udlr;-1,-1,udlr;-1,1,udlr;0,1,udlr;1,0,udlr;1,-1,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,0,udlr;1,-1,udlr;1,0,udlr;1,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;-1,-1,udlr;0,-1,udlr;"
  },
  {
    "path": "officialworlds/minigames/leapfrog.bab",
    "content": "{\"width\":6,\"version\":5,\"extra\":false,\"palette\":\"steve\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":6,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"author\":\"Slabdrill\",\"parent_level\":\"\",\"name\":\"leapfrog\",\"map\":\"eJyVl91uozAUhF8l6s1qpSiLf/hrxbNEJKENWgQVcTdZRXn3BR/AWNV6Tu5y8Y0z2GfMcOo2TXcsm82+uN9N3VTFy1e9ly/bWxFt61Mhtn+HH5fP6liXTXF/bE91X4jHdmKvpekXVoZZczN7U93MwqswP/gQC6sHVjB9xGF29HGoFjoJ056LdGAl00UWZkcXF1M15rwocqzoenPu3OFEYcWhPDh2PEkFdmXNyzDv7YuIkmfo8eA1cxuFDsOj7/qj7VaKOKwYvCgHj8Zjrpc0DH+bcJGFBXPUhIVzXtYsLCMYHreyFLz0ECx5gSBY8RJBsA7D/spxeKL8lcH4jQdz/fXeV62TpHBilYMz3sQSnOOJnZJmeRXBeXXbogRvXgmWeF7fm+7DCRRvdWlhzbu/CY7xy+Fa1ma32zlN8swfpLwZJzhjvCLoiIjPYSbUAmtwK3tOtICZkA4Gd7K/ssKZ8FfXvDucYHDJ+lYSnAgXT5KkvFAQDK5Z30yOQ3Ep28siiCN4iVsrysLMwkTwE42JBMzKRDCzMxHMLk2EM1sTwczaRDDoTf7KOS8QFk4iRgNyj5iAwuQZSSQvDgSD/jMlUzkB6EBzjAmOeWEgGNQfupbXAlCB5l3RFs54YSAY1B86nvaHWRQp7kDOS8rsQASDDmRPyNEK00txJwWIpu885sWH4IT3PiEYdCB/5QzH59x9dn9WEhBP7zEzUIM8M5lgdKzK4SCevhFmCSJY4wCtjYBwzkZiC4P+MxshOMXxcd+bJAHxnO8ggkEF8szkEbtfEc8MJ8EyPOJzoyUYfKCMTpq6+u0E4CPF7mNbHo9OAfI5R45g8KXiPynI5/p2JgHIqDdeOfhO8VYWEYinH/9Jw0jpNw0zqhPNzOpEM8L6+nPF/yetj7e+Ml99u9m/Ve3pHy9XZpw=\"}"
  },
  {
    "path": "officialworlds/minigames/leapfrog.replay",
    "content": "0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;1,0,udlr;0,1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;-1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;"
  },
  {
    "path": "officialworlds/minigames/minesweeper hub.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"sno be man\",\"is_overworld\":false,\"palette\":\"chocolate\",\"parent_level\":\"\",\"name\":\"minesweeper hub\",\"map\":\"eJylmN1urCAQx1+l8doL8QtJ47M0rpIeUoob123Ppum7H2DYXT8QhXPRJmvmJ8P8B2bGrn/hfdvwl7f652dknNYRp+NIh7c+iv/WKGad/HeTf5czbVnD65/fuGNDjX7juX35sE+V/T6AFZAqIJNAvm1/EdqXTJnm0rRYmcZtz/uhjk6cXiMrV0iuDOBKyeEADkuuOsjxL/7gKhW79AmK6+eJDjWJWduLy3hT9l0/XiL9QDSf8ncUf7ELOzHOxlsd9WcqotV6TdtGSwGQWjVXqxK3wmZj2hQlVrGcEQEQeUj33YzDk0yd4p2vw3mLzJzyzcmZs7mHfjNQJRo5KjwTT7BcKL8hQqGNsYcI94gAWTlVsMcSSBKggibTxEOFOYmcMlj1AzD1lwHAbEcGc3aKJ6FSRSbaHpErotSEypF9pcG2DFAaSBygNJCVh9IzZ4lT6PZGGyE2Fs0Sf6kBRP5SA5geO3FYG9trlFsHIN0ly7oxAN01ayuawLrrll18IN2Vy+Fu5a8DgOTYkdP9QqWbgORQvQJbFCAckGnAAQIyC7gqgcwDdAOy8NcNwNJHN2hVAMT2XgWt25F19wKdy4m+MyGo3AWnX5RPHrgbGOM/0W5UAQIDSQIE1mSRBAgMJAoQGMjUX2AAM/+DCWC+EHiq6x/Wdc9Gc7mw7BLVC1ROrivjY+XhW6xcNqRP2ZuT7rJnTweD+tS9BequfC60DCh8hgyofIZclj4PZfWIV2YBygKZu5V1kIX/7GfI0n/6MyT2n/8MWflMgJOm0uC6KCaOomj01NY48ddz2paat+hBf38QR3pox6m1i3ULCaRP8tz3CeR/3Egwlttb742lodgZcjmfmWqXbtU2JmR4P2nHmpE+6tvs4aEah/R0iLGP35Px3uD2ZFwFGYyX/diRIJ/Zx02/Qs9Elb1Bu7v7PlynuSHZCYp80urcDB98AqfOzBoo7VZhqiZ4Zr1hVmEC44BcnH1ag7cUO9PjZIt6aqlKZ2jnW1zB7jRawndNga2csZ1rOrtcACd7XwVNcLU1CbjQnv7qsYK4E2nhr1kcyIDqODtzuj0m9iFgdbuA8TKZzO2Sbd8ul0ZM7xX989Bnv0wvqzs8Uhz6tEsmhL0xsx8qIPCG8L+vAx2vg3h5e6Wi+wfvco/p\"}"
  },
  {
    "path": "officialworlds/minigames/n step steve.bab",
    "content": "{\"width\":25,\"version\":5,\"extra\":false,\"map\":\"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\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"steev be trial\",\"is_overworld\":false,\"palette\":\"steve\",\"name\":\"n step steve\",\"height\":18,\"author\":\"Slabdrill\"}"
  },
  {
    "path": "officialworlds/minigames/n step steve.replay",
    "content": "0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,0,undo;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,0,undo;0,0,undo;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;"
  },
  {
    "path": "officialworlds/minigames/peg solitaire.bab",
    "content": "{\"width\":16,\"version\":5,\"extra\":false,\"palette\":\"default\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":7,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"author\":\"Slabdrill\",\"parent_level\":\"\",\"name\":\"peg solitaire\",\"map\":\"eJyNl81um0AYRV/FyqJSJaQy/NOIZ7GoIS4KYiJMGluW373MfEMYl9T37rI414ITGB83etfrQ93v9tX1OnV9Wz390mMzPgXnKgy6plLBZf7j9NYeurqvrreg6cZK3YIv4WiG1SO47z/ZeGYjkk1mNibZdGYT9oKzGU5ZOJ/hjICVgQvSm4VLzptlVciJE1hx5gSOSHVCx6Q7oRMkTy4ksnCK5PlwxskTOOfkCVxw8gQukTwPjkLkzocVpy62cMSpEzjm1AmcPFb30uvjCqecOoEzTp3AOadO4IJTl1i45NRZOA45dQIr7qkTOOLUCRxz6gROOHUCp+Rpl1o6I487oXNOnsAFJ0/gkpNn4SQkzzuhFXneCR2R+jJLx6Q+oRNOn8App0/gjNMncE7qE7og9Qldkvpy+5UfkvqEVkjfHR0hf3d0jATe0QlpUOiUNCh09tjgdJ727Z92vCgzKewkf6zRTKb2PK0DEDlmcOi7V28BSscslofMDjJQO/aaOo8HwWP4UR9WHjSP4ZdvNhmw2SM0yB57v63BS4uD8PH1yADEjxnUox6adQEKyCw+fryM7bBOQAd9NQE1ZCanejh9DnJYRE6r0CCJzMfrcfqtbX9KvIMw8q/ILUAdmcUweTwIpA0PGmnDg0zyHw63gK20JLrgoJa8d0fZqM9BMW0GBaim7QCU03YA6sk7L9wAFNT6hjoeRtTiVHCQUebj+659tQub+wVIKe+ChAcxteFBT214kFT/8iWoKsP//O7xbFc5HITV3VtgfwSUIK78R0IGoK/si6mP2luAyJKF8gYgtLYDNrYcTrzK7p9ma78k3uRvK65C+PNnuRzHEwf2Udcf9eWtlyM4lR1xai/vv1sQp7a7czcgju13n4c/bZdbd/x/Quz2PLbT+zjs9s/t0PwF4tqDGA==\"}"
  },
  {
    "path": "officialworlds/minigames/peg solitaire.replay",
    "content": "1,3,clikt;1,0,udlr;2,5,clikt;0,-1,udlr;0,4,clikt;1,0,udlr;3,4,clikt;-1,0,udlr;5,4,clikt;-1,0,udlr;4,6,clikt;0,-1,udlr;4,3,clikt;0,1,udlr;2,6,clikt;1,0,udlr;4,6,clikt;0,-1,udlr;2,2,clikt;0,1,udlr;2,0,clikt;0,1,udlr;4,1,clikt;0,1,udlr;4,3,clikt;0,1,udlr;4,5,clikt;-1,0,udlr;2,5,clikt;0,-1,udlr;2,3,clikt;0,-1,udlr;0,2,clikt;0,1,udlr;0,4,clikt;1,0,udlr;2,4,clikt;1,0,udlr;6,2,clikt;-1,0,udlr;3,2,clikt;1,0,udlr;5,2,clikt;0,1,udlr;0,0,undo;0,0,undo;6,4,clikt;0,-1,udlr;6,2,clikt;-1,0,udlr;4,0,clikt;-1,0,udlr;2,0,clikt;0,1,udlr;1,2,clikt;1,0,udlr;3,2,clikt;1,0,udlr;5,2,clikt;0,1,udlr;5,4,clikt;-1,0,udlr;3,4,clikt;0,-1,udlr;3,1,clikt;0,1,udlr;3,3,clikt;10,-1,clikt;"
  },
  {
    "path": "officialworlds/minigames/pong 2p.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":false,\"palette\":\"gameboy\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"futr be neet\",\"is_overworld\":false,\"author\":\"jill\",\"parent_level\":\"pong menu\",\"name\":\"pong 2p\",\"map\":\"eJyVmd1O4zAQhV8FccFVxcaO4yRCfRYU2gAV2Qal6RaEePdNbE9tFzdzuEEIfcfEnh+PZ7b9Tddvmu7mcf31Ne66dn17eDt2t6uPdbbabddi9Tn9cnhvN7umW399r7a7YS2+VylWTqwA2XxiJciqic1BtphYBbJ6YguQLSdWg2w1sSXI1hNbgazIJrhG4dlyAjWdMLZDjSdm6wnUfGK2n0ANKGYLigUTjh/j41PfGYUwCr3sd7Pg9Od5aPdeUi67n5E04+AF1bIPmo9qPV4vu+GMT39pN+Ou918ls5RDykj12gS8SDlazB+a/cEL5LK3/ThamS973Cy487RiXG7Gm2HovaJIul28hc3QNqOXaMb3fv6TkvG/cNvSKKrfeJSV1LxHkZ8bQZ6hHmVxwXtUf9y8eoFczm7Tz5nNDZsz+w1ZxWw0ZAtmjyGrmQ2GbLm8NwpdC1e/OIh6Oc1HC6tsGQ4XVslQvbawXIajhfPlkI4XVkz8hwsXy6EfL6yZPBEuXHJZIoQr5l6K4JpLDQFcZEBWoE0WRsHUQmEasQKmIAryueWTtoyTYbdr37xA8enZ7dnyBZCg4z1rJHeaNKUNXwJnFOBAog1xIMmemt14f39/1ujkpcpoBBPZ8Wfp5LUqr+LJSzXG7zzNVU8zfpzx0uAFb4BT0715AVA9jcdhv+mH/eBVJX97kSNZAZeFZ99umn9ewKTiHxspM764Obzv9l6QrpDl9W8qJWCLsf0YvSIHqllj7MrgCg0fixf8oYa4hi4sy5bMHRR/d8WfPWUuK6jhvGL4KgPOcd+/mKqvNgogW7vka3kgWZMzWEGOhIB1UCtQSCYKBQVkL8tq3l6Hse3GVy8peaM9d/2LF7CXsb9vrACx8sVX1Yil3VPLvqAFfylEvISKUgfnUPHoYLVsL3q7WbhgHm/Rypx1I5izawRXfAkRnR5bY10IRIYUWnehQAAecH6d2/d2BkSv+yonYBpQ1jOPT0/7UMR0ouhkHZ20cPpJSBINRFi8jxKwhw8xUlVw+iVFDRiF8qOQtgOVMSnYHZejmSeSyfBjKJB4psitIufvhJe+OTWf790h1CngPx3H3vYclNUAhdjf5vMplHCvqLCz4STsY8qfgVMgSZzqJNKkgz5RsorCdhM5y4c7cRKRii2V2ogTSL4jcm5mOQmXzS+3wST0i9hyIiDsqVIR2kr08nGdj8rhyQSvfsRVaWnujRXT3BMrotkmVkxzPayYZhpY52TjcPCmdnTSsurq4slK7NqJ58xtfbk4V2rHizOl9uXizIAhXlwxE4aLxU1Xi2/7EC2xxg/hOdb6IVxhzR/Ci180hUVlNcmncpwFg0GDEyVHDelHJkmSw4ZUP4EEyXFDLNhG4warK5K9EX3WnRvWbjIDDgMJB+eBhIMjQcLBqSDh4GCQcHA2SDg4HiQcnBASDg4JHa7BMSHh6KCQeHRUSDw6LCQeHRcSf21g+P0wtHPn6ubxod1v/wO0F0Il\"}"
  },
  {
    "path": "officialworlds/minigames/pong menu.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":false,\"palette\":\"gameboy\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be u them\",\"is_overworld\":true,\"author\":\"jill\",\"parent_level\":\"\",\"name\":\"pong menu\",\"map\":\"eJyVmNtuozAQhl8l4mZvkBYbAkYVzxKRxJtFpRARJ9uo6rsveEwwROWf9KJS6fePx56DD8d2U7eHst7siq8vU9W6CPrfQfhZRGF1LER4L5LwctaHqqyLr+/wWHWF+A5H9NPs6tuES4zvy/0Dj3s8W8E9RxKADo5U+v3Bb3te8UynALWmmwee9XjOs6z4aN6jQvBXWkQcAbktrGAIZQSdIVYCdml7COSaL77tBLBL20MkJdN2Ctje9r/ffzrdNL/MpMpA1vojKEaG6wnPWRluWRnhFPdMS8HKcGLlC2wMkta64a+fTFAq+ua3jLylaUrLp6y0JTbDaeubVqysJTbHWeuZjiNW0hIrXmAZDdboTzMJYiy4TjTqsr4r2xdYRovtv+iDqdpmUvE6LbGo1fYjNO2pnQSw4XrWE06zrQ73/mfQxFbD67fEMvqtKWtPwGu4xDIa7sXo2vydJLyeSyzquT6LOu2jighHzZZMJ5bNselpllayjdYlbhcidohm+jPrTjXEynXWbePExnO21jddF8G5bU5BWB3apik/ekkQNtePve6Gvb//eDH3wRB96/9nGdLcqku1r+rK3IugPesmWJ0VqPcZC05UMzZdr8YZO+SEWEn+GaxAIc7Wdlni3uJu5NlfN/snXjptjO5252GE1J4co/VIn7ryMsEghZ6tSzDZufkYLQ3ZF4Mis4qE5z3BW5b3nvWU6T3RGc97uzrKKtR63xnNE5y/AGfMqBIseI7bnSe3CsnzheD4FZgZUILRQexyLrt3OrjRvQc0+tG6ozN8FL/5vOL57uh8nV5aV2gDn5tXzKDSLcWeaxUzqo5mhtXRzLg6GgXWOX+yEnu+UdzQEg1C6+wfPAU3uESD4M7pHIXW7xzCnity0IkfAxCNtvNn+6gVLwZA9yc3gj2nC7u15aAbPwYgOmXNQHoK1I4XA6Bt2b+XCLtd5TnvOSKlx46IcUCe2RcRCPJiABDk6eXAijISxbw5ODrBc3geAgR6MQQItF0mp1CkQFfmOa24F+xRgK7NM/P0psWm0b15duIfRaBND6JHbjtJzAuBo0GvfloiwbtHj3SKH4meJ53xnn8crfBl3c0gJwGzlImWjFKe3pechlnLjmbU8rRGkp5TJa+WR5pTy9fu6Et4lTzSP1Ty91unzbVrNrs33Rz/A9Z74os=\"}"
  },
  {
    "path": "officialworlds/minigames/pong.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":false,\"palette\":\"gameboy\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"futr be neet\",\"is_overworld\":false,\"author\":\"jill\",\"parent_level\":\"pong menu\",\"name\":\"pong\",\"map\":\"eJyVmdtO3DAQhl8F9QK10oqunXOrfRYUdlO6IiRVNhQQ4t2b2OP4UOP5uUPo+2dtz3hmPDmNV/14bPur28Pb23zuu8OXy8NT/2X3ctjvzqeD2L0uf1z+dMdz2x/e3nen83QQ77sYKxdWgGy2sBJk84XNQLZY2Bxky4UtQLZa2BJk64WtQLZZ2BpkxX6BGxRePSdQ1wnlO9R5YvWeQN0nVv8J1IFi9aBIuHB+mW/vxl4phFKU6bhbBc/ff03dYCVVOvyUpJ0nK6jTMagW1Vm8SYfhii//6Y7zebSrkvtYQMqPVyVFOtJWwaUdLlYg0+H239nKLB1yq+Da0jkTcyveTtNoFQUTd8HBypKJvJX/8dXyFRN77o6lUtSfiSYtafhoMjGuBNkejSaNCz6ahlFYXqYTm46j83xzc2M1GR9KJva0IAdCydlDwQfSc9s/WEHJxdJZHWim4IpxmsvWjLdctmEc5bD5nvGSy4q0h8xJa5hzp2s4S9cp33Cehj3DRTo+fMMlE0yu4SodR77hmgk613CTjjjPcMGUVtdwwVVWD+YKqwdzddWDubLqXtlCKYp0M+fmQi34VGXVEqCy/urHeyuAK6vGgcr6tNFltKJGypemBXMf1tryzeIST5lakCHFSO21VHwO+MvBC95bLl7ynrq2NFJI1cFXCq/5pZt0rwUNv/j5aRqO4zRMm6oCCmnftn+tQADbmLuX2Sok0I+qc6oVnvEbf2xf76wgWkcrfwvn7sEKCjiKNF8CGxjGe9WUNUpR8Xv43Q6WB65wP44P7WwlwDU2qUgJauAmu2uqBdqeaFzy7cll7vr5t5VkQLNrUp1W5ECzSyleCxBXh8tC3E0dtX6tVoD3KABJUQPOc3+BeeSGfMMV45AXwKPAE0jgXK8dPgPOdHuZqYdHk6PJmPgCeEPMT3d3g6Mpec9ROJGg4i/RMDs81245WZwUDXApzFtIS8R+j78BSYE43N4Lo0K87v8O4ndTX4TUGqBoO48voyrg9GYUJd+s0GZIUCHtCjmTJID/KV5I0ODJJ9NTqj1/XPdj+9y+/ukvrk4Av3QcHzsjy7VM4uXZSIARyDbTIAkyB6FjIAUyB/EnRiSMD0TKSCortAAo7tt2SBKt73lsNyT4RHUnSXz2FcvIxAO9upMBSAR07H6wlVrHNHXbeREebemc86KcXGmaa9t9muvafZqr7T7N1XWfbtIe2/KixjPOwZ7xLOre/EPjMo0HxplZV2g8T+MmLxPNDEqCpZTpDBsuhRmWBMbrdOYKjTMDE9+4GncBUxCDC2wOYnCJTUIMDr2sTcaptSbaoQXTdvvZgETRNs0XbcdKkmiXJmPZkwRV7BrKRCkgXR27YX4lMLHaaAXw6G6ncTg5GjUp43ptc9IkEeiIxwgkXz+2VoUkWTq9mIeYpI9MTJcW4kyODnEmSYc4k6VDnEnTIc7k6QBXI7NEYQ1x5hNUiDMfoEKc6b1CnOu7Qp7rukKe+/oU8tzQLOTrD5ra959Tt06/rm5/dsPpH970hoA=\"}"
  },
  {
    "path": "officialworlds/minigames/pong.replay",
    "content": "0,-1,udlr;0,1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,wasd;0,1,udlr;0,-1,wasd;0,1,udlr;0,-1,wasd;0,1,udlr;0,-1,wasd;0,1,udlr;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,1,udlr;0,-1,wasd;0,1,udlr;0,-1,wasd;0,1,udlr;0,-1,wasd;0,1,udlr;0,-1,wasd;0,1,udlr;0,1,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,1,udlr;0,-1,wasd;0,1,udlr;0,-1,wasd;0,1,udlr;0,-1,wasd;0,1,udlr;0,-1,wasd;0,1,udlr;0,-1,wasd;0,-1,wasd;0,1,udlr;0,-1,wasd;0,1,udlr;0,-1,wasd;0,1,udlr;0,-1,wasd;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,wasd;0,1,udlr;0,-1,wasd;0,1,udlr;0,-1,wasd;0,1,udlr;0,-1,wasd;0,-1,wasd;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,wasd;0,1,udlr;0,-1,wasd;0,1,udlr;0,-1,wasd;0,1,udlr;0,-1,wasd;0,1,udlr;0,-1,wasd;0,1,udlr;0,-1,wasd;0,-1,udlr;0,-1,wasd;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,wasd;0,1,udlr;0,-1,wasd;0,1,udlr;0,-1,wasd;0,1,udlr;0,-1,wasd;0,1,udlr;0,-1,wasd;0,1,udlr;0,-1,udlr;0,-1,wasd;0,-1,udlr;0,-1,wasd;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,wasd;0,1,udlr;0,-1,wasd;0,1,udlr;0,-1,wasd;0,1,udlr;0,-1,wasd;0,1,udlr;0,-1,wasd;0,1,udlr;0,-1,wasd;0,1,udlr;0,-1,wasd;0,-1,udlr;0,-1,udlr;0,-1,wasd;0,-1,udlr;0,-1,udlr;0,-1,wasd;0,-1,wasd;0,-1,udlr;0,-1,wasd;0,-1,udlr;0,-1,wasd;0,-1,udlr;0,-1,wasd;0,-1,udlr;0,-1,wasd;0,1,udlr;0,-1,wasd;0,1,udlr;0,-1,wasd;0,1,udlr;0,-1,wasd;0,1,udlr;|e1siYXJybywxNiw4LDQsMTQsOSwxLDEiXSA9IDAuODgzMTUzNTMyMDE3NDYyMzgsIFsiaGFuLDE3LDMsNCw4LDgsNywyNSJdID0gMC4wMDI0NzkyMjgxMzIzODQ0MzY3LCBbImhhbiwxNywzLDQsOCw4LDcsMjYiXSA9IDAuMTA1MTQzNDU4Nzk4ODI0NDcsIFsiaGFuLDE3LDMsNCw4LDgsNyw1MyJdID0gMC4zODQ5MTMzOTIxNzUzMDExOCwgWyJoYW4sMTcsMyw0LDgsOCw3LDU0Il0gPSAwLjc3NDU3MTk2MTczMjgzODgyLCBbImhhbiwxNywzLDQsOCw4LDcsNzciXSA9IDAuOTA4MjU0NTUyMjY1ODQ4NzIsIFsiaGFuLDE3LDMsNCw4LDgsNyw3OCJdID0gMC43Nzk2ODg1NTgyNTg3Mzc2MiwgWyJoYW4sMTcsMyw0LDgsOCw3LDEwMSJdID0gMC40MjgzNTgxMjkwMzc0Nzk2MSwgWyJoYW4sMTcsMyw0LDgsOCw3LDEwMiJdID0gMC4zODY2OTE3MDM2Mjk5OTUyOCwgWyJoYW4sMTcsMyw0LDgsOCw3LDEyOSJdID0gMC4wNTI0ODEyMDc4NzU2ODYyMiwgWyJoYW4sMTcsMyw0LDgsOCw3LDEzMCJdID0gMC4wNDUwMjEwNTQxNjYyODI3NywgWyJoYW4sMTcsMyw0LDgsOCw3LDEzMSJdID0gMC45MTM2MDY4NTk2NTQ5MTAyOSwgWyJoYW4sMTcsMyw0LDgsOCw3LDE1NyJdID0gMC43NzcyNjU0MTM1ODMyOTYxNSwgWyJoYW4sMTcsMyw0LDgsOCw3LDE1OCJdID0gMC42NTMzNjU0MjgyMzMyNTAxNywgWyJoYW4sMTcsMyw0LDgsOCw3LDE4NSJdID0gMC4zNjI2MTY0NjM2MjU1NDYyMywgWyJoYW4sMTcsMyw0LDgsOCw3LDE4NiJdID0gMC4xMjU4MzMzMjI0MjUxMTYwMiwgWyJoYW4sMTcsMyw0LDgsOCw3LDIxMyJdID0gMC45MDI0NzE0MTQxNzc0ODY3NywgWyJoYW4sMTcsMyw0LDgsOCw3LDIxNCJdID0gMC40NTk0ODQ1NjcyOTc4MTg3MiwgWyJoYW4sMTcsMyw1LDgsOCw3LDI0Il0gPSAwLjcyOTgwMzA3MTkyODY2MDEyLCBbImhhbiwxNywzLDUsOCw4LDcsMjUiXSA9IDAuOTM4NDQ2NTAzNTQyNTY1MzEsIFsiaGFuLDE3LDMsNSw4LDgsNyw1MiJdID0gMC45NTcxODcxNTAxMTY5MDU4LCBbImhhbiwxNywzLDUsOCw4LDcsNTMiXSA9IDAuOTE4OTU4OTc0MTQyMjA5MjgsIFsiaGFuLDE3LDMsNSw4LDgsNyw3NiJdID0gMC44MzM2ODgwNDQxMDE4NDcyNywgWyJoYW4sMTcsMyw1LDgsOCw3LDc3Il0gPSAwLjQ1MjY4MzQwODAzODY1NzQ4LCBbImhhbiwxNywzLDUsOCw4LDcsMTAwIl0gPSAwLjMxNDgzMDMyNDI0MjA5MjAxLCBbImhhbiwxNywzLDUsOCw4LDcsMTAxIl0gPSAwLjI5MjM4MjA2MjY3NDE4MzEsIFsiaGFuLDE3LDMsNSw4LDgsNywxMjIiXSA9IDAuNzQ3NzYzMzExMjY5ODg3NiwgWyJoYW4sMTcsMyw1LDgsOCw3LDEyMyJdID0gMC4wNDIxNjc1Mjg1MjMzMjk4MzQsIFsiaGFuLDE3LDMsNSw4LDgsNywxMjgiXSA9IDAuNTE1NTEwODM5OTQyMTA3MTEsIFsiaGFuLDE3LDMsNSw4LDgsNywxMjkiXSA9IDAuMjU3Mzg4MDg1MjA4NzIyMDMsIFsiaGFuLDE3LDMsNSw4LDgsNywxNTYiXSA9IDAuNDI4OTU3Mjk0ODUwMDcxNzIsIFsiaGFuLDE3LDMsNSw4LDgsNywxNTciXSA9IDAuOTUwMzM3NTk5NTYxNjE3OSwgWyJoYW4sMTcsMyw1LDgsOCw3LDE4NCJdID0gMC41MTI2NDY1MDk1NTY1ODQ2NCwgWyJoYW4sMTcsMyw1LDgsOCw3LDE4NSJdID0gMC44NDUyMDk3ODk2NTgzNTYxNCwgWyJoYW4sMTcsMyw1LDgsOCw3LDIxMiJdID0gMC4wOTU2MDUwMDYxMzcyMjY0NDUsIFsiaGFuLDE3LDMsNSw4LDgsNywyMTMiXSA9IDAuNzY3Mjg2OTE5OTAwMTE2MjIsIFsiaGFuLDE3LDMsNiw4LDgsNyw0OCJdID0gMC4yMjEyNDI2MDYyMjkyNjQ1LCBbImhhbiwxNywzLDYsOCw4LDcsNDkiXSA9IDAuMjIxMTE3OTYxNzI5NzA3NjYsIFsiaGFuLDE3LDMsNiw4LDgsNyw1MCJdID0gMC41NTYzNDg2Njk2MDE1MjY5NiwgWyJoYW4sMTcsMyw2LDgsOCw3LDUxIl0gPSAwLjI4MjI3MjY1MzE2MDc1NDAxLCBbImhhbiwxNywzLDYsOCw4LDcsNTIiXSA9IDAuMDEwMDE1MjMzMTU4NzYxMDcyLCBbImhhbiwxNywzLDYsOCw4LDcsNzEiXSA9IDAuODgzNjI2OTQ0MTM1OTU5NDQsIFsiaGFuLDE3LDMsNiw4LDgsNyw3MiJdID0gMC44MzA3MjM1MDc5NTMyNTIyMywgWyJoYW4sMTcsMyw2LDgsOCw3LDczIl0gPSAwLjI4MzEzOTExNjMzMDA1NDI5LCBbImhhbiwxNywzLDYsOCw4LDcsNzQiXSA9IDAuNzgxODEzMTk5MzQyNzA3OTksIFsiaGFuLDE3LDMsNiw4LDgsNyw3NSJdID0gMC41NTExNTQ3NTIzNDcwMjgzOCwgWyJoYW4sMTcsMyw2LDgsOCw3LDc2Il0gPSAwLjcxNzczNTczMjYzNzcxMjA2LCBbImhhbiwxNywzLDYsOCw4LDcsOTYiXSA9IDAuODQ2OTExNDA0NDIwODExMDMsIFsiaGFuLDE3LDMsNiw4LDgsNyw5NyJdID0gMC43NDQzNjU1Nzk5MzU5NzU0MSwgWyJoYW4sMTcsMyw2LDgsOCw3LDk4Il0gPSAwLjUyNDI3OTA1OTE1MTgxNjUsIFsiaGFuLDE3LDMsNiw4LDgsNyw5OSJdID0gMC4xMTE3NDExODQyMDc5NzgyOSwgWyJoYW4sMTcsMyw2LDgsOCw3LDEwMCJdID0gMC45OTU5MTkzNDI0ODczMjMxNywgWyJoYW4sMTcsMyw2LDgsOCw3LDEyMyJdID0gMC43MTQ0NDcwNjU1NTk4NjQ5MiwgWyJoYW4sMTcsMyw2LDgsOCw3LDEyNCJdID0gMC4xMjkxMTI0MDkwNzAwMzUyOSwgWyJoYW4sMTcsMyw2LDgsOCw3LDEyNSJdID0gMC41NTI4NjgwNDU2Njk0Mzg4MSwgWyJoYW4sMTcsMyw2LDgsOCw3LDEyNiJdID0gMC44OTI0MjY2Mzc1Mjc0MTg1OCwgWyJoYW4sMTcsMyw2LDgsOCw3LDEyNyJdID0gMC44NTkwNTQ0NzkxODY3Njg2OSwgWyJoYW4sMTcsMyw2LDgsOCw3LDEyOCJdID0gMC42MzQwMjYzMDQ0MzMzMDkyMSwgWyJoYW4sMTcsMyw2LDgsOCw3LDE1MiJdID0gMC44NjYxMzM3ODA0NjgwODk5OCwgWyJoYW4sMTcsMyw2LDgsOCw3LDE1MyJdID0gMC4yMTk1MTExNjgyMjM1MTEzNSwgWyJoYW4sMTcsMyw2LDgsOCw3LDE1NCJdID0gMC4zNjcyMDg5NzI1Mzc0MTUyNSwgWyJoYW4sMTcsMyw2LDgsOCw3LDE1NSJdID0gMC4zNjU0MTE0NDg5ODQyOTMwMSwgWyJoYW4sMTcsMyw2LDgsOCw3LDE1NiJdID0gMC43NjcwNTI1MDIwMjA0NzEwNCwgWyJoYW4sMTcsMyw2LDgsOCw3LDE4MCJdID0gMC42MDMzNDEyNTY0OTE0Nzg4NSwgWyJoYW4sMTcsMyw2LDgsOCw3LDE4MSJdID0gMC45NTExNjc1NTYyNzk4MTU4NiwgWyJoYW4sMTcsMyw2LDgsOCw3LDE4MiJdID0gMC4xOTQ4NjM2ODU2Njc1OTYyNiwgWyJoYW4sMTcsMyw2LDgsOCw3LDE4MyJdID0gMC42MzU5MDMxNjc1NTEyMDQ4LCBbImhhbiwxNywzLDYsOCw4LDcsMTg0Il0gPSAwLjY1MjE2NDg2Njc5MzAwMjY3LCBbImhhbiwxNywzLDYsOCw4LDcsMjA5Il0gPSAwLjgxODg0OTQwMzc2OTQ0OTM3LCBbImhhbiwxNywzLDYsOCw4LDcsMjEwIl0gPSAwLjk5NjMyNzkyODkyNDY4NzgsIFsiaGFuLDE3LDMsNiw4LDgsNywyMTEiXSA9IDAuNDgxODI3NjA0MTQ5NzEwMDQsIFsiaGFuLDE3LDMsNiw4LDgsNywyMTIiXSA9IDAuNTgwMzAxNTQ0MjcyMjUwMTEsIFsiaGFuLDE3LDQsNCw4LDgsNyw1NCJdID0gMC4wNDQ5NDQyNTUzNDE3NjgyNjksIFsiaGFuLDE3LDQsNCw4LDgsNyw1NSJdID0gMC4yMDk1NDY4OTI1MjE4MTUxMywgWyJoYW4sMTcsNCw0LDgsOCw3LDc4Il0gPSAwLjE2OTM1Nzk2NjczMDUxMTg0LCBbImhhbiwxNyw0LDQsOCw4LDcsNzkiXSA9IDAuNTMzMjMxNTM0NTgxMjI2NDEsIFsiaGFuLDE3LDQsNCw4LDgsNywxMDIiXSA9IDAuMjM5MTk3NDAzNzk2NDcyODEsIFsiaGFuLDE3LDQsNCw4LDgsNywxMDMiXSA9IDAuMTE1MTA2NzEzNDY2NTcxNTMsIFsiaGFuLDE3LDQsNCw4LDgsNywxMzEiXSA9IDAuOTc3MzY0MTQxMzAzOTAyMDMsIFsiaGFuLDE3LDQsNCw4LDgsNywxMzIiXSA9IDAuMDcwODczMTMyNjc0OTUyOTg4LCBbImhhbiwxNyw0LDQsOCw4LDcsMTMzIl0gPSAwLjE5NjgzMjk0ODYxODAyNjY5LCBbImhhbiwxNyw0LDQsOCw4LDcsMTU4Il0gPSAwLjY2MTg3MjE2OTAzNDE1NjY5LCBbImhhbiwxNyw0LDQsOCw4LDcsMTU5Il0gPSAwLjA5Nzc1MzI2NDQ5ODA0MDExNiwgWyJoYW4sMTcsNCw0LDgsOCw3LDE2MCJdID0gMC4yNzkzMDIyMzg4ODk3MTUyOCwgWyJoYW4sMTcsNCw0LDgsOCw3LDE4NiJdID0gMC4zNjcxMTEyNzk1NzI5NDM2NSwgWyJoYW4sMTcsNCw0LDgsOCw3LDE4NyJdID0gMC40OTUxMTY2NzQzOTY5MTI2NSwgWyJoYW4sMTcsNCw0LDgsOCw3LDIxNCJdID0gMC40NjgwNDQ0NTcyNTg4MzIyNiwgWyJoYW4sMTcsNCw0LDgsOCw3LDIxNSJdID0gMC4wNDE0MDg0NDQ0NTMxNTQ4MzYsIFsiaGFuLDE3LDQsNCw4LDgsNywyMTYiXSA9IDAuNDI1NTEwMTg3MDE2Nzk4NTUsIFsiaGFuLDE3LDQsNiw4LDgsNywyMyJdID0gMC4wODk1MDA2NjI1MjExMTA5OTYsIFsiaGFuLDE3LDQsNiw4LDgsNywyNCJdID0gMC4zMjIyMzE5NjY4NDQ2MzU0LCBbImhhbiwxNyw0LDYsOCw4LDcsNDciXSA9IDAuMzQ2MDYxMzg4NjI2ODYxMDksIFsiaGFuLDE3LDQsNiw4LDgsNyw0OCJdID0gMC4zMjEwNDI0Njk1NzUxMDU5NiwgWyJoYW4sMTcsNCw2LDgsOCw3LDcwIl0gPSAwLjE1NDg5NjUyOTk2NjA5NjkzLCBbImhhbiwxNyw0LDYsOCw4LDcsNzEiXSA9IDAuMzI3NDg4MzExMzA5ODc2MzIsIFsiaGFuLDE3LDQsNiw4LDgsNyw5NSJdID0gMC44OTY5ODUxNzYxOTk3MDc0MSwgWyJoYW4sMTcsNCw2LDgsOCw3LDk2Il0gPSAwLjEwMjAxNTA2Mzk0MjE1Nzk4LCBbImhhbiwxNyw0LDYsOCw4LDcsMTUxIl0gPSAwLjQyMjAzMjQxODE2NDExMzA4LCBbImhhbiwxNyw0LDYsOCw4LDcsMTUyIl0gPSAwLjQzNDQ2MTgxMzQ0MjM4MzQ0LCBbImhhbiwxNyw0LDYsOCw4LDcsMTc5Il0gPSAwLjE4NzgxMDA3MzE1ODM3NjUsIFsiaGFuLDE3LDQsNiw4LDgsNywxODAiXSA9IDAuNzQ0MzQ3NzA2NDU1MjgzOTIsIFsiaGFuLDE3LDQsNiw4LDgsNywyMDgiXSA9IDAuMjczOTcyNzM3OTU2OTYzMiwgWyJoYW4sMTcsNCw2LDgsOCw3LDIwOSJdID0gMC44NzM0Njg5MzcwNTUyMzY0MywgWyJoYW4sMTcsNSw0LDgsOCw3LDI3Il0gPSAwLjkwMDQzMTI0ODEzNzk4NzAzLCBbImhhbiwxNyw1LDQsOCw4LDcsMjgiXSA9IDAuNjk0NDYzMjY0MTE0NTgwOTIsIFsiaGFuLDE3LDUsNCw4LDgsNyw1NSJdID0gMC40MzExMjc2NzEwMDgyMDU5MywgWyJoYW4sMTcsNSw0LDgsOCw3LDU2Il0gPSAwLjg3OTI5OTQzODQ0OTQ3NSwgWyJoYW4sMTcsNSw0LDgsOCw3LDc5Il0gPSAwLjcyNTg3Njk4MTg0NDQ1MzkzLCBbImhhbiwxNyw1LDQsOCw4LDcsODAiXSA9IDAuMzQxNjU5OTE0MDQxMTA4MDcsIFsiaGFuLDE3LDUsNCw4LDgsNywxMDMiXSA9IDAuMDQwMzM2NTkxNDA0MDIxMjM4LCBbImhhbiwxNyw1LDQsOCw4LDcsMTA0Il0gPSAwLjA1NDA5MTkxNDg3MTg2NzI2NCwgWyJoYW4sMTcsNSw0LDgsOCw3LDEwNSJdID0gMC40Nzc5NzQ3MzM2NzM5MDE3NSwgWyJoYW4sMTcsNSw0LDgsOCw3LDEzMyJdID0gMC43NzkwMDgyMTAzMDI1ODkyNywgWyJoYW4sMTcsNSw0LDgsOCw3LDEzNCJdID0gMC4yMDcyNDA0NjcxNTQ1NzQ2NywgWyJoYW4sMTcsNSw0LDgsOCw3LDE2MCJdID0gMC4yOTkwNDgyNjc0NDM0MDM0LCBbImhhbiwxNyw1LDQsOCw4LDcsMTYxIl0gPSAwLjkzNDQ3NDcyODc0NTYzNjMxLCBbImhhbiwxNyw1LDQsOCw4LDcsMTg3Il0gPSAwLjUwNTUwMTM2NTU5Njc1NzUxLCBbImhhbiwxNyw1LDQsOCw4LDcsMTg4Il0gPSAwLjcwNzAwMTM1MTkyMzM2NCwgWyJoYW4sMTcsNSw0LDgsOCw3LDIxNiJdID0gMC4xNzczNDk1MTY2NzczOTYxOCwgWyJoYW4sMTcsNSw0LDgsOCw3LDIxNyJdID0gMC41NDY2NjE1NDYzMjA2OTM0MSwgWyJoYW4sMTcsNSw1LDgsOCw3LDI2Il0gPSAwLjU0Mzk2MTQ2MDQ4NTg3MTgsIFsiaGFuLDE3LDUsNSw4LDgsNywyNyJdID0gMC4xMDU0Nzk5MTk5ODEyODgzNiwgWyJoYW4sMTcsNSw2LDgsOCw3LDIyIl0gPSAwLjAwMTc2Nzc3MDM2NjY4NzE4MjUsIFsiaGFuLDE3LDUsNiw4LDgsNywyMyJdID0gMC4zNTQ4NTA3MzQzOTQzODU2NCwgWyJoYW4sMTcsNSw2LDgsOCw3LDQ2Il0gPSAwLjg2NzQ4MTA0NDU1ODg5MzYzLCBbImhhbiwxNyw1LDYsOCw4LDcsNDciXSA9IDAuNjk2MTA0ODk1OTA1ODQ0NDYsIFsiaGFuLDE3LDUsNiw4LDgsNyw2OSJdID0gMC44NjY0MzU5NDgyNDc2NDI3LCBbImhhbiwxNyw1LDYsOCw4LDcsNzAiXSA9IDAuNjg4OTQyNzMyODQ1Nzc3NTYsIFsiaGFuLDE3LDUsNiw4LDgsNyw5NCJdID0gMC43NTcwMjYwMTg2NjQxODE3MywgWyJoYW4sMTcsNSw2LDgsOCw3LDk1Il0gPSAwLjI0ODc3NTAzMjAyODMyNDYzLCBbImhhbiwxNyw1LDYsOCw4LDcsMTIxIl0gPSAwLjcyMTg5MTE3MTIxMjY1NywgWyJoYW4sMTcsNSw2LDgsOCw3LDEyMiJdID0gMC41NDQwMTczNDM5NjQ2OTExNSwgWyJoYW4sMTcsNSw2LDgsOCw3LDE1MCJdID0gMC4wMjAyNDgwMTUwNTc2NzE1OTgsIFsiaGFuLDE3LDUsNiw4LDgsNywxNTEiXSA9IDAuMjkyNTA3MTE0OTY3MzMxMjgsIFsiaGFuLDE3LDUsNiw4LDgsNywxNzgiXSA9IDAuODkzNTgwOTg3NDkzMTM2NDEsIFsiaGFuLDE3LDUsNiw4LDgsNywxNzkiXSA9IDAuOTcyNjc4NDc2NTgwOTgxMDYsIFsiaGFuLDE3LDUsNiw4LDgsNywyMDciXSA9IDAuNDQ0OTQ0MTAwMTE1ODEyMDksIFsiaGFuLDE3LDUsNiw4LDgsNywyMDgiXSA9IDAuNzEyNDU3Mzc3ODAxNzQzNTYsIFsiaGFuLDE3LDYsNCw4LDgsNywyOCJdID0gMC4yODYwMDY1MTI1ODQyNjQzNSwgWyJoYW4sMTcsNiw0LDgsOCw3LDI5Il0gPSAwLjEzMjYyMzY3MDE1MjU1NjI3LCBbImhhbiwxNyw2LDQsOCw4LDcsNTYiXSA9IDAuNzE1OTU1NjM3NjA4Mzc5OTksIFsiaGFuLDE3LDYsNCw4LDgsNyw1NyJdID0gMC42NzY3NTY1NjM1MDgxNjI0OSwgWyJoYW4sMTcsNiw0LDgsOCw3LDgwIl0gPSAwLjkzNDI3ODMwNjEwNTkxOTIyLCBbImhhbiwxNyw2LDQsOCw4LDcsODEiXSA9IDAuNDA4ODc1ODYyNzcyNDkxMTEsIFsiaGFuLDE3LDYsNCw4LDgsNywxMDUiXSA9IDAuMDY3OTU3ODkwNjM3ODM3NTI2LCBbImhhbiwxNyw2LDQsOCw4LDcsMTA2Il0gPSAwLjU2NDY3NzQyMTIyNDkwMzA1LCBbImhhbiwxNyw2LDQsOCw4LDcsMTM0Il0gPSAwLjE0Nzc1MDI4MTA5OTcyMTU1LCBbImhhbiwxNyw2LDQsOCw4LDcsMTM1Il0gPSAwLjc4MTI2MjM4ODUxODg2NjA5LCBbImhhbiwxNyw2LDQsOCw4LDcsMTYxIl0gPSAwLjE2MTk0NDA2NzI0MDUwMDM3LCBbImhhbiwxNyw2LDQsOCw4LDcsMTYyIl0gPSAwLjA2NzIxODQ5MzMzNTY4NjA4LCBbImhhbiwxNyw2LDQsOCw4LDcsMTYzIl0gPSAwLjE4NjkxMzYxODU2ODQxMDgyLCBbImhhbiwxNyw2LDQsOCw4LDcsMTg4Il0gPSAwLjE5MTA4NjMwNzI4OTYwNjI5LCBbImhhbiwxNyw2LDQsOCw4LDcsMTg5Il0gPSAwLjYxODc5NjAwMDY0MTg4NTExLCBbImhhbiwxNyw2LDQsOCw4LDcsMjE3Il0gPSAwLjkyNzU3NDY2NTY1NzI3NjA5LCBbImhhbiwxNyw2LDQsOCw4LDcsMjE4Il0gPSAwLjA2NjkxNzc1NTkzODA0MTM5LCBbImhhbiwxNyw2LDQsOCw4LDcsMjE5Il0gPSAwLjQ5NDA3MzIzOTY5MjcyMTg4LCBbImhhbiwxNyw2LDYsOCw4LDcsMjEiXSA9IDAuNDcxNjMxODU1MDk3NTA0OTQsIFsiaGFuLDE3LDYsNiw4LDgsNywyMiJdID0gMC4zNzUyMDI4MjQyNDIyMTcxOCwgWyJoYW4sMTcsNiw2LDgsOCw3LDQ1Il0gPSAwLjE3MDc0MTk1NDgxODQ3MjMyLCBbImhhbiwxNyw2LDYsOCw4LDcsNDYiXSA9IDAuNjYyNzQzMTAxMTM4NzMwMTQsIFsiaGFuLDE3LDYsNiw4LDgsNyw2OCJdID0gMC41OTU2OTUxMDk3NjI1MTg5NCwgWyJoYW4sMTcsNiw2LDgsOCw3LDY5Il0gPSAwLjM3NTQ0MzQxMzU4MDY5MjMzLCBbImhhbiwxNyw2LDYsOCw4LDcsOTMiXSA9IDAuMjQ5NTcwMTAwNTYyODU1LCBbImhhbiwxNyw2LDYsOCw4LDcsOTQiXSA9IDAuNjI5ODIyOTk3Mzg1NzUyNTQsIFsiaGFuLDE3LDYsNiw4LDgsNywxMjAiXSA9IDAuMzI5OTc0NTQ1OTE4MTQ2MDEsIFsiaGFuLDE3LDYsNiw4LDgsNywxMjEiXSA9IDAuNzIzMDY2OTE0MDI5ODM2MDMsIFsiaGFuLDE3LDYsNiw4LDgsNywxNDkiXSA9IDAuNDgzNjc3MjA3NDcxMTgyODEsIFsiaGFuLDE3LDYsNiw4LDgsNywxNTAiXSA9IDAuNDM5MTI2ODkwMzk4ODQ4NTYsIFsiaGFuLDE3LDYsNiw4LDgsNywxNzciXSA9IDAuODk4OTk0NTYzNDgwOTI2ODgsIFsiaGFuLDE3LDYsNiw4LDgsNywxNzgiXSA9IDAuNDkyMzM2NDI5MjY5NTk1MzEsIFsiaGFuLDE3LDYsNiw4LDgsNywyMDUiXSA9IDAuNzQ5ODk5MTA4Mjk4NTg1MywgWyJoYW4sMTcsNiw2LDgsOCw3LDIwNiJdID0gMC4wMTk3OTAwOTU2NDE0NDA3NDEsIFsiaGFuLDE3LDYsNiw4LDgsNywyMDciXSA9IDAuMjUyOTAzMzI3OTk2NzMxMjEsIFsiaGFuLDE3LDcsMSw4LDgsNywxIl0gPSAwLjYxOTc2MjI2Mjk3NzExNTM0LCBbImhhbiwxNyw3LDEsOCw4LDcsMiJdID0gMC42NTM1NTgxNTM5NTcyMTg4MywgWyJoYW4sMTcsNyw0LDgsOCw3LDIiXSA9IDAuMTY1OTY4NTQxNzI5Mjg1NTUsIFsiaGFuLDE3LDcsNCw4LDgsNywzIl0gPSAwLjI4MjY3MDMwMzAyMDEwNDU0LCBbImhhbiwxNyw3LDQsOCw4LDcsMjkiXSA9IDAuNzUwNTYxODUyNTc0MzM2MjcsIFsiaGFuLDE3LDcsNCw4LDgsNywzMCJdID0gMC42NDI0NDI5MTUyMTcwNDg5OSwgWyJoYW4sMTcsNyw0LDgsOCw3LDU3Il0gPSAwLjg1OTAxMTA1NzIxMDE5Njk5LCBbImhhbiwxNyw3LDQsOCw4LDcsNTgiXSA9IDAuODM2NjY0ODI2NDYwNTczODMsIFsiaGFuLDE3LDcsNCw4LDgsNyw4MSJdID0gMC45ODIwNzcxNzQwMDUyNTU0LCBbImhhbiwxNyw3LDQsOCw4LDcsODIiXSA9IDAuNTY1NjMxNjcyMzk1Mzg3ODEsIFsiaGFuLDE3LDcsNCw4LDgsNywxMDYiXSA9IDAuMTA3NzU4ODk1NDE1Mzk5NCwgWyJoYW4sMTcsNyw0LDgsOCw3LDEwNyJdID0gMC44MzAxODYyNzg0OTY3NzY0LCBbImhhbiwxNyw3LDQsOCw4LDcsMTM1Il0gPSAwLjk0MDg0NzMyODQwNTA2NzEzLCBbImhhbiwxNyw3LDQsOCw4LDcsMTM2Il0gPSAwLjA4NDg4MjI2MjI4MTUyNDYyMywgWyJoYW4sMTcsNyw0LDgsOCw3LDEzNyJdID0gMC43Njg0NDk1OTQzNDIyNTM3OSwgWyJoYW4sMTcsNyw0LDgsOCw3LDE2MyJdID0gMC41NTM1Njg0MzUzODA0MDgyMywgWyJoYW4sMTcsNyw0LDgsOCw3LDE2NCJdID0gMC41ODU1NjY2MjY2MDU0NTExMSwgWyJoYW4sMTcsNyw0LDgsOCw3LDE4OSJdID0gMC4xMzI5NDU4ODM1MDM1Njg2MiwgWyJoYW4sMTcsNyw0LDgsOCw3LDE5MCJdID0gMC45NTIzMDUyOTEzNzc3NjA3NywgWyJoYW4sMTcsNyw0LDgsOCw3LDIxOSJdID0gMC4xMTY3NTkzNTEzNTc0NTA1MiwgWyJoYW4sMTcsNyw0LDgsOCw3LDIyMCJdID0gMC4yOTg4ODg2NTU1NzEwNzM0NywgWyJoYW4sMTcsNyw2LDgsOCw3LDIwIl0gPSAwLjQ2NTQzOTUyMDU0MzE4NTE2LCBbImhhbiwxNyw3LDYsOCw4LDcsMjEiXSA9IDAuOTM1ODE2NTY0OTQ1MzkwMjMsIFsiaGFuLDE3LDcsNiw4LDgsNyw0NCJdID0gMC45NTAyOTIwNDQxNDA5Nzc5LCBbImhhbiwxNyw3LDYsOCw4LDcsNDUiXSA9IDAuNTMxMTA5NDEzNzI5MzIwMTksIFsiaGFuLDE3LDcsNiw4LDgsNyw2NyJdID0gMC41MTIyNjE4MjAyODc5MTc4OSwgWyJoYW4sMTcsNyw2LDgsOCw3LDY4Il0gPSAwLjYzNjIwMzI2MzMxNjA2ODU4LCBbImhhbiwxNyw3LDYsOCw4LDcsOTEiXSA9IDAuNTcwNjA5Mjc1Nzk3NTE3MTksIFsiaGFuLDE3LDcsNiw4LDgsNyw5MiJdID0gMC4wODYwMDg5MzAwNzk2OTkxMiwgWyJoYW4sMTcsNyw2LDgsOCw3LDkzIl0gPSAwLjU2NDQ5MzU1NDkwNTIyNTY4LCBbImhhbiwxNyw3LDYsOCw4LDcsMTE5Il0gPSAwLjE4OTgxODQyNDA2OTQ1MTM3LCBbImhhbiwxNyw3LDYsOCw4LDcsMTIwIl0gPSAwLjU2ODY4MTIxNzgyMzI5NzE3LCBbImhhbiwxNyw3LDYsOCw4LDcsMTQ4Il0gPSAwLjIyMzE5OTA2NzczNzUyOTUxLCBbImhhbiwxNyw3LDYsOCw4LDcsMTQ5Il0gPSAwLjQzMjg2MzY5NDkxOTg3MjUzLCBbImhhbiwxNyw3LDYsOCw4LDcsMTc2Il0gPSAwLjYwNTM4NTUwODkxNDY2NTM2LCBbImhhbiwxNyw3LDYsOCw4LDcsMTc3Il0gPSAwLjgxNjE5NDQ0MjQ3MzM5ODksIFsiaGFuLDE3LDcsNiw4LDgsNywyMDQiXSA9IDAuOTE0MTE4OTQwODcxMTA4MzQsIFsiaGFuLDE3LDcsNiw4LDgsNywyMDUiXSA9IDAuNDE3NTUxMzUwMzY0ODU4OTEsIFsiaGFuLDE3LDgsMyw4LDgsNywyMjAiXSA9IDAuMjY4MzAxNjk4OTg3OTY2NTIsIFsiaGFuLDE3LDgsMyw4LDgsNywyMjEiXSA9IDAuNzEwMTM1NzU2MjA0MjA0OTksIFsiaGFuLDE3LDgsNCw4LDgsNywzIl0gPSAwLjU1MzUxMjUzMzEzMTEyMzcsIFsiaGFuLDE3LDgsNCw4LDgsNyw0Il0gPSAwLjk4MTg2Nzc3NjAxNzUzMzYxLCBbImhhbiwxNyw4LDQsOCw4LDcsMzAiXSA9IDAuMTE5ODYzMjcyMzIwNDE3NiwgWyJoYW4sMTcsOCw0LDgsOCw3LDMxIl0gPSAwLjU3MDcyMDU1Nzc1MDc3NDc5LCBbImhhbiwxNyw4LDQsOCw4LDcsNTgiXSA9IDAuMTc2ODcwNTIwMDY1NTIzNCwgWyJoYW4sMTcsOCw0LDgsOCw3LDU5Il0gPSAwLjQ2MDM2NjM3MDA1MTg2MTQzLCBbImhhbiwxNyw4LDQsOCw4LDcsODIiXSA9IDAuNjE4NTY0NTE0NTkxOTQxMzksIFsiaGFuLDE3LDgsNCw4LDgsNyw4MyJdID0gMC4wNDE2ODg0MDYxNDY5NDc3OTgsIFsiaGFuLDE3LDgsNCw4LDgsNyw4NCJdID0gMC44NTkyOTk1Njk0Mjg5NjYyNCwgWyJoYW4sMTcsOCw0LDgsOCw3LDEwNyJdID0gMC4yMDcxNTQzOTIwNDYzOTM0MSwgWyJoYW4sMTcsOCw0LDgsOCw3LDEwOCJdID0gMC45MTMwODg4MjYxNDI4MDA3NCwgWyJoYW4sMTcsOCw0LDgsOCw3LDEzNyJdID0gMC4xODU2NTA3NTE1MTI2NzI0MSwgWyJoYW4sMTcsOCw0LDgsOCw3LDEzOCJdID0gMC4zMzY3NDI2MTQwMTA4NTIyNiwgWyJoYW4sMTcsOCw0LDgsOCw3LDE2NCJdID0gMC44Nzc5MzgwMjczNjcyMzg1OCwgWyJoYW4sMTcsOCw0LDgsOCw3LDE2NSJdID0gMC42NjU1ODkzNjc4OTYyNzIxLCBbImhhbiwxNyw4LDQsOCw4LDcsMTkwIl0gPSAwLjc1MzY5OTg5MTY3MjY4NzM2LCBbImhhbiwxNyw4LDQsOCw4LDcsMTkxIl0gPSAwLjYwMTUzMTU1MDUxMTU5NzY4LCBbImhhbiwxNyw4LDYsOCw4LDcsMTgiXSA9IDAuOTI5MjEzNDM0NzM5OTY3NjUsIFsiaGFuLDE3LDgsNiw4LDgsNywxOSJdID0gMC4wMzYyODc4MDg4MDc0MTQxMTMsIFsiaGFuLDE3LDgsNiw4LDgsNywyMCJdID0gMC4zOTA0NjAzMDkzNTQ5MDYzOSwgWyJoYW4sMTcsOCw2LDgsOCw3LDQzIl0gPSAwLjUwNjczNDQ4Mjk1NDU5NzQ0LCBbImhhbiwxNyw4LDYsOCw4LDcsNDQiXSA9IDAuMjc4NTIyODY2NjQ3NDY1MjgsIFsiaGFuLDE3LDgsNiw4LDgsNyw2NiJdID0gMC4xODgzMDU4NDYxNzg0MzYxNSwgWyJoYW4sMTcsOCw2LDgsOCw3LDY3Il0gPSAwLjg3MjQxMjQwMTQyMzIwNTc1LCBbImhhbiwxNyw4LDYsOCw4LDcsOTAiXSA9IDAuNTM3Mzc2ODU4MjQ4NDA5MzEsIFsiaGFuLDE3LDgsNiw4LDgsNyw5MSJdID0gMC44MDExNzI5OTMzOTM1MjAxMSwgWyJoYW4sMTcsOCw2LDgsOCw3LDExOCJdID0gMC44MzYxODY4MjY1NDY3NDI5MiwgWyJoYW4sMTcsOCw2LDgsOCw3LDExOSJdID0gMC4yMzQzOTY5MDgxMzAwNjM0MiwgWyJoYW4sMTcsOCw2LDgsOCw3LDE0NyJdID0gMC44ODU2NTU2MzcwMzg2NDUyNSwgWyJoYW4sMTcsOCw2LDgsOCw3LDE0OCJdID0gMC41NDU3OTQxNDk0MzY0ODkwNywgWyJoYW4sMTcsOCw2LDgsOCw3LDE3NSJdID0gMC44ODk1MzIwNTg1Njc5OTI4OSwgWyJoYW4sMTcsOCw2LDgsOCw3LDE3NiJdID0gMC41NzA4ODg0NzQ0MzIyOTk1MSwgWyJoYW4sMTcsOCw2LDgsOCw3LDIwMyJdID0gMC4wNDU4NTA0ODkwMDQxMzgwMTgsIFsiaGFuLDE3LDgsNiw4LDgsNywyMDQiXSA9IDAuMTU0MjEyOTUyMDAzMjkzNzcsIFsiaGFuLDE3LDksMiw4LDgsNywyMjEiXSA9IDAuOTEwMzAxNzI3Nzk2NTg4NTgsIFsiaGFuLDE3LDksMiw4LDgsNywyMjIiXSA9IDAuNjExMzE1ODU4OTIyNTE1MTcsIFsiaGFuLDE3LDksNCw4LDgsNyw0Il0gPSAwLjA1NDgwNTI2MzAzMjk5MjkzNSwgWyJoYW4sMTcsOSw0LDgsOCw3LDUiXSA9IDAuNDcyODMzMzI2MjQ3Nzg0NCwgWyJoYW4sMTcsOSw0LDgsOCw3LDMxIl0gPSAwLjcxMDMxNDM2MTcxMDkwNDksIFsiaGFuLDE3LDksNCw4LDgsNywzMiJdID0gMC44ODE5MTc3NzExMDE1NjcxMSwgWyJoYW4sMTcsOSw0LDgsOCw3LDU5Il0gPSAwLjgzMDIwMTk2NDc3MzE0ODQ1LCBbImhhbiwxNyw5LDQsOCw4LDcsNjAiXSA9IDAuNzEwMTE1NzQ5MjkxMDg2NzgsIFsiaGFuLDE3LDksNCw4LDgsNyw4NCJdID0gMC4wODcwMDM3MzM5MDA1ODk1NzUsIFsiaGFuLDE3LDksNCw4LDgsNyw4NSJdID0gMC4yMzQwNjk0NTE1NzQ4NTY5MiwgWyJoYW4sMTcsOSw0LDgsOCw3LDEwOCJdID0gMC41MjgzNTA1Nzk2NTE1Mzc3NiwgWyJoYW4sMTcsOSw0LDgsOCw3LDEwOSJdID0gMC42NTYxODU3MTE5MjA1MDI1NywgWyJoYW4sMTcsOSw0LDgsOCw3LDEzOCJdID0gMC41MTg5NjIwNjQwMzAxOTU3NCwgWyJoYW4sMTcsOSw0LDgsOCw3LDEzOSJdID0gMC43NjUzNTk5MzQ3NzUxMTQzMywgWyJoYW4sMTcsOSw0LDgsOCw3LDE2NSJdID0gMC40NzkwODMzMTk2NTI5MDE2MywgWyJoYW4sMTcsOSw0LDgsOCw3LDE2NiJdID0gMC41MTU3NjA5NDA2NzkzMTcxLCBbImhhbiwxNyw5LDQsOCw4LDcsMTkxIl0gPSAwLjU1ODEwMzkzNjA0MzYxNjQxLCBbImhhbiwxNyw5LDQsOCw4LDcsMTkyIl0gPSAwLjQwMTIxMDEwNjQwNDk5ODg4LCBbImhhbiwxNyw5LDYsOCw4LDcsMTciXSA9IDAuNzc4OTU3MTk0NjcyODQwNDEsIFsiaGFuLDE3LDksNiw4LDgsNywxOCJdID0gMC4xNzg5NDc4MDA0NTg0MjEyOSwgWyJoYW4sMTcsOSw2LDgsOCw3LDQyIl0gPSAwLjIwNTk2MjMwNzQ0NTY2ODAxLCBbImhhbiwxNyw5LDYsOCw4LDcsNDMiXSA9IDAuODU2NzU4NTQzNDU3ODc1NSwgWyJoYW4sMTcsOSw2LDgsOCw3LDY1Il0gPSAwLjk0NjkyOTk3Mjk4OTc3MDIyLCBbImhhbiwxNyw5LDYsOCw4LDcsNjYiXSA9IDAuNDkxMDI1Nzg0MjE3NDQyNTgsIFsiaGFuLDE3LDksNiw4LDgsNyw4OSJdID0gMC45NTQ4MzI2NjEwNzMyNTkzNywgWyJoYW4sMTcsOSw2LDgsOCw3LDkwIl0gPSAwLjYzMjc3NjcxNjM4NDA1OTQxLCBbImhhbiwxNyw5LDYsOCw4LDcsMTE3Il0gPSAwLjE2NDg5ODkxMjkzNDQ5MjQ0LCBbImhhbiwxNyw5LDYsOCw4LDcsMTE4Il0gPSAwLjY2MzgxMjQ4MTE3MjY5NTk4LCBbImhhbiwxNyw5LDYsOCw4LDcsMTc0Il0gPSAwLjc2MjQ4ODUyNTI5ODU3ODQ3LCBbImhhbiwxNyw5LDYsOCw4LDcsMTc1Il0gPSAwLjEyODc4MzA3NDMzNzkxOTkxLCBbImhhbiwxNyw5LDYsOCw4LDcsMjAyIl0gPSAwLjIyMDkxMjU5Mjg5Mjk1NDUxLCBbImhhbiwxNyw5LDYsOCw4LDcsMjAzIl0gPSAwLjg0MjgxMDQzMjkwOTE5Njk5LCBbImhhbiwxNyw5LDcsOCw4LDcsMTQ2Il0gPSAwLjkyNDg0MDIyNTE1OTU0NzExLCBbImhhbiwxNyw5LDcsOCw4LDcsMTQ3Il0gPSAwLjE2ODY3MDY5MjMzNDc2MjA2LCBbImhhbiwxNywxMCwyLDgsOCw3LDIyMiJdID0gMC41NjIwNzgxNzMwMTUwODQ3OCwgWyJoYW4sMTcsMTAsMiw4LDgsNywyMjMiXSA9IDAuOTM5NDA5NzM3MTY2NDY2NDcsIFsiaGFuLDE3LDEwLDQsOCw4LDcsNSJdID0gMC41ODY2ODg4MTE1NTU4MTA0MywgWyJoYW4sMTcsMTAsNCw4LDgsNyw2Il0gPSAwLjg5NjcwNzQzMzk2OTg5NzcyLCBbImhhbiwxNywxMCw0LDgsOCw3LDMyIl0gPSAwLjM0MjQyMzk1NjE4ODMyNTExLCBbImhhbiwxNywxMCw0LDgsOCw3LDMzIl0gPSAwLjU2MTYyNTg3MzI4MjA1OTgyLCBbImhhbiwxNywxMCw0LDgsOCw3LDYwIl0gPSAwLjQ3MDUxMDYzNjU0Nzg0MjIsIFsiaGFuLDE3LDEwLDQsOCw4LDcsNjEiXSA9IDAuNTIzMjQ5OTE2NDM2NjA3MTIsIFsiaGFuLDE3LDEwLDQsOCw4LDcsODUiXSA9IDAuNzA2MTAzMTUyNTE4MDc4NTQsIFsiaGFuLDE3LDEwLDQsOCw4LDcsODYiXSA9IDAuMTEyNTQwMjkzMDQyMjM5NDUsIFsiaGFuLDE3LDEwLDQsOCw4LDcsMTA5Il0gPSAwLjU3NTEwOTk2NTE1NTYwMjY0LCBbImhhbiwxNywxMCw0LDgsOCw3LDExMCJdID0gMC4yNDcxNzY1NzIyMjkzOTk5MywgWyJoYW4sMTcsMTAsNCw4LDgsNywxMzkiXSA9IDAuNzcyMjU5MjcyNDA0MTQwMTYsIFsiaGFuLDE3LDEwLDQsOCw4LDcsMTQwIl0gPSAwLjE0MDE4NzY4NDkzMDY0OTgxLCBbImhhbiwxNywxMCw0LDgsOCw3LDE2NiJdID0gMC43NDA2ODY4Mzg0OTE1NTM0OCwgWyJoYW4sMTcsMTAsNCw4LDgsNywxNjciXSA9IDAuNDM2MzcyMjE4MzA1MDg1NzcsIFsiaGFuLDE3LDEwLDQsOCw4LDcsMTkyIl0gPSAwLjI1MjcwNjMzNTA3ODQyODY2LCBbImhhbiwxNywxMCw0LDgsOCw3LDE5MyJdID0gMC43NjU4NDI3NjM0Mzg4MTU2MywgWyJoYW4sMTcsMTAsNiw4LDgsNywxMyJdID0gMC4yOTk2Mjg4ODc4MzcyODUyNSwgWyJoYW4sMTcsMTAsNiw4LDgsNywxNCJdID0gMC4wNDgyNzM4ODk0NTgwMTk2OTIsIFsiaGFuLDE3LDEwLDYsOCw4LDcsMTUiXSA9IDAuMDI4NDg2NTExNjczMjAzMTUyLCBbImhhbiwxNywxMCw2LDgsOCw3LDE2Il0gPSAwLjA0MTUxMTgyODY5NjEzNjQ1NSwgWyJoYW4sMTcsMTAsNiw4LDgsNywxNyJdID0gMC43MDMyMzU3ODczODE3NDk2MywgWyJoYW4sMTcsMTAsNiw4LDgsNyw0MCJdID0gMC4zNzYyOTAyNTg4MjkzOTUwNCwgWyJoYW4sMTcsMTAsNiw4LDgsNyw0MSJdID0gMC4wNDg2OTU0OTcwMjI0NjQyMjksIFsiaGFuLDE3LDEwLDYsOCw4LDcsNDIiXSA9IDAuODc4NTI0MjcxMDM0NjkxNjYsIFsiaGFuLDE3LDEwLDYsOCw4LDcsNjQiXSA9IDAuMTU0NzE4OTA0NDczMDk1NjYsIFsiaGFuLDE3LDEwLDYsOCw4LDcsNjUiXSA9IDAuNTA4NTUwMjMzMzQ1OTgwNiwgWyJoYW4sMTcsMTAsNiw4LDgsNyw4OCJdID0gMC41NTcyNjU3NDM5NzM4NTg0MiwgWyJoYW4sMTcsMTAsNiw4LDgsNyw4OSJdID0gMC40MTY1ODUzNDI3NDYxMjM0NywgWyJoYW4sMTcsMTAsNiw4LDgsNywxMTYiXSA9IDAuODkyMzIxODU0OTQ4NDM5MDcsIFsiaGFuLDE3LDEwLDYsOCw4LDcsMTE3Il0gPSAwLjIwNjIyOTQxNzM0NTc3NTcxLCBbImhhbiwxNywxMCw2LDgsOCw3LDE0NCJdID0gMC4zNjA5Njk4MTU5MzYyMDAwMywgWyJoYW4sMTcsMTAsNiw4LDgsNywxNDUiXSA9IDAuMDQ1NDY4OTc4NTU2MjE0MzQ2LCBbImhhbiwxNywxMCw2LDgsOCw3LDE0NiJdID0gMC44MjIyNTIyMzU5MDY2NjYxOCwgWyJoYW4sMTcsMTAsNiw4LDgsNywxNzMiXSA9IDAuMTI0ODk2OTg2NTQ1Njk1NywgWyJoYW4sMTcsMTAsNiw4LDgsNywxNzQiXSA9IDAuNzY1MzE3NjQzMTU3NDIxMzUsIFsiaGFuLDE3LDEwLDYsOCw4LDcsMjAwIl0gPSAwLjM2NDMxODg4NDYxNTQxMzI5LCBbImhhbiwxNywxMCw2LDgsOCw3LDIwMSJdID0gMC4wNzAwMDI0NDg3ODU1Mjk5NjksIFsiaGFuLDE3LDEwLDYsOCw4LDcsMjAyIl0gPSAwLjYxNTg0NTYxNjA0MDg2Mzg1LCBbImhhbiwxNywxMSwyLDgsOCw3LDIyMyJdID0gMC44MjE0OTM1MjI5NTg0MDU3MiwgWyJoYW4sMTcsMTEsNCw4LDgsNyw2Il0gPSAwLjYwNzUwMTIwOTU5MDMyNDI4LCBbImhhbiwxNywxMSw0LDgsOCw3LDciXSA9IDAuNzY5Mzg5NTMyNDkwMzY2NTcsIFsiaGFuLDE3LDExLDQsOCw4LDcsOCJdID0gMC4zNjg3NTIyMDI3NzU3NzcyNSwgWyJoYW4sMTcsMTEsNCw4LDgsNyw5Il0gPSAwLjYyMjUwODE3MDUwMzQ4NTE3LCBbImhhbiwxNywxMSw0LDgsOCw3LDEwIl0gPSAwLjQwMTMxNDA4MjM4OTE1NjExLCBbImhhbiwxNywxMSw0LDgsOCw3LDMzIl0gPSAwLjczNTM5MDQ2ODExNDA5NzAzLCBbImhhbiwxNywxMSw0LDgsOCw3LDM0Il0gPSAwLjgzNjc5ODkwODY3ODgxMDU3LCBbImhhbiwxNywxMSw0LDgsOCw3LDM1Il0gPSAwLjIxOTY4NzA4OTkzMTI2MjQsIFsiaGFuLDE3LDExLDQsOCw4LDcsMzYiXSA9IDAuODg3NzkzMjMxODQzODU0MTcsIFsiaGFuLDE3LDExLDQsOCw4LDcsMzciXSA9IDAuNjQzNjAzOTU5NjUzMjYwNTYsIFsiaGFuLDE3LDExLDQsOCw4LDcsMzgiXSA9IDAuMDkyMTg1NjU2NTI1OTQxNTczLCBbImhhbiwxNywxMSw0LDgsOCw3LDYxIl0gPSAwLjU1MzY4MDY2NTUyNTU5NDU4LCBbImhhbiwxNywxMSw0LDgsOCw3LDYyIl0gPSAwLjA2MTgyNzUxMjY5ODUyNjE1NSwgWyJoYW4sMTcsMTEsNCw4LDgsNyw4NiJdID0gMC41ODc5MDQyODU0NDIwMTEzNCwgWyJoYW4sMTcsMTEsNCw4LDgsNyw4NyJdID0gMC44OTMxOTMzODk3Mzg4MDMxMywgWyJoYW4sMTcsMTEsNCw4LDgsNyw4OCJdID0gMC4wMjk3OTUwNDk3MTUxOTQ2NDQsIFsiaGFuLDE3LDExLDQsOCw4LDcsODkiXSA9IDAuMzMxOTA2MjUxODY5MzE2MSwgWyJoYW4sMTcsMTEsNCw4LDgsNywxMTAiXSA9IDAuNDI4NzMyNDQ5NDI2MDQwNzIsIFsiaGFuLDE3LDExLDQsOCw4LDcsMTExIl0gPSAwLjc0MjY5NTk1MzAzNDE5NDMzLCBbImhhbiwxNywxMSw0LDgsOCw3LDExMiJdID0gMC4wMzE4MDMyODE5NTk2MTUyMzcsIFsiaGFuLDE3LDExLDQsOCw4LDcsMTEzIl0gPSAwLjY3NDE5ODg3NjAzMjU3OTIyLCBbImhhbiwxNywxMSw0LDgsOCw3LDExNCJdID0gMC4zNTM1MDkzOTM2NzU4OTE5NiwgWyJoYW4sMTcsMTEsNCw4LDgsNywxNDAiXSA9IDAuMjE4MjQzMDU2MDIyMDU3NjIsIFsiaGFuLDE3LDExLDQsOCw4LDcsMTQxIl0gPSAwLjkwOTY2NjkyOTE3Njk2MzAxLCBbImhhbiwxNywxMSw0LDgsOCw3LDE0MiJdID0gMC4zODc5Nzk4MDU5ODMzMjMwNSwgWyJoYW4sMTcsMTEsNCw4LDgsNywxNjciXSA9IDAuNjkxMzkxOTA5MzMxMjk3NjgsIFsiaGFuLDE3LDExLDQsOCw4LDcsMTY4Il0gPSAwLjc5NjUwNzI0NTgxMTU5MTM4LCBbImhhbiwxNywxMSw0LDgsOCw3LDE2OSJdID0gMC44ODk0Mjg5MjkyNzY3NjkyLCBbImhhbiwxNywxMSw0LDgsOCw3LDE3MCJdID0gMC4wODg0Mjk5NjMzNTk0NjcxNzksIFsiaGFuLDE3LDExLDQsOCw4LDcsMTkzIl0gPSAwLjM3Nzc5ODI5OTg3MDA4NTUxLCBbImhhbiwxNywxMSw0LDgsOCw3LDE5NCJdID0gMC4wMTU0NzUwNzQxNzIxNzc4NjEsIFsiaGFuLDE3LDExLDQsOCw4LDcsMTk1Il0gPSAwLjk1MTgwNjM4Mjk5Njg3MDM3LCBbImhhbiwxNywxMSw0LDgsOCw3LDE5NiJdID0gMC40ODk0NTAzMDQxOTE0OTcyNywgWyJoYW4sMTcsMTEsNCw4LDgsNywxOTciXSA9IDAuMTIyMDkxNjA1Mzc0Mzk0NTYsIFsiaGFuLDE3LDExLDQsOCw4LDcsMTk4Il0gPSAwLjk5MTAxMTQyODUxMTg5MjUsIFsiaGFuLDE3LDExLDUsOCw4LDcsMTAiXSA9IDAuMDI4Mjc3MjM1MjM2NzIzNTQxLCBbImhhbiwxNywxMSw1LDgsOCw3LDExIl0gPSAwLjk2Mjc4NjMwMTM0MTkyNjg5LCBbImhhbiwxNywxMSw1LDgsOCw3LDM4Il0gPSAwLjY3NTU1NzUxMjg3NjQ4OTI0LCBbImhhbiwxNywxMSw1LDgsOCw3LDM5Il0gPSAwLjA3Mzg0MjU5NTc5Mzg3MDQyNSwgWyJoYW4sMTcsMTEsNSw4LDgsNyw2MiJdID0gMC4yMDk5NzgwMTQ1MTg5NjQ3LCBbImhhbiwxNywxMSw1LDgsOCw3LDYzIl0gPSAwLjI5NjgyMzg4NjYyNTkwNDA5LCBbImhhbiwxNywxMSw1LDgsOCw3LDg2Il0gPSAwLjcxNTYwNzc1MzQyMzY3MTMzLCBbImhhbiwxNywxMSw1LDgsOCw3LDg3Il0gPSAwLjc0NzgxMzk2NjEzNDgwNjY2LCBbImhhbiwxNywxMSw1LDgsOCw3LDExNCJdID0gMC43NjIyMTY1MTEzNDY3OTE1OCwgWyJoYW4sMTcsMTEsNSw4LDgsNywxMTUiXSA9IDAuMzQ0MzczNzc3NjMzMDk3MjksIFsiaGFuLDE3LDExLDUsOCw4LDcsMTQyIl0gPSAwLjAwNjA5NDcyNDQ2NzExMzIzMjgsIFsiaGFuLDE3LDExLDUsOCw4LDcsMTQzIl0gPSAwLjAzMDM5NzEyMzU1MTQ3NTA1OCwgWyJoYW4sMTcsMTEsNSw4LDgsNywxNzAiXSA9IDAuMzI2MzM4NTMwMzA0NjM2ODksIFsiaGFuLDE3LDExLDUsOCw4LDcsMTcxIl0gPSAwLjAwNDMxNTU4OTQ5MTM0NTEzOTgsIFsiaGFuLDE3LDExLDUsOCw4LDcsMTk4Il0gPSAwLjIxMDI2MzI0MTMyMTQ2ODAxLCBbImhhbiwxNywxMSw1LDgsOCw3LDE5OSJdID0gMC4zODg2NTI2NDgxMzQ2NzMwNCwgWyJoYW4sMTcsMTEsNiw4LDgsNywxMSJdID0gMC4wOTY0OTM1NDM5MDU1NTQ1MzUsIFsiaGFuLDE3LDExLDYsOCw4LDcsMTIiXSA9IDAuMDcxNjY3MDkxMDQyMTM5MzA4LCBbImhhbiwxNywxMSw2LDgsOCw3LDEzIl0gPSAwLjQxNDI0Nzk4MTM3NjQ1MzkxLCBbImhhbiwxNywxMSw2LDgsOCw3LDM5Il0gPSAwLjczMDIyNTQ5NjAxODQxODQ2LCBbImhhbiwxNywxMSw2LDgsOCw3LDQwIl0gPSAwLjUyMTYxMjk4MDIzOTg4MDU2LCBbImhhbiwxNywxMSw2LDgsOCw3LDYzIl0gPSAwLjIyNTc5NTg4NzI5NjkxNDgsIFsiaGFuLDE3LDExLDYsOCw4LDcsNjQiXSA9IDAuOTQ1MTM3OTMyMDg3NzI1MzQsIFsiaGFuLDE3LDExLDYsOCw4LDcsODciXSA9IDAuMDM0MjE5Mjc2MDI0OTgxNzYsIFsiaGFuLDE3LDExLDYsOCw4LDcsODgiXSA9IDAuNDM2OTk1MTk3Mzk1MjAxOTgsIFsiaGFuLDE3LDExLDYsOCw4LDcsMTE1Il0gPSAwLjk2MzE5MTc1NTY3ODUzNDc3LCBbImhhbiwxNywxMSw2LDgsOCw3LDExNiJdID0gMC44NjY1MzY3NDYyNTUwOTk2OSwgWyJoYW4sMTcsMTEsNiw4LDgsNywxNDMiXSA9IDAuMDQ2MjA4MTcwNjI1NzE0MDI5LCBbImhhbiwxNywxMSw2LDgsOCw3LDE0NCJdID0gMC44MTY0MDIzMjYyMTk3OTM0NywgWyJoYW4sMTcsMTEsNiw4LDgsNywxNzEiXSA9IDAuOTUyOTg2MDQ3ODEyOTE1MDcsIFsiaGFuLDE3LDExLDYsOCw4LDcsMTcyIl0gPSAwLjA2MzA2ODYzMTY5OTkyNjkzNiwgWyJoYW4sMTcsMTEsNiw4LDgsNywxNzMiXSA9IDAuMjE2NTQyMDkxMDA0MDMwNzcsIFsiaGFuLDE3LDExLDYsOCw4LDcsMTk5Il0gPSAwLjAwMzg3NDE2Mjc2NjgyMzUwNzksIFsiaGFuLDE3LDExLDYsOCw4LDcsMjAwIl0gPSAwLjk0Njk4MTg1NzE0ODA3OTd9IC0tW1t0YWJsZTogMHgwYTE4ZTA0OF1d"
  },
  {
    "path": "officialworlds/minigames/robbery.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":false,\"author\":\"oatmealine\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"leef be blad\",\"is_overworld\":false,\"palette\":\"edge\",\"parent_level\":\"\",\"name\":\"robbery\",\"map\":\"eJyVmdtO4zAQhl8FcYF2pYqN7RxBfRYU2rSqGiUopAKEePdNPOPGTp34546L73fjOXlm2Ld3dbsr67uX7fd3f6qr7X3/2b+8lq/3m89ttDntt2LzNfzx/lbtTmW9/f7Z7E/dVvxsGP8o6ysqB1RgqBpQiaHxgCoMTQY0xtB0QBMMzQY0xdB8QDMMLQY0x1ARDWwBsqO/BOgwoT224jIdDFVd95Nk9JxYcR1JJn50n1jx38gf24kffShWnDidLzSfQvFJbAYFKLF5wDQOXASMYsMyCljEgQVgjsuIS41LyBrEKsgaxMaYNQhOgBA5V9V5UqRAkLiKDLDLoBgFSgtyyDLEFuuWsc9V0Xp54lJKrPDlceb9BhVKTQdGkrLs2mY/SZC8nEnw1Iw1j6UmsVhqEgumJsGh1LTeOy2IQ+k5Cpp+4pEMPbblR/n1Vr+PskTLsEwlFstUYsFMJRjJ1GPbTwIkUdmaJEDy9GHEU41jWUpsIEttNomgzoBYAbUGxEqoNyBWQc0BsTHUHRCbQN0BsSnWHRCcYaFEcI6E0qVpqklSIME08WkExNKh7fZtN2oyrcHaV2Kx/pVYtR5Q5rEiOPZFifIfnAQ8NF7SuWGKeYngDGtUCM4B/wwC66IF4CH++Fy31hHkHmLFunucc6XPPTcWJ1YBFuciSAKwxBIcKrEOjJTXhwlHiislUKF5rLoSi1VXzeZYdSU2NJ+M3zz8NQnARojgUCN0HWYIR5qgQ1u3zm8gbVBT7blLFDQYgmMKweCcQnAOGZ/hAnrbCC6i9cfN1Dimvc3t0tESe4eYVuAsRnSMxgDziTcIklmZO/WPj4+WKpSq7jeFMtXQeugrsDxlGEtUgkUU8OmM/kWyGgmYrgZHJpdroLEGydq5JpS05rMk4WC6Mh3YEJlKwHTu6+1upkBDF4ALPv4duqqxVHpjhHiBcfGb+dGI5G8mSCNSoB8U4THmB6YTXyrcWpbp1LeDXKQz35y/SHuL8iLtrcpLtARTmGmxPnVw12RoCc0dhlZYyWc6BiL5mrasScA4ZjzFh30jyfCJ1khyMIZjwov1GL5emXC9ULq5glrExXqnO8elLxxuGmND+1vjzDVOZSvA3tjgyAJi11Vlb4uQLrlu27OrQp/ghHDwDWbaX6VdQ9GWmxUxWqEZRyr0cOGy+bJVSIk2wc0StECnhAcK9DX8GMd2FYb2bytuCyPj4L7C4KGNxQwPbStcPAktKwyeEY7tKQwd2FQc6vZo4wp7X5j212k3lk3Tx5JQmZ5lJKuQan0NINYg5dq8aSwJlWs95BmL5aQJ1GxjMaJpMQUkAePCV+GTpcP9o9Kt9xhHZyXGQ8PSDPfPSr6Ng1Gk8I5CFKTIMNsznYO2ZxxstYjW66nwytbQAmuemJZYKWQ6tKSa4aFnmFd3tgR5ih1HQduqpuVnjzXIyurp76iQ9P9gcGllaGwaZjr39lqLtPCNAIu0dwW5SHtL9CLtXSgv0sl6FLutgxGl68E8RYMRZOvxrF+NS9fs2q7pbF0OjAUPtqDAYvtsafQqKxTc9o/obVYotp/+2Aq5ENk/z101Xvzu5blq9v8BKKae3Q==\"}"
  },
  {
    "path": "officialworlds/minigames/robbery.replay",
    "content": "0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,0,undo;-1,1,wasd;0,1,wasd;1,1,wasd;1,0,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;1,-1,wasd;1,-1,wasd;0,-1,wasd;1,-1,wasd;"
  },
  {
    "path": "officialworlds/minigames/robberz.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":true,\"author\":\"oatmealine\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"leef be blad\",\"is_overworld\":false,\"palette\":\"edge\",\"parent_level\":\"\",\"name\":\"silent robbery\",\"map\":\"eJyVmd1OpEAQhV/FeLHZTSZZmn808ywGHWZiJGBGjBrjuy/0qRpgaOizd158B6H+q+bQ3tTtU1nfPOy/v7vnutrfdp/dw2P5eLv73Ae758Pe7L76P95eq6fnst5//+wOz+e9+dkJ/lHWFzTsUcOhUY+GHBr3aMShSY/GHJr2aHKNRk4069GUQ/MezbgXKHo051AT9GxBsoO/DOkwYz224TIbDFVdd6Nk8JzZcB0kIz+4z2z4b+BP7cgPPjQbThyfbyyfUvEJNqMCFGzuMc0MLjxGmcJh4LHIDDaEOd4HPLR4SFkDbERZA2zMWQNwQoTIS1W9jIqUCJK5IiPs0isGQWQFOWUZsMW2ZabPjYLt8iSlFKyhygNYX2rOYCYpy3PbHEYJk5dXEj41Y8tzqQmWS02wZGoC9qXmpN9ZQexLz0HQdCPPZOipLT/Kr9f6bZAlVsZlKlguU8GSmQqYydRT240CJlHFmhAwefprwFOLc1kK1pOlUzYJqMkArHGNBits6JoNVtiIyn6wMTUdgE2o6QBsyk0HgDMulADnTCi9N001SgommEY+DYhYOrbnQ3seNJnVcOMrWG5+BRttB5Q2K8AxNUGCTTweGj5y9oUp5yXAGTeoAM4J//SCyYcWhIfk5XM7WgeUe8CabffMnhu63LOwONiIsLgUQQjIEgvYV2JnMFNef404U1yRQIXlueoKlquuls256grWt58M79z/NQrIQQiwbxCawcwIdGzrdiZihqCmOsiMaLAWkksKYHJLAZxTphe4oDob4CLYbm1a4YQ2VBMSOOS6kNARuYmBjslVDHRC7mKgU4/vlbarW5FxTgecc04HXHBOx24aBJzXhTbURKO0z5OTbFYJ607Bff6cTJwq8Tl1uk2qhnVtCJz0rdCkc4UmvQvakN4V2uNdrVpCh64pNFt7NtNHP/4ez1UzVZHNVHFmY7msrSpi2upC5Guu+mIRcK63Ku3srkvLgrYXo8U3r9LGdZFYpZ2T0iodcdEmtHPuXaWT7f1I5julU2pDUjrj2pPQORHJlwIimoKMY+D2bMTeyFRj+OVbJSEZxDHwaDuILy8keExN2Uq7N5ts/vrVVEGuNor7lpvlP2A2nLptX8puqvJtOfpaCQ7g3I6jtHs+nlsJ93JVkAOy4syt8O73VMHMyRp3IvFNyfpOKXDPfHyJO8HJbBbanc3LEic4m8jAE18iX+G+HL7C2fzNgHvy94qOt8eSY92epnjiqv1LMwrtvjTN41gnQ5H47k1X2Sgq5vB0CSDRMJcn7TeQcMcntVgODXd8Utpzfrp8g+DOn1CTtYfHZBIInpBJIHhKJoHgGX34U0VOXzpMAUXB2R60vUMxthfceSJeGlPokDr8Kh1xg43QMVcKhfYdF69wX/+VA+BU8h89WBRMD25aaXmiYe6Md38GRYhflXOuCSvtOTVe0aErE1fpyDWer9LOEWuVdpboVTqlxnOlMyqKlc6pKFa6oKJYaHuZIqJYccPVMsVDrpYpHnENXfF4JXJ/7s9V935ubh7uq+bwD7W9puA=\"}"
  },
  {
    "path": "officialworlds/minigames/silent robbery.replay",
    "content": "-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,0,space;0,1,wasd;0,1,wasd;0,0,undo;-1,1,wasd;0,1,wasd;1,1,wasd;0,1,wasd;0,0,undo;0,0,space;0,1,wasd;0,0,undo;0,0,space;0,1,wasd;1,0,wasd;0,0,space;0,0,space;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,0,space;1,0,wasd;0,0,space;0,0,space;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,-1,wasd;1,0,wasd;0,0,undo;0,-1,wasd;0,0,space;0,0,space;-1,0,wasd;0,0,undo;0,0,undo;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,0,undo;1,1,wasd;0,0,undo;0,1,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;0,0,undo;0,-1,wasd;0,0,undo;0,0,undo;1,-1,wasd;0,0,undo;1,0,wasd;0,0,undo;0,0,undo;0,0,undo;-1,-1,wasd;-1,0,wasd;-1,1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;0,0,space;0,0,space;1,0,wasd;1,0,wasd;0,-1,wasd;0,0,space;0,0,space;0,0,space;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;"
  },
  {
    "path": "officialworlds/minigames/slenderbab.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":false,\"map\":\"eJyVmNFq4zAQRX+l9GHLQmAjS7blLfmWoiRu663XDrbTNpT++zqakWWHJXPzUAjlHqyZuZJGs2/v6nbn6runzdfXUNXl5n74HJ7+VHV9v/rcrFfVfqNWp/FHfyh3las3X9+rfdVt1Pdqpn94mNTJqFbX1Vu3neR6lOvr8roaJrkZ5QaXp6M8vS53zaTORnV2Xf3WVM+TPh/1Fl+MHeXFdfki78U5k0LiF+sZxSNxQ/LVubRKSP/SC768QgW25VmvvF7L5tmWzcMQCQMYaPaBVDYQh0z6THbQQp/LFmpaFfVWNtF8+YXsoVBjDyRr2UUfv567somIAox0ySSAlfrG7XYR0YCZhlcXS50YwEzHszzx8lT2Uj+U9fAakUw20yWSA4YKjiXCApYqo7yQHdW7pp8AvZYtdRGEVrKtlkHoRPZVMCIBGnBVODuIMICnlkQKWOqlnUWRAY76cZZrL89vcRQhQLEPx+4QAaDcfOB4vbmp2oQouXacJdInQOnIsaTXQOHCzibCAIULdiIiBSo3tJ0/b4wnMrl4f91pG4Ec3ackF07y4FQSn6ucY/F6IF0DNThGuQJKMNaYtzQxCVCE9z7qNbp5Ui83cv7H9odXREiKbx4CMnjzkD6XN0/9Xke9xa9fAgogp/MVZesbfJ15Aui3+QukT+COhvQau3+4cMQYOU/eGblXAxc1r4j0mXzl9oOr3yIBb2WSW9hGpC9kG1WnSZ6v5eyEElsPICUuozyR8xNOIwK0nB5uWklv8JaEgBTtckmeyQmid1jh5efqJtflbTe8tpGweIYIACr8++ckt0iFO2rr6a0HVHgJAO/meJoyo+U8hbcMAcDzOb7GCIErrXxPb4FbeaHP5bjD+4oAKwfNzQ4DhRx0bKiIKYAmLPQWTKj/nvP2ouKuObiuodX5jrVI5Hw17Us7IzTwpuHNyoSRU0bHGeuBa7pu2zc3jwO4qcMOZAK4q0PlCbDAVTo9ln1XWRRy5FOuNM1QkAubHWyIUPJHwl5nApmiTJGkxAibPWx0Vhu5H+UgGID6b44iIwR5bI1/HrGEAA+uC8LKbr8ggJovCT83Q5/8qiAGvsIDgAxGFwByui8AI4fx0roPdzrUNF3gISDQrk3XbWBuG6wwBNzrz/WpnCPAxc5JyAkoAFOO/yl3Q9U2MxMk4r6vZoeXSpDRKduMykMjNSF817XNPt6+ioZqkpt5ZTRRpKkaZhyOJQWIcBTTKUmDNXBddOj5wRq4LjqT/GBNImZXNx1Lfr72P+r7sSuHY9fcPT2Wzf4fAcNhJA==\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"sno be fall\",\"is_overworld\":false,\"palette\":\"ruins\",\"name\":\"slenderbab\",\"height\":15,\"author\":\"jill\"}"
  },
  {
    "path": "officialworlds/minigames/slenderbab.replay",
    "content": "-1,0,udlr;1,-1,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,undo;1,0,udlr;0,0,space;|e1siYmFiLDExLDYsNyw0LDQsMSwxOSJdID0gMC4yMDQ4NzYyMDk0ODI4MTMzOCwgWyJiYWIsMTEsNyw3LDQsNCwxLDE2Il0gPSAwLjc0ODIzNDcxNjc2MzA1ODk3LCBbImJhYiwxMSw3LDcsNCw0LDEsMTciXSA9IDAuNzg1MjIxNTQwNjQ3NDczNCwgWyJiYWIsMTEsNyw3LDQsNCwxLDE4Il0gPSAwLjQzMzgwNTk0MDQ0ODU4NSwgWyJiYWIsMTEsOCw3LDQsNCwxLDE1Il0gPSAwLjA3OTgwMTc2NjY3NjQ4ODUyOCwgWyJiYWIsMTEsOSw1LDQsNCwxLDE0Il0gPSAwLjM0NTQ1MzU5MTY4MjQyNjYyLCBbImJhYiwxMiw5LDUsNCw0LDEsMTEiXSA9IDAuNzA1MTQ3NDE4OTUwODcxMywgWyJiYWIsMTIsOSw1LDQsNCwxLDEyIl0gPSAwLjc2MjMwNzI2NjkwMzE2NzY0LCBbImJhYiwxMiw5LDUsNCw0LDEsMTMiXSA9IDAuMDIzNDc1NzMzMzQ5MTQyNjU4LCBbImJhYiwxMyw5LDUsNCw0LDEsOSJdID0gMC45NjgwMjA3NTAzMzUyMDA5NiwgWyJiYWIsMTMsOSw1LDQsNCwxLDEwIl0gPSAwLjAyMjE4NDk3OTI2MzA3MDYxNCwgWyJiYWIsMTQsOSwzLDQsNCwxLDciXSA9IDAuNjQzMjQ4OTU5NTQ3NTMwODEsIFsiYmFiLDE0LDksMyw0LDQsMSw4Il0gPSAwLjMzODE1NTQ4MzMwMTQ2OTI3LCBbImJhYiwxNSw3LDEsNCw0LDEsMSJdID0gMC4zOTg4Njc1ODQ2NzEyNjUwNCwgWyJubzEsMCwyLDIsMTEsMTQsOCwxIl0gPSAwLjMyNzMxNDQyODc3ODQ5MjE1LCBbIm5vMSwwLDYsMSwxIl0gPSAyMDUsIFsibm8xLDAsNiwxLDIiXSA9IDIxMiwgWyJubzEsMCw2LDEsMyJdID0gMjExLCBbIm5vMSwwLDYsMSw0Il0gPSAxNjEsIFsibm8xLDAsNiwxLDUiXSA9IDI4NiwgWyJubzEsMCw2LDEsNiJdID0gMzUwLCBbIm5vMSwwLDYsMSw3Il0gPSA0MzYsIFsibm8xLDAsNiwxLDgiXSA9IDMzOCwgWyJubzEsMCw2LDEsOSJdID0gMjEyLCBbIm5vMSwwLDYsMSwxMCJdID0gMzIxLCBbIm5vMSwwLDYsMSwxMSJdID0gNDI4LCBbIm5vMSwwLDYsMSwxMiJdID0gMzk5LCBbIm5vMSwwLDYsMSwxMyJdID0gMjAzLCBbIm5vMSwwLDYsMSwxNCJdID0gMTY4LCBbIm5vMSwwLDYsMSwxNSJdID0gNDQxLCBbIm5vMSwwLDYsMSwxNiJdID0gMjg1LCBbIm5vMSwwLDYsMSwxNyJdID0gMzQ3LCBbIm5vMSwwLDYsMSwxOCJdID0gMTY2LCBbIm5vMSwwLDYsMSwxOSJdID0gMTgxLCBbIm5vMSwwLDYsMSwyMCJdID0gMzYwLCBbIm5vMSwwLDcsMywxMSwxNCw4LDEiXSA9IDAuNjI3MjQ4ODM4MDMzNzIwMjIsIFsibm8xLDAsMTIsNCwxMSwxNCw4LDEiXSA9IDAuMjA4MTI0NTMxMzMyNzIzNTcsIFsibm8xLDEsMiwzLDExLDE0LDgsMSJdID0gMC4wMjEyMzA5NDAwMDc0MjYyMDIsIFsibm8xLDEsNyw0LDExLDE0LDgsMSJdID0gMC4zMjY2OTE4NTI4NDk2ODQ0OSwgWyJubzEsMSwxMiw1LDExLDE0LDgsMSJdID0gMC44NTY2MjQyODM2NDQ4MjEyNCwgWyJubzEsMiwyLDQsMTEsMTQsOCwxIl0gPSAwLjQ4MzUzNDU4MzgwMjk2NTIxLCBbIm5vMSwyLDcsNSwxMSwxNCw4LDEiXSA9IDAuODA2MjIzNjYyMjQwNTQwMzIsIFsibm8xLDIsMTIsNiwxMSwxNCw4LDEiXSA9IDAuOTM4Mzk1MTUzOTYxMzUxMDksIFsibm8xLDMsMSw4LDExLDE0LDgsMSJdID0gMC44NjI5OTcyNjE5NDMwMDI0MSwgWyJubzEsMywyLDUsMTEsMTQsOCwxIl0gPSAwLjkzNDMxOTkxNjE3ODUwNTQxLCBbIm5vMSwzLDMsMiwxMSwxNCw4LDEiXSA9IDAuNjE0MTUzODc4MTczMTkxNjcsIFsibm8xLDMsOCwzLDExLDE0LDgsMSJdID0gMC41NzUyOTg2NzE0NDQ5OTIxNCwgWyJubzEsMywxMiw3LDExLDE0LDgsMSJdID0gMC4xOTgyNjUxMDk5NjA2MTI3NSwgWyJubzEsNCwxLDEsMTEsMTQsOCwxIl0gPSAwLjI3NTE2NjA5OTc3NjQwODQ5LCBbIm5vMSw0LDIsNiwxMSwxNCw4LDEiXSA9IDAuNDIzOTg2NjUzNTM4NTQ4MTQsIFsibm8xLDQsMywzLDExLDE0LDgsMSJdID0gMC4zNjA5MDEzMDk2MDcyNDQ4NywgWyJubzEsNCw1LDUsMTEsMTQsOCwxIl0gPSAwLjQwMTAyMjQ5NTE1MjI5MTE2LCBbIm5vMSw0LDcsNywxMSwxNCw4LDEiXSA9IDAuMDgyMjczMTIyMDI4MjQ1NTQ5LCBbIm5vMSw0LDgsNCwxMSwxNCw4LDEiXSA9IDAuNTUzNzAzMDE5ODM0MzIxNTcsIFsibm8xLDQsOSwxLDExLDE0LDgsMSJdID0gMC4wNTc2ODk1MzQ0MzgwMTkwNTIsIFsibm8xLDQsMTIsOCwxMSwxNCw4LDEiXSA9IDAuOTEyNTYwNjI5Mjc2Mzc4MzgsIFsibm8xLDUsMSwyLDExLDE0LDgsMSJdID0gMC45NTE3MjM1ODk5MTYxNTcxMywgWyJubzEsNSwyLDcsMTEsMTQsOCwxIl0gPSAwLjQ2NjY2MzU2MjkxMTcyNzA2LCBbIm5vMSw1LDMsNCwxMSwxNCw4LDEiXSA9IDAuODA5NjE3MTY1ODE4NTk1NTUsIFsibm8xLDUsNyw4LDExLDE0LDgsMSJdID0gMC44ODY1MDQyOTE0OTY3NjQ5MSwgWyJubzEsNSw5LDIsMTEsMTQsOCwxIl0gPSAwLjIwNDQ3MTAxNDQ4NTgyOTQ5LCBbIm5vMSw1LDEwLDcsMTEsMTQsOCwxIl0gPSAwLjgxNDk0NTAxNTY4OTE5NTA4LCBbIm5vMSw1LDExLDQsMTEsMTQsOCwxIl0gPSAwLjExMDM4NTQ4MDUxMjUwMTMsIFsibm8xLDUsMTIsMSwxMSwxNCw4LDEiXSA9IDAuMDExODQzODg3MjgzNTM0MjQ5LCBbIm5vMSw2LDEsMywxMSwxNCw4LDEiXSA9IDAuMjg2MjkzOTIzNzA4MTAxMDMsIFsibm8xLDYsMiw4LDExLDE0LDgsMSJdID0gMC4yNTUxMjM4ODg2ODQ0MTc2LCBbIm5vMSw2LDMsNSwxMSwxNCw4LDEiXSA9IDAuMDQ4NTc3NTA3ODczOTg0NTE2LCBbIm5vMSw2LDYsNCwxMSwxNCw4LDEiXSA9IDAuNTE2NjI4ODE1MTI3NDc0MjcsIFsibm8xLDYsNywxLDExLDE0LDgsMSJdID0gMC4xMDMzOTY3NjcwMDM3ODA5OCwgWyJubzEsNiw5LDMsMTEsMTQsOCwxIl0gPSAwLjg5MTI3NjE5MzQwMDk2MDMxLCBbIm5vMSw2LDEwLDgsMTEsMTQsOCwxIl0gPSAwLjAyMDM5MDUzNDIxMjczMTczNywgWyJubzEsNiwxMSw1LDExLDE0LDgsMSJdID0gMC4yNzY0NDkxNzE3NjUyMTc1NSwgWyJubzEsNiwxMiwyLDExLDE0LDgsMSJdID0gMC4yNzM3ODIxMDg1NjQwNzE0OCwgWyJubzEsNiwxMyw3LDExLDE0LDgsMSJdID0gMC45Mjk5NDEyODY0MDg0NDA4NywgWyJubzEsNiwxNCw0LDExLDE0LDgsMSJdID0gMC4yMjEwNDYyODkwODUzNDc5NiwgWyJubzEsNywxLDQsMTEsMTQsOCwxIl0gPSAwLjk0MDk4NjIwODcxNjA0NDMzLCBbIm5vMSw3LDIsMSwxMSwxNCw4LDEiXSA9IDAuMTYwNjQ2NTg1MzMwNTMyNTUsIFsibm8xLDcsNywyLDExLDE0LDgsMSJdID0gMC4xNTQ1NjgwODAwMjI4MTEwOCwgWyJubzEsNyw5LDQsMTEsMTQsOCwxIl0gPSAwLjE5MjY5MjM2NzQ0MDEyODQxLCBbIm5vMSw3LDEwLDEsMTEsMTQsOCwxIl0gPSAwLjE1MDg3OTk4NzI2NDMxMjI5LCBbIm5vMSw3LDExLDYsMTEsMTQsOCwxIl0gPSAwLjQwNTk4MDk5ODA4MjQ1NzgsIFsibm8xLDcsMTIsMywxMSwxNCw4LDEiXSA9IDAuOTg1MjQwNjM5MjQ2ODMzNTgsIFsibm8xLDcsMTMsOCwxMSwxNCw4LDEiXSA9IDAuOTYwMTMzODYxMTYxNjAyMzgsIFsibm8xLDcsMTQsNSwxMSwxNCw4LDEiXSA9IDAuMDYxODU1NDMzMzA3NDcyNzg1LCBbIm5vMSw4LDEsNSwxMSwxNCw4LDEiXSA9IDAuNzE4NTgyMjA5MTk4NzUwODIsIFsibm8xLDgsMiwyLDExLDE0LDgsMSJdID0gMC4xNzY5MTEyNzMxNTIxODYyNCwgWyJubzEsOCw3LDMsMTEsMTQsOCwxIl0gPSAwLjgwMzgxODc3MDY5NDQ1MDYyLCBbIm5vMSw4LDksNSwxMSwxNCw4LDEiXSA9IDAuMzA4NzE3Nzc4NjU1NjU1NDIsIFsibm8xLDgsMTAsMiwxMSwxNCw4LDEiXSA9IDAuOTMzNTY0MjU0MDAxNzc5MjMsIFsibm8xLDgsMTEsNywxMSwxNCw4LDEiXSA9IDAuOTE0MzExNTQwOTYzNjM2ODcsIFsibm8xLDgsMTIsNCwxMSwxNCw4LDEiXSA9IDAuNjc2Mjg0OTc4NzczMDgwMDMsIFsibm8xLDgsMTMsMSwxMSwxNCw4LDEiXSA9IDAuNzYyNDUzODEyMzA4NTAwNzMsIFsibm8xLDgsMTQsNiwxMSwxNCw4LDEiXSA9IDAuMzYwNjgyODczMzcwNzg4NzUsIFsibm8xLDksMCwxLDExLDE0LDgsMSJdID0gMC4xMDI1MDQyNzIzMzgxODQ4MiwgWyJubzEsOSwxLDYsMTEsMTQsOCwxIl0gPSAwLjQwOTgyNTkzNzUzNDg4MzE3LCBbIm5vMSw5LDIsMSwxIl0gPSAyODYsIFsibm8xLDksMiwxLDIiXSA9IDMyMSwgWyJubzEsOSwyLDEsMyJdID0gMTU3LCBbIm5vMSw5LDIsMSw0Il0gPSAyMjEsIFsibm8xLDksMiwxLDUiXSA9IDI2NCwgWyJubzEsOSwyLDEsNiJdID0gMzE0LCBbIm5vMSw5LDIsMSw3Il0gPSA0MTcsIFsibm8xLDksMiwxLDgiXSA9IDMyOCwgWyJubzEsOSwyLDEsOSJdID0gMTM3LCBbIm5vMSw5LDIsMSwxMCJdID0gMzk1LCBbIm5vMSw5LDIsMSwxMSJdID0gMTc4LCBbIm5vMSw5LDIsMSwxMiJdID0gMzExLCBbIm5vMSw5LDIsMSwxMyJdID0gMTU5LCBbIm5vMSw5LDIsMSwxNCJdID0gNDEzLCBbIm5vMSw5LDIsMSwxNSJdID0gMzI5LCBbIm5vMSw5LDIsMSwxNiJdID0gMzUwLCBbIm5vMSw5LDIsMSwxNyJdID0gMjIyLCBbIm5vMSw5LDIsMSwxOCJdID0gMjYxLCBbIm5vMSw5LDIsMSwxOSJdID0gMTk5LCBbIm5vMSw5LDIsMSwyMCJdID0gMTUxLCBbIm5vMSw5LDQsNSwxMSwxNCw4LDEiXSA9IDAuMzc5Nzc0MTA1Mzg4NjU0NTMsIFsibm8xLDksNSwyLDExLDE0LDgsMSJdID0gMC45OTA4NjE1NTg1MzU5NTQ4MSwgWyJubzEsOSw3LDQsMTEsMTQsOCwxIl0gPSAwLjU1NzA3MDc4OTAyODExMzAyLCBbIm5vMSw5LDksNiwxMSwxNCw4LDEiXSA9IDAuNTg2NjU3NDQwOTc5MjkzOTUsIFsibm8xLDksMTAsMywxMSwxNCw4LDEiXSA9IDAuMzExNzk1MjYxMzQ2NDY2NzMsIFsibm8xLDksMTEsOCwxMSwxNCw4LDEiXSA9IDAuODI2MDYyMDc4ODEyNDgzNzIsIFsibm8xLDksMTMsMiwxMSwxNCw4LDEiXSA9IDAuMTE3OTU1NzAxNjk4NzAzODQsIFsibm8xLDksMTQsNywxMSwxNCw4LDEiXSA9IDAuODEyNDE0Mjg5NDMxMTcwNTYsIFsibm8xLDEwLDMsMSwxMSwxNCw4LDEiXSA9IDAuMzEzNTE3OTg4Nzc4ODM0NDEsIFsibm8xLDEwLDUsMywxMSwxNCw4LDEiXSA9IDAuNDM3ODQ5NjgzMjQ0NTk4NjEsIFsibm8xLDEwLDcsNSwxMSwxNCw4LDEiXSA9IDAuMTk5NjMyNzM0NDI3NTYyNTcsIFsibm8xLDEwLDgsMiwxMSwxNCw4LDEiXSA9IDAuMjI3MjE4MTM1MzY5MDU4MTEsIFsibm8xLDEwLDksNywxMSwxNCw4LDEiXSA9IDAuMzI2NTI0NjAzNjI0Njc2NSwgWyJubzEsMTAsMTAsNCwxMSwxNCw4LDEiXSA9IDAuMzQ0MzkzMzkzOTIyODkzMTQsIFsibm8xLDEwLDExLDEsMTEsMTQsOCwxIl0gPSAwLjMwMTg2OTg4MTI5NDE0NzgyLCBbIm5vMSwxMCwxMywzLDExLDE0LDgsMSJdID0gMC41NDY2MDc5MDY2MTYzODAyNiwgWyJubzEsMTAsMTQsOCwxMSwxNCw4LDEiXSA9IDAuMTI3MzA5MzkxNDQ3MDkwODYsIFsibm8xLDExLDMsMiwxMSwxNCw4LDEiXSA9IDAuMjUwOTY3NzIxMDY3MDg5NTMsIFsibm8xLDExLDUsNCwxMSwxNCw4LDEiXSA9IDAuNjk4ODI1NzUxODI5OTQ2MTEsIFsibm8xLDExLDcsNiwxMSwxNCw4LDEiXSA9IDAuNTI4MjI3MTk1MjIxMTc1ODksIFsibm8xLDExLDgsMywxMSwxNCw4LDEiXSA9IDAuNjEwMjc1ODg0NTAzNzUzOTIsIFsibm8xLDExLDksOCwxMSwxNCw4LDEiXSA9IDAuNjk0NTI1OTY2MTcxMDQzNDUsIFsibm8xLDExLDEwLDUsMTEsMTQsOCwxIl0gPSAwLjIwNzUyODQzNzM4NDY4NTI5LCBbIm5vMSwxMSwxMSwyLDExLDE0LDgsMSJdID0gMC40ODc2MTM2NzExMDcwMzIyNCwgWyJubzEsMTEsMTMsNCwxMSwxNCw4LDEiXSA9IDAuMzM5Njg3MjI4OTMzNDQ1MzgsIFsibm8xLDEyLDMsMywxMSwxNCw4LDEiXSA9IDAuODkxNjA1NDcwNDQxNDY5OTgsIFsibm8xLDEyLDcsNywxMSwxNCw4LDEiXSA9IDAuMzQ5NzAzNjMzMjgxMjM0MjIsIFsibm8xLDEyLDgsNCwxMSwxNCw4LDEiXSA9IDAuNTQwMzczMTMwODQ5NzAyNjIsIFsibm8xLDEyLDksMSwxMSwxNCw4LDEiXSA9IDAuMzAyMTU4MzY5ODMwNDQxOTgsIFsibm8xLDEyLDEwLDYsMTEsMTQsOCwxIl0gPSAwLjQ4NTIxMTI5ODg2Mjg3ODI4LCBbIm5vMSwxMiwxMSwzLDExLDE0LDgsMSJdID0gMC43ODQ2NzQ0NjU5OTYxNTA0MywgWyJubzEsMTMsMCw1LDExLDE0LDgsMSJdID0gMC41MTQxNjE5NzY0NzExNTQ0NywgWyJubzEsMTMsMSwyLDExLDE0LDgsMSJdID0gMC42OTc2NDk0NTEwMDAwMzIzOSwgWyJubzEsMTMsMyw0LDExLDE0LDgsMSJdID0gMC42Nzc2MzQ4NzM3NDc4NDc3LCBbIm5vMSwxMyw0LDEsMTEsMTQsOCwxIl0gPSAwLjgwNzk0NzI1NzM4MTU2NTgxLCBbIm5vMSwxMyw1LDYsMTEsMTQsOCwxIl0gPSAwLjYzMDEzODMzODMyNDg2NTc3LCBbIm5vMSwxMyw2LDMsMTEsMTQsOCwxIl0gPSAwLjg1MTg0NzM5ODkzODk1NSwgWyJubzEsMTMsNyw4LDExLDE0LDgsMSJdID0gMC41NDY1MDczNDI3MDU1MjA0OCwgWyJubzEsMTMsOCw1LDExLDE0LDgsMSJdID0gMC4zMDEyMjc4MTcyNjUyNDczOSwgWyJubzEsMTMsOSwyLDExLDE0LDgsMSJdID0gMC41OTc1NzQxNjg0MTQ1ODE4OSwgWyJubzEsMTMsMTAsNywxMSwxNCw4LDEiXSA9IDAuOTg3OTYwNjMxNDY2NDg0ODMsIFsibm8xLDEzLDExLDQsMTEsMTQsOCwxIl0gPSAwLjEzOTkzMzM1OTA4ODg4MjcxLCBbIm5vMSwxMywxMyw2LDExLDE0LDgsMSJdID0gMC4zNjg1NDQyNDQ2MjAxNDY3OSwgWyJubzEsMTQsMCw2LDExLDE0LDgsMSJdID0gMC41NTg4NTUzMjYyMDkwNDcyMSwgWyJubzEsMTQsMSwzLDExLDE0LDgsMSJdID0gMC43OTc2OTQ5MTc5MzU3MzA2NiwgWyJubzEsMTQsMyw1LDExLDE0LDgsMSJdID0gMC43ODIxMzMwNzU5NzE1MDMwNiwgWyJubzEsMTQsNCwyLDExLDE0LDgsMSJdID0gMC40MTQ5MjEwNDI4ODkwMjk3NiwgWyJubzEsMTQsNSw3LDExLDE0LDgsMSJdID0gMC40NTY1NzQzNTk3NDgzOTA2NywgWyJubzEsMTQsNiw0LDExLDE0LDgsMSJdID0gMC44OTE4NTMxOTQzNzk0ODg1MSwgWyJubzEsMTQsOCw2LDExLDE0LDgsMSJdID0gMC41NDk0NTg0ODExMjMzMDE4NywgWyJubzEsMTQsOSwzLDExLDE0LDgsMSJdID0gMC45MzI3MTk4ODMwNDY2NTAxLCBbIm5vMSwxNCwxMCw4LDExLDE0LDgsMSJdID0gMC45MjU4NjY5MTE4MDg2MjIwMiwgWyJubzEsMTQsMTEsNSwxMSwxNCw4LDEiXSA9IDAuNzk0Njk5NjIwMDk3MjkxNTYsIFsibm8xLDE0LDEzLDcsMTEsMTQsOCwxIl0gPSAwLjczOTI0MTAyNjk4ODg1NzYzLCBbIm5vMSwxNSwwLDcsMTEsMTQsOCwxIl0gPSAwLjU1NDI1MTkxNzI1MzI2MTE3LCBbIm5vMSwxNSwxLDQsMTEsMTQsOCwxIl0gPSAwLjMzMzUzNjQzNDQ1MzQ4MTY5LCBbIm5vMSwxNSwzLDYsMTEsMTQsOCwxIl0gPSAwLjA5ODY4NjY1ODc1MTMwNDg5LCBbIm5vMSwxNSw0LDMsMTEsMTQsOCwxIl0gPSAwLjc2MDY5MjY4MDQwNDAyNjE2LCBbIm5vMSwxNSw1LDgsMTEsMTQsOCwxIl0gPSAwLjQ1Nzg3NzE4MjY3MzU4ODM1LCBbIm5vMSwxNSw2LDUsMTEsMTQsOCwxIl0gPSAwLjcxNDkwMDIxNjI5MzI0MzYzLCBbIm5vMSwxNSw3LDIsMTEsMTQsOCwxIl0gPSAwLjg4NTA1MzAxOTYyNDkyMjQ0LCBbIm5vMSwxNSw4LDcsMTEsMTQsOCwxIl0gPSAwLjU2ODU3MTI5NTQ4MDkzNTY2LCBbIm5vMSwxNSw5LDQsMTEsMTQsOCwxIl0gPSAwLjYzOTU0ODM5MDg0Nzg3Mjk2LCBbIm5vMSwxNSwxMCwxLDExLDE0LDgsMSJdID0gMC4xNjcwODA3MzQ2NjUwMjAwNSwgWyJubzEsMTUsMTEsNiwxMSwxNCw4LDEiXSA9IDAuMTkxMDEzODUwMTkxMDM2NTYsIFsibm8xLDE1LDEzLDgsMTEsMTQsOCwxIl0gPSAwLjg3MTM1MTQ1NTMwODExMDc2LCBbIm5vMSwxNiwwLDgsMTEsMTQsOCwxIl0gPSAwLjkwNjUwMDAxNzgyMjg0NTA2LCBbIm5vMSwxNiwxLDUsMTEsMTQsOCwxIl0gPSAwLjI4MDQ2NzE5NTQyODA1NTc2LCBbIm5vMSwxNiwyLDIsMTEsMTQsOCwxIl0gPSAwLjQyNTg3NzcyOTg2NTg3OTM1LCBbIm5vMSwxNiwzLDcsMTEsMTQsOCwxIl0gPSAwLjQ4MTQxODEyMTI3NzkzMTYsIFsibm8xLDE2LDQsNCwxMSwxNCw4LDEiXSA9IDAuNzkzMTgwMDAzOTUwNTg0MywgWyJubzEsMTYsNSwxLDExLDE0LDgsMSJdID0gMC45Nzc0Nzg5OTg4MjYwMDgxOSwgWyJubzEsMTYsNiw2LDExLDE0LDgsMSJdID0gMC4yMjg4Nzc1MjMxNjM1NDYyNiwgWyJubzEsMTYsNywzLDExLDE0LDgsMSJdID0gMC40MzI4MTM0MTE5OTEyNTkyMiwgWyJubzEsMTYsOCw4LDExLDE0LDgsMSJdID0gMC40ODc2MTkwNzE0MDk2NjI2NSwgWyJubzEsMTYsOSw1LDExLDE0LDgsMSJdID0gMC4xNjY4MTEzMTQ3MTUzNTkxNSwgWyJubzEsMTYsMTAsMiwxMSwxNCw4LDEiXSA9IDAuOTE2NDgyMDI2NjUzNzUwMzQsIFsibm8xLDE2LDExLDcsMTEsMTQsOCwxIl0gPSAwLjgzODcyNDIzNTcwNjM4OTEsIFsibm8xLDE2LDEzLDEsMTEsMTQsOCwxIl0gPSAwLjQ1MjkwMTM0NDAxNzc0ODI5LCBbIm5vMSwxNywwLDEsMTEsMTQsOCwxIl0gPSAwLjc4NDkwNjMyOTc5MDUyNTQ0LCBbIm5vMSwxNywxLDYsMTEsMTQsOCwxIl0gPSAwLjQ2NjAyOTg5NTM5OTQ1NjM4LCBbIm5vMSwxNywyLDMsMTEsMTQsOCwxIl0gPSAwLjk5MDE3NDkxMjA5NTY5OTMsIFsibm8xLDE3LDMsOCwxMSwxNCw4LDEiXSA9IDAuMzQ0NDkyNTQwNDc2MDY0NTksIFsibm8xLDE3LDQsNSwxMSwxNCw4LDEiXSA9IDAuMzY1MTAxNzU1MDY2MDExMzksIFsibm8xLDE3LDUsMiwxMSwxNCw4LDEiXSA9IDAuNDI4MTIwNzMzNTcyMjQ4NTYsIFsibm8xLDE3LDYsNywxMSwxNCw4LDEiXSA9IDAuNzMyNzgyMjEzODE3NTgzOTEsIFsibm8xLDE3LDcsNCwxMSwxNCw4LDEiXSA9IDAuMzc5NjY0MjYwODk3NTUyNDUsIFsibm8xLDE3LDgsMSwxMSwxNCw4LDEiXSA9IDAuNjI3NzYzMjkyOTE0NzUwMDgsIFsibm8xLDE3LDksNiwxMSwxNCw4LDEiXSA9IDAuMDcxNTk2MzU3NDA1OTYxOTMsIFsibm8xLDE3LDEwLDMsMTEsMTQsOCwxIl0gPSAwLjYwODAyMTU3MDYzMTg3OTQ1LCBbIm5vMSwxNywxMSw4LDExLDE0LDgsMSJdID0gMC40NDk2MTgzMjI1NzU3NzkyNywgWyJubzEsMTcsMTIsNSwxMSwxNCw4LDEiXSA9IDAuNDg5NTQzMjIzMTI4Mzg3MzgsIFsibm8xLDE3LDEzLDIsMTEsMTQsOCwxIl0gPSAwLjQyMDk2MjE1MzAyNzU2MDI0LCBbIm5vMSwxOCw0LDYsMTEsMTQsOCwxIl0gPSAwLjczMTY4MDY0NDg2MDg1NzcxLCBbIm5vMSwxOCw1LDMsMTEsMTQsOCwxIl0gPSAwLjYzMzE4MDU2Mjk4MTc2Mzk1LCBbIm5vMSwxOCw2LDgsMTEsMTQsOCwxIl0gPSAwLjAwMzA1MTE0MzI5MTE4MTk0NTgsIFsibm8xLDE4LDcsNSwxMSwxNCw4LDEiXSA9IDAuMzQyMTc4MTg4MDc0NDE3MDIsIFsibm8xLDE4LDgsMiwxMSwxNCw4LDEiXSA9IDAuMzIxMjExMTA4NjU0NzgwNjQsIFsibm8xLDE4LDksNywxMSwxNCw4LDEiXSA9IDAuNjcxMzc2ODE5ODc1OTA2OTIsIFsibm8xLDE4LDEwLDQsMTEsMTQsOCwxIl0gPSAwLjY2Nzg2ODQ2MjYyMjk0MDA4LCBbIm5vMSwxOCwxMSwxLDExLDE0LDgsMSJdID0gMC43NjIxODE3OTQ5NjE2NDQwNywgWyJubzEsMTgsMTIsNiwxMSwxNCw4LDEiXSA9IDAuNTM2MjU5MjU1MzY3Mzg3NzIsIFsibm8xLDE4LDEzLDMsMTEsMTQsOCwxIl0gPSAwLjQyNzU3MzY0OTI3Mjg5NTg3LCBbIm5vMSwxOSw0LDcsMTEsMTQsOCwxIl0gPSAwLjA4MzcxODQ5NDYxNjA0MDc1MSwgWyJubzEsMTksNSw0LDExLDE0LDgsMSJdID0gMC4zMTczNjkwOTUwMzczNzc5OCwgWyJubzEsMTksNiwxLDExLDE0LDgsMSJdID0gMC4wNTE5OTI0MjIyMDQyMjY5NTEsIFsibm8xLDE5LDcsNiwxMSwxNCw4LDEiXSA9IDAuNDY4NTgxNDQ4NzAwNDk2MDEsIFsibm8xLDE5LDgsMywxMSwxNCw4LDEiXSA9IDAuMjA0ODUxNzkxODQ4NjQ2NzcsIFsibm8xLDE5LDksOCwxMSwxNCw4LDEiXSA9IDAuMjY5NDA2Mzc1OTExNDUzNzgsIFsibm8xLDE5LDEwLDUsMTEsMTQsOCwxIl0gPSAwLjgwNTgxMjM5NTgyNDc1MTE3LCBbIm5vMSwxOSwxMSwyLDExLDE0LDgsMSJdID0gMC44MjE5MTMxMjYzODIzNzY5LCBbIm5vMSwxOSwxMiw3LDExLDE0LDgsMSJdID0gMC41Mjg2Mjk2NDA2NjgxMDU2OSwgWyJubzEsMTksMTMsNCwxMSwxNCw4LDEiXSA9IDAuMjY5OTc5Nzc2Mjg1NDY5NjUsIFsibm8xLDE5LDE0LDEsMTEsMTQsOCwxIl0gPSAwLjYwNTAwNzg2NjA0MzA5ODQyLCBbIm5vMSwyMCw0LDgsMTEsMTQsOCwxIl0gPSAwLjkwNjg5NzUzMTA4NTMzMTU1LCBbIm5vMSwyMCw1LDUsMTEsMTQsOCwxIl0gPSAwLjg0MjQzMzkyMzk5MTE0OTgsIFsibm8xLDIwLDYsMiwxMSwxNCw4LDEiXSA9IDAuMTkzOTQxNTc5Nzk4MTQ0MywgWyJubzEsMjAsNyw3LDExLDE0LDgsMSJdID0gMC40NjUyNTU2NDgzMzMyNjQ4MywgWyJubzEsMjAsOCw0LDExLDE0LDgsMSJdID0gMC4xOTU2MDkxMzg0OTY3NDYyMiwgWyJubzEsMjAsOSwxLDExLDE0LDgsMSJdID0gMC4xNDYwODIyMTY0MTA1Mzg0MiwgWyJubzEsMjAsMTAsNiwxMSwxNCw4LDEiXSA9IDAuNDkzMTIxOTM4NjQzMzk0OTMsIFsibm8xLDIwLDExLDMsMTEsMTQsOCwxIl0gPSAwLjY1NzM3MDEzMTg3MDg1NjAyLCBbIm5vMSwyMCwxMiw4LDExLDE0LDgsMSJdID0gMC4xMzEwMzM4NDUzMzE2MTQsIFsibm8xLDIwLDEzLDUsMTEsMTQsOCwxIl0gPSAwLjM3NTk2MTcxODA1OTIzNTM5LCBbIm5vMSwyMCwxNCwyLDExLDE0LDgsMSJdID0gMC4yNTU4NDc1ODgzNzI1MDc5OH0gLS1bW3RhYmxlOiAweDFiYjkwOGMwXV0="
  },
  {
    "path": "officialworlds/minigames/space inboiders.bab",
    "content": "{\"width\":21,\"next_level_after_win\":\"\",\"extra\":false,\"compression\":\"zlib\",\"author\":\"thia\",\"height\":16,\"version\":5,\"map\":\"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\",\"music\":\"forte be deepe\",\"is_overworld\":false,\"level_number\":0,\"level_sprite\":\"\",\"name\":\"space inboiders\",\"palette\":\"variant\"}"
  },
  {
    "path": "officialworlds/minigames/space inboiders.replay",
    "content": "0,0,space;0,0,space;-1,0,wasd;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;1,0,wasd;0,0,space;1,0,wasd;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;-1,0,wasd;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;1,0,wasd;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;-1,0,wasd;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;1,0,wasd;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;-1,0,wasd;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;1,0,wasd;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;-1,0,wasd;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;1,0,wasd;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;-1,0,wasd;0,0,space;-1,0,wasd;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;1,0,wasd;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;-1,0,wasd;0,0,space;0,0,space;0,0,space;0,0,space;1,0,wasd;0,0,space;0,0,space;0,0,space;0,0,space;-1,0,wasd;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;1,0,wasd;0,0,space;1,0,wasd;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;-1,0,wasd;0,0,space;-1,0,wasd;0,0,space;0,0,space;0,0,space;0,0,space;1,0,wasd;0,0,space;1,0,wasd;0,0,space;0,0,space;-1,0,wasd;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;|e1siYm95LDEsMiwxLDE0LDUsNSwxIl0gPSAwLjcyMDM2NjQ4MjE1NTU1Mzc3LCBbImJveSwxLDYsMSwwLDcsNCw5Il0gPSAwLjM3MjkwMjcxNDQ2MTI3NjY1LCBbImJveSwxLDYsMSwwLDcsNCwxMiJdID0gMC41NzI1NzE4NTc3NjUyMjcyMywgWyJib3ksMSw2LDEsMCw3LDQsMjEiXSA9IDAuOTU3NTIwMzE3MzI1OTY5ODcsIFsiYm95LDEsNiwxLDAsNyw0LDI0Il0gPSAwLjczNTA2MzQ4OTk0OTI3MDI5LCBbImJveSwxLDYsMSwwLDcsNCwzMCJdID0gMC44NTI2NjcyOTU2MTM5NjQwNCwgWyJib3ksMSw2LDEsMCw3LDQsMzYiXSA9IDAuNTI3Mzg1NzE3NzE3MjgyOTMsIFsiYm95LDEsNiwxLDAsNyw0LDQyIl0gPSAwLjg0OTEzMzMyMDA4Njg0Mjk1LCBbImJveSwxLDYsMSwwLDcsNCw1MSJdID0gMC43NzQ1ODA3NzYwNDA1NzAzLCBbImJveSwxLDYsMSwwLDcsNCw1NyJdID0gMC42MzMxNDUwNDY2MTUxNDMxNSwgWyJib3ksMSw2LDEsMCw3LDQsNjYiXSA9IDAuNTIwMzIzNTQ1ODkyNDk3MDcsIFsiYm95LDEsNiwxLDAsNyw0LDc4Il0gPSAwLjU5NDk1Mzk4MDE3NTEyNTM1LCBbImJveSwxLDYsMSwwLDcsNCw5MyJdID0gMC44NjgzNzYxOTEwOTYzMzE2OCwgWyJib3ksMSw2LDEsMCw3LDQsOTYiXSA9IDAuNjA2NTEyNDc2NDU3MDEyODksIFsiYm95LDEsNiwxLDE0LDUsNSwxIl0gPSAwLjgyMDQ5NjczOTU4MDAzMzExLCBbImJveSwxLDYsMSwxNCw1LDUsOSJdID0gMC4xOTkwMDI0OTY5NDQ2OTcyOSwgWyJib3ksMSw2LDEsMTQsNSw1LDEwIl0gPSAwLjkwNTQyMTE2NjY4ODQyMDQzLCBbImJveSwxLDYsMSwxNCw1LDUsMTIiXSA9IDAuNTY4Mzk2NDQ1NTMzMDMzMjYsIFsiYm95LDEsNiwxLDE0LDUsNSwxMyJdID0gMC4yMDIyNzU1MDM4MTk2ODI4NCwgWyJib3ksMSw2LDEsMTQsNSw1LDIxIl0gPSAwLjM3OTU3NjYzNDk5NjcxMDksIFsiYm95LDEsNiwxLDE0LDUsNSwyMiJdID0gMC4zMjMzNTMxMjU3ODYzMjM4LCBbImJveSwxLDYsMSwxNCw1LDUsMjQiXSA9IDAuMDQ3NzA5NDIwOTA2NjU2NDE5LCBbImJveSwxLDYsMSwxNCw1LDUsMjUiXSA9IDAuODIzNDc1MjgxMzc1MTI4OTMsIFsiYm95LDEsNiwxLDE0LDUsNSwzMCJdID0gMC41OTIxNzMwMzczNDU1MzI3MywgWyJib3ksMSw2LDEsMTQsNSw1LDMxIl0gPSAwLjA0MTM4MzE1MzQ1MjcyNzM2MSwgWyJib3ksMSw2LDEsMTQsNSw1LDM2Il0gPSAwLjgxMTE0MzI0MzMzNDIwMjk2LCBbImJveSwxLDYsMSwxNCw1LDUsMzciXSA9IDAuOTE1MjU2NDI2NjQ4MTM3NTYsIFsiYm95LDEsNiwxLDE0LDUsNSw0MiJdID0gMC44ODY3MDA0MTczNTcxMTAwMywgWyJib3ksMSw2LDEsMTQsNSw1LDQzIl0gPSAwLjUzNDg5MTgyODYzNzE0MjI0LCBbImJveSwxLDYsMSwxNCw1LDUsNTEiXSA9IDAuNjYzOTA5NzM4MTI2OTg4NSwgWyJib3ksMSw2LDEsMTQsNSw1LDUyIl0gPSAwLjAzNzEzMDQyNzgyMzE3OTIxMywgWyJib3ksMSw2LDEsMTQsNSw1LDU3Il0gPSAwLjA0MTc0NzQwMzYxNzQxNTI0NiwgWyJib3ksMSw2LDEsMTQsNSw1LDU4Il0gPSAwLjg1ODc5ODgwMTE5MDQzNTk1LCBbImJveSwxLDYsMSwxNCw1LDUsNjYiXSA9IDAuODMxNDczMzkzNTkyMzkxOTIsIFsiYm95LDEsNiwxLDE0LDUsNSw2NyJdID0gMC4wNzIwOTgwOTc1MzU3NDkyNSwgWyJib3ksMSw2LDEsMTQsNSw1LDc4Il0gPSAwLjg4MjMxMDI5NTkxMzEzMzcsIFsiYm95LDEsNiwxLDE0LDUsNSw3OSJdID0gMC4xMzAyODI2MTU4MTk5ODI3OSwgWyJib3ksMSw2LDEsMTQsNSw1LDkzIl0gPSAwLjg1MTM2MDUyNjkzNDExNDQ2LCBbImJveSwxLDYsMSwxNCw1LDUsOTQiXSA9IDAuOTg2MjA1NjMyODI2MTMyODMsIFsiYm95LDEsNiwxLDE0LDUsNSw5NiJdID0gMC40Mjg1ODMyMTM2MTY0ODU5OSwgWyJib3ksMSw2LDEsMTQsNSw1LDk3Il0gPSAwLjE1MjEwMDE4MTMwMDEwNzA1LCBbImJveSwxLDYsMywwLDcsNCw3Il0gPSAwLjMxODA5MzU0ODMyMzE3NjM4LCBbImJveSwxLDYsMywwLDcsNCw4Il0gPSAwLjAxMTcwNjM1OTkyNTU2MjY4MiwgWyJib3ksMSw2LDMsMCw3LDQsMTAiXSA9IDAuOTYwODMzODY5MTM3NzkyMjMsIFsiYm95LDEsNiwzLDAsNyw0LDExIl0gPSAwLjczMDgyNDk3MzQ4NjU4NzQ4LCBbImJveSwxLDYsMywwLDcsNCwxOSJdID0gMC42MDk3NzY1NjIzNDI3NTg0NSwgWyJib3ksMSw2LDMsMCw3LDQsMjAiXSA9IDAuMTI4NzgwMzU1ODI2MDgxODMsIFsiYm95LDEsNiwzLDAsNyw0LDIyIl0gPSAwLjA4NDg2ODQ0OTYwODY2MjQ2NiwgWyJib3ksMSw2LDMsMCw3LDQsMjMiXSA9IDAuOTEwNzYyNTc0NjQ5MDYwNjMsIFsiYm95LDEsNiwzLDAsNyw0LDI4Il0gPSAwLjAzMjIwNTM2MzE3NjAyNzUxMywgWyJib3ksMSw2LDMsMCw3LDQsMjkiXSA9IDAuOTg1Mzk1MzY4Mzc0NjY0NzksIFsiYm95LDEsNiwzLDAsNyw0LDM0Il0gPSAwLjc3MTYxNzI0MzU4ODM5MDEyLCBbImJveSwxLDYsMywwLDcsNCwzNSJdID0gMC4wMDQzODY2MDIzNzIwOTkwOTEsIFsiYm95LDEsNiwzLDAsNyw0LDQwIl0gPSAwLjE2MzI4NDM4NjIyMDI4Nzc0LCBbImJveSwxLDYsMywwLDcsNCw0MSJdID0gMC4zMDM2Mzk1NjkyNDY5ODQ4OCwgWyJib3ksMSw2LDMsMCw3LDQsNDkiXSA9IDAuNDI2NjI1MDU0MDMwMTI5NTEsIFsiYm95LDEsNiwzLDAsNyw0LDUwIl0gPSAwLjc4NzAwODM5MTAxNDQ3Nzg0LCBbImJveSwxLDYsMywwLDcsNCw1NSJdID0gMC4xNjAyMjU0MDc2NjkwNDA4MSwgWyJib3ksMSw2LDMsMCw3LDQsNTYiXSA9IDAuOTcyNTQ1Mzg0MjQ0Mzk4MDcsIFsiYm95LDEsNiwzLDAsNyw0LDc2Il0gPSAwLjQ4MzgxMTc1MjI3NDI3Nzc1LCBbImJveSwxLDYsMywwLDcsNCw3NyJdID0gMC4wNjA3OTMyMjYyOTUwMTYzNzgsIFsiYm95LDEsNiwzLDAsNyw0LDkxIl0gPSAwLjQ0MTk2MDcxMzU0OTQ3MDc1LCBbImJveSwxLDYsMywwLDcsNCw5MiJdID0gMC45NTgwNjY3ODY1MzMxMzc4MiwgWyJib3ksMSw2LDMsMCw3LDQsOTQiXSA9IDAuNTUyOTg3NTA1MzU0MDQwMjksIFsiYm95LDEsNiwzLDAsNyw0LDk1Il0gPSAwLjA2MjE2MTc0NDI1MzI2MDI2NSwgWyJib3ksMSw2LDMsMTQsNSw1LDciXSA9IDAuMTY2ODA0NjIzNDgyNjI5NywgWyJib3ksMSw2LDMsMTQsNSw1LDgiXSA9IDAuNDU5MzQ1NTEwNTU5MDg5NTYsIFsiYm95LDEsNiwzLDE0LDUsNSw5Il0gPSAwLjcwNjY5MDkxMzYwOTQyNTI2LCBbImJveSwxLDYsMywxNCw1LDUsMTAiXSA9IDAuMTA1MzQwNzk2Nzg1NTkzMDUsIFsiYm95LDEsNiwzLDE0LDUsNSwxMSJdID0gMC44MDYzNTA0MzkzODU0MDU5NiwgWyJib3ksMSw2LDMsMTQsNSw1LDEyIl0gPSAwLjMzNTM2NzM1MzIyMDEwMDAzLCBbImJveSwxLDYsMywxNCw1LDUsMTkiXSA9IDAuOTA5MDEzODUxOTczNzY1MTYsIFsiYm95LDEsNiwzLDE0LDUsNSwyMCJdID0gMC42NzM4NTM3MDI0MDc5NTU4MywgWyJib3ksMSw2LDMsMTQsNSw1LDIxIl0gPSAwLjk1NzcyODgwNjA1ODQwMDYxLCBbImJveSwxLDYsMywxNCw1LDUsMjIiXSA9IDAuNDU2MTQ1ODc5NTg1MzQyODEsIFsiYm95LDEsNiwzLDE0LDUsNSwyMyJdID0gMC41ODc2MTI5ODk3ODY1Mjg5OCwgWyJib3ksMSw2LDMsMTQsNSw1LDI0Il0gPSAwLjUwMzcwOTM1MDIzNzY3NDM4LCBbImJveSwxLDYsMywxNCw1LDUsMjgiXSA9IDAuNzk1NjcxOTg0Mzc1MTI3NjUsIFsiYm95LDEsNiwzLDE0LDUsNSwyOSJdID0gMC44MDcyNDcyODc0NjE2MzI3NywgWyJib3ksMSw2LDMsMTQsNSw1LDMwIl0gPSAwLjE0NjIwNzE3MjYwODgxMSwgWyJib3ksMSw2LDMsMTQsNSw1LDM0Il0gPSAwLjc5NDMwNDI1OTk0NDE3ODk3LCBbImJveSwxLDYsMywxNCw1LDUsMzUiXSA9IDAuNjQxODU5OTgwODI1MTU5MDUsIFsiYm95LDEsNiwzLDE0LDUsNSwzNiJdID0gMC4zMDExMjg4NjY0ODM2NzMxLCBbImJveSwxLDYsMywxNCw1LDUsNDAiXSA9IDAuMDk0OTM0NDc3OTY4MjMzNzMzLCBbImJveSwxLDYsMywxNCw1LDUsNDEiXSA9IDAuMjIxMDI0MTMzOTE3Njg1OTQsIFsiYm95LDEsNiwzLDE0LDUsNSw0MiJdID0gMC4yNTY4NjY4MDYxMTE0Mzc0MiwgWyJib3ksMSw2LDMsMTQsNSw1LDQ5Il0gPSAwLjA4ODMzOTY1NjE1NzI3Mzc5NCwgWyJib3ksMSw2LDMsMTQsNSw1LDUwIl0gPSAwLjg3MzYzOTU1NDY3MjY4MzM5LCBbImJveSwxLDYsMywxNCw1LDUsNTEiXSA9IDAuNDA5MzY1OTYxNzkzMjQyMTQsIFsiYm95LDEsNiwzLDE0LDUsNSw1NSJdID0gMC4yNzkyOTczMDU5MDQ1MTgwNywgWyJib3ksMSw2LDMsMTQsNSw1LDU2Il0gPSAwLjg4MTcwOTcxOTMzNDY3MTksIFsiYm95LDEsNiwzLDE0LDUsNSw1NyJdID0gMC44ODU2ODU5NzY3MzQ2NjA3NiwgWyJib3ksMSw2LDMsMTQsNSw1LDc2Il0gPSAwLjUxNDY3ODg1OTM0ODU1ODk1LCBbImJveSwxLDYsMywxNCw1LDUsNzciXSA9IDAuNTgzODg4Mjk5NjE3Mzk1NTIsIFsiYm95LDEsNiwzLDE0LDUsNSw3OCJdID0gMC44ODQxNjk5NDExNzcyMjEyNSwgWyJib3ksMSw2LDMsMTQsNSw1LDkxIl0gPSAwLjQyOTgzNzcwNjE1NjkyMTYzLCBbImJveSwxLDYsMywxNCw1LDUsOTIiXSA9IDAuODYwODk2MzUzNzA2NDk4NjQsIFsiYm95LDEsNiwzLDE0LDUsNSw5MyJdID0gMC45MDkyMTE2NzY1MDA4ODkwOCwgWyJib3ksMSw2LDMsMTQsNSw1LDk0Il0gPSAwLjAwNTY0MTc1NzcyMjE4OTAwMDMsIFsiYm95LDEsNiwzLDE0LDUsNSw5NSJdID0gMC44MDYwNjMxMDgyODQ0NTI5MywgWyJib3ksMSw2LDMsMTQsNSw1LDk2Il0gPSAwLjM1ODk2MDc0NDg4MjQzNDEyLCBbImJveSwyLDIsMSwwLDcsNCwxIl0gPSAwLjIwNzA1OTI5MDIxNjY5MzQ1LCBbImJveSwyLDIsMSwwLDcsNCwyIl0gPSAwLjU0OTA2NzM4MzI0NDIyMzY2LCBbImJveSwyLDIsMSwwLDcsNCwzIl0gPSAwLjA3Mjg3NjQ5NDI2MDc1NTU5OCwgWyJib3ksMiwyLDEsMTQsNSw1LDEiXSA9IDAuOTY1Njg3ODMwNjM4ODgwOTcsIFsiYm95LDIsMiwxLDE0LDUsNSwyIl0gPSAwLjQzNzgyNjU2NDQ0MzgxMjYzLCBbImJveSwyLDIsMSwxNCw1LDUsMyJdID0gMC4wNDM5MjM4MzMxODcwMjI2NDMsIFsiYm95LDIsMiwxLDE0LDUsNSw0Il0gPSAwLjY2NTIwMzk4MDUwMjQyNjc5LCBbImJveSwyLDQsNSwwLDcsNCw0Il0gPSAwLjIzNzEwNDMzMzU3MDYwMjQ1LCBbImJveSwyLDQsNSwwLDcsNCw1Il0gPSAwLjczNzE4MjkxMTM4NjYxMTI5LCBbImJveSwyLDQsNSwwLDcsNCw2Il0gPSAwLjIzMDcwNDI0OTMxOTIzOTcyLCBbImJveSwyLDQsNSwwLDcsNCw3Il0gPSAwLjM1NTM2MDI0MDIzODQ4MzAxLCBbImJveSwyLDQsNSwwLDcsNCw4Il0gPSAwLjA0OTA3NDI4NDI2NTk5NTI0OSwgWyJib3ksMiw0LDUsMCw3LDQsOSJdID0gMC4xODc4NjgzOTQ5NDgzNjE0OSwgWyJib3ksMiw0LDUsMCw3LDQsMTYiXSA9IDAuNjIyNzMyNDMwNzUwMTc4NDgsIFsiYm95LDIsNCw1LDAsNyw0LDE3Il0gPSAwLjM5NTAwNDQ4OTQ0NzQ3MjkxLCBbImJveSwyLDQsNSwwLDcsNCwxOCJdID0gMC4zMjg5NTAyNzYwMDMyODc0MSwgWyJib3ksMiw0LDUsMCw3LDQsMTkiXSA9IDAuNTg1MjYwMzQzNjMzOTQ2MDgsIFsiYm95LDIsNCw1LDAsNyw0LDIwIl0gPSAwLjM3NDUwNzU0MDU4ODkyMTU1LCBbImJveSwyLDQsNSwwLDcsNCwyMSJdID0gMC45ODEzNzA2OTAyNDYyMDg3MSwgWyJib3ksMiw0LDUsMCw3LDQsMjUiXSA9IDAuMDUxOTA2NTA5MDAwNTc2ODA2LCBbImJveSwyLDQsNSwwLDcsNCwyNiJdID0gMC44ODc3ODE0MTMwNjI4OTU4MiwgWyJib3ksMiw0LDUsMCw3LDQsMjciXSA9IDAuOTMyMzU2MDkwMDA1NDcyNTksIFsiYm95LDIsNCw1LDAsNyw0LDMxIl0gPSAwLjkyODYxOTk0MzQ4NDgyMzY4LCBbImJveSwyLDQsNSwwLDcsNCwzMiJdID0gMC4xMDk2NTAwNjQ4NDU2MDY5MSwgWyJib3ksMiw0LDUsMCw3LDQsMzMiXSA9IDAuNDE3ODgyMjMxNjk5MzYyNDUsIFsiYm95LDIsNCw1LDAsNyw0LDM3Il0gPSAwLjQyNTYzNjg1ODcwMDcwNTMzLCBbImJveSwyLDQsNSwwLDcsNCwzOCJdID0gMC42NDcwNTc1NTI5ODc2NDM0NSwgWyJib3ksMiw0LDUsMCw3LDQsMzkiXSA9IDAuMjc0OTg3MTIwMzc5ODc3NDksIFsiYm95LDIsNCw1LDAsNyw0LDQ2Il0gPSAwLjI2ODYyNDc5NDUwMDUyOTU2LCBbImJveSwyLDQsNSwwLDcsNCw0NyJdID0gMC42MjM5Njk3NDA5ODQwNTE2NywgWyJib3ksMiw0LDUsMCw3LDQsNDgiXSA9IDAuMTcyNjY5Mzc5NjIwMjQ0NzYsIFsiYm95LDIsNCw1LDAsNyw0LDUyIl0gPSAwLjEwNzMxOTI4Nzk0Mjk5Mjk1LCBbImJveSwyLDQsNSwwLDcsNCw1MyJdID0gMC40ODUwMDkwODA5Njg2MzA0OSwgWyJib3ksMiw0LDUsMCw3LDQsNTQiXSA9IDAuMjQ3ODA1NTMxMTAzMDk5MzMsIFsiYm95LDIsNCw1LDAsNyw0LDY0Il0gPSAwLjg3MzAzNjYzMTc2NzU1NTMsIFsiYm95LDIsNCw1LDAsNyw0LDY1Il0gPSAwLjUxMjk2NDc2NTA5MDk4MTY2LCBbImJveSwyLDQsNSwwLDcsNCw3MyJdID0gMC4yMzQxNjI5MTI3NTI1MjM3NywgWyJib3ksMiw0LDUsMCw3LDQsNzQiXSA9IDAuODM0ODk4NDAxODg3MDU1NTUsIFsiYm95LDIsNCw1LDAsNyw0LDc1Il0gPSAwLjIyODY1MDA2Mjg3OTY1ODYxLCBbImJveSwyLDQsNSwwLDcsNCw4OCJdID0gMC4xNTg3OTEzMTQzNDExNDUwMiwgWyJib3ksMiw0LDUsMCw3LDQsODkiXSA9IDAuMjYxMjY4NTA1NTk2ODAxNTksIFsiYm95LDIsNCw1LDAsNyw0LDkwIl0gPSAwLjYzNDQ0NjgxNDg2NzUxMDQyLCBbImJveSwyLDQsNSwwLDcsNCw5MSJdID0gMC4zMDU5MDY3ODc4MDY1NTU1NiwgWyJib3ksMiw0LDUsMCw3LDQsOTIiXSA9IDAuODIzMDgxNTMwNzQ4OTU4OTYsIFsiYm95LDIsNCw1LDAsNyw0LDkzIl0gPSAwLjE1NTkwMTY3MDg5MTU4OTI0LCBbImJveSwyLDQsNSwxNCw1LDUsNCJdID0gMC4wMDE5MTk5Mjk1Nzg0NDkxMDg4LCBbImJveSwyLDQsNSwxNCw1LDUsNSJdID0gMC45NzcyNjYzNjQ0NTc4MDkyMywgWyJib3ksMiw0LDUsMTQsNSw1LDYiXSA9IDAuNjYxMzU3NzYzMTE3NTA3NiwgWyJib3ksMiw0LDUsMTQsNSw1LDciXSA9IDAuODYwMDY2NjM5MjM3NTIyNDcsIFsiYm95LDIsNCw1LDE0LDUsNSw4Il0gPSAwLjQyMDY2OTgzMDI1NTI5NzgxLCBbImJveSwyLDQsNSwxNCw1LDUsOSJdID0gMC4yNzc1Mzg3OTkyNjgzNTY0NSwgWyJib3ksMiw0LDUsMTQsNSw1LDEwIl0gPSAwLjE4NTAwMzMzNDc2NzU1NTQ4LCBbImJveSwyLDQsNSwxNCw1LDUsMTYiXSA9IDAuMzA5NzU0NTA5NTI1MzMzMzQsIFsiYm95LDIsNCw1LDE0LDUsNSwxNyJdID0gMC43NTA0OTkyNTk1NzA5MTgxMiwgWyJib3ksMiw0LDUsMTQsNSw1LDE4Il0gPSAwLjk0ODQxOTcxNTE1OTY5MjAzLCBbImJveSwyLDQsNSwxNCw1LDUsMTkiXSA9IDAuODA3OTg3Nzk0OTYyMjg5NTYsIFsiYm95LDIsNCw1LDE0LDUsNSwyMCJdID0gMC4zMTkwMjcyMTQzNTI3NDYzOSwgWyJib3ksMiw0LDUsMTQsNSw1LDIxIl0gPSAwLjIwNzA3NjE5NzQzMzQ5ODkyLCBbImJveSwyLDQsNSwxNCw1LDUsMjIiXSA9IDAuNTkzMTk5MzM3NjMzNzM2NzgsIFsiYm95LDIsNCw1LDE0LDUsNSwyNSJdID0gMC4zMDk2ODA2MzI1NzA1MDIzOCwgWyJib3ksMiw0LDUsMTQsNSw1LDI2Il0gPSAwLjg4NDkyMjc5NzU5MTcyNzU0LCBbImJveSwyLDQsNSwxNCw1LDUsMjciXSA9IDAuNzUxMTQ3Mjg2OTk5NDkxNTEsIFsiYm95LDIsNCw1LDE0LDUsNSwyOCJdID0gMC4wNzg2Mzk2NDk1MDEzOTQ1NzEsIFsiYm95LDIsNCw1LDE0LDUsNSwzMSJdID0gMC45OTMyOTIzMjI2MDU3Njc1LCBbImJveSwyLDQsNSwxNCw1LDUsMzIiXSA9IDAuNjY0MDU2MzkwMjM2MjMxMDksIFsiYm95LDIsNCw1LDE0LDUsNSwzMyJdID0gMC44ODgyODM1Mzg1MzI5NjEyNywgWyJib3ksMiw0LDUsMTQsNSw1LDM0Il0gPSAwLjg4NjI4ODc3NDIwMzk1MjY5LCBbImJveSwyLDQsNSwxNCw1LDUsMzciXSA9IDAuNjgzMzAyMzIwMDk3MjcwNTQsIFsiYm95LDIsNCw1LDE0LDUsNSwzOCJdID0gMC40OTIyNTA1MTY2NTE3NDA4LCBbImJveSwyLDQsNSwxNCw1LDUsMzkiXSA9IDAuMjc4NTU4MDkyMDY0MTI0MTksIFsiYm95LDIsNCw1LDE0LDUsNSw0MCJdID0gMC43ODAyNzE5ODY5NjM4Mjg2LCBbImJveSwyLDQsNSwxNCw1LDUsNDYiXSA9IDAuODMxMDI1OTc1NTQ4MTUwMTYsIFsiYm95LDIsNCw1LDE0LDUsNSw0NyJdID0gMC45OTYyMjM1OTcxODMxMDI4MywgWyJib3ksMiw0LDUsMTQsNSw1LDQ4Il0gPSAwLjMxNzQ5Mjk1MTU4MzQ4MDM0LCBbImJveSwyLDQsNSwxNCw1LDUsNDkiXSA9IDAuNDk3MDIwNjkwNTgzNTUxMDMsIFsiYm95LDIsNCw1LDE0LDUsNSw1MiJdID0gMC43NjQ4OTA5NzExMzI0NTg5NiwgWyJib3ksMiw0LDUsMTQsNSw1LDUzIl0gPSAwLjc4NjUxMjc5OTExODExODY3LCBbImJveSwyLDQsNSwxNCw1LDUsNTQiXSA9IDAuODA2MjM0NDc3ODc4NTgyMTYsIFsiYm95LDIsNCw1LDE0LDUsNSw1NSJdID0gMC4xMTc0NTExNTAxMzMyNTg2OSwgWyJib3ksMiw0LDUsMTQsNSw1LDY0Il0gPSAwLjgxMjk4NTA0MzU5Njk4Mjk4LCBbImJveSwyLDQsNSwxNCw1LDUsNjUiXSA9IDAuMTQyMzcyMzIxNjQzMDkzMjEsIFsiYm95LDIsNCw1LDE0LDUsNSw2NiJdID0gMC4wMTQ5NzM5MzAyMDg2NjQ4ODcsIFsiYm95LDIsNCw1LDE0LDUsNSw3MyJdID0gMC4xMjU0ODc1Nzg3NjMxMzY0MywgWyJib3ksMiw0LDUsMTQsNSw1LDc0Il0gPSAwLjc0OTg2MTUyODc5ODkxMjU1LCBbImJveSwyLDQsNSwxNCw1LDUsNzUiXSA9IDAuOTM3MDc1Nzg0Njc5MTYzMywgWyJib3ksMiw0LDUsMTQsNSw1LDc2Il0gPSAwLjgwMjgwOTk1Mjk1NjcyNzE5LCBbImJveSwyLDQsNSwxNCw1LDUsODgiXSA9IDAuMjkxOTA4NDI4NDIzNDIwNTcsIFsiYm95LDIsNCw1LDE0LDUsNSw4OSJdID0gMC45MTMzNDI0NjE5NTA2MTk4NSwgWyJib3ksMiw0LDUsMTQsNSw1LDkwIl0gPSAwLjM1MDI3NzczODYwNzkwODU2LCBbImJveSwyLDQsNSwxNCw1LDUsOTEiXSA9IDAuNTQyMTA2NTIyNjU2NDg5NjIsIFsiYm95LDIsNCw1LDE0LDUsNSw5MiJdID0gMC45MzUyMDMwNTczODI3ODE0MiwgWyJib3ksMiw0LDUsMTQsNSw1LDkzIl0gPSAwLjI1OTEzMTk2Njc1Mjc3MDUsIFsiYm95LDIsNCw1LDE0LDUsNSw5NCJdID0gMC44OTA1MTM1MjQ5NTI0Nzc4MiwgWyJib3ksMiw2LDEsMCw3LDQsMSJdID0gMC43MjA1Mzg2MTg3NjcyMzQ0NiwgWyJib3ksMiw2LDEsMCw3LDQsMiJdID0gMC40OTcxMjEyNDkwNjkxMzgxMywgWyJib3ksMiw2LDEsMCw3LDQsMyJdID0gMC41Mzg1NjQxMjc5MTA1OTIxNiwgWyJib3ksMiw2LDEsMCw3LDQsMTAiXSA9IDAuOTc4OTE3MDQzNDI0OTM5MjQsIFsiYm95LDIsNiwxLDAsNyw0LDExIl0gPSAwLjQ3NTU5NTI4MDQ0MDcyMzk3LCBbImJveSwyLDYsMSwwLDcsNCwxMiJdID0gMC4wNjMzOTU3MjAxMTc5MjYyNjksIFsiYm95LDIsNiwxLDAsNyw0LDEzIl0gPSAwLjAxMTA2ODY1NjQyMDQ4NzU5OSwgWyJib3ksMiw2LDEsMCw3LDQsMTQiXSA9IDAuMjA2NjEwNjU4Mjk0Mzc0OTcsIFsiYm95LDIsNiwxLDAsNyw0LDE1Il0gPSAwLjE2OTYwMTEyMzQ0NTcyMTc2LCBbImJveSwyLDYsMSwwLDcsNCwyMiJdID0gMC41NjIzMzY5MjgxMjg0MzU4MywgWyJib3ksMiw2LDEsMCw3LDQsMjMiXSA9IDAuNjg4Nzc3NTcwODY4NTE1OTksIFsiYm95LDIsNiwxLDAsNyw0LDI0Il0gPSAwLjU5NjI5NDg2Mjg2MTI5NTQsIFsiYm95LDIsNiwxLDAsNyw0LDI1Il0gPSAwLjgwMTM0NTAxOTc5MDE0ODYsIFsiYm95LDIsNiwxLDAsNyw0LDI2Il0gPSAwLjM1NzM0NDkwMTA0ODkxOTM2LCBbImJveSwyLDYsMSwwLDcsNCwyNyJdID0gMC4yMzc2MDc3MTU3NTQzNDgzNiwgWyJib3ksMiw2LDEsMCw3LDQsMzEiXSA9IDAuNzc0NjM5NTc1NzYxOTY2MTgsIFsiYm95LDIsNiwxLDAsNyw0LDMyIl0gPSAwLjYyMzgwNTc3NjIyMzk2MjgzLCBbImJveSwyLDYsMSwwLDcsNCwzMyJdID0gMC4yNTA5NjM2MTQ0ODEwNjgzLCBbImJveSwyLDYsMSwwLDcsNCwzNyJdID0gMC40OTEyNTMyNzg0OTYzNjMyNCwgWyJib3ksMiw2LDEsMCw3LDQsMzgiXSA9IDAuNDk1MTA5MDk1NDMzNzc0MjQsIFsiYm95LDIsNiwxLDAsNyw0LDM5Il0gPSAwLjQ2NDkzODk2MTk4OTM4Mzc4LCBbImJveSwyLDYsMSwwLDcsNCw0MyJdID0gMC4yODgwMDMwMjY4NDc2MDk3LCBbImJveSwyLDYsMSwwLDcsNCw0NCJdID0gMC41NTY0NDcxMjY0MjE3Njc4NiwgWyJib3ksMiw2LDEsMCw3LDQsNDUiXSA9IDAuNTQ3Mzc4MDk0MjAzMzAyNjMsIFsiYm95LDIsNiwxLDAsNyw0LDUyIl0gPSAwLjMxNTg0NTk0MDg3MTExNDczLCBbImJveSwyLDYsMSwwLDcsNCw1MyJdID0gMC42MDAyMDAyODE2Nzk0NDYyOCwgWyJib3ksMiw2LDEsMCw3LDQsNTQiXSA9IDAuMzg0MzE4MDc1MTI1NjkwNDksIFsiYm95LDIsNiwxLDAsNyw0LDU4Il0gPSAwLjQ3MTI3ODA4MTMzNTc0MTc4LCBbImJveSwyLDYsMSwwLDcsNCw1OSJdID0gMC4zMjQ3MzkwNzI2MDYxNTc0MiwgWyJib3ksMiw2LDEsMCw3LDQsNjAiXSA9IDAuOTk3MDYwNjI3MzI4MjA0MzMsIFsiYm95LDIsNiwxLDAsNyw0LDY3Il0gPSAwLjY0MTIzMTM2NzY4NjYyMzQ4LCBbImJveSwyLDYsMSwwLDcsNCw2OCJdID0gMC42NjkzNjA2NjI2MTcxMTYyNCwgWyJib3ksMiw2LDEsMCw3LDQsNjkiXSA9IDAuMDkxOTE0NjE5ODMyMzA1MDg5LCBbImJveSwyLDYsMSwwLDcsNCw3OSJdID0gMC42NTU0NzU4MDUxNzk1OTcwMywgWyJib3ksMiw2LDEsMCw3LDQsODAiXSA9IDAuMDQ4NDk3MDk3MzkzNjIwNTE0LCBbImJveSwyLDYsMSwwLDcsNCw4MSJdID0gMC43NDg0NTAwNTMzMjA4MTA0OSwgWyJib3ksMiw2LDEsMCw3LDQsOTQiXSA9IDAuNDQwMzM1ODY3NTk2NTQzODYsIFsiYm95LDIsNiwxLDAsNyw0LDk1Il0gPSAwLjUwNDIyNDY0NTczMDA5NTE4LCBbImJveSwyLDYsMSwwLDcsNCw5NiJdID0gMC4xNjcxODEwMTY3Mzg3MTMzMywgWyJib3ksMiw2LDEsMCw3LDQsOTciXSA9IDAuNTU0NDEyMDk3MzMzMDYxNzQsIFsiYm95LDIsNiwxLDAsNyw0LDk4Il0gPSAwLjc5MDAzOTU4MTIzMzc1NDE3LCBbImJveSwyLDYsMSwwLDcsNCw5OSJdID0gMC40NTEwMTM4NTE3MDIwNDk2NiwgWyJib3ksMiw2LDEsMTQsNSw1LDEiXSA9IDAuNTYyMTk3NzYxMzUxMjgzMTksIFsiYm95LDIsNiwxLDE0LDUsNSwyIl0gPSAwLjk0NDI0OTgyNDkyMzkxNjg1LCBbImJveSwyLDYsMSwxNCw1LDUsMyJdID0gMC44OTI1NTg2MjU5MDM5MzgyLCBbImJveSwyLDYsMSwxNCw1LDUsNCJdID0gMC4zNDI2MjU0NzUzMDE3MDk3MywgWyJib3ksMiw2LDEsMTQsNSw1LDEwIl0gPSAwLjQwNjYwMjEzNTAxOTAyNjk4LCBbImJveSwyLDYsMSwxNCw1LDUsMTEiXSA9IDAuNzYyMDQyODc0Nzc3NTMzMTksIFsiYm95LDIsNiwxLDE0LDUsNSwxMiJdID0gMC45NzY1MDE0ODU3NTA5MTA2NywgWyJib3ksMiw2LDEsMTQsNSw1LDEzIl0gPSAwLjI0NjgzODI2NTgzNDM0OTA5LCBbImJveSwyLDYsMSwxNCw1LDUsMTQiXSA9IDAuMjIzOTExODkzNDM3MTk2NjQsIFsiYm95LDIsNiwxLDE0LDUsNSwxNSJdID0gMC42MjE1NDE2MTE4MDE2NjE5LCBbImJveSwyLDYsMSwxNCw1LDUsMTYiXSA9IDAuNjMxMjcyNzI1MTM1MTkyMTcsIFsiYm95LDIsNiwxLDE0LDUsNSwyMiJdID0gMC42NTc3Njc2ODc5MjI1MTc2MSwgWyJib3ksMiw2LDEsMTQsNSw1LDIzIl0gPSAwLjQ2MzgzMzExNjk0OTc0MTgzLCBbImJveSwyLDYsMSwxNCw1LDUsMjQiXSA9IDAuODI2MTAzOTExMzE3MDQwMDgsIFsiYm95LDIsNiwxLDE0LDUsNSwyNSJdID0gMC44NjIyMTc3NzQwNjE0OTk4LCBbImJveSwyLDYsMSwxNCw1LDUsMjYiXSA9IDAuMjM0MTA5MzE5NjU1NTMyMTcsIFsiYm95LDIsNiwxLDE0LDUsNSwyNyJdID0gMC4xNzA0MzEyODIzMjg2MDExNiwgWyJib3ksMiw2LDEsMTQsNSw1LDI4Il0gPSAwLjYyMjQ5Nzg5NDA2MzA4MDU0LCBbImJveSwyLDYsMSwxNCw1LDUsMzEiXSA9IDAuMjI4MDE4NTU2MTU1Mjk4MzEsIFsiYm95LDIsNiwxLDE0LDUsNSwzMiJdID0gMC4yMDM5NzEwNDY2ODY5NzEzLCBbImJveSwyLDYsMSwxNCw1LDUsMzMiXSA9IDAuNDMzMDE4MzgxNTkyMTQ1NTYsIFsiYm95LDIsNiwxLDE0LDUsNSwzNCJdID0gMC45NzcxNjM2MDI4MjQxODMwMiwgWyJib3ksMiw2LDEsMTQsNSw1LDM3Il0gPSAwLjI0MzA2OTU4OTA4NTY4NDIxLCBbImJveSwyLDYsMSwxNCw1LDUsMzgiXSA9IDAuNDM1MjMxNDY5NzI4MjM4MjMsIFsiYm95LDIsNiwxLDE0LDUsNSwzOSJdID0gMC40NTkxMDgwNTU1MTI5OTA3MiwgWyJib3ksMiw2LDEsMTQsNSw1LDQwIl0gPSAwLjY4NTExMzYwOTk3Njk4OSwgWyJib3ksMiw2LDEsMTQsNSw1LDQzIl0gPSAwLjgwNzM2MTA1NzYwNjMxMjE2LCBbImJveSwyLDYsMSwxNCw1LDUsNDQiXSA9IDAuNTMzMDQ5MzA3NDc5NTE1NzMsIFsiYm95LDIsNiwxLDE0LDUsNSw0NSJdID0gMC4wNzEzMDY4MTIzMTcxMTU4ODYsIFsiYm95LDIsNiwxLDE0LDUsNSw0NiJdID0gMC45ODY0MzI0NDc0OTI1MzE4OSwgWyJib3ksMiw2LDEsMTQsNSw1LDUyIl0gPSAwLjkyMTgxNTY4MzczMTkwMTE1LCBbImJveSwyLDYsMSwxNCw1LDUsNTMiXSA9IDAuOTUwNjI0NTI1OTI3NzM2NjEsIFsiYm95LDIsNiwxLDE0LDUsNSw1NCJdID0gMC40MjI2OTQ4OTk1MTIwODU4MywgWyJib3ksMiw2LDEsMTQsNSw1LDU1Il0gPSAwLjk1NzU4MDUyOTE2MDU1MTkyLCBbImJveSwyLDYsMSwxNCw1LDUsNTgiXSA9IDAuMjg1MTEyNDkzMDU3MzI1NjcsIFsiYm95LDIsNiwxLDE0LDUsNSw1OSJdID0gMC41MDA3MDcwODk3OTU1OTAzMSwgWyJib3ksMiw2LDEsMTQsNSw1LDYwIl0gPSAwLjcxMTE5ODY4NzQxMzk2MzMsIFsiYm95LDIsNiwxLDE0LDUsNSw2MSJdID0gMC4yNDg2NjM2NzI3NDA2MDE3NSwgWyJib3ksMiw2LDEsMTQsNSw1LDY3Il0gPSAwLjMwMjAyODYzNzMyODgyNzY4LCBbImJveSwyLDYsMSwxNCw1LDUsNjgiXSA9IDAuMzMyMzM1OTU1NTg2ODI0NjEsIFsiYm95LDIsNiwxLDE0LDUsNSw2OSJdID0gMC45NjA0NTE3Nzk0OTU2MzE1NCwgWyJib3ksMiw2LDEsMTQsNSw1LDcwIl0gPSAwLjc2NjA2NTI0NjIzODgzNTc2LCBbImJveSwyLDYsMSwxNCw1LDUsNzkiXSA9IDAuNzgzNzA3ODk5NDQ4NjYzNDgsIFsiYm95LDIsNiwxLDE0LDUsNSw4MCJdID0gMC4xNDg1NjU0MjUwNzkyNzU2MSwgWyJib3ksMiw2LDEsMTQsNSw1LDgxIl0gPSAwLjEwNDc2MjY4NzIzODc3NjM1LCBbImJveSwyLDYsMSwxNCw1LDUsODIiXSA9IDAuOTAyODQ3MjczNjgzMzY0NTksIFsiYm95LDIsNiwxLDE0LDUsNSw5NCJdID0gMC45OTA0Mzc5OTU3NjQxMjkxNiwgWyJib3ksMiw2LDEsMTQsNSw1LDk1Il0gPSAwLjc4ODAxOTk5MzY2OTkzNTkxLCBbImJveSwyLDYsMSwxNCw1LDUsOTYiXSA9IDAuNzY0ODQwNjA3MTc1OTY5MDIsIFsiYm95LDIsNiwxLDE0LDUsNSw5NyJdID0gMC43MDQ2NjQ1NzIwNzk1NjU2OCwgWyJib3ksMiw2LDEsMTQsNSw1LDk4Il0gPSAwLjYzODc5NTk3MTU0NTk5Mzg4LCBbImJveSwyLDYsMSwxNCw1LDUsOTkiXSA9IDAuMjQ5MTgzNjEwNDg1MjM1ODUsIFsiYm95LDIsNiwxLDE0LDUsNSwxMDAiXSA9IDAuMTU4ODcxNDU4ODA5MzYyNDksIFsiYm95LDMsMiwxLDAsNyw0LDQiXSA9IDAuNjY4NzE2ODA5OTUxODI1NywgWyJib3ksMywyLDEsMCw3LDQsNSJdID0gMC4wNTcwNjUyNjA4MTQ0MDExMDksIFsiYm95LDMsMiwxLDAsNyw0LDYiXSA9IDAuNzM4MjQxMTU1NzUyNTkzODYsIFsiYm95LDMsMiwxLDE0LDUsNSwxIl0gPSAwLjMwNzExMTUwNzc5MDYxNjEzLCBbImJveSwzLDIsMSwxNCw1LDUsNCJdID0gMC43MzYxMjIzOTA2NzUzMzcxMywgWyJib3ksMywyLDEsMTQsNSw1LDUiXSA9IDAuMDYxNTQ2MDY5OTk0Mzg1OTQ0LCBbImJveSwzLDIsMSwxNCw1LDUsNiJdID0gMC41NTEzMTA3OTQxNTYzMTgwMSwgWyJib3ksMywyLDEsMTQsNSw1LDciXSA9IDAuNzE5MDI2NjgxMTcxNjA0MTgsIFsiYm95LDMsNCwxLDE0LDUsNSwxIl0gPSAwLjAwNjE2MjA5MzMzNzQ5NTUxMTEsIFsiYm95LDMsNCw1LDAsNyw0LDEiXSA9IDAuODcwNDU2MTE3MDIyNTc1OTcsIFsiYm95LDMsNCw1LDAsNyw0LDIiXSA9IDAuNzY0OTI1NjgyMDIyNTc3ODIsIFsiYm95LDMsNCw1LDAsNyw0LDMiXSA9IDAuNDE4NzU4MzMwOTM4Nzk3LCBbImJveSwzLDQsNSwwLDcsNCw0Il0gPSAwLjg5MDg3NjM5Mjc2ODIzOTI3LCBbImJveSwzLDQsNSwwLDcsNCw1Il0gPSAwLjQxNDM5MTk3MDk4MTc5NjcsIFsiYm95LDMsNCw1LDAsNyw0LDYiXSA9IDAuMTE5MzY0MjYyOTIxNzI3NzUsIFsiYm95LDMsNCw1LDAsNyw0LDEzIl0gPSAwLjEyOTAzMjQ5MDEzODI2MTc5LCBbImJveSwzLDQsNSwwLDcsNCwxNCJdID0gMC45MzQ0MDE5MzcyNjg5MjAwNywgWyJib3ksMyw0LDUsMCw3LDQsMTUiXSA9IDAuNTkwNzIxMTU2NjQ5MDY1OTksIFsiYm95LDMsNCw1LDAsNyw0LDE2Il0gPSAwLjkxNzM1NTkxMDkwMTUwODE0LCBbImJveSwzLDQsNSwwLDcsNCwxNyJdID0gMC4yNjgwMTI4NzUwMTE2NTg4MiwgWyJib3ksMyw0LDUsMCw3LDQsMTgiXSA9IDAuNTE0MTQ3MDIyODE0NDUxNTcsIFsiYm95LDMsNCw1LDAsNyw0LDIyIl0gPSAwLjE1NTEwNDM4NDY5NjM5OTk4LCBbImJveSwzLDQsNSwwLDcsNCwyMyJdID0gMC43ODEwODYxMTgwMzQ1NDc0MiwgWyJib3ksMyw0LDUsMCw3LDQsMjQiXSA9IDAuMTIwODg3NzUxMDU1MjUxMjksIFsiYm95LDMsNCw1LDAsNyw0LDI4Il0gPSAwLjEyNDkwMDcxMzQyMzI0NTgyLCBbImJveSwzLDQsNSwwLDcsNCwyOSJdID0gMC42NjY2MDEwNzE1ODcwMjI1MywgWyJib3ksMyw0LDUsMCw3LDQsMzAiXSA9IDAuODU2MTQ2NDg4MDQ2MjI5NzMsIFsiYm95LDMsNCw1LDAsNyw0LDM0Il0gPSAwLjY3NjAyMjI3NjA1OTM5NjEzLCBbImJveSwzLDQsNSwwLDcsNCwzNSJdID0gMC4wMzcyMDMzMzA3NTcyMzE3MDEsIFsiYm95LDMsNCw1LDAsNyw0LDM2Il0gPSAwLjI2OTYxODY2Mjc4Mjk4MTA4LCBbImJveSwzLDQsNSwwLDcsNCw0NCJdID0gMC42NjQxNDI1Mzg2NDk3NjE2OSwgWyJib3ksMyw0LDUsMCw3LDQsNDUiXSA9IDAuMzY1MDExNjgyNzM2OTQ3MTcsIFsiYm95LDMsNCw1LDAsNyw0LDQ5Il0gPSAwLjQ4NDQwNTg1MDU2MjQ4Njg2LCBbImJveSwzLDQsNSwwLDcsNCw1MCJdID0gMC4zOTU2ODA3MjgyMDkxNzc4OCwgWyJib3ksMyw0LDUsMCw3LDQsNTEiXSA9IDAuNzI5NTEwODM0MzE2MDYzNjcsIFsiYm95LDMsNCw1LDAsNyw0LDYxIl0gPSAwLjMwOTM5NzA0MTg5MjM5OTQ3LCBbImJveSwzLDQsNSwwLDcsNCw2MiJdID0gMC4yOTIzMTcyNTQ2MjE5MDQ4MywgWyJib3ksMyw0LDUsMCw3LDQsNjMiXSA9IDAuODQxOTQ4OTA2NDQwODA2MzMsIFsiYm95LDMsNCw1LDAsNyw0LDcwIl0gPSAwLjA1Mzc1MDkxODYyMjc3MjcwMywgWyJib3ksMyw0LDUsMCw3LDQsNzEiXSA9IDAuMDQ3NzE4OTg0MzM0MzAyODgzLCBbImJveSwzLDQsNSwwLDcsNCw3MiJdID0gMC43OTA4Njk1MzEwNzIyNDk1NSwgWyJib3ksMyw0LDUsMCw3LDQsODUiXSA9IDAuNzYzNzIwOTczMjUxODU5NzIsIFsiYm95LDMsNCw1LDAsNyw0LDg2Il0gPSAwLjEzMDE2MTgwMDE0Mjc3NTM0LCBbImJveSwzLDQsNSwwLDcsNCw4NyJdID0gMC45ODAxODcxMDU5MDAzMDI2NywgWyJib3ksMyw0LDUsMCw3LDQsODgiXSA9IDAuMTI5ODc5NjkzMTAzMTUzMzksIFsiYm95LDMsNCw1LDAsNyw0LDg5Il0gPSAwLjgzNzA1NTE1MDQyMzEyNDk1LCBbImJveSwzLDQsNSwwLDcsNCw5MCJdID0gMC4xNDU0Mzc4NjY3MjM5NDg4NywgWyJib3ksMyw0LDUsMTQsNSw1LDEiXSA9IDAuNTM4NjMzMTQxNzEzNjQ4NzMsIFsiYm95LDMsNCw1LDE0LDUsNSwyIl0gPSAwLjExMTM4NzM0OTg0OTc1Mzk2LCBbImJveSwzLDQsNSwxNCw1LDUsMyJdID0gMC4xNjE4MzQ5OTMwMjM5MDc1OCwgWyJib3ksMyw0LDUsMTQsNSw1LDQiXSA9IDAuNDI2NjUyODQyMzc1NjgzMjQsIFsiYm95LDMsNCw1LDE0LDUsNSw1Il0gPSAwLjc4MDcwMDI5ODc3NDA2Nzg4LCBbImJveSwzLDQsNSwxNCw1LDUsNiJdID0gMC4wOTA3NjE2NzgzNjE5Nzg5MDQsIFsiYm95LDMsNCw1LDE0LDUsNSw3Il0gPSAwLjY2MTI4NzQzNjQ4NjU2OTk2LCBbImJveSwzLDQsNSwxNCw1LDUsMTMiXSA9IDAuNDczNzE3MzQ0ODg4NzM3NzMsIFsiYm95LDMsNCw1LDE0LDUsNSwxNCJdID0gMC41NjI2NTMwNDIzOTQ5NTc4NCwgWyJib3ksMyw0LDUsMTQsNSw1LDE1Il0gPSAwLjQ5NzQ1OTMyMzQ4NzkwMDM0LCBbImJveSwzLDQsNSwxNCw1LDUsMTYiXSA9IDAuOTE5Nzk1NzgxNDI0MTE5NzcsIFsiYm95LDMsNCw1LDE0LDUsNSwxNyJdID0gMC42Mjg2MjI0OTcyMDcyMzE4NSwgWyJib3ksMyw0LDUsMTQsNSw1LDE4Il0gPSAwLjk1MTkxMzMyODI4NDg5NzUsIFsiYm95LDMsNCw1LDE0LDUsNSwxOSJdID0gMC42NDkyOTUxNTQ0ODE4OTMwMSwgWyJib3ksMyw0LDUsMTQsNSw1LDIyIl0gPSAwLjQwNDYzODM3NDIxNTI1MjM5LCBbImJveSwzLDQsNSwxNCw1LDUsMjMiXSA9IDAuMzQ0MDU3NzY4NTcwOTQwNSwgWyJib3ksMyw0LDUsMTQsNSw1LDI0Il0gPSAwLjAzNzA1MzI2MjkwNTY0MjgxNCwgWyJib3ksMyw0LDUsMTQsNSw1LDI1Il0gPSAwLjQ4MzI2NDAzMDY3NDExODk0LCBbImJveSwzLDQsNSwxNCw1LDUsMjgiXSA9IDAuNjMyNDE0MDE0NjU1NDkxMDcsIFsiYm95LDMsNCw1LDE0LDUsNSwyOSJdID0gMC44NDM5NTgzNTQxOTE4MjQ1MiwgWyJib3ksMyw0LDUsMTQsNSw1LDMwIl0gPSAwLjEzODAzNTY3Njk3MzY0MTA1LCBbImJveSwzLDQsNSwxNCw1LDUsMzEiXSA9IDAuODA0MTc0MTM5NzEyNjU2OTQsIFsiYm95LDMsNCw1LDE0LDUsNSwzNCJdID0gMC4xOTk3OTc1NTcxNzUzNTExOSwgWyJib3ksMyw0LDUsMTQsNSw1LDM1Il0gPSAwLjgxMTkwOTk3NjUyMzAzMzMyLCBbImJveSwzLDQsNSwxNCw1LDUsMzYiXSA9IDAuODI0NzQ1MTQ3NTY2Njk1ODEsIFsiYm95LDMsNCw1LDE0LDUsNSwzNyJdID0gMC4zMDMzMjcxNjU1MzU5MjI0MywgWyJib3ksMyw0LDUsMTQsNSw1LDQ0Il0gPSAwLjQ1MTI0MjM2NzE2NDQ0MjMzLCBbImJveSwzLDQsNSwxNCw1LDUsNDUiXSA9IDAuMzY0NTk5NTgwMjk3NzA0NjcsIFsiYm95LDMsNCw1LDE0LDUsNSw0NiJdID0gMC40NDUzNDM3MDI0MjYwNjg5MSwgWyJib3ksMyw0LDUsMTQsNSw1LDQ5Il0gPSAwLjYxOTQ3MDQ3OTE3Mzg2NzQ0LCBbImJveSwzLDQsNSwxNCw1LDUsNTAiXSA9IDAuMzM1MTQ1NTQ4NzYwMDIyMTIsIFsiYm95LDMsNCw1LDE0LDUsNSw1MSJdID0gMC4xNjg3NzkxNDE3NzAyMjkzNSwgWyJib3ksMyw0LDUsMTQsNSw1LDUyIl0gPSAwLjYwMTU5ODYwMDkxMzYyMjA1LCBbImJveSwzLDQsNSwxNCw1LDUsNjEiXSA9IDAuMDg5NTc5NDE1ODAzNzY3OTM3LCBbImJveSwzLDQsNSwxNCw1LDUsNjIiXSA9IDAuOTY2MzEyOTY0ODY1NTU3NzMsIFsiYm95LDMsNCw1LDE0LDUsNSw2MyJdID0gMC4yMzA2Mjk5MzAyNTcxODA4MiwgWyJib3ksMyw0LDUsMTQsNSw1LDY0Il0gPSAwLjIwMjQ2NzAzMjI4NTE4MzU5LCBbImJveSwzLDQsNSwxNCw1LDUsNzAiXSA9IDAuMDQ0MzUxNjUwMjQwNDg0ODE5LCBbImJveSwzLDQsNSwxNCw1LDUsNzEiXSA9IDAuMzc1Mjk5MTk2Nzk2MDc3MjYsIFsiYm95LDMsNCw1LDE0LDUsNSw3MiJdID0gMC4wMjA5ODIzMjk5ODM5Mjg5MDUsIFsiYm95LDMsNCw1LDE0LDUsNSw3MyJdID0gMC4xMzU4MDk4MTQwNTQ5NzEwNiwgWyJib3ksMyw0LDUsMTQsNSw1LDg1Il0gPSAwLjc2OTY5ODU3ODgzNTg5NzIxLCBbImJveSwzLDQsNSwxNCw1LDUsODYiXSA9IDAuNTA2NjA1Mzg2MzkzNjI3MjksIFsiYm95LDMsNCw1LDE0LDUsNSw4NyJdID0gMC41NjMxOTE4Njk2NDQ5NTQ5MywgWyJib3ksMyw0LDUsMTQsNSw1LDg4Il0gPSAwLjM4OTYyNTQwNTU5MjY4ODQzLCBbImJveSwzLDQsNSwxNCw1LDUsODkiXSA9IDAuODEzOTQ2OTk2ODU5MDM3MzcsIFsiYm95LDMsNCw1LDE0LDUsNSw5MCJdID0gMC4wMzQzNTcyMTI4MjQzNTQ1NTUsIFsiYm95LDMsNCw1LDE0LDUsNSw5MSJdID0gMC42OTIwNzUzOTA4MTAwMzM2NiwgWyJib3ksMyw2LDEsMCw3LDQsNCJdID0gMC4yNjkwNDM4MDc1MDUxMTE4MSwgWyJib3ksMyw2LDEsMCw3LDQsNSJdID0gMC43MTI4MjM5NzM5OTc3OTk1MSwgWyJib3ksMyw2LDEsMCw3LDQsNiJdID0gMC43OTcxMjYzMTg0Nzk5MjA0NCwgWyJib3ksMyw2LDEsMCw3LDQsMTMiXSA9IDAuMTA5MDA3ODAxNTg2Njc2NDQsIFsiYm95LDMsNiwxLDAsNyw0LDE0Il0gPSAwLjk4NzczMzEyNzk0MTA1ODM5LCBbImJveSwzLDYsMSwwLDcsNCwxNSJdID0gMC4wMzQyMDYyNTQ5OTY1OTkzNSwgWyJib3ksMyw2LDEsMCw3LDQsMTYiXSA9IDAuNjM5MTI5ODAzNzMxMzc2NCwgWyJib3ksMyw2LDEsMCw3LDQsMTciXSA9IDAuNjQ1MTI5MjY1NTE5MTUxODQsIFsiYm95LDMsNiwxLDAsNyw0LDE4Il0gPSAwLjA5NjkyNjg4NTc0NDM4NTY4MiwgWyJib3ksMyw2LDEsMCw3LDQsMjUiXSA9IDAuOTM1NTk5MjY0OTYwMjA2OTYsIFsiYm95LDMsNiwxLDAsNyw0LDI2Il0gPSAwLjk5OTk1MDkyMTc1NTU4ODIsIFsiYm95LDMsNiwxLDAsNyw0LDI3Il0gPSAwLjUxNzM0ODY2MjcyMDc5NTQ5LCBbImJveSwzLDYsMSwwLDcsNCwyOCJdID0gMC4wODM3MDcwMjQ2ODE3MjA0MjEsIFsiYm95LDMsNiwxLDAsNyw0LDI5Il0gPSAwLjA1ODc5OTY3MDQxNzQ1MTU5OSwgWyJib3ksMyw2LDEsMCw3LDQsMzAiXSA9IDAuOTU3NTIzODY2MzYyMTUxMDMsIFsiYm95LDMsNiwxLDAsNyw0LDM0Il0gPSAwLjQzMTk1MDQ3NDcxMjE4NDA2LCBbImJveSwzLDYsMSwwLDcsNCwzNSJdID0gMC4zMzQyMzEzNzk5NTgyMTc3MiwgWyJib3ksMyw2LDEsMCw3LDQsMzYiXSA9IDAuMzI4NTkzNTc0MDk4NTY0MzgsIFsiYm95LDMsNiwxLDAsNyw0LDQwIl0gPSAwLjc4NDEyOTY0ODkwNTk5NTAxLCBbImJveSwzLDYsMSwwLDcsNCw0MSJdID0gMC42MzY1NDEwNjAyODg5ODI1LCBbImJveSwzLDYsMSwwLDcsNCw0MiJdID0gMC4zMDcwOTYzMzkwMjE0OTY0NywgWyJib3ksMyw2LDEsMCw3LDQsNDYiXSA9IDAuMDUxMDM4NjU2MDM1MTg3NDI0LCBbImJveSwzLDYsMSwwLDcsNCw0NyJdID0gMC40OTEzOTExMzMzMTM3NzcwNCwgWyJib3ksMyw2LDEsMCw3LDQsNDgiXSA9IDAuNDYxNDQxMDYxNzM1NDI0OTgsIFsiYm95LDMsNiwxLDAsNyw0LDU1Il0gPSAwLjE3NDAwNDcxNzc2MTc2MDk2LCBbImJveSwzLDYsMSwwLDcsNCw1NiJdID0gMC42NDQ1OTEzNjI1NDIzNTMzOSwgWyJib3ksMyw2LDEsMCw3LDQsNTciXSA9IDAuNjQwMjkzNDI3NDkxMjczMjcsIFsiYm95LDMsNiwxLDAsNyw0LDYxIl0gPSAwLjk4ODE2NjIwNDgyNzQ5MzA3LCBbImJveSwzLDYsMSwwLDcsNCw3MCJdID0gMC40NTQzMTgwNjM1NDg3NDI0OSwgWyJib3ksMyw2LDEsMCw3LDQsNzEiXSA9IDAuNjE4MjgyNTk0MzU0NjExMDgsIFsiYm95LDMsNiwxLDAsNyw0LDcyIl0gPSAwLjQ3OTM3NzY0NjM4Nzc5Mjc5LCBbImJveSwzLDYsMSwwLDcsNCw4MiJdID0gMC44MDcwODc2NzAwNjE2NTk4MiwgWyJib3ksMyw2LDEsMCw3LDQsODMiXSA9IDAuMTExOTc1Njg4OTM0MjU3OCwgWyJib3ksMyw2LDEsMCw3LDQsODQiXSA9IDAuMDg5NjY3NDE4NDAyNDEzNzY4LCBbImJveSwzLDYsMSwwLDcsNCw5NyJdID0gMC4zNjU2NzIwODQyNzIzMzIsIFsiYm95LDMsNiwxLDAsNyw0LDk4Il0gPSAwLjExNTY2Mzk4MzEyODIzMDIzLCBbImJveSwzLDYsMSwwLDcsNCw5OSJdID0gMC4yNDIwMDY1MDQ3NjgyOTQyMiwgWyJib3ksMyw2LDEsMCw3LDQsMTAwIl0gPSAwLjA3MzA4ODY0NDU1MDc1MjE0NywgWyJib3ksMyw2LDEsMCw3LDQsMTAxIl0gPSAwLjY3NDc4MTkyMDc4MTcxMDUxLCBbImJveSwzLDYsMSwwLDcsNCwxMDIiXSA9IDAuMjI3MDY1MDcyNzQwMTIyLCBbImJveSwzLDYsMSwxNCw1LDUsMSJdID0gMC40Mzc1Njk1NjY3MjM5Mzc0MywgWyJib3ksMyw2LDEsMTQsNSw1LDQiXSA9IDAuMTExMzEyNTM3NzMyMjQ1NywgWyJib3ksMyw2LDEsMTQsNSw1LDUiXSA9IDAuMzY3NTExMzQ2MTczNjg3ODYsIFsiYm95LDMsNiwxLDE0LDUsNSw2Il0gPSAwLjUzNDg0NjMxODkyODg2MDE0LCBbImJveSwzLDYsMSwxNCw1LDUsNyJdID0gMC41MDkzNzUzNDY2MDE0OTQzMSwgWyJib3ksMyw2LDEsMTQsNSw1LDEzIl0gPSAwLjk2NTM3MjY3MTkwMjM0NjU1LCBbImJveSwzLDYsMSwxNCw1LDUsMTQiXSA9IDAuNDg0Njk1NzMzMDY5Njg0MTYsIFsiYm95LDMsNiwxLDE0LDUsNSwxNSJdID0gMC40MDYyMTgyODY4NTEzMjExMSwgWyJib3ksMyw2LDEsMTQsNSw1LDE2Il0gPSAwLjg2OTMyNzM1NzQ2ODM0NTU1LCBbImJveSwzLDYsMSwxNCw1LDUsMTciXSA9IDAuOTQ5NjgxMzgyMzQwNjc4LCBbImJveSwzLDYsMSwxNCw1LDUsMTgiXSA9IDAuMjMyNzMxODI3OTM0NTM0OTUsIFsiYm95LDMsNiwxLDE0LDUsNSwxOSJdID0gMC4wNTQ4NzUyMDkxNjMyMTI3NTcsIFsiYm95LDMsNiwxLDE0LDUsNSwyNSJdID0gMC43NzY1NTMxMjU2Njg1ODc1OCwgWyJib3ksMyw2LDEsMTQsNSw1LDI2Il0gPSAwLjEyOTIxMjE0MjA2MDA5NTM1LCBbImJveSwzLDYsMSwxNCw1LDUsMjciXSA9IDAuNzc5NDM4ODkxNDIzNDczMTEsIFsiYm95LDMsNiwxLDE0LDUsNSwyOCJdID0gMC4yNDA4MjY2NzA4MzIzNjM2NCwgWyJib3ksMyw2LDEsMTQsNSw1LDI5Il0gPSAwLjg5MTYyOTIzOTAyMjY0NzQ2LCBbImJveSwzLDYsMSwxNCw1LDUsMzAiXSA9IDAuNDA0NjY3Mzc5NzgzNTc3MTQsIFsiYm95LDMsNiwxLDE0LDUsNSwzMSJdID0gMC4xMjE1ODQ0MjU1NDI5MDkyNywgWyJib3ksMyw2LDEsMTQsNSw1LDM0Il0gPSAwLjc5NzY0NTA2MDE1MDYxMTU0LCBbImJveSwzLDYsMSwxNCw1LDUsMzUiXSA9IDAuMDQ4MzIzMzcyMDYyODUxNzU1LCBbImJveSwzLDYsMSwxNCw1LDUsMzYiXSA9IDAuODM1NTUxNDI3NTUxNDI0ODYsIFsiYm95LDMsNiwxLDE0LDUsNSwzNyJdID0gMC44NTcyNTY4MjA1OTEyOTczNywgWyJib3ksMyw2LDEsMTQsNSw1LDQwIl0gPSAwLjI3NzU2ODM2MTg1NTA0NDg1LCBbImJveSwzLDYsMSwxNCw1LDUsNDEiXSA9IDAuNTkwNTg0NDcxMTU3MTM1NTMsIFsiYm95LDMsNiwxLDE0LDUsNSw0MiJdID0gMC45OTU0MDM0MTY2NTg3OTk5NCwgWyJib3ksMyw2LDEsMTQsNSw1LDQzIl0gPSAwLjI5Njk4MzkzMTE4ODc1Mzg4LCBbImJveSwzLDYsMSwxNCw1LDUsNDYiXSA9IDAuMjAxNTcxNzA3ODg0NDEzNywgWyJib3ksMyw2LDEsMTQsNSw1LDQ3Il0gPSAwLjA2NDA1OTY4NzU3MTg2NTA4NywgWyJib3ksMyw2LDEsMTQsNSw1LDQ4Il0gPSAwLjEyMjgwNTQ5OTcyNjQ1NjA1LCBbImJveSwzLDYsMSwxNCw1LDUsNDkiXSA9IDAuMjc4NTQ5MTAwOTY4NjA0NzUsIFsiYm95LDMsNiwxLDE0LDUsNSw1NSJdID0gMC4yNDQxMjc1MDQyMjExODc0NSwgWyJib3ksMyw2LDEsMTQsNSw1LDU2Il0gPSAwLjc5NDU3MDQ4OTE1MTY1NjUxLCBbImJveSwzLDYsMSwxNCw1LDUsNTciXSA9IDAuOTIyOTQ5OTM3MTI1NzI5MDQsIFsiYm95LDMsNiwxLDE0LDUsNSw1OCJdID0gMC4xMDAyMjAwMTM0ODg2MzMwOCwgWyJib3ksMyw2LDEsMTQsNSw1LDYxIl0gPSAwLjYzNTM4NjU5ODI2ODg1MjY5LCBbImJveSwzLDYsMSwxNCw1LDUsNjIiXSA9IDAuMDE0NTYxMjQ5NzQ0MTU0NTE0LCBbImJveSwzLDYsMSwxNCw1LDUsNzAiXSA9IDAuMjA4MjgyNzk3NjE4MDk1ODcsIFsiYm95LDMsNiwxLDE0LDUsNSw3MSJdID0gMC43NDYxMzE0MzUxMzkyMTk2NSwgWyJib3ksMyw2LDEsMTQsNSw1LDcyIl0gPSAwLjUyNzEyNDM1MTUyNjg4MTk3LCBbImJveSwzLDYsMSwxNCw1LDUsNzMiXSA9IDAuODc4ODA2Nzc4MTE5MzQwMDUsIFsiYm95LDMsNiwxLDE0LDUsNSw4MiJdID0gMC4yOTE1NTMyNTQwODIwOTQ4NywgWyJib3ksMyw2LDEsMTQsNSw1LDgzIl0gPSAwLjY0ODI1Nzc1NDg5NjMyNjIsIFsiYm95LDMsNiwxLDE0LDUsNSw4NCJdID0gMC43NzU1MDA0MjczNTExODE4NSwgWyJib3ksMyw2LDEsMTQsNSw1LDg1Il0gPSAwLjE2NTE0NzE3MTk2OTU3Njk2LCBbImJveSwzLDYsMSwxNCw1LDUsOTciXSA9IDAuNzg3MTcwOTg1MzQyMTAwOTUsIFsiYm95LDMsNiwxLDE0LDUsNSw5OCJdID0gMC42MDA0NzMwNDY1ODc0MTg0LCBbImJveSwzLDYsMSwxNCw1LDUsOTkiXSA9IDAuMTQxMzEyMjAzNDYwNDY5OTEsIFsiYm95LDMsNiwxLDE0LDUsNSwxMDAiXSA9IDAuNDYxMTA4MDE1MDY5NzgyMTYsIFsiYm95LDMsNiwxLDE0LDUsNSwxMDEiXSA9IDAuNzk0NTY0NzA2MTk4MjMwNjEsIFsiYm95LDMsNiwxLDE0LDUsNSwxMDIiXSA9IDAuNzc4MjcxNjAxNzU2OTk2NjEsIFsiYm95LDMsNiwxLDE0LDUsNSwxMDMiXSA9IDAuMTIwMDQ4NDgxNTk2MjI5OTQsIFsiYm95LDQsMiwxLDAsNyw0LDEiXSA9IDAuMzMzMTA0MjgzMjIxNjEyMjMsIFsiYm95LDQsMiwxLDAsNyw0LDIiXSA9IDAuNzg0MzY5ODExNDg0NDUyMzksIFsiYm95LDQsMiwxLDAsNyw0LDMiXSA9IDAuMDcyMTcxOTMwMjQwNDY0NDIxLCBbImJveSw0LDIsMSwwLDcsNCw3Il0gPSAwLjk2NTM3NTc5MzM0NDg2MTY4LCBbImJveSw0LDIsMSwwLDcsNCw4Il0gPSAwLjMzMzc5NjkzMDg4NDQ1NjM5LCBbImJveSw0LDIsMSwwLDcsNCw5Il0gPSAwLjU5NDAzMzc1MTE4NjE2MTUzLCBbImJveSw0LDIsMSwxNCw1LDUsMSJdID0gMC4wNDgzNzc3NDU3OTkwMDA2NzEsIFsiYm95LDQsMiwxLDE0LDUsNSwyIl0gPSAwLjU4MjQ1NjExODk2MTY2Mzk0LCBbImJveSw0LDIsMSwxNCw1LDUsMyJdID0gMC4xNTcxOTY1NTk4ODgwMDUxOCwgWyJib3ksNCwyLDEsMTQsNSw1LDQiXSA9IDAuMDU0MTYyMzU0NjAyNzI4MzM1LCBbImJveSw0LDIsMSwxNCw1LDUsNyJdID0gMC4yNzQzMzEzNjYzNDI5MjQzMiwgWyJib3ksNCwyLDEsMTQsNSw1LDgiXSA9IDAuNTU2NDk1MDMyODk2MzgwNjksIFsiYm95LDQsMiwxLDE0LDUsNSw5Il0gPSAwLjgyOTk0MzI1ODg1NjM5MTUzLCBbImJveSw0LDIsMSwxNCw1LDUsMTAiXSA9IDAuMjUxMDE3NTI4NDYwNzAwMzYsIFsiYm95LDQsNCw1LDAsNyw0LDEiXSA9IDAuMjI5NzQ3MDU1MjY4MjA0NiwgWyJib3ksNCw0LDUsMCw3LDQsMiJdID0gMC4yMjU2MzQxNzI2MTgyOTcxLCBbImJveSw0LDQsNSwwLDcsNCwzIl0gPSAwLjQ4MDA3ODYzMTUyNTUyOTQzLCBbImJveSw0LDQsNSwwLDcsNCwxMCJdID0gMC44ODQwMzk1NDY2MjgyMzI0OCwgWyJib3ksNCw0LDUsMCw3LDQsMTEiXSA9IDAuNjIwNjUyOTgxNzk3NzUxMDgsIFsiYm95LDQsNCw1LDAsNyw0LDEyIl0gPSAwLjMyODgwNzU1Njk4Mzg5Mzc1LCBbImJveSw0LDQsNSwwLDcsNCwxMyJdID0gMC4zODY1MTg4OTQ5ODcxMDI3OSwgWyJib3ksNCw0LDUsMCw3LDQsMTQiXSA9IDAuNTk5NDU0MDI5ODEzNDAxMDEsIFsiYm95LDQsNCw1LDAsNyw0LDE1Il0gPSAwLjA1NzA3MTM2NTQyODg4NTAyNCwgWyJib3ksNCw0LDUsMCw3LDQsMTkiXSA9IDAuNTQ5NzgxOTA4MTI5ODU1MzksIFsiYm95LDQsNCw1LDAsNyw0LDIwIl0gPSAwLjg1NDMyODc5OTUzMTc2NTg4LCBbImJveSw0LDQsNSwwLDcsNCwyMSJdID0gMC4yMTc3Mjg3MzkwMDk0NzA0MywgWyJib3ksNCw0LDUsMCw3LDQsMjUiXSA9IDAuOTY5OTA0MTgwMDM0MDQsIFsiYm95LDQsNCw1LDAsNyw0LDI2Il0gPSAwLjQzMTE0MDI3NDIxNzI5ODcyLCBbImJveSw0LDQsNSwwLDcsNCwyNyJdID0gMC4zNzMxMTk1ODI1MTY1NTk4NiwgWyJib3ksNCw0LDUsMCw3LDQsMzEiXSA9IDAuMzMwMzE1MjQ0NTc1Nzg2ODcsIFsiYm95LDQsNCw1LDAsNyw0LDMyIl0gPSAwLjQ2MjgzODc5NTYxNDgyOTg4LCBbImJveSw0LDQsNSwwLDcsNCwzMyJdID0gMC40ODQ0NTYxNDczMTYxMDYyLCBbImJveSw0LDQsNSwwLDcsNCw0MyJdID0gMC44MjA2OTUyMTUzODUxNDM4OSwgWyJib3ksNCw0LDUsMCw3LDQsNDYiXSA9IDAuOTE0Mjg3NzU1NDQxMDM2MjQsIFsiYm95LDQsNCw1LDAsNyw0LDQ3Il0gPSAwLjc2OTUxMDEzNDU3NjE0NzAzLCBbImJveSw0LDQsNSwwLDcsNCw0OCJdID0gMC4wMjQ2MjkwNDA1NDg0NDUwNTgsIFsiYm95LDQsNCw1LDAsNyw0LDU4Il0gPSAwLjgxMTQzNDE1NzY4ODgzNDg3LCBbImJveSw0LDQsNSwwLDcsNCw1OSJdID0gMC41MjI2NzE2Njc3MzM4OTI5NSwgWyJib3ksNCw0LDUsMCw3LDQsNjAiXSA9IDAuNDY3ODkyNjAwMTU3OTcxMjksIFsiYm95LDQsNCw1LDAsNyw0LDY3Il0gPSAwLjM2Mjk2OTA2NjA5MDk1ODU4LCBbImJveSw0LDQsNSwwLDcsNCw2OCJdID0gMC4zNDI2MjYyODgyMTYyMTI5OSwgWyJib3ksNCw0LDUsMCw3LDQsNjkiXSA9IDAuNTU3NDAwMDE4MTM3MTc5MjEsIFsiYm95LDQsNCw1LDAsNyw0LDgyIl0gPSAwLjQ0MjU4MzUyOTI1OTI2MDgxLCBbImJveSw0LDQsNSwwLDcsNCw4MyJdID0gMC4wODQ5NzA5NjkwOTcxNjkxNjksIFsiYm95LDQsNCw1LDAsNyw0LDg0Il0gPSAwLjQ0NDM2MzczMzk1MDk0Nzg2LCBbImJveSw0LDQsNSwwLDcsNCw4NSJdID0gMC4wNTIyMzQwNzIyNzM1ODk4OTMsIFsiYm95LDQsNCw1LDAsNyw0LDg2Il0gPSAwLjMyNDc3OTE1MjcxMzkyOTY1LCBbImJveSw0LDQsNSwwLDcsNCw4NyJdID0gMC43NDExNzMwNjAyMjk3NTgxNSwgWyJib3ksNCw0LDUsMTQsNSw1LDEiXSA9IDAuMDk3OTU4OTY3MzU5OTYxOTAyLCBbImJveSw0LDQsNSwxNCw1LDUsMiJdID0gMC4yMDc0NDE0NTMxNDI3NDY4NywgWyJib3ksNCw0LDUsMTQsNSw1LDMiXSA9IDAuNzI5MTExNjE2MzI4OTI5NzMsIFsiYm95LDQsNCw1LDE0LDUsNSw0Il0gPSAwLjYzMTczNjIxNDYzMTExMjI5LCBbImJveSw0LDQsNSwxNCw1LDUsMTAiXSA9IDAuNDM2ODA3MTE4NDY4NTkzMzMsIFsiYm95LDQsNCw1LDE0LDUsNSwxMSJdID0gMC42NDY1NDYxMzgzNjQ1ODAwOCwgWyJib3ksNCw0LDUsMTQsNSw1LDEyIl0gPSAwLjc4NTkwOTYzMDc2Nzc2NzU0LCBbImJveSw0LDQsNSwxNCw1LDUsMTMiXSA9IDAuNDA4MzA3NjE5NDY3ODk3NCwgWyJib3ksNCw0LDUsMTQsNSw1LDE0Il0gPSAwLjEyNzA2MjcwMTYyODI4NjU5LCBbImJveSw0LDQsNSwxNCw1LDUsMTUiXSA9IDAuNDU4NjAyMDYxNzQ0Njc0ODgsIFsiYm95LDQsNCw1LDE0LDUsNSwxNiJdID0gMC4yODU2ODIyMjY3NTEyMTYyNCwgWyJib3ksNCw0LDUsMTQsNSw1LDE5Il0gPSAwLjUxODE5NjEwODE4NjQxNzQ4LCBbImJveSw0LDQsNSwxNCw1LDUsMjAiXSA9IDAuMzU0NjgzMDExOTE1NzgwNDQsIFsiYm95LDQsNCw1LDE0LDUsNSwyMSJdID0gMC44MTE0NzU0Njk1NzAxMTA3NCwgWyJib3ksNCw0LDUsMTQsNSw1LDIyIl0gPSAwLjc0NDA1MDM5NjUzMzU4MTYzLCBbImJveSw0LDQsNSwxNCw1LDUsMjUiXSA9IDAuNDM4MjcxOTE4NTE4MjkyODQsIFsiYm95LDQsNCw1LDE0LDUsNSwyNiJdID0gMC43Nzc3NzcwMjExOTU4MDc3MiwgWyJib3ksNCw0LDUsMTQsNSw1LDI3Il0gPSAwLjU2NTkyMTA4NTE3NTEzNDYyLCBbImJveSw0LDQsNSwxNCw1LDUsMjgiXSA9IDAuMzg5OTA1MDY3MzM2NDY3MjQsIFsiYm95LDQsNCw1LDE0LDUsNSwzMSJdID0gMC4zNTQ2MjEyMzU3ODcwMTgyMSwgWyJib3ksNCw0LDUsMTQsNSw1LDMyIl0gPSAwLjk1OTUzMTc5NzQ2MTI5MzgsIFsiYm95LDQsNCw1LDE0LDUsNSwzMyJdID0gMC42NzA2NjA5MjMxMDI2Nzc0NCwgWyJib3ksNCw0LDUsMTQsNSw1LDM0Il0gPSAwLjg4MjMxMzcyMzQwNDE3MDQ3LCBbImJveSw0LDQsNSwxNCw1LDUsNDMiXSA9IDAuODU5MTEyODE5NTM3MDIzMDEsIFsiYm95LDQsNCw1LDE0LDUsNSw0NCJdID0gMC4wMTUxMzY0NDkzMzUzOTg0ODMsIFsiYm95LDQsNCw1LDE0LDUsNSw0NiJdID0gMC4zMTY1NDY2NzY4NTc3ODY5MiwgWyJib3ksNCw0LDUsMTQsNSw1LDQ3Il0gPSAwLjE2NTU2OTU0NzMwOTE4MTM5LCBbImJveSw0LDQsNSwxNCw1LDUsNDgiXSA9IDAuMDkzNzM2Mjg3NTI1NTQ4MzAxLCBbImJveSw0LDQsNSwxNCw1LDUsNDkiXSA9IDAuMTQ4MDEwMzg1MDgzMTc2MjEsIFsiYm95LDQsNCw1LDE0LDUsNSw1OCJdID0gMC4xMzM2NzM2MzIzMzc2NDYxOCwgWyJib3ksNCw0LDUsMTQsNSw1LDU5Il0gPSAwLjYxNTc1NzM0ODI5MzI1NjEyLCBbImJveSw0LDQsNSwxNCw1LDUsNjAiXSA9IDAuNjY5ODg1OTgyODk3NzEyMTcsIFsiYm95LDQsNCw1LDE0LDUsNSw2MSJdID0gMC45MDczMzU4MzM0MzA4NjAxMSwgWyJib3ksNCw0LDUsMTQsNSw1LDY3Il0gPSAwLjkwODUwMDIwNzgzNzE1MjAyLCBbImJveSw0LDQsNSwxNCw1LDUsNjgiXSA9IDAuMzY4MTQ1MDU1Njk4Mjg1OTMsIFsiYm95LDQsNCw1LDE0LDUsNSw2OSJdID0gMC4yNTk0NTY1NjUwMTUwNjM5OCwgWyJib3ksNCw0LDUsMTQsNSw1LDcwIl0gPSAwLjcwODQ4NDc2NTEzNzU1NTg3LCBbImJveSw0LDQsNSwxNCw1LDUsODIiXSA9IDAuNjM4MzQ3ODYwNDQ0OTQ5OTUsIFsiYm95LDQsNCw1LDE0LDUsNSw4MyJdID0gMC43MTc1MDU3MTc5NTMzNTMwNSwgWyJib3ksNCw0LDUsMTQsNSw1LDg0Il0gPSAwLjU2ODMyOTA0MzEzNTkxNTE1LCBbImJveSw0LDQsNSwxNCw1LDUsODUiXSA9IDAuOTIyMzcyNzA4MzY3OTYwNDgsIFsiYm95LDQsNCw1LDE0LDUsNSw4NiJdID0gMC4zNDYwNTQ2ODU1NjQzNzU1NywgWyJib3ksNCw0LDUsMTQsNSw1LDg3Il0gPSAwLjEzMDU5Mzg4NTUyOTQzODE4LCBbImJveSw0LDQsNSwxNCw1LDUsODgiXSA9IDAuODc0OTE4MDE2OTQzOTk3ODQsIFsiYm95LDQsNiwxLDAsNyw0LDEiXSA9IDAuMjMyODU2MjA3NjYyODE0MjMsIFsiYm95LDQsNiwxLDAsNyw0LDIiXSA9IDAuMTc5NzIyODkyNDE2MDc0OTgsIFsiYm95LDQsNiwxLDAsNyw0LDMiXSA9IDAuNDg0OTAzNTUwOTkyMDIxNDMsIFsiYm95LDQsNiwxLDAsNyw0LDciXSA9IDAuNzg0MTIyMDExMjc3NDc0NSwgWyJib3ksNCw2LDEsMCw3LDQsOCJdID0gMC4yNjAzMzU3MjQzMzU0NDg5NCwgWyJib3ksNCw2LDEsMCw3LDQsOSJdID0gMC43OTk3NDE0NDcyMzcxNjA0NSwgWyJib3ksNCw2LDEsMCw3LDQsMTYiXSA9IDAuNDM3MTk3ODE1NDIyNDAyMzIsIFsiYm95LDQsNiwxLDAsNyw0LDE3Il0gPSAwLjY3OTYzMzM2NTQ1MTkzMzk4LCBbImJveSw0LDYsMSwwLDcsNCwxOCJdID0gMC4yNTgzNjI4MjcyNjM2OTU3NSwgWyJib3ksNCw2LDEsMCw3LDQsMTkiXSA9IDAuNzQxNjU0NTk1NzU5NzYwNjcsIFsiYm95LDQsNiwxLDAsNyw0LDIwIl0gPSAwLjMyMjAyMjUxNjE2NDA2MzA4LCBbImJveSw0LDYsMSwwLDcsNCwyMSJdID0gMC42NDc1NjA4OTk3MzYyOTUzOCwgWyJib3ksNCw2LDEsMCw3LDQsMjgiXSA9IDAuNzE4NzA4MTE0MjEzNjg1MywgWyJib3ksNCw2LDEsMCw3LDQsMjkiXSA9IDAuMDI4NTA5NTc1NTM3NzcwMjI2LCBbImJveSw0LDYsMSwwLDcsNCwzMCJdID0gMC42MTUzMDYyMzkxMDgzNTg4LCBbImJveSw0LDYsMSwwLDcsNCwzMSJdID0gMC42MTU5MzIwMjI2NzQxOTg2NiwgWyJib3ksNCw2LDEsMCw3LDQsMzIiXSA9IDAuMzY3NjY3MzE3NTg2MTYxNTYsIFsiYm95LDQsNiwxLDAsNyw0LDMzIl0gPSAwLjk2MTQyMDY0OTE1MjkyNzEzLCBbImJveSw0LDYsMSwwLDcsNCwzNyJdID0gMC45NzY4MzgxNjA2MDU2MzgsIFsiYm95LDQsNiwxLDAsNyw0LDM4Il0gPSAwLjEzNDE2NDUyMzQwNTk4MjczLCBbImJveSw0LDYsMSwwLDcsNCwzOSJdID0gMC43NDc3Mjk2MzEyMjAwNDk4NywgWyJib3ksNCw2LDEsMCw3LDQsNDMiXSA9IDAuMjc1NTQzMTI3MDA4Mzc3MDIsIFsiYm95LDQsNiwxLDAsNyw0LDQ0Il0gPSAwLjE4MTYyNjY4MjQ5MDIxOTI5LCBbImJveSw0LDYsMSwwLDcsNCw0NSJdID0gMC41MzkxMDgyNTExMTQzNjQzMywgWyJib3ksNCw2LDEsMCw3LDQsNDkiXSA9IDAuMzk3ODI2MzMwMzg4MTE4ODgsIFsiYm95LDQsNiwxLDAsNyw0LDUwIl0gPSAwLjQxNTAwNjA1NzY2NDU5OTUzLCBbImJveSw0LDYsMSwwLDcsNCw1MSJdID0gMC45NjU5NzQ4MzgxMzE3OTQ1MiwgWyJib3ksNCw2LDEsMCw3LDQsNTgiXSA9IDAuNzc5NTE2MjMwNTA2ODgyMTIsIFsiYm95LDQsNiwxLDAsNyw0LDU5Il0gPSAwLjIwOTI1MDUwNjczMjAzMjQ5LCBbImJveSw0LDYsMSwwLDcsNCw2MCJdID0gMC44MjY2MDIxMTQxMDAyMDg5LCBbImJveSw0LDYsMSwwLDcsNCw2MiJdID0gMC4xMjY4ODg5MDczMDI3MjE1MSwgWyJib3ksNCw2LDEsMCw3LDQsNjMiXSA9IDAuMjY4NDAyMjYyMjEzMDU1MDgsIFsiYm95LDQsNiwxLDAsNyw0LDczIl0gPSAwLjg0NzY1NzQzMDcwNjAzODQ5LCBbImJveSw0LDYsMSwwLDcsNCw3NCJdID0gMC4wOTQwNTE1NjQ5NDU3NDAyOTYsIFsiYm95LDQsNiwxLDAsNyw0LDc1Il0gPSAwLjIxMzY2ODQ5MTE4ODkyNzA2LCBbImJveSw0LDYsMSwwLDcsNCw4NSJdID0gMC44MDA0Mjg2NzU4MDc2NjQ2NCwgWyJib3ksNCw2LDEsMCw3LDQsODYiXSA9IDAuMDU1MDI4NTM2NzM3OTY2ODE2LCBbImJveSw0LDYsMSwwLDcsNCw4NyJdID0gMC43MDQ0NzA2NDQzMzk0MjA0MiwgWyJib3ksNCw2LDEsMCw3LDQsMTAwIl0gPSAwLjY1OTcyMDU0NjU2MTQ1NDg1LCBbImJveSw0LDYsMSwwLDcsNCwxMDEiXSA9IDAuMTM0NjE0OTMxMjAyNDQyNSwgWyJib3ksNCw2LDEsMCw3LDQsMTAyIl0gPSAwLjEzOTEyMzQyNzI0MzE3MjczLCBbImJveSw0LDYsMSwwLDcsNCwxMDMiXSA9IDAuODUxNzEzNDg3MDUxNzEzNTcsIFsiYm95LDQsNiwxLDAsNyw0LDEwNCJdID0gMC40MjIxMzQwNTM1NDYzOTc3NywgWyJib3ksNCw2LDEsMCw3LDQsMTA1Il0gPSAwLjI4ODYwNDAwMTk0MzU5NDQ4LCBbImJveSw0LDYsMSwxNCw1LDUsMSJdID0gMC43OTYyMTY1MjI1Nzc4OTQ1NSwgWyJib3ksNCw2LDEsMTQsNSw1LDIiXSA9IDAuNDA5NTUzNTU1ODE3ODExODMsIFsiYm95LDQsNiwxLDE0LDUsNSwzIl0gPSAwLjQwNTM0Nzc3NDEzMTc0ODgzLCBbImJveSw0LDYsMSwxNCw1LDUsNCJdID0gMC44MjU3MzU0MTI2MjIzMzMwOCwgWyJib3ksNCw2LDEsMTQsNSw1LDciXSA9IDAuNzM4ODg4NDQ1MDE3MDI2NTUsIFsiYm95LDQsNiwxLDE0LDUsNSw4Il0gPSAwLjY4NDI5NjQ4NjczODI1OTcxLCBbImJveSw0LDYsMSwxNCw1LDUsOSJdID0gMC4wMzQ5NzM3ODc0MDkxNjk1NjYsIFsiYm95LDQsNiwxLDE0LDUsNSwxMCJdID0gMC4yNTQ4MjA2MDIzMTk4MzQyOCwgWyJib3ksNCw2LDEsMTQsNSw1LDE2Il0gPSAwLjQzMzY4NjQwMjkxMDI5MzM3LCBbImJveSw0LDYsMSwxNCw1LDUsMTciXSA9IDAuMTQ5MDIyODU2NDA2MjE3NzEsIFsiYm95LDQsNiwxLDE0LDUsNSwxOCJdID0gMC4yMDc0NzkwNDg1NzA2ODY3NywgWyJib3ksNCw2LDEsMTQsNSw1LDE5Il0gPSAwLjUzMzY0NDUwNDYwNTU1NjksIFsiYm95LDQsNiwxLDE0LDUsNSwyMCJdID0gMC44NjAyNTIyODk4ODc2OTU0MiwgWyJib3ksNCw2LDEsMTQsNSw1LDIxIl0gPSAwLjEzMzg2NDU3ODc4Nzg2NjA2LCBbImJveSw0LDYsMSwxNCw1LDUsMjIiXSA9IDAuMDAxNTE1MzA2NDU3MDMxMjQwMiwgWyJib3ksNCw2LDEsMTQsNSw1LDI4Il0gPSAwLjcwMjQwNzQ1ODc2MDU1OTU0LCBbImJveSw0LDYsMSwxNCw1LDUsMjkiXSA9IDAuMjk0Mzg0OTc4NzE3MDgyMDIsIFsiYm95LDQsNiwxLDE0LDUsNSwzMCJdID0gMC45MzE5NDU2NDIzMjE3NzMxMywgWyJib3ksNCw2LDEsMTQsNSw1LDMxIl0gPSAwLjkzNTk0NjE0ODkwNDM5MzY1LCBbImJveSw0LDYsMSwxNCw1LDUsMzIiXSA9IDAuNzU4MjUxOTgzMDY1MDUwNzEsIFsiYm95LDQsNiwxLDE0LDUsNSwzMyJdID0gMC43OTE1MDM1MjIyMjQ3NTU1MSwgWyJib3ksNCw2LDEsMTQsNSw1LDM0Il0gPSAwLjYwNTQ1MDY5MDY4NDU5NDg5LCBbImJveSw0LDYsMSwxNCw1LDUsMzciXSA9IDAuMjQxODczMjI3MzgyODcwMzEsIFsiYm95LDQsNiwxLDE0LDUsNSwzOCJdID0gMC42ODI0NjM5NTkwNzMzODI5OCwgWyJib3ksNCw2LDEsMTQsNSw1LDM5Il0gPSAwLjMzMTg0NTMyMDcxODgxODM0LCBbImJveSw0LDYsMSwxNCw1LDUsNDAiXSA9IDAuMjk2MjIxNDU1ODI4NDc2ODEsIFsiYm95LDQsNiwxLDE0LDUsNSw0MyJdID0gMC44ODU0MTUxMjA5MTg5NDYwMywgWyJib3ksNCw2LDEsMTQsNSw1LDQ0Il0gPSAwLjEzNTk4MTYzNDk4OTgzNjQsIFsiYm95LDQsNiwxLDE0LDUsNSw0NSJdID0gMC43NTMyMDQzMDk3MzAzOTc5OCwgWyJib3ksNCw2LDEsMTQsNSw1LDQ2Il0gPSAwLjc3NDY0ODQ5NzA1Njg4ODc2LCBbImJveSw0LDYsMSwxNCw1LDUsNDkiXSA9IDAuNjcxMjU1NTAxNjgzNDM2OTUsIFsiYm95LDQsNiwxLDE0LDUsNSw1MCJdID0gMC4xNjcyODM2MDY4NDExMjA3NiwgWyJib3ksNCw2LDEsMTQsNSw1LDUxIl0gPSAwLjU1NjkzMjY5ODIxODAwNDA2LCBbImJveSw0LDYsMSwxNCw1LDUsNTIiXSA9IDAuMDAwNTk0NTAyMDY2MDI5NjIyOTcsIFsiYm95LDQsNiwxLDE0LDUsNSw1OCJdID0gMC4yNzY1NzIwMTkzNjk4NzU1MiwgWyJib3ksNCw2LDEsMTQsNSw1LDU5Il0gPSAwLjU4NDc3NjEyMjc2MDA0Mzg3LCBbImJveSw0LDYsMSwxNCw1LDUsNjAiXSA9IDAuMjE1MzUzNjg5MzAxNTk5MjYsIFsiYm95LDQsNiwxLDE0LDUsNSw2MSJdID0gMC4yMDIwNzAyMzM0NzU0Njg5MywgWyJib3ksNCw2LDEsMTQsNSw1LDYyIl0gPSAwLjYzNDczNTAyOTgyMjY1MDE4LCBbImJveSw0LDYsMSwxNCw1LDUsNjMiXSA9IDAuODk0NzkxMTYxODIwMTExMiwgWyJib3ksNCw2LDEsMTQsNSw1LDY0Il0gPSAwLjcwNzU2OTI2MjMyODU4ODc0LCBbImJveSw0LDYsMSwxNCw1LDUsNzMiXSA9IDAuNjk0Mjc4NzM4OTg4MDUzMzcsIFsiYm95LDQsNiwxLDE0LDUsNSw3NCJdID0gMC4xNDY1MTYyMDc2NjczNDE2NCwgWyJib3ksNCw2LDEsMTQsNSw1LDc1Il0gPSAwLjkzODY2MDEyMzczMzg2MTY1LCBbImJveSw0LDYsMSwxNCw1LDUsNzYiXSA9IDAuNzIxNTMyMTQzMjc5MTY4MTUsIFsiYm95LDQsNiwxLDE0LDUsNSw4NSJdID0gMC4zMTYyNDA1MjgwNDI2NzA3OCwgWyJib3ksNCw2LDEsMTQsNSw1LDg2Il0gPSAwLjg5NjYwNTc0MTQxNzAwNzIyLCBbImJveSw0LDYsMSwxNCw1LDUsODciXSA9IDAuNjE5NDg1Njg0MzE5NDk2OTEsIFsiYm95LDQsNiwxLDE0LDUsNSw4OCJdID0gMC4xODQxMTUzMDU3NzUxMjY4LCBbImJveSw0LDYsMSwxNCw1LDUsMTAwIl0gPSAwLjEzMjQyMjIxNTUzNjMwNjE4LCBbImJveSw0LDYsMSwxNCw1LDUsMTAxIl0gPSAwLjA0MzczNDA3NTQyNTQyMzYyNCwgWyJib3ksNCw2LDEsMTQsNSw1LDEwMiJdID0gMC43MTMyMzA5NjQzMzY1ODIxNywgWyJib3ksNCw2LDEsMTQsNSw1LDEwMyJdID0gMC43NzQxMjE2MTczNTgyNjUwMSwgWyJib3ksNCw2LDEsMTQsNSw1LDEwNCJdID0gMC4yMzM3OTM1NTM4NzQ1MjIzOSwgWyJib3ksNCw2LDEsMTQsNSw1LDEwNSJdID0gMC42MTk3MjgzMjQ4NDA0NTYzNywgWyJib3ksNCw2LDEsMTQsNSw1LDEwNiJdID0gMC4wNzMyMjQ3NjQyNDI0MTg2MzgsIFsiYm95LDQsOCw1LDAsNyw0LDcxIl0gPSAwLjI1NzM3OTQ3NDc0NzI3MTk2LCBbImJveSw0LDgsNSwwLDcsNCw4OCJdID0gMC41MjU3MTI5ODk1NzAxNTQyMiwgWyJib3ksNCw4LDUsMCw3LDQsODkiXSA9IDAuMjk5MTE3NTM4NzQ4NjkwMTgsIFsiYm95LDQsOCw1LDAsNyw0LDEwNiJdID0gMC42NTU3MTcwNzM2NTEwNzM3OSwgWyJib3ksNCw4LDUsMCw3LDQsMTA3Il0gPSAwLjI5NDc2Njk2NDI5Mjc2NDM5LCBbImJveSw0LDgsNSwwLDcsNCwxMjQiXSA9IDAuNDQ5NjQzNjMxODI0MTk1NDIsIFsiYm95LDQsOCw1LDAsNyw0LDEyNSJdID0gMC43MjQ1MzkwMDY2Mjc4NDUyMSwgWyJib3ksNCw4LDUsMTQsNSw1LDcxIl0gPSAwLjU1NTc2MzQyNTEzNzI0MDMxLCBbImJveSw0LDgsNSwxNCw1LDUsNzIiXSA9IDAuMzk1MzkwNDgyNDIyNzMwNzgsIFsiYm95LDQsOCw1LDE0LDUsNSw4OCJdID0gMC4yNjgyNzk5MjA1ODA0OTkxLCBbImJveSw0LDgsNSwxNCw1LDUsODkiXSA9IDAuMjI4OTI3MDkxNjk2NzkzMTUsIFsiYm95LDQsOCw1LDE0LDUsNSw5MCJdID0gMC44MDc0ODE3NjU3MDA1NDk3NSwgWyJib3ksNCw4LDUsMTQsNSw1LDEwNiJdID0gMC42OTE5MTY4MDkwNjkyNjY4OSwgWyJib3ksNCw4LDUsMTQsNSw1LDEwNyJdID0gMC41NDczNjU3NTMyNDQxMjM2MiwgWyJib3ksNCw4LDUsMTQsNSw1LDEwOCJdID0gMC43MTMwMzY3MzIwMTU3NDA0NywgWyJib3ksNCw4LDUsMTQsNSw1LDEyNCJdID0gMC4zNDIzMjA4MDA0NTkwNjkyMSwgWyJib3ksNCw4LDUsMTQsNSw1LDEyNSJdID0gMC4yNDcxNDcyOTk0NDczODUzNCwgWyJib3ksNCw4LDUsMTQsNSw1LDEyNiJdID0gMC42Njk1ODQ5MjgxMTE3MzE4NywgWyJib3ksNSwyLDEsMCw3LDQsNCJdID0gMC4zMTQxNzUyNzU4MjcyMDE2MiwgWyJib3ksNSwyLDEsMCw3LDQsNSJdID0gMC4zNTYzMTQzNTI0MzUxNDUzMSwgWyJib3ksNSwyLDEsMCw3LDQsNiJdID0gMC44MTY5NjkyNDkxNTY5MjYyNiwgWyJib3ksNSwyLDEsMCw3LDQsMTAiXSA9IDAuMDQxODc4MDQyNjkwNzUzMDE1LCBbImJveSw1LDIsMSwwLDcsNCwxMSJdID0gMC41NjQwMDE3ODk2Nzg2NzgyLCBbImJveSw1LDIsMSwwLDcsNCwxMiJdID0gMC43NDI4NjMxODY1NjY2NjUwNiwgWyJib3ksNSwyLDEsMTQsNSw1LDEiXSA9IDAuNzIwOTg4MjQ2Njc5NTY5ODQsIFsiYm95LDUsMiwxLDE0LDUsNSw0Il0gPSAwLjYwMjI3OTU3MDA1MDg3MTg1LCBbImJveSw1LDIsMSwxNCw1LDUsNSJdID0gMC4zODA2Mjc1MjkzNzIwNzUxMSwgWyJib3ksNSwyLDEsMTQsNSw1LDYiXSA9IDAuMzE3MjA4NjY5NTQ1NjY3OTUsIFsiYm95LDUsMiwxLDE0LDUsNSw3Il0gPSAwLjU3ODU4MzA5Nzc2MjcxNjg4LCBbImJveSw1LDIsMSwxNCw1LDUsMTAiXSA9IDAuMTQxMDE0NDM2MDA5NzIzNjMsIFsiYm95LDUsMiwxLDE0LDUsNSwxMSJdID0gMC42ODYzNTk1OTMxMTYzOTM3MiwgWyJib3ksNSwyLDEsMTQsNSw1LDEyIl0gPSAwLjE3NTQ2MzgwNDU2MjA0NTEzLCBbImJveSw1LDIsMSwxNCw1LDUsMTMiXSA9IDAuNDMxMTkxMDM1MTU1MDQzNjQsIFsiYm95LDUsNCwxLDE0LDUsNSwxIl0gPSAwLjE4OTM5MzU3Mjc5MDY3MjU5LCBbImJveSw1LDQsNSwwLDcsNCw3Il0gPSAwLjE2ODg3NjY2NzM2MjM2MzQsIFsiYm95LDUsNCw1LDAsNyw0LDgiXSA9IDAuMzY1NzU3MzkxNzMxMDc0NTgsIFsiYm95LDUsNCw1LDAsNyw0LDkiXSA9IDAuNDcxNDQ1NTk5OTU4MDIyMjcsIFsiYm95LDUsNCw1LDAsNyw0LDEwIl0gPSAwLjE4MjE1MjQxNzk5NDM4MjA5LCBbImJveSw1LDQsNSwwLDcsNCwxMSJdID0gMC42NzY2NTkyNDUyMzczNDgzMywgWyJib3ksNSw0LDUsMCw3LDQsMTIiXSA9IDAuMTk1MjA4OTU0NTEwOTQ5NDQsIFsiYm95LDUsNCw1LDAsNyw0LDE2Il0gPSAwLjA5NDcxOTQ1MDE0OTM2NjAwMiwgWyJib3ksNSw0LDUsMCw3LDQsMTciXSA9IDAuMDczNDA5ODEyNjk5NzQwMjI5LCBbImJveSw1LDQsNSwwLDcsNCwxOCJdID0gMC4yMjE2NDgyNDY1MTMxNDUwOCwgWyJib3ksNSw0LDUsMCw3LDQsMjIiXSA9IDAuOTYzMzQzNjE2OTU3NTI0MDIsIFsiYm95LDUsNCw1LDAsNyw0LDIzIl0gPSAwLjUyNzc4MDE2OTE1NTA3ODMsIFsiYm95LDUsNCw1LDAsNyw0LDI0Il0gPSAwLjc3MDc0MDI2ODM5NDg1Njk5LCBbImJveSw1LDQsNSwwLDcsNCwyOCJdID0gMC4yMDEwNjk3MTk4NTMxNDg4MSwgWyJib3ksNSw0LDUsMCw3LDQsMjkiXSA9IDAuODk4NDAyNDcwNDA0NDQ3MzIsIFsiYm95LDUsNCw1LDAsNyw0LDMwIl0gPSAwLjQxODEwMzIzNDA1NzE0NzExLCBbImJveSw1LDQsNSwwLDcsNCw0MCJdID0gMC43NzU0Nzg4MTUwMDMzNDAwNCwgWyJib3ksNSw0LDUsMCw3LDQsNDEiXSA9IDAuMzA1NTk1NTY0MTA4NTUyNiwgWyJib3ksNSw0LDUsMCw3LDQsNDIiXSA9IDAuNjk1Nzc2MjYyMDM2MzU1NjcsIFsiYm95LDUsNCw1LDAsNyw0LDQzIl0gPSAwLjQwNjIwNzQ2NDc4ODkwNjAxLCBbImJveSw1LDQsNSwwLDcsNCw0NCJdID0gMC43MTI2NTMyOTkwODA4ODQ5MywgWyJib3ksNSw0LDUsMCw3LDQsNDUiXSA9IDAuMDQ3Nzc4MDgwNjAyODc3NTgyLCBbImJveSw1LDQsNSwwLDcsNCw1NSJdID0gMC4zNjg4MDI0MjkyNjE1NjU3LCBbImJveSw1LDQsNSwwLDcsNCw1NiJdID0gMC4wODA4MTI4OTAwNDM0NzYxMzgsIFsiYm95LDUsNCw1LDAsNyw0LDU3Il0gPSAwLjY3MTgzNzIwMDMxNTcyMDI1LCBbImJveSw1LDQsNSwwLDcsNCw2NCJdID0gMC4zNjUwNjI1MjYyMDY1ODQzLCBbImJveSw1LDQsNSwwLDcsNCw2NSJdID0gMC4zMjMzODY4NjQ0OTQ4NzcxOSwgWyJib3ksNSw0LDUsMCw3LDQsNjYiXSA9IDAuMTM5Njc0MTc5OTI2Njk1ODQsIFsiYm95LDUsNCw1LDAsNyw0LDc5Il0gPSAwLjU4MDgzMjM0MzQ1NDM1Nzg2LCBbImJveSw1LDQsNSwwLDcsNCw4MCJdID0gMC4yMTE2OTA3NTQ2OTIwNTM0NSwgWyJib3ksNSw0LDUsMCw3LDQsODEiXSA9IDAuOTQ5ODYxMjYwNDA0MTU4NzUsIFsiYm95LDUsNCw1LDAsNyw0LDgyIl0gPSAwLjYwMjUwNzgxNTk1MzUxNDY2LCBbImJveSw1LDQsNSwwLDcsNCw4MyJdID0gMC4zMjc5MjE0Mzg3OTc0MDYxLCBbImJveSw1LDQsNSwwLDcsNCw4NCJdID0gMC41MzMxMTE1MjMyMDg2OTU4MSwgWyJib3ksNSw0LDUsMTQsNSw1LDciXSA9IDAuODA5OTk5MTk4Mzg0MTIxMDQsIFsiYm95LDUsNCw1LDE0LDUsNSw4Il0gPSAwLjc3NzIyNzU1OTc1NjQxNDQ0LCBbImJveSw1LDQsNSwxNCw1LDUsOSJdID0gMC4yODA5Nzk3ODEwMTkyMTMzOSwgWyJib3ksNSw0LDUsMTQsNSw1LDEwIl0gPSAwLjg4NTk2NjY4MTkwOTAzMTk0LCBbImJveSw1LDQsNSwxNCw1LDUsMTEiXSA9IDAuNTU3NDY2ODQzMTQzMjM5OTEsIFsiYm95LDUsNCw1LDE0LDUsNSwxMiJdID0gMC4zNTM3NTAxMjEyOTA3Mzc5MSwgWyJib3ksNSw0LDUsMTQsNSw1LDEzIl0gPSAwLjA0ODQ5NTk2NzM1ODY3Nzc4MywgWyJib3ksNSw0LDUsMTQsNSw1LDE2Il0gPSAwLjgzNTkyNDEyMjQ1ODcxNzI4LCBbImJveSw1LDQsNSwxNCw1LDUsMTciXSA9IDAuMjA3MjIyNTIwNTEyMjM1NzcsIFsiYm95LDUsNCw1LDE0LDUsNSwxOCJdID0gMC42OTk3MTY5Nzk1OTcyNzI4NiwgWyJib3ksNSw0LDUsMTQsNSw1LDE5Il0gPSAwLjIwNDE0NjM0Mjk1MjgwNDA5LCBbImJveSw1LDQsNSwxNCw1LDUsMjIiXSA9IDAuNTEzNjgxNzQxMDMwOTAyNDcsIFsiYm95LDUsNCw1LDE0LDUsNSwyMyJdID0gMC45NDIzNjM5ODU3Nzk5MTc1MywgWyJib3ksNSw0LDUsMTQsNSw1LDI0Il0gPSAwLjA0NDE1OTM4OTMwODg0MzIyMiwgWyJib3ksNSw0LDUsMTQsNSw1LDI1Il0gPSAwLjg4NDQ3MTM1NDE3Nzk2NzE4LCBbImJveSw1LDQsNSwxNCw1LDUsMjgiXSA9IDAuMDExODEyMDY1MDkyNTM1NTE4LCBbImJveSw1LDQsNSwxNCw1LDUsMjkiXSA9IDAuNTQ1MjcyNDgyNDM3MDk2OTIsIFsiYm95LDUsNCw1LDE0LDUsNSwzMCJdID0gMC41NTQxNzgzNjU5Njc2MDk2MSwgWyJib3ksNSw0LDUsMTQsNSw1LDMxIl0gPSAwLjg4NTI0ODE4NzkwNjE3MDQ0LCBbImJveSw1LDQsNSwxNCw1LDUsNDAiXSA9IDAuMzkyOTY4NDY5NTM5MTg3MDcsIFsiYm95LDUsNCw1LDE0LDUsNSw0MSJdID0gMC41ODQwNDM3MDgxMzcwMzI2NiwgWyJib3ksNSw0LDUsMTQsNSw1LDQyIl0gPSAwLjE4MDk4MzAzNzU0MjUyNzg3LCBbImJveSw1LDQsNSwxNCw1LDUsNDMiXSA9IDAuMzU2OTEyNDM1NzE1NjIwODEsIFsiYm95LDUsNCw1LDE0LDUsNSw0NCJdID0gMC4yNDQ4MDUwNzU4Mzk0MjQwMSwgWyJib3ksNSw0LDUsMTQsNSw1LDQ1Il0gPSAwLjgzMjg2NDE5NjkxMzU3NjE2LCBbImJveSw1LDQsNSwxNCw1LDUsNDYiXSA9IDAuNzk2OTUxMDI0OTgwMTEyMzksIFsiYm95LDUsNCw1LDE0LDUsNSw1NSJdID0gMC4zMzEyNDE5NjQzMzExOTIxMywgWyJib3ksNSw0LDUsMTQsNSw1LDU2Il0gPSAwLjk3OTI2ODAyNTk5NjU0ODcyLCBbImJveSw1LDQsNSwxNCw1LDUsNTciXSA9IDAuMjU4Nzg1NTM1MTQ1NTMxMDQsIFsiYm95LDUsNCw1LDE0LDUsNSw1OCJdID0gMC4wNTExMjA1MDA4ODgwMDY2ODEsIFsiYm95LDUsNCw1LDE0LDUsNSw2NCJdID0gMC4xNTYzMjE3NzIwNTkzMDkzMSwgWyJib3ksNSw0LDUsMTQsNSw1LDY1Il0gPSAwLjk2ODAyNTkwNzQwNDMxMzM4LCBbImJveSw1LDQsNSwxNCw1LDUsNjYiXSA9IDAuNjU3Nzc3MDIyNzk3OTQ0NywgWyJib3ksNSw0LDUsMTQsNSw1LDY3Il0gPSAwLjUyNDc2ODQ0OTMyODU3OTgsIFsiYm95LDUsNCw1LDE0LDUsNSw3OSJdID0gMC4wMTM5NjQ4NTMwOTMwNDM2MjgsIFsiYm95LDUsNCw1LDE0LDUsNSw4MCJdID0gMC45MjY2NjIwMDkwMzE1Nzk1OCwgWyJib3ksNSw0LDUsMTQsNSw1LDgxIl0gPSAwLjQ3NDg4NjEwNzUzMTczMDMzLCBbImJveSw1LDQsNSwxNCw1LDUsODIiXSA9IDAuODIzNjE3ODY4NTQzNjQzNDksIFsiYm95LDUsNCw1LDE0LDUsNSw4MyJdID0gMC43NDk0ODIyNjYzMjMzMzA5MywgWyJib3ksNSw0LDUsMTQsNSw1LDg0Il0gPSAwLjIyOTY3ODUxMTYzNzcyODY4LCBbImJveSw1LDQsNSwxNCw1LDUsODUiXSA9IDAuNDUxNTEyMDM3NDU1NDAxMzYsIFsiYm95LDUsNiwxLDAsNyw0LDQiXSA9IDAuMDQ5MjE5NTg4MTM2Nzk5MTY0LCBbImJveSw1LDYsMSwwLDcsNCw1Il0gPSAwLjM3ODQzNzEwODEyMDk3OTQyLCBbImJveSw1LDYsMSwwLDcsNCw2Il0gPSAwLjIwODY5NjI2MDY3Mzk2MjQxLCBbImJveSw1LDYsMSwwLDcsNCwxMCJdID0gMC45MjU0MDIwNjc4NDQ4MDM2MSwgWyJib3ksNSw2LDEsMCw3LDQsMTEiXSA9IDAuOTU2MTA2NTgzNDQ3NTQzMDcsIFsiYm95LDUsNiwxLDAsNyw0LDEyIl0gPSAwLjc5OTU0MDg2ODM5MjkyMDYsIFsiYm95LDUsNiwxLDAsNyw0LDE5Il0gPSAwLjYyMzc1ODI3ODk5NTg0Nzc5LCBbImJveSw1LDYsMSwwLDcsNCwzMSJdID0gMC40MTM3Njc2OTI4NTQ5MjE4OCwgWyJib3ksNSw2LDEsMCw3LDQsMzIiXSA9IDAuMjI5NDI5MTE5Mjg3MTcwMjUsIFsiYm95LDUsNiwxLDAsNyw0LDMzIl0gPSAwLjEyNzEzMjI0NDk0NDEyODU2LCBbImJveSw1LDYsMSwwLDcsNCwzNCJdID0gMC44MDMxOTE1NDM5NjU0NDIyMywgWyJib3ksNSw2LDEsMCw3LDQsMzUiXSA9IDAuMTQyNTkxNDMxODcwMzk4OTEsIFsiYm95LDUsNiwxLDAsNyw0LDM2Il0gPSAwLjQwMTY4Mjg4MDI1MDc5MjU3LCBbImJveSw1LDYsMSwwLDcsNCw0MCJdID0gMC45MDE4NDc2MTQ0MjE4Mzc0NywgWyJib3ksNSw2LDEsMCw3LDQsNDEiXSA9IDAuMzA1Njc4MTE1Mjk3MzI2MjUsIFsiYm95LDUsNiwxLDAsNyw0LDQyIl0gPSAwLjgzMDI0NDYxNTM2MzMxODI4LCBbImJveSw1LDYsMSwwLDcsNCw0NiJdID0gMC45OTA1NjMyNzg1NTYwNzU0LCBbImJveSw1LDYsMSwwLDcsNCw0NyJdID0gMC40MjIzNjMyMDkyNzE2OTIwMiwgWyJib3ksNSw2LDEsMCw3LDQsNDgiXSA9IDAuMTMzOTc2NzkxMjkyMzAzMTEsIFsiYm95LDUsNiwxLDAsNyw0LDYxIl0gPSAwLjk4MjY2NjA0OTA2MTU2MjQxLCBbImJveSw1LDYsMSwwLDcsNCw2MiJdID0gMC40NTk4NzAyMTE5MDQ2NDI3MiwgWyJib3ksNSw2LDEsMCw3LDQsNjMiXSA9IDAuNjAzMTcyNTE3NDQ5NDE3MTMsIFsiYm95LDUsNiwxLDAsNyw0LDY0Il0gPSAwLjg4NzgzNTY3Nzc5ODc1MjM5LCBbImJveSw1LDYsMSwwLDcsNCw2NSJdID0gMC4yNDE1OTA0NDUxNDk0NTgzOCwgWyJib3ksNSw2LDEsMCw3LDQsNjYiXSA9IDAuNjM0MTEyNjQ3MzgxODgwNzgsIFsiYm95LDUsNiwxLDAsNyw0LDc2Il0gPSAwLjU5MTI2NzA3ODcwMzI5MzY1LCBbImJveSw1LDYsMSwwLDcsNCw3NyJdID0gMC4yNzI4ODI4OTk3ODYxMzk4OSwgWyJib3ksNSw2LDEsMCw3LDQsNzgiXSA9IDAuMDEzMzk3NTIwNzM3NTcwMDU3LCBbImJveSw1LDYsMSwwLDcsNCw4OCJdID0gMC45NDIwOTkyOTgyMjM5NTQ2NiwgWyJib3ksNSw2LDEsMCw3LDQsODkiXSA9IDAuOTU1NjkxNjY4NjY4NjY0MjgsIFsiYm95LDUsNiwxLDAsNyw0LDkwIl0gPSAwLjc5Nzk5Njc0MzE4NDQ1MTkxLCBbImJveSw1LDYsMSwwLDcsNCwxMDMiXSA9IDAuMTAyNDExMTk5NTQ0ODc5NTQsIFsiYm95LDUsNiwxLDAsNyw0LDEwNCJdID0gMC42OTcxMjMyOTUyNzAyMDU1NiwgWyJib3ksNSw2LDEsMCw3LDQsMTA1Il0gPSAwLjQ2NzQ5MDUxNTAwMTYwNDQzLCBbImJveSw1LDYsMSwwLDcsNCwxMDYiXSA9IDAuOTg2MTkzMTQ2MzgxMDU5NTksIFsiYm95LDUsNiwxLDE0LDUsNSwxIl0gPSAwLjIwOTMwODY0NTA2MjU4Mjk1LCBbImJveSw1LDYsMSwxNCw1LDUsNCJdID0gMC42MTkzMzQ0NjM3NTIzNzg1NSwgWyJib3ksNSw2LDEsMTQsNSw1LDUiXSA9IDAuMTA3OTU5NzgwNDY0NDAxNjksIFsiYm95LDUsNiwxLDE0LDUsNSw2Il0gPSAwLjc0Mzc5ODk5NzUzNjc3MDI2LCBbImJveSw1LDYsMSwxNCw1LDUsNyJdID0gMC42MzkyOTM1NDY3NzgxMDEzNSwgWyJib3ksNSw2LDEsMTQsNSw1LDEwIl0gPSAwLjU5NjMwODgxODk5MTI1ODIsIFsiYm95LDUsNiwxLDE0LDUsNSwxMSJdID0gMC4yOTQ3NTE2MzE3OTAyMDE3LCBbImJveSw1LDYsMSwxNCw1LDUsMTIiXSA9IDAuNzcwMzI2MDA4OTU1NzAyMDIsIFsiYm95LDUsNiwxLDE0LDUsNSwxMyJdID0gMC4xMTYzNTY4MjU2Mzg0NDQ4NSwgWyJib3ksNSw2LDEsMTQsNSw1LDE5Il0gPSAwLjkyMjAxOTQ5MjIyNzcxMzg0LCBbImJveSw1LDYsMSwxNCw1LDUsMjAiXSA9IDAuMjkyODAzNDg2NDgzNjgzMjYsIFsiYm95LDUsNiwxLDE0LDUsNSwzMSJdID0gMC43NjQ4MzY1NDc2NzE3Njg0NSwgWyJib3ksNSw2LDEsMTQsNSw1LDMyIl0gPSAwLjExMDgxNDU5MjM5Mjg4NDQ5LCBbImJveSw1LDYsMSwxNCw1LDUsMzMiXSA9IDAuMjg2OTY5NzM2OTQ1MTExODUsIFsiYm95LDUsNiwxLDE0LDUsNSwzNCJdID0gMC41MTk1Nzg3MTk1ODg4NjEwNCwgWyJib3ksNSw2LDEsMTQsNSw1LDM1Il0gPSAwLjY2NjI3MzE4NDA5NTM3MDE3LCBbImJveSw1LDYsMSwxNCw1LDUsMzYiXSA9IDAuOTAzNTI3Nzk5OTkwNDE1NjYsIFsiYm95LDUsNiwxLDE0LDUsNSwzNyJdID0gMC43MzQ5NTkzNzI1NjIzNTE1NSwgWyJib3ksNSw2LDEsMTQsNSw1LDQwIl0gPSAwLjY3MjU4Mzg0NTA5OTA2MTc3LCBbImJveSw1LDYsMSwxNCw1LDUsNDEiXSA9IDAuMTA0NTE3MzE5OTU0MTg0OSwgWyJib3ksNSw2LDEsMTQsNSw1LDQyIl0gPSAwLjYxMTgyMjI2MjcyMjgyMzgxLCBbImJveSw1LDYsMSwxNCw1LDUsNDMiXSA9IDAuMTc3NDY1MjAyMDA3OTk3MiwgWyJib3ksNSw2LDEsMTQsNSw1LDQ2Il0gPSAwLjY3ODUxMzg3ODQyMzM2MDY0LCBbImJveSw1LDYsMSwxNCw1LDUsNDciXSA9IDAuMjM1NzYzODg5NzM5MTA1NjcsIFsiYm95LDUsNiwxLDE0LDUsNSw0OCJdID0gMC4xNTM1MzQzMTU1MDk2MDcxNywgWyJib3ksNSw2LDEsMTQsNSw1LDQ5Il0gPSAwLjQ4ODE2MzYwNDQ3OTM1MDI1LCBbImJveSw1LDYsMSwxNCw1LDUsNjEiXSA9IDAuODc3NjIxNzYzMjkxMDMzNDcsIFsiYm95LDUsNiwxLDE0LDUsNSw2MiJdID0gMC4yODk0NDc4ODQxNDQ2NjU0OSwgWyJib3ksNSw2LDEsMTQsNSw1LDYzIl0gPSAwLjIxNTg1MzE3MDM5NTU3MjYxLCBbImJveSw1LDYsMSwxNCw1LDUsNjQiXSA9IDAuNzczMjUwMjk4NzQ0MDg1MjQsIFsiYm95LDUsNiwxLDE0LDUsNSw2NSJdID0gMC4xMzIxNjU4NDc1MDY1NjA4LCBbImJveSw1LDYsMSwxNCw1LDUsNjYiXSA9IDAuODgzMDI0MzM0MjM5NjcxOTcsIFsiYm95LDUsNiwxLDE0LDUsNSw2NyJdID0gMC40NDIxNTM4NTIzODc1MTIxNSwgWyJib3ksNSw2LDEsMTQsNSw1LDc2Il0gPSAwLjc3NzAzMTY2MDUyNTM2OTc2LCBbImJveSw1LDYsMSwxNCw1LDUsNzciXSA9IDAuMjE3NjE5NjI0MTQwMjYyMTUsIFsiYm95LDUsNiwxLDE0LDUsNSw3OCJdID0gMC4zNDMwODM5NzE2MzAzNDY4NywgWyJib3ksNSw2LDEsMTQsNSw1LDc5Il0gPSAwLjI4MzY1NDIwOTYxNzI5OTM3LCBbImJveSw1LDYsMSwxNCw1LDUsODgiXSA9IDAuMzg3Mjg3MTA5ODA4NTEyODksIFsiYm95LDUsNiwxLDE0LDUsNSw4OSJdID0gMC4wODQ1NTAxMDgxNTI5MjM4NTMsIFsiYm95LDUsNiwxLDE0LDUsNSw5MCJdID0gMC4wNzAxNjM4NDgyMDcyMDc3OCwgWyJib3ksNSw2LDEsMTQsNSw1LDkxIl0gPSAwLjYxMDU0NjkxODEzOTQxNjk3LCBbImJveSw1LDYsMSwxNCw1LDUsMTAzIl0gPSAwLjU5NzIxMTUyMTA1Mzk4NzIzLCBbImJveSw1LDYsMSwxNCw1LDUsMTA0Il0gPSAwLjAzNDc3NjgzMzcxNjYyMjEwMiwgWyJib3ksNSw2LDEsMTQsNSw1LDEwNSJdID0gMC41NDQ5OTg4MDcxODE0NjczMiwgWyJib3ksNSw2LDEsMTQsNSw1LDEwNiJdID0gMC45MjIxODU0NDcyNzg2NDYzOCwgWyJib3ksNSw2LDEsMTQsNSw1LDEwNyJdID0gMC4wMTI1MTc1Nzg5NTA2Mzg0MzEsIFsiYm95LDUsOCw1LDAsNyw0LDcwIl0gPSAwLjMxMjQ3ODc4NjQ0MDE4NTIzLCBbImJveSw1LDgsNSwwLDcsNCw4NSJdID0gMC4xNTE1MjQxODgyODkzNjYwOSwgWyJib3ksNSw4LDUsMCw3LDQsODYiXSA9IDAuODM3MTE0MDcxMzExMzkwMjYsIFsiYm95LDUsOCw1LDAsNyw0LDg3Il0gPSAwLjkyNjU4OTUwNjcxNjcwMDA0LCBbImJveSw1LDgsNSwwLDcsNCwxMDMiXSA9IDAuMjA3ODMyNDU5NjA5Njc3LCBbImJveSw1LDgsNSwwLDcsNCwxMDQiXSA9IDAuMDQ3MjA5NTg1Mjk4OTUwMDMsIFsiYm95LDUsOCw1LDAsNyw0LDEwNSJdID0gMC42NzQ5Njg1MDU5MDkyODM1OSwgWyJib3ksNSw4LDUsMCw3LDQsMTIxIl0gPSAwLjE4OTA0NjgyMDE1MjE1ODY4LCBbImJveSw1LDgsNSwwLDcsNCwxMjIiXSA9IDAuMjE3MzEwMTQ2Nzk1ODE2MjgsIFsiYm95LDUsOCw1LDAsNyw0LDEyMyJdID0gMC4wMDI3NTg2NTg3NjAyNjE3MTE5LCBbImJveSw1LDgsNSwxNCw1LDUsNzAiXSA9IDAuNzU5NjI4NzU0MDkxNTczMzgsIFsiYm95LDUsOCw1LDE0LDUsNSw3MSJdID0gMC4wMDQyNTMzODM4OTA5NDEzMjAyLCBbImJveSw1LDgsNSwxNCw1LDUsODUiXSA9IDAuNjM0Njg0NDk4MjQ1OTA0NzgsIFsiYm95LDUsOCw1LDE0LDUsNSw4NiJdID0gMC41MTQ3NDM2NjUzMDY3NzAwNywgWyJib3ksNSw4LDUsMTQsNSw1LDg3Il0gPSAwLjYxNTQ2OTYxODc2MzEyMTksIFsiYm95LDUsOCw1LDE0LDUsNSw4OCJdID0gMC41Nzg0NDI2MTMwMjQyODE2OCwgWyJib3ksNSw4LDUsMTQsNSw1LDEwMyJdID0gMC4yMDcxMDUwNDg0MDE0NjMxNSwgWyJib3ksNSw4LDUsMTQsNSw1LDEwNCJdID0gMC4xNDk3ODI5MTE5MTcyODM3NywgWyJib3ksNSw4LDUsMTQsNSw1LDEwNSJdID0gMC4wODU0NDY5NTQ3MDAxMjQyLCBbImJveSw1LDgsNSwxNCw1LDUsMTA2Il0gPSAwLjE3Nzc5MzQ2NzE3NzQxOTUxLCBbImJveSw1LDgsNSwxNCw1LDUsMTIxIl0gPSAwLjYxMzg3MTgyMjM4MDk2NDk0LCBbImJveSw1LDgsNSwxNCw1LDUsMTIyIl0gPSAwLjk0MDY1MjMzODcwNTE3MDg0LCBbImJveSw1LDgsNSwxNCw1LDUsMTIzIl0gPSAwLjc5OTQ1MjE0OTc5MDU1ODY3LCBbImJveSw1LDgsNSwxNCw1LDUsMTI0Il0gPSAwLjk4NDUwOTYzOTM4ODU1Mjg1LCBbImJveSw2LDIsMSwwLDcsNCwxIl0gPSAwLjIyNTg3NTY5NDY5OTc5NTk2LCBbImJveSw2LDIsMSwwLDcsNCwyIl0gPSAwLjYyODE5OTk1NDc1MDU0MTY5LCBbImJveSw2LDIsMSwwLDcsNCwzIl0gPSAwLjc4OTA5MDQwOTAzMzI0NzEyLCBbImJveSw2LDIsMSwwLDcsNCw3Il0gPSAwLjM1MTQ5NjUzMDc1MzI0NDcyLCBbImJveSw2LDIsMSwwLDcsNCw4Il0gPSAwLjgxNzY3OTg3OTAzMzM1MjE1LCBbImJveSw2LDIsMSwwLDcsNCw5Il0gPSAwLjgwODkxNjA1NTI5MDgyMjExLCBbImJveSw2LDIsMSwwLDcsNCwxMyJdID0gMC44NzM4MzUxODM1NTEwMzM2MiwgWyJib3ksNiwyLDEsMCw3LDQsMTQiXSA9IDAuNzQ5Nzk0OTQyNTEwMjkxMjIsIFsiYm95LDYsMiwxLDAsNyw0LDE1Il0gPSAwLjYxMDU1Mjc2MTgyNjMxODAxLCBbImJveSw2LDIsMSwxNCw1LDUsMSJdID0gMC4zMzg5NTE2OTA2MTk1NjA2NSwgWyJib3ksNiwyLDEsMTQsNSw1LDIiXSA9IDAuMTU2MzYzNDk0MDc4NTgwMywgWyJib3ksNiwyLDEsMTQsNSw1LDMiXSA9IDAuMDcyOTk5MDI4NTkzNTA3Mzc2LCBbImJveSw2LDIsMSwxNCw1LDUsNCJdID0gMC4xMDU2MzE2OTU3MDY1MjM1MywgWyJib3ksNiwyLDEsMTQsNSw1LDciXSA9IDAuMjI0NDc1NDgyMzQ4MDAzMywgWyJib3ksNiwyLDEsMTQsNSw1LDgiXSA9IDAuNTkzMTM1NTMxNjc2MDQ2OTMsIFsiYm95LDYsMiwxLDE0LDUsNSw5Il0gPSAwLjg1NTY4MjM3MTk0Nzc1NjY1LCBbImJveSw2LDIsMSwxNCw1LDUsMTAiXSA9IDAuOTYxNTE0Njg3NTU4NDgwMzUsIFsiYm95LDYsMiwxLDE0LDUsNSwxMyJdID0gMC4wNTMyMzA2NDM0MTU3NzEyMTcsIFsiYm95LDYsMiwxLDE0LDUsNSwxNCJdID0gMC43MzY3NDI3MTgxMjMxOTIyNSwgWyJib3ksNiwyLDEsMTQsNSw1LDE1Il0gPSAwLjY3MTM3MTUxODAxMzMwMTMsIFsiYm95LDYsMiwxLDE0LDUsNSwxNiJdID0gMC41ODE4OTI2NzI2MDA4MzE1NSwgWyJib3ksNiw0LDUsMCw3LDQsNCJdID0gMC4wOTYzOTM0Mjk1ODQwNTQ3MjQsIFsiYm95LDYsNCw1LDAsNyw0LDUiXSA9IDAuODc3MTU0MzM1OTAwNDc4MDksIFsiYm95LDYsNCw1LDAsNyw0LDYiXSA9IDAuMDkzNDA3NTg0MzAxNjA3NzgyLCBbImJveSw2LDQsNSwwLDcsNCw3Il0gPSAwLjcxNzE3OTI3ODEyNjI5Njg5LCBbImJveSw2LDQsNSwwLDcsNCw4Il0gPSAwLjY3MjUyMDMzMTAwMTU4MTQ4LCBbImJveSw2LDQsNSwwLDcsNCw5Il0gPSAwLjgxNjc1OTExODEyNTIxODk1LCBbImJveSw2LDQsNSwwLDcsNCwxMyJdID0gMC4wOTI1NTk5OTM0MTEyNDc3NjUsIFsiYm95LDYsNCw1LDAsNyw0LDE0Il0gPSAwLjkxMzY4NDEzNTE1NTUwMDA3LCBbImJveSw2LDQsNSwwLDcsNCwxNSJdID0gMC4wNzY3NzE4MzU0NDUwMzY4NTEsIFsiYm95LDYsNCw1LDAsNyw0LDE5Il0gPSAwLjIzMTIxODg2Njc0MTI0MzU5LCBbImJveSw2LDQsNSwwLDcsNCwyMCJdID0gMC4yMzA0NzA2ODU5OTE1OTUyNiwgWyJib3ksNiw0LDUsMCw3LDQsMjEiXSA9IDAuOTQ0OTUyMjUwMDEzNTE2MTMsIFsiYm95LDYsNCw1LDAsNyw0LDI1Il0gPSAwLjk4OTQ1NjEzODc3NjExNTYsIFsiYm95LDYsNCw1LDAsNyw0LDI2Il0gPSAwLjAzNzM3MjEwMTE3MzY3Njk1MywgWyJib3ksNiw0LDUsMCw3LDQsMjciXSA9IDAuODkzNzI5NDE2ODQ2OTU1MzksIFsiYm95LDYsNCw1LDAsNyw0LDM3Il0gPSAwLjgwODAzODY2MTM0OTMyNiwgWyJib3ksNiw0LDUsMCw3LDQsMzgiXSA9IDAuODQ4MDcwMDA2OTU4NjAwMDIsIFsiYm95LDYsNCw1LDAsNyw0LDM5Il0gPSAwLjAwMjA3MDYxNzk1NzYzMjYzNjcsIFsiYm95LDYsNCw1LDAsNyw0LDQwIl0gPSAwLjE3MzgzNjQ4NzUwNTc1Njk4LCBbImJveSw2LDQsNSwwLDcsNCw0MSJdID0gMC42ODI0NDU2MDQ3MjA3MzEwMSwgWyJib3ksNiw0LDUsMCw3LDQsNDIiXSA9IDAuNzYyODM4MzA0OTI5OTQwNzYsIFsiYm95LDYsNCw1LDAsNyw0LDUyIl0gPSAwLjEwNTA1ODcwNzc2Mjg1ODE5LCBbImJveSw2LDQsNSwwLDcsNCw1MyJdID0gMC43MzA4MDIyNzIyNTAzMDExNCwgWyJib3ksNiw0LDUsMCw3LDQsNTQiXSA9IDAuMjI5OTA0NzYzNDE0NDE0NjgsIFsiYm95LDYsNCw1LDAsNyw0LDYxIl0gPSAwLjYxMTc4ODE2MDY2MTczMTI1LCBbImJveSw2LDQsNSwwLDcsNCw2MiJdID0gMC41NTk4NjU0NDg3OTMxNjE1OCwgWyJib3ksNiw0LDUsMCw3LDQsNjMiXSA9IDAuMTczODI1NTIyMDkxODM0NTUsIFsiYm95LDYsNCw1LDAsNyw0LDc2Il0gPSAwLjkwMjI2NDQ4MjA3NTkyNjQ3LCBbImJveSw2LDQsNSwwLDcsNCw3NyJdID0gMC4xNzk4NzkxODg2NDQzNzgyNCwgWyJib3ksNiw0LDUsMCw3LDQsNzgiXSA9IDAuODA2NjQyMjAyNzQ2OTY0NDEsIFsiYm95LDYsNCw1LDAsNyw0LDc5Il0gPSAwLjc3MjAxNzcyNjQ0MTE5NjQ4LCBbImJveSw2LDQsNSwwLDcsNCw4MCJdID0gMC4wNzk4NTI2ODg3MTkzMTE4MzcsIFsiYm95LDYsNCw1LDAsNyw0LDgxIl0gPSAwLjA1NTU2MzMzODI4NzM3NzY5NSwgWyJib3ksNiw0LDUsMTQsNSw1LDQiXSA9IDAuNzQyNzMyNjA1MzYzODk1MTgsIFsiYm95LDYsNCw1LDE0LDUsNSw1Il0gPSAwLjcyNTU4MzExMTE2Mjk5NDQ1LCBbImJveSw2LDQsNSwxNCw1LDUsNiJdID0gMC44OTU1MzkwMDkxMTkyMDgxNCwgWyJib3ksNiw0LDUsMTQsNSw1LDciXSA9IDAuNDk5MzEwMTA4MDc5ODg2NTIsIFsiYm95LDYsNCw1LDE0LDUsNSw4Il0gPSAwLjM4NDE0MjM3NDk3MjIxOTQ4LCBbImJveSw2LDQsNSwxNCw1LDUsOSJdID0gMC43ODczMDc4MzgxMTkwMjIxNiwgWyJib3ksNiw0LDUsMTQsNSw1LDEwIl0gPSAwLjE1MjcyNzE4MzQ1MjcxNDg1LCBbImJveSw2LDQsNSwxNCw1LDUsMTMiXSA9IDAuODA1NDQxMDU2NTk5MTc0MDksIFsiYm95LDYsNCw1LDE0LDUsNSwxNCJdID0gMC45MzEwNDMxNjYxOTkzODY1NCwgWyJib3ksNiw0LDUsMTQsNSw1LDE1Il0gPSAwLjM2NzM5MTAxMDg2NTYxMDQzLCBbImJveSw2LDQsNSwxNCw1LDUsMTYiXSA9IDAuNTY4Nzc3OTI0OTA5MjEwNDIsIFsiYm95LDYsNCw1LDE0LDUsNSwxOSJdID0gMC4zODEzNzU2MjY5NTgwNDg2MSwgWyJib3ksNiw0LDUsMTQsNSw1LDIwIl0gPSAwLjc4MjI5MzI5MTU3MjQ4OTYxLCBbImJveSw2LDQsNSwxNCw1LDUsMjEiXSA9IDAuNTI1OTU0NzQwMTM5NzY1NTEsIFsiYm95LDYsNCw1LDE0LDUsNSwyMiJdID0gMC42MTcyMjkzOTM1NDUzNDAxMiwgWyJib3ksNiw0LDUsMTQsNSw1LDI1Il0gPSAwLjExOTIwOTYzOTQyNTU3MzcyLCBbImJveSw2LDQsNSwxNCw1LDUsMjYiXSA9IDAuMzkzOTIxNTMxODczNjQzNzYsIFsiYm95LDYsNCw1LDE0LDUsNSwyNyJdID0gMC45NTA4Mjg4OTgzMTAxNTEzOCwgWyJib3ksNiw0LDUsMTQsNSw1LDI4Il0gPSAwLjcyNDQzNTg2MzMwMjQ5MjU0LCBbImJveSw2LDQsNSwxNCw1LDUsMzciXSA9IDAuMjMwMTQ0MzI4NDM1MjU2MjMsIFsiYm95LDYsNCw1LDE0LDUsNSwzOCJdID0gMC42OTc2MzgwMzEwMTg4NzQzNCwgWyJib3ksNiw0LDUsMTQsNSw1LDM5Il0gPSAwLjE2NTE3MzA3NjQ0OTg3NTc4LCBbImJveSw2LDQsNSwxNCw1LDUsNDAiXSA9IDAuOTY2OTg1NzAyMDUxMDY4MTUsIFsiYm95LDYsNCw1LDE0LDUsNSw0MSJdID0gMC45NTk1NjY2MDA4NzU5NzkzNCwgWyJib3ksNiw0LDUsMTQsNSw1LDQyIl0gPSAwLjMzOTAxNzEzMTIyOTE1Nzg5LCBbImJveSw2LDQsNSwxNCw1LDUsNDMiXSA9IDAuNDI2NjkxNzgxMDQ0OTc1MDcsIFsiYm95LDYsNCw1LDE0LDUsNSw1MiJdID0gMC4wNzA4NDk4NTU4NDc5MjAyNTEsIFsiYm95LDYsNCw1LDE0LDUsNSw1MyJdID0gMC41OTc0MjYwMjU2MTYyMjI5MywgWyJib3ksNiw0LDUsMTQsNSw1LDU0Il0gPSAwLjA4ODkyMTc0NzYyOTU2Njk1LCBbImJveSw2LDQsNSwxNCw1LDUsNTUiXSA9IDAuNTEwNTEyMjAyODIwMjU4NDQsIFsiYm95LDYsNCw1LDE0LDUsNSw2MSJdID0gMC45NDA5MzM4NzExODg1NDE5OSwgWyJib3ksNiw0LDUsMTQsNSw1LDYyIl0gPSAwLjk2NDgzMDM4MDYzMTc2ODQsIFsiYm95LDYsNCw1LDE0LDUsNSw2MyJdID0gMC4zNjUzMzQ0NzM0NzYxMDQxNSwgWyJib3ksNiw0LDUsMTQsNSw1LDY0Il0gPSAwLjQ2MTQ5NzczMDUzMDQ1MTI5LCBbImJveSw2LDQsNSwxNCw1LDUsNzYiXSA9IDAuNzc1MzM5NzUyMjg3NzEyMzUsIFsiYm95LDYsNCw1LDE0LDUsNSw3NyJdID0gMC4zNjE0NjI3MzQ4MDc2NjUzMywgWyJib3ksNiw0LDUsMTQsNSw1LDc4Il0gPSAwLjIzNzIxNjc5ODUwMTQ0MDYyLCBbImJveSw2LDQsNSwxNCw1LDUsNzkiXSA9IDAuODMzMTQwMjA1NDM3MzIxNTksIFsiYm95LDYsNCw1LDE0LDUsNSw4MCJdID0gMC42MzA0NjIzMTQ1NjczNjA2OCwgWyJib3ksNiw0LDUsMTQsNSw1LDgxIl0gPSAwLjQxMTMwODc5MzE0OTY1MDQxLCBbImJveSw2LDQsNSwxNCw1LDUsODIiXSA9IDAuODA5NjY2MTUyMDc4ODEyNjUsIFsiYm95LDYsNiwxLDAsNyw0LDEiXSA9IDAuNzQ4MjIyNTgwMjUxNDI1MDcsIFsiYm95LDYsNiwxLDAsNyw0LDciXSA9IDAuNzQxOTI1MjcyNTgzMzg4MDMsIFsiYm95LDYsNiwxLDAsNyw0LDgiXSA9IDAuMDg2MTE2Nzc4NjE0ODA3Mzc3LCBbImJveSw2LDYsMSwwLDcsNCw5Il0gPSAwLjcxNjAxMzA2MTM1ODgzMTM2LCBbImJveSw2LDYsMSwwLDcsNCwxMyJdID0gMC4yMDMxOTU4NTIwODg5NzYwNiwgWyJib3ksNiw2LDEsMCw3LDQsMTQiXSA9IDAuOTk5MDAxNDYwNTMzMjIwOTIsIFsiYm95LDYsNiwxLDAsNyw0LDE1Il0gPSAwLjM4NzM0MTU0NzQ2MDQ5NDY1LCBbImJveSw2LDYsMSwwLDcsNCwyMiJdID0gMC4xNzg4ODI0MjIxNjczOTM5MiwgWyJib3ksNiw2LDEsMCw3LDQsMjMiXSA9IDAuODI5OTA5MTU5ODA2Mzc3MDMsIFsiYm95LDYsNiwxLDAsNyw0LDI0Il0gPSAwLjkzMzc2MjIwMjUyMTEyODI5LCBbImJveSw2LDYsMSwwLDcsNCwzNCJdID0gMC4zMTU4MDQ2MzgyODYwMDMzNiwgWyJib3ksNiw2LDEsMCw3LDQsMzUiXSA9IDAuMTM4MDE3NDYxNTI3ODY4ODcsIFsiYm95LDYsNiwxLDAsNyw0LDM2Il0gPSAwLjQxNTYwMDAwOTk2ODI4MTUsIFsiYm95LDYsNiwxLDAsNyw0LDM3Il0gPSAwLjgzOTU0NjU1MDEyNTYzMDUxLCBbImJveSw2LDYsMSwwLDcsNCwzOCJdID0gMC4xOTM2NzM4MTc3NzQxNDE5NCwgWyJib3ksNiw2LDEsMCw3LDQsMzkiXSA9IDAuOTU1NjIxMjMwNTU0ODUwMzgsIFsiYm95LDYsNiwxLDAsNyw0LDQzIl0gPSAwLjE0NDgyOTkzMjM3NTM1MDgsIFsiYm95LDYsNiwxLDAsNyw0LDQ0Il0gPSAwLjQxODczODA0OTYyMTMzNTEsIFsiYm95LDYsNiwxLDAsNyw0LDQ1Il0gPSAwLjA2MjQ5MjMwODk2NzUyMzU1OCwgWyJib3ksNiw2LDEsMCw3LDQsNDkiXSA9IDAuNDI4NDEyMjMyMzU5NjYzNTMsIFsiYm95LDYsNiwxLDAsNyw0LDUwIl0gPSAwLjAzMzYxOTA0NjcxMDE4NDY3NSwgWyJib3ksNiw2LDEsMCw3LDQsNTEiXSA9IDAuNDM2NjY2NzYyNzQ2NDkzMDgsIFsiYm95LDYsNiwxLDAsNyw0LDUyIl0gPSAwLjQyMzI0ODQ2Mjg2ODk3ODEsIFsiYm95LDYsNiwxLDAsNyw0LDUzIl0gPSAwLjY5OTc3NjczNjA3NzM5ODc2LCBbImJveSw2LDYsMSwwLDcsNCw1NCJdID0gMC41NTczNjA5ODY3MTAzOTU0NywgWyJib3ksNiw2LDEsMCw3LDQsNjQiXSA9IDAuODk4OTU3NTU4NzU0Mzk1MiwgWyJib3ksNiw2LDEsMCw3LDQsNjUiXSA9IDAuMzgyNjUxNzUwMDg4MDk2ODIsIFsiYm95LDYsNiwxLDAsNyw0LDY2Il0gPSAwLjk2ODQ4MTYyMzc1NDc4MTc1LCBbImJveSw2LDYsMSwwLDcsNCw2NyJdID0gMC42MDI5MjQ0NjAxNTk5MjA0MSwgWyJib3ksNiw2LDEsMCw3LDQsNjgiXSA9IDAuNjcyMTQ1OTE4MDE1ODU0NjYsIFsiYm95LDYsNiwxLDAsNyw0LDY5Il0gPSAwLjkyNDkxODM2NjUwOTY3Mjc0LCBbImJveSw2LDYsMSwwLDcsNCw3OSJdID0gMC4yMDY2ODUyMDUzNzA4ODQzMSwgWyJib3ksNiw2LDEsMCw3LDQsODAiXSA9IDAuMzU3MzE0NzQ5NTM3MjUxNzMsIFsiYm95LDYsNiwxLDAsNyw0LDgxIl0gPSAwLjg1OTY0NjU3NjMzMzg2NTIxLCBbImJveSw2LDYsMSwwLDcsNCw5MSJdID0gMC4wMjE0MDMwMjEyOTAwMTMxNDcsIFsiYm95LDYsNiwxLDAsNyw0LDkyIl0gPSAwLjkxMDAyNjY1MzE3NzIzMDA4LCBbImJveSw2LDYsMSwwLDcsNCw5MyJdID0gMC4yMDkwMDc1NjE4NjQzNzc4NiwgWyJib3ksNiw2LDEsMCw3LDQsMTA2Il0gPSAwLjc1ODQ4MzEyMjk0MTU0MjA4LCBbImJveSw2LDYsMSwwLDcsNCwxMDciXSA9IDAuNzY3MzUyNjA0ODM3MzcwNjcsIFsiYm95LDYsNiwxLDAsNyw0LDEwOCJdID0gMC41MDQ2MTU5Nzc2MTQxNDU0NSwgWyJib3ksNiw2LDEsMTQsNSw1LDEiXSA9IDAuODI5NjU4NjI2MDkyMjA5ODYsIFsiYm95LDYsNiwxLDE0LDUsNSwyIl0gPSAwLjAxMDgzNjg3NDU1Njc0MzMxNCwgWyJib3ksNiw2LDEsMTQsNSw1LDciXSA9IDAuODIzMTA5MzgyMDY5MjYzMjEsIFsiYm95LDYsNiwxLDE0LDUsNSw4Il0gPSAwLjE3MTg3MjIyMTU0ODQ2MjI3LCBbImJveSw2LDYsMSwxNCw1LDUsOSJdID0gMC42MjI4OTQ4ODE5MDYxOTMyNCwgWyJib3ksNiw2LDEsMTQsNSw1LDEwIl0gPSAwLjQwMDAyMzM1ODUxMzEwNTQ0LCBbImJveSw2LDYsMSwxNCw1LDUsMTMiXSA9IDAuMzQwODQ1NTM2Njg1NzM2MTQsIFsiYm95LDYsNiwxLDE0LDUsNSwxNCJdID0gMC45NTUxMTkwMzQzNDk4NTQ1NywgWyJib3ksNiw2LDEsMTQsNSw1LDE1Il0gPSAwLjUyMTgxMzAwNjIxNzMzNjczLCBbImJveSw2LDYsMSwxNCw1LDUsMTYiXSA9IDAuODQxMDIwOTM1MDcxMjg2MDYsIFsiYm95LDYsNiwxLDE0LDUsNSwyMiJdID0gMC44MjI2NjgwOTY0NjAzOTA3NCwgWyJib3ksNiw2LDEsMTQsNSw1LDIzIl0gPSAwLjQ5NzU4NzAyODc1OTc1NDgsIFsiYm95LDYsNiwxLDE0LDUsNSwyNCJdID0gMC4zOTQ0NTgxNDQxNzQ5ODQzNywgWyJib3ksNiw2LDEsMTQsNSw1LDI1Il0gPSAwLjYwODI5NzYwNjAwNDA2OTksIFsiYm95LDYsNiwxLDE0LDUsNSwzNCJdID0gMC45NTUyODc4NjM0ODM0MTA3NywgWyJib3ksNiw2LDEsMTQsNSw1LDM1Il0gPSAwLjU3NTM2NzIyNjI5MTM0MDc0LCBbImJveSw2LDYsMSwxNCw1LDUsMzYiXSA9IDAuMzkzMjA4MTIzNzc1NTIxODMsIFsiYm95LDYsNiwxLDE0LDUsNSwzNyJdID0gMC40Nzc4MTYzNTM5MDQxOTA2NCwgWyJib3ksNiw2LDEsMTQsNSw1LDM4Il0gPSAwLjU5MjM2ODQ4OTA1MDM4MTk3LCBbImJveSw2LDYsMSwxNCw1LDUsMzkiXSA9IDAuNjg3NDg3MjAyOTg5NjcxMjUsIFsiYm95LDYsNiwxLDE0LDUsNSw0MCJdID0gMC41ODYyNDU1Mzk0ODkzOTE3MywgWyJib3ksNiw2LDEsMTQsNSw1LDQzIl0gPSAwLjY2ODk3NTM0NjU3MDMwMTIyLCBbImJveSw2LDYsMSwxNCw1LDUsNDQiXSA9IDAuNjY5MTM2OTY0ODU1NTEwNzcsIFsiYm95LDYsNiwxLDE0LDUsNSw0NSJdID0gMC44NzkyNjQ0MzU4NTA0Njc5OCwgWyJib3ksNiw2LDEsMTQsNSw1LDQ2Il0gPSAwLjA2NTY4OTkwMzAyODkxMjg2NiwgWyJib3ksNiw2LDEsMTQsNSw1LDQ5Il0gPSAwLjYwMTc3MTQwNzUxNzA1OTQ5LCBbImJveSw2LDYsMSwxNCw1LDUsNTAiXSA9IDAuNTgyNjk4Njk4NjI2NDk1MjYsIFsiYm95LDYsNiwxLDE0LDUsNSw1MSJdID0gMC4zOTE2MjM1MjMyNjU5OTE0OCwgWyJib3ksNiw2LDEsMTQsNSw1LDUyIl0gPSAwLjMzMTMxNzMwMjExMjI2NDg0LCBbImJveSw2LDYsMSwxNCw1LDUsNTMiXSA9IDAuMTg3MjExNjc3OTg4ODU2NDEsIFsiYm95LDYsNiwxLDE0LDUsNSw1NCJdID0gMC45ODI5NDcxMzk0NTEzMTc0LCBbImJveSw2LDYsMSwxNCw1LDUsNTUiXSA9IDAuODI1NjcwNDcwOTI4ODIyOTUsIFsiYm95LDYsNiwxLDE0LDUsNSw2NCJdID0gMC4xMjI4MTU5NTk5MzYzMzYwOSwgWyJib3ksNiw2LDEsMTQsNSw1LDY1Il0gPSAwLjI2NTg2NjM2MTgyNDM5NTk0LCBbImJveSw2LDYsMSwxNCw1LDUsNjYiXSA9IDAuODUxMzc1Mzc5NjMzMTg5MzIsIFsiYm95LDYsNiwxLDE0LDUsNSw2NyJdID0gMC42NzY1MjM4NDUzOTUyMjk4MSwgWyJib3ksNiw2LDEsMTQsNSw1LDY4Il0gPSAwLjUwMjA5NTg1MzMyNjM3Nzk2LCBbImJveSw2LDYsMSwxNCw1LDUsNjkiXSA9IDAuNjIyNjQzODkwODI0MDczNDUsIFsiYm95LDYsNiwxLDE0LDUsNSw3MCJdID0gMC42OTc5NzAwNTMwNDI5MDk4MiwgWyJib3ksNiw2LDEsMTQsNSw1LDc5Il0gPSAwLjIwODI3MjE1NzQ2NDYwNDI2LCBbImJveSw2LDYsMSwxNCw1LDUsODAiXSA9IDAuMzY5Nzk4MDI0MTUwMjY1MTksIFsiYm95LDYsNiwxLDE0LDUsNSw4MSJdID0gMC4xNzgyMzU0MTQwOTYxMDE1NSwgWyJib3ksNiw2LDEsMTQsNSw1LDgyIl0gPSAwLjYzNTIxMjAzNDkwNjkxMTQ3LCBbImJveSw2LDYsMSwxNCw1LDUsOTEiXSA9IDAuNjQwNjA4NzEzNTE0NDY2OTEsIFsiYm95LDYsNiwxLDE0LDUsNSw5MiJdID0gMC4xMDg0MzM4ODUwMzkyMjcwMiwgWyJib3ksNiw2LDEsMTQsNSw1LDkzIl0gPSAwLjM4MTIwNTk2Njg0MjI0NDI4LCBbImJveSw2LDYsMSwxNCw1LDUsOTQiXSA9IDAuMDY2OTYwODMzODcyODY5MTA4LCBbImJveSw2LDYsMSwxNCw1LDUsMTA2Il0gPSAwLjA2NzgxNTA3NTY3MjY3NTY0LCBbImJveSw2LDYsMSwxNCw1LDUsMTA3Il0gPSAwLjM3MjUyNDYyODExODE1NzEyLCBbImJveSw2LDYsMSwxNCw1LDUsMTA4Il0gPSAwLjg2NjI2Njg1MzcyNjg1MDk3LCBbImJveSw2LDYsMSwxNCw1LDUsMTA5Il0gPSAwLjgzNTkzNDgzOTIyNDQxNjE0LCBbImJveSw2LDgsNSwwLDcsNCw2NyJdID0gMC40MzU1ODU1NjkxNzU5MTM2MiwgWyJib3ksNiw4LDUsMCw3LDQsNjgiXSA9IDAuMTYzMzg1Mjk2ODkyMjc4ODgsIFsiYm95LDYsOCw1LDAsNyw0LDY5Il0gPSAwLjMzNDQwMDY2NzQ2Njg4MjY4LCBbImJveSw2LDgsNSwwLDcsNCw4MiJdID0gMC4yOTU1NDMyMjI5MzkyNzYwNCwgWyJib3ksNiw4LDUsMCw3LDQsODMiXSA9IDAuMDgzMTI3OTM2OTk1OTQ3MDA1LCBbImJveSw2LDgsNSwwLDcsNCw4NCJdID0gMC43MTIyMDg3NzU1MjczNjYyOCwgWyJib3ksNiw4LDUsMCw3LDQsMTAwIl0gPSAwLjEwNzkwMTA0MDI5NDIwMzExLCBbImJveSw2LDgsNSwwLDcsNCwxMDEiXSA9IDAuODgyMDU1NjE5NTU4MTc4MzUsIFsiYm95LDYsOCw1LDAsNyw0LDEwMiJdID0gMC43NzI4NjE1MzE2Mzk4MDE5OCwgWyJib3ksNiw4LDUsMCw3LDQsMTE4Il0gPSAwLjk4OTY1NDE5NzQ2MjA4NjI3LCBbImJveSw2LDgsNSwwLDcsNCwxMTkiXSA9IDAuNDM5ODMyOTI1MjY1MTY2OTMsIFsiYm95LDYsOCw1LDAsNyw0LDEyMCJdID0gMC4xNjAyMDYwMDIzNTc4Mjc1NiwgWyJib3ksNiw4LDUsMTQsNSw1LDY3Il0gPSAwLjY4ODg4NTQ5NDQzMTgyNzY3LCBbImJveSw2LDgsNSwxNCw1LDUsNjgiXSA9IDAuMzIzMTQ2Mjg2MDIyMzMxNTMsIFsiYm95LDYsOCw1LDE0LDUsNSw2OSJdID0gMC41NDUzNTA5MjIyNDgyOTA2MywgWyJib3ksNiw4LDUsMTQsNSw1LDcwIl0gPSAwLjI4NTgxNTc4MzE2NjUyNjY3LCBbImJveSw2LDgsNSwxNCw1LDUsODIiXSA9IDAuNjY3MjEwNDU5MzIzNjQ2NzUsIFsiYm95LDYsOCw1LDE0LDUsNSw4MyJdID0gMC42Mjc5ODQwNzIwOTI3ODI3MywgWyJib3ksNiw4LDUsMTQsNSw1LDg0Il0gPSAwLjEwNzY2NzYzMjI4MjA2OTk5LCBbImJveSw2LDgsNSwxNCw1LDUsODUiXSA9IDAuODgwNDIyNjY5MjM2MTY2MywgWyJib3ksNiw4LDUsMTQsNSw1LDEwMCJdID0gMC4wNDk5NzM0Njg5OTQ4MDYzNjksIFsiYm95LDYsOCw1LDE0LDUsNSwxMDEiXSA9IDAuNDc2NDc3MTEwOTU2ODg0MzksIFsiYm95LDYsOCw1LDE0LDUsNSwxMDIiXSA9IDAuOTk2ODM2OTY2NjMyMTgwMzUsIFsiYm95LDYsOCw1LDE0LDUsNSwxMDMiXSA9IDAuMTY2NzMwNjUwNDAzMTIzNjMsIFsiYm95LDYsOCw1LDE0LDUsNSwxMTgiXSA9IDAuNjc1NzM4MDEwNzMwMjM0NjUsIFsiYm95LDYsOCw1LDE0LDUsNSwxMTkiXSA9IDAuMzQ3MTc5OTIzMzcxMjk0LCBbImJveSw2LDgsNSwxNCw1LDUsMTIwIl0gPSAwLjQ0MTEwNzM3NzA5NjAwNTQ1LCBbImJveSw2LDgsNSwxNCw1LDUsMTIxIl0gPSAwLjQ5ODYxODk1ODE1NDcxMDY5LCBbImJveSw3LDIsMSwwLDcsNCw0Il0gPSAwLjAwMzIyODMzNTgyODIwNTY5NzMsIFsiYm95LDcsMiwxLDAsNyw0LDUiXSA9IDAuMDQ2MzQ1MTM2ODY5OTI0ODA4LCBbImJveSw3LDIsMSwwLDcsNCw2Il0gPSAwLjM4MTE2NjY4NTk2OTAzNzI0LCBbImJveSw3LDIsMSwwLDcsNCwxMCJdID0gMC41NjY4ODkyMDU2NzE1NTU5OCwgWyJib3ksNywyLDEsMCw3LDQsMTYiXSA9IDAuNTEzMzQ2NzU3NjM4MDY4MzYsIFsiYm95LDcsMiwxLDAsNyw0LDE3Il0gPSAwLjA3ODc3Nzg4NjE5Mjc2MDYwNCwgWyJib3ksNywyLDEsMCw3LDQsMTgiXSA9IDAuMzU4Mzc5MTUzMzEwODQ1OCwgWyJib3ksNywyLDEsMTQsNSw1LDEiXSA9IDAuMDMzNjU2ODQwMzcwMzI2MzQ2LCBbImJveSw3LDIsMSwxNCw1LDUsNCJdID0gMC40NDQwMTU2NDIyNTQxNjM0NiwgWyJib3ksNywyLDEsMTQsNSw1LDUiXSA9IDAuNDA4MjI4NzUzNTIxNTUwMDgsIFsiYm95LDcsMiwxLDE0LDUsNSw2Il0gPSAwLjUxMDgyODQ4NDA5NjEzNjM1LCBbImJveSw3LDIsMSwxNCw1LDUsNyJdID0gMC4wMzExOTkxODk1NDg5NzA3MTgsIFsiYm95LDcsMiwxLDE0LDUsNSwxMCJdID0gMC45NTMxOTQ4MDAwMDYwNDk3MywgWyJib3ksNywyLDEsMTQsNSw1LDExIl0gPSAwLjAwNzkxOTY4NDg2MTUyMDE3MDksIFsiYm95LDcsMiwxLDE0LDUsNSwxNiJdID0gMC43NDQ4ODkxNzM2MzY4NjMyNCwgWyJib3ksNywyLDEsMTQsNSw1LDE3Il0gPSAwLjgwNDk2MTQ3NDE4NzY3NDcyLCBbImJveSw3LDIsMSwxNCw1LDUsMTgiXSA9IDAuNjkxMDc2NTk0ODU0MDcxNTgsIFsiYm95LDcsMiwxLDE0LDUsNSwxOSJdID0gMC4yNDczNjg1OTI5OTAzMzEwOSwgWyJib3ksNyw0LDEsMTQsNSw1LDEiXSA9IDAuMDE3NjcxNTEwMjA1MTc1NDM0LCBbImJveSw3LDQsNSwwLDcsNCwxIl0gPSAwLjI0NDM5NjEzNTA1NTAxMjM0LCBbImJveSw3LDQsNSwwLDcsNCwyIl0gPSAwLjIxMTExOTIzNTM5NDc3Mzk1LCBbImJveSw3LDQsNSwwLDcsNCwzIl0gPSAwLjU4NjM1NTM5NDg3MTY3ODQzLCBbImJveSw3LDQsNSwwLDcsNCw0Il0gPSAwLjI1MDEwMDM2NzMwOTE2MDQxLCBbImJveSw3LDQsNSwwLDcsNCw1Il0gPSAwLjgxMjg0MzA3NDI4OTQ2MDU3LCBbImJveSw3LDQsNSwwLDcsNCw2Il0gPSAwLjAzNTE5MjE5Nzc3MTcxOTMzNiwgWyJib3ksNyw0LDUsMCw3LDQsMTAiXSA9IDAuMzMzODY3NjU3NDIwNDUxMSwgWyJib3ksNyw0LDUsMCw3LDQsMTEiXSA9IDAuMDk0ODk0MjE5NjgzMDkxOTc0LCBbImJveSw3LDQsNSwwLDcsNCwxMiJdID0gMC41NTExMjcwNzQzMjkyNzU3NywgWyJib3ksNyw0LDUsMCw3LDQsMTYiXSA9IDAuOTYxMjA1MzUyODI1MjU2ODgsIFsiYm95LDcsNCw1LDAsNyw0LDE3Il0gPSAwLjc4MzQxMzU5NTAyMzEwMjQ4LCBbImJveSw3LDQsNSwwLDcsNCwxOCJdID0gMC43ODI5NTkwNDY2OTY2NzY5MywgWyJib3ksNyw0LDUsMCw3LDQsMjIiXSA9IDAuMDU2ODk2NDQxOTY2MzMyNywgWyJib3ksNyw0LDUsMCw3LDQsMjMiXSA9IDAuNjYzNTkzMjc3ODA3MTczMzcsIFsiYm95LDcsNCw1LDAsNyw0LDI0Il0gPSAwLjExNjU3MzM3NjkzMzgyMzk3LCBbImJveSw3LDQsNSwwLDcsNCwzNCJdID0gMC45Njg3MDM0NzY0NTk4NTY5OSwgWyJib3ksNyw0LDUsMCw3LDQsMzUiXSA9IDAuODcyMjM5MjE2NTI5NzQxOSwgWyJib3ksNyw0LDUsMCw3LDQsMzYiXSA9IDAuNTIwMjQxNjIxNDQxMzU4NTUsIFsiYm95LDcsNCw1LDAsNyw0LDM5Il0gPSAwLjQxNDQ0OTc1MTEyNTk5MzQ3LCBbImJveSw3LDQsNSwwLDcsNCw0OSJdID0gMC4xMzI4MjE2Nzc2NDU5NzExOSwgWyJib3ksNyw0LDUsMCw3LDQsNTAiXSA9IDAuNDMwNTM5OTY3Mjk1NTU3NjYsIFsiYm95LDcsNCw1LDAsNyw0LDUxIl0gPSAwLjExOTk0MTM4MjkyMzk5NzAzLCBbImJveSw3LDQsNSwwLDcsNCw1OCJdID0gMC43NTg1MjE4MzYxOTQ2OTk5MywgWyJib3ksNyw0LDUsMCw3LDQsNTkiXSA9IDAuNzY4MjYxMzA2MDAzNTAwMTgsIFsiYm95LDcsNCw1LDAsNyw0LDYwIl0gPSAwLjg0MTk5MjQ4NjI3NDE5OTY1LCBbImJveSw3LDQsNSwwLDcsNCw3MyJdID0gMC4wMzYzMDQ0Nzk2NjUwOTkzMSwgWyJib3ksNyw0LDUsMCw3LDQsNzQiXSA9IDAuOTUzNDAyMjY5OTM4MDQ1NTUsIFsiYm95LDcsNCw1LDAsNyw0LDc1Il0gPSAwLjMxMjY2OTUyOTE2MDIyMzcyLCBbImJveSw3LDQsNSwwLDcsNCw3NiJdID0gMC43NDE3NTI3MjY4OTM1OTgxNywgWyJib3ksNyw0LDUsMCw3LDQsNzciXSA9IDAuODM2OTc1MzI4OTc2MjY5ODEsIFsiYm95LDcsNCw1LDAsNyw0LDc4Il0gPSAwLjY3NDE1ODY0NTA4MTExNjc4LCBbImJveSw3LDQsNSwxNCw1LDUsMSJdID0gMC43MDU2NzA4OTQwMTUzMjM3OSwgWyJib3ksNyw0LDUsMTQsNSw1LDIiXSA9IDAuMTAwMjgxNDcxNjExNjI5NTksIFsiYm95LDcsNCw1LDE0LDUsNSwzIl0gPSAwLjg4NjE3MDM1MTQzMTM5MjExLCBbImJveSw3LDQsNSwxNCw1LDUsNCJdID0gMC4xMDI2MjIzMTEwNTkwOTY5MiwgWyJib3ksNyw0LDUsMTQsNSw1LDUiXSA9IDAuOTgwNTA2MDY5NzY3MDQ2MDIsIFsiYm95LDcsNCw1LDE0LDUsNSw2Il0gPSAwLjA2MDAzMTI5MzAwODM2Mzc0LCBbImJveSw3LDQsNSwxNCw1LDUsNyJdID0gMC42MzkwNTA1NTkyMzkwMzM2NCwgWyJib3ksNyw0LDUsMTQsNSw1LDEwIl0gPSAwLjI2MjMyMjM4MDIxNTA4MjQ3LCBbImJveSw3LDQsNSwxNCw1LDUsMTEiXSA9IDAuMjMxOTIyNzA5OTE0NzY3MTYsIFsiYm95LDcsNCw1LDE0LDUsNSwxMiJdID0gMC45MTU2ODk0MzAwODE1ODI3NywgWyJib3ksNyw0LDUsMTQsNSw1LDEzIl0gPSAwLjg2Mjc3NzA4MzM5MDM0MTQzLCBbImJveSw3LDQsNSwxNCw1LDUsMTYiXSA9IDAuNjAwMDM3MDgyMDYxNTU3OTIsIFsiYm95LDcsNCw1LDE0LDUsNSwxNyJdID0gMC4zMDI5NjM5NTEyMDI4MzM0OCwgWyJib3ksNyw0LDUsMTQsNSw1LDE4Il0gPSAwLjk4NTYwOTQzOTYxMDQ1NzU1LCBbImJveSw3LDQsNSwxNCw1LDUsMTkiXSA9IDAuODE4ODI0MjAxMjg2Njg0ODcsIFsiYm95LDcsNCw1LDE0LDUsNSwyMiJdID0gMC4zMDE2MjY5NjgyMjM5MTUyMiwgWyJib3ksNyw0LDUsMTQsNSw1LDIzIl0gPSAwLjE4MjEyNzM2MTM1NTQ1NzcxLCBbImJveSw3LDQsNSwxNCw1LDUsMjQiXSA9IDAuMTkyNjc5MDUwNDA4MjE3NjQsIFsiYm95LDcsNCw1LDE0LDUsNSwyNSJdID0gMC4wNTA2OTI2OTg0MDY0MTg4NzksIFsiYm95LDcsNCw1LDE0LDUsNSwzNCJdID0gMC41MjY2MDgwMDE3MTMwNjk0MywgWyJib3ksNyw0LDUsMTQsNSw1LDM1Il0gPSAwLjQyNDg0NzE1Mzc1NzY0NDM3LCBbImJveSw3LDQsNSwxNCw1LDUsMzYiXSA9IDAuMDUxODQwMDEwMjA2NDcxMTEsIFsiYm95LDcsNCw1LDE0LDUsNSwzNyJdID0gMC45MDg5NzgwMTA5MDI5Njc0OCwgWyJib3ksNyw0LDUsMTQsNSw1LDM5Il0gPSAwLjM1MTk4NzczNjI5MDMyNjc2LCBbImJveSw3LDQsNSwxNCw1LDUsNDAiXSA9IDAuNDkwMzkyNjQ5OTc0ODI1MjMsIFsiYm95LDcsNCw1LDE0LDUsNSw0OSJdID0gMC4zMzE3MDc3ODQzNTc4NzUyOSwgWyJib3ksNyw0LDUsMTQsNSw1LDUwIl0gPSAwLjg1NjAzMjY3MzU5ODMwNjgxLCBbImJveSw3LDQsNSwxNCw1LDUsNTEiXSA9IDAuNTYwNDYzNTg4NDI0OTAxNCwgWyJib3ksNyw0LDUsMTQsNSw1LDUyIl0gPSAwLjY4NDA1NDk1NzE5NjA2MTY5LCBbImJveSw3LDQsNSwxNCw1LDUsNTgiXSA9IDAuMjM3NzIwMzY4NjAyNDkzMTMsIFsiYm95LDcsNCw1LDE0LDUsNSw1OSJdID0gMC41MTM1MDQxMDIyNTQ3NDgxOCwgWyJib3ksNyw0LDUsMTQsNSw1LDYwIl0gPSAwLjgxODYyMDM3NDQyMTA3ODcxLCBbImJveSw3LDQsNSwxNCw1LDUsNjEiXSA9IDAuNzY0NzY5MjkwMDk2NjI5NjQsIFsiYm95LDcsNCw1LDE0LDUsNSw3MyJdID0gMC43MTQzNDg5NDYyMDQ4MTI3MSwgWyJib3ksNyw0LDUsMTQsNSw1LDc0Il0gPSAwLjY3OTI4MjQ0OTk2NjgxNjg2LCBbImJveSw3LDQsNSwxNCw1LDUsNzUiXSA9IDAuMzYxNTE0MzIzMDI1NDE5ODYsIFsiYm95LDcsNCw1LDE0LDUsNSw3NiJdID0gMC4xMDI5MDc5Mzc3OTk4NDI3NSwgWyJib3ksNyw0LDUsMTQsNSw1LDc3Il0gPSAwLjExNjQzMjc5MTE4NjUxOTk1LCBbImJveSw3LDQsNSwxNCw1LDUsNzgiXSA9IDAuNzMyNzExMzM4ODYzNzA3NDMsIFsiYm95LDcsNCw1LDE0LDUsNSw3OSJdID0gMC4zNzU3MDQxODM0ODkyNTYwNSwgWyJib3ksNyw2LDEsMCw3LDQsMiJdID0gMC4xMTQyNDcyOTY3NzExNjM2MywgWyJib3ksNyw2LDEsMCw3LDQsMyJdID0gMC40NzY5NTQyMzMwOTMwMDI1NiwgWyJib3ksNyw2LDEsMCw3LDQsMTAiXSA9IDAuMDQ4NzQxOTk4ODgzMzkwMTQ3LCBbImJveSw3LDYsMSwwLDcsNCwxMSJdID0gMC44ODczOTUxMDcxOTY0NTM2NSwgWyJib3ksNyw2LDEsMCw3LDQsMTIiXSA9IDAuOTY1NjM3Njg2MDI2NTk3MzksIFsiYm95LDcsNiwxLDAsNyw0LDE2Il0gPSAwLjg5NzMxMDU0NDk2Mzg3MDc1LCBbImJveSw3LDYsMSwwLDcsNCwxNyJdID0gMC42NTU3NDM3MDUyOTE4Nzg0MiwgWyJib3ksNyw2LDEsMCw3LDQsMTgiXSA9IDAuMDI5MzkyMDExODUwOTU0MDgxLCBbImJveSw3LDYsMSwwLDcsNCwyNSJdID0gMC4yMDE1NzI4NTA3MjgwNjk0MSwgWyJib3ksNyw2LDEsMCw3LDQsMjYiXSA9IDAuMzc0ODQ0Njc0Mzg4NTkzMTUsIFsiYm95LDcsNiwxLDAsNyw0LDI3Il0gPSAwLjc3NDU0OTU2NTA3ODAxNTg3LCBbImJveSw3LDYsMSwwLDcsNCwzNyJdID0gMC40ODMzOTIzNTAxMTU3OTEyOSwgWyJib3ksNyw2LDEsMCw3LDQsMzgiXSA9IDAuNzU4NjY5NTQ1OTI0NzgwNzUsIFsiYm95LDcsNiwxLDAsNyw0LDM5Il0gPSAwLjg3NDQzMzc5NTA2NTczMzI3LCBbImJveSw3LDYsMSwwLDcsNCw0MCJdID0gMC40MjgzNzE4OTYyODA0NzE2OCwgWyJib3ksNyw2LDEsMCw3LDQsNDEiXSA9IDAuOTM2NDY4NTI3MTkwODcwODEsIFsiYm95LDcsNiwxLDAsNyw0LDQyIl0gPSAwLjY1MTY0NDg1NDExMDc3MjQ0LCBbImJveSw3LDYsMSwwLDcsNCw0NiJdID0gMC4xMjA5MDU1MTAzMDI1ODQ0NSwgWyJib3ksNyw2LDEsMCw3LDQsNDciXSA9IDAuMjkyNjQ0MjQ5NDE5NTA5MzksIFsiYm95LDcsNiwxLDAsNyw0LDQ4Il0gPSAwLjU0MDc3NDA1NjIxNjAwMTA1LCBbImJveSw3LDYsMSwwLDcsNCw1MiJdID0gMC4yNjMzNzEyOTc1NzA5MzE3LCBbImJveSw3LDYsMSwwLDcsNCw1MyJdID0gMC43OTM1ODgwNzUxMzE4NDA5MywgWyJib3ksNyw2LDEsMCw3LDQsNTQiXSA9IDAuMTM2NjUxNDQ2OTcxNTk2MjYsIFsiYm95LDcsNiwxLDAsNyw0LDU1Il0gPSAwLjIzODQxMzgxMDI5NzQyNjQ4LCBbImJveSw3LDYsMSwwLDcsNCw1NiJdID0gMC4wNTI5ODY0ODQyMzE1ODkwMjYsIFsiYm95LDcsNiwxLDAsNyw0LDU3Il0gPSAwLjM1NTA1Mjg0MzAyMzgxOTEyLCBbImJveSw3LDYsMSwwLDcsNCw2NyJdID0gMC4zMDE2Mzg2MjczMjQxNjI0NywgWyJib3ksNyw2LDEsMCw3LDQsNjgiXSA9IDAuMzAzODMwNDE5ODk4ODM2MTksIFsiYm95LDcsNiwxLDAsNyw0LDY5Il0gPSAwLjk0NDAyMDgyNDIzNTg2MzY0LCBbImJveSw3LDYsMSwwLDcsNCw3MCJdID0gMC40MzMzMjMwMzY5Nzk1ODE5NywgWyJib3ksNyw2LDEsMCw3LDQsNzEiXSA9IDAuMzYwNjM5Njg4NzA2NjMwNTUsIFsiYm95LDcsNiwxLDAsNyw0LDcyIl0gPSAwLjIxNzQ0MDA1NjAxMDA3OTc2LCBbImJveSw3LDYsMSwwLDcsNCw4MiJdID0gMC40ODMyNjUxMDU1Mjc4MTU4NywgWyJib3ksNyw2LDEsMCw3LDQsODMiXSA9IDAuNjc2MzcxMDI0Mjg5MDc1NDcsIFsiYm95LDcsNiwxLDAsNyw0LDg0Il0gPSAwLjA3NTgxMzU4ODUwODM0NTc0MiwgWyJib3ksNyw2LDEsMCw3LDQsOTQiXSA9IDAuMzUxMjc0MTY0NjQ3NjIxNCwgWyJib3ksNyw2LDEsMCw3LDQsOTUiXSA9IDAuMTMzNzM1ODcwMDY0MTg4ODYsIFsiYm95LDcsNiwxLDAsNyw0LDk2Il0gPSAwLjgyMDg0Nzc3OTU5NjY0ODY3LCBbImJveSw3LDYsMSwwLDcsNCwxMDkiXSA9IDAuMTY3NjMwNzExMTA0ODk0NjksIFsiYm95LDcsNiwxLDAsNyw0LDExMCJdID0gMC43MzEzODg4MzkyNDU3NTcyNiwgWyJib3ksNyw2LDEsMCw3LDQsMTExIl0gPSAwLjc2NzcxNDc3OTkyNzkyNjY5LCBbImJveSw3LDYsMSwxNCw1LDUsMSJdID0gMC4xMzc0MjM1MDczMjU2NDQ2OCwgWyJib3ksNyw2LDEsMTQsNSw1LDIiXSA9IDAuMjEyMDQ1MTkyMTMzOTk3ODYsIFsiYm95LDcsNiwxLDE0LDUsNSwzIl0gPSAwLjc1NTMwOTU2NTc2NDUwMjgxLCBbImJveSw3LDYsMSwxNCw1LDUsNCJdID0gMC40OTMzMzQ4NDkxNjg4Nzk2LCBbImJveSw3LDYsMSwxNCw1LDUsMTAiXSA9IDAuNzI2NDA4MTQ1MDUxMTg0NzgsIFsiYm95LDcsNiwxLDE0LDUsNSwxMSJdID0gMC42OTIxNjY3MTAwODE2OTYxNywgWyJib3ksNyw2LDEsMTQsNSw1LDEyIl0gPSAwLjY1Mjg4Mzk1NzA3MzUyNzQyLCBbImJveSw3LDYsMSwxNCw1LDUsMTMiXSA9IDAuMjk0NzI4MTE1ODk0NTQ0OTUsIFsiYm95LDcsNiwxLDE0LDUsNSwxNiJdID0gMC43NDU5MjA0OTM3MTY2ODMyMywgWyJib3ksNyw2LDEsMTQsNSw1LDE3Il0gPSAwLjczMTg5MjMxNjYzNjYxNDQ3LCBbImJveSw3LDYsMSwxNCw1LDUsMTgiXSA9IDAuNDMwNjE4MDE5MDEzMjAyMDcsIFsiYm95LDcsNiwxLDE0LDUsNSwxOSJdID0gMC43NjY2NDYzMTYwMzIwOTM1NCwgWyJib3ksNyw2LDEsMTQsNSw1LDI1Il0gPSAwLjg3MjQyODkxMTY2NDkxOTMyLCBbImJveSw3LDYsMSwxNCw1LDUsMjYiXSA9IDAuMjM5MTQxNDM1NjA0MzI2NDQsIFsiYm95LDcsNiwxLDE0LDUsNSwyNyJdID0gMC41ODkxNjYxODYwMDY3MTk0NCwgWyJib3ksNyw2LDEsMTQsNSw1LDI4Il0gPSAwLjE5OTg1NDE5ODk1NzIxNjIzLCBbImJveSw3LDYsMSwxNCw1LDUsMzciXSA9IDAuMDgyNDIzNzcxNDE4MjA3MDA0LCBbImJveSw3LDYsMSwxNCw1LDUsMzgiXSA9IDAuMzU4Njk0NzI5NTQwNTQxMzgsIFsiYm95LDcsNiwxLDE0LDUsNSwzOSJdID0gMC4zOTc1NTUzNzQxMTA1Njc1MiwgWyJib3ksNyw2LDEsMTQsNSw1LDQwIl0gPSAwLjYzOTAxMTg0NDgyNzk1NzM2LCBbImJveSw3LDYsMSwxNCw1LDUsNDEiXSA9IDAuMzQ3Nzc3MjkzNDM4MDA5MDEsIFsiYm95LDcsNiwxLDE0LDUsNSw0MiJdID0gMC44Mjg0MjAwNTA2MjE1MDkzNiwgWyJib3ksNyw2LDEsMTQsNSw1LDQzIl0gPSAwLjgxODAyMzUyMDE5MzEyMTg2LCBbImJveSw3LDYsMSwxNCw1LDUsNDYiXSA9IDAuMzc4ODQ0OTk1NTU5NTYwNzUsIFsiYm95LDcsNiwxLDE0LDUsNSw0NyJdID0gMC44MDk1MDE2NjgzODYxMzExMywgWyJib3ksNyw2LDEsMTQsNSw1LDQ4Il0gPSAwLjM1ODMzNDMyOTA4NjEzMjUsIFsiYm95LDcsNiwxLDE0LDUsNSw0OSJdID0gMC42NjA0ODU1NjgyNzA0NDI0NywgWyJib3ksNyw2LDEsMTQsNSw1LDUyIl0gPSAwLjg5MTcwOTU4OTM5NzcxMjcyLCBbImJveSw3LDYsMSwxNCw1LDUsNTMiXSA9IDAuMDc1MDQ3OTEwNDM1NzIxNTY1LCBbImJveSw3LDYsMSwxNCw1LDUsNTQiXSA9IDAuMTA5MjgyMDY4NjUzMDg1OTgsIFsiYm95LDcsNiwxLDE0LDUsNSw1NSJdID0gMC41MDM4NjExNzk1NzkzMTQ4NywgWyJib3ksNyw2LDEsMTQsNSw1LDU2Il0gPSAwLjYxMzY3NjY1MzIxMDIyNTgsIFsiYm95LDcsNiwxLDE0LDUsNSw1NyJdID0gMC41MzQ4MzQ2MzkyNDA4NDU4NCwgWyJib3ksNyw2LDEsMTQsNSw1LDU4Il0gPSAwLjgxNjkxODA0NTU2NjUxMTQ5LCBbImJveSw3LDYsMSwxNCw1LDUsNjciXSA9IDAuNzQwNTQxMDE0NjIyOTgwNzIsIFsiYm95LDcsNiwxLDE0LDUsNSw2OCJdID0gMC4yNjQ5Njc5Njg0ODY2NDgxNiwgWyJib3ksNyw2LDEsMTQsNSw1LDY5Il0gPSAwLjkzMzIxNTUxODIwODQyMzQxLCBbImJveSw3LDYsMSwxNCw1LDUsNzAiXSA9IDAuMDczNjUwNDI4Nzg1ODU2MzcsIFsiYm95LDcsNiwxLDE0LDUsNSw3MSJdID0gMC40NTA3MDY5NTkzMTAwNTg1NSwgWyJib3ksNyw2LDEsMTQsNSw1LDcyIl0gPSAwLjI1MDE4ODQ2Nzg4NTkwOTg3LCBbImJveSw3LDYsMSwxNCw1LDUsNzMiXSA9IDAuNTA4MjQ4OTM0NTkwNjU4MDEsIFsiYm95LDcsNiwxLDE0LDUsNSw4MiJdID0gMC4xNjEyNzc0NDQ5Mjk5MTgxMywgWyJib3ksNyw2LDEsMTQsNSw1LDgzIl0gPSAwLjQ2MzM3OTEzMTgxMTYxMDcyLCBbImJveSw3LDYsMSwxNCw1LDUsODQiXSA9IDAuMDk3ODQzMzYyNTkyMTYzNTMsIFsiYm95LDcsNiwxLDE0LDUsNSw4NSJdID0gMC45NTMzMzc5MjMyMjc3NjU4OSwgWyJib3ksNyw2LDEsMTQsNSw1LDk0Il0gPSAwLjI4MjUxNTk2NjQ2NDEyMjM2LCBbImJveSw3LDYsMSwxNCw1LDUsOTUiXSA9IDAuOTk1MTYyOTU1OTIxMzIzOTgsIFsiYm95LDcsNiwxLDE0LDUsNSw5NiJdID0gMC4yNDk0NzQ1NjU0MjQwMjQ0NiwgWyJib3ksNyw2LDEsMTQsNSw1LDk3Il0gPSAwLjc1MjA4ODcyODI0NTUxNDQzLCBbImJveSw3LDYsMSwxNCw1LDUsMTA5Il0gPSAwLjMxMzYzODYyODA4MDg1MzE5LCBbImJveSw3LDYsMSwxNCw1LDUsMTEwIl0gPSAwLjM4NTYyNjMwOTM3MDQ5MzI1LCBbImJveSw3LDYsMSwxNCw1LDUsMTExIl0gPSAwLjEzNjc0MzY5NjkxNTE3ODA3LCBbImJveSw3LDYsMSwxNCw1LDUsMTEyIl0gPSAwLjU5MTg1MTYxNzA5MzY4MzM5LCBbImJveSw3LDgsNSwwLDcsNCw2NCJdID0gMC4wNTI2OTgxMDUyMDU3MTUxNjIsIFsiYm95LDcsOCw1LDAsNyw0LDY1Il0gPSAwLjc0NjI5OTAwNjIyODc4MDg3LCBbImJveSw3LDgsNSwwLDcsNCw2NiJdID0gMC4xODEwNzA1MDg1MDk5MDMxNCwgWyJib3ksNyw4LDUsMCw3LDQsNzkiXSA9IDAuNTA1MTA0NjYyMjI0MjU5MiwgWyJib3ksNyw4LDUsMCw3LDQsODAiXSA9IDAuNDc2Mzc3MTg3MDA1MDE0NjQsIFsiYm95LDcsOCw1LDAsNyw0LDgxIl0gPSAwLjI3MDMyMjYzMjY0OTg4OTU0LCBbImJveSw3LDgsNSwwLDcsNCw5NyJdID0gMC44NDI5NDI1NDA1MzEwNDg0NSwgWyJib3ksNyw4LDUsMCw3LDQsOTgiXSA9IDAuODk5OTkxNjI3ODEyOTA0MDksIFsiYm95LDcsOCw1LDAsNyw0LDk5Il0gPSAwLjUxNjk3MzU1MTU0MzAzODcsIFsiYm95LDcsOCw1LDAsNyw0LDExNSJdID0gMC42ODg1NDc3MTcyMTc4NTY0NiwgWyJib3ksNyw4LDUsMCw3LDQsMTE2Il0gPSAwLjAyNDc2MzUzOTc4OTg4MDg4NCwgWyJib3ksNyw4LDUsMCw3LDQsMTE3Il0gPSAwLjg3NDQxMDg2NTk5OTA4NzQ2LCBbImJveSw3LDgsNSwwLDcsNCwxMTkiXSA9IDAuMjI5MzcxNTY4NzM1Mzg1NDQsIFsiYm95LDcsOCw1LDAsNyw0LDE1MSJdID0gMC41MjAyNjU5Mzg1NTM4MzQ2MywgWyJib3ksNyw4LDUsMCw3LDQsMTUyIl0gPSAwLjg1NzcxMzgxNjgzNTE0NjU4LCBbImJveSw3LDgsNSwxNCw1LDUsNjQiXSA9IDAuNTM5MDgyMjk5ODA1MjMyNywgWyJib3ksNyw4LDUsMTQsNSw1LDY1Il0gPSAwLjczOTIwNTU4Mzk5ODkxNjg5LCBbImJveSw3LDgsNSwxNCw1LDUsNjYiXSA9IDAuMjQwNDM3ODg5MTA1NTE4NTUsIFsiYm95LDcsOCw1LDE0LDUsNSw2NyJdID0gMC42OTkzMDU5ODM4OTk4MzU4OSwgWyJib3ksNyw4LDUsMTQsNSw1LDc5Il0gPSAwLjk0ODc5MjE3MTExNzI0ODY3LCBbImJveSw3LDgsNSwxNCw1LDUsODAiXSA9IDAuNjM1Njk0ODYwNzU3MjY3ODksIFsiYm95LDcsOCw1LDE0LDUsNSw4MSJdID0gMC4xNDM2NDU5OTgyNjUxMDM5NCwgWyJib3ksNyw4LDUsMTQsNSw1LDgyIl0gPSAwLjg2ODgyMTg0MjYxOTUxMjAxLCBbImJveSw3LDgsNSwxNCw1LDUsOTciXSA9IDAuMjAzMzI3ODk3OTMyOTAzNCwgWyJib3ksNyw4LDUsMTQsNSw1LDk4Il0gPSAwLjU4OTMxNTA2NDMyMzExNjQyLCBbImJveSw3LDgsNSwxNCw1LDUsOTkiXSA9IDAuODU4ODM3MjM5MDA5MTQyMTEsIFsiYm95LDcsOCw1LDE0LDUsNSwxMDAiXSA9IDAuNjUzMzE1MzY0Nzg3NTY5MzUsIFsiYm95LDcsOCw1LDE0LDUsNSwxMTUiXSA9IDAuMjQ5NTM5MTA5OTIyMTc1MzIsIFsiYm95LDcsOCw1LDE0LDUsNSwxMTYiXSA9IDAuMTU3NTE3OTk5MjQyOTczNjEsIFsiYm95LDcsOCw1LDE0LDUsNSwxMTciXSA9IDAuMTA3OTEwNTA3MDUxNTU4NjksIFsiYm95LDcsOCw1LDE0LDUsNSwxMTgiXSA9IDAuNjE2Nzc1OTIwOTU3NjAzMTQsIFsiYm95LDcsOCw1LDE0LDUsNSwxMTkiXSA9IDAuNjY0MjIzNjQ2NTk5OTAyMywgWyJib3ksNyw4LDUsMTQsNSw1LDEyMCJdID0gMC40Nzc1OTg4OTkyNzYzMTY5MywgWyJib3ksNyw4LDUsMTQsNSw1LDE1MSJdID0gMC41NDExODM2NzE4MjI2MDcyOSwgWyJib3ksNyw4LDUsMTQsNSw1LDE1MiJdID0gMC4zMzAyNjI2ODIzMDU2MjMzOSwgWyJib3ksNyw4LDUsMTQsNSw1LDE1MyJdID0gMC4yOTQxMjg4NDExMTI3ODM1OSwgWyJib3ksOCwyLDEsMCw3LDQsMSJdID0gMC4xMTk4OTYzODc3NDE2ODA5OSwgWyJib3ksOCwyLDEsMCw3LDQsNyJdID0gMC41MDY4NjcxMDIzNjY1NTI3NSwgWyJib3ksOCwyLDEsMCw3LDQsOCJdID0gMC40ODM0MjQ3OTAzNTIzODg3MiwgWyJib3ksOCwyLDEsMCw3LDQsOSJdID0gMC4wMzY1OTc1OTY0MjUyMDkyMTEsIFsiYm95LDgsMiwxLDAsNyw0LDExIl0gPSAwLjI0NDMyMDY1MTIxNTYzODQsIFsiYm95LDgsMiwxLDAsNyw0LDEyIl0gPSAwLjI4MjAzOTQ4ODA5NzYwMDkzLCBbImJveSw4LDIsMSwwLDcsNCwxOSJdID0gMC40ODgwMTIyNDkzODUyNTc2NywgWyJib3ksOCwyLDEsMTQsNSw1LDEiXSA9IDAuMjY1MjIwNzEzODc4NjMyNjYsIFsiYm95LDgsMiwxLDE0LDUsNSwyIl0gPSAwLjAxOTU4OTk0NjEyNjQ0ODE1NCwgWyJib3ksOCwyLDEsMTQsNSw1LDciXSA9IDAuMDkzNDMyNzMzMzIxNjMyMDQ0LCBbImJveSw4LDIsMSwxNCw1LDUsOCJdID0gMC42Njg0NTIyMzg4OTI0MTU2NywgWyJib3ksOCwyLDEsMTQsNSw1LDkiXSA9IDAuNzAyMjE0NTIxOTg4NTY0OTMsIFsiYm95LDgsMiwxLDE0LDUsNSwxMCJdID0gMC43OTM4NDA3MDIxODYyMDkwNiwgWyJib3ksOCwyLDEsMTQsNSw1LDExIl0gPSAwLjM3NjAwMjg0ODA0OTEyMTc2LCBbImJveSw4LDIsMSwxNCw1LDUsMTIiXSA9IDAuODg4Mjg4ODc1MDcxNzMwODIsIFsiYm95LDgsMiwxLDE0LDUsNSwxMyJdID0gMC41MjcxMzI2MzYxNTcxNzMzMiwgWyJib3ksOCwyLDEsMTQsNSw1LDE5Il0gPSAwLjczMTU4NjQyODQ3MTk5Mjg0LCBbImJveSw4LDIsMSwxNCw1LDUsMjAiXSA9IDAuMDE4OTQwMjQ4Nzk0NTM0NDg3LCBbImJveSw4LDQsNSwwLDcsNCwxIl0gPSAwLjYwMzk2OTAyNDQwNjY3MTc3LCBbImJveSw4LDQsNSwwLDcsNCwyIl0gPSAwLjQxMTk3MzMwMjQ0NTY4MzMxLCBbImJveSw4LDQsNSwwLDcsNCwzIl0gPSAwLjI4MDgwNDAzNjIwOTE2OTI3LCBbImJveSw4LDQsNSwwLDcsNCw3Il0gPSAwLjY5NTk2OTc2OTI0NjUyMjMyLCBbImJveSw4LDQsNSwwLDcsNCw4Il0gPSAwLjQ1ODAzMTUyMDA5MTk3NTEyLCBbImJveSw4LDQsNSwwLDcsNCw5Il0gPSAwLjU4OTk4ODUwNzg2NTEzMTQ2LCBbImJveSw4LDQsNSwwLDcsNCwxMyJdID0gMC4wOTUxNDU5NzAxMDYzOTMyNTIsIFsiYm95LDgsNCw1LDAsNyw0LDE0Il0gPSAwLjM1MzEyMzU3MTAxMDcwOTAxLCBbImJveSw4LDQsNSwwLDcsNCwxNSJdID0gMC4xMTc3NzIzOTA0Mzg4MzEwMywgWyJib3ksOCw0LDUsMCw3LDQsMTkiXSA9IDAuNjIzNzY0ODI1NjI0NTI1ODQsIFsiYm95LDgsNCw1LDAsNyw0LDIwIl0gPSAwLjQzNTMwMjYyOTA3MzE1NTQyLCBbImJveSw4LDQsNSwwLDcsNCwyMSJdID0gMC4yMjQ4NDcwMDkwNDkwMTc3OCwgWyJib3ksOCw0LDUsMCw3LDQsMzEiXSA9IDAuODI3ODg4MDQwNjE3Mjc1OTQsIFsiYm95LDgsNCw1LDAsNyw0LDMyIl0gPSAwLjQzNTAzOTA3NzIwMjU3ODA2LCBbImJveSw4LDQsNSwwLDcsNCwzMyJdID0gMC4yNTg3MTgyOTk1MjAwNTYzMiwgWyJib3ksOCw0LDUsMCw3LDQsMzciXSA9IDAuMzA1OTgxMDg0ODM2MDE5NiwgWyJib3ksOCw0LDUsMCw3LDQsMzgiXSA9IDAuODMxOTc0OTM0MjE4MjU2NzUsIFsiYm95LDgsNCw1LDAsNyw0LDQ2Il0gPSAwLjkxMTE1ODI0MzA0OTU5MjU5LCBbImJveSw4LDQsNSwwLDcsNCw0NyJdID0gMC45MTgyNTQ5Nzg2MDEyNTYxNiwgWyJib3ksOCw0LDUsMCw3LDQsNDgiXSA9IDAuMTM2MDc2NTI2ODc2OTg0NTcsIFsiYm95LDgsNCw1LDAsNyw0LDU1Il0gPSAwLjY0NjQzMTEzNjkwNTc2NjA0LCBbImJveSw4LDQsNSwwLDcsNCw1NiJdID0gMC4wOTQ4MTg0MjY5NjE2NDQzMzEsIFsiYm95LDgsNCw1LDAsNyw0LDU3Il0gPSAwLjE1Nzg5MDczMzU4NTA0NjU3LCBbImJveSw4LDQsNSwwLDcsNCw3MCJdID0gMC40NjAxODc2MjA5MTU2MjE5MywgWyJib3ksOCw0LDUsMCw3LDQsNzEiXSA9IDAuNjE0NDU0NTYwMzMyNDkzMTMsIFsiYm95LDgsNCw1LDAsNyw0LDcyIl0gPSAwLjQ0NjIxNTU5MDQzMTQwMDkxLCBbImJveSw4LDQsNSwwLDcsNCw3MyJdID0gMC4yMTk4OTYxOTMyNTU0Mjg4NiwgWyJib3ksOCw0LDUsMCw3LDQsNzQiXSA9IDAuNDI1NTg3OTUxOTM2OTk0OTUsIFsiYm95LDgsNCw1LDAsNyw0LDc1Il0gPSAwLjU3OTkxMDQ2MTYwNTQzMjkxLCBbImJveSw4LDQsNSwxNCw1LDUsMSJdID0gMC4xMTI5OTk0MzI4ODMzNjE4OSwgWyJib3ksOCw0LDUsMTQsNSw1LDIiXSA9IDAuNzYyMzE3MTYwNDM1MjA3NDcsIFsiYm95LDgsNCw1LDE0LDUsNSwzIl0gPSAwLjU3MDc4MDA3NjAwOTkwODg4LCBbImJveSw4LDQsNSwxNCw1LDUsNCJdID0gMC43MzY2MTUzOTA3NTE1NDIwMywgWyJib3ksOCw0LDUsMTQsNSw1LDciXSA9IDAuMjgzNDkxMzI0MTQxMDMxOTUsIFsiYm95LDgsNCw1LDE0LDUsNSw4Il0gPSAwLjk4NDE4Mjc1MTc5NTk0NjcyLCBbImJveSw4LDQsNSwxNCw1LDUsOSJdID0gMC4yNDY1MTU1Mzc5NDk1MzgwNywgWyJib3ksOCw0LDUsMTQsNSw1LDEwIl0gPSAwLjcyMjU1MDU2NzA2MDYwMjA2LCBbImJveSw4LDQsNSwxNCw1LDUsMTMiXSA9IDAuNjA5ODA4NDc0MzEwMDIwMjgsIFsiYm95LDgsNCw1LDE0LDUsNSwxNCJdID0gMC41MDU3MDk2ODkzNTc0MzM3NywgWyJib3ksOCw0LDUsMTQsNSw1LDE1Il0gPSAwLjMwMDU3NTMyNjk0NTc4MjcxLCBbImJveSw4LDQsNSwxNCw1LDUsMTYiXSA9IDAuMTIzMjgyODg2NzY5ODIwMzUsIFsiYm95LDgsNCw1LDE0LDUsNSwxOSJdID0gMC42NTUyMzMyMzI5MTA1MTI2MSwgWyJib3ksOCw0LDUsMTQsNSw1LDIwIl0gPSAwLjU4NDg5MjM4ODkzNTY0OTQzLCBbImJveSw4LDQsNSwxNCw1LDUsMjEiXSA9IDAuNTYzODk3ODQ5MjU2ODQwMDYsIFsiYm95LDgsNCw1LDE0LDUsNSwyMiJdID0gMC41NTg2Njg0MzMzNjEyNTQ4MiwgWyJib3ksOCw0LDUsMTQsNSw1LDMxIl0gPSAwLjkwMjkxMjYyMTg1NjAxOTk1LCBbImJveSw4LDQsNSwxNCw1LDUsMzIiXSA9IDAuMTc4MjcwNjk4NzQ0NTkxODksIFsiYm95LDgsNCw1LDE0LDUsNSwzMyJdID0gMC40OTY2MTcxMjI3NjE1NzYxLCBbImJveSw4LDQsNSwxNCw1LDUsMzQiXSA9IDAuMzg5Mzc1OTY4NjIxNjc1MTIsIFsiYm95LDgsNCw1LDE0LDUsNSwzNyJdID0gMC44NTIzMjcyNzAwNDU3NzEzNiwgWyJib3ksOCw0LDUsMTQsNSw1LDM4Il0gPSAwLjMzMzUyNDc2Mjk2OTU1MDM2LCBbImJveSw4LDQsNSwxNCw1LDUsMzkiXSA9IDAuMDAwMTQ3MjU3NTg2MjAyNDg3MTksIFsiYm95LDgsNCw1LDE0LDUsNSw0NiJdID0gMC40OTAyNTE5MDc4NzY5OTQwMiwgWyJib3ksOCw0LDUsMTQsNSw1LDQ3Il0gPSAwLjMyODAwNTYzNzczNzcxNDc0LCBbImJveSw4LDQsNSwxNCw1LDUsNDgiXSA9IDAuNjQzNjUzNjY1Nzc1Mzk1NzMsIFsiYm95LDgsNCw1LDE0LDUsNSw0OSJdID0gMC41MjAwODAyNzUxOTE1NDY1NCwgWyJib3ksOCw0LDUsMTQsNSw1LDU1Il0gPSAwLjcwNzE3NzE3ODg0Nzk0NjE4LCBbImJveSw4LDQsNSwxNCw1LDUsNTYiXSA9IDAuOTcwNTE0ODk5Mjc1NDM2ODgsIFsiYm95LDgsNCw1LDE0LDUsNSw1NyJdID0gMC4zMTY4NTk5MDkxMTUzNTgzMywgWyJib3ksOCw0LDUsMTQsNSw1LDU4Il0gPSAwLjIxOTIwMTMyNjI1MzMwNTAyLCBbImJveSw4LDQsNSwxNCw1LDUsNzAiXSA9IDAuOTg1NTQzMzczODc1OTEzMTgsIFsiYm95LDgsNCw1LDE0LDUsNSw3MSJdID0gMC41MTI0MDQ3MzE3ODA1MTc2LCBbImJveSw4LDQsNSwxNCw1LDUsNzIiXSA9IDAuODc3NTg0MTIwMjQ5OTgyMTEsIFsiYm95LDgsNCw1LDE0LDUsNSw3MyJdID0gMC42NTA2ODk5OTA5ODgzMzEyNSwgWyJib3ksOCw0LDUsMTQsNSw1LDc0Il0gPSAwLjEwODkyOTQwNTkzODk0MDA3LCBbImJveSw4LDQsNSwxNCw1LDUsNzUiXSA9IDAuOTc5Njk5NzUxNDM0MjU5OCwgWyJib3ksOCw0LDUsMTQsNSw1LDc2Il0gPSAwLjY1ODU4NDU1MzkyMDc3OTc1LCBbImJveSw4LDYsMSwwLDcsNCwxIl0gPSAwLjY2OTQ1MTA5NDA5OTE1NjcxLCBbImJveSw4LDYsMSwwLDcsNCwyIl0gPSAwLjM5MTc2NDA3MzYxMTY4NDMsIFsiYm95LDgsNiwxLDAsNyw0LDMiXSA9IDAuMzg4MjA0ODQ3ODg4Njc1MjYsIFsiYm95LDgsNiwxLDAsNyw0LDQiXSA9IDAuODMzMzExNTA5MDkwMTIzMywgWyJib3ksOCw2LDEsMCw3LDQsNSJdID0gMC41NTY3ODQwMDM3MDMyOTUzOSwgWyJib3ksOCw2LDEsMCw3LDQsNiJdID0gMC45NjYwOTQwMzU2MTUxNDU1MSwgWyJib3ksOCw2LDEsMCw3LDQsMTMiXSA9IDAuNTU0ODA1NDUxNzIxOTI5ODUsIFsiYm95LDgsNiwxLDAsNyw0LDE0Il0gPSAwLjM1MjA1NDkzMDU4NzU0ODY2LCBbImJveSw4LDYsMSwwLDcsNCwxNSJdID0gMC42MzU3MDcyMTA1MDk3NTYzMiwgWyJib3ksOCw2LDEsMCw3LDQsMTkiXSA9IDAuMzIxNDA2NTgzMjY4ODc5OTQsIFsiYm95LDgsNiwxLDAsNyw0LDIwIl0gPSAwLjIwMDE4ODY2NTkzMjcwMzY4LCBbImJveSw4LDYsMSwwLDcsNCwyMSJdID0gMC4zNTExNzQ1MzM2NDAwODMzMywgWyJib3ksOCw2LDEsMCw3LDQsMjgiXSA9IDAuNDE0MDQ0OTI1NTUyNzEwNTUsIFsiYm95LDgsNiwxLDAsNyw0LDI5Il0gPSAwLjA2NDcyMTY0NzM4MTkxOTQzNCwgWyJib3ksOCw2LDEsMCw3LDQsMzAiXSA9IDAuNDU3OTMyMTYwNDExMTIwODQsIFsiYm95LDgsNiwxLDAsNyw0LDQwIl0gPSAwLjgyMzMwMjQyNjgxNzE3MzM2LCBbImJveSw4LDYsMSwwLDcsNCw0MSJdID0gMC4zMzA5ODI2NDMzMjc3NTE4NSwgWyJib3ksOCw2LDEsMCw3LDQsNDIiXSA9IDAuOTgwOTU1OTcyNDAxMDI0MTcsIFsiYm95LDgsNiwxLDAsNyw0LDQzIl0gPSAwLjkwMzI1NjE1NzkwMjk1NTIxLCBbImJveSw4LDYsMSwwLDcsNCw0NCJdID0gMC40NzY0ODYwOTIwMjc1MzIsIFsiYm95LDgsNiwxLDAsNyw0LDQ1Il0gPSAwLjg3OTQyMzUyMTI2MTUxNDkxLCBbImJveSw4LDYsMSwwLDcsNCw0OSJdID0gMC4xOTY3NDI0OTU5MjAxMTc4MywgWyJib3ksOCw2LDEsMCw3LDQsNTAiXSA9IDAuMDAyMzE1ODM0NjIyMzQ3OTY3NiwgWyJib3ksOCw2LDEsMCw3LDQsNTEiXSA9IDAuNjk5MDUwNDMxMTAwNDg1OTMsIFsiYm95LDgsNiwxLDAsNyw0LDU1Il0gPSAwLjI1NDk0MzYxNTE2NTMzNjM3LCBbImJveSw4LDYsMSwwLDcsNCw1NiJdID0gMC44NzExMzE0NjQ0MzIwODExMiwgWyJib3ksOCw2LDEsMCw3LDQsNTciXSA9IDAuODUzMzk5Mjg0NDIzNjEwOSwgWyJib3ksOCw2LDEsMCw3LDQsNTgiXSA9IDAuMzI4OTEyMjgwOTY0ODk3LCBbImJveSw4LDYsMSwwLDcsNCw1OSJdID0gMC42MDM4NDE1MTQ0NTU3Mjk2NCwgWyJib3ksOCw2LDEsMCw3LDQsNjAiXSA9IDAuNDQwOTcwMzE1NTI0NTM2MzYsIFsiYm95LDgsNiwxLDAsNyw0LDcwIl0gPSAwLjA4OTc1MTg1MTYxOTU4MjEwMSwgWyJib3ksOCw2LDEsMCw3LDQsNzEiXSA9IDAuNzExMDY2ODczMzgwMzI5ODEsIFsiYm95LDgsNiwxLDAsNyw0LDcyIl0gPSAwLjU4MjUwODc1MjY2MzA1OTI0LCBbImJveSw4LDYsMSwwLDcsNCw3MyJdID0gMC45NjMzNTc3MDcwNTgzMTIzNiwgWyJib3ksOCw2LDEsMCw3LDQsNzQiXSA9IDAuNjM0MTMyMjYyODEzMzA2MzcsIFsiYm95LDgsNiwxLDAsNyw0LDc1Il0gPSAwLjE4MDA1OTI1MzEwMTMwNjk5LCBbImJveSw4LDYsMSwwLDcsNCw4NSJdID0gMC4zOTAyNTA2MzI4MTAyNzM1LCBbImJveSw4LDYsMSwwLDcsNCw4NiJdID0gMC43ODM1ODgyNzM3MjYzMzA4OSwgWyJib3ksOCw2LDEsMCw3LDQsODciXSA9IDAuMjkzNjU2ODE4NzEwMTU3NTksIFsiYm95LDgsNiwxLDAsNyw0LDk3Il0gPSAwLjIzOTMzMzE4ODEyODM5Mzk5LCBbImJveSw4LDYsMSwwLDcsNCw5OCJdID0gMC41NjU1Njk0Mjc4NTY0MDIwNywgWyJib3ksOCw2LDEsMCw3LDQsOTkiXSA9IDAuNjcwODgyMzg3NjIwNDMxOTUsIFsiYm95LDgsNiwxLDAsNyw0LDExMiJdID0gMC40MDYwODE4MjgxNDYyMTkyOSwgWyJib3ksOCw2LDEsMCw3LDQsMTEzIl0gPSAwLjM5NzE5OTgwMzcyMTk0NDYzLCBbImJveSw4LDYsMSwwLDcsNCwxMTQiXSA9IDAuNzk1ODY5MTM4ODE1NTU0NzcsIFsiYm95LDgsNiwxLDE0LDUsNSwxIl0gPSAwLjU4NTEwOTczMTM3MDcwNzg4LCBbImJveSw4LDYsMSwxNCw1LDUsMiJdID0gMC41OTU0NjQyMDQyODQ4MjYxNiwgWyJib3ksOCw2LDEsMTQsNSw1LDMiXSA9IDAuODkyNzc5MTc0Mzk4MTU5MjQsIFsiYm95LDgsNiwxLDE0LDUsNSw0Il0gPSAwLjcyNTc0MDk0NTMxODcwNDI2LCBbImJveSw4LDYsMSwxNCw1LDUsNSJdID0gMC4xODY0ODc2MzEyMjQyODUzNiwgWyJib3ksOCw2LDEsMTQsNSw1LDYiXSA9IDAuMTM1MzQwOTIzMjA3Mzg1NjcsIFsiYm95LDgsNiwxLDE0LDUsNSw3Il0gPSAwLjY3Mzg0NDIwMTkzOTg0OTYyLCBbImJveSw4LDYsMSwxNCw1LDUsMTMiXSA9IDAuMzgyMjc5NDkyNDAyNDU2MTgsIFsiYm95LDgsNiwxLDE0LDUsNSwxNCJdID0gMC44NDYyMDQ1NDk3MjAxMTUxNiwgWyJib3ksOCw2LDEsMTQsNSw1LDE1Il0gPSAwLjAzMzgxMjA4MDUyODMyNTUxNywgWyJib3ksOCw2LDEsMTQsNSw1LDE2Il0gPSAwLjA0Njc0NzY5NDMyODUxNTIyMSwgWyJib3ksOCw2LDEsMTQsNSw1LDE5Il0gPSAwLjE0NjgzNzMzOTE4NDQ5NDYsIFsiYm95LDgsNiwxLDE0LDUsNSwyMCJdID0gMC4yMjM4MjU0MDE4ODExNDg3NCwgWyJib3ksOCw2LDEsMTQsNSw1LDIxIl0gPSAwLjI5ODA3NzgyMTk3NTQ4NzgyLCBbImJveSw4LDYsMSwxNCw1LDUsMjIiXSA9IDAuMjA2OTM1ODU0MzgyMzIwMzIsIFsiYm95LDgsNiwxLDE0LDUsNSwyOCJdID0gMC4yOTE1NTgxNzM0NTU4NzA3NiwgWyJib3ksOCw2LDEsMTQsNSw1LDI5Il0gPSAwLjcyOTk1NTkyMTA2MTQ3NDU2LCBbImJveSw4LDYsMSwxNCw1LDUsMzAiXSA9IDAuOTExMTY1MDc4NDA4NzI5MDcsIFsiYm95LDgsNiwxLDE0LDUsNSwzMSJdID0gMC4zMjM4MDY0MDI2OTU1OTM1OCwgWyJib3ksOCw2LDEsMTQsNSw1LDQwIl0gPSAwLjI3NDI1NzExMzk2NDQ4ODQ5LCBbImJveSw4LDYsMSwxNCw1LDUsNDEiXSA9IDAuNTkzMzQxMDI0NjI0MDUyMjUsIFsiYm95LDgsNiwxLDE0LDUsNSw0MiJdID0gMC4yNjI0NDE4OTkzMzYyMDQ5OSwgWyJib3ksOCw2LDEsMTQsNSw1LDQzIl0gPSAwLjM4MzI4OTI2NDQ2MDM1MzE2LCBbImJveSw4LDYsMSwxNCw1LDUsNDQiXSA9IDAuMjc3MDk2NzY2Mzg5NjI1MzMsIFsiYm95LDgsNiwxLDE0LDUsNSw0NSJdID0gMC40NzYwODA5OTYwMTEwNjk0NiwgWyJib3ksOCw2LDEsMTQsNSw1LDQ2Il0gPSAwLjgyMzY5MzQyOTc5NjQ5Njg1LCBbImJveSw4LDYsMSwxNCw1LDUsNDkiXSA9IDAuNzgzODg0NjA0MTU4ODI4NzcsIFsiYm95LDgsNiwxLDE0LDUsNSw1MCJdID0gMC41NjA4MjQzMTU2NzIzMTY1LCBbImJveSw4LDYsMSwxNCw1LDUsNTEiXSA9IDAuOTU5NTU2MTk5MzAwMDYyNTMsIFsiYm95LDgsNiwxLDE0LDUsNSw1MiJdID0gMC4zODQ3ODgyODY0MDQzNzg3OSwgWyJib3ksOCw2LDEsMTQsNSw1LDU1Il0gPSAwLjc3NDE4NTg3NDMyODQ5Njg0LCBbImJveSw4LDYsMSwxNCw1LDUsNTYiXSA9IDAuODI3Mzg2OTMyNjcyNDYwNzcsIFsiYm95LDgsNiwxLDE0LDUsNSw1NyJdID0gMC45NTgzNDk3NDQyNzA5MDk2OSwgWyJib3ksOCw2LDEsMTQsNSw1LDU4Il0gPSAwLjA4MjA4NTA3OTA0NjQyNjcwMSwgWyJib3ksOCw2LDEsMTQsNSw1LDU5Il0gPSAwLjUzNDAwNTkzNDEzNTMzODkyLCBbImJveSw4LDYsMSwxNCw1LDUsNjAiXSA9IDAuNDYwNjk4NDk4ODE2Nzc2ODIsIFsiYm95LDgsNiwxLDE0LDUsNSw2MSJdID0gMC40NjUzNDY2MTEyOTgyMTcxOSwgWyJib3ksOCw2LDEsMTQsNSw1LDcwIl0gPSAwLjQwMjUwMzcwNzI2MzY5Mzg5LCBbImJveSw4LDYsMSwxNCw1LDUsNzEiXSA9IDAuOTM0MTM1MjA4NDM0NDc4OTUsIFsiYm95LDgsNiwxLDE0LDUsNSw3MiJdID0gMC4wNTU5NTE3ODc5NzExMDI0NTEsIFsiYm95LDgsNiwxLDE0LDUsNSw3MyJdID0gMC40MTQ3OTU0MjY3MTgzODM3NiwgWyJib3ksOCw2LDEsMTQsNSw1LDc0Il0gPSAwLjI2MjU1NjgxODg3Mjg2MDg2LCBbImJveSw4LDYsMSwxNCw1LDUsNzUiXSA9IDAuODk3MTY0NzIwMTE0NDg3ODksIFsiYm95LDgsNiwxLDE0LDUsNSw3NiJdID0gMC4yNjMzNjE3Nzg3NjkzNTIwNywgWyJib3ksOCw2LDEsMTQsNSw1LDg1Il0gPSAwLjI3Nzg2MjIyMjY4OTczMTM4LCBbImJveSw4LDYsMSwxNCw1LDUsODYiXSA9IDAuMjg3MjEwODQxODc2NDg5ODIsIFsiYm95LDgsNiwxLDE0LDUsNSw4NyJdID0gMC42NjI0OTEwMzU1MjM3OTQ5NiwgWyJib3ksOCw2LDEsMTQsNSw1LDg4Il0gPSAwLjc5NDkzMjI0MDcxMzEyNjA3LCBbImJveSw4LDYsMSwxNCw1LDUsOTciXSA9IDAuMDE0MTE4NTczNzkxODM0NTY2LCBbImJveSw4LDYsMSwxNCw1LDUsOTgiXSA9IDAuNjkxNzU3NDgzODY4NTM5MTksIFsiYm95LDgsNiwxLDE0LDUsNSw5OSJdID0gMC41MDU1MTkyMDg3NTIyMzMzMywgWyJib3ksOCw2LDEsMTQsNSw1LDEwMCJdID0gMC42OTE3NjcwOTYwOTMxNjcyMiwgWyJib3ksOCw2LDEsMTQsNSw1LDExMiJdID0gMC42MDE5ODQ1MDgyNzgyMjMxNCwgWyJib3ksOCw2LDEsMTQsNSw1LDExMyJdID0gMC4yMzUxNjUzMjcwNzY4NjM4OCwgWyJib3ksOCw2LDEsMTQsNSw1LDExNCJdID0gMC4wMjU1MDU2MTgyMjk5MDc2MDEsIFsiYm95LDgsNiwxLDE0LDUsNSwxMTUiXSA9IDAuMDQ0MTQ4Mzc5NjgwOTc4MDY3LCBbImJveSw4LDgsNSwwLDcsNCw2MiJdID0gMC41NjM4MTYwNzIxNDEwOTM4NiwgWyJib3ksOCw4LDUsMCw3LDQsNjMiXSA9IDAuMjM0MDg5ODY4NjU4MDc4NTcsIFsiYm95LDgsOCw1LDAsNyw0LDc2Il0gPSAwLjcxMDE5MTMzMTE4MTc4MTM1LCBbImJveSw4LDgsNSwwLDcsNCw3NyJdID0gMC4wNDY4NjE4NTE3NzIyMDU0NzYsIFsiYm95LDgsOCw1LDAsNyw0LDc4Il0gPSAwLjA0Nzc4NzM4NTkyOTM1NzYwNiwgWyJib3ksOCw4LDUsMCw3LDQsOTQiXSA9IDAuNjUzNjA2MjYxNDExMzc3NzksIFsiYm95LDgsOCw1LDAsNyw0LDk1Il0gPSAwLjI3ODY5NzM2MDIxMzQyNTI4LCBbImJveSw4LDgsNSwwLDcsNCw5NiJdID0gMC45NDEwNzkzMjg5OTYzNjQ1OSwgWyJib3ksOCw4LDUsMCw3LDQsMTEyIl0gPSAwLjA3ODA0ODUzMDk3ODk2NTgwMiwgWyJib3ksOCw4LDUsMCw3LDQsMTEzIl0gPSAwLjg2OTQ1NTAwNTY5ODg1MjM3LCBbImJveSw4LDgsNSwwLDcsNCwxMTQiXSA9IDAuNTI5NzI0MzIwNzY2OTI1NTUsIFsiYm95LDgsOCw1LDAsNyw0LDExOCJdID0gMC44MTgwMDk5Nzk5MDAyOTQ4OSwgWyJib3ksOCw4LDUsMCw3LDQsMTQ4Il0gPSAwLjg2NzQwNjYwNTYxMDE5NzQ1LCBbImJveSw4LDgsNSwwLDcsNCwxNDkiXSA9IDAuMjYzNTkyOTc5NTk2NjI1NDIsIFsiYm95LDgsOCw1LDAsNyw0LDE1MCJdID0gMC4xNDE4NDAxOTMxMjk2NzYsIFsiYm95LDgsOCw1LDE0LDUsNSw2MiJdID0gMC4yNTIwMTc3NTAwMjA2MTMzMywgWyJib3ksOCw4LDUsMTQsNSw1LDYzIl0gPSAwLjYyNTY2NzkxNjYwNDcxOTY1LCBbImJveSw4LDgsNSwxNCw1LDUsNjQiXSA9IDAuMTMwMDI4ODYxNzAzMTExNzksIFsiYm95LDgsOCw1LDE0LDUsNSw3NiJdID0gMC4xOTI0OTM0OTkxNTY3MDY0NCwgWyJib3ksOCw4LDUsMTQsNSw1LDc3Il0gPSAwLjc4ODg4NzkwMDU2ODMwNzE1LCBbImJveSw4LDgsNSwxNCw1LDUsNzgiXSA9IDAuNzc3MzgyNDYzNzU4Njk4NzksIFsiYm95LDgsOCw1LDE0LDUsNSw3OSJdID0gMC40MTQyNzYzMDY5NDc5Mzk2LCBbImJveSw4LDgsNSwxNCw1LDUsOTQiXSA9IDAuODQ2Nzg1NjQ1NDAxODE2NzgsIFsiYm95LDgsOCw1LDE0LDUsNSw5NSJdID0gMC41MjM5OTI0MjQ2NzI2NjkyNywgWyJib3ksOCw4LDUsMTQsNSw1LDk2Il0gPSAwLjEzMTU0ODQwMDcxNjIzMjQyLCBbImJveSw4LDgsNSwxNCw1LDUsOTciXSA9IDAuMjM2NzE1NzAzNzAxNjExODgsIFsiYm95LDgsOCw1LDE0LDUsNSwxMTIiXSA9IDAuMjc3NjYzMzU5NjAyODI4NjIsIFsiYm95LDgsOCw1LDE0LDUsNSwxMTMiXSA9IDAuMjcyNTc0NjM4NTMzNzkxNDksIFsiYm95LDgsOCw1LDE0LDUsNSwxMTQiXSA9IDAuNjY2MDUxMzc4NjEzMzc3OTMsIFsiYm95LDgsOCw1LDE0LDUsNSwxMTUiXSA9IDAuMTQwMzc2MzY1MzIwMjgxMTksIFsiYm95LDgsOCw1LDE0LDUsNSwxMTgiXSA9IDAuMTYxMzM0NDc0MDE3Nzc4NjcsIFsiYm95LDgsOCw1LDE0LDUsNSwxMTkiXSA9IDAuMDE2NDY5NzYzMDM3MDEwMDg4LCBbImJveSw4LDgsNSwxNCw1LDUsMTQ4Il0gPSAwLjY4NTMxMDEzMjQ1Mjg1NzIxLCBbImJveSw4LDgsNSwxNCw1LDUsMTQ5Il0gPSAwLjEyOTE5NzAwMjU2MzE0OTcsIFsiYm95LDgsOCw1LDE0LDUsNSwxNTAiXSA9IDAuMzI4OTE3MzMxMzI2NTI1MDEsIFsiYm95LDgsOCw1LDE0LDUsNSwxNTEiXSA9IDAuNDczMDc1Nzc2MzAyOTY3MzgsIFsiYm95LDksMiwxLDAsNyw0LDIiXSA9IDAuMzUyMTIwMzE0NzM5NDMzODQsIFsiYm95LDksMiwxLDAsNyw0LDMiXSA9IDAuNzY5MjM4NDIyMjAyNTI0MzYsIFsiYm95LDksMiwxLDAsNyw0LDEwIl0gPSAwLjE3MTY2MjYzNTcwMTc0MywgWyJib3ksOSwyLDEsMCw3LDQsMTEiXSA9IDAuNzI2NzY1MjM5NjU4MjIyMDQsIFsiYm95LDksMiwxLDAsNyw0LDEyIl0gPSAwLjAxNjMyMjEyMzE4NDQwMjYyNiwgWyJib3ksOSwyLDEsMCw3LDQsMTMiXSA9IDAuOTk0MDY1NzcyNzI2NzU0NzgsIFsiYm95LDksMiwxLDAsNyw0LDE0Il0gPSAwLjM3MDE5MTE4NzE5MzYzODUzLCBbImJveSw5LDIsMSwwLDcsNCwxNSJdID0gMC42MjgwMjgyMDkzMzg3NzE2OCwgWyJib3ksOSwyLDEsMCw3LDQsMjAiXSA9IDAuMjg5MjU5MzQyMjM0MTgxODIsIFsiYm95LDksMiwxLDE0LDUsNSwxIl0gPSAwLjExODcyNjA5MDU5MDU4MjQ4LCBbImJveSw5LDIsMSwxNCw1LDUsMiJdID0gMC44MDgyNjk2ODk5NTA1MzMwNSwgWyJib3ksOSwyLDEsMTQsNSw1LDMiXSA9IDAuMDI3MTM1MDc2ODM4OTI2Njg2LCBbImJveSw5LDIsMSwxNCw1LDUsNCJdID0gMC45ODgzNzk5NjMwMjY4MzE3MywgWyJib3ksOSwyLDEsMTQsNSw1LDEwIl0gPSAwLjY3MzYxNzk4Nzg5MzI3Mzc2LCBbImJveSw5LDIsMSwxNCw1LDUsMTEiXSA9IDAuNTA3OTEyNzQ2NzY1OTY5NjUsIFsiYm95LDksMiwxLDE0LDUsNSwxMiJdID0gMC4zMDc3NTEwNDg3MDM3MzQ0OSwgWyJib3ksOSwyLDEsMTQsNSw1LDEzIl0gPSAwLjIwNjM5MDk1MTk5ODc4MDEsIFsiYm95LDksMiwxLDE0LDUsNSwxNCJdID0gMC43MTYzNzY4NDI2MzgxMTgwNywgWyJib3ksOSwyLDEsMTQsNSw1LDE1Il0gPSAwLjk4OTg3OTI1NzA5NzM1NzEzLCBbImJveSw5LDIsMSwxNCw1LDUsMTYiXSA9IDAuMjg5NDk5ODE4MjY3NjExNCwgWyJib3ksOSwyLDEsMTQsNSw1LDIwIl0gPSAwLjMxODA2Mzg3MzUxMTIwMzU4LCBbImJveSw5LDIsMSwxNCw1LDUsMjEiXSA9IDAuMDAzNTAyMTQ4NDU1NzUyOTE4MSwgWyJib3ksOSw0LDEsMTQsNSw1LDEiXSA9IDAuODI1Nzk3MjI3MDY4Mjk1MTcsIFsiYm95LDksNCw1LDAsNyw0LDQiXSA9IDAuMTM3MzQ5ODA0Mzk2MzE0MTcsIFsiYm95LDksNCw1LDAsNyw0LDUiXSA9IDAuNTE3Nzc5MjI0Mzc1NTIzMDQsIFsiYm95LDksNCw1LDAsNyw0LDYiXSA9IDAuNzcwODExMzk2NDk1OTQ2MjEsIFsiYm95LDksNCw1LDAsNyw0LDEwIl0gPSAwLjM2NTIxNTY3MzY2NDI1Nzc4LCBbImJveSw5LDQsNSwwLDcsNCwxMSJdID0gMC4xNDg1MjAzMTMxOTEzMTUzMSwgWyJib3ksOSw0LDUsMCw3LDQsMTIiXSA9IDAuMjk4NzEyNzQ1OTQxNTE5MDksIFsiYm95LDksNCw1LDAsNyw0LDE2Il0gPSAwLjM2MTcxMTkyODgxMDc0NTU0LCBbImJveSw5LDQsNSwwLDcsNCwxNyJdID0gMC4zMjM1NDgzNzQxMDgyNjE0MywgWyJib3ksOSw0LDUsMCw3LDQsMTgiXSA9IDAuNjYxNjA2Nzk5NzM1ODgzODgsIFsiYm95LDksNCw1LDAsNyw0LDI4Il0gPSAwLjY5NTgxNTM2NzQ5NzM1MTczLCBbImJveSw5LDQsNSwwLDcsNCwyOSJdID0gMC40MDMxNjgxMTEwMDQwODk0NSwgWyJib3ksOSw0LDUsMCw3LDQsMzAiXSA9IDAuNDAwNzkzMDI3Mzk5NDUwMjIsIFsiYm95LDksNCw1LDAsNyw0LDM0Il0gPSAwLjg3MjQ3MzY4MTQxODgyMzg3LCBbImJveSw5LDQsNSwwLDcsNCwzNSJdID0gMC4xNDY0NzA3MzAzMzQ1NDM2MSwgWyJib3ksOSw0LDUsMCw3LDQsMzYiXSA9IDAuMzgyMDY2Mzc3MDQ0NjAzMTEsIFsiYm95LDksNCw1LDAsNyw0LDQ1Il0gPSAwLjc2NzkwOTY0Njk2NjU0NzE4LCBbImJveSw5LDQsNSwwLDcsNCw1MiJdID0gMC45NDY5OTQ2MDY3NzQ4OTgyMiwgWyJib3ksOSw0LDUsMCw3LDQsNTMiXSA9IDAuNzc0NzMyMTM2NzE2OTA3NzcsIFsiYm95LDksNCw1LDAsNyw0LDU0Il0gPSAwLjc5ODkyMDU3NzA1ODk3OTU2LCBbImJveSw5LDQsNSwwLDcsNCw2NyJdID0gMC4zMjU0NjMwMDQxMTU3MTUzOCwgWyJib3ksOSw0LDUsMCw3LDQsNjgiXSA9IDAuNDY0OTY3NDczMjE0OTQ3NTgsIFsiYm95LDksNCw1LDAsNyw0LDY5Il0gPSAwLjEwMTk2NjI5MjkxMDQzNjU3LCBbImJveSw5LDQsNSwwLDcsNCw3MCJdID0gMC45MjQ5ODUxNjA1ODk4MjE4MywgWyJib3ksOSw0LDUsMCw3LDQsNzEiXSA9IDAuMTYwODY0NjQxMTcwMDU3NjEsIFsiYm95LDksNCw1LDAsNyw0LDcyIl0gPSAwLjA0MjM3ODA2ODg2MDE4MzM2LCBbImJveSw5LDQsNSwxNCw1LDUsNCJdID0gMC45NTA3MDEzODIxNTMzNjcxOSwgWyJib3ksOSw0LDUsMTQsNSw1LDUiXSA9IDAuMjUyODY0NTgxOTI2NTA2MjksIFsiYm95LDksNCw1LDE0LDUsNSw2Il0gPSAwLjU5ODA0ODg0MTg4NDk5MTQxLCBbImJveSw5LDQsNSwxNCw1LDUsNyJdID0gMC43NTg4NTgxODc0NTY5OTQ2MywgWyJib3ksOSw0LDUsMTQsNSw1LDEwIl0gPSAwLjA3MjA3NTExMTk1NTg0MDcwOSwgWyJib3ksOSw0LDUsMTQsNSw1LDExIl0gPSAwLjg3MDgwMTg2OTc1NjY5NTQ5LCBbImJveSw5LDQsNSwxNCw1LDUsMTIiXSA9IDAuOTYzNDc3NTAzMjM0NTE5NTMsIFsiYm95LDksNCw1LDE0LDUsNSwxMyJdID0gMC40MDczODYzNjA1Njk5NTI4MSwgWyJib3ksOSw0LDUsMTQsNSw1LDE2Il0gPSAwLjIyMTc0Njg3MjkyMjQ1ODA5LCBbImJveSw5LDQsNSwxNCw1LDUsMTciXSA9IDAuNzgyOTgwMDExNTc0MzIxMDcsIFsiYm95LDksNCw1LDE0LDUsNSwxOCJdID0gMC4zNjk1NzM3NzczNzE1MjM5NywgWyJib3ksOSw0LDUsMTQsNSw1LDE5Il0gPSAwLjU2MDE5NjU2NDc1MDgxOTU4LCBbImJveSw5LDQsNSwxNCw1LDUsMjgiXSA9IDAuMjk1MTMwODY3NjIyOTgyNDYsIFsiYm95LDksNCw1LDE0LDUsNSwyOSJdID0gMC4zODA1MzYwMzMyODUzODczMiwgWyJib3ksOSw0LDUsMTQsNSw1LDMwIl0gPSAwLjA1ODY4MTYzNjMxNzM2NDc4MywgWyJib3ksOSw0LDUsMTQsNSw1LDMxIl0gPSAwLjY2OTgwODMxNTg5MDY2NzgsIFsiYm95LDksNCw1LDE0LDUsNSwzNCJdID0gMC42NjUxNjExNjAyODU0NTEyNSwgWyJib3ksOSw0LDUsMTQsNSw1LDM1Il0gPSAwLjQ2NDM2MjcxNTg4MzUyNzUxLCBbImJveSw5LDQsNSwxNCw1LDUsMzYiXSA9IDAuNzAzNTg3MzE3NzU1MzM3NzgsIFsiYm95LDksNCw1LDE0LDUsNSwzNyJdID0gMC44MzExMjY1MDE4NTk5NzczOCwgWyJib3ksOSw0LDUsMTQsNSw1LDQ1Il0gPSAwLjcyMTgxNzc5ODAyNzQyMTYzLCBbImJveSw5LDQsNSwxNCw1LDUsNDYiXSA9IDAuNjUwOTY0MTI3NjU1NzgyMjcsIFsiYm95LDksNCw1LDE0LDUsNSw1MiJdID0gMC43MzQ4NDgzNjQ3NjkzMTIwMywgWyJib3ksOSw0LDUsMTQsNSw1LDUzIl0gPSAwLjU1NTA1MzMyMTU1MDQ4MjI2LCBbImJveSw5LDQsNSwxNCw1LDUsNTQiXSA9IDAuOTIyMTc0MTEyMTg4NTUzMTYsIFsiYm95LDksNCw1LDE0LDUsNSw1NSJdID0gMC45NTk2Nzc0NzU5MTg4MDEzNywgWyJib3ksOSw0LDUsMTQsNSw1LDY3Il0gPSAwLjk4MjE1NjM0NzM1MzYxOTY3LCBbImJveSw5LDQsNSwxNCw1LDUsNjgiXSA9IDAuMjMzNjE1NDY0MTM5NTY1MzUsIFsiYm95LDksNCw1LDE0LDUsNSw2OSJdID0gMC40MjQ1MjAyNjM3NjYxMjQ5NSwgWyJib3ksOSw0LDUsMTQsNSw1LDcwIl0gPSAwLjg1NDA2ODAzNDk1NTIxMDExLCBbImJveSw5LDQsNSwxNCw1LDUsNzEiXSA9IDAuMjI0NzAxNjM5NDMzOTcxNTksIFsiYm95LDksNCw1LDE0LDUsNSw3MiJdID0gMC42NjAxNjY0NzA4MDAzMjMyLCBbImJveSw5LDQsNSwxNCw1LDUsNzMiXSA9IDAuMjEyOTczMTA0OTM5ODM0MjMsIFsiYm95LDksNiwxLDAsNyw0LDQiXSA9IDAuMjI0MjMyMzAxMDg2MzEwOTgsIFsiYm95LDksNiwxLDAsNyw0LDUiXSA9IDAuNDQzNDM4NzY1MzQyMDQyNjMsIFsiYm95LDksNiwxLDAsNyw0LDciXSA9IDAuOTM1MTIxMTgwNzY0ODIzMiwgWyJib3ksOSw2LDEsMCw3LDQsOCJdID0gMC41Njc4NDgwNzE2MjgzNTA0OSwgWyJib3ksOSw2LDEsMCw3LDQsOSJdID0gMC4wNTY3NzUyMTY0Mzc4MTkyNDMsIFsiYm95LDksNiwxLDAsNyw0LDE2Il0gPSAwLjkxOTQwNjQ1MTQ4MDgyMTc4LCBbImJveSw5LDYsMSwwLDcsNCwxNyJdID0gMC40OTAwOTA1MDQ5MTEwMDQ5MiwgWyJib3ksOSw2LDEsMCw3LDQsMTgiXSA9IDAuMDA5NTgzNDgxNjI3MDM1MDM5OCwgWyJib3ksOSw2LDEsMCw3LDQsMjIiXSA9IDAuODc1Nzc5ODkxNDgzMDI1MjYsIFsiYm95LDksNiwxLDAsNyw0LDIzIl0gPSAwLjE4NDA2NDYxNjI4MDcyMjAyLCBbImJveSw5LDYsMSwwLDcsNCwyNCJdID0gMC4yNzgwNjQ5Mzc3NjM2MTg2MiwgWyJib3ksOSw2LDEsMCw3LDQsMzEiXSA9IDAuMzM0NTE3ODQzNDI4NTI0NzUsIFsiYm95LDksNiwxLDAsNyw0LDMyIl0gPSAwLjMzMzg0MjY1MjkwMDI1MzE3LCBbImJveSw5LDYsMSwwLDcsNCwzMyJdID0gMC4zMDkyMTQwODQ4MTY1MDc2OSwgWyJib3ksOSw2LDEsMCw3LDQsNDMiXSA9IDAuMTA4NDAxMTA2Mjk3Nzk5NDIsIFsiYm95LDksNiwxLDAsNyw0LDQ0Il0gPSAwLjY1NTc5OTQ2NzMzOTgwODQzLCBbImJveSw5LDYsMSwwLDcsNCw0NSJdID0gMC43NzIzNDQwOTUzNTE3MTMxMSwgWyJib3ksOSw2LDEsMCw3LDQsNDYiXSA9IDAuNDk5MTY4ODc2NTExNjg3MjksIFsiYm95LDksNiwxLDAsNyw0LDUyIl0gPSAwLjczMDk5NjA2NzQ5MDY4OTY4LCBbImJveSw5LDYsMSwwLDcsNCw1MyJdID0gMC4xMDUyMTU5OTc5MjgxNDcwNiwgWyJib3ksOSw2LDEsMCw3LDQsNTQiXSA9IDAuMTA5NDExMzMxNTU0NjgxNjMsIFsiYm95LDksNiwxLDAsNyw0LDU4Il0gPSAwLjk3OTU4NDk3NjkxNDY4MTYsIFsiYm95LDksNiwxLDAsNyw0LDU5Il0gPSAwLjQ3NDgyNzM3Nzc0NDI2NzUzLCBbImJveSw5LDYsMSwwLDcsNCw2MCJdID0gMC44MDQyNTk2MTQ2MzAxODAzNiwgWyJib3ksOSw2LDEsMCw3LDQsNjEiXSA9IDAuNzA1MDEwMTEzNDU3MTQzODIsIFsiYm95LDksNiwxLDAsNyw0LDYyIl0gPSAwLjg5MzcyOTMxOTY5NzI4NTc1LCBbImJveSw5LDYsMSwwLDcsNCw2MyJdID0gMC4xNjAzNTA1Mjk1OTU0NTAxNSwgWyJib3ksOSw2LDEsMCw3LDQsNzMiXSA9IDAuNzgyNzQ4NjYyNzI0OTg1MzMsIFsiYm95LDksNiwxLDAsNyw0LDc0Il0gPSAwLjk1ODEyNDg0ODAwMjMwNTkxLCBbImJveSw5LDYsMSwwLDcsNCw3NSJdID0gMC44MDkxMjMwNjgzNTQ3NjIzMywgWyJib3ksOSw2LDEsMCw3LDQsNzYiXSA9IDAuNjY3NjIwNjcwNTg1MzI1MzcsIFsiYm95LDksNiwxLDAsNyw0LDc3Il0gPSAwLjA4MDA3MjMyMjE1OTAxNTE2MywgWyJib3ksOSw2LDEsMCw3LDQsNzgiXSA9IDAuNzIxMTg0ODQzODk3Nzk5NDcsIFsiYm95LDksNiwxLDAsNyw0LDg4Il0gPSAwLjcyNDMyMzIwNjU4MTgzMTI1LCBbImJveSw5LDYsMSwwLDcsNCw4OSJdID0gMC42MzA5MTIwNDgxNzc2OTA4NywgWyJib3ksOSw2LDEsMCw3LDQsOTAiXSA9IDAuMTI4MDQzMzIyNzU0ODU3NjQsIFsiYm95LDksNiwxLDAsNyw0LDEwMCJdID0gMC45NTQwOTA1MzEzODM3NDE3OCwgWyJib3ksOSw2LDEsMCw3LDQsMTAxIl0gPSAwLjM1NTM1NDI5Mzg3MzU5OTg1LCBbImJveSw5LDYsMSwwLDcsNCwxMDIiXSA9IDAuNDEwMTk0NzY3NTQ3MjEzMjksIFsiYm95LDksNiwxLDAsNyw0LDExNSJdID0gMC41OTE4MDY3MTI4MzUyMjQ2OCwgWyJib3ksOSw2LDEsMCw3LDQsMTE2Il0gPSAwLjQzNzEyNDAxODYyODM3NTgsIFsiYm95LDksNiwxLDAsNyw0LDExNyJdID0gMC4xMTY5NjY0ODM5NDMxOTc0MiwgWyJib3ksOSw2LDEsMTQsNSw1LDQiXSA9IDAuNTg4ODI0MzU3NDU3NjczOTIsIFsiYm95LDksNiwxLDE0LDUsNSw1Il0gPSAwLjc5NjEwMjc0OTc1MjAzNTg4LCBbImJveSw5LDYsMSwxNCw1LDUsNiJdID0gMC4wMTQ2ODA4NTQ2NjUzNTY5NTcsIFsiYm95LDksNiwxLDE0LDUsNSw3Il0gPSAwLjE3NDg0NzIxNjIzNTUyMDEzLCBbImJveSw5LDYsMSwxNCw1LDUsOCJdID0gMC43MDczNDc3MjU4NzY0ODU3NiwgWyJib3ksOSw2LDEsMTQsNSw1LDkiXSA9IDAuMzk4OTc1MDA3OTE3NTAzODQsIFsiYm95LDksNiwxLDE0LDUsNSwxMCJdID0gMC41Mjg4MjU3MTg5MDA5MDAwMiwgWyJib3ksOSw2LDEsMTQsNSw1LDE2Il0gPSAwLjUxMTcwNTk1MTYwNTE1Njc1LCBbImJveSw5LDYsMSwxNCw1LDUsMTciXSA9IDAuMTIzMTM1ODA3NzgzMzg4ODQsIFsiYm95LDksNiwxLDE0LDUsNSwxOCJdID0gMC43MTM4NzgwNzA3NTI4MjE2MSwgWyJib3ksOSw2LDEsMTQsNSw1LDE5Il0gPSAwLjE2NTY1OTkzMDA3MjI2OTY1LCBbImJveSw5LDYsMSwxNCw1LDUsMjIiXSA9IDAuMTM2MjM2NzUyNzE1MjYwMTUsIFsiYm95LDksNiwxLDE0LDUsNSwyMyJdID0gMC41MDM0MTA2NTczNTEyMjA5MiwgWyJib3ksOSw2LDEsMTQsNSw1LDI0Il0gPSAwLjY5MzI3ODY2NDg4Mzc5Mjk3LCBbImJveSw5LDYsMSwxNCw1LDUsMjUiXSA9IDAuNDgyOTE4NzAwOTM3NDA1NjMsIFsiYm95LDksNiwxLDE0LDUsNSwzMSJdID0gMC44MzY0MDg2MjQ4NTU2OTk2NywgWyJib3ksOSw2LDEsMTQsNSw1LDMyIl0gPSAwLjcxNTI4Mjk1NjE2NTY4NTA1LCBbImJveSw5LDYsMSwxNCw1LDUsMzMiXSA9IDAuODQ0NTI2MzQ2MjgzMTE0NTIsIFsiYm95LDksNiwxLDE0LDUsNSwzNCJdID0gMC4zMjY0NTQ0NzUyMzg0MjczLCBbImJveSw5LDYsMSwxNCw1LDUsNDMiXSA9IDAuMzcyNjE5NDc2NjM3Njc1MTQsIFsiYm95LDksNiwxLDE0LDUsNSw0NCJdID0gMC4xNTU4NTk2ODA2MjkyNDQ5MywgWyJib3ksOSw2LDEsMTQsNSw1LDQ1Il0gPSAwLjM0NTYzMTc3MDA5OTY3NDcyLCBbImJveSw5LDYsMSwxNCw1LDUsNDYiXSA9IDAuNjg4MzU4Nzg2NTI5MDM2NTksIFsiYm95LDksNiwxLDE0LDUsNSw0NyJdID0gMC4wNjY0ODg3MjczMjI0Nzk5MDEsIFsiYm95LDksNiwxLDE0LDUsNSw1MiJdID0gMC42MzgxNzk5NjYzNDI3NDk2NSwgWyJib3ksOSw2LDEsMTQsNSw1LDUzIl0gPSAwLjUzMTcxNzc3OTA1OTI4MjE5LCBbImJveSw5LDYsMSwxNCw1LDUsNTQiXSA9IDAuODgzMjQ1OTEyMTkwMzA2NjgsIFsiYm95LDksNiwxLDE0LDUsNSw1NSJdID0gMC4zNTQwNjA4OTU2Mjc2MjQ3NywgWyJib3ksOSw2LDEsMTQsNSw1LDU4Il0gPSAwLjUzODQwMzgxNTU0NTA1ODc4LCBbImJveSw5LDYsMSwxNCw1LDUsNTkiXSA9IDAuMjc5MDgwMTI5NDMxMzU2MjksIFsiYm95LDksNiwxLDE0LDUsNSw2MCJdID0gMC43MDQzNzY3MzU2MDczOTY0NCwgWyJib3ksOSw2LDEsMTQsNSw1LDYxIl0gPSAwLjM1NDk4Nzc5NTQyNTA0NjY2LCBbImJveSw5LDYsMSwxNCw1LDUsNjIiXSA9IDAuNzkwMjI3NjkwOTUxMzQ0MTUsIFsiYm95LDksNiwxLDE0LDUsNSw2MyJdID0gMC40ODg2OTA5MzYwNTk5NTI5NSwgWyJib3ksOSw2LDEsMTQsNSw1LDY0Il0gPSAwLjgxNDk1MTU1NDkyODk4MzYzLCBbImJveSw5LDYsMSwxNCw1LDUsNzMiXSA9IDAuMDI1NDQxMzMxMzcyOTkzMzE0LCBbImJveSw5LDYsMSwxNCw1LDUsNzQiXSA9IDAuNTI1NjgzMDczODEwOTI1NDksIFsiYm95LDksNiwxLDE0LDUsNSw3NSJdID0gMC4yMzg4Nzk1NzU3MTE3NTcyMiwgWyJib3ksOSw2LDEsMTQsNSw1LDc2Il0gPSAwLjQzMTI0OTM4NDE4NzI3NzU0LCBbImJveSw5LDYsMSwxNCw1LDUsNzciXSA9IDAuMjI1OTM1NzAwMDM0MTM0NDMsIFsiYm95LDksNiwxLDE0LDUsNSw3OCJdID0gMC4zNTEwNDYyODEzNzk4ODUxNCwgWyJib3ksOSw2LDEsMTQsNSw1LDc5Il0gPSAwLjUyODgxMTA1OTIwODA2NTcsIFsiYm95LDksNiwxLDE0LDUsNSw4OCJdID0gMC4zOTAxMjM5NzYzODI1MTQ4NCwgWyJib3ksOSw2LDEsMTQsNSw1LDg5Il0gPSAwLjk5MTk3NDcwNjEyNDExNTk4LCBbImJveSw5LDYsMSwxNCw1LDUsOTAiXSA9IDAuNjg5NDQ4NzYzMjUzOTAwODEsIFsiYm95LDksNiwxLDE0LDUsNSw5MSJdID0gMC42NTAyODUwMDU4NjcxNzk4NSwgWyJib3ksOSw2LDEsMTQsNSw1LDEwMCJdID0gMC4yMzQ3OTQ2NjA2Mjg1MTE4NCwgWyJib3ksOSw2LDEsMTQsNSw1LDEwMSJdID0gMC42MjA2ODA0ODA4NTk5NjI0MSwgWyJib3ksOSw2LDEsMTQsNSw1LDEwMiJdID0gMC45MzM2MjcxNzM3MDc0MzA4NywgWyJib3ksOSw2LDEsMTQsNSw1LDEwMyJdID0gMC40MDM1Njc4NTAwMjQwNTMzOCwgWyJib3ksOSw2LDEsMTQsNSw1LDExNSJdID0gMC4yNjU0NDI3OTI2OTg0NTM1LCBbImJveSw5LDYsMSwxNCw1LDUsMTE2Il0gPSAwLjQzNTg0MzU4MjQ2NTA5MTQ3LCBbImJveSw5LDYsMSwxNCw1LDUsMTE3Il0gPSAwLjI1MzEyNjg0ODE0Nzk3OTU5LCBbImJveSw5LDYsMSwxNCw1LDUsMTE4Il0gPSAwLjQ2NDE0MTgxNjA5NDk2NjQxLCBbImJveSw5LDgsNSwwLDcsNCw2MSJdID0gMC42ODc1NTA4NjA0ODkxMjYwNiwgWyJib3ksOSw4LDUsMCw3LDQsNzMiXSA9IDAuNzk4NzM2MTM0NzY5NDU3NzEsIFsiYm95LDksOCw1LDAsNyw0LDc0Il0gPSAwLjk3ODA5OTQzNTA2MzEwMDA0LCBbImJveSw5LDgsNSwwLDcsNCw3NSJdID0gMC45MDc1MDMxMzY0MTc1MDk5LCBbImJveSw5LDgsNSwwLDcsNCw5MSJdID0gMC42OTEzMjQwNTc1OTM2MjMyNSwgWyJib3ksOSw4LDUsMCw3LDQsOTIiXSA9IDAuNjI4MzQ1NzE5NzAzMzAwMjIsIFsiYm95LDksOCw1LDAsNyw0LDkzIl0gPSAwLjA4MDAwNDU4NDgxMjgwMTcwNSwgWyJib3ksOSw4LDUsMCw3LDQsMTA5Il0gPSAwLjk5MTIwNzU3MzA3MDcwMzA2LCBbImJveSw5LDgsNSwwLDcsNCwxMTAiXSA9IDAuNTI4NDk1ODcxNDQ3Njc3MjksIFsiYm95LDksOCw1LDAsNyw0LDExMSJdID0gMC4wNjgwNDMyNzQ1MTg1MzUwOTEsIFsiYm95LDksOCw1LDAsNyw0LDExNSJdID0gMC43Njk3NTY5MDE4NjIzOTA2NSwgWyJib3ksOSw4LDUsMCw3LDQsMTE2Il0gPSAwLjYyOTcwMDcyNjA4OTk1OTg2LCBbImJveSw5LDgsNSwwLDcsNCwxMTciXSA9IDAuNjI2Njc0NTQ0OTIyNzc3MDgsIFsiYm95LDksOCw1LDAsNyw0LDE0NiJdID0gMC4wMzQyNzc3MjI0ODk4NzQ5MjksIFsiYm95LDksOCw1LDAsNyw0LDE0NyJdID0gMC45MjM3MDI0OTgzNDY5NzQ4MiwgWyJib3ksOSw4LDUsMTQsNSw1LDYxIl0gPSAwLjc2Mzk2MDIzMTA4MzI2NjI3LCBbImJveSw5LDgsNSwxNCw1LDUsNjIiXSA9IDAuMDA4MzA4NjQ5NjQxMzAyNzM0NCwgWyJib3ksOSw4LDUsMTQsNSw1LDczIl0gPSAwLjkxNjgyMzQ1OTA3OTczMjM5LCBbImJveSw5LDgsNSwxNCw1LDUsNzQiXSA9IDAuMDIzNjc1MDM2ODE3Mzk0NTc5LCBbImJveSw5LDgsNSwxNCw1LDUsNzUiXSA9IDAuNjM5ODg0ODgxNzM1NzgzNCwgWyJib3ksOSw4LDUsMTQsNSw1LDc2Il0gPSAwLjE4MDQ3MTYwMjA3NjQ3MjA2LCBbImJveSw5LDgsNSwxNCw1LDUsOTEiXSA9IDAuMjk4OTMwMTA3OTYzODQxNTYsIFsiYm95LDksOCw1LDE0LDUsNSw5MiJdID0gMC40NjQ5NDEzNDc3MTMzODQ4LCBbImJveSw5LDgsNSwxNCw1LDUsOTMiXSA9IDAuMDIwOTgwMjU2NDIzMzM3MDA3LCBbImJveSw5LDgsNSwxNCw1LDUsOTQiXSA9IDAuNTMzMTgxMDk5NTgzMzIxOTQsIFsiYm95LDksOCw1LDE0LDUsNSwxMDkiXSA9IDAuMzU2MzU0MzczODUyOTg2MTgsIFsiYm95LDksOCw1LDE0LDUsNSwxMTAiXSA9IDAuOTA3MDQ3OTc4NjIwNzM5OTQsIFsiYm95LDksOCw1LDE0LDUsNSwxMTEiXSA9IDAuOTM3NzA1Mjg1MzIzNzM3OTgsIFsiYm95LDksOCw1LDE0LDUsNSwxMTIiXSA9IDAuNjEzNDU5NzMyMTY4NDUyNzMsIFsiYm95LDksOCw1LDE0LDUsNSwxMTUiXSA9IDAuMTI2MTM5MTU4Nzg1Njk1OTMsIFsiYm95LDksOCw1LDE0LDUsNSwxMTYiXSA9IDAuMzAxOTA0OTAxNjcwMzk4NTIsIFsiYm95LDksOCw1LDE0LDUsNSwxMTciXSA9IDAuNDcyMTkyOTE3OTcwNDUxMTUsIFsiYm95LDksOCw1LDE0LDUsNSwxMTgiXSA9IDAuMzExMjM4NzQ0MjY3NTYyODIsIFsiYm95LDksOCw1LDE0LDUsNSwxNDYiXSA9IDAuODUwMDAwMDA4ODk3NTc2MzIsIFsiYm95LDksOCw1LDE0LDUsNSwxNDciXSA9IDAuNjk4ODYyNzczNjU2MDkxMDYsIFsiYm95LDksOCw1LDE0LDUsNSwxNDgiXSA9IDAuMDI3NzMzNDQ5NzExMjAwOTUzLCBbImJveSwxMCwyLDEsMCw3LDQsMSJdID0gMC41MDA1OTcwMTk0NjgzMzM1NywgWyJib3ksMTAsMiwxLDAsNyw0LDIiXSA9IDAuNTM0MTI3MzM4ODY5NzY5MzcsIFsiYm95LDEwLDIsMSwwLDcsNCwzIl0gPSAwLjg2OTEzNzI1MDg4ODYxMzA0LCBbImJveSwxMCwyLDEsMCw3LDQsNCJdID0gMC44NDEzODEwNTEwNzQwNzQyNCwgWyJib3ksMTAsMiwxLDAsNyw0LDUiXSA9IDAuOTgzMDI3OTUwNzI3NTU0NTYsIFsiYm95LDEwLDIsMSwwLDcsNCw2Il0gPSAwLjY2OTM5MjU0MTcxMDE3MzE1LCBbImJveSwxMCwyLDEsMCw3LDQsMTMiXSA9IDAuMTgzMzgyNjEwNzAyMzQ0NDEsIFsiYm95LDEwLDIsMSwwLDcsNCwxNCJdID0gMC43OTc1MjIxMTM1NDk5ODQ1OSwgWyJib3ksMTAsMiwxLDAsNyw0LDE1Il0gPSAwLjMxNjIzNzI5NzUwMjc3Nzg1LCBbImJveSwxMCwyLDEsMCw3LDQsMTYiXSA9IDAuODM5MjU3NTkxOTkxOTExNDEsIFsiYm95LDEwLDIsMSwwLDcsNCwxNyJdID0gMC42NjE0NDM0NzU5OTU0MjM1MiwgWyJib3ksMTAsMiwxLDAsNyw0LDE4Il0gPSAwLjQzNjA1OTcwMDYwMTUyMzY2LCBbImJveSwxMCwyLDEsMCw3LDQsMjEiXSA9IDAuOTQ1MzUyODgwNDQxNDc3OTIsIFsiYm95LDEwLDIsMSwxNCw1LDUsMSJdID0gMC44OTE3MjAyNTkzNjEwNzk1NywgWyJib3ksMTAsMiwxLDE0LDUsNSwyIl0gPSAwLjI2Mzc5MzIzMDg2MzI1Mzc5LCBbImJveSwxMCwyLDEsMTQsNSw1LDMiXSA9IDAuNzczMjU5MTQ5NTc4MTc3OTgsIFsiYm95LDEwLDIsMSwxNCw1LDUsNCJdID0gMC45NzYzODEzNTcxODQxOTkyNywgWyJib3ksMTAsMiwxLDE0LDUsNSw1Il0gPSAwLjY1Mzg4NjE3MDgzOTM5OTQ4LCBbImJveSwxMCwyLDEsMTQsNSw1LDYiXSA9IDAuNTE3OTQyNTk3OTE2MjM3NTMsIFsiYm95LDEwLDIsMSwxNCw1LDUsNyJdID0gMC4yNTA2MTA3OTUyMjYwODc2NSwgWyJib3ksMTAsMiwxLDE0LDUsNSwxMyJdID0gMC45NDQyMjMzNjY2MTQwNDgwNCwgWyJib3ksMTAsMiwxLDE0LDUsNSwxNCJdID0gMC41Mzc0NTA1MDAyNzU0MzE5NSwgWyJib3ksMTAsMiwxLDE0LDUsNSwxNSJdID0gMC4xNjU5ODA5ODUxODc1NDEzNCwgWyJib3ksMTAsMiwxLDE0LDUsNSwxNiJdID0gMC4zMjM2MDk0MTcwNDY0ODI3MiwgWyJib3ksMTAsMiwxLDE0LDUsNSwxNyJdID0gMC4zNTc0NjgzNTA3MTgxMjIsIFsiYm95LDEwLDIsMSwxNCw1LDUsMTgiXSA9IDAuNjAzNzM1NzgzMzQ2Nzg4OSwgWyJib3ksMTAsMiwxLDE0LDUsNSwxOSJdID0gMC4yMjkzODM4NTc5OTczNzM5MywgWyJib3ksMTAsMiwxLDE0LDUsNSwyMSJdID0gMC41MDAxOTM4OTUwNDQ0ODEwOCwgWyJib3ksMTAsMiwxLDE0LDUsNSwyMiJdID0gMC41MDA5NDEwNDM2NzYyOTM3NywgWyJib3ksMTAsNCw1LDAsNyw0LDEiXSA9IDAuNTY2NzYyMTc2NTU0NDQzMjgsIFsiYm95LDEwLDQsNSwwLDcsNCwyIl0gPSAwLjc5MTk2MzQyMzQxMjYwMDA2LCBbImJveSwxMCw0LDUsMCw3LDQsMyJdID0gMC4xOTQzNDM0Mjc5OTgxODgzOCwgWyJib3ksMTAsNCw1LDAsNyw0LDciXSA9IDAuOTM5ODk0NTMyODQ4MTY1NiwgWyJib3ksMTAsNCw1LDAsNyw0LDgiXSA9IDAuNTQyODc5MjIzMDg2NDk2MjgsIFsiYm95LDEwLDQsNSwwLDcsNCw5Il0gPSAwLjIwNjMyOTQ3MzYwNTg4NzYsIFsiYm95LDEwLDQsNSwwLDcsNCwxMyJdID0gMC41Mjc3OTE2NzQ5NTc1NjE1MiwgWyJib3ksMTAsNCw1LDAsNyw0LDE0Il0gPSAwLjQ1MzEyNTc5MTc1MDY0MjgzLCBbImJveSwxMCw0LDUsMCw3LDQsMTUiXSA9IDAuMTk5NzU3NjE2NzQyMzM2OTQsIFsiYm95LDEwLDQsNSwwLDcsNCwxNiJdID0gMC4zNjIyNjc3Nzk5MTY5MzQ3MSwgWyJib3ksMTAsNCw1LDAsNyw0LDI1Il0gPSAwLjQ0MzM3MTk3NjY4OTQ0Nzk0LCBbImJveSwxMCw0LDUsMCw3LDQsMjYiXSA9IDAuMjcyNjk5ODE2NjQyNzA3MjYsIFsiYm95LDEwLDQsNSwwLDcsNCwyNyJdID0gMC42ODAyOTkyMDk1NzIxMzI1MiwgWyJib3ksMTAsNCw1LDAsNyw0LDMxIl0gPSAwLjg1NzIzMzg1MTIyMzc4ODcsIFsiYm95LDEwLDQsNSwwLDcsNCwzMiJdID0gMC40MDY4NDQ2MDg0NzEwMjMzMywgWyJib3ksMTAsNCw1LDAsNyw0LDMzIl0gPSAwLjgyOTUyODM4MTg4MTIxNzE0LCBbImJveSwxMCw0LDUsMCw3LDQsNDMiXSA9IDAuNjUwMDk3MDQ0MzQwNzIxNDYsIFsiYm95LDEwLDQsNSwwLDcsNCw0NCJdID0gMC4yNjA2NzYxMzAyODM2MjcxMywgWyJib3ksMTAsNCw1LDAsNyw0LDQ5Il0gPSAwLjU2ODczODQ3MjEyMzY2MzkxLCBbImJveSwxMCw0LDUsMCw3LDQsNTAiXSA9IDAuNTMzNzEwNTU5OTM0MDA2NCwgWyJib3ksMTAsNCw1LDAsNyw0LDUxIl0gPSAwLjQ0MTYyNDQ5OTAxNjYwOTE2LCBbImJveSwxMCw0LDUsMCw3LDQsNjQiXSA9IDAuNjY2NDcyNTQ1NDQ1OTM2ODEsIFsiYm95LDEwLDQsNSwwLDcsNCw2NSJdID0gMC4wMTUyNzY4MDAzMDQwNzUwNzgsIFsiYm95LDEwLDQsNSwwLDcsNCw2NiJdID0gMC45NjQ0MDQ1MTM2NzA3NTg2MywgWyJib3ksMTAsNCw1LDAsNyw0LDY3Il0gPSAwLjU1ODM1MDExMzMwMTY2OTA2LCBbImJveSwxMCw0LDUsMCw3LDQsNjgiXSA9IDAuMzI1MTQxMzczMDc4NjI0NzgsIFsiYm95LDEwLDQsNSwwLDcsNCw2OSJdID0gMC44NzM3NTQ5MjAzMDgyMjk5OSwgWyJib3ksMTAsNCw1LDE0LDUsNSwxIl0gPSAwLjM2OTE2MDE0NDAyMTIzNTk4LCBbImJveSwxMCw0LDUsMTQsNSw1LDIiXSA9IDAuODY5Nzk4OTY1NzcxNjY2NDksIFsiYm95LDEwLDQsNSwxNCw1LDUsMyJdID0gMC45MTIzMjcxNjIwOTUzNTQ1OCwgWyJib3ksMTAsNCw1LDE0LDUsNSw0Il0gPSAwLjMwNDE0NDUxNzAyNDAxMjI0LCBbImJveSwxMCw0LDUsMTQsNSw1LDciXSA9IDAuNjE4MjkzMjUzMjA0Mzk5ODcsIFsiYm95LDEwLDQsNSwxNCw1LDUsOCJdID0gMC44NDU2NDM4NDg3NDkzNTg1LCBbImJveSwxMCw0LDUsMTQsNSw1LDkiXSA9IDAuMTMyNzUxNzAxMDA0NDc2MDksIFsiYm95LDEwLDQsNSwxNCw1LDUsMTAiXSA9IDAuOTEwMTI3OTE0Mzg0MDk3MjQsIFsiYm95LDEwLDQsNSwxNCw1LDUsMTMiXSA9IDAuMzI0MzMyODMwODQ1NTgxNzMsIFsiYm95LDEwLDQsNSwxNCw1LDUsMTQiXSA9IDAuNDM2NDA5ODEyNzQxMjg4MzIsIFsiYm95LDEwLDQsNSwxNCw1LDUsMTUiXSA9IDAuNzQ3NzMxNzg1NDIzNzU1MjksIFsiYm95LDEwLDQsNSwxNCw1LDUsMTYiXSA9IDAuNDEzMDM5NTU4NzU4MjkzMTIsIFsiYm95LDEwLDQsNSwxNCw1LDUsMTciXSA9IDAuMDE2NjE4MjA4MjAzNDc5NTksIFsiYm95LDEwLDQsNSwxNCw1LDUsMjUiXSA9IDAuODczMjU4MDAwMzUyNTQzODYsIFsiYm95LDEwLDQsNSwxNCw1LDUsMjYiXSA9IDAuMjIzNjgwODg1NzI1NTUxNDUsIFsiYm95LDEwLDQsNSwxNCw1LDUsMjciXSA9IDAuNDI5MjM4NzA0NDMwNDQ2MjEsIFsiYm95LDEwLDQsNSwxNCw1LDUsMjgiXSA9IDAuMjQxNjU1ODgyOTM3NzA0NjgsIFsiYm95LDEwLDQsNSwxNCw1LDUsMzEiXSA9IDAuNzk4ODU4MjQ0NjM1NDcyMzksIFsiYm95LDEwLDQsNSwxNCw1LDUsMzIiXSA9IDAuNTE0MDc0NzY1NTkwNjM0NTksIFsiYm95LDEwLDQsNSwxNCw1LDUsMzMiXSA9IDAuNDkyMjUxMDA5Njk0MTcwMTMsIFsiYm95LDEwLDQsNSwxNCw1LDUsMzQiXSA9IDAuMDQwNDExOTcyMzMwNzM3MjM0LCBbImJveSwxMCw0LDUsMTQsNSw1LDQzIl0gPSAwLjAyODY5NzE2MTczNjgwNDU4OCwgWyJib3ksMTAsNCw1LDE0LDUsNSw0NCJdID0gMC4xNTQzNjA1NTYwNzM2MzQzLCBbImJveSwxMCw0LDUsMTQsNSw1LDQ1Il0gPSAwLjAwMjI0MDE3NzA5NDA5MjUyMTQsIFsiYm95LDEwLDQsNSwxNCw1LDUsNDkiXSA9IDAuMDkzODAyOTgzMTk1NjcyMzc0LCBbImJveSwxMCw0LDUsMTQsNSw1LDUwIl0gPSAwLjk2NTk2NjYyNDg0OTkxMjU4LCBbImJveSwxMCw0LDUsMTQsNSw1LDUxIl0gPSAwLjI4MjYyNTQwMTQxODg2ODQ5LCBbImJveSwxMCw0LDUsMTQsNSw1LDUyIl0gPSAwLjI3MTgwNDI3ODQyNTE3NTk2LCBbImJveSwxMCw0LDUsMTQsNSw1LDY0Il0gPSAwLjkxOTk2MjcyMDMwMjU4ODQxLCBbImJveSwxMCw0LDUsMTQsNSw1LDY1Il0gPSAwLjQ5NjQwMzI3MjU1NzUxMTgyLCBbImJveSwxMCw0LDUsMTQsNSw1LDY2Il0gPSAwLjQzMTY5NzU2MDIyNDk1OTMxLCBbImJveSwxMCw0LDUsMTQsNSw1LDY3Il0gPSAwLjAzNjQ1MTY3MTIyODQ1NjE2MiwgWyJib3ksMTAsNCw1LDE0LDUsNSw2OCJdID0gMC4zODM4Nzc0Njk5NzcxMDI1OSwgWyJib3ksMTAsNCw1LDE0LDUsNSw2OSJdID0gMC40NzM4MzAzMDQyODc0NzI5NywgWyJib3ksMTAsNCw1LDE0LDUsNSw3MCJdID0gMC42MDQ2Njg4ODUwNjI5OTU3NiwgWyJib3ksMTAsNiwxLDAsNyw0LDYiXSA9IDAuMjEyNDQ2NjQwMzAwMjkzMTQsIFsiYm95LDEwLDYsMSwwLDcsNCwxMCJdID0gMC42OTAxMDc3NTY4MjM2MzQyMywgWyJib3ksMTAsNiwxLDAsNyw0LDExIl0gPSAwLjc2NjM3MDU5MTUxMDI5Njc0LCBbImJveSwxMCw2LDEsMCw3LDQsMTIiXSA9IDAuNjkwMDkyMjE4MzUxODg3MzksIFsiYm95LDEwLDYsMSwwLDcsNCwxOSJdID0gMC41MTc5MjM3MzgyNDkzNDE1NywgWyJib3ksMTAsNiwxLDAsNyw0LDIwIl0gPSAwLjQ1MTQ5MTM0OTI5MDk1NTgsIFsiYm95LDEwLDYsMSwwLDcsNCwyMSJdID0gMC4zMTk4NTk3ODE4NjY4MDI3NSwgWyJib3ksMTAsNiwxLDAsNyw0LDI1Il0gPSAwLjY1MTA0MzI4NjA4NDIxNzY5LCBbImJveSwxMCw2LDEsMCw3LDQsMjYiXSA9IDAuMjU5NDM2MzkyMjQyNzEwMDksIFsiYm95LDEwLDYsMSwwLDcsNCwyNyJdID0gMC41MjA5NjkwMjU0MTEwODIzNiwgWyJib3ksMTAsNiwxLDAsNyw0LDM0Il0gPSAwLjk0OTU3OTE2NzkwMzQ1NDY1LCBbImJveSwxMCw2LDEsMCw3LDQsMzUiXSA9IDAuNjYxODE1MDY2MTY4MjY1OCwgWyJib3ksMTAsNiwxLDAsNyw0LDM2Il0gPSAwLjQ2MzcyNDk1MDg1OTY1MTI2LCBbImJveSwxMCw2LDEsMCw3LDQsNDYiXSA9IDAuNzIxNjE5OTE3OTc5OTA1NjYsIFsiYm95LDEwLDYsMSwwLDcsNCw0NyJdID0gMC4xNDk3Nzk0MDA5NTQzNTIyNywgWyJib3ksMTAsNiwxLDAsNyw0LDQ4Il0gPSAwLjU5MjEyMzYwMTQyNTI4NDY0LCBbImJveSwxMCw2LDEsMCw3LDQsNTUiXSA9IDAuNTcxNDIzMjM3NzAwNzM5NzcsIFsiYm95LDEwLDYsMSwwLDcsNCw1NiJdID0gMC40NDkyMDI1MzI3MDI2NDU4NywgWyJib3ksMTAsNiwxLDAsNyw0LDU3Il0gPSAwLjM5MTEzNDAzNDA3MzU0MzQxLCBbImJveSwxMCw2LDEsMCw3LDQsNjEiXSA9IDAuMDg5ODIyMjk4MDExNjMxNDQxLCBbImJveSwxMCw2LDEsMCw3LDQsNjIiXSA9IDAuOTU1ODkxMjAzNTkxMzcyNywgWyJib3ksMTAsNiwxLDAsNyw0LDYzIl0gPSAwLjk1Mzg4NTQyMDczNDc5NTk5LCBbImJveSwxMCw2LDEsMCw3LDQsNjQiXSA9IDAuMjA3MDAzMTQyNzk0MjcyOSwgWyJib3ksMTAsNiwxLDAsNyw0LDY1Il0gPSAwLjk3NDU3NDY3ODQxNDQxMDQ4LCBbImJveSwxMCw2LDEsMCw3LDQsNjYiXSA9IDAuNDYwNDAzNzM4OTA5MjcxMjIsIFsiYm95LDEwLDYsMSwwLDcsNCw3NiJdID0gMC4xODY2NzU3NjY1NTQzOTYxMSwgWyJib3ksMTAsNiwxLDAsNyw0LDc3Il0gPSAwLjQwMDM5MTI2Nzk3MjgwNzQ0LCBbImJveSwxMCw2LDEsMCw3LDQsNzgiXSA9IDAuOTYzMjM2OTg2NzY5ODkyLCBbImJveSwxMCw2LDEsMCw3LDQsNzkiXSA9IDAuMzIzNzg2MzU5NjMwNzkyODMsIFsiYm95LDEwLDYsMSwwLDcsNCw5MSJdID0gMC44ODgwNjI3NTM2NDc0ODc0NCwgWyJib3ksMTAsNiwxLDAsNyw0LDkyIl0gPSAwLjUwODMxOTQ1Njc2ODAxNDQ5LCBbImJveSwxMCw2LDEsMCw3LDQsOTMiXSA9IDAuMTM1NjE2ODc0OTAxNjY1NzQsIFsiYm95LDEwLDYsMSwwLDcsNCwxMDMiXSA9IDAuODYwNDMwNzI0NTE2MjEwODMsIFsiYm95LDEwLDYsMSwwLDcsNCwxMTgiXSA9IDAuNTY4MzU0NzAzNzgxNDQ1MTUsIFsiYm95LDEwLDYsMSwwLDcsNCwxMTkiXSA9IDAuMDkwMDY4Njk3NDQ0OTk2MDE1LCBbImJveSwxMCw2LDEsMCw3LDQsMTIwIl0gPSAwLjA1NjY5OTMyMzU0OTg5NDkzMSwgWyJib3ksMTAsNiwxLDE0LDUsNSw2Il0gPSAwLjk1MjU1OTc3NDE3Mzg3OTE2LCBbImJveSwxMCw2LDEsMTQsNSw1LDciXSA9IDAuNzQzNjE2ODM0NjM4NzE3NTMsIFsiYm95LDEwLDYsMSwxNCw1LDUsMTAiXSA9IDAuNzY5MjAyOTAxOTcyMzYyMywgWyJib3ksMTAsNiwxLDE0LDUsNSwxMSJdID0gMC40ODQ1ODEwODg3MjkwMjYwNSwgWyJib3ksMTAsNiwxLDE0LDUsNSwxMiJdID0gMC40ODI4OTU5ODE1MTIzNzc4OSwgWyJib3ksMTAsNiwxLDE0LDUsNSwxMyJdID0gMC42ODE0ODg4MDA4NTA4MTE1NCwgWyJib3ksMTAsNiwxLDE0LDUsNSwxOSJdID0gMC4wOTQ3MjIyNDI2Mzc4MjYwMjYsIFsiYm95LDEwLDYsMSwxNCw1LDUsMjAiXSA9IDAuNDA1NzkxMzA3MDAwMTExMzUsIFsiYm95LDEwLDYsMSwxNCw1LDUsMjEiXSA9IDAuNDE1ODI4MzY0ODY4MTQwNjgsIFsiYm95LDEwLDYsMSwxNCw1LDUsMjIiXSA9IDAuNjY1MjQ2MjM5ODI5NTgxMDksIFsiYm95LDEwLDYsMSwxNCw1LDUsMjUiXSA9IDAuMzIwMzkxMjQ0Njk4MzM5MjQsIFsiYm95LDEwLDYsMSwxNCw1LDUsMjYiXSA9IDAuNTQzMjI3NDE1MTk5MDMzNzMsIFsiYm95LDEwLDYsMSwxNCw1LDUsMjciXSA9IDAuMjg2NTUwODY4ODI1MzcwNCwgWyJib3ksMTAsNiwxLDE0LDUsNSwyOCJdID0gMC43MjMzNTkwMDcxOTk2NzI1LCBbImJveSwxMCw2LDEsMTQsNSw1LDM0Il0gPSAwLjY1OTgxNDE1MTAyNTM5OTIsIFsiYm95LDEwLDYsMSwxNCw1LDUsMzUiXSA9IDAuOTY1MTI0Mjc0MjMwODgwOTksIFsiYm95LDEwLDYsMSwxNCw1LDUsMzYiXSA9IDAuMTAyNjk4OTUyMzU5MzMzNTcsIFsiYm95LDEwLDYsMSwxNCw1LDUsMzciXSA9IDAuNDAwMjcyODk2NTg5NjczNTgsIFsiYm95LDEwLDYsMSwxNCw1LDUsNDYiXSA9IDAuOTg0OTU2MzIyMjc1MjUxMzIsIFsiYm95LDEwLDYsMSwxNCw1LDUsNDciXSA9IDAuODk1NTQ1NTEyMzg4MTAwNDMsIFsiYm95LDEwLDYsMSwxNCw1LDUsNDgiXSA9IDAuOTMxNjc4MTk2MTIxMTMyMjMsIFsiYm95LDEwLDYsMSwxNCw1LDUsNDkiXSA9IDAuMDU1NDkyNDAwMzIyMzI0OTQyLCBbImJveSwxMCw2LDEsMTQsNSw1LDU1Il0gPSAwLjA0OTM3ODk0MzM5NjI3NTkwOSwgWyJib3ksMTAsNiwxLDE0LDUsNSw1NiJdID0gMC41NzE0NDA5MzM2MDA1ODUwMSwgWyJib3ksMTAsNiwxLDE0LDUsNSw1NyJdID0gMC44OTU4MDgyMDMyMzY2MjMwMiwgWyJib3ksMTAsNiwxLDE0LDUsNSw1OCJdID0gMC44NDg0MDA2MzUxMTQ4NzA3NCwgWyJib3ksMTAsNiwxLDE0LDUsNSw2MSJdID0gMC4xMDU2MjM1ODc1NTcyMDcxMywgWyJib3ksMTAsNiwxLDE0LDUsNSw2MiJdID0gMC43NTIzMTQ1MDY1OTE1MTI4OSwgWyJib3ksMTAsNiwxLDE0LDUsNSw2MyJdID0gMC45MDM4OTY5MDUxNjIyMTA1NSwgWyJib3ksMTAsNiwxLDE0LDUsNSw2NCJdID0gMC40NzA3ODI1MDkwMTcwNTk2NSwgWyJib3ksMTAsNiwxLDE0LDUsNSw2NSJdID0gMC45NTIwNjUwMTEwNzE5NTkyOSwgWyJib3ksMTAsNiwxLDE0LDUsNSw2NiJdID0gMC40MzEwODUwODQzMzk5NDQzLCBbImJveSwxMCw2LDEsMTQsNSw1LDY3Il0gPSAwLjg0MzkxMDUzOTk2MzU3NDQ2LCBbImJveSwxMCw2LDEsMTQsNSw1LDc2Il0gPSAwLjk1MTE0NjE4OTE5MTIyMDc0LCBbImJveSwxMCw2LDEsMTQsNSw1LDc3Il0gPSAwLjIwMDMxMzgwOTQyMTUxNzMzLCBbImJveSwxMCw2LDEsMTQsNSw1LDc4Il0gPSAwLjczNjk4MTYxNTg2NzgwMjg2LCBbImJveSwxMCw2LDEsMTQsNSw1LDc5Il0gPSAwLjY1NDc1MDAwODc1OTk3NzU4LCBbImJveSwxMCw2LDEsMTQsNSw1LDgwIl0gPSAwLjAwMjcyNjYzMDAzNzgzMjEzNCwgWyJib3ksMTAsNiwxLDE0LDUsNSw5MSJdID0gMC40OTg5OTY3NjcwOTc3NDEzMiwgWyJib3ksMTAsNiwxLDE0LDUsNSw5MiJdID0gMC4zNjg3MzM5MDYzMjAwMTYzNSwgWyJib3ksMTAsNiwxLDE0LDUsNSw5MyJdID0gMC4zNTc3NDM1NTUxNTE3MjI3NCwgWyJib3ksMTAsNiwxLDE0LDUsNSw5NCJdID0gMC4zMTI0OTcyOTQ0MTAxMTAwOSwgWyJib3ksMTAsNiwxLDE0LDUsNSwxMDMiXSA9IDAuMTEyNzk2OTU3NzI4NjYzNiwgWyJib3ksMTAsNiwxLDE0LDUsNSwxMDQiXSA9IDAuNTk4ODI3MjY3NjY5NzgxNDUsIFsiYm95LDEwLDYsMSwxNCw1LDUsMTE4Il0gPSAwLjM4MTE0MjI4MjMyNzY4Njg4LCBbImJveSwxMCw2LDEsMTQsNSw1LDExOSJdID0gMC4xMTU4ODE2NTI0NzQ5NjU1MSwgWyJib3ksMTAsNiwxLDE0LDUsNSwxMjAiXSA9IDAuMTU2MTUwMzk5MzAyMTkwMjEsIFsiYm95LDEwLDYsMSwxNCw1LDUsMTIxIl0gPSAwLjUzMzQ2MDExMzg0MDE2NTM0LCBbImJveSwxMCw4LDUsMCw3LDQsNTgiXSA9IDAuNzMyOTc2OTc2MDQwODUwODgsIFsiYm95LDEwLDgsNSwwLDcsNCw1OSJdID0gMC4yMjk1ODkzOTc2NDg5MzE4MywgWyJib3ksMTAsOCw1LDAsNyw0LDYwIl0gPSAwLjg5ODc3MzA5NTYwOTQzNDg2LCBbImJveSwxMCw4LDUsMCw3LDQsNzAiXSA9IDAuNjk1MDA0ODU1NjAxNzkwNDgsIFsiYm95LDEwLDgsNSwwLDcsNCw3MSJdID0gMC4wNTM4MTI4OTAwMTU0MzkwOTcsIFsiYm95LDEwLDgsNSwwLDcsNCw3MiJdID0gMC42Mzc0ODcyMDI2ODc0NTQyOSwgWyJib3ksMTAsOCw1LDAsNyw0LDg4Il0gPSAwLjM5Mzk1MzA0MzgzODQzMTMzLCBbImJveSwxMCw4LDUsMCw3LDQsODkiXSA9IDAuMTYyODg0Mzk3MDkxNDk3MjcsIFsiYm95LDEwLDgsNSwwLDcsNCw5MCJdID0gMC45OTQ1MzI5NTcyNDExODU0LCBbImJveSwxMCw4LDUsMCw3LDQsMTA2Il0gPSAwLjQwNzAxMzA1MDA1OTM5ODAzLCBbImJveSwxMCw4LDUsMCw3LDQsMTA3Il0gPSAwLjUyMDg2NDk3MDc5NzEyOTU3LCBbImJveSwxMCw4LDUsMCw3LDQsMTA4Il0gPSAwLjI2MTg2MDU2MDU3OTkzNDksIFsiYm95LDEwLDgsNSwwLDcsNCwxMTIiXSA9IDAuMzg2ODQ4MjQwNDU3NzU0MjMsIFsiYm95LDEwLDgsNSwwLDcsNCwxMTMiXSA9IDAuNDY0NDk0ODEwODc3NTE0ODcsIFsiYm95LDEwLDgsNSwwLDcsNCwxMTQiXSA9IDAuOTQ4MzUxNTE3NjY3MTY0NDEsIFsiYm95LDEwLDgsNSwwLDcsNCwxNDUiXSA9IDAuMDcxODQ5Nzk0MTM5OTExNjYsIFsiYm95LDEwLDgsNSwwLDcsNCwxNzIiXSA9IDAuMDk0MTk1OTE4MzQ1Mzk3OTc4LCBbImJveSwxMCw4LDUsMCw3LDQsMTczIl0gPSAwLjI3OTE3ODQzNjU2NjM1NDk5LCBbImJveSwxMCw4LDUsMTQsNSw1LDU4Il0gPSAwLjI0NTczNzM3MjUwNzYyMDQsIFsiYm95LDEwLDgsNSwxNCw1LDUsNTkiXSA9IDAuOTM0MzcxMjQwMDY3ODM3NjcsIFsiYm95LDEwLDgsNSwxNCw1LDUsNjAiXSA9IDAuOTczOTk3OTQ2NjU1Njk3ODMsIFsiYm95LDEwLDgsNSwxNCw1LDUsNjEiXSA9IDAuNTAzMTg0NzM0MDk4MTAwODMsIFsiYm95LDEwLDgsNSwxNCw1LDUsNzAiXSA9IDAuMTg0NDcyOTcyNzM4NjMyNzIsIFsiYm95LDEwLDgsNSwxNCw1LDUsNzEiXSA9IDAuODEyMTM4MDgwNzIxMDA4NzksIFsiYm95LDEwLDgsNSwxNCw1LDUsNzIiXSA9IDAuOTE1ODQ4NzcyMTEwOTU3MzksIFsiYm95LDEwLDgsNSwxNCw1LDUsNzMiXSA9IDAuNTY0MjE5OTY2NTY5MDE1NTIsIFsiYm95LDEwLDgsNSwxNCw1LDUsODgiXSA9IDAuNDU0NjIxMTg0MjIxOTk3NiwgWyJib3ksMTAsOCw1LDE0LDUsNSw4OSJdID0gMC41MDAyOTU1NzY4NDYyNjAyNSwgWyJib3ksMTAsOCw1LDE0LDUsNSw5MCJdID0gMC4zMDk5NDc2NDE3MTQ3Mjc1NSwgWyJib3ksMTAsOCw1LDE0LDUsNSw5MSJdID0gMC4wNjE3NjgyODE2NTAzOTk0OTIsIFsiYm95LDEwLDgsNSwxNCw1LDUsMTA2Il0gPSAwLjkyODc1NDAzNjUzMTMxNDcyLCBbImJveSwxMCw4LDUsMTQsNSw1LDEwNyJdID0gMC4zNjk5Nzc2ODkxNDk3MjQ4NCwgWyJib3ksMTAsOCw1LDE0LDUsNSwxMDgiXSA9IDAuNjIwNzEyNTk5NDg4Mzc2NDMsIFsiYm95LDEwLDgsNSwxNCw1LDUsMTA5Il0gPSAwLjQyMDk1ODU4Mzc3MjY1ODYsIFsiYm95LDEwLDgsNSwxNCw1LDUsMTEyIl0gPSAwLjYzOTE2MzY1NDIxNTA2NjkzLCBbImJveSwxMCw4LDUsMTQsNSw1LDExMyJdID0gMC4xMjMyNTAxMDA0NTY0NDg4LCBbImJveSwxMCw4LDUsMTQsNSw1LDExNCJdID0gMC44MDQwNDE2NjYyODYyNzU3MSwgWyJib3ksMTAsOCw1LDE0LDUsNSwxMTUiXSA9IDAuNDU5OTUwOTkxNTg1OTE4MTIsIFsiYm95LDEwLDgsNSwxNCw1LDUsMTQ1Il0gPSAwLjM5NTg0MjYzMDY1MTk5MTU0LCBbImJveSwxMCw4LDUsMTQsNSw1LDE0NiJdID0gMC4wMDYwMzgzNDEzNzkxOTkzNDEyLCBbImJveSwxMCw4LDUsMTQsNSw1LDE3MiJdID0gMC40MDk2MzkwNTA4MjA5NzI0MSwgWyJib3ksMTAsOCw1LDE0LDUsNSwxNzMiXSA9IDAuMDk1MzUwNjEwOTA2Mjc2MDU3LCBbImJveSwxMCw4LDUsMTQsNSw1LDE3NCJdID0gMC4wODk5NjQ4ODMzMjIxNDIyNTMsIFsiYm95LDExLDIsMSwwLDcsNCw0Il0gPSAwLjQ3ODczNjE1NjY1NjA5NTQ4LCBbImJveSwxMSwyLDEsMCw3LDQsNSJdID0gMC4yNDExMjExMjkyMzA2MTM2OCwgWyJib3ksMTEsMiwxLDAsNyw0LDYiXSA9IDAuODExMDE3MDEyMDYyMjk2MzcsIFsiYm95LDExLDIsMSwwLDcsNCw3Il0gPSAwLjM5NTY4MTY4Nzk3MDgwNjA1LCBbImJveSwxMSwyLDEsMCw3LDQsMTYiXSA9IDAuODEzMjU2Mzg3MjY5NDI0MDYsIFsiYm95LDExLDIsMSwwLDcsNCwxNyJdID0gMC42OTU5MjE5OTI5MjMyNjIwNywgWyJib3ksMTEsMiwxLDAsNyw0LDE4Il0gPSAwLjk2NDU3NTQ2MzY4MzYyMTI0LCBbImJveSwxMSwyLDEsMCw3LDQsMTkiXSA9IDAuMjY0NDIwODU0NzYxOTE5MzQsIFsiYm95LDExLDIsMSwwLDcsNCwyMCJdID0gMC4xMDIzNjE1MzA1ODI4Mzc1OSwgWyJib3ksMTEsMiwxLDAsNyw0LDIxIl0gPSAwLjA3MjYyNzc5MjU1OTU5OTk0NiwgWyJib3ksMTEsMiwxLDAsNyw0LDIyIl0gPSAwLjU0MDc3NDkyNzY1MzgwMzg2LCBbImJveSwxMSwyLDEsMCw3LDQsMjMiXSA9IDAuMDI1MTM3MTIxMjg2ODU0NzQ3LCBbImJveSwxMSwyLDEsMCw3LDQsMjQiXSA9IDAuMzEwMjM2MDUwNDM0Mjg0NDgsIFsiYm95LDExLDIsMSwxNCw1LDUsMSJdID0gMC4wNTE3MjMxMDUxMTA0MjA1NTMsIFsiYm95LDExLDIsMSwxNCw1LDUsNCJdID0gMC4zMjI0MjA2OTYwMzAyMTc4MywgWyJib3ksMTEsMiwxLDE0LDUsNSw1Il0gPSAwLjg4NTYzMTM3NDg3MDQxNzQzLCBbImJveSwxMSwyLDEsMTQsNSw1LDYiXSA9IDAuNTM5NDA5NzQ1MDk4MjA1NjEsIFsiYm95LDExLDIsMSwxNCw1LDUsNyJdID0gMC4yNTUwMTA1MDgwMzYyNjE2OCwgWyJib3ksMTEsMiwxLDE0LDUsNSw4Il0gPSAwLjAxMTk0NDQyNDIwMDczMzYwNSwgWyJib3ksMTEsMiwxLDE0LDUsNSwxNiJdID0gMC44NTM4MTkxOTA2NDQ1NTczNiwgWyJib3ksMTEsMiwxLDE0LDUsNSwxNyJdID0gMC42MzM2MzEzMjk1NTY1MDAxNCwgWyJib3ksMTEsMiwxLDE0LDUsNSwxOCJdID0gMC45NTExNjg5MjQwNzk2ODc0NSwgWyJib3ksMTEsMiwxLDE0LDUsNSwxOSJdID0gMC45NTIzNTE1NjE1MDcwMzE3MSwgWyJib3ksMTEsMiwxLDE0LDUsNSwyMCJdID0gMC43NDkyMTUwNzA5NzA5NDg4NiwgWyJib3ksMTEsMiwxLDE0LDUsNSwyMSJdID0gMC41MzU0NjMzNjA3MjgzNTI3NywgWyJib3ksMTEsMiwxLDE0LDUsNSwyMiJdID0gMC41MTY3MjI5MzQ2NzY1ODc4MSwgWyJib3ksMTEsMiwxLDE0LDUsNSwyMyJdID0gMC41ODM4ODYyODU5ODM1NjYyOSwgWyJib3ksMTEsMiwxLDE0LDUsNSwyNCJdID0gMC4wNjYxMzQ2ODA1MzUyODkxNDgsIFsiYm95LDExLDIsMSwxNCw1LDUsMjUiXSA9IDAuNzYxMzQzODUyOTcyODU0OSwgWyJib3ksMTEsNCwxLDE0LDUsNSwxIl0gPSAwLjM3NTIyMjgxODY3MzAyMzEsIFsiYm95LDExLDQsNSwwLDcsNCw0Il0gPSAwLjcwNzM4MjEzNzc0ODE5MzQ3LCBbImJveSwxMSw0LDUsMCw3LDQsNSJdID0gMC4xMzE1NTc2NTU5Mzk3OTA2MywgWyJib3ksMTEsNCw1LDAsNyw0LDYiXSA9IDAuMjQ5OTAzNjcwNzQ2NTE4MzEsIFsiYm95LDExLDQsNSwwLDcsNCwxMCJdID0gMC4wNjQyMjIxMjA2MTU0NTI5NiwgWyJib3ksMTEsNCw1LDAsNyw0LDExIl0gPSAwLjA4ODEwNjY0MDE0NzE0MzA4OSwgWyJib3ksMTEsNCw1LDAsNyw0LDEyIl0gPSAwLjY5OTI4MjE0OTEyNDc0MTE4LCBbImJveSwxMSw0LDUsMCw3LDQsMTMiXSA9IDAuMDIxNjk3OTUwNzkzNjUxNjY2LCBbImJveSwxMSw0LDUsMCw3LDQsMTQiXSA9IDAuMzUxMTU4MTk5NjQ5ODQwNTIsIFsiYm95LDExLDQsNSwwLDcsNCwxNSJdID0gMC42MzY5Nzg5MTI4NjAxMDIsIFsiYm95LDExLDQsNSwwLDcsNCwyMiJdID0gMC41MzA3NDY1NTc3NDg2OTczOSwgWyJib3ksMTEsNCw1LDAsNyw0LDIzIl0gPSAwLjYzMzA3NTAxNTM3NzY2Njc1LCBbImJveSwxMSw0LDUsMCw3LDQsMjQiXSA9IDAuMTUyMDEyMDg2NzI0MzU5OTUsIFsiYm95LDExLDQsNSwwLDcsNCwyOCJdID0gMC40ODc1ODQ0ODc2ODU5MDg3OSwgWyJib3ksMTEsNCw1LDAsNyw0LDI5Il0gPSAwLjUzNzQ4MjMxMDk3MTg3MTM4LCBbImJveSwxMSw0LDUsMCw3LDQsMzAiXSA9IDAuMTE0MTgzMDU1NDc3OTI4NCwgWyJib3ksMTEsNCw1LDAsNyw0LDQwIl0gPSAwLjc2ODk0MzIxOTgzOTE0NjE1LCBbImJveSwxMSw0LDUsMCw3LDQsNDEiXSA9IDAuMDQzNjE5OTcxNDU4NzU2MTc5LCBbImJveSwxMSw0LDUsMCw3LDQsNDIiXSA9IDAuNzA1NTgyMTI1MDIzMjkzMjEsIFsiYm95LDExLDQsNSwwLDcsNCw0NiJdID0gMC4wMzM5MDgxNDY3OTU1NjE1MzMsIFsiYm95LDExLDQsNSwwLDcsNCw0NyJdID0gMC4yNzYxNjE2NzU3NDA0ODE4OSwgWyJib3ksMTEsNCw1LDAsNyw0LDQ4Il0gPSAwLjcwOTQxMDUwNjg5NzgwNTM4LCBbImJveSwxMSw0LDUsMCw3LDQsNjEiXSA9IDAuOTY3NzY3NDA3MzE1MzI3MDcsIFsiYm95LDExLDQsNSwwLDcsNCw2MiJdID0gMC42ODY0NDIyMzg1NDM1NjM1NywgWyJib3ksMTEsNCw1LDAsNyw0LDYzIl0gPSAwLjM0Mjk1Njk5MzY2NTA0MDI5LCBbImJveSwxMSw0LDUsMCw3LDQsNjQiXSA9IDAuMTM1MTIyMzQwMDg5Nzk2NTEsIFsiYm95LDExLDQsNSwwLDcsNCw2NSJdID0gMC4xMTMzOTExMDQwMDczODg5NCwgWyJib3ksMTEsNCw1LDAsNyw0LDY2Il0gPSAwLjMxOTIxODY4Nzg0MTkzODUyLCBbImJveSwxMSw0LDUsMTQsNSw1LDQiXSA9IDAuNzI5NjgxNDYwMzk0NDAwNDEsIFsiYm95LDExLDQsNSwxNCw1LDUsNSJdID0gMC4wMzIzMzM4NTQ5ODkwMjUzMDEsIFsiYm95LDExLDQsNSwxNCw1LDUsNiJdID0gMC4xODQ5NzM2ODExMjYwMDIxLCBbImJveSwxMSw0LDUsMTQsNSw1LDciXSA9IDAuMDQ2MzcxMDI4MDczODg3ODIxLCBbImJveSwxMSw0LDUsMTQsNSw1LDEwIl0gPSAwLjQxMjE3NTc3MDM0NDc2MDYxLCBbImJveSwxMSw0LDUsMTQsNSw1LDExIl0gPSAwLjcwNjAyODE5OTE3MDI3NzI2LCBbImJveSwxMSw0LDUsMTQsNSw1LDEyIl0gPSAwLjI3ODMyMDM3MDk0NjAwNzgxLCBbImJveSwxMSw0LDUsMTQsNSw1LDEzIl0gPSAwLjQyOTg4MTk0NTA2OTk0MDcxLCBbImJveSwxMSw0LDUsMTQsNSw1LDE0Il0gPSAwLjQ2MjcyNTAyOTY4NjgyNjYxLCBbImJveSwxMSw0LDUsMTQsNSw1LDE1Il0gPSAwLjQ0ODEyNTkwODc4ODg3OTM3LCBbImJveSwxMSw0LDUsMTQsNSw1LDE2Il0gPSAwLjgyNDg5Mzc4NTE3ODI0ODMsIFsiYm95LDExLDQsNSwxNCw1LDUsMjIiXSA9IDAuNTY3OTc0MjU3OTg1OTAzMjksIFsiYm95LDExLDQsNSwxNCw1LDUsMjMiXSA9IDAuNjA4OTc2MDMxODE2MTAwODMsIFsiYm95LDExLDQsNSwxNCw1LDUsMjQiXSA9IDAuOTgyNjU1MDc4Njc1MjcyOCwgWyJib3ksMTEsNCw1LDE0LDUsNSwyNSJdID0gMC45MDI2MDIxODIwNTY2ODYzLCBbImJveSwxMSw0LDUsMTQsNSw1LDI4Il0gPSAwLjUzNDAyOTQxNTU3NjQ1Mzc4LCBbImJveSwxMSw0LDUsMTQsNSw1LDI5Il0gPSAwLjU0NTcxMjM5OTI0MTQ3OTE4LCBbImJveSwxMSw0LDUsMTQsNSw1LDMwIl0gPSAwLjkzMTY0MjgxNzc5OTk5NDAzLCBbImJveSwxMSw0LDUsMTQsNSw1LDMxIl0gPSAwLjA1OTIwMjYwNTQzMjIwOTIzMiwgWyJib3ksMTEsNCw1LDE0LDUsNSw0MCJdID0gMC40ODgzNzMyNTUxNTgzMjQ2NCwgWyJib3ksMTEsNCw1LDE0LDUsNSw0MSJdID0gMC42NzY0ODYyNjg2OTM3ODA3LCBbImJveSwxMSw0LDUsMTQsNSw1LDQyIl0gPSAwLjA5MTMwMDc0MDY4NzYzNjQ5NSwgWyJib3ksMTEsNCw1LDE0LDUsNSw0MyJdID0gMC42NzU1MDI5MTY5OTIxMjMzOSwgWyJib3ksMTEsNCw1LDE0LDUsNSw0NiJdID0gMC44NzcyNjc5NjE2MzA4NzE4NCwgWyJib3ksMTEsNCw1LDE0LDUsNSw0NyJdID0gMC4yMTQ3NjI1OTkyNzIxOTc5OCwgWyJib3ksMTEsNCw1LDE0LDUsNSw0OCJdID0gMC4zODY3MDU2Mzc4MjA5NDIzNiwgWyJib3ksMTEsNCw1LDE0LDUsNSw0OSJdID0gMC42NDQxMDU2NjI5Njg4NjE5NiwgWyJib3ksMTEsNCw1LDE0LDUsNSw2MSJdID0gMC4wNDkwNDUzMDk2NDI5MjA0MjEsIFsiYm95LDExLDQsNSwxNCw1LDUsNjIiXSA9IDAuNjgzMDMzODA3MDAxMTc3NjYsIFsiYm95LDExLDQsNSwxNCw1LDUsNjMiXSA9IDAuNjkwNjExMjM4ODA1ODUwOTYsIFsiYm95LDExLDQsNSwxNCw1LDUsNjQiXSA9IDAuODg4MzIzOTkxNjI0MTA1NDcsIFsiYm95LDExLDQsNSwxNCw1LDUsNjUiXSA9IDAuMTU3MDk5ODMyNzY5NjQ5NzgsIFsiYm95LDExLDQsNSwxNCw1LDUsNjYiXSA9IDAuNTY5NzU3NTE3MTY0NDgzOTcsIFsiYm95LDExLDQsNSwxNCw1LDUsNjciXSA9IDAuNzMzMDc3NDcwMzAzNjE2NywgWyJib3ksMTEsNiwxLDAsNyw0LDciXSA9IDAuNDAyMTQ2NjA2NTQzMzA3OTIsIFsiYm95LDExLDYsMSwwLDcsNCw4Il0gPSAwLjkyNzU5MDI2NjY2MzMzODY2LCBbImJveSwxMSw2LDEsMCw3LDQsOSJdID0gMC44NjEzMzg3NDA1MjY3NDMyLCBbImJveSwxMSw2LDEsMCw3LDQsMTMiXSA9IDAuMjY2OTYzMjIxMzE2MzkyMTYsIFsiYm95LDExLDYsMSwwLDcsNCwyMiJdID0gMC42OTYzMzczMjUzNDAxOTI5OSwgWyJib3ksMTEsNiwxLDAsNyw0LDIzIl0gPSAwLjcwMTYwMDA3OTI5MDM1MjA2LCBbImJveSwxMSw2LDEsMCw3LDQsMjQiXSA9IDAuMjE4MzY4NzEyMjc0OTQ1MzYsIFsiYm95LDExLDYsMSwwLDcsNCwyOCJdID0gMC43NTI2MjA3MDQ4NjkxNDAwMSwgWyJib3ksMTEsNiwxLDAsNyw0LDI5Il0gPSAwLjk0OTQxNTQ2NzE0Nzk2Mzc3LCBbImJveSwxMSw2LDEsMCw3LDQsMzAiXSA9IDAuMTE1MTk2NjYxNTc5MjE4MTUsIFsiYm95LDExLDYsMSwwLDcsNCwzNyJdID0gMC41NTEzNzc1MTYzMjU0MDM1NSwgWyJib3ksMTEsNiwxLDAsNyw0LDM4Il0gPSAwLjk2NjkwNjY4NTY0NzcyOTc1LCBbImJveSwxMSw2LDEsMCw3LDQsMzkiXSA9IDAuODk1ODgxNTMxMDk3MDI0MDYsIFsiYm95LDExLDYsMSwwLDcsNCw0OSJdID0gMC4wMTExNjc4NTgzODc5ODcwNjIsIFsiYm95LDExLDYsMSwwLDcsNCw1MCJdID0gMC42ODAyNzc4MjUwNjY5MTA1OSwgWyJib3ksMTEsNiwxLDAsNyw0LDUxIl0gPSAwLjgwMzg5MjEzMDEyNjcxMzIzLCBbImJveSwxMSw2LDEsMCw3LDQsNTgiXSA9IDAuMTcyOTc3NTY5NTc3NDAwMDcsIFsiYm95LDExLDYsMSwwLDcsNCw1OSJdID0gMC42NDM3NzAxNzA4OTUzNjg3LCBbImJveSwxMSw2LDEsMCw3LDQsNjAiXSA9IDAuNDM2MDMwMDc1NDI0NjQ4LCBbImJveSwxMSw2LDEsMCw3LDQsNjQiXSA9IDAuNTIwMDgwMTI1NjEyOTM3OTMsIFsiYm95LDExLDYsMSwwLDcsNCw2NSJdID0gMC41ODg2NDIwNzIxNjU3NDUyNywgWyJib3ksMTEsNiwxLDAsNyw0LDY2Il0gPSAwLjA5OTEyNDM5OTUwNTg0NTk1LCBbImJveSwxMSw2LDEsMCw3LDQsNjciXSA9IDAuNDQzODU0MjU3MjEwNTY5OTIsIFsiYm95LDExLDYsMSwwLDcsNCw2OCJdID0gMC42NTE3MjU4NDQyMzkzODI3MywgWyJib3ksMTEsNiwxLDAsNyw0LDY5Il0gPSAwLjM0NTE5MTIxNjczODE5MzQyLCBbImJveSwxMSw2LDEsMCw3LDQsNzkiXSA9IDAuNzIxNTUwNDg0NTUxNjUyOTQsIFsiYm95LDExLDYsMSwwLDcsNCw5NCJdID0gMC40MzcxNjMyOTQ4MTAwMTQ1OSwgWyJib3ksMTEsNiwxLDAsNyw0LDk1Il0gPSAwLjAyNjEwNjIyMzI1MjA3NjEyMiwgWyJib3ksMTEsNiwxLDAsNyw0LDk2Il0gPSAwLjk3MTk0Njk2MDA2OTE2ODgxLCBbImJveSwxMSw2LDEsMCw3LDQsMTIxIl0gPSAwLjg1OTc0MTY0OTE4MDY0NDg4LCBbImJveSwxMSw2LDEsMCw3LDQsMTIyIl0gPSAwLjAzNTkyMzE3MDAyNzUzNzUzMiwgWyJib3ksMTEsNiwxLDAsNyw0LDEyMyJdID0gMC41MzAwNjg5ODQ5OTgxNjQ3OSwgWyJib3ksMTEsNiwxLDE0LDUsNSw3Il0gPSAwLjg1MDA2NjE5ODM3OTkyMjkyLCBbImJveSwxMSw2LDEsMTQsNSw1LDgiXSA9IDAuMjgzMDYxNTE0MjAxNTE2MDQsIFsiYm95LDExLDYsMSwxNCw1LDUsOSJdID0gMC4wOTkzNjU1MDA3OTAwODE3NzMsIFsiYm95LDExLDYsMSwxNCw1LDUsMTAiXSA9IDAuMDM1ODU2NDMyNjY2ODY0NjY4LCBbImJveSwxMSw2LDEsMTQsNSw1LDEzIl0gPSAwLjkxMzMwNzUyODU2Mjc2MzIsIFsiYm95LDExLDYsMSwxNCw1LDUsMTQiXSA9IDAuODE1MjkzMDE2NzcyMzQwODksIFsiYm95LDExLDYsMSwxNCw1LDUsMjIiXSA9IDAuOTI1ODE5OTU3NTExNDEwMzMsIFsiYm95LDExLDYsMSwxNCw1LDUsMjMiXSA9IDAuNzY5NjY3NTA5NjUzNTU1NjgsIFsiYm95LDExLDYsMSwxNCw1LDUsMjQiXSA9IDAuNDI1NTA1MjAzOTM1MzQzMywgWyJib3ksMTEsNiwxLDE0LDUsNSwyNSJdID0gMC41NDEzNDQ1OTk4NjI2MzEzOSwgWyJib3ksMTEsNiwxLDE0LDUsNSwyOCJdID0gMC45MDg5NTIxODkwNDUxNTQ2MiwgWyJib3ksMTEsNiwxLDE0LDUsNSwyOSJdID0gMC40NTg1MzYxODYyNTQ4MDYzLCBbImJveSwxMSw2LDEsMTQsNSw1LDMwIl0gPSAwLjI5Nzg1NDc2ODE0MDg5OTYyLCBbImJveSwxMSw2LDEsMTQsNSw1LDMxIl0gPSAwLjczMjY0ODA3MzEyNTM3OTUsIFsiYm95LDExLDYsMSwxNCw1LDUsMzciXSA9IDAuMjkwNDY1Mjk5NzMwMDA2MzQsIFsiYm95LDExLDYsMSwxNCw1LDUsMzgiXSA9IDAuNzE4OTcxOTUyMzQ5OTQ4OTMsIFsiYm95LDExLDYsMSwxNCw1LDUsMzkiXSA9IDAuNTQzMTk2MTE3Mzg3MjIzMjksIFsiYm95LDExLDYsMSwxNCw1LDUsNDAiXSA9IDAuMzcyNTE1NjU1NDI4NDY0NTQsIFsiYm95LDExLDYsMSwxNCw1LDUsNDkiXSA9IDAuMzIwODAxMzM1MjA5NDU2MDgsIFsiYm95LDExLDYsMSwxNCw1LDUsNTAiXSA9IDAuMjM5NDY5MDgzNjUxNTYyNSwgWyJib3ksMTEsNiwxLDE0LDUsNSw1MSJdID0gMC4xNDA2MjE4NDk2MTUxMjAzNiwgWyJib3ksMTEsNiwxLDE0LDUsNSw1MiJdID0gMC43Nzk0MDg3NzMxNTQxMzYzNywgWyJib3ksMTEsNiwxLDE0LDUsNSw1OCJdID0gMC45Mzc5MDU5MTY2ODkyODcxMywgWyJib3ksMTEsNiwxLDE0LDUsNSw1OSJdID0gMC4wNjkyOTM3ODc3NzcwMzk0MjgsIFsiYm95LDExLDYsMSwxNCw1LDUsNjAiXSA9IDAuODc5OTMxNjAyMDU3Mzc4NDEsIFsiYm95LDExLDYsMSwxNCw1LDUsNjEiXSA9IDAuODE4ODQ1NDcyMTc1MDc5MDgsIFsiYm95LDExLDYsMSwxNCw1LDUsNjQiXSA9IDAuNjE2MjYzNzMzMjY3NDkzNjIsIFsiYm95LDExLDYsMSwxNCw1LDUsNjUiXSA9IDAuMzc3MjgxMzc5NDIxMTYyNDcsIFsiYm95LDExLDYsMSwxNCw1LDUsNjYiXSA9IDAuNDM0OTU3NzgwMjE4NjUzMDYsIFsiYm95LDExLDYsMSwxNCw1LDUsNjciXSA9IDAuMDgyNzY3NTk2Mjc4ODY2NzYyLCBbImJveSwxMSw2LDEsMTQsNSw1LDY4Il0gPSAwLjcyNjE2MTE0MzY2Mjc0ODIsIFsiYm95LDExLDYsMSwxNCw1LDUsNjkiXSA9IDAuMzE3MDk2MzY3NjExMTE0NywgWyJib3ksMTEsNiwxLDE0LDUsNSw3MCJdID0gMC42Mzc4MjE5NjY4Nzg5NTM3NiwgWyJib3ksMTEsNiwxLDE0LDUsNSw3OSJdID0gMC40OTA1NjMzNTA3NTEyOTc4NywgWyJib3ksMTEsNiwxLDE0LDUsNSw4MCJdID0gMC4yMTI1NDI3Nzc5MTU3OTIyNCwgWyJib3ksMTEsNiwxLDE0LDUsNSw5NCJdID0gMC45MTc0MTIyMjE2MTkxNDc4MiwgWyJib3ksMTEsNiwxLDE0LDUsNSw5NSJdID0gMC43Mjk4Mjg0MDYwNzM0NzI1NSwgWyJib3ksMTEsNiwxLDE0LDUsNSw5NiJdID0gMC4xOTk3MjkxOTU2NDM2MDE4MSwgWyJib3ksMTEsNiwxLDE0LDUsNSw5NyJdID0gMC4xOTUyMDIxNjk0MTAxNTk3OCwgWyJib3ksMTEsNiwxLDE0LDUsNSwxMjEiXSA9IDAuMzQ3NjM4NDkwMzg3MDgyODMsIFsiYm95LDExLDYsMSwxNCw1LDUsMTIyIl0gPSAwLjExNjI1MzIzNTc1MDA0MTY1LCBbImJveSwxMSw2LDEsMTQsNSw1LDEyMyJdID0gMC44Mzc2NDIwNDM5NDczNTA4NywgWyJib3ksMTEsNiwxLDE0LDUsNSwxMjQiXSA9IDAuMTUwMjg2NDExNDI0MTI1NTgsIFsiYm95LDExLDgsNSwwLDcsNCw1NSJdID0gMC44MTQyMDYzNDc1OTY0OTg2OCwgWyJib3ksMTEsOCw1LDAsNyw0LDU2Il0gPSAwLjQ0MjE0NDQxMTI0NjE1NjU1LCBbImJveSwxMSw4LDUsMCw3LDQsNTciXSA9IDAuMjgwNTU0NDkyMDU5MDQ0NTksIFsiYm95LDExLDgsNSwwLDcsNCw2NyJdID0gMC4xNDI2MDMwNjc2NTg3NDc5NywgWyJib3ksMTEsOCw1LDAsNyw0LDY4Il0gPSAwLjk4MDE1NzcyNTYyODc4Nzg5LCBbImJveSwxMSw4LDUsMCw3LDQsNjkiXSA9IDAuNTY0NjczMjYxNDY5NDk1ODEsIFsiYm95LDExLDgsNSwwLDcsNCw4NSJdID0gMC4wMTQxODQxODQ4NzUzMzU2ODEsIFsiYm95LDExLDgsNSwwLDcsNCw4NiJdID0gMC41OTg0NDg3MDY4OTk4ODAyOCwgWyJib3ksMTEsOCw1LDAsNyw0LDg3Il0gPSAwLjQ2Nzc0ODMyMzUyNzQyMjksIFsiYm95LDExLDgsNSwwLDcsNCw5NCJdID0gMC43NTEzNTQ3MjYyMDc3NTkzNCwgWyJib3ksMTEsOCw1LDAsNyw0LDk1Il0gPSAwLjQzNTM2MTU3NzczODg0Nzk4LCBbImJveSwxMSw4LDUsMCw3LDQsMTAzIl0gPSAwLjE4NTMzMzY1MTAyMTEwMzY2LCBbImJveSwxMSw4LDUsMCw3LDQsMTA0Il0gPSAwLjMwMzAzNzQ1MDMzOTI0NzQ1LCBbImJveSwxMSw4LDUsMCw3LDQsMTA1Il0gPSAwLjg5MDQ3MDY0MTUzMjY4ODg0LCBbImJveSwxMSw4LDUsMCw3LDQsMTA5Il0gPSAwLjczNjc1MDAwOTgwNDE3NzA0LCBbImJveSwxMSw4LDUsMCw3LDQsMTEwIl0gPSAwLjA2OTc3ODUzMzY3NzM1MTA5NiwgWyJib3ksMTEsOCw1LDAsNyw0LDExMSJdID0gMC4zNTc5NDUyOTA4MjQ5ODQyNywgWyJib3ksMTEsOCw1LDAsNyw0LDE0MiJdID0gMC43ODU2OTg4Nzk1ODc3MDM1NywgWyJib3ksMTEsOCw1LDAsNyw0LDE0MyJdID0gMC45MTIzMzE2MDY2MDkyMTEwOSwgWyJib3ksMTEsOCw1LDAsNyw0LDE0NCJdID0gMC4xOTE4NjA4MDA3MzcxNjc2LCBbImJveSwxMSw4LDUsMCw3LDQsMTY5Il0gPSAwLjY5NzE3NDMyMjc4ODg1MTgzLCBbImJveSwxMSw4LDUsMCw3LDQsMTcwIl0gPSAwLjY5NDM0NzQxNDc4ODEyNTQ1LCBbImJveSwxMSw4LDUsMCw3LDQsMTcxIl0gPSAwLjkxNTg3NzIzNDI2MTMzNzcxLCBbImJveSwxMSw4LDUsMTQsNSw1LDU1Il0gPSAwLjc5MTk2ODA4NjUxNjg0NzY5LCBbImJveSwxMSw4LDUsMTQsNSw1LDU2Il0gPSAwLjkyNDQ2Mzg1ODMwMzk0NDg0LCBbImJveSwxMSw4LDUsMTQsNSw1LDU3Il0gPSAwLjk5MzA5NTYzMjkyNzAzMTk2LCBbImJveSwxMSw4LDUsMTQsNSw1LDU4Il0gPSAwLjgzOTkxNjE3NTgxOTgxNTQ4LCBbImJveSwxMSw4LDUsMTQsNSw1LDY3Il0gPSAwLjIzNDg3Mjg4MDQ5Mzk3NTI2LCBbImJveSwxMSw4LDUsMTQsNSw1LDY4Il0gPSAwLjc4ODU1NzI0MjIzNzE4MjQ5LCBbImJveSwxMSw4LDUsMTQsNSw1LDY5Il0gPSAwLjMxMDMwMDMzNzU0NDUwNjU5LCBbImJveSwxMSw4LDUsMTQsNSw1LDcwIl0gPSAwLjU1NzAxMTA0NTc0MjQyNDg4LCBbImJveSwxMSw4LDUsMTQsNSw1LDg1Il0gPSAwLjI0MDI4NDA4MDMzOTY3NTMsIFsiYm95LDExLDgsNSwxNCw1LDUsODYiXSA9IDAuODgzMDQyNzUzNjIzNDY0ODUsIFsiYm95LDExLDgsNSwxNCw1LDUsODciXSA9IDAuNzAzNTI0NjI0Mzk3MzY5NjIsIFsiYm95LDExLDgsNSwxNCw1LDUsODgiXSA9IDAuNjI4MzAwNTQ0ODQwMDQ4MDUsIFsiYm95LDExLDgsNSwxNCw1LDUsOTQiXSA9IDAuMDQ4Njg5ODk5OTQ5OTU3ODcxLCBbImJveSwxMSw4LDUsMTQsNSw1LDk1Il0gPSAwLjI0MjE2OTk3NTQ4NTg0MjE4LCBbImJveSwxMSw4LDUsMTQsNSw1LDk2Il0gPSAwLjEyNDEyMjk1ODAxNjE1OTM2LCBbImJveSwxMSw4LDUsMTQsNSw1LDEwMyJdID0gMC40NzM5Mzg3MjQ2OTE3NTU5MSwgWyJib3ksMTEsOCw1LDE0LDUsNSwxMDQiXSA9IDAuNDg3MzMyNzk1MjMzMTc5MTgsIFsiYm95LDExLDgsNSwxNCw1LDUsMTA1Il0gPSAwLjA4OTgyNTU0NDEwMDc1NTgyOCwgWyJib3ksMTEsOCw1LDE0LDUsNSwxMDYiXSA9IDAuODY3NjMwMzM4NTg1MjI0ODcsIFsiYm95LDExLDgsNSwxNCw1LDUsMTA5Il0gPSAwLjAzMzg0ODg2OTg2NzQ0MTUxMSwgWyJib3ksMTEsOCw1LDE0LDUsNSwxMTAiXSA9IDAuMjkwNzczMjgzNDcxNDExODUsIFsiYm95LDExLDgsNSwxNCw1LDUsMTExIl0gPSAwLjQwMDI0MzM4MDMyMTY0NzE5LCBbImJveSwxMSw4LDUsMTQsNSw1LDExMiJdID0gMC40NjA2MTUxNjYxMDUzNjM2OCwgWyJib3ksMTEsOCw1LDE0LDUsNSwxNDIiXSA9IDAuNDMyNjk0ODA3NzI1NjU4MDUsIFsiYm95LDExLDgsNSwxNCw1LDUsMTQzIl0gPSAwLjQ3NjY5NDQ4MjM2MzU4NTQ3LCBbImJveSwxMSw4LDUsMTQsNSw1LDE0NCJdID0gMC44MzAyNjM5NjQyNDEwNjYzLCBbImJveSwxMSw4LDUsMTQsNSw1LDE0NSJdID0gMC40ODEzNjE2NzI3NjgzODQ0OSwgWyJib3ksMTEsOCw1LDE0LDUsNSwxNjkiXSA9IDAuMjE1MzI0MzcxNDY0NjkwMTksIFsiYm95LDExLDgsNSwxNCw1LDUsMTcwIl0gPSAwLjcyNzQ1NjE5MDA3ODMzMDUxLCBbImJveSwxMSw4LDUsMTQsNSw1LDE3MSJdID0gMC4yOTE0ODA1MDIzNDk4NzQ3NywgWyJib3ksMTEsOCw1LDE0LDUsNSwxNzIiXSA9IDAuOTY5MTEyOTg1MTYwNzM1NjMsIFsiYm95LDEyLDIsMSwwLDcsNCwxIl0gPSAwLjM2NDYzMDA5ODU3MDgyMjQsIFsiYm95LDEyLDIsMSwwLDcsNCwyIl0gPSAwLjMwMDE0Mzk3ODg0MDc4NzU4LCBbImJveSwxMiwyLDEsMCw3LDQsMyJdID0gMC45Mjg3NDAwMjMyMDU2MDcxMSwgWyJib3ksMTIsMiwxLDAsNyw0LDciXSA9IDAuODY3NjkyODAwNDg2MzM0MDEsIFsiYm95LDEyLDIsMSwwLDcsNCw4Il0gPSAwLjk3NjE4ODI0NDUyNjI0NzMxLCBbImJveSwxMiwyLDEsMCw3LDQsOSJdID0gMC43ODY3NjY0MjE4MDU4Nzg3NSwgWyJib3ksMTIsMiwxLDAsNyw0LDE5Il0gPSAwLjg0NzAwNzUwNTA5NDUzODQ4LCBbImJveSwxMiwyLDEsMCw3LDQsMjAiXSA9IDAuNTYwNTMyMTIxOTM5NDg1NjUsIFsiYm95LDEyLDIsMSwwLDcsNCwyMSJdID0gMC42MjYwMjA0Njg4OTc1MTA4NCwgWyJib3ksMTIsMiwxLDAsNyw0LDIyIl0gPSAwLjQyMzUyNTQ1MzQzMjMwMzYzLCBbImJveSwxMiwyLDEsMCw3LDQsMjMiXSA9IDAuMjg4MTQxMDU1OTM3MzA4NTQsIFsiYm95LDEyLDIsMSwwLDcsNCwyNCJdID0gMC4yNjI3OTI5MDE5NjE3MDk0NiwgWyJib3ksMTIsMiwxLDAsNyw0LDI1Il0gPSAwLjEwNDcwNTI0Nzc4MDI5OTQ0LCBbImJveSwxMiwyLDEsMCw3LDQsMjYiXSA9IDAuOTk5MzQ2NDY0NTI1OTczMzEsIFsiYm95LDEyLDIsMSwwLDcsNCwyNyJdID0gMC44NjExMjE3MTA3NzYyNjM4NywgWyJib3ksMTIsMiwxLDE0LDUsNSwxIl0gPSAwLjYzODExOTQ1ODY3MjI4ODAzLCBbImJveSwxMiwyLDEsMTQsNSw1LDIiXSA9IDAuOTA4NzA1NzkwMTYxODAxODYsIFsiYm95LDEyLDIsMSwxNCw1LDUsMyJdID0gMC4xOTk5NjAwOTcxNjAyNzE1MiwgWyJib3ksMTIsMiwxLDE0LDUsNSw0Il0gPSAwLjc3MTU4NTI0NzkzMTAxMDU4LCBbImJveSwxMiwyLDEsMTQsNSw1LDciXSA9IDAuMjc3NzI4NTA5OTg0NzEzNzcsIFsiYm95LDEyLDIsMSwxNCw1LDUsOCJdID0gMC4wODQ2NjY1MzI2OTQ0NzM3NzMsIFsiYm95LDEyLDIsMSwxNCw1LDUsOSJdID0gMC41MDM2ODMwOTYwMDgxNjE5NywgWyJib3ksMTIsMiwxLDE0LDUsNSwxMCJdID0gMC40NTM4MjczMDYwMTQ3MDI2NywgWyJib3ksMTIsMiwxLDE0LDUsNSwxOSJdID0gMC4wNTA0ODg3NDQyNDY0NTgxMDYsIFsiYm95LDEyLDIsMSwxNCw1LDUsMjAiXSA9IDAuOTk4NDM4NDAxNjYzNDczMDksIFsiYm95LDEyLDIsMSwxNCw1LDUsMjEiXSA9IDAuNTUwMTE2MjMzNzAyMjA4MDgsIFsiYm95LDEyLDIsMSwxNCw1LDUsMjIiXSA9IDAuMzgwOTA2Mzk1NDkyNDc3NCwgWyJib3ksMTIsMiwxLDE0LDUsNSwyMyJdID0gMC4xNDUwNDU3MTY1NDc4OTE1NiwgWyJib3ksMTIsMiwxLDE0LDUsNSwyNCJdID0gMC40MDg1MTE5NTMyMDU4MTU5LCBbImJveSwxMiwyLDEsMTQsNSw1LDI1Il0gPSAwLjI4MDgxMTg0MDA0OTA1MzEzLCBbImJveSwxMiwyLDEsMTQsNSw1LDI2Il0gPSAwLjI5MTU4ODExNTIyNjExMjE3LCBbImJveSwxMiwyLDEsMTQsNSw1LDI3Il0gPSAwLjA1OTM1NDQ2NzQ0MjU2Nzg5MywgWyJib3ksMTIsMiwxLDE0LDUsNSwyOCJdID0gMC4zMjc0ODY4MjAzNDk0NjM0MSwgWyJib3ksMTIsNCw1LDAsNyw0LDEiXSA9IDAuOTIzNTI3OTcxMzk0MjIwMTYsIFsiYm95LDEyLDQsNSwwLDcsNCwyIl0gPSAwLjA0Mzg1NDk3NTI4ODY3NTIxMywgWyJib3ksMTIsNCw1LDAsNyw0LDMiXSA9IDAuMTYzNzY3Mzk0MTkzNDE4MzUsIFsiYm95LDEyLDQsNSwwLDcsNCw3Il0gPSAwLjgyNTgwODU2MTA3ODYyNDMzLCBbImJveSwxMiw0LDUsMCw3LDQsOCJdID0gMC43MzkxODMwMjM1ODg0Mjk1OCwgWyJib3ksMTIsNCw1LDAsNyw0LDkiXSA9IDAuNjIzNDE5MTkzNTMyNTUwODIsIFsiYm95LDEyLDQsNSwwLDcsNCwxMCJdID0gMC4zMjkzMjA5MzM5NDcxMzY1NywgWyJib3ksMTIsNCw1LDAsNyw0LDExIl0gPSAwLjI4MTUzODI1NjA4OTAwODA3LCBbImJveSwxMiw0LDUsMCw3LDQsMTIiXSA9IDAuMDQyOTE1Mzk2ODQxNTYyMDkyLCBbImJveSwxMiw0LDUsMCw3LDQsMTkiXSA9IDAuMDM3NDI1NDM4NjIwODM5MDI0LCBbImJveSwxMiw0LDUsMCw3LDQsMjAiXSA9IDAuNjI3MzAxMDAyNTY5NjkwMzUsIFsiYm95LDEyLDQsNSwwLDcsNCwyMSJdID0gMC42Mzc2NjMzMTI1NjUwNzEyNSwgWyJib3ksMTIsNCw1LDAsNyw0LDI1Il0gPSAwLjMzNDkxNzU5MjY3MzEyMjQ5LCBbImJveSwxMiw0LDUsMCw3LDQsMjYiXSA9IDAuMjE3NTMwNzg1MDIyOTcwNjMsIFsiYm95LDEyLDQsNSwwLDcsNCwyNyJdID0gMC45NTg3MzYxMjg0NTAzMjEwOCwgWyJib3ksMTIsNCw1LDAsNyw0LDM3Il0gPSAwLjE5OTc5Mzc5ODMwODI4NTU5LCBbImJveSwxMiw0LDUsMCw3LDQsMzgiXSA9IDAuOTUzOTM1ODA1MDg0NTE1MjUsIFsiYm95LDEyLDQsNSwwLDcsNCwzOSJdID0gMC4zNDA1MTg5NDk4MjE2MjE2NywgWyJib3ksMTIsNCw1LDAsNyw0LDQzIl0gPSAwLjk0Nzk0NDE3NTg1NjU2NzIxLCBbImJveSwxMiw0LDUsMCw3LDQsNDQiXSA9IDAuMjY3MTMyODEwMDU2NTIzNzgsIFsiYm95LDEyLDQsNSwwLDcsNCw0NSJdID0gMC4zOTAyODgwMDY3MzQ2NTgzNSwgWyJib3ksMTIsNCw1LDAsNyw0LDU4Il0gPSAwLjYzOTk4NjQwNzAyNzg3MjY4LCBbImJveSwxMiw0LDUsMCw3LDQsNTkiXSA9IDAuNzMxMzg0MDU4NjE2MTc1NzMsIFsiYm95LDEyLDQsNSwwLDcsNCw2MCJdID0gMC42OTA0MjkxMzkwNzcwMjQ5NywgWyJib3ksMTIsNCw1LDAsNyw0LDYxIl0gPSAwLjY1NzE4NjU5NzcwNzg4MzksIFsiYm95LDEyLDQsNSwwLDcsNCw2MiJdID0gMC42NDU2Mjk5NDA2MDMyMjU3NiwgWyJib3ksMTIsNCw1LDAsNyw0LDYzIl0gPSAwLjEyMjY4NzM4NDAwNzI1MTEsIFsiYm95LDEyLDQsNSwxNCw1LDUsMSJdID0gMC40MTY0NTMzNjEwMDgyMzE5NCwgWyJib3ksMTIsNCw1LDE0LDUsNSwyIl0gPSAwLjkxMjU2NDkxMjIzODAwMTI5LCBbImJveSwxMiw0LDUsMTQsNSw1LDMiXSA9IDAuNzczNTQ3OTA3NDgwODU0ODksIFsiYm95LDEyLDQsNSwxNCw1LDUsNCJdID0gMC41NDMyMjkyOTk4MTE3NzY0OCwgWyJib3ksMTIsNCw1LDE0LDUsNSw3Il0gPSAwLjcyNjk5Mjg3MTUyNTE2OTg5LCBbImJveSwxMiw0LDUsMTQsNSw1LDgiXSA9IDAuNjc0ODc5MjUxMjQyNDY5OTUsIFsiYm95LDEyLDQsNSwxNCw1LDUsOSJdID0gMC4yMzA1MTQ3MTI5ODY1MDg2MSwgWyJib3ksMTIsNCw1LDE0LDUsNSwxMCJdID0gMC40NDQ4MDAxNTcyMDY3NTMwMywgWyJib3ksMTIsNCw1LDE0LDUsNSwxMSJdID0gMC4yOTUzODExMDE3MjE1NTg4NSwgWyJib3ksMTIsNCw1LDE0LDUsNSwxMiJdID0gMC40NTYzMTk0NDcxMTE3NDkxLCBbImJveSwxMiw0LDUsMTQsNSw1LDEzIl0gPSAwLjQ4MDg2Nzc3MjU4Njc0NDA3LCBbImJveSwxMiw0LDUsMTQsNSw1LDE5Il0gPSAwLjgzNTk4MTgzNDI0OTI2OTMxLCBbImJveSwxMiw0LDUsMTQsNSw1LDIwIl0gPSAwLjExNjA4ODQxMTE0MTY5OTEsIFsiYm95LDEyLDQsNSwxNCw1LDUsMjEiXSA9IDAuNTA5NjE1ODcyMTU0NDUzNywgWyJib3ksMTIsNCw1LDE0LDUsNSwyMiJdID0gMC4yMDk0MzY2NTkwNjc2NzEyOCwgWyJib3ksMTIsNCw1LDE0LDUsNSwyNSJdID0gMC43MDc3NTQ4Nzc2MDA2MTgxNywgWyJib3ksMTIsNCw1LDE0LDUsNSwyNiJdID0gMC4yMTg0MDY1MDA5NDU0NTU2NiwgWyJib3ksMTIsNCw1LDE0LDUsNSwyNyJdID0gMC40MzkyNjk5MjI5NDc1NTY1MSwgWyJib3ksMTIsNCw1LDE0LDUsNSwyOCJdID0gMC41ODg4ODEzNDE4MzY3MjE1OCwgWyJib3ksMTIsNCw1LDE0LDUsNSwzNyJdID0gMC4xMDkyNzc2ODkwMTY2OTU1NSwgWyJib3ksMTIsNCw1LDE0LDUsNSwzOCJdID0gMC41NzM1MjUyNTI5MDMyNzYxNiwgWyJib3ksMTIsNCw1LDE0LDUsNSwzOSJdID0gMC43NDAzNjg5OTA2NTQ3OTgxMSwgWyJib3ksMTIsNCw1LDE0LDUsNSw0MCJdID0gMC4yNzU1MjI4NDUyMTY4NDMsIFsiYm95LDEyLDQsNSwxNCw1LDUsNDMiXSA9IDAuMzY2ODIzOTcxOTAyNTEzNDgsIFsiYm95LDEyLDQsNSwxNCw1LDUsNDQiXSA9IDAuMTEwNDM1NTQ1MTA1MzAxMTgsIFsiYm95LDEyLDQsNSwxNCw1LDUsNDUiXSA9IDAuNzE2NDA3NDU4NDg1NjA3NzIsIFsiYm95LDEyLDQsNSwxNCw1LDUsNDYiXSA9IDAuMTUxMzU4ODAwNDI1MTU5ODEsIFsiYm95LDEyLDQsNSwxNCw1LDUsNTgiXSA9IDAuMDgzMDc4MDk1Nzk1ODgxMjEzLCBbImJveSwxMiw0LDUsMTQsNSw1LDU5Il0gPSAwLjcxOTIyNzk3MzU5NjExMjY4LCBbImJveSwxMiw0LDUsMTQsNSw1LDYwIl0gPSAwLjEyNTE4MTk2ODk5OTA3MzYzLCBbImJveSwxMiw0LDUsMTQsNSw1LDYxIl0gPSAwLjAzMjcxMTg1MjAyMzI1Nzg4MSwgWyJib3ksMTIsNCw1LDE0LDUsNSw2MiJdID0gMC42NDM2NTgwNTI4OTYxNTA0MSwgWyJib3ksMTIsNCw1LDE0LDUsNSw2MyJdID0gMC43MjQ0NjkxMTkxMzQ3ODE2MywgWyJib3ksMTIsNCw1LDE0LDUsNSw2NCJdID0gMC40MDYxODkyMDgwOTA0NjIzMywgWyJib3ksMTIsNiwxLDAsNyw0LDEwIl0gPSAwLjk0NzQ5Mjc2Nzc1MDk3MjgsIFsiYm95LDEyLDYsMSwwLDcsNCwxMSJdID0gMC4wMTE1MDcyMzUxNjY4NTE3MDQsIFsiYm95LDEyLDYsMSwwLDcsNCwxMiJdID0gMC44MjI2OTU2ODM3NzQ0MzcwMywgWyJib3ksMTIsNiwxLDAsNyw0LDI1Il0gPSAwLjI0MzA4NDYzMDE2MTk2MjkxLCBbImJveSwxMiw2LDEsMCw3LDQsMjYiXSA9IDAuOTIzMDkwMjc5NDM2MTkyMTUsIFsiYm95LDEyLDYsMSwwLDcsNCwzMSJdID0gMC4zMjI1NDE0MzI5OTYzNzUxNywgWyJib3ksMTIsNiwxLDAsNyw0LDMyIl0gPSAwLjk4NzY1NTYwOTU0NjYyMTEzLCBbImJveSwxMiw2LDEsMCw3LDQsMzMiXSA9IDAuMDU4MTQ1MTM2NjUwNjU5NzksIFsiYm95LDEyLDYsMSwwLDcsNCw0MCJdID0gMC40NzcxOTU2NTM5NjQ1Mzc0NSwgWyJib3ksMTIsNiwxLDAsNyw0LDQxIl0gPSAwLjk3MTUzNzYyMDE2NzE2MjE2LCBbImJveSwxMiw2LDEsMCw3LDQsNDIiXSA9IDAuMjU3NTM5MjE0ODk4ODk3OTcsIFsiYm95LDEyLDYsMSwwLDcsNCw1MiJdID0gMC42NDk1MTI2MzA5ODQzNTA2NCwgWyJib3ksMTIsNiwxLDAsNyw0LDUzIl0gPSAwLjM5NDA5Nzc4NTc5MDQ5NTQ4LCBbImJveSwxMiw2LDEsMCw3LDQsNTQiXSA9IDAuNTM2OTE2NjcwNDMzMzQ4MTIsIFsiYm95LDEyLDYsMSwwLDcsNCw2MSJdID0gMC43NTk2MTk0NzYzNDgxNzg3MiwgWyJib3ksMTIsNiwxLDAsNyw0LDYyIl0gPSAwLjc5MzY4MDI4MDk5MTkyODU2LCBbImJveSwxMiw2LDEsMCw3LDQsNjMiXSA9IDAuMTU0NDQ5MDQ0ODkxNjM2MjQsIFsiYm95LDEyLDYsMSwwLDcsNCw2NyJdID0gMC4wMTM0NDY4ODI0MDY2MDM2MzMsIFsiYm95LDEyLDYsMSwwLDcsNCw2OCJdID0gMC4yMDgxMjE2NTEyNDcxODQ4NSwgWyJib3ksMTIsNiwxLDAsNyw0LDY5Il0gPSAwLjkzNzgwMTkwNjgyMjY1MjYzLCBbImJveSwxMiw2LDEsMCw3LDQsNzAiXSA9IDAuNDQ5ODE4NTU0Mjc4OTgxMjEsIFsiYm95LDEyLDYsMSwwLDcsNCw3MSJdID0gMC4xMTI3NTk2OTQ2MTUzNzQ4MywgWyJib3ksMTIsNiwxLDAsNyw0LDk3Il0gPSAwLjA1NDMwNjU3MTQyNzgyMTAyNywgWyJib3ksMTIsNiwxLDAsNyw0LDk4Il0gPSAwLjMyOTA0OTU2MDk1MTA2NTc0LCBbImJveSwxMiw2LDEsMCw3LDQsOTkiXSA9IDAuNDE0OTg3MDY5NTMwMjg1MDgsIFsiYm95LDEyLDYsMSwwLDcsNCwxMjQiXSA9IDAuODc2MjE4NDYyMDI0MjI3NzEsIFsiYm95LDEyLDYsMSwwLDcsNCwxMjUiXSA9IDAuNzkwOTE0MDUxNzE0OTYzNTQsIFsiYm95LDEyLDYsMSwwLDcsNCwxMjYiXSA9IDAuODExNjM5MjQ2Nzk2OTc3MywgWyJib3ksMTIsNiwxLDE0LDUsNSwxMCJdID0gMC4zMTE4NTk4OTgwNjI5Mjc0NywgWyJib3ksMTIsNiwxLDE0LDUsNSwxMSJdID0gMC40OTIxMTIxMjA0OTA1MzQ5OSwgWyJib3ksMTIsNiwxLDE0LDUsNSwxMiJdID0gMC4xNDYyNTUwODUzNTYyNzM2MywgWyJib3ksMTIsNiwxLDE0LDUsNSwxMyJdID0gMC4yNjkxNDUxMTI5NjIyMTk3NywgWyJib3ksMTIsNiwxLDE0LDUsNSwyNSJdID0gMC42NzUwMDgxODk2MzgyNjI3LCBbImJveSwxMiw2LDEsMTQsNSw1LDI2Il0gPSAwLjc5MTU1MTcyNjUxNTg3ODI0LCBbImJveSwxMiw2LDEsMTQsNSw1LDI3Il0gPSAwLjAxNzE2MzUzNDc0NzYwNTc5MSwgWyJib3ksMTIsNiwxLDE0LDUsNSwzMSJdID0gMC45Nzc2Njg1MjUxMDg5MzQ1NCwgWyJib3ksMTIsNiwxLDE0LDUsNSwzMiJdID0gMC44OTEyMDkyMjM3NTQ4OTQ5NywgWyJib3ksMTIsNiwxLDE0LDUsNSwzMyJdID0gMC4wOTE0MTk5OTI0Mjc1NjQ3MTEsIFsiYm95LDEyLDYsMSwxNCw1LDUsMzQiXSA9IDAuOTIzNjM3ODc1MDI2NTI1NzIsIFsiYm95LDEyLDYsMSwxNCw1LDUsNDAiXSA9IDAuMzQ0ODMzODI2MTgzODUwODMsIFsiYm95LDEyLDYsMSwxNCw1LDUsNDEiXSA9IDAuOTIyNjczODM1MDgxMzc4MTIsIFsiYm95LDEyLDYsMSwxNCw1LDUsNDIiXSA9IDAuMjMwMzQ4OTYyNTI3NTEzMDIsIFsiYm95LDEyLDYsMSwxNCw1LDUsNDMiXSA9IDAuODY4MTUwODkyODc5MzQ3MSwgWyJib3ksMTIsNiwxLDE0LDUsNSw1MiJdID0gMC4xMjM0Nzc1MjY2MTQwODU3MywgWyJib3ksMTIsNiwxLDE0LDUsNSw1MyJdID0gMC44OTc1OTEzMDU1ODMyMjEyLCBbImJveSwxMiw2LDEsMTQsNSw1LDU0Il0gPSAwLjIxMTY3MzczMDk4MTQyNDUsIFsiYm95LDEyLDYsMSwxNCw1LDUsNTUiXSA9IDAuMjkzODU1MzIzODA2OTgxMjEsIFsiYm95LDEyLDYsMSwxNCw1LDUsNjEiXSA9IDAuMzA1OTU0NzczMDk0OTEzMjYsIFsiYm95LDEyLDYsMSwxNCw1LDUsNjIiXSA9IDAuOTc2MjYwMTQ4NjMxNzg3ODksIFsiYm95LDEyLDYsMSwxNCw1LDUsNjMiXSA9IDAuMTMxNzcxMDcwNTcxNjgyMzYsIFsiYm95LDEyLDYsMSwxNCw1LDUsNjQiXSA9IDAuMTc1MDA0MDU4MzY1NzEzNzUsIFsiYm95LDEyLDYsMSwxNCw1LDUsNjciXSA9IDAuNDkwOTIwMzk0MzI4MDAyMDUsIFsiYm95LDEyLDYsMSwxNCw1LDUsNjgiXSA9IDAuMzk5MzU5NDA3MDk3Njg4NDcsIFsiYm95LDEyLDYsMSwxNCw1LDUsNjkiXSA9IDAuNjE0MTE4NjQ1NTUyMjUxMzcsIFsiYm95LDEyLDYsMSwxNCw1LDUsNzAiXSA9IDAuNTQ2OTIwMjIyNjY5MjI0NjksIFsiYm95LDEyLDYsMSwxNCw1LDUsNzEiXSA9IDAuOTc3ODg1OTYzNDI4NDIyMDQsIFsiYm95LDEyLDYsMSwxNCw1LDUsNzIiXSA9IDAuMDAyNjE2NzMxNDI5MjM3Nzk1MiwgWyJib3ksMTIsNiwxLDE0LDUsNSw5NyJdID0gMC4zNDM2MzY0NjAwNDU0NDAyNCwgWyJib3ksMTIsNiwxLDE0LDUsNSw5OCJdID0gMC4zMTA2MjkyODAyMDg0ODExMywgWyJib3ksMTIsNiwxLDE0LDUsNSw5OSJdID0gMC42NTU0NjU5Njk2ODc5NTYxMiwgWyJib3ksMTIsNiwxLDE0LDUsNSwxMDAiXSA9IDAuNzc5NDMyODY0NTk5OTE4NjcsIFsiYm95LDEyLDYsMSwxNCw1LDUsMTI0Il0gPSAwLjExMjQwODk4MTk2NjQwNzU4LCBbImJveSwxMiw2LDEsMTQsNSw1LDEyNSJdID0gMC40NjA1Mzc4NTM0ODAzODgzNCwgWyJib3ksMTIsNiwxLDE0LDUsNSwxMjYiXSA9IDAuNjExMzA0MzE2NDE4Njg3MzIsIFsiYm95LDEyLDYsMSwxNCw1LDUsMTI3Il0gPSAwLjg4ODY5ODc4NTc1OTI0Mjc3LCBbImJveSwxMiw4LDUsMCw3LDQsNTIiXSA9IDAuNTk5MDU1MDM0ODE0OTAyNDEsIFsiYm95LDEyLDgsNSwwLDcsNCw1MyJdID0gMC4xODAxNzAxNDM3ODc4Mzc4LCBbImJveSwxMiw4LDUsMCw3LDQsNTQiXSA9IDAuMjM5OTU5MTY5NzEyNzEzOTIsIFsiYm95LDEyLDgsNSwwLDcsNCw2NCJdID0gMC40MjE0ODM0NDU1NjkxNTA5NiwgWyJib3ksMTIsOCw1LDAsNyw0LDY1Il0gPSAwLjQyNTkzMzkzMTkwMTUxMDA4LCBbImJveSwxMiw4LDUsMCw3LDQsNjYiXSA9IDAuMzQyNjQzNDc5NjUyMDYxNjYsIFsiYm95LDEyLDgsNSwwLDcsNCw4MiJdID0gMC40Njc3MjkwMDcxNTI3NjY0NCwgWyJib3ksMTIsOCw1LDAsNyw0LDgzIl0gPSAwLjE3NDU4NTI1MjA1NzA1Njk5LCBbImJveSwxMiw4LDUsMCw3LDQsODQiXSA9IDAuMTM1MzIzNzkyMTU3OTAzNTgsIFsiYm95LDEyLDgsNSwwLDcsNCw5MSJdID0gMC43NDU5Mzg5MDg3MzE1ODA0MiwgWyJib3ksMTIsOCw1LDAsNyw0LDkyIl0gPSAwLjY3MzY5MzU1OTIyODQ2NDUyLCBbImJveSwxMiw4LDUsMCw3LDQsOTMiXSA9IDAuNjEyMDA5OTU3MzAxOTkzMDQsIFsiYm95LDEyLDgsNSwwLDcsNCwxMDAiXSA9IDAuMzk3NDAyNDE0NzEwOTM4NTEsIFsiYm95LDEyLDgsNSwwLDcsNCwxMDEiXSA9IDAuNzA1NDMxODM2Mjk2OTg5MzYsIFsiYm95LDEyLDgsNSwwLDcsNCwxMDIiXSA9IDAuODA0MDMzNzYwNjc2NTYyNjMsIFsiYm95LDEyLDgsNSwwLDcsNCwxMDYiXSA9IDAuNjU1NDU2ODM2MTA1NzMyOTEsIFsiYm95LDEyLDgsNSwwLDcsNCwxMDciXSA9IDAuNTgxNzc0NjIxMDkzMjgxNzEsIFsiYm95LDEyLDgsNSwwLDcsNCwxMDgiXSA9IDAuNzMzNTMwMjAzNTgwMjI4NDcsIFsiYm95LDEyLDgsNSwwLDcsNCwxMzkiXSA9IDAuNDE1NDE4Nzc0MTUyOTYzMzUsIFsiYm95LDEyLDgsNSwwLDcsNCwxNDAiXSA9IDAuNDgwNjQ5NTAxNDkzOTQ3ODEsIFsiYm95LDEyLDgsNSwwLDcsNCwxNDEiXSA9IDAuNDYwNTY2MzE2NDcyNjkyMzEsIFsiYm95LDEyLDgsNSwwLDcsNCwxNjYiXSA9IDAuMDIyMjA2MzE4Njk2MzIzMDU3LCBbImJveSwxMiw4LDUsMCw3LDQsMTY3Il0gPSAwLjU2ODI5MjYxOTQyODkwNjQxLCBbImJveSwxMiw4LDUsMCw3LDQsMTY4Il0gPSAwLjY3MzQ0ODc2NDM2OTA1NzQzLCBbImJveSwxMiw4LDUsMTQsNSw1LDUyIl0gPSAwLjI5MTE0NzI4MTA5MjM3ODA5LCBbImJveSwxMiw4LDUsMTQsNSw1LDUzIl0gPSAwLjQ1ODc5NzQ1NDAwMTE3MTIyLCBbImJveSwxMiw4LDUsMTQsNSw1LDU0Il0gPSAwLjkzNDg5NjQ0ODExMTYwMTU1LCBbImJveSwxMiw4LDUsMTQsNSw1LDU1Il0gPSAwLjY1MzYwNTQxNTkxMjgwOTk2LCBbImJveSwxMiw4LDUsMTQsNSw1LDY0Il0gPSAwLjgyMjkzMDIyNzExNjk5NzgxLCBbImJveSwxMiw4LDUsMTQsNSw1LDY1Il0gPSAwLjc5OTE1MjU3NTY2MjUwMjIsIFsiYm95LDEyLDgsNSwxNCw1LDUsNjYiXSA9IDAuNDEwMzI3Mzg3MDc4MTc5NjIsIFsiYm95LDEyLDgsNSwxNCw1LDUsNjciXSA9IDAuNDg0MDYyNTMxNTUzNjQ5NTMsIFsiYm95LDEyLDgsNSwxNCw1LDUsODIiXSA9IDAuMDc0NjY4ODY0MTYyODEwMTU2LCBbImJveSwxMiw4LDUsMTQsNSw1LDgzIl0gPSAwLjgxMjg2NTMzOTcxMTU5ODU4LCBbImJveSwxMiw4LDUsMTQsNSw1LDg0Il0gPSAwLjgwOTYyODE5MTIwODE5OTk1LCBbImJveSwxMiw4LDUsMTQsNSw1LDg1Il0gPSAwLjQxNDcxMjI2MzkzNjkyMTg0LCBbImJveSwxMiw4LDUsMTQsNSw1LDkxIl0gPSAwLjA1MTQ0NzAyNjMzMTk0NzUzMiwgWyJib3ksMTIsOCw1LDE0LDUsNSw5MiJdID0gMC4zOTA2NjU5NTc0NTE5NDM1NSwgWyJib3ksMTIsOCw1LDE0LDUsNSw5MyJdID0gMC4wMzQ1NzU0NzAzMzI1MjczOTIsIFsiYm95LDEyLDgsNSwxNCw1LDUsOTQiXSA9IDAuODYzNjUwNTkxMTc1NTYzODYsIFsiYm95LDEyLDgsNSwxNCw1LDUsMTAwIl0gPSAwLjY0NTU5MDMyMDEzODU5OTA3LCBbImJveSwxMiw4LDUsMTQsNSw1LDEwMSJdID0gMC43NzI1OTIzMjYyNTkyMjAyNSwgWyJib3ksMTIsOCw1LDE0LDUsNSwxMDIiXSA9IDAuOTIxMzM0MTA0ODkzNzA2MjYsIFsiYm95LDEyLDgsNSwxNCw1LDUsMTAzIl0gPSAwLjIxMTM4NTY5ODMwMDI2NDQ0LCBbImJveSwxMiw4LDUsMTQsNSw1LDEwNiJdID0gMC42ODMwMjg3MTk4ODY0NjE5NywgWyJib3ksMTIsOCw1LDE0LDUsNSwxMDciXSA9IDAuMzEyMDgwOTE5MzA4NjMyOTEsIFsiYm95LDEyLDgsNSwxNCw1LDUsMTA4Il0gPSAwLjMyNzUwMzkwNzA2MDA0MTE4LCBbImJveSwxMiw4LDUsMTQsNSw1LDEwOSJdID0gMC41MzQxODEzNTkwMTUyNTg0MywgWyJib3ksMTIsOCw1LDE0LDUsNSwxMzkiXSA9IDAuNDM0OTg5MjEyMDEyNzY2OTcsIFsiYm95LDEyLDgsNSwxNCw1LDUsMTQwIl0gPSAwLjE4NjEwNjQwNTE5NzIwOTY3LCBbImJveSwxMiw4LDUsMTQsNSw1LDE0MSJdID0gMC4xOTkyNTgzNjI4MjMzMjQ0MywgWyJib3ksMTIsOCw1LDE0LDUsNSwxNDIiXSA9IDAuMDQyNzQ3MTg1ODc1NDQyMDE4LCBbImJveSwxMiw4LDUsMTQsNSw1LDE2NiJdID0gMC4zMTk1MzIwOTY1MjIxMTg0NSwgWyJib3ksMTIsOCw1LDE0LDUsNSwxNjciXSA9IDAuMTM1MjM2MzA1MjIxNzkyODYsIFsiYm95LDEyLDgsNSwxNCw1LDUsMTY4Il0gPSAwLjY2OTE5Mjc5NDk3MzU0MTIzLCBbImJveSwxMiw4LDUsMTQsNSw1LDE2OSJdID0gMC40MTI4OTQyNDI2NDUwNTMyNiwgWyJib3ksMTMsMiwxLDAsNyw0LDQiXSA9IDAuNDA1MzA2ODM5NTQ4MDA2ODQsIFsiYm95LDEzLDIsMSwwLDcsNCw1Il0gPSAwLjI2NTc3MjI3NTU1MDg3MjI0LCBbImJveSwxMywyLDEsMCw3LDQsNiJdID0gMC44MjU3MDEwMTQ2NzM0OTA4OSwgWyJib3ksMTMsMiwxLDAsNyw0LDEwIl0gPSAwLjkyNjE2NjU5Mjk3MTk5NzU1LCBbImJveSwxMywyLDEsMCw3LDQsMTEiXSA9IDAuOTgwOTk5NjE5MDg1MjU5OSwgWyJib3ksMTMsMiwxLDAsNyw0LDEyIl0gPSAwLjgxNjEyODY4OTM2Njk2NTI1LCBbImJveSwxMywyLDEsMCw3LDQsMjIiXSA9IDAuOTAwMzM2MDEyNjE4Njc0OCwgWyJib3ksMTMsMiwxLDAsNyw0LDIzIl0gPSAwLjkzNjE1NTAyMDc1NzUxOTMzLCBbImJveSwxMywyLDEsMCw3LDQsMjUiXSA9IDAuODA0MjcxNzE4NjgxMjQ2MDMsIFsiYm95LDEzLDIsMSwwLDcsNCwyNiJdID0gMC42MjE4NDIxMDY0NDc4Mjc4OSwgWyJib3ksMTMsMiwxLDAsNyw0LDI3Il0gPSAwLjQ3OTU0MDM5NTQ5NjE1MzQ2LCBbImJveSwxMywyLDEsMCw3LDQsMjgiXSA9IDAuMzI4ODQ2NzI1NTkxMzQ2NTMsIFsiYm95LDEzLDIsMSwwLDcsNCwyOSJdID0gMC4xMjU5NTUwNDM0MzEzMzcwMSwgWyJib3ksMTMsMiwxLDAsNyw0LDMwIl0gPSAwLjg5MjA4MDgxMTYyNDQ2MDk2LCBbImJveSwxMywyLDEsMTQsNSw1LDEiXSA9IDAuNjI1MDM5MzYyNjYyNTY1NjYsIFsiYm95LDEzLDIsMSwxNCw1LDUsNCJdID0gMC43NzE3NzU3MjU2NDMzMzQ0MSwgWyJib3ksMTMsMiwxLDE0LDUsNSw1Il0gPSAwLjIxNzkyNTUyMDg4NzQ1NzMxLCBbImJveSwxMywyLDEsMTQsNSw1LDYiXSA9IDAuMjk1NTc4ODUwNjcyNTk1NTksIFsiYm95LDEzLDIsMSwxNCw1LDUsNyJdID0gMC44Nzk2MjE5NzI3MDIxNTM3LCBbImJveSwxMywyLDEsMTQsNSw1LDEwIl0gPSAwLjAwNDEwMDgxNTk4Njg0MzQyMDIsIFsiYm95LDEzLDIsMSwxNCw1LDUsMTEiXSA9IDAuNjA2ODE1NTg4NDA0ODMxODUsIFsiYm95LDEzLDIsMSwxNCw1LDUsMTIiXSA9IDAuODU4OTI4NzEzMTMwMTM3OTcsIFsiYm95LDEzLDIsMSwxNCw1LDUsMTMiXSA9IDAuMDAzOTYwMTEyOTExNjA4MDI2OSwgWyJib3ksMTMsMiwxLDE0LDUsNSwyMiJdID0gMC41NTE0MDMyNzEzNjY0Mjk2NCwgWyJib3ksMTMsMiwxLDE0LDUsNSwyMyJdID0gMC43NDY0NjE5Njk4MTgyNjg0LCBbImJveSwxMywyLDEsMTQsNSw1LDI0Il0gPSAwLjAxOTA4OTg5MTM4Mzk2NDk5NiwgWyJib3ksMTMsMiwxLDE0LDUsNSwyNSJdID0gMC4zMjc1OTU4MTY0NDQ4MDQwNywgWyJib3ksMTMsMiwxLDE0LDUsNSwyNiJdID0gMC4wNzIxMTQ4MzE3OTc2OTE4NDcsIFsiYm95LDEzLDIsMSwxNCw1LDUsMjciXSA9IDAuMTAxMTUzODYyMTg2NTg1MjksIFsiYm95LDEzLDIsMSwxNCw1LDUsMjgiXSA9IDAuNjcyNzY4MTE1NTIzMTYwODUsIFsiYm95LDEzLDIsMSwxNCw1LDUsMjkiXSA9IDAuOTk3ODA2ODA3NzE1NDY4OTIsIFsiYm95LDEzLDIsMSwxNCw1LDUsMzAiXSA9IDAuMzk3ODU0OTIxNDk2OTM1MTMsIFsiYm95LDEzLDIsMSwxNCw1LDUsMzEiXSA9IDAuMTkyODkyMTg3NjA0ODU0MTYsIFsiYm95LDEzLDQsMSwxNCw1LDUsMSJdID0gMC40NzUzNzg0NDYzNjkyMzU0MywgWyJib3ksMTMsNCw1LDAsNyw0LDQiXSA9IDAuODI0ODkyMzcwODI5MzE5MjEsIFsiYm95LDEzLDQsNSwwLDcsNCw1Il0gPSAwLjUzNjEwNjI3MjY1MTE2OTYxLCBbImJveSwxMyw0LDUsMCw3LDQsNiJdID0gMC4zOTYzODQyMDIzMTQ4Mzc0LCBbImJveSwxMyw0LDUsMCw3LDQsNyJdID0gMC41NzIyMjAwMTk5NzQwMDM1MSwgWyJib3ksMTMsNCw1LDAsNyw0LDgiXSA9IDAuMzc5MDYzOTkxMzQ5Njc4MjgsIFsiYm95LDEzLDQsNSwwLDcsNCw5Il0gPSAwLjkxMTY1NzQ3OTU2MjcwMzkzLCBbImJveSwxMyw0LDUsMCw3LDQsMTYiXSA9IDAuMDQ2MDgzNDc4MDU1NDgxMjk3LCBbImJveSwxMyw0LDUsMCw3LDQsMTciXSA9IDAuMjc0NjA2ODY1MDgzNTM0MjcsIFsiYm95LDEzLDQsNSwwLDcsNCwxOCJdID0gMC42ODI4MjAzNjQyOTE2MzQ2MiwgWyJib3ksMTMsNCw1LDAsNyw0LDIyIl0gPSAwLjU2MjU0MTUxMjQyNzk2MDI0LCBbImJveSwxMyw0LDUsMCw3LDQsMjMiXSA9IDAuMzEzNDc4ODU0NDQ5OTcxODEsIFsiYm95LDEzLDQsNSwwLDcsNCwyNCJdID0gMC40MjE4MzAzMTA4NTY5NjU4NywgWyJib3ksMTMsNCw1LDAsNyw0LDM0Il0gPSAwLjc2MzY5OTc5NTgyMTA5NTE1LCBbImJveSwxMyw0LDUsMCw3LDQsMzUiXSA9IDAuODQyMDczNDUxMjE0ODg1NzUsIFsiYm95LDEzLDQsNSwwLDcsNCwzNiJdID0gMC4wMzY5NDM5NDAwMTYzMTQ5NTgsIFsiYm95LDEzLDQsNSwwLDcsNCw0MCJdID0gMC4wMjY4NjE3NzQxMDgyMTg0MzksIFsiYm95LDEzLDQsNSwwLDcsNCw0MSJdID0gMC42MzAyNzg1NTg1ODEzMjgyLCBbImJveSwxMyw0LDUsMCw3LDQsNDIiXSA9IDAuNzgxNzk0MTE1MTg0MTMyNTUsIFsiYm95LDEzLDQsNSwwLDcsNCw1NSJdID0gMC4wMTQyNDE1NzA4OTg0MTgyNjUsIFsiYm95LDEzLDQsNSwwLDcsNCw1NiJdID0gMC44MzQxODM4NjMyMTQxOTM4LCBbImJveSwxMyw0LDUsMCw3LDQsNTciXSA9IDAuMjE2MTI0NDYxNzEzODUyNDcsIFsiYm95LDEzLDQsNSwwLDcsNCw1OCJdID0gMC4xMDc0ODA1MDg5MTMwOTE0NywgWyJib3ksMTMsNCw1LDAsNyw0LDU5Il0gPSAwLjkyMjc2NzYzMzEwNjI5NTk1LCBbImJveSwxMyw0LDUsMCw3LDQsNjAiXSA9IDAuMjEwMjE2MDQzNjkyNTYzMywgWyJib3ksMTMsNCw1LDE0LDUsNSw0Il0gPSAwLjAzMjU4MDM2NDgxODYwNDA0NiwgWyJib3ksMTMsNCw1LDE0LDUsNSw1Il0gPSAwLjgzNjA2MDM2MTg1NDA3NDUxLCBbImJveSwxMyw0LDUsMTQsNSw1LDYiXSA9IDAuMTI3Nzg1MDM5NTIxNTcwNSwgWyJib3ksMTMsNCw1LDE0LDUsNSw3Il0gPSAwLjU0ODk3MDg5MDE4ODk1MDk2LCBbImJveSwxMyw0LDUsMTQsNSw1LDgiXSA9IDAuMjUyMDAxMTkyMjQzNjU2NDcsIFsiYm95LDEzLDQsNSwxNCw1LDUsOSJdID0gMC44Mjc1MDEyOTg4MzkyNjg5MywgWyJib3ksMTMsNCw1LDE0LDUsNSwxMCJdID0gMC43MDYwNTM2MzY4MjExMDk4OSwgWyJib3ksMTMsNCw1LDE0LDUsNSwxNiJdID0gMC42ODgzMzM5MzczNzgwOTQzNCwgWyJib3ksMTMsNCw1LDE0LDUsNSwxNyJdID0gMC4xMDAzMzM3ODMxMDI1MjgxNiwgWyJib3ksMTMsNCw1LDE0LDUsNSwxOCJdID0gMC43NjMwNTYxOTE3OTc1OTYyMSwgWyJib3ksMTMsNCw1LDE0LDUsNSwxOSJdID0gMC40OTMxNzE0NDg3NTExMzM2MSwgWyJib3ksMTMsNCw1LDE0LDUsNSwyMiJdID0gMC40MjYzNjkzMzUzMzY1MzM4NywgWyJib3ksMTMsNCw1LDE0LDUsNSwyMyJdID0gMC44MzM3OTk0MTQ4NjM3MTA2OCwgWyJib3ksMTMsNCw1LDE0LDUsNSwyNCJdID0gMC40ODM5MTE5NjU4NDY0NzE0NSwgWyJib3ksMTMsNCw1LDE0LDUsNSwyNSJdID0gMC40MTMyNjU3MjYzNjgwNjc2OSwgWyJib3ksMTMsNCw1LDE0LDUsNSwzNCJdID0gMC41NTg2NDg2MTY3OTk1NjEyNCwgWyJib3ksMTMsNCw1LDE0LDUsNSwzNSJdID0gMC44ODM5NzEwNDQ3MTM5MzM1MSwgWyJib3ksMTMsNCw1LDE0LDUsNSwzNiJdID0gMC41NzUxNDkwOTI0MDYyMzk0NiwgWyJib3ksMTMsNCw1LDE0LDUsNSwzNyJdID0gMC4xMDgxNDU4NTc0NDE0NjUzMiwgWyJib3ksMTMsNCw1LDE0LDUsNSw0MCJdID0gMC4yMzM2MzUzMDA1NTQ5NjA1MSwgWyJib3ksMTMsNCw1LDE0LDUsNSw0MSJdID0gMC45Mjk1NzI1MDkxMzI5NTA3NSwgWyJib3ksMTMsNCw1LDE0LDUsNSw0MiJdID0gMC4xMzYxMjkwOTM4MTY0MjYzNSwgWyJib3ksMTMsNCw1LDE0LDUsNSw0MyJdID0gMC42MTA1MjIyMzY4NDA2ODcwNywgWyJib3ksMTMsNCw1LDE0LDUsNSw1NSJdID0gMC44Mzk3NjE5NzAzMzIxNjc3MSwgWyJib3ksMTMsNCw1LDE0LDUsNSw1NiJdID0gMC45NDcxMDE2MzMxMDc0MDkxNCwgWyJib3ksMTMsNCw1LDE0LDUsNSw1NyJdID0gMC4wNTUwODgyOTk5OTM5MzE1LCBbImJveSwxMyw0LDUsMTQsNSw1LDU4Il0gPSAwLjAyMDc2MTU3NzM2Njg5MDk5MywgWyJib3ksMTMsNCw1LDE0LDUsNSw1OSJdID0gMC45MTkwMTg0Mzc1OTk4NzM3OCwgWyJib3ksMTMsNCw1LDE0LDUsNSw2MCJdID0gMC4zNDExMzk0MDU0MjAyNTk2NywgWyJib3ksMTMsNCw1LDE0LDUsNSw2MSJdID0gMC4xMjUwNDY0NTY1MzY0NTI0MSwgWyJib3ksMTMsNiwxLDAsNyw0LDEzIl0gPSAwLjI4MjE3MzcyMzQ5Mjg5MTgzLCBbImJveSwxMyw2LDEsMCw3LDQsMTQiXSA9IDAuMDY0NzM0MTc0NDE1MjcyMDcyLCBbImJveSwxMyw2LDEsMCw3LDQsMTUiXSA9IDAuMzAzMjY0OTU5OTYyMTE4MjIsIFsiYm95LDEzLDYsMSwwLDcsNCwyNyJdID0gMC4zMzAwNTE4NzAyODE2OTU0NywgWyJib3ksMTMsNiwxLDAsNyw0LDM0Il0gPSAwLjMyMzk2NzM1MjE0MTk1ODgyLCBbImJveSwxMyw2LDEsMCw3LDQsMzUiXSA9IDAuNzI2NDQ2MjMwNjUwOTU4OTIsIFsiYm95LDEzLDYsMSwwLDcsNCwzNiJdID0gMC4yMzY5NDc5OTg2MTEyNDAxNiwgWyJib3ksMTMsNiwxLDAsNyw0LDQzIl0gPSAwLjgxNTQ5NDk5OTUyMDU5NzEyLCBbImJveSwxMyw2LDEsMCw3LDQsNDQiXSA9IDAuMTkwNzA1NTMwMzI5ODgxOTEsIFsiYm95LDEzLDYsMSwwLDcsNCw0NSJdID0gMC42NDQ0ODA4NTQ1NjEzMTIxLCBbImJveSwxMyw2LDEsMCw3LDQsNTUiXSA9IDAuMjAwNDA3NjI4NzI0NTQ0NDMsIFsiYm95LDEzLDYsMSwwLDcsNCw2NCJdID0gMC4xNzQ5NzI3OTYyNzUxNzk5MiwgWyJib3ksMTMsNiwxLDAsNyw0LDcwIl0gPSAwLjMyMDcxOTgxMjI1ODg2NzAzLCBbImJveSwxMyw2LDEsMCw3LDQsNzEiXSA9IDAuMTM5MzUxNzIxNDk4MzQ2MTgsIFsiYm95LDEzLDYsMSwwLDcsNCw3MiJdID0gMC45MjM3MzM4MzM1MDM5Nzk3NSwgWyJib3ksMTMsNiwxLDAsNyw0LDEwMCJdID0gMC4wMjI4NzQzNDQ0ODU3MjkzMzcsIFsiYm95LDEzLDYsMSwwLDcsNCwxMDEiXSA9IDAuOTQ2ODY2NDM1MDA1MjcwMjMsIFsiYm95LDEzLDYsMSwwLDcsNCwxMDIiXSA9IDAuMzI3OTI2MTI4Mjc1NDE2ODksIFsiYm95LDEzLDYsMSwwLDcsNCwxMjciXSA9IDAuMjQ4NTM2ODk0NTE3MzM1NjMsIFsiYm95LDEzLDYsMSwwLDcsNCwxMjgiXSA9IDAuMTgxMDk2NzIyNjY3Mzg2OTcsIFsiYm95LDEzLDYsMSwwLDcsNCwxMjkiXSA9IDAuOTc0MzkxMDY3MDY5MjAyNDIsIFsiYm95LDEzLDYsMSwxNCw1LDUsMTMiXSA9IDAuNTczMzEyNDEyMTA4OTAwODMsIFsiYm95LDEzLDYsMSwxNCw1LDUsMTQiXSA9IDAuOTU1NjE1Njc3MDIxNjUxMjksIFsiYm95LDEzLDYsMSwxNCw1LDUsMTUiXSA9IDAuMTE5MTQ1NDE0MDA2ODk5OTMsIFsiYm95LDEzLDYsMSwxNCw1LDUsMTYiXSA9IDAuNTg3OTM2NzgwMzM4ODUxOTksIFsiYm95LDEzLDYsMSwxNCw1LDUsMjciXSA9IDAuNjM0NTU0MzM5NDk3NzEwMjMsIFsiYm95LDEzLDYsMSwxNCw1LDUsMjgiXSA9IDAuNzQ3NzY5NTg0MDk5NzA4MDYsIFsiYm95LDEzLDYsMSwxNCw1LDUsMzQiXSA9IDAuNzM4NTM1NzQxMjA5ODg0MDgsIFsiYm95LDEzLDYsMSwxNCw1LDUsMzUiXSA9IDAuNDcyMTE3NzA5Mjg0NTkwNzQsIFsiYm95LDEzLDYsMSwxNCw1LDUsMzYiXSA9IDAuMjYzMzQ0NjY0Mjk3MDc1MTUsIFsiYm95LDEzLDYsMSwxNCw1LDUsMzciXSA9IDAuNDA5Njg5NTk2MDIwMTM5NjYsIFsiYm95LDEzLDYsMSwxNCw1LDUsNDMiXSA9IDAuNDU0MTk0NDMzNjA5NDM0MTIsIFsiYm95LDEzLDYsMSwxNCw1LDUsNDQiXSA9IDAuMzk1MjExOTY0OTA5MTc3ODcsIFsiYm95LDEzLDYsMSwxNCw1LDUsNDUiXSA9IDAuMjQ3MDExMjkyMDMxODYxNDUsIFsiYm95LDEzLDYsMSwxNCw1LDUsNDYiXSA9IDAuNzkyNDYwNjI5NDkwMDMxMTUsIFsiYm95LDEzLDYsMSwxNCw1LDUsNTUiXSA9IDAuOTc5MzI0OTE0Njg1MDYxNTUsIFsiYm95LDEzLDYsMSwxNCw1LDUsNTYiXSA9IDAuMDE2NDM2NTA5Mjk1Nzk5MjA2LCBbImJveSwxMyw2LDEsMTQsNSw1LDY0Il0gPSAwLjAxMDMzMjgzNzk0NjQwNjcxNCwgWyJib3ksMTMsNiwxLDE0LDUsNSw2NSJdID0gMC4wMTAxNzAxMjcyNDA1OTU0MDYsIFsiYm95LDEzLDYsMSwxNCw1LDUsNzAiXSA9IDAuNzA5Mjg0NTM2MjY5MTE0MjUsIFsiYm95LDEzLDYsMSwxNCw1LDUsNzEiXSA9IDAuNTA0OTEwMTQ4ODM5MDA5MzEsIFsiYm95LDEzLDYsMSwxNCw1LDUsNzIiXSA9IDAuNTQ4MDcyNzkwNjU3NDIwMDksIFsiYm95LDEzLDYsMSwxNCw1LDUsNzMiXSA9IDAuNDI4Njg3ODUzNDM2MjgzMDIsIFsiYm95LDEzLDYsMSwxNCw1LDUsMTAwIl0gPSAwLjA3MzU5NDA4ODE2ODQyNjcxOSwgWyJib3ksMTMsNiwxLDE0LDUsNSwxMDEiXSA9IDAuMzQ4ODYyNDIwNjI0MjA5MjUsIFsiYm95LDEzLDYsMSwxNCw1LDUsMTAyIl0gPSAwLjkyODk4NDM3ODM2Njk5NzU0LCBbImJveSwxMyw2LDEsMTQsNSw1LDEwMyJdID0gMC44MjQ5MzA5MTIzNzgwNTA2MSwgWyJib3ksMTMsNiwxLDE0LDUsNSwxMjciXSA9IDAuODAxNDY3NTc2NjY2NzEzMiwgWyJib3ksMTMsNiwxLDE0LDUsNSwxMjgiXSA9IDAuMTc0NDUyNjM0NDU2Nzk4OTMsIFsiYm95LDEzLDYsMSwxNCw1LDUsMTI5Il0gPSAwLjcyMDQzMjEwOTM5ODIyNDY2LCBbImJveSwxMyw2LDEsMTQsNSw1LDEzMCJdID0gMC4wODIwNDQ5MTQ5NTgxODM4OSwgWyJib3ksMTMsOCw1LDAsNyw0LDQ5Il0gPSAwLjc3MTc3MDkyMjkxNjUzNjE1LCBbImJveSwxMyw4LDUsMCw3LDQsNTAiXSA9IDAuMjc3MTA4MDg5NzM3NDQyMDUsIFsiYm95LDEzLDgsNSwwLDcsNCw1MSJdID0gMC40NjkzMDkyNDY0MzEwOTQ0LCBbImJveSwxMyw4LDUsMCw3LDQsNjEiXSA9IDAuNDAzMTQ3NDMzMzAyNDI5NjQsIFsiYm95LDEzLDgsNSwwLDcsNCw2MiJdID0gMC4xODM0Njg1MDMzODk4NjQ0MiwgWyJib3ksMTMsOCw1LDAsNyw0LDYzIl0gPSAwLjg3MTc2MzMxNTQzMzU5MTMxLCBbImJveSwxMyw4LDUsMCw3LDQsNzkiXSA9IDAuMDE2MDgwODE1MjIzNDUzNTA0LCBbImJveSwxMyw4LDUsMCw3LDQsODAiXSA9IDAuMzUwNDE1MTcwMjk5NTU0MzgsIFsiYm95LDEzLDgsNSwwLDcsNCw4MSJdID0gMC4xMDcwMDYwOTAzMDAyMDEwMywgWyJib3ksMTMsOCw1LDAsNyw0LDg4Il0gPSAwLjYyMTQ2NzY0NDkwNTExMjg2LCBbImJveSwxMyw4LDUsMCw3LDQsODkiXSA9IDAuNDAxMzg3MDY1NjAwODMwMDQsIFsiYm95LDEzLDgsNSwwLDcsNCw5MCJdID0gMC44NzY4MDM4Mzc0OTY5Mjk4MSwgWyJib3ksMTMsOCw1LDAsNyw0LDk3Il0gPSAwLjA5ODg3NzgxMzUxMDk0NDcxMiwgWyJib3ksMTMsOCw1LDAsNyw0LDk4Il0gPSAwLjk5NDc4NjYzMTYxNjQxNjY3LCBbImJveSwxMyw4LDUsMCw3LDQsOTkiXSA9IDAuODg2NDA2OTA4NTM2OTQ0ODIsIFsiYm95LDEzLDgsNSwwLDcsNCwxMDMiXSA9IDAuODU4MzAxNzY0NzI3MDI1NDYsIFsiYm95LDEzLDgsNSwwLDcsNCwxMDQiXSA9IDAuMTI5Mjc3MzY1MzAxNzEyNTIsIFsiYm95LDEzLDgsNSwwLDcsNCwxMDUiXSA9IDAuMjg2MzE0ODMxODg3ODg0OTgsIFsiYm95LDEzLDgsNSwwLDcsNCwxMzYiXSA9IDAuMjg1MDY4NTY0MjAxNDE2MTMsIFsiYm95LDEzLDgsNSwwLDcsNCwxMzciXSA9IDAuODQxODkyMzAyMTk5NTY1NDYsIFsiYm95LDEzLDgsNSwwLDcsNCwxMzgiXSA9IDAuMzY3NjUwODcxODYxNDU0NjIsIFsiYm95LDEzLDgsNSwwLDcsNCwxNjMiXSA9IDAuMjQ3Njc5NDQ4MTM4MDE2MjMsIFsiYm95LDEzLDgsNSwwLDcsNCwxNjQiXSA9IDAuMTAwMTIyNDYyNTYyOTI4NjcsIFsiYm95LDEzLDgsNSwwLDcsNCwxNjUiXSA9IDAuMDUzMzc2MzI5NDc2MzcwNDk5LCBbImJveSwxMyw4LDUsMTQsNSw1LDQ5Il0gPSAwLjM3MDY2MTI3MDYxNjk1OTg2LCBbImJveSwxMyw4LDUsMTQsNSw1LDUwIl0gPSAwLjY1NjY1MDgzNzQ0NzA1NTQ0LCBbImJveSwxMyw4LDUsMTQsNSw1LDUxIl0gPSAwLjUxNzI2Mzk1NDEzMzg2NDgzLCBbImJveSwxMyw4LDUsMTQsNSw1LDUyIl0gPSAwLjU2MzAxOTkwMjc1OTkzMDMsIFsiYm95LDEzLDgsNSwxNCw1LDUsNjEiXSA9IDAuNjA1Njk3MjU0OTcwNDExMTYsIFsiYm95LDEzLDgsNSwxNCw1LDUsNjIiXSA9IDAuMjg1MTIyMjI2NTEwMzc5MjIsIFsiYm95LDEzLDgsNSwxNCw1LDUsNjMiXSA9IDAuNjQ1NTIyNDg2NzA0ODg5ODgsIFsiYm95LDEzLDgsNSwxNCw1LDUsNjQiXSA9IDAuNTk0ODkwMTQyNjMyNDU3MSwgWyJib3ksMTMsOCw1LDE0LDUsNSw3OSJdID0gMC42NjcwNDE3ODQ2NzU2MjgwMiwgWyJib3ksMTMsOCw1LDE0LDUsNSw4MCJdID0gMC4xNzQzMTAxNTU4NzkwNTUxOCwgWyJib3ksMTMsOCw1LDE0LDUsNSw4MSJdID0gMC43NjgwOTQ2MzkyOTE3MjY3MiwgWyJib3ksMTMsOCw1LDE0LDUsNSw4MiJdID0gMC41OTY0NjEwNTA0Mjc0ODQ1NCwgWyJib3ksMTMsOCw1LDE0LDUsNSw4OCJdID0gMC44MzY4OTY2MTQ2MTQ1MDIyNywgWyJib3ksMTMsOCw1LDE0LDUsNSw4OSJdID0gMC4xODY2MTI2Mzk4NjU4NjAwNywgWyJib3ksMTMsOCw1LDE0LDUsNSw5MCJdID0gMC45NDA5NjgxMjQ5NTAxODI0NSwgWyJib3ksMTMsOCw1LDE0LDUsNSw5MSJdID0gMC45MDEwNzMzNjI2MjUyNDg3MywgWyJib3ksMTMsOCw1LDE0LDUsNSw5NyJdID0gMC43MjM1NDgzNjEyNzM2Njc1MSwgWyJib3ksMTMsOCw1LDE0LDUsNSw5OCJdID0gMC44MzkzODYwMjI3MjAxNzMwNCwgWyJib3ksMTMsOCw1LDE0LDUsNSw5OSJdID0gMC42ODEwMTk5ODQ0MDUxNjE2NSwgWyJib3ksMTMsOCw1LDE0LDUsNSwxMDAiXSA9IDAuMzI5ODE1OTE0NDYyNjM1MTQsIFsiYm95LDEzLDgsNSwxNCw1LDUsMTAzIl0gPSAwLjk5NTgwMDEwNDk5ODkzNjAxLCBbImJveSwxMyw4LDUsMTQsNSw1LDEwNCJdID0gMC4yNjk0ODg5OTU3OTM3ODkzOCwgWyJib3ksMTMsOCw1LDE0LDUsNSwxMDUiXSA9IDAuNDM2ODg5MDg5MTU4NjYyMzEsIFsiYm95LDEzLDgsNSwxNCw1LDUsMTA2Il0gPSAwLjE1NDczNjIyOTUxMzMwMDc5LCBbImJveSwxMyw4LDUsMTQsNSw1LDEzNiJdID0gMC45NzgzNjYyODkxNzU1NzI0NSwgWyJib3ksMTMsOCw1LDE0LDUsNSwxMzciXSA9IDAuMTM5MzgyOTMxOTkyNjUyNSwgWyJib3ksMTMsOCw1LDE0LDUsNSwxMzgiXSA9IDAuNTc3NTIwOTEwNDA1MjM1MjMsIFsiYm95LDEzLDgsNSwxNCw1LDUsMTM5Il0gPSAwLjgyMzk4MjEwMzY0NDI1OTYxLCBbImJveSwxMyw4LDUsMTQsNSw1LDE2MyJdID0gMC4zMDQ1Mzk4NTcwMjY2OTA0LCBbImJveSwxMyw4LDUsMTQsNSw1LDE2NCJdID0gMC43NzQwNDgyMDU2NTgyMzgwNiwgWyJib3ksMTMsOCw1LDE0LDUsNSwxNjUiXSA9IDAuNTE2ODE1MzcwNDE1NTQ4MjYsIFsiYm95LDEzLDgsNSwxNCw1LDUsMTY2Il0gPSAwLjc3NzE5NzA1OTgwMDQ0NDI5LCBbImJveSwxNCwyLDEsMCw3LDQsMSJdID0gMC41MTI5ODIxNjY2MTgzNDY3MiwgWyJib3ksMTQsMiwxLDAsNyw0LDIiXSA9IDAuMzczMDAwOTUzMTk5MjQ1MDksIFsiYm95LDE0LDIsMSwwLDcsNCwzIl0gPSAwLjQyMDY5MjUxNjE5NzUwNTI1LCBbImJveSwxNCwyLDEsMCw3LDQsNyJdID0gMC4xNzY1MDczNzAxNzQyMTIxNCwgWyJib3ksMTQsMiwxLDAsNyw0LDgiXSA9IDAuNTk5NTMxMDUyNDY5Njc1NTMsIFsiYm95LDE0LDIsMSwwLDcsNCw5Il0gPSAwLjMwMjI3Mjg4NTgyOTI0NDUsIFsiYm95LDE0LDIsMSwwLDcsNCwyNCJdID0gMC4zMTgzMTczNjg5MDk5NzI5OCwgWyJib3ksMTQsMiwxLDAsNyw0LDI4Il0gPSAwLjE4ODczMzQ0ODYwNTIwMDU4LCBbImJveSwxNCwyLDEsMCw3LDQsMjkiXSA9IDAuNTY3MzM1OTkxMzEzMzEyNDcsIFsiYm95LDE0LDIsMSwwLDcsNCwzMCJdID0gMC45MjYwOTc1Mzg5NzkwODUzMSwgWyJib3ksMTQsMiwxLDAsNyw0LDMxIl0gPSAwLjM5MDc3ODQ2NTQyNTExOTYzLCBbImJveSwxNCwyLDEsMCw3LDQsMzIiXSA9IDAuMDE5MTQ2NTkzNzc5Nzk4NzcxLCBbImJveSwxNCwyLDEsMCw3LDQsMzMiXSA9IDAuMjU4NDU3OTUzMzU2Mjc0OTcsIFsiYm95LDE0LDIsMSwxNCw1LDUsMSJdID0gMC4yMDAzMDk5NzAyNzI2NDM2MywgWyJib3ksMTQsMiwxLDE0LDUsNSwyIl0gPSAwLjI3OTEzMjQ1ODQ3MjExMzEsIFsiYm95LDE0LDIsMSwxNCw1LDUsMyJdID0gMC43NTE2Nzg0MjQ2MjY2MDA4NCwgWyJib3ksMTQsMiwxLDE0LDUsNSw0Il0gPSAwLjA2NDEzODU5NjIyMzMxNzQxMiwgWyJib3ksMTQsMiwxLDE0LDUsNSw3Il0gPSAwLjQzNTE2ODIzMTI4MTMxMzg4LCBbImJveSwxNCwyLDEsMTQsNSw1LDgiXSA9IDAuMDcwODcyNDgzNDc3NDc0NzY4LCBbImJveSwxNCwyLDEsMTQsNSw1LDkiXSA9IDAuOTczODI4NjU3MjEyNDIzMjksIFsiYm95LDE0LDIsMSwxNCw1LDUsMTAiXSA9IDAuNjI2Nzk0ODE2MTIwMzQ4NzEsIFsiYm95LDE0LDIsMSwxNCw1LDUsMjQiXSA9IDAuODUyMDgyODczMzI1NTAyODEsIFsiYm95LDE0LDIsMSwxNCw1LDUsMjUiXSA9IDAuMzYwNzUxNTcxMzEyMDM4MTcsIFsiYm95LDE0LDIsMSwxNCw1LDUsMjgiXSA9IDAuNzY3NTA1Njg5NzE3MzU0ODksIFsiYm95LDE0LDIsMSwxNCw1LDUsMjkiXSA9IDAuNTc2MjM2NTAxMzEzNDA5ODcsIFsiYm95LDE0LDIsMSwxNCw1LDUsMzAiXSA9IDAuODIyNTU0MDE4NzkxODcyNTEsIFsiYm95LDE0LDIsMSwxNCw1LDUsMzEiXSA9IDAuNjEyOTI3MjE3NDE1MzMzMDcsIFsiYm95LDE0LDIsMSwxNCw1LDUsMzIiXSA9IDAuNTYwNjE5ODE3MDc2NDIyMjgsIFsiYm95LDE0LDIsMSwxNCw1LDUsMzMiXSA9IDAuNTgzNTg2MTYwNzgyOTEwNywgWyJib3ksMTQsMiwxLDE0LDUsNSwzNCJdID0gMC41MTQ4MDQ3MzA1MjgwNzgwNywgWyJib3ksMTQsNCw1LDAsNyw0LDEiXSA9IDAuODA4NDUyMDIwMjI3NzAyNTcsIFsiYm95LDE0LDQsNSwwLDcsNCwyIl0gPSAwLjIxNzAwMTM1MTI4MDY3OTIxLCBbImJveSwxNCw0LDUsMCw3LDQsMyJdID0gMC4wNzk4NDQwNDQyNjc3MjM3MzUsIFsiYm95LDE0LDQsNSwwLDcsNCw2Il0gPSAwLjk1NTIwMjc4NzgwODkwMzExLCBbImJveSwxNCw0LDUsMCw3LDQsMTMiXSA9IDAuODQyNjc0NjMyMzIxMzU0NTMsIFsiYm95LDE0LDQsNSwwLDcsNCwxNCJdID0gMC45NDY5NTk1MzIwMDU2NDQ1MywgWyJib3ksMTQsNCw1LDAsNyw0LDE1Il0gPSAwLjI3NDgyNjIzNjcxOTQ5MzU4LCBbImJveSwxNCw0LDUsMCw3LDQsMTkiXSA9IDAuODk0MzU2NzY5MjA1NjYxOTgsIFsiYm95LDE0LDQsNSwwLDcsNCwyMCJdID0gMC42Mzc2MDI2ODk3MzQ3MDczNSwgWyJib3ksMTQsNCw1LDAsNyw0LDIxIl0gPSAwLjgxODIxMTI1NDg2NjUzNjM0LCBbImJveSwxNCw0LDUsMCw3LDQsMzEiXSA9IDAuMDY1ODIxMjgwODUwMTkwMTIzLCBbImJveSwxNCw0LDUsMCw3LDQsMzIiXSA9IDAuNzcxNzk3ODcwMjY2NTI0NjksIFsiYm95LDE0LDQsNSwwLDcsNCwzMyJdID0gMC44ODM4Mjg2ODA2NTI5MDA1NCwgWyJib3ksMTQsNCw1LDAsNyw0LDM3Il0gPSAwLjM2NDg5OTA0OTU1Nzc5NDYyLCBbImJveSwxNCw0LDUsMCw3LDQsMzgiXSA9IDAuNzQ4MDA0NDYyMzY4MjQ4MDIsIFsiYm95LDE0LDQsNSwwLDcsNCwzOSJdID0gMC44MDE2ODQ3MzYzMzYwMjk1NSwgWyJib3ksMTQsNCw1LDAsNyw0LDUyIl0gPSAwLjQ2MTU4OTI1NjE4ODEzNDUxLCBbImJveSwxNCw0LDUsMCw3LDQsNTMiXSA9IDAuODI5MjQyMTMyNTU2OTM5MDIsIFsiYm95LDE0LDQsNSwwLDcsNCw1NCJdID0gMC42MjM4NTM5MzI3OTY3Mzg5NSwgWyJib3ksMTQsNCw1LDAsNyw0LDU1Il0gPSAwLjQxOTI2MTUzMDUzNjQ5NzI4LCBbImJveSwxNCw0LDUsMCw3LDQsNTYiXSA9IDAuODM4ODYzNjUyNjY4NTk1MDgsIFsiYm95LDE0LDQsNSwwLDcsNCw1NyJdID0gMC41MzI3NDUyODE4ODQwNzE0NCwgWyJib3ksMTQsNCw1LDE0LDUsNSwxIl0gPSAwLjAyNzU1ODQ2NzQ4ODUzODI5NiwgWyJib3ksMTQsNCw1LDE0LDUsNSwyIl0gPSAwLjA1MTgzNTgwMjcxNzcyNjE0MywgWyJib3ksMTQsNCw1LDE0LDUsNSwzIl0gPSAwLjU2MzkyNDAzOTgyNDYyODEzLCBbImJveSwxNCw0LDUsMTQsNSw1LDQiXSA9IDAuNjk1MzE0MDIwMTkyMTQ1MDUsIFsiYm95LDE0LDQsNSwxNCw1LDUsNiJdID0gMC4zMjY1OTU3MzMxNjU4Njg4NywgWyJib3ksMTQsNCw1LDE0LDUsNSw3Il0gPSAwLjk2MTg0NjYwMTU5ODQ5OTQ0LCBbImJveSwxNCw0LDUsMTQsNSw1LDEzIl0gPSAwLjgxMjAzNzg5MTYyODY3MzAxLCBbImJveSwxNCw0LDUsMTQsNSw1LDE0Il0gPSAwLjU3Mjc5MTU1ODY1OTkyOTcsIFsiYm95LDE0LDQsNSwxNCw1LDUsMTUiXSA9IDAuNjc0OTYyMjU1NjE2NjM4MTQsIFsiYm95LDE0LDQsNSwxNCw1LDUsMTYiXSA9IDAuNDQyMTEyMzg3OTc4Mjk3MzMsIFsiYm95LDE0LDQsNSwxNCw1LDUsMTkiXSA9IDAuMTcyMDkzNDYxNTkwNzk1ODYsIFsiYm95LDE0LDQsNSwxNCw1LDUsMjAiXSA9IDAuNjI0MTEwMDM3MjkyMTcwODUsIFsiYm95LDE0LDQsNSwxNCw1LDUsMjEiXSA9IDAuNzY0NjM5MTQwNzgzODI0NjcsIFsiYm95LDE0LDQsNSwxNCw1LDUsMjIiXSA9IDAuNjY2MTY3NDgzOTU5OTIyNTQsIFsiYm95LDE0LDQsNSwxNCw1LDUsMzEiXSA9IDAuOTc5MTQwNzg1ODA0NDE3NjYsIFsiYm95LDE0LDQsNSwxNCw1LDUsMzIiXSA9IDAuMDY0ODU2Mzk3MTU0Mzc3NjMyLCBbImJveSwxNCw0LDUsMTQsNSw1LDMzIl0gPSAwLjA4ODU0NjgxNjQ3Nzk0NjM3NywgWyJib3ksMTQsNCw1LDE0LDUsNSwzNCJdID0gMC4yMDc2NDk3NDY2MzgzMDUzOCwgWyJib3ksMTQsNCw1LDE0LDUsNSwzNyJdID0gMC4xNzI5NzQxMzU3MTcwMDg0OCwgWyJib3ksMTQsNCw1LDE0LDUsNSwzOCJdID0gMC40NDQyNTUxMzU0NDgyMjAwNCwgWyJib3ksMTQsNCw1LDE0LDUsNSwzOSJdID0gMC42OTkzNzg5Njc5NDE2MTI2OSwgWyJib3ksMTQsNCw1LDE0LDUsNSw0MCJdID0gMC45Mzc3OTc4NjIwNzQzNzc2NSwgWyJib3ksMTQsNCw1LDE0LDUsNSw1MiJdID0gMC44MDM0NTg3MjI2MjAxMjIxOSwgWyJib3ksMTQsNCw1LDE0LDUsNSw1MyJdID0gMC4yNDE4MzY5NDg1NDE1OTk0MywgWyJib3ksMTQsNCw1LDE0LDUsNSw1NCJdID0gMC4yNjc0NzAxNjU2NTMzMjQwNCwgWyJib3ksMTQsNCw1LDE0LDUsNSw1NSJdID0gMC45NTI3ODc5MzIzOTgwMzcyNywgWyJib3ksMTQsNCw1LDE0LDUsNSw1NiJdID0gMC4zODM3NTk2NzUyNDQ0OTQ3MiwgWyJib3ksMTQsNCw1LDE0LDUsNSw1NyJdID0gMC4zMDIwNzQyNDM5NDIxMjU1NiwgWyJib3ksMTQsNCw1LDE0LDUsNSw1OCJdID0gMC4yOTMwNTE3MjQzMDY5NTM5MiwgWyJib3ksMTQsNiwxLDAsNyw0LDE2Il0gPSAwLjIzNTYwNzA2MjQ0ODI5Nzk5LCBbImJveSwxNCw2LDEsMCw3LDQsMTciXSA9IDAuNDExMzI3MDg3MzkyNjcxMSwgWyJib3ksMTQsNiwxLDAsNyw0LDE4Il0gPSAwLjY4NTUxNjc5ODE4MTQ5MTM2LCBbImJveSwxNCw2LDEsMCw3LDQsMjgiXSA9IDAuMDQxMzA1MDEwNjU5Njk3MDUsIFsiYm95LDE0LDYsMSwwLDcsNCwyOSJdID0gMC41MjgxMzM5MzgyNjMwMjU0NiwgWyJib3ksMTQsNiwxLDAsNyw0LDMwIl0gPSAwLjAyNTYxODY2NzA1NzU2OTc2NiwgWyJib3ksMTQsNiwxLDAsNyw0LDM3Il0gPSAwLjQyNDc2MzUwMTU2MDY3Njk5LCBbImJveSwxNCw2LDEsMCw3LDQsMzgiXSA9IDAuMjY3NDg5NjkzOTM0MzYzMTcsIFsiYm95LDE0LDYsMSwwLDcsNCwzOSJdID0gMC4zMzAzNTE2MzY0MDc0Njk0NSwgWyJib3ksMTQsNiwxLDAsNyw0LDQ2Il0gPSAwLjgwNTM3NjAxNDQ0NTQyNDI4LCBbImJveSwxNCw2LDEsMCw3LDQsNDciXSA9IDAuNTQ3NTE1NzgzNzYzNjU1OTUsIFsiYm95LDE0LDYsMSwwLDcsNCw0OCJdID0gMC4yMTAyMTMxNjMxMDg3NzQyNSwgWyJib3ksMTQsNiwxLDAsNyw0LDU2Il0gPSAwLjA5NTQ0Mjk4MDU1NTU3NzQyOCwgWyJib3ksMTQsNiwxLDAsNyw0LDU3Il0gPSAwLjI5OTExNDAwODcxODc5NTEyLCBbImJveSwxNCw2LDEsMCw3LDQsNjUiXSA9IDAuNTQyNTk2NjkyMzExMzMwMTIsIFsiYm95LDE0LDYsMSwwLDcsNCw2NiJdID0gMC4yMTU1MTUxNjYxNDc5NjE3MywgWyJib3ksMTQsNiwxLDAsNyw0LDczIl0gPSAwLjkyODQzMzY1MjIzMTMwMTQ4LCBbImJveSwxNCw2LDEsMCw3LDQsMTAzIl0gPSAwLjYyNzIwMjE4NDA2Mjg5MDc0LCBbImJveSwxNCw2LDEsMCw3LDQsMTA0Il0gPSAwLjkzMjU5NTIyNDk1NjYwMTQxLCBbImJveSwxNCw2LDEsMCw3LDQsMTA1Il0gPSAwLjk1NTkyMzg0ODY5MDE1MDI0LCBbImJveSwxNCw2LDEsMCw3LDQsMTMwIl0gPSAwLjQ3Nzc1MTc4OTMzNjk1NTM5LCBbImJveSwxNCw2LDEsMCw3LDQsMTMxIl0gPSAwLjUzNjc5MTc4NDExMjUzMjI2LCBbImJveSwxNCw2LDEsMCw3LDQsMTMyIl0gPSAwLjM4MDMwNDMwNjY3MDA1MjY2LCBbImJveSwxNCw2LDEsMTQsNSw1LDE2Il0gPSAwLjcwMzc3MzkyOTg2MzU1NTY5LCBbImJveSwxNCw2LDEsMTQsNSw1LDE3Il0gPSAwLjc2NDY2ODY1OTUwNzA1OTA5LCBbImJveSwxNCw2LDEsMTQsNSw1LDE4Il0gPSAwLjA3ODQ1MzE2NTI0NDEzODI1NywgWyJib3ksMTQsNiwxLDE0LDUsNSwxOSJdID0gMC42MjY2MzA5MjE5ODY4NzE3NiwgWyJib3ksMTQsNiwxLDE0LDUsNSwyOCJdID0gMC43NDY1MjMzNTE3NDE0MDQ5NCwgWyJib3ksMTQsNiwxLDE0LDUsNSwyOSJdID0gMC4xNjU1MDUzNjA4MTQxMzE0NywgWyJib3ksMTQsNiwxLDE0LDUsNSwzMCJdID0gMC4wNjIzODI3NTc4MDAyNzkxMzIsIFsiYm95LDE0LDYsMSwxNCw1LDUsMzEiXSA9IDAuMDg1MjI4MDczOTYxNzEzOTQ2LCBbImJveSwxNCw2LDEsMTQsNSw1LDM3Il0gPSAwLjQwODYxNDMzMDY3NDkwMzA1LCBbImJveSwxNCw2LDEsMTQsNSw1LDM4Il0gPSAwLjE1NzMyMjY5NzgxNDQyMzc2LCBbImJveSwxNCw2LDEsMTQsNSw1LDM5Il0gPSAwLjMxNzQxNzYyNTMzNTg4OTM1LCBbImJveSwxNCw2LDEsMTQsNSw1LDQwIl0gPSAwLjUwOTM3OTMzMzcwMDE5ODgzLCBbImJveSwxNCw2LDEsMTQsNSw1LDQ2Il0gPSAwLjkyMDgwODU0MTE3MTcxNzczLCBbImJveSwxNCw2LDEsMTQsNSw1LDQ3Il0gPSAwLjE4NDk2OTc4MTMxMjc5NDg1LCBbImJveSwxNCw2LDEsMTQsNSw1LDQ4Il0gPSAwLjM5NDAwMDQ0MDYwNDgwNzQzLCBbImJveSwxNCw2LDEsMTQsNSw1LDQ5Il0gPSAwLjU2MjMwOTk4ODQ2NjE1MjY1LCBbImJveSwxNCw2LDEsMTQsNSw1LDU2Il0gPSAwLjY1MTE0NzQ5OTExOTI5MTYsIFsiYm95LDE0LDYsMSwxNCw1LDUsNTciXSA9IDAuNTUzNjYyNjUxNDE4NzIwNjIsIFsiYm95LDE0LDYsMSwxNCw1LDUsNTgiXSA9IDAuNDE5NjI0MzIwNDkwMzg3MzQsIFsiYm95LDE0LDYsMSwxNCw1LDUsNjUiXSA9IDAuNTMxMTQxNzI5MzQ5MTMzODQsIFsiYm95LDE0LDYsMSwxNCw1LDUsNjYiXSA9IDAuODg1NzY5MDg5ODgwNDY1MzIsIFsiYm95LDE0LDYsMSwxNCw1LDUsNjciXSA9IDAuMjM3NTQwODE5NDY1NjcxMTgsIFsiYm95LDE0LDYsMSwxNCw1LDUsNzMiXSA9IDAuMzg3MDAyODA4MjMzOTYwNzIsIFsiYm95LDE0LDYsMSwxNCw1LDUsNzQiXSA9IDAuMDE3Mzc0NTY0MDc5MTYzMzc5LCBbImJveSwxNCw2LDEsMTQsNSw1LDEwMyJdID0gMC4yMjI4ODYwNjUxNTAzMzQ2LCBbImJveSwxNCw2LDEsMTQsNSw1LDEwNCJdID0gMC40MjE1MDE1NzQzMzc2MTI3MSwgWyJib3ksMTQsNiwxLDE0LDUsNSwxMDUiXSA9IDAuMDIyMTk5NDA4NTQ3MzI3NjA0LCBbImJveSwxNCw2LDEsMTQsNSw1LDEwNiJdID0gMC4yMzY4OTQxOTM2NjQwMjYzMSwgWyJib3ksMTQsNiwxLDE0LDUsNSwxMzAiXSA9IDAuODc0NTIwMjY2MDIzMjc3NTksIFsiYm95LDE0LDYsMSwxNCw1LDUsMTMxIl0gPSAwLjAzMDk4ODczNzY2NjUzMjA5NiwgWyJib3ksMTQsNiwxLDE0LDUsNSwxMzIiXSA9IDAuOTM2MzUwNDgyODQyMjE0NDUsIFsiYm95LDE0LDYsMSwxNCw1LDUsMTMzIl0gPSAwLjY5NjU1NDk0NDAxNDI5NTUyLCBbImJveSwxNCw4LDUsMCw3LDQsNDYiXSA9IDAuODI3NzI0NjU5MjM1NTM5MTcsIFsiYm95LDE0LDgsNSwwLDcsNCw0NyJdID0gMC4yNjA3OTQ5MjU4Nzc0NTA2OCwgWyJib3ksMTQsOCw1LDAsNyw0LDQ4Il0gPSAwLjMzNjA3ODE2ODUxMzQwMDQ0LCBbImJveSwxNCw4LDUsMCw3LDQsNTgiXSA9IDAuMTI2ODQ0OTQwNzUzMDEyMTEsIFsiYm95LDE0LDgsNSwwLDcsNCw1OSJdID0gMC45NTk1NDE2Mjk2OTk4ODk3NiwgWyJib3ksMTQsOCw1LDAsNyw0LDYwIl0gPSAwLjkwNjcyNjkyMjkzOTk1MjYxLCBbImJveSwxNCw4LDUsMCw3LDQsNzYiXSA9IDAuNTQyNzU1NTczODY5Njc4NzYsIFsiYm95LDE0LDgsNSwwLDcsNCw3NyJdID0gMC42MjUzMDYyNzUyMDM1ODMzOSwgWyJib3ksMTQsOCw1LDAsNyw0LDc4Il0gPSAwLjY1NDc2MTA5OTMwMDM3ODk2LCBbImJveSwxNCw4LDUsMCw3LDQsODUiXSA9IDAuMDAzMTc4ODI0MDE5MTU2MTQ1NywgWyJib3ksMTQsOCw1LDAsNyw0LDg2Il0gPSAwLjE3MTExNDIzOTYxNjkyMDA3LCBbImJveSwxNCw4LDUsMCw3LDQsODciXSA9IDAuNzk0NTM3NTI4NTU1Nzk1ODUsIFsiYm95LDE0LDgsNSwwLDcsNCw5NCJdID0gMC41NDI2MjEyMDk4MTgzOTM3OSwgWyJib3ksMTQsOCw1LDAsNyw0LDk1Il0gPSAwLjU5OTQwMTQ4MTU5NTM3NDc2LCBbImJveSwxNCw4LDUsMCw3LDQsOTYiXSA9IDAuMzA5NDU1NDU4ODA0MDAxMjcsIFsiYm95LDE0LDgsNSwwLDcsNCwxMDAiXSA9IDAuNzk3Mzk3MDIxNTU4MDQyODIsIFsiYm95LDE0LDgsNSwwLDcsNCwxMDEiXSA9IDAuODUyMTc0MDA1MzQ5MTYwNDMsIFsiYm95LDE0LDgsNSwwLDcsNCwxMDIiXSA9IDAuMTQ5ODg4MDExMDM3ODc1MDgsIFsiYm95LDE0LDgsNSwwLDcsNCwxMzMiXSA9IDAuNDY5NjE5ODI0NzI1MjUyMzIsIFsiYm95LDE0LDgsNSwwLDcsNCwxMzQiXSA9IDAuNDY0NTg5MzU3MTE5NTUxNCwgWyJib3ksMTQsOCw1LDAsNyw0LDEzNSJdID0gMC41MTA1MDEzODQ1NjAzODE0MSwgWyJib3ksMTQsOCw1LDAsNyw0LDE2MCJdID0gMC4zMTg1NDYwNzM1NzMwMzM4OCwgWyJib3ksMTQsOCw1LDAsNyw0LDE2MSJdID0gMC44NzE0NDEyOTA2MDg3NTk4NiwgWyJib3ksMTQsOCw1LDAsNyw0LDE2MiJdID0gMC4wNjAwMTY3MTM0MDAwNzQ2MzksIFsiYm95LDE0LDgsNSwxNCw1LDUsNDYiXSA9IDAuODI1NTA2OTk4MzYwMTQ3NTEsIFsiYm95LDE0LDgsNSwxNCw1LDUsNDciXSA9IDAuODA0NTYyMzYyNzg1ODk0NjYsIFsiYm95LDE0LDgsNSwxNCw1LDUsNDgiXSA9IDAuODM0MzUyMTM3ODA3MTQ1MjMsIFsiYm95LDE0LDgsNSwxNCw1LDUsNDkiXSA9IDAuNzU5NDg2MzMyNDUwODIxNjQsIFsiYm95LDE0LDgsNSwxNCw1LDUsNTgiXSA9IDAuMTY2MjIwNTI4NzM3NDE1NDQsIFsiYm95LDE0LDgsNSwxNCw1LDUsNTkiXSA9IDAuNDI4NDY1MDEyMjQ1MTUwOTksIFsiYm95LDE0LDgsNSwxNCw1LDUsNjAiXSA9IDAuMjA3NjYxMjg2NjYwNDExMDYsIFsiYm95LDE0LDgsNSwxNCw1LDUsNjEiXSA9IDAuNDk1ODMxNDYyNTczNzgwMywgWyJib3ksMTQsOCw1LDE0LDUsNSw3NiJdID0gMC44MDg5OTE4NzgxMTQxMDM2NywgWyJib3ksMTQsOCw1LDE0LDUsNSw3NyJdID0gMC4zMjY3Mzk3MTcwNjEyMDI5NywgWyJib3ksMTQsOCw1LDE0LDUsNSw3OCJdID0gMC42NTI1MzA5MzA1MTMyNTYyOCwgWyJib3ksMTQsOCw1LDE0LDUsNSw3OSJdID0gMC42Nzk2MjA2NTI5MTk4OTYyNiwgWyJib3ksMTQsOCw1LDE0LDUsNSw4NSJdID0gMC41OTMwNTQzMjYyODgwOTgyOSwgWyJib3ksMTQsOCw1LDE0LDUsNSw4NiJdID0gMC45NzgxNjMzNDUyMzYxODI4NywgWyJib3ksMTQsOCw1LDE0LDUsNSw4NyJdID0gMC40NDQ4NzM3MDY4MjE0NzY5OCwgWyJib3ksMTQsOCw1LDE0LDUsNSw4OCJdID0gMC4zNzg2MjA1MjEzMjY1MTU0NywgWyJib3ksMTQsOCw1LDE0LDUsNSw5NCJdID0gMC40NDg3MDIxNDE2MjkyMTY5NiwgWyJib3ksMTQsOCw1LDE0LDUsNSw5NSJdID0gMC40MjU3ODQ5NDExNzMzNTQ1MywgWyJib3ksMTQsOCw1LDE0LDUsNSw5NiJdID0gMC40NTQ5ODE3MzE4NjU0NzAzMSwgWyJib3ksMTQsOCw1LDE0LDUsNSw5NyJdID0gMC4zMTA5MzgzNjg2MDQ3OTQ2MiwgWyJib3ksMTQsOCw1LDE0LDUsNSwxMDAiXSA9IDAuNTI2NzU0OTExNDQxMDU3NjgsIFsiYm95LDE0LDgsNSwxNCw1LDUsMTAxIl0gPSAwLjA1ODAzNjU5ODk3NDg1NTQ2OSwgWyJib3ksMTQsOCw1LDE0LDUsNSwxMDIiXSA9IDAuNDQ0NjQ4ODM0Njc3MzAwMzIsIFsiYm95LDE0LDgsNSwxNCw1LDUsMTAzIl0gPSAwLjc1OTA3NjUxNzU5MDIxODEsIFsiYm95LDE0LDgsNSwxNCw1LDUsMTMzIl0gPSAwLjM5OTYyMzI2ODU3MTc1OTU2LCBbImJveSwxNCw4LDUsMTQsNSw1LDEzNCJdID0gMC4wNzg1MzAyNjE4MjUwNjEzOTgsIFsiYm95LDE0LDgsNSwxNCw1LDUsMTM1Il0gPSAwLjUzNzAyMDIyNTYyMDM3MDg4LCBbImJveSwxNCw4LDUsMTQsNSw1LDEzNiJdID0gMC45OTQ1MjAxNzIwODEwNTk5MiwgWyJib3ksMTQsOCw1LDE0LDUsNSwxNjAiXSA9IDAuMDYwMDEwOTA2MTMzMTE5NzY4LCBbImJveSwxNCw4LDUsMTQsNSw1LDE2MSJdID0gMC45MTkwMTc4NTczNDA3ODE2NywgWyJib3ksMTQsOCw1LDE0LDUsNSwxNjIiXSA9IDAuODA3MjYzNDk2MDI2OTIyMDQsIFsiYm95LDE0LDgsNSwxNCw1LDUsMTYzIl0gPSAwLjc4MTAxMzE0MDUzOTczMzE0LCBbImJveSwxNSwyLDEsMCw3LDQsNCJdID0gMC44NjkyMjU2MjcxNjMzMjk2MywgWyJib3ksMTUsMiwxLDAsNyw0LDUiXSA9IDAuMDI5Mjg3MzMxMDcwODE3NzEzLCBbImJveSwxNSwyLDEsMCw3LDQsNiJdID0gMC44Mjg5ODc1MDg5MzUwNTkzNSwgWyJib3ksMTUsMiwxLDAsNyw0LDEwIl0gPSAwLjI4ODgzMzI3MjU5NDQ3MDIzLCBbImJveSwxNSwyLDEsMCw3LDQsMTEiXSA9IDAuODMzNjk0MDkzMTU1MzM2NzEsIFsiYm95LDE1LDIsMSwwLDcsNCwxMiJdID0gMC40NzgzNzMwMDMzNzM1NDM2LCBbImJveSwxNSwyLDEsMCw3LDQsMTMiXSA9IDAuMjA5MDg5NjM1ODAzMTE0MDIsIFsiYm95LDE1LDIsMSwwLDcsNCwxNCJdID0gMC43NTE3MDk4NTg2NjI0OTY2MiwgWyJib3ksMTUsMiwxLDAsNyw0LDE1Il0gPSAwLjM5MTQwMTMwNzU2MjI1MDQ0LCBbImJveSwxNSwyLDEsMCw3LDQsMjUiXSA9IDAuNDI2NzU1OTYwNzI2NDM1OTYsIFsiYm95LDE1LDIsMSwwLDcsNCwyNiJdID0gMC41NTkyNDczOTg1MTM2ODc2NSwgWyJib3ksMTUsMiwxLDAsNyw0LDI3Il0gPSAwLjU2MTYyNzY1NTY0NjMwNTEyLCBbImJveSwxNSwyLDEsMCw3LDQsMzEiXSA9IDAuOTIzOTMzMDk0NDI1MTc4NjgsIFsiYm95LDE1LDIsMSwwLDcsNCwzMiJdID0gMC4xODQ1NzUxOTY2ODU5Mjg1OSwgWyJib3ksMTUsMiwxLDAsNyw0LDMzIl0gPSAwLjgwNTUxNDI3NDE1MzYzNDA4LCBbImJveSwxNSwyLDEsMCw3LDQsMzQiXSA9IDAuNjIzMTQ4NTcxNzQ2MzExNDQsIFsiYm95LDE1LDIsMSwwLDcsNCwzNSJdID0gMC42NDU3Nzg0OTQ3ODM0NTI4NCwgWyJib3ksMTUsMiwxLDAsNyw0LDM2Il0gPSAwLjkxMTQ2MTU4MDQ2MjI5MDk4LCBbImJveSwxNSwyLDEsMTQsNSw1LDEiXSA9IDAuMTM5MDQ3NzY2MDg1NDAyNTksIFsiYm95LDE1LDIsMSwxNCw1LDUsNCJdID0gMC44NDU5ODkwMTI0NDMzNzQ4OCwgWyJib3ksMTUsMiwxLDE0LDUsNSw1Il0gPSAwLjIyMTM5MTgxNDUxNDQ4NTk3LCBbImJveSwxNSwyLDEsMTQsNSw1LDYiXSA9IDAuMTYxNjE4NjM1OTg1NTA1NjMsIFsiYm95LDE1LDIsMSwxNCw1LDUsNyJdID0gMC45NTAzNTcyNjMxNTAzODQwNSwgWyJib3ksMTUsMiwxLDE0LDUsNSwxMCJdID0gMC41NzI3MDQ2NjEzNjAwOTQxMiwgWyJib3ksMTUsMiwxLDE0LDUsNSwxMSJdID0gMC4wOTg1MTkyNjY1NzQ5OTI1NDgsIFsiYm95LDE1LDIsMSwxNCw1LDUsMTIiXSA9IDAuODMxNDk3ODU5NzMzNDYyMTMsIFsiYm95LDE1LDIsMSwxNCw1LDUsMTMiXSA9IDAuMzQwNTIwNjU1NjE1OTgzNjYsIFsiYm95LDE1LDIsMSwxNCw1LDUsMTQiXSA9IDAuNzk1MTgzNTkwNDM1ODU5MDcsIFsiYm95LDE1LDIsMSwxNCw1LDUsMTUiXSA9IDAuNjM0NjU5MTA5MDg0OTgxNTgsIFsiYm95LDE1LDIsMSwxNCw1LDUsMTYiXSA9IDAuMDk5NTM2NTA1NTczNzUxODIxLCBbImJveSwxNSwyLDEsMTQsNSw1LDI1Il0gPSAwLjg3NjU5Njc1MTI5MzI4ODYyLCBbImJveSwxNSwyLDEsMTQsNSw1LDI2Il0gPSAwLjc2NzUxOTY5NjY2NDU2NjEsIFsiYm95LDE1LDIsMSwxNCw1LDUsMjciXSA9IDAuNjc4MDc3Mzk0MjI2NDY3OTYsIFsiYm95LDE1LDIsMSwxNCw1LDUsMjgiXSA9IDAuODMyNjA1NjEzMTA2NDkwMjgsIFsiYm95LDE1LDIsMSwxNCw1LDUsMzEiXSA9IDAuMDIzNDE1NTUyNzY0NDM4ODUyLCBbImJveSwxNSwyLDEsMTQsNSw1LDMyIl0gPSAwLjM0OTYyODMyODc4MTE2MTI0LCBbImJveSwxNSwyLDEsMTQsNSw1LDMzIl0gPSAwLjg5MDM5NzU2MDYxOTQwODMzLCBbImJveSwxNSwyLDEsMTQsNSw1LDM0Il0gPSAwLjQ5NDUzMTU1NDA5OTk4Nzk1LCBbImJveSwxNSwyLDEsMTQsNSw1LDM1Il0gPSAwLjExNDQ4MTA3MTg1ODE0NTcxLCBbImJveSwxNSwyLDEsMTQsNSw1LDM2Il0gPSAwLjQ4MzU0NjQ4NjU1MjEzMTA2LCBbImJveSwxNSwyLDEsMTQsNSw1LDM3Il0gPSAwLjExMjM3ODk4Mzc5MTA2NzM3LCBbImJveSwxNSw0LDEsMTQsNSw1LDEiXSA9IDAuOTk1NTA1NzIzODg0MDg4MzEsIFsiYm95LDE1LDQsNSwwLDcsNCw0Il0gPSAwLjY3MTAxNTcyMjM0NjEwMzc0LCBbImJveSwxNSw0LDUsMCw3LDQsNSJdID0gMC4xMzMxODQ2MjYxNDM3MTQ2MiwgWyJib3ksMTUsNCw1LDAsNyw0LDEwIl0gPSAwLjQwMzU4Mjk5ODMyMzEwNDUxLCBbImJveSwxNSw0LDUsMCw3LDQsMTEiXSA9IDAuMjkzMDU4ODY3MDcxMjIyNjQsIFsiYm95LDE1LDQsNSwwLDcsNCwxMiJdID0gMC45NDA5OTc2OTYzMjU2Mjk5MSwgWyJib3ksMTUsNCw1LDAsNyw0LDE2Il0gPSAwLjY0MTc5MjcwODA0OTY0MTcyLCBbImJveSwxNSw0LDUsMCw3LDQsMTciXSA9IDAuMjQ3MjkwNDg1NDM2NDI4MTgsIFsiYm95LDE1LDQsNSwwLDcsNCwxOCJdID0gMC42OTI3MjUyODM4OTIxMzQ3MiwgWyJib3ksMTUsNCw1LDAsNyw0LDI4Il0gPSAwLjQxNTU5Mjg4MjM4MjU4NDA3LCBbImJveSwxNSw0LDUsMCw3LDQsMjkiXSA9IDAuNTk2NDAxOTk4Mjk5MTQ0MiwgWyJib3ksMTUsNCw1LDAsNyw0LDMwIl0gPSAwLjI1MTg4MzIwOTU2MzE5MjIxLCBbImJveSwxNSw0LDUsMCw3LDQsMzQiXSA9IDAuMDEyOTI5NDkyNzQ4OTIwNTI0LCBbImJveSwxNSw0LDUsMCw3LDQsMzUiXSA9IDAuMDQzMjU1MzkzNjQ2MjA4MTE4LCBbImJveSwxNSw0LDUsMCw3LDQsMzYiXSA9IDAuOTUxOTE1MzY4NjI1MTQ4MjUsIFsiYm95LDE1LDQsNSwwLDcsNCwzNyJdID0gMC4xNzM0Mzc4NTE2NDAyMzE1MSwgWyJib3ksMTUsNCw1LDAsNyw0LDQ5Il0gPSAwLjEwMTc0NDI4MTYzNDYyMDM1LCBbImJveSwxNSw0LDUsMCw3LDQsNTAiXSA9IDAuOTA3NjgyODIyNzY5Nzg1NzQsIFsiYm95LDE1LDQsNSwwLDcsNCw1MSJdID0gMC4yODUzMzI0NTMwNDM4NDYzNiwgWyJib3ksMTUsNCw1LDAsNyw0LDUyIl0gPSAwLjg4NDAwNDE0OTYyNDI5MzYzLCBbImJveSwxNSw0LDUsMCw3LDQsNTMiXSA9IDAuNTIxMTI1NTI5OTMwMDY2NzgsIFsiYm95LDE1LDQsNSwwLDcsNCw1NCJdID0gMC41MDEzMTI2NzQ3MTA1MzQwOSwgWyJib3ksMTUsNCw1LDE0LDUsNSw0Il0gPSAwLjI0ODI4NDQ2MzYyODkyMDU0LCBbImJveSwxNSw0LDUsMTQsNSw1LDUiXSA9IDAuNjUwODQxOTM0MjU1ODA0MjgsIFsiYm95LDE1LDQsNSwxNCw1LDUsNiJdID0gMC4wMDA2MzA3OTM2Njc4OTU3NTcwOCwgWyJib3ksMTUsNCw1LDE0LDUsNSwxMCJdID0gMC40NDA2Njg5MTg4NTAwMDI1OSwgWyJib3ksMTUsNCw1LDE0LDUsNSwxMSJdID0gMC4wOTc0OTYxMTc3MjcxMzg3MzEsIFsiYm95LDE1LDQsNSwxNCw1LDUsMTIiXSA9IDAuOTkxNDMzODk4OTE1NDE5NjYsIFsiYm95LDE1LDQsNSwxNCw1LDUsMTMiXSA9IDAuMjcwNzA4NTg4Njg0NDY2OSwgWyJib3ksMTUsNCw1LDE0LDUsNSwxNiJdID0gMC4xNjY2ODk5MjEzODczNzczNywgWyJib3ksMTUsNCw1LDE0LDUsNSwxNyJdID0gMC42MTMyNDA0NDMzMDIzNzQzNywgWyJib3ksMTUsNCw1LDE0LDUsNSwxOCJdID0gMC4zMzM0MzA1NTEwNzI1Nzk0NiwgWyJib3ksMTUsNCw1LDE0LDUsNSwxOSJdID0gMC44MDAyMzQ0MTU4MDExMzcxOSwgWyJib3ksMTUsNCw1LDE0LDUsNSwyOCJdID0gMC40NjA0NDI1MDA1MTE2NjM0NywgWyJib3ksMTUsNCw1LDE0LDUsNSwyOSJdID0gMC4xMTA5OTMzMjk1OTMyMDM1MiwgWyJib3ksMTUsNCw1LDE0LDUsNSwzMCJdID0gMC42MjEyMjY5MzQwMzg1MjIxNCwgWyJib3ksMTUsNCw1LDE0LDUsNSwzMSJdID0gMC43NzIzNzExNDQ3MDQ1NDY3MSwgWyJib3ksMTUsNCw1LDE0LDUsNSwzNCJdID0gMC45NjUyODY0MzI3NDgyMTU1NywgWyJib3ksMTUsNCw1LDE0LDUsNSwzNSJdID0gMC44Nzk2Njc0MjkyMjYxOTgxMiwgWyJib3ksMTUsNCw1LDE0LDUsNSwzNiJdID0gMC44ODEzNTE0OTE3OTI0NzcxOCwgWyJib3ksMTUsNCw1LDE0LDUsNSwzNyJdID0gMC4zMjQzNjg0NjQxMjkyODAxMSwgWyJib3ksMTUsNCw1LDE0LDUsNSwzOCJdID0gMC4wMDU0ODY2OTI0NjA4MDQxMzIzLCBbImJveSwxNSw0LDUsMTQsNSw1LDQ5Il0gPSAwLjM2MjA5MzU1NTc4MDE1NDc5LCBbImJveSwxNSw0LDUsMTQsNSw1LDUwIl0gPSAwLjQxMDY2ODA5NDU2Mzk3NTM1LCBbImJveSwxNSw0LDUsMTQsNSw1LDUxIl0gPSAwLjkyMjk0ODUxMjU3ODczODg5LCBbImJveSwxNSw0LDUsMTQsNSw1LDUyIl0gPSAwLjk0MTYyODAxNjQ1MzAwODQyLCBbImJveSwxNSw0LDUsMTQsNSw1LDUzIl0gPSAwLjYxNTkzMzg0NzgyOTg1ODgzLCBbImJveSwxNSw0LDUsMTQsNSw1LDU0Il0gPSAwLjk5MDIxNjQzNjIwODQ0ODI0LCBbImJveSwxNSw0LDUsMTQsNSw1LDU1Il0gPSAwLjkxNjMyMDA0NDcwMzg1NzUzLCBbImJveSwxNSw2LDEsMCw3LDQsMTkiXSA9IDAuMDI4NzY5NDIzNjc3Mzk2MzIyLCBbImJveSwxNSw2LDEsMCw3LDQsMjAiXSA9IDAuNjIzNTIzOTM0MTE2MzYwNTMsIFsiYm95LDE1LDYsMSwwLDcsNCwyMSJdID0gMC43NDYzMTc2NzkwMDY3NjIyNywgWyJib3ksMTUsNiwxLDAsNyw0LDMxIl0gPSAwLjAxMTcwNDA2NTQ0OTU2NzI1OCwgWyJib3ksMTUsNiwxLDAsNyw0LDMyIl0gPSAwLjY2MjYwOTEyMzMwNTQ2NTE4LCBbImJveSwxNSw2LDEsMCw3LDQsMzMiXSA9IDAuMDM0ODUzNjQ4MTc4OTAyNzk2LCBbImJveSwxNSw2LDEsMCw3LDQsNDAiXSA9IDAuMzIyNTM0NDY3MTA2NDgyNDgsIFsiYm95LDE1LDYsMSwwLDcsNCw0OSJdID0gMC4yNTcwNjY1MjA3MjQzODYwNywgWyJib3ksMTUsNiwxLDAsNyw0LDUwIl0gPSAwLjU4MjIxMjAwNzg0MjQ3ODYyLCBbImJveSwxNSw2LDEsMCw3LDQsNTEiXSA9IDAuMjUwODgyMTc4NjE4MzUyODIsIFsiYm95LDE1LDYsMSwwLDcsNCw1OCJdID0gMC41NjI5ODAzNzEzMzM4MDQxOSwgWyJib3ksMTUsNiwxLDAsNyw0LDU5Il0gPSAwLjEzOTA0MTQ3Mjc3NTM5ODEzLCBbImJveSwxNSw2LDEsMCw3LDQsNjAiXSA9IDAuNDMwNDY5MjY4NzQ5MjYyMTcsIFsiYm95LDE1LDYsMSwwLDcsNCw2NyJdID0gMC4wMzQ2ODg3NDQ4MzM1NDE3ODUsIFsiYm95LDE1LDYsMSwwLDcsNCw2OCJdID0gMC4yNjE4ODM2NDA2NTkxNTcxNSwgWyJib3ksMTUsNiwxLDAsNyw0LDY5Il0gPSAwLjE0NTE2ODQ4NDQyNjAyOTkyLCBbImJveSwxNSw2LDEsMCw3LDQsNzQiXSA9IDAuNzcyNjE2MzQ4OTY3MDk5NjMsIFsiYm95LDE1LDYsMSwwLDcsNCw3NSJdID0gMC4wOTc4NDQwNTU1NDgyNjczNjEsIFsiYm95LDE1LDYsMSwwLDcsNCwxMDYiXSA9IDAuNDM2MTAwNjczODk0NTU0MzEsIFsiYm95LDE1LDYsMSwwLDcsNCwxMDciXSA9IDAuOTc5NjE1NzU3OTM2ODU4MjksIFsiYm95LDE1LDYsMSwwLDcsNCwxMDgiXSA9IDAuMzA0OTIzNzQwMjExNjU1MzYsIFsiYm95LDE1LDYsMSwwLDcsNCwxMzMiXSA9IDAuNzA5MTE5NzEwNzE4MDQyNywgWyJib3ksMTUsNiwxLDAsNyw0LDEzNCJdID0gMC4xNTQ3OTI5NTY5NTMzNDQxNiwgWyJib3ksMTUsNiwxLDAsNyw0LDEzNSJdID0gMC4xODM1OTg3NjUwOTAzNTE2NywgWyJib3ksMTUsNiwxLDE0LDUsNSwxOSJdID0gMC40MTI5OTc4NjMyODIzMDc0OCwgWyJib3ksMTUsNiwxLDE0LDUsNSwyMCJdID0gMC4zMDcxMTQyMjA3Njg2NDkwMywgWyJib3ksMTUsNiwxLDE0LDUsNSwyMSJdID0gMC40ODc3MTA1MTkzNTg2MDE3NywgWyJib3ksMTUsNiwxLDE0LDUsNSwyMiJdID0gMC41ODQ4NjI5MjE0NTIwMDkzNSwgWyJib3ksMTUsNiwxLDE0LDUsNSwzMSJdID0gMC4xMjkyMzQ2NDQ2ODgxOTYyMywgWyJib3ksMTUsNiwxLDE0LDUsNSwzMiJdID0gMC4xOTk0MzM5NjQ3ODUzODE3OCwgWyJib3ksMTUsNiwxLDE0LDUsNSwzMyJdID0gMC45MDY3Njk2NjM1NzgzNjA2NCwgWyJib3ksMTUsNiwxLDE0LDUsNSwzNCJdID0gMC43MTQ2OTM0NDY4MzMyOTk3MiwgWyJib3ksMTUsNiwxLDE0LDUsNSw0MCJdID0gMC41MDI3Mjc4NzQzMTk5MTc1LCBbImJveSwxNSw2LDEsMTQsNSw1LDQxIl0gPSAwLjE0NzU3MDQ2Mjk5Nzk4MTcxLCBbImJveSwxNSw2LDEsMTQsNSw1LDQ5Il0gPSAwLjQ1MDI2OTgyMjE3OTc4ODA2LCBbImJveSwxNSw2LDEsMTQsNSw1LDUwIl0gPSAwLjE1MTIzOTgyODE0NTcyNTIzLCBbImJveSwxNSw2LDEsMTQsNSw1LDUxIl0gPSAwLjQwOTE2NjUwMDcwNjQ3MjY1LCBbImJveSwxNSw2LDEsMTQsNSw1LDUyIl0gPSAwLjMzMDIzODkzMzQxNjQyOTI5LCBbImJveSwxNSw2LDEsMTQsNSw1LDU4Il0gPSAwLjYxMDA1MzY1NDE3NTY2OTgxLCBbImJveSwxNSw2LDEsMTQsNSw1LDU5Il0gPSAwLjk4MjczMTU1ODkyMDY1NjQ1LCBbImJveSwxNSw2LDEsMTQsNSw1LDYwIl0gPSAwLjYwMjE2MTQ2MjY3ODU3NTE4LCBbImJveSwxNSw2LDEsMTQsNSw1LDYxIl0gPSAwLjQzMTkwMzgxNzA0NjgzNDU2LCBbImJveSwxNSw2LDEsMTQsNSw1LDY3Il0gPSAwLjI1OTAzMDU2NDMzMjY2NjQ3LCBbImJveSwxNSw2LDEsMTQsNSw1LDY4Il0gPSAwLjMzMjI3ODYwOTM1MzEyNzgxLCBbImJveSwxNSw2LDEsMTQsNSw1LDY5Il0gPSAwLjkwNzkwNjY5NDg2NjkzMzY1LCBbImJveSwxNSw2LDEsMTQsNSw1LDcwIl0gPSAwLjgxOTMwMTQwMDMxMTMwMzk0LCBbImJveSwxNSw2LDEsMTQsNSw1LDc0Il0gPSAwLjE3NzcxNzM3NTMxMDgwMzQ1LCBbImJveSwxNSw2LDEsMTQsNSw1LDc1Il0gPSAwLjA3MTU1Njg2NjU4NTM1MDA5OCwgWyJib3ksMTUsNiwxLDE0LDUsNSw3NiJdID0gMC4xMTMxOTg5MDMxODU5OTQ1NywgWyJib3ksMTUsNiwxLDE0LDUsNSwxMDYiXSA9IDAuMTE0MTQ0ODczNjQyNzQ2MTcsIFsiYm95LDE1LDYsMSwxNCw1LDUsMTA3Il0gPSAwLjA2NjgzNzA3MzAwNjYwNzkwNiwgWyJib3ksMTUsNiwxLDE0LDUsNSwxMDgiXSA9IDAuODEzMDU3Nzc3MTM4MDgyNjksIFsiYm95LDE1LDYsMSwxNCw1LDUsMTA5Il0gPSAwLjgwMDM0OTQyMTk0MjM2NzAyLCBbImJveSwxNSw2LDEsMTQsNSw1LDEzMyJdID0gMC4wNzEwNTYwNzE4MzEyOTg2OTUsIFsiYm95LDE1LDYsMSwxNCw1LDUsMTM0Il0gPSAwLjE3NzMwNjk5OTg5MTAyNTcyLCBbImJveSwxNSw2LDEsMTQsNSw1LDEzNSJdID0gMC4yNjIyODc2MDQ0NTM5NjEwNCwgWyJib3ksMTUsNiwxLDE0LDUsNSwxMzYiXSA9IDAuMzAzODM5NDI3NjA3Mjg1MzMsIFsiYm95LDE1LDgsNSwwLDcsNCw0MyJdID0gMC42ODEzOTczNzYyOTY3NzAyMiwgWyJib3ksMTUsOCw1LDAsNyw0LDQ0Il0gPSAwLjEwMjA2MjMzNzMwODQ2OTI1LCBbImJveSwxNSw4LDUsMCw3LDQsNDUiXSA9IDAuNjYwODE2NjE2NzYzMTc4MTYsIFsiYm95LDE1LDgsNSwwLDcsNCw1NSJdID0gMC4zMzA3MjA1NjI3NTA0ODUyMywgWyJib3ksMTUsOCw1LDAsNyw0LDU2Il0gPSAwLjA1MzQxNDMwOTAzMTI2NDg3MywgWyJib3ksMTUsOCw1LDAsNyw0LDU3Il0gPSAwLjI5MTYwNTQ5MTA3MzYwMjU2LCBbImJveSwxNSw4LDUsMCw3LDQsNzMiXSA9IDAuNTc0NDEzMDIyNjA5NDkyMzQsIFsiYm95LDE1LDgsNSwwLDcsNCw3NCJdID0gMC4xMzY5NTMyODIzMjYxNjYxLCBbImJveSwxNSw4LDUsMCw3LDQsNzUiXSA9IDAuMTk2NDg5ODAxMDEzMzIzNTgsIFsiYm95LDE1LDgsNSwwLDcsNCw4MiJdID0gMC4zNzUxOTU1MDA0MTM5NzMzMiwgWyJib3ksMTUsOCw1LDAsNyw0LDgzIl0gPSAwLjMyNzgwMTkxNTkyODY5MjY4LCBbImJveSwxNSw4LDUsMCw3LDQsODQiXSA9IDAuMTEwOTg5NjUwNzcwNTEyODIsIFsiYm95LDE1LDgsNSwwLDcsNCw5MSJdID0gMC4wNDc0ODc0MjM4NzE1MjkwNDQsIFsiYm95LDE1LDgsNSwwLDcsNCw5MiJdID0gMC42ODY2MjY4NDQ0MTY4MzM1MywgWyJib3ksMTUsOCw1LDAsNyw0LDkzIl0gPSAwLjA4NTM5NzMzNDE1MzA4OTU4OCwgWyJib3ksMTUsOCw1LDAsNyw0LDk3Il0gPSAwLjIyNDc2MDM1MzIzOTUxNTQ5LCBbImJveSwxNSw4LDUsMCw3LDQsOTgiXSA9IDAuNjI1NDc2NDc0Nzg2MTMyMTEsIFsiYm95LDE1LDgsNSwwLDcsNCw5OSJdID0gMC41MzQzNDU2OTg3NTY2NTUyNywgWyJib3ksMTUsOCw1LDAsNyw0LDEzMCJdID0gMC4xODExMTU2MTUwMDYyOTMzNiwgWyJib3ksMTUsOCw1LDAsNyw0LDEzMSJdID0gMC4zMzYyNDM3NDExNjY0Mjk2MywgWyJib3ksMTUsOCw1LDAsNyw0LDEzMiJdID0gMC45MDUzNjA3OTM5OTQ4MzM4MiwgWyJib3ksMTUsOCw1LDAsNyw0LDE1NyJdID0gMC4wMjM5ODM2MzM1NTI5NzUyODEsIFsiYm95LDE1LDgsNSwwLDcsNCwxNTgiXSA9IDAuMzU4NzYxMDY1MzA2ODM1ODIsIFsiYm95LDE1LDgsNSwwLDcsNCwxNTkiXSA9IDAuMzA2NjgyNzkxMDc1ODM1ODUsIFsiYm95LDE1LDgsNSwxNCw1LDUsNDMiXSA9IDAuMzQ4OTkyNzI5Mjc0OTYyNjEsIFsiYm95LDE1LDgsNSwxNCw1LDUsNDQiXSA9IDAuMjkzODYyODU3NjU3NTYyODEsIFsiYm95LDE1LDgsNSwxNCw1LDUsNDUiXSA9IDAuMzIyNTQ0ODgxNDA1MTk3NjYsIFsiYm95LDE1LDgsNSwxNCw1LDUsNDYiXSA9IDAuNDQ4NDI1NjE5MDkyNjY1NjUsIFsiYm95LDE1LDgsNSwxNCw1LDUsNTUiXSA9IDAuNTYyMDg4NDgwNTc4OTA4NTksIFsiYm95LDE1LDgsNSwxNCw1LDUsNTYiXSA9IDAuOTQyOTEwNDEwNDUwOTc3NTcsIFsiYm95LDE1LDgsNSwxNCw1LDUsNTciXSA9IDAuNzQzNDQzODYwNzIyMTA3MjIsIFsiYm95LDE1LDgsNSwxNCw1LDUsNTgiXSA9IDAuNjM3OTg3MDMwNjgyMjU0ODIsIFsiYm95LDE1LDgsNSwxNCw1LDUsNzMiXSA9IDAuOTgyMzAwMDIyNzEwMDIyNywgWyJib3ksMTUsOCw1LDE0LDUsNSw3NCJdID0gMC43MDkyMjk1OTQyODcwOTE0MiwgWyJib3ksMTUsOCw1LDE0LDUsNSw3NSJdID0gMC44NTI0OTUwMzUzODk3ODI2NiwgWyJib3ksMTUsOCw1LDE0LDUsNSw3NiJdID0gMC43NDM1NzM2NTk5MzM1Mzk4NSwgWyJib3ksMTUsOCw1LDE0LDUsNSw4MiJdID0gMC4zNjQyNDQyMDEyMjc5OTcxNywgWyJib3ksMTUsOCw1LDE0LDUsNSw4MyJdID0gMC40MDcyNTMzOTY2NDUwODI2NCwgWyJib3ksMTUsOCw1LDE0LDUsNSw4NCJdID0gMC42NTE2ODEzMTE5OTk4NTMwMiwgWyJib3ksMTUsOCw1LDE0LDUsNSw4NSJdID0gMC4zOTE2MDQ0MTAyNzI4NzUwNywgWyJib3ksMTUsOCw1LDE0LDUsNSw5MSJdID0gMC4zNzM4NzU1NTUyNjgxODczOSwgWyJib3ksMTUsOCw1LDE0LDUsNSw5MiJdID0gMC44NzI3Njc2OTU5NzA1MzU3MiwgWyJib3ksMTUsOCw1LDE0LDUsNSw5MyJdID0gMC44NDg5MTMyOTI5NzEwNDYxMiwgWyJib3ksMTUsOCw1LDE0LDUsNSw5NCJdID0gMC4wNTk2NzY5MDA2MDE2NzYxODYsIFsiYm95LDE1LDgsNSwxNCw1LDUsOTciXSA9IDAuMjU1NTAzMjkzOTUzMjQ1NzgsIFsiYm95LDE1LDgsNSwxNCw1LDUsOTgiXSA9IDAuMjYzNTg4MDk2MzI5NzQxNjcsIFsiYm95LDE1LDgsNSwxNCw1LDUsOTkiXSA9IDAuMzc4MjIwMjQzMzg2MzI3MDksIFsiYm95LDE1LDgsNSwxNCw1LDUsMTAwIl0gPSAwLjU2MjQyNTU1MDk3ODY2MTc2LCBbImJveSwxNSw4LDUsMTQsNSw1LDEzMCJdID0gMC42MDY0NjU1MzEyODc3MDk4NiwgWyJib3ksMTUsOCw1LDE0LDUsNSwxMzEiXSA9IDAuODQxNzc2ODg1NDc4MzEwOTgsIFsiYm95LDE1LDgsNSwxNCw1LDUsMTMyIl0gPSAwLjg1NzMwNjQ0MTQzMDE2MTIxLCBbImJveSwxNSw4LDUsMTQsNSw1LDEzMyJdID0gMC4wNjA1OTIzNDMxNzQwMTY5NiwgWyJib3ksMTUsOCw1LDE0LDUsNSwxNTciXSA9IDAuOTc3NDc5MjkyNjQzMTMzMDUsIFsiYm95LDE1LDgsNSwxNCw1LDUsMTU4Il0gPSAwLjAzNzA2MjIwMzY4MzQ5Mzc3NywgWyJib3ksMTUsOCw1LDE0LDUsNSwxNTkiXSA9IDAuNTA2MTIwMjYzMTY5MTYxNDgsIFsiYm95LDE1LDgsNSwxNCw1LDUsMTYwIl0gPSAwLjc5MjU5MjIyNTQzODQ1ODMxLCBbImJveSwxNiwyLDEsMCw3LDQsMSJdID0gMC42MzQyMjE2OTE4NjczOTQxOSwgWyJib3ksMTYsMiwxLDAsNyw0LDIiXSA9IDAuMjU1NzQ3MTM0Mzk3NTgxOSwgWyJib3ksMTYsMiwxLDAsNyw0LDMiXSA9IDAuODE1MDE1MDU0MDQwNDc2NTgsIFsiYm95LDE2LDIsMSwwLDcsNCw3Il0gPSAwLjg5NzYzMDgwNzE2OTk2ODEzLCBbImJveSwxNiwyLDEsMCw3LDQsOCJdID0gMC42NjgxMjg1OTk3NjQ4MDY3NiwgWyJib3ksMTYsMiwxLDAsNyw0LDkiXSA9IDAuMjIxMDcyMTcwMjkxMjQ0MzcsIFsiYm95LDE2LDIsMSwwLDcsNCwxMyJdID0gMC43NzEyNTE3MzczNzQ1NjcwOSwgWyJib3ksMTYsMiwxLDAsNyw0LDE0Il0gPSAwLjI1OTA1OTgyODQwOTA0ODg0LCBbImJveSwxNiwyLDEsMCw3LDQsMTUiXSA9IDAuNjQwNDY2Njk3MzY1NDk0MjIsIFsiYm95LDE2LDIsMSwwLDcsNCwxNiJdID0gMC4wOTc2MTA2NDc4OTYxODQ4OTksIFsiYm95LDE2LDIsMSwwLDcsNCwxNyJdID0gMC40MjM2NjM5OTc2OTk0NTYyOSwgWyJib3ksMTYsMiwxLDAsNyw0LDE4Il0gPSAwLjM3MDI1OTIxNjM4Mjc4MzU4LCBbImJveSwxNiwyLDEsMCw3LDQsMjgiXSA9IDAuNTY0MjYzMzE2MDM3MDE2MjksIFsiYm95LDE2LDIsMSwwLDcsNCwyOSJdID0gMC4wNjgzMjg1NTU1MjIzNDg3MzMsIFsiYm95LDE2LDIsMSwwLDcsNCwzMCJdID0gMC4xNjI1MDM3NjQ0MDk3MjA3LCBbImJveSwxNiwyLDEsMCw3LDQsMzQiXSA9IDAuMDEwMTMyOTE2Njk0NzAxNzMyLCBbImJveSwxNiwyLDEsMCw3LDQsMzUiXSA9IDAuNjcwODM1NjQ5ODk5NjU3NzIsIFsiYm95LDE2LDIsMSwwLDcsNCwzNiJdID0gMC45OTA2Mjc2MzQ5MDkzMTMyNywgWyJib3ksMTYsMiwxLDAsNyw0LDM3Il0gPSAwLjc5OTM3MzE2NjUyNzM4Nzk5LCBbImJveSwxNiwyLDEsMCw3LDQsMzgiXSA9IDAuNTY5OTg0MjExMTA2MTkxNjgsIFsiYm95LDE2LDIsMSwwLDcsNCwzOSJdID0gMC4yMDg3ODM3NDAyNjg2MDA1OCwgWyJib3ksMTYsMiwxLDE0LDUsNSwxIl0gPSAwLjQ0OTE3ODI4NTgwNzkxNzg1LCBbImJveSwxNiwyLDEsMTQsNSw1LDIiXSA9IDAuOTE4MDQwNzc4OTU2NDMwNjYsIFsiYm95LDE2LDIsMSwxNCw1LDUsMyJdID0gMC4wNzk2MDQxMjg3NjI2NzYzMDcsIFsiYm95LDE2LDIsMSwxNCw1LDUsNCJdID0gMC45MTQyMjAyNDY5NjI1NzIyLCBbImJveSwxNiwyLDEsMTQsNSw1LDciXSA9IDAuNjUyNzcxOTIxMTg1ODQ3ODEsIFsiYm95LDE2LDIsMSwxNCw1LDUsOCJdID0gMC4yODY1MTI5NDc1ODY2MTMyOCwgWyJib3ksMTYsMiwxLDE0LDUsNSw5Il0gPSAwLjEyODUxODc4Nzg1ODk1ODQzLCBbImJveSwxNiwyLDEsMTQsNSw1LDEwIl0gPSAwLjk0NDAyNDQ5OTU5MTEwNzM1LCBbImJveSwxNiwyLDEsMTQsNSw1LDEzIl0gPSAwLjMwMTM4NzgyMzkyNjc5Njg2LCBbImJveSwxNiwyLDEsMTQsNSw1LDE0Il0gPSAwLjMzMTQ4NjgwOTMxOTc5NTU3LCBbImJveSwxNiwyLDEsMTQsNSw1LDE1Il0gPSAwLjMwNTEyODM0NTQxNTk0OTI0LCBbImJveSwxNiwyLDEsMTQsNSw1LDE2Il0gPSAwLjQzNjE0NDE2ODY3MDg1MjI2LCBbImJveSwxNiwyLDEsMTQsNSw1LDE3Il0gPSAwLjA1MTA0NTIwNDg1NDc0ODI4MywgWyJib3ksMTYsMiwxLDE0LDUsNSwxOCJdID0gMC4yODM0MTI5NzY3OTE5NjgyLCBbImJveSwxNiwyLDEsMTQsNSw1LDE5Il0gPSAwLjgxNTEwNTAxMTQwOTczODIzLCBbImJveSwxNiwyLDEsMTQsNSw1LDI4Il0gPSAwLjcxMDQyOTA4Mzg5MDIzODUxLCBbImJveSwxNiwyLDEsMTQsNSw1LDI5Il0gPSAwLjM3Mzc1NTE4MDE5NTczOTUsIFsiYm95LDE2LDIsMSwxNCw1LDUsMzAiXSA9IDAuMzA2MDUyOTIwMzIxMTYzMDUsIFsiYm95LDE2LDIsMSwxNCw1LDUsMzEiXSA9IDAuNjY4ODQxNDAyMTc3OTU0MjksIFsiYm95LDE2LDIsMSwxNCw1LDUsMzQiXSA9IDAuNDYzNzQwOTAyOTU5OTIxMzIsIFsiYm95LDE2LDIsMSwxNCw1LDUsMzUiXSA9IDAuODczOTQzMTI5MTI3NTQ3MDEsIFsiYm95LDE2LDIsMSwxNCw1LDUsMzYiXSA9IDAuOTYzNjUzOTQ5NzQyNjU3NzIsIFsiYm95LDE2LDIsMSwxNCw1LDUsMzciXSA9IDAuMTk2NTczMzA4MzAwOTIzNTcsIFsiYm95LDE2LDIsMSwxNCw1LDUsMzgiXSA9IDAuNTA4OTA0NjczNjczNDg5NDYsIFsiYm95LDE2LDIsMSwxNCw1LDUsMzkiXSA9IDAuMDY5OTM1NzU0MjAwMjc5ODY1LCBbImJveSwxNiwyLDEsMTQsNSw1LDQwIl0gPSAwLjE0MzU2NjA5NDQ2NzAwMjUzLCBbImJveSwxNiw0LDUsMCw3LDQsMSJdID0gMC40NzAzMjkwMDU1OTMwODU3NywgWyJib3ksMTYsNCw1LDAsNyw0LDIiXSA9IDAuMTI4NzMzMDU0OTU0NTkyMiwgWyJib3ksMTYsNCw1LDAsNyw0LDMiXSA9IDAuMzQ0NDM0MDQ3NTMyMzMwNjQsIFsiYm95LDE2LDQsNSwwLDcsNCw3Il0gPSAwLjk1Nzk3ODMyODU5ODQxNDAzLCBbImJveSwxNiw0LDUsMCw3LDQsOCJdID0gMC45MjI5NDcwNTY2ODI3MjA0OCwgWyJib3ksMTYsNCw1LDAsNyw0LDkiXSA9IDAuMzYwNTkxMjIwNzU5NjA1ODEsIFsiYm95LDE2LDQsNSwwLDcsNCwxMyJdID0gMC4zMzE0NzEyNTM1MTAwMDI2MiwgWyJib3ksMTYsNCw1LDAsNyw0LDE0Il0gPSAwLjY4NTQyMzc5MzgyNzYwODQzLCBbImJveSwxNiw0LDUsMCw3LDQsMTUiXSA9IDAuNzkzMDk4OTA1MDcwNjI0OTcsIFsiYm95LDE2LDQsNSwwLDcsNCwyNSJdID0gMC44NjkxNDM4MDI0NTY1NDM2NiwgWyJib3ksMTYsNCw1LDAsNyw0LDI2Il0gPSAwLjk2ODg3NTY5NTcxOTk5NjIxLCBbImJveSwxNiw0LDUsMCw3LDQsMjciXSA9IDAuNjY5OTY2OTczODY4MzQwMDMsIFsiYm95LDE2LDQsNSwwLDcsNCwzMSJdID0gMC4xNjY0OTcwODg2MTI5NzQ0MSwgWyJib3ksMTYsNCw1LDAsNyw0LDMyIl0gPSAwLjMzODA3ODgzMTc4NDQ0OTQyLCBbImJveSwxNiw0LDUsMCw3LDQsMzMiXSA9IDAuNzExOTM5ODc5Mzk2MDQxNjQsIFsiYm95LDE2LDQsNSwwLDcsNCwzNCJdID0gMC42MDg0OTUzNDQxODc2OTg3OSwgWyJib3ksMTYsNCw1LDAsNyw0LDM1Il0gPSAwLjU2ODM5OTg0NTk2MDA3MzY1LCBbImJveSwxNiw0LDUsMCw3LDQsMzYiXSA9IDAuMTU5NzQxNTk1NDUxNDM1ODUsIFsiYm95LDE2LDQsNSwwLDcsNCw0NiJdID0gMC42MzcwNzM2NDU2OTQ4MjExNywgWyJib3ksMTYsNCw1LDAsNyw0LDQ3Il0gPSAwLjI5NDMwNzk0NTU0Nzk3MjksIFsiYm95LDE2LDQsNSwwLDcsNCw0OCJdID0gMC4zNzk4NTQyMTk3NzU5MzY3LCBbImJveSwxNiw0LDUsMCw3LDQsNDkiXSA9IDAuMDY3Njc5MTMxNjA0MzgyMTAzLCBbImJveSwxNiw0LDUsMCw3LDQsNTAiXSA9IDAuODg0MzU4MDU2MjkzMjIxNCwgWyJib3ksMTYsNCw1LDAsNyw0LDUxIl0gPSAwLjc3NjYxNTMwMjUzOTYxMDA5LCBbImJveSwxNiw0LDUsMTQsNSw1LDEiXSA9IDAuMjYxMDk3NjU3MjUyMTIxNzUsIFsiYm95LDE2LDQsNSwxNCw1LDUsMiJdID0gMC40NTE0Njg2MTQzNzQxNDUwOSwgWyJib3ksMTYsNCw1LDE0LDUsNSwzIl0gPSAwLjg5MDM4ODcwNjgyMTI1NzQ4LCBbImJveSwxNiw0LDUsMTQsNSw1LDQiXSA9IDAuMzAzNDc4MDQ4NDIyNTM0MzQsIFsiYm95LDE2LDQsNSwxNCw1LDUsNyJdID0gMC4xNjUxMjUzNDQ3OTU3MTg2MSwgWyJib3ksMTYsNCw1LDE0LDUsNSw4Il0gPSAwLjc2MjM3MjI3OTAwNzc3ODkzLCBbImJveSwxNiw0LDUsMTQsNSw1LDkiXSA9IDAuOTUwNzQ3NDk4OTM2Nzc5NDYsIFsiYm95LDE2LDQsNSwxNCw1LDUsMTAiXSA9IDAuNDYxMzA3NzM3MjMyNjY1MjcsIFsiYm95LDE2LDQsNSwxNCw1LDUsMTMiXSA9IDAuNzA1ODUzMjc5MjQxNjQxNjUsIFsiYm95LDE2LDQsNSwxNCw1LDUsMTQiXSA9IDAuNjA0MTE3NDExMjM4NzM1MDgsIFsiYm95LDE2LDQsNSwxNCw1LDUsMTUiXSA9IDAuNTE4NTU2MjA4NTE3NzIxNTUsIFsiYm95LDE2LDQsNSwxNCw1LDUsMTYiXSA9IDAuMDI3NDk0Mzg2MjcwNzgxOTM0LCBbImJveSwxNiw0LDUsMTQsNSw1LDI1Il0gPSAwLjk1OTQxNTQ3NDk5Njc4NzgxLCBbImJveSwxNiw0LDUsMTQsNSw1LDI2Il0gPSAwLjUwMzU3MzI0ODgzNDY0MTgzLCBbImJveSwxNiw0LDUsMTQsNSw1LDI3Il0gPSAwLjgyODAwMzQ4ODM2MDQ5MzQyLCBbImJveSwxNiw0LDUsMTQsNSw1LDI4Il0gPSAwLjU5ODk5MjY2NjIxMzAyODI3LCBbImJveSwxNiw0LDUsMTQsNSw1LDMxIl0gPSAwLjQ5NTM5MDIyMTEwNzg1ODQ2LCBbImJveSwxNiw0LDUsMTQsNSw1LDMyIl0gPSAwLjI2Mjg1Mjk4MDMxMjE4OTI5LCBbImJveSwxNiw0LDUsMTQsNSw1LDMzIl0gPSAwLjk2NjgyODU5NTU3ODQ4NDExLCBbImJveSwxNiw0LDUsMTQsNSw1LDM0Il0gPSAwLjIyMjM3OTk2OTYyNTUzNjYzLCBbImJveSwxNiw0LDUsMTQsNSw1LDM1Il0gPSAwLjIxOTEyNzkzODg0NzE0MTY2LCBbImJveSwxNiw0LDUsMTQsNSw1LDM2Il0gPSAwLjY4MjY4MTEwMzg2Mzk3MDYzLCBbImJveSwxNiw0LDUsMTQsNSw1LDM3Il0gPSAwLjA2MTQ1MTcxMjE5NDg4MzY1NiwgWyJib3ksMTYsNCw1LDE0LDUsNSw0NiJdID0gMC41MjU2MDg2MTM2NzA5NzQ3OCwgWyJib3ksMTYsNCw1LDE0LDUsNSw0NyJdID0gMC40NjIwNjMzODAxMzc4ODU3MywgWyJib3ksMTYsNCw1LDE0LDUsNSw0OCJdID0gMC4xNjEyODUxMTkyMTEzNjEzNSwgWyJib3ksMTYsNCw1LDE0LDUsNSw0OSJdID0gMC41Mzc5Njg2Mjg3MTUyMzkyMSwgWyJib3ksMTYsNCw1LDE0LDUsNSw1MCJdID0gMC43NzQxNDc5NDkwMTMyNjk4OSwgWyJib3ksMTYsNCw1LDE0LDUsNSw1MSJdID0gMC43MDEyOTY0NDIzODI3NjE0NSwgWyJib3ksMTYsNCw1LDE0LDUsNSw1MiJdID0gMC44NTY5MDY4ODc2OTA4NTI3NywgWyJib3ksMTYsNiwxLDAsNyw0LDIyIl0gPSAwLjcyMzI2Mjk4OTYyNTE4Mjk4LCBbImJveSwxNiw2LDEsMCw3LDQsMjMiXSA9IDAuNzIxMjg1NjkxOTcwMzkxMzgsIFsiYm95LDE2LDYsMSwwLDcsNCwyNCJdID0gMC4wNjE5MDE5ODIxOTExODY1ODksIFsiYm95LDE2LDYsMSwwLDcsNCwzNCJdID0gMC43MTc1NTc4OTI5MzE5NDM3MiwgWyJib3ksMTYsNiwxLDAsNyw0LDM1Il0gPSAwLjA0NDQ3MjYxNjUyMTQ3MTcyLCBbImJveSwxNiw2LDEsMCw3LDQsMzYiXSA9IDAuOTEzOTUwMDg1NzUwMDE3MTMsIFsiYm95LDE2LDYsMSwwLDcsNCw1MiJdID0gMC4zNDY5MzA1MDAxMjE2NjQ3MSwgWyJib3ksMTYsNiwxLDAsNyw0LDUzIl0gPSAwLjcwMTgyNDIwMzkyNjMxODUsIFsiYm95LDE2LDYsMSwwLDcsNCw1NCJdID0gMC4zMjg1OTExNTI2NjAxMzc3MiwgWyJib3ksMTYsNiwxLDAsNyw0LDYxIl0gPSAwLjM2NjkyNTIzNTM0OTI0NjA0LCBbImJveSwxNiw2LDEsMCw3LDQsNjIiXSA9IDAuODU3MjUyMzA3MDAzNjI2ODcsIFsiYm95LDE2LDYsMSwwLDcsNCw2MyJdID0gMC4zNzg4NDg1NDM2NDkxNzMzMSwgWyJib3ksMTYsNiwxLDAsNyw0LDcwIl0gPSAwLjAxNTA0MzYwMjUyOTQ2MDAyMSwgWyJib3ksMTYsNiwxLDAsNyw0LDcxIl0gPSAwLjEyNzYxNjg5NjI3NDMxMzE2LCBbImJveSwxNiw2LDEsMCw3LDQsNzIiXSA9IDAuMjg5MTE3Mjc4Nzk1NzYzODgsIFsiYm95LDE2LDYsMSwwLDcsNCw3NiJdID0gMC4zMDQ5MzQ2NzM2NzU3NjQzMiwgWyJib3ksMTYsNiwxLDAsNyw0LDc3Il0gPSAwLjQyMDU1NjQyOTMzNDA2NTU2LCBbImJveSwxNiw2LDEsMCw3LDQsNzgiXSA9IDAuOTgwMzc2MjI3MjQxNzUyMjIsIFsiYm95LDE2LDYsMSwwLDcsNCwxMDkiXSA9IDAuMzY1NzEwMTU1MDk0MTQyNjIsIFsiYm95LDE2LDYsMSwwLDcsNCwxMTAiXSA9IDAuNzYyNDU0NjE0NDgyMDE5MDEsIFsiYm95LDE2LDYsMSwwLDcsNCwxMTEiXSA9IDAuNzEyNjA0MTQwMTA3MzQ1MDcsIFsiYm95LDE2LDYsMSwwLDcsNCwxMzYiXSA9IDAuMDE2NDUxNjc4NTY2OTU3MDYyLCBbImJveSwxNiw2LDEsMCw3LDQsMTM3Il0gPSAwLjkxMzg2ODI1MTMzNDk0ODk4LCBbImJveSwxNiw2LDEsMCw3LDQsMTM4Il0gPSAwLjczMzM2MzQwMjc3NzI5MTI4LCBbImJveSwxNiw2LDEsMTQsNSw1LDIyIl0gPSAwLjE0NzAzODg0MTE3MTY1ODc3LCBbImJveSwxNiw2LDEsMTQsNSw1LDIzIl0gPSAwLjExMDE5NDg3MzQ0MDc4MjQ5LCBbImJveSwxNiw2LDEsMTQsNSw1LDI0Il0gPSAwLjI3OTIxNzc3NTgxOTIxMjQ4LCBbImJveSwxNiw2LDEsMTQsNSw1LDI1Il0gPSAwLjYyMDc2ODYxMDE0NjA4ODMxLCBbImJveSwxNiw2LDEsMTQsNSw1LDM0Il0gPSAwLjU2NjE0ODEzNzg3MTI3MzM4LCBbImJveSwxNiw2LDEsMTQsNSw1LDM1Il0gPSAwLjA1ODY5ODk1OTUyMzk2NzA4NywgWyJib3ksMTYsNiwxLDE0LDUsNSwzNiJdID0gMC4wNzYyODkzMzE2MTgxNTM2NTUsIFsiYm95LDE2LDYsMSwxNCw1LDUsMzciXSA9IDAuOTMzODk2MzMyNjkxODUzMjQsIFsiYm95LDE2LDYsMSwxNCw1LDUsNTIiXSA9IDAuNTc1MjMyNzQ2NzU3MzY5OTEsIFsiYm95LDE2LDYsMSwxNCw1LDUsNTMiXSA9IDAuNjgyNTIwOTUyNzYzNTM3NjQsIFsiYm95LDE2LDYsMSwxNCw1LDUsNTQiXSA9IDAuMDg4NDk0NDQ4MzM1NTY1MTksIFsiYm95LDE2LDYsMSwxNCw1LDUsNTUiXSA9IDAuODI4MDY0OTA0Njg2NjcyMTUsIFsiYm95LDE2LDYsMSwxNCw1LDUsNjEiXSA9IDAuNTQyMTA1MzA0NjcxMDg1MzEsIFsiYm95LDE2LDYsMSwxNCw1LDUsNjIiXSA9IDAuNzMxMTQ3NDg1MDc2MjE4MDcsIFsiYm95LDE2LDYsMSwxNCw1LDUsNjMiXSA9IDAuNTA1NDY2NjQ1NTY3NjYwMTksIFsiYm95LDE2LDYsMSwxNCw1LDUsNjQiXSA9IDAuODg3MzE1NTI5MjQxNzMwMjksIFsiYm95LDE2LDYsMSwxNCw1LDUsNzAiXSA9IDAuMzM4MDM1Mjc3NzY4NjA4MiwgWyJib3ksMTYsNiwxLDE0LDUsNSw3MSJdID0gMC44NTM4MTY2NTkzMDgxOTk3MiwgWyJib3ksMTYsNiwxLDE0LDUsNSw3MiJdID0gMC45MzQxNzE2NTUxODAyODc2NiwgWyJib3ksMTYsNiwxLDE0LDUsNSw3MyJdID0gMC4yMjI2MTM3MTMyMjkwNzk1MiwgWyJib3ksMTYsNiwxLDE0LDUsNSw3NiJdID0gMC4zMDU0NzExMTUzODg0MTMwOSwgWyJib3ksMTYsNiwxLDE0LDUsNSw3NyJdID0gMC4xOTk4MzY3NjgxNDc3MzY4OCwgWyJib3ksMTYsNiwxLDE0LDUsNSw3OCJdID0gMC43MjU1MTcyNjg3ODUyMjIyNywgWyJib3ksMTYsNiwxLDE0LDUsNSw3OSJdID0gMC4yOTE4MDg2MDc4ODU2NzA1MywgWyJib3ksMTYsNiwxLDE0LDUsNSwxMDkiXSA9IDAuOTY3NjI4MTE0MzQwMjQ5NjUsIFsiYm95LDE2LDYsMSwxNCw1LDUsMTEwIl0gPSAwLjcyMDE4Njg0MjY4MjUwNjIxLCBbImJveSwxNiw2LDEsMTQsNSw1LDExMSJdID0gMC42NDg3MzA3OTg4MTYyMjQ3NSwgWyJib3ksMTYsNiwxLDE0LDUsNSwxMTIiXSA9IDAuNjAwNzE5ODkwMTQyMjI2ODIsIFsiYm95LDE2LDYsMSwxNCw1LDUsMTM2Il0gPSAwLjYxMjU4ODI5NzIzMzI3NTQ2LCBbImJveSwxNiw2LDEsMTQsNSw1LDEzNyJdID0gMC42OTM1MTI1MTMxMTQ0MDczMSwgWyJib3ksMTYsNiwxLDE0LDUsNSwxMzgiXSA9IDAuMDk0ODg5NDI1MDk0NjQ1NzA3LCBbImJveSwxNiw2LDEsMTQsNSw1LDEzOSJdID0gMC4zNTIzODY3MDQzOTY1ODg3LCBbImJveSwxNiw4LDUsMCw3LDQsNDAiXSA9IDAuMjUzMjkwMjI0MTE2NjkyMTEsIFsiYm95LDE2LDgsNSwwLDcsNCw0MSJdID0gMC4xMzQwMTU5MzY5NzEwNTgyOSwgWyJib3ksMTYsOCw1LDAsNyw0LDQyIl0gPSAwLjg2NTc0NjYxODM1NzIyOTc3LCBbImJveSwxNiw4LDUsMCw3LDQsNTIiXSA9IDAuNzYxNDY1NDU5Nzg2NDY1NjMsIFsiYm95LDE2LDgsNSwwLDcsNCw1MyJdID0gMC45NDI0ODg1NDMzNTYzNTkyMywgWyJib3ksMTYsOCw1LDAsNyw0LDU0Il0gPSAwLjkxMDc2NDcxNzQ4NjE1ODM5LCBbImJveSwxNiw4LDUsMCw3LDQsNzAiXSA9IDAuNjEyMjI4NTc2NDgyODU1NDUsIFsiYm95LDE2LDgsNSwwLDcsNCw3MSJdID0gMC4xODg3ODQxMzA0NzUwMTk5NiwgWyJib3ksMTYsOCw1LDAsNyw0LDcyIl0gPSAwLjc1ODk1NDI0NDM1MTU5NjQyLCBbImJveSwxNiw4LDUsMCw3LDQsNzkiXSA9IDAuNzUwNTg1MDQ1MTU1MDMsIFsiYm95LDE2LDgsNSwwLDcsNCw4MCJdID0gMC4xODQ0NTU4NjY2OTY4ODA5NywgWyJib3ksMTYsOCw1LDAsNyw0LDgxIl0gPSAwLjE0OTExMjExMjcwMTI0MzgsIFsiYm95LDE2LDgsNSwwLDcsNCw4OCJdID0gMC42NDMyMDU2MTY1NTczMzc2NiwgWyJib3ksMTYsOCw1LDAsNyw0LDg5Il0gPSAwLjU4MDI5OTE4ODc2Mjk1NDcyLCBbImJveSwxNiw4LDUsMCw3LDQsOTAiXSA9IDAuMDkxMzE1MjM3NzQzMzg5MjMzLCBbImJveSwxNiw4LDUsMCw3LDQsOTQiXSA9IDAuMTgzNDM4Nzg4MDg0MDg0NDMsIFsiYm95LDE2LDgsNSwwLDcsNCw5NSJdID0gMC4wMzQ5OTk3MjUzMTE2MzY1MzEsIFsiYm95LDE2LDgsNSwwLDcsNCw5NiJdID0gMC41MDIyNDE0OTU2NTU4MDU2NywgWyJib3ksMTYsOCw1LDAsNyw0LDEyNyJdID0gMC4wMjQ5OTYyNjU0NTE1MTcyMywgWyJib3ksMTYsOCw1LDAsNyw0LDEyOCJdID0gMC4xMjYzOTMyNDkzMTQ0NjMwNSwgWyJib3ksMTYsOCw1LDAsNyw0LDEyOSJdID0gMC4yNzk5ODUzMDc2MjI1OTk3NywgWyJib3ksMTYsOCw1LDAsNyw0LDE1NCJdID0gMC4zODA2MDUxOTIzMjU0MDEyNCwgWyJib3ksMTYsOCw1LDAsNyw0LDE1NSJdID0gMC41MzQwMDU3MDU2MzcwMTMzMywgWyJib3ksMTYsOCw1LDAsNyw0LDE1NiJdID0gMC41OTk5MzIwNzczOTE3MjI5NCwgWyJib3ksMTYsOCw1LDE0LDUsNSw0MCJdID0gMC43ODc5MDQzOTc1NDYxMjc3MywgWyJib3ksMTYsOCw1LDE0LDUsNSw0MSJdID0gMC40NTk4NDg1NDg2ODQ4OTY4OSwgWyJib3ksMTYsOCw1LDE0LDUsNSw0MiJdID0gMC41ODM4ODkxMzcyMzQ3ODY1MywgWyJib3ksMTYsOCw1LDE0LDUsNSw0MyJdID0gMC4zMDA3ODUzMDYzMTk3MTE0NSwgWyJib3ksMTYsOCw1LDE0LDUsNSw1MiJdID0gMC4zMTcyNTY4NzY5MDY5MTM5NSwgWyJib3ksMTYsOCw1LDE0LDUsNSw1MyJdID0gMC40NDM5MzI2MTMwMzE4MTQ4NiwgWyJib3ksMTYsOCw1LDE0LDUsNSw1NCJdID0gMC4zMDgxOTg5MjA5MDIxOTUxNCwgWyJib3ksMTYsOCw1LDE0LDUsNSw1NSJdID0gMC45MjA4MTQ1MjY0MjUzMDQ0OCwgWyJib3ksMTYsOCw1LDE0LDUsNSw3MCJdID0gMC45NDU1OTI4MjY5ODk1MDcwOCwgWyJib3ksMTYsOCw1LDE0LDUsNSw3MSJdID0gMC43ODg1NzE1NzAwNTU2NTE5MywgWyJib3ksMTYsOCw1LDE0LDUsNSw3MiJdID0gMC45NjEwNTY5ODg1NDY0MDQ4NywgWyJib3ksMTYsOCw1LDE0LDUsNSw3MyJdID0gMC4wNDczNzU0MzA5OTg2OTYyMzMsIFsiYm95LDE2LDgsNSwxNCw1LDUsNzkiXSA9IDAuMjY2MDE3NTEyMTI2MDA3MzMsIFsiYm95LDE2LDgsNSwxNCw1LDUsODAiXSA9IDAuODU4MTgwMDQ5NTU5MzU3NjcsIFsiYm95LDE2LDgsNSwxNCw1LDUsODEiXSA9IDAuNjIzNTA2NzIxMzI1NzczODksIFsiYm95LDE2LDgsNSwxNCw1LDUsODIiXSA9IDAuMDIyMzM0ODE2NDE4NjUxODcxLCBbImJveSwxNiw4LDUsMTQsNSw1LDg4Il0gPSAwLjY1Njk4NDU1MDI3NjU0NzksIFsiYm95LDE2LDgsNSwxNCw1LDUsODkiXSA9IDAuNDMzMzA4NzQxNDE1NDExMDksIFsiYm95LDE2LDgsNSwxNCw1LDUsOTAiXSA9IDAuOTMwODgxODMzMTY1OTU1MTksIFsiYm95LDE2LDgsNSwxNCw1LDUsOTEiXSA9IDAuODczNTA3MTU0ODgzMDA0MjMsIFsiYm95LDE2LDgsNSwxNCw1LDUsOTQiXSA9IDAuNjAwMzg2NjAwODU0NTk0MTcsIFsiYm95LDE2LDgsNSwxNCw1LDUsOTUiXSA9IDAuMDgzNzMyOTk1ODI2NzUwNzU2LCBbImJveSwxNiw4LDUsMTQsNSw1LDk2Il0gPSAwLjU5OTAwMTI4NDQ0MTAzOTUxLCBbImJveSwxNiw4LDUsMTQsNSw1LDk3Il0gPSAwLjEzNDMyNTAwNzM5OTUxOTkxLCBbImJveSwxNiw4LDUsMTQsNSw1LDEyNyJdID0gMC44MDAyMTE0ODY4OTc5NjYxNywgWyJib3ksMTYsOCw1LDE0LDUsNSwxMjgiXSA9IDAuMjQxNTk4NDIxNTA1ODA0OTEsIFsiYm95LDE2LDgsNSwxNCw1LDUsMTI5Il0gPSAwLjA0MjQ1ODk5NzYwNzg0MTU1MywgWyJib3ksMTYsOCw1LDE0LDUsNSwxMzAiXSA9IDAuMTIyODgxOTc5Njk4ODc2NDksIFsiYm95LDE2LDgsNSwxNCw1LDUsMTU0Il0gPSAwLjY2NTg5NDI4NjY0ODQwOSwgWyJib3ksMTYsOCw1LDE0LDUsNSwxNTUiXSA9IDAuNTQxMzY5MjMxODM0NzE2MDgsIFsiYm95LDE2LDgsNSwxNCw1LDUsMTU2Il0gPSAwLjI5Nzk1ODExOTU4ODIzNzkyLCBbImJveSwxNiw4LDUsMTQsNSw1LDE1NyJdID0gMC4xMzkyNjA3NzEwMjAxMTI4MSwgWyJib3ksMTcsMiwxLDAsNyw0LDQiXSA9IDAuODA5OTcxNjY2MDc2NTMxNywgWyJib3ksMTcsMiwxLDAsNyw0LDUiXSA9IDAuNTEzNDQ1NjUzMjQ1NDUyNzcsIFsiYm95LDE3LDIsMSwwLDcsNCwxMCJdID0gMC41NTA3MTIxMzE5NTIyMjQxMywgWyJib3ksMTcsMiwxLDAsNyw0LDExIl0gPSAwLjAxOTg5NzQyNzY0NDYxNzc3MSwgWyJib3ksMTcsMiwxLDAsNyw0LDEyIl0gPSAwLjk4OTc2ODE1NDczMjAyMDA3LCBbImJveSwxNywyLDEsMCw3LDQsMTYiXSA9IDAuOTMxMTkxNTAwMjcwODEzOTksIFsiYm95LDE3LDIsMSwwLDcsNCwxNyJdID0gMC45NTEzNjYwNzc5NDUyMjI2NSwgWyJib3ksMTcsMiwxLDAsNyw0LDE4Il0gPSAwLjc0NDYyNTY0MTU0MDIwNjgzLCBbImJveSwxNywyLDEsMCw3LDQsMTkiXSA9IDAuODEyOTY1OTg0NTM0MzI1MzQsIFsiYm95LDE3LDIsMSwwLDcsNCwyMCJdID0gMC4xNzYyMzc0MTc0NjE5Nzg1MiwgWyJib3ksMTcsMiwxLDAsNyw0LDIxIl0gPSAwLjg1Nzk3MDM2MDA1MjMyNzQxLCBbImJveSwxNywyLDEsMCw3LDQsMzEiXSA9IDAuMjM1MTU1NjE2ODQ4MzMyNDIsIFsiYm95LDE3LDIsMSwwLDcsNCwzMiJdID0gMC42MzEyMzI3MDYwNzY4NjQ3NywgWyJib3ksMTcsMiwxLDAsNyw0LDMzIl0gPSAwLjU4MzA4ODgwNjYwNDk3Nzk3LCBbImJveSwxNywyLDEsMCw3LDQsMzciXSA9IDAuMDE0MzU3MzU2MDYyNTcwNzE0LCBbImJveSwxNywyLDEsMCw3LDQsMzgiXSA9IDAuNjg3NDA2MzIyNTc4OTU3NTEsIFsiYm95LDE3LDIsMSwwLDcsNCwzOSJdID0gMC4wNjMzNjQ4MTA3MDE2NzM1NDYsIFsiYm95LDE3LDIsMSwwLDcsNCw0MCJdID0gMC44MTY1MjUzNTcwNjUzMzg4LCBbImJveSwxNywyLDEsMCw3LDQsNDEiXSA9IDAuNzI5NzczMTA5MDc4MDIzNzMsIFsiYm95LDE3LDIsMSwwLDcsNCw0MiJdID0gMC41Mjk3OTU5MzE5MjA1MTEyMiwgWyJib3ksMTcsMiwxLDE0LDUsNSwxIl0gPSAwLjM1MjA3OTYyODg5MTE4NDQ5LCBbImJveSwxNywyLDEsMTQsNSw1LDQiXSA9IDAuNTA1MTkyOTIxODE1NDAxODcsIFsiYm95LDE3LDIsMSwxNCw1LDUsNSJdID0gMC42NDI5MzI2MTQ3MzY4ODMyMywgWyJib3ksMTcsMiwxLDE0LDUsNSw2Il0gPSAwLjAxNTMyNjU3OTIzOTA0NTM0NiwgWyJib3ksMTcsMiwxLDE0LDUsNSwxMCJdID0gMC4zMzUzMzAzMTA2NDY2NzQwNywgWyJib3ksMTcsMiwxLDE0LDUsNSwxMSJdID0gMC43MDg0ODI1MTg2Mjg2Mjc4OCwgWyJib3ksMTcsMiwxLDE0LDUsNSwxMiJdID0gMC45MzEyNjQ1NDg2NDY0NjcwMiwgWyJib3ksMTcsMiwxLDE0LDUsNSwxMyJdID0gMC43ODAxNzYxMDI5MzM1NzM0MiwgWyJib3ksMTcsMiwxLDE0LDUsNSwxNiJdID0gMC40MTk2MDM2NzMxNTcxNDk3NSwgWyJib3ksMTcsMiwxLDE0LDUsNSwxNyJdID0gMC44MTk5Mjk2NjUzNzM1MzUyOSwgWyJib3ksMTcsMiwxLDE0LDUsNSwxOCJdID0gMC4zNDA5NTE5NTIxOTU4NTgxNywgWyJib3ksMTcsMiwxLDE0LDUsNSwxOSJdID0gMC40OTM0NTI5NjE2OTQ2Njg1NywgWyJib3ksMTcsMiwxLDE0LDUsNSwyMCJdID0gMC42MTUxNzUxODA1ODM4MDg4MiwgWyJib3ksMTcsMiwxLDE0LDUsNSwyMSJdID0gMC44MDExMTEzNzc3MzM3Mzg4NiwgWyJib3ksMTcsMiwxLDE0LDUsNSwyMiJdID0gMC4xMjUyNDIyNDMwMTAwNTIzOCwgWyJib3ksMTcsMiwxLDE0LDUsNSwzMSJdID0gMC42ODg0ODEwMDUwNjU4MjE0NCwgWyJib3ksMTcsMiwxLDE0LDUsNSwzMiJdID0gMC43ODA4MjU2NDIwNjQyNDU2NSwgWyJib3ksMTcsMiwxLDE0LDUsNSwzMyJdID0gMC4yNTkzMDY1NDQzODk3MjMzNCwgWyJib3ksMTcsMiwxLDE0LDUsNSwzNCJdID0gMC4yMzU3MDU2ODE1ODM1NTU0MywgWyJib3ksMTcsMiwxLDE0LDUsNSwzNyJdID0gMC42NzYzMjE1MTc0NzMwOTQ1NSwgWyJib3ksMTcsMiwxLDE0LDUsNSwzOCJdID0gMC4zNDM4OTQyMDM4ODMxMTc2NCwgWyJib3ksMTcsMiwxLDE0LDUsNSwzOSJdID0gMC41MDAxNjY4Mjc4NTgzMywgWyJib3ksMTcsMiwxLDE0LDUsNSw0MCJdID0gMC40NzM4MzIxMTc5NDUwMTU3OCwgWyJib3ksMTcsMiwxLDE0LDUsNSw0MSJdID0gMC42MjM5MTg3NDg2Mzk1NTc2NSwgWyJib3ksMTcsMiwxLDE0LDUsNSw0MiJdID0gMC43NjE0ODk1NjA0NDk1NTcyOSwgWyJib3ksMTcsMiwxLDE0LDUsNSw0MyJdID0gMC40MzE0ODA4Mzk0NjU3Nzc2NCwgWyJib3ksMTcsNCwxLDE0LDUsNSwxIl0gPSAwLjI4MDg4MTIyOTc3MjY2NTI4LCBbImJveSwxNyw0LDUsMCw3LDQsNCJdID0gMC45OTI1MDQ4NzkzOTkyMjg2LCBbImJveSwxNyw0LDUsMCw3LDQsNSJdID0gMC43MjMyMTA1MTczNjk0NjgwNiwgWyJib3ksMTcsNCw1LDAsNyw0LDYiXSA9IDAuNTI1MTU3NjczODc4MDU0NTcsIFsiYm95LDE3LDQsNSwwLDcsNCwxMCJdID0gMC41NjI0NDgwOTEzODM0MjY0NCwgWyJib3ksMTcsNCw1LDAsNyw0LDExIl0gPSAwLjUzMDgxMTM1NjAyOTM1NzI1LCBbImJveSwxNyw0LDUsMCw3LDQsMTIiXSA9IDAuNDYwMDEwNjM0NzQ5NzUxMDEsIFsiYm95LDE3LDQsNSwwLDcsNCwyMiJdID0gMC4yODExNTQ4ODkwNjM0NzIwOCwgWyJib3ksMTcsNCw1LDAsNyw0LDIzIl0gPSAwLjA1MDMzNDcwMzE1ODc1NzA5OSwgWyJib3ksMTcsNCw1LDAsNyw0LDI0Il0gPSAwLjQ1ODM0Mzk2NDcyMDU1NDUsIFsiYm95LDE3LDQsNSwwLDcsNCwyOCJdID0gMC41MzY1ODY4NjIzOTkyOTg0MywgWyJib3ksMTcsNCw1LDAsNyw0LDI5Il0gPSAwLjM1ODIwMjY5MTAzNTE4ODc2LCBbImJveSwxNyw0LDUsMCw3LDQsMzAiXSA9IDAuMDg5MTgwOTQ5OTQ0Nzc5NzY0LCBbImJveSwxNyw0LDUsMCw3LDQsMzEiXSA9IDAuODk4NDQzNDMyMjQ3Nzc4MTIsIFsiYm95LDE3LDQsNSwwLDcsNCwzMiJdID0gMC4zMzU2MTE1Nzg4NzIwMzU5NiwgWyJib3ksMTcsNCw1LDAsNyw0LDMzIl0gPSAwLjczNjY1NzI5MjY4OTEyMzI4LCBbImJveSwxNyw0LDUsMCw3LDQsNDMiXSA9IDAuNjU3MjQ2ODM0OTg1ODYyMjMsIFsiYm95LDE3LDQsNSwwLDcsNCw0NCJdID0gMC40OTM0MDM5NDUyODU0MzU3NCwgWyJib3ksMTcsNCw1LDAsNyw0LDQ1Il0gPSAwLjM3MjI1ODg1MTk1MjkxMDY0LCBbImJveSwxNyw0LDUsMCw3LDQsNDgiXSA9IDAuMzIzMjA0MDQ5NzQwMDI0MTUsIFsiYm95LDE3LDQsNSwxNCw1LDUsNCJdID0gMC43ODY0OTc1NDk4NTI4Nzg3OSwgWyJib3ksMTcsNCw1LDE0LDUsNSw1Il0gPSAwLjE2NjI1MTAwODQyNDU5NDk1LCBbImJveSwxNyw0LDUsMTQsNSw1LDYiXSA9IDAuNTIxOTMwNTg4NzUyNzc2OTgsIFsiYm95LDE3LDQsNSwxNCw1LDUsNyJdID0gMC4xOTY5MTIzMTM0MDUwMzM0NiwgWyJib3ksMTcsNCw1LDE0LDUsNSwxMCJdID0gMC40ODMyMTUxNTc0ODQyNDA0OSwgWyJib3ksMTcsNCw1LDE0LDUsNSwxMSJdID0gMC44OTQ2NzcwNjkzOTE0MjkyMSwgWyJib3ksMTcsNCw1LDE0LDUsNSwxMiJdID0gMC45MDMwODcwNDU0MDI2MDA1NCwgWyJib3ksMTcsNCw1LDE0LDUsNSwxMyJdID0gMC42NzAxOTg4OTEzMzkzMTcwOSwgWyJib3ksMTcsNCw1LDE0LDUsNSwyMiJdID0gMC45OTc0MDA3ODI4OTI5MTksIFsiYm95LDE3LDQsNSwxNCw1LDUsMjMiXSA9IDAuNzY0Njk0NDM4MTM3NzA0MzIsIFsiYm95LDE3LDQsNSwxNCw1LDUsMjQiXSA9IDAuMDc1MDUwNzAwMDQ0MjMwMjAxLCBbImJveSwxNyw0LDUsMTQsNSw1LDI1Il0gPSAwLjc5MDg2OTc1NDg5NjgxNTc3LCBbImJveSwxNyw0LDUsMTQsNSw1LDI4Il0gPSAwLjAxODUwMzk4MzMzNjMzODczNiwgWyJib3ksMTcsNCw1LDE0LDUsNSwyOSJdID0gMC41NjYwOTUyNjIyNDQ5NDI2NywgWyJib3ksMTcsNCw1LDE0LDUsNSwzMCJdID0gMC43NzI4NjMyODI0OTgwODI1NiwgWyJib3ksMTcsNCw1LDE0LDUsNSwzMSJdID0gMC45ODU4NzA0MDA4OTc3NTA4LCBbImJveSwxNyw0LDUsMTQsNSw1LDMyIl0gPSAwLjk2OTgxNzM4OTUzODI4NDg5LCBbImJveSwxNyw0LDUsMTQsNSw1LDMzIl0gPSAwLjkxMjM0NTczNTQzODU2NTU2LCBbImJveSwxNyw0LDUsMTQsNSw1LDM0Il0gPSAwLjM5NzQ3MzMzOTE0NTAyMjAzLCBbImJveSwxNyw0LDUsMTQsNSw1LDQzIl0gPSAwLjkyMDU5MDg2MzYyNzE3NzEzLCBbImJveSwxNyw0LDUsMTQsNSw1LDQ0Il0gPSAwLjgwNjI3NTUxNDQ3ODk3MzI4LCBbImJveSwxNyw0LDUsMTQsNSw1LDQ1Il0gPSAwLjQyMTAyNDQxODY1NzUyNjcxLCBbImJveSwxNyw0LDUsMTQsNSw1LDQ2Il0gPSAwLjMwNzE3NTcwMjEzMTE4OTgzLCBbImJveSwxNyw0LDUsMTQsNSw1LDQ4Il0gPSAwLjY2OTM3NzgzMDU2MzA3ODIsIFsiYm95LDE3LDQsNSwxNCw1LDUsNDkiXSA9IDAuNDM0MzY3ODAwNjQzMzEyMDQsIFsiYm95LDE3LDYsMSwwLDcsNCwyNSJdID0gMC45MjcyMjg0Mzk3NDI2NTI0NSwgWyJib3ksMTcsNiwxLDAsNyw0LDI2Il0gPSAwLjMxMTcyOTMwNzQ3NzQ2NTg2LCBbImJveSwxNyw2LDEsMCw3LDQsMjciXSA9IDAuNTExMDE4MjcyMTU3OTEzMjksIFsiYm95LDE3LDYsMSwwLDcsNCwzNyJdID0gMC40MzI5NzA0NzQ5MDMyOTk0MywgWyJib3ksMTcsNiwxLDAsNyw0LDM4Il0gPSAwLjY1NjYyMDM1MjkzMzU5Mjc4LCBbImJveSwxNyw2LDEsMCw3LDQsMzkiXSA9IDAuMTUyNzcxOTUyOTU0NjQzMTksIFsiYm95LDE3LDYsMSwwLDcsNCw1NSJdID0gMC45OTU2NjgxMDgwNjc1MzQ5MiwgWyJib3ksMTcsNiwxLDAsNyw0LDU2Il0gPSAwLjA5NDI5NzM5NjYzMjAwNjQyNSwgWyJib3ksMTcsNiwxLDAsNyw0LDU3Il0gPSAwLjQ0MTc0MzEzNjU4MDU3MTI5LCBbImJveSwxNyw2LDEsMCw3LDQsNjQiXSA9IDAuMDcxODM2Nzg4NjA5OTYyODk4LCBbImJveSwxNyw2LDEsMCw3LDQsNjUiXSA9IDAuOTI5MDcwMzU5MTY3NDUwNTEsIFsiYm95LDE3LDYsMSwwLDcsNCw2NiJdID0gMC45MjY5MjQ5MDI3Njc4NzgzMSwgWyJib3ksMTcsNiwxLDAsNyw0LDczIl0gPSAwLjgzNjYyNTM2NTU4MDIwNzYxLCBbImJveSwxNyw2LDEsMCw3LDQsNzQiXSA9IDAuNDY1OTA1MTc1MzY2MjIyMjIsIFsiYm95LDE3LDYsMSwwLDcsNCw3NSJdID0gMC4zNTE5OTc2NTA0MzUwNDgzOCwgWyJib3ksMTcsNiwxLDAsNyw0LDc5Il0gPSAwLjAyOTg2MzQ4NzE0Njg4MDE0MSwgWyJib3ksMTcsNiwxLDAsNyw0LDgwIl0gPSAwLjMzOTIyNTQwMTg5NTg5NjAxLCBbImJveSwxNyw2LDEsMCw3LDQsODEiXSA9IDAuMjkzOTg5NDQwNjY5NzQ5ODYsIFsiYm95LDE3LDYsMSwwLDcsNCwxMTIiXSA9IDAuOTcwMzYwNDA4NDU5MDgzMTEsIFsiYm95LDE3LDYsMSwwLDcsNCwxMTMiXSA9IDAuNjQwNDk4NjgzNzk0MjM3NjksIFsiYm95LDE3LDYsMSwwLDcsNCwxMTQiXSA9IDAuNDU0ODQxNjMwNDA1NjgyNiwgWyJib3ksMTcsNiwxLDAsNyw0LDEzOSJdID0gMC44ODYwMzMxMTAxMjgyNzI1NywgWyJib3ksMTcsNiwxLDAsNyw0LDE0MCJdID0gMC41NzQ3NDc3NjgzMjMwNjMwNywgWyJib3ksMTcsNiwxLDAsNyw0LDE0MSJdID0gMC4xMTI5Mzk2NzU0Njk0MDc2NCwgWyJib3ksMTcsNiwxLDE0LDUsNSwyNSJdID0gMC41NjQ5MzYxNTQ3ODQ5MDgxMSwgWyJib3ksMTcsNiwxLDE0LDUsNSwyNiJdID0gMC44NDA2MTQ2NDU4NzM1NjMyNywgWyJib3ksMTcsNiwxLDE0LDUsNSwyNyJdID0gMC4wOTc1NjI2ODM0ODc3Nzc0MTMsIFsiYm95LDE3LDYsMSwxNCw1LDUsMjgiXSA9IDAuNDYwNDk5MDQyNjg5NTgxODYsIFsiYm95LDE3LDYsMSwxNCw1LDUsMzciXSA9IDAuNTUxMzQ0NTM4OTM1MDQ4MiwgWyJib3ksMTcsNiwxLDE0LDUsNSwzOCJdID0gMC41MjU2ODU5OTg5MDE0MjE1NCwgWyJib3ksMTcsNiwxLDE0LDUsNSwzOSJdID0gMC44Njg4MjEzNzEzMTE1OTYyLCBbImJveSwxNyw2LDEsMTQsNSw1LDQwIl0gPSAwLjA3OTc3NjczOTU0MTgwNjc1MiwgWyJib3ksMTcsNiwxLDE0LDUsNSw1NSJdID0gMC4xNTE5NzI1MDE3MjM5MTE3NSwgWyJib3ksMTcsNiwxLDE0LDUsNSw1NiJdID0gMC4yMTg4NzUzNTg4OTA3NzgxNCwgWyJib3ksMTcsNiwxLDE0LDUsNSw1NyJdID0gMC4wMzQ3Mzk4NzIzNDgzMTc4OCwgWyJib3ksMTcsNiwxLDE0LDUsNSw1OCJdID0gMC4yOTUyMjIyMjEyNTgwMDQ2OCwgWyJib3ksMTcsNiwxLDE0LDUsNSw2NCJdID0gMC43NzE1MDcwODY3MjQ0ODQyLCBbImJveSwxNyw2LDEsMTQsNSw1LDY1Il0gPSAwLjM1MzczOTg4MzY1NTEzMTMyLCBbImJveSwxNyw2LDEsMTQsNSw1LDY2Il0gPSAwLjk1NzA0NTk5MjgwMDc2NTMsIFsiYm95LDE3LDYsMSwxNCw1LDUsNjciXSA9IDAuMzczMTAzNzEyMzE4OTYxMzMsIFsiYm95LDE3LDYsMSwxNCw1LDUsNzMiXSA9IDAuNDA0NjQxMTM4MTA5MDU1NTUsIFsiYm95LDE3LDYsMSwxNCw1LDUsNzQiXSA9IDAuNjkxODk3NDExMDE1MjQ1MTYsIFsiYm95LDE3LDYsMSwxNCw1LDUsNzUiXSA9IDAuNjUyMjgzNTcyMzUzODc2MDIsIFsiYm95LDE3LDYsMSwxNCw1LDUsNzYiXSA9IDAuOTg5OTkwODM0NTc1OTIxODUsIFsiYm95LDE3LDYsMSwxNCw1LDUsNzkiXSA9IDAuMDI2NDIxOTA2ODUxNjA3NjEzLCBbImJveSwxNyw2LDEsMTQsNSw1LDgwIl0gPSAwLjc3Mjk1Mjk4NzMwMzI3NDExLCBbImJveSwxNyw2LDEsMTQsNSw1LDgxIl0gPSAwLjEwNTI5MjY0Nzc2MTAyMTIxLCBbImJveSwxNyw2LDEsMTQsNSw1LDgyIl0gPSAwLjYyNDYwOTEwMzA4MjM1NTI5LCBbImJveSwxNyw2LDEsMTQsNSw1LDExMiJdID0gMC43MjUxODMxNTQwMjQ2NTM2MSwgWyJib3ksMTcsNiwxLDE0LDUsNSwxMTMiXSA9IDAuNjQ5MDQwMTk3MjUwNzQyNjksIFsiYm95LDE3LDYsMSwxNCw1LDUsMTE0Il0gPSAwLjkxODAxMTk1MjM4MDE5ODE3LCBbImJveSwxNyw2LDEsMTQsNSw1LDExNSJdID0gMC40NjY0ODEyODIyMjgxMDU5MiwgWyJib3ksMTcsNiwxLDE0LDUsNSwxMzkiXSA9IDAuNjMyMjIxMTM0MDg3NzM3MjgsIFsiYm95LDE3LDYsMSwxNCw1LDUsMTQwIl0gPSAwLjY4OTA4NTU0NDcxMDUzOTUxLCBbImJveSwxNyw2LDEsMTQsNSw1LDE0MSJdID0gMC4yMzM2ODI2MjM3MDUzODQxNywgWyJib3ksMTcsNiwxLDE0LDUsNSwxNDIiXSA9IDAuMzY5NTIzNDMzODAyOTUxMzgsIFsiYm95LDE3LDgsNSwwLDcsNCwzNyJdID0gMC4zMzk5ODk2NzM1MjMyNjA1OSwgWyJib3ksMTcsOCw1LDAsNyw0LDM4Il0gPSAwLjM5OTczNzk5MTIyNDY4MTIzLCBbImJveSwxNyw4LDUsMCw3LDQsMzkiXSA9IDAuNzk3NDc4NjgzODg4ODQ0MzUsIFsiYm95LDE3LDgsNSwwLDcsNCw0OSJdID0gMC4xMDI4NDMxOTE5MTc4NjIyOSwgWyJib3ksMTcsOCw1LDAsNyw0LDUwIl0gPSAwLjA2MTM3ODkzNzc0Mzg2NzYwMSwgWyJib3ksMTcsOCw1LDAsNyw0LDUxIl0gPSAwLjYwOTQxMzY5MzcwOTcwMSwgWyJib3ksMTcsOCw1LDAsNyw0LDY3Il0gPSAwLjk3MDkzMDk2MTYyMjc5MTAyLCBbImJveSwxNyw4LDUsMCw3LDQsNjgiXSA9IDAuNjU4ODA5MDAxMzQzOTkxNTYsIFsiYm95LDE3LDgsNSwwLDcsNCw2OSJdID0gMC4zNDI0MTAzMDk3MjU5NjUyLCBbImJveSwxNyw4LDUsMCw3LDQsNzYiXSA9IDAuMjE4OTcxOTk0MjM1NTYxNDYsIFsiYm95LDE3LDgsNSwwLDcsNCw3NyJdID0gMC44OTgzNDc3MDI0NDkzMTIwNiwgWyJib3ksMTcsOCw1LDAsNyw0LDc4Il0gPSAwLjUxNzAwNzI5MTg0Nzc1OTA3LCBbImJveSwxNyw4LDUsMCw3LDQsODUiXSA9IDAuNjY0MDI3ODU3NTE2OTA5ODUsIFsiYm95LDE3LDgsNSwwLDcsNCw4NiJdID0gMC41NDkzMTI3NzU3NjEyNDgzNywgWyJib3ksMTcsOCw1LDAsNyw0LDg3Il0gPSAwLjYxNDI2MDQxNTYxMDUyNTU4LCBbImJveSwxNyw4LDUsMCw3LDQsOTEiXSA9IDAuNzI3MzA0NzcyODc2MDMwNjgsIFsiYm95LDE3LDgsNSwwLDcsNCw5MiJdID0gMC45NzE5MDUwNTY5MjgwMjU4NywgWyJib3ksMTcsOCw1LDAsNyw0LDkzIl0gPSAwLjYzMzg5MDE2NzIwMjQ0MjYyLCBbImJveSwxNyw4LDUsMCw3LDQsMTI0Il0gPSAwLjg1OTc0ODAwNzMyNjQwNzg4LCBbImJveSwxNyw4LDUsMCw3LDQsMTI1Il0gPSAwLjU2NzE5MTE5ODY1MTEzNTk5LCBbImJveSwxNyw4LDUsMCw3LDQsMTI2Il0gPSAwLjM2NjY3MzEwNTgwMzU2MTk0LCBbImJveSwxNyw4LDUsMCw3LDQsMTUxIl0gPSAwLjIyMTY4OTIwMjgwNDI2NDUyLCBbImJveSwxNyw4LDUsMCw3LDQsMTUyIl0gPSAwLjQwMzU3ODg4OTAzNzU0NTEzLCBbImJveSwxNyw4LDUsMCw3LDQsMTUzIl0gPSAwLjY1NTg0NzgwNzQ3MDMzOTc3LCBbImJveSwxNyw4LDUsMTQsNSw1LDM3Il0gPSAwLjQ0MDQwNDkyNzkzMDU2ODYyLCBbImJveSwxNyw4LDUsMTQsNSw1LDM4Il0gPSAwLjYyODQ4NzI4NDI0NTEzMDEyLCBbImJveSwxNyw4LDUsMTQsNSw1LDM5Il0gPSAwLjA5NzEyMzQwNjEyMjg4MjI4MywgWyJib3ksMTcsOCw1LDE0LDUsNSw0MCJdID0gMC40MDAzOTY1MDMzNzIyMzMyLCBbImJveSwxNyw4LDUsMTQsNSw1LDQ5Il0gPSAwLjUzMTcyODYyMjg4ODQ0MzkxLCBbImJveSwxNyw4LDUsMTQsNSw1LDUwIl0gPSAwLjU3OTU0MzkwMzY5OTIwMDcyLCBbImJveSwxNyw4LDUsMTQsNSw1LDUxIl0gPSAwLjgxMDc0Mzk5MzgyODA4OTE1LCBbImJveSwxNyw4LDUsMTQsNSw1LDUyIl0gPSAwLjQ2ODcyMzA0ODM5NTIwMjk2LCBbImJveSwxNyw4LDUsMTQsNSw1LDY3Il0gPSAwLjQ1Njg3MDkwOTk1NTQ3ODQxLCBbImJveSwxNyw4LDUsMTQsNSw1LDY4Il0gPSAwLjM0MzIyNTc2OTYyNDUwNzc5LCBbImJveSwxNyw4LDUsMTQsNSw1LDY5Il0gPSAwLjEyODE4NjA4MzUwNjU5MjIyLCBbImJveSwxNyw4LDUsMTQsNSw1LDcwIl0gPSAwLjQyODY1MTQ0NjcwOTM0OTE4LCBbImJveSwxNyw4LDUsMTQsNSw1LDc2Il0gPSAwLjk3ODg2NzEyMTI2MjIxNzUzLCBbImJveSwxNyw4LDUsMTQsNSw1LDc3Il0gPSAwLjg1OTg3ODczNzc5MTIyMTgxLCBbImJveSwxNyw4LDUsMTQsNSw1LDc4Il0gPSAwLjgwMDc4MzU5MzA2MjU0NTc2LCBbImJveSwxNyw4LDUsMTQsNSw1LDc5Il0gPSAwLjE1Mzk2NjIyNzM4MjE4Nzc5LCBbImJveSwxNyw4LDUsMTQsNSw1LDg1Il0gPSAwLjY5NjY5MTIyMzE2ODIwODA4LCBbImJveSwxNyw4LDUsMTQsNSw1LDg2Il0gPSAwLjk0NzU2NDg2MjI0ODA2NjM1LCBbImJveSwxNyw4LDUsMTQsNSw1LDg3Il0gPSAwLjEzMjI2NTI4OTUwNDE2NjcyLCBbImJveSwxNyw4LDUsMTQsNSw1LDg4Il0gPSAwLjYxMjg5MzU3NDA1OTI1ODA0LCBbImJveSwxNyw4LDUsMTQsNSw1LDkxIl0gPSAwLjA4MTg1MTE0MzMzOTkzNTgxNywgWyJib3ksMTcsOCw1LDE0LDUsNSw5MiJdID0gMC44MzExNTMzODE0Mzc4NDg2NywgWyJib3ksMTcsOCw1LDE0LDUsNSw5MyJdID0gMC43ODQwMzk4NDQwMzU5NzMyNywgWyJib3ksMTcsOCw1LDE0LDUsNSw5NCJdID0gMC40MTY1NjQyOTY5MzYyMTQsIFsiYm95LDE3LDgsNSwxNCw1LDUsMTI0Il0gPSAwLjIxMTMxMDEyNzMwMjkwOTg4LCBbImJveSwxNyw4LDUsMTQsNSw1LDEyNSJdID0gMC4yMzU0MTc2NjMyODk0OTk3NiwgWyJib3ksMTcsOCw1LDE0LDUsNSwxMjYiXSA9IDAuNjM0NTczMTExOTAxMTgzNDgsIFsiYm95LDE3LDgsNSwxNCw1LDUsMTI3Il0gPSAwLjkzNTc1MjU1MjM0NTc1MDYxLCBbImJveSwxNyw4LDUsMTQsNSw1LDE1MSJdID0gMC43MjI2ODc0NjkzMjc4OTU1MiwgWyJib3ksMTcsOCw1LDE0LDUsNSwxNTIiXSA9IDAuMTg3Njk4MTI2NjUwNjEwNTksIFsiYm95LDE3LDgsNSwxNCw1LDUsMTUzIl0gPSAwLjQ4NDEzMDgwMTExNzM4NTI3LCBbImJveSwxNyw4LDUsMTQsNSw1LDE1NCJdID0gMC4zMzM2MTAyNjk2MDc5ODQ1NywgWyJib3ksMTgsMiwxLDAsNyw0LDEiXSA9IDAuNjk5NTQwMDc0MzI0MTgzNTMsIFsiYm95LDE4LDIsMSwwLDcsNCwyIl0gPSAwLjE5NTE5NTQzNTQ1ODc4MTA0LCBbImJveSwxOCwyLDEsMCw3LDQsMyJdID0gMC4zMzM5NDIwOTMxNjQ2NjU5NCwgWyJib3ksMTgsMiwxLDAsNyw0LDYiXSA9IDAuOTcwNDk1NDQzNDUwMjMzNzUsIFsiYm95LDE4LDIsMSwwLDcsNCwxMyJdID0gMC45NTYyNTM2ODYwNTc5NTE1OCwgWyJib3ksMTgsMiwxLDAsNyw0LDE0Il0gPSAwLjg0MDc5MDA2NTQ4OTk1NDA1LCBbImJveSwxOCwyLDEsMCw3LDQsMTUiXSA9IDAuNDYxMzQzMDk1NTg1NDE0OTgsIFsiYm95LDE4LDIsMSwwLDcsNCwxOSJdID0gMC4zMTkwMTY5MzI2MTM4ODAwOSwgWyJib3ksMTgsMiwxLDAsNyw0LDIwIl0gPSAwLjU4MTAwODI2MTE0NDYxNjc5LCBbImJveSwxOCwyLDEsMCw3LDQsMjEiXSA9IDAuNDEyNTQ4MzEzNTQ2MjkxNTEsIFsiYm95LDE4LDIsMSwwLDcsNCwyMiJdID0gMC44NjY5MzkwODAwNjE1MjE1NCwgWyJib3ksMTgsMiwxLDAsNyw0LDIzIl0gPSAwLjgwMDA2NTUyMzM1Mjk5MzYzLCBbImJveSwxOCwyLDEsMCw3LDQsMjQiXSA9IDAuNDAxNzIzMDUyMjU2NjMyNjMsIFsiYm95LDE4LDIsMSwwLDcsNCwzNCJdID0gMC45NTkzMTAyODM1NTQxOTIyMywgWyJib3ksMTgsMiwxLDAsNyw0LDM1Il0gPSAwLjg4NjE1MjkzOTI4NTg0NDcxLCBbImJveSwxOCwyLDEsMCw3LDQsMzYiXSA9IDAuMDAxODU3MTM5Mzk0OTc0MDA1NiwgWyJib3ksMTgsMiwxLDAsNyw0LDQwIl0gPSAwLjYyNDg4ODM1NTg5NzE2NDUyLCBbImJveSwxOCwyLDEsMCw3LDQsNDEiXSA9IDAuMDU1OTk5NzM3MzY0OTY1NjYzLCBbImJveSwxOCwyLDEsMCw3LDQsNDIiXSA9IDAuNjIwNjIyMDAyMTM4MzgxMjYsIFsiYm95LDE4LDIsMSwwLDcsNCw0MyJdID0gMC41ODkwMTg2NjU3NTY1MzY4MywgWyJib3ksMTgsMiwxLDE0LDUsNSwxIl0gPSAwLjM4ODAyMzQwNzM5NzEwMTg0LCBbImJveSwxOCwyLDEsMTQsNSw1LDIiXSA9IDAuMjAzMzk0ODU1MTQ0MjA5MywgWyJib3ksMTgsMiwxLDE0LDUsNSwzIl0gPSAwLjk3MDQyMzE0MjA4MTcyMzUzLCBbImJveSwxOCwyLDEsMTQsNSw1LDQiXSA9IDAuMTAyODA2MDk4NDI5NzE3MjIsIFsiYm95LDE4LDIsMSwxNCw1LDUsNiJdID0gMC41MTY5MzQ0MjIxMzY0Mjk1OSwgWyJib3ksMTgsMiwxLDE0LDUsNSw3Il0gPSAwLjAwNzM1NzE2MzIzNzkxNTY4NywgWyJib3ksMTgsMiwxLDE0LDUsNSwxMyJdID0gMC41MDM3Njk5NjE0NzIyMDcxLCBbImJveSwxOCwyLDEsMTQsNSw1LDE0Il0gPSAwLjQzMDkxNDY5NDU3MDI5NDE5LCBbImJveSwxOCwyLDEsMTQsNSw1LDE1Il0gPSAwLjA1MjAxODkwNjIwODU0NzY1NSwgWyJib3ksMTgsMiwxLDE0LDUsNSwxNiJdID0gMC42MzE0MjM0OTQ3MDAzOTM2MSwgWyJib3ksMTgsMiwxLDE0LDUsNSwxOSJdID0gMC41ODkzMTk3NDE5ODI5MDUyNywgWyJib3ksMTgsMiwxLDE0LDUsNSwyMCJdID0gMC4wNTEzNTcxODEyNDQxODE5ODIsIFsiYm95LDE4LDIsMSwxNCw1LDUsMjEiXSA9IDAuOTExMTY0MjgzOTc5NjM1MjMsIFsiYm95LDE4LDIsMSwxNCw1LDUsMjIiXSA9IDAuMDkzNTUyNzkyOTEyNDY3NzY0LCBbImJveSwxOCwyLDEsMTQsNSw1LDIzIl0gPSAwLjUzNTk2NDk5MTY3MDE1ODk5LCBbImJveSwxOCwyLDEsMTQsNSw1LDI0Il0gPSAwLjA5NTgyNzc2NzI5NDM2MDYsIFsiYm95LDE4LDIsMSwxNCw1LDUsMjUiXSA9IDAuMzUxODc1OTM2MTM0NzEwMTMsIFsiYm95LDE4LDIsMSwxNCw1LDUsMzQiXSA9IDAuOTk4OTQ4Mzk5MDYwNDUyNjMsIFsiYm95LDE4LDIsMSwxNCw1LDUsMzUiXSA9IDAuMTI1MjI4NTc1MDA1NzQyOTEsIFsiYm95LDE4LDIsMSwxNCw1LDUsMzYiXSA9IDAuMTk2MDM4MjgwMDU3MjIyMjQsIFsiYm95LDE4LDIsMSwxNCw1LDUsMzciXSA9IDAuOTAwMzM1Nzc4Njg0Mzc2NjQsIFsiYm95LDE4LDIsMSwxNCw1LDUsNDAiXSA9IDAuNzkxNTk3ODU0NzA1Mjc1NTUsIFsiYm95LDE4LDIsMSwxNCw1LDUsNDEiXSA9IDAuMTI0MzA3MDQ5MTI2NjI0MjcsIFsiYm95LDE4LDIsMSwxNCw1LDUsNDIiXSA9IDAuOTMwODY0OTY5ODE3NzQ5MTMsIFsiYm95LDE4LDIsMSwxNCw1LDUsNDMiXSA9IDAuNjQ3NTc4MzMyODYwOTc4MzIsIFsiYm95LDE4LDIsMSwxNCw1LDUsNDQiXSA9IDAuMDAzNTM0MDQ5MTA3MDM5NDcxOSwgWyJib3ksMTgsNCw1LDAsNyw0LDEiXSA9IDAuMDMzMDQyODA1MjYwNTk3MzMsIFsiYm95LDE4LDQsNSwwLDcsNCwyIl0gPSAwLjkwNzA1OTEwODgxNjUzOTM5LCBbImJveSwxOCw0LDUsMCw3LDQsMyJdID0gMC4wNDIyMTI2OTc1OTcxOTIxNSwgWyJib3ksMTgsNCw1LDAsNyw0LDciXSA9IDAuOTcwMDM0NjMyNDQ5OTkzMzMsIFsiYm95LDE4LDQsNSwwLDcsNCw4Il0gPSAwLjQxNjcxNjI3MzQ4MjcyMTg5LCBbImJveSwxOCw0LDUsMCw3LDQsOSJdID0gMC44NzI2MTUxNTg0NDg3ODQ0NiwgWyJib3ksMTgsNCw1LDAsNyw0LDE5Il0gPSAwLjk2NDUxNTAzNTUzNjgxNjgzLCBbImJveSwxOCw0LDUsMCw3LDQsMjAiXSA9IDAuMDEwNDY4Nzk4NDU5NjE1NDU4LCBbImJveSwxOCw0LDUsMCw3LDQsMjEiXSA9IDAuNzgwNTI2NTA2NzA3MDgxOSwgWyJib3ksMTgsNCw1LDAsNyw0LDI1Il0gPSAwLjY1MzM1NjM4ODYzMzEzNzk0LCBbImJveSwxOCw0LDUsMCw3LDQsMjYiXSA9IDAuOTA4NTcxMjAzNzY1Mzk2MTMsIFsiYm95LDE4LDQsNSwwLDcsNCwyNyJdID0gMC44NzU1NTAzOTYyMDk2MDQ3MywgWyJib3ksMTgsNCw1LDAsNyw0LDI4Il0gPSAwLjY2NjQ5MTI0MzM1MjUxNzY0LCBbImJveSwxOCw0LDUsMCw3LDQsMjkiXSA9IDAuMzQ2NTEzOTQyNjM5MTQzNDgsIFsiYm95LDE4LDQsNSwwLDcsNCwzMCJdID0gMC41NTkyNTAwOTYwNTg4Njk5OSwgWyJib3ksMTgsNCw1LDAsNyw0LDQwIl0gPSAwLjk2NDc2ODYxMTAwNDEyNjI1LCBbImJveSwxOCw0LDUsMCw3LDQsNDEiXSA9IDAuNTExNjA5MzA1MDIwMzQzODUsIFsiYm95LDE4LDQsNSwwLDcsNCw0MiJdID0gMC40ODQ4OTIzMDkwNjYyNDk1OCwgWyJib3ksMTgsNCw1LDAsNyw0LDQ2Il0gPSAwLjI5NzIwNzIyMjY2NzgzMzczLCBbImJveSwxOCw0LDUsMCw3LDQsNDciXSA9IDAuMzA1ODg0NTgxODY5NTExMDYsIFsiYm95LDE4LDQsNSwxNCw1LDUsMSJdID0gMC42NjU5NzY3NTk4NzMyMzY0NiwgWyJib3ksMTgsNCw1LDE0LDUsNSwyIl0gPSAwLjUwMzY5NTQ4NzMwNjA4MjM4LCBbImJveSwxOCw0LDUsMTQsNSw1LDMiXSA9IDAuNTQ3MTQ5NTAzMDk0NDI2NjcsIFsiYm95LDE4LDQsNSwxNCw1LDUsNCJdID0gMC42OTg2NDUxMDkyNjUwNTc2MywgWyJib3ksMTgsNCw1LDE0LDUsNSw3Il0gPSAwLjA4MDY3NDkwNzU4MTAxMzM2NiwgWyJib3ksMTgsNCw1LDE0LDUsNSw4Il0gPSAwLjQwMTYyMzIyMjE2NDIyNTA4LCBbImJveSwxOCw0LDUsMTQsNSw1LDkiXSA9IDAuMzY3MzQ5MzcwNDE2NzE1MjMsIFsiYm95LDE4LDQsNSwxNCw1LDUsMTAiXSA9IDAuODM1ODAyNDA0MDI3MzMzMywgWyJib3ksMTgsNCw1LDE0LDUsNSwxOSJdID0gMC4yMDEwNDg3MTk3OTc0Mzk3NywgWyJib3ksMTgsNCw1LDE0LDUsNSwyMCJdID0gMC41MjU2NjYwMjc1MjcxODA1LCBbImJveSwxOCw0LDUsMTQsNSw1LDIxIl0gPSAwLjYzNjk0NDg1OTExODQwMzI2LCBbImJveSwxOCw0LDUsMTQsNSw1LDIyIl0gPSAwLjg2OTE1ODMzNjYzMDgzNTUzLCBbImJveSwxOCw0LDUsMTQsNSw1LDI1Il0gPSAwLjUyNzg5OTgyMzY0NTQ5OTI2LCBbImJveSwxOCw0LDUsMTQsNSw1LDI2Il0gPSAwLjg3ODMzOTU0NjgzMjA1ODk1LCBbImJveSwxOCw0LDUsMTQsNSw1LDI3Il0gPSAwLjk5OTUzOTY0MTA4OTEzNTczLCBbImJveSwxOCw0LDUsMTQsNSw1LDI4Il0gPSAwLjY5NjM4NzA0NTcwNjUwNTExLCBbImJveSwxOCw0LDUsMTQsNSw1LDI5Il0gPSAwLjUxNTQzMDI1NjY2NDI1MzAyLCBbImJveSwxOCw0LDUsMTQsNSw1LDMwIl0gPSAwLjUyOTUxOTA4NzkzNTkxNTczLCBbImJveSwxOCw0LDUsMTQsNSw1LDMxIl0gPSAwLjI5OTc1ODI0NzUzODMyMjAzLCBbImJveSwxOCw0LDUsMTQsNSw1LDQwIl0gPSAwLjIzMDAyNjUwNjQ1MzgyNjk0LCBbImJveSwxOCw0LDUsMTQsNSw1LDQxIl0gPSAwLjgyNzIzOTkwMzMyNjA3MzMzLCBbImJveSwxOCw0LDUsMTQsNSw1LDQyIl0gPSAwLjI0MDQyMTQyNjYxMjE3OTU4LCBbImJveSwxOCw0LDUsMTQsNSw1LDQzIl0gPSAwLjU3MTExNjMxNDY3NTAzNzU0LCBbImJveSwxOCw0LDUsMTQsNSw1LDQ2Il0gPSAwLjg3MjU3MTE4MjU4MDc4ODI1LCBbImJveSwxOCw0LDUsMTQsNSw1LDQ3Il0gPSAwLjY4NjkxNDY5MDQxMzA1MDUzLCBbImJveSwxOCw0LDUsMTQsNSw1LDQ4Il0gPSAwLjAwNzAwNDQyODI2NjU2ODQ0MSwgWyJib3ksMTgsNiwxLDAsNyw0LDI4Il0gPSAwLjAyNDIyMTc5NjczMjIzMzc5MSwgWyJib3ksMTgsNiwxLDAsNyw0LDI5Il0gPSAwLjE4NTU4MzYzOTkwMDAzNjU3LCBbImJveSwxOCw2LDEsMCw3LDQsMzAiXSA9IDAuNDk4MDI5MTI1MTk4NjY2NiwgWyJib3ksMTgsNiwxLDAsNyw0LDQwIl0gPSAwLjk3MDQxMjkwMjcyMzcxMjI4LCBbImJveSwxOCw2LDEsMCw3LDQsNDEiXSA9IDAuOTUxNjU5NDA3MjY0ODE5MjMsIFsiYm95LDE4LDYsMSwwLDcsNCw0MiJdID0gMC43NTM1OTM2MzE3Nzc0NjU4NiwgWyJib3ksMTgsNiwxLDAsNyw0LDU4Il0gPSAwLjMyMTk5OTM4NDY3NTQ1NDUzLCBbImJveSwxOCw2LDEsMCw3LDQsNTkiXSA9IDAuMTQ2OTQ0NTE3Mjc4OTUyMywgWyJib3ksMTgsNiwxLDAsNyw0LDYwIl0gPSAwLjgxNDg0MDc3NjUzMTY1OTIxLCBbImJveSwxOCw2LDEsMCw3LDQsNjciXSA9IDAuNzYyNTQ1OTAwODU2Mjk0OTIsIFsiYm95LDE4LDYsMSwwLDcsNCw2OCJdID0gMC44NDAzOTU5MDM5MDU3Mzg0OCwgWyJib3ksMTgsNiwxLDAsNyw0LDY5Il0gPSAwLjAwMTI0MTY2ODUzMTQyNjcwOTUsIFsiYm95LDE4LDYsMSwwLDcsNCw3NiJdID0gMC44MzI1Mjc0MzIwNzUzNDAxOSwgWyJib3ksMTgsNiwxLDAsNyw0LDc3Il0gPSAwLjQ3NTY0MTE0ODQ1NzkzNzI2LCBbImJveSwxOCw2LDEsMCw3LDQsNzgiXSA9IDAuMTg0NzQ2MzYwODU5NzAwNDIsIFsiYm95LDE4LDYsMSwwLDcsNCw4MiJdID0gMC42MTA1NzIxNDgxODE5MTg4NSwgWyJib3ksMTgsNiwxLDAsNyw0LDgzIl0gPSAwLjI2NTUyNDcxMjk1NzY0MzI0LCBbImJveSwxOCw2LDEsMCw3LDQsODQiXSA9IDAuMTcxNDAyNDEwODkzNTM1OTIsIFsiYm95LDE4LDYsMSwwLDcsNCwxMTUiXSA9IDAuNzc0MTMyODYyNDI1MzU5ODQsIFsiYm95LDE4LDYsMSwwLDcsNCwxMTYiXSA9IDAuMTE3NjQ3MTkzNjA5Njc5OSwgWyJib3ksMTgsNiwxLDAsNyw0LDExNyJdID0gMC40NTUyOTY5ODU3OTA4ODAxOCwgWyJib3ksMTgsNiwxLDAsNyw0LDE0MiJdID0gMC40NTc2ODM1MDE0NTc5NDk4OSwgWyJib3ksMTgsNiwxLDAsNyw0LDE0MyJdID0gMC44NjcyODU3NTA5Njk4MzQxOCwgWyJib3ksMTgsNiwxLDAsNyw0LDE0NCJdID0gMC42NTEwNTI0MTYyNDE1OTc2LCBbImJveSwxOCw2LDEsMTQsNSw1LDI4Il0gPSAwLjc3Njc2NDU2MDEzNDM2MjY4LCBbImJveSwxOCw2LDEsMTQsNSw1LDI5Il0gPSAwLjY3OTU2MTkxOTkwMjY0NjM2LCBbImJveSwxOCw2LDEsMTQsNSw1LDMwIl0gPSAwLjU2MjIyMDYyNzU3NDI2MDcyLCBbImJveSwxOCw2LDEsMTQsNSw1LDMxIl0gPSAwLjM0NTIwNTI2MzQ4NDEzNzYsIFsiYm95LDE4LDYsMSwxNCw1LDUsNDAiXSA9IDAuOTAyMTc0NTUwOTA1NTg3MTgsIFsiYm95LDE4LDYsMSwxNCw1LDUsNDEiXSA9IDAuNDc3MDc3MzUxMjk1MTIzNDEsIFsiYm95LDE4LDYsMSwxNCw1LDUsNDIiXSA9IDAuNDc1NzcyNzg0NTk1MTg2MjQsIFsiYm95LDE4LDYsMSwxNCw1LDUsNDMiXSA9IDAuOTE3MjY1MDQyMTEyNjAxMTgsIFsiYm95LDE4LDYsMSwxNCw1LDUsNTgiXSA9IDAuNDg5MTEwOTEzNDgzNTMyMzEsIFsiYm95LDE4LDYsMSwxNCw1LDUsNTkiXSA9IDAuMjk0MDIwNjk1ODgzMDM2NywgWyJib3ksMTgsNiwxLDE0LDUsNSw2MCJdID0gMC41MjgyNzExMzY3NTQ2NjczLCBbImJveSwxOCw2LDEsMTQsNSw1LDYxIl0gPSAwLjM0NjMzNDQ4MjIwMjgzODQ3LCBbImJveSwxOCw2LDEsMTQsNSw1LDY3Il0gPSAwLjYxMjE3ODg2MTM5MDU4NjMsIFsiYm95LDE4LDYsMSwxNCw1LDUsNjgiXSA9IDAuMTk2Njc0OTYyNDIzNDAyNTQsIFsiYm95LDE4LDYsMSwxNCw1LDUsNjkiXSA9IDAuODA1NjM3OTE3Mjg4OTgzMzcsIFsiYm95LDE4LDYsMSwxNCw1LDUsNzAiXSA9IDAuMzc0Njk1NjQ1MDQ1NTIwNTUsIFsiYm95LDE4LDYsMSwxNCw1LDUsNzYiXSA9IDAuMTYyMDYyMjk2MDM3NDEwNTEsIFsiYm95LDE4LDYsMSwxNCw1LDUsNzciXSA9IDAuMjIwODMyOTkzNzExODExNDIsIFsiYm95LDE4LDYsMSwxNCw1LDUsNzgiXSA9IDAuNzQ0ODQ2MTY4NDQ4MzMzMTgsIFsiYm95LDE4LDYsMSwxNCw1LDUsNzkiXSA9IDAuMzAzMzM0MzY0NzMzNjA1OTgsIFsiYm95LDE4LDYsMSwxNCw1LDUsODIiXSA9IDAuNzYxMTQwMDgwNjI2NTgzMTIsIFsiYm95LDE4LDYsMSwxNCw1LDUsODMiXSA9IDAuMjAxMDg4MTU1OTU1OTMyMzIsIFsiYm95LDE4LDYsMSwxNCw1LDUsODQiXSA9IDAuNDA3NTk5NTM4MTY0MzMwNywgWyJib3ksMTgsNiwxLDE0LDUsNSw4NSJdID0gMC4yMzAwMDE3NzkwMTI3ODU1MSwgWyJib3ksMTgsNiwxLDE0LDUsNSwxMTUiXSA9IDAuNDY0NjU3MjIzODYyMDgyNzUsIFsiYm95LDE4LDYsMSwxNCw1LDUsMTE2Il0gPSAwLjkyMDM0MzE0MDMwNTQyNDUyLCBbImJveSwxOCw2LDEsMTQsNSw1LDExNyJdID0gMC44MTMzMTM1OTU0MjAzNjY5NiwgWyJib3ksMTgsNiwxLDE0LDUsNSwxMTgiXSA9IDAuMzMzOTUxMDk0Nzc1OTQyNzYsIFsiYm95LDE4LDYsMSwxNCw1LDUsMTQyIl0gPSAwLjQ3MDc1NDUzMzQ3MDA3MTc5LCBbImJveSwxOCw2LDEsMTQsNSw1LDE0MyJdID0gMC4zMTExNjkyMjc2MzM2MjE3NiwgWyJib3ksMTgsNiwxLDE0LDUsNSwxNDQiXSA9IDAuNjAzNzA5MjU3OTQyODg5MSwgWyJib3ksMTgsNiwxLDE0LDUsNSwxNDUiXSA9IDAuMTE0NjAxMzg4ODQyMDcxNjEsIFsiYm95LDE4LDgsNSwwLDcsNCwzNCJdID0gMC4wOTk1MjA0MTY5NzY1OTg4NTgsIFsiYm95LDE4LDgsNSwwLDcsNCwzNSJdID0gMC4yNzg1OTAzOTg1NDU4NzY0MiwgWyJib3ksMTgsOCw1LDAsNyw0LDM2Il0gPSAwLjc1ODg4MjE0Njk5MjA4MDU2LCBbImJveSwxOCw4LDUsMCw3LDQsNDYiXSA9IDAuMzE5MzE5MDkzMzYxMTAyNzYsIFsiYm95LDE4LDgsNSwwLDcsNCw0NyJdID0gMC40OTg5NjE5NTg4MTIwMzczMSwgWyJib3ksMTgsOCw1LDAsNyw0LDQ4Il0gPSAwLjEyNjA2MzI4NDY4MDI5MDkzLCBbImJveSwxOCw4LDUsMCw3LDQsNjQiXSA9IDAuMTEwOTI4MzEyMDc5MjQ0NTgsIFsiYm95LDE4LDgsNSwwLDcsNCw2NSJdID0gMC4yODYxODM1NDM3NTkxOTM1MywgWyJib3ksMTgsOCw1LDAsNyw0LDY2Il0gPSAwLjY5ODM1MDc4MTI4NDE1ODI4LCBbImJveSwxOCw4LDUsMCw3LDQsNzMiXSA9IDAuNzI0MDM2MTY5OTI5NzU1MjgsIFsiYm95LDE4LDgsNSwwLDcsNCw3NCJdID0gMC45NDIyODU4ODY4MDcxNDM5OCwgWyJib3ksMTgsOCw1LDAsNyw0LDc1Il0gPSAwLjIxMjQ0NDYxMDQ1OTQzNTk3LCBbImJveSwxOCw4LDUsMCw3LDQsODIiXSA9IDAuNjM4Mjk0OTk1MDYxMzA4NiwgWyJib3ksMTgsOCw1LDAsNyw0LDgzIl0gPSAwLjMwODY0NjE1OTM2MjY3NTkyLCBbImJveSwxOCw4LDUsMCw3LDQsODQiXSA9IDAuNTkyMjUzOTM5NzMwNzA2NzIsIFsiYm95LDE4LDgsNSwwLDcsNCw4OCJdID0gMC4xNDkzNzcyODg0MDIyNzUwNCwgWyJib3ksMTgsOCw1LDAsNyw0LDg5Il0gPSAwLjAzMTk3NTQyNDQzNjEzNDU0NywgWyJib3ksMTgsOCw1LDAsNyw0LDkwIl0gPSAwLjg1NDQ5MTI2NjA2MzA4ODc4LCBbImJveSwxOCw4LDUsMCw3LDQsMTIxIl0gPSAwLjY0Njk2Mjc1MDExMDgyNzkzLCBbImJveSwxOCw4LDUsMCw3LDQsMTIyIl0gPSAwLjk3MzExNTA0MDg1NTk4NjEsIFsiYm95LDE4LDgsNSwwLDcsNCwxMjMiXSA9IDAuMTc2MTQzMDEwMzE1OTE0MDYsIFsiYm95LDE4LDgsNSwwLDcsNCwxNDgiXSA9IDAuODE1MzA4MzM0MjIwNDQ0MTMsIFsiYm95LDE4LDgsNSwwLDcsNCwxNDkiXSA9IDAuMzU5NzI1MDI1NjU2ODE5NDEsIFsiYm95LDE4LDgsNSwwLDcsNCwxNTAiXSA9IDAuMTM5MjIxMTE4NDczMDQ4NzQsIFsiYm95LDE4LDgsNSwxNCw1LDUsMzQiXSA9IDAuOTgwOTQ5MTQwNzY0ODYxNjIsIFsiYm95LDE4LDgsNSwxNCw1LDUsMzUiXSA9IDAuODI1MTY1MDMxNDAxNjc5NjMsIFsiYm95LDE4LDgsNSwxNCw1LDUsMzYiXSA9IDAuMjY4ODc3MjMzMDk3MzEyODIsIFsiYm95LDE4LDgsNSwxNCw1LDUsMzciXSA9IDAuNDMwNjQyMDk0NTc0MjI2ODYsIFsiYm95LDE4LDgsNSwxNCw1LDUsNDYiXSA9IDAuNTQzNDM5MTc2NjcwNjQ1MjMsIFsiYm95LDE4LDgsNSwxNCw1LDUsNDciXSA9IDAuNjc0Mjc4NTk1ODYyNjQxMzgsIFsiYm95LDE4LDgsNSwxNCw1LDUsNDgiXSA9IDAuNzE3ODU0NTA0NTEwNjkxNjYsIFsiYm95LDE4LDgsNSwxNCw1LDUsNDkiXSA9IDAuMjY1NDQ0NTg1NTUwNzA1MjcsIFsiYm95LDE4LDgsNSwxNCw1LDUsNjQiXSA9IDAuOTM4NDc4NzQzODE0NjQyOTEsIFsiYm95LDE4LDgsNSwxNCw1LDUsNjUiXSA9IDAuODM2MDg1Njk1ODk2NDY2NDIsIFsiYm95LDE4LDgsNSwxNCw1LDUsNjYiXSA9IDAuOTk2MjQ2OTg1ODg2ODY4NTUsIFsiYm95LDE4LDgsNSwxNCw1LDUsNjciXSA9IDAuNjMwODg5MTcwMDA4NDM3MzYsIFsiYm95LDE4LDgsNSwxNCw1LDUsNzMiXSA9IDAuNTA2MjU1NjM5NjM5MDk2NywgWyJib3ksMTgsOCw1LDE0LDUsNSw3NCJdID0gMC4yNjAzNjE2MzY4OTI1ODM2MywgWyJib3ksMTgsOCw1LDE0LDUsNSw3NSJdID0gMC40MjQ4NDk3NDA3MDM4NTc2MSwgWyJib3ksMTgsOCw1LDE0LDUsNSw3NiJdID0gMC4xMjI3NjQ3NDIyODIwODM0NSwgWyJib3ksMTgsOCw1LDE0LDUsNSw4MiJdID0gMC4zMDA1MjQzOTg3MjI4MDQ3OSwgWyJib3ksMTgsOCw1LDE0LDUsNSw4MyJdID0gMC40NjY0NTc3OTYwNTIxMjUyMywgWyJib3ksMTgsOCw1LDE0LDUsNSw4NCJdID0gMC44MjYxMDYzNTA1NDM5OTI5NSwgWyJib3ksMTgsOCw1LDE0LDUsNSw4NSJdID0gMC4yMDE2ODc4MDIyNzU1Mzc3MywgWyJib3ksMTgsOCw1LDE0LDUsNSw4OCJdID0gMC41NzMyNDgzMDA4NzIyMzE3OCwgWyJib3ksMTgsOCw1LDE0LDUsNSw4OSJdID0gMC40NDQ5NDY4MzE0NzkwMDU3MSwgWyJib3ksMTgsOCw1LDE0LDUsNSw5MCJdID0gMC4zMzk1MDU2MDg1ODAxNjk1NCwgWyJib3ksMTgsOCw1LDE0LDUsNSw5MSJdID0gMC42Mzg2MjE3MzgxODYwNTcyOCwgWyJib3ksMTgsOCw1LDE0LDUsNSwxMjEiXSA9IDAuNTI3OTU3NzUxMTY2NTg5NjEsIFsiYm95LDE4LDgsNSwxNCw1LDUsMTIyIl0gPSAwLjY4MDMzNjI2NDc4NDY3MTU3LCBbImJveSwxOCw4LDUsMTQsNSw1LDEyMyJdID0gMC44MjM4NjQ5NTAwNTYxNzIxMSwgWyJib3ksMTgsOCw1LDE0LDUsNSwxMjQiXSA9IDAuMTcxNzg0ODk0MjE3MDk5ODYsIFsiYm95LDE4LDgsNSwxNCw1LDUsMTQ4Il0gPSAwLjk0NDc2OTg1MTcwMTA5NTYyLCBbImJveSwxOCw4LDUsMTQsNSw1LDE0OSJdID0gMC42MzczOTIyNDUzMzU5MzA0MiwgWyJib3ksMTgsOCw1LDE0LDUsNSwxNTAiXSA9IDAuMjQzOTg5NzE1MjMwODAxMjYsIFsiYm95LDE4LDgsNSwxNCw1LDUsMTUxIl0gPSAwLjY4MzUxNzYxMzMwNzg0NTExLCBbImJveSwxOSw0LDEsMTQsNSw1LDEiXSA9IDAuOTQ1MTAxNDE2MTIyMDcxNjYsIFsiYm95LDE5LDQsMywwLDcsNCw0Il0gPSAwLjIzNjc2OTc1MjgxODc1MDQ2LCBbImJveSwxOSw0LDMsMCw3LDQsNSJdID0gMC4yMTUyNTc2Nzg1OTAwNTE3NCwgWyJib3ksMTksNCwzLDAsNyw0LDE2Il0gPSAwLjc1NjcwNTQ0MDQ1Nzg5ODM0LCBbImJveSwxOSw0LDMsMCw3LDQsMTciXSA9IDAuMTM5NzM0MTIxNjk0NTUzNTcsIFsiYm95LDE5LDQsMywwLDcsNCwyMiJdID0gMC4yNDY0MDE4MzA0MTc2MTQxLCBbImJveSwxOSw0LDMsMCw3LDQsMjMiXSA9IDAuNDY2OTQwMTQxMzQyMjAxNDEsIFsiYm95LDE5LDQsMywwLDcsNCwyNSJdID0gMC40Mjk2NTc4MTgzMjIwNzg1LCBbImJveSwxOSw0LDMsMCw3LDQsMjYiXSA9IDAuMTA1NjI0NjgyMzE5NDYwNjUsIFsiYm95LDE5LDQsMywwLDcsNCwzNyJdID0gMC4yNTAzNzcxODc2MDM0ODYxNSwgWyJib3ksMTksNCwzLDAsNyw0LDM4Il0gPSAwLjY5NzcwOTQ0NTkxMzAwMjY2LCBbImJveSwxOSw0LDMsMCw3LDQsNDMiXSA9IDAuMDc0MTAwNjQ1ODkxNjE0NDY5LCBbImJveSwxOSw0LDMsMCw3LDQsNDQiXSA9IDAuMjAxNDQ1MzQyMTU3NTMzNTEsIFsiYm95LDE5LDQsMywxNCw1LDUsNCJdID0gMC41MDkwODMwMzIwODIyNzIzNSwgWyJib3ksMTksNCwzLDE0LDUsNSw1Il0gPSAwLjIxMTYxODgzMDEwNDIzOTg3LCBbImJveSwxOSw0LDMsMTQsNSw1LDYiXSA9IDAuMDcyMDI2NDgwMTg3NzAxMDgxLCBbImJveSwxOSw0LDMsMTQsNSw1LDE2Il0gPSAwLjE0OTM0NjQyNjI4NjkzNDYyLCBbImJveSwxOSw0LDMsMTQsNSw1LDE3Il0gPSAwLjIzODc2NjM1MjM2OTcwNjc4LCBbImJveSwxOSw0LDMsMTQsNSw1LDE4Il0gPSAwLjM1NjgyODQ5NjY5NTc0NjY4LCBbImJveSwxOSw0LDMsMTQsNSw1LDIyIl0gPSAwLjY4MzM5ODQzNTEzNTI2MjY2LCBbImJveSwxOSw0LDMsMTQsNSw1LDIzIl0gPSAwLjUwMTc3OTExODA0NDIxNTcxLCBbImJveSwxOSw0LDMsMTQsNSw1LDI0Il0gPSAwLjU3Mzk0NTc2OTg4ODcxNjcxLCBbImJveSwxOSw0LDMsMTQsNSw1LDI1Il0gPSAwLjI0MTA5MTMxMTc3NjQxMDg1LCBbImJveSwxOSw0LDMsMTQsNSw1LDI2Il0gPSAwLjQ0ODIzNjg2MzgyNjk0NzYxLCBbImJveSwxOSw0LDMsMTQsNSw1LDI3Il0gPSAwLjQyNTYxMjE3MTI3MjYyMzMsIFsiYm95LDE5LDQsMywxNCw1LDUsMzciXSA9IDAuMzg3MjMyNTMxNDMyMjAxNiwgWyJib3ksMTksNCwzLDE0LDUsNSwzOCJdID0gMC41NDUxMzU0OTc0MDE5MzQ0NSwgWyJib3ksMTksNCwzLDE0LDUsNSwzOSJdID0gMC42MjI1NjU3NTMzNDU5MDY1OCwgWyJib3ksMTksNCwzLDE0LDUsNSw0MyJdID0gMC43MjQyMTcxMDg3NDEwODkzNSwgWyJib3ksMTksNCwzLDE0LDUsNSw0NCJdID0gMC41NzI1Njg2MDAyOTg1NjA2LCBbImJveSwxOSw0LDMsMTQsNSw1LDQ1Il0gPSAwLjk2OTA0NDEyNDM3NjE5NTgsIFsiYm95LDE5LDQsNSwwLDcsNCw2Il0gPSAwLjc4MjQyODQyODE1NzUxODIzLCBbImJveSwxOSw0LDUsMCw3LDQsMTgiXSA9IDAuNTg2OTAzNjE5NDA2OTQ0MzUsIFsiYm95LDE5LDQsNSwwLDcsNCwyNCJdID0gMC43Mzg4Njc0MjY1Njk2OTM1MSwgWyJib3ksMTksNCw1LDAsNyw0LDI3Il0gPSAwLjQ2NTU1NTgwMTM1Mzc3MjE3LCBbImJveSwxOSw0LDUsMCw3LDQsMzkiXSA9IDAuNjE1NzE0MDI5MTYzMTExNTgsIFsiYm95LDE5LDQsNSwwLDcsNCw0NSJdID0gMC4zNTQxNzEwMTc5MDg5OTI1MiwgWyJib3ksMTksNCw1LDE0LDUsNSw2Il0gPSAwLjA4NjgwMjA1NzgwODczMTE4MSwgWyJib3ksMTksNCw1LDE0LDUsNSw3Il0gPSAwLjY2NDYzMTQ5MTI0NzQ3OTU2LCBbImJveSwxOSw0LDUsMTQsNSw1LDE4Il0gPSAwLjc5MTQ3MjIxNjg2NjA2MDYyLCBbImJveSwxOSw0LDUsMTQsNSw1LDE5Il0gPSAwLjI5NTQwODY5NzQxNDUwOTU5LCBbImJveSwxOSw0LDUsMTQsNSw1LDI0Il0gPSAwLjY4NDA5OTIxNjEwMDYyNzg1LCBbImJveSwxOSw0LDUsMTQsNSw1LDI1Il0gPSAwLjM3NzU4ODIyMDM0NTQxMzczLCBbImJveSwxOSw0LDUsMTQsNSw1LDI3Il0gPSAwLjM3NDA5ODgzNjc5MDIzMDA0LCBbImJveSwxOSw0LDUsMTQsNSw1LDI4Il0gPSAwLjQ0OTQxMjU2MzAyNjYzMjc5LCBbImJveSwxOSw0LDUsMTQsNSw1LDM5Il0gPSAwLjkxMzM2Mjg4NTY3OTQzNjkxLCBbImJveSwxOSw0LDUsMTQsNSw1LDQwIl0gPSAwLjYwODQyODI1NTIwMTM3OTc4LCBbImJveSwxOSw0LDUsMTQsNSw1LDQ1Il0gPSAwLjE3NDY2MDQzNjc0MTE5NTkxLCBbImJveSwxOSw0LDUsMTQsNSw1LDQ2Il0gPSAwLjIxNTEyNDYyNTQ5ODMyMTY4LCBbImJveSwxOSw4LDMsMCw3LDQsMzEiXSA9IDAuMjMxNDM2NTYwMTQ5MTc4NTcsIFsiYm95LDE5LDgsMywwLDcsNCwzMiJdID0gMC44OTExNzc5NjA3OTU1ODM2NSwgWyJib3ksMTksOCwzLDAsNyw0LDQzIl0gPSAwLjgwMTMwMzQxNDc4NDk4MzM1LCBbImJveSwxOSw4LDMsMCw3LDQsNDQiXSA9IDAuNjg3ODkxNTIyOTE1MTA5MDIsIFsiYm95LDE5LDgsMywwLDcsNCw2MSJdID0gMC40NTUwNTczMzIxMDg3MTgxMywgWyJib3ksMTksOCwzLDAsNyw0LDYyIl0gPSAwLjQ0NDA5MDkzMzI1ODEzNDY1LCBbImJveSwxOSw4LDMsMCw3LDQsNzAiXSA9IDAuMDY0NDAyMDM2NTk5MDMzODc0LCBbImJveSwxOSw4LDMsMCw3LDQsNzEiXSA9IDAuMDk3MTk0OTQzMDg0MjgyODkyLCBbImJveSwxOSw4LDMsMCw3LDQsNzkiXSA9IDAuNzg2NTg2NDAwODExODE5MDgsIFsiYm95LDE5LDgsMywwLDcsNCw4MCJdID0gMC4wMjY1MTE1MDQ4NDQ5ODk3NjQsIFsiYm95LDE5LDgsMywwLDcsNCw4NSJdID0gMC44OTgwMzM4NTI1MjM3MTQxNSwgWyJib3ksMTksOCwzLDAsNyw0LDg2Il0gPSAwLjIyMzA1NjY0NDI0OTcxNDM5LCBbImJveSwxOSw4LDMsMCw3LDQsMTE4Il0gPSAwLjU4NzQzODQ3OTQwNTIyOTg2LCBbImJveSwxOSw4LDMsMCw3LDQsMTE5Il0gPSAwLjkwNjg0MjI3MDM1ODE3Mzc3LCBbImJveSwxOSw4LDMsMCw3LDQsMTQ1Il0gPSAwLjQyMjk1NTA3NTM3NzYxMDEyLCBbImJveSwxOSw4LDMsMCw3LDQsMTQ2Il0gPSAwLjY0NDA4NjgwMjg0MDY3Njc2LCBbImJveSwxOSw4LDMsMTQsNSw1LDMxIl0gPSAwLjE0MTg3NjkxNDY2Njc3MzEsIFsiYm95LDE5LDgsMywxNCw1LDUsMzIiXSA9IDAuMDMzNjc3NzAzNTI5OTQ1NTkxLCBbImJveSwxOSw4LDMsMTQsNSw1LDMzIl0gPSAwLjEyNDQyNTQ3ODU2MDkwNTEzLCBbImJveSwxOSw4LDMsMTQsNSw1LDQzIl0gPSAwLjU0NDc3NTIwNDg1MDkzNCwgWyJib3ksMTksOCwzLDE0LDUsNSw0NCJdID0gMC4yNDk0NjI4NjE3MDA4MTM2NywgWyJib3ksMTksOCwzLDE0LDUsNSw0NSJdID0gMC42ODc2MjI4NjkwNzU4NDI1OCwgWyJib3ksMTksOCwzLDE0LDUsNSw2MSJdID0gMC43MDY1MDMxNTM2OTQ0NjQxNSwgWyJib3ksMTksOCwzLDE0LDUsNSw2MiJdID0gMC40ODg3OTcxNTQ1NjM0OTAxNSwgWyJib3ksMTksOCwzLDE0LDUsNSw2MyJdID0gMC45ODc3MDA5ODc3MTgxMzI0MiwgWyJib3ksMTksOCwzLDE0LDUsNSw3MCJdID0gMC4wNTg2MDQxMTQzODQwOTgwNzIsIFsiYm95LDE5LDgsMywxNCw1LDUsNzEiXSA9IDAuNzg1MjM0MTg4ODE4OTUzNzksIFsiYm95LDE5LDgsMywxNCw1LDUsNzIiXSA9IDAuODA1NTUwMjUzODg5NjMxOTcsIFsiYm95LDE5LDgsMywxNCw1LDUsNzkiXSA9IDAuNDgwMDYyOTI5NTI5NzcyMDMsIFsiYm95LDE5LDgsMywxNCw1LDUsODAiXSA9IDAuNTM1OTI2MzUwMzU4MjE2MTIsIFsiYm95LDE5LDgsMywxNCw1LDUsODEiXSA9IDAuMzI2NDk2NDI0ODI5NDI1NzYsIFsiYm95LDE5LDgsMywxNCw1LDUsODUiXSA9IDAuNjQ5NDI5MDQyMjY2NzkwNzcsIFsiYm95LDE5LDgsMywxNCw1LDUsODYiXSA9IDAuNTc5MTMxNTkyMjc0NTMxNywgWyJib3ksMTksOCwzLDE0LDUsNSw4NyJdID0gMC45NDQyNDU2ODExMDE1Mjg3MywgWyJib3ksMTksOCwzLDE0LDUsNSwxMTgiXSA9IDAuMzAxNjI4NzQ0NjE3Njc3NTIsIFsiYm95LDE5LDgsMywxNCw1LDUsMTE5Il0gPSAwLjkyNTg2Njk2MzIwNTI0MDMxLCBbImJveSwxOSw4LDMsMTQsNSw1LDEyMCJdID0gMC45OTM4NzI2OTc1NzIzNDA0MiwgWyJib3ksMTksOCwzLDE0LDUsNSwxNDUiXSA9IDAuMTYzNzkxMzUxNzUwOTMxNTEsIFsiYm95LDE5LDgsMywxNCw1LDUsMTQ2Il0gPSAwLjI0MjE5MTUzNjA1NTg1OTMsIFsiYm95LDE5LDgsMywxNCw1LDUsMTQ3Il0gPSAwLjM1NzQ2ODk4NzU5ODI0Mzk3LCBbImJveSwxOSw4LDUsMCw3LDQsMzMiXSA9IDAuNTkzOTUxNDY4NDA0Mzg3MzksIFsiYm95LDE5LDgsNSwwLDcsNCw0NSJdID0gMC4yOTQ2NDc5MjE4NzE5MzA2NywgWyJib3ksMTksOCw1LDAsNyw0LDYzIl0gPSAwLjY0NjgyMTYyNTc5ODM2MDExLCBbImJveSwxOSw4LDUsMCw3LDQsNzIiXSA9IDAuMDM4OTQ3OTU2NDcyNjM4NzEyLCBbImJveSwxOSw4LDUsMCw3LDQsODEiXSA9IDAuMjAxNTY4ODkzNDU2MTQ3NywgWyJib3ksMTksOCw1LDAsNyw0LDg3Il0gPSAwLjg5MzgxMDg5MDU1NDY1MzM1LCBbImJveSwxOSw4LDUsMCw3LDQsMTIwIl0gPSAwLjU0MzAwNzc1OTc1NTcwMTA0LCBbImJveSwxOSw4LDUsMCw3LDQsMTQ3Il0gPSAwLjEyNDA3MjI2NDk4MzY0OTIxLCBbImJveSwxOSw4LDUsMTQsNSw1LDMzIl0gPSAwLjEzMjE5Mzk5NTIzNjA3MTc4LCBbImJveSwxOSw4LDUsMTQsNSw1LDM0Il0gPSAwLjQ4MjE0OTM5Nzk3Njc5ODM0LCBbImJveSwxOSw4LDUsMTQsNSw1LDQ1Il0gPSAwLjM0NzUyMTc4NTAwMjE0OTcsIFsiYm95LDE5LDgsNSwxNCw1LDUsNDYiXSA9IDAuMzYxMzAxNzUyNDU0NTc2NzQsIFsiYm95LDE5LDgsNSwxNCw1LDUsNjMiXSA9IDAuNzI5MTkwNzAxNzQ3MzMzNTgsIFsiYm95LDE5LDgsNSwxNCw1LDUsNjQiXSA9IDAuNjc2ODE5ODMxNDYwMTA5MjcsIFsiYm95LDE5LDgsNSwxNCw1LDUsNzIiXSA9IDAuNTYxNjg3OTMzNTY2MDYzNjEsIFsiYm95LDE5LDgsNSwxNCw1LDUsNzMiXSA9IDAuNjcwNzExNzk1NjI2MTQ2NTgsIFsiYm95LDE5LDgsNSwxNCw1LDUsODEiXSA9IDAuMDg5Njc3NDYxODQyMjg5MDg2LCBbImJveSwxOSw4LDUsMTQsNSw1LDgyIl0gPSAwLjE4MzI5NTM2MDgzMTAwODYxLCBbImJveSwxOSw4LDUsMTQsNSw1LDg3Il0gPSAwLjIxNjE1NTk1ODg5NTMwNjE0LCBbImJveSwxOSw4LDUsMTQsNSw1LDg4Il0gPSAwLjY5NzczOTUwNzAwOTU1NjQ1LCBbImJveSwxOSw4LDUsMTQsNSw1LDEyMCJdID0gMC40Njc2NDc2NDM5NDg5NDg5OCwgWyJib3ksMTksOCw1LDE0LDUsNSwxMjEiXSA9IDAuNzk4MDA1NzgzODQyMjU5ODQsIFsiYm95LDE5LDgsNSwxNCw1LDUsMTQ3Il0gPSAwLjg0MzA1ODUzNzA1Nzg2MTgyLCBbImJveSwxOSw4LDUsMTQsNSw1LDE0OCJdID0gMC43MjY4ODcxNzYxNDM0Njg1NH0gLS1bW3RhYmxlOiAweDE2YmQyMDcwXV0="
  },
  {
    "path": "officialworlds/minigames/square fill 1.bab",
    "content": "{\"width\":20,\"version\":5,\"extra\":false,\"author\":\"Slabdrill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":13,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"square fill 1\",\"map\":\"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\"}"
  },
  {
    "path": "officialworlds/minigames/square fill 1.replay",
    "content": "1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;"
  },
  {
    "path": "officialworlds/minigames/square fill 2.bab",
    "content": "{\"width\":20,\"version\":5,\"extra\":false,\"author\":\"Slabdrill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":11,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"square fill 2\",\"map\":\"eJydnN2O2zYQhV8lyE1RwGhFkdRPAz9JUCy8azcx6tqJ14smWOy716sZSkNpKB42VwvifB6ankMNh0L2lw+ny9Pu9OFh+/p6O54O24/Pf7+cPm5+bKvNcb+1rt78vP/5/O3wdNydtq9vm/3xujWbp8vpct2++k399rZh8uX4sBOkXSXrGfk4kubOmRR3Pp5GKpppvUa9VhsTRXua5nnn6uJoDqXusfYj5e+ULY7VoNQ91mGk2jvlimN1KPV4ue6vI9bfMb/AJvHhdLpNv291VzdztU2p39OhTatD0plBvJ6t9ca9Lb43gavJOlvkxwlzpblKmEexkKqENaW5SlhbmqyEdaXZSlhfmq4DVlel+UqYKU5Y4ur1jL3PzU9iqyVsciczE+i03EXA9wTpwEW0E/aeIP0c8zomvt97gphF9ie4wW31wHWrbjOa2wjsS902YLYqdRth8AMluI2wutRthMEPlOA2wlyp2wiDHynBbYQ1pW4jDH6ojG4jrsu6zU3iPuM2F5mmHkFXrbltthZmwsya1xbx7ATWmtsS8fyE2WK32YFzq26zssIJvxqBvtRthDWlbiOsLXUbYV2p2wjrS902YL4qdRthptRthNWlbiPMFruNOJd1m53EftVtRst+AptStxHWrrptJV5X6jbC+mK3uaHorlTTLH4pEptShxGmn1kSMWyprwhbPancz0V2uWsQ6EudRRh8WomjtaXOIkw/ryRi9MV+Gri2yvqpnsRm1U92dg51E1iv1opz0EygLa0VCXOlfiLMw34aV9EPYLNuqJlaf4qk1PrDI6XWTygJdacfTFJqk80VM4lrNVcWC09iu5ofkZHjKE7Nj0VWkNiXZgVhDZwVtx+3h8fdsAk2A9qCeUFq/ciRUvdgFg3qvgKziNR6LZBS6yVASm0z/RSxfr1+xhy1f50uXyaxXxePrRdSN1rmtCl1q6VOUt2pGdPGeTLs9O2g14+MywVsqcWUeXzTp/OEGFGPiT4ZIfPwns3fVOq5MP3x+nM7+vgvl/s/gahnwXQE/UmdlOtnv6Q8c+Sby/VDX/R1b4cf4ufSu4jRtrYT6tVDXrQ/HU8CqwuerUZwFm3EzJKQGorLjTRaiJd3fUd6/WwXyS/X29eLQNAHMcsz+/MwIV5rJrq8M0IdzERmn2biaSJqvRU0J/aC0LtAc+IgiIzDZwtV6wV6Up4x+FyuN3qScr3Bk5S3oFtZ3uXd+u/vf10PZ8FkHB7n0NDqWyla2KUshs0dXMqc2sDxS2+yPNG4Wa5ST3q9YZNYJWb0m4FkCL1Hk5TrNwFJuX4DkJTr56uU3GWOVXO5frCKn7czJF9fPwk1fI7i5GNML69Xjl/MqZX26iOCwUStrdx00AWaQyvsoAf27/EShhG00Ga9R0vtoEeL7aBHy+2gzxXcc70DkvEgAb3NtuhqBLlaea/kYuBWu2vqBRCDandtNRsDmWiwKWvHl5iZ0nyhBx7cvNYMAJX5eNvGiH5pM0dqiQAF+ng5x4jeUpsjTiL6le8c8RJBN/mgR5snQZ9pnyx+j1ZvticDtPqdbhTg+PRTErDdWQ/bnfWA3Z9vh9Ptq4RQy7Nct/zC6KwuNzqD/8PoTOJGH+65TAcbnfWA0cUqM4QW6UGfcfpCr9/LpvUeTUXWN2gqsr5dz6qFvst0fOb6fj0N5/qhabZsGKb1Rs0iDbAE6K/0xI2Q6+7wUzL62zzpGPprPHH3gf3HRKZOj2okRtBaPegz+3h8fAgQvJmzHtjMxzesBqSuMtu5PN4HJFO+yfN9QGoI2UvEQshBIrC7WZ9x95AoX3e3xygIehYP+sxh/D3I95sE0F5b0APNtugb5Hpt8wD6O3tzz76cJaJff6VD6Ke1tF6/7oqmFFrlAdGvurQYjoBMZy362ozAZzPWA2ezsFMxAfTWxp2KkFxzbT6pobWG71QM6a9XpYNg7t5JJOPuaKdiJNNmi3YqRjJ99GinYkS/7dZ3KkbQXkzQZ5oxs52KIIvedQZ95rZT7FQMZF67XATQ37zUdioGMpX6IkDmQiyuLpjR33xJx9Br9bRef9Ml/un4LiQgfR553p2fBTK039Z2t8hQnhj9PRflm7AeqN3ep3X+5SYptJEe9ED19rz75/BtdzxHcTLH8UUc7CxuJJIx+iJExuWznZQhtO/Kep9xubihD0TG54sIGZsL2zKQ8fkiAHAg/y5/a5+7+J4HgD3OetjjrAc8Hq8Q4PCxtiCkAR1Ov3RDDOxw1hc6nCnY4awvdjhzsMNZjzm8lgjscNaXOZwh2OGkbwsczgTscNbjDmcAdjjrcYczADuc9bDDWZ9xeGRARjp0U2A94PHxMp+ZLtN/icp7RnItmKjIbYnJ+Hz6KqzPdGDm+wJTGZ8voiBdmGhfYC7j80UcoBUz9voZget11gONGLEvENTD9Trrgc562BeYgAt21mc662JfYAAu2Fmf6aqLfYEB2Oesbwv1GZPLEzkTcIt10NsKsLhcU1uBBqcjaUcMbHDWFxqcKdjgrC82OHOwwVmPGdxJBDY468sMTpCBDc76AoMzARuc9bjBGYANznrc4AzABmc9bHDWAwaPvzHsb9LXgL//+FUCoL9pUj0xsL9ZX+hvpmB/s77Y38zB/mY95m8vEdjfrC/zN0F4w431Bf5mAvY363F/MwD7m/W4vxmA/c162N+sB/x9vny5SAR2OOkdfEnK+pTB3z7x/9bxcB/79PDZ/vkbXdw/fK75z/uoV0ebadRMo62q7aZRN432qtZU6gcbrw/LaYjPNq0a0nQJea9+el3p8tro8joht7pcLlYjxrvEeK+PW302VszGVmLcqktjXUKuL7xtEnJ94W2XkOsL78TcnRwXk3RWjPvEeKt/vExIsZJOn42vdLnXF97XCbm+8N4l5PrCezF3307jjZik78W4SYzrSdl4dZKNvpCNmEwj5t706qe0+oK1ImYrfr22SYy3+ngnxjsvxjt93Bh9wzPGqfM0chOSDjRWX0wj81KmvXH69mlkwspf18ifXU7V6ylrZDpEU20TQFdpi3Q93F6u5w8Pnw7n/X999JG/\"}"
  },
  {
    "path": "officialworlds/minigames/square fill 2.replay",
    "content": "0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;"
  },
  {
    "path": "officialworlds/minigames/square fill 3.bab",
    "content": "{\"width\":20,\"version\":5,\"extra\":false,\"author\":\"Slabdrill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":20,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"square fill 3\",\"map\":\"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\"}"
  },
  {
    "path": "officialworlds/minigames/square fill 3.replay",
    "content": "0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;"
  },
  {
    "path": "officialworlds/minigames/square fill 4.bab",
    "content": "{\"width\":20,\"version\":5,\"extra\":false,\"author\":\"Slabdrill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":13,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"square fill 4\",\"map\":\"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\"}"
  },
  {
    "path": "officialworlds/minigames/square fill 4.replay",
    "content": "1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;"
  },
  {
    "path": "officialworlds/minigames/square fill 5.bab",
    "content": "{\"width\":20,\"version\":5,\"extra\":false,\"author\":\"Slabdrill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":18,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"square fill 5\",\"map\":\"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\"}"
  },
  {
    "path": "officialworlds/minigames/square fill 5.replay",
    "content": "0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;"
  },
  {
    "path": "officialworlds/minigames/square fill 6.bab",
    "content": "{\"width\":20,\"version\":5,\"extra\":false,\"author\":\"Slabdrill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":19,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"square fill 6\",\"map\":\"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\"}"
  },
  {
    "path": "officialworlds/minigames/square fill 6.replay",
    "content": "0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,0,undo;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,0,undo;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;"
  },
  {
    "path": "officialworlds/minigames/sticky skul 1.bab",
    "content": "{\"width\":14,\"version\":5,\"extra\":false,\"palette\":\"default\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":14,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"author\":\"Patashu\",\"parent_level\":\"\",\"name\":\"sticky skul 1\",\"map\":\"eJyN1sGKgzAQBuBXKT0sLHhwNEbd4rMUW6VIXS3W0pbSd1+Tia5h2eS/efgmhJnMOFW/aftj2W72xes1Nm1dbMfHuD+Uh23wKMKgqQoKntPH9VIfm7ItXu+gaoaC3sGKl0PfVUtANAWQO6AbFx1POnLr6/nWLl5MPnb7Q73oZNLCrb8+Fy0nnSBnk9KpPzE3hSOFMze+l+1Cc3dG1pRCdzYsS+5cWDZyZ8KyqoIStKp6KWhV7TLQqsrloFV1I7AWpOpGjtdsYVU58jxmExDrTgmhV8GWoGfBNoLSzDYGLs2vXmgvoDuzTaA7s5XAPbr+1KuIREd4GtCczjaDbsIWKeM8k6SeYZ46/g0g94w012Ebua9uH+xpRht7utHGWDuyRWrJbyrVHhila55B2WOLTVNthWeazvlgTO5Mm18oW08/2gfHUKLZCmw8MU6Aqhz77/rSXlVQpoOkvzRVU57Ozfk3JoXqw9bTmHNqGOfY69Y4CbGkMyYo6WwjII8fiueax/4MrrSAcscWG69skZY89eW9fJryEy9QQGuu6m+CsAY1GOtQxjJEc096R5Oe7XU+nLFn0to4hv6xBgvkl9JU9ZxGvU/IBLs8Y4ldnnEK7Y0GZ9DiaHAObY6M0xBaHQ0mLOGMI6ifDY6h7dFgga2PRifYgDb6vyZ974Z6vA3dZr+ru+oHI0qKeg==\"}"
  },
  {
    "path": "officialworlds/minigames/sticky skul 1.replay",
    "content": "-1,0,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;"
  },
  {
    "path": "officialworlds/minigames/sticky skul 2.bab",
    "content": "{\"width\":14,\"version\":5,\"extra\":true,\"palette\":\"default\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":14,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"author\":\"Patashu\",\"parent_level\":\"\",\"name\":\"sticky skul 2\",\"map\":\"eJyN192KqzAUBeBXKXMxcMALE/M7g89SbJUidbS0lpmh9N2PyU7FcDjJuuvFlxjXjulOO+2G6dgMu339eMz90NVv88+8PzSHt+KnLou+rVnxu/y4Xbpj3wz141m0/bVmz2LDm+s0tusAvgxg6QHjvOpq0Tytb+f7sHqx+CrtD92q5aJFWn/8WbVatETmZk7rdDDfzbBSk170ltr0ireUlen1RtaV0YLWVxB8NeYKyDL1vjvOPRdQamRlem9EVkERk9VQbmRd6RRoXe00ZrmrnQEtVjuyPFOOCPvaZb6+MKDyA7DqkZXpcyCyCqo0WQ1VmqzB0iBsM2lsceXqx6CDSHifOUbD3GQzJ2hkK2Ad43Sa3AjpR2A1JIvVkCxWQ7Iai5qwAV7x9R+h/Aib/8+KBhgDvae3oky/ZzSxYOnjI8Y8fX7EuIIOELIC+M6j2S2Dt7f2T5D5xDfcWChvmjqzr17rJqzTeYfGhqzB4iZsobi9lSUQ9yYNy4Gwj9NXdxlubpDxDwH6srZvTuf+vI6xJRQ7zc+x2AlX2DYnLLDcCUsod7IKyP2fTJAD9N1x65+BdX1ksVOFrIVOT29Vbn9FGPmST1Pz3fyG7cWoF+ZYe0u4gt40YIEmznyHqTJny2tywgpbCWENhR4w2MQTtljjQVqDBQ0aqeitb7uwzZnv9TRYT8KZW1mMM1eyGEvszkJYQc13wBrqvgM20LESsMXuTh6bEqw8aQZW3jedhmNJE66wmyRhgZWFsMTyIKzAyyRp/Z/0np/Xbr5fx93+sxvbv0Nzhso=\"}"
  },
  {
    "path": "officialworlds/minigames/sticky skul 2.replay",
    "content": "-1,0,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;"
  },
  {
    "path": "officialworlds/minigames/sticky skul 3.bab",
    "content": "{\"width\":14,\"version\":5,\"extra\":true,\"palette\":\"default\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":14,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"author\":\"Patashu\",\"parent_level\":\"\",\"name\":\"sticky skul 3\",\"map\":\"eJyN181uozAUBeBXiboYaSQWGPyDp+JZIhJQhMJAlRC1VZR3L/ZxUdzRmLPL4jO5PtcYu512w3Rsht2+vt/nfujql/lj3h+aw0v2UedZ39Yi+1x+XN+6Y98M9f2Rtf2lFo/siTeXaWzXAcUyQKQHjPOqy0UXaX0934bVy8WXaX/oVq0WLdP6z+9V60Ur5tnCaZMO5r0ZVlqli36mNl3xMxV5ut7IujZa0voOklMTroFio983xwvPJZUarEqvjchqKmJYQ+UG61qnSet6ZzhbuN5VpOV6B0v2DnirdxF2nRMbr2oYUPoBimo1rE5vGpE11LKA5d48WMul4XGZb6QRYddAQe1a0vuCSg62pJKD3WphhBVR9DidJjdC+RGaKhvWUGXDVlTDYS03RY9lTkzx++uj/QjiaxgNsBtfw1AOHl6k5xlXUqY3phjL9M4UY0VtTbCa2BTiQJhlhXfB+H/Y+Mz+4JZ7HfDojXX1XTewTecdjkzeqpyLG1hQccMWRNzPaWgi7OP0t3sbrm5Q5f+k3E687ZvTuT+vY6ykYsfzJRc7sOKWObDmcgc2VO6wFZH7P5kYIvxfjlv/H5baPb3VORU3rKB2T9it9RXhkpjfaWrem8+wvARO2dwRMGBFzTRgTU01YLo9wh90dcWVDWy5snGRyLmygQV3lwAuuCNN0CXX/aAl8/Hs2y68E8KfIg13KAyY7Cew4YIBrrhrFrDl7lkeVzl1YQhYUDeGgAtqwwq45O57wJJcJtCKXCb+7FtxF7OADdcW4IprC7Dl8vDY5uQFGFr8J73H66Wbb5dxt3/txvYLFD3BhA==\"}"
  },
  {
    "path": "officialworlds/minigames/sticky skul 3.replay",
    "content": "-1,0,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,-1,udlr;0,1,udlr;1,-1,udlr;"
  },
  {
    "path": "officialworlds/minigames/sticky skul 4.bab",
    "content": "{\"width\":14,\"version\":5,\"extra\":true,\"palette\":\"default\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":14,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"author\":\"Patashu\",\"parent_level\":\"\",\"name\":\"sticky skul 4\",\"map\":\"eJyN19GOoyAYBeBXaeZik028EBSQnfgsja2mMXV10trMTJq++wiHMWV2g+fOiw+F8wNCO+2G6dgMu319v8/90NUv88e8PzSHl+yjzrO+rUX2uTxc37pj3wz1/ZG1/aUWj+yJN5dpbNcGcmkg0g3GedXFomVaX8+3YfXl4ou0P3SrVosu0/rP71XrRSvm3cJpkw7mvRlWWqU7/UxtusfPVOTp/kbWldGS1leQHJpwBRQb9b45Lj0vqdRgVXpuRFZTEcMaKjdYVzpNWlc7w1npaleRlqsdLFk74K3aRdhVTmws1dCg8A0UVWpYnd40ImuoaQHLrTxYy6XhcZFvpBFhV0BB7Vql95JKDragkoPdKmGEFdHpcTpNroXyLTTVbVhDdRu2ogoOa7khelzmxBC//z7atyD+hlEDW1LjxMtlepxxT4r0xhTjMr0zxVhRWxOsJjaFOBBDrwXjv7Dxm/3BraLyxqs35tV3v4FtOu9wZPJW5VzcwIKKG1YScT+noYmwj9Pf7m24ukaV/0ixnXjbN6dzf17b2IqKHe8vudiBFTfNgTWXO7ChcoetiNz/ycQS4f9y3PpvWGr39FbnVNywgto9YbfmV4QLYnynqXlvPsP0Ejhlc0fAgLn1HLCmhhqw4cYadMUWU/hjseaqCWy4cgbM1TNgyd08gMnjYNDkYSJo5jRx7dsurCDhz5yGO1EEzJ0LAyavZMDkpczjiryVAQvqehGwpO4XARfU9hZwyd0OgRV5PYTW5KSCZhelP1dXZBGBySJ6bMkiApN3a2D2cg39/yVpHo/XSzffLuNu/9qN7RdhaN9L\"}"
  },
  {
    "path": "officialworlds/minigames/sticky skul 4.replay",
    "content": "-1,-1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;0,-1,udlr;1,-1,udlr;0,1,udlr;1,-1,udlr;"
  },
  {
    "path": "officialworlds/minigames/sudoku.bab",
    "content": "{\"width\":33,\"version\":5,\"extra\":false,\"map\":\"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\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"sudoku\",\"height\":12,\"author\":\"Slabdrill\"}"
  },
  {
    "path": "officialworlds/minigames/sudoku.replay",
    "content": "0,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;0,0,numpad;1,0,udlr;0,0,numpad;1,0,udlr;-1,0,udlr;0,0,numpad;1,0,udlr;0,0,numpad;0,0,numpad;0,0,numpad;1,0,udlr;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;1,0,udlr;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;1,0,udlr;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;1,0,udlr;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;1,0,udlr;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;1,0,udlr;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,1,udlr;0,0,numpad;0,0,numpad;0,0,numpad;0,1,udlr;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,1,udlr;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,1,udlr;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,1,udlr;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,1,udlr;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,1,udlr;0,0,numpad;0,1,udlr;0,0,numpad;0,0,numpad;-1,0,udlr;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;-1,0,udlr;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;-1,0,udlr;0,0,numpad;-1,0,udlr;0,0,numpad;0,0,numpad;0,0,numpad;-1,0,udlr;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;-1,0,udlr;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;-1,0,udlr;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,-1,udlr;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,-1,udlr;0,0,numpad;0,0,numpad;0,0,numpad;0,-1,udlr;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,-1,udlr;0,1,udlr;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,-1,udlr;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,-1,udlr;0,0,numpad;0,-1,udlr;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;1,0,udlr;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;1,0,udlr;0,0,numpad;1,0,udlr;0,0,numpad;0,0,numpad;1,0,udlr;0,0,numpad;0,0,numpad;0,0,numpad;1,0,udlr;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,1,udlr;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,1,udlr;0,0,numpad;0,0,numpad;0,1,udlr;0,0,numpad;0,0,numpad;0,0,numpad;0,1,udlr;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;-1,0,udlr;0,0,numpad;0,0,numpad;-1,0,udlr;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;-1,0,udlr;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,-1,udlr;0,0,numpad;0,0,numpad;0,-1,udlr;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;1,0,udlr;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,1,udlr;0,0,numpad;1,0,udlr;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,-1,udlr;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,-1,udlr;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;-1,0,udlr;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;-1,0,udlr;0,0,numpad;0,0,numpad;0,0,numpad;-1,0,udlr;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,1,udlr;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,1,udlr;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,1,udlr;0,0,numpad;0,1,udlr;0,0,numpad;0,0,numpad;1,0,udlr;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;1,0,udlr;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;1,0,udlr;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;1,0,udlr;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;1,0,udlr;0,0,numpad;0,0,numpad;0,0,numpad;0,-1,udlr;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,-1,udlr;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,-1,udlr;0,0,numpad;0,-1,udlr;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,-1,udlr;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,-1,udlr;0,0,numpad;0,0,numpad;-1,0,udlr;0,0,numpad;-1,0,udlr;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;-1,0,udlr;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;-1,0,udlr;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;-1,0,udlr;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;-1,0,udlr;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;-1,0,udlr;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,1,udlr;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,1,udlr;0,0,numpad;0,0,numpad;0,1,udlr;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,1,udlr;0,0,numpad;0,0,numpad;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,1,udlr;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,1,udlr;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,1,udlr;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,1,udlr;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;-1,0,udlr;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;"
  },
  {
    "path": "officialworlds/minigames/switch labyrinth.bab",
    "content": "{\"width\":16,\"version\":5,\"extra\":false,\"author\":\"Slabdrill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":11,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"switch labyrinth\",\"map\":\"eJydmd1u2zAMhV+lyM02IMD8/7Miz1I4iZsZcO3ASdYGRd99jig3kn1Iqb1oL4rzhYp0SInsvn9o+13VPjxt3t/PTVtvVtu+bVfrt02wbvabcH0df07HetdU7eb9Y71vhvEPu77th83qeBmOq481AqMRjFmwH6ruwJDxSKYsuW3rCwMmI5iz4LVu294gq+0nmI5gsQCNIMN++BRno7jkxa/VfUH5bfMCdkVDXe+XXyW8kcVI8uB8D/TyFFnCA8NRxrVdx4PyXZ8ZJgzh+TJxbmZI2Di7a111HRsJ+4GJdPNA5m87K1AK/cMEyqBnvLYu93IQaQvZQkweRYrFVpjQw3DpGDIKxOQ9Nt2OI0MxeaWYkZi985h6QwmN5Q0df9+1ibyh8yqhlxgrNhWzklkioZlfWpI4F9OSMzGxhV9ekrgU81IMFAd+aUniUEzL+TVixcG+YOLEYlYydZPQxCsrSZvKJsI2TxSKjeCwH6G5nJXWJv69DLuqq+9wgY46ZyKVYhbje0uRSSBmMVvpCQ69joC0kXwEy0i0ylTBsZjInO+JTfwymcSpmMmMHwnN/BKZxLmYyExlIrTwy2MSl2Iez31vxkmxM3CcNBTzeJElVqDIy0WkjWUX4cdmplDsA5f/iE3FTMblg8jsG49jIvPv3K+EFl47StpS3lHcMeTqYR3I1yu+JAjFbQoTJxKTkjMXsbFfVpI4+d6zl+DULy9JnIl5ybxGCcW+YOIUYl46vlHp9UxT2jxw2Ag+QQuFyi2rvRfHtjo/98MdjvyMRGJsBjmNiUzENGZeAYTiLsWRJYQ6WteZGnevOdq7UgGwaU2XH09qZ6NqqgvcqXJqZ3NqqXF3yqmd7ailxv0op3Z2oJYat6Cc2tF1ztS477wf/vnt/PTc9gfVqaphRwEPdPnCJHUpjx7wRaZRfLqum1fD8iiCyTzNypOp2bPRSA+Nw/nUfYPs7SyhF+5q44GvAWiHfHnAWg79wMt9DLGl5dAcqkTVAH2+HkUFnvVg0ofIQKDaTHo4kBT0MTKKoMclndennpVh0meetWHS557VYdI7HnkLPX7o2Yb480sRNI4K4fvOBqbZlybgVT7z3JSiGoGPOxs5Vd2p+3E2qdhN6YHxRCTITvM4L/WxajorEnz6y18pk1t3tW+/n4e6M6Ec2VH8RgUyJExwDZRyheK2QE0XhUJ14/RbcCLgYADVEq3HwwE7hFlAY8LgWID3jqZgI4htrQk4FYA7rQE4C5il2k8TgPMAtGFaD4cAgh7OAXh9DJt/QQ/7f0EPe35Bj/t+eAQJEYnbG+aNryk4MZbCwPGgDRz6l+trdTUpODC2qYuph0NiW9/srAhwUow2mPQJnA4LejggFvRwKizo4WBY0MNpsKDHE2F7S/81p+b8WadTAjO3Q6ZiqIncbRGzSmmq8LkXzWKtufIL9xUhatLnf19pCP7jCN9Xmoi87ysNxF+9rzSXuO+rqcBrIvV1j9ZnjHs+Hof6fBm6h6fHutv/BwvTizo=\"}"
  },
  {
    "path": "officialworlds/minigames/switch labyrinth.replay",
    "content": "1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;"
  },
  {
    "path": "officialworlds/minigames/the ol skware puzel 1.bab",
    "content": "{\"width\":9,\"next_level_after_win\":\"\",\"extra\":false,\"compression\":\"zlib\",\"author\":\"szoob\",\"height\":9,\"version\":5,\"map\":\"eJyN1MlugzAQBuBXQblV4oCx2Rr5WRAJNEJ1ccSipkK8e8GDWaTWM7ccvnH+GZsptaf0vVBeLsexr1UlL/2rzz+Uflz8lwz8upTM/5l/dM/qXhdKjpNf1q1kk3/wX3roNh/Onv3vvwu1UT7TxH30rbhtXMw8dfOi1U25FLClIMKjd0XTbT52R1+zGJrMVKBdGpoSuqw2neFN2nGH5noCQpOfg9oLGOmCwIZ49mHXHM8OnXLDBZ78yCN3btsk4OUqORUjl2k/B8DLdUbo+MBm7vEdbRjgw7OphSkgfJjvbztHvkvbJGBOGx9g4R7fGUek8YGN8dd3Pjxxz3A9PDI2dY/vZDPa0zOYB+7Z2UEDZrTZAQ5JswNL2K3bsoQKwnpd/yE2HtmuJ4ts1pNN8OR2A0JBSl07ieEZKbexIiDlBsuoex54iKdu9EMvBakp4KTcYAUpN9gIz23fLBTEfyefrm3VD23j5deqKX8BWJrMHA==\",\"music\":\"bab be u them\",\"is_overworld\":false,\"level_number\":0,\"level_sprite\":\"\",\"name\":\"the ol skware puzel\",\"palette\":\"variant\"}"
  },
  {
    "path": "officialworlds/minigames/the ol skware puzel 1.replay",
    "content": "0,0,space,e3s0LCA0fSAtLVtbdGFibGU6IDB4MDZlYjhiNDBdXX0gLS1bW3RhYmxlOiAweDA2ZDgxNjI4XV0=;0,0,space,e3s1LCAzfSAtLVtbdGFibGU6IDB4MDcyZTMzZThdXX0gLS1bW3RhYmxlOiAweDA3MmUzM2MwXV0=;0,0,space,e3syLCA2fSAtLVtbdGFibGU6IDB4MDZjZTU4MTBdXX0gLS1bW3RhYmxlOiAweDA2Y2U1N2U4XV0=;0,0,space,e3sxLCA0fSAtLVtbdGFibGU6IDB4MDZkN2UzZjBdXX0gLS1bW3RhYmxlOiAweDA3NjE1ZjI4XV0=;"
  },
  {
    "path": "officialworlds/minigames/the ol skware puzel 2.bab",
    "content": "{\"width\":11,\"next_level_after_win\":\"\",\"extra\":true,\"compression\":\"zlib\",\"author\":\"szoob\",\"height\":11,\"version\":5,\"map\":\"eJyNlstugzAQRX8lyq4SC8APoBHfEtFAq6gUqjzUVlH+vbEvDkFqPXeXxRnnmuPxuB1X/bhr+tW2vlxO+76r119Nv06+6zTZt3WW/Nx+HD+73b7p68s1afeHOrsmf6D5Dc04VN3QikO1WzWS4PR92r7245sryFyBiSd2/Md4Pt55G4/90rzc0eKGGjG2R8v4Dl2Kx5UrYpfNYRxaV5F7Mam8z2MzHOeCjPIDNifidzOuiPjhoytfoYn07+d+LjDx9OEIAHZO1f/wcmVnVbNwGT8CS9hZtSScO5+FqAdsJus5z3RO2IFN7Xklu3nEddxM2CVgEzcTNAK2nBnAQnMuVy45M4AryoxnVUrdbGAzwktIYnxFLpt5fppxxZkBrLmeAWw4M4At1zOAi7iZoBFwSZkBW8k9s0iiU0HPtLr1MDcnwQqDMmwRsOK0ANacFsCGaxjAlmsYwAWlBSwxKO+DDxXMrJz+ovAPAmFSLlhhSIZ9As45N4BV3E343IA11zKADecGsKXcgC1kN2Gqo6CkJ03p+Yoy41mbUs8XsMR8fIhhmQE5jG+jq6h8hTAipzBghfm4YI0cPBwUFFjuksr8W9oWVOwJLqncEyzcrgu4+O9mvW4O3el8GFbbTTe0v1pEMh0=\",\"music\":\"bab be u them\",\"is_overworld\":false,\"level_number\":0,\"level_sprite\":\"\",\"name\":\"the new skware puzle\",\"palette\":\"variant\"}"
  },
  {
    "path": "officialworlds/minigames/the ol skware puzel 2.replay",
    "content": "0,0,space,e3s0LCA0fSAtLVtbdGFibGU6IDB4MDcyOTg3MjBdXX0gLS1bW3RhYmxlOiAweDA3Mjk4NmY4XV0=;0,0,space,e3syLCAyfSAtLVtbdGFibGU6IDB4MDczMGQ0MThdXX0gLS1bW3RhYmxlOiAweDA3MzBkM2YwXV0=;0,0,space,e3s3LCA0fSAtLVtbdGFibGU6IDB4MDcyYTRkODBdXX0gLS1bW3RhYmxlOiAweDA3MmE0ZDU4XV0=;0,0,space,e3s4LCAyfSAtLVtbdGFibGU6IDB4MDcxZWI5ODBdXX0gLS1bW3RhYmxlOiAweDA3MmE1NzkwXV0=;0,0,space,e3s3LCAyfSAtLVtbdGFibGU6IDB4MDc0ZTk2MThdXX0gLS1bW3RhYmxlOiAweDA3MmE0YjIwXV0=;0,0,space,e3s4LCA1fSAtLVtbdGFibGU6IDB4MDcyN2M1OTBdXX0gLS1bW3RhYmxlOiAweDA2ZGZjNWEwXV0=;0,0,space,e3s3LCA4fSAtLVtbdGFibGU6IDB4MDczZWY1NDBdXX0gLS1bW3RhYmxlOiAweDA3M2VmNTE4XV0=;0,0,space,e3s0LCA3fSAtLVtbdGFibGU6IDB4MDc5ZTBjZDBdXX0gLS1bW3RhYmxlOiAweDA2ZTNlMjEwXV0=;0,0,space,e3s1LCA3fSAtLVtbdGFibGU6IDB4MDcxMWI2MThdXX0gLS1bW3RhYmxlOiAweDA2YmU1MWI4XV0=;0,0,space,e3s2LCA3fSAtLVtbdGFibGU6IDB4MDcxOTIwMThdXX0gLS1bW3RhYmxlOiAweDA3MTkxZmYwXV0=;0,0,space,e3s4LCA3fSAtLVtbdGFibGU6IDB4MDZmZWNhNDBdXX0gLS1bW3RhYmxlOiAweDA2YmY1ZGQ4XV0=;0,0,space,e3s3LCA4fSAtLVtbdGFibGU6IDB4MDZmMmFkYTBdXX0gLS1bW3RhYmxlOiAweDA2ZjJhZDc4XV0=;0,0,space,e3s4LCA4fSAtLVtbdGFibGU6IDB4MDc1MDY5MDBdXX0gLS1bW3RhYmxlOiAweDA2ZjRjMmY4XV0=;0,0,space,e3sxLCA1fSAtLVtbdGFibGU6IDB4MDZmZjQ2ZDhdXX0gLS1bW3RhYmxlOiAweDA3NWY4NTMwXV0=;"
  },
  {
    "path": "officialworlds/minigames/too many queens.bab",
    "content": "{\"width\":12,\"version\":5,\"extra\":false,\"map\":\"eJyVmNtq4zAQhl+l9G4hZHWwJc0WP0lZQtJ4l4A3WbwpbQl997Ul52R1PL9vQlG/seefkyRvDw/N4WXdPKyq0+m4a+rqsft9XLxXerHbdj8flVr8+1u/7NZNdfpcbHdtpT8X96jtUQOhZY9aCPU9WuBo2aEGQ12HFhjqO9SJqOvR0KFeRIseJQg1MQUKYlVk9Qy2T1gJsn3GLMj2KdNYGHQJsTG62kFsLDDtoVpIPgRIW/KBIDb1g4KKLLaZ0RAb68FgeYvajIXY5EMBVXrSVkJszIVxeAcZD/mb4hCgekjsjLxZBdVOjJnV0+y6aT4uTlgz7fAZTk+22JNj2GwxHbYznIavkLvNod22PR0i7aYH8Ij20xJHdJjWOKKFHN7ThdB9I1rPiUkhdOCItsJMfj+uzgmiaFAIxdoZ/KkPb1eDUpge2Ruc0Gadwaa+4tIe2OHbuqmPVwtpK7y8QMc9oyDZoUt7RItSmq69T+369yY1a+ypUstveVvvjsvl8uZFRs7Gj283vJWD9XqDC1P3UksxrqWwX17o4eHClnnFU3zQ7h2eHsDRkFwnkE6+OIXi0RcnDOLx0808XDj+jPECnD0Djg7kAXfTvTWOjAfxmCUnjOTbg57LMvpyaA5tdVILPbUZ+yy1yW6/ayaOMj67ighWcWf02a1EsIoh9nbcCIJVPDj47OArWKX7RdbSglXcxH3W2VAMs2OxYJXyldWEYBWrw9NMq3SFyg5fSAyDHvcnEsOQTXYkyyGbBUhFhWxPR2IYso0dyVfIbreQh9nRG4pGmGmVPKTxxEOiQWqmVdRF2ZUY6RQyM98Vo0HZUQ96V7ZdIJ1Cc2sj1jxlJz+kv2hubSQPw8wYJg+zTyOIh1plX0mQl2klXLzvbk5agTe49K1AgVe44SuPcBC8ux1qVQJH2e+/2np/2dq1Yr56fT4NXwBX3drT6tmrn8sUvNWzo+Hvfl0z64ZZt8x6wayXzLpj1j2zHph1+no9MHoDozcwegOjNzB6A6M3MHoDozcwegOjlxi9xOglRi8xeonRS4xeYvQSo5cYvcTo7WbDV/9o6+Nru39YPdX77X8cIrQK\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"too many queens\",\"height\":8,\"author\":\"Slabdrill\"}"
  },
  {
    "path": "officialworlds/minigames/too many queens.replay",
    "content": "2,0,drag:32@2@0;0,3,drag:33@0@3;7,2,drag:103@7@2;1,7,drag:104@1@7;3,4,drag:105@3@4;4,6,drag:35@4@6;0,0,space;"
  },
  {
    "path": "officialworlds/minigames/wave in bab.bab",
    "content": "{\"width\":89,\"version\":5,\"extra\":false,\"author\":\"danielisgamer\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"wave in bab\",\"map\":\"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\"}"
  },
  {
    "path": "officialworlds/minigames/wave in bab.replay",
    "content": "0,0,space;0,0,space;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,0,space;0,0,space;0,0,space;0,1,udlr;0,0,space;0,1,udlr;0,0,space;0,1,udlr;0,0,space;0,1,udlr;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,0,space;0,0,space;0,0,space;0,0,space;0,1,udlr;0,0,undo;0,0,undo;0,1,udlr;0,0,space;0,1,udlr;0,0,space;0,0,space;0,1,udlr;0,0,undo;0,0,undo;0,1,udlr;0,0,space;0,1,udlr;0,0,space;0,1,udlr;"
  },
  {
    "path": "officialworlds/minigames/whack a bab.bab",
    "content": "{\"width\":19,\"version\":5,\"extra\":false,\"map\":\"eJyVmd1uozAQhV+l6sVKK0VdjM3fVnmWiCa0ZcuSXULUVlXffcHjAUyznpOL9uo7AXuO7ePhcLxpjvuyudltPz76uqm2t/1bvxv+bjdvW7WpD8O/9220Of2p9nXZbD8+N4e626rPzQLfN/XLLIgHgQoLynai9UDrMP1QPky4GX/cXPM6yahIw4pT2Z5GQTwKUnnAT10585k8Xo/PwyN+rg5PE1sMbAKyKhrgwEB9eCxrhsJjSXMUHitaoLCtZ2C2fdrWMjDXPj0Wcnj1YGVefzx2VTtrMsBfv+qmmRU54K+m6vuq25WjSltVIZtsfjUriSPZZ/uuKvtZoTCnERyHrcYWJliHrebDJmw1H07CVvPhNGw1H84Eq/l0DlqN6AKwmvf7OgKM9lDNvAJsRryxfCwbzO2rxGvZXR5vMG8RnGDeIjjFvEVwhnmL4BzzFsEF5i0Lmwj0FtEK9BbRMeCtReWNBpz1t595gxyQfdX0z6MmsZoEcFc142nYXDxegjPMLATnmFkILjCzWDiJMLMQrDCzEByDZiFag2Yh2gBmaY9qFiTIgVfW9sBLrUIo5mKnID7DdgqCc6z4BBdY8S2cRljxCVZY8QmOseITrMHiE23A4hOdAMXn8EKKFFj730Y8szgQdefUQhIw7RIsxF2eGwtnQtz1YSHu+rAQd31YiLs+LMVdn0bjLtFI3J2uRiSx9RRuX6uCZkjedes/t4JCNg1vMFaQR5hlCFaYZQiOMcsQrDHLEGwwyxCcYJYhOAUtQ3QGWoboHLDMqW6rWVEAjlnedqyqQMLu7+N5HkeBx93C8jHmGYI15hmCDeYZghPMMwSnmGcIzjDPEJyDniG6AD1TUJchQvYZvog6jQJssyinimL4euQEGjDMU/lu20IRScArDOPgJYZx8BrDOHiRYRy8yjAOXmYcrtDrDPPohYZ55Eqz3EVYpwEbuXTLEqRhSLchVlzTMFTUIlVAJp67kk4zVjzwYtOcORxMxoyD2djhMZiOGQfzMeNgQmYczcjMoymZeSkn85HHfCrYjjM180gTcRqD67Dm1zjIaQq5dz4NxfVmI9B0DhfS1RoX8tUaFxLWGhcy1hoXUtYal3LWmkeTFvNI1qITTVGLWAPBeXIRSYwQnb2jmTUqbAm3Dx+XkhjYh8+1NexShpzRZyswJDBXtLxZk8hT8Oy+PzlFGp4Af+k5jdCkuvCUPGz2i08Rju3lFJPCdq2+ulJPkrLrjkteXXSlXlf/damRqs/f6xyO9CPv7u6WEqQladsSKiFBIhuFy+EUKWATXsFOAtTcLWAnAEq+eiuh4N5aJInta0lrkafXSZDLFUtSkgAfdd3YnQD4rjsvXacx8gQ/Nu/eY4QL19f3Ej4ZDUuqqR77YVntX5ayy50SHXgQ0if5+d0qMlIA+z2HW1JkwHbPBnMK4UC/oBCy26g4VIMxlxpko59CE8Xu7D97/ed9V/Xnrr3Z3Vft4R+QXM4M\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be climb exten\",\"is_overworld\":false,\"palette\":\"garden\",\"name\":\"whack a bab\",\"height\":18,\"author\":\"jill\"}"
  },
  {
    "path": "officialworlds/minigames/whack a bab.replay",
    "content": "3,6,clikt,e3szLCA2fSAtLVtbdGFibGU6IDB4MGEyYWRkYThdXX0gLS1bW3RhYmxlOiAweDBhMmFkZDgwXV0=;11,9,clikt,e3sxMSwgOX0gLS1bW3RhYmxlOiAweDA4NTE4YTk4XV19IC0tW1t0YWJsZTogMHgwODUxOGE3MF1d;10,8,clikt,e3sxMCwgOH0gLS1bW3RhYmxlOiAweDA1YjE1NWQ4XV19IC0tW1t0YWJsZTogMHgwNWIxNTViMF1d;7,7,clikt,e3s3LCA3fSAtLVtbdGFibGU6IDB4MDgxY2FmNDhdXX0gLS1bW3RhYmxlOiAweDBhMTNmMjUwXV0=;9,9,clikt,e3s5LCA5fSAtLVtbdGFibGU6IDB4MDgxZTJiZjBdXX0gLS1bW3RhYmxlOiAweDA1YjE4ZjY4XV0=;10,7,clikt,e3sxMCwgN30gLS1bW3RhYmxlOiAweDA5Zjg2MmY4XV19IC0tW1t0YWJsZTogMHgwYTE5YzkxMF1d;4,9,clikt,e3s0LCA5fSAtLVtbdGFibGU6IDB4MDllYWFjYThdXX0gLS1bW3RhYmxlOiAweDBlMzkwZDY4XV0=;4,11,clikt,e3s0LCAxMX0gLS1bW3RhYmxlOiAweDA4NTI0NWE4XV19IC0tW1t0YWJsZTogMHgwZTQ0MTczOF1d;11,6,clikt,e3sxMSwgNn0gLS1bW3RhYmxlOiAweDA4MjBlYjEwXV19IC0tW1t0YWJsZTogMHgwODIwZWFlOF1d;8,7,clikt,e3s4LCA3fSAtLVtbdGFibGU6IDB4MDlmNzIwMjhdXX0gLS1bW3RhYmxlOiAweDA5ZjcyMDAwXV0=;10,9,clikt,e3sxMCwgOX0gLS1bW3RhYmxlOiAweDA4MTdlMDEwXV19IC0tW1t0YWJsZTogMHgwODUzNjc0OF1d;5,10,clikt,e3s1LCAxMH0gLS1bW3RhYmxlOiAweDBlNjM3NTIwXV19IC0tW1t0YWJsZTogMHgwOWUxNzFhOF1d;8,9,clikt,e3s4LCA5fSAtLVtbdGFibGU6IDB4MGJhNjYwODhdXX0gLS1bW3RhYmxlOiAweDBhMWJkMWU4XV0=;7,10,clikt,e3s3LCAxMH0gLS1bW3RhYmxlOiAweDBhMDA1YTQwXV19IC0tW1t0YWJsZTogMHgwOWU0NThhMF1d;3,10,clikt,e3szLCAxMH0gLS1bW3RhYmxlOiAweDBhMTU3ODgwXV19IC0tW1t0YWJsZTogMHgwNTc5NDNlMF1d;9,11,clikt,e3s5LCAxMX0gLS1bW3RhYmxlOiAweDA4NTE0NmE4XV19IC0tW1t0YWJsZTogMHgwODUxNDY4MF1d;5,7,clikt,e3s1LCA3fSAtLVtbdGFibGU6IDB4MDgyMGU5MDhdXX0gLS1bW3RhYmxlOiAweDA4MjBlOGUwXV0=;10,11,clikt,e3sxMCwgMTF9IC0tW1t0YWJsZTogMHgwOWRjMDI5OF1dfSAtLVtbdGFibGU6IDB4MDlkYzAyNzBdXQ==;7,6,clikt,e3s3LCA2fSAtLVtbdGFibGU6IDB4MDdiMDM3NzhdXX0gLS1bW3RhYmxlOiAweDAyNmYyMjYwXV0=;9,10,clikt,e3s5LCAxMH0gLS1bW3RhYmxlOiAweDA4MWQzZjg4XV19IC0tW1t0YWJsZTogMHgwZTY1ZWE5OF1d;4,8,clikt,e3s0LCA4fSAtLVtbdGFibGU6IDB4MDU4MTE4NDhdXX0gLS1bW3RhYmxlOiAweDBhMmE5MjAwXV0=;6,6,clikt,e3s2LCA2fSAtLVtbdGFibGU6IDB4MDg0OTJmNjBdXX0gLS1bW3RhYmxlOiAweDBhM2ViOTQ4XV0=;7,8,clikt,e3s3LCA4fSAtLVtbdGFibGU6IDB4MDU3OTk0NjBdXX0gLS1bW3RhYmxlOiAweDBhMWY2MjkwXV0=;4,7,clikt,e3s0LCA3fSAtLVtbdGFibGU6IDB4MDgxZmNlNTBdXX0gLS1bW3RhYmxlOiAweDA5ZWI0MmI4XV0=;7,11,clikt,e3s3LCAxMX0gLS1bW3RhYmxlOiAweDA5ZjUxODIwXV19IC0tW1t0YWJsZTogMHgwN2U0NjQyOF1d;6,9,clikt,e3s2LCA5fSAtLVtbdGFibGU6IDB4MGEyMmQ5ODhdXX0gLS1bW3RhYmxlOiAweDBlNDU4NGY4XV0=;5,9,clikt,e3s1LCA5fSAtLVtbdGFibGU6IDB4MGEyMWEwYTBdXX0gLS1bW3RhYmxlOiAweDBhMjFhMDc4XV0=;8,6,clikt,e3s4LCA2fSAtLVtbdGFibGU6IDB4MGEwYzQ0NjhdXX0gLS1bW3RhYmxlOiAweDA4NGYzOGUwXV0=;6,11,clikt,e3s2LCAxMX0gLS1bW3RhYmxlOiAweDA5ZTYwNGQwXV19IC0tW1t0YWJsZTogMHgwOWU5MzI1OF1d;8,11,clikt,e3s4LCAxMX0gLS1bW3RhYmxlOiAweDBhNDA4OWQ4XV19IC0tW1t0YWJsZTogMHgwYTQwODliMF1d;4,10,clikt,e3s0LCAxMH0gLS1bW3RhYmxlOiAweDA5ZWUxNzk4XV19IC0tW1t0YWJsZTogMHgwOWVlMTc3MF1d;10,10,clikt,e3sxMCwgMTB9IC0tW1t0YWJsZTogMHgwOWUyMmNmMF1dfSAtLVtbdGFibGU6IDB4MDllMjJjYzhdXQ==;4,6,clikt,e3s0LCA2fSAtLVtbdGFibGU6IDB4MGExYTE5YzBdXX0gLS1bW3RhYmxlOiAweDA4NGRjZDY4XV0=;7,9,clikt,e3s3LCA5fSAtLVtbdGFibGU6IDB4MDllYjI0MzBdXX0gLS1bW3RhYmxlOiAweDA1N2M1OGE4XV0=;5,8,clikt,e3s1LCA4fSAtLVtbdGFibGU6IDB4MGExNmU3ZDBdXX0gLS1bW3RhYmxlOiAweDBhMTZlN2E4XV0=;3,8,clikt,e3szLCA4fSAtLVtbdGFibGU6IDB4MGExMjIyYjhdXX0gLS1bW3RhYmxlOiAweDBhMTIyMjkwXV0=;6,7,clikt,e3s2LCA3fSAtLVtbdGFibGU6IDB4MDg0YjQ0YjhdXX0gLS1bW3RhYmxlOiAweDA4MjU2NGEwXV0=;5,6,clikt,e3s1LCA2fSAtLVtbdGFibGU6IDB4MGEwMzQyYzBdXX0gLS1bW3RhYmxlOiAweDBhMDM0Mjk4XV0=;8,8,clikt,e3s4LCA4fSAtLVtbdGFibGU6IDB4MGVlMmY2MzBdXX0gLS1bW3RhYmxlOiAweDA5ZTA4YjY4XV0=;9,7,clikt,e3s5LCA3fSAtLVtbdGFibGU6IDB4MGU2NTk2MDhdXX0gLS1bW3RhYmxlOiAweDAyNmY5YzAwXV0=;11,10,clikt,e3sxMSwgMTB9IC0tW1t0YWJsZTogMHgwODFkMmZlMF1dfSAtLVtbdGFibGU6IDB4MDgxZDJmYjhdXQ==;5,11,clikt,e3s1LCAxMX0gLS1bW3RhYmxlOiAweDEwNDY3N2QwXV19IC0tW1t0YWJsZTogMHgwYTEzYWNlOF1d;6,10,clikt,e3s2LCAxMH0gLS1bW3RhYmxlOiAweDBhM2M0Y2Y4XV19IC0tW1t0YWJsZTogMHgwYmE3MDdkOF1d;11,11,clikt,e3sxMSwgMTF9IC0tW1t0YWJsZTogMHgwODUyYmFlMF1dfSAtLVtbdGFibGU6IDB4MDg1MmJhYjhdXQ==;10,6,clikt,e3sxMCwgNn0gLS1bW3RhYmxlOiAweDBiZThjZjY4XV19IC0tW1t0YWJsZTogMHgwNWIyOGEzOF1d;11,8,clikt,e3sxMSwgOH0gLS1bW3RhYmxlOiAweDA1ODRkMWQ4XV19IC0tW1t0YWJsZTogMHgwZTY0YmQyOF1d;3,6,clikt,e3szLCA2fSAtLVtbdGFibGU6IDB4MDU3ZTU3MThdXX0gLS1bW3RhYmxlOiAweDEwMGE2NmIwXV0=;3,11,clikt,e3szLCAxMX0gLS1bW3RhYmxlOiAweDA1N2QzZjEwXV19IC0tW1t0YWJsZTogMHgwYTIwMzExOF1d;3,9,clikt,e3szLCA5fSAtLVtbdGFibGU6IDB4MDllNDE4YzBdXX0gLS1bW3RhYmxlOiAweDA5ZTQxODk4XV0=;6,8,clikt,e3s2LCA4fSAtLVtbdGFibGU6IDB4MGEwMTNlNDhdXX0gLS1bW3RhYmxlOiAweDA1ODA4M2U4XV0=;8,10,clikt,e3s4LCAxMH0gLS1bW3RhYmxlOiAweDA5ZjYzOTE4XV19IC0tW1t0YWJsZTogMHgwODU0OWZkMF1d;11,7,clikt,e3sxMSwgN30gLS1bW3RhYmxlOiAweDA1N2Q3ZWIwXV19IC0tW1t0YWJsZTogMHgwNTdkN2U4OF1d;9,6,clikt,e3s5LCA2fSAtLVtbdGFibGU6IDB4MDg1M2U1NTBdXX0gLS1bW3RhYmxlOiAweDA4NTNlNTI4XV0=;9,8,clikt,e3s5LCA4fSAtLVtbdGFibGU6IDB4MGEyNThkYTBdXX0gLS1bW3RhYmxlOiAweDBhMjU4ZDc4XV0=;3,7,clikt,e3szLCA3fSAtLVtbdGFibGU6IDB4MTAxNzFmYTBdXX0gLS1bW3RhYmxlOiAweDEwMTcxZjc4XV0=;|e1siZ3JhcywxLDMsMSwxIl0gPSAxMjIsIFsiZ3JhcywxLDMsMSwyIl0gPSAxMDgsIFsiZ3JhcywxLDMsMSwzIl0gPSA3MSwgWyJncmFzLDEsMywxLDQiXSA9IDk3LCBbImdyYXMsMSwzLDEsNSJdID0gMTA3LCBbImdyYXMsMSwzLDEsNiJdID0gMzksIFsiZ3JhcywxLDMsMSw3Il0gPSA0MSwgWyJncmFzLDEsMywxLDgiXSA9IDExOSwgWyJncmFzLDEsMywxLDkiXSA9IDgzLCBbImdyYXMsMSwzLDEsMTAiXSA9IDEwOSwgWyJncmFzLDEsMywxLDExIl0gPSA1MiwgWyJncmFzLDEsMywxLDEyIl0gPSA4NSwgWyJncmFzLDEsMywxLDEzIl0gPSA3NCwgWyJncmFzLDEsMywxLDE0Il0gPSAyNywgWyJncmFzLDEsMywxLDE1Il0gPSA5OSwgWyJncmFzLDEsMywxLDE2Il0gPSA0OSwgWyJncmFzLDEsMywxLDE3Il0gPSAxMTEsIFsiZ3JhcywxLDMsMSwxOCJdID0gNzAsIFsiZ3JhcywxLDMsMSwxOSJdID0gOTgsIFsiZ3JhcywxLDMsMSwyMCJdID0gMzgsIFsiZ3JhcywxLDMsMSwyMSJdID0gNTksIFsiZ3JhcywxLDMsMSwyMiJdID0gNzIsIFsiZ3JhcywxLDMsMSwyMyJdID0gMzcsIFsiZ3JhcywxLDMsMSwyNCJdID0gNzUsIFsiZ3JhcywxLDMsMSwyNSJdID0gNjIsIFsiZ3JhcywxLDMsMSwyNiJdID0gNTEsIFsiZ3JhcywxLDMsMSwyNyJdID0gODIsIFsiZ3JhcywxLDMsMSwyOCJdID0gNjQsIFsiZ3JhcywxLDMsMSwyOSJdID0gODcsIFsiZ3JhcywxLDMsMSwzMCJdID0gNDAsIFsiZ3JhcywxLDMsMSwzMSJdID0gMTEwLCBbImdyYXMsMSwzLDEsMzIiXSA9IDM2LCBbImdyYXMsMSwzLDEsMzMiXSA9IDczLCBbImdyYXMsMSwzLDEsMzQiXSA9IDUwLCBbImdyYXMsMSwzLDEsMzUiXSA9IDI1LCBbImdyYXMsMSwzLDEsMzYiXSA9IDYwLCBbImdyYXMsMSwzLDEsMzciXSA9IDQ4LCBbImdyYXMsMSwzLDEsMzgiXSA9IDg0LCBbImdyYXMsMSwzLDEsMzkiXSA9IDk1LCBbImdyYXMsMSwzLDEsNDAiXSA9IDEyMywgWyJncmFzLDEsMywxLDQxIl0gPSA1MywgWyJncmFzLDEsMywxLDQyIl0gPSA2MywgWyJncmFzLDEsMywxLDQzIl0gPSAxMjQsIFsiZ3JhcywxLDMsMSw0NCJdID0gMTA2LCBbImdyYXMsMSwzLDEsNDUiXSA9IDEyMSwgWyJncmFzLDEsMywxLDQ2Il0gPSAyMywgWyJncmFzLDEsMywxLDQ3Il0gPSAyOCwgWyJncmFzLDEsMywxLDQ4Il0gPSAyNiwgWyJncmFzLDEsMywxLDQ5Il0gPSA2MSwgWyJncmFzLDEsMywxLDUwIl0gPSA4NiwgWyJncmFzLDEsMywxLDUxIl0gPSAxMjAsIFsiZ3JhcywxLDMsMSw1MiJdID0gOTQsIFsiZ3JhcywxLDMsMSw1MyJdID0gOTYsIFsiZ3JhcywxLDMsMSw1NCJdID0gMjR9IC0tW1t0YWJsZTogMHgwOWUwZmU2OF1d"
  },
  {
    "path": "officialworlds/solo levels/DIY stairs.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":false,\"map\":\"eJyNWV1vozgU/SvVPOxqpEiLsY3tGeW3VDR4UjYUKkK2k6n63xeuHbCJw70PfanOMffDvh8nVffUdIeyeXref34OdWP33z7K5tvu957lu7ras911n+/O7/ZQl83+82tX1f2efe1S2HzEciKWj1hBxIoRyzIiWE5gqsXFCKYerKaDqe7pCUz1z4xgScSOcbiOZhPBU/YUFTylTz8Gv9nBoQ2gpwQaHJ1ngBbb6OH38Hyy9jQxCiDI7cxMhBcL5rgPIJmc8DeTnP0KJ5R911YTQwND44zxP/Yw1F07sRSwTIrFI9av3rZn8IXBM8pwylC/Nfbc/j1MNAGsZK5jls+3BHyO48+lswtSknOc4FIC4coFDn8t7XA+Xe2clVzSSL+arl9IRepyofFSOCuKlyZ85bUcXqz/iguawVlhFODO8AwnBZHmDIeXfd/NrvMp9eNdI7wucJ1zAv7YvV0/yuvsORcI6WYScz7LVPPI79Hu8IKIdvYrItpFR2+jITjlyxJ+Q4hOfWyDGysyAmW2CgqcYATKrcKB1yJHGhYwuu6/2RPBCYyoxDlvRJKmMJok0KYKFL4nURBMvH/sAmvecIP7rnufH6HQ270zbFkuQ2a7fwYtC+aUDIf/KT/K/lLBNXDDDcNJkfdgmcwJzdTdaGcapzZfZ5TA4ZcJzQFN6OzOhcV+SDotFc4BhRNCBzQODxwwOHrlQJFtT8ahA24uZTiht7aaPS6Q2XvdZ+BVFBwnrT0R23P7vScSJ7hUQHCLZGF/DFf46Yfuzb4356WUFhonnevKnupTQDI46diN7/UafUtlOK2qy2P0LcWoMYNCqnIc7icZKPMK2b3uigjUQ0XIfNsdg5al5PZes3ajwOG3Buf8UDgh8lvj+OW6O6eR1Ww9j8Kz0oScvzT2Mj9eTcm3J0Bkdb69BN4VRM1xQlAQtcDhc7eEh6glzhj/Fg8KZEFedUutEPzNXUibxtZvd7q/3u4DhjJYBB6YjDJShBXB7foMoflGDH4YZCWPlkfHoIxw0eOGWdEQWvh8ZSFeRm4LQ+lt2BQpVjzyxVu3UTgjWuyNxgmhcmAMjo+liSzDGfchZllSSltoK5kn31ZM5u2AOzhPHZ5YcfzpIjXD5I9skdvo+XDm4EktJk9G1CkrmaLuih5PWdHssi6yjFLHbXVcdkYGQtsG5d+ybpalkTHCxBYsM7eP5IRCdSzb47IoM1DeMM5c/Z3/oL8Ry60LMQhwGGMdA0pRH1vlMZARGVbYo9S4y84Iq1kYa2+dwVlzU/P5ASkO4UQXLa3CpYcYn8+0EBdT/goyk9bhVgG79IeytUGc03LcRl/wsQZFjqjc+kCn9biN1nALdlKRe9AcbvFOqnLqYTB8yJOqXLJHuJinFbmFsLqgaUWO3cNdfeVIrY+rMUmNC3120QU9DimB83v2FMIAP+fe/ypAyP2tnvmfBngy7avXPNhmeA0yyJOzvHxA8oEzyVITk358D7wRSSVePr4noNIhhLkAuiCLpDgjEw8zeGIiqdDIuwoYvBSRHPFWvnRNWJlEUqpZKGs4ssDFgi8TycnugUE+H5okXN8qmM8JRZ+dr7GzTVIE2o9/ptk7CLGkaLSzSy798pEW//Wzt8Olb5+ef9q2+h9stfG9\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"map\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"DIY stairs\",\"height\":15,\"author\":\"mse\"}"
  },
  {
    "path": "officialworlds/solo levels/DIY stairs.replay",
    "content": "1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,0,e;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;0,0,e;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,0,undo;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;0,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,0,undo;0,0,undo;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;0,1,wasd;0,0,e;-1,0,wasd;-1,0,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;0,0,e;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,0,undo;0,0,e;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,0,e;0,0,e;1,0,wasd;-1,0,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;0,0,e;"
  },
  {
    "path": "officialworlds/solo levels/a true battle.bab",
    "content": "{\"width\":25,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":14,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"redfault\",\"parent_level\":\"\",\"name\":\"a true battle\",\"map\":\"eJydWu1u4zYQfJXgflxRwChMfauBn+RQGLKtJEZU6SAruBSB372ylhQpacjd9l9AzIjkziyXXOfSPTXduWqejoevr+Ha1Idv5+7UNN92n4f97no5qN0/4x+3n/X5WjWHr/vucu0P6r7T4OFzOL5c+1PXDDMlGikqTFnOEY+EiJmjr9umvrW/2WmSkRX7Wcsp0hGc+MGn/vo+Y7MRm26wu3PXdP3ha7/b3zEvH3nlmhdrXnttFhu6DdXQdTO3eMRsE+d8QTnVM7x8wDcxXsK7fnizE4wfHymbKOeeeKmH7moT3ngLVxM84m3y3aJj3iEOOuHt8V713WAZqdAahM7C3lihc+iOGf1WtRb7UDVfY1Pfl0voHw862kPHeOEKOibeOJnQETQL8vKSF2PXBHjRxEugfTypo0NMzJS30nKqDLrJZre6L0+qvq4Gy87DzlpOVUBjscEoQ+ePS3MO3okZPzyR+Vc3ZwmhVRg9G4jQEfJy7F/LwwqFeC1JGL1aSxrOlFPduCvJYKYoHzxnztYVvJCeqwQvmXPVWCGeStz+v+QF1QciKkFaOPCIP2LbwcJj4flK6ERWewmcSs2/miQTWoLQudQSBC+Yw9MWc8Jz5Xn5+RSXZlAnCC4uzckEF5TmX1XzbgmC6tx2r50lCAq0czwQR1qiCc2UaGMhAovvYbMMxMN3MOAhgmORffAMi+zZQ+bROJQH6URk1F6hGanNmggMZQ7VdqJBpXkalpylicVfRYITfwUXiz/Bc0785ddzLsPNlrMJjSVn3x1EFiT7msKk+7wXQjOJPgeK0Jk0UPkEz/mzjcocwQtpVSR4Gd6oUWECF3uxzc2OiaekOy4muOA0/7Bogbov/fXyerEUqbqElqpLaE5dE9FyQmNxAycA0bDIoROAeIzaS3QJ5QYbJzQn8qInouiJzyg9P7wIjZX2HAK/uleHyig+b0XDU8Fe6PU+vQnLTFiRNDxnStK8GoLj6zd+AKrpCl6WUl/ZpUXUQtmH12bCqtEqfGlxhdCMKPwKspHV+BgVO9/hbUgJc/e1p6BhpLDYreZp6p8uh0v1idNW5/NEionEHOdWD40XnOfOxVMlxML6g1kIrxjVp17bx/nNpShZ5VApwcUVfE0UZ73dlGZKj3mDF7fUMsIzWU8mM6msOUzqr+XUrEK6E40vpTvJqbOJ3+AoXTRB8Pa2ztcc5gG+WZT0Ba4KwuMG22JN9KIzBEFfbag/B5eCO2tb72o4bKX52uXfXSZ+joOZSsKLD/wVMcaZLyDC/A+2TzUxkgbFKqyZsbCLHVF/PxY4wvboNEdgCltvDImxhVMGDYNpsm62Avus4OkW6V8fmALwWNG48/bicBJBEbhV7c2lMEVgtrXBQ+1Bb1nDoeDBVjuV5uR/Nds1V+AAI6ZmCOR3e8eaJe2zazh2ANMy11zYbrfNN5sEhJ+6dQG8dZvGwzY7bpxrBmy1B1YUh/GrYKWw1x40Dl23pp6d2Dj2hxPNzqSPb0PIeecsCYXQNBpeSjtMJgeIlzG/slgDaLyC8d4ui+6Ong6eJ8quezRf8Ob/83eXIGjftt3QV+1L1//tEqV3QoOX/tBq8Hk4cJ79404e9I1m4GbekvHWDYNL8rb07s/6HyqO49jz8Uf+1x8k3fFHpv8cR6MID8d4OMHDBR4u4XCyx8MpHE7xujOFh/ECM/ztLMPDeMoch6rA2ynwRwocqhLHu3QiGDnj40sN4seHGB6P8GqUR6LxxukZx2Ef74t4PPGsJ8E6jQUUj6cefIqFHc9UPJ6hdfb18NG3T8fnur38CwnfMsA=\"}"
  },
  {
    "path": "officialworlds/solo levels/a true battle.replay",
    "content": "0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,0,undo;0,0,undo;1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;-1,0,wasd;"
  },
  {
    "path": "officialworlds/solo levels/algloo plus.bab",
    "content": "{\"width\":19,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":13,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"cyberpunk\",\"parent_level\":\"\",\"name\":\"algloo plus\",\"map\":\"eJydmd1uo0AMhV+lysVKK+WC4XdoxbNUtEmjSGyIaKI0qvLuS8YmQJgZ8LnrhT8G7FP7eLKpX6r6s6xe3ovf39O+2har08/p/aP8WK1/imC93xRqfW3/+D5uP/dlVfze1pt9U6jbmsMvZfUIDdtQNQldf9ZV3RSr47k5rh5cWe3K64OMWjJ0kh/N5eAi45aMIDJpyRgi05ZMIDJryRQidUtmEJm3pIZIFbRojqF32aipbuzsUETKqGipjO5qfTr5riW1VExG7ds7rAwcL1I7xSaI3AlNEb0TCkmIUA3UhMhcWpNBTsPAXpBR/PkeHprwZQ2HYqGOQyjUcgiNkRIQmgAlIDKVlmBXnbebns9mqsCHRSZYW2tgP2sE5khBDBoFgqzygCJQWRuc9f0icXP507OOxjL9ntiE21vJjEoI9XcWL5oKssiZITAT66suL+X1WH33z9BLM5SY8FyQoYEtMXAcWIew46hYCdLS9y9iQys7Cv+qrgMgss7q57RTbCxJ+4hM/HPO8b+WGjZFtEkoNH8I1f5v9bK5ZKo/2MwYvQD5WkIlunlCQ+iNtWEj5I0JjRFzSmiCfCyhKWJPCXUMphk2N6x/TnlR/6TyoWkgsA59MyFWWVnXSSGy3RAaIesNoRIJfVX1riftCnKdA4mG0AxZagjVgqVmMHUIzq2w46gskLi9J1ZBzZJYrPUoWlElveeen0P9fdn/GzwgXihxDk+QhsWsxO08sxmiPmYdRmcONvtQJrE9T6wOkK7FLDTLmJ3xzX5YtJF3e6fZWrTfRFvdEZPYdk4sYKKZFLnoMTqjqakB71qvMuuJtstqcpgJzv06cmWHWImOxqfiVzv8APRux6wn+cLLHQqW6GcwJpi2XxFaUkrhElNNu9dpQGv/1B1/l/gqp2zqw6Z/gAqW3Oe8/jVEQsSyK50uGrrU6eAIECejolXMTL7TEHfsYyOiOzElxL6GTd6PozMoLwxr6MaR4RyaHAQrkQkaf7KaMUG+hsFPEFmhQcfICLebocnrcnQMVYjhBKoQw5gRYjhDKsTszE7vvBlm3LHWPxnMXW0YTb8P2Nf5yQtytIJqwnAI1YThCFneOjhG1rcOxiw1w5iUGMZMNcMaWeo62L6ZLYMjqEcxK+5RnVNg3tGhbre3Zns6N4eX97ftYfMfQp7ixA==\"}"
  },
  {
    "path": "officialworlds/solo levels/algloo plus.replay",
    "content": "1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,-1,wasd;-1,0,wasd;1,1,wasd;1,1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;1,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;"
  },
  {
    "path": "officialworlds/solo levels/algloo.bab",
    "content": "{\"width\":19,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":13,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"ocean\",\"parent_level\":\"\",\"name\":\"algloo\",\"map\":\"eJydl92OsjAQhm/FcLDJl3BAoS24G67FoLCEpCsbxCgx3vtnp11+tNhOzzx4H6czfenMlO1GtIdCbHb57dY3osqD/trv9sU+CK95FDZlTsLh8eP0Wx2aQuS3e1g2XU7uoZZfCjFK44eUvEjDQyvaLg/23eUYjFwh6mIYyeRB8lWy7opqCIwhqQzpGlOmtoybyexI7BoZalNJmkiaOZUGpNynNECmHqUBMMOWZpbZ1lyWhfws1TFYJHIqhNISn0ooNMaUQntYkdJfmeMB0ZaqxbkqJ55ZaqeDJSDmxsqZYy3A1KeMCs08HKXILbY0HyMbR5ayjIekICceh1RkjL6/trgUw684Tf+ROPhfG4wBIE3DHJJTaoZJbvo0FcyN8EL+LYYZIK2SWv2otKhHY0GuPBkWR3J4/SNMPUY2BRZllJHNgI2Nt+bGolrWE0uNN2Jjt8Cam44b+74LvWelizwapYIzI7wWSlop8TsmlVainizB2OFbtPWEmlvTWqDE//4pNbYyN1Z6Z4u5w7rtJ5ob6bVY0KA8jUotz9B72PISGdI8tqdL8wPTD4yFLHL0q5ajjPMMo6aaZxjlpFnX0jh1vFKi5l1U35pgmIuYuW9ZYZgeGGoKnucJ/Zxlju1Zy7fYaPo7UTg3t7MF0FfXOUGcWjSBTstj/MyoycRrC1Es9dlDFMo8hgqNcsxUIQv7h8NgkZlL9RILxNxrpNasz0ytUfRQ/dd5FJ/aBuvZagcTU+q20Wux106vWZ+tXqPoJWyRoW0FU29+3QICI1lqXsReTqfEfk5RrJdTFIp2yue/ic7WfHL/6qr+3B03u6/qWP4HAeAKwQ==\"}"
  },
  {
    "path": "officialworlds/solo levels/algloo.replay",
    "content": "1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,-1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,1,wasd;1,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,1,wasd;0,-1,wasd;1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;"
  },
  {
    "path": "officialworlds/solo levels/anti it up.bab",
    "content": "{\"width\":9,\"version\":5,\"extra\":false,\"map\":\"eJyNk9uKwyAURX8l9GUYECaaWy/4LcEkziCIFmtoS8i/T9Q26XTw8r4W7rPPcZAZlz3hWYunSTNO8a4j3Q7ccAHYgCG44xJczrRnhONpBr3kUuEJATSDgSkMZ/BXq4yGPBoExbumZG+0xmjFohWvmh8tF7Tyo/qm2weeG7xa8DyMd3Sl64WGYfpHkiu5n/lllZpFQumJ9uFZDX79+lZUrMbhvdTwAzCPV/QyMzSrrsP48XPDzYqbMD4aGlm6SOlffGhjQGuUCYa7OPdCFY/vpnV3XcdxIjQzQmmFJi6M6/3DfZxWlA5bnkP8ejpOtxdQniDQNT6CCbir0/H/frBnXJseJaz32abdFvJsdz4pqkclsvZExfALYb2Nxg==\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"anti it up\",\"height\":8,\"author\":\"Slabdrill\"}"
  },
  {
    "path": "officialworlds/solo levels/anti it up.replay",
    "content": "-1,-1,udlr;0,0,undo;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,0,undo;-1,1,udlr;-1,-1,udlr;1,-1,udlr;1,0,udlr;1,1,udlr;0,-1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,-1,udlr;0,-1,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,-1,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;-1,-1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,-1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,1,udlr;0,0,undo;0,1,udlr;0,1,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;1,1,udlr;0,1,udlr;-1,-1,udlr;1,0,udlr;0,0,undo;0,0,undo;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,1,udlr;1,0,udlr;0,-1,udlr;-1,-1,udlr;1,1,udlr;0,0,undo;0,0,undo;-1,-1,udlr;1,0,udlr;0,-1,udlr;0,1,udlr;-1,0,udlr;1,0,udlr;-1,0,udlr;-1,-1,udlr;1,1,udlr;-1,-1,udlr;0,0,undo;-1,0,udlr;-1,1,udlr;-1,1,udlr;-1,-1,udlr;1,0,udlr;1,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,0,undo;0,0,undo;0,0,undo;-1,0,udlr;1,1,udlr;-1,0,udlr;1,1,udlr;-1,0,udlr;1,0,udlr;0,0,undo;0,0,undo;0,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;1,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;0,0,undo;0,0,undo;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,-1,udlr;1,0,udlr;1,-1,udlr;0,-1,udlr;1,-1,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,0,undo;0,1,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,1,udlr;0,0,undo;0,-1,udlr;1,0,udlr;1,0,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,0,udlr;0,1,udlr;1,1,udlr;-1,-1,udlr;1,-1,udlr;1,0,udlr;0,0,undo;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,-1,udlr;1,0,udlr;1,0,udlr;0,0,undo;-1,0,udlr;-1,0,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,0,undo;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,-1,udlr;0,0,undo;-1,-1,udlr;1,-1,udlr;1,0,udlr;0,0,undo;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,0,undo;0,1,udlr;0,1,udlr;0,1,udlr;0,0,undo;1,0,udlr;0,0,undo;-1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;1,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;"
  },
  {
    "path": "officialworlds/solo levels/aw chute.bab",
    "content": "{\"width\":20,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"volcano\",\"parent_level\":\"\",\"name\":\"aw chute\",\"map\":\"eJyVmV1u4zoMhbdSzNsAAcayLdm+g6ylSFN3aownDlIXaVF079cWqfjvSGLeiuI7lkRSJMU8dw9tdzy0D4/7r6++aev9j/6jf7w0Lz92H/tk1zzv1e5z+OPtXB+bQ7v/+t49N5e9+t7N8GtzuuHpgKs1Xkz4+9PhxmYDmwU+PWfzgS2FrB73kIb3/Nq1N96MfC7i1cgXcZM81Te6jFhkoM9dd+m7dlqhGjShA/BpLauSsBnPTX2eYBW24/yYKpXZnOBMYPTrr5dLfZo0ucDwc9ukVqXvMyiJDLLoNi4JLsIWfTo8TWyJjKQ31ie4EhhpoUiTmIl445ml4WXdnpJg4VUlOJPZj+BcdrEJ1gjOPPDoxo01fPDoRu2HnaEJHv1oAl8ePDP8pz72TXeaVKNDK0kqsHgW9ebA9/VHPypyqxCkX1qAcOjTJf7Sfs4E0K9bVxEc8+vw9c+6nu1eRzLIIHjr67Z/nSTRZMw70paGqXgbDwTDTOyDYQr2wDlMwT5YyW4HwWk44F0ME5xFbscYLJS7iB/9WcRzF8G4qm5pY2kjK0oEF+Ec6ixCcCncR2HpCvl8+2kL60S2D4JVZB+OLi2dyjIzwVk4M7+dm78TnMMrvzt2bXfZf+ld+u1ZRctSOsHQnz64QHHog0uUpX1whbK0BzYJCm8fDBsjj80N7oziNjcZqhe+LVnPSoPG2PspqOdEGxi9vvMWuG8RHNjeVmngmAom/4m+HmxLV9kuPAlfKW5liVXh1L/4LqyhE3t8PdB7h2hcQJ1lkp2aLPPSdn8mIUy+yreM500D17nOhSbigMXRCwgrDJcyZyn7xiqqsLd4zwSXichdDEd8ezMk4+n9DmNlJvQY4/kdLuMXNyu1zGdMYw9vnMZ0EfHa7VVHj9dSVreYhtXWR1eJrAAxDdsmLw37pm16Yxo2TjqY3liZy6oX01pWvpg24fq1OkMBmznJGeAT1rsr+OTx0SpJhEXM8UpYxhyfRgrZms+EBcnxeEaxHDfc8gS98hONLo1eSHhAxAIT6VIHwX8/54ICXZ1t7+nwEsU3mOQwXoUT3bidKdllNFeC1RiemQUwbS8Fp+7t2vybi2DyBudmHN5rcG7GI++h2fvJKTSM7u1jxPH4dQuiLyde+L51uPCF63DhG5fxVPjKdbiSzWocDjM28BXjmWy443CYp/2b0fFIcJMOJzEwcS1vzWKC5ISe5hoOhZQmDSzLq4n1oV5IYG3Go0eWZLBAg8ky49DhyxVcn8OKFNVD4HPGYQOmsaEMSfI7DMUSOF9eucNtjCVwuuydfbOoEB6e8VI2rHF4BcMRpMqCRvGR19Qah9nbj8O87cfhL0N+PJcNyRyu42OytcQIfcU47sW8GyqlPRLz2Lde3s617ogFz2jL//1U2lMxnwl6KvdqKUkC7zFsL1gAb/G6vfjTzSXwFofWkN5gxiM3eHXiKjw7d5mUaBMZXd4ijnE47QIBwXgqqG3rJSQ/CC7MSfOuyO8LK5/R1CtSdFzPVpHEiEOJBUU8lN7nfBmPo+lXDyeCk00QS4QXcLYJHMi41N+MS/y91tzhb1bc5W/W+Pz9/ftS9++X08Pj7/r0/D8WO9gS\"}"
  },
  {
    "path": "officialworlds/solo levels/aw chute.replay",
    "content": "0,1,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,-1,wasd;-1,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;"
  },
  {
    "path": "officialworlds/solo levels/cake factory.bab",
    "content": "{\"width\":11,\"version\":5,\"extra\":true,\"palette\":\"default\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":5,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"author\":\"Slabdrill\",\"parent_level\":\"\",\"name\":\"cake factory\",\"map\":\"eJyN0c0KhCAUBeBXiTbDgFCZ/U34LFHpgCAWZkxD9O7TtaAWQ7Zz8Z3r0cs6T3ZtLb2KzrMRklPfTKZq6sZHEw2RYDRC3/Uw9LwVtaTzgpjQNFrQmXPQEWjs1lIcPF45vuYjYAyY3J4dA0+u+f5GS1N3jU/w1lxBgkAiu90lAZ5f8zMt3F22/07tdkJ3kdcTeGb57W1uHLvL7N03D/skrvHqYSCR2wRxJ9YbghwShU0k7k5DL4U5Eun/O5ZSczNq5VUlV+wHUsMGxw==\"}"
  },
  {
    "path": "officialworlds/solo levels/cake factory.replay",
    "content": "1,0,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;1,1,udlr;-1,-1,udlr;-1,0,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,-1,udlr;-1,-1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;1,0,udlr;-1,1,udlr;0,1,udlr;-1,0,udlr;1,-1,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr,e3s4LCAwfSAtLVtbdGFibGU6IDB4MDgzZGU4NDhdXX0gLS1bW3RhYmxlOiAweDA4M2RlODIwXV0=;-1,1,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;1,-1,udlr;1,0,udlr;1,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr,e3s4LCAwfSAtLVtbdGFibGU6IDB4MDVlZTgxNDhdXX0gLS1bW3RhYmxlOiAweDA5MGFkMjg4XV0=;-1,-1,udlr;-1,0,udlr;-1,1,udlr;1,0,udlr;1,0,udlr,e3s4LCAwfSAtLVtbdGFibGU6IDB4MGNkZDA5OTBdXX0gLS1bW3RhYmxlOiAweDBjZGQwOTY4XV0=;-1,1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;0,-1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr,e3s4LCAwfSAtLVtbdGFibGU6IDB4MDVhMWJiMDBdXX0gLS1bW3RhYmxlOiAweDBjZDIyMWI4XV0=;-1,-1,udlr;"
  },
  {
    "path": "officialworlds/solo levels/campaign/bab got keek v2.bab",
    "content": "{\"width\":18,\"version\":5,\"extra\":true,\"author\":\"Slabdrill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":18,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"bab got keek v2\",\"map\":\"eJyVmd1u3DgMhV8l6N0Cc2H531vMswROxjs7iDEuXLdNEOTdNxJpj8UkOmfvP8oyySOS0mm6G6fHfry7P76+LpdxOH57mC9P3w7Px+xwOR3d4eXo3OHnj+Hx0o/H17fD6TIf3dvhMzj3cE7ChYeLr+E//bixpWfLr9nlebl/6B82vvJ8xa1de7YGaw/juHgL5y2ad4sm8ZcR3L7DLXZJYDvgbN12YF0GnB3BjnO2wDnj7eHGF5y3BS6BuyM4xJFxdR7wOh2YKJJi0aSjo5sRtgUO98s/DcPTzaIDXr85MvB5Rjj+1w13wO8e3/9BngN3KlwEuODyS+CSyy+BK/CbEVxzySVwQ2n5xrcov1SdZaCRPCO6QPqMaVKgAn8u0ObzRBcTUqMCI4369a/TebpZIKHuDugqGISwZnA/AjekK4VuOVcK3FGu3Pgy4/wosOPOOoGRONV9dYB9OMHBcp6WG19y7ha4Ig6689T/6V9+jD9vZjVxeknOCN8AV65RFbolcnL5NV8fp/k6e7MmmHW4JKxndjCoMs5TAjsyMYXOucQUuOAOSYFLLisFroAn403X5BHZBppVqtBIqTH9uVS/oGsk1Jh2XGXsAuzjmMiQkInD83IzCLFkqpLgPpqEDwWuQL7GdE2WMKHZaArNRlNoNpqBbthoCo3O3ZgmuyIXpoWmSAc/hst04GO4Soc9hut0AYhhH0d8lCjsw0g08wL7KBLNfIDbLH0Wx7CjOnOFfQg7Fi64E17pkpzJhEalcxv3BK/JsUzohisJSrfkVCZ0R45lge4yIJnz3IfGwMlY69KaMXTOiUbggjsrlS7Tqhn7/veOrtKyMXSd1o3ZScMJR+AWXDjES3dp5cTbdlmW1o7FHVlvVj4n9aM4mjrjXHEZGjztdipScYozPe3we5hf3N4Kdba7aUhM8gxNrva/0eS68XITkXVpCW5uEjxcLjFCUdyRSlE8J6WieJHWymma93RJikXxilSL4jWpFsUbVi3Kt2R/tvIdW2+ElxsmIv0Vd9RIt+xNciL3L+frPmZ5hoY7k81yN8VkfyF8yTVtSoNGbPOp4qAV21JCcdCMWRy0Y3YzZEMmdAE6MrN4AXoys/UCdGUWR32Z3Q3bmSlOt2bKs72Z4qg5C3dmy94CNWhBXHEiF6hNM3yJGrVllnv8UnDQqK2/rHTODSxKgysrQ5fcyKJ0xc0sStecRpQGrz2GBs89hu64uUVo9mpqxdHTncHR453Byee7Fade8LaHMzVCz3i7hyi5oc/QY96mD/0Cut3a+Er4hpxkFG/xNe0/43Tem3TpxDdfCNdcwENrf6QWLp39+xvR1SRPS8DuqUhrwH9hO/vVpEwLYd8wqwW697KbQjdflkd3X5YnXx1WHF1/7VJbLOAV2P5RRmzyDF31mp9o0DXolqy18GBU35ZXnHi10H9WA1AF7PqgDHxcH1SCjwagGNgNgWrwcX1QED4YtKgmmB21qChYHlUFy6OyYPn/VxfUCNUF+xG6KijfsFWhEb5NV4W1yVK6S7dNZvEOjOLeQX//tTcAw7hdHwzj4VgZTu8lYW8ERvJQ2KZ5rTxqBCZzuzEwmftv/DstS7QvMJ6Hfc2X0/m0N0JDut0YGtItj4b0KD/yDM3o8fJ5Bof0eHk0oNvlC1Y8ypdfiOft+zz4B9q7++/D9fQfmlyUKQ==\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/bab got keek v2.replay",
    "content": "0,1,udlr;0,1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;1,0,udlr;0,1,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,-1,udlr;0,0,undo;-1,0,udlr;-1,0,udlr;-1,-1,udlr;0,-1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;1,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,-1,udlr;1,1,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;0,-1,udlr;1,1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,-1,udlr;1,0,udlr;1,1,udlr;1,0,udlr;1,1,udlr;0,-1,udlr;-1,-1,udlr;0,-1,udlr;-1,-1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;-1,1,udlr;1,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;-1,1,udlr;-1,-1,udlr;1,-1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,0,numpad;0,1,udlr;-1,1,udlr;0,1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;-1,-1,udlr;0,-1,udlr;0,1,udlr;1,1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;1,0,udlr;1,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;1,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;-1,1,udlr;-1,0,udlr;0,1,udlr;-1,-1,udlr;-1,-1,udlr;1,-1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;-1,1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;1,0,udlr;0,1,udlr;1,-1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;1,1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;1,-1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;-1,0,udlr;0,-1,udlr;0,1,udlr;0,-1,udlr;1,1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;1,1,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,1,udlr;0,1,udlr;1,0,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;1,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;1,1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;-1,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;-1,1,udlr;1,-1,udlr;1,0,udlr;-1,1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;1,1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;0,1,udlr;0,-1,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,0,udlr;0,1,udlr;1,0,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;0,1,udlr;1,-1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;1,1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,-1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;1,1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,-1,udlr;1,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,0,udlr;0,-1,udlr;-1,1,udlr;-1,-1,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;1,-1,udlr;-1,0,udlr;-1,-1,udlr;1,-1,udlr;0,1,udlr;-1,0,udlr;-1,1,udlr;1,0,udlr;-1,0,udlr;0,1,udlr;0,0,undo;0,0,undo;0,0,undo;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,-1,udlr;-1,1,udlr;0,1,udlr;1,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;-1,0,udlr;1,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;1,0,udlr;1,-1,udlr;0,-1,udlr;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,0,numpad;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;"
  },
  {
    "path": "officialworlds/solo levels/campaign/bab got keek.bab",
    "content": "{\"width\":18,\"version\":5,\"extra\":false,\"author\":\"Slabdrill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":18,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"bab got keek\",\"map\":\"eJyVmd1u2zgQhV8l6MUCC/hCpH4otfCzBEqsukYEq1DVNkGQd9+QM7JEIuE5e/8NTQ3nkGfGp+lunB778e7++Pq6XMbh+OVhvjx9OTwfi8PldDSHl6Mxh18/h8dLPx5f3w6ny3w0b4ePYOthS8Klh8vP4b/9eGMrz1afs8vzcv/QP9z42vM1t3bj2QasPYzj4iOMj3DvES7zlRHcvsMtTklgO5Bs3XZgTQGSHcGGS7bAlsn2sPEll22BK5DuCA7nyKTaBrzJH0x0khLh8qejmxG2BQn3yz8Nw9MW0YGsb4kMvC2IxP/ecAPy7vH9F1gL0qlwGeCSqy+BK66+BK7BZ0ZwwxWXwI7S8sa3qL5UnVWgkTwjukT6jGlSoAJ/LFD3caFLCKlRgZFG/frX6TxtEUioPuIfj9cBZ4Qq17nw4VwLuHuBkU7XxAuNNLpfuvpYoGniNx4pNFrccjejwCWqXElfE2B/nuAaOk/LxtdcugVuiGvxPPV/+5ef468tzBF3nVSY8C1I5XqqQndEBS+/5+vjNF9nH+aCbShwXa43vAQYLlMCs/ZIaNIfCYwMUgST7khgZI/iTTviHhCBtIH3p5pJ37q4wB2Zv0A3BchfTBuQwJi2ZDEKjbQainF4DgLsQkSVT8uWRcHDgeLdCNyAko1pR755QrNXr9Do6o1oh8xRTKObN6bR1RvT6DxXCxvaCwfOMobBScawP0miARDY5d+AGPbniG8Thf0xEu4/wK0/RcL9C2zy13EMW8rKK+yPsGPhirvkla7JJk5o9Hre+kPBHdnHCd1yr4LSHdnGBboryD5OaAMkc5774A2M9ME2r5mELjnRCFzlRXPLt9B1XjVj3//Z0U1eNgnt8rpJdtJywhG4AxOKaGlTFHnpxPs2hcmLJ8Ut+eCsfEkKSPEKKCguFlPU5Kuz8g0pOcUZXzv8GeYXs49C7nbXEa0hyOIm3y3zIkaCMrsIIyPm1BS3pFIUL0mpKF6RWlG8zovlNM17GnSj6eJgZpRuvSXVonjHqkV4mRkRBm3lDfvgKG/J8le8pNq6ZR9SEbV/OV+jM5MZElP9yjds9ZfCO861Kd2Sj4riHakVwcMkidGK4obUiuKWe1iULkmtKF6RWlG8JrWiONvKrDxqZpJvZbuZlSdHSYp/MkxKpmzLPoIZ+CaFDKdKKQ+b1Vkm/5XgZHejdM11LEo3XMuitON6FqVbrmlRuuM0IjSaIiW04foWpS3XuChdkp2L4hWpD8VroI8EZ42U4oyR2v5q0yDKR+0LuKZtlPANbaNq4YGNSnFgo/z+v4/TeR8CrFT6C8BK+V9Y/ZFGADe1n4quIcBSpXsClsr/wu3u1xBgq/aGWSOQs0o25ZCzSnnkrFKedVaKM85KS1sjGGO1/o2zxtC+Snnkq27F2gjv8r36bXnFWywH/WYN6EgxCB7GUdx1oQEGayEOsKQSFC+xEuL1K0IHUQD6cyfdUcPKQHnHykD5Fsgg5TveNkmEjKoyp5z8ggyrGA0oj/5Wv/FO+DL/JKwOS2kwsEoXBxMrn52v/+4DwNAqXR9MrUL2h9P7e7APAsOr8KpN8/rsaBAYYsUbs2iI5X/jx7Qswz4GTLLCvubL6XzaB6F5VroxNM9KeTTQiurDwnlWunzz/wZUGuVYDSnfshpSvvtEQ2/f5sH/UXt3/224nv4DmRCmWg==\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/bab got keek.replay",
    "content": "0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;1,1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,0,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,1,udlr;-1,0,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;1,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;-1,1,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;0,1,udlr;1,-1,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,-1,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,-1,udlr;1,-1,udlr;0,-1,udlr;1,1,udlr;0,-1,udlr;-1,0,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;1,1,udlr;1,0,udlr;1,-1,udlr;0,-1,udlr;0,0,numpad;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,0,undo;0,0,numpad;0,0,numpad;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/acrobatic bridge.bab",
    "content": "{\"width\":12,\"version\":5,\"extra\":false,\"author\":\"Patashu\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":10,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"cyberpunk\",\"parent_level\":\"\",\"name\":\"acrobatic bridge\",\"map\":\"eJydmNFuozAQRX+l6stqJbTCxtiwFV9SrSIa2BaFDRWhaqMo/77E4wRor43dNzTxweOZO54hVXfXdtuyvdsUp9PQtHVxP3wMm6fy6T76KOKoqQoWHceHw2u9bcq2OJ2jqukLdo5my8u+21f7H8ON4SPD3EzfbW/Lk3E5/7I82nZt1xcnEbHzAn2qb6QYycS90UtZD4fdcWLSkRF+u73U1fONkyOnrBy3cmrkMhu3b1pMZSOV+1CXM76XQ38h2YXMYcKufrKIo2hqksXredt3h/fm34QwZ+4Wu13PRyCHqXOEhbDElT07dhFKGo5dtCLDMadUPifPFBuRWCyWbYI0MpRte0G5RnP/krvuqUEe+6ZN194CZc7C41Fs25P7Jm/SM4GJO5o6LPWHvrcSDYj1y47eT8vT9Xr52x5ngAwPO4EqJOxzFzMYdMsueWiVaCyJQ6uEMBZSJW8Tx9ezarqL0OsT36TScrGe1ENT1btmNzEpzOuXc9NiGZLLa9kSqvxLiC7r526CsRSc9UegtyzMVaYpETv7ZYw6Q6pBPHE45EQYHjpWMefwYcfw5LGKOYcPOyZDC1NqTPlG8jpAEOYWyqKnL0FvoZj61FTqvD5OCdKl0qC3UOgi7maoUyxjLYAjEug9fywx7/nDRIaoNHR0zDQmQ+JCVx+Byn31XUNIizNXBeAQEpiHhlBjMg6tgVxjQSL5/XMCvyERAoMlQpi3RGYNjkjnlLosoCnjhOJJdbH8uSvfy+Nre5go5ycNrlhG31BZ6I1kuGDNEKeCRcP0aK2Ce5DhgpuQ4YK7kOGC25DhgvuQ4YIbkeFU8IcUcZnvjPiJy0NvTuKyeO2T6vxg/jDZjL8+bB7Vn1/04+ZRmsfRmkEr49icYLPA5hSbJTZjT3iMzdhBjg/Jc2hO8LsThs3Y7wS/W+CXCOy3wIEVOLACB1ZgBwWOiZj5LbLJnmLH08SyXFjsMx/TeGbHTqYWb2RssWMvpcVLafFSYtFJizfK4o3C3iicbIWTrXCyFU62wnFUONkKn1Nh7WaoLvp6eOv3d5uHel/9B8b9TY0=\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/acrobatic bridge.replay",
    "content": "1,0,wasd;1,0,wasd;1,0,wasd;0,0,undo;1,0,wasd;1,0,wasd;0,-1,wasd;0,1,wasd;-1,1,wasd;1,1,wasd;1,0,wasd;0,0,undo;1,1,wasd;0,0,undo;0,-1,wasd;-1,1,wasd;0,0,undo;-1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,-1,wasd;0,0,undo;0,-1,wasd;-1,-1,wasd;0,0,undo;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;1,-1,wasd;-1,1,wasd;0,0,undo;-1,0,wasd;1,1,wasd;-1,-1,wasd;-1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;-1,0,wasd;1,1,wasd;0,0,undo;1,0,wasd;-1,1,wasd;0,-1,wasd;1,-1,wasd;-1,0,wasd;1,0,wasd;-1,1,wasd;1,-1,wasd;0,0,undo;0,-1,wasd;1,-1,wasd;-1,0,wasd;1,1,wasd;0,0,undo;1,1,wasd;0,1,wasd;0,1,wasd;-1,-1,wasd;-1,1,wasd;0,-1,wasd;0,0,undo;0,-1,wasd;-1,0,wasd;0,0,undo;1,-1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;1,-1,wasd;0,0,undo;1,0,wasd;0,-1,wasd;1,1,wasd;0,0,undo;-1,1,wasd;0,1,wasd;1,-1,wasd;1,0,wasd;0,-1,wasd;-1,1,wasd;1,1,wasd;1,0,wasd;-1,-1,wasd;0,-1,wasd;1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;0,-1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;-1,-1,wasd;"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/all bridges lead to no.bab",
    "content": "{\"width\":12,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":10,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"volcano\",\"parent_level\":\"\",\"name\":\"all bridges lead to no\",\"map\":\"eJydmd1u4zYQhV8l2JuigFGIfxLZwE+yKAyv7SYGVGvhOJsERt69sklZonyGmdlcBTQ/HQ7FMxxS2+6h7Tbr9mG1PJ9P+3a3/Nau17++Ld6X1WK/XarFR//Py8/dZr9ul+fPxXZ/7Bs3Xdsdl2e1qD4/F4jTPaco7rBvMWV6SnOo59326UbZnjLkGPVCEWN0JW6qdno/rU6799ONrHvSkorVwhCKTYmbK/7Y3Tjfc+6OwxoB9iU0nrr18bAd33bVw3XhdWsiMKVKIPnm1GWZNOJlogwXy9UuC8XL1RwXy9UuiyTI1Roppq6YLxkVL60IhqLDK/TKr6CuuBa/KB66l7f9fyOsSjBeaBHU0hQRMcP1eq5WTC20muP6PFcrphVareE6PlfDSeVLtcB1eqZmipmFVDNKmiAixs4rVzesf4ykKZn9bKebST5Sy/XtRfJtfTqOqIMoEZo4regr1nDzQ455icmP3WYkAzQqlrGV1NURU1JXR0xLNv5c0RR3fo3yVgSt1NsRc1JvR6yWFAGX0ubwx2mkm2IVAMubCHqpySMWpCa/Yq4SmXw3gkpi1dcLZ66chh66G13sbKSGi5iVFs4Rc1wDxblIrzuytdR8EWuk5ouYl5gvvrUIBknx3P5qb2RdSbfjiCmJ4FM3zmitpa6NmJG49nm9myharvOmZ5mIOumGHrFa6vWINVKvR8xLvL7ffPR/IxxKfsfFpr0e1yqphyNWLG7ng/37zxHExS2hIj4sR4xd0uZqosPyoXvqRpRd1uaK7MNyHh+7rM3VRMfmDPXlQ7NGdyQRFB+aIyY+NEdMfGh2V8xKPRAxx8VytVq6/UWs4WK5mudaKFfDpe1XaqGSOi9i7CI3V9NS10WsWODSalbquoixy9tcjb335GrFupZWY+89uRq7qh3U6ngFJ950Ele8qp1yw+EzccWFku+OM5Jdr6SDYcJwrXI3HU3szU4kw3QkrpZciP3bdlPNYjo5u+kBaJiSRHqufWYce/tJUxmx633t/W0FKKF97M9eI3ck+0J/mMrEFasUPJWJZJ+YZxw7p6R7n4TVJbvmh967yWHf2Q5rO0ROdGn71K3f1h8/25fJA8qXt7CyjaRmZ5mLdPe6eZ6w5ctb+E4Tyd6UZpzoZJQsklB86Q/eZeqPL+NKF5XpUwY74dzu8xLIvpq73RomUJxsBpCdbW4xxm8FRrw3DSA78cwVxR8SB9BIS8IBtNKicADZdzBzxVr8cSKB7CuYuaL4kDSAv7tyLPuybqZo2V8A5opa+rVvAIufAEqK7E8Ac8Uvc87nY/pKv+p/fVx91//8FX9cfVfp377VwFYHWxvYGmCrUrh5Mgo7acbDUBb3xsNTNe6Nh608bNYVbsazpw2U1Bb3drh3jXs3uDcx7gB7GxyOUbg3sUbwazB43AbPt8HjtniAFg/Q4gFaPN8Wz7fF47bEAPHEOjxuN132YdJO+AwP3OEF7mri4XilOByQC/gp9SQi20zasZNrTTwGR1pborsjVPFLqnGoNQ61wS+pwRE1eOQNXv0NkSOnSchM2rErGo8fjpOqxwP3OKl6HI/H8Xgcj8dJ1eNwPA7H43BCBXsHHGXAUQYcZcBRBhxlwFEGYsfDUQZiJ6xwmKoitshqGlGlp7/ghKYqbBZVefJJgfpFERlMKcLwarpLz57lyF8a6mF4bhWxL6tsY84kNDmN0304E9dEBaGJEkKT86vJ+TXEajDEajBUxUSUTMRm3R81iP5EzMQ2rgzxggyx+i0RryXitUS8lioRiXgtive4O70eDw+rx91h+z9poXfj\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/all bridges lead to no.replay",
    "content": "0,-1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;-1,-1,wasd;-1,-1,wasd;-1,1,wasd;1,-1,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;-1,1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,-1,wasd;1,0,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;-1,1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/beeee-ridges.bab",
    "content": "{\"width\":12,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":10,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"variant\",\"parent_level\":\"\",\"name\":\"beeee-ridges\",\"map\":\"eJyVlsFugzAQRH8l6q0SB2zAhlZ8S0QLTZFciAhtkkb59zreAHHUeqc55fDG2p1h1677lelfK7Nal6fT2JqmfBgP4/qlsb+H6FDGUVuXIjraP7tt89pWpjydo7odSnGOPMFMS0uLMD0OVfc9CxIrkH8L3pt6M7OpZZPw4R6fWT6FS1eWzpjSK2NmXltegZXnltUgW1g2B1kRW7hgim4O40UgnICJczqdYBk23IeTsNs+nIbN9uEMc5pgFbba+8BJoTHDCc55w/fVOFwE0gkKdH4cLmN+gLp+t28/FonARohgJtLbGSIBGCvBTKz3zWZh5y/4mzk6QeIECmuVYM23+nJzdo41SnDBN/o500nM92m+3GZJHQ/s3KV6kkjMGYIT3pmu3/SLIMW8ITgLezNPH9HMvE5HZw7W2PYiOA+Pkg8XmH8OTmNsLxIsMO8IltheVA5Owm5Me4hgJkIfZiJcPj7CFbagtYOZDGno+xsBk+NUOcEF1qaDsxhtk3CBXRS5g2W4zalFgplX0FQ1wWCSBDNJTjUXDlZ8NE+PC66xYAhm1qsPA+t1CcdJVIzc+wvOZHnBN321r45bs1tUMnz7z08FelCC83mlwVivNJircK8WxQR7RzO53tE5tjmvdAE+KR2tY/BNSbT4jydagq9KohPsmrrSKfikJDr7/as6Pw/N+Dl0q/Vz09U/tuKOBg==\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/beeee-ridges.replay",
    "content": "0,-1,wasd;1,0,wasd;1,0,wasd;0,0,undo;1,0,wasd;1,0,wasd;0,0,undo;0,0,undo;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,1,wasd;-1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;0,0,undo;1,0,wasd;0,0,undo;1,-1,wasd;1,1,wasd;"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/blarge building 2.bab",
    "content": "{\"width\":24,\"version\":5,\"extra\":false,\"map\":\"eJyVmG1vnDAMx79K1RfVJqEJ5xFW8Umq6UTvWIfEjoqjayt0333E4YAS5y55V1n+Yfsfx8710N417b5s7nbFMPR1UxX3f6rDy33yUaRJfSgg+SxAJKfXal+XTTGck33btF0xpAk/J4e6K+CcUCAzoHLBY91cw7jBshCs/+h31b+q+wQDg4GFgdesS7yXfWf8mfGXo39K1AaJoNjnaibV7UjH9vRe/50JPRIstK6HGctGjEeUlI/+xHH5VUcK0hGLOiyLme4IOqyvGPYGIfwtDpsjSMSvnPA0MS3+c/m8oNLTxgNPwNf/llRRndz/qfd7A3OE9ba/riZcLWDm5EvE+ugNIBCIbhjEWHTDWAyCT94k+raA4eNkUUQiybcFuu6XHC1guiUPjfTzmwEVgpKWcmAJ87WKBVWomEttFtTbVK9FyaK0P7YvrWE1sjmtySDdLTBdH+R46txYOsMMvSFGh4eFY2EyWGceJUNfNo1hc2Q9rUHJcAkKdq15Vo3/vkycir2eE6dj7+fEZbETfeLy6JEOOCZFGirMZc1NnDtJvrp37X7lzTybYzw5790EnDyChyZo2uV3065ZsV36npKst9xqf9VbBQpgvXXU/DyVxxPCOBFFdr2MWTCcMyKPEWwuClmZhr6SZqEtB9eH/CYKCxTaersDwzeUAYeevHHqs1w4j2TwZMB1831FqsDust46sGjr7S4LN5lLh+FslDgBdNwWs6hKnaeSC7y05Xv5+dqcVhzOgKBVPT/NcFopFjt0Ju5WK8xh7I8EETv0J06G3oINF70sJs5pjUAu/EWxAfP4h7z9EZUGv+Q3IET/HJ1AFvyM34A8dgPjxdPO8AjbhzpwedhG1or2Pj9O/wzYjbbH3RP79cOG3z3B9Odo5aRVL1a5WHPSCin5CQDaTKcBdB4gaLOizXTasMobVnZGJ87oxBnzfIVOkdEpsow+BTomp1XhkjbTIbmmzZ5MctIsaK0EnaBYhRRsZac/LlcfXykr6TJlTn9cgcdOd5yiz03RQRWtraK1VbS2ii5f09pquic0XY72XGSqyq7q37rj3e6xOh7+A2LjzrQ=\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"snowy\",\"name\":\"blarge building 2\",\"height\":20,\"author\":\"slabdrill\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/blarge building 2.replay",
    "content": "1,1,udlr;1,1,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,0,undo;-1,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;1,-1,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;0,-1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/blarge building.bab",
    "content": "{\"width\":24,\"version\":5,\"extra\":false,\"author\":\"slabdrill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":20,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"snowy\",\"parent_level\":\"\",\"name\":\"blarge building\",\"map\":\"eJyVl9tuozAQhl+l6kW1K6EVPkMjnqRaRTRhUyQ2VIRuW0V598U24ZD8Bvsumsxnz/wez+B9/VDVu7x62Gbnc1tWRfb4VuwPj9FXFkflPiPRd0Z4dHovdmVeZedLtC+bzrqrq7rJznHELpcIgVSD0gUeywpjTGOJD9Z+tdviX9F8Ew0TDXMN37Ez4jNvG+1Ptb/o/GNnbiTilxn7WgykXN/pWJ8+y78DoTqC+ub1NGBJh7GAlNLO33lcSHVDkbjDgg7LYro6vA5rjpnacArv5kxxeIk45/hiEd+K/5q/jqhYLOMzi8h9/VtSBlVy+1budhpmBlawvhxseTjWzcgmSyVwFtMbO1a1RVOc7TzS4qvVBDe3PA6tN4uR0HqzmH/h/KnqCeconFleH6M79+5do4DCkALKMXO/ZmQBXSWp707PPzQoDagWT5lG9L4uLZj4Sj/mZsEUhop3YbH3Sdleeag1qwxLljSZF3B/Vy1HV075GmFivFmIDk8jx/1ksM4iSIY2ryrNpoZdLI25DNdNiZ2hammuodvVc4nvjLrhgoeO5Xjw1Om54LHTc+Fzh5hezpmvoNdZ3HMcbzi4N/Vu4i0Wx1t34uBOE9OxuPQNUJfZtTf2LP4yuU/JeidQe5d36imA8RZxUN895ceTgU0nFWQ5jUEw058EDRFsSMqyzPeaDEJbji8Ph5tdhKfQ1luuCD02c2KapVg59UEu08dEEiLX888JmXpWl/GWsWfS1pt4JH2tMNNTpekAKmz69ajjZTIDDnX+mX+/V6cJZ3qA14gfvh9Nt5KLrxPUdHpurRSGbexLJnhY9FzwsOi58BeKfT/h0ljnHEWyDjo+J9ZB5v3cuAH9vztvQLH61rhs+md+986/bLYv9Pcv++f2hfQ/OyuDVjVaxWhNoZXEcAlCsBmHQXAchGOzxGYcNp0GOLXjCCmOkHLHKjgWmmC5sVgMp88ENitsdmyZQjPHkXAsCseicBw3x5qIyZZ8IqHAi4vJ4lNvnKakeHHJHXasrcTaSsemWFuFtVVYW4XTV46ria+EQuk0RfvRHB+2m+K4/w9T77p2\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/blarge building.replay",
    "content": "1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,udlr;-1,0,udlr;-1,0,wasd;-1,-1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;1,-1,udlr;1,-1,udlr;0,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,0,udlr;1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;-1,0,udlr;0,1,udlr;-1,-1,udlr;0,0,undo;0,1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;0,0,undo;-1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;1,0,udlr;0,0,undo;1,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,wasd;0,1,udlr;0,1,wasd;0,1,udlr;0,1,wasd;0,1,udlr;0,1,wasd;0,1,udlr;0,1,udlr;-1,0,udlr;1,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,wasd;0,-1,udlr;0,-1,wasd;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,1,udlr;0,1,udlr;1,0,udlr;-1,1,udlr;-1,0,udlr;0,1,wasd;0,1,udlr;0,1,wasd;0,1,udlr;0,1,wasd;0,1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;-1,-1,udlr;0,0,undo;-1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,wasd;0,-1,udlr;0,-1,wasd;0,-1,udlr;0,-1,wasd;0,-1,udlr;0,-1,wasd;0,1,udlr;0,1,wasd;0,1,udlr;0,1,wasd;0,1,udlr;0,1,wasd;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,wasd;-1,0,udlr;-1,0,wasd;-1,0,udlr;-1,0,wasd;-1,0,udlr;-1,0,wasd;"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/bridge building 4 kidz.bab",
    "content": "{\"width\":12,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":10,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"variant\",\"parent_level\":\"\",\"name\":\"bridge building 4 kidz\",\"map\":\"eJydltGOozAMRX+lmpfVSjwAIQnMiG+paGG7SFkyonTbquq/bxoDgZk0dvetqs5Ftq9ju9YbpfeV2mzL221oVVO+DZdhq/6qt+hSxlFbl0l0NT+On82+rVR5u0d125s/91rpvrzFUXK/Rwvprul+DLM4NeLkm3gleP8508zQ6XP6d1MfZjYzLAt/eZkFN3j2ShazUhglJ6cgDS2IKeSGzYlsYdgiHIWLJLG+xV7jVpJfSh+cIMHNGprL4ASp1y9vUadkQMjC5q3hzGvdE5iH3VrDgmYWwA9nZbg6u2rneL+7hOIQrIb2TO0LI9i8xAkmL3G/xd8iBxix9fHttYBoLcCItV8jF+HX5V4Ls7ikvJZr4wQ5XshOH8/tHycpaMW0MIvxYu5cOCyhlRLgFC/lydGM3snLGZFZcfaf6wPUHC/yydHi9XkEQonXutMH7QQ5rdoAF+Fqj1PDslkcnjLTh7mF/av5CYys4jVM3MQAI6t4DfsX8RMY2b0TLCyMvOBzNfQORgxcw4iBvd7PLI9pO0VaGDFwuaJBgJg4hQ0wo+UIcEbKEVhOO1xyCwvqfgJchjOcygFwHu68KUOAC1o5LCxiWucVFibYCKsGcKKJABNNBBgx8RHIaCTwPNysy2kOAuEdT8gZDVKJ7+ODrs7V9VMdnSoPH0Pz5QSnekEbiEDLmObDSCML9guNbNg5EnvySUaMG+iMNslHmtNG+UgL4mUOtCSe5kDnL9WkIB7nls6Je3OkE9oAG+nU34P3j74ZTn232X40Xf0PdG4VyQ==\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/bridge building 4 kidz.replay",
    "content": "1,0,udlr;1,0,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;1,-1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;0,0,undo;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;1,0,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,0,undo;0,0,undo;0,0,undo;-1,1,udlr;-1,-1,udlr;-1,1,udlr;1,0,udlr;0,-1,udlr;1,-1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,0,undo;1,1,udlr;1,-1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;1,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;0,-1,udlr;-1,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;-1,-1,udlr;-1,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;1,-1,udlr;-1,1,udlr;0,1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,0,undo;1,-1,udlr;0,-1,udlr;0,1,udlr;0,-1,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,1,udlr;1,1,udlr;-1,-1,udlr;1,-1,udlr;0,-1,udlr;0,1,udlr;-1,1,udlr;1,-1,udlr;-1,0,udlr;-1,1,udlr;0,1,udlr;0,0,undo;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,-1,udlr;0,1,udlr;0,-1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;-1,1,udlr;1,1,udlr;0,0,undo;1,-1,udlr;0,-1,udlr;0,1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;0,-1,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;1,-1,udlr;1,0,udlr;-1,0,udlr;-1,1,udlr;1,0,udlr;-1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;1,-1,udlr;1,-1,udlr;0,-1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,1,udlr;0,-1,udlr;"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/bridge building.bab",
    "content": "{\"width\":12,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":10,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"factory\",\"parent_level\":\"\",\"name\":\"bridge building\",\"map\":\"eJyN1t9ugjAUBvBXMd4t4YJSyp8ZnsWgdI6EiUGMGuO7j/YUO5at57v/HdKer5y26Vddv6+71bZ6PMa209X6UzeHdXSr4qhtKhHdqzw6n/S+rbvq8YyadqjEM/rLJpMtQCsnW/5vx9u4HfVtNF4Yn05e8N+2Vk1WgjabbArafLIKtMVkM9CW4R6bXuzq3YuLGOszYcE3+lqPgylIbIFJMWZWoz2X4WAMP/bna/vlS0yWCb9+wkyY5vvLAjBRwkykvzdbhDtv+Ed3twXSFpTYsbU4ifmt7vy3E4FtlHDCb/TitcROWGpxyi/72B96X6CwhRPOwgt3PwbZHBtWyuIifM6XGMzRYhlj55uwwIYV4QTrHGGJjavM4jTcjXlEEGYCXGImwKHfe5tjUzO3mAmQfsb+RwET4rxsi9MY2yNhAe2RLHhLFhZLdBgTZ27JuR2EVfiYzjskzEzVJQYvytJiIMb3N8/BEC1WYIiEmRDNQlyQ5BPg2taeMzPV8ENfX+v7qTv7qjR8fb/uevuoUgr7i50GM3Uaff3QEwycrk6D45V0Bs5Xp8EB6zQ4YZ0GR6zTKfgmJK2wy8zpDHwTks7/PlXPzaDHy3BcbTf62HwDqdQFJA==\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/bridge building.replay",
    "content": "1,0,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/bridge building_.bab",
    "content": "{\"width\":12,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":10,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"factory\",\"parent_level\":\"\",\"name\":\"bridge building?\",\"map\":\"eJyN1tuOgjAQBuBXMd5twgU9cVjDsxgU1iVhwSBGjfHdl3aKyMZl/vtvSDt/mbZoV3W7z+vVNrvf+6ous/V3WRzWwTULg6rIRHDL4uB0LPdVXmf3R1BUXSYewTsrB5uAVg02/d/2137btXvLheV64IL/tLNmsAq00WA1aOPBGtAmg41Amy632LZil++eXIRYmwkLvs+XvO9sgXQFNsSQWU05cbUcjOVNe7pUP1OJzVLy6yfMhGm/Py8AEyXMRPp3s8ly5y3/qm+uQLmCFDu2DsuQ3+pu+rYU2EYJS36j50kr7IRphzW/7KY9tFOBwRZOOFpeuP8xyMbYrDIOJ8vnfI7BHB1WIXa+CQtsWBGWWOcIK2xcRQ7r5W6MI4IwE+AcMwH6IU82xqZm7DATIP2M7UsBE+K4bId1iO2RsID2SBa8JBOHFTqMiTO35NgOwmb5mI47JMxM1TkGL8rUYSDGz4+JgyE6bMAQCTMhvrxIyEvg2i4nzsxUyw9tfslvx/o0Venl6/t517s3lTHYX+w1mKnX6OuHnmDgdPUaHK+kI3C+eg0OWK/BCes1OGK91uCbkLTBLjOvI/BNSDp+f6oem67sz12z2m7KpvgFqeoEow==\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/bridge building_.replay",
    "content": "1,0,wasd;1,0,wasd;0,-1,wasd;0,0,undo;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,udlr;"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/bridge of hatred.bab",
    "content": "{\"width\":12,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":10,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"mountain\",\"parent_level\":\"\",\"name\":\"bridge of hatred\",\"map\":\"eJyV1t1uozAQBeBXiXqx0kpcYPNntuJZIhrcFIkNFSFKoijvXseHn1B1mbN3ufgcmTP2eKp207S7stlsi9utrxtbvPSXfvthq/1LcCnCoK4KFVzdj+On3dVlU9zuQVV3hboHT/7NTlo7rdb1od23k4+c1//2i53EzkbCTsq3iSeOx+v8o7T95FPnk3XftbuJZ46n5M6Nsxlpc2cNaVXocC5j5bFQySUWCrnEZBWBhTIusVDEJRYquMRk/YCFAj4dPXiyiB5roYiPP+/txR9U7RcQV3I4qfBkLYGFWj59KjxZTmCynMDEhUTnAc/WM3/wc9l3jwWRX2DYzgaeM63teK7/TkuiUM5ybEFYoLgwgTUXJnAkh3madcyd39jjRM7x0M88lXN8b652XpDJKY6FxQLDpQiccyl6HIdchwFW6x1muEWwmnshEo8jOfDTrGPu9gMnXCcHTrmcgTMuZ2DD5Zx6nHPvmsdJyKUBrNbTGE8dsHAdl1i4jkP7ho25lyrzmLiM7037tEC4juO2gYUiLrFQxOEbYckH0/hBLWQbN7ha/8IxDmDNlRw44uIAjuUO/GvWCdcQco9TOZA/v2eecSUHNtw3AufyNy4WZCExWNmZK/mN37flubx+Nsd5lSanZMz1Qncd9z/omItn0Ak5ofrBMBPK+k0LVf2mDTmyQ+fkzO61CcmhHVr9TyZGk2M7dMTdokGTU8+gk59P1f21s/2pO2y2r/ZQfQEpRB0Z\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/bridge of hatred.replay",
    "content": "1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,-1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;-1,-1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/bridge of love.bab",
    "content": "{\"width\":12,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":10,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"mountain\",\"parent_level\":\"\",\"name\":\"bridge of love\",\"map\":\"eJyN1tFugjAUBuBXMd4t4YIWKDDDsxgU5siYGMSoMb77Sk+B1Ww9//13CD1/e9qqW7XdvmxX2+LxGJq2LtafdXVYB7ciDJqqEMG9iILzqd43ZVs8nkHV9IV4BtYOt2G7K3czl5rHft429dfsI+0Tv++7/cxjzdX/3PnzRNsUtErbDLSptjnUETHyTPMQWqHhueaC/xNjRegPx8XCH42LpT8XF0dYKoRjfyyv7RMJFg1hxWdzLYd+LJCmIOXT2dULz/zpjPzYna/N91IyBir5/zdYMoH+ag55MFPCTKYva5WRv/Ej/2jvpiAyBTHfHLcgwVpDWPGtmSYLFaRYbwhnfG8ui86xPRmbCQdk6haAoRIGDyph5qDarUWWOafThxODE/8xcrHCRhzhFNsjhDNsHhLOsTYbHIdYm5XBwt+NaQIRZm5MFzPXpb1IyIJ3ZWowEyCd3e5XARPi9NuEmaPoYuYo2jWSBQ9iZt4DITrriQv/Cqd2EJb+bTqtkHCEtYNwjO283GAgxve3hYMhEgZDJAzMUxsk+Rx4FdQzVyF/Nx268lreT+15qRL+18H8lKAnocROsdVgplaDoQrzqlHgdLUaHK9Wg/PVanDAWg1OWNIpOGKtFuCbk7TELjOrmZfPi47/3lXPTV8Pl/642m7qY/UD6tV0Pg==\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/bridge of love.replay",
    "content": "1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,0,undo;0,-1,wasd;0,-1,wasd;1,0,wasd;1,1,wasd;1,1,wasd;1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,0,undo;0,-1,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;0,1,wasd;0,0,undo;0,1,wasd;0,0,undo;-1,0,wasd;1,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;-1,-1,wasd;0,0,undo;0,-1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/bridge restoration.bab",
    "content": "{\"width\":12,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":10,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"chocolate\",\"parent_level\":\"\",\"name\":\"bridge restoration\",\"map\":\"eJyd2F9vmzAQAPCvEvVh0yQeMP8Mq/gsUQq0jcbwRIiaKcp3n+ODOIbj5uOhUlX5V4PvfHdJrXatqg7tbl9er8OxbcqX4TLs7z+dOne1egkuZRgc61IEf/Uvpz9NdTy05fUW1Mde/7FSrerLaxpEt1vw9B/emoeMtBQL6aye7RVrEfnt9dnUHw+XaBf7P+PXYegfNtU2WbVhIFbfL9MyZb2f1CLb8H65dnKDK7TLNzgRalj4H+jQXIY7FgbjGeOAXlV2PZ4n02YR9pQAY/+wuzAhY07AFA25B8z4kQco/UNv0vPwZm1Ohj9+Tm1304IX/uk+RebWh2TBWLlQQIVPxTh9HX9bEpElI8TeESAjee77unhDAgFkJND8cDI0mti1is16ScYhWgax/WVxTt7JxXOqc/VpcUHGBM07A+OQFxM4HaACjcjKPhEvCmcrY/8rBU/YfTeVMTE6oSvj9JCwOPUPgQszfhcFKHnH36kPZXHOvxIAC/9gjNXNuCQkK+MiFD9/3GlqKD3TJHP63jdd25yspztWgiU4wA0DDkDGhONCerwhID7dkDAzkK47iyx6b9UTRuuOXNmJrjPOTlOLMjAN/Wc+FwryUNBuIw2MtkzRQGO/I4HFCf9IADLGYBfSeYIeSW4gM0/g/gKlu5Nz/6b0AkhnzGI2seO74RmjP02HBBDvTuTpAqQ7lQPH5g8uxuZNiTZ/xyVYUcXdFM3CwJQXzW9WZn75DYslP78B0u0JjQBAuj0tUmY8TWMl3aIWIxjceqCCnvYe8zp8rmSWl06JJ4wWmNWtNlSYUW4oMaPcUGOE+SQjGUVmJhkT8Ewy2pIrc0Z9mUm6wFCSMQvPJFpjvCRaZbxkyv9GY5TZ/z/T3l77Zjj33W7/2nT1PwuDZFE=\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/bridge restoration.replay",
    "content": "1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,0,undo;0,0,undo;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;1,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,1,wasd;0,0,space;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,-1,wasd;-1,0,wasd;0,1,wasd;"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/bridge righting.bab",
    "content": "{\"width\":12,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":10,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"steve\",\"parent_level\":\"\",\"name\":\"bridge righting\",\"map\":\"eJydl92OozAMhV+lmruVuCAk/O2IZ6kosF20bDOiVG1V8e4b4gAFQuzZi95U31FiH9s4pTw0ssibwzF7vbq6qbKP7tEdC9lWf7oP75H5Xl1mzHuq3/WrKuq8yV69V9at+qOQjWyzl+/5fe8Z9e+qPE+6QOn4Rjexw0m/GjnzXPHCcQ7rF9pTNSmFUobuk+63tpz4UPHRPr+IIlJsTGRjxSZENlFs6r7zyLOBTxXv07PTVY9u0jIfsZBtLQQhc3u4hAOrgTswd3u2hAXNMIBDt2O6dvLTzEdW1wjJiXEL73nXDoJAC5LveQgVDtLU6uACv8jrvf47SYLB9MBxGt/GBULE9PfSBIHdeGcGQYgUwSoJgXD3F0yUpxZwLQiRuuerpsmbZhZH388fCGM8f6e3Sya0tgE4xTN2m2juI6W9ir+VxaAVWsv+p1hBGuDFOs5jEHBrqjcpAFjg6b3Is5wFIVKeFiNBGLmTbaYIsDHtOxFq2D4IdmCk9RewsDf9Dkyc7gATpzvAxOkeaVi4s7FcSUCCNfbbTjKOYBBG7iiWcOyOwrQLsAntExVr2P4x39xCw6FPuzLAjHRlYAPaupJomOMmwQgAXLiLdlz8AA7dRTtGCDDRQYARB8cQUw0jXTmE+PPHjNv70jpWxktpYUQ0FGDE0LexDXxgnUPI2AYpxz+vZ5nf8+dXc51VwroFOacrg806pE1BQ0fuihqzZuiYlmNDJ8RlVO99EdK9Szq27957NKPNb0MjT6wVbX9g7dHIo2pFE59UhiY+qgxNfFYZeudh1X+2VXdrL4fjZ3Up/wFS8P0l\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/bridge righting.replay",
    "content": "1,0,wasd;1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;0,0,undo;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;0,1,wasd;0,0,undo;0,0,undo;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,-1,wasd;-1,0,wasd;0,-1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,0,undo;0,-1,wasd;1,-1,wasd;0,-1,wasd;-1,0,wasd;0,0,undo;-1,-1,wasd;-1,0,wasd;-1,-1,wasd;0,1,wasd;-1,0,wasd;1,1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;-1,-1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,1,wasd;0,1,wasd;0,1,wasd;0,0,undo;0,0,undo;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,-1,wasd;-1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/bridge wronging.bab",
    "content": "{\"width\":12,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":10,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"steve\",\"parent_level\":\"\",\"name\":\"bridge wronging\",\"map\":\"eJyd19uOozAMANBfqfo2Eg+EcJ0R31JRYLtILKlSUKeq+u8LcRjKkFjEryhHudiJTSUOrSiL9nDKn8++aev82H/3pz+tuBy979z3mipn3iMPvdu1LpuizZ8vr2rk+LEUrZD5sXzURdcdX94bP9c/OBhxtMGr0fdBVj/j+Tg+3j3Z37pa1hmONLHS6yCvFhiNMKXAeITZTjjtVIpysmyyyWiZ1Z7bethOqmA6Qu64WgUzNI4IZL4xiHskQ8OJycAhmirnivOCuTGilplCxyjei15OOlB6Sh7fqi9yMN4NsLExB1bDO3G7N/8WMqVNsHO6eZsgXfJmmnmtKcmjZOCSPL8OKGB4HOGpeijAFQgItwokdzye89usofFwLBNFjucxLDTel9ahGpw4bqgTF7HolBBvkJnD/vSlVZD7xhu/mSVSgxl67czrA4mnCCY5evcwGRLebJARIQ4gY8KjHSuZOJzt/BiCxLNm/TqtJZ41a6nLqIKhj1YY841PlKSkEEiXFJq3CZITDghk6HBA0Gt0asWp0uYqtdkeDDaXJfP25k4RJP7m/O7e5g2CpeQOSJfcee9uM9X8+Wga2DpOsIyQCCADwm5BcudEKBeM98jr27JUObDmNnk1/CKKe/G4trdF4T2ybUYGjbn5Jdr2cTA6JURDU7y9MYcDaIz3N9t4fH4orHrPGH+DbMmnMaWSaUopZZpSapmmlGKmKaWaaZpQ/kGApoRfSk0zwk8l0MTf8UPy+pJ1P8jucPqqu+o/le1NBQ==\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/bridge wronging.replay",
    "content": "1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,0,undo;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,-1,wasd;1,0,wasd;-1,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,0,undo;1,0,wasd;1,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,0,undo;-1,1,wasd;0,0,undo;-1,1,wasd;0,0,undo;-1,1,wasd;-1,-1,wasd;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;-1,1,wasd;0,0,undo;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;-1,1,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;1,0,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,1,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,0,undo;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;-1,0,wasd;-1,-1,wasd;1,-1,wasd;1,0,wasd;-1,0,wasd;-1,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,0,undo;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;1,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;0,1,wasd;1,0,wasd;1,-1,wasd;1,-1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,1,wasd;-1,1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,0,undo;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,0,undo;0,1,wasd;1,-1,wasd;1,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;1,1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,0,undo;0,-1,wasd;1,1,wasd;0,-1,wasd;0,0,undo;-1,0,wasd;1,0,wasd;0,0,undo;0,-1,wasd;1,1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,1,wasd;-1,1,wasd;-1,0,wasd;1,0,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;0,0,undo;0,-1,wasd;1,0,wasd;0,-1,wasd;1,-1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,1,wasd;-1,0,wasd;-1,1,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;1,1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;0,0,undo;1,1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,1,wasd;-1,1,wasd;0,1,wasd;-1,1,wasd;0,0,undo;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,0,undo;-1,0,wasd;0,0,undo;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,0,undo;1,0,wasd;-1,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,0,wasd;-1,0,wasd;-1,1,wasd;0,1,wasd;0,0,undo;0,0,undo;-1,1,wasd;-1,-1,wasd;-1,1,wasd;-1,0,wasd;1,1,wasd;-1,0,wasd;0,-1,wasd;1,1,wasd;0,1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,0,undo;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;1,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;1,0,wasd;0,0,undo;0,0,undo;-1,1,wasd;0,0,undo;-1,1,wasd;0,0,undo;-1,1,wasd;-1,1,wasd;0,0,undo;0,0,undo;-1,1,wasd;0,0,undo;-1,1,wasd;-1,0,wasd;0,-1,wasd;0,0,undo;0,-1,wasd;-1,1,wasd;-1,0,wasd;1,0,wasd;-1,1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,0,undo;0,0,undo;0,0,undo;1,-1,wasd;-1,-1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,0,undo;0,0,undo;1,0,wasd;1,0,wasd;1,-1,wasd;0,0,undo;1,0,wasd;1,-1,wasd;0,0,undo;-1,0,wasd;1,0,wasd;1,-1,wasd;0,0,undo;0,0,undo;1,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,0,undo;0,0,undo;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;-1,0,wasd;-1,-1,wasd;0,1,wasd;0,0,undo;1,1,wasd;1,1,wasd;0,0,undo;1,0,wasd;1,0,wasd;-1,1,wasd;0,0,undo;1,0,wasd;0,-1,wasd;0,-1,wasd;0,0,undo;0,0,undo;0,1,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;-1,1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,1,wasd;0,0,undo;0,-1,wasd;-1,1,wasd;1,0,wasd;-1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;-1,1,wasd;0,-1,wasd;0,-1,wasd;-1,1,wasd;0,0,undo;-1,1,wasd;-1,1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,0,undo;-1,0,wasd;-1,-1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;1,0,wasd;0,1,wasd;1,1,wasd;1,1,wasd;-1,-1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,0,undo;0,0,undo;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;-1,1,wasd;0,1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;-1,1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,0,undo;0,0,undo;1,-1,wasd;0,0,undo;1,0,wasd;0,0,undo;0,0,undo;-1,1,wasd;0,0,undo;0,0,undo;0,-1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,0,undo;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,0,undo;0,0,undo;0,1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;0,1,wasd;0,0,undo;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,1,wasd;1,1,wasd;0,0,undo;0,0,undo;-1,1,wasd;0,0,undo;-1,0,wasd;0,1,wasd;0,0,undo;-1,0,wasd;1,1,wasd;0,0,undo;0,0,undo;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;0,0,undo;0,0,undo;1,-1,wasd;1,-1,wasd;1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,0,undo;1,0,wasd;-1,1,wasd;-1,1,wasd;0,0,undo;-1,0,wasd;0,0,undo;-1,0,wasd;0,-1,wasd;0,0,undo;-1,-1,wasd;0,1,wasd;1,0,wasd;-1,1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,0,undo;0,1,wasd;0,0,undo;0,1,wasd;1,0,wasd;0,0,undo;0,0,undo;0,0,undo;1,0,wasd;0,0,undo;1,1,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;0,0,undo;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;0,0,undo;1,0,wasd;-1,1,wasd;-1,1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,0,undo;0,0,undo;-1,1,wasd;0,-1,wasd;-1,0,wasd;0,0,undo;-1,1,wasd;-1,-1,wasd;-1,0,wasd;1,-1,wasd;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;0,-1,wasd;1,-1,wasd;0,0,undo;1,1,wasd;1,0,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;1,-1,wasd;0,0,undo;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;0,1,wasd;0,0,undo;1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,0,undo;0,0,undo;-1,0,wasd;0,-1,wasd;1,-1,wasd;0,1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;0,0,undo;-1,1,wasd;0,0,undo;-1,0,wasd;-1,1,wasd;-1,-1,wasd;-1,1,wasd;0,0,undo;0,1,wasd;-1,0,wasd;0,0,undo;-1,1,wasd;0,0,undo;-1,0,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;0,0,undo;-1,0,wasd;-1,1,wasd;0,-1,wasd;0,0,undo;1,-1,wasd;0,0,undo;-1,0,wasd;1,-1,wasd;-1,-1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;0,0,undo;0,0,undo;1,0,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;0,0,undo;0,0,undo;1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,0,wasd;1,0,wasd;0,0,undo;0,0,undo;0,-1,wasd;0,0,undo;0,0,undo;-1,0,wasd;0,-1,wasd;0,0,undo;1,1,wasd;-1,-1,wasd;0,0,undo;0,0,undo;0,0,undo;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;1,1,wasd;0,0,undo;1,0,wasd;1,1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;-1,1,wasd;-1,0,wasd;1,0,wasd;1,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;0,0,undo;-1,0,wasd;-1,0,wasd;1,0,wasd;0,0,undo;-1,0,wasd;0,0,undo;0,1,wasd;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,-1,wasd;0,-1,wasd;-1,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;-1,1,wasd;0,-1,wasd;0,1,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;1,0,wasd;0,0,undo;0,-1,wasd;0,0,undo;0,0,undo;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;-1,0,wasd;1,0,wasd;0,-1,wasd;1,-1,wasd;1,0,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;1,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,1,wasd;0,0,undo;-1,0,wasd;-1,0,wasd;1,1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;0,0,undo;1,-1,wasd;1,-1,wasd;0,0,undo;1,-1,wasd;0,0,undo;1,-1,wasd;0,0,undo;0,-1,wasd;0,0,undo;0,-1,wasd;0,0,undo;1,-1,wasd;0,0,undo;-1,0,wasd;0,0,undo;0,-1,wasd;0,0,undo;0,-1,wasd;0,0,undo;1,0,wasd;0,0,undo;1,-1,wasd;0,0,undo;1,0,wasd;1,-1,wasd;0,0,undo;1,-1,wasd;-1,0,wasd;0,0,undo;-1,1,wasd;0,0,undo;1,-1,wasd;0,0,undo;0,0,undo;1,-1,wasd;1,0,wasd;0,0,undo;1,0,wasd;0,0,undo;1,0,wasd;1,0,wasd;1,1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;1,-1,wasd;0,0,undo;1,-1,wasd;1,0,wasd;0,0,undo;1,-1,wasd;0,0,undo;1,-1,wasd;0,0,undo;1,-1,wasd;0,0,undo;1,-1,wasd;0,0,undo;0,-1,wasd;0,0,undo;0,-1,wasd;0,0,undo;1,-1,wasd;0,0,undo;-1,0,wasd;0,0,undo;-1,-1,wasd;0,0,undo;-1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,0,undo;0,0,undo;0,0,undo;1,0,wasd;1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,-1,wasd;0,0,undo;-1,-1,wasd;0,0,undo;0,-1,wasd;0,0,undo;-1,-1,wasd;1,-1,wasd;0,-1,wasd;0,0,undo;-1,1,wasd;0,0,undo;1,1,wasd;0,1,wasd;0,0,undo;-1,1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;0,-1,wasd;0,0,undo;-1,0,wasd;1,-1,wasd;0,0,undo;1,-1,wasd;0,1,wasd;0,0,undo;-1,1,wasd;0,0,undo;-1,1,wasd;0,0,undo;0,0,undo;1,-1,wasd;0,0,undo;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,0,undo;0,0,undo;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;1,1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;1,0,wasd;0,0,undo;1,0,wasd;0,0,undo;1,0,wasd;0,0,undo;1,0,wasd;0,0,undo;0,0,undo;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;0,-1,wasd;1,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,-1,wasd;-1,0,wasd;1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;0,0,undo;1,-1,wasd;0,0,undo;0,-1,wasd;0,0,undo;0,1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;0,1,wasd;1,-1,wasd;0,-1,wasd;0,0,undo;-1,-1,wasd;0,0,undo;-1,-1,wasd;0,0,undo;1,0,wasd;1,-1,wasd;0,0,undo;0,0,undo;1,-1,wasd;0,0,undo;1,0,wasd;0,-1,wasd;0,0,undo;0,-1,wasd;0,0,undo;0,0,undo;-1,-1,wasd;0,0,undo;1,0,wasd;-1,-1,wasd;0,0,undo;-1,-1,wasd;0,0,space;1,0,wasd;0,0,undo;0,0,undo;0,0,undo;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,0,undo;0,-1,wasd;0,0,undo;0,0,undo;0,0,undo;1,0,wasd;1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,-1,wasd;1,-1,wasd;0,0,undo;1,0,wasd;0,-1,wasd;0,0,undo;0,0,undo;1,0,wasd;1,-1,wasd;0,0,undo;1,-1,wasd;0,0,undo;1,-1,wasd;0,0,undo;1,-1,wasd;0,0,undo;1,-1,wasd;0,0,undo;1,-1,wasd;0,1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,1,wasd;-1,0,wasd;0,-1,wasd;0,0,undo;-1,0,wasd;1,-1,wasd;0,0,undo;0,-1,wasd;1,-1,wasd;1,0,wasd;0,0,undo;1,0,wasd;0,0,undo;-1,1,wasd;0,0,undo;-1,0,wasd;0,0,undo;-1,-1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,-1,wasd;-1,0,wasd;0,0,undo;-1,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,-1,wasd;0,1,wasd;1,0,wasd;0,0,undo;0,0,undo;0,1,wasd;0,0,undo;0,0,undo;1,-1,wasd;0,-1,wasd;0,0,undo;1,-1,wasd;0,0,undo;-1,-1,wasd;0,0,undo;-1,-1,wasd;0,-1,wasd;0,0,undo;0,0,undo;0,1,wasd;1,0,wasd;0,0,undo;-1,0,wasd;0,0,undo;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,0,undo;1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;0,0,undo;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;1,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,-1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,0,undo;1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,0,wasd;0,0,undo;1,-1,wasd;0,0,undo;0,0,undo;0,1,wasd;1,-1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,-1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,1,wasd;0,1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,1,wasd;-1,0,wasd;0,-1,wasd;-1,1,wasd;0,0,undo;0,1,wasd;-1,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;0,0,undo;-1,0,wasd;0,0,undo;-1,0,wasd;0,0,undo;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;0,1,wasd;1,-1,wasd;0,0,undo;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,1,wasd;-1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;1,0,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,-1,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,-1,wasd;-1,0,wasd;-1,-1,wasd;-1,1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,1,wasd;0,1,wasd;-1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;0,1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;-1,0,wasd;0,1,wasd;0,0,undo;0,-1,wasd;0,0,undo;-1,0,wasd;0,1,wasd;0,0,undo;1,1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;0,0,undo;1,-1,wasd;0,0,undo;1,-1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;0,0,undo;1,0,wasd;1,0,wasd;1,0,wasd;-1,-1,wasd;0,0,undo;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;1,1,wasd;0,0,undo;-1,-1,wasd;0,-1,wasd;0,0,undo;1,1,wasd;0,0,undo;0,1,wasd;0,0,undo;-1,1,wasd;0,0,undo;-1,1,wasd;0,0,undo;0,0,undo;-1,-1,wasd;0,0,undo;-1,-1,wasd;0,0,undo;-1,-1,wasd;0,0,undo;-1,-1,wasd;0,0,undo;-1,-1,wasd;0,0,undo;-1,-1,wasd;0,0,undo;-1,-1,wasd;-1,0,wasd;0,0,undo;-1,0,wasd;0,0,undo;1,0,wasd;0,0,undo;1,0,wasd;0,0,undo;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;0,0,undo;1,0,wasd;1,0,wasd;1,-1,wasd;0,0,undo;1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;-1,-1,wasd;0,0,undo;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,-1,wasd;0,-1,wasd;-1,1,wasd;0,0,undo;0,-1,wasd;-1,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;0,1,wasd;0,0,undo;1,-1,wasd;0,0,undo;1,-1,wasd;1,-1,wasd;0,0,undo;0,0,undo;1,0,wasd;0,0,undo;1,0,wasd;0,0,undo;-1,0,wasd;0,0,undo;-1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,0,wasd;1,0,wasd;1,-1,wasd;-1,0,wasd;1,1,wasd;0,0,undo;0,0,undo;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,1,wasd;0,1,wasd;-1,1,wasd;0,-1,wasd;0,0,undo;0,0,undo;0,0,undo;-1,1,wasd;-1,1,wasd;0,1,wasd;-1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;0,1,wasd;1,-1,wasd;1,0,wasd;0,0,undo;1,0,wasd;1,-1,wasd;0,0,undo;0,0,undo;0,0,undo;1,-1,wasd;0,0,space;0,0,undo;1,-1,wasd;0,0,undo;1,0,wasd;0,0,undo;0,0,undo;1,0,wasd;0,0,undo;1,-1,wasd;0,-1,wasd;1,0,wasd;0,0,undo;-1,0,wasd;0,0,undo;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,0,undo;1,0,wasd;0,0,undo;1,1,wasd;0,0,undo;1,-1,wasd;0,0,undo;1,0,wasd;1,-1,wasd;0,0,undo;0,0,undo;1,-1,wasd;0,0,undo;1,0,wasd;0,0,undo;1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,-1,wasd;0,0,undo;-1,-1,wasd;0,0,undo;-1,-1,wasd;0,0,undo;0,-1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,-1,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,-1,wasd;-1,1,wasd;0,0,undo;0,-1,wasd;0,0,undo;-1,-1,wasd;0,0,undo;-1,-1,wasd;1,1,wasd;0,0,undo;0,0,undo;0,0,undo;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,0,undo;1,0,wasd;0,0,undo;1,0,wasd;0,0,undo;0,0,undo;1,0,wasd;1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;-1,-1,wasd;0,0,undo;-1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;1,-1,wasd;1,0,wasd;0,0,undo;0,-1,wasd;-1,0,wasd;0,0,undo;1,0,wasd;0,0,undo;-1,1,wasd;0,0,undo;-1,-1,wasd;0,0,undo;-1,-1,wasd;-1,1,wasd;0,0,undo;1,1,wasd;0,0,undo;0,0,undo;-1,1,wasd;0,0,undo;0,1,wasd;0,0,undo;0,1,wasd;0,0,undo;-1,1,wasd;0,0,undo;1,0,wasd;0,0,undo;1,0,wasd;0,-1,wasd;0,0,undo;-1,-1,wasd;0,0,undo;-1,-1,wasd;-1,1,wasd;0,0,undo;0,0,undo;1,0,wasd;-1,-1,wasd;-1,1,wasd;0,0,undo;-1,1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,1,wasd;0,1,wasd;1,-1,wasd;0,-1,wasd;1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,-1,wasd;0,0,undo;1,-1,wasd;1,-1,wasd;0,0,undo;1,-1,wasd;0,0,undo;0,-1,wasd;0,0,undo;-1,-1,wasd;0,0,undo;0,-1,wasd;0,1,wasd;0,0,undo;-1,1,wasd;0,0,undo;0,-1,wasd;0,0,undo;1,-1,wasd;0,0,undo;-1,-1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;1,-1,wasd;0,-1,wasd;-1,0,wasd;0,0,undo;-1,1,wasd;0,0,undo;1,-1,wasd;0,0,undo;-1,1,wasd;0,0,undo;0,-1,wasd;0,0,undo;1,-1,wasd;0,0,undo;1,0,wasd;-1,1,wasd;0,0,undo;-1,1,wasd;0,0,undo;-1,1,wasd;-1,1,wasd;0,0,undo;-1,1,wasd;0,0,undo;0,1,wasd;0,0,undo;-1,1,wasd;0,0,undo;1,0,wasd;0,0,undo;-1,1,wasd;0,0,undo;-1,1,wasd;1,0,wasd;1,0,wasd;0,0,undo;1,0,wasd;0,0,undo;1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,-1,wasd;0,-1,wasd;-1,1,wasd;0,0,undo;-1,1,wasd;0,0,undo;-1,0,wasd;0,0,undo;1,0,wasd;0,0,undo;-1,-1,wasd;-1,1,wasd;0,0,undo;0,1,wasd;0,0,undo;1,1,wasd;0,0,undo;0,0,undo;0,0,undo;-1,-1,wasd;0,0,undo;0,-1,wasd;-1,1,wasd;0,0,undo;1,1,wasd;0,0,undo;0,1,wasd;0,0,undo;-1,1,wasd;0,0,undo;-1,-1,wasd;-1,1,wasd;0,0,undo;0,1,wasd;0,0,undo;1,1,wasd;0,0,undo;1,-1,wasd;0,0,undo;-1,-1,wasd;0,0,undo;-1,0,wasd;0,0,undo;-1,1,wasd;0,0,undo;0,1,wasd;0,0,undo;0,1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,-1,wasd;-1,0,wasd;0,0,undo;-1,1,wasd;0,0,undo;-1,1,wasd;0,0,space;0,0,undo;0,0,undo;0,0,undo;1,-1,wasd;0,0,space;-1,1,wasd;0,0,undo;0,0,undo;-1,1,wasd;0,0,space;0,0,space;"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/bridgebridgebuildingbuilding.bab",
    "content": "{\"width\":12,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":10,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"autumn\",\"parent_level\":\"\",\"name\":\"bridgebridgebuildingbuilding\",\"map\":\"eJyV1sGOgjAQBuBXMR422YQDLVDKGp7FoKCSsGIQV43x3Zd2UMDsdn4P3r6a9p92mLyeVfU6q2bL9HZry6pI57si3869S+p7ZZ4K75oG3vFQrMusSm93Ly+bVNy93raXdrnKVk8uOx66+S4r2qcPOh8xfrydsPPqfz+xUWdj0KrOatDGnU3cez5nbWO8MF53XvD/bW3ijntihe8Oe4qFO+kplljMhAN3zqMrQj7EsiYc8WGvCsOl5QrLmnDM3+1NVY8WaCxwwgl/tUc7l747FcP39fFcfpslgV0isMMSlsBDLgYeYEclHPJHPQ06wuofWqz4bX99DjzGtk1Yu7fdX1qyCdZMItvUTC19FINVJGyqKFEcYM2EcIglRzjCmomyWLnTGD8zWhC7E3k0V8LMm5xi5k029fppQx/rgbHFgj/jx6AldkDCzEucYuYl9gckC75DbfEbRaQFTBGnWLuv9eOMhBMsEIsjH7upicVAFalHEgfLSBgsI2GgoVY/1eCZUed148y0Y/i2zs7Z9VAdh1XM3PP8btPwpfksu1+5uY7WJFigpBUz/rxodP6xY4eSWAfvdQBOeKRDrIf3OgInQtIKHAlJx29losGhkDT4wSQdM9PPixZ/38T7oinaU7OfLRfFPv8FBJZEzQ==\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/bridgebridgebuildingbuilding.replay",
    "content": "1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/bridged back and forth.bab",
    "content": "{\"width\":12,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":10,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"abstract\",\"parent_level\":\"\",\"name\":\"bridged back and forth\",\"map\":\"eJyd19uOgjAQBuBXMd5twgWncljDsxgE1iVhrUGMGsK7b+mURdYydnpr+oUy/emMJd80vMibzT7r+65uqmz7XZXHrXPPXKcuM895ZLFzOVdFnTdZPzhl3YofC97wNusDxxsGR+d84RILFwiXmrnu3u1bXozUG2koqLtKXYwyQT0zOu1Wuki4gPaW0sXChRYuEY5ZuFS4yMJ5rvnxjzU95IfZetoIrDzIp537Le/aEfsSB9qTX+6smpeH2tNeLD/xy63+mckYEP/9u8BiQirGZy2xRTQAErLxvyApflLj8q/mIUEgP273fQUL/lOdm8tsPG0J0W8MoE8r5+Fpn4G2mCvPCWkFvM6SmSU9lIuJ6TjxI5+xRToAEtKhPmJwKXoBhLoHMnmPu+htrN0pQA+9ixHoowFDYEC/xQGG9NMAyOj3eCRhZF7V6YoEiAeHOf4axIOzgKqjgsNbjvZzj2UXJwQHLib+hPXheXk1WOzTawIwINcEXIgORdqaJBIyWk3gCgQa4RWZygeLY7zNTVWAxQm9fABT8/JNZUjllEaMxufHTA2DAYstggGQEIy/8UeOvQwfXrUftpKMvlklI/PdPg/MgGO0MbxM2xBJZZP388aR57f8oQYIxVJ0RtRP6TCmWzQjJS26kZIW7UhJi36kpEVDUtKiIykZWfy3AIlHCJP6AJlIPENSDru26q7tabPfVafyF7hOCto=\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/bridged back and forth.replay",
    "content": "0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;0,0,undo;0,1,wasd;1,0,wasd;1,-1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;-1,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;0,0,undo;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/bridgeless.bab",
    "content": "{\"width\":12,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":10,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"mono\",\"parent_level\":\"\",\"name\":\"bridgeless\",\"map\":\"eJyN19tum0AQBuBXsXJRqRIX7Bka8SwWNdS1hExESJPI8rsX9l8bA2N27r9d43/2NFW7a9pD2ez2xeXSn5q6eKm77iX5KtLkVBUi+S5k8v5WH05lU1yuSXXqCnVNCCoHqpdUk1QN1C5pdqd/6+p4t3qwbmkFbc1gM6a1g83jVozWDTZl2mywgmlzKt0nVqQDVlwsqGI8w2PlDBeTtXuGI8Xrv/p9WBfwzAICRyo4Tt61h9FL7yNVHP3tBzCAWUpgZi09lpFarj5FMusJHKlnSByWLKeafcnveuJ6u0APBVXem3jmmB7cbic+8nN7bKcBjpc6cBZP/fFjcl7mHqt0O/Nx7o9Ji+0YHyNUkndQaY9VPO9bgBig+YljgOElDmzjic9nd7zMgTPWOofNqZPIriY2/spJeec9sOCdEsCSlx6w4p34wJqXHLBhJQdrqbXqaOviR3Lzrxm99T7bDjrMDZtTaUyPhs+yn7BJt9OYY7GdRrhEYOX29TedIc7zyH4MfxCW3Ip29c3AhvcHgS2r3LCO+oOGthm1qcwyONicdeR5a1NqGdlZyH+a1q/nzA8Q2zHPcWQP3qIDVrycgTUrZ1gTfxr9GHXutWWtI1jyTly92WHJK9Gt/h5w5EKcYce4EMP6gBfxPLCxwGX8IXJsy8/y+615n0ap+Pn066d/YfoewWlW7AEbav/qVTxBW16YQTvWygo4o7KZtuX9FY3eJmc2N+huUmZ7A022j0+1ZHY40JGdudCRrbnQhtnkQFteixq0Y/Y40Bm9Yq+vXd1/dOfd/rU+V/8B2qI7qg==\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/bridgeless.replay",
    "content": "1,0,wasd;"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/bridgelocked.bab",
    "content": "{\"width\":12,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":10,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"cyberpunk\",\"parent_level\":\"\",\"name\":\"bridgelocked\",\"map\":\"eJydl02OozAQha8S9W4kFthgfqbFWSIIdAbJHbcIrSSKcvcBF2BICsfFIpvofbL96lUZl2on1SGXu312v7e1rLKP9truv/Nb8eFdM9+ry4x5t+53/qkOdS6z+8Mr66b746CkarK78Pjj4Q3sv6o8ThzvuGCV8z1muH7NBRt0bOjOFtVEhh0pnkmxULe5lJNedPpoXb/YVdRpY/ddLVyMOzZZZZkXrLiYdFzqvmZbXdueZT2b0iunOea7l24JMve6LUGOlc0FDLD6uYAhrZhFXhhW0IsJYESr5iVvmx7mGu4j5L/ASCOAPEGrv5Cf1PlSfxukDwxfR8azaDEnhGTe3wBvCAqAhKA8GcIDtGoL+Ze8aSDQQEjvHwAFzZpitmaEGrOyTkwz49eQCT3BoQZT2tFO6qgmOPDpVQeQuR90aFTguLXJ0WMKDQZor1l3CqA9MxZQoL3nAEb0YQ1gTK8GgAl9WEcaTN1dnV+gGg59zNnA1DI08Dg3AcRnzYoYny+TuFEHo7XfPSHmQ6zBkObDl1QzWFgThvoA4JvRshTjo+XZB9DahwnqQ6JBYh5gTmpUoGkw+xstAzGz9hZqGYDczTIQB3bLxqOnWkyMwN8/Bt0QAAAdAwDiNwGY9ycAiXs39PCQIGBT65x+YSEIGo3897f6UeWX/PYjz4Zi1g8xNLIM3gDcvXCjoQOJP2rW1OhD5jVNTH9YRoJ+Xw1kRL+wBjKm31gDmWx4XwCZbnhgaDL2N7wwgGQbnhhA2j8/bCT+repChu+fGI/Ppmp/m9Nu/1mdyv80o1e3\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/bridgelocked.replay",
    "content": "1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,1,udlr;|e1siYmFiLDQsNywxLDAsOCwxLDAiXSA9IDAuMjQ1MzE1NzY0NDcyOTYzMzMsIFsiYmFiLDQsNywxLDAsOCwxLDEiXSA9IDAuMzIwNDUwNDg5MjMyMTc0MjMsIFsiYmFiLDUsNiw2LDAsOCwxLDE1Il0gPSAwLjQxMjMxNjU5MTQwMzczOTIyLCBbImJhYiw1LDYsNiwwLDgsMSwxNiJdID0gMC4zODc1NTUxOTk5MjA1NDM3NywgWyJiYWIsNSw2LDgsMCw4LDEsMSJdID0gMC4wMjQ3MzQwNzU1NzI4MzY5MTEsIFsiYmFiLDUsNiw4LDAsOCwxLDIiXSA9IDAuOTcxNzA1MDQwNjE4ODA0MTQsIFsiYmFiLDUsNiw4LDAsOCwxLDMiXSA9IDAuMzMwODM2ODI1OTYxODY5MDMsIFsiYmFiLDYsMSw3LDAsOCwxLDQ2Il0gPSAwLjYwOTcxNjk2MDE1NTg1Mzg2LCBbImJhYiw2LDEsNywwLDgsMSw0NyJdID0gMC44NjAxNzczNTYyMDU0NTkzMiwgWyJiYWIsNiwxLDcsMCw4LDEsNDgiXSA9IDAuMjQ5Nzk1Mjc0NzY4OTMxMTUsIFsiYmFiLDYsMiw2LDAsOCwxLDQyIl0gPSAwLjA3MDA3NzM4NDg5NDk0OTYzNSwgWyJiYWIsNiwyLDYsMCw4LDEsNDMiXSA9IDAuMTAxNzA1MzA1ODE1Nzc3NzUsIFsiYmFiLDYsMiw2LDAsOCwxLDQ0Il0gPSAwLjUyOTkxODgxODI3Njk1NzE5LCBbImJhYiw2LDIsNiwwLDgsMSw0NSJdID0gMC45MTE1NDY5MzkwMzQ5ODQxOCwgWyJiYWIsNiwyLDYsMCw4LDEsNDYiXSA9IDAuMDA5OTY1NDc0MjgwMTc2MDIzMiwgWyJiYWIsNiw2LDEsMCw4LDEsMyJdID0gMC4wNDg0Mzk0Mjc3NzM3ODU4NDgsIFsiYmFiLDYsNiwxLDAsOCwxLDQiXSA9IDAuMzI1NjExMzIzMDI0NzYyODEsIFsiYmFiLDYsNiwxLDAsOCwxLDE2Il0gPSAwLjYxMTEzOTgzMzU2ODUyNTQxLCBbImJhYiw2LDYsMSwwLDgsMSwxNyJdID0gMC41OTkyMzMzMjI4OTMwOTAzOSwgWyJiYWIsNiw2LDEsMCw4LDEsMTgiXSA9IDAuODk2ODM0Mzk2ODgxMTA0MTEsIFsiYmFiLDYsNiwxLDAsOCwxLDE5Il0gPSAwLjQ4NDI5NDI4NzI1MDA1MzMsIFsiYmFiLDYsNyw1LDAsOCwxLDEzIl0gPSAwLjM2OTM2MDA5NzMxMzEzMjM1LCBbImJhYiw2LDcsNSwwLDgsMSwxNCJdID0gMC42NzA0NzY0NzA4ODU0MDU2MywgWyJiYWIsNiw3LDUsMCw4LDEsMTUiXSA9IDAuMjc3MDMxMjcyMjg4NDUzMzcsIFsiYmFiLDYsOCw0LDAsOCwxLDI1Il0gPSAwLjQ0NzE5ODY2Nzc0NDY0NDQ1LCBbImJhYiw2LDgsNCwwLDgsMSwyNiJdID0gMC42NDM4NzYxMTI0MzIyNDYwNywgWyJiYWIsNiw4LDQsMCw4LDEsMjciXSA9IDAuMDEzNTExODUwMTcwODE3Nzk2LCBbImJhYiw2LDksMywwLDgsMSwyNyJdID0gMC4wMjgyOTQ3NTI3OTExMzM0NzEsIFsiYmFiLDYsOSwzLDAsOCwxLDI4Il0gPSAwLjI5MjM4NjE4ODIwMzE4MzUyLCBbImJhYiw3LDEsMSwwLDgsMSw0OCJdID0gMC42Njk4MjQ3OTYzNjg2MjU2OSwgWyJiYWIsNywxLDEsMCw4LDEsNDkiXSA9IDAuMjkyODc1NDc5MDkyNDM1NSwgWyJiYWIsNywzLDYsMCw4LDEsNDEiXSA9IDAuMDM1MzIwMTk0NDg4Mjk5MjYxLCBbImJhYiw3LDMsNiwwLDgsMSw0MiJdID0gMC4zNDIzNTE2MTUwOTQxODI5OSwgWyJiYWIsNyw2LDEsMCw4LDEsNCJdID0gMC45Mjc2MzE1MDA2MDg5NDI4NCwgWyJiYWIsNyw2LDEsMCw4LDEsNSJdID0gMC45NzUzNTY4Njg2MjcxMzc2NiwgWyJiYWIsNyw2LDEsMCw4LDEsNiJdID0gMC40MzMyNTczMDk5NDg1MzcwNiwgWyJiYWIsNyw2LDEsMCw4LDEsMTkiXSA9IDAuNjE1NjU0MDM4NzY3ODE1MzMsIFsiYmFiLDcsNiwxLDAsOCwxLDIwIl0gPSAwLjcyNjA5NTY4NDU0MjY5MTEzLCBbImJhYiw3LDYsMSwwLDgsMSwyMSJdID0gMC43NDkzNzg5MDQyMzI5NDk5NSwgWyJiYWIsNyw2LDEsMCw4LDEsMjIiXSA9IDAuNTIwMzU0ODAwMzEyNzY3MzcsIFsiYmFiLDcsNiwxLDAsOCwxLDIzIl0gPSAwLjE3NjY5ODQ4NTE1OTk2NDY3LCBbImJhYiw3LDcsMywwLDgsMSwyMyJdID0gMC4zMTQzODMxODEyMDA2Nzk4NywgWyJiYWIsNyw3LDMsMCw4LDEsMjQiXSA9IDAuNTU5MjUyMjk2MTAwNDE4MDQsIFsiYmFiLDcsNywzLDAsOCwxLDI1Il0gPSAwLjAzNTg0OTUwNjY4MTQ2NzQ2OSwgWyJiYWIsNyw3LDQsMCw4LDEsMTEiXSA9IDAuNjUzMzM0MTYxNzAzOTE4MzQsIFsiYmFiLDcsNyw0LDAsOCwxLDEyIl0gPSAwLjc0OTYzNDM3MTMxNTg4NjM5LCBbImJhYiw3LDcsNCwwLDgsMSwxMyJdID0gMC4yNjk3MzE1NzA5ODg1NTc0OSwgWyJiYWIsNyw4LDgsMCw4LDEsMjgiXSA9IDAuODc5MDc5NDI0OTg0NDQ4NDcsIFsiYmFiLDcsOCw4LDAsOCwxLDI5Il0gPSAwLjY4NzYwMzc3MTc5Njg4MjU5LCBbImJhYiw3LDgsOCwwLDgsMSwzMCJdID0gMC40MDM3NDM0MTA0MzY2MjcwOSwgWyJiYWIsOCwyLDIsMCw4LDEsNDkiXSA9IDAuNDI0NDUzMTc4NTYyMDUyNjcsIFsiYmFiLDgsNCw3LDAsOCwxLDQwIl0gPSAwLjU1ODQwNzAwNDQ4NzE2Njc0LCBbImJhYiw4LDQsNywwLDgsMSw0MSJdID0gMC40ODA5OTgwNjU0NDgwNTA3OSwgWyJiYWIsOCw1LDcsMCw4LDEsMzkiXSA9IDAuMjQzMzQwOTMxNTk2OTI1NDksIFsiYmFiLDgsNSw3LDAsOCwxLDQwIl0gPSAwLjQwNTY1Njk4MzA3NDQxMjc4LCBbImJhYiw4LDYsMSwwLDgsMSw2Il0gPSAwLjUxODMwMDcxMjY4OTg2Mzc3LCBbImJhYiw4LDYsMSwwLDgsMSw3Il0gPSAwLjU2OTE3MzI2MTk3MTY1MDk3LCBbImJhYiw4LDYsMSwwLDgsMSw4Il0gPSAwLjI0MTcxOTcxMzU0MTc5NzIyLCBbImJhYiw4LDYsNSwwLDgsMSw5Il0gPSAwLjAyNjgxMjkzODY1OTA4MTQwOSwgWyJiYWIsOCw2LDUsMCw4LDEsMTAiXSA9IDAuNzI4NzI0MzM1MzEyMTQ5NzUsIFsiYmFiLDgsNiw1LDAsOCwxLDExIl0gPSAwLjI2NTYwNTI2MTg0OTYxMTY0LCBbImJhYiw4LDYsNywwLDgsMSwzOCJdID0gMC41Mzc5MjE3NTk0MDgzMzQ3NSwgWyJiYWIsOCw2LDcsMCw4LDEsMzkiXSA9IDAuMjgzNDAxMzk0NzMwNjAzMTEsIFsiYmFiLDgsNyw3LDAsOCwxLDM3Il0gPSAwLjgyNjY5NzIwOTM1NjE0NTk5LCBbImJhYiw4LDcsNywwLDgsMSwzOCJdID0gMC4yMjg5NTI1NDQxMDI2MzI1NSwgWyJiYWIsOCw4LDEsMCw4LDEsMzAiXSA9IDAuMDA2NDkxNzc4MTEzOTc1NDk5MywgWyJiYWIsOCw4LDEsMCw4LDEsMzEiXSA9IDAuNjQ0MDMxNTk2Mjc3OTU2ODEsIFsiYmFiLDgsOCwxLDAsOCwxLDMyIl0gPSAwLjc5ODAwOTUyNDcyMDk0NTU1LCBbImJhYiw4LDgsMSwwLDgsMSwzMyJdID0gMC43NjY3NjU2NTY2MDAyMzkyMSwgWyJiYWIsOCw4LDEsMCw4LDEsMzQiXSA9IDAuNTM4OTQwMDYzNzk1MDQyNzgsIFsiYmFiLDgsOCwxLDAsOCwxLDM1Il0gPSAwLjY2NzUzOTQzNjA3NDcyOTU0LCBbImJhYiw4LDgsMSwwLDgsMSwzNiJdID0gMC45Mjc4MDA1Mjk5MDM0MzE5OCwgWyJiYWIsOCw4LDEsMCw4LDEsMzciXSA9IDAuNDIyMzYwMjkyODg5OTQ4MTQsIFsiYmFiLDksNiwxLDAsOCwxLDgiXSA9IDAuNDQ3NzQ0OTA2NDg3NDEwMzksIFsiYmFiLDksNiwxLDAsOCwxLDkiXSA9IDAuMDgxNzkwMzQ0NTg4Mzg4MDc1LCBbImZsb2csOCwyLDEsNiwxLDMsMCJdID0gMC4zMzQ5MDMzNzM1OTEyMzA3OSwgWyJmbG9nLDgsMiwxLDYsMSwzLDEiXSA9IDAuMTM3NTc5Nzk4MzcxMTUxMzEsIFsiZmxvZyw4LDIsMSw2LDEsMywyIl0gPSAwLjI3MTgwNDg3NzM4OTQ2NjM1LCBbImZsb2csOCwyLDEsNiwxLDMsMyJdID0gMC45NjYyNzI1NTM5MTEzMzU0OSwgWyJmbG9nLDgsMiwxLDYsMSwzLDQiXSA9IDAuMzgxMzY2NDk0MTM5MDc4NDIsIFsiZmxvZyw4LDIsMSw2LDEsMyw1Il0gPSAwLjU1NzQ1NjI4NDk5ODEyMjgzLCBbImZsb2csOCwyLDEsNiwxLDMsNiJdID0gMC45NjUyOTUyNDc2NDQ3NDU4NCwgWyJmbG9nLDgsMiwxLDYsMSwzLDciXSA9IDAuMDM3NTU4MTI0MzAwODg2NDUzLCBbImZsb2csOCwyLDEsNiwxLDMsOCJdID0gMC4zNDY3NjU1Mzc0MTQ0MjU4NCwgWyJmbG9nLDgsMiwxLDYsMSwzLDkiXSA9IDAuODE5ODgxMzE1MTU5ODUyNzQsIFsiZmxvZyw4LDIsMSw2LDEsMywxMCJdID0gMC42NDIxNDUzNzkzNDY4MDA2LCBbImZsb2csOCwyLDEsNiwxLDMsMTEiXSA9IDAuOTQ0OTI4ODMwODg0NjU0NjIsIFsiZmxvZyw4LDIsMSw2LDEsMywxMiJdID0gMC42NDY2NTQyNDA3NzAyNzUzMywgWyJmbG9nLDgsMiwxLDYsMSwzLDEzIl0gPSAwLjYzMzcyNzMwNjkyNDA2MTg3LCBbImZsb2csOCwyLDEsNiwxLDMsMTQiXSA9IDAuMDM2NjA3NjAyNjQ3MDIzODk2LCBbImZsb2csOCwyLDEsNiwxLDMsMTUiXSA9IDAuNzY4OTQ4NzMxMjQxNjE1ODksIFsiZmxvZyw4LDIsMSw2LDEsMywxNiJdID0gMC4yMjQ5MjczMzExNTI4OTQ5OCwgWyJmbG9nLDgsMiwxLDYsMSwzLDE3Il0gPSAwLjc5MzE0MzA0ODM0NDAzNDQ4LCBbImZsb2csOCwyLDEsNiwxLDMsMTgiXSA9IDAuMDkzNjAwMTgyMTczNzc4ODU2LCBbImZsb2csOCwyLDEsNiwxLDMsMTkiXSA9IDAuOTUyODg1NjE1MjY4Mjc3ODYsIFsiZmxvZyw4LDIsMSw2LDEsMywyMCJdID0gMC44NjgxNjY5NjgxOTA2MjU4OSwgWyJmbG9nLDgsMiwxLDYsMSwzLDIxIl0gPSAwLjk5MjIwNzc4OTE3ODg1Mzg4LCBbImZsb2csOCwyLDEsNiwxLDMsMjIiXSA9IDAuMDE2MTMwMjQyNzE3OTcxNjk5LCBbImZsb2csOCwyLDEsNiwxLDMsMjMiXSA9IDAuOTE2NzUzNzk3MTk4MzIwNCwgWyJmbG9nLDgsMiwxLDYsMSwzLDI0Il0gPSAwLjMwMjYyNjE1NTMxNTM5MjYxLCBbImZsb2csOCwyLDEsNiwxLDMsMjUiXSA9IDAuMjE2NTQxMTgzOTExOTg2NjIsIFsiZmxvZyw4LDIsMSw2LDEsMywyNiJdID0gMC4xNDk4OTcxOTA3MDczMTYxMSwgWyJmbG9nLDgsMiwxLDYsMSwzLDI3Il0gPSAwLjcyMzkyOTA1NjM3NzM3OTQ4LCBbImZsb2csOCwyLDEsNiwxLDMsMjgiXSA9IDAuODQyODUwNTk2MjA3NDYyODMsIFsiZmxvZyw4LDIsMSw2LDEsMywyOSJdID0gMC43NjY4MTkwMjEwMjk4ODY2NCwgWyJmbG9nLDgsMiwxLDYsMSwzLDMwIl0gPSAwLjA0NzUzMjk2ODQwNzA0NjAxNywgWyJmbG9nLDgsMiwxLDYsMSwzLDMxIl0gPSAwLjI0OTI1MDY2ODc0MDE0OTQ1LCBbImZsb2csOCwyLDEsNiwxLDMsMzIiXSA9IDAuNDU4MTU2MTgwOTM4NTU4NTksIFsiZmxvZyw4LDIsMSw2LDEsMywzMyJdID0gMC45NzM2NzQzMDQ1NTc3NjA3MiwgWyJmbG9nLDgsMiwxLDYsMSwzLDM0Il0gPSAwLjA0NTAyMDY5NTc1MDcyNDg3MSwgWyJmbG9nLDgsMiwxLDYsMSwzLDM1Il0gPSAwLjU1MTkyNzEwNTc3ODk0ODc3LCBbImZsb2csOCwyLDEsNiwxLDMsMzYiXSA9IDAuMTc0MTYxNzk0NTk2Mzk2MDIsIFsiZmxvZyw4LDIsMSw2LDEsMywzNyJdID0gMC40NjI5NTkxNjY4MjkxMTE5OCwgWyJmbG9nLDgsMiwxLDYsMSwzLDM4Il0gPSAwLjQyOTAwMzYxMDUyOTgyNDA1LCBbImZsb2csOCwyLDEsNiwxLDMsMzkiXSA9IDAuMzEzOTA3Nzk0ODIxMjY0MywgWyJmbG9nLDgsMiwxLDYsMSwzLDQwIl0gPSAwLjc1OTU2MjMxNDg1MTQ5OTM5LCBbImZsb2csOCwyLDEsNiwxLDMsNDEiXSA9IDAuNDU4NTY1NjU5Mzk3MDI2NjUsIFsiZmxvZyw4LDIsMSw2LDEsMyw0MiJdID0gMC42MDk0NTQ0NjAwNDM3NTU5MiwgWyJmbG9nLDgsMiwxLDYsMSwzLDQzIl0gPSAwLjA1OTI0MDE5NTAwODU5MTIzNCwgWyJmbG9nLDgsMiwxLDYsMSwzLDQ0Il0gPSAwLjgzMDAxNjg4MTczMjY1ODc1LCBbImZsb2csOCwyLDEsNiwxLDMsNDUiXSA9IDAuODQxNjkyODQ2MTU0OTU5NzYsIFsiZmxvZyw4LDIsMSw2LDEsMyw0NiJdID0gMC43NDU2MTMxODQyOTg2MTI0NSwgWyJmbG9nLDgsMiwxLDYsMSwzLDQ3Il0gPSAwLjk0MTE5ODE4MzQ0NTU2NDA1LCBbInJvYyw2LDYsMSw5LDYsMSwxIl0gPSAwLjcwODc1NzEzNzI1ODk1ODcyLCBbInJvYyw2LDYsMSw5LDYsMSwyIl0gPSAwLjA0MjMwNDU0NzU3MjIyMTAxOCwgWyJyb2MsNiw2LDEsOSw2LDEsMyJdID0gMC42Mzk1MDQ3NDI5MTY3OTIzOCwgWyJyb2MsNiw2LDEsOSw2LDEsNCJdID0gMC44NDY5MzczNzQ4NTYyMTE0NiwgWyJyb2MsNiw2LDEsOSw2LDEsNSJdID0gMC4wOTAxMjYyMzEzMTEyMDE0NTUsIFsicm9jLDYsNiwxLDksNiwxLDYiXSA9IDAuNDE1MjYzNTY5MTY4MDU1MDcsIFsicm9jLDYsNiwxLDksNiwxLDciXSA9IDAuMDI1NzYzNjkzMDYwNTI5MTY5LCBbInJvYyw3LDgsMSw5LDYsMSwxIl0gPSAwLjU0Nzc4NzE3NjM0MDQ3MDI1LCBbInJvYyw3LDgsMSw5LDYsMSwyIl0gPSAwLjE0MDcxMjU0ODI5OTAwMDE1LCBbInJvYyw3LDgsMSw5LDYsMSwzIl0gPSAwLjU1MzM5NzU4Mzk3OTc0NzU5LCBbInJvYyw3LDgsMSw5LDYsMSw0Il0gPSAwLjg0NTgwNzkxMzAxMjk5MTE5LCBbInJvYyw3LDgsMSw5LDYsMSw1Il0gPSAwLjQxMzUwMTI5MTgxNDIwNTM2LCBbInJvYyw3LDgsMSw5LDYsMSw2Il0gPSAwLjE1MzEyMTc5OTE3NTI4NTU3LCBbInJvYyw3LDgsMSw5LDYsMSw3Il0gPSAwLjcxMzM2MDk5Nzg5Njc1ODMzLCBbInR4dCwwLDEsMSwwLDEsMSwwIl0gPSAwLjU1OTY1NjkxNjk3NTgwOTY2LCBbInR4dCwwLDEsMSwwLDEsMSwxIl0gPSAwLjQ0NDUyMTY3OTU1ODYyNTk4LCBbInR4dCwwLDEsMSwwLDEsMSwyIl0gPSAwLjAxNDM0NDI2MDI3NjYwMzA3MSwgWyJ0eHQsMCwxLDEsMCwxLDEsMyJdID0gMC40MzkyODE5OTA3MDgwOTgwNCwgWyJ0eHQsMCwxLDEsMCwxLDEsNCJdID0gMC43ODc4NTU5NTc2OTk2MzUxMiwgWyJ0eHQsMCwxLDEsMCwxLDEsNSJdID0gMC40MDExNzk5MDkwNTI0MDA2NCwgWyJ0eHQsMCwxLDEsMCwxLDEsNiJdID0gMC40Njk5OTI2MDg1ODQ2NjA2MywgWyJ0eHQsMCwxLDEsMCwxLDEsNyJdID0gMC4zNjY4NTIxMjU0MTIzNjkzMywgWyJ0eHQsMCwxLDEsMCwxLDEsOCJdID0gMC4wMjUyOTQ0NzYzNjgxMzU3NTQsIFsidHh0LDAsMSwxLDAsMSwxLDkiXSA9IDAuNzQyODAxNjU3MDg0NDI0NjksIFsidHh0LDAsMSwxLDAsMSwxLDEwIl0gPSAwLjY1MjM5Nzk4NTg0NTkwOTAyLCBbInR4dCwwLDEsMSwwLDEsMSwxMSJdID0gMC44NDQ4ODc0ODc3ODc2MDUxNCwgWyJ0eHQsMCwxLDEsMCwxLDEsMTIiXSA9IDAuNTQyOTU2NDcyNDQzMTAyODYsIFsidHh0LDAsMSwxLDAsMSwxLDEzIl0gPSAwLjE2NTg5MDQ4NTY2MjUzNjUsIFsidHh0LDAsMSwxLDAsMSwxLDE0Il0gPSAwLjgzNjg1ODQzOTkxNjczNDAzLCBbInR4dCwwLDEsMSwwLDEsMSwxNSJdID0gMC4xNDk4MDA3MzUxNjE0MTQ1NywgWyJ0eHQsMCwxLDEsMCwxLDEsMTYiXSA9IDAuNjY5Mzc5OTMzOTg3MTA0MDUsIFsidHh0LDAsMSwxLDAsMSwxLDE3Il0gPSAwLjYyNTYwODEwMTA5NTUyMjEyLCBbInR4dCwwLDEsMSwwLDEsMSwxOCJdID0gMC45MjAwMjc1NjgwODA1MjQxMSwgWyJ0eHQsMCwxLDEsMCwxLDEsMTkiXSA9IDAuOTIzNDg0MzY0MTQ0OTgzNjksIFsidHh0LDAsMSwxLDAsMSwxLDIwIl0gPSAwLjMzOTAwMTczNDM5NjQ2Mjg2LCBbInR4dCwwLDEsMSwwLDEsMSwyMSJdID0gMC42ODE3NTk1Mzk4MzYyMzMyNywgWyJ0eHQsMCwxLDEsMCwxLDEsMjIiXSA9IDAuMTg3NzIyNDgyNTk3MTk5OTIsIFsidHh0LDAsMSwxLDAsMSwxLDIzIl0gPSAwLjUxMTYyNjQ3MzQ0NDc1MzU0LCBbInR4dCwwLDEsMSwwLDEsMSwyNCJdID0gMC43NDE5NDIzMTg2OTAwOTQ2NCwgWyJ0eHQsMCwxLDEsMCwxLDEsMjUiXSA9IDAuMjE5NTkzMTYxOTA4NTI4MDcsIFsidHh0LDAsMSwxLDAsMSwxLDI2Il0gPSAwLjE0NzkzNTU1MDAyMzY2NDk5LCBbInR4dCwwLDEsMSwwLDEsMSwyNyJdID0gMC43MzY1NzI0ODQzMjIzNzEzMiwgWyJ0eHQsMCwxLDEsMCwxLDEsMjgiXSA9IDAuNjAzMDM5OTU0ODIwNDEzNzMsIFsidHh0LDAsMSwxLDAsMSwxLDI5Il0gPSAwLjEzMDg2OTk5ODUxOTE1NDE1LCBbInR4dCwwLDEsMSwwLDEsMSwzMCJdID0gMC4zODEwMjA3NDkxMTcxMTc1OSwgWyJ0eHQsMCwxLDEsMCwxLDEsMzEiXSA9IDAuNTAyODQyNTg2MjIxMDgyMzUsIFsidHh0LDAsMSwxLDAsMSwxLDMyIl0gPSAwLjkxMjE3NzM2MjA3MDU2NDY2LCBbInR4dCwwLDEsMSwwLDEsMSwzMyJdID0gMC40Mjc4Mzg2MTYxOTIzMDM3OSwgWyJ0eHQsMCwxLDEsMCwxLDEsMzQiXSA9IDAuNjAzMjA3MzI1NTgzOTg4MDQsIFsidHh0LDAsMSwxLDAsMSwxLDM1Il0gPSAwLjk2NTQ0MzkyNjUzMTM5Mzg4LCBbInR4dCwwLDEsMSwwLDEsMSwzNiJdID0gMC4zOTc0ODc2MTQzNzA5ODA5LCBbInR4dCwwLDEsMSwwLDEsMSwzNyJdID0gMC45NjI1Nzk3NzgwODE2MTg3NiwgWyJ0eHQsMCwxLDEsMCwxLDEsMzgiXSA9IDAuMzQwNTcwMjE5NDIyNjAyMTMsIFsidHh0LDAsMSwxLDAsMSwxLDM5Il0gPSAwLjQ1MDIyNTc4MTg1MzgzNTExLCBbInR4dCwwLDEsMSwwLDEsMSw0MCJdID0gMC41MTc5NDAyMzYxNzU2NTkzMiwgWyJ0eHQsMCwxLDEsMCwxLDEsNDEiXSA9IDAuOTkzNjU0MTU2Nzk0NzA3MDMsIFsidHh0LDAsMSwxLDAsMSwxLDQyIl0gPSAwLjcyODcwMzQyMzE1NjI5NTIyLCBbInR4dCwwLDEsMSwwLDEsMSw0MyJdID0gMC4yNTE0NzA1NzcwNDk2NjI4LCBbInR4dCwwLDEsMSwwLDEsMSw0NCJdID0gMC4xNTE0NzgzNTkwNDgyNjUxMiwgWyJ0eHQsMCwxLDEsMCwxLDEsNDUiXSA9IDAuNjIyMzY3NzY0MjM0MDI1NzMsIFsidHh0LDAsMSwxLDAsMSwxLDQ2Il0gPSAwLjYyNzcyMTk5MDc0NzYxNjgxLCBbInR4dCwwLDEsMSwwLDEsMSw0NyJdID0gMC40NDkzMTg1ODU2Njk5MDUxMiwgWyJ0eHQsMCwxLDEsMCwxLDEsNDgiXSA9IDAuNTU0MTIyMTQyMTM3NDQ0OTMsIFsidHh0LDAsMSwxLDAsMSwxLDQ5Il0gPSAwLjY4MTE1MTI1ODU1MDE3MzU2LCBbInR4dCwwLDQsMSwwLDEsMSwwIl0gPSAwLjk4MTIzMTEwODY1NDcyMDA3LCBbInR4dCwwLDQsMSwwLDEsMSwxIl0gPSAwLjQyMDYxMjc4OTMyMjczODA1LCBbInR4dCwwLDQsMSwwLDEsMSwyIl0gPSAwLjUxMTAzNzMyNTg1MDM0MDQ1LCBbInR4dCwwLDQsMSwwLDEsMSwzIl0gPSAwLjE4MDc5OTUxNjE5OTQyMzE0LCBbInR4dCwwLDQsMSwwLDEsMSw0Il0gPSAwLjA4NTA1NzA4NTg4NDgxMDk3OSwgWyJ0eHQsMCw0LDEsMCwxLDEsNSJdID0gMC4zMzA3OTc3MDYwODAzODM5NSwgWyJ0eHQsMCw0LDEsMCwxLDEsNiJdID0gMC41MTc3MTgwMDgwNjY0MTQ5OSwgWyJ0eHQsMCw0LDEsMCwxLDEsNyJdID0gMC4xMTAyNjk1MTEzMTE4MTMyOCwgWyJ0eHQsMCw0LDEsMCwxLDEsOCJdID0gMC40Njc2MDk4MDkyMDgxNzIxOSwgWyJ0eHQsMCw0LDEsMCwxLDEsOSJdID0gMC4yNTY3OTEyMjExNjU5NCwgWyJ0eHQsMCw0LDEsMCwxLDEsMTAiXSA9IDAuMDczMTg0NjU0MTAxNTExNTM3LCBbInR4dCwwLDQsMSwwLDEsMSwxMSJdID0gMC40MTQ5NzQwNjYwNTY0MjIwNiwgWyJ0eHQsMCw0LDEsMCwxLDEsMTIiXSA9IDAuMDYyNDM1OTQ3Mjg0MDk5NjI0LCBbInR4dCwwLDQsMSwwLDEsMSwxMyJdID0gMC4zODQzNDM3NTg1MTM0MzkwNSwgWyJ0eHQsMCw0LDEsMCwxLDEsMTQiXSA9IDAuOTQ3MzM3NzU3ODQzNTYwMjIsIFsidHh0LDAsNCwxLDAsMSwxLDE1Il0gPSAwLjI1NDA1NzM3MzY5MzAzMTM5LCBbInR4dCwwLDQsMSwwLDEsMSwxNiJdID0gMC4zMzk3OTU1OTI0NzkxMjgwNSwgWyJ0eHQsMCw0LDEsMCwxLDEsMTciXSA9IDAuMjA2Mjg2NTA0NTU3MjE4NjQsIFsidHh0LDAsNCwxLDAsMSwxLDE4Il0gPSAwLjk4MjUzOTgzOTg3NzEyODc4LCBbInR4dCwwLDQsMSwwLDEsMSwxOSJdID0gMC43NzE1NjM2MzUyNjIwODE4MywgWyJ0eHQsMCw0LDEsMCwxLDEsMjAiXSA9IDAuNzAxNzQzMzYxMDIxMDg0MzcsIFsidHh0LDAsNCwxLDAsMSwxLDIxIl0gPSAwLjM5MDQxMTM3NzU3Mzk5MzAyLCBbInR4dCwwLDQsMSwwLDEsMSwyMiJdID0gMC4wNDI2OTU4NDM3MjA2NjkwMzYsIFsidHh0LDAsNCwxLDAsMSwxLDIzIl0gPSAwLjQ5NzQ0MDM1MDAyNzUyNzA3LCBbInR4dCwwLDQsMSwwLDEsMSwyNCJdID0gMC45MDgxMzc0NzYzMTg4MDE5MywgWyJ0eHQsMCw0LDEsMCwxLDEsMjUiXSA9IDAuMjY5NzE5NjA5MjA4MDUzNiwgWyJ0eHQsMCw0LDEsMCwxLDEsMjYiXSA9IDAuOTg3OTg5MTU3MzY3MTQ4NDMsIFsidHh0LDAsNCwxLDAsMSwxLDI3Il0gPSAwLjgwMTQ3MTI4OTM0MDIxODcyLCBbInR4dCwwLDQsMSwwLDEsMSwyOCJdID0gMC43MDg3MzAxNjg4MzcxMjI1OSwgWyJ0eHQsMCw0LDEsMCwxLDEsMjkiXSA9IDAuMzIxMTk5NjI0NzExMjM1MiwgWyJ0eHQsMCw0LDEsMCwxLDEsMzAiXSA9IDAuNjg0MjMyMDM1Mzg3Mjg3OTQsIFsidHh0LDAsNCwxLDAsMSwxLDMxIl0gPSAwLjY4OTM4NjkzNTQ5ODUxODkzLCBbInR4dCwwLDQsMSwwLDEsMSwzMiJdID0gMC44OTI4NjcxNzI4MjIyNTU0NywgWyJ0eHQsMCw0LDEsMCwxLDEsMzMiXSA9IDAuNTYxMjQ1OTcwNjQ1NDAxMTYsIFsidHh0LDAsNCwxLDAsMSwxLDM0Il0gPSAwLjQ1MjMzMDQ0OTAwMjk5NDQ2LCBbInR4dCwwLDQsMSwwLDEsMSwzNSJdID0gMC45OTQzODA3OTA5NDM4MTk1OSwgWyJ0eHQsMCw0LDEsMCwxLDEsMzYiXSA9IDAuNTYwODI2NjM5NTA1MDA3NDQsIFsidHh0LDAsNCwxLDAsMSwxLDM3Il0gPSAwLjIzMjAyODUwODUwMzc0ODEyLCBbInR4dCwwLDQsMSwwLDEsMSwzOCJdID0gMC4wNjg1MjI3MDE2MjU3MzI4MTgsIFsidHh0LDAsNCwxLDAsMSwxLDM5Il0gPSAwLjA2ODk5ODYyNzQyODUzMDU3OSwgWyJ0eHQsMCw0LDEsMCwxLDEsNDAiXSA9IDAuODI1OTc3NzIzMjc4MzM4NTIsIFsidHh0LDAsNCwxLDAsMSwxLDQxIl0gPSAwLjE4OTM2NjU2MTI3Njk0OTk1LCBbInR4dCwwLDQsMSwwLDEsMSw0MiJdID0gMC42ODc2OTMwNzA0Nzk0OTA1OCwgWyJ0eHQsMCw0LDEsMCwxLDEsNDMiXSA9IDAuNDEzOTY2MDUzNTE5MTI1ODUsIFsidHh0LDAsNCwxLDAsMSwxLDQ0Il0gPSAwLjI5NDgxNDgzMTc1MzA3ODc3LCBbInR4dCwwLDQsMSwwLDEsMSw0NSJdID0gMC43NzQ0ODM2NzE4MzEwODYzNSwgWyJ0eHQsMCw0LDEsMCwxLDEsNDYiXSA9IDAuOTk3NTIyMDQ2MzE1MTQ1OTYsIFsidHh0LDAsNCwxLDAsMSwxLDQ3Il0gPSAwLjk1ODc3ODA5ODA0MDIwMDUzLCBbInR4dCwwLDQsMSwwLDEsMSw0OCJdID0gMC40NTM3OTQ3MDUxNTMyNjI3LCBbInR4dCwwLDQsMSwwLDEsMSw0OSJdID0gMC4yOTgwNTIwNDA2MTc3Mzk2LCBbInR4dCwwLDUsNSwwLDEsMSwwIl0gPSAwLjUyMjY2NDE5MjQ5ODY2MzAzLCBbInR4dCwwLDUsNSwwLDEsMSwxIl0gPSAwLjEyNzI3ODU5MzIxNDA5MzQxLCBbInR4dCwwLDUsNSwwLDEsMSwyIl0gPSAwLjA0NzA1ODQ3MDI4NjczNjcwOSwgWyJ0eHQsMCw1LDUsMCwxLDEsMyJdID0gMC41ODU2MDU0MTE3MTk4NzA3OSwgWyJ0eHQsMCw1LDUsMCwxLDEsNCJdID0gMC4zMTQ2MjI2NDYwNzA3MzczMSwgWyJ0eHQsMCw1LDUsMCwxLDEsNSJdID0gMC42MzMxOTgyMzIyOTcxMTk0NywgWyJ0eHQsMCw1LDUsMCwxLDEsNiJdID0gMC4yNjQ1NzUzODA4NzE1ODUzOSwgWyJ0eHQsMCw1LDUsMCwxLDEsNyJdID0gMC4yNDIyOTU5OTA1NjQ4NDcxOSwgWyJ0eHQsMCw1LDUsMCwxLDEsOCJdID0gMC4zMTcxOTAzMzI4MTM0NTk5OSwgWyJ0eHQsMCw1LDUsMCwxLDEsOSJdID0gMC4xNzAyMzY1NDg1MTcxOTg4MywgWyJ0eHQsMCw1LDUsMCwxLDEsMTAiXSA9IDAuMDA5ODkzOTY2MzkzMzc3MjUxNSwgWyJ0eHQsMCw1LDUsMCwxLDEsMTEiXSA9IDAuNDkwMDU1NTE2ODA3MDAxMzIsIFsidHh0LDAsNSw1LDAsMSwxLDEyIl0gPSAwLjk0NzM5MzkzNzIwMjc0NjY3LCBbInR4dCwwLDUsNSwwLDEsMSwxMyJdID0gMC4yNjk4NjQ2OTUxNTQyODc1NywgWyJ0eHQsMCw1LDUsMCwxLDEsMTQiXSA9IDAuMDM1NDU5NDYzMDIxNDk1OTQxLCBbInR4dCwwLDUsNSwwLDEsMSwxNSJdID0gMC41NDc2NDEzNDY1NDQ1OTE1MSwgWyJ0eHQsMCw1LDUsMCwxLDEsMTYiXSA9IDAuNDc4OTQzMTAzODYwODA5NjMsIFsidHh0LDAsNSw1LDAsMSwxLDE3Il0gPSAwLjIwNTAyNzkyNDUwNzg0MDgsIFsidHh0LDAsNSw1LDAsMSwxLDE4Il0gPSAwLjUxODI0NjAzOTY2MTc3Mzg1LCBbInR4dCwwLDUsNSwwLDEsMSwxOSJdID0gMC4zNzkwMzgyNzM3MjA0ODk1OSwgWyJ0eHQsMCw1LDUsMCwxLDEsMjAiXSA9IDAuNjE4Njg4NDQ4Mjg4Njg1NjMsIFsidHh0LDAsNSw1LDAsMSwxLDIxIl0gPSAwLjc4MjUyMzE0NTM4NTUyOTY5LCBbInR4dCwwLDUsNSwwLDEsMSwyMiJdID0gMC4wNjczMTMwNDMwMDMxNjcyMDYsIFsidHh0LDAsNSw1LDAsMSwxLDIzIl0gPSAwLjkyNDE4NDU3MTI2MjQ4MjMyLCBbInR4dCwwLDUsNSwwLDEsMSwyNCJdID0gMC4zNjA4MjI3MTM3ODU5MzY3OCwgWyJ0eHQsMCw1LDUsMCwxLDEsMjUiXSA9IDAuMzU3NDIwMTcwNzc5Mjc4MTIsIFsidHh0LDAsNSw1LDAsMSwxLDI2Il0gPSAwLjA5NjIxNzkyNDUwODMwOTAxNiwgWyJ0eHQsMCw1LDUsMCwxLDEsMjciXSA9IDAuOTAyNzA3NTQxMzE3MDYzNzcsIFsidHh0LDAsNSw1LDAsMSwxLDI4Il0gPSAwLjA2MDU5MDQ2ODUyMTAxNDEyOSwgWyJ0eHQsMCw1LDUsMCwxLDEsMjkiXSA9IDAuNjkyMTY5NzcxMDczMjg5NywgWyJ0eHQsMCw1LDUsMCwxLDEsMzAiXSA9IDAuNzI2NDYxMDk5ODQ3NTA4NzMsIFsidHh0LDAsNSw1LDAsMSwxLDMxIl0gPSAwLjIwMjE5NTIyMjg0MDIwMTc1LCBbInR4dCwwLDUsNSwwLDEsMSwzMiJdID0gMC40MzgzNTUwMjIxOTQ5NzI1OCwgWyJ0eHQsMCw1LDUsMCwxLDEsMzMiXSA9IDAuNTYwNDk1MjYwMjczMzQxMDcsIFsidHh0LDAsNSw1LDAsMSwxLDM0Il0gPSAwLjU1MDQzMzU0NTgxMjc4ODQ3LCBbInR4dCwwLDUsNSwwLDEsMSwzNSJdID0gMC4zMDM1NTI1MjQ3NzEzNzcyOSwgWyJ0eHQsMCw1LDUsMCwxLDEsMzYiXSA9IDAuMTUxNzE3MDQ5OTMyMzk0NTQsIFsidHh0LDAsNSw1LDAsMSwxLDM3Il0gPSAwLjU3MjgxNjYzMTc5NDcwMDc3LCBbInR4dCwwLDUsNSwwLDEsMSwzOCJdID0gMC44MDUwMDc0MzkzMzk1MDU0NywgWyJ0eHQsMCw1LDUsMCwxLDEsMzkiXSA9IDAuOTcwNzMwMjY4NjkzMTg5NTcsIFsidHh0LDAsNSw1LDAsMSwxLDQwIl0gPSAwLjI1NzM3MDg2MzAwMTAyMzQxLCBbInR4dCwwLDUsNSwwLDEsMSw0MSJdID0gMC43MjU3OTc2Mjc2MTkxNzg0MywgWyJ0eHQsMCw1LDUsMCwxLDEsNDIiXSA9IDAuNTQ2Mzg5NjY4Nzc4Mzc0MDMsIFsidHh0LDAsNSw1LDAsMSwxLDQzIl0gPSAwLjM1NTg1NjUzODEzMTgxNTk1LCBbInR4dCwwLDUsNSwwLDEsMSw0NCJdID0gMC42MjkwNzY5MTk3MjYwNjg4MywgWyJ0eHQsMCw1LDUsMCwxLDEsNDUiXSA9IDAuNTQzNDc3NTg0NjU5OTQ2ODksIFsidHh0LDAsNSw1LDAsMSwxLDQ2Il0gPSAwLjA5OTMyMTcxMTg3MjI1MjkxNiwgWyJ0eHQsMCw1LDUsMCwxLDEsNDciXSA9IDAuOTE3MDAwNzI0Nzk2NzY3OTcsIFsidHh0LDAsNSw1LDAsMSwxLDQ4Il0gPSAwLjY1NzUxMjg2NDgyNzczNjYzLCBbInR4dCwwLDUsNSwwLDEsMSw0OSJdID0gMC4zNzUyMDI2MDc5MTgxMzc0MiwgWyJ0eHQsMCw2LDUsMCwxLDEsMCJdID0gMC4yODc2MTcyMjkwNTcxMjcyOCwgWyJ0eHQsMCw2LDUsMCwxLDEsMSJdID0gMC42NDIxODYyMzM2OTkxMDI4OCwgWyJ0eHQsMCw2LDUsMCwxLDEsMiJdID0gMC42MzEwNjk0NDI1NDQyNzI0NCwgWyJ0eHQsMCw2LDUsMCwxLDEsMyJdID0gMC42NjgzOTE5ODYyODI4MTg0OCwgWyJ0eHQsMCw2LDUsMCwxLDEsNCJdID0gMC4xMDczMTUxMjA0NzU1OTkzMiwgWyJ0eHQsMCw2LDUsMCwxLDEsNSJdID0gMC4wNjI4NDUwNjg2OTY0NzM0MzgsIFsidHh0LDAsNiw1LDAsMSwxLDYiXSA9IDAuNzgxODg5NzEyNzkzODExODEsIFsidHh0LDAsNiw1LDAsMSwxLDciXSA9IDAuMTkxMDQ1NTQyNzcyNzMwNjcsIFsidHh0LDAsNiw1LDAsMSwxLDgiXSA9IDAuMjEzNzUzNzgzMjgzODIxNDQsIFsidHh0LDAsNiw1LDAsMSwxLDkiXSA9IDAuMTcyNDgxNjYxMzM1NDMxODYsIFsidHh0LDAsNiw1LDAsMSwxLDEwIl0gPSAwLjQ3MjgxMzM3NTU1MTM3ODE1LCBbInR4dCwwLDYsNSwwLDEsMSwxMSJdID0gMC4zMTM1Mzc0MzA1NTg0NTUyOSwgWyJ0eHQsMCw2LDUsMCwxLDEsMTIiXSA9IDAuOTY5NzM4NTE5NDUyNDE5MjksIFsidHh0LDAsNiw1LDAsMSwxLDEzIl0gPSAwLjkwMDU5MjgzNTM5OTkyNDQxLCBbInR4dCwwLDYsNSwwLDEsMSwxNCJdID0gMC4xOTc3OTkyODA0ODA4ODMyNCwgWyJ0eHQsMCw2LDUsMCwxLDEsMTUiXSA9IDAuODUxOTExMjM0NTUyNDM2LCBbInR4dCwwLDYsNSwwLDEsMSwxNiJdID0gMC4wMTUwMzk5Nzc4NjI1NTg3MjksIFsidHh0LDAsNiw1LDAsMSwxLDE3Il0gPSAwLjc3NzcyNzQ0MDgyMjU4OTYsIFsidHh0LDAsNiw1LDAsMSwxLDE4Il0gPSAwLjA1MjU1MTQwMDMxNTQxOTA1LCBbInR4dCwwLDYsNSwwLDEsMSwxOSJdID0gMC4xNTk5ODY0NzE2NDc5NzEzMSwgWyJ0eHQsMCw2LDUsMCwxLDEsMjAiXSA9IDAuODQzMzI4NTEyMjM5MjEzMzUsIFsidHh0LDAsNiw1LDAsMSwxLDIxIl0gPSAwLjQyMjMzNzYxMjQyMDMzMjg1LCBbInR4dCwwLDYsNSwwLDEsMSwyMiJdID0gMC44ODg2MDQ3OTk3OTc1NTk2OSwgWyJ0eHQsMCw2LDUsMCwxLDEsMjMiXSA9IDAuNDExMjQxOTczOTE1NTcyMTYsIFsidHh0LDAsNiw1LDAsMSwxLDI0Il0gPSAwLjg2ODE1MTQzNjE2MjM1MzAyLCBbInR4dCwwLDYsNSwwLDEsMSwyNSJdID0gMC41NjkxMTM2ODM1Mzk0NDYzNiwgWyJ0eHQsMCw2LDUsMCwxLDEsMjYiXSA9IDAuNDA2MDAzNTEyNjEyMjkwOTUsIFsidHh0LDAsNiw1LDAsMSwxLDI3Il0gPSAwLjM1MzMwMzc4ODY1MDc4NjYsIFsidHh0LDAsNiw1LDAsMSwxLDI4Il0gPSAwLjU5ODY5MzQ4MjYxMjMzMTEzLCBbInR4dCwwLDYsNSwwLDEsMSwyOSJdID0gMC44MzczNDY2NDAwNzEwNDIwOSwgWyJ0eHQsMCw2LDUsMCwxLDEsMzAiXSA9IDAuMTgyNTAzNjY5Nzk3Mzc3ODcsIFsidHh0LDAsNiw1LDAsMSwxLDMxIl0gPSAwLjkzNDY3MTgwMjMxMjMxODYxLCBbInR4dCwwLDYsNSwwLDEsMSwzMiJdID0gMC45NzE0NDU3MjI5MzkwODE2LCBbInR4dCwwLDYsNSwwLDEsMSwzMyJdID0gMC42MjI5NTM2ODAxODY0NTQ1OCwgWyJ0eHQsMCw2LDUsMCwxLDEsMzQiXSA9IDAuMjI0ODgwNzYzOTg1NDE5NzgsIFsidHh0LDAsNiw1LDAsMSwxLDM1Il0gPSAwLjYxNjE5MjA2NTUxMjE3NzA5LCBbInR4dCwwLDYsNSwwLDEsMSwzNiJdID0gMC4zODI1NjUwMjEyODU2MzU5NiwgWyJ0eHQsMCw2LDUsMCwxLDEsMzciXSA9IDAuMzY2NzI0NjMyMTg0Njg5MDksIFsidHh0LDAsNiw1LDAsMSwxLDM4Il0gPSAwLjAxMzM4NzE0MTA4ODQ3MjcyLCBbInR4dCwwLDYsNSwwLDEsMSwzOSJdID0gMC4xMTQzMDA5ODg4Njc0MDQwMywgWyJ0eHQsMCw2LDUsMCwxLDEsNDAiXSA9IDAuNzU2NTQ2NDUzODU1NTU2NDEsIFsidHh0LDAsNiw1LDAsMSwxLDQxIl0gPSAwLjI3ODkwNTc2OTY2OTk5NzY5LCBbInR4dCwwLDYsNSwwLDEsMSw0MiJdID0gMC42NTc0NzcyNzk4Mzc4NTEyLCBbInR4dCwwLDYsNSwwLDEsMSw0MyJdID0gMC41Mzc0NjQwNzgyNTQ4NjY1MywgWyJ0eHQsMCw2LDUsMCwxLDEsNDQiXSA9IDAuMTAxNDA0NzY5NDg4NTI2NSwgWyJ0eHQsMCw2LDUsMCwxLDEsNDUiXSA9IDAuOTA4MjgzMjk3OTY2NDExNzIsIFsidHh0LDAsNiw1LDAsMSwxLDQ2Il0gPSAwLjkxNDEwNTA0Njk2NDMxMzA1LCBbInR4dCwwLDYsNSwwLDEsMSw0NyJdID0gMC42NDc0MTg5Nzg4NzY3MTU1MSwgWyJ0eHQsMCw2LDUsMCwxLDEsNDgiXSA9IDAuMjMwMDc5MDc5MDAwMzE1MzIsIFsidHh0LDAsNiw1LDAsMSwxLDQ5Il0gPSAwLjUzODUwNTg0NDM3OTI4MDI5LCBbInR4dCwwLDgsMSwwLDEsMSwwIl0gPSAwLjU3Mjg2NTgwMDU4NzExMDEyLCBbInR4dCwwLDgsMSwwLDEsMSwxIl0gPSAwLjE4MjMwMTIxODgzMzc1ODA1LCBbInR4dCwwLDgsMSwwLDEsMSwyIl0gPSAwLjQ2MDkwMDQwMTE2ODUyOTE1LCBbInR4dCwwLDgsMSwwLDEsMSwzIl0gPSAwLjAwNTcxODMzMDM2MzMxNjE0ODYsIFsidHh0LDAsOCwxLDAsMSwxLDQiXSA9IDAuOTI5NTI4MDA0MDgwODMyMDMsIFsidHh0LDAsOCwxLDAsMSwxLDUiXSA9IDAuODQ2ODU4NDU3MDcxMzgwODUsIFsidHh0LDAsOCwxLDAsMSwxLDYiXSA9IDAuNzQzNTY5Mzc5NzcyMzc1NDcsIFsidHh0LDAsOCwxLDAsMSwxLDciXSA9IDAuMjE0NjgxMTY4NjYwOTk4NCwgWyJ0eHQsMCw4LDEsMCwxLDEsOCJdID0gMC4yODM1MDk5NzE0MzgwMTIwNCwgWyJ0eHQsMCw4LDEsMCwxLDEsOSJdID0gMC42MDkzMzMxMzcwMTMwMjgxNiwgWyJ0eHQsMCw4LDEsMCwxLDEsMTAiXSA9IDAuOTY5NDY2NjIwNTk2ODc1MTYsIFsidHh0LDAsOCwxLDAsMSwxLDExIl0gPSAwLjg1ODIwMzc3MDY2MDExNDg4LCBbInR4dCwwLDgsMSwwLDEsMSwxMiJdID0gMC45MjUxOTUyOTU4MDMzNjczNSwgWyJ0eHQsMCw4LDEsMCwxLDEsMTMiXSA9IDAuOTMyNDcxODQzMDYyMzk2MTcsIFsidHh0LDAsOCwxLDAsMSwxLDE0Il0gPSAwLjkxNjQxMDIyOTAxOTY4ODI3LCBbInR4dCwwLDgsMSwwLDEsMSwxNSJdID0gMC42NzI1ODE5MTQzNzI4OTg4MywgWyJ0eHQsMCw4LDEsMCwxLDEsMTYiXSA9IDAuMzMxMTEyNDMyMTUxODU5MDQsIFsidHh0LDAsOCwxLDAsMSwxLDE3Il0gPSAwLjAzODA0MDE5NDYyODYzNjM5MiwgWyJ0eHQsMCw4LDEsMCwxLDEsMTgiXSA9IDAuNjg2ODgyMzM2MjY0MTU5NCwgWyJ0eHQsMCw4LDEsMCwxLDEsMTkiXSA9IDAuNDk0NTQ1MDA4NTEwODEzNCwgWyJ0eHQsMCw4LDEsMCwxLDEsMjAiXSA9IDAuMDY4NzU2MzkwMjQyNzYxNywgWyJ0eHQsMCw4LDEsMCwxLDEsMjEiXSA9IDAuOTI5MTM4NTI2MDIzMTA1MzIsIFsidHh0LDAsOCwxLDAsMSwxLDIyIl0gPSAwLjQ5MTY4MzUzNTY0NjgwNDM0LCBbInR4dCwwLDgsMSwwLDEsMSwyMyJdID0gMC4yMjAxODY0NTc2MjM2MzU4NywgWyJ0eHQsMCw4LDEsMCwxLDEsMjQiXSA9IDAuNDEzMzIxNjM4MTc2OTI5MzUsIFsidHh0LDAsOCwxLDAsMSwxLDI1Il0gPSAwLjg1MTU5MTM1MjYwMTIzNjIsIFsidHh0LDAsOCwxLDAsMSwxLDI2Il0gPSAwLjU5MjI0NjYzMDcyODQ0ODE5LCBbInR4dCwwLDgsMSwwLDEsMSwyNyJdID0gMC4zNjIzNzg1NTM0MTg2OTE4NSwgWyJ0eHQsMCw4LDEsMCwxLDEsMjgiXSA9IDAuMDM5Njc2NTQ3OTc3NDM3MDI3LCBbInR4dCwwLDgsMSwwLDEsMSwyOSJdID0gMC40ODQxNjQ1MzU5MDUwNDMyNywgWyJ0eHQsMCw4LDEsMCwxLDEsMzAiXSA9IDAuNDU2MTI5Njk3NDE4Njk0MzYsIFsidHh0LDAsOCwxLDAsMSwxLDMxIl0gPSAwLjEwODczNDU0MDY1MzI4OTE0LCBbInR4dCwwLDgsMSwwLDEsMSwzMiJdID0gMC41NjI2Nzk0NTk1NzY4NDI3MywgWyJ0eHQsMCw4LDEsMCwxLDEsMzMiXSA9IDAuMDQ4MTgwNDk1MDY0MTYzOTk3LCBbInR4dCwwLDgsMSwwLDEsMSwzNCJdID0gMC4wNTExNzYxODY1NzI1OTg4MTQsIFsidHh0LDAsOCwxLDAsMSwxLDM1Il0gPSAwLjI5NTE3Mjg5MzY5MTY2NTU1LCBbInR4dCwwLDgsMSwwLDEsMSwzNiJdID0gMC4yMTYwOTk0MTAyOTAxODQ5OCwgWyJ0eHQsMCw4LDEsMCwxLDEsMzciXSA9IDAuNjQ4MTczNjI3NTMzMDI3ODcsIFsidHh0LDAsOCwxLDAsMSwxLDM4Il0gPSAwLjkzMTUyNjA1NzYwOTkyMTEzLCBbInR4dCwwLDgsMSwwLDEsMSwzOSJdID0gMC43NzY2OTQ0OTI1NjkxMTU5NCwgWyJ0eHQsMCw4LDEsMCwxLDEsNDAiXSA9IDAuNzMwNDg2OTc1MTI2NjUyMjgsIFsidHh0LDAsOCwxLDAsMSwxLDQxIl0gPSAwLjE4NDI3MTc5NTcwOTQyMDg3LCBbInR4dCwwLDgsMSwwLDEsMSw0MiJdID0gMC43ODIwOTc3OTQ3OTkzMjMwNywgWyJ0eHQsMCw4LDEsMCwxLDEsNDMiXSA9IDAuMzgyNzE0NDMyNjgxODk0NzYsIFsidHh0LDAsOCwxLDAsMSwxLDQ0Il0gPSAwLjUzNTc2MjMxNDQwMzgzNDM3LCBbInR4dCwwLDgsMSwwLDEsMSw0NSJdID0gMC45NjUyNjc2MzQ2MzU0Njg3MiwgWyJ0eHQsMCw4LDEsMCwxLDEsNDYiXSA9IDAuNjA4OTIyNzUzNjAyMTgxMjksIFsidHh0LDAsOCwxLDAsMSwxLDQ3Il0gPSAwLjk4NzI5NjgyNDkzNjc5NjgyLCBbInR4dCwwLDgsMSwwLDEsMSw0OCJdID0gMC42MjkxNjk0OTcyNjU3NjM1NCwgWyJ0eHQsMCw4LDEsMCwxLDEsNDkiXSA9IDAuNzIyMDE1ODU2NTM5ODIxODEsIFsidHh0LDEsMSwxLDAsMSwxLDAiXSA9IDAuNjg4NDYyMTQyNzEwNTE1MzEsIFsidHh0LDEsMSwxLDAsMSwxLDEiXSA9IDAuNTI0NzUyMDM4Mzc1NDM4NzEsIFsidHh0LDEsMSwxLDAsMSwxLDIiXSA9IDAuNDU2NjA2OTkwNTQwNDI0NjQsIFsidHh0LDEsMSwxLDAsMSwxLDMiXSA9IDAuMDAzMzk5NDA0MDMyOTQ1MjUyNCwgWyJ0eHQsMSwxLDEsMCwxLDEsNCJdID0gMC40MjkzOTkwNTg5MTk2NDQzNiwgWyJ0eHQsMSwxLDEsMCwxLDEsNSJdID0gMC4yNDI4Nzc5OTE3MTkxOTcsIFsidHh0LDEsMSwxLDAsMSwxLDYiXSA9IDAuNDg3OTQ2NzE5Mjc1ODIyMDEsIFsidHh0LDEsMSwxLDAsMSwxLDciXSA9IDAuODg2NzYxOTE3MTEzODM5NjcsIFsidHh0LDEsMSwxLDAsMSwxLDgiXSA9IDAuNjgxOTEzNDc3OTA2NjIwMjcsIFsidHh0LDEsMSwxLDAsMSwxLDkiXSA9IDAuMzgzNTgwNjYzODkzODk0NTYsIFsidHh0LDEsMSwxLDAsMSwxLDEwIl0gPSAwLjQ4OTg2NDMyMTc2NDgwOTc2LCBbInR4dCwxLDEsMSwwLDEsMSwxMSJdID0gMC4xODU3NTE0Mzc2NjQ5NTkzOCwgWyJ0eHQsMSwxLDEsMCwxLDEsMTIiXSA9IDAuMDQ2NjQ1NTAwODY0OTA3ODE4LCBbInR4dCwxLDEsMSwwLDEsMSwxMyJdID0gMC44NDgzMTc1MjAyNDAwMTkyNywgWyJ0eHQsMSwxLDEsMCwxLDEsMTQiXSA9IDAuMjIzNzM0Njk0NjEwNTc3NiwgWyJ0eHQsMSwxLDEsMCwxLDEsMTUiXSA9IDAuOTYxMjIzNDE4OTc1Mjc3MywgWyJ0eHQsMSwxLDEsMCwxLDEsMTYiXSA9IDAuNzg2NTc4NTMxMzQzMDM4MDEsIFsidHh0LDEsMSwxLDAsMSwxLDE3Il0gPSAwLjU4NzQ3MjU4NTYxMzg2MjczLCBbInR4dCwxLDEsMSwwLDEsMSwxOCJdID0gMC40NzcxMDQxOTA4MTAzMzg2MSwgWyJ0eHQsMSwxLDEsMCwxLDEsMTkiXSA9IDAuOTE4OTY4MDI0MzY3MTc1NCwgWyJ0eHQsMSwxLDEsMCwxLDEsMjAiXSA9IDAuMzE1MzU1ODkwNDYyNDkzNTcsIFsidHh0LDEsMSwxLDAsMSwxLDIxIl0gPSAwLjY5MDQ5ODY4MDI1NTM2NjA5LCBbInR4dCwxLDEsMSwwLDEsMSwyMiJdID0gMC4yMTgwNDQ1NzYwMDU1Mjc0LCBbInR4dCwxLDEsMSwwLDEsMSwyMyJdID0gMC41MTE4NDA0Njg1MjEzNzQ2NiwgWyJ0eHQsMSwxLDEsMCwxLDEsMjQiXSA9IDAuMzkxMjk2NDk4NDI3MTMyNTQsIFsidHh0LDEsMSwxLDAsMSwxLDI1Il0gPSAwLjU4NDY2MDc2NTI3MjU3MjM4LCBbInR4dCwxLDEsMSwwLDEsMSwyNiJdID0gMC4zNzg3ODg5NjExMDIwNzcxNiwgWyJ0eHQsMSwxLDEsMCwxLDEsMjciXSA9IDAuODc4Nzc0NDUxMzEzNTk4ODgsIFsidHh0LDEsMSwxLDAsMSwxLDI4Il0gPSAwLjI5Mzg2NzE1OTQ3NDQ4MzI3LCBbInR4dCwxLDEsMSwwLDEsMSwyOSJdID0gMC4zMzE3MTU5OTQyNTkzNzU3LCBbInR4dCwxLDEsMSwwLDEsMSwzMCJdID0gMC4xMTE3NDIxOTg4NDczMzI4MywgWyJ0eHQsMSwxLDEsMCwxLDEsMzEiXSA9IDAuMDA1NDQ3Nzc2NzQ1NDIyODQ5OCwgWyJ0eHQsMSwxLDEsMCwxLDEsMzIiXSA9IDAuNTg2NjUyNzAwODAxNTE0MzMsIFsidHh0LDEsMSwxLDAsMSwxLDMzIl0gPSAwLjU3NDQ4NjY4MjkyMTU2MjY5LCBbInR4dCwxLDEsMSwwLDEsMSwzNCJdID0gMC44MDM1MTM4MjE1MDY4NTg5MSwgWyJ0eHQsMSwxLDEsMCwxLDEsMzUiXSA9IDAuNjk0NTE3MTQyNTIwMjcwMDgsIFsidHh0LDEsMSwxLDAsMSwxLDM2Il0gPSAwLjEzNDM2Mzg0NzQ4ODczOTY0LCBbInR4dCwxLDEsMSwwLDEsMSwzNyJdID0gMC4wNjUyNjQzNjI4NDU3NzQwODIsIFsidHh0LDEsMSwxLDAsMSwxLDM4Il0gPSAwLjg3MDMzNDM5NzIwNjA3MTA5LCBbInR4dCwxLDEsMSwwLDEsMSwzOSJdID0gMC4zNjQ5MTgwNTkwNjUyNTIxLCBbInR4dCwxLDEsMSwwLDEsMSw0MCJdID0gMC44NTg3ODA4NjI3MDk4NDc0NCwgWyJ0eHQsMSwxLDEsMCwxLDEsNDEiXSA9IDAuMzczODAxMDUwMDIyMDExNjksIFsidHh0LDEsMSwxLDAsMSwxLDQyIl0gPSAwLjAwMzk5MDY1Mjk1NDMwNTY3MzUsIFsidHh0LDEsMSwxLDAsMSwxLDQzIl0gPSAwLjE3MzcyNjA5NjYzNjI5MDM1LCBbInR4dCwxLDEsMSwwLDEsMSw0NCJdID0gMC45Njk1MDc5OTYyMzI0MjUzNCwgWyJ0eHQsMSwxLDEsMCwxLDEsNDUiXSA9IDAuMjE3NDkwMTYxNjU3MzQ2OCwgWyJ0eHQsMSwxLDEsMCwxLDEsNDYiXSA9IDAuNzg4NDY5NzE4MTc4MTA0NDEsIFsidHh0LDEsMSwxLDAsMSwxLDQ3Il0gPSAwLjgwMTc1Mzg4NjIzODA2MDIxLCBbInR4dCwxLDEsMSwwLDEsMSw0OCJdID0gMC41NDg3NjcyNjI4OTI4NTg2LCBbInR4dCwxLDEsMSwwLDEsMSw0OSJdID0gMC4zNjM3MzQzMjE2MzU2MTYzNiwgWyJ0eHQsMSw4LDEsMCwxLDEsMCJdID0gMC4yNjAwMjc4MzIwMDM0NDQ4MSwgWyJ0eHQsMSw4LDEsMCwxLDEsMSJdID0gMC45MjczMDk4MjM4ODA3MTczNywgWyJ0eHQsMSw4LDEsMCwxLDEsMiJdID0gMC40MjE0NjM1MTEyOTgwMDYwOCwgWyJ0eHQsMSw4LDEsMCwxLDEsMyJdID0gMC4wNzEzNDYyNzA3NTI5MTI4ODgsIFsidHh0LDEsOCwxLDAsMSwxLDQiXSA9IDAuMzc3NjI5MTQ1Njk3NDg3ODQsIFsidHh0LDEsOCwxLDAsMSwxLDUiXSA9IDAuNzA3NTE1MjcyODU0Mjk1MDUsIFsidHh0LDEsOCwxLDAsMSwxLDYiXSA9IDAuODA1NzI1MzE3NzY5MDA3OCwgWyJ0eHQsMSw4LDEsMCwxLDEsNyJdID0gMC45MDA5Mzg0NjUzNjI1Mjk0MiwgWyJ0eHQsMSw4LDEsMCwxLDEsOCJdID0gMC4wODExMTAyMjM5MTIzNDAyNCwgWyJ0eHQsMSw4LDEsMCwxLDEsOSJdID0gMC4xNzgzNDMwMzE4MDAxMDg2OSwgWyJ0eHQsMSw4LDEsMCwxLDEsMTAiXSA9IDAuNDU1ODgzNzQxNTg5MDgwNjMsIFsidHh0LDEsOCwxLDAsMSwxLDExIl0gPSAwLjkyOTI3NzQ5OTk3NDYyNzE2LCBbInR4dCwxLDgsMSwwLDEsMSwxMiJdID0gMC4zMTUyNTk0NjI0OTMzNDg5MSwgWyJ0eHQsMSw4LDEsMCwxLDEsMTMiXSA9IDAuODIwODU3MzgyNTc1MDg0ODksIFsidHh0LDEsOCwxLDAsMSwxLDE0Il0gPSAwLjYxMzA1NDgwNzMwNTM5NDMsIFsidHh0LDEsOCwxLDAsMSwxLDE1Il0gPSAwLjE0MTM2MzU3MDgxODAyMjUzLCBbInR4dCwxLDgsMSwwLDEsMSwxNiJdID0gMC45MjI1NTgzOTMzNTEyODkwOSwgWyJ0eHQsMSw4LDEsMCwxLDEsMTciXSA9IDAuNzA1MTE1NjA0NjYxMjIwMzYsIFsidHh0LDEsOCwxLDAsMSwxLDE4Il0gPSAwLjEwNDUwMjQ5NTIwMDg3MTI5LCBbInR4dCwxLDgsMSwwLDEsMSwxOSJdID0gMC40NDA2ODExNDA5NDU4NTQ0MiwgWyJ0eHQsMSw4LDEsMCwxLDEsMjAiXSA9IDAuMzQyNTc5Njk1NTczOTY3MDYsIFsidHh0LDEsOCwxLDAsMSwxLDIxIl0gPSAwLjE3NTI3MTU0NzAwNDY5NDE2LCBbInR4dCwxLDgsMSwwLDEsMSwyMiJdID0gMC42NDI0OTcyOTgwNjM2OTkzNywgWyJ0eHQsMSw4LDEsMCwxLDEsMjMiXSA9IDAuNTgxNzAxMjA2NzQ5MzQyNzgsIFsidHh0LDEsOCwxLDAsMSwxLDI0Il0gPSAwLjYyMDI2OTM1ODExNTkxNzU1LCBbInR4dCwxLDgsMSwwLDEsMSwyNSJdID0gMC4zMzYxODEzODUxMjQ1NjQwOCwgWyJ0eHQsMSw4LDEsMCwxLDEsMjYiXSA9IDAuNzgxOTE3MDMzMDY4NzM3MjgsIFsidHh0LDEsOCwxLDAsMSwxLDI3Il0gPSAwLjIzNjMyMjM4MTY3ODkxMTk1LCBbInR4dCwxLDgsMSwwLDEsMSwyOCJdID0gMC43NjAyMjY5NTUwMjQzNDQ1NiwgWyJ0eHQsMSw4LDEsMCwxLDEsMjkiXSA9IDAuMTQzNjYzMjk5ODY5MDM3NywgWyJ0eHQsMSw4LDEsMCwxLDEsMzAiXSA9IDAuMDY4MjU5OTQ2NDIxOTYyMjAzLCBbInR4dCwxLDgsMSwwLDEsMSwzMSJdID0gMC42MDM0MDEyNTc2MTgyMTQ4NCwgWyJ0eHQsMSw4LDEsMCwxLDEsMzIiXSA9IDAuNDA3NzM4OTM1NTg3NDI0MzYsIFsidHh0LDEsOCwxLDAsMSwxLDMzIl0gPSAwLjE3OTc2NTc5NzI2NTU3NTk2LCBbInR4dCwxLDgsMSwwLDEsMSwzNCJdID0gMC41NTA4MDE3NTQ0OTMxNzE4MSwgWyJ0eHQsMSw4LDEsMCwxLDEsMzUiXSA9IDAuNDE0MzEzNDM5OTcyMDI4MDcsIFsidHh0LDEsOCwxLDAsMSwxLDM2Il0gPSAwLjExMTMzOTEzODkzNzI1NTExLCBbInR4dCwxLDgsMSwwLDEsMSwzNyJdID0gMC44NTg5Njg0OTczMDk4OTg5OSwgWyJ0eHQsMSw4LDEsMCwxLDEsMzgiXSA9IDAuMjA4OTk4MTA3NDYxNDU3MDgsIFsidHh0LDEsOCwxLDAsMSwxLDM5Il0gPSAwLjYzMjkyMjg5NTU3NTU2MzY5LCBbInR4dCwxLDgsMSwwLDEsMSw0MCJdID0gMC40MzA1NTQ1MDE4MTM3MDQ2OSwgWyJ0eHQsMSw4LDEsMCwxLDEsNDEiXSA9IDAuODQ4NTE0ODQxODk2MDcxNTEsIFsidHh0LDEsOCwxLDAsMSwxLDQyIl0gPSAwLjAyNjk4MjQwMjU1MzM1MjkzNSwgWyJ0eHQsMSw4LDEsMCwxLDEsNDMiXSA9IDAuODEyNzc0ODYwOTYxMDE3NDgsIFsidHh0LDEsOCwxLDAsMSwxLDQ0Il0gPSAwLjc5NDM0MDMwOTA5NDAzNjg2LCBbInR4dCwxLDgsMSwwLDEsMSw0NSJdID0gMC4yMTcyNTEwNDgwMDA5NTY0LCBbInR4dCwxLDgsMSwwLDEsMSw0NiJdID0gMC4yMjAyMzE4MTczMjc4NjE2OCwgWyJ0eHQsMSw4LDEsMCwxLDEsNDciXSA9IDAuMDUzNzg2MDU3Nzg0NjY0Mjc2LCBbInR4dCwxLDgsMSwwLDEsMSw0OCJdID0gMC42NjAxNDY3ODcwMjUwMTYzOSwgWyJ0eHQsMSw4LDEsMCwxLDEsNDkiXSA9IDAuOTAyNTQ3NDA0MzA5NDQzNjksIFsidHh0LDIsMCwxLDAsMSwxLDAiXSA9IDAuMDEwNDMzNDY4NTI0OTkyNDk1LCBbInR4dCwyLDAsMSwwLDEsMSwxIl0gPSAwLjAyNTcyNjM5MTczMjA3OTM1NywgWyJ0eHQsMiwwLDEsMCwxLDEsMiJdID0gMC43MDAzMTcyMTY0NjA5MTM0OSwgWyJ0eHQsMiwwLDEsMCwxLDEsMyJdID0gMC42Mzc0NjYxNjUzNzk3ODU3MywgWyJ0eHQsMiwwLDEsMCwxLDEsNCJdID0gMC40MTM4Mjk0NzI3NzU3NzkxOSwgWyJ0eHQsMiwwLDEsMCwxLDEsNSJdID0gMC42NzcyNDA0NDQ3MzQzMDYxMSwgWyJ0eHQsMiwwLDEsMCwxLDEsNiJdID0gMC40NDczNjk3MjgyMzk1NjY3OCwgWyJ0eHQsMiwwLDEsMCwxLDEsNyJdID0gMC4wNzA1MzYwNjk1Mzg5MzA3NjgsIFsidHh0LDIsMCwxLDAsMSwxLDgiXSA9IDAuMjg4ODIzNTMzOTQwMzQzMzIsIFsidHh0LDIsMCwxLDAsMSwxLDkiXSA9IDAuMzIwMjA0MTA4Njg3MzU5MjcsIFsidHh0LDIsMCwxLDAsMSwxLDEwIl0gPSAwLjIzOTAyNzE1MjcxNzMxNjY3LCBbInR4dCwyLDAsMSwwLDEsMSwxMSJdID0gMC44MDE2NzEyOTQ5MzkxMjM1OSwgWyJ0eHQsMiwwLDEsMCwxLDEsMTIiXSA9IDAuODExNTIxOTY2NDEzOTAxMjksIFsidHh0LDIsMCwxLDAsMSwxLDEzIl0gPSAwLjM2OTUwMTgyMDk3MjU0NDkxLCBbInR4dCwyLDAsMSwwLDEsMSwxNCJdID0gMC44NjM4MTYwNjI1NzM0MzYzNSwgWyJ0eHQsMiwwLDEsMCwxLDEsMTUiXSA9IDAuOTI4NTMxNzAwODI2NDczMjksIFsidHh0LDIsMCwxLDAsMSwxLDE2Il0gPSAwLjE0MzI3MDgyNzkwODA0MTkxLCBbInR4dCwyLDAsMSwwLDEsMSwxNyJdID0gMC4zOTQ3ODQ0NTQ2OTAzODM4MSwgWyJ0eHQsMiwwLDEsMCwxLDEsMTgiXSA9IDAuNjc2MTk2NzgwMjIwNTU0NjMsIFsidHh0LDIsMCwxLDAsMSwxLDE5Il0gPSAwLjkxNjgzNTY1Njk5NDM0MDU1LCBbInR4dCwyLDAsMSwwLDEsMSwyMCJdID0gMC42OTc0NTExODkzNDczNzA5NCwgWyJ0eHQsMiwwLDEsMCwxLDEsMjEiXSA9IDAuODE3ODA2NDEyOTA5NTc1OSwgWyJ0eHQsMiwwLDEsMCwxLDEsMjIiXSA9IDAuNTUyNzM1MzkxMjg3MzYyNzEsIFsidHh0LDIsMCwxLDAsMSwxLDIzIl0gPSAwLjY2OTAzOTc0MTYxMzkyMjQzLCBbInR4dCwyLDAsMSwwLDEsMSwyNCJdID0gMC43ODg3MTkzODEwNzQzNTQ0NiwgWyJ0eHQsMiwwLDEsMCwxLDEsMjUiXSA9IDAuMzM2MTczMjk4MDgzMDQ0MDgsIFsidHh0LDIsMCwxLDAsMSwxLDI2Il0gPSAwLjkwMjk0NzgwMjYxMjIzMjE4LCBbInR4dCwyLDAsMSwwLDEsMSwyNyJdID0gMC4wMDQ3NzE3MjY2MTEyMTAzOTE4LCBbInR4dCwyLDAsMSwwLDEsMSwyOCJdID0gMC44MDM3ODI4ODM1MzQ1OTk3LCBbInR4dCwyLDAsMSwwLDEsMSwyOSJdID0gMC43MjExMDA2OTMyMjc3NTUyNywgWyJ0eHQsMiwwLDEsMCwxLDEsMzAiXSA9IDAuNjE0MzM1ODc2MjMxODM4MDUsIFsidHh0LDIsMCwxLDAsMSwxLDMxIl0gPSAwLjExNjcyMDI3OTgzNDc5Nzk0LCBbInR4dCwyLDAsMSwwLDEsMSwzMiJdID0gMC44MzUwNjg1NDI2MTQ1NjA1NCwgWyJ0eHQsMiwwLDEsMCwxLDEsMzMiXSA9IDAuODA0NDI4NTc3MTk4NDkyMjYsIFsidHh0LDIsMCwxLDAsMSwxLDM0Il0gPSAwLjEwMDY4NDc3NDA2NjcxOTE2LCBbInR4dCwyLDAsMSwwLDEsMSwzNSJdID0gMC4yNDcxMTM4MDUxMDE2OTk2NywgWyJ0eHQsMiwwLDEsMCwxLDEsMzYiXSA9IDAuMTUzNjU2MjczNzM4MDE0MDUsIFsidHh0LDIsMCwxLDAsMSwxLDM3Il0gPSAwLjIxMzQzNjQwNjQxMTQ2MjQ0LCBbInR4dCwyLDAsMSwwLDEsMSwzOCJdID0gMC43NzYyODc0NjEyMjU5ODM4LCBbInR4dCwyLDAsMSwwLDEsMSwzOSJdID0gMC45MTQyMjg1NzA3MjM4NTQ0NCwgWyJ0eHQsMiwwLDEsMCwxLDEsNDAiXSA9IDAuMjcyMDU3ODE0MjEwNjY3NTUsIFsidHh0LDIsMCwxLDAsMSwxLDQxIl0gPSAwLjk3MjQyMDA4MzIxODUwNTkzLCBbInR4dCwyLDAsMSwwLDEsMSw0MiJdID0gMC4yOTY2MzgyMzI2MDk4OTIxOSwgWyJ0eHQsMiwwLDEsMCwxLDEsNDMiXSA9IDAuODM1NzkyNjQ0NjAwMTc3NzcsIFsidHh0LDIsMCwxLDAsMSwxLDQ0Il0gPSAwLjgzNTM0NDIzNTQyMTI2OTQ1LCBbInR4dCwyLDAsMSwwLDEsMSw0NSJdID0gMC4wNTc3Njg3MjQ1ODcyMjA3MSwgWyJ0eHQsMiwwLDEsMCwxLDEsNDYiXSA9IDAuMDQ2ODgzNDE5NzIzNTIwMzkyLCBbInR4dCwyLDAsMSwwLDEsMSw0NyJdID0gMC4xMzY4OTc0NzM4NzI2MjU4NSwgWyJ0eHQsMiwwLDEsMCwxLDEsNDgiXSA9IDAuNDQ5NzIwMjUxMTU0MjQ1OTYsIFsidHh0LDIsMCwxLDAsMSwxLDQ5Il0gPSAwLjc3Mjk3MjA0ODUzMDY0NjYsIFsidHh0LDIsMSwxLDAsMSwxLDAiXSA9IDAuNjU3ODQ0NTA4OTk2OTcsIFsidHh0LDIsMSwxLDAsMSwxLDEiXSA9IDAuNTgwNzkzNTc4MjQyOTM0MzIsIFsidHh0LDIsMSwxLDAsMSwxLDIiXSA9IDAuODUxMzAyODQ4ODMwNjEyNjksIFsidHh0LDIsMSwxLDAsMSwxLDMiXSA9IDAuNDI5MzIzMTI2Njg0NDk2MTMsIFsidHh0LDIsMSwxLDAsMSwxLDQiXSA9IDAuNzc0MDgxMDM2NjMzMjAxMTYsIFsidHh0LDIsMSwxLDAsMSwxLDUiXSA9IDAuNjMzNTU4MjY4NjQ5MDEzMSwgWyJ0eHQsMiwxLDEsMCwxLDEsNiJdID0gMC44OTEwNjE0MTc5MjU1OTMzNSwgWyJ0eHQsMiwxLDEsMCwxLDEsNyJdID0gMC45NDI5Mzg4NzcwNzgyNjkxOCwgWyJ0eHQsMiwxLDEsMCwxLDEsOCJdID0gMC4yNjQxNDgyNjcwMTMwMDA2NSwgWyJ0eHQsMiwxLDEsMCwxLDEsOSJdID0gMC42MTQ4MTI2MDE4MDA0Njg3MSwgWyJ0eHQsMiwxLDEsMCwxLDEsMTAiXSA9IDAuODU1NjUzODc0MDgzMzk3ODgsIFsidHh0LDIsMSwxLDAsMSwxLDExIl0gPSAwLjQxMDU1ODQzNDc2MTAzMTgyLCBbInR4dCwyLDEsMSwwLDEsMSwxMiJdID0gMC44NjczNDc0NDkwNDMwODM0NywgWyJ0eHQsMiwxLDEsMCwxLDEsMTMiXSA9IDAuMjE3NTY3NjYyMTIyMTAyMzIsIFsidHh0LDIsMSwxLDAsMSwxLDE0Il0gPSAwLjU1MzIyNzc4MDA2ODY0MDcxLCBbInR4dCwyLDEsMSwwLDEsMSwxNSJdID0gMC42MzU2Njc3Mzg3MTc3MzM4NSwgWyJ0eHQsMiwxLDEsMCwxLDEsMTYiXSA9IDAuMjM1NTgxMDEyMTU4Mzg1MDEsIFsidHh0LDIsMSwxLDAsMSwxLDE3Il0gPSAwLjAwODQzNzE5OTc3MDQzOTEwNzcsIFsidHh0LDIsMSwxLDAsMSwxLDE4Il0gPSAwLjk3NzY3MjA5MTY1NTg2MzQ0LCBbInR4dCwyLDEsMSwwLDEsMSwxOSJdID0gMC41OTY0NTU0ODEyMDQ4NDk3LCBbInR4dCwyLDEsMSwwLDEsMSwyMCJdID0gMC4wODU5Mzg2NTkwNDgzMzgxOTUsIFsidHh0LDIsMSwxLDAsMSwxLDIxIl0gPSAwLjA2MzUwOTI2ODQzODA5MDIzOCwgWyJ0eHQsMiwxLDEsMCwxLDEsMjIiXSA9IDAuNzQ0NTk0NTM1NTg0NjUyMzgsIFsidHh0LDIsMSwxLDAsMSwxLDIzIl0gPSAwLjQzMjEzNDUyNjA5NDIyMjIsIFsidHh0LDIsMSwxLDAsMSwxLDI0Il0gPSAwLjc0NDAxMTE2NzY1MzMxNzY1LCBbInR4dCwyLDEsMSwwLDEsMSwyNSJdID0gMC4wODc2Mzk3MDYwNjMwMTA3NDcsIFsidHh0LDIsMSwxLDAsMSwxLDI2Il0gPSAwLjQwMzI0NjcyMTAxNTIxMjg2LCBbInR4dCwyLDEsMSwwLDEsMSwyNyJdID0gMC4wOTk0NDE3NTA3NDQwOTU4OTEsIFsidHh0LDIsMSwxLDAsMSwxLDI4Il0gPSAwLjMxNDg3NTAwNDIzMDAzMTIzLCBbInR4dCwyLDEsMSwwLDEsMSwyOSJdID0gMC44ODMyODM3MzM2OTY4MTgwMSwgWyJ0eHQsMiwxLDEsMCwxLDEsMzAiXSA9IDAuNzAxNjQ3NDcxOTU4MTQ0MDMsIFsidHh0LDIsMSwxLDAsMSwxLDMxIl0gPSAwLjgzMjU4NDYzMTc3MDMwODczLCBbInR4dCwyLDEsMSwwLDEsMSwzMiJdID0gMC45NDMwOTIwNTUwNDEyNzY0NywgWyJ0eHQsMiwxLDEsMCwxLDEsMzMiXSA9IDAuNTQyMzg5OTQ5Mzg2NjUxNzUsIFsidHh0LDIsMSwxLDAsMSwxLDM0Il0gPSAwLjg5NDkyNTk3NDU5NjM5NDg5LCBbInR4dCwyLDEsMSwwLDEsMSwzNSJdID0gMC42MDg2ODIyMTA5NDQ1NzgxOSwgWyJ0eHQsMiwxLDEsMCwxLDEsMzYiXSA9IDAuMzkzNTQ3NTI2MTk2NTk1MDUsIFsidHh0LDIsMSwxLDAsMSwxLDM3Il0gPSAwLjM4NzgwNTk5MjUyNzQ5MjE1LCBbInR4dCwyLDEsMSwwLDEsMSwzOCJdID0gMC4wMzg0MzA4MjcxMTgzNDE3ODIsIFsidHh0LDIsMSwxLDAsMSwxLDM5Il0gPSAwLjA1MDE0NTQ3NzE4MTU1NTA0MywgWyJ0eHQsMiwxLDEsMCwxLDEsNDAiXSA9IDAuOTAyMzM1MjA5MzM5MDcyODUsIFsidHh0LDIsMSwxLDAsMSwxLDQxIl0gPSAwLjU5NzU0MDMxNjQ5MzEwODU3LCBbInR4dCwyLDEsMSwwLDEsMSw0MiJdID0gMC4xNjA0Nzg1MDI4OTg4MDY3MiwgWyJ0eHQsMiwxLDEsMCwxLDEsNDMiXSA9IDAuMTAwOTEzMDk0MzI5Mjg5NzQsIFsidHh0LDIsMSwxLDAsMSwxLDQ0Il0gPSAwLjM4ODUyODE2MjQwMjYzNTc3LCBbInR4dCwyLDEsMSwwLDEsMSw0NSJdID0gMC4xNzczMzMwMDc3MDY0MjUwMiwgWyJ0eHQsMiwxLDEsMCwxLDEsNDYiXSA9IDAuMTM0Nzk1NzYxNDk2MzExMTIsIFsidHh0LDIsMSwxLDAsMSwxLDQ3Il0gPSAwLjUxNjkwNDUxNTk2MTk5MDA1LCBbInR4dCwyLDEsMSwwLDEsMSw0OCJdID0gMC44NDQwMDgzOTkzMjg2MzQyNSwgWyJ0eHQsMiwxLDEsMCwxLDEsNDkiXSA9IDAuNzYxODg5NDgwMTE1OTY0MzYsIFsidHh0LDIsMiwxLDAsMSwxLDAiXSA9IDAuMzc4NjUxMjY5Njg5ODk4MjYsIFsidHh0LDIsMiwxLDAsMSwxLDEiXSA9IDAuOTI2NzA3MDY4NTAwNTQ5MTgsIFsidHh0LDIsMiwxLDAsMSwxLDIiXSA9IDAuMDg5NTcyODQ4MjcwMjMxODIsIFsidHh0LDIsMiwxLDAsMSwxLDMiXSA9IDAuNjYxODg5MzQ4OTcxMjE1NDMsIFsidHh0LDIsMiwxLDAsMSwxLDQiXSA9IDAuMDkzOTc4NzY5ODQwNjYwMjI2LCBbInR4dCwyLDIsMSwwLDEsMSw1Il0gPSAwLjczNDQ0NzgyOTY0NDAzNzU0LCBbInR4dCwyLDIsMSwwLDEsMSw2Il0gPSAwLjMzNTI4OTE3NTA3NDQyNDQ2LCBbInR4dCwyLDIsMSwwLDEsMSw3Il0gPSAwLjA0Mjg5OTY3MDEwNjk4NTAzMywgWyJ0eHQsMiwyLDEsMCwxLDEsOCJdID0gMC43MTU4MjQyMDE0MzIzMjIxNywgWyJ0eHQsMiwyLDEsMCwxLDEsOSJdID0gMC4xNTY1MTU4ODQ5ODY0NTAwOCwgWyJ0eHQsMiwyLDEsMCwxLDEsMTAiXSA9IDAuNDg0Mjk1NDE1Mzc0MjE1MTcsIFsidHh0LDIsMiwxLDAsMSwxLDExIl0gPSAwLjc3NDMwNzE2MTQzNzEyNDY0LCBbInR4dCwyLDIsMSwwLDEsMSwxMiJdID0gMC41MjU5NzIxODA1MDkyNDAzMywgWyJ0eHQsMiwyLDEsMCwxLDEsMTMiXSA9IDAuNTMzNjE4OTQzODM5NjYzMDIsIFsidHh0LDIsMiwxLDAsMSwxLDE0Il0gPSAwLjM5NDc1MTUzMTY5Nzk2NTczLCBbInR4dCwyLDIsMSwwLDEsMSwxNSJdID0gMC44NDQ0MDA3ODUxNDk5NTUzMSwgWyJ0eHQsMiwyLDEsMCwxLDEsMTYiXSA9IDAuNjQzNzUyMDE0Njg5NjI3MzksIFsidHh0LDIsMiwxLDAsMSwxLDE3Il0gPSAwLjIzMzcyMTQ4NjU0MTkyMDE1LCBbInR4dCwyLDIsMSwwLDEsMSwxOCJdID0gMC4xMjUzMzk5NTU5NTcxMDUxMiwgWyJ0eHQsMiwyLDEsMCwxLDEsMTkiXSA9IDAuNDk1OTY1NzMwODU5ODA0NjcsIFsidHh0LDIsMiwxLDAsMSwxLDIwIl0gPSAwLjQ5NjMyOTI3Mzc2MTQ5MzI3LCBbInR4dCwyLDIsMSwwLDEsMSwyMSJdID0gMC42MDQ5MDkyNjg0ODEzODk5MywgWyJ0eHQsMiwyLDEsMCwxLDEsMjIiXSA9IDAuMTQ2MjM1OTkwMjY5NDE5OTEsIFsidHh0LDIsMiwxLDAsMSwxLDIzIl0gPSAwLjkwOTI1MzM2Mjk1MTE4NjUzLCBbInR4dCwyLDIsMSwwLDEsMSwyNCJdID0gMC42OTcxMjIyNjUzODgyMzYwNywgWyJ0eHQsMiwyLDEsMCwxLDEsMjUiXSA9IDAuNzI0NjUyODM0MTIwMDA4OTIsIFsidHh0LDIsMiwxLDAsMSwxLDI2Il0gPSAwLjg5NTQ5MDU4NDkyNDcyNSwgWyJ0eHQsMiwyLDEsMCwxLDEsMjciXSA9IDAuOTk1MDYyNTEyMjA0ODAxOCwgWyJ0eHQsMiwyLDEsMCwxLDEsMjgiXSA9IDAuNDM2Mjk4OTQzNzE3NDU4MDMsIFsidHh0LDIsMiwxLDAsMSwxLDI5Il0gPSAwLjU1NTQwNzg5NDQzNjkwNDUzLCBbInR4dCwyLDIsMSwwLDEsMSwzMCJdID0gMC4xNzA0MjYwMTExMjMzMzM3OCwgWyJ0eHQsMiwyLDEsMCwxLDEsMzEiXSA9IDAuNTc0NDk0NjQ1MzczODQ5OTgsIFsidHh0LDIsMiwxLDAsMSwxLDMyIl0gPSAwLjkzMzE0NTE2MzA2OTI3ODE5LCBbInR4dCwyLDIsMSwwLDEsMSwzMyJdID0gMC43MzUwMTQzNjMxMjcwNTEzNywgWyJ0eHQsMiwyLDEsMCwxLDEsMzQiXSA9IDAuMzI2MjAzNzk2MjAwNjMwMTEsIFsidHh0LDIsMiwxLDAsMSwxLDM1Il0gPSAwLjA4ODQ0OTcxMzAxNTgyNTkzNywgWyJ0eHQsMiwyLDEsMCwxLDEsMzYiXSA9IDAuNjk0MDgwMzAwOTA0NDM0MDcsIFsidHh0LDIsMiwxLDAsMSwxLDM3Il0gPSAwLjQ0OTQ4MDgwODkyNDIzNTQ4LCBbInR4dCwyLDIsMSwwLDEsMSwzOCJdID0gMC43MDAyMTYyODM4NjE1NTE3NywgWyJ0eHQsMiwyLDEsMCwxLDEsMzkiXSA9IDAuODY4NjU2OTAxMTAxODM4MzUsIFsidHh0LDIsMiwxLDAsMSwxLDQwIl0gPSAwLjg5ODIwOTYzNTA2MTExNTUxLCBbInR4dCwyLDIsMSwwLDEsMSw0MSJdID0gMC4wOTYxNjIwOTQyOTIyNTIzMDksIFsidHh0LDIsMiwxLDAsMSwxLDQyIl0gPSAwLjg1NDM4NDczNjYyOTAyODcsIFsidHh0LDIsMiwxLDAsMSwxLDQzIl0gPSAwLjU4MzczMTYwNDA0MTAyOTg2LCBbInR4dCwyLDIsMSwwLDEsMSw0NCJdID0gMC40MjM0NDg0MDE0MjUwODcsIFsidHh0LDIsMiwxLDAsMSwxLDQ1Il0gPSAwLjQwNzk3NjI3Njk5NDY5MjQxLCBbInR4dCwyLDIsMSwwLDEsMSw0NiJdID0gMC4yMTAxODY4OTk2NzQyMjA4OCwgWyJ0eHQsMiwyLDEsMCwxLDEsNDciXSA9IDAuODE0NjIwMTk0MjYyNDg0ODksIFsidHh0LDIsMiwxLDAsMSwxLDQ4Il0gPSAwLjM3MTIxOTA3NTU3ODkzOTk2LCBbInR4dCwyLDIsMSwwLDEsMSw0OSJdID0gMC44NzQxNzU5NTQzNTkyMzEzNCwgWyJ0eHQsMiw0LDEsMCwxLDEsMCJdID0gMC4wMjM2NTI1MTc0Mjk3ODk5MSwgWyJ0eHQsMiw0LDEsMCwxLDEsMSJdID0gMC4zMDI4ODg3MTY0MTYzNjAyOCwgWyJ0eHQsMiw0LDEsMCwxLDEsMiJdID0gMC42NDU4MDMzNDAwMTIxNjQ1NSwgWyJ0eHQsMiw0LDEsMCwxLDEsMyJdID0gMC41ODc5NzY5ODY1OTY4NTY3MSwgWyJ0eHQsMiw0LDEsMCwxLDEsNCJdID0gMC4xOTU0ODg5MTIzNzIwODI4OCwgWyJ0eHQsMiw0LDEsMCwxLDEsNSJdID0gMC42OTM5NTAxNzkzODc3MjIzLCBbInR4dCwyLDQsMSwwLDEsMSw2Il0gPSAwLjY3NjY4NjI3NjkzMDMwMjE0LCBbInR4dCwyLDQsMSwwLDEsMSw3Il0gPSAwLjg0MzAyMDc3NDQ4NzM0NDgsIFsidHh0LDIsNCwxLDAsMSwxLDgiXSA9IDAuNDAxNTUzNzU4NzA5OTAwMjksIFsidHh0LDIsNCwxLDAsMSwxLDkiXSA9IDAuMzk4OTIyOTk1NjIyNzE5MzgsIFsidHh0LDIsNCwxLDAsMSwxLDEwIl0gPSAwLjg4NTYyMDM0OTA5Nzc5NDUyLCBbInR4dCwyLDQsMSwwLDEsMSwxMSJdID0gMC41MjAzNjQxNjYwODEyMzcwMywgWyJ0eHQsMiw0LDEsMCwxLDEsMTIiXSA9IDAuNjI4NzE0NTg4MjkwMzU0ODcsIFsidHh0LDIsNCwxLDAsMSwxLDEzIl0gPSAwLjY3MjE5ODA0NDkyMzczNTQ3LCBbInR4dCwyLDQsMSwwLDEsMSwxNCJdID0gMC44MzQ1ODg4MDkyOTcyOTE5NiwgWyJ0eHQsMiw0LDEsMCwxLDEsMTUiXSA9IDAuMzM1MDQ4NDkzMzgwNDE5NjQsIFsidHh0LDIsNCwxLDAsMSwxLDE2Il0gPSAwLjM3Mzc2NTc4NzE1MjkxMDc2LCBbInR4dCwyLDQsMSwwLDEsMSwxNyJdID0gMC40NjI0MDAzMzMyNjk3OTU2OCwgWyJ0eHQsMiw0LDEsMCwxLDEsMTgiXSA9IDAuMjUyMTA5ODM2Nzg2NDcwNDgsIFsidHh0LDIsNCwxLDAsMSwxLDE5Il0gPSAwLjI0NjIzNDY1NTc1NjMxNjIsIFsidHh0LDIsNCwxLDAsMSwxLDIwIl0gPSAwLjYwMTQ0MjMzMDgwNDAyOTUzLCBbInR4dCwyLDQsMSwwLDEsMSwyMSJdID0gMC4wMDYzNzk3NjA0NjE3MTUwNjcyLCBbInR4dCwyLDQsMSwwLDEsMSwyMiJdID0gMC4yMTQ0ODU5NDkyMjEzMjI5MSwgWyJ0eHQsMiw0LDEsMCwxLDEsMjMiXSA9IDAuNTgzMzA4Njg2NzQyODE5NDQsIFsidHh0LDIsNCwxLDAsMSwxLDI0Il0gPSAwLjE3NjkwOTIyNTY3NDYwMDMyLCBbInR4dCwyLDQsMSwwLDEsMSwyNSJdID0gMC42NjA1MzA3MzA5NDg0MDc0MiwgWyJ0eHQsMiw0LDEsMCwxLDEsMjYiXSA9IDAuNzMxMzk4OTMzOTYwNDE5NDQsIFsidHh0LDIsNCwxLDAsMSwxLDI3Il0gPSAwLjY4ODU2MDk1MjkwNjc5MjIsIFsidHh0LDIsNCwxLDAsMSwxLDI4Il0gPSAwLjE0MzI5NjM2OTkyNDU4NTA1LCBbInR4dCwyLDQsMSwwLDEsMSwyOSJdID0gMC4wMDM2OTU2NjM4MjkwOTAxNDU2LCBbInR4dCwyLDQsMSwwLDEsMSwzMCJdID0gMC4xNzc5NTgxMDY4NjY0ODMwNiwgWyJ0eHQsMiw0LDEsMCwxLDEsMzEiXSA9IDAuMzEzODQwODIxNzQzMjkyNjQsIFsidHh0LDIsNCwxLDAsMSwxLDMyIl0gPSAwLjY3OTU3MjQ5Nzg5MTE4OTQ1LCBbInR4dCwyLDQsMSwwLDEsMSwzMyJdID0gMC4xNjgwODI3OTIyNTcyOTQ3MiwgWyJ0eHQsMiw0LDEsMCwxLDEsMzQiXSA9IDAuODA3MjgzODkwNjIxNDI3NjksIFsidHh0LDIsNCwxLDAsMSwxLDM1Il0gPSAwLjY1MDI0MDU0NDMzNTQyMTMzLCBbInR4dCwyLDQsMSwwLDEsMSwzNiJdID0gMC4yNDUwMDM2OTkyMTQ1MDcwNCwgWyJ0eHQsMiw0LDEsMCwxLDEsMzciXSA9IDAuMjI0ODg4NTU3NDU2MDY2ODQsIFsidHh0LDIsNCwxLDAsMSwxLDM4Il0gPSAwLjYwMTgwODE1NjkyMjE2MDUsIFsidHh0LDIsNCwxLDAsMSwxLDM5Il0gPSAwLjk4NzEyNjM3OTgzMjgyNzE0LCBbInR4dCwyLDQsMSwwLDEsMSw0MCJdID0gMC40MzE3MTQ0MjI3MzIxNTUyMSwgWyJ0eHQsMiw0LDEsMCwxLDEsNDEiXSA9IDAuMjM1NjEzMDUzMjM0ODEzMDcsIFsidHh0LDIsNCwxLDAsMSwxLDQyIl0gPSAwLjQxNTYyOTk4OTE2NzkwODI4LCBbInR4dCwyLDQsMSwwLDEsMSw0MyJdID0gMC45MTg1NTg3MjM1NDU0NzQ0MSwgWyJ0eHQsMiw0LDEsMCwxLDEsNDQiXSA9IDAuNzkyMzQ1NTc1OTAzNDc2NzYsIFsidHh0LDIsNCwxLDAsMSwxLDQ1Il0gPSAwLjcwMTE1ODQ1ODM2MDIwNTA3LCBbInR4dCwyLDQsMSwwLDEsMSw0NiJdID0gMC42MzM2Mzc3ODcwNDExNjYwMiwgWyJ0eHQsMiw0LDEsMCwxLDEsNDciXSA9IDAuNTQxMjE3MDUwNDU2MDg4NywgWyJ0eHQsMiw0LDEsMCwxLDEsNDgiXSA9IDAuNTM4NzcyMDIwNDYyNTg1NDMsIFsidHh0LDIsNCwxLDAsMSwxLDQ5Il0gPSAwLjk0Mzg0Mzg2MDA2MDk4MzMxLCBbInR4dCwyLDgsMSwwLDEsMSwwIl0gPSAwLjA4Njk1NTc5ODQzNzE1NDUwOCwgWyJ0eHQsMiw4LDEsMCwxLDEsMSJdID0gMC45NjY0OTA3MDQwMzMyMjQ2OCwgWyJ0eHQsMiw4LDEsMCwxLDEsMiJdID0gMC4wMzcwMTkxNzgyNjU2MDkwNzYsIFsidHh0LDIsOCwxLDAsMSwxLDMiXSA9IDAuMDQzMjMxOTc1ODMxNzczODUsIFsidHh0LDIsOCwxLDAsMSwxLDQiXSA9IDAuMjY2NDE2MDQ5NDc5NDUyOTcsIFsidHh0LDIsOCwxLDAsMSwxLDUiXSA9IDAuMTI4NTE2NDUzNTM0NjE0MzgsIFsidHh0LDIsOCwxLDAsMSwxLDYiXSA9IDAuMjA2MzkxODQ0MzI2Mzk4NTcsIFsidHh0LDIsOCwxLDAsMSwxLDciXSA9IDAuMzM3Nzk2MDkwNTE2ODE3OCwgWyJ0eHQsMiw4LDEsMCwxLDEsOCJdID0gMC40NTkxMDYzMTIxNzEyMzQ2NSwgWyJ0eHQsMiw4LDEsMCwxLDEsOSJdID0gMC40MDIyMjAwNzYxODY5ODY3NCwgWyJ0eHQsMiw4LDEsMCwxLDEsMTAiXSA9IDAuNjE3MDYxNjgwNDgwMDAzNTQsIFsidHh0LDIsOCwxLDAsMSwxLDExIl0gPSAwLjY2MDMyMDU0NjI1NzM1MDkzLCBbInR4dCwyLDgsMSwwLDEsMSwxMiJdID0gMC45NzM5MzgwNDIzMjQ5OTEwNCwgWyJ0eHQsMiw4LDEsMCwxLDEsMTMiXSA9IDAuNzY0NTM4MjIzMjA2MTcwMzgsIFsidHh0LDIsOCwxLDAsMSwxLDE0Il0gPSAwLjM0MTE1NDc1OTUyNjcxNTQ4LCBbInR4dCwyLDgsMSwwLDEsMSwxNSJdID0gMC41Njg3NDIyMjY4ODE2NTU1NCwgWyJ0eHQsMiw4LDEsMCwxLDEsMTYiXSA9IDAuNDIyMDA1MjE3ODk2OTE3ODEsIFsidHh0LDIsOCwxLDAsMSwxLDE3Il0gPSAwLjI2NDY3NTMzNDUyOTMxOTM1LCBbInR4dCwyLDgsMSwwLDEsMSwxOCJdID0gMC4zOTc2MjcwNjc4NjMwMTExNiwgWyJ0eHQsMiw4LDEsMCwxLDEsMTkiXSA9IDAuMzQ0NzA3ODMyNDM4MjgyODUsIFsidHh0LDIsOCwxLDAsMSwxLDIwIl0gPSAwLjY1OTYzMDM5MjU5MzI0NjMsIFsidHh0LDIsOCwxLDAsMSwxLDIxIl0gPSAwLjMzMjA2NTA1NTc4NjE1Njg2LCBbInR4dCwyLDgsMSwwLDEsMSwyMiJdID0gMC4wMzUxOTgyNjIwMzgwMjQyMzEsIFsidHh0LDIsOCwxLDAsMSwxLDIzIl0gPSAwLjgyMzY4NTgyMTI4MzI5MjQ5LCBbInR4dCwyLDgsMSwwLDEsMSwyNCJdID0gMC4yNTAxMzcyMjYzODg1MzQ2NCwgWyJ0eHQsMiw4LDEsMCwxLDEsMjUiXSA9IDAuODg2NTIxOTcxNjIxOTU2NTYsIFsidHh0LDIsOCwxLDAsMSwxLDI2Il0gPSAwLjI0OTY1MTYzMjgxNTE3NTIyLCBbInR4dCwyLDgsMSwwLDEsMSwyNyJdID0gMC43NjQ5NDAwMTIzNDY3MjgyNiwgWyJ0eHQsMiw4LDEsMCwxLDEsMjgiXSA9IDAuNjkzNzczOTEwNzE5NzE0NSwgWyJ0eHQsMiw4LDEsMCwxLDEsMjkiXSA9IDAuODE3OTU0ODIxODQ1ODg2MDgsIFsidHh0LDIsOCwxLDAsMSwxLDMwIl0gPSAwLjY1MDAxNDUyMjkzMDYzMzc4LCBbInR4dCwyLDgsMSwwLDEsMSwzMSJdID0gMC4wOTM1NTQzOTg4MDk4OTkyNDIsIFsidHh0LDIsOCwxLDAsMSwxLDMyIl0gPSAwLjQxMDc3NjY3MDcwMjkwNTkxLCBbInR4dCwyLDgsMSwwLDEsMSwzMyJdID0gMC4xNTU0NzQ0MjI5MDY4NjgzLCBbInR4dCwyLDgsMSwwLDEsMSwzNCJdID0gMC42MTgxMzczMjgzNjM2NzY2MywgWyJ0eHQsMiw4LDEsMCwxLDEsMzUiXSA9IDAuOTU2MDY3MTA0MDI5NzI3MjgsIFsidHh0LDIsOCwxLDAsMSwxLDM2Il0gPSAwLjMzNDQ4NDAzMzUyODQyNzgyLCBbInR4dCwyLDgsMSwwLDEsMSwzNyJdID0gMC4yODk3ODA2NTU2NTE1MDQ3OSwgWyJ0eHQsMiw4LDEsMCwxLDEsMzgiXSA9IDAuNDU2MDczMTg0ODIwMTMxMzcsIFsidHh0LDIsOCwxLDAsMSwxLDM5Il0gPSAwLjgxMzcwMTkxMDk3NzI2ODUyLCBbInR4dCwyLDgsMSwwLDEsMSw0MCJdID0gMC44NDk0NzY2MTEzMTU2MTI5MiwgWyJ0eHQsMiw4LDEsMCwxLDEsNDEiXSA9IDAuNTAzOTk1NDAwNTQ3MzEzNzMsIFsidHh0LDIsOCwxLDAsMSwxLDQyIl0gPSAwLjI2NzkzODg1MzM2ODE2MTQ4LCBbInR4dCwyLDgsMSwwLDEsMSw0MyJdID0gMC44MTAxNDQ0NDMyMDMyODM2LCBbInR4dCwyLDgsMSwwLDEsMSw0NCJdID0gMC44NTgyODU4NDMxNDkwNjU0MiwgWyJ0eHQsMiw4LDEsMCwxLDEsNDUiXSA9IDAuMzk5MTAyMjA3Mzg1NjY3MzcsIFsidHh0LDIsOCwxLDAsMSwxLDQ2Il0gPSAwLjg3MDk0NzYxOTY1MDMyNjc0LCBbInR4dCwyLDgsMSwwLDEsMSw0NyJdID0gMC40MTA5NjM3ODI2MzUwODkzNywgWyJ0eHQsMiw4LDEsMCwxLDEsNDgiXSA9IDAuNzA0NjE2MTM0OTE3NDAyMDUsIFsidHh0LDIsOCwxLDAsMSwxLDQ5Il0gPSAwLjM1ODEwNzg4MjQ3MzUyMDY2LCBbInR4dCwzLDEsMSwwLDEsMSwwIl0gPSAwLjY1NTcxOTI4Nzk1OTAyNDc5LCBbInR4dCwzLDEsMSwwLDEsMSwxIl0gPSAwLjU2NzE5OTE2MzY5NjkzMjY4LCBbInR4dCwzLDEsMSwwLDEsMSwyIl0gPSAwLjgwODM4NDQwNTgxNTE4OSwgWyJ0eHQsMywxLDEsMCwxLDEsMyJdID0gMC41NDYwNTg3NjU4NTM0MzcyNywgWyJ0eHQsMywxLDEsMCwxLDEsNCJdID0gMC43MTQ1MzQyNDg4MjE4MDE4MywgWyJ0eHQsMywxLDEsMCwxLDEsNSJdID0gMC4xNDI5OTk4Njc4NjU4NDI4NCwgWyJ0eHQsMywxLDEsMCwxLDEsNiJdID0gMC40ODM3MzA2NTM5ODQxNTE3MiwgWyJ0eHQsMywxLDEsMCwxLDEsNyJdID0gMC44NTIyODczMTMzNjkxNzc3MywgWyJ0eHQsMywxLDEsMCwxLDEsOCJdID0gMC4zMzcyODUzNjIxNTc4NDMzMywgWyJ0eHQsMywxLDEsMCwxLDEsOSJdID0gMC43MTkyNTQwMzIyMjI0NDA3OCwgWyJ0eHQsMywxLDEsMCwxLDEsMTAiXSA9IDAuMTkwMzI5NDE5NTEzMTY1OTUsIFsidHh0LDMsMSwxLDAsMSwxLDExIl0gPSAwLjY2Njk0NjY5NzQ1NTk1NDgxLCBbInR4dCwzLDEsMSwwLDEsMSwxMiJdID0gMC44NDE5MjY3MDkyOTE2ODY2NywgWyJ0eHQsMywxLDEsMCwxLDEsMTMiXSA9IDAuMzI1ODc1MzY0NDQyMDUzMzQsIFsidHh0LDMsMSwxLDAsMSwxLDE0Il0gPSAwLjAwMzM0Mjc0MTU1NzQ2MjcyNTEsIFsidHh0LDMsMSwxLDAsMSwxLDE1Il0gPSAwLjY0ODg0MDEzMjE3NTk4ODAyLCBbInR4dCwzLDEsMSwwLDEsMSwxNiJdID0gMC4xMDIzNTE4NTk1NDU5MDE4NywgWyJ0eHQsMywxLDEsMCwxLDEsMTciXSA9IDAuODA5OTYwMjE1NjQ4MTE0MjcsIFsidHh0LDMsMSwxLDAsMSwxLDE4Il0gPSAwLjc1MjY5NTE1Njg2MTg3MjQ5LCBbInR4dCwzLDEsMSwwLDEsMSwxOSJdID0gMC4zMTI2MTQ0MDk4MTg3OTE3NCwgWyJ0eHQsMywxLDEsMCwxLDEsMjAiXSA9IDAuODUzNzE4NDcxMzc3MDI5MTYsIFsidHh0LDMsMSwxLDAsMSwxLDIxIl0gPSAwLjI0MTQ4NDExOTYyNjg2MDg5LCBbInR4dCwzLDEsMSwwLDEsMSwyMiJdID0gMC45MTc4ODc3MTg1NTIyNjE1OSwgWyJ0eHQsMywxLDEsMCwxLDEsMjMiXSA9IDAuMzg5OTQ1Njg3MDgxODU4MDYsIFsidHh0LDMsMSwxLDAsMSwxLDI0Il0gPSAwLjU0NTk5MDUzNjM4OTgzMTQyLCBbInR4dCwzLDEsMSwwLDEsMSwyNSJdID0gMC45NzU1ODkyNjU4ODYzNDI3NiwgWyJ0eHQsMywxLDEsMCwxLDEsMjYiXSA9IDAuNTk3MDMzNjE2ODAxOTM2MTIsIFsidHh0LDMsMSwxLDAsMSwxLDI3Il0gPSAwLjEwNjQ2NDQ4NTk3NTk5MzM0LCBbInR4dCwzLDEsMSwwLDEsMSwyOCJdID0gMC41NDk2NzkxNTA1MTY0MTMzNiwgWyJ0eHQsMywxLDEsMCwxLDEsMjkiXSA9IDAuOTU2NjU1MjcyMTIzNDI3NiwgWyJ0eHQsMywxLDEsMCwxLDEsMzAiXSA9IDAuMTE3OTY2ODU2Mjk4NDk0NTcsIFsidHh0LDMsMSwxLDAsMSwxLDMxIl0gPSAwLjM5MjQxMjM5NzIyNzgwMTA4LCBbInR4dCwzLDEsMSwwLDEsMSwzMiJdID0gMC41NTYwMTA0MzYwODU4MTc1NywgWyJ0eHQsMywxLDEsMCwxLDEsMzMiXSA9IDAuMTQ5MzkwMDE3NDM1MjkxNzksIFsidHh0LDMsMSwxLDAsMSwxLDM0Il0gPSAwLjU2ODk5MDM0Mzc2Njc0MzYyLCBbInR4dCwzLDEsMSwwLDEsMSwzNSJdID0gMC4wMzU4MTc0NTc2Nzk0NzY3NSwgWyJ0eHQsMywxLDEsMCwxLDEsMzYiXSA9IDAuMDk3NjUyNTkyMDg3MzYxNDM0LCBbInR4dCwzLDEsMSwwLDEsMSwzNyJdID0gMC44MDIyODY4ODc1MjkxNTE1NiwgWyJ0eHQsMywxLDEsMCwxLDEsMzgiXSA9IDAuMjU0NjIzODU0MDU5NTY5NTUsIFsidHh0LDMsMSwxLDAsMSwxLDM5Il0gPSAwLjE1OTc4MDc2NTczNzUwMjMzLCBbInR4dCwzLDEsMSwwLDEsMSw0MCJdID0gMC43ODEwOTc2NTE5Mzg4MzE3NCwgWyJ0eHQsMywxLDEsMCwxLDEsNDEiXSA9IDAuNzUwOTkwOTIwNzQzNzAyNDQsIFsidHh0LDMsMSwxLDAsMSwxLDQyIl0gPSAwLjM1NDk2ODM4NDY0MjI3MDQzLCBbInR4dCwzLDEsMSwwLDEsMSw0MyJdID0gMC43NjU2NTE1Mzg1MTY5NDg4OSwgWyJ0eHQsMywxLDEsMCwxLDEsNDQiXSA9IDAuMjg2ODQ0Mzg2NDAzNjg3NTksIFsidHh0LDMsMSwxLDAsMSwxLDQ1Il0gPSAwLjcwNTgxMTkxOTU1NjY2ODMzLCBbInR4dCwzLDEsMSwwLDEsMSw0NiJdID0gMC4zMDI4OTQ2Njg5MzA4MjQyOCwgWyJ0eHQsMywxLDEsMCwxLDEsNDciXSA9IDAuNjgxNTc2OTA3MjE2NzAzMjgsIFsidHh0LDMsMSwxLDAsMSwxLDQ4Il0gPSAwLjE3Nzc5OTM2MjM1MjQzOTY1LCBbInR4dCwzLDEsMSwwLDEsMSw0OSJdID0gMC44NDc4NTQwMDkwNTQ2NjYyNCwgWyJ0eHQsMyw0LDEsMCwxLDEsMCJdID0gMC4wMjYyNzY4Nzk0NjE2Nzc0NDksIFsidHh0LDMsNCwxLDAsMSwxLDEiXSA9IDAuNjM0MjM4MzE1MTI0MjY0NTQsIFsidHh0LDMsNCwxLDAsMSwxLDIiXSA9IDAuNjg3MDY5OTg1NTQyNzYyNjYsIFsidHh0LDMsNCwxLDAsMSwxLDMiXSA9IDAuNzQ1NTg3OTMyNjAxNjM2MTQsIFsidHh0LDMsNCwxLDAsMSwxLDQiXSA9IDAuNjI1Njc0MjMwOTk2MTc2NjksIFsidHh0LDMsNCwxLDAsMSwxLDUiXSA9IDAuNTY3MjkwOTYwOTQwOTU4ODgsIFsidHh0LDMsNCwxLDAsMSwxLDYiXSA9IDAuNTA0NzI1MDg0OTI0MjYyMzgsIFsidHh0LDMsNCwxLDAsMSwxLDciXSA9IDAuNTAxNzE3ODE3NjQ0MTY4MTIsIFsidHh0LDMsNCwxLDAsMSwxLDgiXSA9IDAuNjM1ODA1MzgyODIwNzM5MjgsIFsidHh0LDMsNCwxLDAsMSwxLDkiXSA9IDAuMTE2NjQ1NDQzNjQyNzA3NTcsIFsidHh0LDMsNCwxLDAsMSwxLDEwIl0gPSAwLjE2MDQ4Mjc4NjM5NDEzNTYsIFsidHh0LDMsNCwxLDAsMSwxLDExIl0gPSAwLjU3MTAzMDY3MTQzMzI4MTU3LCBbInR4dCwzLDQsMSwwLDEsMSwxMiJdID0gMC4yMDEwMDI1NzgyNTA4Mjk1NywgWyJ0eHQsMyw0LDEsMCwxLDEsMTMiXSA9IDAuOTYyNjc1NTAxODkxOTQwNCwgWyJ0eHQsMyw0LDEsMCwxLDEsMTQiXSA9IDAuODg2MDU5MTM3ODkxMzA3ODYsIFsidHh0LDMsNCwxLDAsMSwxLDE1Il0gPSAwLjk0ODIyNDY2MDYxMzk5MTAyLCBbInR4dCwzLDQsMSwwLDEsMSwxNiJdID0gMC42NzI2MDEwNTE5NTc3MjAzNSwgWyJ0eHQsMyw0LDEsMCwxLDEsMTciXSA9IDAuMjA2MTc2NjQ3ODQxMTU1MywgWyJ0eHQsMyw0LDEsMCwxLDEsMTgiXSA9IDAuMjA1ODE0NjI3MTk2MTY2NzIsIFsidHh0LDMsNCwxLDAsMSwxLDE5Il0gPSAwLjk5NTgxNzY5MDA2NTAzOTk1LCBbInR4dCwzLDQsMSwwLDEsMSwyMCJdID0gMC44NjAzMzAzNzA1MjI5MjMyNywgWyJ0eHQsMyw0LDEsMCwxLDEsMjEiXSA9IDAuMjIzMjAxMzQ2OTczMTI0ODgsIFsidHh0LDMsNCwxLDAsMSwxLDIyIl0gPSAwLjExMDM4MTA0ODY3Mzg5MTIsIFsidHh0LDMsNCwxLDAsMSwxLDIzIl0gPSAwLjY2NDM4NTcwOTQ4NzY1OTI5LCBbInR4dCwzLDQsMSwwLDEsMSwyNCJdID0gMC43MjU5MTg5MjExNTEwMjczLCBbInR4dCwzLDQsMSwwLDEsMSwyNSJdID0gMC41MDAzOTM1NzE4OTA1MjAzNiwgWyJ0eHQsMyw0LDEsMCwxLDEsMjYiXSA9IDAuNjE3OTE2Nzc3MzMzMTU2MiwgWyJ0eHQsMyw0LDEsMCwxLDEsMjciXSA9IDAuNzYzODc3MDU0MjEwNjIyNTcsIFsidHh0LDMsNCwxLDAsMSwxLDI4Il0gPSAwLjM5MTk2MDMxODg5ODg2OTE4LCBbInR4dCwzLDQsMSwwLDEsMSwyOSJdID0gMC45Mjk4NTI4NDg5MTQ3NDMwNywgWyJ0eHQsMyw0LDEsMCwxLDEsMzAiXSA9IDAuNjYxMDcwMzI5NjQyNTA2MjMsIFsidHh0LDMsNCwxLDAsMSwxLDMxIl0gPSAwLjMyMjc0NDAyNzAyMTMxODY2LCBbInR4dCwzLDQsMSwwLDEsMSwzMiJdID0gMC4yOTA0NzM1NjY3NjI1NzMzLCBbInR4dCwzLDQsMSwwLDEsMSwzMyJdID0gMC41MDI2NzcwMjM5NjI0MzM4NiwgWyJ0eHQsMyw0LDEsMCwxLDEsMzQiXSA9IDAuMDQ3NDIxNjczODY2MTcyMTMyLCBbInR4dCwzLDQsMSwwLDEsMSwzNSJdID0gMC4yNDM0MjU3ODA4NjEyMDE5MiwgWyJ0eHQsMyw0LDEsMCwxLDEsMzYiXSA9IDAuNjYxNzgxMTgwMTc5MDExLCBbInR4dCwzLDQsMSwwLDEsMSwzNyJdID0gMC41ODc1MzA5MDQwNzA1OTMzOCwgWyJ0eHQsMyw0LDEsMCwxLDEsMzgiXSA9IDAuMDIxMjgxOTA2NTQ2MDA1NzAyLCBbInR4dCwzLDQsMSwwLDEsMSwzOSJdID0gMC44MjUwNDUwNTk0NTE0NjE1NiwgWyJ0eHQsMyw0LDEsMCwxLDEsNDAiXSA9IDAuMDM5MDY3ODkxNjIzMTExOTcyLCBbInR4dCwzLDQsMSwwLDEsMSw0MSJdID0gMC4zMjE5NDM4NTkyMzE4ODk1MSwgWyJ0eHQsMyw0LDEsMCwxLDEsNDIiXSA9IDAuMDc5OTQzMTQ5NjE5NzY1MzQxLCBbInR4dCwzLDQsMSwwLDEsMSw0MyJdID0gMC43MjMzMzczMDk0MjAxMzMxOSwgWyJ0eHQsMyw0LDEsMCwxLDEsNDQiXSA9IDAuMzU5MTIzMzk2OTc2MDkyMywgWyJ0eHQsMyw0LDEsMCwxLDEsNDUiXSA9IDAuOTAwNDk5NTE2MzI4MjkwNTEsIFsidHh0LDMsNCwxLDAsMSwxLDQ2Il0gPSAwLjYyNDU3OTg1ODgzMjMwOTcxLCBbInR4dCwzLDQsMSwwLDEsMSw0NyJdID0gMC42NDY1NjU4ODc2NjcxMzI1MiwgWyJ0eHQsMyw0LDEsMCwxLDEsNDgiXSA9IDAuNzM5MzgwNjU3OTUxMDQ5MzUsIFsidHh0LDMsNCwxLDAsMSwxLDQ5Il0gPSAwLjgzNzQ3MTkzNDYzMjY0MTE0LCBbInR4dCwzLDgsMSwwLDEsMSwwIl0gPSAwLjEyNzAzNTEzNjI4NzE4MTMzLCBbInR4dCwzLDgsMSwwLDEsMSwxIl0gPSAwLjg5NjY1MjM2OTA3Mjc4NywgWyJ0eHQsMyw4LDEsMCwxLDEsMiJdID0gMC43NjQ2ODMxMTY4Mjg2MjAxMSwgWyJ0eHQsMyw4LDEsMCwxLDEsMyJdID0gMC4zMDE0NTUzNzY2NTkwMjg0NCwgWyJ0eHQsMyw4LDEsMCwxLDEsNCJdID0gMC4xMzExOTU4NTQ2MjY4NzU4OSwgWyJ0eHQsMyw4LDEsMCwxLDEsNSJdID0gMC4yNzc4NTM2Nzk0MDQyMTgzNSwgWyJ0eHQsMyw4LDEsMCwxLDEsNiJdID0gMC42NjQ4MDA1NjkxNzYyODQ2MSwgWyJ0eHQsMyw4LDEsMCwxLDEsNyJdID0gMC44OTU3Mjc3NTM2MzIyMjkyMywgWyJ0eHQsMyw4LDEsMCwxLDEsOCJdID0gMC40OTQ3MDU0Nzc4MjUyMzk1NSwgWyJ0eHQsMyw4LDEsMCwxLDEsOSJdID0gMC4yNDg4NzM5OTM0ODc4OTMxOSwgWyJ0eHQsMyw4LDEsMCwxLDEsMTAiXSA9IDAuMzMzMTMwODA0ODA0MzI5NTUsIFsidHh0LDMsOCwxLDAsMSwxLDExIl0gPSAwLjc2NjYyNzA1Njg4MTkwMDkxLCBbInR4dCwzLDgsMSwwLDEsMSwxMiJdID0gMC4zMjEyNjMxOTc4NTM5ODA4MywgWyJ0eHQsMyw4LDEsMCwxLDEsMTMiXSA9IDAuMTA2MDc2MDcyMDM1NDQ2NzgsIFsidHh0LDMsOCwxLDAsMSwxLDE0Il0gPSAwLjU5MzEyMDc1ODIzNTk1MTIzLCBbInR4dCwzLDgsMSwwLDEsMSwxNSJdID0gMC4wNjE2MDYwMTA2MjY2NjM1OTksIFsidHh0LDMsOCwxLDAsMSwxLDE2Il0gPSAwLjI1MzkwNTM2NDMwNTc4ODQ3LCBbInR4dCwzLDgsMSwwLDEsMSwxNyJdID0gMC40NjE5MDU5MTI3NTI4MjIsIFsidHh0LDMsOCwxLDAsMSwxLDE4Il0gPSAwLjA1NDQ1MzUxMzI4NzkwMTM3OCwgWyJ0eHQsMyw4LDEsMCwxLDEsMTkiXSA9IDAuNTUzMjA4MzMyMDE2OTcxMzksIFsidHh0LDMsOCwxLDAsMSwxLDIwIl0gPSAwLjI1ODc3Njc3MzA4MzY2MDMyLCBbInR4dCwzLDgsMSwwLDEsMSwyMSJdID0gMC4zNTYxNDc2NjI4MDM3MDcyNCwgWyJ0eHQsMyw4LDEsMCwxLDEsMjIiXSA9IDAuODk0MzA4ODI4OTk2OTE2MTEsIFsidHh0LDMsOCwxLDAsMSwxLDIzIl0gPSAwLjYxOTYyODcyNjMxMzU5NTU2LCBbInR4dCwzLDgsMSwwLDEsMSwyNCJdID0gMC44ODM5NzIwODI1ODU2NjA1MSwgWyJ0eHQsMyw4LDEsMCwxLDEsMjUiXSA9IDAuNTI5NjgxODgyOTgwMTc0MTYsIFsidHh0LDMsOCwxLDAsMSwxLDI2Il0gPSAwLjc0MjY2MDMyMTAzODYwNzEzLCBbInR4dCwzLDgsMSwwLDEsMSwyNyJdID0gMC45MzM1NjIzNDkxOTAzNTY4NSwgWyJ0eHQsMyw4LDEsMCwxLDEsMjgiXSA9IDAuMjk1MDcyODk4Mzk2NDE2MTUsIFsidHh0LDMsOCwxLDAsMSwxLDI5Il0gPSAwLjQ3NTU1NzIxMjMzNTAxMjY5LCBbInR4dCwzLDgsMSwwLDEsMSwzMCJdID0gMC4xOTk2OTI0ODkwMTQxMjgwNiwgWyJ0eHQsMyw4LDEsMCwxLDEsMzEiXSA9IDAuMjM5Mjg2NTU2MjQwMjMyNDMsIFsidHh0LDMsOCwxLDAsMSwxLDMyIl0gPSAwLjg2MTIyNDA5NDc2NDI5OTk1LCBbInR4dCwzLDgsMSwwLDEsMSwzMyJdID0gMC4wMTk4MDQ5MjUzMjU1ODA5OCwgWyJ0eHQsMyw4LDEsMCwxLDEsMzQiXSA9IDAuOTc3NDA3MTI1OTE3MjA3MjQsIFsidHh0LDMsOCwxLDAsMSwxLDM1Il0gPSAwLjYyMzgzOTU0MjkwNDkyMDM5LCBbInR4dCwzLDgsMSwwLDEsMSwzNiJdID0gMC4xMDE4MTE0NDg3NjI1MDIzNywgWyJ0eHQsMyw4LDEsMCwxLDEsMzciXSA9IDAuMTI1ODE3MDQ4NTE5MzgyMzYsIFsidHh0LDMsOCwxLDAsMSwxLDM4Il0gPSAwLjg0NjQ1NDQwNTcxOTM5NDc5LCBbInR4dCwzLDgsMSwwLDEsMSwzOSJdID0gMC42MTk3OTk4Mzk2MTIyMTgxOCwgWyJ0eHQsMyw4LDEsMCwxLDEsNDAiXSA9IDAuNzg4MDQ4ODI5MTE3MDg4MTgsIFsidHh0LDMsOCwxLDAsMSwxLDQxIl0gPSAwLjQ2Mzk4ODA3MjM4OTEwNTg5LCBbInR4dCwzLDgsMSwwLDEsMSw0MiJdID0gMC40NDk1NjUxNjQ0MTcwMDM3OCwgWyJ0eHQsMyw4LDEsMCwxLDEsNDMiXSA9IDAuNDQ5NDYyODU1NTcwNzQ0NSwgWyJ0eHQsMyw4LDEsMCwxLDEsNDQiXSA9IDAuOTczOTc5OTIxNjkxMzU1ODMsIFsidHh0LDMsOCwxLDAsMSwxLDQ1Il0gPSAwLjEyMDg3MzYwMjQ1MDA4MjcyLCBbInR4dCwzLDgsMSwwLDEsMSw0NiJdID0gMC4xNzkyNTE1OTYwOTY2Mjc0NCwgWyJ0eHQsMyw4LDEsMCwxLDEsNDciXSA9IDAuMDU1ODM3MDk4Njg3NjkyODIxLCBbInR4dCwzLDgsMSwwLDEsMSw0OCJdID0gMC43MjY0MDYxODMxNjY3MTMyNCwgWyJ0eHQsMyw4LDEsMCwxLDEsNDkiXSA9IDAuNjcyNDU3Mjg0MjYzNzgyMzcsIFsidHh0LDQsNCwxLDAsMSwxLDAiXSA9IDAuMzExNDk4NDU3Mjg4NjA2ODEsIFsidHh0LDQsNCwxLDAsMSwxLDEiXSA9IDAuMDk0NzM4MTQyODA1NjEyNDM1LCBbInR4dCw0LDQsMSwwLDEsMSwyIl0gPSAwLjczMDYxNjM2Nzg3NzAwNTQ2LCBbInR4dCw0LDQsMSwwLDEsMSwzIl0gPSAwLjc4NzUwMjM2NjA2NDA5MjMsIFsidHh0LDQsNCwxLDAsMSwxLDQiXSA9IDAuNjQwNzY1MDQxMTkyNDIyMTcsIFsidHh0LDQsNCwxLDAsMSwxLDUiXSA9IDAuMDQ2NDcxNzYzMTQwNzcxMTcyLCBbInR4dCw0LDQsMSwwLDEsMSw2Il0gPSAwLjMxMTgwNDIxOTQ1ODc1NjY5LCBbInR4dCw0LDQsMSwwLDEsMSw3Il0gPSAwLjY2MzY0NDQzMDg3NTc4NTg0LCBbInR4dCw0LDQsMSwwLDEsMSw4Il0gPSAwLjQ2ODEzOTUzNjE0MDc5Mjk2LCBbInR4dCw0LDQsMSwwLDEsMSw5Il0gPSAwLjg5NTMxMzY2NjY5MjEwNzMyLCBbInR4dCw0LDQsMSwwLDEsMSwxMCJdID0gMC44MzI3NjkwNjkxMDkwMzEwMywgWyJ0eHQsNCw0LDEsMCwxLDEsMTEiXSA9IDAuODg3MjY1MjU2Njk0NzEyMTIsIFsidHh0LDQsNCwxLDAsMSwxLDEyIl0gPSAwLjY4MDA3Njg2MzY0MTYzNTIyLCBbInR4dCw0LDQsMSwwLDEsMSwxMyJdID0gMC4yNjgwNTk2MzkwODg2NDg5NCwgWyJ0eHQsNCw0LDEsMCwxLDEsMTQiXSA9IDAuMjM4OTE5OTYwMTIzNTMyMTIsIFsidHh0LDQsNCwxLDAsMSwxLDE1Il0gPSAwLjMxNzU0ODQwOTE3MDE0MDgyLCBbInR4dCw0LDQsMSwwLDEsMSwxNiJdID0gMC4xNjQ3MjMwNTE1OTg0MzIxNSwgWyJ0eHQsNCw0LDEsMCwxLDEsMTciXSA9IDAuNjI5NTAwODcyMzgyMTgyNjYsIFsidHh0LDQsNCwxLDAsMSwxLDE4Il0gPSAwLjAzNDc0NTQ0NTMwNTgxNzM1NywgWyJ0eHQsNCw0LDEsMCwxLDEsMTkiXSA9IDAuMTU4MTg3MzA5OTQzNDU2OTgsIFsidHh0LDQsNCwxLDAsMSwxLDIwIl0gPSAwLjMxNTc2NDUxMjQwMjI1MTY3LCBbInR4dCw0LDQsMSwwLDEsMSwyMSJdID0gMC4xMzY4OTc5Nzc3MjUxMzAyNCwgWyJ0eHQsNCw0LDEsMCwxLDEsMjIiXSA9IDAuMDI2MzU5NDc5MjI3MTMzMzMxLCBbInR4dCw0LDQsMSwwLDEsMSwyMyJdID0gMC44NjA0Nzk2NTE1MDgxODQwNiwgWyJ0eHQsNCw0LDEsMCwxLDEsMjQiXSA9IDAuNTI0MDE1ODcyMTg5ODE3ODIsIFsidHh0LDQsNCwxLDAsMSwxLDI1Il0gPSAwLjMzMTk5Mjc2ODUzMDM4MjI5LCBbInR4dCw0LDQsMSwwLDEsMSwyNiJdID0gMC4wMjk1NDQxMTM1MjY2NjAwODcsIFsidHh0LDQsNCwxLDAsMSwxLDI3Il0gPSAwLjYwMzI1NzcwMDE4MTM0NzI4LCBbInR4dCw0LDQsMSwwLDEsMSwyOCJdID0gMC45NzcyMTI5NDgxMTg0NjI2LCBbInR4dCw0LDQsMSwwLDEsMSwyOSJdID0gMC40MjA4OTU3OTYyMDgzMTc5NiwgWyJ0eHQsNCw0LDEsMCwxLDEsMzAiXSA9IDAuOTc0OTk5MzA5OTk1NzI0NTksIFsidHh0LDQsNCwxLDAsMSwxLDMxIl0gPSAwLjMxMDUzMjU0MjEzNTI0MjA2LCBbInR4dCw0LDQsMSwwLDEsMSwzMiJdID0gMC45NTk3NTgwMTc0MTE5MzA0NSwgWyJ0eHQsNCw0LDEsMCwxLDEsMzMiXSA9IDAuOTUzNTc4Mzc5MTkwNTcyMDksIFsidHh0LDQsNCwxLDAsMSwxLDM0Il0gPSAwLjA3MjE1MzE2MjAyODEyODM4MSwgWyJ0eHQsNCw0LDEsMCwxLDEsMzUiXSA9IDAuMzg1MzQ5NTYzOTA1Nzk5MzMsIFsidHh0LDQsNCwxLDAsMSwxLDM2Il0gPSAwLjQxMTU2NTQ5MzM0MDE3MDQ1LCBbInR4dCw0LDQsMSwwLDEsMSwzNyJdID0gMC44MDcwOTQwNzMzNDI3Mzg1MywgWyJ0eHQsNCw0LDEsMCwxLDEsMzgiXSA9IDAuNDM5MzE0NjExMDMwNjkzMTQsIFsidHh0LDQsNCwxLDAsMSwxLDM5Il0gPSAwLjIyOTgzMDYwMzI5NTI3MzcyLCBbInR4dCw0LDQsMSwwLDEsMSw0MCJdID0gMC40MjQ1NTEwMTA2MzEzNjYxMywgWyJ0eHQsNCw0LDEsMCwxLDEsNDEiXSA9IDAuNTIzNTY5OTI5MjA2NzgxNjksIFsidHh0LDQsNCwxLDAsMSwxLDQyIl0gPSAwLjk4NDQ2OTA1MDg3MzgwODA5LCBbInR4dCw0LDQsMSwwLDEsMSw0MyJdID0gMC41NzQzOTg4ODczODg0MjA5MywgWyJ0eHQsNCw0LDEsMCwxLDEsNDQiXSA9IDAuMDcxMjQ3OTUxNDAzNjM0MzgsIFsidHh0LDQsNCwxLDAsMSwxLDQ1Il0gPSAwLjU3OTI4MTg4MzI3MzYzMjM5LCBbInR4dCw0LDQsMSwwLDEsMSw0NiJdID0gMC41MjY5MTU2NjQyOTA0NjE1NSwgWyJ0eHQsNCw0LDEsMCwxLDEsNDciXSA9IDAuMTY5NDIxMjEyMTA0MTEyOTgsIFsidHh0LDQsNCwxLDAsMSwxLDQ4Il0gPSAwLjE3OTAyNzA2NDcyMzYwNDMsIFsidHh0LDQsNCwxLDAsMSwxLDQ5Il0gPSAwLjczMDc4ODM2MDg2MTY5Mjk2LCBbInR4dCw2LDEsMywwLDEsMSwwIl0gPSAwLjYwMzA4NzQ1NjU0MzQxNjU2LCBbInR4dCw2LDEsMywwLDEsMSwxIl0gPSAwLjM2MTE4NjU1ODQ4NjAyMDk5LCBbInR4dCw2LDEsMywwLDEsMSwyIl0gPSAwLjM3NDg1MjM3MjAzNTkwOTgyLCBbInR4dCw2LDEsMywwLDEsMSwzIl0gPSAwLjUyNTMyNTA2MzEzMDcyNDQ3LCBbInR4dCw2LDEsMywwLDEsMSw0Il0gPSAwLjU5OTI1NjMxMTI4NTgyMzM1LCBbInR4dCw2LDEsMywwLDEsMSw1Il0gPSAwLjEwMTM0MTM5NTk1MDA4MzA3LCBbInR4dCw2LDEsMywwLDEsMSw2Il0gPSAwLjg1NDE1OTA2NTUwMTQ3NzY5LCBbInR4dCw2LDEsMywwLDEsMSw3Il0gPSAwLjcwODczNTIwNzc3MDM1OTAzLCBbInR4dCw2LDEsMywwLDEsMSw4Il0gPSAwLjE1Njk2NzM4NzQzNDIxMTQ2LCBbInR4dCw2LDEsMywwLDEsMSw5Il0gPSAwLjc3NDQyMzA2ODg1NDQ5ODE5LCBbInR4dCw2LDEsMywwLDEsMSwxMCJdID0gMC43NzU2ODY5ODA3NzU1MzU3NywgWyJ0eHQsNiwxLDMsMCwxLDEsMTEiXSA9IDAuODY2MTU2ODY4OTUyNjg3MjksIFsidHh0LDYsMSwzLDAsMSwxLDEyIl0gPSAwLjAzMjkyMDU3NTE5MTc0MDk2NCwgWyJ0eHQsNiwxLDMsMCwxLDEsMTMiXSA9IDAuNzM3Nzc2MzMwNzEyNjk5MjEsIFsidHh0LDYsMSwzLDAsMSwxLDE0Il0gPSAwLjQ3NTQ2MzQwMzA3NzUzOTk4LCBbInR4dCw2LDEsMywwLDEsMSwxNSJdID0gMC4wNTc1ODM1MDU5OTkwMTY2MjYsIFsidHh0LDYsMSwzLDAsMSwxLDE2Il0gPSAwLjA4NzQwMDY0NjQ4MDQzMzMzMSwgWyJ0eHQsNiwxLDMsMCwxLDEsMTciXSA9IDAuODk0MDY2OTE3ODI3OTM4MTIsIFsidHh0LDYsMSwzLDAsMSwxLDE4Il0gPSAwLjI1NTUxODYzNTExNTc2MzQ1LCBbInR4dCw2LDEsMywwLDEsMSwxOSJdID0gMC40MzkxNjIxNDIwMDM0ODUyNSwgWyJ0eHQsNiwxLDMsMCwxLDEsMjAiXSA9IDAuMTU5NDg4Nzg2Nzk4NTI1NzQsIFsidHh0LDYsMSwzLDAsMSwxLDIxIl0gPSAwLjAxMzY2NDM5OTA3Mjg5NDYyOSwgWyJ0eHQsNiwxLDMsMCwxLDEsMjIiXSA9IDAuNTE1MDE5MzY5MDE2NDMyNjQsIFsidHh0LDYsMSwzLDAsMSwxLDIzIl0gPSAwLjgxOTE2MzM2NDQ2MDU2MDQ4LCBbInR4dCw2LDEsMywwLDEsMSwyNCJdID0gMC43MTM2NDc0NDE4ODk3NTg0OCwgWyJ0eHQsNiwxLDMsMCwxLDEsMjUiXSA9IDAuMjY4NTc3MDI5NDk4MTMwMjMsIFsidHh0LDYsMSwzLDAsMSwxLDI2Il0gPSAwLjYzMzkyODgwMjkyODM0NTE5LCBbInR4dCw2LDEsMywwLDEsMSwyNyJdID0gMC40NDMwODQ5NTc4NjQ0NDUzNSwgWyJ0eHQsNiwxLDMsMCwxLDEsMjgiXSA9IDAuNjc4MjczMDMyMDM4MjQyMTksIFsidHh0LDYsMSwzLDAsMSwxLDI5Il0gPSAwLjc5NjM1NTc0NjA4MDYzODk3LCBbInR4dCw2LDEsMywwLDEsMSwzMCJdID0gMC43NzY0NjE3MTI1NTg5NjMwMSwgWyJ0eHQsNiwxLDMsMCwxLDEsMzEiXSA9IDAuMDMyMDM2NTU4Mzc5MzIwNTEyLCBbInR4dCw2LDEsMywwLDEsMSwzMiJdID0gMC4xMTE4NjMxOTU1MjM0MTY4NCwgWyJ0eHQsNiwxLDMsMCwxLDEsMzMiXSA9IDAuODYxODY5NTY1NjE0ODY4OTQsIFsidHh0LDYsMSwzLDAsMSwxLDM0Il0gPSAwLjM2OTY1NjkwMTAxMzM5NDMyLCBbInR4dCw2LDEsMywwLDEsMSwzNSJdID0gMC40MTI0NTgzNTc4Mzg4NzQzLCBbInR4dCw2LDEsMywwLDEsMSwzNiJdID0gMC4wNDE3Mjc3NjI1MzE5Nzc2MywgWyJ0eHQsNiwxLDMsMCwxLDEsMzciXSA9IDAuMTI1NjM0NTgyNzE4NjkyODgsIFsidHh0LDYsMSwzLDAsMSwxLDM4Il0gPSAwLjczMDE4MTA3NDU4OTg4NzM1LCBbInR4dCw2LDEsMywwLDEsMSwzOSJdID0gMC41MjI3Njk3MzExODY5OTc2NSwgWyJ0eHQsNiwxLDMsMCwxLDEsNDAiXSA9IDAuMDQ2NTgxMjMyNTk3MDMwMjg3LCBbInR4dCw2LDEsMywwLDEsMSw0MSJdID0gMC4yMzQ2MTk1NDM4Mjg1Nzk2NCwgWyJ0eHQsNiwxLDMsMCwxLDEsNDIiXSA9IDAuMzU1MjAwMjMwMTgxNjcwMTMsIFsidHh0LDYsMSwzLDAsMSwxLDQzIl0gPSAwLjY3MTQ1NDU0NDgzNTM1MzUsIFsidHh0LDYsMSwzLDAsMSwxLDQ0Il0gPSAwLjU5NDU1MDQ1OTg3NDQzNzExLCBbInR4dCw2LDEsMywwLDEsMSw0NSJdID0gMC45MTkzMDMzOTYyODc0Nzc3LCBbInR4dCw2LDEsMywwLDEsMSw0NiJdID0gMC4zNTYwMTgyMDY5NTgwODEyOCwgWyJ0eHQsNiwxLDMsMCwxLDEsNDciXSA9IDAuNTkwMDY5ODY0NTU4MjUwMDYsIFsidHh0LDYsMSwzLDAsMSwxLDQ4Il0gPSAwLjAxNDg4MDk4NjY1Nzk1MjIzMywgWyJ0eHQsNiwxLDMsMCwxLDEsNDkiXSA9IDAuOTY3NjE4NjQ2NTc0NzU3MzgsIFsidHh0LDcsMSwxLDAsMSwxLDAiXSA9IDAuMjQzODM3ODc2MzMxMDgwNDUsIFsidHh0LDcsMSwxLDAsMSwxLDEiXSA9IDAuMzM1NzU5MzU4MjQ4MTI0MiwgWyJ0eHQsNywxLDEsMCwxLDEsMiJdID0gMC4xNjgzMDAyNTY2Njk3NTg0NSwgWyJ0eHQsNywxLDEsMCwxLDEsMyJdID0gMC4wNjc3Njk5NjQ1OTk2NjEyMjUsIFsidHh0LDcsMSwxLDAsMSwxLDQiXSA9IDAuMzU1MDI1NzgxNjg0ODcxNDIsIFsidHh0LDcsMSwxLDAsMSwxLDUiXSA9IDAuMDEzMDQzMTI3ODY4NTMyNTY3LCBbInR4dCw3LDEsMSwwLDEsMSw2Il0gPSAwLjU1Mjk5MjMxOTg2NTIzNjY3LCBbInR4dCw3LDEsMSwwLDEsMSw3Il0gPSAwLjUwMjYwNjE2OTk3NjAxMTM3LCBbInR4dCw3LDEsMSwwLDEsMSw4Il0gPSAwLjU1ODM5NzAxMTYwODk0NzE3LCBbInR4dCw3LDEsMSwwLDEsMSw5Il0gPSAwLjA1OTU1MDY5MzQ0OTUwMTgxMywgWyJ0eHQsNywxLDEsMCwxLDEsMTAiXSA9IDAuOTg2NzY0NjU2MTA3MDMwMDEsIFsidHh0LDcsMSwxLDAsMSwxLDExIl0gPSAwLjAyNDY4Mzk0MTQ2ODkyOTkzNywgWyJ0eHQsNywxLDEsMCwxLDEsMTIiXSA9IDAuMTYzOTM4MDI0OTIyMjI1NTMsIFsidHh0LDcsMSwxLDAsMSwxLDEzIl0gPSAwLjQ1MDY2MTUzNzA4Njk3MTk5LCBbInR4dCw3LDEsMSwwLDEsMSwxNCJdID0gMC43NzQxNzUwNzY4NzA4ODY4MiwgWyJ0eHQsNywxLDEsMCwxLDEsMTUiXSA9IDAuODIyNTk3MzYwMjQzODY3ODcsIFsidHh0LDcsMSwxLDAsMSwxLDE2Il0gPSAwLjQwNzY0MzEwMjI2Nzk3NTQsIFsidHh0LDcsMSwxLDAsMSwxLDE3Il0gPSAwLjU3MDE2ODU5MzE4OTg4OTY2LCBbInR4dCw3LDEsMSwwLDEsMSwxOCJdID0gMC42NzA4MjY5OTcxOTcyNjY0NiwgWyJ0eHQsNywxLDEsMCwxLDEsMTkiXSA9IDAuOTIyNTI0NjA3Nzk1Nzg1ODIsIFsidHh0LDcsMSwxLDAsMSwxLDIwIl0gPSAwLjMxNzYzMzExODQ1MzM3MzM5LCBbInR4dCw3LDEsMSwwLDEsMSwyMSJdID0gMC4xNTQ2OTE2MDQ3NDg4MDI5NSwgWyJ0eHQsNywxLDEsMCwxLDEsMjIiXSA9IDAuMjYxOTkzMTUyNDI5NzcwNzMsIFsidHh0LDcsMSwxLDAsMSwxLDIzIl0gPSAwLjQzMjIxOTcxMTcwOTUyNSwgWyJ0eHQsNywxLDEsMCwxLDEsMjQiXSA9IDAuNDU3ODAxMjU5NTg3MTEyNiwgWyJ0eHQsNywxLDEsMCwxLDEsMjUiXSA9IDAuNzM2NzMzMjM1NDYxNjI3ODMsIFsidHh0LDcsMSwxLDAsMSwxLDI2Il0gPSAwLjk4MzY1ODI5OTE3NTg0NzU3LCBbInR4dCw3LDEsMSwwLDEsMSwyNyJdID0gMC45MjgwODYzODg1NTkxNzkwMiwgWyJ0eHQsNywxLDEsMCwxLDEsMjgiXSA9IDAuOTczODAxMDI4NTM5MjI0MDEsIFsidHh0LDcsMSwxLDAsMSwxLDI5Il0gPSAwLjM2Mjk2MDYwMzY5MjYwODUyLCBbInR4dCw3LDEsMSwwLDEsMSwzMCJdID0gMC4zMTI2NTUzNjU5ODAwMjg4NSwgWyJ0eHQsNywxLDEsMCwxLDEsMzEiXSA9IDAuMzY1NjA5NTA1NDMxODkwNjQsIFsidHh0LDcsMSwxLDAsMSwxLDMyIl0gPSAwLjA3OTkxMTYzOTE4MDY4OTk5NywgWyJ0eHQsNywxLDEsMCwxLDEsMzMiXSA9IDAuODY3NzYxNjAyNDMzMjc5NzEsIFsidHh0LDcsMSwxLDAsMSwxLDM0Il0gPSAwLjQ2Mzk3NDk0NDI0MDMyMDkzLCBbInR4dCw3LDEsMSwwLDEsMSwzNSJdID0gMC4yOTc3NjM4NjI5NDY4MjYsIFsidHh0LDcsMSwxLDAsMSwxLDM2Il0gPSAwLjIwMDAyMDc2MDk4NzUzODQsIFsidHh0LDcsMSwxLDAsMSwxLDM3Il0gPSAwLjA0MzkxNTE0Mjg5NDA4MzM4MSwgWyJ0eHQsNywxLDEsMCwxLDEsMzgiXSA9IDAuNjIzNTUzMDEwMjkwNzAzNjUsIFsidHh0LDcsMSwxLDAsMSwxLDM5Il0gPSAwLjUzNzUwNzk4NTE3Mzc0Mjc2LCBbInR4dCw3LDEsMSwwLDEsMSw0MCJdID0gMC4zNDkxNTA2MjAwNDI1MzQ3MiwgWyJ0eHQsNywxLDEsMCwxLDEsNDEiXSA9IDAuODc3NzkxNDAzODYyNjI3NzcsIFsidHh0LDcsMSwxLDAsMSwxLDQyIl0gPSAwLjc5NTYwMzM2NDMwNzQ3NjY5LCBbInR4dCw3LDEsMSwwLDEsMSw0MyJdID0gMC42MjM5NzA1MjE4Mjc5ODk4NCwgWyJ0eHQsNywxLDEsMCwxLDEsNDQiXSA9IDAuMTc3NTQxNzgzODQ2OTkyMzcsIFsidHh0LDcsMSwxLDAsMSwxLDQ1Il0gPSAwLjg5OTQ0MTY4MjA0NTU3MTUxLCBbInR4dCw3LDEsMSwwLDEsMSw0NiJdID0gMC44NzI4MzY4ODM3MTY2MjE2LCBbInR4dCw3LDEsMSwwLDEsMSw0NyJdID0gMC44MTIzNDg1NjMzNjg1ODA1MiwgWyJ0eHQsOCwxLDEsMCwxLDEsMCJdID0gMC44Njk4NjMyNzU0NzQzNjQ5MywgWyJ0eHQsOCwxLDEsMCwxLDEsMSJdID0gMC4zNTIxMjYyMzU4MjI2MjczNiwgWyJ0eHQsOCwxLDEsMCwxLDEsMiJdID0gMC4yMTI2MjgxNzMyNDUwMTE0OSwgWyJ0eHQsOCwxLDEsMCwxLDEsMyJdID0gMC40MjE5NDE1MjU0MjU1MDMwMSwgWyJ0eHQsOCwxLDEsMCwxLDEsNCJdID0gMC45Mzk1MDMwNjgzMzg5MTkxNywgWyJ0eHQsOCwxLDEsMCwxLDEsNSJdID0gMC41NDk5NDcyNjM0MDYxNTA2MywgWyJ0eHQsOCwxLDEsMCwxLDEsNiJdID0gMC4zODkyMDc0MzA0NTYxOTQ3NywgWyJ0eHQsOCwxLDEsMCwxLDEsNyJdID0gMC4zMzUxNzE2Mzg5MzQ2MTU3NywgWyJ0eHQsOCwxLDEsMCwxLDEsOCJdID0gMC4yMzYyMjg4NjE1ODc3OTQxLCBbInR4dCw4LDEsMSwwLDEsMSw5Il0gPSAwLjAzMTcxNDMyMzM5MzQyNzgzNSwgWyJ0eHQsOCwxLDEsMCwxLDEsMTAiXSA9IDAuNDgxMjIxODA4ODgxMTIzOTgsIFsidHh0LDgsMSwxLDAsMSwxLDExIl0gPSAwLjk1Njc4NTU1MzIxMDMzOTA5LCBbInR4dCw4LDEsMSwwLDEsMSwxMiJdID0gMC42NjE4ODk1MzMxMzAzMjYwNiwgWyJ0eHQsOCwxLDEsMCwxLDEsMTMiXSA9IDAuMzg4MjkxMzI3MzQ0MzUxMzQsIFsidHh0LDgsMSwxLDAsMSwxLDE0Il0gPSAwLjkwODI4NjE3NzEzNjUxNjcxLCBbInR4dCw4LDEsMSwwLDEsMSwxNSJdID0gMC45MTk1NTAyNDQ4OTYzNjM1LCBbInR4dCw4LDEsMSwwLDEsMSwxNiJdID0gMC45MDg0Mzc3OTg3NDQzMzEwNiwgWyJ0eHQsOCwxLDEsMCwxLDEsMTciXSA9IDAuMjAzNDEwNTY5MTcyNjExNTgsIFsidHh0LDgsMSwxLDAsMSwxLDE4Il0gPSAwLjU5NTQzNTEzMTA5MjQwODQyLCBbInR4dCw4LDEsMSwwLDEsMSwxOSJdID0gMC41MDU3NTEzNTE4ODY4NTc5NCwgWyJ0eHQsOCwxLDEsMCwxLDEsMjAiXSA9IDAuNzA4OTcxMjIyNTk4NDI4MzcsIFsidHh0LDgsMSwxLDAsMSwxLDIxIl0gPSAwLjE4Njc0ODQyNjA3NjAxMjM5LCBbInR4dCw4LDEsMSwwLDEsMSwyMiJdID0gMC4yMDAxMzA1MDQyMTU4MDY1OCwgWyJ0eHQsOCwxLDEsMCwxLDEsMjMiXSA9IDAuNDg4OTk2NzQ2MTEyMTc0NywgWyJ0eHQsOCwxLDEsMCwxLDEsMjQiXSA9IDAuODU4NTM2NzE3OTc1Mjg2NzUsIFsidHh0LDgsMSwxLDAsMSwxLDI1Il0gPSAwLjg5NjI5NTQxNTkzMjAzNzMyLCBbInR4dCw4LDEsMSwwLDEsMSwyNiJdID0gMC4zMzM0MDA0NTMyMzU5Mjk1OSwgWyJ0eHQsOCwxLDEsMCwxLDEsMjciXSA9IDAuNTQ0ODQxMDEyODE1OTEyOTEsIFsidHh0LDgsMSwxLDAsMSwxLDI4Il0gPSAwLjU5MjMyOTA4OTU2NzM1NDk3LCBbInR4dCw4LDEsMSwwLDEsMSwyOSJdID0gMC4wNDYwMTczMjI4NTMzNzM3ODgsIFsidHh0LDgsMSwxLDAsMSwxLDMwIl0gPSAwLjQ3MDE0NTQ4MDg1MjI3MDA0LCBbInR4dCw4LDEsMSwwLDEsMSwzMSJdID0gMC4wMjA4NjA4ODYwNjUzNjM2MjYsIFsidHh0LDgsMSwxLDAsMSwxLDMyIl0gPSAwLjc3OTI4OTg2MDIxNTUxODQ5LCBbInR4dCw4LDEsMSwwLDEsMSwzMyJdID0gMC43MzUxODExMDEyMDU5NzYxMywgWyJ0eHQsOCwxLDEsMCwxLDEsMzQiXSA9IDAuODE2MTY3NjcyNjIwOTUxOTEsIFsidHh0LDgsMSwxLDAsMSwxLDM1Il0gPSAwLjcwOTY1NDU3MjU3ODYyODA3LCBbInR4dCw4LDEsMSwwLDEsMSwzNiJdID0gMC44Mjg0MzA2NTc3OTAyMjE2MywgWyJ0eHQsOCwxLDEsMCwxLDEsMzciXSA9IDAuMDUwMDAzMDU0MDI0MTUwOTUsIFsidHh0LDgsMSwxLDAsMSwxLDM4Il0gPSAwLjU1NTc3MjY1Mjc4NjM5OTk4LCBbInR4dCw4LDEsMSwwLDEsMSwzOSJdID0gMC41NTI3MjA3NTA5NjQ5NTM0MywgWyJ0eHQsOCwxLDEsMCwxLDEsNDAiXSA9IDAuMjc3OTQ3NjkwMjM3MDEyMzgsIFsidHh0LDgsMSwxLDAsMSwxLDQxIl0gPSAwLjE2NjI1NDc1Njc2MTgzNzEsIFsidHh0LDgsMSwxLDAsMSwxLDQyIl0gPSAwLjA2MDE5ODEyODAzOTk1MzI4LCBbInR4dCw4LDEsMSwwLDEsMSw0MyJdID0gMC42MzY2NDM0ODQzOTE2Njg2MiwgWyJ0eHQsOCwxLDEsMCwxLDEsNDQiXSA9IDAuODE4MDM4MTcxMzgwNDY2MzEsIFsidHh0LDgsMSwxLDAsMSwxLDQ1Il0gPSAwLjQ4NDU2OTY1MTE2NzkxODI4LCBbInR4dCw4LDEsMSwwLDEsMSw0NiJdID0gMC4xMzYzMzM2OTc4NjI5MzkwMywgWyJ0eHQsOCwxLDEsMCwxLDEsNDciXSA9IDAuMDUxNDY4MjM2MzY0ODU3MDksIFsidHh0LDgsMSwxLDAsMSwxLDQ4Il0gPSAwLjQxNzc2NTg2MzM4OTg0MzM0LCBbInR4dCw4LDEsMSwwLDEsMSw0OSJdID0gMC4wOTY4ODg2ODIwMTAyNzkyMjYsIFsidHh0LDksMSwxLDAsMSwxLDAiXSA9IDAuMDY4NDk0NDQ4OTE5MjI1NjI2LCBbInR4dCw5LDEsMSwwLDEsMSwxIl0gPSAwLjY0NTM1OTMwNjE3MzY2OTEsIFsidHh0LDksMSwxLDAsMSwxLDIiXSA9IDAuODI4NTcwNTI3MjIxMDE3NTQsIFsidHh0LDksMSwxLDAsMSwxLDMiXSA9IDAuMDg2MzkwNzgxNDk4MzUyODg3LCBbInR4dCw5LDEsMSwwLDEsMSw0Il0gPSAwLjM2ODMxNzQ0ODcwNzU1MzM0LCBbInR4dCw5LDEsMSwwLDEsMSw1Il0gPSAwLjIxNDkzMjQ3ODMxMTA1MDg5LCBbInR4dCw5LDEsMSwwLDEsMSw2Il0gPSAwLjAyOTAzNzYzOTIzMTA0MjA3OCwgWyJ0eHQsOSwxLDEsMCwxLDEsNyJdID0gMC4yOTI4MzM5MTA0NDg0ODE2MiwgWyJ0eHQsOSwxLDEsMCwxLDEsOCJdID0gMC44NjM0MDQ4MDU1MjUxNzE5NiwgWyJ0eHQsOSwxLDEsMCwxLDEsOSJdID0gMC44NzE1OTQ2MDY3MTgxMjM1LCBbInR4dCw5LDEsMSwwLDEsMSwxMCJdID0gMC44ODAxNjczOTkxMzQyOTQ4NywgWyJ0eHQsOSwxLDEsMCwxLDEsMTEiXSA9IDAuNzEwODQyMzAyNDU0NTU3MzcsIFsidHh0LDksMSwxLDAsMSwxLDEyIl0gPSAwLjU2Mjg1MTM3MzI2MzksIFsidHh0LDksMSwxLDAsMSwxLDEzIl0gPSAwLjQ5MDAzODg4OTEwOTUyOTA5LCBbInR4dCw5LDEsMSwwLDEsMSwxNCJdID0gMC4xMDgyMTA4ODczMTgxMjg2NywgWyJ0eHQsOSwxLDEsMCwxLDEsMTUiXSA9IDAuNDYxMjgzMjU5MTY0NjYwMDYsIFsidHh0LDksMSwxLDAsMSwxLDE2Il0gPSAwLjI4NTA0MDIxMDA3MTU5ODk3LCBbInR4dCw5LDEsMSwwLDEsMSwxNyJdID0gMC44NDk3Mjg1MzIzOTM2NDU4NywgWyJ0eHQsOSwxLDEsMCwxLDEsMTgiXSA9IDAuMDYyOTE0NDkwODk0NTgzMTE5LCBbInR4dCw5LDEsMSwwLDEsMSwxOSJdID0gMC4wMzM1NzYzOTQyMjQ0MjI0OSwgWyJ0eHQsOSwxLDEsMCwxLDEsMjAiXSA9IDAuMjAxNDUzMjM0MjM0NjE5MzYsIFsidHh0LDksMSwxLDAsMSwxLDIxIl0gPSAwLjA5NjcyMjk3NTgzOTk4MzkwNSwgWyJ0eHQsOSwxLDEsMCwxLDEsMjIiXSA9IDAuMDU0NTc0Njg1Mjg5MjQ1OTE3LCBbInR4dCw5LDEsMSwwLDEsMSwyMyJdID0gMC4xOTI4MDM5MjcwODQ1MzQ3NSwgWyJ0eHQsOSwxLDEsMCwxLDEsMjQiXSA9IDAuMDAxNjU5NTAyMzgyNzgyNTYyOCwgWyJ0eHQsOSwxLDEsMCwxLDEsMjUiXSA9IDAuNzAyMjUwNTY3OTUyMjE2NjMsIFsidHh0LDksMSwxLDAsMSwxLDI2Il0gPSAwLjExMzEyNjczNjExNjY4OTg5LCBbInR4dCw5LDEsMSwwLDEsMSwyNyJdID0gMC4yNTg2NDM5NDAzODkxMDI1NCwgWyJ0eHQsOSwxLDEsMCwxLDEsMjgiXSA9IDAuNDk4NjI2Njg5NTU4NDY1MjMsIFsidHh0LDksMSwxLDAsMSwxLDI5Il0gPSAwLjE3MTY0MzE3MjcyODU2OTQ0LCBbInR4dCw5LDEsMSwwLDEsMSwzMCJdID0gMC40ODcyNTY2ODc1MzczMzI1MywgWyJ0eHQsOSwxLDEsMCwxLDEsMzEiXSA9IDAuNTczMzc2NTk1MjA4Mjk5ODcsIFsidHh0LDksMSwxLDAsMSwxLDMyIl0gPSAwLjc2NDk0MTA5NDY5NjA3OTA3LCBbInR4dCw5LDEsMSwwLDEsMSwzMyJdID0gMC4zNjk5MTAxNDE1NTY1OTE3NCwgWyJ0eHQsOSwxLDEsMCwxLDEsMzQiXSA9IDAuNjYxNzg1NzAzMjE4NzIxOTksIFsidHh0LDksMSwxLDAsMSwxLDM1Il0gPSAwLjI4NjQ0MTgxOTIzMTk2NTc3LCBbInR4dCw5LDEsMSwwLDEsMSwzNiJdID0gMC41MDQzODE1OTgyMzgxMDQ4LCBbInR4dCw5LDEsMSwwLDEsMSwzNyJdID0gMC41NjkxNzgxOTUzMTA4Mjc2OSwgWyJ0eHQsOSwxLDEsMCwxLDEsMzgiXSA9IDAuMTQxODc2OTYzNzgwMzQ1ODcsIFsidHh0LDksMSwxLDAsMSwxLDM5Il0gPSAwLjUyODA3NDE3MTgxOTk5MDYxLCBbInR4dCw5LDEsMSwwLDEsMSw0MCJdID0gMC4wMTI4NTY5OTExOTc5NzIzNDUsIFsidHh0LDksMSwxLDAsMSwxLDQxIl0gPSAwLjA3NDcwMzUzNzQ1NjA4NDA0NiwgWyJ0eHQsOSwxLDEsMCwxLDEsNDIiXSA9IDAuMTA4MDc0NTgyNzQyMTAwOCwgWyJ0eHQsOSwxLDEsMCwxLDEsNDMiXSA9IDAuODIwODg2MTI2MTU3NTg5NDksIFsidHh0LDksMSwxLDAsMSwxLDQ0Il0gPSAwLjgwNjI2Nzc3NTM3ODY1ODAxLCBbInR4dCw5LDEsMSwwLDEsMSw0NSJdID0gMC42ODg3MTM5MzQwMTk3MjA1OSwgWyJ0eHQsOSwxLDEsMCwxLDEsNDYiXSA9IDAuMjEyODA3ODcwNDI0ODA3NzUsIFsidHh0LDksMSwxLDAsMSwxLDQ3Il0gPSAwLjA1NDM4MDY2NzMwODQ2NTkxMywgWyJ0eHQsOSwxLDEsMCwxLDEsNDgiXSA9IDAuNTcwMzE3MTQ5MTI2MzQ4NzksIFsidHh0LDksMSwxLDAsMSwxLDQ5Il0gPSAwLjU2NTA3ODEyOTc4MTk1OTU5LCBbInR4dCw5LDYsMSwwLDEsMSwwIl0gPSAwLjM1NjYxOTg4OTExNjUwODY2LCBbInR4dCw5LDYsMSwwLDEsMSwxIl0gPSAwLjk1ODA3NDQ0MzI1NzQ1NTcyLCBbInR4dCw5LDYsMSwwLDEsMSwyIl0gPSAwLjYxMDg0MjkxNjIyNjc3NTQ1LCBbInR4dCw5LDYsMSwwLDEsMSwzIl0gPSAwLjA2MzgxMDAwNDg4NTcyODQxMSwgWyJ0eHQsOSw2LDEsMCwxLDEsNCJdID0gMC4xNjU4OTUyOTE2NDU1MDQ3NiwgWyJ0eHQsOSw2LDEsMCwxLDEsNSJdID0gMC42NjYzMTA4NjU0MzkzNzk5LCBbInR4dCw5LDYsMSwwLDEsMSw2Il0gPSAwLjA2NTE3NzAyNzg2OTcxOTI0LCBbInR4dCw5LDYsMSwwLDEsMSw3Il0gPSAwLjU3NDg5OTMwNzYyNjc5NDUzLCBbInR4dCw5LDcsMSwwLDEsMSwwIl0gPSAwLjY5NDI5OTI4NjEyMDY5MzM2LCBbInR4dCw5LDcsMSwwLDEsMSwxIl0gPSAwLjg1MzQ1MjcyNDg0NzM2MjY4LCBbInR4dCw5LDcsMSwwLDEsMSwyIl0gPSAwLjY3MDQ4ODcwMzQ0NDQzNzEyLCBbInR4dCw5LDcsMSwwLDEsMSwzIl0gPSAwLjI1NTk4NDYyODYwNjYyMDc1LCBbInR4dCw5LDcsMSwwLDEsMSw0Il0gPSAwLjQ4NzEwNjYwMzQ4NDk1MDUsIFsidHh0LDksNywxLDAsMSwxLDUiXSA9IDAuNTU2NDgxNDI2MjY3MDA3MDMsIFsidHh0LDksNywxLDAsMSwxLDYiXSA9IDAuNTQyODgzMDA2ODY3NTY2NzQsIFsidHh0LDksNywxLDAsMSwxLDciXSA9IDAuNDExMTIzOTgxODQ3Mzk0ODUsIFsidHh0LDksNywxLDAsMSwxLDgiXSA9IDAuODM2NjM0NTE4MjEzMDg0NTQsIFsidHh0LDksNywxLDAsMSwxLDkiXSA9IDAuMzA3MTgwOTc3MTI3ODc0MTgsIFsidHh0LDksNywxLDAsMSwxLDEwIl0gPSAwLjY5MzAyNzE0NDUxMTQ4ODE3LCBbInR4dCw5LDcsMSwwLDEsMSwxMSJdID0gMC45ODY2NDc0NTQxMzQ5ODAxMiwgWyJ0eHQsOSw3LDEsMCwxLDEsMTIiXSA9IDAuODc3MjQzMjM0OTcxNTY2MiwgWyJ0eHQsOSw3LDEsMCwxLDEsMTMiXSA9IDAuNzIzMzU1Mzc0NzY1MzgyNywgWyJ0eHQsOSw3LDEsMCwxLDEsMTQiXSA9IDAuOTYwMzkxNjI4MzgzMDk0ODksIFsidHh0LDksNywxLDAsMSwxLDE1Il0gPSAwLjA4NDg1MjU4NDc5MTA2NTI3OCwgWyJ0eHQsOSw3LDEsMCwxLDEsMTYiXSA9IDAuNDE5ODcxOTUxNTIwNDg5ODQsIFsidHh0LDksNywxLDAsMSwxLDE3Il0gPSAwLjQxMTU5MjIxNzYwMTQ4OTAxLCBbInR4dCw5LDcsMSwwLDEsMSwxOCJdID0gMC43NDM4ODc5MDA3OTYyMDA5MywgWyJ0eHQsOSw3LDEsMCwxLDEsMTkiXSA9IDAuNTU0MjY0MTA2OTQ1MTAzNzUsIFsidHh0LDksNywxLDAsMSwxLDIwIl0gPSAwLjMyNTI5NTQ5OTE0MTY4MDMyLCBbInR4dCw5LDcsMSwwLDEsMSwyMSJdID0gMC4wODMxMjAyMzkyOTA5NjY0NTgsIFsidHh0LDksNywxLDAsMSwxLDIyIl0gPSAwLjIwNzgxNTAwNzAyMDcwNDEsIFsidHh0LDksNywxLDAsMSwxLDIzIl0gPSAwLjIyOTAxMTg0MDY0MjQ5NTY5LCBbInR4dCw5LDcsMSwwLDEsMSwyNCJdID0gMC45NDcxOTUyMzE3MDI5MDExLCBbInR4dCw5LDcsMSwwLDEsMSwyNSJdID0gMC4zMzQxMzkyNjM2NTU3Mjk4OCwgWyJ0eHQsOSw3LDEsMCwxLDEsMjYiXSA9IDAuNTcxNjU3MzM5NzYxNzQ3NzEsIFsidHh0LDksNywxLDAsMSwxLDI3Il0gPSAwLjIyNjAwMjkzNTAzOTIyMDUzLCBbInR4dCw5LDcsMSwwLDEsMSwyOCJdID0gMC4wMTQ2ODAwMDk0NjI1MTUyNDIsIFsidHh0LDksNywxLDAsMSwxLDI5Il0gPSAwLjA1MDE0ODgyNzMwMjE5NTQ5OCwgWyJ0eHQsOSw3LDEsMCwxLDEsMzAiXSA9IDAuNzQ2NzA0NzM3MjIzMTQwMTIsIFsidHh0LDksNywxLDAsMSwxLDMxIl0gPSAwLjU0MTQyMjgzMDUxNjc3MDU0LCBbInR4dCw5LDcsMSwwLDEsMSwzMiJdID0gMC4wMDgwMzk3MTA2MjA1MTM4OTU3LCBbInR4dCw5LDcsMSwwLDEsMSwzMyJdID0gMC45NTI1MDU0NTA5NDA2NTk2NCwgWyJ0eHQsOSw3LDEsMCwxLDEsMzQiXSA9IDAuNjk1NzcwNjkzNTY0OTgxLCBbInR4dCw5LDcsMSwwLDEsMSwzNSJdID0gMC40OTc3MTExNDk2Nzc1NDgzNywgWyJ0eHQsOSw3LDEsMCwxLDEsMzYiXSA9IDAuMzkyMzc3OTEzNzQzNTk3NDMsIFsidHh0LDksNywxLDAsMSwxLDM3Il0gPSAwLjczMzU0MzY3NzczNjQyMzI2LCBbInR4dCw5LDcsMSwwLDEsMSwzOCJdID0gMC43MDg4MDMwNTgxOTg3NDU2NywgWyJ0eHQsOSw3LDEsMCwxLDEsMzkiXSA9IDAuNDEzMTk3ODE3MTUyMzg4NjgsIFsidHh0LDksNywxLDAsMSwxLDQwIl0gPSAwLjg1MDE4MTE4OTg0NDU2MzQ4LCBbInR4dCw5LDcsMSwwLDEsMSw0MSJdID0gMC44MzU1NTAzODI5MzQ2OTA0MiwgWyJ0eHQsOSw3LDEsMCwxLDEsNDIiXSA9IDAuMDE0MjU2NDk0OTE4MTk0MDI5LCBbInR4dCw5LDcsMSwwLDEsMSw0MyJdID0gMC4wNzIwNDE1MzAyNjkxMTI2NDEsIFsidHh0LDksNywxLDAsMSwxLDQ0Il0gPSAwLjE2MDg1MjI0MDk3OTMxNzgzLCBbInR4dCw5LDcsMSwwLDEsMSw0NSJdID0gMC4xNDk2NTc4MjIxMTc1NzYzOSwgWyJ0eHQsOSw3LDEsMCwxLDEsNDYiXSA9IDAuMDkyMzc4MTUxNTExMTM0NTk5LCBbInR4dCw5LDcsMSwwLDEsMSw0NyJdID0gMC41MTIzNDMxODk5MzMzMDA0MSwgWyJ0eHQsOSw3LDEsMCwxLDEsNDgiXSA9IDAuNzI3MDEyMTk3ODAxNzg2OTQsIFsidHh0LDksNywxLDAsMSwxLDQ5Il0gPSAwLjE5MTEwNDY5NDkzOTcwNzI4LCBbInR4dCw5LDgsMSwwLDEsMSwwIl0gPSAwLjI5MTY0MzI2MjE2NzEzODc2LCBbInR4dCw5LDgsMSwwLDEsMSwxIl0gPSAwLjQxNDU3MTE0MTU3NzkxNzYzLCBbInR4dCw5LDgsMSwwLDEsMSwyIl0gPSAwLjY2MzM4NjUyNzMxOTgxNDA3LCBbInR4dCw5LDgsMSwwLDEsMSwzIl0gPSAwLjg3Nzg5MzQ3NDAxNjg1MzE0LCBbInR4dCw5LDgsMSwwLDEsMSw0Il0gPSAwLjYwMjI4MTMzNzIyNzk2MDA3LCBbInR4dCw5LDgsMSwwLDEsMSw1Il0gPSAwLjIxMTE4NDA2NzAyMDQ2MTg5LCBbInR4dCw5LDgsMSwwLDEsMSw2Il0gPSAwLjc3MzEyODc5MDU0NzUxNzA0LCBbInR4dCw5LDgsMSwwLDEsMSw3Il0gPSAwLjY2NDkwNTA5MTg2ODE1OTM4LCBbInR4dCw5LDgsMSwwLDEsMSw4Il0gPSAwLjgxMTczNDg3Mzc0ODYwNjA5LCBbInR4dCw5LDgsMSwwLDEsMSw5Il0gPSAwLjQyNTk4NTEwNzU5MTc0ODI0LCBbInR4dCw5LDgsMSwwLDEsMSwxMCJdID0gMC43MDcyMDIwNjAxMjI1NzU0NywgWyJ0eHQsOSw4LDEsMCwxLDEsMTEiXSA9IDAuMTczMjUyNjQ0NDU1ODA1NzksIFsidHh0LDksOCwxLDAsMSwxLDEyIl0gPSAwLjc4NjA4MDcwNDc1MDAxMDI0LCBbInR4dCw5LDgsMSwwLDEsMSwxMyJdID0gMC40OTM2NTYxOTkzMTg1NTE3NiwgWyJ0eHQsOSw4LDEsMCwxLDEsMTQiXSA9IDAuOTY2NDc1MzM1OTYwMjQxODIsIFsidHh0LDksOCwxLDAsMSwxLDE1Il0gPSAwLjU2NDU0NDg4MDA4MDUzNjE2LCBbInR4dCw5LDgsMSwwLDEsMSwxNiJdID0gMC4zODcyNzk5MjE0MTg0NjI1NywgWyJ0eHQsOSw4LDEsMCwxLDEsMTciXSA9IDAuNTc2ODE3MTQwNTE4ODkzOTksIFsidHh0LDksOCwxLDAsMSwxLDE4Il0gPSAwLjM2NzYzMjUyNTYwNTYxMjMzLCBbInR4dCw5LDgsMSwwLDEsMSwxOSJdID0gMC4yNTc4ODg3MjMwMjYwNTEzNywgWyJ0eHQsOSw4LDEsMCwxLDEsMjAiXSA9IDAuMjY3NjYwMDMzOTc4MTQ4OTcsIFsidHh0LDksOCwxLDAsMSwxLDIxIl0gPSAwLjU3NzYwNzcwODcxMDI4Njg4LCBbInR4dCw5LDgsMSwwLDEsMSwyMiJdID0gMC42NTU4NTE0Njc3MzUwMDU4LCBbInR4dCw5LDgsMSwwLDEsMSwyMyJdID0gMC45NTgwMzQzMDY1MjI3MDUwNSwgWyJ0eHQsOSw4LDEsMCwxLDEsMjQiXSA9IDAuNDc0NTU3NzMxMzIyNDgyNjksIFsidHh0LDksOCwxLDAsMSwxLDI1Il0gPSAwLjMxNTk0MjAyMzc1ODg0NzUsIFsidHh0LDksOCwxLDAsMSwxLDI2Il0gPSAwLjQ1MzQ3MzQzMzUyMzAxNzA2LCBbInR4dCw5LDgsMSwwLDEsMSwyNyJdID0gMC45MjMxNjc4NDc4NzMyMzgxMywgWyJ0eHQsOSw4LDEsMCwxLDEsMjgiXSA9IDAuOTQyNTAxMjYwMDg0NDY0NDQsIFsidHh0LDksOCwxLDAsMSwxLDI5Il0gPSAwLjIyNTM0ODYxNTM2OTM0NTgxLCBbInR4dCw5LDgsMSwwLDEsMSwzMCJdID0gMC41NjExNzc1MDM1Mjc2ODQ3LCBbInR4dCw5LDgsMSwwLDEsMSwzMSJdID0gMC4xMzI3OTg5OTMwNjQ5ODI0NCwgWyJ0eHQsOSw4LDEsMCwxLDEsMzIiXSA9IDAuNjgyNjc4MzkxNTExMzkxNjUsIFsidHh0LDksOCwxLDAsMSwxLDMzIl0gPSAwLjA1OTM1NDg5NTk2NDgzODg5NCwgWyJ0eHQsOSw4LDEsMCwxLDEsMzQiXSA9IDAuOTA0MDc0MTcyMzM3Nzc0MzIsIFsidHh0LDksOCwxLDAsMSwxLDM1Il0gPSAwLjg5OTY4NTg3NDA2MzAzODI0LCBbInR4dCw5LDgsMSwwLDEsMSwzNiJdID0gMC4yMjAxNjU3MDQwNzc3Mjc2MiwgWyJ0eHQsOSw4LDEsMCwxLDEsMzciXSA9IDAuODgzMjc1NjYxOTc1NTU5MjksIFsidHh0LDksOCwxLDAsMSwxLDM4Il0gPSAwLjAwMDg0NjQwMTU4ODY2OTc3NjIyLCBbInR4dCw5LDgsMSwwLDEsMSwzOSJdID0gMC44MDQ1NjIxOTk4MjMxMzY5MywgWyJ0eHQsOSw4LDEsMCwxLDEsNDAiXSA9IDAuMTQ1NjY2NzIzMDUzNDY3NjIsIFsidHh0LDksOCwxLDAsMSwxLDQxIl0gPSAwLjk1MzU2MzcyODQ4NTQ5MDk4LCBbInR4dCw5LDgsMSwwLDEsMSw0MiJdID0gMC4wODY5MTgyNTY5ODE4NTAyOTUsIFsidHh0LDksOCwxLDAsMSwxLDQzIl0gPSAwLjA2NzIyNjczNDE5NjgwODkxMywgWyJ0eHQsOSw4LDEsMCwxLDEsNDQiXSA9IDAuMjE3MjQ5MjI0Njk5ODU4MDgsIFsidHh0LDksOCwxLDAsMSwxLDQ1Il0gPSAwLjc2NzUwOTkyNzk0ODI4MzMyLCBbInR4dCw5LDgsMSwwLDEsMSw0NiJdID0gMC4zNTUxMTY0ODgxMjg3NDI5NywgWyJ0eHQsOSw4LDEsMCwxLDEsNDciXSA9IDAuNjk5NDM5MTM1NjcwOTE5MzEsIFsidHh0LDksOCwxLDAsMSwxLDQ4Il0gPSAwLjcxMjM3MTg3NTk5MDc4ODg4LCBbInR4dCw5LDgsMSwwLDEsMSw0OSJdID0gMC45NTA3NDMyNzAzMjYwNDk0NCwgWyJ0eHQsOSw5LDEsMCwxLDEsMCJdID0gMC4zNzMzMTI5NDkyMTMyNDU4NywgWyJ0eHQsOSw5LDEsMCwxLDEsMSJdID0gMC40NjE4NjM2NTE3MDQzODc0OCwgWyJ0eHQsOSw5LDEsMCwxLDEsMiJdID0gMC4zMzEwMzI0NjkxMTQxNzc1LCBbInR4dCw5LDksMSwwLDEsMSwzIl0gPSAwLjExNzY0MTgyNjY3MTkzNTksIFsidHh0LDksOSwxLDAsMSwxLDQiXSA9IDAuMjA4NTM0MzUwNTQxNDEyMzQsIFsidHh0LDksOSwxLDAsMSwxLDUiXSA9IDAuNjU5Nzk3Njk5NzY0MjY5ODMsIFsidHh0LDksOSwxLDAsMSwxLDYiXSA9IDAuODI2NTI0OTEyMTU2ODk3MzgsIFsidHh0LDksOSwxLDAsMSwxLDciXSA9IDAuNjg1MjY5OTc2NDc0MzEyNDMsIFsidHh0LDksOSwxLDAsMSwxLDgiXSA9IDAuOTQ0MDMxOTkyNTg4NjUyNDUsIFsidHh0LDksOSwxLDAsMSwxLDkiXSA9IDAuMDA0MTkwMzQwNjM4NDM0MjY0NSwgWyJ0eHQsOSw5LDEsMCwxLDEsMTAiXSA9IDAuNTUxMjQyODcwNjE2MzAwODQsIFsidHh0LDksOSwxLDAsMSwxLDExIl0gPSAwLjI3MTc1NzU3MTU5NDM5MDI5LCBbInR4dCw5LDksMSwwLDEsMSwxMiJdID0gMC4zNzUzMDAwMDk4NjYxMzM2NSwgWyJ0eHQsOSw5LDEsMCwxLDEsMTMiXSA9IDAuMTA0OTUwOTE4NTk0OTIyODksIFsidHh0LDksOSwxLDAsMSwxLDE0Il0gPSAwLjM0NzM1ODM2ODkwMzQ2MDA2LCBbInR4dCw5LDksMSwwLDEsMSwxNSJdID0gMC42OTA2ODg3MTU5MjExNDcsIFsidHh0LDksOSwxLDAsMSwxLDE2Il0gPSAwLjUxMTU0MzY5MzA2MDg3NTQ0LCBbInR4dCw5LDksMSwwLDEsMSwxNyJdID0gMC42NTkxODcwNDgxNjg5ODgzMiwgWyJ0eHQsOSw5LDEsMCwxLDEsMTgiXSA9IDAuMjA2MzIwOTYwNjM2ODA5NDksIFsidHh0LDksOSwxLDAsMSwxLDE5Il0gPSAwLjE5NzU1NTE2NzQ2MjA5NywgWyJ0eHQsOSw5LDEsMCwxLDEsMjAiXSA9IDAuMDg4ODkzNTUwMDY4MzE1Njc0LCBbInR4dCw5LDksMSwwLDEsMSwyMSJdID0gMC41NDgzNTI0OTE4NDQxMDI3MywgWyJ0eHQsOSw5LDEsMCwxLDEsMjIiXSA9IDAuOTIzNjQ1MzQyNTU3OTQ4OTUsIFsidHh0LDksOSwxLDAsMSwxLDIzIl0gPSAwLjM2MzAwNzE5MDI2MDQzNDgyLCBbInR4dCw5LDksMSwwLDEsMSwyNCJdID0gMC4wNDY5MjQ0NjEwMDk5NDcwNzIsIFsidHh0LDksOSwxLDAsMSwxLDI1Il0gPSAwLjEzMjEzNTc3OTg3NDQ4OTEsIFsidHh0LDksOSwxLDAsMSwxLDI2Il0gPSAwLjA1NDY4NzU4MzkxOTQ4NzU4MSwgWyJ0eHQsOSw5LDEsMCwxLDEsMjciXSA9IDAuMDMzMjM0MTkxNDQ3NTM5MTQxLCBbInR4dCw5LDksMSwwLDEsMSwyOCJdID0gMC40MTcyNzQ5MDc0NDI0MjQwMSwgWyJ0eHQsOSw5LDEsMCwxLDEsMjkiXSA9IDAuMjY2NDQ4MDkyMzYxMjU3OTksIFsidHh0LDksOSwxLDAsMSwxLDMwIl0gPSAwLjU5OTUzMTMzMTYyOTMyMjQ4LCBbInR4dCw5LDksMSwwLDEsMSwzMSJdID0gMC4xOTY5NzUxNTAxMDI3NDc5MSwgWyJ0eHQsOSw5LDEsMCwxLDEsMzIiXSA9IDAuMjcxNDU4ODMwNjU5ODY2MiwgWyJ0eHQsOSw5LDEsMCwxLDEsMzMiXSA9IDAuNTA4Mjg5ODY1MDM5MjAyMDQsIFsidHh0LDksOSwxLDAsMSwxLDM0Il0gPSAwLjQ4MzUwMzQyNjU2NjE4OTk0LCBbInR4dCw5LDksMSwwLDEsMSwzNSJdID0gMC4yMDY1MjE4NDQ4NDQ1OTUzNSwgWyJ0eHQsOSw5LDEsMCwxLDEsMzYiXSA9IDAuNzU1OTc1NTQ0Mjc4ODk3NTcsIFsidHh0LDksOSwxLDAsMSwxLDM3Il0gPSAwLjM4ODcxOTU1ODc5NjgyMTUyLCBbInR4dCw5LDksMSwwLDEsMSwzOCJdID0gMC4xNDU5MzIzMjYxMDc2NDc1LCBbInR4dCw5LDksMSwwLDEsMSwzOSJdID0gMC41ODM0NDE5OTczODQ2MTE0NCwgWyJ0eHQsOSw5LDEsMCwxLDEsNDAiXSA9IDAuMjMzMDk3OTc1MTE1NjU5ODgsIFsidHh0LDksOSwxLDAsMSwxLDQxIl0gPSAwLjc4NDE1OTg3OTYzMjMzMTQ3LCBbInR4dCw5LDksMSwwLDEsMSw0MiJdID0gMC4yNTcwODcwMjU5OTE5NjcwOSwgWyJ0eHQsOSw5LDEsMCwxLDEsNDMiXSA9IDAuNzY4NzcwNzM3OTEzNjg1NDQsIFsidHh0LDksOSwxLDAsMSwxLDQ0Il0gPSAwLjUwMjgwOTY3NDYwODg3NTQ5LCBbInR4dCw5LDksMSwwLDEsMSw0NSJdID0gMC44ODM1MTQ5ODc3NjMyNDE1NSwgWyJ0eHQsOSw5LDEsMCwxLDEsNDYiXSA9IDAuNDE4OTYzNjUzNzI4MTk0ODgsIFsidHh0LDksOSwxLDAsMSwxLDQ3Il0gPSAwLjI1MTQzODYyNjM1MjU4OTYyLCBbInR4dCw5LDksMSwwLDEsMSw0OCJdID0gMC4wNjk0MzA5ODQzMzIyNTI2OTksIFsidHh0LDksOSwxLDAsMSwxLDQ5Il0gPSAwLjc3NjkwMDUyNTYzNDE3MjExLCBbInR4dCwxMCwxLDEsMCwxLDEsNDgiXSA9IDAuNjE1NjY1MjMzMTI4NTUwMTUsIFsidHh0LDEwLDEsMSwwLDEsMSw0OSJdID0gMC41NzMzMTc5NTI4ODMyOTIxMywgWyJ0eHQsMTAsNiwxLDAsMSwxLDgiXSA9IDAuMTQ3MTQ2ODM5NzE1NDY4MjcsIFsidHh0LDEwLDYsMSwwLDEsMSw5Il0gPSAwLjU5NTMzMjE0MTY1MjQzNTUzLCBbInR4dCwxMCw2LDEsMCwxLDEsMTAiXSA9IDAuNzg1OTc1NjA1MjMwMDY5MDQsIFsidHh0LDEwLDYsMSwwLDEsMSwxMSJdID0gMC43NDMyMTA4OTE4NDEyODAwOSwgWyJ0eHQsMTAsNiwxLDAsMSwxLDEyIl0gPSAwLjgyNzYyNTU1NDg3NDEwMTgzLCBbInR4dCwxMCw2LDEsMCwxLDEsMTMiXSA9IDAuNjUyMzg4ODc4MDE0MjgzMDIsIFsidHh0LDEwLDYsMSwwLDEsMSwxNCJdID0gMC45Mzk3NzQ5NjI1MjI3NDUzOSwgWyJ0eHQsMTAsNiwxLDAsMSwxLDE1Il0gPSAwLjY0NzIwMTQ3NTM3MDExMDMsIFsidHh0LDEwLDYsMSwwLDEsMSwxNiJdID0gMC42MjM1ODkyOTk0ODUzMTQyNywgWyJ0eHQsMTAsNiwxLDAsMSwxLDE3Il0gPSAwLjM5MTQwNTkxNDIwMzAxNTk2LCBbInR4dCwxMCw2LDEsMCwxLDEsMTgiXSA9IDAuMDY0ODAyMjkwMTY1NzUyNzg1LCBbInR4dCwxMCw2LDEsMCwxLDEsMTkiXSA9IDAuODY4MDI1MDI0MzE3NzYyOTYsIFsidHh0LDEwLDYsMSwwLDEsMSwyMCJdID0gMC4xNTYwNTk2MjA3MzA2ODYzNSwgWyJ0eHQsMTAsNiwxLDAsMSwxLDIxIl0gPSAwLjc2MTQwNjM3MTgzMDE5NzU1LCBbInR4dCwxMCw2LDEsMCwxLDEsMjIiXSA9IDAuMjgzOTMxMzE1MzQwNjEwNjcsIFsidHh0LDEwLDYsMSwwLDEsMSwyMyJdID0gMC4wNDE3MjA4NDA4OTI2ODU2ODQsIFsidHh0LDEwLDYsMSwwLDEsMSwyNCJdID0gMC43NjE1NTMyMTI0ODgxMTE5MiwgWyJ0eHQsMTAsNiwxLDAsMSwxLDI1Il0gPSAwLjI1Mjk1OTMwMjUwODUxMzI4LCBbInR4dCwxMCw2LDEsMCwxLDEsMjYiXSA9IDAuMjgwNzY5NzY2MzEwODA1OTcsIFsidHh0LDEwLDYsMSwwLDEsMSwyNyJdID0gMC40NTEwNDk4OTQ5NTEzODQ4MSwgWyJ0eHQsMTAsNiwxLDAsMSwxLDI4Il0gPSAwLjc2OTM0OTM3ODM0MjQ4NjUxLCBbInR4dCwxMCw2LDEsMCwxLDEsMjkiXSA9IDAuODI0OTg4ODY4NDM5OTI0MjUsIFsidHh0LDEwLDYsMSwwLDEsMSwzMCJdID0gMC45NzMwMDk3NzMxMDQ3OTA0MiwgWyJ0eHQsMTAsNiwxLDAsMSwxLDMxIl0gPSAwLjA3MjI1MjE2ODAxNjA4MjE0MSwgWyJ0eHQsMTAsNiwxLDAsMSwxLDMyIl0gPSAwLjg3MTQ3NDY0NjA4ODM3MTMzLCBbInR4dCwxMCw2LDEsMCwxLDEsMzMiXSA9IDAuOTY1ODQ3NjkzMDAzMTMxNDUsIFsidHh0LDEwLDYsMSwwLDEsMSwzNCJdID0gMC4wNTA4NzMxNjkzNDY4NjU1ODgsIFsidHh0LDEwLDYsMSwwLDEsMSwzNSJdID0gMC4zMDMyNjkzOTAzMTEzMjMyNywgWyJ0eHQsMTAsNiwxLDAsMSwxLDM2Il0gPSAwLjA3MDIxMTE0NDA0NzUxOTkzNiwgWyJ0eHQsMTAsNiwxLDAsMSwxLDM3Il0gPSAwLjQwNDc3NjE1NTA4MTcwMTczLCBbInR4dCwxMCw2LDEsMCwxLDEsMzgiXSA9IDAuMzYzMTMzNDQzMDE1NDA4NTEsIFsidHh0LDEwLDYsMSwwLDEsMSwzOSJdID0gMC42MjM0NDkxMTUzNzk4MDg3NCwgWyJ0eHQsMTAsNiwxLDAsMSwxLDQwIl0gPSAwLjIyNzg0NTUxNzQwMjcxNTg2LCBbInR4dCwxMCw2LDEsMCwxLDEsNDEiXSA9IDAuODM0OTAwNDk3OTE3NTA3NDIsIFsidHh0LDEwLDYsMSwwLDEsMSw0MiJdID0gMC40NTEyNjI3NDU1NzM5MTA4OCwgWyJ0eHQsMTAsNiwxLDAsMSwxLDQzIl0gPSAwLjA2OTA3ODU4NTMyMjQ3OTc5MSwgWyJ0eHQsMTAsNiwxLDAsMSwxLDQ0Il0gPSAwLjM4NDY5MDY0OTIxMzI3MjIzLCBbInR4dCwxMCw2LDEsMCwxLDEsNDUiXSA9IDAuMjg1MDc4ODA5OTU4MDQ5MjQsIFsidHh0LDEwLDYsMSwwLDEsMSw0NiJdID0gMC4zMDk1MDQwNzg2NDQ0MDAzMywgWyJ0eHQsMTAsNiwxLDAsMSwxLDQ3Il0gPSAwLjkxMjA0NzI5Njk1MTIwOTIzLCBbInR4dCwxMCw2LDEsMCwxLDEsNDgiXSA9IDAuNDYxODk4MjMxNjEyOTczMzksIFsidHh0LDEwLDYsMSwwLDEsMSw0OSJdID0gMC43NTQ0MDAyNTEwODM2ODUzNn0gLS1bW3RhYmxlOiAweDA1N2QzZDYwXV0="
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/bridgen't.bab",
    "content": "{\"width\":12,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":10,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"factory\",\"parent_level\":\"\",\"name\":\"bridgen't\",\"map\":\"eJydmOuOokAQhV/FzL9NyIa+N2t4ksmGMMq6JqxM1IkzIb77YjWijMeW8h9p+aiqU6dvLptZ3SzKelbkbbtf11X+cij325fkM0+T9TI3Kvnqnnbv1WJd1nl7TJbrbS6SRVM327w1iTgeEwjKDhT3wM26xpjMOkyyMZV2mOJjosM0HzvVZvjYSUvLx3SHOT5mOszzMdthGQcT1G4d88k1tv/cF2/l20CKmE9amehbg4WIguuUgE12yinRv9VyNaAyZpZWJOpOpjrl2oUwlXHtEjA/1S7fO6Fihol0QrmplrmWVJI00dVlJCllWw2kgbYZvb1pdof1v4FwPmYYvJSFJDOOZTb7AbRRw0hkmBBQTDXMN1Ec7OBNEEUCmidmLJGeP2OJc4Y7YwnTniN/UIPADMp/J8jkJf0U5GPgRMqfNJrkt1PlH2HOcrfVgGmu9IRpx3J+s2oGVES3Vrxahphqaid6T4ZwMrbq4T4Y6oPj9oEw57h9CJji9oEwbbnHm4AZ7vEmYJq7X1lS0nMWlD91sxpQHz8E2Oul+bx/ECjUdJeNwWiNtztPWNUDah5YDTjbkUAZa8WtBlDgSX9TWXjZ8SUJoJ8uybkuT9tcyqkrKEmgyB7sJFcRz34h0EVvCdgvBMqUL04Ao1syFicjcQRHnF8/BtCn/DlBoGScU8dgdOW9nRPbZnFho5eUVl1ne3F3QPFFZfT6qikP5dd7vbtQ0XvKOOBwWqUbjpVTOzKc/sPV9ImJ1ZNPzCxBR2sbvX7DO0DgNHd76jn2Ea3n2BtUz0U1jXBRRSMc/05FnEu5d/CeE9xLeM/JR1eq47z/36bofp0Xr/L3z/Bj8Sr6x25UwVENRw0ctXDUwVEPRzM4KlI8LPAwLkTgSgROWuCsBU5b4gQlDilxSIm/rfC3FS5e4eIVbpjCmShcvMIJapygxi7Td2yGpdI4b43z1jhvjfM2OBODP2JxORY71uG3HQ7pcPEOF+/uTDOct8PFO5y3x730yGzbav+x3cyKebVZ/gctKYA8\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/bridgen't.replay",
    "content": "1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,0,undo;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;1,0,wasd;-1,1,wasd;0,0,undo;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,-1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;-1,0,wasd;0,-1,wasd;0,0,undo;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,0,undo;0,0,undo;0,-1,wasd;0,-1,wasd;1,-1,wasd;-1,0,wasd;-1,-1,wasd;1,0,wasd;1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;0,-1,wasd;1,-1,wasd;0,0,undo;1,-1,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;0,0,undo;0,0,undo;0,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,-1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;1,1,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,1,wasd;-1,1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,-1,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,0,wasd;1,1,wasd;0,1,wasd;1,0,wasd;1,-1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,-1,wasd;0,0,undo;0,0,undo;-1,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,-1,wasd;-1,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,-1,wasd;0,-1,wasd;1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;0,0,undo;1,0,wasd;1,-1,wasd;0,-1,wasd;-1,1,wasd;-1,1,wasd;0,0,undo;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;-1,-1,wasd;0,0,undo;0,-1,wasd;0,0,undo;1,-1,wasd;-1,0,wasd;0,1,wasd;-1,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;1,-1,wasd;1,0,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;-1,-1,wasd;-1,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;-1,-1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,-1,wasd;1,0,wasd;-1,1,wasd;0,-1,wasd;0,-1,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;0,1,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;-1,1,wasd;-1,1,wasd;0,1,wasd;0,0,undo;0,0,undo;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;0,0,undo;-1,0,wasd;0,0,undo;0,1,wasd;0,0,undo;0,1,wasd;0,0,undo;0,1,wasd;0,0,undo;0,1,wasd;-1,0,wasd;0,0,undo;1,0,wasd;1,0,wasd;0,0,undo;1,0,wasd;1,0,wasd;"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/bridges_.bab",
    "content": "{\"width\":12,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":10,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"factory\",\"parent_level\":\"\",\"name\":\"bridges?\",\"map\":\"eJyV1k1ugzAQBeCrRNlVYoEB29CIs0Qk0BSJQkSIkijK3QsefmrUel733yA8zx47bzZVc8yqzT59PruyKtLtZ5Gftt499b0yT4X3SEPvci6OZValz5eXl20qXt5ou3u3t3zQ+8jtD8Wsw15Lt+6yqpp91Hv1t7f+RPZWg1b1Ngat7m3C/HNx7wYvBh/33nf7tjnOPOm54H/FWOG707GxcEdj48CdjI1DLBbCkTsXs0Oyw+Illg1hxYdzy7p2KAhMgebTof1KPHanM/C6udzKr6VkCDTg/9/ggAn053GjAjBUwkyoq8UGobvzA/+oHqYgNAUR3x27QGK9Iaz43hx+fFtjnSEc8525LjrBtmRkRhwQad2cmqUAjJQwE+l4ksiG2ESUBkfug2FjiQ0twgoLnbDGJhzhGOsc4QSbcMrcO767G9NMIcwEaGMmwPFqIAvOWW0wEyAdxmYp0KE7l+m36esSWyNhBa2RrMbOVmwwcLfSSDBcB+4VTu0gzJzbaYX0IwnWDoOlj+28xGDBL/H9beZaYCHSt5nHmo2Bt9oYJHnkni8WzlzzAz812S17nKvLUsXc9/PjgF6EzGU/rXfUzDRZaXCcCPNOUcw8WWkBvglJM7t8pUPwCUk6At+QpOW/eqLAVyRpjV1mo47BRyTp5Pdd9dq1RXdt681+V9T5N8nTZbw=\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/bridges_.replay",
    "content": "1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;0,-1,udlr;1,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,0,undo;0,0,undo;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/build bridging.bab",
    "content": "{\"width\":12,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":10,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"variant\",\"parent_level\":\"\",\"name\":\"build bridging\",\"map\":\"eJyN191uozAQBeBXiXqzWokLbPPbimeJaKBZJG9cEbpJFOXd1/HggLNbz7nrxTctHHuGaWc22uxavdk21+s06L55mc7T9lff7V+Sc5MmQ9eI5GJ/OH72u6HVzfWWdMPYiFuy8u/9Q0urRVwfzN48vLJexr0x7w+eWa6Yh2kXnluewc9eWJ3H9evPhy6tLr7XQYaVtSVoa2sr0IrU4pp5QTN2471CuIr/H2eyM9qMzVUk6vbPn6JCGY8+xCoefIizeO4hzrHYCRfx3FfXhXyJZU+4ArLvDz+me4V0FTXfSlN/XgpkynfTqZ3GpUDE28m/AGHwRAkrvjmolYhnWJKEcz5JPzSUKyjQmUS85GNc8woLkXCNheiwSvkQvxYtsAwJSz7DD31xb5m5AoVM6uNp+L2UZFgwhHMsGMLM6J2blGyJDVPCTJN6nDvM9GeAM6Y3Qwz2JWGwLwmDk5YwM2nvZz6a3eKZYbs0DnFg3O5Ne2ovn/q4VIFDlzB4noXDzHn60elwnsaDDLHAPlmEmdb0uHRY8aPtQ5tVQRa/h/65CTMLUYiZppxvCllmG6KtcvW7wY2IcI0FWLklLkW/DcRFPD6fNWEZb2MfH2GmM0MM7kCEme+lx7XDwLdS/9GLZz6W/rEJV9g7Eq6h++RsmWL3g7DA8hC0t0tsKswaPMVZo6ssafAchds3S+YgnzRzjE8aXHlmDe48pCtmsD5pcLLOWoL/DZBW2KWaNbjCzvqbs7y9jf30NR4227f+0P0FxU8hvA==\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/build bridging.replay",
    "content": "0,-1,wasd;1,0,wasd;-1,0,wasd;1,0,wasd;1,1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,0,wasd;1,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;1,1,wasd;0,0,undo;-1,1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;1,-1,wasd;0,0,undo;1,-1,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,1,wasd;0,1,wasd;1,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,-1,wasd;1,-1,wasd;0,-1,wasd;0,0,undo;-1,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,0,undo;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,1,wasd;-1,0,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,0,undo;0,1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,0,undo;0,1,wasd;-1,0,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,0,undo;0,0,undo;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,-1,wasd;1,0,wasd;0,1,wasd;1,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;-1,-1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;0,0,space;0,0,undo;0,0,space;1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,0,undo;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,0,undo;0,0,undo;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,0,undo;0,0,undo;0,0,undo;1,0,wasd;0,1,wasd;-1,1,wasd;0,0,undo;-1,0,wasd;0,1,wasd;0,1,wasd;0,0,undo;-1,1,wasd;0,0,undo;-1,1,wasd;1,1,wasd;0,-1,wasd;0,0,undo;1,0,wasd;1,0,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;-1,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;1,0,wasd;0,1,wasd;1,-1,wasd;1,-1,wasd;0,0,undo;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,1,wasd;0,0,undo;0,0,undo;0,0,undo;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,1,wasd;0,0,undo;0,-1,wasd;1,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,-1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;-1,-1,udlr;1,1,udlr;1,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/building_.bab",
    "content": "{\"width\":12,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":10,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"cyberpunk\",\"parent_level\":\"\",\"name\":\"building?\",\"map\":\"eJyd191u4jAQBeBXQb2rlAs7/2mVZ0GBpGykLK5CKkCId6/jcUjcZhefuUX+CIyPZ5xabTq1r7rNtrzdhrZrypfhMmz/NPXhJbiUImjrUgbXMg5On82+rbrydg/qttcf7lWn+vImAnG/Bwu7ax4y1DL5JZ3VH911Xh/p9anfk5xfGGuXMVyiXc5wqXYFUJFqN1I50kxT4U+H5jI8bK6txH6ucYV2EcNJ4b/zLpSrG+8BQzwBBCP/CPzcEhnjMSCYYDmYNjM0OMWSQMeKaLYaBGf5UZ3O7d+ZjNkJsf9IEAjPsnMYHDICRBAI0I/ihOHqbrrFMdsQmeWR/6Fa9ivCMV5VgglW1d3imelqTf/xnAyr49csc/9DMcqDqs7V9bM7jd8Qm28o8HZlYCSw4hzVQc0YmFbuU9eH1Sq03YPcs84jfz8wMTD2bwAuTPDCEkzxuBLM8AlCMMd3g2CBT5DUXAWEf1XP1dDPEAiOC4Hg9Go/O8ZtJzMQCA61LLXAQHimv0lwve94QKAH2fqQAzrQVJ/cwIIzWQ1NxP8n61RKWiz9j9NUEYIhXkqCEX4qCgPByLy9zpQRGIKMwBAEh5YNDdkcvAc2My2eXxycKWdUKvzvgI/LI71ESLxTWcnIj5WMAElz100Z08pKxriykjGvrGQMLCsZE8tKxsgimQnGWw9Jib/5Wrl+TfaR0fPE39/7Zvjqj5vte3OsvwFhFngJ\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/building_.replay",
    "content": "0,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,0,undo;0,0,undo;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,0,undo;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,0,undo;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,-1,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/choose your bridge.bab",
    "content": "{\"width\":12,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":10,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"greenfault\",\"parent_level\":\"\",\"name\":\"choose your bridge\",\"map\":\"eJydl91uozAQhV8l6tWuhFaYH9s04kmqFSJAs5GsUBGiJop493U8mJ/tYM/2LhffSeJzxsd23e5UW5VqV+SPR39STf7S3/riT1MfX4JbHganOmfBXX+4fDTVqVT5YwjqU5ezIVjwfXPrJz7SPNvmV98dazZ2f/e7amc+0XzyhQ+qVrVd/mBBPKy0h2ZSplqZelZRKjXxXPN885fCgA34ioTWCeLqpWYlkc00m7n//2fZd0+emdRCf2xgD+DMndoTf/0x48+QI1oQdhkg9CS+hvG4N2BPwmsYj3cD9mRqrCwPM0/MFWBCsO/qbpKKzPYK0aSs9clyMpdTDWLmyu18Ul/+JMgi/z5dC2JacgAn/r15WBiQ0uyNDczd22ANC1p1ASxRKzfgzG8gLNHgcUizD2Dmt+8605HbvWXlJkYQow56Ohekib9Uqmt3WShSZ6+gtQtC7jf43B7bWSBoFgMs3RaPux/YjHYCpOY887T0GvZ09BrGG3oDJrYywMRWBphw7k4jAAqODqhzBLgRCreX9ngEWDpvEmEQDhvCDF0QKuzaatKlofNCwZc6uyxhhIT7l92wIMAvYOiGtUsDIV7aTk9AiBc4Krw0qlpK8TK30niZ9mgn6NxTgtopjdAzJXOFAS7de846D3BGvxVZA42Q433vdB6EePejQmtDZoSR34bXnzMe//9MgdB9Y0dXBkK8OFDh88+OwwFajlYwOhxz3iAV/uPx2Jaf5f1DXWaVRC9xzmlk8MzIaKUFtPjGnIzKbwwKMxdU4ZmUf2h8ULbohHZIjXRKfDsAzYmPB6AF8fUAtCQ+H4Am3giAliHx9QA0w58Pw3581+uH/bAv3iL2+xdkXbzx8eO+a/prd94V++Zc/wW8iVgg\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/choose your bridge.replay",
    "content": "0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;1,-1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;-1,-1,wasd;-1,0,wasd;-1,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,-1,wasd;-1,0,wasd;-1,-1,wasd;0,-1,wasd;1,-1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,-1,wasd;1,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,-1,wasd;0,-1,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,-1,wasd;0,-1,wasd;1,0,wasd;1,1,wasd;-1,0,wasd;-1,1,wasd;1,0,wasd;0,1,wasd;1,-1,wasd;-1,0,wasd;-1,-1,wasd;0,0,undo;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;0,1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,1,wasd;0,-1,wasd;1,1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,-1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,-1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;-1,-1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/down with the bridge.bab",
    "content": "{\"width\":12,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":10,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"cyberpunk\",\"parent_level\":\"\",\"name\":\"down with the bridge\",\"map\":\"eJydllFvgjAUhf+K8W0JD7SlgDP8FoPAlITZBTFqDP99tLda3Tp6svfvlHvvKae3VotOVWW32BS329B2TbHcN/VuGV2KOGrrgkXXIouOX03Vll1xG6O67Qs2Rj6WT2wOsmJiV3+zw2XYDM1l0DzTfDLxLHy2YeXECpBNJzYB2WxiJcjmE5uC7Gp+xnoW23L7wFmMzZlgFh70uRx6LeBGoF2MA9U0Dhfzxmj8oI7n9tNJtJc8XD/BATP1+a8C0FGCA5b+bDafn7zGP7qrEQgjWGHX1sA8Dre6dWdzhjVKMA83enK0wG5YYuAkXPZB7ZQTSKxwgtP5wu2PQWyGhZU0cD5/z19h0EcDixi73wQzLKwI5tjkCBZYXKUGTuancY8IggMGvsIBA3tVOTbzpmZUqU71xY1HfPxVfmaEATPpx1RPAr+h7kti/NWOESYx1jvBDOqdWP/rOdt7boQCDWzCAy/pfUwES+9Vnh0TCQMp/AqDD+vKwIDV728O/4fRRihBowkOGK2LsmYTz71J5TXb+UfSQDZrXJ2qvRMk3g3g/i32PIHH6mB2NCmxULA0aLml0WWKNjowrC0NpjXRKRjXlgbz2tJgYFsaTGxLJ+CKSbTE3kZLp+CKSXTm3zHHdd8Mp/6w2KybQ/0N0Jkfbw==\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/down with the bridge.replay",
    "content": "1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,-1,wasd;-1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/extendo-bridge.bab",
    "content": "{\"width\":12,\"version\":5,\"extra\":false,\"author\":\"slabdrill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":10,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"garden\",\"parent_level\":\"\",\"name\":\"extendo-bridge\",\"map\":\"eJyV1t1uozAQBeBXiXpRaSUuMP6DVjxLRAPNoqWhIqAkivLuCx4DZdV6zt5/g/Cxx+Oy3TXtoWh2+/x+7+umyp/6a7//XZXHp+iax1Fd5iK65So6f1aHumjy+yMq6y4Xj8j7jU1Gq0ErR2tAq0ZrQatHm4LWjDb72U5ZDBMWE7YjjsO4r6794tPRi7B/qxadjToJ63M//DksBSIeKyT8fQHuI2FmI923i7fVSyx0wopP/VL03VSQuALNJ08rJW744E/t+VJ/rCU2nP78/4RTPvhTe2zXggyL3uEkBqJvh+taIMLN8U86SRLeqom/NzdXIF2BDMc5/z1hxWfzvGqNBUPYAMF8+W3LxzKsOsUOsHI44xfZF02zFMgYWydhEV6n7zuyCXYxaodluI22WGG7Tlhj7UPYhNPbYoslRzjFxo9xOAunMd9ADivmrt1i5qbdYuamnVudMDgzrcOKvzXfm/ZLgQ5v+fzfhJld3GJmF7eY2cWuPaw2w9o2dQ+DGB0jxEU4jjk7wkm4A+YVEpZYdoQVlh1hjXVA5rDh83j5tXKLHQ/CzIzcYmY+brAB5qM/IuTh8UgcGI/HtrgUt8/mvFbJ8JNmef/Qq5PpzHm9XmssSq8NlqXXFjsvwj3cTIoNEK8zbIKQtjE2QrwW2AzxOgGfvqTl/2RiFXYle62xee21AV/VpO33Z/Dx2lX90J12+9fqVP4F3Aujhw==\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/extendo-bridge.replay",
    "content": "0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;-1,0,wasd;-1,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,-1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;1,0,wasd;-1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/flying trapeze.bab",
    "content": "{\"width\":12,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":10,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"mountain\",\"parent_level\":\"\",\"name\":\"flying trapeze\",\"map\":\"eJydmOuOmzAUhF8l2h+tKqGK+6URT7KqEAlsFsXFFWG1WUW8e10PCZCw9mj/RegbwfF47HNSyY2Q+1Jsivxy6RtR50/9uS925e7JOeeu01S553yoH6e/9b4pRX4ZnKrpcm9wZnjZybZqv/c3ja80nlnTyf0NDxTuP+DOXgrZ5ZfQ8YaFdFfflKFSBuYXvZZ1fzp+TJpIaULuba91dbjpYqWLzO/q6/O0CIniYzM/qyRVdGKmX8Ssikzx6Req8FwlzMwvei/77r/A0wJiA6AO4IT3rTy9N38mybr/D98P2GL5El73+hPYYvAStri7hC3mLuF1Z9dhn3BzTJqvecLM5tDKblKs+3ndaK4T3IUTRwe05mDHa5sUQibXCwFpNGAiyYsy6CQDJ6L8NtGk3RoOCLvHLw80T2cXOJHd6yEEgdHgthEPZUBG2Dv/LNJcwGSKAZMpBkymGDBpq4ZDPsWh5mlbgRO2npqqPjbHSUOeyYAJP/tSiElgvoOj+xu/lQc5iWNuOwBOzNthTAtY0uBIw5nZgwUcuWYHlrDHLT1gn7sOAQfcygEOuSDFGo7sO/JFyJkgNq/ItQUBnJi/ewmn5u8egwQ24/Kf6P7PZVMH3OMqBOxzFQIOqArBhtw5lGqYcPHXjwm3eHg1HHBi3tXXCgGn3HIAzriNmummnDDx20STHgImPQRs8XA+TUAQsk0I8MjehMzOfGhi00yxdpt7GHQSJvxoG0ZFamwqfSccHpZtVGbcIoNOXbKl1810arlW72jLrXpHszMOaHbIAc1OOaDZMQc0O+eAZgcd0Oyko+nskyZp2I7/YBTq2bZ4DoLfP7GPiuds/KkeJ/HK467u37p2U2zrtvoHfu+vnA==\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/flying trapeze.replay",
    "content": "1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,0,undo;0,0,undo;0,0,undo;0,1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;-1,-1,wasd;0,-1,wasd;0,0,undo;0,1,wasd;0,0,undo;0,-1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,0,undo;-1,0,wasd;0,0,undo;0,0,undo;-1,0,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,-1,wasd;0,1,wasd;-1,0,wasd;-1,1,wasd;0,1,wasd;0,0,undo;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,-1,wasd;0,0,undo;-1,-1,wasd;0,-1,wasd;1,-1,wasd;0,1,wasd;-1,1,wasd;0,1,wasd;1,1,wasd;-1,0,wasd;0,1,wasd;0,0,undo;0,0,undo;-1,-1,wasd;0,-1,wasd;1,-1,wasd;0,1,wasd;0,0,undo;0,0,undo;1,1,wasd;0,0,undo;0,1,wasd;1,1,wasd;-1,0,wasd;0,0,undo;-1,0,wasd;0,-1,wasd;-1,-1,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;1,-1,wasd;-1,0,wasd;0,-1,wasd;1,-1,wasd;1,0,wasd;0,-1,wasd;1,-1,wasd;0,1,wasd;1,0,wasd;-1,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,0,undo;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,-1,wasd;0,0,undo;0,-1,wasd;1,0,wasd;0,1,wasd;0,0,undo;0,0,undo;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,0,undo;-1,0,wasd;-1,0,wasd;1,0,wasd;0,-1,wasd;1,-1,wasd;1,0,wasd;0,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,-1,wasd;0,0,undo;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,0,undo;-1,0,wasd;0,-1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,0,undo;-1,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,0,undo;0,0,undo;-1,0,wasd;0,-1,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,0,undo;-1,0,wasd;0,-1,wasd;1,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;-1,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,0,undo;-1,0,wasd;0,0,undo;0,0,undo;0,-1,wasd;0,-1,wasd;0,0,undo;1,0,wasd;-1,-1,wasd;-1,0,wasd;-1,-1,wasd;0,0,undo;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,1,wasd;0,0,undo;0,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;1,-1,wasd;0,-1,wasd;-1,-1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;1,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,0,undo;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;0,-1,wasd;0,0,undo;0,0,undo;-1,1,wasd;-1,0,wasd;0,1,wasd;0,0,undo;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,0,undo;0,-1,wasd;0,0,undo;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,0,undo;1,0,wasd;0,-1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;0,0,undo;1,0,wasd;1,0,wasd;0,-1,wasd;-1,-1,wasd;0,-1,wasd;0,0,undo;1,-1,wasd;0,1,wasd;0,0,undo;1,0,wasd;0,0,undo;0,1,wasd;0,1,wasd;0,0,undo;0,1,wasd;-1,0,wasd;-1,-1,wasd;1,0,wasd;1,0,wasd;0,0,undo;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;-1,-1,wasd;0,-1,wasd;-1,0,wasd;0,0,undo;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;-1,-1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;1,0,wasd;0,0,undo;-1,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;0,0,undo;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,-1,wasd;0,0,undo;-1,0,wasd;0,0,undo;-1,0,wasd;-1,-1,wasd;1,-1,wasd;"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/frozen bridge.bab",
    "content": "{\"width\":12,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":10,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"volcano\",\"parent_level\":\"\",\"name\":\"frozen bridge\",\"map\":\"eJyV1tuOgjAQBuBXMV7tJlxQzmh4FoPAIgmxBjGrMb77QqeWQ3Y7/95/BTp/Z2gpN60s8nZzyJ7PvmmrbNvf+0Mh27bcOvfMdZoyE84jC5zrpSqavM2eL6dsuky8nNmCY2W0N+jQrncfRvuDjv7Wp6qsjQ0GG4M2HGwC2miwKbO//DhyMfJ44K6dd7IwPBm44L9E2XSwPmiFa49liYU9lSX2sFAI+/ZU1tUTAZYM4ZCPxpxVT62I+HTosBKP7emM/Ktrynr2hjFQj98AYSbR8fmLBR6YKmEm1dVmPc9e+pGf+5H7ivv/qQ0tCbDaEA752tDXE4+wyhCO+crcJp3whVE6UDrFOlph3+U3eZa1nBYw03b5dGbY6sYjyzTq+8GhwoG9jZY4xApCOMKOCOEYG4iEE6xyhFNsIEbqx+Paq2FGEGkmwZVmItS/ErLg3zJWmIlQtW8rZwuYGM13k2bacaWZftS7JMt043uXicIpOu8VD137Ht8FISzsR9VskbQHFoS0j52/VGEgyt3nxNEgSaNBkgYGqw6TfAJcD6qJp/wkrmX+nT8u7dWsilz7NcHcKei6J8Bu1hzNVXMwWKEuOBE4Z7UGB63W4KTVGhy1WoOzVmtw2JKOXfD6SVpgvzWtgSvQSfZ9NVvi/364Xvuu6m/deXPYV+fyB298amE=\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/frozen bridge.replay",
    "content": "1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;1,-1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,0,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/frozen bridgen't.bab",
    "content": "{\"width\":12,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":10,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"volcano\",\"parent_level\":\"\",\"name\":\"frozen bridgen't\",\"map\":\"eJyV1s1ugzAMB/BXqXqbxAHIB7CJZ6looR0SaybKtFZV330hTqFUW/zfjcPPKLFjJ7VZdWZXdatNeb0ObdeU6+E8bPadOayjcxlHbV0m0cV+nD6bXVt15fUW1W1fJrfowW+bSadWJ2G979v6UE8Rwkak4Yid6bo5QNoACS9IWa3+tSBtI/TfEe9NPScnszYDbW5tDtrC2oLZY7UdeeJqFPNF6s1u9km4TPe1EB5rKlAswtVZYhkuzhIrrC6ENVYYwhmf7ekIpi4iR5uCeMF3xdGcvtuPKSSNw21x3wDhJFyh8f/LgBSrEmHBt5A/jORl+KC73Q4jF44rPjnvZhiaOUJjuSGc8bnZPvw7xzJDuAAyM/9bxHxivkYtnQZ7lDDTo3TCDmYOAPuUMNOnvvpkVbjznjapsaGoHM7CXbfEOZY+wgV2ohyWMTYPCSdYngmn2DzUDotwNqaJRZq5NZ80c2v6u4QseF9mDjMlfHx9UABTxmndpAtwl06rmG9fv1PySfhoL2yKHezcYaaU8xwhLsM5uSeQsAof7SklpDWYQNIZOv+I59ilXDhc8Dl5fZm4jsFzQprpyifNtOW4lIOpvqvLZ3eaowT4BKFHpwS72XMFbsBzDT603HtIg3PWa3DQeg1OWtIZOGq9Bmet1+Cw9VqAr0/SEqw9aYXNCq/176/V21vfDF/9cbV5a471D3G6m7o=\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/frozen bridgen't.replay",
    "content": "1,0,wasd;1,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;-1,-1,wasd;-1,-1,wasd;-1,0,wasd;0,-1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,0,undo;-1,1,wasd;1,1,wasd;0,1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;-1,-1,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,-1,wasd;1,-1,wasd;0,1,wasd;1,0,wasd;-1,-1,wasd;0,0,undo;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;-1,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;-1,1,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,0,undo;1,-1,wasd;0,0,undo;0,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,1,wasd;1,0,wasd;0,-1,wasd;0,0,undo;1,-1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,-1,wasd;0,-1,wasd;1,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,0,undo;0,1,wasd;1,-1,wasd;1,-1,wasd;0,-1,wasd;1,0,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,-1,wasd;1,-1,wasd;0,0,undo;0,-1,wasd;0,0,undo;0,0,undo;1,1,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;0,0,undo;0,-1,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;1,1,wasd;0,0,undo;0,1,wasd;1,-1,wasd;1,-1,wasd;0,-1,wasd;1,0,wasd;0,0,undo;-1,0,wasd;1,0,wasd;-1,1,wasd;1,-1,wasd;0,1,wasd;-1,0,wasd;1,1,wasd;1,0,wasd;0,1,wasd;-1,1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/infinibridge.bab",
    "content": "{\"width\":12,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":10,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"autumn\",\"parent_level\":\"\",\"name\":\"infinibridge\",\"map\":\"eJyN1s1uozAQB/BXiXpbiQM231vxLBENNEXy4gjcTaIo776OB3AcdZl/Tz38BtkzmRm3eqf0oVG7fX27mV519Zu5mP2oD2/RpY6jvq1FdLX/TKfu0Deqvt2jth9rcY+e+Ee3amm12NYnrUejlVpjEhsj/x/z1bXH1abWJtvfV3/9pzPL021+1GblueXZNqeQ5txcT2paAwsbmINXKK0tQFtZW4JWxBZXPBYOM2UNMVPVEIPlJMzUM8RMNUPM1DLEYP0IMwV0HdF8eA8W0WHJFPHx8SVAugCgP013MT4ALCbhhO+3MCDFakQ44/uNZgvxfDuRD35uzPgISFxAgc4u4iU/vAY9nfs/PqTCfuwOJzGfzKfjJAJLJWHJp/Lb64TP5Ke6urOkLiDlU2MamukUkGGJIZzziRn0UfuAAksN4XI7NXOvkq2w4Zy5XRRjM5SwwNqOsMSyR5jp0RCD/UkY6M+jtn8+Isd2UO4w0J6fSj8FMA26ND/havumAc7i7ZvODyKyAlsWhcOSv+PUDJMPSLA7EmaqGWKmmvMdyTKjdrlj6TBQx+UkFMDUcSk6YWbEBl/OYywhhAX/856TQl4Ci7/zHBiywUuSolKsgyqHM3TBEc+x3xZhZsaGmJmx6xuHntkVf+zfv7wvYuzcs2b25otmFud6cvc8KxLw2Uya2ZovGlyZs2Z25osGF+as0WqSrsDHs9NljG3YWQvw7Uxa/tw79/exM9/jsNu/d0P7D3Xj+6g=\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/infinibridge.replay",
    "content": "1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,-1,wasd;-1,0,wasd;0,0,undo;-1,0,wasd;0,0,undo;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,0,undo;-1,-1,wasd;0,-1,wasd;1,1,wasd;0,0,undo;0,1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,0,undo;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;1,-1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,0,undo;0,0,undo;-1,1,wasd;0,0,undo;-1,0,wasd;-1,0,wasd;1,1,wasd;1,1,wasd;1,1,wasd;0,1,wasd;0,0,undo;0,0,undo;0,1,wasd;0,1,wasd;1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,1,wasd;0,0,undo;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;1,1,wasd;0,0,undo;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,-1,wasd;-1,0,wasd;1,-1,wasd;0,-1,wasd;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;0,-1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,-1,wasd;1,0,wasd;0,0,undo;0,-1,wasd;1,1,wasd;0,0,undo;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;0,0,undo;1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,0,undo;1,0,wasd;0,-1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,0,wasd;1,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,0,undo;-1,0,wasd;0,-1,wasd;0,1,wasd;-1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;-1,0,wasd;0,0,undo;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;1,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;1,0,wasd;1,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,-1,wasd;0,-1,wasd;"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/my r by hatsune miku.bab",
    "content": "{\"width\":12,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":10,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"greenfault\",\"parent_level\":\"\",\"name\":\"my r by hatsune miku\",\"map\":\"eJyd1t2OgjAQBeBXMd5twgUtlJ81PIup0lUSVgxi1BjffWmnyLJR5mTvv9F2Tpm2bBZ1s9X1Yl3c711Vm2K5N+VuGVyLMKjKQgS3Ig1OR7OtdF3cH0FZtYV4BK+s7G0G2qi3+XvbXbt1tzet0fVGb8pq2+muaW21sNVxXy34f3JW9TYCbdLbGLRpbxVos94moM3nO24707fkyUWIdZ2w4Nt+0Z1rtHQFNtOQWY0ZeTQfjOWH5nSpvscSm6Xk10+YCdP+/rQATJQwE+nfzWbznbf8q765gsgV5NixdViG/FY3429LgW2UsOQ3eh51hJ2w2OGYX/ah2TVjgcIWTjiZX7j/MMim2OhSDmfz53yKwRwdjkLsfBMW2LAiLLHOEY6wcZU4HM93YxgRhJkAp5gJ8PXMp9IUG6Kpw0ye9G02vwqYTIddOByH2JYJi/9smUrBGzVzOEJHNXHmDh26Q1jNH+Jhw4SZmTvF4DWaOwyk+vkxcjBThxWYKWEu07fPFyqXwB1vRs4MYMt3jb7o27E+jVXx/F3/fBi495hS2CfvNRix1+hTid5r4Cj2GpzFpBNwGHsNTmOvwXHsNTiPvY7BByRphd18XifgA5J0+vpUPVat6c7tYbFemUP5A1TrHSM=\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/my r by hatsune miku.replay",
    "content": "0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/not you apparently.bab",
    "content": "{\"width\":12,\"version\":5,\"extra\":false,\"author\":\"Notnat Tlikehis\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":10,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"variant\",\"parent_level\":\"\",\"name\":\"not you apparently\",\"map\":\"eJydmN1u2zAMhV+l6N0AY9C/5BV+kmII0sTrDHhx4aRIiyDvPkeUK7ujNLF3AZPPPiIPRSn74a4fdtv+btNcLqeub5v73+3++b56a1jV7RtevTe6Or60u27bN5drte/GKbgb+mFsLqxi12uFcWLiTIo7dD1OyYmyZEpNlCNTeqLqEur0dtqct6fxRvIbaSaSJXOiK35dsd3zYYiwnWBeDj8PH6SbSFFGzgv1XD1xkpIeT3E2YYqOZQ3zOa1P26dIZi1z4ZVcZ+apjWjWN/+ir5EkewcwknlAqfBg1js5MOsbTChgrrT4t/et0ZpqAI8JVmqANcapGwZggrpjACapZQdMUcp+GI7n7s8Nlh7WtG3jZRxO7W4XeUPvfwAtxQPgOQAd1QGA1VQHKL/3M4rMwwA7I6CcKhQwUSo07FNAETab+XXag6q099eYpnY+YFm7pLFis6wxslUAK7ZKnIUeVCxbBFOJWIRx2EWO5xr/IrAmMh4UpcWbjwqAyfJxvwZVafnWmC4t3xozpeVbY5Y07NsIuvLyzWWwHqwp8/NXP0RUs2wp1PIoO68SQE4tBWCCWgrAJLUUgCl6JwGoSydo6COgDHWAOo9Z+vEHQFdevLnqANbZqSmxqnvQFI+jNVY8itZY8Sia81l7TFLy+eNbBFU2n2haANTUZgDMULMJmKVmEzBHaYbgayDr7MYkPh/SwKIetax8tEAPbs/b95f+GJ/AS4+XH5cRf5O15NkUuOxwynDk2RQ48nAKHHk6Ba54PH3kE67ojnpQC1xNPakB5xj1qBY4Tr7ZAyfIV3vg5Nfy6RT1bhe44tH0iSMPp8DZ//Xf9SH8WbaZvn3YPIqf3+HLzSMPH6eoRKMKjWo0WqNRzvAwx8PLF8pFHH8lNzFsF2GLhx3+EFy4wIULXLjAsyrwtAo8r8LiYVy3wHVLXLfEdcuEG3CBEi+DNHgYX47ElyPx5ShcoFoIVAujKJ2Im0TcJuK4Gs3xn2uRiMtEPCFfL+WzRXwpf6kHT7Fh+ONNQr5JyDe4fU0iySaRZJNIsnF43HJ8tRb3gk0k2SaSbBPybUK+Tci3uJEtbh2H96XD+9LhS3V4QRzerg5vV4e3q8O8NLan1/Fwt3loD/u/cY2j6Q==\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/not you apparently.replay",
    "content": "0,-1,wasd;1,0,wasd;1,0,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,0,undo;0,0,undo;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,0,undo;0,0,undo;1,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,0,undo;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,-1,wasd;-1,1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;-1,1,wasd;0,1,wasd;-1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;0,0,undo;0,-1,wasd;1,0,wasd;-1,1,wasd;0,0,undo;1,0,wasd;-1,1,wasd;0,-1,wasd;1,1,wasd;0,0,space;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;-1,-1,wasd;0,0,undo;0,-1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;1,1,wasd;0,1,wasd;0,-1,wasd;-1,0,wasd;-1,1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,-1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,1,wasd;0,0,undo;-1,1,wasd;-1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,0,undo;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;0,0,undo;0,0,undo;1,1,wasd;0,-1,wasd;1,1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,-1,wasd;0,-1,wasd;1,0,wasd;0,0,undo;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,-1,wasd;0,0,undo;-1,-1,wasd;0,0,undo;-1,-1,wasd;1,0,wasd;-1,-1,wasd;0,0,undo;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;1,0,wasd;-1,1,wasd;1,0,wasd;1,0,wasd;-1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,0,space;0,0,undo;0,0,space;0,0,undo;0,0,undo;-1,0,wasd;0,0,space;0,0,undo;0,0,space;0,0,undo;0,0,space;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;0,0,undo;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,0,undo;-1,1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;-1,-1,wasd;0,0,undo;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,1,wasd;-1,1,wasd;0,0,undo;-1,0,wasd;0,1,wasd;0,-1,wasd;1,0,wasd;1,1,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,0,space;0,0,undo;0,0,space;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,0,undo;0,0,undo;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;-1,0,wasd;1,-1,wasd;0,0,undo;1,0,wasd;0,-1,wasd;1,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;0,0,undo;0,1,wasd;1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,-1,wasd;0,0,undo;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;-1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,0,undo;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,1,wasd;-1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,0,space;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,0,undo;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,1,wasd;-1,-1,wasd;0,0,undo;0,-1,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,0,space;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,1,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,-1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,-1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,0,wasd;0,-1,wasd;0,1,wasd;-1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;-1,0,wasd;1,-1,wasd;-1,0,wasd;0,-1,wasd;0,1,wasd;-1,0,wasd;0,0,undo;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,1,wasd;1,1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,1,wasd;1,0,wasd;1,1,wasd;0,0,undo;0,-1,wasd;1,1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,0,space;0,1,wasd;1,0,wasd;1,-1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,1,wasd;0,-1,wasd;0,-1,wasd;-1,-1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/ode to the bridge builder.bab",
    "content": "{\"width\":12,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":10,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"edge\",\"parent_level\":\"\",\"name\":\"ode to the bridge builder\",\"map\":\"eJyNl+9qgzAUxV+l7NMGYST+ibrik4whrrpOCE1xjrUU330xN2qzxeR+K+V3iPeem+O1kTshD7XYVeXtNnSiLR8+2+b4QC4lJV1TMnItY/J1bg9dLcrbSJquL9lIDDtchuq9fl/wSOHJP5wcpJB9eeOEjra0XZSxUqb4gxKF862DTp1YhFY1qVJl24dYLFdsjmQzxRb+h595NvG54qmfH9rLsPCF4hmurdY5jPrts2HmNG8Djvx+2XDsdGsDTvwm3U0C8KnTKM8ogIyHPfuph34SRFqQhU2DeQY8d3pm4S+PKz5ZHIVbpOEoYOv9vIEAaS3AAWv/FBrF/osy4R/iqgWxFiThzgy1EKsgxfUGYI5IrLuHyXCdATgPd+Z7pQvfYLpvbaKjEGHvSR7lKkDaC3DAXnO3gI2dd3EugRL2v4RUCxP/ZbHh1D8QNsxxwwBwhss/gHNcFwEucPnH9cuK+rsx5wzAATNtOGBmLw8ri0zhTMMBA+FWyztBwMT5sQHmuBoBzlA1Apvj3tq5hgtsoms8pf4K53YAzPxjOlcIsHtt2oADm9JcYqFhhI0vTyuONBFgpIkAB0ycHsQYCXyO2ALaFXdnrYUfZf1TX8/ia1Fx6t8BloUBFkKGu8WGRnpqaKSpTO8uHJmuhkbGq6GR+WpoZMAaGpmwhkZGLNAZRe6YQDPcl4ChI1yqGDp2T9W4N19a6lNr3FevydszvEer18j8VP+y1PF33w7f/WlX7dtT8wsy346D\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/ode to the bridge builder.replay",
    "content": "1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;-1,1,wasd;0,0,undo;0,1,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,0,undo;0,1,wasd;0,1,wasd;0,1,wasd;-1,-1,wasd;1,0,wasd;-1,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,0,undo;0,-1,wasd;0,0,undo;0,-1,wasd;0,0,undo;1,0,wasd;-1,-1,wasd;0,1,wasd;0,0,undo;-1,0,wasd;-1,1,wasd;0,0,undo;-1,1,wasd;0,0,undo;0,1,wasd;-1,1,wasd;-1,0,wasd;0,0,undo;-1,-1,wasd;0,-1,wasd;0,0,undo;-1,1,wasd;-1,0,wasd;0,0,undo;-1,-1,wasd;0,0,undo;-1,1,wasd;-1,0,wasd;0,-1,wasd;0,0,undo;-1,-1,wasd;0,0,undo;1,0,wasd;0,0,undo;1,-1,wasd;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;0,0,undo;0,-1,wasd;-1,-1,wasd;-1,0,wasd;1,0,wasd;0,0,undo;1,0,wasd;1,0,wasd;0,0,undo;-1,0,wasd;0,1,wasd;0,-1,wasd;1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,1,wasd;0,-1,wasd;0,1,wasd;-1,-1,wasd;0,0,undo;0,-1,wasd;-1,0,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,0,undo;-1,1,wasd;0,0,undo;-1,0,wasd;0,0,undo;-1,0,wasd;0,1,wasd;0,0,undo;1,1,wasd;0,0,undo;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,0,undo;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,0,undo;-1,0,wasd;0,0,undo;-1,0,wasd;0,-1,wasd;1,-1,wasd;0,1,wasd;-1,1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;0,1,wasd;1,1,wasd;0,-1,wasd;-1,0,wasd;1,-1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,0,undo;0,-1,wasd;0,-1,wasd;0,0,undo;0,0,undo;0,-1,wasd;0,0,undo;0,-1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,-1,wasd;0,0,undo;0,0,undo;-1,-1,wasd;0,0,undo;-1,0,wasd;0,0,undo;1,0,wasd;1,0,wasd;1,1,wasd;1,1,wasd;1,1,wasd;-1,-1,wasd;-1,0,wasd;0,0,undo;-1,1,wasd;-1,-1,wasd;0,1,wasd;-1,0,wasd;1,1,wasd;1,0,wasd;1,0,wasd;-1,1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,0,wasd;0,0,undo;1,1,wasd;0,-1,wasd;-1,0,wasd;0,0,undo;-1,0,wasd;0,0,undo;1,0,wasd;0,0,undo;1,1,wasd;0,-1,wasd;-1,0,wasd;0,0,undo;-1,1,wasd;-1,-1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,-1,wasd;-1,0,wasd;0,0,undo;-1,1,wasd;0,-1,wasd;0,-1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,-1,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;0,0,undo;0,0,undo;0,0,undo;0,1,wasd;1,-1,wasd;1,1,wasd;-1,0,wasd;0,0,undo;-1,-1,wasd;0,1,wasd;0,1,wasd;0,0,undo;-1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;-1,1,wasd;0,0,undo;-1,1,wasd;0,0,undo;-1,1,wasd;0,0,undo;0,0,undo;0,0,undo;1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;-1,1,wasd;0,0,undo;-1,1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,1,wasd;0,0,undo;1,0,wasd;-1,0,wasd;0,0,undo;0,0,undo;1,1,wasd;0,-1,wasd;-1,0,wasd;-1,1,wasd;1,0,wasd;0,-1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;-1,1,wasd;-1,1,wasd;0,0,undo;0,0,undo;0,1,wasd;-1,0,wasd;0,-1,wasd;-1,1,wasd;0,0,undo;-1,1,wasd;-1,1,wasd;0,0,undo;0,-1,wasd;-1,0,wasd;0,0,undo;-1,0,wasd;0,1,wasd;0,0,undo;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,-1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,-1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,-1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;-1,1,wasd;0,0,undo;-1,1,wasd;0,0,undo;-1,1,wasd;0,0,undo;-1,1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;1,-1,wasd;0,0,undo;1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,0,wasd;-1,1,wasd;0,0,undo;-1,0,wasd;0,1,wasd;1,0,wasd;-1,1,wasd;0,0,undo;-1,0,wasd;-1,0,wasd;0,1,wasd;0,0,undo;0,1,wasd;0,0,undo;-1,0,wasd;1,1,wasd;0,0,undo;0,-1,wasd;-1,0,wasd;-1,-1,wasd;-1,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,0,undo;-1,1,wasd;0,0,undo;0,1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,0,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,0,undo;0,-1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,0,wasd;-1,0,wasd;-1,1,wasd;0,0,undo;-1,0,wasd;0,1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;-1,1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,0,undo;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,1,wasd;0,0,undo;0,-1,wasd;-1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/search for a bridge.bab",
    "content": "{\"width\":12,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":10,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"snowy\",\"parent_level\":\"\",\"name\":\"search for a bridge\",\"map\":\"eJydl1tugzAQRbcS9aeqhFQMxkAj1hIlwU2RKK6Io6aKsvc6HvNIcPz6v0e2585chpqtWrbftqtNdbnwpqXVCz/zze+W9y/RuYqjpq5Q9Fcl0fGH7pttW12uUd30FbpGc/37Z0+7kUgEkZqJnu1HeSrk2Czf0e6VjwAWQGYGOnb8bb5HIhMEeU580fowaonQ5gtttGct66sLieKrnssFVwRwheBKN27uDbqxpWBjcyU4PfNRj2IBIHshQIy0PhpfBGCiddQBTLXOOoBYa7ADmLm7LRtxu5tYonX8yUF5mM2JhAu7zzs6yUuzy/cDIpEkNk/58BYQezTG7ax7OKA5APRojoeCJNjs1E3+2f5JIJVAZq/gkdOWf00IcasgiHO/Cu5mVyvMcXl/TulXs9NIprFbc2Mp9myIjh3YBAc0BIAeDaHmFjisnfnFIZkUZ9rRM94OQKJtIQcw1zaSA1j45zWApb8DEsSxf14TCSL3qg5JCKC+WZ6I9Q2yuFIuxdj9SpAXbAZb8mK4FoiJ+Q1qNwJt7vZeEBdu7y2kWL87WCJIopllixhKA2LL/ji8AMSO9oLYYq+qI2gtO+NQmlKKPWb+VpqPtwnVT/3iASB2NBfEFnNnWzXoS3PKTZ5KObHk/f0XDxCkXWmW+w+s1Yn/yCvS8oPwoHZ0Gsm1jATEuyID8l2RAQGvyICEV2RAxAOZB2S8IlHAUg5k4v8PpsjU/y9Mkdi+oF/XPeWnvltt1rSr/wHTgxVZ\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/search for a bridge.replay",
    "content": "1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/speaking with bridges.bab",
    "content": "{\"width\":12,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":10,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"redfault\",\"parent_level\":\"\",\"name\":\"speaking with bridges\",\"map\":\"eJydl91uozAQhV8l6s1qJRRh82NoxbNEELwpEosjcJVEUd59wQM4EDNr57Y9X8DHZ5iZUuxqcczr3SG732VV8+zjm5enD++a+V5VZsS7ZYHXnfmxyuvs/vDKqu3/eBS1aLO775HHwxs5eZWHVhxnlPZouIlGHl2iBW9+yRkOejh6gRfA5+9ZHfbqeFu9OFHUa5ndiRZc3HPJGxzrudTewYklA5v0rG9voeRXObNpzxI7dvFM4ttf+RIk6IUjIDVetgUYGO/dAgztQ6CymReajdAgIMbGbkm45LIdYKpg5haFgms0MSWBLeSN6C7VX40M4aGbT6Ne+HpGBVKH8DynHWA8QEZnAXQI0MocGhhvcyH/U98UECggROtqYY2qybyuNRy5+wpg7OZr8fTCzOjqxnMSNyd/NJmiZWE8Wqi+9I6RacRJaBiPDPJUh8iM1Q9c4N4+IgWGaAEjYIQGDgFjNGwIyNw7AICJewcAMHXvALFq/L69q9P3FEBzcDbE5rDM4nHqAa1DT6q5lLw9DP9q9A8Ye1Owhs55yxv5zbuq06ixNbEX65gSx/bWwVdQPMHMfrqYrATQHJENsTkWa9+VNvLd57NEgcTNB/i0AkqNLszyyTIQB/blOLkAYGhnGYgj3LLp6KkSO0Zgv99r1pyAl7cCseWtg/g/t/60Zyh97KMVt8jiWDyFhomp2tga4BqgeI0Nb3cS+SW/netOUwE6+xn7FIG1w6FvTDaOZGRn+qiO7YJD1Cwb4+OoefIG0jiNWpH4UIqQ7J2VBsh3dhog31lqgHxnqwHSYa1ZkfhSg5EWW83jq+Xyp212hy/elP8AOlh9Xg==\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/speaking with bridges.replay",
    "content": "1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;1,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;-1,0,wasd;1,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,-1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,-1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;-1,1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;-1,-1,wasd;-1,0,wasd;0,0,undo;0,0,undo;-1,-1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;1,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,-1,wasd;1,0,wasd;-1,-1,wasd;0,1,wasd;-1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;-1,0,wasd;0,-1,wasd;"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/the fallen bridge.bab",
    "content": "{\"width\":12,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":10,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"abstract\",\"parent_level\":\"\",\"name\":\"the fallen bridge\",\"map\":\"eJyV1t1Og0AQBeBXaXpnwgULy5+GZ2korEpEtqGYtml4d2FncUWROd5/0y4zzGErvWt0WTS7Q36/93Wj8v2rql723jX3vbrKhXfLE+98UmVdNPl98Kq6y8XgrdlgtClow9Fmf9v+2h+OxXHiYuJy5P4v7pW60V1+F54cFqWXou++aqOxVvDHMjYebQjaZLQStOloI9Bmo41BK/zt+fzsoxCrM1pt5PKPAn5gc9cDUxCujmx5MuW43J7SxFt9vtTvrmQabMA3ijAz2en3lwXgeAkz8/35sNn2pkz8ubmZgtBsls9357VQ/fnte5HA+kM44Ptz/PbbIdYdwpLvzofT0f9fUWkKgRG3+kW7AnDEhJkR2y0jm2GpGZkk9LcXZYkFFmaEA+wFIBxi0UdYYp0jHGHhFxscb3djzhjCzACXGMzgxOCMT6/nRrsCyWzofBTCAjs34WD73J0unWU+q/Mzpgavf1RXVp448x2d20E43n715ickDI6RMDhGwkzQzjgz9wRmEad+PD44zqzifGrCAfaIhEM+L+3UyUvgEqAcXw/YBS/1uzo1Z1cTYy+WMJe7KMGW2OoU643VGXiVovscGK5Wg+lqNRivVoP5ajUYsFaDCWt1DF4wSSfYt8zqFFs4q7P1t2p46lT/0bW7w5Nqq09VpDM3\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/the fallen bridge.replay",
    "content": "1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,-1,wasd;0,0,undo;0,-1,wasd;1,-1,wasd;1,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/the unfallen bridge.bab",
    "content": "{\"width\":12,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":10,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"cauliflower\",\"parent_level\":\"\",\"name\":\"the unfallen bridge\",\"map\":\"eJydlt9uszAMxV+l2t2kXCRA+LOJZ6loYR0aH5mAqZuqvvuSGAqsbmK++98p9Tm241LtGnUsmt0+v1yGuqnyp/eqPD2x75yzuswF+8kT1n9Wx7po8suVlXWXiyvD2ECzKZENNZs9ZofvYX8oDgYXBo80zu9wdlSN6vILZ+K6knbqeJNKLRX+f2XZWLMhkU00GxHZVLOSyGaajYms4O54/tooBBoR6uP6Q4E/r3MxdEYQWEHoTCxmfJ3YoZqlkTsxg7eqP9f/ZokJOaB9baoLhJ7EzbfWAmLsAHty/1t45h4gg/d1WX3UH0YT2pnjfrPei2p400bMIuG0C20DEAZ+u6AgwEOaWQBHfrO+Zlpu7+TICgmJt+qkZgExcYA9iY/DCGyGDq+zBGl3J0dn6wEsaPsP4ABtjAdwSNuWAEc0FwGWtH0ZWzh2u2EC1d2/ECSoI5Pv4dL3aaeBMEVrQLfMWpih9aDC8emyuojT3oLEwsLvQ1+0/SwInD6g5YAQH2uCEB9xlw+gw4f9zofUwoR+GH8ceLwdbvzUOwCn7gGZygU42+6TFUpO92mqPbNCQg/AfgYc74C7PwXwf6QOwg2pL8IBrSQcOIuCYv8LelLFufj5bPpZlbiPm9slZC9Xmfo9fnle8Nn2dQPKmG93fFSK7Q0k4AIOaG/LSIfE4xroiPa6jLQkHuNAx8RzHOiEeJADnRJPcqDxZ/0BnXDaahtpgXfq9bWrhq+u3e1fq7b8BaxYmpg=\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/the unfallen bridge.replay",
    "content": "1,0,wasd;1,1,wasd;-1,1,wasd;0,0,undo;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;1,-1,wasd;-1,1,wasd;0,0,undo;-1,0,wasd;-1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,0,undo;0,-1,wasd;0,-1,wasd;1,0,wasd;"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/who needs a bridge.bab",
    "content": "{\"width\":12,\"version\":5,\"extra\":false,\"map\":\"eJyVl9uOmzAQhl8l2rtKqMInDo14klWFCKFbJIojwiq7Qnn3Go8JxIA9uYus7w+e+cfj8VkeGlkWzSHPhqGvmyp7+1udP96CrywM6nNGgu8sDq6XqqyLJhvuwbnuMnIPtliq2ATJMsWm+2z/1ee3ou9Gnow8V3y45EvZyC4bSMC3tB/yoRRKSdfKtm529qdVkVIxfyyajRXLkWyiWIFkU8VGSJaEbqPGpJyK08wTnFkAU79bp2rEqcbZa2YtpaPP5BW3QCbcdo1feRZEOM8Ajt2m2TEkdmpN+DwgW9JWXm/1v1HOtDzdzt46BaP40sm+KsuHmoavljvIiD+BECLg1E6fCVGsQ3z+DvOn8nOmOa5IuYYRNdBKaAwgQNYAwJ4aMGcL2MQ+iz4PhJatjHfALLQPigsmdlG4YIprfQAzXA4B5thzBLjYTuMQBmzvO5EWRu5EThcLwJ7u/Qx72ncny5ldtW+z/Wi7DUBlailfNXNfAcVaRtxxj1/508iFgLqLaIodYI/VzzDaasB3rF4HbDIMqmi70e6nKdGy2J8m2BvgyfaVNND1bTZlF4Sp+9RNCdOwCHHZBZjgpohUw9Qf7q8fM85wNQEwx+0aYOGvCWMv8BFipKlmPN65dnfPW3Ervi/Ndf6HxD3mPGYiPcEKT7t+jK+ajpD+GhppMIFZ1eOwRXsMtmiOuzoM7bmDLRp5ARvacwNbdIIcnoFOcc8coOMQOTsDTRBPHdn283Nipyvfj+alpp5q92P+Ln7/hArP37n5qVYJn5cJW6ynmzgNt3GaLNaTeZ0veCYW62JnPVqsT1s4dlX/2bWH/Fi15//4LNhf\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"cauliflower\",\"name\":\"who needs a bridge\",\"height\":10,\"author\":\"Notnat Tlikehis\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/who needs a bridge.replay",
    "content": "-1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,0,undo;0,1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;-1,-1,wasd;0,-1,wasd;-1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;-1,1,wasd;-1,0,wasd;0,-1,wasd;0,1,wasd;1,0,wasd;1,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,1,wasd;-1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;0,0,undo;-1,0,wasd;0,1,wasd;1,1,wasd;0,0,undo;1,1,wasd;0,0,undo;1,1,wasd;0,0,undo;1,0,wasd;0,0,undo;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,0,undo;1,1,wasd;0,0,undo;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,0,space;1,0,wasd;0,0,undo;1,0,wasd;0,0,undo;1,0,wasd;-1,-1,wasd;0,0,undo;-1,-1,wasd;1,0,wasd;0,0,undo;0,0,undo;0,-1,wasd;0,1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,space;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;0,0,space;0,-1,wasd;0,0,space;0,-1,wasd;0,0,undo;0,-1,wasd;0,0,undo;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/world building.bab",
    "content": "{\"width\":12,\"version\":5,\"extra\":false,\"map\":\"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\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":true,\"palette\":\"factory\",\"name\":\"world building\",\"height\":10,\"author\":\"Butcherberries\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/you are already bridge.bab",
    "content": "{\"width\":12,\"version\":5,\"extra\":false,\"author\":\"danielisgamer\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":10,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"cyberpunk\",\"parent_level\":\"\",\"name\":\"you are already bridge\",\"map\":\"eJyVl+2qo0AMhm+lnH8LsjhffmzxSg6L2Op2BVeL9dCW4r2vTsaOttHJ+VfC89ok70yMebOrmmNW7dLk8ejKqkg+/hb56cO7Jb5X5gnz7onwLufiWGZV8ui9vGwT1nuG7W5duuD5wMs33js2VdMmD+XxfqE9FE+lGJRqVck9uVR2WVU9tXLQBqta5gmrXWSrBl24Xt2CDQY2IrLhwMbbXeuKWzfybOSjgfc38n+p/ZAdntJ4kLI1aV1WbwlqFfO3fV3CDDV1BeaojyuwQI1bgeW2W6+dYQp1zNmawG3eNevaUcC1IETdQ8454BHVsVFYN5dr+c+KR7u5u2Ea5g6T55cXBLjRGx0DmcPy8X/O2aWzAoftLx3jkmrkKDw12TW7n6uL1SvCdTTjRGhB8B2L/lT3wkpDmkEAR26DDrNnx9+1R8uE77bny9KMNuekhrm7gLo5NVYgaKMEYLmduLnswOKjHH19TH+itDDYvr1LOEQPxgoc0Y4CwDFtIGtY+rQuAsxoAznQMN/uxjT4AHaYuYQdZrbN0bKK9loINewwEK5oMxPgJtqjMtsWphJAGNHqBTgm1atZ5dPuXKRhRn3dAM6ps2xqEsgEengR2VQ1yCStRQAr2smMNUyw+dcPi2+ajOUPMqLFADssHlMyNms+8GnrJoN90+HzlIqh8cV7jcaX7fdM9EYUSNqINLSizUhDB7QhaeiQuLYC7TDzhXa4uaRDn7i5As2IzgPNaePA0ALfbvq9+bAbvuz6ffoZ//4Jhz/9jMzPIcoUHo5sWNgwZzbMZ2GJ04ENy1k4RmnF8bCYPSScxUMs3hbdV1vv0n1R5/8B5W/3/g==\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/bridges/you are already bridge.replay",
    "content": "1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;"
  },
  {
    "path": "officialworlds/solo levels/campaign/cargo bay.bab",
    "content": "{\"width\":29,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":11,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"steev be trial\",\"is_overworld\":false,\"palette\":\"cyberpunk\",\"parent_level\":\"\",\"name\":\"cargo bay\",\"map\":\"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\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/cargo bay.replay",
    "content": "0,0,undo;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;0,0,undo;-1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,0,undo;-1,0,udlr;0,0,undo;-1,0,udlr;0,0,undo;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,0,undo;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;0,-1,udlr;0,0,undo;1,-1,udlr;0,1,udlr;1,0,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,wasd;-1,0,udlr;-1,0,udlr;-1,0,wasd;-1,0,udlr;0,0,undo;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,0,undo;-1,0,udlr;-1,0,udlr;-1,0,wasd;0,-1,udlr;-1,0,udlr;-1,0,wasd;-1,0,udlr;-1,0,wasd;-1,0,udlr;-1,0,wasd;-1,0,udlr;0,0,undo;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,wasd;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;1,0,udlr;0,1,udlr;-1,-1,udlr;0,1,udlr;-1,1,udlr;-1,0,udlr;1,-1,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,-1,udlr;0,1,udlr;-1,0,udlr;-1,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,0,space;0,0,space;0,0,space;0,0,space;0,0,undo;1,1,udlr;0,0,space;0,0,undo;0,0,undo;0,0,space;0,0,undo;1,1,udlr;0,0,space;0,0,space;0,0,space;0,0,undo;0,0,space;1,0,udlr;1,-1,udlr;1,0,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,1,udlr;1,1,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,udlr;1,0,udlr;1,-1,udlr;1,1,udlr;0,0,undo;0,0,space;0,0,space;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;1,0,udlr;1,1,udlr;1,0,udlr;1,-1,udlr;-1,0,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,1,udlr;-1,-1,udlr;-1,0,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;-1,0,udlr;1,-1,udlr;1,0,udlr;0,0,space;0,0,space;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,-1,udlr;1,-1,udlr;1,1,udlr;0,0,space;1,1,udlr;0,0,undo;1,1,udlr;0,0,undo;0,0,undo;1,1,udlr;1,1,udlr;0,0,undo;0,0,undo;1,1,udlr;0,0,undo;0,0,undo;1,1,udlr;1,1,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;1,0,udlr;1,1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,0,undo;0,1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;1,0,udlr;1,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;-1,0,udlr;1,-1,udlr;1,0,udlr;1,1,udlr;0,0,undo;0,0,space;1,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;"
  },
  {
    "path": "officialworlds/solo levels/campaign/determinism.bab",
    "content": "{\"width\":12,\"version\":5,\"extra\":false,\"author\":\"Slabdrill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":12,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"determinism\",\"map\":\"eJyVllFvgjAUhf+K8WVZQoxtaSkz/BaD0m0kBAzipjH+99FeBZydPXvz4Tu39dzbwy2aWdVs82q2zs7nrqxMNu+O3XqTb+bRMVtGZZGx6JTF0X5ntmVeZedLVJRtxi7RFDcDzXtaPqcPAyx6WP0Nf+eVRZlF4x5lv1HuRWWPcgxVPSowNPHZ4Ee1zwM/mvoc8KNs2bMJyNqmaZC1LUtB1nasv0gI5g7GekasDBS2g9OZYzcolKv+UP5+1MyXaU/MaoQ7xfb74ZCHgSM2eX57W/6jyb/z067ajyodfi37z9NisRglqa9X/kvxJWDTxtQv3SBREvApb5u6sJLYncIgm4jlYZs+D+02r82oEc9f6BgphMfQIyEWmaOvcl92762pB5lSgEnXc6Q7B5skYoFJuo02CXTYn4mnpEnDwTt02SmEN0/8f0EwaO4srxzPIXuIFWF7pqXjsDn9r5GXYWPuBoJUCjKH2AQwp3btTRyvIXOITcPmvL0OeLxEXxbhDHpZxHLgX4556zQqAZ7VnfnaHSUgg4gNfGSumwyxMhDO5aSuAoK8MrtRkEAxTqz+T4w7idIBK6/1U1c/MDVTViKfFBoxx6sUuwhzG55k2N5GMMc2N4IFtrsRHGPbG8HexPgLVtgGR3CCrXAEa2yHIzjFljgHK6TlNwXtySwcopQrV54/3+xdIjYfzUQh/IF7WbWmO7T1bL0ydfEDCN05Tw==\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/determinism.replay",
    "content": "-1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;0,1,udlr;1,-1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;0,-1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;0,1,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,-1,udlr;0,1,udlr;1,1,udlr;-1,1,udlr;0,-1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;0,-1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;-1,-1,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,-1,udlr;0,-1,udlr;1,-1,udlr;1,0,udlr;-1,1,udlr;-1,0,udlr;-1,1,udlr;1,1,udlr;1,0,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;1,1,udlr;0,1,udlr;1,0,udlr;0,0,undo;1,-1,udlr;-1,0,udlr;1,-1,udlr;-1,1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;1,1,udlr;1,0,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;1,0,udlr;1,-1,udlr;0,-1,udlr;-1,-1,udlr;0,1,udlr;1,0,udlr;-1,1,udlr;1,1,udlr;-1,0,udlr;-1,1,udlr;-1,-1,udlr;-1,-1,udlr;1,1,udlr;1,1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;1,-1,udlr;-1,0,udlr;1,-1,udlr;-1,0,udlr;1,-1,udlr;-1,0,udlr;1,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;1,-1,udlr;0,1,udlr;1,1,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;0,-1,udlr;"
  },
  {
    "path": "officialworlds/solo levels/campaign/distant call.bab",
    "content": "{\"width\":13,\"version\":5,\"extra\":false,\"author\":\"vitellary\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":12,\"next_level\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"is_overworld\":false,\"palette\":\"default\",\"music\":\"bab be go\",\"name\":\"distant call\",\"map\":\"eJydl92OmzAQhV8l2ou2K6EK25ifjXiSVYXYQCMkBBEhzUYR717DoDi0J8GzN1E0Od+Mx2ccTNFu6naX15ssvV77qi7Tl3Nev3ifqfCqwnxcUuUdD+Wuyuv0OnhF1Zngrq3bLr36nhgGD2DSYMEjrKlqCCkDaS4UGCjkQtpAERcKDRRzochAyb+QWoFiAwmfUUqOVPLMqnuo/+yzj/zjBppSyK2bfqEVz7Vj7kNXHo+WkNBW2IJQzp2Phco/ZXcRI60mepwFsVqJtJq1W6UFw+cbsCgSsdqhKsFExk6tkJZl/OnGyRXbR/XbDysX8KQt5Pu2t3qJzouCLciv+q4n2s130rJ8X5BuxpPW3fgZCycs5g8lgcm6lb/lTa78dSvvsisH579ZNfT9v30i7Vd9jybazXfSsnxv2n1rUTfjScs98c336cTEE+x26EnLOvR24yY4cDj551NXWMBhAuanBOndZoC0vBl4ex3JZCJX/Ld/YCTXTttL2pB/EgmMnIaFtOznvBGPHMv7fZuf88uhPtoE2uWf//VOL5we4bNYsruiO5ly7WqJBdyrJmGae9kkLOReNwmLuBdOwmLulZOwBF06V7HQXzVu2M7vCuZlYdhm7/LXT/oxexfzVxNVMBrAqIbREEYjGI1hNIFRgZcm8CoELihwbolzS5xb4twSd6NwboVzK5xb4XUHD+zCHgR4gQHOrfGAaFxSPxgR3KXGC9S4eY3XrfG6Qx+Eu7I/dc0m25ZN8Rf04yQE\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/distant call.replay",
    "content": "0,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;-1,-1,wasd;-1,-1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;-1,0,wasd;0,-1,wasd;1,-1,wasd;1,1,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;-1,-1,wasd;1,0,wasd;0,0,f;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,1,wasd;-1,1,wasd;-1,0,wasd;1,-1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,-1,wasd;0,0,f;"
  },
  {
    "path": "officialworlds/solo levels/campaign/distant relation.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":false,\"map\":\"eJydl2GPoyAQhv9Ks1/uNjGNgIBe4y/ZbBq3ZXvmXG2su9um6X8/BHpaHXW4D00a8j4MzDvCsK9WRbXLitU2vV6bvFDpU3Nutm/Z21NwTnmQ71MSXFIWnI5ql2dFer0F+7xOyS1w8u+s+CelWhr1pbuqqOr0GgbEYgzEmMb4GCvzYgaKNCR8Ia4h6QsJDcXTEJwKqaHEF4o1REIMZUxSLShaMEF5ZKR6ftCkcQ7aGOpL1RfSwWRo1XhZ6/W609OhS2P9e296NvRnIM97+4gWtMOl8KGNMzkSXkZ8tqA0oEQZYbWxjxHWbAsm8yb0g9AQ+5m43FqKoHywWorKq9Uyr7w+hGnt1uW3FCc2Yu6T2kOVfWeXY3HqeIHKsNVKzwxbKkZl2GoTVIaNloVeGT5lZbdrRhZS3BIuWGIAOl/txkN1bjqAoT4Pq42wHj5Q3PMusZTAevih1EeHyXkTH0LEnreIpRIvO3dVrf506Y5ChKH2YNExWgB31zvxxG0/XprrJhw2uu3nYizc8lMY90pb+aPpsQKRtLJq6qx8r2pTDFrdgriz34kXDv/BR/Rb9VDw+OdwHO53Hty/VgcvHQj3UNSo0fXQKztLIkvCiqP/aJIcyhHWHvKvHoEphvvymCGQVWDFXlXw62ePTJYbq/Z3rNXp1GFy1AAD/Rjt9CKcv3rMsp57ejJse2d2L6iXk4eqVD2Y4c+2yAARzhgrXmggpjC/vrGsDpWB7TMDWTlWjK6cR2x0dqAwudBFTmGjNhKHjTpKHMY8n1wOWz5Pbhv3RtaP5Ntm+8Je11ayfaHurx6NwFEOjgpwVIKjMThKQngYnpnAk1B4EgpvkMJ7ofCyGTw3g9PE4LkZvB0Gb4clsDEUHoZXEsErieCQHN4lh0PyiRqB5xawDQLOiYBtEHBOJLxuSeBheDsSXqCEdymhxNaq+azL1Xajyv1fXfI/1g==\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"distant relation\",\"height\":15,\"author\":\"vitellary\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/distant relation.replay",
    "content": "1,1,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;-1,1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;-1,-1,udlr;1,0,udlr;1,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;0,-1,udlr;1,-1,udlr;0,1,udlr;-1,-1,udlr;1,1,udlr;1,1,udlr;0,-1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,0,f;"
  },
  {
    "path": "officialworlds/solo levels/campaign/don't mind me.bab",
    "content": "{\"width\":16,\"version\":5,\"extra\":false,\"map\":\"eJyV2N1um0AQBeBXiXJRqZIVsT/8NeJZIhpbiVVqIuwocaO8e5c9g2EjhTm+8dUHAuaYGWbb33T9Y9vdPDQfH6d9t2tuT8PudvPeZJv9tjGbc+M3x5fd477tmo/PzXY/NOZzI3Tbnv+dL9gGXH6P39pupGakLlDDUR+o5WgeqONosX5jS1oGmnO0CrTgaM0/LJMFW5F2rFhN2rFg4eQcjiVbqZnEBngsmtGrZiPO18MQfmdbrKchseV6HBJbrechsfV6IJbWZuuJSKxZj0Ri7XokEuvWI3F6Pz0s62G9Eovk5DmXIeBCyZBgF3GpxCJc9u/dzCsqGbA1b11GpQhWeV0m1lIpgnVUimA9lSLYnEoRbKGnaFEOV3IhAq64EAHXSoguTcnH9jHWTz81rNEj9zprS6UI1l1hPZU42FxJXLji4/P57u5uPqSggger9L7EKs0vsUr3W9pc6X6JVbrf+DgO/VM/H6C1wOTsjospsOfedXnEXAuE5VogLNcCYbUWePmDg3NdMNoiu8IaKkawysSZWEfFCNYrMVpasgECaw3w8u4CL7kxqoi4ojIEyzXAaEuuAcJqDTBk6Klv39rzS3ecj+JaIay7wnolSuFqfsw6p8IEW1xhSyp4sBUVPNiaC17EVca9jcqItTa4X1iuCcI6KkmwnhqlYHMqE7AF9XqBLakqw1ZUlWFrqsrR1hlXZWDDVbmK2FJVhuXGF1hufIHVxpel5eYW2JKqMmxFVRm2pqpc4as9o8os2HB1Fm25QtfQyrZFLkQwt28RzG1cBHM7F8Hc1kUwt3cRzG1egMnVi2Bu9yKYXL6IZrcv2NrF/Qux2BHNTZ+TVubPL+dWJtBJy/KKm2EmrUwx6bmtNseEaaDr+z/taXkQuwCdvDaRSplEO26+M9g7WbKqosmqiiarKlr7rgjPctsPyyOUr4vp/A66Xr/T6dzQcUVD3Klow92paKvfKb6KpgOc0tKGRCtfGtPFeOicC4DoYv2xfNEl91hEV/pj+fVzeUDN/pHgvTawTs8xB9dG1lRb/cPg+Dzs/y5eZF6r6/IYZN4rrfTC5Za/+QD5vB92p9fhcPNwvzts/wPu0nJA\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"factory\",\"name\":\"don't mind me\",\"height\":13,\"author\":\"vitellary\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/don't mind me.replay",
    "content": "1,0,wasd;0,-1,wasd;1,0,wasd;-1,-1,wasd;1,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;0,1,wasd;-1,0,wasd;-1,-1,wasd;1,-1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;1,-1,wasd;0,-1,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,1,wasd;"
  },
  {
    "path": "officialworlds/solo levels/campaign/downstream.bab",
    "content": "{\"width\":19,\"version\":5,\"extra\":false,\"compression\":\"none\",\"music\":\"bab be go\",\"map\":\"eJyN1t9ugjAUBvBXMd4t4YL+BWZ4FoLCFhICCyJzMb77yjnVbmaz34Ve/Wo+255z2oybfjzU/aYqL5e569ty+1nP0zY5lyLpGvf15T7Hj/bQ1X15uSZNN5XimvxlpbMStMpZBVrtrAatcdaA1jprQZs5m4E2dzaPW7na4vn+zue56ut6uXuRYpvMWGBJFGEZj7JvA1dYEMYaC6IJm3iQ15fALRaEcYYFMYRz7PIzLrAYhGWKxbCEIzW47sfvBZFCDCfJPFKLK1+6Yze/Te0QVoFVydhg/zcjbNGLyDzDNp4xWJs5YaA4h/F9vC9QYHEyjhTnrewLwuuRpvFfZqywe8tYP8+8r/fBGqxjMrbYVruOtuoMOHSO4hfk4LRhXYBheOCk6A30XoBZWEswC/VwHTnMNcvpB48c58OPg3UpqIvrSGE+aLAuvQYLU1Ab18jYXPqwwICV6TU4NwU1cwMPTu/Byek1ODoFNVoDzM7bxvACcHp6DY5PQc3WgPPTa3CAsrYp+IBkLcAnJGsJPiJZK/AZyVqDD0nW/9TndTe182kaNtWuHZpvUPjqOg==\",\"height\":10,\"author\":\"vitellary\",\"name\":\"downstream\",\"palette\":\"ocean\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/downstream.replay",
    "content": "-1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,0,undo;1,0,wasd;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,0,wasd;1,0,wasd;0,1,wasd;1,1,wasd;1,-1,wasd;1,-1,wasd;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;1,-1,wasd;-1,-1,wasd;0,1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,space;0,-1,wasd;0,-1,wasd;1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,-1,wasd;0,-1,wasd;0,1,wasd;-1,1,wasd;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,-1,wasd;0,-1,wasd;-1,-1,wasd;1,-1,wasd;1,0,wasd;1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,0,wasd;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,1,wasd;1,-1,wasd;1,1,wasd;-1,0,wasd;"
  },
  {
    "path": "officialworlds/solo levels/campaign/drifting.bab",
    "content": "{\"width\":23,\"version\":5,\"extra\":false,\"palette\":\"default\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":14,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"author\":\"vitellary\",\"parent_level\":\"\",\"name\":\"drifting\",\"map\":\"eJyV2t9u00oQx/FXqbgCKdLxrv8flGepCvWBqFVShXAAVX13nJ0Z4nXszJcbxMVnE6fziz2Z3cfD3fPh88Pz3f329fW0ex6278Z/321+bovN7nEbNr/G/3x7GT7vHp63r2+bx91xG942CzSONDBajjQyWo20ZLQeacVoM9Ka0XakDaPdSFtG+5F2jIZitD2053oFWLCQKgZLFs41C7Bo4Vy14JctJFyjjIltUMjEtihlYjsUM7E9ylmysUBBExtQ0sRGFDWxJcqa2AplTWzNsia4YVkT3LKsCe5Y1mLCPcpasmWBsiY2oKyJjbez9uNhYsvbWctsdTtrma1vZy2zze2sZba9nbXMdrezltneydoUV4WTtQwHJ2sZjixrZcIlyprYCmVNbI2yJrZBWRPboqyJ7VDWxPYoa8nWBcqa2ICyJjairIktWdYEVyxrgmuWNcENy1qVcIuyJrZDWRPbo6wl2xQoa2KD8wz9ebrPfETPUbElyqbYCmVTLKyeYFi9OmFWPbGsemJZ9ZJtWfXEgup9Gi6cFU8sK55Yp3jpMh4+XXyNbgJiG1ZswS0rdpNwh4ottkfFTrYrULHFBlRssdEv9v7w5XBZ4JQwuxDWs4h1epZL6oQ3qNpivYYzw17DqbhN2Gk4p7Z3Gs7MOg1nZlnDKZY1nGJZ8cS6DefpeMGLHWe7ghdbzjaLxfeLdpvO6Uv3f4FDUSz2DSuXHYqw2Dm0i3++UESWUNUli2gnukIZVVyjkCpuUEoVtyimijuUU8U9CqrgNG4BSVUdWFRVx9tZnelyKX6ruoLxU16z+KmGj0PV7vPw8mTuZYXzUNSXV+w8FTOcJjDgylUHcOU//vnvOOzTAELnaBFdvenSeaiPb/E0DE/TJYtjmatamfYaVemuJQ22xu1XxzU2dpExWHS6Vrso1U7f+ucTK+9v3ww0PapL5zt7aQ1sQWB/UNXezff69b0b8GRFlBXsJmzauQunDO13X76evp2Gl+nCxa7o+oOrdgdx4/v8+366wp3GnVd8SCtKWcE6JNUV65FMw+GOcW+8Y7wS7gx4ZtoZ8cy0M+SZaTbmMc0GPabZqMe0O+zR247w5XnP9TPL+OLIZ50vTn3W+fLgZ90vz36uv0zK4fzAuHdHNl4Lh3dj1c7deKadOUKu4RzItDNLmGlnlDDTJQyj8gqGUXkNw6jcvfPmvKVhVN/BMCrvYRiFp+kQ2dBrhLNtY9Ns59g02zw27ewf28dU7W0hT1szXcK2kk23LL+qO9zW6AL3B+v05TvYGht3e2P9qPIbtHOa4pn2muJcVywDqmuWAdUNHW7aAqems4uBj1PVzuP0fDFfDy+H/4+TRb1zYCB/i572SMrhFliQn4I92wQzzbbBTLONMNOwR1Lt9Ei6QfE0XeJUdnY5bCYhOhbuUCLTtKTKaUl74bCkqmFJVcOSqoYlVQ3bXtXwe6qa7XGqDmyX0zTb5zTNdjpNw71O43C30zjteJXDPbMox80C2zUzzfbNTLOdM9WRdbymWcdrmnW8pt2ON9OLDe+qXux3VzXbfjG93O2u8uVmd5XDZld5CZvdqMerWLNrmjW7plmza5odljTNzkuaZn2uaXZq0jQ7OGmanZ1UXbHTk6bh+Unj8ASlcXiG0jg8RRnlaFvFzlGaZicpTbOzlKbZaUrT7Dyl6pqdqDTNzlSaZqcqTbNzlabZyUrT8GylcXi60jg8X2l8bab79vE4nL4f93f3H4f942/IrRr3\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/drifting.replay",
    "content": "1,1,wasd;1,1,wasd;0,1,wasd;-1,1,wasd;0,-1,wasd;-1,1,wasd;0,-1,wasd;-1,1,wasd;0,-1,wasd;0,0,space;0,0,space;0,-1,wasd;-1,-1,wasd;1,0,wasd;1,-1,wasd;0,1,wasd;1,0,wasd;1,1,wasd;0,1,wasd;-1,1,wasd;-1,0,wasd;0,0,space;0,-1,wasd;-1,-1,wasd;0,-1,wasd;1,-1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,-1,wasd;0,1,wasd;1,0,wasd;-1,1,wasd;1,1,wasd;-1,1,wasd;0,-1,wasd;-1,1,wasd;1,-1,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;-1,1,wasd;0,-1,wasd;0,0,space;0,-1,wasd;1,1,wasd;0,1,wasd;1,0,wasd;0,0,space;0,-1,wasd;-1,1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,-1,wasd;1,1,wasd;0,1,wasd;0,-1,wasd;-1,-1,wasd;0,0,space;0,0,space;0,0,space;0,-1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,-1,wasd;0,-1,wasd;-1,-1,wasd;1,-1,wasd;0,0,space;0,0,space;0,1,wasd;0,1,wasd;1,1,wasd;-1,-1,wasd;1,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,-1,wasd;1,1,wasd;1,1,wasd;0,1,wasd;-1,1,wasd;-1,0,wasd;-1,1,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;1,-1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;0,-1,wasd;-1,1,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;0,1,wasd;-1,0,wasd;0,0,undo;1,1,wasd;-1,1,wasd;1,-1,wasd;1,-1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;1,-1,wasd;-1,-1,wasd;0,0,undo;0,0,space;0,0,space;0,0,space;-1,-1,wasd;-1,0,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,0,undo;-1,-1,wasd;-1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,-1,wasd;0,-1,wasd;1,1,wasd;1,1,wasd;0,1,wasd;1,1,wasd;0,1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;1,0,wasd;0,-1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;1,-1,wasd;1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,0,space;0,0,undo;0,0,undo;0,0,space;0,0,space;1,0,wasd;1,-1,wasd;0,1,wasd;0,0,undo;0,0,space;0,0,space;0,0,space;0,1,wasd;-1,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;1,0,wasd;1,-1,wasd;0,-1,wasd;-1,1,wasd;-1,-1,wasd;0,1,wasd;0,0,space;"
  },
  {
    "path": "officialworlds/solo levels/campaign/joke.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":false,\"map\":\"eJyVmNFuozAQRX8l6sNWK7FaD2Cwt+JbIpK4CSqCKiFqoyj/XuxxwERduK3UtzMknPHMeLJrV3W7LevVurheu6o2xVP32a035eYp+ixEVO0Kii4Fyej0brZVWRfXW7SrjgXdooDvDmW3MTaEbEgMhPz7bfHY4gmA89MTi6cAfjF13dqI1EZI5AP4laXls55P/o9/lPWA5j069+RqRFWPZhiqezTHUBI9q7AvSzaXet7DhHeJpMeAZBLwa8TxRGaOTyHPzEpINLPZvGmfamZzSDWzClLNrF5WHaiIxbemH/nmuRtDkMI8Wzx3eAzJZjaBZDObQseaWQnJZjaDZDObL8tu2n07BihAd+BOL6j2X0a5biYgecwSJI/ZGJLHbALJYzadl+dZ7VisCpldqMIJi1Uhs1gVMotUIXcDx6cCSzS5yZjSvI1juw3geF7HFE7mfUzhFBLiYQmMgL+vR9MEMRloxQ3/FBuJHsaGooexsciwxOaih4HB+Fq3+yBi6Y5zf7674UisoXoY66gexlqqh7Ge6mGgqQ4TyYcoYCQNHt1lTmpoLDGcYa3Vw1hv9TDWXD2MdVcPL7RXq+Rezhwg0dnk+aXqHK8a5G7DWY4pZ1hhyhnW88qH1Ds6F5hzhglzznCMXr48nwDKbU+szSmIQhYRXnOIdwWJiWc4w8QznGNnnWGFeWdYY955wxHL3vdt+VFe3utTEEaA/qYLApAFczhs7raskN0kWGPdvU/9IMPuLqWgTZM/wV04FFK8wbrs5rHKgSCfGA6wGf+zsMc97PBKAzHBEq8FwAdbvCaAr7aX/m/Y43UMxAR1yrt0AgQ1416lU4APtw8tf2TXHRSdwXbdOdE5bJfvbBpJ+aE03entYsZrjUay3v+PM58EnngeWCSQ1N9nIm/TAsn8Y/mSQFIf1i8JJPlhAZNAsr8xh6o5jxVMAsn/3XPKIe4IxPNV37abULQCQvzb+B+TNBBx6kzdHYLsuN+glqKmb0PfnwG63V6Opjsfm9X6xTS7L64H0oQ=\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"baba\",\"name\":\"joke\",\"height\":15,\"author\":\"Patashu\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/joke.replay",
    "content": "-1,1,udlr;-1,1,udlr;1,1,udlr;1,0,udlr;1,1,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;-1,1,udlr;-1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;1,1,udlr;0,0,undo;0,0,undo;-1,-1,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;1,0,udlr;0,1,udlr;1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;"
  },
  {
    "path": "officialworlds/solo levels/campaign/map.bab",
    "content": "{\"width\":11,\"version\":5,\"extra\":false,\"map\":\"eJydVttu4yAQ/RXil92VLCW+5KbK3xJhM0nZYIgwSeqt+u+LoU58wdTtkxVxhnNmDjMZIhATBWbokL2/K8ogC9iNBeFbFoeUZFFYZ5uwukBBMcve+bXMQeqjG61oThlVdRaIC/Ag5LjUsRJKoQApiW+gb2GgP1lQ4PKC6Ykvb7RQQtaIcqReATWR6F/wERIqs+gjbAVQ/hAQawHbpwAfNNHQ3TxoqqF7D7RTgbWGRqtRCVafCf8VZwgc5RhmbnBDngpYoeSDajOgsvBkKCtpsFunMcmnqooSkOgIvBiI016fgYzldQMmqmFod307Pmmj1n2hsHb3d349HoH8mVOXYciEa4Z873dNvalDjvMGnpq3u9L4+EuXLbZ56KkjsW4Gr5QQVw6aFJ2EQmeAM7rFQUgLwStVNyREqKptDifOHunKV9VU5a3CphPWY4Urp7/Dm7uSbKRLlD81v7ykb46zgPYJdKQwUOophYi7PpCAy7GQzplXRupu13iySk4lBZYngXJcj4U8j1zv7748SjAvdm3krL94grSD3fQNdry8icxtuHsiRG1vEkmPivLTvHnwQHspd07Pk+/Vmgj+S6GScoJKcBnfPfb0/MZI2s8quMHGq28X3NBBc8PW3BDNmjAWG7v9mTVhqgI4yLr99qop9D/po5g9gG+0NJlcG3E7Iy6ZlYjFpjNG5bPTrYhXIKdp1XchGUH5lTJiXuhoCklKTlAtB7gJc/dG5bqvciKjlcFu+puDM6OpTlFSMLZcLBbT6T0O7c8SwDHErPbI6Nl+scl0te+cbmza5qKVwlwhveGxmZ3fjZhgtir3Tua1k8WqueAaSWgixrydMx9r0jRtMmLdD/KVwLCign8v50eUd82MfjqnzT9UEjtXqLRtBczO6IIrNU/5E+7lTJyzZze6TnC9lEuk7sJNbzV2UL5dMUmdG8vWczMXjQn65dVI78ZHVF21MZQ7h4IH26r6eJGgrpKjwwtw8h+JO30H\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"map\",\"height\":12,\"author\":\"Patashu\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/not really self sustaining.bab",
    "content": "{\"width\":11,\"version\":5,\"extra\":false,\"map\":\"eJyVlN1qhDAQhV9F9qKl4IUas2qXPIvENZRASJZsZLeI79782Kh0SdKLePWdw8yZGUeRMXHFLOvRPCvKCDqpp+r1O+VPVOZ01J9v/e43cqWYoXnJRypRueQ7/DHJ0fDA8FWcx1xRw0PDgzA/4MFb1xoFAZQwprwvfAXDv7Bt8hx2NkUfBY0WwLDgJoRUgjFffhvXDMTX34XpB7bGjR1RodkikY3M88CaWVaJLAhHeGDNIOtEFv4jBzPGc2RXHd9avgn3t03E4W18S7j4EpugC/fp/Pm7XavOHk8R72Dy/lUZnvtWvzOvEnB3bnqjjACk+q98Hb/9aYfDePxvOzzhSF34K9/E0//90TlBm7A+66/O5d/FBZ8fPn9QvG5guUiiJsmz/kL4+AOzh97f\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"not really self sustaining\",\"height\":7,\"author\":\"Slabdrill\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/not really self sustaining.replay",
    "content": "1,-1,udlr;1,0,udlr;1,0,udlr;-1,1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,1,udlr;-1,1,udlr;-1,0,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,1,udlr;-1,0,udlr;0,1,udlr;-1,1,udlr;-1,1,udlr;0,-1,udlr;-1,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;-1,0,udlr;0,-1,udlr;-1,1,udlr;-1,-1,udlr;0,1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;1,-1,udlr;1,-1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;1,1,udlr;0,0,undo;-1,1,udlr;1,1,udlr;1,0,udlr;1,1,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,0,udlr;1,-1,udlr;0,0,undo;1,0,udlr;0,-1,udlr;-1,0,udlr;1,-1,udlr;-1,0,udlr;-1,-1,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;-1,1,udlr;0,1,udlr;-1,-1,udlr;0,-1,udlr;0,1,udlr;-1,-1,udlr;-1,-1,udlr;"
  },
  {
    "path": "officialworlds/solo levels/campaign/one or two.bab",
    "content": "{\"width\":15,\"version\":5,\"extra\":false,\"map\":\"eJyN1u1qgzAUBuBbKf21gQyT+NnilYwhtkqRBh1WWUfpvS/J0c502cn5U0p5Tmrekw/rfiP7YyU3ZXG7ja1siu14HctKjtvgWrCgrdXHdyGCy2dzbCtZ3O5B3Q4FuwcrfqgOmnPNuZ9/VfKsvdBeKM88wzcPHeGjzw9iaKxoRB44UTrG9aRxpHGKP8XlPEltE20zZUOizfEsLMtChTkVe5poY44nZ2OBB2dj3b7Ej1ODY1pygBNadIBTWnSAM1p0gHNadAbzkBYdYIZHt9q1ufHcv6CXP1BLSVcIPJXfDTN7z17Ufvey8p4NqU6FFSbsx92r8eaQ4im+WJbBAWf4YrFxjsdiYRHimdiY0QIB7Onno5egxfNqOfayH4pbHPB/K83xLaLn6UJl10q87k93/6tbpgWnf0LrG+CU1jfAGa1vgHNa3+AOCml9A8zwvtmY+zf5uWnM5cnMTRQJPL/VpgUf+a/b5XqeK2L/sbBMAgoS6sU7+9S/1bv+1K8qMjymp4icvRXW+Kdh6kxFbN4cQleown12QgVzxSpccwbPXaEK19kJXrjncN/Pb2/q9e2+L99F9PEG+059F/N3/Xvs+n1oxmnoNuW+6eofIDFWbA==\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"one or two\",\"height\":7,\"author\":\"Slabdrill\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/one or two.replay",
    "content": "-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;0,-1,udlr;-1,-1,udlr;0,-1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,1,udlr;1,-1,udlr;1,0,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;1,1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,0,undo;0,0,space;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,0,undo;1,0,udlr;0,1,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,space;0,0,space;0,1,udlr;0,0,undo;0,0,undo;0,0,undo;1,0,udlr;0,1,udlr;0,0,undo;0,1,udlr;0,0,undo;0,0,space;0,1,udlr;0,0,undo;0,0,undo;1,0,udlr;0,-1,udlr;0,0,undo;0,0,undo;0,-1,udlr;0,0,space;0,0,undo;1,1,udlr;0,0,undo;0,0,undo;0,-1,udlr;1,1,udlr;1,0,udlr;0,0,space;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,0,undo;0,0,undo;0,0,space;0,0,space;1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;0,0,space;0,0,undo;0,0,undo;0,0,undo;0,0,space;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,space;0,0,space;0,0,space;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,0,undo;0,0,undo;-1,0,udlr;-1,0,udlr;0,0,undo;1,0,udlr;1,0,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,-1,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,0,udlr;-1,0,udlr;-1,0,udlr;0,0,undo;0,0,undo;-1,-1,udlr;-1,0,udlr;0,0,undo;0,0,undo;1,0,udlr;1,0,udlr;0,0,undo;0,0,space;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;0,0,undo;0,0,undo;0,0,undo;-1,0,udlr;0,0,undo;0,0,undo;1,0,udlr;0,0,undo;0,0,space;-1,-1,udlr;0,0,undo;0,0,undo;-1,0,udlr;1,0,udlr;0,0,undo;0,0,undo;0,0,space;0,0,space;-1,0,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;0,0,undo;0,0,undo;0,0,space;0,0,undo;1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,0,undo;0,0,undo;1,0,udlr;0,0,undo;0,0,space;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,space;0,0,space;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,0,undo;0,0,undo;0,-1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,0,undo;0,0,space;0,1,udlr;0,1,udlr;0,0,undo;0,1,udlr;-1,0,udlr;-1,0,udlr;0,0,undo;1,0,udlr;0,1,udlr;0,1,udlr;0,0,space;1,0,udlr;0,0,undo;0,0,space;0,0,space;0,0,space;1,0,udlr;1,0,udlr;1,0,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,-1,udlr;0,0,space;0,0,space;1,0,udlr;0,0,undo;1,-1,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,-1,udlr;0,-1,udlr;0,0,undo;0,0,space;1,0,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,-1,udlr;0,-1,udlr;0,0,space;1,0,udlr;0,0,undo;1,-1,udlr;0,0,space;0,0,space;1,-1,udlr;0,0,undo;0,0,undo;1,-1,udlr;-1,0,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;-1,0,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,space;1,-1,udlr;-1,0,udlr;0,0,undo;0,0,undo;0,0,space;0,0,undo;0,0,undo;0,1,udlr;0,-1,udlr;0,0,space;1,0,udlr;0,1,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,1,udlr;-1,0,udlr;-1,0,udlr;0,0,undo;0,0,undo;0,0,undo;1,0,udlr;0,0,space;-1,0,udlr;0,-1,udlr;0,0,undo;0,0,undo;0,0,undo;0,1,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,1,udlr;1,0,udlr;0,0,undo;0,0,space;0,0,space;1,0,udlr;1,0,udlr;0,0,space;-1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;1,0,udlr;0,0,undo;0,0,space;1,0,udlr;0,0,undo;0,0,undo;0,0,undo;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,0,undo;0,0,undo;0,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;1,-1,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;-1,0,udlr;0,-1,udlr;0,0,space;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,0,space;1,0,udlr;1,0,udlr;0,-1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,0,undo;0,0,space;-1,0,udlr;-1,0,udlr;0,0,undo;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,0,space;0,-1,udlr;0,0,undo;1,-1,udlr;0,0,space;-1,0,udlr;0,0,undo;0,0,space;0,0,undo;0,0,undo;1,-1,udlr;-1,0,udlr;0,0,undo;1,-1,udlr;0,0,space;0,0,space;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,space;0,-1,udlr;0,0,undo;0,0,undo;0,-1,udlr;0,0,undo;0,0,undo;0,0,space;0,0,undo;0,-1,udlr;1,-1,udlr;0,0,space;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,0,undo;0,0,space;-1,0,udlr;1,0,udlr;0,0,space;-1,0,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,0,udlr;0,0,space;0,0,space;0,0,undo;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,0,space;0,1,udlr;0,-1,udlr;0,1,udlr;0,-1,udlr;1,0,udlr;0,0,space;0,0,space;0,1,udlr;0,0,space;0,0,space;-1,0,udlr;0,0,space;0,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,1,udlr;1,0,udlr;1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;0,0,undo;0,0,space;0,0,space;0,0,space;0,0,undo;1,0,udlr;0,0,undo;0,0,space;0,0,undo;0,0,undo;0,0,undo;1,0,udlr;0,0,undo;0,0,space;1,0,udlr;1,0,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,0,undo;0,0,space;1,0,udlr;0,-1,udlr;0,-1,udlr;0,0,space;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,0,undo;0,0,space;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;1,0,udlr;0,-1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;"
  },
  {
    "path": "officialworlds/solo levels/campaign/pay respec.bab",
    "content": "{\"width\":10,\"version\":5,\"extra\":false,\"author\":\"Slabdrill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":12,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"pay respec\",\"map\":\"eJyNlt1uo0AMhV8l6k22EhfMDwO04lmiaaBZtAgiGLaNorx7GZvGy6qZ8V0uvnNifGxDPey64Wi73aG6Xl3bNdXTh+2eks8qTdq6EsmlMsl0bo6t7arrLanbsRK35AdULqhIH7Pu0x2WX3deeV485uf2YI+u/Wudlwgv0YtEBv4B3QHNFlQHzd/vrAmz60MCmof74Z/xPDbTdBcUi6DgeZecBv7+px0LHG7h6i4BjkTp3d8l4ZJVOLKKUflbQ7zm1a0A9kkGvDesT5Lrm4eHacP6FBWPNYI1TejrI894rEzj+bnxYk+27UkkWCkiy1ng3hEfW2BI3b55gQaBDidJU4J4Fg7T4zPRJnIbFnr6M3ckyMM5YTX93pGiCKeF+zkSX/6UmPq/+cCqSLobVnCCGua+HkgjOWF9P24GEsWNC3HNmmVgjWI9Lfr6MciZrB+Cksnm7KOFfMHo4Muz5w3wZbx96wsLeJ2GB3jdJGQjNwZK+UW4jJ+O790AgYkI1j6iuQrnszHWmnWPkM1YYSJrGGHOhOeMLOumaxxJOPHjuOTAl6zXC7BZyqh+IxCMYugCFKCR8QN5GuyHvZy7iVQqfvP2e8J1fNKwSYhHdptWCnHDmh5k+euNfCzf1bwEmPOp1g+n4a4wjz7Vbq9j4+ax3x1em77+An6l2YQ=\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/pay respec.replay",
    "content": "1,0,udlr;1,0,udlr;1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;1,1,udlr;1,1,udlr;1,-1,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,-1,udlr;1,-1,udlr;0,1,udlr;1,-1,udlr;1,0,udlr;0,1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,1,udlr;-1,-1,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;1,1,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;0,-1,udlr;1,-1,udlr;0,-1,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;-1,0,udlr;0,0,f;-1,0,udlr;-1,0,udlr;-1,-1,udlr;0,1,udlr;-1,-1,udlr;-1,0,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,0,f;"
  },
  {
    "path": "officialworlds/solo levels/campaign/rotary (buffed).bab",
    "content": "{\"width\":12,\"version\":5,\"extra\":false,\"author\":\"Slabdrill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":12,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"rotary (buffed)\",\"map\":\"eJyNlstugzAQRX8l6qIPiQXGNo9GfEtkihuhuhBR0iSN8u+1xxSTlNizy+LcyZ079pi6W6nuTajVpjyfh0bJ8qGSSg0P0bGMo6YuSXTSP7528q0RqjxforrpS3qJRng4Dpv3rq+7flIkWsFvFXxSzFGq0fwWJRN67YRpmJD7tLFSSYMTg/NU88l9/CCUYzPNUiSrUYZE+VIU147lt+xPxEgSI0n9RmyPYyogyFB2AM3DbsbhAF5oPPUMR1QTSmLNFv7SoxMKPMG06fDE36TB227bOQENtzqvz/ytzq1zUzrzl7ZOGBxalPWhF62+RZ+TjCBOTivrDymdJEU1ASxP/E3MWZaHZ2v8/7jqZrrk39L4V56D7Qx1TS2bo66pZQvUxQA2if1pz1keOCuwEFW3bZ8GV5/499yVl8Qf95xlWSDoPzOuOl1covzm+IqDOO3Ul5GlIGNLrwC/NWVZ7h+o+Yfx3FoetfLGOK0i88cJClHNJYyiUrVsikh120HxDPwEjqXbNoBzxB5+fXHVC0S3f/mAgnFUs8DSGNOsOBlBDgLM6rZPg+URC/DR0RS1xCzLwsHsJ5oxVCi2MkeEYidaAJ+idg2wrEDUBtvEfiIFHvgpP4vz0DynrwcCnyg099/s8aaOcBG+2q/Pjmfx0jT5PS+MLC6n7HJZ93LY9+1qs5Zt/QvYupJV\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/rotary (buffed).replay",
    "content": "1,-1,udlr;1,0,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;0,0,undo;1,0,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;0,-1,udlr;0,1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,-1,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;-1,1,udlr;-1,-1,udlr;1,0,udlr;0,1,udlr;1,-1,udlr;1,1,udlr;1,-1,udlr;-1,0,udlr;0,1,udlr;-1,1,udlr;-1,-1,udlr;1,0,udlr;1,1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;0,0,undo;0,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,0,undo;1,0,udlr;0,-1,udlr;-1,-1,udlr;-1,-1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,1,udlr;0,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;1,-1,udlr;1,0,udlr;0,1,udlr;0,0,undo;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;0,0,undo;0,0,undo;1,1,udlr;-1,1,udlr;0,1,udlr;1,0,udlr;1,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;1,-1,udlr;-1,0,udlr;1,0,udlr;0,1,udlr;-1,-1,udlr;-1,-1,udlr;1,-1,udlr;1,-1,udlr;0,1,udlr;-1,0,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;0,-1,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;-1,-1,udlr;1,1,udlr;1,1,udlr;0,-1,udlr;-1,1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;0,-1,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;1,0,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;-1,-1,udlr;-1,-1,udlr;0,0,undo;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,1,udlr;1,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;1,0,udlr;0,1,udlr;1,0,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,0,undo;-1,-1,udlr;-1,0,udlr;-1,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;1,0,udlr;0,-1,udlr;1,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;-1,-1,udlr;1,-1,udlr;0,1,udlr;-1,0,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;-1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,1,udlr;0,1,udlr;-1,1,udlr;-1,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;-1,1,udlr;1,0,udlr;1,1,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;-1,-1,udlr;1,0,udlr;0,1,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;-1,-1,udlr;-1,1,udlr;1,0,udlr;0,1,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;1,-1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,0,undo;0,-1,udlr;-1,1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;"
  },
  {
    "path": "officialworlds/solo levels/campaign/scenery/real scenic pond.bab",
    "content": "{\"width\":17,\"version\":5,\"extra\":false,\"author\":\"Slabdrill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":12,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"autumn\",\"parent_level\":\"\",\"name\":\"realer scenic pond\",\"map\":\"eJyV2NtuozAQBuBXiXqx2pW4wBgf2IpniWhDoigsrBKipIry7gseBwxSPf/ef9OaGY89zq7bNN1n1Wy25ePRH5u6fOvv/fZyujZvyb1Mk+OuFMlXKZPL3/rzWDXl45nsjudSPJPAH7p+4tnA8zjf1+3lMgXIIUDFAz7qUYtR5/xqAq0GreP6VvXn0Wej14MXyF932gw6i+u2u9yOf6YIy6/+VjUTL9DUOC1S/mvb7tDNAWNpzfcBfinS2SyemoWV8cQsLFPQhVXxvbWwOp67hTXxxC2s/Y+cjfWzmM3G4hWgHes2VBvDrnB85XKHJVdlahbCOVfmECuozmQ1tmTlsMGWTNhiSyZcAGdN9TF5CfTfqa5Pc4CA9gdZsIzaYbCMhMEyEmbKOB9JxHU8JfumO8zYQC1A1mLpMA6PheTbxdk8jafudTUSFvHUTRcd6QxqAbKSv0avs875nefvaPIK2nhkwWa0Dpt4pqeEkGa7MfjLBXT2O6tSbMmFwwJcMumMv/Nfm5oCJFR0sjlf9L6+93MAM9/404mshmpO1mAJFG6AUxZqL48LdMQir1Noj3gs4gmcaul5ht2jXkswKW7y1Dk0L3mssI8krNGPJG7ig9CaW+bEXvEiPg6tuEnjm3DNwUFH0DgO9ObvX4HHWtNjpjfnlRNX4MrdjGY0Vn/CBls2YYsum3gRv4JX3KbMV87eDXaWeUu+Rg2vM/hlSF7yt+C++QojcnT3Elfx7ITns4/QcILclGeZ2q45XF3izHtyxQtmnl1z5jW55hl6FBCXfO79ZiCfM5kP3trCjZSF4m+mHwFnenbxQ4cPYaq7/g9MdRfbjSLgHwzIixR4svRV04QhTJndKfszDPjuln2+n+v+em432/e63f0D07olrA==\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/scenery/real scenic pond.replay",
    "content": "1,-1,udlr;0,-1,udlr;-1,-1,udlr;0,1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,-1,udlr;0,-1,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,0,udlr;1,1,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,1,udlr;0,-1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;0,1,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;-1,-1,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;1,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;-1,-1,udlr;0,1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;1,1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,1,udlr;1,0,udlr;-1,0,udlr;-1,-1,udlr;1,-1,udlr;1,0,udlr;1,1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;0,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;0,1,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;-1,0,udlr;0,0,undo;0,1,udlr;0,0,undo;-1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,0,udlr;-1,0,udlr;-1,-1,udlr;1,-1,udlr;1,0,udlr;1,1,udlr;-1,-1,udlr;-1,0,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,-1,udlr;0,0,undo;0,0,undo;1,-1,udlr;1,-1,udlr;1,0,udlr;0,0,undo;1,0,udlr;-1,1,udlr;-1,-1,udlr;-1,-1,udlr;1,-1,udlr;1,-1,udlr;-1,0,udlr;1,1,udlr;1,0,udlr;0,1,udlr;0,-1,udlr;-1,0,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;"
  },
  {
    "path": "officialworlds/solo levels/campaign/scenery/return of return of scenic lagoon v2.bab",
    "content": "{\"width\":10,\"next_level_after_win\":\"\",\"extra\":false,\"compression\":\"zlib\",\"author\":\"luna\",\"height\":10,\"version\":5,\"map\":\"eJyNl9uOgjAQhl/FeLHZTbignNHwLAYFXbJdarBGjfHdl3aAll22M/ff1Jn/owcrseLiUPLVrng+ZcPrYi3vcrevOZdr7174XlMVzHsUsXc514em5MXz5VVNV7CXNyuY6KCnEzd9EhMd9nSKrF3uJzzq8cyNf9Wml7jHcxLOFJ70ePA/PjSi0bRHo//RWym7ic3ciczYHM/jJOSEMx8PZG8GZAwPZFg+0HzgTmRsHeCQNifAET5oazUS43MeRVcJ6xcSfNbBaKj5lGQf2IymH+CclouGAx/PRdZ3aQoYnsyboQN3KLeSKzbSbOgOZAgbWKUzJLLxUnjxcg+J++yZsSmWs8VmeGonUd7Kx5lfTFXuTu/IxUnBsT7ZfFLrwDJS68AG7i9kxob4mJevq1UQLU34x02iWeXRRxsBVnlkRBbZiDM2c393MzZ3b9oxCA1HNHvAIvZUyuMmhwJEoSoYdgzwBI1vhkYcWqunmkc8Wgcl8IhLGJcbnuYTWMTn9DABmmhUwzHNKLAEo3CtAk7wOVyrwBN8joc8FBCUQj+ZxilGLZwg1MZpPoFFfOp7ezg1oQBRai+e0IwCSzDaisut+TYlBKujJSggaLVyTBal/mqproYHaq5LCGKvhiZ4bQU8xqEAMasKRCc/rQqC373Vf47/ldh8THjqk65FYBndFhQEuK3Nu8HDZVuvbVfLa9eudtu6rX4AgTV2MQ==\",\"music\":\"gras be mov\",\"is_overworld\":false,\"level_number\":0,\"level_sprite\":\"\",\"name\":\"return of return of scenic lagoon v2\",\"palette\":\"autumn\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/scenery/return of scenic lagoon v2.bab",
    "content": "{\"width\":10,\"next_level_after_win\":\"\",\"extra\":false,\"compression\":\"zlib\",\"author\":\"luna\",\"height\":10,\"version\":5,\"map\":\"eJyN1t2OgjAQhuFbMR5sdhMOKP9ouBaDgi6RpQYwaoz3vrQDtibKfOfPkDKvgIVc1HKX14tNdr/3VV1my0teL51r5jpVkQnnloVOdyp3VV5n94dTVG0mHs4b6g00wqg/0BijwUCTz7S/9ptjWT55OPAU4kLxaODeZ77Nt08aDzSYO3PfPm0C3Z+mKX9/W3Ne4fL3d5C98p72Yv4Gp1MTZgvaGGtIFoi4l20hrcsDIcc6vvZYSbJgSsIJthTCKbQUbT2XX8qX0WJ+H+OVA229+V2MeyarMvqgDd7tLXx/hhB6cZCNoDcH2Zjf2kHml/x2qjszlcxvb1/Lg8Khxil0dG19Fzo6WQH9OMh6/G12x7M14EO/j0hb1dEFreooQMs8gy82nv/dvdhk/nmdFkEYq6dtwNRTW56ebxpgEqqB8YkhD2T8MpppaF091p7paL0jyTMt6XZr47GeZJmeUyPCYFDCWFBtQyAofU2JAznHryl5IGdfXq0BoCidJ9EcCWpxoKfNsZxkmZz6iz2+NGmASfpycayothFQtJHdpfozI0DVqRINAFmtPUZA1KYsxr+ZqR4Bwp6NBro28iDNAFNWDci2/7UmgL5b6/zJfDHFVz+Gp9BXUdvYxWvRgOBrrb4N997Xeqzbsj+3zWKzLpviH61DWrg=\",\"music\":\"gras be mov\",\"is_overworld\":false,\"level_number\":0,\"level_sprite\":\"\",\"name\":\"return of scenic lagoon v2\",\"palette\":\"autumn\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/scenery/return of scenic lagoon.bab",
    "content": "{\"width\":10,\"next_level_after_win\":\"\",\"extra\":false,\"compression\":\"zlib\",\"author\":\"luna\",\"height\":10,\"version\":5,\"map\":\"eJyN1t2OgjAQBeBXMV5sdhMuaPnX8CwGBQ1ZlhqoQWN896WdLi3J2pn7r2Z6TtWpxaYTp6rbHMrnU7ZdU26nqtsG9zIM2rpkwaNMg/HanNqqK5+voG6Hkr2Cfyifafaeyrs8nDtxWXw0+9zvv5tm4fHMCxJniicz5+/5sTouNJ1pjN5R04wUh6Y5HsfRjlvgYTiahXgYFyGV59ozfxpTJQeLOemSYCP8lrsvy2P8mmcx1MKZJsGvasqMtE9JxYPNsOYhFsA5FouLC38uJkNteYiH8mE18+dhPjnWlvuzMDmDVU1GRBuTvjFgVX8J0aaklwc2IyUMNscTvohqqh7XbrSnClLSif4tC0mTg2WkycFy/+QrG5HmTbVVDYZEqxpkRIt8+1Y287+48fvm4Nz/5Na4IL05bWOkOfU2zNsHT2sPLK09sEh7zhyZ9kiDzu8ieKRF5c084GlNgkWaXFlikYBpRWqbEIo0/4ngkSIhEGkTT5A21YHV9AmhUvhTzzWnNOpwQqEup/UJltYnWKTPlS3wimRzl8uBNKQuUcAZdYsCzvF++qY2W2Whj0R4RzerY7yiXlyEPYBsrSZMsKm/pL9dGzC66TgfjCw6bktwAFl24Jrj1P4sRzLCzrP7tPzN0vPaD428Df3msG/6+hd9Q0W5\",\"music\":\"gras be mov\",\"is_overworld\":false,\"level_number\":0,\"level_sprite\":\"\",\"name\":\"return of scenic lagoon\",\"palette\":\"autumn\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/scenery/return of scenic lagoon.replay",
    "content": "0,1,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;0,0,undo;1,1,udlr;1,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;-1,1,udlr;0,-1,udlr;-1,0,udlr;1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,0,undo;0,0,undo;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,1,udlr;0,0,undo;1,0,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,0,undo;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;0,1,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,0,undo;0,1,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,0,undo;-1,1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;1,0,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,0,undo;0,0,undo;0,1,udlr;1,1,udlr;0,-1,udlr;1,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;0,-1,udlr;1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,1,udlr;1,1,udlr;1,-1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;1,1,udlr;1,1,udlr;1,0,udlr;1,-1,udlr;"
  },
  {
    "path": "officialworlds/solo levels/campaign/scenery/scenery.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":false,\"author\":\"Patashu\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"scenery\",\"map\":\"eJytlNGOgyAQRX+F+LIvJF1ttTUN39JQoS1ZBIPortv03xestbGNKGbfTLzDnLmXgUjAZYY5OKDrVTNOUcBrHsAftIaMoBA2aAvLgmYMc3TltKYcBRnOC8zOYlVmVFDVrBTVlRJAnsDzy/5jGeD4LKUAdRTAmpXsyDjTDQoujBAqAsgyKUrd2L5E6jKAAufme96BosqPVKH4BglTKLzB4QQbO0HkO8E/cY/SbkZoY0u7nkfrZjSBflEyYLz3flB6O9mybQxbOs6W42KIIQuHUa2665q+di0pz7TqG8fDxiOMiZUmRposTvs/ou6nilyc2wU5T7jriLhnWr8xMdEz7SZsvku3VpoO8V3S8NNodzO14aykd602cl/HZ9TmcevcKKQgXi7aYqqG5Z2VoRPO7rGZfDrgC+ZcfpujJfdd4kHpxKW7U9kNNh57UYFjpQHT4KTkL/VaEMcpEx6mLW08L+BHOBUhnC57CB+1Ey+0CdRyJQu4xIf28+6t+HWDb/vuATrsqSB/Zqe/Lg==\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/scenery/scenic lagoon v2.bab",
    "content": "{\"width\":10,\"next_level_after_win\":\"\",\"extra\":false,\"compression\":\"zlib\",\"author\":\"luna\",\"height\":10,\"version\":5,\"map\":\"eJyN1l1vgjAUxvGvYnaxbAkXlHc0fBaDgzkiowZrdDF+99EetDXRnuf+V9KeP2+NXPTyq+4X6+pyUV3fVm+nun8LzlUYdE0lgr8qDQ779qur++pyDZpurMQ1eEKjiWYYjSeaYzSZaPGaqrNa79r2ztOJlxAXmmcTj17zTb2503yiiW/ParzbghuFY0toFoaKkB/Gxh5OCH4YW6m0j4yP/NO4bZtwjJ2RcAIdkmzKH/Jbjo10Lp/xB51TxsbnUHayBdadcIkNxeAohIZCVvBDebc68s9jvnJibOyfxTxnsjpjDNr02dzS53vIoLcM2Rx6zZAt+KltZX2q//b9wa4q/dP77uVW49S8yUJo62QFtHWyEXRzkI39x3ywCXRrZMbqhCFodUIBWubxe7CF/5Z7sKX/UT3sjhYnWDiyTDh9H90ebVrA1NML5oeFPFaQLFPQuXZuPFPReTmSZ0rSYXvrsZpkmZq3QoTBnAanWE6yQE76jBIHYs6fUfJMTO0f9w4Upf0UhiNBHQ70dDmWkyyT03yq57clLWCSuhfPsKJkgaKDPJy6X7sEqKras7ILgKzOHDMg6tA2889oaZYAYY9WA10HuZV2AVNWL5Cj+nFWAH03zv5LfzHNl593nofQ55CswGvRgoivtfywPH5e67oaW3Uch8V61Q7NP0MjZs0=\",\"music\":\"gras be mov\",\"is_overworld\":false,\"level_number\":0,\"level_sprite\":\"\",\"name\":\"scenic lagoon v2\",\"palette\":\"autumn\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/scenery/scenic lagoon v2.replay",
    "content": "-1,0,udlr;0,-1,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;0,-1,udlr;-1,0,udlr;1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,0,undo;0,0,undo;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;-1,0,udlr;0,0,undo;0,0,undo;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;1,0,udlr;-1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,udlr;0,-1,udlr;0,1,udlr;1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,0,undo;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,1,udlr;0,-1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;-1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,0,undo;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;0,0,undo;0,0,undo;0,0,undo;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;"
  },
  {
    "path": "officialworlds/solo levels/campaign/scenery/scenic lagoon.bab",
    "content": "{\"width\":10,\"next_level_after_win\":\"\",\"extra\":false,\"compression\":\"zlib\",\"author\":\"luna\",\"height\":10,\"version\":5,\"map\":\"eJyN1t2OgjAQBeBXMV5sdhMuaPnX8CwGBQ1ZlhqoQWN896WdLi3J2pn7r6Q9p8DUYtOJU9VtDuXzKduuKbdT1W2DexkGbV2y4FGmwXhtTm3Vlc9XULdDyV7BP5TPNHtP5V0ezp24LD6afe73302z8HjmBYkzxZOZ8/f8WB0Xms40Rs+oaUaKQ9Mcj+Not1vgYTiahXgYFyGV59ozfxpTJQeLOemQYCP8lLsvy2P8mGcx1MLZTYIf1ZQZaZ+SigebYc1DLIBzLBYXF/5cTIba8hAP5cNq5s/DPDnWlvuzMDmDVU1GRBuT3hiwqr+EaFNaxIAzUsRgczzii6im6nHtRruqIEWd6I9ZSHppwDLSzsFy/85XNiLtN9VWVRgSraqQES3y+q1s5r9y4/fNwbn/zq1xQbp02sZIc+pumMsPntYeWFp7YJH2nH1k2iMNOh9G8EiLypv9gKc1CRZpcmWJRQKmFaltQijS/BTBI0VCINImniBtqgWr3SeESuGvnmtOadThhEJdTusTLK1PsEifK1vgFcnmLpcFaUidooAz6hgFnOP99E1txspCL4nwjm5Wx3hFvbgIuwAZW02YYFN/SX/DNmB01HEejEw6bkuwAJl24Jjj1P4sSzLC0LP7tPzN1PPaD428Df3msG/6+hfrE0Yz\",\"music\":\"gras be mov\",\"is_overworld\":false,\"level_number\":0,\"level_sprite\":\"\",\"name\":\"scenic lagoon\",\"palette\":\"autumn\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/scenery/scenic lagoon.replay",
    "content": "-1,0,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;0,-1,udlr;1,-1,udlr;-1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,-1,udlr;-1,1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;1,0,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;-1,-1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;-1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,-1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;1,0,udlr;1,1,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;0,1,udlr;1,0,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;-1,-1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;1,1,udlr;1,-1,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;1,1,udlr;1,0,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;-1,0,udlr;0,-1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;-1,1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,-1,udlr;0,-1,udlr;1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;-1,-1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,-1,udlr;1,0,udlr;1,1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;1,0,udlr;0,1,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,-1,udlr;"
  },
  {
    "path": "officialworlds/solo levels/campaign/scenery/scenic puddle.bab",
    "content": "{\"width\":10,\"next_level_after_win\":\"\",\"extra\":false,\"compression\":\"zlib\",\"author\":\"szoob\",\"height\":10,\"version\":5,\"map\":\"eJyN1d2OgjAQBeBXMV7tJiRr+Smg4VkMChqyLN0gRjfGd1/aQUov7Jz7r4Q5hw6VWrXqWLarffF4DE1bF+tb2a6De7EJmqoQwV8RB5ff+tiUbfF4BlXTF+IZTHS4D/uhvg+zD0ef+P3t69TX3XwiGk9I/4nL99W+UTz61O8P9ayTUWd+3SkxcznyHBtXaJ+OXrz3U5KGZv4klzT3h7ikYuOPz7HCH51jQ39wjo341M7KhBYaH3OpDb3FCTfgEktoQrIpNCHZjJ/wUB60j4zPsQkNDtkKlxjrkCzWIVmmw2m62FjdXwjaBPrsyUroWyabQjmQzaAcyOb+HCabmM3FFKe/ilOrzvYAU57dXcSZ/jTfflrOVDi9ujRWV7gBbQItObLS/2k4VlcYvbevrU+YWZ8uxhaosTG2QMlil48sdvnIAgv0NWBqDmD1kWXqM7/kacXQAaxDsmCHhMEOCWMdGpsAF3FaSuSxHskCl9DxQJd0xzPDsSbJAk0uH431SJbp0bEZkPbiNXIobGPlhg978Wgp+Ky3H5rnhodQ1mQjPutOXW7Njz3C/Badxyf+vF+/DcLSf29cnEL3hizQ5NVqrEhjU6DITp2VPfCmyueur4dr3632u7qr/gEvKTjO\",\"music\":\"gras be mov\",\"is_overworld\":false,\"level_number\":0,\"level_sprite\":\"\",\"name\":\"scenic puddle\",\"palette\":\"autumn\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/scenery/scenic puddle.replay",
    "content": "0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;0,-1,udlr;0,1,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,-1,udlr;-1,0,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;0,0,undo;0,0,undo;0,-1,udlr;1,-1,udlr;1,1,udlr;-1,0,udlr;-1,1,udlr;0,-1,udlr;-1,0,udlr;1,-1,udlr;1,0,udlr;1,-1,udlr;-1,0,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;"
  },
  {
    "path": "officialworlds/solo levels/campaign/scenery/scenic puddlen't.bab",
    "content": "{\"width\":10,\"next_level_after_win\":\"\",\"extra\":false,\"compression\":\"zlib\",\"author\":\"luna\",\"height\":10,\"version\":5,\"map\":\"eJyV1d2OgjAQBeBXMV7tJlxY+gOs6bMYlK4hEjGKWTfGd186gyImtmfvP0h7DsNU7axpN2UzW9nrtasbZ+c/ZTNPLnaR1JUVya8tktPBbeqysddbUtVHK27JQNfl2lPhadpT8Z52l261c2738LL3MuzX7qFVr/U/3q57n733wx2JmvAdB5p6moUpnZkjkZ7n8Ug6d+kevghHMpyEqFj01oBWQGGw9TXmoJVQcoqsgs7LFiuPrYHOyzZS32A1Wd/dArRFuOdnm/reUtAK6Htgm4bz9d/ad9NuxwdkOORx/pircM6ef32OXENRG7IGipptBkXNNoeiZhsZvdPuPGLpO1QoFuE/1/MpZKTEiY30N7GR8iY20pwv+n7BjB7A6mOL1ccWq48tWB9hBdbHGKuPLTCDw3pgj1XIFpi/iQdq5PHOiWMlssVKZIuVyBZbf2R1ZP29XE9jG5BtZAO+vjqyBOnH+OF5QVxBQbPVUNBsDRQ02ywc9H1PMM7D0zLFBTQtZA1Q4XnUWINsgQb37bYdH3jT4W15dN35uJ+tlm5f/QFdvbYY\",\"music\":\"gras be mov\",\"is_overworld\":false,\"level_number\":0,\"level_sprite\":\"\",\"name\":\"scenic puddlen't\",\"palette\":\"autumn\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/scenery/scenic puddlen't.replay",
    "content": "1,1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,1,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;1,-1,udlr;-1,-1,udlr;1,-1,udlr;0,1,udlr;1,1,udlr;-1,1,udlr;0,-1,udlr;1,0,udlr;-1,-1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,0,undo;0,0,undo;0,1,udlr;1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;0,0,undo;1,0,udlr;0,0,undo;1,1,udlr;1,0,udlr;-1,0,udlr;0,-1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,-1,udlr;0,-1,udlr;1,1,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;"
  },
  {
    "path": "officialworlds/solo levels/campaign/scenery/shallow pool but it froze.bab",
    "content": "{\"width\":10,\"next_level_after_win\":\"\",\"extra\":false,\"compression\":\"zlib\",\"author\":\"luna\",\"height\":10,\"version\":5,\"map\":\"eJyN1d2KwjAQBeBXEa92oRdN/6vkWaTarpQNRmpkXcR33yZTTQtr5tx/U8I5mbTVK6UPjVrt5P1uetXJ9U+j1tFNxlHfShH9yiS6nLtD3yh5f0RtP0jxiP6hyUhTjKYjzULUDC+bjTYHbT7aAjtCMdLyPd03+xctR1q/p+ZmdhMXlldcDnRgZ2ssCGdFjCVBWEBRkE3CWUw2cZapbgqCbMYHZ7qbsQOpG7D9ifDAUc98AV25zNkSCoRsBQVC1lZYYTaJw4FMNneWKdBm8aX00Q8wLbpr2nmehs9t+ebTc6bL6eiFs7bGGLRFuPKFLaHHiCyzhZfv6wwza7jAKbuGM4ttIVlsC8ky5S0ssIXPp6N0A0x9/iIRZxq0/KCVav0E1iNZsEfCYI8OZ1iPZIFlnF4+8liXZIFFXHhsEytnsU0kC/RItRPHSiTL/hJntgai9sfIYyhpsoJPev7phF+c542q3UCKLg7xjA988+F5DgVOlvkxPn8chMvw1ixxBW0NWaDK60sXWJNkgSZP+qj9wJsuH9uhM9fhtNptu1P7Bx+ErVc=\",\"music\":\"gras be mov\",\"is_overworld\":false,\"level_number\":0,\"level_sprite\":\"\",\"name\":\"shallow pool but it froze\",\"palette\":\"autumn\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/scenery/shallow pool but it froze.replay",
    "content": "1,-1,udlr;1,-1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;-1,0,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,0,udlr;-1,-1,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,1,udlr;0,1,udlr;0,0,undo;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;"
  },
  {
    "path": "officialworlds/solo levels/campaign/scenery/shallow pool.bab",
    "content": "{\"width\":10,\"next_level_after_win\":\"\",\"extra\":false,\"compression\":\"zlib\",\"author\":\"luna\",\"height\":10,\"version\":5,\"map\":\"eJyN1d2OgjAQBeBXMV7tJlxQ/tH0WQgKa8iy1GCNbIzvvrSDAsnaOfffkHqO01Zq06pj2W4Keb/rpq3l9la2W2+QvtdUUni/MvAu5/rYlK28P7yq6aV4eP/QYKQhRsORRi6q+5eNRhuDNh5tgh0hGWn6nh7Kw4umI83fUz3oYuLC8AzKwdIcy8Fa4WNBEBZQEmQDdxSTDaxlmptyIBvxuel60GYgtAOmPuEeOKmFT6CkI2tTKBCyGRQIWVNhhtnAdwcy2dhapkCTxVerTvMA06L9l9YzD93nNnz3OXOmy+noibWmRh+0ibvylU2hu4gss4SX7+sCM2u4wiG7hguLbSFZbAvJMuWtLLCFzx+Y2gGsPrJMfebjz3uJBrAOyYIdEgY7tDjCOiQLLOJ065HHeiQLLOHKA13SjmeWY02SBZpcfhrrkSz2IJLNgbTnY8Q+FDZZwYe9/HTAZ737MDy3PISyJhvxWXfqcmt+5pEYypss8yw+nw3CqXtv1jiD9oYs0OT1pROsSLJAkZ06qXngTZWPfV/ra99tin3dVX8Hn6wq\",\"music\":\"gras be mov\",\"is_overworld\":false,\"level_number\":0,\"level_sprite\":\"\",\"name\":\"shallow pool\",\"palette\":\"autumn\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/scenery/shallow pool.replay",
    "content": "1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;1,-1,udlr;1,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;-1,-1,udlr;-1,-1,udlr;1,1,udlr;0,1,udlr;-1,-1,udlr;0,1,udlr;1,1,udlr;-1,1,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;1,1,udlr;0,-1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;1,0,udlr;1,1,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;1,-1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;"
  },
  {
    "path": "officialworlds/solo levels/campaign/sider fence.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":false,\"palette\":\"space\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"author\":\"Slabdrill\",\"parent_level\":\"\",\"name\":\"sider fence\",\"map\":\"eJyV2dFu2zYUxvFXCXo3wBciRVLiCj9L4NZeYcyIi9jBOgR590n8yEkqNp9/73Lxk+L4fOQhT47Xp8v16+Hy9Lx/f7+fL6f9p78O99dPux/7bnc+7t3u7+mH2/fT1/Phsn//2B3Pr3v3sfsv6yfroO0n66ENk+2hjZMN0KbJRmiHySZox8kO0ObJjtC6bsKZ4rlyjpbOldrR4rm5eo6Wz831c7SAbq6gAyV0RSeWT+HBCuhlsePjgN5/3J+/HL4sPlshXd7tOyukK+tYSIU9S6lwz2IqHFhOhSPLqXCCOZUeYE6lR5hT6QxzWnTfwZz6ouE+KmxspCV7p4X3KHqycC8VjiwhwoklRHhgCREeYUKkM0xI0aGDCZF2MCHSHiakL7q3EnJZrFHFOSC38/F0u5++//uQy95+avNbjPIrhvPvWR4xQrDaNeWNHCxJF7eSUP7wP99WfwNNQ9GRpkGapkHaTkP52KFgc0nrzcKBLVPhaFfodni5LQ8ktlSFB7hUpUdYHOkMi1N06mBxpB0rTizYo5UqCwspHFivF46s1wsnFhHhAUSkLjI9MLKICGewhjdPDJ0Rk2WXkHdGUGb/cv12XZ7wMCzSPQtLKjiwS5FwZLci4cSiJTywe5HwyHIonFkOCx47lkNhB5rJaeGepVC4hxuVdIAblXSEG5V0gtmTHlj2hoJHdugUzix7BeeOZU/YsewJe5Y94Z5lTxi2SWHQJt8WbfbIpSiZtkhp2iKlaYscNE6gPbJy2CRHaTgNqhr2yaoDS1TVkUWq6sQyVfXAQlX1yO5IVWe2oUmX4dDjXK2qo+kQLo/GQw+DtX55b+ZqrQOLVZaOj/e0eWH+cbl+Wz2RHodlaSPVD1Zc1h/HnPWtsTnsW2Fv1XP+3L//tnrAOva0sVId+Hk2hKra3Gk32u6XG243zA1PLDBOgzlvjm43mhW0aVZR5zU17VCymjaOP03rct+bfXOj+196dzCi2AahlUc6Rwvy5gz3stZseTYNd1wXxTP7KNLBPM1uNB3IuyTPrplN9+xrqTrAQXHl5iBw83JzErjRcBTodAgJxpm27f2NZ3ZSqLwMgMj3Urlj3b9xD8NYef9L30y0VunPPsIjQPMJHi6d+nqZBZGPU/nIzouNw2tn5QlePBs3994th1fPxunls3l6/WyeXkCbp1fQ5u1LaPU6mSR4D208wySID2ZX3XIHg1O5h8Gp3GysWx5gcCqPNDjVJxqc6gcanOpHGpzqMwyO10mvjIvIP34qdyw4jcNRQ+Nw2NA4HDc0bgwcfuZwKt84HTo0T8cOzdPBQ/WZTh6a/7/Rw8fn19P97fXl6fnz6eX4DxAgcoA=\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/sider fence.replay",
    "content": "-1,1,udlr;-1,1,udlr;-1,1,udlr;1,1,udlr;1,0,udlr;-1,1,udlr;0,0,undo;1,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,1,udlr;0,1,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;-1,1,udlr;1,1,udlr;-1,1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;-1,1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;-1,0,udlr;1,-1,udlr;1,1,udlr;1,-1,udlr;1,1,udlr;1,-1,udlr;1,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,0,undo;-1,1,udlr;0,1,udlr;-1,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;1,1,udlr;0,0,undo;1,0,udlr;1,1,udlr;0,0,undo;1,0,udlr;1,1,udlr;0,1,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;1,0,udlr;-1,1,udlr;1,0,udlr;1,-1,udlr;1,-1,udlr;0,0,undo;1,0,udlr;-1,-1,udlr;1,0,udlr;1,1,udlr;1,0,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;0,0,undo;0,0,undo;1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;-1,1,udlr;0,-1,udlr;1,0,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,-1,udlr;0,-1,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;1,1,udlr;0,0,undo;0,1,udlr;0,0,undo;1,0,udlr;0,1,udlr;"
  },
  {
    "path": "officialworlds/solo levels/campaign/troll/!!!.bab",
    "content": "{\"width\":9,\"version\":5,\"extra\":false,\"map\":\"eJydlU2OozAQha9Cs5kNUoL5S9RiMQcYjTQXiAxUd6w2BtmVpKModx9jmAQyxEAWkYj0PurVc+EqKodXOeXOLr1ckHFIXfzGHe5BAuUZzQqWI8VKut53uvZYkfreWT+oGnJGeXq5egWTqX/1evRp9SFBiB94g4iGfDvEmbjJAy0ndnkGN3Wo1YFdrRA47m9EpInwOdFZIY00Hlo5MsUyxhmeU3fPigKEa6OT+YU2WhovK3TkDR009HYYMIcj8NTNaVlT9ilWKCvOVx+UK3BQHpoo+gWqWr/eY3klFJ7NqwER9JkLWup/A04cygyMjdFejBt/Pavv0Gh9+2EPtMR+1F0irTYYeniMpKT1RAhFhepfBEbdtb59LKuA5yjvlcMF3TejGM3UxsMRedJ9ZLTJnIHQ37fzCejkHJreF4zEA9klQ57Yby1tJmLp22/mOZmyr2t/qZotc36HOtPRE9OxubjWr37/Le7PGoVWS169ARKDB8NvYzyy08K0Tr2gAmv5cDjI4+XLiso359fvn3/eFtkYcJ2dcOyi17/G0sZYiqZXVbtGWnk8vaTue6RFkom7q3dDk82ckS5BSlbuTgCZMv0vCcmwzp3tgor/62R0u5stRLYTq3cUNfMbrF9HffvNZjEckHH0+i4BD1I4u3cQxV8N0BQ/\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"!!!\",\"height\":9,\"author\":\"vitellary\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/troll/bab get cleen.bab",
    "content": "{\"width\":25,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"bab get cleen\",\"map\":\"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\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/troll/bab get cleen.replay",
    "content": "0,1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,udlr;1,0,wasd;1,0,udlr;1,0,wasd;1,0,udlr;1,0,wasd;1,0,udlr;1,0,wasd;1,0,wasd;1,0,udlr;1,0,wasd;1,0,wasd;1,0,udlr;1,0,wasd;1,0,udlr;1,0,wasd;1,0,udlr;1,0,wasd;1,0,udlr;1,0,wasd;1,0,wasd;1,0,udlr;1,0,wasd;1,0,udlr;1,0,wasd;1,0,wasd;1,0,udlr;1,0,wasd;1,0,udlr;1,0,wasd;1,0,udlr;1,0,wasd;1,0,udlr;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,udlr;-1,0,wasd;-1,0,udlr;-1,0,wasd;-1,0,udlr;-1,0,wasd;-1,0,udlr;-1,0,wasd;-1,0,udlr;-1,0,wasd;-1,0,udlr;-1,0,wasd;-1,0,udlr;-1,0,wasd;-1,0,udlr;-1,0,wasd;-1,0,udlr;-1,0,wasd;-1,0,udlr;-1,0,wasd;-1,0,udlr;-1,0,wasd;-1,0,udlr;-1,0,wasd;-1,0,udlr;-1,0,wasd;-1,0,udlr;-1,0,wasd;-1,0,udlr;-1,0,wasd;-1,0,udlr;-1,0,wasd;-1,0,udlr;-1,0,wasd;-1,0,udlr;-1,0,wasd;-1,0,udlr;-1,0,wasd;-1,0,udlr;-1,0,wasd;-1,0,udlr;-1,0,wasd;-1,0,udlr;-1,0,wasd;-1,0,udlr;-1,0,wasd;-1,0,udlr;-1,0,wasd;-1,0,udlr;-1,0,wasd;-1,0,udlr;-1,0,wasd;-1,0,udlr;-1,0,wasd;-1,0,udlr;-1,0,wasd;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,0,undo;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,wasd;0,1,udlr;0,1,wasd;0,1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;0,0,undo;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,wasd;0,-1,udlr;0,-1,wasd;0,-1,udlr;0,-1,udlr;0,0,undo;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,wasd;1,0,udlr;1,0,wasd;1,0,udlr;1,0,wasd;1,0,udlr;1,0,wasd;1,0,udlr;1,0,wasd;1,0,udlr;1,0,wasd;1,0,udlr;1,0,wasd;1,0,udlr;1,0,wasd;1,0,udlr;1,0,wasd;1,0,udlr;1,0,wasd;1,0,udlr;1,0,wasd;1,0,udlr;1,0,wasd;1,0,udlr;1,0,wasd;1,0,udlr;1,0,wasd;1,0,udlr;1,0,wasd;1,0,udlr;1,0,wasd;1,0,udlr;1,0,wasd;1,0,udlr;1,0,wasd;1,0,udlr;1,0,wasd;1,0,udlr;1,0,wasd;1,0,udlr;1,0,wasd;1,0,udlr;1,0,wasd;1,0,udlr;1,0,wasd;1,0,udlr;1,0,wasd;1,0,udlr;1,0,wasd;1,0,udlr;1,0,wasd;1,0,udlr;1,0,wasd;1,0,udlr;1,0,wasd;1,0,udlr;1,0,wasd;1,0,udlr;1,0,wasd;1,0,udlr;1,0,wasd;1,0,udlr;1,0,wasd;1,0,udlr;1,0,wasd;1,0,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;"
  },
  {
    "path": "officialworlds/solo levels/campaign/troll/false truth.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":false,\"map\":\"eJyVmt1unDAQhV8lyk1baaWuzX+rfZaIBNqsQpeIZfOjKO/e4BljMF7mcJG788XAmRmPZ121N037UDY3d4ePj/7Y1Ifb/q2/q1/q7l3d7t4O+92xOqjd+0EVu/Nz/XAsm8PH5646dgf1uWPkvu2qblTrTeroS633qDoe/ndyXT08/PD36/uIJAOS+ki0RH6MSCog82fKgurlMzVl+TJCOQA9ln0/AsUAZOuv8VT25end2bYXmPl7KBWUB6xQRm58zoX3/nqH+9oxkcB4S8RCKIWWSNDwI3kqxN+wRHn620xWMIbDC+RCyHryQgiMuVyHLQ7ItZErwLOH9l/93JwdJBntrREBpv1ty9fyfbaK5LW3SgL4RmFB+hQ0jdQZUGfOfd30j44Jp3Qg20guGR3+TBGc0ySHczoyciSnz33ZPDkETmmSwzaTHLH54uSoy6SWXPbkSM0e/rq6rhwlFe75IrGU0CYsurZ9HpDYIFJSjyuQHE5nkiPp/KerT2eHwB6TXPLYk6dYD+CA8AYdcIDkiM2vP4dXdgxsspEncNVOjBw2mORwA0ZyuAMjOdKCuc9DjNSDeUuE+6/5Eq7XISZDHSB5DqSZ6yxSwxSoDUae7rfJpSY78EQp7DTJJadNdX+6NI4YzNbw/0+A0PAQuNUmudRre3LEZbN7ZEYOG2zkGWwwyRGD3cNksLckR7yl0CG94KwNAxIPxq74OhcPlq5YNBcPhq4YNBcPdq5877l4MBP+fPkebQVIroAK5fpDYjRaoUgeoXtEbuQx0rk9c99ACHxSInm6TZ4BAUnHdNLn6wE5yKtj7fSFr39om7Y7fOidXn+yQvJ6bh4xkuHeEhpuFSsHhR0PBAjJ4y2dYmGQBK1YJE+3ybMtnSIhORpTJC/EVuXyNqrV3hiNHAdYr9AiwHrEZdcKMQS7zHrEZjspUjz3kXyeN1CWgu22QLYVgO22gGz4HFBIbntfSyHFfPG1lGT+4tGiDSM/y4TNDwSLBRIgWu7r0zdahUZOCjeeAdx4BnDjGZCM58LJcjMGi/F/r+FMtwDuNgPS9j0rhkoTJG3ibhUG4IJuAXgTt4C0jVsjWJ6vGzHGN8uL9Y5uskUyYeZfM+L6tj+dxVhcXcWj8GmFNhSLa3RHsUC0qdewVAxHGwPhA7a0TApXFwbCh+zQc0UE5HB8MoDmPcljIe/doccCC/8lAHecAcnxBSCZ7fWKFgtX+pB5DITdDj1YTABe5RnIgZbfvgUjiwIApjPhyfVqsEjnyQ7OMBALswG85UxICK85+RHFYiYwkGGKBfBJm93PGZSqwWIlZODmGllLwSM3C0jjGAckBMADGQZo5gZtbwwouMFkQEMzrqaZMlLnt1gEKQmTeGYKrwgM4BUhJQCvCAzgfR8DeMNPQIY0/K7hZQg+zVsAOektVoFPehaQjnoOyAjA2z8G8PaPAWSK89j2fT2FjOvrjL0MYZFiHfGfS5zXTcZFFkGOea/H0xRBbHeXAxjCs50BJNtfL101ZfBcZwDP9ZwAPNcZwHOdASnXJ80YETS5uw6MQcVytT5c9h+oQGq7DSpGkGOeDSpGkIGOCyqGpHP94l1wv2nOVOB+M4D7zQDit/1WBtH7heFjfxcH58k/prBCawrroa19LPIM4UWeAbjIa7pNJw7zFgBc5C0gFfkFAN9pskD493Evs16oaTKEElLdHooYomXESR6r+S6Ulg+P7iJkQox02yUIIdfYHETnNa2QM72j+EsrKe8H6nh2kyqtkPuLcwL5WZWInACpj58sYQDxWtsCQDZ3AujraunnVQdkBCDjWwJSApA671201fhAj/XXRrefv7u6v3Snm7vf9an6D6n7hN0=\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"false truth\",\"height\":15,\"author\":\"adr\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/troll/leekspin.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"redfault\",\"parent_level\":\"\",\"name\":\"leekspin\",\"map\":\"eJydmt1uo0AMhV+l6sWuVsoFM/y3yrNUJEENWjZUCVVbVX33hbENDNuMT/am6sVnCHN8BtvMobtru33V3j1tPz/7pq239/2xPtdVu6t2h2bfV313vt+8b6NNc9iazcfwz+Wl3jdVu/382hya89Z8bTjyrWon1A6ouY7u2+73xMYDa6+z/Xv/FPhRiR596ic6Heg4TO/qic4GOoGvnQ90GqYffk10MdAZtpjlgObhC3sLaqIhoICf0oy6lmH88tKc5gCnbiATxogfMz4KbALZMOLnj/74Zw4ZVTUBWZfLY0ZRTUjVQEqPEpuAxnwj4+AcMgCxRdgBHluGc3jJ2iicwR5rwvnrsTacvR4bQ7lLbBJOXo9Nw3nrsVk4aT02V/LVgwslWz24xPLUwXGk5KkHGyUxnYmr3RhgXYCFkpPYOJycw9+ZTaCEI1ZzomxTRGveu77zU3yOLFF9+um26NiFFNAiEVtCi+TYRHGlxyqu9FjFlR6ruNJjFVd6rOJKj1Vc6bE5ZjSCC22PH3Olfp+lTkogO+h9nLjKIIJSg1ijpMbsTeKtXnYsf0oMqU5sAq04sSm24gRnwIpTFUG85ka+eOpgzIfEaj6cfofDM8yKxJobWMyKxCpW5NwgFrMisekNLGZFYkErEoxY8dLXbX+cYxAz8k0yV0tjbiQWcOPrTGtebBZXjm9gEyg/iMV0JBbTkVhQR4I1HT0YEZBcmLvuBtOPWE2/ZsFi6hGLbaPEJtjKEaw2HHM2UwBS6Zy6526MKFwE1moQq7Qa/JzEltD6ObaMoEKFWAO1D8RaqFAhNobaB2ITqFAhNoVcRWyG5QbBOfzaJL7AXpulg0soK0oaAkRQB8owph/DioA+jCnIsCKhD2MaMpxhPSDTiIo0+uEATcZFSWh4SIOJybRR1OSHFdooUzGfVjbV1S/R+oxvOzYJBscBTGOth9DgSIBpRGIqyiUC0thZ29Bcx4ASE20xwwqNOVZozLJCY54VGjOt0JhrhQZtK7gm6gq/xbWWQkBJiY5B1zKNTQaEBid2TGPTAaFBmzIN2pRprKAVGixpBUeaE5lCSYxW28otYhpNY6Wt0FhxK7TF9m2mYyxfmAZLXMGRIpd3O47Qqtxp3RPilRr3+vhPLoBNEYTG5nlMu3EQoATToHOZxgpgoZXNeEVjRbDQ4GbMNFgIC468YZ+76q36eGkvy8AbXrQpRYC7MtEZuCszDdZSTFssE5gGd2WmUQczrjl4hSNNqnwHNBnFgF/EmMYaVaHL8NpMuwnhbmKkfCW9spvwBQzmM6Yt5jOmY8xnTKM6M47s1DIblxhEbPcJ1+QUACrNNKg009hQgukCG0sIrZTJK1rbmeeNhwPAzZlpsFJmGtH1WNX9MgbRdfrWbgoKArVlWtPWG/9KkHaGoVneotQOMPi0dn7Bpy1oLsZjxFz+HRKwnqTRgRtFAavPdIY1iUzn4XfXii6wOQDTZdiHHm3dNAroVpg2WLvKtMW6FaZjzIRMK9/XVnQKtquMowUV466gQuW0ETjgF1wd8X//KZ7OexmsKxJa6YqmcwKMa23R9YMCfAHojFnVL0OUcw/zq0ACUuW95O2LEpQpr6d/7pLrb6iT9xyFXhfRmEsCSsgfTLuhVcAfKyXd1Eo7OhaU0iKHz7wls9D5s2640c57MvAMmuD/dwpNoq+9t78ez3X/ej7dPT3Wp8NfK+KzjQ==\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/troll/merrim_weebster.bab",
    "content": "{\"width\":25,\"version\":5,\"extra\":false,\"map\":\"eJydmutu4zYQhV9lERTbFjC6om6UGvhJFoUh29qusYqUykq9QZB3r8UZihTlaI77I0CQnI8iORcORzp2n5ruUDWfdtu3t+HU1NuH4eew2/eX9mHzcxttTset2rxefzk/14dT1Wzf3jfHU79V7xvW77v+2E/i+CpWH4vHwV8mcXIVx7740DVdv33LN1EINvUw1P3ucWLTK5ugs8qu4mx9Vsful++TPr/qNboKPS75ntGLEcjvAMoREOYzA1Q0EsU9xGhlVa4T158RUAaIQbcgdSL7xb52ctS6pBbMy77z7ADBvgycHTDaeGVzGDi8nIfuyVGhoen/JN4+tO0/D5PLx5sYHDR0hvmgl677H4PGob/MB/1S/DsN2p4abMjQoeZDVvvP5+ppdarOJ2IzIOpwpEYcrto7fRrmoo/zDwEZ6KKkziEXdXtIlJ77abCFp/bhg3EqN0Sx7rlTKkuMugT32KiTaH2P/T0jYPSJFB4+hvbsyQHJ+lqn4VOjTsG1kjpbX2ugzte9KVBr0JVIXYCbSOoS2sT9BKTRem6chs+MWkHD1w6IodR7coBgVN/JCBjtqlYMuySMbUFHJmK0r5LTxWEkckNoKFZaBxSgU5AaM3MzAZlgZn/JBChhW8+HqncTyuI79pSIBNtT8wxtiBSMSVJnUIbvHJCDFiC1hiwwOKCQi8yq79qjI0o8FAyQR3eEAhHqDrMREWNmMymgMIRwNE/7SmrsYH56dQR6MpNaOJkndWnUev3Q4NkcHVCAiyV1CS3WDa8jcK2kxrL1wQFCth599LNTY6na5HZFVyc0glmOhXDtEWgMsxwL4s4jhCj2w16ZwliX6JqNvIigNe89QqFrJjlWZr16RLK+5h+Vt9wiBYsyZerVAjPxySNgE5NcMDFfCpSpKAs0elmOhe/giBKNX5YLARzKR9OuNBpCuWDXUD5adqXHEMoz1BFIngtnV6jXwskV6gvh3Ar1JmxxU6nIHL4rhfqYPG2opIQIrbYp3Vq9dPZOtzsLJPAiGEiFRTggIyBD20Ksz9EIY70Gb1ZWj5bRVl+CtyvWm04bFJGsV2hIsl44gRf6BA1K1sPpmfUZHJYM5HBcMqDhwGSggJ2agfJOp6b2mNDine4/KicICGZueTIA9M7Pz81p8JlFC/2jlbBeaKyOz+jr+ugj2XpE+I1hJoSSmlbe/jpj9HpcjMzly7e+bn2okKG/u+pSvT43Z58r5bLWZmYiEuG6vDCmaXUJDfhL1fzwkRgNRdYnQiguLWN6XmvBeMP+idQdGZnvVT17jtQfuTE1KexvTU2K/FtTk87x5dRS6SQPLWO6Ymv5wgGaAPhlCuvRK7TVC5fohR69Qlt9jp6arJeK8FAvBPpCLwR4qDfdMOjUNPo4hk9N1kuhugCk9tliBQo+NRmI4VOTgQSOAgZSIQrciVkQINSO3jsbS8DVI+uFTvv4hFlDibhYCVWhl/4JiIWy0ABNdTj4DFwasj5bd/JLNczkOerjvFfAmyP7CtkiJezmBFCDUjhbgofkkqeHxlC55Oq3noJ7OwOStzugJAC+KbEe7nOwXqM5mfUFmpNZX6LuSnqNvliyeqGCWuiF8mledTKD52UGpAJqAWRwXmYgh/MyAxr2VAYK1FNj+jREC+8dZhcTZgrp1UP4kEJ680AV8zBjpP7H4iFS/8NmAauH2x8WyICb4p+/G4K/EUHD2uo1GEZWL6TxhR7O4QyUSA7n7ziYgGsVC8C1igUS2MVjAlLsLLVyuAtiAakLYvziN5+A2yAWgNsgFiiFTZpVQgTFEfJlGVubPimJ0I8+rB7teFk9+tWH1UvfBywA6QK8AKTb7wLQsOkYwFN4SoBwIZr8m+RKyt6hXkreoV5K3KEe7ltbQKrG/P6LZYydpR5UwBhTC42hkNFACIWMMfgNL39/5O93d9e/Pe6+xtFff9AndbuvquTfH/t6eOnbT7vHuj3+B+T8jEY=\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"map\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"merrim weebster\",\"height\":20,\"author\":\"\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/troll/merrim_weebster.replay",
    "content": "0,1,udlr;1,1,udlr;1,0,udlr;1,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;-1,1,udlr;1,0,udlr;-1,1,udlr;1,1,udlr;0,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;1,-1,udlr;-1,1,udlr;0,1,udlr;-1,-1,udlr;1,0,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;-1,1,udlr;0,1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;-1,1,udlr;0,1,udlr;0,-1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;1,-1,udlr;-1,1,udlr;0,1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,1,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;0,1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,1,udlr;0,-1,udlr;0,1,udlr;-1,-1,udlr;1,1,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;1,0,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;-1,1,udlr;0,-1,udlr;0,1,udlr;0,-1,udlr;0,1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;-1,1,udlr;0,-1,udlr;0,1,udlr;-1,1,udlr;-1,0,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;-1,1,udlr;0,1,udlr;-1,0,udlr;1,-1,udlr;-1,1,udlr;0,-1,udlr;0,1,udlr;0,-1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;1,-1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,-1,udlr;0,1,udlr;0,-1,udlr;0,1,udlr;0,-1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;-1,1,udlr;-1,1,udlr;0,0,undo;-1,-1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;0,1,udlr;1,0,udlr;-1,-1,udlr;1,-1,udlr;-1,1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;-1,1,udlr;1,0,udlr;0,1,udlr;-1,-1,udlr;-1,1,udlr;1,0,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;-1,1,udlr;0,-1,udlr;0,1,udlr;-1,1,udlr;-1,0,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,0,udlr;1,-1,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,0,udlr;1,-1,udlr;0,-1,udlr;0,1,udlr;-1,1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;-1,0,udlr;1,-1,udlr;-1,1,udlr;-1,1,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;-1,-1,udlr;-1,1,udlr;1,0,udlr;1,1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;-1,-1,udlr;0,1,udlr;0,-1,udlr;-1,-1,udlr;-1,1,udlr;1,1,udlr;-1,1,udlr;1,0,udlr;-1,1,udlr;0,1,udlr;1,-1,udlr;1,1,udlr;0,-1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;1,1,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,-1,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;-1,1,udlr;-1,1,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;0,-1,udlr;1,-1,udlr;-1,0,udlr;-1,-1,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,-1,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;1,-1,udlr;-1,-1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;-1,-1,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;1,0,udlr;0,1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;0,1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;0,1,udlr;1,-1,udlr;1,0,udlr;1,1,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;0,1,udlr;1,-1,udlr;1,0,udlr;1,1,udlr;0,1,udlr;0,-1,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,1,udlr;1,1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,-1,udlr;0,1,udlr;-1,-1,udlr;-1,0,udlr;-1,1,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;0,1,udlr;-1,-1,udlr;-1,0,udlr;-1,1,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;-1,0,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,-1,udlr;1,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;0,1,udlr;-1,-1,udlr;-1,0,udlr;-1,1,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;0,1,udlr;-1,-1,udlr;-1,0,udlr;-1,1,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;0,1,udlr;-1,-1,udlr;-1,0,udlr;-1,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,-1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;-1,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,-1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;1,-1,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;-1,1,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;1,-1,udlr;0,1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;-1,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;1,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;1,1,udlr;1,0,udlr;0,1,udlr;1,0,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,1,udlr;-1,0,udlr;-1,-1,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;0,1,udlr;-1,1,udlr;-1,0,udlr;-1,-1,udlr;1,0,udlr;1,-1,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;-1,0,udlr;-1,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;1,-1,udlr;1,0,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;1,0,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;0,0,undo;-1,0,udlr;1,1,udlr;1,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;1,-1,udlr;1,0,udlr;0,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;1,1,udlr;1,0,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;1,-1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;-1,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,0,undo;0,-1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;0,1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,-1,udlr;1,0,udlr;0,1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;1,0,udlr;1,1,udlr;1,1,udlr;1,1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,1,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;-1,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;-1,1,udlr;-1,1,udlr;1,0,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,1,udlr;-1,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;1,-1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;0,1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;0,1,udlr;0,-1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,0,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,-1,udlr;0,-1,udlr;-1,1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;-1,-1,udlr;-1,-1,udlr;1,-1,udlr;1,0,udlr;-1,1,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,0,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;-1,0,udlr;1,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;1,0,udlr;0,1,udlr;1,0,udlr;0,1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,1,udlr;1,-1,udlr;1,0,udlr;1,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,0,space;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,udlr;0,-1,udlr;0,1,udlr;-1,-1,udlr;-1,0,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,1,udlr;1,-1,udlr;1,0,udlr;1,1,udlr;-1,0,udlr;0,-1,udlr;0,1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,-1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;-1,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,-1,udlr;0,1,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,-1,udlr;1,0,udlr;1,-1,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;1,-1,udlr;1,0,udlr;1,-1,udlr;1,1,udlr;-1,0,udlr;0,-1,udlr;-1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;0,1,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;1,-1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;1,0,udlr;0,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;-1,-1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;0,-1,udlr;-1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,-1,udlr;-1,1,udlr;0,1,udlr;1,-1,udlr;-1,-1,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;-1,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;-1,-1,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,-1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,1,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,-1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,-1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;-1,1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;0,0,undo;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;1,1,udlr;1,1,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;-1,-1,udlr;0,0,space;-1,1,udlr;0,0,space;0,0,space;0,0,space;-1,-1,udlr;0,0,space;1,-1,udlr;0,0,undo;0,-1,udlr;1,0,udlr;0,0,space;0,0,space;1,0,udlr;0,0,space;0,0,space;1,1,udlr;0,0,space;0,0,space;0,0,space;-1,-1,udlr;-1,-1,udlr;1,1,udlr;0,0,space;-1,0,udlr;0,0,undo;0,1,udlr;0,0,space;0,0,space;-1,-1,udlr;0,-1,udlr;-1,0,udlr;0,0,undo;-1,-1,udlr;0,0,space;-1,0,udlr;0,0,space;-1,0,udlr;0,0,space;0,0,space;-1,0,udlr;-1,1,udlr;1,1,udlr;0,0,space;-1,0,udlr;1,0,udlr;1,-1,udlr;0,0,undo;1,-1,udlr;"
  },
  {
    "path": "officialworlds/solo levels/campaign/troll/moar! MOAR!.bab",
    "content": "{\"width\":9,\"version\":5,\"extra\":false,\"author\":\"vitellary\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":16,\"next_level\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"is_overworld\":false,\"palette\":\"default\",\"music\":\"bab be go\",\"name\":\"moar! MOAR!\",\"map\":\"eJyVmN1uozAQhV+l6s3uSrnAgPlpxbNENGFTVBqqhGxSRXn3xR4n4GIzB6kXvfiOM3AOwzDb9qlpN2XztC6u165uquK5u3Trt/LteXUpglW9LcTqu//n+FVt6rIprrfVtj4U4rYy+LlsHmjYowJDox7N/Kguoj1dHnzc8/kMXw9HS1XFpOLIySaKnZQ8sKd6fah3792mqTcf+19d//fQpox2/DuZYsMZtr/eY7k/js/POc3o/P56ezia/wHLVcEJxqdrY2Pm9GrgI44fH66sFZK5N13VdO+DRgIaKkhoPoFCTGw6n2JzF4lVvk6u03NuDkR+KDkMoMQTK7DIExxyuf1RSITlnOAYCy3BEssgwQmWKYJTIB8nhYcaz6B4EJtDTU6zUcBbvm+P5/pzkAjIdmJDzHaCWRv7YnZteS6/v5rjIIsx9wmWmPsEJ5j7BKeY+wRngPvGp0gLcsh/zcbBvP/q7M+2PAwCMd8jpoJwqSBaKoiXCuRSQbJUkC4VMK13KsgXCmSwVLDUabnUabnUabnUack4bQ1Eg8ppt+uVQrgyO8GeN5nN91CLzeeb55hNAmfz9MDC2QU9cOjsgh44cnZBDxw7u6AHds9IroEj1jw2IxHLzEh6ZPs4jQTKxZlbYsPMk3r/MNBwyrxjbZh5u9qw+/Xqo93vVx/tnpN8tHtQ8tHuSWmg/zbtbqDdo9LPIWXXKoXUCmxaIpaZliZDh1ZlQOel5BIuoHZCbAi1E2IjqJ0QG2PthGCJtROCE6ydEJxi7YTgDGsnBOdATu6PcaK/XwMoJ8QKaKomlrFQFXKPOAkYH83sSCznowVzPqpSLIF73+A5PWWMt+CMMd6Cc8b4MSyCAH6RpCTAVkYGZpZG5nPbwMz8Y58cox/chpdQTAycYDkxtHtXNFNLBgh29b+RIseiRTTti/hsGdq9LPLR7m2Rj46AdL38VoKMBDGULgNLqK8YOOED8/JnxKdQYAycYYExNOumtRQjkV4ZAREwtMAiYOgQi4Ch3QtAH+3eAIrb7fVQdafD/mn9Wu23/wGmRoP7\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/troll/moar! MOAR!.replay",
    "content": "0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;1,0,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;1,0,wasd;-1,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;-1,-1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,1,wasd;1,0,wasd;1,0,wasd;-1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;"
  },
  {
    "path": "officialworlds/solo levels/campaign/troll/win.bab",
    "content": "{\"width\":9,\"version\":5,\"extra\":false,\"map\":\"eJyNlutqrDAUhV9l6I/CAWmNuahn8EnKQexMOhVSI46lHYZ592OyvYyOJvuHIPKtXNZe2eaod0ofCrXLs+u1LZXMntrfNn8v3p+C3ywMymNGgkv3cq7loSxUdr0Fx7LJyC3o8S/ZqpGNOpZss2bo7hlxnrr5utH1CNOOje7Zg1a6ya5RwEBHZ/P8lNUoZRvS8FE62w7vdBS5ddGxyZLdGDfu2HSbtRWQhiaGTnAFsKzHUGvM60cjq1EhQr/kbjEkXHrpWA0hbgM/lD5NsAkP34b7TAJrwiCwq2Brds93+G3oyNIcZzfAwm/eTCCIX3CRSulpihhnOMAJLrEAp7jIUnuyQ5wtACN2CZmyuEC0jedp8AhnCMDUbYgZekghCJg7hfPRudvBoX8xC4ulg9CFqlKtnVJoX6CMscphdSBL/LaeW6naz1EiqF9Sa920Wt3Nk+IKYmEa+gsC0QCc4MoBcOQuhxn7758Jp/6+UNmfFbc4w50AgLnbyDkscAYCHLsNHDIHcLLsk4jMgTLFKmerY6G/BFBeYXHk5QJgRJsYdm8FPMZ3Z5jh4Y7hWg7D9VqAPZ2itx5Ysczl8qbDVzIaW+lDp1hfE8CI/gC1Ahx5zC3MEcccjmJicWQOAEbkoNInPQmQZQXYU1Yz+kkXP8WlVudJhfzxAuwJwxx+SAPAt31/ce9u7rd9/kbDfy+Qk/yN9a/mM5k+8+kzo6s0Yyt0I9vvptrle1kd/wNmWhej\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"win\",\"height\":10,\"author\":\"vitellary\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/troll/win.replay",
    "content": "1,1,numpad;1,0,numpad;1,0,numpad;1,0,numpad;0,-1,numpad;1,-1,numpad;-1,-1,numpad;-1,1,numpad;-1,1,numpad;-1,1,numpad;1,-1,numpad;1,-1,numpad;1,-1,numpad;1,0,numpad;-1,1,numpad;-1,1,numpad;0,1,numpad;-1,0,numpad;-1,0,numpad;-1,0,numpad;1,-1,numpad;0,-1,numpad;-1,0,numpad;-1,0,numpad;-1,0,numpad;1,0,numpad;1,0,numpad;1,0,numpad;-1,1,numpad;0,-1,numpad;"
  },
  {
    "path": "officialworlds/solo levels/campaign/victory in the open z.bab",
    "content": "{\"width\":28,\"version\":5,\"extra\":true,\"palette\":\"swamp\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":16,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"author\":\"Slabdrill\",\"parent_level\":\"\",\"name\":\"remote travel\",\"map\":\"eJyN2dFO2zAUBuBXQVxtUi/ixHZsUJ8FFRqhikBRKRoM8e5LfOzGzjb//92EPnuJj8/xibs/Xo3Hh914dbf9+jofxmF7/Wt3Pl1vPrbN5rDfqs3n9I+31+HhsBu3X9+b/eG0Vd+bf9l2soq03WRb0urJdqQ1kzWktZO1pO0n25PWTdaR1k/Wk1Y18wKz0VBz6JRmdQgesXIq6I7bFoI1ty8EGy4ogi0XFcF9PSyPp93bgucYKmLTifbk4rUhTZr64qUHEazqifI8DM8LbuvrkWbuAgYxLLEGb3j+ON/d7+7nAToMMPVHCX5YuK0HZ+bvi+5R1oyLdWTSmKA92tjjxXYNqmGZVaiGZXaOYjVvM9uhepdZjVIrsyB8hQWxKywXObE4chkOKVitMgvWoZCSodOKLAWi2Tpqg4Z1dFysprabWAOfOeA+YFufeM69VGZkQF/fdEtuC3f1fTfz6S/Dw/lwfFlG+foOjMUmWNNwwReM4xmwC7jFayOvKpxLR7Gaew4fsMHPMfmnZYDFMXobh9dlAOhwnoYhm91xCy7Ycy+qpCnjqmrEKJZhb+0+f3+GMeGwtrBNHTMM+tR5/rQycYSmqnfEhiqHEVviZcsRPWgBl+2rQgNhHbc2gn19bZZ1D7xv6kfgmqv6Oq55W9/va97Va9Ka63pyrLmhTsSIbX0PrOfuwam49ihV195zZ6No1xB7Mt9hDn2VzANufoQBofN0ZLoKRul6yDH4riyxqW/HEqPiW+AeHI8FdqCtLrDntmHAvuFKkWCm7r4cH4/ZkBZ+jsp/ELp233FRF8x1RhEbqhOP2HLFXDBoi0oMmqISg16owKppuLBHrbi4R92SZ3nkHRl0I5wMZNRkk6uscNDmrnQPJr9cF0TvYN8v0/fCwdlZaoWq7OVhnHh4azfmGvW4h0KDFnelwTfnSnNfnUmjfihxL7znXjNqh/vnm5/5AM+9qehwB0S8adTkJ0sbr/K4gCbNBTRpLqBJcwFNGgX0cjMmt27hGggfEkk7KuWSxh8t8UovXog2XP63rXBwrbfSuOrGh4m+Ix+mE86V3aS5AzRp7gRNmjtCk+bO0KS5QzRqzR2iSXOHaNItd7GVeMd9bCeuuQY+cXSK5p+4rRzrGty7L01/GgDu3vPrizTEcUsatQdLeikd4g1K14uXXsOAEzV74ziAvIpPHMc4Znj06D7+Mr+0Jwb8LvbXHVwaR/7CkjiI85rDGJfcw26y8JYOsrRZFhblOH3kIMRr3pFrE7km1yZywyZA9BZWiXJ+1A+vvWNjFf3/fkL7vj0N5/fTy9Xd7fCy/wNwfw3S\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/victory in the open z.replay",
    "content": "0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;0,1,udlr;0,-1,udlr;-1,-1,udlr;0,1,udlr;1,1,udlr;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,1,udlr;-1,0,udlr;-1,1,udlr;-1,-1,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,1,udlr;0,-1,udlr;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;1,-1,udlr;0,-1,udlr;-1,-1,udlr;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,1,udlr;-1,1,udlr;0,1,udlr;1,1,udlr;0,-1,udlr;-1,0,udlr;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;-1,0,udlr;0,-1,udlr;-1,-1,udlr;0,1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,-1,udlr;1,-1,udlr;0,1,udlr;0,0,space;0,0,space;0,0,space;0,1,udlr;0,-1,udlr;-1,-1,udlr;-1,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;1,1,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,1,udlr;0,1,udlr;-1,1,udlr;1,-1,udlr;0,-1,udlr;-1,1,udlr;1,-1,udlr;0,-1,udlr;-1,1,udlr;1,1,udlr;1,0,udlr;-1,1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;0,0,space;-1,-1,udlr;-1,1,udlr;-1,-1,udlr;-1,0,udlr;1,0,udlr;1,1,udlr;0,-1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;0,1,udlr;-1,1,udlr;-1,0,udlr;1,1,udlr;0,0,space;1,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,-1,udlr;1,-1,udlr;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;-1,-1,udlr;0,0,undo;-1,0,udlr;0,-1,udlr;1,-1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;1,-1,udlr;0,1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,1,udlr;1,-1,udlr;0,-1,udlr;1,-1,udlr;1,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,-1,udlr;-1,-1,udlr;1,0,udlr;-1,1,udlr;-1,1,udlr;-1,-1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;-1,1,udlr;0,1,udlr;1,0,udlr;0,0,space;0,0,space;0,1,udlr;1,-1,udlr;1,1,udlr;1,-1,udlr;-1,0,udlr;1,-1,udlr;0,-1,udlr;-1,1,udlr;0,1,udlr;0,0,space;0,0,space;-1,0,udlr;0,0,undo;0,0,space;-1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;1,-1,udlr;1,0,udlr;0,-1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;1,-1,udlr;0,0,space;0,0,space;0,0,space;1,-1,udlr;1,0,udlr;1,-1,udlr;1,-1,udlr;-1,-1,udlr;0,1,udlr;1,0,udlr;-1,1,udlr;0,1,udlr;-1,0,udlr;1,-1,udlr;0,-1,udlr;-1,1,udlr;0,1,udlr;0,0,space;-1,0,udlr;0,1,udlr;-1,1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;0,1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;0,-1,udlr;1,0,udlr;1,-1,udlr;-1,0,udlr;0,-1,udlr;-1,1,udlr;-1,-1,udlr;-1,1,udlr;1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;0,0,space;0,0,space;0,0,space;1,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;-1,-1,udlr;0,-1,udlr;1,1,udlr;0,1,udlr;1,1,udlr;1,1,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;1,-1,udlr;1,0,udlr;1,1,udlr;0,1,udlr;-1,-1,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,-1,udlr;1,-1,udlr;0,0,space;0,0,space;0,0,space;0,0,space;0,1,udlr;-1,1,udlr;0,1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;0,0,undo;0,0,undo;-1,-1,udlr;-1,1,udlr;1,-1,udlr;1,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,0,udlr;1,-1,udlr;-1,0,udlr;1,-1,udlr;-1,0,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,1,udlr;0,1,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;1,-1,udlr;1,-1,udlr;0,-1,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,1,udlr;1,0,udlr;0,0,space;1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;1,-1,udlr;0,0,space;0,1,udlr;-1,0,udlr;0,1,udlr;0,-1,udlr;-1,1,udlr;1,-1,udlr;0,-1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;1,-1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;1,0,udlr;-1,1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;0,1,udlr;1,0,udlr;1,1,udlr;0,1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,0,space;0,0,space;0,0,space;1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;1,1,udlr;0,1,udlr;1,1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,1,udlr;1,1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;0,1,udlr;1,1,udlr;0,1,udlr;-1,1,udlr;0,1,udlr;1,1,udlr;1,0,udlr;-1,-1,udlr;0,0,space;-1,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;1,0,udlr;1,-1,udlr;1,-1,udlr;0,-1,udlr;-1,-1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,-1,udlr;-1,0,udlr;0,1,udlr;-1,-1,udlr;-1,1,udlr;-1,-1,udlr;1,0,udlr;-1,-1,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;1,0,udlr;1,1,udlr;0,1,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,1,udlr;-1,0,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,1,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;0,-1,udlr;1,0,udlr;1,1,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;0,0,space;0,0,undo;0,-1,udlr;-1,1,udlr;-1,-1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;-1,1,udlr;0,1,udlr;1,-1,udlr;0,0,space;0,0,space;0,0,space;1,-1,udlr;1,0,udlr;1,-1,udlr;1,-1,udlr;-1,-1,udlr;0,1,udlr;1,0,udlr;-1,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;0,0,undo;0,1,udlr;-1,-1,udlr;-1,-1,udlr;1,1,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;0,0,undo;0,0,undo;0,0,space;0,0,space;-1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;0,-1,udlr;-1,-1,udlr;1,-1,udlr;0,0,space;0,0,space;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,0,space;0,0,space;0,0,space;-1,-1,udlr;1,-1,udlr;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;-1,1,udlr;0,1,udlr;"
  },
  {
    "path": "officialworlds/solo levels/campaign/walk past.bab",
    "content": "{\"width\":15,\"version\":5,\"extra\":false,\"palette\":\"default\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":5,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"author\":\"Slabdrill\",\"parent_level\":\"\",\"name\":\"walk past\",\"map\":\"eJyNld2OgjAQhV/FeLcJyVpaRNbwLKZC3SU2sEFcXY3vvv0D2k3p9M6L7wzTMzPHulvxrqJ8dSifz6HhrFwP9+FwpMd1ci83SVOXKPkVPy7frGooL5+vpG76Er0SC/+5THQqaBSmz4ydJx4LPg3zRzbRRNA4hkaSzuDOb5SfJ34reBLmrxJOJZyHixsHFboLv1H0IFEi0cJXFXtRtPFZvcAiXwszO45Ew6nP5SUY+0yb4RPvPiWcKZiETXPhLLxKLrwNe+zCObBGDZ/ZXfh9oxkaLnxw7mzQ0NP2IRW5WugCvhe90QpPN/C5POiN9te6m0Uo/FyzKIVi06gF1CwO9+6wJNz4aKOGs7gF1LD3arFjyalnLWcqpJBOKeB6TesG3sE5MrZkFMBUnfLYe8du+UtLq8qSeM95qX4K78zA7oOlwFELY+CYTNZhiFTKYuCunX5UfuItPIAvymxFDn9jfIUWeM984RNYKbxR7SrG1NEKEjFo8++leWDKkv94s3hvbgfqe6P73yB0FCKV9QSIb+Xquzw2SxMx7el4tAKIcusZmofSXPBt99lZioVhv/Y9G659uzrsWVv/AX6iCnA=\"}"
  },
  {
    "path": "officialworlds/solo levels/campaign/walk past.replay",
    "content": "1,1,udlr;1,0,udlr;1,1,udlr;-1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,-1,udlr;0,-1,udlr;-1,1,udlr;0,1,udlr;-1,0,udlr;1,-1,udlr;1,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;-1,1,udlr;0,1,udlr;-1,0,udlr;-1,1,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;1,0,udlr;0,1,udlr;-1,-1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,0,e;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;0,0,e;0,0,e;0,0,e;-1,0,udlr;"
  },
  {
    "path": "officialworlds/solo levels/clean out the cobwebs.bab",
    "content": "{\"width\":26,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":14,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"j\",\"is_overworld\":false,\"palette\":\"greenfault\",\"parent_level\":\"\",\"name\":\"clean out the cobwebs\",\"map\":\"eJydm99u2zoMxl+l6M3BAYKeWP5/hjxLkTReG8xLhjRZFxR999kiZTsWZVLc1S6+n9OIXyiKovenh/b0sm0fnjefn5dD22weL38uzx9Ns3tc/dmsV4f9Jlnduv+8/2peDtt28/m12h/Om+Rrhfo7rem0iaddvZza03nz+HreNrdHmkw70qjIrCNT4d+Xd9piQXu97gdt0Wmr4F+0O38cH2mw7MBaA1b96vlLLSDrngwv/ALZfV6Hhld+Ce2dkfhLT6O9r3ZNDycWNsu2svLtbtSnpLW8MIM407gJ0Jy0kwjtHZNJ0V3TtpeR7U2Th7/eTN07peR9DOJaYWRLmrXGkIBGe+Pwcuv+9Q8w9gESfzSjXGgPEKvsAWi+HKd2uz+P4mI53fxqt5fvp4m+pPRlYLnv/iyhIUAcY4i7L5QGDBH8RmlCAoGvdP9Zhs5pAXVKpzF6BdIs1p3Xnk0tm8ucBuJC4zRAS9m+BuJKZksQ12JbWn22jrElrjOQiSL1AGk0qQfQNCa4bhkzi2aa+gXQXBNpQAvNlgNoqdpygCU9k3ueATGdMyjPWH2+pvTM7x7IhCyfvFiDmLYJ401Ao2zS5wBYzY7PLZ/xG5SLFQBM4hh3NJDTqeNOfjy9nkZAmDBAXMUY5x6tyVwTQnHNLVqQrmB+1EBGbSRYOAJphDsDqKNdgZ9VWFriif++n5vjiAhc4X4fAAh8sWuO/1xGgjFGT7xtm8v7j1szQrRBPEuAOM4SU7QkN5fA55QJWeYw1gPUKKwHZKrJMYBG1xkfbwcbuNLiAm+49QFA5I1RLjDG6fryNgJCU4BYZQqLVrQpmDgDqik5gDSxwZpsepV9Qkr9/Eti+UFOVhv38tfTz9vH9jYyZJlRessIYlVhAWhUYXGPMrXoUIWAmixGy4C6XlMJoPQCCmKNFYCMssLudIb8XFuWNEESUtMVZ0hNF5khNR3+kJqOeEjNBflezZw47tXJmoyyv2OjWhNmRHVxTrBzJo2000tj7fTSaDu9NN5OL42400tj7vTSqKM+EYbdyWPi7koox3LNhUlqd0hKIsyRxsGZsAh1+lxnTGj42UakyJioL6XGRH0lNSbqa6kxsTW8lhoT9YnUmKg3UmOiPhUaE+WZpuGKbK7p5Du40LnGAF1KXYP6Suoa1NdS14DeNhtFrkF9InUN6o3UNahPpa5BfSZ0DcpzjWuQLVSuQbiMrXvb363lU+Ar/tD7vj2+T5FacLDBkxAitgnJHG2G2xhEEv54gzdSCJhlB/XA//9OgXTZQvM/KFuudefyXFbsOrnmwtKxpcpACFeahmuSAUxnBe6+DeCcThFCmM4XQphOHkKYziQBeCglEKZ3F7JyQYLMLFzhgmyx3I2dy0vmgmiwDuorle8QrqN7dcMtqm32JbYfKbpkdEDCJ67XU/dvypjlzDWYA+WpytMIZ5SnU/YKGmnycjMNfhh5vZmGH18K8xnKK00+Q1Y1EIGwbUnG57MCYHJcJhSBOUzOz0hhcoRGCtNTNFxKQpjcqOiUhERBWoEJD7KlxhfIRm1V0xmUEvhanDAAsJ1MJmG8X6673XEKJcKMgXKjyhgIpzG74DSSyJNVLre5IMv4ZggeylUFDrJRRe5YyldAMyWup2fq27m+ZopbT89Utp6eKWw9PVPXenqysF3QSwOP8pjADx5DlqtIppZGhJ7D4zyNcGDnCejNOjB/F1gLs44arBoXvgaamary9MxYlaenJ6vCenraLqynR+zCem6sbq6vpEZGfS00MsgTzf23Y+kbcCEcuASXwVF34sMSGZgITpg7cU/PXHp6eubO09Mzl56enrnz9PT0tWdQb5gLcE9P34F7wXNyzb23Y+mbbyEcaHnL4Kj+t+39uAfA+Cm0QiWFmgNKvr/kxm0cUi07aZjQRHmt6TcgbJuhkktVp0+WXTUMT6LciCt4R5A9cW6wE1mmhTGX58s9iFnooRka7VqES5VrEVY1wgwOMNM1I2cPHGimC0ghTFeTQpguLYUw01If1hfldEediQ2yucoVCBcxrrDpaHu4PD09TZ8ROIEEsRQwQXcdz6iOEDTXMfUBkEta69v2xxRhDiBDnFEeZZIxlyFNuiT3g4VylUuQ1VzCOJZulcrYwClFBlex7pymc3xGoJdKuRNnC43twhpRDxUNioSgiYoGRYDpoM4HGB1Gd1J9k6Kc7J2ymQxh5r2QuZx5M2TYAVFOdk7p7RkJ8oUQbntGlpn1nsltu1RwReDkgXNMUM+Nagy/BtQH3gRZuhW4d3RoatMPZg561StjDo56aWwO08dbIUyfdZkhSwfTB18mXwFbaU7BjqXfDpCxqndKHEyP/wjhqLPQbO7TPSNwJPr6+nZuLtfz8eH5W3Pc/wWjMM/u\"}"
  },
  {
    "path": "officialworlds/solo levels/clean out the cobwebs.replay",
    "content": "-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,-1,wasd;1,0,wasd;-1,0,wasd;0,0,space;0,0,space;0,-1,wasd;0,0,space;0,0,space;0,0,space;0,0,space;0,1,wasd;1,0,wasd;-1,1,wasd;-1,1,wasd;1,0,wasd;-1,1,wasd;0,0,space;0,-1,wasd;-1,0,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;0,0,space;0,1,wasd;0,0,space;1,0,wasd;0,-1,wasd;0,0,space;0,0,space;0,1,wasd;0,0,space;1,0,wasd;1,-1,wasd;1,-1,wasd;1,1,wasd;1,0,wasd;0,-1,wasd;0,0,space;0,1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,1,wasd;0,0,space;0,1,wasd;0,0,space;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;0,0,space;0,1,wasd;1,0,wasd;1,-1,wasd;1,0,wasd;-1,0,wasd;0,0,space;0,0,space;1,0,wasd;0,-1,wasd;0,0,space;0,1,wasd;0,0,space;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,0,space;0,-1,wasd;1,1,wasd;0,0,space;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;1,0,wasd;0,-1,wasd;-1,-1,wasd;0,0,space;0,1,wasd;-1,-1,wasd;0,0,space;1,-1,wasd;0,0,space;0,0,space;0,1,wasd;"
  },
  {
    "path": "officialworlds/solo levels/controlled destruction.bab",
    "content": "{\"width\":16,\"version\":5,\"extra\":false,\"map\":\"eJyVmN1u4kAMhV8F9QLtSkibSTJ/rXiWKkBKUSOCAghQ1XffjD0NQ7Ubn1wU9eLzxOPjsT2zaWdNu66a2evy8/O0a+rl0+l6el1Vq6fFdZktdpulWtz6f46Her2rmuXn12Kz65bqa5HidaBVoHOZPgc4D3AxDl+qhtYtAlv2rJZZWlePs8ePM8PkscEWpljYCazr2RJkfc8WINv/3vpYY1FTQT0jwp7YHFqY18WkYzZIl8sOlwQL2oUEev5NvCbewOnJ61uZf2vabRJCJ1tc/rx19f6egMrLNsfd/ta163si5plstG1P90zIhaP5kAk5pi5HNS+mwODRZJ/1eDKETfZ/yepmPIODwTzBg74WTLbcQacjwn7CykXQ0qFw0NGjMOkIqM40CTmiJGVirIckUBHUVCPF6Ee+k40GbPgUUi4WBuCPh6r7IL94Jxb+BiVC4ZB9cKwMGXj4A5YaUgbw+3bbBgtHFkqwiO6QDiXpDJRNggsMpuJUlhjMbVdjMGlUGgwmgUqLwSRO6TCYlfEYTKLoDIOpRWo1Ic46x/oesYVcFlft+Tqkhy7HK3QwiN2FndEyn5wejbTV6A9Jr4G+2p7X74OiGmir80FSDTTUbVtdqtuhOQ7aGqCjzgdxDdZOeWWsm5LvBmumFBUDyLqq33f783BCjR4fNFOpSFtjZIN7gectWNkkZhv7JDTWH9lmvIw/qEtO2Uy2iqMEOWXVeE8O/KFrT/V6PXhmc9lmW93uPhXjfLxYsT+l0MljRNkRLcDfErMbRqATwXhusnbCwGLdhPHQgtWYl3ZgOeah1oH1mKdyB7ZUqgauQMaBGHTeqSuBYSteRthAjw9+NEEks7CTZP3eLvUUZzGVODaCpOmcGJ3xQMtKNuuz8Usu3ex+JbyaUqZ4Fz4HRHu4XnhI5uQC6ZH5+PsTlKRemo4fVPPgDBVpaSoe7rIcHwc9NPCbBKwvX5Mz4V3iH/cGlSnZhg8AX94zrO1GWJip0mFUZdgjhWEYuMQ+tFyVGaCvRwt+Qcj+p+zXS1efzt1+9vpS7zd/AQw0jIQ=\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"controlled destruction\",\"height\":14,\"author\":\"Slabdrill\"}"
  },
  {
    "path": "officialworlds/solo levels/controlled destruction.replay",
    "content": "1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;1,0,udlr;-1,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;1,1,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;1,0,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;1,-1,udlr;1,-1,udlr;-1,-1,udlr;0,-1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;1,-1,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,1,udlr;-1,1,udlr;1,1,udlr;-1,0,udlr;1,-1,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,0,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;0,1,udlr;-1,1,udlr;0,-1,udlr;-1,0,udlr;1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;0,0,undo;1,0,udlr;0,1,udlr;1,1,udlr;1,-1,udlr;1,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,-1,udlr;0,1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,-1,udlr;1,0,udlr;1,0,udlr;0,0,undo;0,0,undo;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,0,undo;0,0,undo;0,0,undo;1,1,udlr;1,0,udlr;1,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,1,udlr;1,0,udlr;0,0,undo;0,1,udlr;1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,-1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;-1,-1,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;"
  },
  {
    "path": "officialworlds/solo levels/cursd shoos of leeping.bab",
    "content": "{\"width\":17,\"next_level_after_win\":\"\",\"extra\":false,\"compression\":\"zlib\",\"author\":\"thia\",\"height\":11,\"version\":5,\"map\":\"eJyN2Ntu2kAURuFXiXJRqRIX9hx8aORnQRBoiuTiiJCSCvHuxfPvgKVCZt1x8Y3Z9uLg8Wp46IfnRf8w747H/aZfd4/7j/18uVg+zj66YrZZdeXs7/nF2+v6ebPou+NpttrsuvI0m/DDYr+7eHf25X1/WPQX6s+0zR36ysN45Mwoy/XIy5HH/OATXX09tl2RROszrbJnmGiTP8PJDC04wfdRuxSmyJ/gdng7bH5fl5QojqzLz74dXobrAg/G/zZyn3j4enybRTbm5tYHUHhM6SgeY3qKx5yB4rFmhNgVuc/UFI8Va4rHjA27zA58IX8Nr8OfdPiQlrCKsrCiMKwoDCsKw4rCsGLCHlYUhhWFWUXZTEWzMdnAkghHlkS4YkmEa5ZEuGFJhFuWJOFQsCTCJUoim/ktNVsl61kS4cCSCEeWRLhiSYRrlkS4YUmEW5Yk4VigJLIlSlInm72n0RDCniURDiyJcGRJhCuWRDh7SzPFDUsi3KIkyVYFStIkm72T0RDCjiUR9iyJcGBJhCNLIlyxJMI1SyLcoCSyLUrSptvigiURLlkSYceSCHuWRDiwJMKRJRGuWBLhGiWRzewpPrcfactUt6yJdFOwKKZLVsW0Y1lMe9bFdGBhTEdWxnSF0hiuWRvtDRvYRrqFbbSTLGAb6RK2kXawjbSHbaQDbCMdWRvhirVJe9m2hm2kG9hGuoVtbJdfwDjGS1jHuIN5jHvYx3hggUxHVkjb6yLzxOYyivEaNjLewEjGWxhJPD26IZGMlzCScQcjGfcskumQf0bwsx9e0pKgJZkncZ9vYPpmV3dPZ35xJ0/YohY0bBjTN/8/r8NczlTcZf9Apwd3mS3IOPuP72lBpQWOzW765kby/wtp+k7X09NuvX/fbR/mT+vt6h9ZO1a6\",\"music\":\"bab be go\",\"is_overworld\":false,\"level_number\":0,\"level_sprite\":\"\",\"name\":\"cursd shoos of leeping\",\"palette\":\"default\"}"
  },
  {
    "path": "officialworlds/solo levels/cursd shoos of leeping.replay",
    "content": "0,1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;"
  },
  {
    "path": "officialworlds/solo levels/cursd shoos of lepard.bab",
    "content": "{\"width\":17,\"next_level_after_win\":\"\",\"extra\":true,\"compression\":\"zlib\",\"author\":\"thia\",\"height\":11,\"version\":5,\"map\":\"eJyN2MtOG0EQRuFXQSwiRfJi+jaXID8LMtghlizGMiaAEO8eT//VYBNwnx2Lr0c9PsyiajlebMbbxebiev76ul9vVvPL/fP++mZxczl7njez9XLuZi+HPx62q9v1YjN/fZst17u5e5sd8d14+879gbvv+dNi807DgQ7nn3zM4/Tkyk1uVhN3E0/1ex/p9vy17QfJtDvQtvqGmfb1Nzy6wwBe8HHSPndp6i94Ny6eFi/bzcPHKYf6yPr69e/Hu/HjQABv8GPiIfN4/g3sLrLp/L3tX1B2iumhnWoGaKecEdopZmLWN+f/o07s1K+DdurXs9/XVz7Gk+eSL/HPuB3/7qYzMZ+pfI52F9nKx2h3ke1Qa9ketZYdUOtsQ4NayzrUWtaj1rIBtZaNqLVsqrQ2nDJuUWTZDkWW7VFk2QFFzjY2KLKsQ5FlPYosG1Bk2YgiyyYUWbZlkduMOxRZtkeRZQcUOdvUoMiyDkWW9SiybECRZSOKLJtQZNkWRZbtWOQu4x5Flh1Q5GzbBkWWdSiyrEeRZQOKLBtRZNmEIsu2KLJshyLL9ixyn/GAImfbNSiyrEORZT2KLBtQZNmIIssmFFm2RZFlOxRZtjIqnDy3NigYHvIIUhkT7BKyleHg5LkeRZYNKLJsRJFlE4os26LIsh2KLNujyLIDipzt0LDILs/GQ2VKL0OpcGVGP31yQJ0NRxTacEKlDbcoteHKiH6KexTb8IBqC7umQb2LdrC4E/csuenAmpuOLLrpxKqbbll20x3rbrpn4U0PrLx03reA9KYdS2/aw/S2wwksvenI0ptOLL3plqU33bH0pnuW3vTA0ttmq2HpTTuW3nRlbfbp2bWdWeFaK3m2Myuabc2KZnuzotnmrGi2Oyuabc9MB7Y/K5pt0IpmO7Si2RataLJH+70Z7/KZqDNsj1b0l5s0/51mg0bRtVHjaLuddILNG6bjlxPHx93ffxjjlaHj08PhN2qa7LV//cwnWp2An6npLz/T/zOZZkN/0d+N/W9Xu9X+cXd/cX21ul/+A2RHiMA=\",\"music\":\"bab be go\",\"is_overworld\":false,\"level_number\":0,\"level_sprite\":\"\",\"name\":\"cursd shoos of lepard\",\"palette\":\"default\"}"
  },
  {
    "path": "officialworlds/solo levels/cursd shoos of lepard.replay",
    "content": "0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,-1,wasd;1,1,wasd;1,0,wasd;-1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,0,wasd;0,-1,wasd;"
  },
  {
    "path": "officialworlds/solo levels/cursd shoos of leper.bab",
    "content": "{\"width\":17,\"next_level_after_win\":\"\",\"extra\":true,\"compression\":\"zlib\",\"author\":\"thia\",\"height\":11,\"version\":5,\"map\":\"eJyN2NFO2zAYhuFbQRxMmtSD2HESZ6jXggrtWKWOoFIGCHHva/z9Ls0G8XvGwePI6etI+F8PF7vhdrW7uF6+vR22u83y8vByuL5Z3VwuXpbVYrteusXr8Y/Hh83tdrVbvr0v1tv90r0vzvnw9HLy/uhdwW9Ouj5qP69vh9+bh93jaUk4Lqm/XvK82p1oc6T9/NPPeTtuvfSuae9u5B34ZT50nP9d7CdPtD/StviGiR63W3zFs004B17xaeQ+cV9+xbth9bx6tUBaVc+/qu1fNpT3fz/cDR8LGvAG30ZeJ97Ov4HtRbYrJLJjLhznT+4U9/NndoL9mDRQPAZtKPbzB2uKx4odxWPGyH5mX/gqpw8m3+Sv4WH4sx/XhLSm8GHaZmRLn6VtRrhnzROuK9Zc2LHmwp41F65Zc+HAmgs3qLlsy5oLd4XmWTdJR1Rbtme1Ew4Vqy3sWG1hz2oL16y2cGC1hRtWW7hFtWU7Vls4wtpt0j2qnWxTsdrCjtUW9qy2cM1qCwdWW7hhtYVbVlu4Q7VlI6st3MPaXfqHrEK1ZR2rLexZbeGa1RYOrLZww2oLt6y2cMdqC0dUW7ZntRPuKlg7Jl24atg2ZAvXjOmDC7eMKS7cL6a4YbWFW1ZbuGO1hSOrLdyj2snGwvVi8uBYulxk3SdduFvYNmQLN4rpgwOrLdyw2sItqy3csdrCkdUW7lnthPsK1ZZ1rLawh7Vdulv3NcptOLDephsW3HTLipvuWHLTkTU3XbjnT7WrKpY9c4fCZ+1Z+sxrGt+mFIHVN93A/MZb2N94Bw+A8QhPgPEeHgGbx1TwDBh38AwY9+wMmK7hGTAe6BnQ4CZNbsAZMN3CM2C8g2fAeIRnwHgPz4BNzSp4Bow7eAaMe3gGjNfsDJguzOP+fXhpGnfymoN5No7LGg7kMocjuczhUM54DcdymcPBXOZwNJc5HM5lzsZzWcMBXeZkRPdzN9ylNUFr2Igu60+HdP4rDW8oxkPpjnI2Qm+0gt1Tsv70pvKx+dMvY7xwV/nn4fRzNU6G5z++pxWtVsAP1vSnH+z/oUzDwUHmX40O3q/2m8PT/v7i+mpzv/4LefPa6A==\",\"music\":\"bab be go\",\"is_overworld\":false,\"level_number\":0,\"level_sprite\":\"\",\"name\":\"cursd shoos of leper\",\"palette\":\"default\"}"
  },
  {
    "path": "officialworlds/solo levels/cursd shoos of leper.replay",
    "content": "1,-1,wasd;1,0,wasd;-1,-1,wasd;1,0,wasd;-1,-1,wasd;1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;-1,-1,wasd;0,1,wasd;1,0,wasd;1,1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;"
  },
  {
    "path": "officialworlds/solo levels/floatation unit.bab",
    "content": "{\"width\":14,\"version\":5,\"extra\":false,\"map\":\"eJyVlt1O4zAQhV+l4gJppUgk/kuyKM9SpcSUSFaCuqkWqPru2GM3CcF4hgvuvlM5c86coRt3ZnxqzW7fXC5Tb3RzN71N+0N7uMveGpb1XVNk7/bv36t+6lvTXK5Z15+a4pqtcT3TzNLsZ/p/axwqHcotmtNQkX7DGpX0ByiLchpaWlTQ0MqikobWFlU0tMgtW6ZtCLwCvkhPd7GtBJzh+DAeRyeoQIC45wRTa8wiELjgvIROpr1x9LN5hw8oQKDSDjlBO0y9E3AQ0Cytga1i+eNxtiYFEFiWkxLo2YL+XsZIGfQsJ4XQswIPYaf1xyKQMdN5JIU2345XOH9zsQDfWYkr5qD4hqrwIN7PuWK0HYWd4zkpJrBwPFqr31hYHc5IrB8h52n4RXfHFR1t1u80uMklDfaPVjTYT6OkwX7MyDbeYH9k6nQ+vsACMTCcRegPUaSD8XXOArmLG5qne2FDi3QzbGiZ7oYNrX71lSXeDwdtzLTsr4iaGbtTgUfq1fH+THleIhXr+PkjoB8k+R+ewCPWri9hUHD6rQoKgX/F7TwHBeGA3noD8iyj1bsRPDyf9LDSRNd2Myq/M0FQ4bMKs/V8jX/FcRxWCpXjsz0Pf/8sk1LIIs+BhaZSUbfj98YLombzn35exB5TXq+PJz2dT8Nu/6iH7hMBPOUH\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"floatation unit\",\"height\":8,\"author\":\"Slabdrill\"}"
  },
  {
    "path": "officialworlds/solo levels/floatation unit.replay",
    "content": "0,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;1,1,udlr;1,0,udlr;0,1,udlr;0,-1,udlr;1,-1,udlr;1,0,udlr;-1,1,udlr;-1,0,udlr;-1,1,udlr;-1,1,udlr;1,0,udlr;1,1,udlr;0,-1,udlr;0,0,undo;0,0,undo;0,0,undo;1,1,udlr;0,-1,udlr;-1,0,udlr;1,-1,udlr;0,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;-1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,1,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;0,0,undo;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;1,0,udlr;-1,0,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;-1,-1,udlr;-1,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;1,0,udlr;-1,1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,1,udlr;1,1,udlr;1,-1,udlr;0,1,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,-1,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;1,1,udlr;0,-1,udlr;1,0,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,1,udlr;0,1,udlr;-1,1,udlr;-1,-1,udlr;-1,-1,udlr;1,0,udlr;"
  },
  {
    "path": "officialworlds/solo levels/flof frens.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"flof frens\",\"map\":\"eJylmt1O4zAQhV8FcbNaqRex87+oz4IKCd1quw0KrQAh3n0bz6QhXXviOdyi+eokczwzPqbpbvbd42Z/c7/++Dju9u369nfbbG9Xb+tktWvWZvW+tquX5/Zxt9mvPz5Xza4///Gx23f9+vahfz3cfq4YPL4d75/23QTbM5z+B1/iZwul59gscqERNAOYnUGDgLny1TZ9d2gOP46XHyjiXs/FlujrVWewRsB6+C4JQp6pM6r9ptahRpGN4aP23eMEW29GZvGvm2M/AWlcBig4A1JA5KCUHCIHiRRBsm/bJkSWIimtOSimhMhBMhVC2kSh0iGNTTdl0Rq/UgNLWVicdpCLid3yc9RVmf+lJqOpQ3PllvjTthNcLG+Jhy/hpbwhhvBtt3ndvD/vXyaq8u6MwOvUis1w7gZPFzJNREk/n/rnEGlESUukFSU9J2fvmaZKSc/pbEHTV4lLc7+qZ/GHbttNROEXc+BtSkS/mUMroMESWSs77K+fFzZLlEomysQpmYKtQsncpwhMRSFv+037HiAzUcgSmYtCviLn71kAIwSRJTJDEFppyvRXdRNeR6rbRecJou7coZoBd076p9sYEpl1icyASYTIXFnOxkGL6CKyRVN0ibRoQiukRRNaIyIo3CDvLzYxpMEGH4JtdJOg+DSiScwWyCJ3EUXnyAcsHeofU2JI/8TiJ3kyIrDyboXAKjVQAh1ZJkgJJNToS+DL6+7v9AM2Mn0UnSLpqxw66ET7jkRqhts5qZHMl7GYYP9xeu5EdD3vBUIqb9MOPFyNVDCHVglSwQg1SAZrh1pFBtmneZro1JvFwFIZsNeJzIEyS2QBdEwikXM0kRVwGiYSUo9xNlidKBNJ/YFhv/sSWspvt0Q9pd94iUKREYbRHMglowVgijBaIg4coRXkwRH7DRGZBCpCht0/o5Tg6StsIyXI4SmiQWYzRITM5ogfy6xs6slsCRSVkcXUxHDgQBUFG+h8ZdgR1sjpmvWrKY7VSIuP2iMq16jAYXuE5ZO6/MzIUX1koVPXCFffybDTlno3peT5J4o0jYfSkTViBdj2J4G1YgWQ2XRBHxKbLZhHEpsv2Ecn4TsXiCyZhXygEYaO9COMSSuj2yFIWsxC0mIWkhazkLSYhaTFLCQtZiFpMQtNV8yqPMZrGLKLGHbutF6WOcEay/GSJmZl0zGQYmZl21FmlzqixMpju8zKc3tAlsxCsxaz0LU7s6qbd/YomM0DV++htZx9rS+uDFtoCxQEa8YrZ261DVs44y/4L0OCC2rmqouMmJXnqoAEmV1ofjK8UKICAmYYm9mdG2gKTfO7ZuXmF3S1R9zf/3y2BQP+phd8vAxRArPyPcg8H+M/M43s0i3I9VoLE3kg+QxjY1NFcI0cjYl1jre6tTFrkKMxsxaxaJhNEUUwmyG1gdkcqg0MF5A8GC4hedQE+//hI46tkRQT67xxdUdmVnPTds0GLtri4MCtWxwcuIGTYUsuXoWYVCNbADbryMZ45p93fXs89Yeb+7v20PwDl/sCQQ==\"}"
  },
  {
    "path": "officialworlds/solo levels/flof frens.replay",
    "content": "1,1,wasd;0,0,undo;1,0,wasd;1,1,wasd;0,0,undo;1,-1,wasd;1,0,wasd;0,0,undo;1,1,wasd;1,0,wasd;1,0,wasd;1,1,wasd;1,0,wasd;1,1,wasd;1,-1,wasd;0,0,undo;0,0,undo;0,0,undo;1,0,wasd;0,1,wasd;1,1,wasd;0,0,undo;0,1,wasd;1,1,wasd;1,-1,wasd;1,-1,wasd;-1,-1,wasd;1,-1,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,-1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,0,undo;-1,0,wasd;1,1,wasd;-1,-1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,-1,wasd;1,-1,wasd;0,0,undo;0,1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,-1,wasd;1,-1,wasd;1,1,wasd;1,1,wasd;0,1,wasd;1,0,wasd;-1,0,wasd;0,-1,wasd;-1,-1,wasd;-1,-1,wasd;0,-1,wasd;1,0,wasd;0,0,undo;1,-1,wasd;0,0,undo;0,1,wasd;1,0,wasd;-1,1,wasd;-1,0,wasd;-1,-1,wasd;0,1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,1,wasd;0,1,wasd;1,1,wasd;0,0,undo;0,0,undo;1,1,wasd;0,1,wasd;0,1,wasd;1,-1,wasd;-1,-1,wasd;-1,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,-1,wasd;0,0,undo;1,0,wasd;1,0,wasd;1,-1,wasd;1,-1,wasd;0,1,wasd;0,0,undo;1,1,wasd;1,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;0,1,wasd;1,0,wasd;0,0,undo;1,0,wasd;0,1,wasd;-1,0,wasd;0,0,undo;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,-1,wasd;1,-1,wasd;-1,1,wasd;-1,-1,wasd;1,-1,wasd;1,1,wasd;-1,0,wasd;0,-1,wasd;-1,1,wasd;-1,1,wasd;0,0,undo;0,0,undo;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,-1,wasd;-1,-1,wasd;-1,1,wasd;-1,1,wasd;0,0,undo;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,1,wasd;0,0,undo;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,0,undo;0,1,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,0,undo;0,0,undo;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,-1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,-1,wasd;1,1,wasd;1,1,wasd;-1,1,wasd;-1,-1,wasd;-1,-1,wasd;1,-1,wasd;-1,0,wasd;-1,-1,wasd;0,0,undo;0,0,undo;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,-1,wasd;-1,1,wasd;-1,0,wasd;0,1,wasd;0,0,undo;0,1,wasd;0,1,wasd;1,0,wasd;0,0,undo;0,0,undo;1,1,wasd;-1,0,wasd;0,-1,wasd;-1,1,wasd;0,-1,wasd;0,0,undo;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,-1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;1,1,wasd;1,1,wasd;0,1,wasd;0,0,undo;1,0,wasd;0,0,undo;1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,0,wasd;0,0,undo;0,0,undo;1,0,wasd;1,0,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,-1,wasd;0,0,undo;1,-1,wasd;0,0,undo;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,-1,wasd;1,1,wasd;1,1,wasd;0,0,undo;0,0,undo;1,1,wasd;-1,-1,wasd;0,0,undo;-1,-1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,-1,wasd;0,1,wasd;1,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;-1,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,-1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,-1,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;0,0,undo;-1,1,wasd;0,0,undo;-1,-1,wasd;-1,-1,wasd;0,0,undo;0,0,undo;-1,-1,wasd;1,0,wasd;-1,-1,wasd;1,0,wasd;0,0,undo;0,1,wasd;1,0,wasd;1,-1,wasd;-1,0,wasd;-1,-1,wasd;0,1,wasd;1,1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,1,wasd;-1,-1,wasd;-1,-1,wasd;1,-1,wasd;-1,-1,wasd;0,0,undo;-1,0,wasd;-1,-1,wasd;1,-1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,1,wasd;-1,1,wasd;0,0,undo;-1,0,wasd;0,0,undo;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,0,undo;-1,0,wasd;0,-1,wasd;0,0,undo;1,-1,wasd;0,0,undo;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;-1,1,wasd;0,0,undo;-1,0,wasd;0,0,undo;-1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,0,undo;0,0,undo;1,1,wasd;1,0,wasd;1,1,wasd;0,0,undo;1,0,wasd;1,1,wasd;0,0,undo;0,0,undo;1,1,wasd;0,0,undo;0,-1,wasd;1,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,-1,wasd;0,-1,wasd;-1,-1,wasd;0,0,undo;0,0,undo;1,0,wasd;0,-1,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;1,1,wasd;0,1,wasd;0,0,undo;-1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;0,0,undo;1,0,wasd;-1,0,wasd;0,-1,wasd;0,0,undo;1,1,wasd;1,0,wasd;0,0,undo;0,-1,wasd;1,1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,0,undo;1,0,wasd;-1,0,wasd;1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,1,wasd;-1,-1,wasd;-1,-1,wasd;-1,0,wasd;0,0,undo;-1,-1,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;1,1,wasd;1,0,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;-1,1,wasd;1,1,wasd;1,-1,wasd;0,0,undo;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;-1,0,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,-1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;0,0,undo;-1,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,-1,wasd;1,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,1,wasd;-1,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;0,0,undo;-1,1,wasd;-1,-1,wasd;1,0,wasd;1,-1,wasd;1,-1,wasd;1,0,wasd;-1,1,wasd;-1,-1,wasd;0,0,undo;0,-1,wasd;-1,-1,wasd;1,0,wasd;0,-1,wasd;-1,-1,wasd;1,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;-1,1,wasd;1,-1,wasd;1,-1,wasd;0,0,undo;-1,1,wasd;1,1,wasd;0,0,undo;-1,0,wasd;-1,1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;-1,1,wasd;-1,1,wasd;-1,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,-1,wasd;-1,1,wasd;1,-1,wasd;1,0,wasd;1,-1,wasd;1,0,wasd;0,-1,wasd;0,1,wasd;-1,0,wasd;-1,1,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;-1,1,wasd;1,-1,wasd;1,-1,wasd;1,0,wasd;1,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;-1,1,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;0,1,wasd;-1,1,wasd;1,1,wasd;0,0,undo;1,0,wasd;-1,1,wasd;1,1,wasd;1,-1,wasd;-1,0,wasd;1,-1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;-1,0,wasd;-1,1,wasd;-1,1,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;0,0,undo;1,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;0,-1,wasd;-1,0,wasd;-1,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;-1,1,wasd;0,0,undo;-1,-1,wasd;-1,1,wasd;0,1,wasd;-1,1,wasd;1,1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;1,1,wasd;1,0,wasd;1,-1,wasd;"
  },
  {
    "path": "officialworlds/solo levels/four letter word.bab",
    "content": "{\"width\":38,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":30,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"factory\",\"parent_level\":\"\",\"name\":\"four letter word\",\"map\":\"eJylmu1u2zoMhm+l6J+DAwQ4keTPM+RaCjdxs2BGXLjJuqDovS8WqcVxaYnk/hWFH9FmXpISqV3/0PXbpnt42nx8nA5du3l8b7rH1a/NenXYbczqcv3j7bXdHppu8/G52h2G6z+3fdcPm8fnrtluHz9XBGivoNWA7gpmGjC7goUGzK9gpQGLK2hU3ilHUuWeaiRV/qlHUuWg6zdeUZWLzCggq/KR8RJSOcmMIrIqL5lRRlbnplFIVuom69FCEmenX6en9mc7XMxtgZKMN9pYJYnNfT/s2uEG15Iwm8F2TUZMzvCQNSLhjy566fqXG29p+S++qotrfj807WX5Q7O4AGf03YfKVDR+6HM70s7TRVwH88fLhFfwzTL/cKUoBkDWEsWN73j6frj+K/BuHeX3w/lI/RRgO7NURSmTPyRYNpTcubDVxQrAjipLXMuZKNDmdE7SXNsFWdyW6KlOXCkO8vNpaN9uC1TsKIfn6aLoeH7K6LrIpY0ywwBtycLKte3I2sqlZdltTuckzbVdkPV5iZ6qKyvFmfVH2/4Y+dzzo7jyZK4s/LO1Ild6Mo/nusX0D7CJv+LNmfC4KEGNtr73r/3PyQJkklq2J0tLd27JRalhbrhQxhrQpaaaA1qJNBe2LKVna3oDPDdU+bPIWiE4II1uOwiwSEEhnAAdtVNztAOPq7QDqFY7QGu1A7RKO4DKtHMfnrVfoaZPX3NzBg6lIgndvhNpUkZ50ktIK7dKSDuNNpDNlOJAPBep45avES/oMr5sT6UnZGWCem6ePWs8O0qpjB8sQngDUa0TnxbezR97KlGnaeIVoMl2E0N8QDul+IBWJSZktZkJ8YLcvpZcvFRmNsQrEmdbp5MTF6/XZHVk44aMIzZulVtgxB25i12yfqeZOtO0mYzfAte5MsqAJpsLjCgDulRGGdCVKsqArbVRlkH7M9H/THy4WdNaS+VshK28H4SJO4cFHKs1aAp4OpN2IrGcIZ7HjU18g4BWU4hrRYW4TlUIq2UFfKqtnvp2o5MVwnJZnT1eAs4UVQVPi0Q1Y2lF8dhCMUwKrEhZM7ZSjJQCW2umSghDg13pLWGLfQYv9Nd5cKLZHoczzYgpwLlmyBTgQjNmCnCpGTQFWLaTD/MFnKuJelOTyQbO1tZRcRMHnn3fvDeX1+5tuoohT/90S98fLprTFPdyc+mBFz7uxI3lt/fmOF0hi+v79XCMOi3XiDTAhXIkZA3wZcJZX4lUHz28IMwEnVZRgGdiRZ1PfT9dwDDVgI9bsRou/zTd3RKOP05EghaQS1b7wNONBj6/0Glg86VIwV/5Kj5ySNqv42ODFA99dbb/7xXj++q60YF1sALd4PpiDzb9vq+u2IUHnL4LQzkHgfgdmAXfIFsot8GBlwlrZlxWCP8kdTgacTvsFvbMsh775EMRJzuk6blXwMk5Nh8nm1x8PKMUwsdFAvuK01et+ObpC1eJqWGAZXeu7oIfV/B7+sisYxLBQJR085QMYSRkN63upwVhDX8oNNx4KOkuVipyEZa1scL2D46fvuue6EZjFyQQvvxFkPB2sMH2bXZNAka8YidgBGpNAgbWN9pVCRh51R29AFuRBkZPvf/3MrTH6RpO9NtUMuV4k00H8VjDCnn855meN5BgysfBjr0SyWfGKq/nBVyjJGRrrZICr1JSgP9GSWENppLC43IlhQm9g4OSb6hzDOLlSdE9zxlLX/FM/zaIV9T2IT3vCDh575OL27XoiPcVNxTOt27J7QOfd+T2ITGuCbB2wBz4PD7kS/qOvr/A57UHv8BX8Tlf0j69SWfzvs0emfQtZESEzd8kJVzDSnKEhda6tLz5BeBOL1xhl7RTwrEoLLCQ1OheVzAOt23lN9nxOjLivHvs4WltqURcVSqBtepSibyuVCIsL5V3XrbcMomPy8vksd/7Bp3LYYXEWHBE/v93CnD3WwU8rtpvISsS0YytFQMmZH0fXXp4CixZD5ksXQyZMF0JmbCsEs5gugwy4cQdvjisalAFmG57MmG658mDM7rhyYR5Dc/Pb0N7Og/Hh6dv7XH3GwXqmcA=\"}"
  },
  {
    "path": "officialworlds/solo levels/fren.bab",
    "content": "{\"width\":14,\"version\":5,\"extra\":false,\"author\":\"vitellary\",\"background_sprite\":\"\",\"height\":14,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be u them\",\"is_overworld\":false,\"palette\":\"garden\",\"parent_level\":\"\",\"name\":\"fren\",\"map\":\"eJyV2dFO2zAUxvFXQVxtUi9ix3ZsUJ+lYjSgalGLStGYKt59ib9jNY62nG8X9OrnCMif+MTsT3fD6flpuNttr9fLYei397+ehvvN59ZsDvvx4/f49f7WPx+ehu31a7M/nLfma/MXakdqOdqOtOWoG6njqB+p52gYaeBoN9KOo3GkkaNppImjppnuQUPifMPIO2amW2ZW7tnl87KTBTYvmG6c/p3AuvV0xs+b9evtVDasx1PZjqoHNq7nU103rfczt7ZZD6iyZr2g6X68//yYLbDrHU0LfvQ33iopTf7h2807riZgT9SEb6bNPlAxwXZUTLCRigk2UTFl2zbrMVXWUDHBWiom2JaKCdYpMc2tVzqa26BFNMcdVxBwJAo6nl5P0wqXVySqoWxdQzUEa6iGYC3VEGyrNDT+gC/n/jj077c1jmoJVtkDK6tsgpVVdsHKKttgZZV9cG69tg9WmNwHgbV9ULDPuKVGIlhHzUSwnsoINlCPItiOSgI2UknAJiqJbENDJQFrqCRgLZcEcMslAey4JELGXnmy1H/VWBOoNGA7Kg3YSKUBm6g0su0aKg1YQ6UBa6k0YFsqDVjHpQHsuTSAA5dGl7E2uEw72uXGldmlujQ3u2QbudkFlptdYLnZBZabXWC52QWWm11gydkFmJxdgLXZRXDMOOlVLB4aeV1qqDxgDZUHrKXygG2pPGAdlQesp160YQOVB2xHvWrDxv+wiXstj3iHb7iWRBsupgRt9Zrw3gXvleG2vrhyViO/asHKaU2NtVm1/gOQRYGqT3BH5Sc4rvdX3rtFJ6pA4HyCoz+hBBvuESXacl2JbokXrJfh9DpbkvdR4rCuASdGoY+Z9+SpoVydO/spWjn9WWju/Kdo7gRItHYGVNoqXDsGqi+unAGV+1m4egZUX508AiqcPwQqKwIZmBxZKgNVrfPLGpGXXDtyeYlOXF7Q+fSIyEu04fISbcm8hLdcXqId9fAq2pN1CQ9kXcI7oq6H7/MVkaxLzreVwazWjhvHilYGsoVWRrKFVoayhVbGsoXmBrOildFsobnhrOjIjVyFJzIu+R9E84+4vh7P/eXjfLzbPfbH/R9ZhOzV\"}"
  },
  {
    "path": "officialworlds/solo levels/fren.replay",
    "content": "0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,1,wasd;-1,1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;0,1,wasd;"
  },
  {
    "path": "officialworlds/solo levels/fren2.bab",
    "content": "{\"width\":14,\"version\":5,\"extra\":true,\"author\":\"vitellary\",\"background_sprite\":\"\",\"height\":14,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be u them\",\"is_overworld\":false,\"palette\":\"garden\",\"parent_level\":\"\",\"name\":\"no fren\",\"map\":\"eJyV2MFu4jAQBuBXqXralTjESWzHrXiWipa0QpuFFaVqK8S7r+OxwTbG8/dQTp9NiP9mJrPe3U27l9V097Q8Hg+baVzef66m+8XXUiw2a/vxbf/e/40vm9W0PJ4W681+KU6LAm0tbTHaWdphtLe0x6i0VGJUWaowqi3VGB0sHTBqLDUYFc18Bg2I3YGBJybmIxOVMzt8HZ78gtYtmA+OvxKyfT069vNiZT07iVX18CRW19OT2KEen8Saen5i2zb1ACVW1BM0n8f7n49oQVvP0bzgebzwjonS7B9+XXyPpYmwBNJEF9M5r6AwkdVQmMgOUJjIGihMznYNFCayAgoT2RYKE9kOChPZnglTbCWTo9gqLkQx1liCCA9Agra7t928oncrDJQhZ/sGyhBZAWWIbAtliGwHZYhsD2WIrGQyZG/c637cTuP7ZU2xCMry/kwVTCxTBhPL1MHYSq4OJhisg4S5OuixdLiDYkS2L8Xo6haTlaUY3bCqFKMbVkMxIjv8KEa0plgLy9eisFpIlquFseXKYGzZGhhjsAAS5gqgx8phVY/R8zhNh7MW7hQrSQpdAe2t60+kdG81QGEia6AwOasbqK6RFVAwyLZQMMh2UDDI9lgwCEssGIQVFgztMNfqpP+DmuKh6vUqxIO+YYAKFlkDFSxnhwYKB1kBhYNsC4WDbAeFg2wPhYOsxMJBWGHhIKyxcAwOD3w4toczF5J5sQq5oM2xZthZgzXDZLFmmCzWDJNlmuH4xhmsGSbLNMPJvuoHVmMv8oQHLEOEDfTq5Z/6hqYKTal11vn+HjNzoHn/7MFEC8sd0HUA/ddgrbTHWC/tMdZMe8x10wlW9RRmv1BDOfR4gB5QHhvsCUWahkp8vLwWQL5ep91btMT11LWzPE8D7LW4FcXh0lUgg+bGS/n2rm8Hkhj2L7bjV3cz6GJDflNjLXnQXFOeaoPF0XM3neLzGLSoBzJEIPCWiWR+MWBrHjjYnAeOz6fCCgVk+G339/tz9e2W+amqxoLsNVDSPyIvmTn7+Z767bGi7jU44woaK+xBY6U9aKa4Zz8THHYFjY27ggYHXoGDI6/AkaHXw+94hWFiGb7Az+GZuVemmclXppmCnWmmYmeaKdmZZmp2ppminWmmaGeaqdqZ5sp2yiVYtwO/VbhPj/vx8LHf3j09jtv1f7ntNNU=\"}"
  },
  {
    "path": "officialworlds/solo levels/fren2.replay",
    "content": "1,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,1,wasd;-1,1,wasd;0,1,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;-1,1,wasd;-1,-1,wasd;"
  },
  {
    "path": "officialworlds/solo levels/gap bridging.bab",
    "content": "{\"width\":14,\"version\":5,\"extra\":false,\"author\":\"Slabdrill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":9,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"gap bridging\",\"map\":\"eJyN1t9ugjAUx/FXMd4t4aKlLX9meBaD0G1knRgo0cX47qM9jMnF2t+NV5/CkW/00PY70ze12R2r+912Rld7e7PHkzbG7pNbxZOunT++qzQZL7rpalPdH0nbDRV/JL8HPrpxtelsZcC6i9enlYuZZ2F+nfwkqeNy5jxydb1qFZ57mcPTDBj778J5fOr33mnhdIE9Pm/L+BzTijkLz3Gt7eCw8thVZChOww96i0X4C26xSyhQrMKPY4tdQ4XiSMItdgVzFLuERRxn/tfCsCiEORaFcIpFISywKIQlFoWwwqIQzrAohHMsCuECi5J7XGJRPBYMi0I48k+6xSkWhbDAohCWWBTCCotCOMOiEM6xKIXHBRaFcIlF8VgyLAphjkUhHFmGWyywKIQlFoWwwqIQzsJR3AZ6M/273+DMn8gj+83t8OUWy4kivj9p23L/kiDL8B3WebxWDN3li+fxaV5fvKe3isg/q/OjnT6bpyPAa865H6/d19OZSGJ35jL0VjfPN/rnx/o4DNpOw3l3POhz+wMBZ1Pn\"}"
  },
  {
    "path": "officialworlds/solo levels/gap bridging.replay",
    "content": "0,-1,udlr;-1,0,udlr;-1,-1,udlr;1,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;0,0,undo;0,0,undo;1,-1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,1,udlr;-1,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;-1,0,udlr;0,1,udlr;-1,1,udlr;0,0,undo;1,0,udlr;0,1,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;1,0,udlr;1,-1,udlr;0,0,undo;0,0,undo;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;0,0,undo;1,-1,udlr;1,0,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;1,-1,udlr;1,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;-1,1,udlr;-1,1,udlr;1,0,udlr;0,-1,udlr;-1,-1,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;-1,-1,udlr;0,0,undo;-1,0,udlr;0,-1,udlr;1,-1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;-1,-1,udlr;-1,1,udlr;-1,-1,udlr;1,0,udlr;1,1,udlr;1,-1,udlr;1,-1,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;-1,0,udlr;-1,-1,udlr;1,0,udlr;0,-1,udlr;0,1,udlr;1,1,udlr;1,-1,udlr;1,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;-1,-1,udlr;1,0,udlr;-1,-1,udlr;1,-1,udlr;0,1,udlr;-1,0,udlr;1,1,udlr;0,-1,udlr;1,-1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,0,udlr;-1,-1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;1,1,udlr;0,1,udlr;-1,0,udlr;1,0,udlr;0,0,undo;0,0,undo;0,1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;1,1,udlr;-1,0,udlr;0,-1,udlr;0,1,udlr;-1,-1,udlr;1,-1,udlr;-1,-1,udlr;1,1,udlr;0,1,udlr;-1,1,udlr;0,0,undo;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,0,undo;-1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;-1,-1,udlr;-1,1,udlr;0,-1,udlr;1,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;1,1,udlr;0,-1,udlr;-1,1,udlr;0,1,udlr;-1,0,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,1,udlr;1,1,udlr;1,0,udlr;0,1,udlr;-1,-1,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;-1,1,udlr;0,-1,udlr;0,1,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;1,1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;-1,-1,udlr;1,-1,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;0,1,udlr;-1,-1,udlr;1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,1,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;1,-1,udlr;-1,-1,udlr;0,1,udlr;0,-1,udlr;-1,-1,udlr;-1,1,udlr;1,0,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;-1,-1,udlr;-1,1,udlr;-1,0,udlr;-1,1,udlr;1,0,udlr;1,-1,udlr;0,-1,udlr;1,-1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,-1,udlr;1,1,udlr;1,-1,udlr;0,-1,udlr;0,1,udlr;-1,0,udlr;0,0,undo;0,0,undo;0,1,udlr;0,1,udlr;0,-1,udlr;-1,0,udlr;-1,-1,udlr;-1,1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;1,-1,udlr;1,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,1,udlr;0,1,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,1,udlr;1,0,udlr;-1,-1,udlr;1,-1,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;-1,1,udlr;-1,-1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;1,0,udlr;-1,-1,udlr;-1,1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;1,0,udlr;0,1,udlr;1,0,udlr;-1,0,udlr;0,1,udlr;0,-1,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,0,undo;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,1,udlr;1,0,udlr;0,1,udlr;-1,-1,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;1,1,udlr;0,1,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;0,0,undo;1,1,udlr;-1,0,udlr;1,1,udlr;-1,0,udlr;0,-1,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;-1,0,udlr;"
  },
  {
    "path": "officialworlds/solo levels/halfwalker.bab",
    "content": "{\"width\":7,\"version\":5,\"extra\":false,\"map\":\"eJyN0k0KgzAQBeCriItCIQvH/1ZyFomatoGgopFaxLvX0aIuSpL9N+HNvFSNI5uSSSen06SE5NQtWOGSkQZEVBTIh4akb3kpmKTTTCrRUZjJj76ZROoh9ReaGCkgDayojzS0omvWyIqGSGMrGiFNrGiMNNVTNap82CPcFuzrccGPHjwLvvW2ng3A7C+H9vU1o34x+egVb/cFIDAPnUsHrDK12XjLFJl53Tyb40SxfuDcPyTmx+/X/Q9A+p/PWcfV0NVOnvG6+gISVhpm\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"halfwalker\",\"height\":9,\"author\":\"Slabdrill\"}"
  },
  {
    "path": "officialworlds/solo levels/halfwalker.replay",
    "content": "0,1,udlr;-1,0,udlr;0,-1,udlr;1,1,udlr;1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,1,udlr;-1,1,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,1,udlr;0,-1,udlr;-1,0,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;0,1,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;1,0,udlr;0,0,undo;-1,-1,udlr;-1,1,udlr;-1,0,udlr;0,0,undo;-1,-1,udlr;-1,1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;0,-1,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;1,1,udlr;0,-1,udlr;0,1,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;0,1,udlr;-1,1,udlr;0,1,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;"
  },
  {
    "path": "officialworlds/solo levels/hoppers.bab",
    "content": "{\"width\":7,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":16,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"hoppers\",\"map\":\"eJyVlltuwjAQRbeC+KsUVXFeblplLSiQqI3qxigNLRVi78W+NA8w+PYDCaFzjZkzM6TSC6U3pVqsisOhb1RdLPt9v1qX62WwL8KgqQoR/JzefG7rTVOq4nAMqqYrxDGY4OZ1+rTe9I1uh2B0CorLoByC36Ua0PiEytvfMUUTc2rEsalh4/t3n/KZh5+y0rAJxz4ZNr1/j3VtcGHw3F/xN60GXIR+fnK6EC4vVxcHG1FiwMacGcAJrwYBn8sZnHnkXJaElAmYsdnqVz0mciKxM3hk54bwWXa6rcYEMaOt7nddO0ac03n1i8F6xnPSkODJGQXsE6seH3dfI+5TOzvb53WqCgmf3NnxjNeNat57E4ntoiPcXiQ843pe1WCNVP+MgDVS79z9LBRs4mKvVjnYlFoZYI3MnLyDdLHxrHKz/yCkrM+rgkvHJgCfc61r4SRkWxe44FoXcPQfOCYa8UPvPk0isYnE34fzQErtC7CZf19ste56rSYhyVUe8BNbeeA5V0wLp+F/YEFU/vlh5CP6USC1fMz+twNPKEtguUEFm3FyAEunnPnMDYIQ8fmcne+zeVGUjBQK2C1UOoSCZ4T+TVJmE4TS8+IDzzkFyzkF63Z6QxMibrM3ziedAiYn1MIyvFHz40tXm6ecxeqlbqtfXRNElQ==\"}"
  },
  {
    "path": "officialworlds/solo levels/hoppers.replay",
    "content": "3,4,clikt,e3szLCA0fSAtLVtbdGFibGU6IDB4MGIxODYwZjBdXX0gLS1bW3RhYmxlOiAweDBiMTg2MGM4XV0=;0,0,undo,e3szLCA0fSAtLVtbdGFibGU6IDB4MDdiYjljODhdXX0gLS1bW3RhYmxlOiAweDA3ZGQ4NzgwXV0=;0,0,undo,e3szLCA1fSAtLVtbdGFibGU6IDB4MDgwYjlhNDhdXX0gLS1bW3RhYmxlOiAweDA4MGI5YTIwXV0=;0,1,wasd,e3szLCA0fSAtLVtbdGFibGU6IDB4MDg3ZDNhYTBdXX0gLS1bW3RhYmxlOiAweDA4N2QzYTc4XV0=;0,1,wasd,e3szLCA0fSAtLVtbdGFibGU6IDB4MDhmYThmNzhdXX0gLS1bW3RhYmxlOiAweDA4ZmE4ZjUwXV0=;-1,0,wasd,e3szLCA0fSAtLVtbdGFibGU6IDB4MDcxZTdkOTBdXX0gLS1bW3RhYmxlOiAweDA3MWU3ZDY4XV0=;0,1,wasd,e3szLCA5fSAtLVtbdGFibGU6IDB4MDc0YzU3NzBdXX0gLS1bW3RhYmxlOiAweDA3NGM1NzQ4XV0=;3,12,clikt,e3szLCAxMn0gLS1bW3RhYmxlOiAweDA3YWQyNDE4XV19IC0tW1t0YWJsZTogMHgwNzFlN2FhMF1d;0,0,undo,e3szLCAxMn0gLS1bW3RhYmxlOiAweDA3OGU3YmY4XV19IC0tW1t0YWJsZTogMHgwNzE1ODcxOF1d;3,10,clikt,e3szLCAxMH0gLS1bW3RhYmxlOiAweDA3NTU3MzMwXV19IC0tW1t0YWJsZTogMHgwNzU1NzMwOF1d;3,11,clikt,e3szLCAxMX0gLS1bW3RhYmxlOiAweDA2ZjI3YjgwXV19IC0tW1t0YWJsZTogMHgwNzJiODNhMF1d;3,12,clikt,e3szLCAxMn0gLS1bW3RhYmxlOiAweDBhOTcwMzMwXV19IC0tW1t0YWJsZTogMHgwYTk3MDMwOF1d;0,-1,wasd,e3szLCAxMX0gLS1bW3RhYmxlOiAweDA4N2RmNjI4XV19IC0tW1t0YWJsZTogMHgwODdkZjYwMF1d;1,0,wasd,e3szLCAxMX0gLS1bW3RhYmxlOiAweDA5OTI5MDk4XV19IC0tW1t0YWJsZTogMHgwOTkyOTA3MF1d;0,1,wasd,e3szLCAxMH0gLS1bW3RhYmxlOiAweDA2Y2E4NTUwXV19IC0tW1t0YWJsZTogMHgwOWNiMzgxOF1d;0,1,wasd,e3s0LCA4fSAtLVtbdGFibGU6IDB4MDk5MjFjZTBdXX0gLS1bW3RhYmxlOiAweDA5OTIxY2I4XV0=;-1,0,wasd,e3s0LCA4fSAtLVtbdGFibGU6IDB4MDg0ZDJiZDBdXX0gLS1bW3RhYmxlOiAweDA4NGQyYmE4XV0=;0,-1,wasd,e3s0LCA1fSAtLVtbdGFibGU6IDB4MDcxZmVmMzBdXX0gLS1bW3RhYmxlOiAweDA3MWZlZjA4XV0=;1,0,wasd,e3s1LCAzfSAtLVtbdGFibGU6IDB4MDcxODkwYjBdXX0gLS1bW3RhYmxlOiAweDA3NTg2Nzc4XV0=;1,0,wasd,e3s1LCAzfSAtLVtbdGFibGU6IDB4MDg5MDNmZjBdXX0gLS1bW3RhYmxlOiAweDA4OTAzZmM4XV0=;1,0,wasd,e3s1LCAzfSAtLVtbdGFibGU6IDB4MDgxMjRiODBdXX0gLS1bW3RhYmxlOiAweDA4MTI0YjU4XV0=;0,1,wasd,e3s1LCAzfSAtLVtbdGFibGU6IDB4MDc3OTdlNDBdXX0gLS1bW3RhYmxlOiAweDA3Nzk3ZTE4XV0=;1,0,wasd,e3s2LCAzfSAtLVtbdGFibGU6IDB4MGE5MzBmNjhdXX0gLS1bW3RhYmxlOiAweDBhOTMwZjQwXV0=;0,-1,wasd,e3s2LCAzfSAtLVtbdGFibGU6IDB4MDcyYTJiNThdXX0gLS1bW3RhYmxlOiAweDA3NTI3MWIwXV0=;3,4,clikt,e3szLCA0fSAtLVtbdGFibGU6IDB4MDdiYTlhZDBdXX0gLS1bW3RhYmxlOiAweDA3YmE5YWE4XV0=;3,3,clikt,e3szLCAzfSAtLVtbdGFibGU6IDB4MDdlMjc2MjBdXX0gLS1bW3RhYmxlOiAweDA3ZTI3NWY4XV0=;4,3,clikt,e3s0LCAzfSAtLVtbdGFibGU6IDB4MGExNTI1NDBdXX0gLS1bW3RhYmxlOiAweDBhMTUyNTE4XV0=;5,2,clikt,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDc1MjA4MjhdXX0gLS1bW3RhYmxlOiAweDA4ZmVkNzc4XV0=;6,2,clikt,e3s2LCAyfSAtLVtbdGFibGU6IDB4MDk5MjU5NDhdXX0gLS1bW3RhYmxlOiAweDA5OTI1OTIwXV0=;6,1,clikt,e3s2LCAxfSAtLVtbdGFibGU6IDB4MDZlMjg4ZTBdXX0gLS1bW3RhYmxlOiAweDA2ZTI4OGI4XV0=;0,-1,wasd,e3s2LCAyfSAtLVtbdGFibGU6IDB4MDZmYjhmNDBdXX0gLS1bW3RhYmxlOiAweDA2ZmI4ZjE4XV0=;0,0,undo,e3s2LCAyfSAtLVtbdGFibGU6IDB4MDgyNDdkNzhdXX0gLS1bW3RhYmxlOiAweDA4MjQ3ZDUwXV0=;3,11,clikt,e3szLCAxMX0gLS1bW3RhYmxlOiAweDA4ZmE2NzkwXV19IC0tW1t0YWJsZTogMHgwN2VlMDJiOF1d;3,11,clikt,e3szLCAxMX0gLS1bW3RhYmxlOiAweDA3OTZhMWEwXV19IC0tW1t0YWJsZTogMHgwNzk2YTE3OF1d;0,0,undo,e3szLCAxMX0gLS1bW3RhYmxlOiAweDA4ZTJhZjkwXV19IC0tW1t0YWJsZTogMHgwOGUyYWY2OF1d;3,11,clikt,e3szLCAxMX0gLS1bW3RhYmxlOiAweDA4YzE1ZTcwXV19IC0tW1t0YWJsZTogMHgwYTljZjRmOF1d;0,0,undo,e3szLCAxMX0gLS1bW3RhYmxlOiAweDA4OWY1OTQwXV19IC0tW1t0YWJsZTogMHgwODlmNTkxOF1d;3,10,clikt,e3szLCAxMH0gLS1bW3RhYmxlOiAweDA3MjBlNmYwXV19IC0tW1t0YWJsZTogMHgwNzIwZTZjOF1d;3,9,clikt,e3szLCA5fSAtLVtbdGFibGU6IDB4MDdkYjE2NzhdXX0gLS1bW3RhYmxlOiAweDBiZDY0MTg4XV0=;3,8,clikt,e3szLCA4fSAtLVtbdGFibGU6IDB4MGE3YzBhNDBdXX0gLS1bW3RhYmxlOiAweDBhN2MwYTE4XV0=;3,7,clikt,e3szLCA3fSAtLVtbdGFibGU6IDB4MDc3ZmYzMjhdXX0gLS1bW3RhYmxlOiAweDA3N2ZmMzAwXV0=;3,6,clikt,e3szLCA2fSAtLVtbdGFibGU6IDB4MDgwM2JlMThdXX0gLS1bW3RhYmxlOiAweDA4MDNiZGYwXV0=;3,5,clikt,e3szLCA1fSAtLVtbdGFibGU6IDB4MDk2OTUwOThdXX0gLS1bW3RhYmxlOiAweDA5Njk1MDcwXV0=;4,4,clikt,e3s0LCA0fSAtLVtbdGFibGU6IDB4MGExNGM2OTBdXX0gLS1bW3RhYmxlOiAweDBhMTRjNjY4XV0=;4,3,clikt,e3s0LCAzfSAtLVtbdGFibGU6IDB4MDc3YjRhMjBdXX0gLS1bW3RhYmxlOiAweDA4YWY0OTAwXV0=;4,2,clikt,e3s0LCAyfSAtLVtbdGFibGU6IDB4MDc5ZmZmODBdXX0gLS1bW3RhYmxlOiAweDA3OWZmZjU4XV0=;0,-1,wasd,e3szLCAzfSAtLVtbdGFibGU6IDB4MDg3ZGNjODhdXX0gLS1bW3RhYmxlOiAweDA2ZWNlNWE4XV0=;0,0,undo,e3szLCAzfSAtLVtbdGFibGU6IDB4MDc0YTI3YTBdXX0gLS1bW3RhYmxlOiAweDA3NGEyNzc4XV0=;0,-1,wasd,e3s0LCAyfSAtLVtbdGFibGU6IDB4MDdiYWE2MzBdXX0gLS1bW3RhYmxlOiAweDA3YmFhNjA4XV0=;0,-1,wasd,e3s0LCAyfSAtLVtbdGFibGU6IDB4MDc2MTYxZDhdXX0gLS1bW3RhYmxlOiAweDA3NjE2MWIwXV0=;-1,0,wasd,e3s0LCAzfSAtLVtbdGFibGU6IDB4MDdlMWEzNzBdXX0gLS1bW3RhYmxlOiAweDA3ZTFhMzQ4XV0=;0,1,wasd,e3s0LCA0fSAtLVtbdGFibGU6IDB4MDk2NWUyYjBdXX0gLS1bW3RhYmxlOiAweDA5NjVlMjg4XV0=;1,0,wasd,e3s0LCA0fSAtLVtbdGFibGU6IDB4MGE0M2RlZjBdXX0gLS1bW3RhYmxlOiAweDBhNDNkZWM4XV0=;0,-1,wasd,e3szLCAyfSAtLVtbdGFibGU6IDB4MDdjY2ZjMzhdXX0gLS1bW3RhYmxlOiAweDA3Y2NmYzEwXV0=;5,1,clikt,e3s1LCAxfSAtLVtbdGFibGU6IDB4MDc4ZWU0NDBdXX0gLS1bW3RhYmxlOiAweDA3OGVlNDE4XV0=;0,0,undo,e3s1LCAxfSAtLVtbdGFibGU6IDB4MDdkYmU3ZjhdXX0gLS1bW3RhYmxlOiAweDA2ZmZiYjUwXV0=;0,0,undo,e3s1LCAxfSAtLVtbdGFibGU6IDB4MDgyOWEzNThdXX0gLS1bW3RhYmxlOiAweDA4MjlhMzMwXV0=;3,2,clikt,e3szLCAyfSAtLVtbdGFibGU6IDB4MDk2ZDVkMzhdXX0gLS1bW3RhYmxlOiAweDA5NmQ1ZDEwXV0=;2,2,clikt,e3syLCAyfSAtLVtbdGFibGU6IDB4MDk5MTUzZThdXX0gLS1bW3RhYmxlOiAweDA5OTE1M2MwXV0=;1,2,clikt,e3sxLCAyfSAtLVtbdGFibGU6IDB4MDgwZDNjNzhdXX0gLS1bW3RhYmxlOiAweDA4Mjk4MzEwXV0=;1,1,clikt,e3sxLCAxfSAtLVtbdGFibGU6IDB4MDgzZjE3MDBdXX0gLS1bW3RhYmxlOiAweDA4M2YxNmQ4XV0=;0,-1,wasd,e3sxLCAyfSAtLVtbdGFibGU6IDB4MDgwOWI0MjhdXX0gLS1bW3RhYmxlOiAweDA4MDliNDAwXV0=;0,-1,wasd,e3sxLCAyfSAtLVtbdGFibGU6IDB4MDc3MGIxZjBdXX0gLS1bW3RhYmxlOiAweDA3NzBiMWM4XV0=;1,0,wasd,e3sxLCAyfSAtLVtbdGFibGU6IDB4MDc3OTZjYjhdXX0gLS1bW3RhYmxlOiAweDA3Nzk2YzkwXV0=;1,0,wasd,e3sxLCAyfSAtLVtbdGFibGU6IDB4MDcwNTIzZjBdXX0gLS1bW3RhYmxlOiAweDA4YzE5M2MwXV0=;0,-1,wasd,e3sxLCAyfSAtLVtbdGFibGU6IDB4MDk1ODhkZjBdXX0gLS1bW3RhYmxlOiAweDA4NmJhZjg4XV0=;0,-1,wasd,e3sxLCAyfSAtLVtbdGFibGU6IDB4MDgxM2RhMDhdXX0gLS1bW3RhYmxlOiAweDA4MTNkOWUwXV0=;-1,0,wasd,e3s2LCAyfSAtLVtbdGFibGU6IDB4MDhhYmI1NThdXX0gLS1bW3RhYmxlOiAweDA4M2IwODM4XV0=;6,2,clikt,e3s2LCAyfSAtLVtbdGFibGU6IDB4MDhjZTQ1ZjhdXX0gLS1bW3RhYmxlOiAweDA4Y2U0NWQwXV0=;0,1,wasd,e3s2LCAxfSAtLVtbdGFibGU6IDB4MDc5OTZkMThdXX0gLS1bW3RhYmxlOiAweDA3MmFjZDk4XV0=;1,0,wasd,e3s2LCAxfSAtLVtbdGFibGU6IDB4MDgwMmU3MTBdXX0gLS1bW3RhYmxlOiAweDA4MDJlNmU4XV0=;0,-1,wasd,e3s2LCAxfSAtLVtbdGFibGU6IDB4MDcwYTU0NDhdXX0gLS1bW3RhYmxlOiAweDA3MGE1NDIwXV0=;0,-1,wasd,e3s2LCAxfSAtLVtbdGFibGU6IDB4MDg0NTcxMDhdXX0gLS1bW3RhYmxlOiAweDA4NDU3MGUwXV0=;-1,0,wasd,e3s2LCAyfSAtLVtbdGFibGU6IDB4MDdiNTIyNTBdXX0gLS1bW3RhYmxlOiAweDA3YjUyMjI4XV0=;-1,0,wasd,e3s2LCAzfSAtLVtbdGFibGU6IDB4MDdiM2FmZDhdXX0gLS1bW3RhYmxlOiAweDA3YjNhZmIwXV0=;5,3,clikt,e3s1LCAzfSAtLVtbdGFibGU6IDB4MDdiMGRmNDBdXX0gLS1bW3RhYmxlOiAweDA3YjBkZjE4XV0=;1,0,wasd,e3s2LCAyfSAtLVtbdGFibGU6IDB4MGE4YzQxMzBdXX0gLS1bW3RhYmxlOiAweDBhOGM0MTA4XV0=;0,1,wasd,e3s2LCAyfSAtLVtbdGFibGU6IDB4MDZlNzY1MDBdXX0gLS1bW3RhYmxlOiAweDA3MzNjYmIwXV0=;-1,0,wasd,e3s1LCAzfSAtLVtbdGFibGU6IDB4MDdmZmQzOTBdXX0gLS1bW3RhYmxlOiAweDA3ZmZkMzY4XV0=;-1,0,wasd,e3s1LCAzfSAtLVtbdGFibGU6IDB4MDhhZWZiYTBdXX0gLS1bW3RhYmxlOiAweDA4YWVmYjc4XV0=;0,1,wasd,e3s1LCAzfSAtLVtbdGFibGU6IDB4MDc0MzdmMjhdXX0gLS1bW3RhYmxlOiAweDA3NDM3ZjAwXV0=;0,1,wasd,e3s1LCAzfSAtLVtbdGFibGU6IDB4MGIxYTFhYzBdXX0gLS1bW3RhYmxlOiAweDA3NWE5YzU4XV0=;1,0,wasd,e3s1LCAzfSAtLVtbdGFibGU6IDB4MDc5MGIzNjBdXX0gLS1bW3RhYmxlOiAweDA3OTBiMzM4XV0=;1,0,wasd,e3s1LCAzfSAtLVtbdGFibGU6IDB4MDZmNzA2NzhdXX0gLS1bW3RhYmxlOiAweDA2ZjcwNjUwXV0=;0,1,wasd,e3s1LCAzfSAtLVtbdGFibGU6IDB4MDc3YTQ2MDBdXX0gLS1bW3RhYmxlOiAweDA3N2E0NWQ4XV0=;1,0,wasd,e3s1LCAzfSAtLVtbdGFibGU6IDB4MDcwZTZkNzBdXX0gLS1bW3RhYmxlOiAweDA3MGU2ZDQ4XV0=;0,-1,wasd,e3s1LCAzfSAtLVtbdGFibGU6IDB4MDdhMDY3YjhdXX0gLS1bW3RhYmxlOiAweDA3YTA2NzkwXV0=;0,-1,wasd,e3s1LCAzfSAtLVtbdGFibGU6IDB4MDkxMDllZTBdXX0gLS1bW3RhYmxlOiAweDA5MTA5ZWI4XV0=;5,4,clikt,e3s1LCA0fSAtLVtbdGFibGU6IDB4MDcwZWU0ZDBdXX0gLS1bW3RhYmxlOiAweDA3MGVlNGE4XV0=;-1,0,wasd,e3s1LCAzfSAtLVtbdGFibGU6IDB4MDhhN2VlNDBdXX0gLS1bW3RhYmxlOiAweDA4YTdlZTE4XV0=;0,1,wasd,e3s1LCAzfSAtLVtbdGFibGU6IDB4MDdiNTJhODBdXX0gLS1bW3RhYmxlOiAweDA3YjUyYTU4XV0=;0,0,undo,e3s0LCAzfSAtLVtbdGFibGU6IDB4MDdiYWNiOTBdXX0gLS1bW3RhYmxlOiAweDA3YmFjYjY4XV0=;0,0,undo,e3s1LCA0fSAtLVtbdGFibGU6IDB4MDkxMDg5MjhdXX0gLS1bW3RhYmxlOiAweDA5MTA4OTAwXV0=;0,0,undo,e3s1LCAzfSAtLVtbdGFibGU6IDB4MDgxMjY3MDhdXX0gLS1bW3RhYmxlOiAweDA4MTI2NmUwXV0=;0,0,undo,e3s2LCAzfSAtLVtbdGFibGU6IDB4MDhhZmY3YjBdXX0gLS1bW3RhYmxlOiAweDA4YWZmNzg4XV0=;0,0,undo,e3s2LCAzfSAtLVtbdGFibGU6IDB4MDcxN2M0ZDhdXX0gLS1bW3RhYmxlOiAweDA3MTdjNGIwXV0=;0,0,undo,e3s2LCAzfSAtLVtbdGFibGU6IDB4MDgwYTcxZTBdXX0gLS1bW3RhYmxlOiAweDBiMWU5NjgwXV0=;0,0,undo,e3s2LCAzfSAtLVtbdGFibGU6IDB4MDhkZWM2MDBdXX0gLS1bW3RhYmxlOiAweDA4ZGVjNWQ4XV0=;1,2,clikt,e3sxLCAyfSAtLVtbdGFibGU6IDB4MDhiNjc2MTBdXX0gLS1bW3RhYmxlOiAweDA4YjY3NWU4XV0=;1,3,clikt,e3sxLCAzfSAtLVtbdGFibGU6IDB4MDc3MzM4ODBdXX0gLS1bW3RhYmxlOiAweDA3NzMzODU4XV0=;-1,0,wasd,e3s1LCA0fSAtLVtbdGFibGU6IDB4MDc1MDc0NTBdXX0gLS1bW3RhYmxlOiAweDA3NTA3NDI4XV0=;5,4,clikt,e3s1LCA0fSAtLVtbdGFibGU6IDB4MDcyZmFmODBdXX0gLS1bW3RhYmxlOiAweDA3MmZhZjU4XV0=;5,5,clikt,e3s1LCA1fSAtLVtbdGFibGU6IDB4MDkxM2Y0ZThdXX0gLS1bW3RhYmxlOiAweDA5MTNmNGMwXV0=;0,-1,wasd,e3s1LCA0fSAtLVtbdGFibGU6IDB4MDhjMDkyNThdXX0gLS1bW3RhYmxlOiAweDA4YzA5MjMwXV0=;1,0,wasd,e3s1LCA0fSAtLVtbdGFibGU6IDB4MDdiYTZhNTBdXX0gLS1bW3RhYmxlOiAweDA3YmE2YTI4XV0=;1,0,wasd,e3s1LCA0fSAtLVtbdGFibGU6IDB4MGE4ZDM1ZjBdXX0gLS1bW3RhYmxlOiAweDBhOGQzNWM4XV0=;0,1,wasd,e3s1LCA0fSAtLVtbdGFibGU6IDB4MDk0NTQ5NDBdXX0gLS1bW3RhYmxlOiAweDA5NDU0OTE4XV0=;-1,0,wasd,e3s1LCA0fSAtLVtbdGFibGU6IDB4MDcxYzViYTBdXX0gLS1bW3RhYmxlOiAweDA3MWM1Yjc4XV0=;-1,0,wasd,e3s1LCA0fSAtLVtbdGFibGU6IDB4MDhkYTUwMTBdXX0gLS1bW3RhYmxlOiAweDA3YjVlZGE4XV0=;-1,0,wasd,e3s1LCA0fSAtLVtbdGFibGU6IDB4MDcxMDg3NDBdXX0gLS1bW3RhYmxlOiAweDA3MTA4NzE4XV0=;-1,0,wasd,e3s1LCA0fSAtLVtbdGFibGU6IDB4MDhiZDc1NjhdXX0gLS1bW3RhYmxlOiAweDA4YmQ3NTQwXV0=;-1,0,wasd,e3s1LCA0fSAtLVtbdGFibGU6IDB4MDhmNzY2MDBdXX0gLS1bW3RhYmxlOiAweDA4Zjc2NWQ4XV0=;0,-1,wasd,e3s1LCA0fSAtLVtbdGFibGU6IDB4MDkwMGEzYzBdXX0gLS1bW3RhYmxlOiAweDA5MDBhMzk4XV0=;0,-1,wasd,e3s1LCA0fSAtLVtbdGFibGU6IDB4MDZmZDBiODhdXX0gLS1bW3RhYmxlOiAweDA2ZmQwYjYwXV0=;1,0,wasd,e3s0LCAzfSAtLVtbdGFibGU6IDB4MDdhOWVlMjhdXX0gLS1bW3RhYmxlOiAweDA3YTllZTAwXV0=;1,0,wasd,e3szLCAzfSAtLVtbdGFibGU6IDB4MDc3YzYxNzBdXX0gLS1bW3RhYmxlOiAweDA3N2M2MTQ4XV0=;1,0,wasd,e3szLCAzfSAtLVtbdGFibGU6IDB4MDcyZTM3MzBdXX0gLS1bW3RhYmxlOiAweDA3MmUzNzA4XV0=;1,0,wasd,e3szLCAzfSAtLVtbdGFibGU6IDB4MDk2NWM0MzBdXX0gLS1bW3RhYmxlOiAweDA5NjVjNDA4XV0=;1,0,wasd,e3szLCAzfSAtLVtbdGFibGU6IDB4MDgzZTc2ZjBdXX0gLS1bW3RhYmxlOiAweDA3YzgwZWUwXV0=;-1,0,wasd,e3szLCAzfSAtLVtbdGFibGU6IDB4MDg5YTI3YThdXX0gLS1bW3RhYmxlOiAweDA4OWEyNzgwXV0=;1,2,clikt,e3sxLCAyfSAtLVtbdGFibGU6IDB4MDg4MWQ5NzhdXX0gLS1bW3RhYmxlOiAweDA4ODFkOTUwXV0=;1,1,clikt,e3sxLCAxfSAtLVtbdGFibGU6IDB4MDZkNzAwYTBdXX0gLS1bW3RhYmxlOiAweDA3MTIwOGEwXV0=;1,0,clikt,e3sxLCAwfSAtLVtbdGFibGU6IDB4MDdhNTYyOTBdXX0gLS1bW3RhYmxlOiAweDA4YzFiY2U4XV0=;1,0,wasd,e3sxLCAxfSAtLVtbdGFibGU6IDB4MDdjYmYyYjBdXX0gLS1bW3RhYmxlOiAweDA3NGMzOTg4XV0=;0,1,wasd,e3sxLCAxfSAtLVtbdGFibGU6IDB4MDg3OTE4ZDhdXX0gLS1bW3RhYmxlOiAweDA4NzkxOGIwXV0=;0,1,wasd,e3sxLCAxfSAtLVtbdGFibGU6IDB4MDdlZjY2ZTBdXX0gLS1bW3RhYmxlOiAweDA3ZWY2NmI4XV0=;0,1,wasd,e3sxLCAxfSAtLVtbdGFibGU6IDB4MDdkMTM4ZDhdXX0gLS1bW3RhYmxlOiAweDA3ZDEzOGIwXV0=;0,1,wasd,e3sxLCAxfSAtLVtbdGFibGU6IDB4MGJkNjQ1ZDBdXX0gLS1bW3RhYmxlOiAweDBiZDY0NWE4XV0=;0,-1,wasd,e3sxLCAxfSAtLVtbdGFibGU6IDB4MDcxZWY2NjBdXX0gLS1bW3RhYmxlOiAweDA3ZGEyMTEwXV0=;0,0,undo,e3sxLCAxfSAtLVtbdGFibGU6IDB4MDc0MzVjMzhdXX0gLS1bW3RhYmxlOiAweDA3NDM1YzEwXV0=;0,0,clikt,e3swLCAwfSAtLVtbdGFibGU6IDB4MDhhZmU5YjhdXX0gLS1bW3RhYmxlOiAweDA4YWZlOTkwXV0=;0,-1,wasd,e3sxLCAwfSAtLVtbdGFibGU6IDB4MGE4MDA4MjhdXX0gLS1bW3RhYmxlOiAweDA3MGVmMDI4XV0=;0,-1,wasd,e3sxLCAwfSAtLVtbdGFibGU6IDB4MDdlOWJmYThdXX0gLS1bW3RhYmxlOiAweDA3ZTliZjgwXV0=;0,0,undo,e3sxLCAwfSAtLVtbdGFibGU6IDB4MDg5YjAzMThdXX0gLS1bW3RhYmxlOiAweDA4OWIwMmYwXV0=;0,1,wasd,e3sxLCAxfSAtLVtbdGFibGU6IDB4MDc4YjNlZTBdXX0gLS1bW3RhYmxlOiAweDA3OGIzZWI4XV0=;1,0,wasd,e3syLCAyfSAtLVtbdGFibGU6IDB4MDcyZDZiODBdXX0gLS1bW3RhYmxlOiAweDA3MmQ2YjU4XV0=;1,0,clikt,e3sxLCAwfSAtLVtbdGFibGU6IDB4MDc1MDBjNDBdXX0gLS1bW3RhYmxlOiAweDA4YWY3NzUwXV0=;2,0,clikt,e3syLCAwfSAtLVtbdGFibGU6IDB4MDg0MTgyYjhdXX0gLS1bW3RhYmxlOiAweDA4NDE4MjkwXV0=;6,2,clikt,e3s2LCAyfSAtLVtbdGFibGU6IDB4MDhiYzJjMjBdXX0gLS1bW3RhYmxlOiAweDA3NjVjZjgwXV0=;0,0,undo,e3s2LCAyfSAtLVtbdGFibGU6IDB4MDcwNDQ1NDBdXX0gLS1bW3RhYmxlOiAweDA3MDQ0NTE4XV0=;5,4,clikt,e3s1LCA0fSAtLVtbdGFibGU6IDB4MDdhYWJjMTBdXX0gLS1bW3RhYmxlOiAweDA3YWFiYmU4XV0=;6,3,clikt,e3s2LCAzfSAtLVtbdGFibGU6IDB4MDdlMTRmMzBdXX0gLS1bW3RhYmxlOiAweDA3ZTE0ZjA4XV0=;6,2,clikt,e3s2LCAyfSAtLVtbdGFibGU6IDB4MDczYjgwOThdXX0gLS1bW3RhYmxlOiAweDA3M2I4MDcwXV0=;6,1,clikt,e3s2LCAxfSAtLVtbdGFibGU6IDB4MDc4YmQzNzhdXX0gLS1bW3RhYmxlOiAweDA5NmExNDcwXV0=;2,1,clikt,e3syLCAxfSAtLVtbdGFibGU6IDB4MDdlZDFhYTBdXX0gLS1bW3RhYmxlOiAweDA3ZWQxYTc4XV0=;2,2,clikt,e3syLCAyfSAtLVtbdGFibGU6IDB4MDc0NTdiYTBdXX0gLS1bW3RhYmxlOiAweDA3NDU3Yjc4XV0=;0,1,wasd,e3syLCAyfSAtLVtbdGFibGU6IDB4MDkzN2ZkZDBdXX0gLS1bW3RhYmxlOiAweDBhNzk4M2MwXV0=;1,0,wasd,e3szLCAyfSAtLVtbdGFibGU6IDB4MDg2NDg5MDBdXX0gLS1bW3RhYmxlOiAweDA4NjQ4OGQ4XV0=;0,-1,wasd,e3szLCAyfSAtLVtbdGFibGU6IDB4MGE3ZTU0YzBdXX0gLS1bW3RhYmxlOiAweDBhN2U1NDk4XV0=;0,0,undo,e3s0LCAyfSAtLVtbdGFibGU6IDB4MDgwOGI3ZDBdXX0gLS1bW3RhYmxlOiAweDA4MDhiN2E4XV0=;0,1,wasd,e3s0LCAyfSAtLVtbdGFibGU6IDB4MDc3MzIwNDhdXX0gLS1bW3RhYmxlOiAweDA5Y2FkOTcwXV0=;1,0,wasd,e3s0LCAyfSAtLVtbdGFibGU6IDB4MDg0NWFmYjBdXX0gLS1bW3RhYmxlOiAweDA4NDVhZjg4XV0=;1,0,wasd,e3s0LCAyfSAtLVtbdGFibGU6IDB4MDkwMzJmOTBdXX0gLS1bW3RhYmxlOiAweDA4NzEyZDUwXV0=;1,0,wasd,e3s0LCAyfSAtLVtbdGFibGU6IDB4MDhjODZmMDBdXX0gLS1bW3RhYmxlOiAweDA2Y2RhNzEwXV0=;1,0,wasd,e3s0LCAyfSAtLVtbdGFibGU6IDB4MDdkN2Y1NzhdXX0gLS1bW3RhYmxlOiAweDA3MTA0YmQ4XV0=;0,-1,wasd,e3s0LCAyfSAtLVtbdGFibGU6IDB4MDdjZjM3MDhdXX0gLS1bW3RhYmxlOiAweDA3Y2YzNmUwXV0=;0,-1,wasd,e3s0LCAyfSAtLVtbdGFibGU6IDB4MDk1OTlhNzBdXX0gLS1bW3RhYmxlOiAweDA5NTk5YTQ4XV0=;0,-1,wasd,e3s0LCAyfSAtLVtbdGFibGU6IDB4MDgxNzBkMjhdXX0gLS1bW3RhYmxlOiAweDA4MTcwZDAwXV0=;-1,0,wasd,e3s0LCAyfSAtLVtbdGFibGU6IDB4MGE0NDY4ZThdXX0gLS1bW3RhYmxlOiAweDA4OTc3MDM4XV0=;0,1,wasd,e3s0LCAyfSAtLVtbdGFibGU6IDB4MDc3MjVhZjhdXX0gLS1bW3RhYmxlOiAweDA3ODMyYjcwXV0=;1,0,wasd,e3s0LCAyfSAtLVtbdGFibGU6IDB4MGE3ZDQ5MDhdXX0gLS1bW3RhYmxlOiAweDA4YzA2ZTU4XV0=;6,2,clikt,e3s2LCAyfSAtLVtbdGFibGU6IDB4MDc2MjM2NjhdXX0gLS1bW3RhYmxlOiAweDA3NjIzNjQwXV0=;5,2,clikt,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDcyMzdhYjhdXX0gLS1bW3RhYmxlOiAweDA3MjM3YTkwXV0=;2,3,clikt,e3syLCAzfSAtLVtbdGFibGU6IDB4MGFkYWI1ZThdXX0gLS1bW3RhYmxlOiAweDA3NmQ5MzgwXV0=;2,4,clikt,e3syLCA0fSAtLVtbdGFibGU6IDB4MDg4ODJlZjBdXX0gLS1bW3RhYmxlOiAweDA4YmNkNzAwXV0=;2,5,clikt,e3syLCA1fSAtLVtbdGFibGU6IDB4MDgwYWQzMzBdXX0gLS1bW3RhYmxlOiAweDA2ZmRmZmI4XV0=;2,6,clikt,e3syLCA2fSAtLVtbdGFibGU6IDB4MGE4ZTNkMzhdXX0gLS1bW3RhYmxlOiAweDA3MDgwNTAwXV0=;2,7,clikt,e3syLCA3fSAtLVtbdGFibGU6IDB4MDhhNjVlMDhdXX0gLS1bW3RhYmxlOiAweDA3Nzg2YWQwXV0=;2,8,clikt,e3syLCA4fSAtLVtbdGFibGU6IDB4MDgwZjA2NjBdXX0gLS1bW3RhYmxlOiAweDA2ZTk0NTg4XV0=;1,9,clikt,e3sxLCA5fSAtLVtbdGFibGU6IDB4MDcxYzdhYzBdXX0gLS1bW3RhYmxlOiAweDA3ZjJlYzcwXV0=;1,10,clikt,e3sxLCAxMH0gLS1bW3RhYmxlOiAweDA4YjFlOGM4XV19IC0tW1t0YWJsZTogMHgwOGIxZThhMF1d;1,11,clikt,e3sxLCAxMX0gLS1bW3RhYmxlOiAweDA4YzVlMjk4XV19IC0tW1t0YWJsZTogMHgwOGM1ZTI3MF1d;1,12,clikt,e3sxLCAxMn0gLS1bW3RhYmxlOiAweDA4NDdiYmY4XV19IC0tW1t0YWJsZTogMHgwODQ3YmJkMF1d;1,13,clikt,e3sxLCAxM30gLS1bW3RhYmxlOiAweDA4NDBlZDkwXV19IC0tW1t0YWJsZTogMHgwNzYzYzE5MF1d;1,14,clikt,e3sxLCAxNH0gLS1bW3RhYmxlOiAweDA3ZmI0NmM4XV19IC0tW1t0YWJsZTogMHgwN2ZiNDZhMF1d;1,0,wasd,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDdkMWNmZThdXX0gLS1bW3RhYmxlOiAweDA3ZDFjZmMwXV0=;1,0,wasd,e3s1LCAyfSAtLVtbdGFibGU6IDB4MGIxZWExMTBdXX0gLS1bW3RhYmxlOiAweDBiMWVhMGU4XV0=;0,1,wasd,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDdjNjI3MDBdXX0gLS1bW3RhYmxlOiAweDBhZDExOTgwXV0=;1,0,wasd,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDc5ODQ4MDBdXX0gLS1bW3RhYmxlOiAweDA3OTg0N2Q4XV0=;-1,0,wasd,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDhhZWZlYzBdXX0gLS1bW3RhYmxlOiAweDA4YWVmZTk4XV0=;1,0,wasd,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDZjZWZkYThdXX0gLS1bW3RhYmxlOiAweDA2Y2VmZDgwXV0=;0,-1,wasd,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDcxMWJjODBdXX0gLS1bW3RhYmxlOiAweDA3MTFiYzU4XV0=;-1,0,wasd,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDc4YTMwMjhdXX0gLS1bW3RhYmxlOiAweDA3OGEzMDAwXV0=;1,-1,wasd,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDc0N2MwYjhdXX0gLS1bW3RhYmxlOiAweDA3MGZlNDAwXV0=;5,3,clikt,e3s1LCAzfSAtLVtbdGFibGU6IDB4MDc2YzcyYTBdXX0gLS1bW3RhYmxlOiAweDA3NmM3Mjc4XV0=;0,0,undo,e3s1LCAzfSAtLVtbdGFibGU6IDB4MDg2MTkzNDBdXX0gLS1bW3RhYmxlOiAweDA3YzAxYzAwXV0=;0,0,undo,e3s1LCAzfSAtLVtbdGFibGU6IDB4MDc3MzhlYjhdXX0gLS1bW3RhYmxlOiAweDA3NzM4ZTkwXV0=;0,0,undo,e3s1LCAzfSAtLVtbdGFibGU6IDB4MDg3MjY3YjhdXX0gLS1bW3RhYmxlOiAweDA4MTJiYjI4XV0=;0,0,undo,e3s1LCAzfSAtLVtbdGFibGU6IDB4MDdjNzU5YjhdXX0gLS1bW3RhYmxlOiAweDA3Yzc1OTkwXV0=;0,0,undo,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDcyN2Q1MzBdXX0gLS1bW3RhYmxlOiAweDA3MzI5MGUwXV0=;0,0,undo,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDdhNDQ3NjhdXX0gLS1bW3RhYmxlOiAweDA3YTQ0NzQwXV0=;0,0,undo,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDc4N2Y5MzBdXX0gLS1bW3RhYmxlOiAweDA3ODdmOTA4XV0=;0,0,undo,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDk2OTQ3YjhdXX0gLS1bW3RhYmxlOiAweDA5Njk0NzkwXV0=;0,0,undo,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDZlM2QzYjBdXX0gLS1bW3RhYmxlOiAweDA2ZTNkMzg4XV0=;0,0,undo,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDdiMDg5ZjhdXX0gLS1bW3RhYmxlOiAweDA3OWU5NTk4XV0=;0,0,undo,e3sxLCAxNH0gLS1bW3RhYmxlOiAweDA3NGE2OGUwXV19IC0tW1t0YWJsZTogMHgwNzk1YWYyMF1d;0,0,undo,e3sxLCAxM30gLS1bW3RhYmxlOiAweDA3MjE4ZGM4XV19IC0tW1t0YWJsZTogMHgwNzVkNmFhMF1d;0,0,undo,e3sxLCAxMn0gLS1bW3RhYmxlOiAweDA3NDI2NzEwXV19IC0tW1t0YWJsZTogMHgwODQ3NjM3MF1d;0,0,undo,e3sxLCAxMX0gLS1bW3RhYmxlOiAweDA3MWZiYzcwXV19IC0tW1t0YWJsZTogMHgwN2U2ODdlOF1d;0,0,undo,e3sxLCAxMH0gLS1bW3RhYmxlOiAweDBhY2YwODYwXV19IC0tW1t0YWJsZTogMHgwNzFiYzIzMF1d;0,0,undo,e3sxLCA5fSAtLVtbdGFibGU6IDB4MDc0OWM2ZThdXX0gLS1bW3RhYmxlOiAweDA3NDljNmMwXV0=;0,0,undo,e3syLCA4fSAtLVtbdGFibGU6IDB4MDc2YTQyNzhdXX0gLS1bW3RhYmxlOiAweDA3NmE0MjUwXV0=;0,0,undo,e3syLCA3fSAtLVtbdGFibGU6IDB4MDdmYTA4ZjhdXX0gLS1bW3RhYmxlOiAweDA3ZmEwOGQwXV0=;0,0,undo,e3syLCA2fSAtLVtbdGFibGU6IDB4MDdkNGM2MDhdXX0gLS1bW3RhYmxlOiAweDA3ZDRiZjY4XV0=;0,0,undo,e3syLCA1fSAtLVtbdGFibGU6IDB4MDhkNDMxMzBdXX0gLS1bW3RhYmxlOiAweDA4OGM2NWUwXV0=;0,0,undo,e3syLCA0fSAtLVtbdGFibGU6IDB4MDc1ZTZhZjBdXX0gLS1bW3RhYmxlOiAweDA4MmMzMTAwXV0=;1,0,wasd,e3szLCAyfSAtLVtbdGFibGU6IDB4MDdiNzUxMDhdXX0gLS1bW3RhYmxlOiAweDA3Yjc1MGUwXV0=;1,0,wasd,e3szLCAyfSAtLVtbdGFibGU6IDB4MDhmZDYyOTBdXX0gLS1bW3RhYmxlOiAweDA4ZmQ2MjY4XV0=;6,1,clikt,e3s2LCAxfSAtLVtbdGFibGU6IDB4MDdkZmQ0NzBdXX0gLS1bW3RhYmxlOiAweDA4NDVhYWM4XV0=;0,0,undo,e3s2LCAxfSAtLVtbdGFibGU6IDB4MDc2ODJiODhdXX0gLS1bW3RhYmxlOiAweDA3NjgyYjYwXV0=;6,2,clikt,e3s2LCAyfSAtLVtbdGFibGU6IDB4MDcyZWE3YjhdXX0gLS1bW3RhYmxlOiAweDA3MmVhNzkwXV0=;6,1,clikt,e3s2LCAxfSAtLVtbdGFibGU6IDB4MDdlY2M4NTBdXX0gLS1bW3RhYmxlOiAweDA2ZjkyZWY4XV0=;0,0,undo,e3s2LCAxfSAtLVtbdGFibGU6IDB4MDc5ODRmNjBdXX0gLS1bW3RhYmxlOiAweDA3OGJkNzk4XV0=;6,1,clikt,e3s2LCAxfSAtLVtbdGFibGU6IDB4MDZmNmQ5YjhdXX0gLS1bW3RhYmxlOiAweDA2ZjZkOTkwXV0=;-1,0,wasd,e3s2LCAyfSAtLVtbdGFibGU6IDB4MDc0MWE4ZjhdXX0gLS1bW3RhYmxlOiAweDA3NDFhOGQwXV0=;-1,0,wasd,e3s2LCAyfSAtLVtbdGFibGU6IDB4MDkwM2M5ZThdXX0gLS1bW3RhYmxlOiAweDA5MDNjOWMwXV0=;0,-1,wasd,e3s2LCAyfSAtLVtbdGFibGU6IDB4MDg1ZWMyNThdXX0gLS1bW3RhYmxlOiAweDA4NWVjMjMwXV0=;0,-1,wasd,e3s2LCAyfSAtLVtbdGFibGU6IDB4MDc0ZTRhYThdXX0gLS1bW3RhYmxlOiAweDA3NGU0YTgwXV0=;0,1,wasd,e3s2LCAyfSAtLVtbdGFibGU6IDB4MDc4NTE4MjBdXX0gLS1bW3RhYmxlOiAweDA3ODUxN2Y4XV0=;1,0,wasd,e3s2LCAyfSAtLVtbdGFibGU6IDB4MDhmZDgyNjhdXX0gLS1bW3RhYmxlOiAweDA4ZmQ4MjQwXV0=;1,0,wasd,e3s2LCAyfSAtLVtbdGFibGU6IDB4MDg4OGYyZjBdXX0gLS1bW3RhYmxlOiAweDA4ODhmMmM4XV0=;0,1,wasd,e3s2LCAyfSAtLVtbdGFibGU6IDB4MDdkZmRhMDhdXX0gLS1bW3RhYmxlOiAweDA3ZGZkOWUwXV0=;0,1,wasd,e3s2LCAyfSAtLVtbdGFibGU6IDB4MDg5YTIxNzBdXX0gLS1bW3RhYmxlOiAweDBhODA3ZTY4XV0=;0,1,wasd,e3s2LCAyfSAtLVtbdGFibGU6IDB4MDdmZmE3ODhdXX0gLS1bW3RhYmxlOiAweDA3ZmZhNzYwXV0=;6,2,clikt,e3s2LCAyfSAtLVtbdGFibGU6IDB4MDdmNDk3MThdXX0gLS1bW3RhYmxlOiAweDA3ZjQ5NmYwXV0=;0,1,wasd,e3s2LCAyfSAtLVtbdGFibGU6IDB4MDg2MzZhYzBdXX0gLS1bW3RhYmxlOiAweDA4NjM2YTk4XV0=;1,0,wasd,e3s2LCAyfSAtLVtbdGFibGU6IDB4MDg5YTdjYzhdXX0gLS1bW3RhYmxlOiAweDA4OWE3Y2EwXV0=;0,-1,wasd,e3s2LCAyfSAtLVtbdGFibGU6IDB4MDk5MjdmMThdXX0gLS1bW3RhYmxlOiAweDA3ODA2ODMwXV0=;1,0,wasd,e3s2LCAyfSAtLVtbdGFibGU6IDB4MDcxN2QwYzhdXX0gLS1bW3RhYmxlOiAweDA3MTdkMGEwXV0=;0,-1,wasd,e3s2LCAyfSAtLVtbdGFibGU6IDB4MDdhOGE3ZjBdXX0gLS1bW3RhYmxlOiAweDA3YThhN2M4XV0=;-1,0,wasd,e3s2LCAyfSAtLVtbdGFibGU6IDB4MDgwMzAyMDhdXX0gLS1bW3RhYmxlOiAweDA4MDMwMWUwXV0=;2,4,clikt,e3syLCA0fSAtLVtbdGFibGU6IDB4MDhjODQwNzhdXX0gLS1bW3RhYmxlOiAweDA4Yzg0MDUwXV0=;0,-1,wasd,e3syLCAzfSAtLVtbdGFibGU6IDB4MDdmM2VhMjBdXX0gLS1bW3RhYmxlOiAweDA3NjE0NWIwXV0=;0,1,wasd,e3syLCAzfSAtLVtbdGFibGU6IDB4MDkzZGRhNzBdXX0gLS1bW3RhYmxlOiAweDA5M2RkYTQ4XV0=;0,1,wasd,e3syLCAzfSAtLVtbdGFibGU6IDB4MDhkNDYwZDhdXX0gLS1bW3RhYmxlOiAweDA4ZDQ2MGIwXV0=;-1,-1,wasd,e3syLCAzfSAtLVtbdGFibGU6IDB4MDdmMGE4MDBdXX0gLS1bW3RhYmxlOiAweDA3ZjBhN2Q4XV0=;1,0,wasd,e3syLCAzfSAtLVtbdGFibGU6IDB4MDdlMDUyYzhdXX0gLS1bW3RhYmxlOiAweDA3ZTA1MmEwXV0=;0,-1,wasd,e3syLCAzfSAtLVtbdGFibGU6IDB4MDdjMzQxMThdXX0gLS1bW3RhYmxlOiAweDA3YzM0MGYwXV0=;0,-1,wasd,e3syLCAzfSAtLVtbdGFibGU6IDB4MGJkN2VhODBdXX0gLS1bW3RhYmxlOiAweDBiZDdlYTU4XV0=;-1,0,wasd,e3syLCAzfSAtLVtbdGFibGU6IDB4MDgxYjJlYjBdXX0gLS1bW3RhYmxlOiAweDA4MTBkNmUwXV0=;-1,1,wasd,e3syLCAzfSAtLVtbdGFibGU6IDB4MDZkYzY4ZTBdXX0gLS1bW3RhYmxlOiAweDA4MDEwNmE4XV0=;0,0,undo,e3syLCAzfSAtLVtbdGFibGU6IDB4MDdhYWRlZDBdXX0gLS1bW3RhYmxlOiAweDA3YWFkZWE4XV0=;0,1,wasd,e3syLCAzfSAtLVtbdGFibGU6IDB4MDhmNWI2YjBdXX0gLS1bW3RhYmxlOiAweDA4ZjViNjg4XV0=;-1,0,wasd,e3syLCAzfSAtLVtbdGFibGU6IDB4MDc4NzRhNDBdXX0gLS1bW3RhYmxlOiAweDA3ODc0YTE4XV0=;0,-1,wasd,e3syLCAzfSAtLVtbdGFibGU6IDB4MDZmNzJjMDhdXX0gLS1bW3RhYmxlOiAweDA2ZjcyYmUwXV0=;-1,0,wasd,e3syLCAzfSAtLVtbdGFibGU6IDB4MDc1MTA2NDBdXX0gLS1bW3RhYmxlOiAweDA3NTEwNjE4XV0=;0,1,wasd,e3syLCAzfSAtLVtbdGFibGU6IDB4MDg3YWIwMzhdXX0gLS1bW3RhYmxlOiAweDA4N2FiMDEwXV0=;6,2,clikt,e3s2LCAyfSAtLVtbdGFibGU6IDB4MGE3YjM0YjBdXX0gLS1bW3RhYmxlOiAweDBhN2IzNDg4XV0=;0,0,undo,e3s2LCAyfSAtLVtbdGFibGU6IDB4MDkzOWFkZDBdXX0gLS1bW3RhYmxlOiAweDA5MzljNWUwXV0=;6,3,clikt,e3s2LCAzfSAtLVtbdGFibGU6IDB4MDdmYWU2YzhdXX0gLS1bW3RhYmxlOiAweDA4M2JlNjY4XV0=;-1,0,wasd,e3s2LCAyfSAtLVtbdGFibGU6IDB4MDcyZmRjMjhdXX0gLS1bW3RhYmxlOiAweDA3MmZkYzAwXV0=;-1,0,wasd,e3s2LCAyfSAtLVtbdGFibGU6IDB4MDczNDVjMDhdXX0gLS1bW3RhYmxlOiAweDA3MzQ1YmUwXV0=;0,1,wasd,e3s2LCAyfSAtLVtbdGFibGU6IDB4MDZlM2M0YThdXX0gLS1bW3RhYmxlOiAweDA2ZTNjNDgwXV0=;1,0,wasd,e3s2LCAyfSAtLVtbdGFibGU6IDB4MDhmYTcwYThdXX0gLS1bW3RhYmxlOiAweDA4ZmE3MDgwXV0=;1,0,wasd,e3s2LCAyfSAtLVtbdGFibGU6IDB4MDg0NGQyMTBdXX0gLS1bW3RhYmxlOiAweDA4NjM5MzA4XV0=;1,0,wasd,e3s2LCAyfSAtLVtbdGFibGU6IDB4MDc2NjEwZjhdXX0gLS1bW3RhYmxlOiAweDA3NjYxMGQwXV0=;1,0,wasd,e3s2LCAyfSAtLVtbdGFibGU6IDB4MDhlMWI5YjBdXX0gLS1bW3RhYmxlOiAweDA4YWRkNmQ4XV0=;0,1,wasd,e3s2LCAyfSAtLVtbdGFibGU6IDB4MDc4MDczMDhdXX0gLS1bW3RhYmxlOiAweDA3ODA3MmUwXV0=;1,0,wasd,e3s2LCAyfSAtLVtbdGFibGU6IDB4MDc2NWUxZDBdXX0gLS1bW3RhYmxlOiAweDA3NjVlMWE4XV0=;0,-1,wasd,e3s2LCAyfSAtLVtbdGFibGU6IDB4MDcxYzAzMzBdXX0gLS1bW3RhYmxlOiAweDA3MWMwMzA4XV0=;-1,0,wasd,e3s2LCAyfSAtLVtbdGFibGU6IDB4MGE3ZGRmNDBdXX0gLS1bW3RhYmxlOiAweDBhN2QxYmMwXV0=;0,-1,wasd,e3s2LCAyfSAtLVtbdGFibGU6IDB4MGE3Yjk2ZjhdXX0gLS1bW3RhYmxlOiAweDA3MjNmNTEwXV0=;1,0,wasd,e3s2LCAyfSAtLVtbdGFibGU6IDB4MDg2MjA3NzhdXX0gLS1bW3RhYmxlOiAweDA4NjIwNzUwXV0=;5,3,clikt,e3s1LCAzfSAtLVtbdGFibGU6IDB4MDZmZGUwZTBdXX0gLS1bW3RhYmxlOiAweDA4ZGU3MWI4XV0=;5,2,clikt,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDZlYzRmMjhdXX0gLS1bW3RhYmxlOiAweDA2ZWM0ZjAwXV0=;0,0,undo,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDZlODc5OThdXX0gLS1bW3RhYmxlOiAweDA3M2NkZWE4XV0=;0,0,undo,e3s1LCAzfSAtLVtbdGFibGU6IDB4MDg3NGExZDBdXX0gLS1bW3RhYmxlOiAweDA4NzRhMWE4XV0=;0,0,undo,e3s1LCAzfSAtLVtbdGFibGU6IDB4MDc5YjA1MjhdXX0gLS1bW3RhYmxlOiAweDA3OWIwNTAwXV0=;0,0,undo,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDk2OGExZjBdXX0gLS1bW3RhYmxlOiAweDA5NjhhMWM4XV0=;0,0,undo,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDhlNTcwZjhdXX0gLS1bW3RhYmxlOiAweDA4ZTU3MGQwXV0=;0,0,undo,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDdhZmE5NThdXX0gLS1bW3RhYmxlOiAweDA5NDJkYzA4XV0=;0,0,undo,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDcxMzE2NjBdXX0gLS1bW3RhYmxlOiAweDA3MTMxNjM4XV0=;0,0,undo,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDhlYzRmMjBdXX0gLS1bW3RhYmxlOiAweDA4ZWM0ZWY4XV0=;0,0,undo,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDc2YTgzNzhdXX0gLS1bW3RhYmxlOiAweDA3NmE4MzUwXV0=;0,0,undo,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDc2NGRkNThdXX0gLS1bW3RhYmxlOiAweDA3NjRjY2M4XV0=;0,0,undo,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDg0MGZkMzhdXX0gLS1bW3RhYmxlOiAweDA4NDBmZDEwXV0=;0,0,undo,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDdjNWZmYThdXX0gLS1bW3RhYmxlOiAweDA4Mjk5NjU4XV0=;0,0,undo,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDZjYWUzODhdXX0gLS1bW3RhYmxlOiAweDA2Y2FlMzYwXV0=;0,0,undo,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDc0ZmQ1NThdXX0gLS1bW3RhYmxlOiAweDBhNzk0MTMwXV0=;0,0,undo,e3s1LCAyfSAtLVtbdGFibGU6IDB4MDg0MWQ1OTBdXX0gLS1bW3RhYmxlOiAweDA4NDFkNTY4XV0=;0,0,undo,e3s2LCAzfSAtLVtbdGFibGU6IDB4MDc5MzdhNTBdXX0gLS1bW3RhYmxlOiAweDA3OTM3YTI4XV0=;0,0,undo,e3s2LCAzfSAtLVtbdGFibGU6IDB4MDdmOTRiZTBdXX0gLS1bW3RhYmxlOiAweDA3ZGJmMGM4XV0=;0,0,undo,e3s2LCAzfSAtLVtbdGFibGU6IDB4MDkzNWJkYzhdXX0gLS1bW3RhYmxlOiAweDA5MzViZGEwXV0=;0,0,undo,e3s2LCAzfSAtLVtbdGFibGU6IDB4MDdlMGRlYjBdXX0gLS1bW3RhYmxlOiAweDA3ZTBkZTg4XV0=;0,0,undo,e3s2LCAzfSAtLVtbdGFibGU6IDB4MDgwM2YwNDhdXX0gLS1bW3RhYmxlOiAweDA4MDNmMDIwXV0=;0,0,undo,e3s2LCAzfSAtLVtbdGFibGU6IDB4MDdlMjExZDhdXX0gLS1bW3RhYmxlOiAweDA3ZTIxMWIwXV0=;0,0,undo,e3s2LCAzfSAtLVtbdGFibGU6IDB4MGIxZTdkOTBdXX0gLS1bW3RhYmxlOiAweDBiMWU3ZDY4XV0=;0,0,undo,e3s2LCAzfSAtLVtbdGFibGU6IDB4MGE3ZTRiYzBdXX0gLS1bW3RhYmxlOiAweDBhN2U0Yjk4XV0=;0,0,undo,e3s2LCAzfSAtLVtbdGFibGU6IDB4MDdjODM0NDhdXX0gLS1bW3RhYmxlOiAweDA3ZTZlMGQwXV0=;0,0,undo,e3s2LCAzfSAtLVtbdGFibGU6IDB4MDdmOWJmODBdXX0gLS1bW3RhYmxlOiAweDBhZGFlYmIwXV0=;0,0,undo,e3s2LCAzfSAtLVtbdGFibGU6IDB4MDcxNjZlMjhdXX0gLS1bW3RhYmxlOiAweDA3MTUwMjAwXV0=;0,0,undo,e3s2LCAzfSAtLVtbdGFibGU6IDB4MDhiM2VlODBdXX0gLS1bW3RhYmxlOiAweDA4YjNlZTU4XV0=;0,0,undo,e3s2LCAzfSAtLVtbdGFibGU6IDB4MDg5YzVkYjhdXX0gLS1bW3RhYmxlOiAweDA4OWM1ZDkwXV0=;0,0,undo,e3syLCA0fSAtLVtbdGFibGU6IDB4MDc3MjNjZDBdXX0gLS1bW3RhYmxlOiAweDA3NzIzY2E4XV0=;0,0,undo,e3syLCA0fSAtLVtbdGFibGU6IDB4MDdlZDhlYThdXX0gLS1bW3RhYmxlOiAweDA3ZWQ4ZTgwXV0=;0,0,undo,e3syLCA0fSAtLVtbdGFibGU6IDB4MDc1MzUyNDBdXX0gLS1bW3RhYmxlOiAweDA3NTM1MjE4XV0=;0,0,undo,e3syLCA0fSAtLVtbdGFibGU6IDB4MGE4Y2MwZDBdXX0gLS1bW3RhYmxlOiAweDBhOGNjMGE4XV0=;0,0,undo,e3syLCA0fSAtLVtbdGFibGU6IDB4MDgyYjhmYjBdXX0gLS1bW3RhYmxlOiAweDA4MmI4Zjg4XV0=;0,0,undo,e3syLCA0fSAtLVtbdGFibGU6IDB4MDgyMjA0YjBdXX0gLS1bW3RhYmxlOiAweDA4MjIwNDg4XV0=;0,0,undo,e3syLCA0fSAtLVtbdGFibGU6IDB4MDdjNDFkMjhdXX0gLS1bW3RhYmxlOiAweDA3YzQxZDAwXV0=;0,0,undo,e3s2LCAyfSAtLVtbdGFibGU6IDB4MDdhYTgxZDBdXX0gLS1bW3RhYmxlOiAweDA4NGViNWUwXV0=;0,0,undo,e3s2LCAyfSAtLVtbdGFibGU6IDB4MDc2Yzc3NDBdXX0gLS1bW3RhYmxlOiAweDA4OWIyZmQ4XV0=;0,0,undo,e3s2LCAyfSAtLVtbdGFibGU6IDB4MDdhMDIyNTBdXX0gLS1bW3RhYmxlOiAweDA3MDkwMGMwXV0=;0,0,undo,e3s2LCAyfSAtLVtbdGFibGU6IDB4MDdkOGU1MjBdXX0gLS1bW3RhYmxlOiAweDA3NWEyOGMwXV0=;0,0,undo,e3s2LCAyfSAtLVtbdGFibGU6IDB4MDhjNjMyNzBdXX0gLS1bW3RhYmxlOiAweDA4YzYzMjQ4XV0=;0,0,undo,e3s2LCAyfSAtLVtbdGFibGU6IDB4MDc1YjIzZjBdXX0gLS1bW3RhYmxlOiAweDA3NWIyM2M4XV0=;0,0,undo,e3s2LCAyfSAtLVtbdGFibGU6IDB4MDc4Y2NhZDBdXX0gLS1bW3RhYmxlOiAweDA3OGNjYWE4XV0=;0,0,undo,e3s2LCAyfSAtLVtbdGFibGU6IDB4MDc0NWQxNjhdXX0gLS1bW3RhYmxlOiAweDA3NDVkMTQwXV0=;0,0,undo,e3s2LCAyfSAtLVtbdGFibGU6IDB4MDczZWRjYThdXX0gLS1bW3RhYmxlOiAweDA3NmRiZjc4XV0=;0,0,undo,e3s2LCAyfSAtLVtbdGFibGU6IDB4MDdlYTljZDhdXX0gLS1bW3RhYmxlOiAweDA2YzY5NDA4XV0=;0,0,undo,e3s2LCAxfSAtLVtbdGFibGU6IDB4MDZlNjllYzhdXX0gLS1bW3RhYmxlOiAweDA2ZTY5ZWEwXV0=;1,0,wasd,e3s2LCAxfSAtLVtbdGFibGU6IDB4MDcyZDQxYThdXX0gLS1bW3RhYmxlOiAweDA4OTIxNmYwXV0=;0,1,wasd,e3s2LCAxfSAtLVtbdGFibGU6IDB4MDhiZTE0ZTBdXX0gLS1bW3RhYmxlOiAweDA4YmUxNGI4XV0=;1,0,wasd,e3s2LCAxfSAtLVtbdGFibGU6IDB4MDZlNjUxMDhdXX0gLS1bW3RhYmxlOiAweDA2ZTY1MGUwXV0=;0,-1,wasd,e3s2LCAxfSAtLVtbdGFibGU6IDB4MDgyN2NmZThdXX0gLS1bW3RhYmxlOiAweDA4MjdjZmMwXV0=;0,-1,wasd,e3s2LCAxfSAtLVtbdGFibGU6IDB4MDkxMDNlZThdXX0gLS1bW3RhYmxlOiAweDA5MTAzZWMwXV0=;0,-1,wasd,e3s2LCAxfSAtLVtbdGFibGU6IDB4MDc4M2E1ZjhdXX0gLS1bW3RhYmxlOiAweDA3MzlkMGY4XV0=;-1,0,wasd,e3s2LCAxfSAtLVtbdGFibGU6IDB4MDc2MTExZjBdXX0gLS1bW3RhYmxlOiAweDA3NjExMWM4XV0=;0,0,undo,e3s2LCAyfSAtLVtbdGFibGU6IDB4MDdiN2Q4YzhdXX0gLS1bW3RhYmxlOiAweDA2ZGZiOWYwXV0=;0,0,undo,e3s2LCAyfSAtLVtbdGFibGU6IDB4MDcwMGYyOTBdXX0gLS1bW3RhYmxlOiAweDA3MDBmMjY4XV0=;0,0,undo,e3s2LCAzfSAtLVtbdGFibGU6IDB4MDgzYjQ2MjBdXX0gLS1bW3RhYmxlOiAweDA4M2I0Nzc4XV0=;0,0,undo,e3s2LCAzfSAtLVtbdGFibGU6IDB4MDdhNDRkNTBdXX0gLS1bW3RhYmxlOiAweDA4ZTU4NmQ4XV0=;0,0,undo,e3s2LCAzfSAtLVtbdGFibGU6IDB4MDcyZjY2MjhdXX0gLS1bW3RhYmxlOiAweDA3MmY2NjAwXV0=;0,0,undo,e3s2LCAzfSAtLVtbdGFibGU6IDB4MDg5Y2E1NzhdXX0gLS1bW3RhYmxlOiAweDA4OWNhNTUwXV0=;0,0,undo,e3s2LCAyfSAtLVtbdGFibGU6IDB4MDgwNzE4MjhdXX0gLS1bW3RhYmxlOiAweDA4NGM3MDE4XV0=;0,-1,wasd,e3szLCAyfSAtLVtbdGFibGU6IDB4MDk5MzA0ODhdXX0gLS1bW3RhYmxlOiAweDA5OTMwNDYwXV0=;1,1,wasd,e3szLCAyfSAtLVtbdGFibGU6IDB4MDdmZDZlYThdXX0gLS1bW3RhYmxlOiAweDA3ZmQ2ZTgwXV0=;-1,0,wasd,e3szLCAyfSAtLVtbdGFibGU6IDB4MDc0M2VjMzhdXX0gLS1bW3RhYmxlOiAweDA3NDNlYzEwXV0=;-1,0,wasd,e3szLCAyfSAtLVtbdGFibGU6IDB4MDc4ZDJjNjhdXX0gLS1bW3RhYmxlOiAweDA3OGQyYzQwXV0=;-1,0,wasd,e3szLCAyfSAtLVtbdGFibGU6IDB4MDg4MTU5MjhdXX0gLS1bW3RhYmxlOiAweDA4ODE1OTAwXV0=;-1,0,wasd,e3s0LCAyfSAtLVtbdGFibGU6IDB4MDgwNGE3ODBdXX0gLS1bW3RhYmxlOiAweDA4MDRhNzU4XV0=;-1,0,wasd,e3s0LCAyfSAtLVtbdGFibGU6IDB4MDdiNjFhMzhdXX0gLS1bW3RhYmxlOiAweDA3YjYxYTEwXV0=;0,-1,wasd,e3s0LCAyfSAtLVtbdGFibGU6IDB4MDhhYWFmNDBdXX0gLS1bW3RhYmxlOiAweDA5OTFkMDYwXV0=;0,-1,wasd,e3s0LCAyfSAtLVtbdGFibGU6IDB4MDc2YzczNjBdXX0gLS1bW3RhYmxlOiAweDA3YzYxNzk4XV0=;0,1,wasd,e3s0LCAyfSAtLVtbdGFibGU6IDB4MDZlMjkwODhdXX0gLS1bW3RhYmxlOiAweDA2ZTI5MDYwXV0=;1,0,wasd,e3s0LCAyfSAtLVtbdGFibGU6IDB4MDczMzVmZDhdXX0gLS1bW3RhYmxlOiAweDA3MzM1ZmIwXV0=;1,0,wasd,e3szLCAzfSAtLVtbdGFibGU6IDB4MDdiODJhODBdXX0gLS1bW3RhYmxlOiAweDA3YjgyYTU4XV0=;1,0,wasd,e3syLCAzfSAtLVtbdGFibGU6IDB4MDdjNjcyOThdXX0gLS1bW3RhYmxlOiAweDA3YzY3MjcwXV0=;1,0,wasd,e3syLCAzfSAtLVtbdGFibGU6IDB4MDhmZWE2ZjhdXX0gLS1bW3RhYmxlOiAweDA4ZmVhNmQwXV0=;0,1,wasd,e3syLCAzfSAtLVtbdGFibGU6IDB4MDk0MGM2NDhdXX0gLS1bW3RhYmxlOiAweDBhN2ZkMWQwXV0=;0,1,wasd,e3syLCAzfSAtLVtbdGFibGU6IDB4MDc5YzU2MThdXX0gLS1bW3RhYmxlOiAweDBhOGQwYzgwXV0=;2,4,clikt,e3syLCA0fSAtLVtbdGFibGU6IDB4MDhmYTliNTBdXX0gLS1bW3RhYmxlOiAweDA4ZmE5YjI4XV0=;2,5,clikt,e3syLCA1fSAtLVtbdGFibGU6IDB4MDdhZDNlYjhdXX0gLS1bW3RhYmxlOiAweDA3YWQzZTkwXV0=;2,6,clikt,e3syLCA2fSAtLVtbdGFibGU6IDB4MDg0NGYwMDhdXX0gLS1bW3RhYmxlOiAweDA4OGQzZWQwXV0=;1,7,clikt,e3sxLCA3fSAtLVtbdGFibGU6IDB4MDc5NmNjNzBdXX0gLS1bW3RhYmxlOiAweDA3OTZjYzQ4XV0=;5,3,clikt,e3s1LCAzfSAtLVtbdGFibGU6IDB4MGJkNzY4NjhdXX0gLS1bW3RhYmxlOiAweDBhN2YzYjk4XV0=;5,4,clikt,e3s1LCA0fSAtLVtbdGFibGU6IDB4MDZkZjgyMDBdXX0gLS1bW3RhYmxlOiAweDA2ZGY4MWQ4XV0=;5,5,clikt,e3s1LCA1fSAtLVtbdGFibGU6IDB4MDdkYTE0NDhdXX0gLS1bW3RhYmxlOiAweDA3ZGExNDIwXV0=;5,6,clikt,e3s1LCA2fSAtLVtbdGFibGU6IDB4MDhkNTI4MzBdXX0gLS1bW3RhYmxlOiAweDA4Y2ZmOTA4XV0=;5,7,clikt,e3s1LCA3fSAtLVtbdGFibGU6IDB4MDZmNDM3NDhdXX0gLS1bW3RhYmxlOiAweDA2ZjQzNzIwXV0=;5,8,clikt,e3s1LCA4fSAtLVtbdGFibGU6IDB4MGE5NjQ5YjhdXX0gLS1bW3RhYmxlOiAweDBhOTY0OTkwXV0=;5,9,clikt,e3s1LCA5fSAtLVtbdGFibGU6IDB4MDgzYjNiNzhdXX0gLS1bW3RhYmxlOiAweDA2ZmFiMGY4XV0=;6,10,clikt,e3s2LCAxMH0gLS1bW3RhYmxlOiAweDA3ZmUzNTc4XV19IC0tW1t0YWJsZTogMHgwN2ZlMzU1MF1d;5,11,clikt,e3s1LCAxMX0gLS1bW3RhYmxlOiAweDA3ZDVlZGEwXV19IC0tW1t0YWJsZTogMHgwN2Q1ZWQ3OF1d;4,11,clikt,e3s0LCAxMX0gLS1bW3RhYmxlOiAweDA3MWM3Y2YwXV19IC0tW1t0YWJsZTogMHgwNzFjN2NjOF1d;3,12,clikt,e3szLCAxMn0gLS1bW3RhYmxlOiAweDA3N2QzMTU4XV19IC0tW1t0YWJsZTogMHgwNzdkMzEzMF1d;2,13,clikt,e3syLCAxM30gLS1bW3RhYmxlOiAweDA3MzEyNGE4XV19IC0tW1t0YWJsZTogMHgwNzMxMjQ4MF1d;1,14,clikt,e3sxLCAxNH0gLS1bW3RhYmxlOiAweDA4MTNlYTY4XV19IC0tW1t0YWJsZTogMHgwODEzZWE0MF1d;0,-1,wasd,e3syLCAxMX0gLS1bW3RhYmxlOiAweDA4ZjZlNmMwXV19IC0tW1t0YWJsZTogMHgwYTkwZDAyMF1d;0,1,wasd,e3s2LCA2fSAtLVtbdGFibGU6IDB4MDgzYWY3NDhdXX0gLS1bW3RhYmxlOiAweDA4M2FmNzIwXV0=;0,1,wasd,e3s3LCA0fSAtLVtbdGFibGU6IDB4MDg5NzdmNjBdXX0gLS1bW3RhYmxlOiAweDA4OTc3ZjM4XV0=;1,0,wasd,e3s3LCAzfSAtLVtbdGFibGU6IDB4MDdjNWFmZjBdXX0gLS1bW3RhYmxlOiAweDA3YzVhZmM4XV0=;1,0,wasd,e3s3LCAyfSAtLVtbdGFibGU6IDB4MDhhMDM0YjBdXX0gLS1bW3RhYmxlOiAweDA4YTAzNDg4XV0=;0,-1,wasd,e3s3LCAyfSAtLVtbdGFibGU6IDB4MDg0NjdlNDhdXX0gLS1bW3RhYmxlOiAweDA4NDY3ZTIwXV0=;0,-1,wasd,e3s3LCAyfSAtLVtbdGFibGU6IDB4MDc3ZWI0MThdXX0gLS1bW3RhYmxlOiAweDA3N2ViM2YwXV0=;0,-1,wasd,e3s3LCAyfSAtLVtbdGFibGU6IDB4MDgxNGRhYjhdXX0gLS1bW3RhYmxlOiAweDA5Y2I0NjMwXV0=;-1,0,wasd,e3s3LCAzfSAtLVtbdGFibGU6IDB4MDZlNzk3NzhdXX0gLS1bW3RhYmxlOiAweDA3NDY1OGY4XV0=;-1,0,wasd,e3s1LCA0fSAtLVtbdGFibGU6IDB4MDgxYjVjODhdXX0gLS1bW3RhYmxlOiAweDA3MGIzODg4XV0=;-1,0,wasd,e3syLCA2fSAtLVtbdGFibGU6IDB4MDcyZmQwMTBdXX0gLS1bW3RhYmxlOiAweDA3MmZjZmU4XV0=;1,8,clikt,e3sxLCA4fSAtLVtbdGFibGU6IDB4MDg5Yzc4ZDhdXX0gLS1bW3RhYmxlOiAweDA4OWM3OGIwXV0=;2,9,clikt,e3syLCA5fSAtLVtbdGFibGU6IDB4MDg5MGE4ODBdXX0gLS1bW3RhYmxlOiAweDBhNDUyNWU4XV0=;2,10,clikt,e3syLCAxMH0gLS1bW3RhYmxlOiAweDA2ZTRlNTAwXV19IC0tW1t0YWJsZTogMHgwNmU0ZTRkOF1d;2,11,clikt,e3syLCAxMX0gLS1bW3RhYmxlOiAweDBhZDY3YTU4XV19IC0tW1t0YWJsZTogMHgwYWQ2N2EzMF1d;2,12,clikt,e3syLCAxMn0gLS1bW3RhYmxlOiAweDA3MzM1NjgwXV19IC0tW1t0YWJsZTogMHgwNzMzNTY1OF1d;2,13,clikt,e3syLCAxM30gLS1bW3RhYmxlOiAweDA4NDFiMDQwXV19IC0tW1t0YWJsZTogMHgwODQxYjAxOF1d;0,0,undo,e3syLCAxM30gLS1bW3RhYmxlOiAweDA3MzcyZDQ4XV19IC0tW1t0YWJsZTogMHgwNzM3MmQyMF1d;3,13,clikt,e3szLCAxM30gLS1bW3RhYmxlOiAweDA3ZDM4Y2Q4XV19IC0tW1t0YWJsZTogMHgwN2QzOGNiMF1d;3,15,clikt,e3szLCAxNX0gLS1bW3RhYmxlOiAweDA4MjdiMDEwXV19IC0tW1t0YWJsZTogMHgwNzJkMTY4MF1d;0,0,undo,e3szLCAxNX0gLS1bW3RhYmxlOiAweDA3NWQ5ZGU4XV19IC0tW1t0YWJsZTogMHgwN2Y4NzcxMF1d;3,14,clikt,e3szLCAxNH0gLS1bW3RhYmxlOiAweDA3ZmI3Y2IwXV19IC0tW1t0YWJsZTogMHgwN2ZiN2M4OF1d;2,15,clikt,e3syLCAxNX0gLS1bW3RhYmxlOiAweDBiN2ZhMDc4XV19IC0tW1t0YWJsZTogMHgwN2Q2MDFiOF1d;0,0,undo,e3syLCAxNX0gLS1bW3RhYmxlOiAweDA3NGU1Y2IwXV19IC0tW1t0YWJsZTogMHgwNzViMDE1MF1d;3,15,clikt,e3szLCAxNX0gLS1bW3RhYmxlOiAweDA3ZmIzN2YwXV19IC0tW1t0YWJsZTogMHgwN2ZiMzdjOF1d;0,0,undo,e3szLCAxNX0gLS1bW3RhYmxlOiAweDA2ZTdjMTI4XV19IC0tW1t0YWJsZTogMHgwNmU3YzEwMF1d;1,13,clikt,e3sxLCAxM30gLS1bW3RhYmxlOiAweDA3MjJmNmI4XV19IC0tW1t0YWJsZTogMHgwN2MwNWYzOF1d;0,0,undo,e3sxLCAxM30gLS1bW3RhYmxlOiAweDA4OWVjNjc4XV19IC0tW1t0YWJsZTogMHgwODllYzY1MF1d;1,14,clikt,e3sxLCAxNH0gLS1bW3RhYmxlOiAweDA3NWQxNTQwXV19IC0tW1t0YWJsZTogMHgwNzVkMTUxOF1d;0,0,undo,e3sxLCAxNH0gLS1bW3RhYmxlOiAweDA3NzI4YzM4XV19IC0tW1t0YWJsZTogMHgwNzcyOGMxMF1d;1,14,clikt,e3sxLCAxNH0gLS1bW3RhYmxlOiAweDA3ZGUyODQwXV19IC0tW1t0YWJsZTogMHgwN2RlMjgxOF1d;0,0,undo,e3sxLCAxNH0gLS1bW3RhYmxlOiAweDBhZGJjYjA4XV19IC0tW1t0YWJsZTogMHgwN2RkNTdlOF1d;0,13,clikt,e3swLCAxM30gLS1bW3RhYmxlOiAweDA5NDJhOTUwXV19IC0tW1t0YWJsZTogMHgwOTQyYTkyOF1d;0,0,undo,e3swLCAxM30gLS1bW3RhYmxlOiAweDA3NTI5NzM4XV19IC0tW1t0YWJsZTogMHgwNzUyOTcxMF1d;2,15,clikt,e3syLCAxNX0gLS1bW3RhYmxlOiAweDA3MjdiMmY4XV19IC0tW1t0YWJsZTogMHgwNzI3YjJkMF1d;0,0,undo,e3syLCAxNX0gLS1bW3RhYmxlOiAweDA4ZGFmMDgwXV19IC0tW1t0YWJsZTogMHgwOGRhZjA1OF1d;0,0,undo,e3szLCAxNH0gLS1bW3RhYmxlOiAweDBiZDZjYTk4XV19IC0tW1t0YWJsZTogMHgwYmQ2Y2E3MF1d;0,0,undo,e3szLCAxM30gLS1bW3RhYmxlOiAweDA3M2ViNzIwXV19IC0tW1t0YWJsZTogMHgwNzNlYjZmOF1d;0,0,undo,e3syLCAxMn0gLS1bW3RhYmxlOiAweDBhN2NmN2EwXV19IC0tW1t0YWJsZTogMHgwYTdjZjc3OF1d;0,0,undo,e3syLCAxMX0gLS1bW3RhYmxlOiAweDA3ZTdiYjE4XV19IC0tW1t0YWJsZTogMHgwODcxM2Y1MF1d;0,0,undo,e3syLCAxMH0gLS1bW3RhYmxlOiAweDA3YTI4NGQwXV19IC0tW1t0YWJsZTogMHgwODc3Zjc4OF1d;0,0,undo,e3syLCA5fSAtLVtbdGFibGU6IDB4MDdmMmVhNDBdXX0gLS1bW3RhYmxlOiAweDA3ZjJlYTE4XV0=;0,0,undo,e3sxLCA4fSAtLVtbdGFibGU6IDB4MDdiNmI4NjBdXX0gLS1bW3RhYmxlOiAweDA3YjZiODM4XV0=;0,0,undo,e3sxLCA4fSAtLVtbdGFibGU6IDB4MDhjZDA2NThdXX0gLS1bW3RhYmxlOiAweDA5MTA3MzkwXV0=;0,0,undo,e3sxLCA4fSAtLVtbdGFibGU6IDB4MDgzYjE1OTBdXX0gLS1bW3RhYmxlOiAweDA4M2IxNTY4XV0=;0,0,undo,e3sxLCA4fSAtLVtbdGFibGU6IDB4MDc0ZTYyMjBdXX0gLS1bW3RhYmxlOiAweDA3NGU2MWY4XV0=;0,0,undo,e3sxLCA4fSAtLVtbdGFibGU6IDB4MDdjOWEzMTBdXX0gLS1bW3RhYmxlOiAweDA3YzlhMmU4XV0=;0,0,undo,e3sxLCA4fSAtLVtbdGFibGU6IDB4MDdlOWVhNDBdXX0gLS1bW3RhYmxlOiAweDA3ZTllYTE4XV0=;0,0,undo,e3sxLCA4fSAtLVtbdGFibGU6IDB4MGE5MTZhMzhdXX0gLS1bW3RhYmxlOiAweDBhOTE2YTEwXV0=;0,0,undo,e3sxLCA4fSAtLVtbdGFibGU6IDB4MDdhNGJjZThdXX0gLS1bW3RhYmxlOiAweDA3YTRiY2MwXV0=;0,0,undo,e3sxLCA4fSAtLVtbdGFibGU6IDB4MGE5ZGUxZjhdXX0gLS1bW3RhYmxlOiAweDA3MjY1NDEwXV0=;0,0,undo,e3sxLCA4fSAtLVtbdGFibGU6IDB4MDdjNDE5OThdXX0gLS1bW3RhYmxlOiAweDA3M2ExZWEwXV0=;0,0,undo,e3sxLCA4fSAtLVtbdGFibGU6IDB4MDZkMzk2MThdXX0gLS1bW3RhYmxlOiAweDA2ZDM5NWYwXV0=;0,0,undo,e3sxLCA4fSAtLVtbdGFibGU6IDB4MDhjZmYxMzBdXX0gLS1bW3RhYmxlOiAweDA4Y2ZmMTA4XV0=;0,0,undo,e3sxLCAxNH0gLS1bW3RhYmxlOiAweDA4ZmNkOWI4XV19IC0tW1t0YWJsZTogMHgwOGZjZDk5MF1d;0,0,undo,e3syLCAxM30gLS1bW3RhYmxlOiAweDBhOWVhMDc4XV19IC0tW1t0YWJsZTogMHgwYTllYTA1MF1d;0,0,undo,e3szLCAxMn0gLS1bW3RhYmxlOiAweDA3MDkzNmUwXV19IC0tW1t0YWJsZTogMHgwNzA5MzZiOF1d;0,0,undo,e3s0LCAxMX0gLS1bW3RhYmxlOiAweDA3MzE4ODEwXV19IC0tW1t0YWJsZTogMHgwNzMxODdlOF1d;0,0,undo,e3s1LCAxMX0gLS1bW3RhYmxlOiAweDBiN2YxYzg4XV19IC0tW1t0YWJsZTogMHgwYjdmMWM2MF1d;0,0,undo,e3s2LCAxMH0gLS1bW3RhYmxlOiAweDA3ZDM2NzM4XV19IC0tW1t0YWJsZTogMHgwN2QzNjcxMF1d;0,0,undo,e3s1LCA5fSAtLVtbdGFibGU6IDB4MDc3N2QwOThdXX0gLS1bW3RhYmxlOiAweDA3NzdkMDcwXV0=;0,0,undo,e3s1LCA4fSAtLVtbdGFibGU6IDB4MDczMThmOThdXX0gLS1bW3RhYmxlOiAweDA4NGRkM2U4XV0=;0,0,undo,e3s1LCA3fSAtLVtbdGFibGU6IDB4MDczZjM1NjBdXX0gLS1bW3RhYmxlOiAweDA3OWIxZWQwXV0=;0,0,undo,e3s1LCA2fSAtLVtbdGFibGU6IDB4MDZlMjA5NDhdXX0gLS1bW3RhYmxlOiAweDA2ZTIwOTIwXV0=;0,0,undo,e3s1LCA1fSAtLVtbdGFibGU6IDB4MDc0YmJkZjhdXX0gLS1bW3RhYmxlOiAweDA3NGJiZGQwXV0=;0,0,undo,e3s1LCA0fSAtLVtbdGFibGU6IDB4MDc4MzQ3YzhdXX0gLS1bW3RhYmxlOiAweDA3ODM0N2EwXV0=;0,0,undo,e3s1LCAzfSAtLVtbdGFibGU6IDB4MDc1NjI5NDBdXX0gLS1bW3RhYmxlOiAweDA3NTYyOTE4XV0=;0,0,undo,e3sxLCA3fSAtLVtbdGFibGU6IDB4MDk2OWJmMzBdXX0gLS1bW3RhYmxlOiAweDA5NjliZjA4XV0=;0,0,undo,e3syLCA2fSAtLVtbdGFibGU6IDB4MGE4YzkwZjBdXX0gLS1bW3RhYmxlOiAweDBhOGM5MGM4XV0=;0,0,undo,e3syLCA1fSAtLVtbdGFibGU6IDB4MDgxNDMzNDhdXX0gLS1bW3RhYmxlOiAweDA4MTQzMzIwXV0=;0,0,undo,e3syLCA0fSAtLVtbdGFibGU6IDB4MDc4MTcxNDhdXX0gLS1bW3RhYmxlOiAweDA3ODE3MTIwXV0=;0,0,undo,e3syLCA0fSAtLVtbdGFibGU6IDB4MDc0NzRmODhdXX0gLS1bW3RhYmxlOiAweDA3NDc0ZjYwXV0=;0,0,undo,e3syLCA0fSAtLVtbdGFibGU6IDB4MDc4NzRlYThdXX0gLS1bW3RhYmxlOiAweDA5Njg2ZDAwXV0=;0,0,undo,e3syLCA0fSAtLVtbdGFibGU6IDB4MDZjYTZhNDhdXX0gLS1bW3RhYmxlOiAweDA2Y2E2YTIwXV0=;0,0,undo,e3syLCA0fSAtLVtbdGFibGU6IDB4MDgyYmY5NTBdXX0gLS1bW3RhYmxlOiAweDA4MmJmOTI4XV0=;0,0,undo,e3syLCA0fSAtLVtbdGFibGU6IDB4MDhiMGIyYjBdXX0gLS1bW3RhYmxlOiAweDA4YjBiMjg4XV0=;0,0,undo,e3syLCA0fSAtLVtbdGFibGU6IDB4MDc0MWU5ODBdXX0gLS1bW3RhYmxlOiAweDA3NDFlOTU4XV0=;0,0,undo,e3syLCA0fSAtLVtbdGFibGU6IDB4MDc0ODAzNzBdXX0gLS1bW3RhYmxlOiAweDA3NDgwMzQ4XV0=;0,0,undo,e3syLCA0fSAtLVtbdGFibGU6IDB4MGJkYTUxYTBdXX0gLS1bW3RhYmxlOiAweDBiZGE1MTc4XV0=;0,0,undo,e3syLCA0fSAtLVtbdGFibGU6IDB4MDcwMzk2OThdXX0gLS1bW3RhYmxlOiAweDA3MDM5NjcwXV0=;0,0,undo,e3syLCA0fSAtLVtbdGFibGU6IDB4MDhkYWJhZjBdXX0gLS1bW3RhYmxlOiAweDA4ZGFiYWM4XV0=;0,0,undo,e3syLCA0fSAtLVtbdGFibGU6IDB4MDZmZDMyMThdXX0gLS1bW3RhYmxlOiAweDA2ZmQzMWYwXV0=;0,0,undo,e3syLCA0fSAtLVtbdGFibGU6IDB4MDc2MjcyMzBdXX0gLS1bW3RhYmxlOiAweDA3NjI3MjA4XV0=;0,0,undo,e3syLCA0fSAtLVtbdGFibGU6IDB4MDgwNDMzYTBdXX0gLS1bW3RhYmxlOiAweDA3ZDg3MWEwXV0=;0,0,undo,e3syLCA0fSAtLVtbdGFibGU6IDB4MDhhY2E1YzBdXX0gLS1bW3RhYmxlOiAweDA2ZWQxYjgwXV0=;0,0,undo,e3syLCA0fSAtLVtbdGFibGU6IDB4MDgzZTk2YjBdXX0gLS1bW3RhYmxlOiAweDA4M2U5Njg4XV0=;0,0,undo,e3syLCA0fSAtLVtbdGFibGU6IDB4MDc2YzU3MzBdXX0gLS1bW3RhYmxlOiAweDA3NmM1NzA4XV0=;0,1,wasd,e3syLCA0fSAtLVtbdGFibGU6IDB4MDhkNDM5ODhdXX0gLS1bW3RhYmxlOiAweDA4ZDQzOTYwXV0=;0,1,wasd,e3syLCA0fSAtLVtbdGFibGU6IDB4MDc0ZDM4MjBdXX0gLS1bW3RhYmxlOiAweDA3NGQzN2Y4XV0=;1,0,wasd,e3syLCA0fSAtLVtbdGFibGU6IDB4MDc3ZDAwMjBdXX0gLS1bW3RhYmxlOiAweDA3N2NmZmY4XV0=;0,-1,wasd,e3syLCA0fSAtLVtbdGFibGU6IDB4MDdkMGE2OTBdXX0gLS1bW3RhYmxlOiAweDA3ZDBhNjY4XV0=;1,0,wasd,e3syLCA0fSAtLVtbdGFibGU6IDB4MDg5ZmNlMjBdXX0gLS1bW3RhYmxlOiAweDA3MWYzMDE4XV0=;-1,-1,wasd,e3syLCA0fSAtLVtbdGFibGU6IDB4MDhiMjkzOTBdXX0gLS1bW3RhYmxlOiAweDA4YjI5MzY4XV0=;-1,0,wasd,e3syLCA0fSAtLVtbdGFibGU6IDB4MGE3OTdhMTBdXX0gLS1bW3RhYmxlOiAweDBhNzk3OWU4XV0=;-1,0,wasd,e3syLCA0fSAtLVtbdGFibGU6IDB4MDdmOGM5NzhdXX0gLS1bW3RhYmxlOiAweDA3ZjhjOTUwXV0=;-1,0,wasd,e3syLCA0fSAtLVtbdGFibGU6IDB4MDdhZTc1MzhdXX0gLS1bW3RhYmxlOiAweDA3YWU3NTEwXV0=;-1,0,wasd,e3szLCAzfSAtLVtbdGFibGU6IDB4MDZmNGVhMjhdXX0gLS1bW3RhYmxlOiAweDA2ZjRlYTAwXV0=;-1,0,wasd,e3s0LCAzfSAtLVtbdGFibGU6IDB4MDk2NTYzYTBdXX0gLS1bW3RhYmxlOiAweDA4YWNhNDYwXV0=;0,-1,wasd,e3s0LCAzfSAtLVtbdGFibGU6IDB4MDkxNTVhMzBdXX0gLS1bW3RhYmxlOiAweDA2ZTgzMjU4XV0=;2,4,clikt,e3syLCA0fSAtLVtbdGFibGU6IDB4MDdjMDYzYzBdXX0gLS1bW3RhYmxlOiAweDA3YzA2Mzk4XV0=;2,5,clikt,e3syLCA1fSAtLVtbdGFibGU6IDB4MDhiMjk2NDhdXX0gLS1bW3RhYmxlOiAweDA4YjI5NjIwXV0=;2,6,clikt,e3syLCA2fSAtLVtbdGFibGU6IDB4MDdjZWFlNzBdXX0gLS1bW3RhYmxlOiAweDA3Y2VhZTQ4XV0=;2,7,clikt,e3syLCA3fSAtLVtbdGFibGU6IDB4MDc4NDI5OThdXX0gLS1bW3RhYmxlOiAweDA4NzFiYjMwXV0=;2,8,clikt,e3syLCA4fSAtLVtbdGFibGU6IDB4MDdjOWFlNThdXX0gLS1bW3RhYmxlOiAweDA3YzlhZTMwXV0=;2,9,clikt,e3syLCA5fSAtLVtbdGFibGU6IDB4MDg0NzhjYjhdXX0gLS1bW3RhYmxlOiAweDA4NDc4YzkwXV0=;1,9,clikt,e3sxLCA5fSAtLVtbdGFibGU6IDB4MDc3YTE5MzBdXX0gLS1bW3RhYmxlOiAweDA3N2ExOTA4XV0=;1,10,clikt,e3sxLCAxMH0gLS1bW3RhYmxlOiAweDA4NGYyMGMwXV19IC0tW1t0YWJsZTogMHgwODRmMjA5OF1d;1,10,clikt,e3sxLCAxMH0gLS1bW3RhYmxlOiAweDA4OWFjMzQ4XV19IC0tW1t0YWJsZTogMHgwNzU5NDhkOF1d;0,0,undo,e3sxLCAxMH0gLS1bW3RhYmxlOiAweDA4ZmIyODkwXV19IC0tW1t0YWJsZTogMHgwOGZiMjg2OF1d;1,11,clikt,e3sxLCAxMX0gLS1bW3RhYmxlOiAweDBhNTAyNTQwXV19IC0tW1t0YWJsZTogMHgwYTUwMjUxOF1d;1,12,clikt,e3sxLCAxMn0gLS1bW3RhYmxlOiAweDA3YmE5MjU4XV19IC0tW1t0YWJsZTogMHgwN2JhOTIzMF1d;1,13,clikt,e3sxLCAxM30gLS1bW3RhYmxlOiAweDA3ZDViOTQwXV19IC0tW1t0YWJsZTogMHgwN2Q1YjkxOF1d;1,13,clikt,e3sxLCAxM30gLS1bW3RhYmxlOiAweDA5OTFlYzQ4XV19IC0tW1t0YWJsZTogMHgwOTkxZWMyMF1d;0,0,undo,e3sxLCAxM30gLS1bW3RhYmxlOiAweDA3NWQyZjc4XV19IC0tW1t0YWJsZTogMHgwNzVkMmY1MF1d;1,14,clikt,e3sxLCAxNH0gLS1bW3RhYmxlOiAweDA4M2E1NjAwXV19IC0tW1t0YWJsZTogMHgwODNhNTVkOF1d;0,-1,wasd,e3sxLCAxMn0gLS1bW3RhYmxlOiAweDA4YWI2ZWE4XV19IC0tW1t0YWJsZTogMHgwOGFiNmU4MF1d;1,0,wasd,e3syLCA4fSAtLVtbdGFibGU6IDB4MDc2NDAyMDhdXX0gLS1bW3RhYmxlOiAweDA3NjQwMWUwXV0=;1,0,wasd,e3s1LCA1fSAtLVtbdGFibGU6IDB4MDg4OWFmMDBdXX0gLS1bW3RhYmxlOiAweDA4ODlhZWQ4XV0=;0,1,wasd,e3s2LCA1fSAtLVtbdGFibGU6IDB4MDg4ZDYwMzBdXX0gLS1bW3RhYmxlOiAweDA4OGQ2MDA4XV0=;1,0,wasd,e3s2LCA1fSAtLVtbdGFibGU6IDB4MDdhOGMyZThdXX0gLS1bW3RhYmxlOiAweDA3YThjMmMwXV0=;1,0,wasd,e3s2LCA0fSAtLVtbdGFibGU6IDB4MDg1NmFkZjhdXX0gLS1bW3RhYmxlOiAweDA4NTZhZGQwXV0=;1,0,wasd,e3s2LCAzfSAtLVtbdGFibGU6IDB4MDdhZmQyNzBdXX0gLS1bW3RhYmxlOiAweDA3YWZkMjQ4XV0=;0,1,wasd,e3s2LCAzfSAtLVtbdGFibGU6IDB4MDcyYzI1YjBdXX0gLS1bW3RhYmxlOiAweDA4MDMxMjU4XV0=;1,0,wasd,e3s2LCAzfSAtLVtbdGFibGU6IDB4MDcwNjEzYjBdXX0gLS1bW3RhYmxlOiAweDA3MDYxMzg4XV0=;0,-1,wasd,e3s2LCAzfSAtLVtbdGFibGU6IDB4MGE4ZDE4NjhdXX0gLS1bW3RhYmxlOiAweDBhOGQxODQwXV0=;5,3,clikt,e3s1LCAzfSAtLVtbdGFibGU6IDB4MDdhZWI5ZThdXX0gLS1bW3RhYmxlOiAweDA3YWViOWMwXV0=;5,4,clikt,e3s1LCA0fSAtLVtbdGFibGU6IDB4MDc1MzNiMzBdXX0gLS1bW3RhYmxlOiAweDA4MDAxYmE4XV0=;5,5,clikt,e3s1LCA1fSAtLVtbdGFibGU6IDB4MGI3ZjlhNjhdXX0gLS1bW3RhYmxlOiAweDBiN2Y5YTQwXV0=;5,6,clikt,e3s1LCA2fSAtLVtbdGFibGU6IDB4MDc3OGQwNjBdXX0gLS1bW3RhYmxlOiAweDA3NzhkMDM4XV0=;5,8,clikt,e3s1LCA4fSAtLVtbdGFibGU6IDB4MDg0Nzg5MTBdXX0gLS1bW3RhYmxlOiAweDA3YmJkMDA4XV0=;0,0,undo,e3s1LCA4fSAtLVtbdGFibGU6IDB4MDg5ZjY3MjBdXX0gLS1bW3RhYmxlOiAweDA4OWY2NmY4XV0=;5,7,clikt,e3s1LCA3fSAtLVtbdGFibGU6IDB4MGJkNjg2ZDhdXX0gLS1bW3RhYmxlOiAweDBiZDY4NmIwXV0=;5,8,clikt,e3s1LCA4fSAtLVtbdGFibGU6IDB4MDc4YjMzNDBdXX0gLS1bW3RhYmxlOiAweDA4MDcxYjMwXV0=;4,9,clikt,e3s0LCA5fSAtLVtbdGFibGU6IDB4MDdkZmYzOTBdXX0gLS1bW3RhYmxlOiAweDA3ZGZmMzY4XV0=;-1,1,wasd,e3s1LCA4fSAtLVtbdGFibGU6IDB4MDk3MDRlMzBdXX0gLS1bW3RhYmxlOiAweDA5NzA0ZTA4XV0=;4,10,clikt,e3s0LCAxMH0gLS1bW3RhYmxlOiAweDA3ZWFkNmEwXV19IC0tW1t0YWJsZTogMHgwN2VhZDY3OF1d;4,11,clikt,e3s0LCAxMX0gLS1bW3RhYmxlOiAweDA4MjFkNWYwXV19IC0tW1t0YWJsZTogMHgwODIxZDVjOF1d;4,12,clikt,e3s0LCAxMn0gLS1bW3RhYmxlOiAweDBiMTgyMDA4XV19IC0tW1t0YWJsZTogMHgwNzBjZTRmOF1d;4,13,clikt,e3s0LCAxM30gLS1bW3RhYmxlOiAweDA4YzNiOTA4XV19IC0tW1t0YWJsZTogMHgwOGMzYjhlMF1d;4,14,clikt,e3s0LCAxNH0gLS1bW3RhYmxlOiAweDA4NmJjNTQwXV19IC0tW1t0YWJsZTogMHgwNzEyNDUwMF1d;3,15,clikt,e3szLCAxNX0gLS1bW3RhYmxlOiAweDA3ZDA4YmQ4XV19IC0tW1t0YWJsZTogMHgwODBmZDg0MF1d;2,15,clikt,e3syLCAxNX0gLS1bW3RhYmxlOiAweDA3MzlkNTIwXV19IC0tW1t0YWJsZTogMHgwNzM5ZDRmOF1d;0,0,undo,e3syLCAxNX0gLS1bW3RhYmxlOiAweDA3YmY4OTIwXV19IC0tW1t0YWJsZTogMHgwNmU0OTQ3MF1d;2,15,clikt,e3syLCAxNX0gLS1bW3RhYmxlOiAweDA3ODkyNTM4XV19IC0tW1t0YWJsZTogMHgwNzg5MjUxMF1d;3,15,clikt,e3szLCAxNX0gLS1bW3RhYmxlOiAweDA3OGEwMjI4XV0sIHsxLCAxNH0gLS1bW3RhYmxlOiAweDA3OGEwMjg4XV19IC0tW1t0YWJsZTogMHgwNzhhMDIwMF1d;0,0,undo,e3sxLCAxNH0gLS1bW3RhYmxlOiAweDA3NzZlZGU4XV0sIHszLCAxNX0gLS1bW3RhYmxlOiAweDA3MGIyYzA4XV19IC0tW1t0YWJsZTogMHgwNzc2ZWY0MF1d;-1,13,clikt,e3stMSwgMTN9IC0tW1t0YWJsZTogMHgwNzg1MDBiOF1dLCB7MSwgMTR9IC0tW1t0YWJsZTogMHgwNzg1MDExOF1dfSAtLVtbdGFibGU6IDB4MDc4NTAwOTBdXQ==;-1,13,clikt,e3stMSwgMTN9IC0tW1t0YWJsZTogMHgwODQzMGJiOF1dLCB7MSwgMTR9IC0tW1t0YWJsZTogMHgwODQzMGJmOF1dfSAtLVtbdGFibGU6IDB4MDg0MzBiOTBdXQ==;0,0,undo,e3stMSwgMTN9IC0tW1t0YWJsZTogMHgwYTdiMjMyOF1dLCB7MSwgMTR9IC0tW1t0YWJsZTogMHgwYTdiMjM2OF1dfSAtLVtbdGFibGU6IDB4MGE3YjIzMDBdXQ==;0,0,undo,e3syLCAxNX0gLS1bW3RhYmxlOiAweDA3MmZlYjQwXV19IC0tW1t0YWJsZTogMHgwNzJmZWIxOF1d;0,0,undo,e3szLCAxNX0gLS1bW3RhYmxlOiAweDBiMjA4MmQ4XV19IC0tW1t0YWJsZTogMHgwNzRjMDVjOF1d;0,0,undo,e3s0LCAxNH0gLS1bW3RhYmxlOiAweDA4MzE2OGYwXV19IC0tW1t0YWJsZTogMHgwODMxNjhjOF1d;4,14,clikt,e3s0LCAxNH0gLS1bW3RhYmxlOiAweDA3OGRiMmIwXV19IC0tW1t0YWJsZTogMHgwNzhkYjI4OF1d;3,15,clikt,e3szLCAxNX0gLS1bW3RhYmxlOiAweDA4NGU4MjAwXV19IC0tW1t0YWJsZTogMHgwODRlODFkOF1d;2,15,clikt,e3syLCAxNX0gLS1bW3RhYmxlOiAweDA4ZjZjMTg4XV19IC0tW1t0YWJsZTogMHgwN2UxZmFlOF1d;0,0,undo,e3syLCAxNX0gLS1bW3RhYmxlOiAweDA3MDlhNmY4XV19IC0tW1t0YWJsZTogMHgwNzVkMTZlOF1d;2,15,clikt,e3syLCAxNX0gLS1bW3RhYmxlOiAweDBhZDBkNDU4XV19IC0tW1t0YWJsZTogMHgwYWQwZDQzMF1d;0,0,undo,e3syLCAxNX0gLS1bW3RhYmxlOiAweDA4MGVjZGUwXV19IC0tW1t0YWJsZTogMHgwODYyZDVmOF1d;2,15,clikt,e3syLCAxNX0gLS1bW3RhYmxlOiAweDA3ZTMxMjk4XV19IC0tW1t0YWJsZTogMHgwN2UzMTI3MF1d;0,0,undo,e3syLCAxNX0gLS1bW3RhYmxlOiAweDA4NDA0Mzk4XV19IC0tW1t0YWJsZTogMHgwODQwNDM3MF1d;2,15,clikt,e3syLCAxNX0gLS1bW3RhYmxlOiAweDA3MDYxNzE4XV19IC0tW1t0YWJsZTogMHgwNzA2MTZmMF1d;0,0,undo,e3syLCAxNX0gLS1bW3RhYmxlOiAweDA3ZjViZmMwXV19IC0tW1t0YWJsZTogMHgwN2Y1YmY5OF1d;1,13,clikt,e3sxLCAxM30gLS1bW3RhYmxlOiAweDA2ZjNhZDYwXV19IC0tW1t0YWJsZTogMHgwNmYzYWQzOF1d;0,0,undo,e3sxLCAxM30gLS1bW3RhYmxlOiAweDA4YmJlNzU4XV19IC0tW1t0YWJsZTogMHgwOGJiZTczMF1d;1,14,clikt,e3sxLCAxNH0gLS1bW3RhYmxlOiAweDA3YjY1YzYwXV19IC0tW1t0YWJsZTogMHgwN2I2NWMzOF1d;0,0,undo,e3sxLCAxNH0gLS1bW3RhYmxlOiAweDA3MjBkZjQwXV19IC0tW1t0YWJsZTogMHgwNzBhMzU0MF1d;1,14,clikt,e3sxLCAxNH0gLS1bW3RhYmxlOiAweDA3NWY4Mzc4XV19IC0tW1t0YWJsZTogMHgwNzE2YzM5OF1d;0,1,wasd,e30gLS1bW3RhYmxlOiAweDA2ZmJiMGI4XV0=;0,1,wasd,e30gLS1bW3RhYmxlOiAweDA4MjFmN2Q4XV0=;0,1,wasd,e30gLS1bW3RhYmxlOiAweDA3Y2NiODc4XV0=;0,1,wasd,e30gLS1bW3RhYmxlOiAweDA2Y2QzNmYwXV0=;0,1,wasd,e30gLS1bW3RhYmxlOiAweDA3M2U0MzIwXV0=;0,1,wasd,e30gLS1bW3RhYmxlOiAweDA3ZDIyMDE4XV0=;0,1,wasd,e30gLS1bW3RhYmxlOiAweDA3NWUyYzIwXV0=;0,1,wasd,e30gLS1bW3RhYmxlOiAweDBhZGFkMDg4XV0=;0,1,wasd,e30gLS1bW3RhYmxlOiAweDA3Yjg3ZDc4XV0=;-1,1,wasd,e30gLS1bW3RhYmxlOiAweDA3NWE3ZTY4XV0=;0,1,wasd,e30gLS1bW3RhYmxlOiAweDA4ZGRkM2E4XV0=;"
  },
  {
    "path": "officialworlds/solo levels/hot glue gun.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"hot glue gun\",\"map\":\"eJydmu9uozoQxV+lyoeru1JUYf6zqzxLlSY0NyoXVglRu6r67gueccBkjA98q9TfgTA+HmbGHJunqjnsq6eX3ddXe67K3eZjX222n7tgez7u1PZP98f1d3k476vd1/f2eL7s1PdWQMMOVRgadWiIoXGHRlM0E9GkQ2MMTTs0wdCsQ1MMzTs0w9CiQ3MMVUHHFiDbr5d6WDAHrFfsYckccL9m6mHRHHC/agpcNtWvm5pZuPazfTk0l/K97TVKa9J5X0qSDPInsfm8QfvLt+Xn6OKFaNPtoamay27TXPb1aWPJX8u7OAxE486I3y7n4+k4XEBJdpYfLQwlPzvYSHKpHYa3qnkbBLFkVeV88ER0q83fBjwV/er47Zno1wG2f3guGlY51sC6UQHY15gl1Nkv8JvXFijIusSGuHVJEC2xrnWrGLIdsQlkO2LTedtZbDbvOIvNPXaz4AJLjhqOAyw5Eqxkr8lwCLiLtlSk+cjvrTEeQ84iNvE7a3zpdGlK7P5fHtpzUw/XyMTX5Lw3SQmuNcHIFj5Vt1Kn3FjXGsAerptTMwiwPUwssId/X5q2PBwGzaJt3F/hn0EbrwgzKX0Z3IJTT5gZTjScQZUnsTkUW2ILqPbUbBpIMXWwSnqJ22vW8e+DIFwRdFJGWNAJjrE8RnDieWlasG857SIs1RpxVedcat5VJBcX2l9mkVhceU/AtTILMONmGsZaJmKxnolYrGkiVuyaHKzYNjlYsW8a2EPVvA+w2DndS6rDn3Jf1xuHVmylQK3YW2HaXOy1QK3ce4FiuRcDxXJvBorlXs0pHvshR1o3FuRaAPRtr/vXgceaNmI9TZvFFvOmNxHScBFIhoo8ASKpEgMkFU2F5kO0fCM8gsJDbDwfHvPIBCeLHtnWpnLz74kXaTMgXqauUjRJyf0hu43wAhsD8OglgDxlaE8NYMJkcLECcAaZ94URR8sSxuSXxp44G5ymG0ECvdMMnWIhZjrDQsx0Dr3ZDC1uc6l5YoGetT2+4Bw1wn09WazW5Akjlhs9x8wpJA3Q7P23Ly2Jp+HTNZt5LJZ4+j7zHEyLbZ9cBxtJtiTok9vl87OC6/vNwovZ9/trVd5cd9JTOt+wis3ECrXstTy5n88QBo8I93hhQmN9v6FBBzDtccCEzqCpvaHlutBFy5Wgg458CzzBlWca+TDSMMJQHhZ5/M7iCEgTH/tz+/z8rGUxyWJ/prgPRGOaKYNZnG8AWoTp1N8s81ZiwXyKmO4knfiatrUukS9qRyY/uJj33T3NEB6LFaMjzUy1akGKmmrD+RZEzm+sdRQUjzMjI4hX+ZjFcufgeBElpAGah+u+vo4l4KEP01gHYWjUE4QnqzzB2lWeYO0qT7AW8UTdXD/O/49V64zBYsQYnBtSUgC26HLbaSwBbcE0aAumxaNAF52KZ39OWoGWY1xsMHy2YW20xnKsjddYjrWJx3ITXG42nTjSX96fJiMN0GCyIVngaTF7wc9/R4IM7DKZVpjBmA5ByzAuH/l6lp218ukvpnUcJMxbhrXouTDjmccy0xKKZTmemHJSFH7j/PwxEujpI/AcTCvMNUyHmGuYjrC0xHQMeoxxcbjkWOp75mZtKnrMeatsja1Ym4O2YrwAbGVmOCQp5HOFiaT/ib2mIA12vGBo7IDB0J4jBmsEwRL5pGGuMJ9eQT5/8NXlLE5B5zEunif7MhRr8zXZjbXFGhtqbahHkIgNGfd9XTBKU6wABw0hfeUXYIMGQwPzJqoHRxqxl5Smdkaw+FOD+xcwfAF5COH5Boa12EjC0NhIgmn50z8n7TiAcuGOIycX7jhkcuGOYyWhCjIK12HS969L2d4u9dPLr7I+/gWXzBNm\"}"
  },
  {
    "path": "officialworlds/solo levels/hot glue gun.replay",
    "content": "-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,0,space;0,0,undo;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;-1,-1,wasd;0,0,undo;0,-1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;-1,-1,wasd;0,0,undo;1,0,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;-1,-1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,-1,wasd;0,1,wasd;0,0,undo;0,0,undo;-1,0,wasd;0,-1,wasd;-1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;0,1,wasd;0,0,undo;1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,-1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;-1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;1,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,0,space;1,0,wasd;0,1,wasd;-1,0,wasd;0,0,undo;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,-1,udlr;0,0,undo;0,-1,wasd;0,0,undo;0,-1,wasd;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;"
  },
  {
    "path": "officialworlds/solo levels/impassable river.bab",
    "content": "{\"width\":14,\"version\":5,\"extra\":false,\"map\":\"eJyV1M1ugzAMB/BXqXqbxAESPlflWRCUaELKyERhpUK8+4JTCJuq2Dtw+xn+sR0afVL6WqlTKeZ5aJUU53s19OdgElEYtI2Igod5bl/y2lZKzEvQtL2IluAlZgYzKuYGcyqODY6pODE48WEFdqUpdjygbKWZnw7TUG4xIEVufOj3tdyDFLju9O3efu55zFmJH7CDRCYJ+ce+cQXoNF0bI06yNndMGo/NkGBLcsiQ+q3rRwI880cGrsfJFeT+HYSCqnbZC4J382Ghvy0rH51ep5n6tfyW/SPa+8MYNY/lHM/T6Q/tCmJ/pOMOMNpcrU2xu3+w2T8y5IQFsPM0670WFNjLnz8haAdHrucfTf3PWs2wK/RLc3xXaq2gMxkUxITOSMcTfLHe3yAPNJ4jF3VLnwLO/Ed9Tsja3P/i7ZAWF687vlx6OYx9dyovsmt+ADtCYG0=\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"impassable river\",\"height\":7,\"author\":\"Slabdrill\"}"
  },
  {
    "path": "officialworlds/solo levels/impassable river.replay",
    "content": "-1,0,udlr;-1,-1,udlr;0,-1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,-1,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;1,1,udlr;-1,0,udlr;-1,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;1,0,udlr;1,1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,0,undo;0,0,undo;1,-1,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;1,0,udlr;0,1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,1,udlr;0,-1,udlr;-1,1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;"
  },
  {
    "path": "officialworlds/solo levels/infinite ice.bab",
    "content": "{\"width\":11,\"version\":5,\"extra\":false,\"map\":\"eJyNld1qg0AQRl9FctWCF66ufw37LGJUgrC4YgxNEN+9zkxRUxpnBMGLMx/f7tG1dp51VWm9wkzT2NrGnL5Le/IfJvDb2ij/uTzc+qZqS2um2a/bwajZ/wcNFzR7j46PsVhuwBXgkSgZUX2MQnLlrK3Xgfi4yj474VtfGqBDoFNRaUQzvvQuOBc1RlQFfOWrK4cO9yPCEZlGYsNj9tbbdhyHjQeR+rhOWz2XaxvRotUSy7iEeOtcDwMaBxLRWollfEL418eGg9PwGH+Jl1lFNhRYpfclRlxmlFjG6N/oSNSaWMYkbuAn4Anisag1sYxHiO7c1W0Dqag3sZlgt8sL8Cnyuag4slFwzO5zI8W/UbsPjmaYg/alC+NyU58hzpy0v9HEMi7XE5losBnLi8hcEitweQc6R1pmElnNmFztbBNK1JtYmUeFP1ct/F0S/OarnM9DM96HzivOTVf/ABGzqjc=\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"infinite ice\",\"height\":9,\"author\":\"Slabdrill\"}"
  },
  {
    "path": "officialworlds/solo levels/infinite ice.replay",
    "content": "-1,0,udlr;0,-1,udlr;-1,0,udlr;-1,1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;0,1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,-1,udlr;1,1,udlr;-1,-1,udlr;-1,0,udlr;-1,1,udlr;1,0,udlr;-1,-1,udlr;1,1,udlr;1,-1,udlr;1,0,udlr;1,1,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;1,0,udlr;0,-1,udlr;0,1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;-1,-1,udlr;1,1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;-1,0,udlr;0,-1,udlr;0,1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,1,udlr;1,0,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,1,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;-1,1,udlr;0,-1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,0,undo;0,-1,udlr;0,0,undo;0,0,undo;-1,-1,udlr;-1,0,udlr;1,1,udlr;0,1,udlr;1,1,udlr;-1,1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;-1,-1,udlr;1,-1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;0,0,undo;-1,0,udlr;0,0,undo;1,0,udlr;0,0,undo;-1,0,udlr;0,0,undo;0,1,udlr;-1,0,udlr;0,0,undo;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;0,-1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,0,udlr;0,1,udlr;1,1,udlr;-1,1,udlr;0,-1,udlr;0,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,-1,udlr;0,-1,udlr;1,-1,udlr;-1,-1,udlr;0,1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,-1,udlr;0,1,udlr;1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,0,undo;0,0,undo;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,-1,udlr;-1,1,udlr;-1,1,udlr;0,0,undo;-1,-1,udlr;-1,0,udlr;0,1,udlr;1,1,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;0,1,udlr;-1,1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;0,1,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;0,0,undo;0,1,udlr;-1,1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;0,0,undo;1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;0,-1,udlr;1,-1,udlr;-1,-1,udlr;1,-1,udlr;0,1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,1,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;"
  },
  {
    "path": "officialworlds/solo levels/infinite stacking.replay",
    "content": "-1,0,udlr;-1,0,udlr;0,-1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;0,1,udlr;-1,0,udlr;-1,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;-1,0,udlr;1,0,udlr;1,1,udlr;0,-1,udlr;0,1,udlr;-1,1,udlr;-1,-1,udlr;0,-1,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;1,1,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,-1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;-1,0,udlr;0,0,undo;0,0,undo;0,-1,udlr;1,-1,udlr;0,1,udlr;0,-1,udlr;-1,0,udlr;-1,-1,udlr;1,1,udlr;1,1,udlr;1,-1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,-1,udlr;0,0,undo;-1,1,udlr;1,1,udlr;1,-1,udlr;1,1,udlr;0,-1,udlr;0,0,undo;0,0,undo;1,-1,udlr;0,0,undo;1,-1,udlr;1,-1,udlr;0,0,undo;0,0,undo;1,-1,udlr;0,0,undo;1,0,udlr;0,0,undo;1,0,udlr;0,0,undo;-1,0,udlr;1,0,udlr;0,-1,udlr;0,0,undo;0,-1,udlr;1,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;1,0,udlr;0,0,undo;0,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;1,-1,udlr;1,0,udlr;1,-1,udlr;0,0,undo;0,0,undo;1,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;-1,0,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;-1,-1,udlr;1,1,udlr;0,1,udlr;-1,-1,udlr;-1,0,udlr;1,1,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;1,-1,udlr;0,1,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,1,udlr;0,1,udlr;1,-1,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,0,undo;-1,0,udlr;0,0,undo;-1,0,udlr;0,0,undo;0,0,undo;1,0,udlr;-1,0,udlr;1,0,udlr;-1,0,udlr;-1,1,udlr;0,1,udlr;1,-1,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,0,undo;-1,0,udlr;1,0,udlr;0,0,undo;0,0,undo;1,0,udlr;-1,0,udlr;0,0,undo;0,0,undo;0,0,undo;1,0,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,-1,udlr;0,1,udlr;0,-1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,0,undo;0,-1,udlr;-1,0,udlr;1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;0,1,udlr;1,0,udlr;1,1,udlr;-1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;1,-1,udlr;1,1,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;1,1,udlr;-1,1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,0,undo;-1,0,udlr;0,0,undo;0,0,undo;0,1,udlr;-1,0,udlr;1,0,udlr;-1,0,udlr;1,0,udlr;-1,0,udlr;0,-1,udlr;1,-1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;1,-1,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;-1,-1,udlr;-1,1,udlr;0,-1,udlr;1,0,udlr;-1,0,udlr;1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;-1,0,udlr;1,0,udlr;0,0,undo;0,0,undo;0,0,undo;0,1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,-1,udlr;-1,-1,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;0,-1,udlr;0,1,udlr;0,-1,udlr;-1,1,udlr;1,0,udlr;0,1,udlr;0,-1,udlr;-1,0,udlr;-1,1,udlr;0,0,undo;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;0,0,undo;0,0,undo;0,0,undo;0,1,udlr;1,0,udlr;-1,0,udlr;1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,-1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;1,1,udlr;0,1,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,-1,udlr;1,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;0,0,undo;0,0,undo;1,1,udlr;0,1,udlr;0,-1,udlr;0,1,udlr;0,-1,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,1,numpad;-1,1,numpad;0,0,undo;0,0,undo;0,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;-1,0,udlr;1,0,udlr;-1,0,udlr;1,0,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,1,udlr;0,0,undo;0,0,undo;1,1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;0,0,undo;0,0,undo;-1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;1,0,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;0,0,undo;0,0,undo;1,0,udlr;0,-1,udlr;-1,-1,udlr;0,-1,udlr;0,0,undo;1,1,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;-1,1,udlr;-1,1,udlr;-1,-1,udlr;-1,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;-1,0,udlr;0,1,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;0,1,udlr;-1,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;0,1,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;1,-1,udlr;-1,1,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,udlr;0,-1,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;1,-1,udlr;0,1,udlr;1,0,udlr;0,0,undo;0,1,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;0,1,udlr;1,0,udlr;-1,0,udlr;1,0,udlr;1,1,udlr;1,0,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,-1,udlr;0,-1,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,-1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,-1,udlr;0,1,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;-1,0,udlr;-1,-1,udlr;0,-1,udlr;1,0,udlr;1,1,udlr;1,1,udlr;1,0,udlr;0,1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;1,-1,udlr;0,1,udlr;1,1,udlr;0,0,undo;0,1,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,udlr;-1,0,udlr;1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,-1,udlr;1,-1,udlr;1,0,udlr;1,-1,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,-1,udlr;1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,-1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,-1,udlr;0,-1,udlr;1,-1,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;1,-1,udlr;0,0,undo;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,1,udlr;-1,1,udlr;1,0,udlr;0,-1,udlr;-1,-1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,1,udlr;0,1,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,-1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;-1,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;0,0,space;"
  },
  {
    "path": "officialworlds/solo levels/its the.replay",
    "content": "1,0,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,0,undo;0,0,undo;0,0,undo;1,0,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;1,0,wasd;0,-1,wasd;0,1,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,0,undo;0,0,undo;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;1,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,-1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,1,wasd;1,0,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;1,0,wasd;-1,1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;1,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;-1,1,wasd;0,0,undo;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;-1,0,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;-1,-1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,-1,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,0,undo;0,0,undo;0,0,undo;1,0,wasd;1,-1,wasd;0,1,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,1,wasd;0,1,wasd;0,0,undo;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,-1,wasd;-1,0,wasd;-1,1,wasd;0,1,wasd;-1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;-1,0,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,0,undo;1,0,wasd;0,-1,wasd;1,0,wasd;-1,0,wasd;1,1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;1,0,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,-1,wasd;1,1,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,-1,wasd;0,0,undo;0,0,undo;1,0,wasd;0,-1,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,-1,wasd;-1,1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,1,wasd;-1,0,wasd;1,0,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,0,undo;1,0,wasd;0,0,undo;-1,0,wasd;1,0,wasd;1,0,wasd;"
  },
  {
    "path": "officialworlds/solo levels/just an every1 level.bab",
    "content": "{\"width\":15,\"version\":5,\"extra\":false,\"author\":\"Slabdrill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":10,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"just an every1 level\",\"map\":\"eJyV18FuozAUBdBfiboYaSQW2GBsT8W3RCQwVSQUKppOG0X59wHfBHBE7NtN1cVx5Fw/P7/U3abt9lW72ZaXy+nQNuXL8Pcl+S7T5FCXIjkP/3y8N/tD1ZaXa1If+lJckxUqByo4mg1UcjQfaMZRNdCco8VA1XP6VZ36yerBmsDHfp+2zb+mP4tphRlW2OhGxEhtON9917b1hEUazu1Bi3B0D1qG03vQWTjABz0eYsFGiCXjYer4CQEX8SPaNTPX1PlIZ034gHbVbrY2fAOmUJyW7GFCi3Dg81cEl1x8wNlPKhxLcirCzFlF1jh0QYYIrckahzZkjUPbeNW+ddVXdX5vP6ZVWcolDyzCyftYUpnnzmZk5tA5mTm0IgsXuiBPCFqHT+geCLDh0gO2VHrKvTkp9erBCurZg5XUuwebUQ8fbE69fLAq0kiWtgjfgHvAhcM6HJqPTTg1H9twbB5WaTg3Hwuu3IAlNzQAZ5HmgZhh83DLcL0d74x2PtJQ57cAPNJRR/45a82FDWy4sIEtF7bDBdlGjcORKdXHkTnVx5FJ1ceRWdXH5IADHBlw7tg6TF5EYPIiAltuzw7r9Ad71iLcnadxDxO55L7hTWfkKAmdx4ehv233tlihyL274VMX5G6giR8ft8kWfvWnh/L8PJu7UU5bdrKENykzFi28iHe3P78XXnJ1I9xQZCKDzoNe7bTqmVbx8H8teEHWgZtHDHlLbzpyTaeKhI48mOPG/c+3q+1WrRUBfGRwHf2xu5UBVjyZXq+vfXP67I+b7WtzrP8DWTeB4w==\"}"
  },
  {
    "path": "officialworlds/solo levels/just an every1 level.replay",
    "content": "1,1,udlr;-1,1,udlr;0,1,udlr;1,1,udlr;0,1,udlr;-1,1,udlr;-1,0,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;1,1,udlr;0,1,udlr;1,1,udlr;0,-1,udlr;-1,0,udlr;1,-1,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,-1,udlr;1,0,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,-1,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;0,-1,udlr;-1,0,udlr;-1,-1,udlr;1,-1,udlr;0,1,udlr;-1,1,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,0,udlr;-1,1,udlr;-1,-1,udlr;-1,0,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,-1,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;-1,-1,udlr;1,0,udlr;0,1,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,-1,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;0,1,udlr;-1,1,udlr;-1,0,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;0,-1,udlr;1,-1,udlr;0,1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;0,1,udlr;-1,0,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;0,0,undo;0,0,undo;0,0,undo;1,-1,udlr;1,-1,udlr;0,0,undo;0,0,undo;1,0,udlr;1,0,udlr;0,0,undo;0,0,undo;0,0,undo;0,1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,-1,udlr;0,-1,udlr;-1,1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;"
  },
  {
    "path": "officialworlds/solo levels/lite version.bab",
    "content": "{\"width\":13,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":9,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"lite version\",\"map\":\"eJyV2N1uqkAYheFbMT3biTH8/+yGazGobGNCpEGatDHe+4ZZ4+DoMN8yPenBMy3yDgjfoVu13b5uV9vqeh1ObVN9DD/Dtu9248/wsf6pgvXpUIXr3/GXy1ezP9Vtdb2tD6e+ym9rveTY1xdjI7+t22P9a3A84vAZhwZPx7JrjE5kPXT93vh09NGytw47e8Pmo41JW4w2IW052nTZ2qcuDEad0XpKmJPHEU4NC+JPh0rH/uJzRPCE20zAqT+5jcmGwGREYLIisJDRwhFbEVqo+KSFjFOY9jTMPpb9w50hUmucNV8/LHDqx/NOAc+4+MC5fHP4nnXBbRXg8g0cB9y+Ag79+8r0hI64jQUc+zeWjRP/vppO3uVr3CtDP69J/bvF/gcZh2OFc25PARf+7uYUQpMpFU6ElPafTtiW0GRLYLIlMNESFxk4mRGYzJgoTGYEZjNCCxltnZKXJLCQcTp9m81m9hH31QAcc9WBE646cEpewfOKd1qmOYdThQsuPHDJ3eQVzgLu8gUOuezAZEZgMiMwmRFYyGhjsmCmMHk1AgtXo43Je6rCOXktAgvXoo2FO6q5J0ALt9SH5xx44a5qHwpZEZismCtMVgQmKwI7K74+litckBWByYrAbEVo8osRmEwILHwtqm/R+rzrumlJoZZk/jbm0KGF59X70QCTj6vApT/Ow4Oc8mXg6vNaHjgk+0BH5NsNdMwFAk6IQOoxp1RcePUwRwLNpoQWUj5poeWTFmLez0mJkYAz5aIWWj5poeWTJltqTcQ8d0d1rYV6+iEENW/ZmgvvkvObs/Y5OUvQvCCnCZqX5DxBz24CcqKgeciVuvOIS3XnwpRgviuGGIdIA5/XBc6hj2+Bc/DjW+Ac/vgWOAdAvgXOIZBngXsQ5FvgnAX5FhDjoH99c24b5I6wyjndWxwK3VcRo1o9E9QLhFnttODvn8cFmf+KW/g0uT/Lwqcp/G1eP03pb2OGUdqroZEjze2zb4bv/rzafjbnw38Mwtvu\"}"
  },
  {
    "path": "officialworlds/solo levels/lite version.replay",
    "content": "-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;1,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;1,-1,wasd;0,-1,wasd;-1,0,wasd;1,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;1,-1,wasd;0,-1,wasd;-1,0,wasd;1,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;1,-1,wasd;0,-1,wasd;-1,0,wasd;1,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,0,undo;1,-1,wasd;1,0,wasd;0,1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,0,undo;0,1,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;-1,-1,wasd;0,-1,wasd;1,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;"
  },
  {
    "path": "officialworlds/solo levels/lvl be rong.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":12,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"lvl be rong\",\"map\":\"eJyVmc1u2zAQhF8lyKFoASMV9a8GfpZAsRXDiGoZstIkCPLuFTlLibYb7fTmwzcGNSMtd8ltd9N2m7q9eVh/fAz7tlnfDm/Dw2moh667Xb2to9V+uzar9/HH6dhs9nW7/vhcbff92nyuRHE61v1zO9HxSJuv6ceu3/YTnIxwwcLpCJcsnI1wxcK5XfPCI57ThaUXHtFa+NhY3Fi8ZO1zdDXSKU2Pi34fH1VfOGhD2g06Jv0GnZCGg05Zx4FnhOUvFo8dniuWT+83cBtowngOvFyOaFo66Ir03NFxRHoO2pCeg45Zz4EnhOffLJ44PF32/KntdjNs84wZx4HnpOOgC9Jx0CXpOOiKdNzRScQ6DtwQju+6wQpSJ4jZ0gLcJpoTqwGdkjaCzkgbQeekjaAL1kbgJWHj6bVpjlaSOUnFGunwNCL3ONBs1QXNVl3QbNUFTVdd4FrVnfDc4UrVvaAL0kPQ5XLBuKCr5YJ+TmcRWV1As2mCZtMEzaYJmk4TOJ1m4XA2TdBsmqDZNEGzaTo6Z9MEzaYJmk0TNJsmaDpN4ExH9Frvh7u7OysqnUjNdDezSqL//H82V9Bsro4ulFznEg3cLDfGl3i8vDVe4kq0boe5kND5AmfylbwqJ1CytbzvwSAoyLBAl2RYoOkpxuFltOy+e9d+PvXNYZYY1k7gMT+zuRmvTHQ7z/iUdFPwjLRTcKUBDqZC8IVu6NQBiaSkJzLwFVWA2mcnwWgb6Z7++hHwhvUUeMx6CjxZ9jRIGDw/soL/zwpt3NRVEZ/xPL6KhijVm76ph0CiVGoJLxCwxRq4iehy7QVKwb5akYnoedYLmIk2TCSBTJlsgxdFBMp0697z76EgZ80VviB7HM/z37YItI97FqQ4WFI+7SvekP2i52O2FAifsI4Kn9KvqwgyxdJrRU57mkFQsJ4KX7KeCl+xnoJ3Z1OUp8Ib2lMRxOzxpPAJ/VqLIKUjyCHI2AiEz9kIhGd7MM+zXZjn+dNkCNQTK1u72j9nEu3Ual5UAYFyanXFJ8umBg8hAqUXc3tofTiFEno4NiUE7HjseWKPnjsy0RCbtGw8IlA26bOWDJJU2aenQ17PE9v08NIfNl1/CJ8/VQasS79S5WYoCF0Eyu3Q+UjmRXzsFQR07MKz5yKeZydoz9NtGXj6rMvzStxXPB2z8HzMIiBilm9CBHTEMS476YMvz7MRe56N2PNsxMLTB2CeZyP2PBux55WIg8beK+iMvUC57LWCQ7frQol25Ws1v5vhbF1fXfx+3veNLXo3D/fNYfsXonlgHA==\"}"
  },
  {
    "path": "officialworlds/solo levels/lvl be rong.replay",
    "content": "0,-1,wasd;1,0,wasd;0,0,space;0,0,undo;-1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;0,0,space;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,0,space;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,udlr;1,0,wasd;1,0,udlr;1,0,wasd;1,0,udlr;1,0,udlr;1,0,udlr;0,0,space;-1,0,udlr;-1,0,wasd;-1,0,udlr;-1,0,wasd;-1,0,udlr;-1,0,wasd;-1,0,udlr;-1,0,wasd;-1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,-1,udlr;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;"
  },
  {
    "path": "officialworlds/solo levels/magnetic field.bab",
    "content": "{\"width\":16,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":10,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"magnetic field\",\"map\":\"eJyVmd1uozAQRl8l6kVXK0VaDJifrXiWiBQaoaVQEaKkG+XdFzxjsLUq8/WuF+ejLmdmbNyq37X9a9nuDsX9PjZtXTxdy/ZpfyuCfVMVav85/XD+qF+bsi3uj33VDIV67Bkdb+PheYHDCVZfw+5zowkNN57brGg8odH2Eo7lsfsxLgk9JWLs4QmOphOqhXXUC50JtPPgfEITDFXBxKYgO7vLMB1qVpeLrDJsJNfEqS+v5edHe15TMVQcxGqoOohNhPJw2RSyTawkcPorpzX/WQOYRsOGwTdYta38WLftuNIhJJ3YCJIeGjbelu6xGlJNbLKt2mNTSDWxGaSa2Hxb9TRdFjYKoL4mVkGWiQ1By0RHkGViY8hyZFi9bXlZBdEJ5JlYwZ3HCu48VnDnsrHQdR6Ldh3RWNcRi3VdbFih65ZVEI31HbEJtApt2BRcBdEZtApic6j7DasDqIKIVVAFERtCFURsBFUQsfF2BXmshuqHWMxcYljBnMdm0Dlr5XNhws4b5K+3oe6WSCINT3OE4mKihDRCTYLPfpQQBumcuKw0NkiJxQZpalhhkHqscILxWOEE47HCCcZjhcOLy6bCGdRjsTMosdgZNDOscAZ9a/vTCsfQSyNWyyXqPzxBKnTFU7k8f/9c8Qx6f8Tm0PvLzddJANUnsQoa6MSG0EAnNoLqnlhMIbGCQo8V7HmsoM5jMW/EYt4UfSsK4vizxAkI9tb6ZF4wOPNdf+qdBOaRYUwkw0AzjvVtdBJwNzIPtOP0LTt0lZPB3DIMyqVPyACwOzbvbX12Q4DhrlduAnDMb4kDgmJv47YZwfT/vwSw/be8lsOl6t0YoPzZ5SHlbgD0zTQoPKQrGkD4erllQ3hLcwDw7VQ5h8C2ZhqwPZ8FbelyClDOZ06bwBucA4Bu2x2cAH0zDfqO6JoN8+0msN3X0tj+a2lQMdPg6GYa24Utje3DlsZ2YkuDPpkGfcZ0FYr4rN0AqJNpaDNWbkKa1I33fOlu3aexe3VLJ98c5xyTrtn9X5JhF6lM58Is8GhzXQTUDdMKqxtNdCjXzcXlI6xsmI6Fsmk8WmNFwDT2HxNLgzaZBm0yDdokWoM2mf7C5uNlqMfL0O0OL3VX/QNPbvrv\"}"
  },
  {
    "path": "officialworlds/solo levels/magnetic field.replay",
    "content": "0,0,e;0,0,space;0,0,space;0,0,e;0,1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,-1,wasd;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;0,1,wasd;-1,-1,wasd;0,0,undo;-1,-1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,0,e;0,0,space;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;0,0,undo;-1,0,wasd;0,0,space;0,0,e;0,0,space;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,space;0,1,wasd;-1,0,wasd;0,0,space;0,0,space;0,0,space;0,0,undo;-1,0,wasd;1,0,wasd;-1,-1,wasd;-1,-1,wasd;0,0,undo;0,-1,wasd;0,1,wasd;-1,-1,wasd;0,-1,wasd;-1,0,wasd;0,0,e;0,0,space;0,0,undo;0,0,e;0,0,space;0,0,e;0,0,space;0,0,e;0,1,wasd;0,1,wasd;0,0,undo;1,1,wasd;1,1,wasd;0,1,wasd;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;1,0,wasd;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;"
  },
  {
    "path": "officialworlds/solo levels/magnifying glass.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":13,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"futr be cool\",\"is_overworld\":false,\"palette\":\"cauliflower\",\"parent_level\":\"\",\"name\":\"magnifying glass\",\"map\":\"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\"}"
  },
  {
    "path": "officialworlds/solo levels/moar stacks 2.bab",
    "content": "{\"width\":11,\"version\":5,\"extra\":false,\"author\":\"Slabdrill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":14,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"moar stacks 2\",\"map\":\"eJyN1k1uwjAQBeCrIBZVK2URJ84fKGdBgaRVpJRUaaAgxN1re0ywF3jejsU3lvGb2NOOq2E8NMNqV99ucz909fqvGdbRpY6jvq1FdFU/fn+6Q98M9e0etf1Ui3tk6XyZd/tmv/BE8YTh3aJTpdOwPo5f4+Kl8jLs3xacKZyFsbN0rnQe1kPTnBdfKF/Bf7RUWjDHuHlfeKW5eM29gGKNA6dosTBYx8kvTJbJ0rNMkp5lUvQsE6JnmQg9q+MrQKvDK0FbhdvCtUnMNIWHBdYShHVygo8uMTiFWoKsxBZODc7CC7ufFBXkUBORLZid6NXn7jLrCmkqyvBNZlcnW/Fb/+rPi0/jcJvaG5KsgNqJLBeke4ZUkTK3wfNiyoyX0KmQZQL1bA7s3N1HAez7c7iaitxUYHmSBfL8HptpKZAxdJeQFcBf7Y7767Miwa7swmDm+3ReYPIy/BU92oVwht1BhLlMLS4NLqBmIVtiC1cGM1m6NouhJ4ysgG4fsgn0hJFNoSeMrITajmwGPWFkc+jOIctMNp7l5hoPg1ONwXmMtYSg4Q2fUm0BPKdaD0yqJ4ejg6rlGT98bj4cn4ej194/H3hatR6ZVx+TuS0B0yVdvBpa79upm0/TcbXbdsf2H3sULD4=\"}"
  },
  {
    "path": "officialworlds/solo levels/moar stacks 2.replay",
    "content": "1,0,udlr;1,-1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;0,0,undo;0,1,udlr;0,1,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;1,-1,udlr;-1,0,udlr;-1,-1,udlr;0,0,undo;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;0,1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;-1,0,udlr;1,1,udlr;0,1,udlr;0,0,undo;-1,0,udlr;0,1,udlr;1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;0,0,undo;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;-1,0,udlr;1,0,udlr;1,-1,udlr;1,-1,udlr;-1,-1,udlr;1,-1,udlr;1,1,udlr;-1,-1,udlr;0,-1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;0,0,undo;0,0,undo;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,0,undo;0,0,undo;0,0,undo;1,0,udlr;0,0,undo;0,1,udlr;1,-1,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,0,undo;0,0,undo;0,0,undo;0,-1,udlr;0,-1,udlr;"
  },
  {
    "path": "officialworlds/solo levels/moar stacks.bab",
    "content": "{\"width\":9,\"version\":5,\"extra\":false,\"author\":\"Slabdrill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":10,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"moar stacks\",\"map\":\"eJyN0t8OgiAUBvBXcV20tXkhqKk5nsVRssZG0kzL5nz3OPbHbHngAq5+MPi+U2pP6QNXXsH6vpFKsFXTNYXi/LryO0Z8WZrtbtblLA6SK9YPfilrRgb/yx/lyClwani4zPd8/6GhoVv85pPmNfgIfGR8hPvX9THwGH/4+5Oj3RqbLtsbV0AToImhgRtN8Rd808xQ6kZJgEc8swTPbGahutjRWrqbWegtcbSxexEESsuc5iEdvaW50YuJW9oD3k7aUiDo9UfTwD7Ku83ECd4M8FcyT0/xxH9+SkM8dOCVPurpQPQ/+SGvRdPWlVfkoiofL+p1ng==\"}"
  },
  {
    "path": "officialworlds/solo levels/moar stacks.replay",
    "content": "0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;0,0,undo;-1,-1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;0,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,0,udlr;-1,-1,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;-1,-1,udlr;0,-1,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,1,udlr;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,0,undo;0,-1,udlr;1,0,udlr;1,1,udlr;0,0,undo;0,1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,0,udlr;0,0,undo;0,0,undo;0,0,undo;1,1,udlr;1,1,udlr;1,1,udlr;0,-1,udlr;"
  },
  {
    "path": "officialworlds/solo levels/molten hot.bab",
    "content": "{\"width\":18,\"version\":5,\"extra\":false,\"palette\":\"default\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"author\":\"Patashu\",\"parent_level\":\"\",\"name\":\"molten hot\",\"map\":\"eJyV2M2O2yAQB/BXifZWKQeDAZuu/CyRN/amlqy4cr3tVlHevZiZfGC1zL+H3dNvImAGGNNNu3E6tuPu0FwuyzD2zcuvdnzZfzZqP3Th3+/w9+N7fxzasblc990wN+q6/wvVgWqMloGWGDWBGozaQC1GXaAOo1WgFUbrQGuM+kA9RlWx5qAAcUwYmDG1pkyBOVNr0lQma8vncpin4xqgY8CaOnnYZC1UZ2QdMJC39u0RsKZQZYooBvSrL6OvoYGT9fmB84JEq4t82T8tIHmVr1KeI1mNFQlhJJVPC6INsIDn6TStESZGWGgJyTpoCclW+ePgMXDiNbTPyXpgUT7uvCyENeHfthELxyhPkayWqyT57RKaI1kDzJEDXAzA8khWyGNiK2EgY9v+fOga3sBV9B4adbSmyI/6NhDC0umaaul4TbW0KVP9P1uyjhFYKskKqbwNhXCVv/ZSXOcvvhR74VBLtC3A5JBWYHJIazA5pEvsbPARG2ytCQs9ToqFLifFQp+TYqHTSbHQ6yTYSc1OqtH9SBrdj6ShS5KuYAqQtuTt58P0Vi7sx40GdyTrKt+Lb3Sdv3E22uev4FRXBVawrIWOZ6M1VrKsS6xmWRusaFlbsGqZO7BJJy3dlY/bjwOk6/I+GvrAEW7LVNfgfclagYVIWmh9NroEC5G0AQuRtAULkbQDC5E0eF+yFi7MW6kQRnrY93noTt0jyEud7H1A8WvKK7BcSGuwXEiXYLmQNmC5kLZguZB22GMCYWSHvo/TKYbETyqPfWMyFj4yE6yKAhjNfbYco+AOWxmK0NgEWJf5GdwXh7lw+m5+3OIHJEc4YLpfv8QISxEVNl3WNZYw1siu/TYtS/8UpMDvT+WIgw95rMG3PNbgcx5r8EWPNfioxxp812MNPu2xBl/3WIMPfKQ1+sTHHH3kY44+8zH/V+N7fZ375WM+7w6v/bn7A3uNSwY=\"}"
  },
  {
    "path": "officialworlds/solo levels/molten hot.replay",
    "content": "0,-1,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;1,1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;"
  },
  {
    "path": "officialworlds/solo levels/multiple.bab",
    "content": "{\"width\":13,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":13,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"ocean\",\"parent_level\":\"\",\"name\":\"multiple\",\"map\":\"eJyVmOtq4zAQhV+l9N+CWXy/NPhJymKcxBtC1Ki4Lk0Iefe1NXJkx7Lm7L8SvqPKc0ZHl718EXJXi5eqvN26o2jK159avHqX0veO+zLwrmXsfX02u2Mtytvd2x/bMrh7Gu0uXdU1l+7Bhz2fuPm6beWDj3o+XeenU4lxNOnRDEPTHs0xNOvRAkPzHg18jC0GNsDYfsweDt0F7gWnQREoxeDgUuDtpJBteUu88P78n0gX8s5vG4NHbuNnQzNOPg+NuUls+h9s5rZel9Lwudv/52kXTA8M/Fke5EMR+lgnEBwwnaDhUMGDmYupJHZ2cHIxiRU2djfJjE3crv8V8mBgzEdiAR8P8uP6U1+NJrdqxlXhW1YF6QooAxQb+VgIEBxg3hMcAimwrbeDIFKCCPKf2Bjyn9iED4mDrNvz3khSa1CYygeLypMug+KfWLu7s2mdmuZkBIytZmkrPOactXx3vGKw/vDzUVg/JYasVlOLFY85TSzmNLHM6h03dYKx1Usss3pnLJPAM5aL3ymcgMlLMJe82v0+bz7F1yBLlAzLYGKxDCY25pt92wjRGUWCdjvhKdTths+wYhKcY9tYquDCVkI7m/q2Eq6w9jOSnR1sjNZZHbvEYociYhkbZyxj4Izl3JvBoHUEc9apPpJCKTKlsPtnzqLR3dKESpoxdg74mzQ4d+qNFrsM6Th3x4VEdGTLucUyzRUbQ71LbAL1LrEp1LvEZu6vm7G5bWs33zbunwSDYVuou5HvrsTk8EJ8AFWD2NBdjWHs8aBJgshWkoWFxFpPuysss1/OWPDSQjfLDKheM+FzqHoaLvjyTQcvfKh6GmbeEh5rS+PWp4RkNpexCbUCe0zQcOwu+tPQCXg1U3ezIuU9+p7gGWYRwTlv0duvCV9gFtGd1fdRjzQfuE16Gj2EL/5aYA3YZWVCorGIHWksZEcai9mRtgbtsiyatkbtvCw7cTx1U02BvbcQrZ6NmMLv5Eejz6ujKrAfSe4b/WJY9b9tqvc4+PObNtbqPUr135u26b7b80u1ac77f5SlwKE=\"}"
  },
  {
    "path": "officialworlds/solo levels/multiple.replay",
    "content": "1,1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,-1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;1,1,wasd;1,0,wasd;1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;-1,-1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,-1,wasd;0,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,1,wasd;1,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;-1,0,wasd;1,1,wasd;1,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,-1,wasd;12,5,clikt;12,5,clikt;12,5,clikt;12,5,clikt;12,5,clikt;12,5,clikt;12,5,clikt;12,5,clikt;"
  },
  {
    "path": "officialworlds/solo levels/obses max.bab",
    "content": "{\"width\":10,\"version\":5,\"extra\":false,\"map\":\"eJyVlstqwzAQRX8lZFEomBC9/GjwtwQlVoOpagU/6rgh/15LLrIWrWayMHhxrnxn7oxwZTbanKXeHMv7va+1Krf9rT+e5Gmb3Mp9UlclSab5pbuqcy11eX8kVd2W5JGEuPI0nWkSpwcPsxmm/8Oj1BYlFuVxFyEq4hZCNMUbyGaUgagrK0eh1KIFyqtDyR5lljmWoFjuWIpihWNxiaWO5U+wuMwyx6ZPsBlqbHLH5k+wuNwcS3G5LSxBjU7hWBpngz1280MZYpFDnsPnd7Lp/NBRAX9gfvzg0RR7s7jZo0CWFn979SNFgTgDN0s7C6wbh7M9fNGFxzNgIy0fbjBDXKSLHddLxmC8MRfju8k4LNC73fDld4kJuIK+DTpk4+Vx3nRrBRmMdx9D0CEbsIgLPpX6XL9QwIJKTt+TbxLfw4rRXPzMcQLz761qtFq3htug07hGtqapfB2cwYqXtQYO0/PxQRECFoxDG/ixQWdxwcXIUU5X3a2+Mlj1u0CLrTzOh78s3CZdYJbHRSBszDlUwHpxCQLzwcUl6N/449CqfmibzfGgmuoHtRYzQg==\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"obses max\",\"height\":10,\"author\":\"hutthutthutt Butcherberries\"}"
  },
  {
    "path": "officialworlds/solo levels/one-way.bab",
    "content": "{\"width\":13,\"version\":5,\"extra\":false,\"author\":\"oatmealine\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"snad be hote\",\"is_overworld\":false,\"palette\":\"volcano\",\"parent_level\":\"\",\"name\":\"one-way\",\"map\":\"eJyNmN1uozAQhV+l6kXVlSItxvxuxbNENKFVVBaqlGwTVXn3xR4HYzLY5ybKxTfGM2dmPPa+f2j7Xd0+bKufn+HQNtXjcB62r/Xr4+ZcRZvDvhKby/jn67PZHeq2+rlu9odjJa4bg3/X7YTGIyqWqJzQtq7/Tawc2XydHX8nNPGj9fHYT2zqZ+e7zdRu5ZLN7RbGQHx9nKxBrgwSv8Fro3Ch8AIKnEZLf+BmkmhcRCN/t3O5thGhJLzbt4t3/anb99ZESZmGpSQY05JYUEyCMTWJReScBwVR86TwWOOYmsQG5JyzsZIyXl/X7ppwEVD+MFs65lhxpyHBmIbEghoSjGlILKLhn2fLhzQ0i0sNswrebYRYTEHNSlZBt7re2ktjDTANiQU1JBjTkFhQQ4IxDYkNaejASBEag0QbYGVILCsizyZKxCzoIbECigaxSr8CZCWQ/UNzHqxFwoaPOwhSzadQ9IjN/NEzyURsHmhic7bwZ7TDltzBxbNpxJ1YvG+p8Ku9a/sPC8eQ3MRKv9y3cYJgpV65vmMXVtIJj3YurcXzqOfSugo9+jkuFkCWfv9+OzadtSmBPO36d91xMj2bRVCmEiv8mWomJ2ID/dRZV0I9gdhAO3XYFOoJxCInoikDMuA7qhvqJ4XnGsf6KbFYP9VsHnHxWGEFPLkRHwMuDnWrv1BoCwl5SWwCeUksey5a9q3t3y2csRV8dzASnAMx6QbLF4GYmMVLDZdQODRbRIFjQE835CYZsNMNN9ASHgdavJr4fllcQl2eWLYmV9gUiPd7X3/Xl8/2y5plWNiFvj8WOXYjJLiA8tDAJeQqwWWETWiGFtiMLegiG2MuEiwxFwlO/DOGC6dQmzdw5k9BF86hBDRwwZ0gazCooXkBiLhDZJUW/lFjQceBWWOBy8CwscATbNq44XxlruJ8RboNZXpkoOt6FKjL2cuBMQjUJjWLv5exW8ytSiyDiebfeNxvTK8wxoR95/H4wb/yLJrv89yAHYlcg6c5H2jB87vxzYSdjlajlGGJbegcTGyDF2BiG7wEE5vwmG/Dqzjfh8X1+nJshtOxe9i+NN3+P8hvMe8=\"}"
  },
  {
    "path": "officialworlds/solo levels/one-way.replay",
    "content": "-1,1,wasd;-1,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;0,1,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;0,-1,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;0,1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,space;"
  },
  {
    "path": "officialworlds/solo levels/oneway maze.bab",
    "content": "{\"width\":15,\"version\":5,\"extra\":false,\"author\":\"Slabdrill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":9,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"oneway maze\",\"map\":\"eJyNmd1OIzEMhV8FcbdSLyYzmSSzqM9SFdpFlbp0VYoWhHj3nY0daPExnLtefIk8tnP8083han+4W++vVsvX19Nuv11e365vrxfPy26x2yzD4mX+8fhne7db75evb4vN7rgMbwtF18fj4Z3tZzZ8ZjNmh5ntyXvjzA6f2R6zI2ITZtPMRtLePLMjaW+Z2UTeO81sJu8N3QyX7z8uVDigaIwO3KNweDcPyG/FgSNynHWGwCPnOYETcp0HZ+Q6C/cVLijpresEnjg/V7jvEGzDLXDggiIwjGB04AG9Es/miMLtmTGicHtwQuH2zMhcuAUuCPZunrjcGKpudSg3Bgcm36DAUD69m2EErZ8FhgJqc0PgEYXbszlxr1tgqKHezVBEvQ+EKurAsUOw440YUG5Ym2OFe5Qb1gyBBy43BI7odXswrIEenBBsIyhwRrlhXSdw4XRD4IlLpAqPHYLtSxE4cIkkcM8lksADgm0dFDhyiTRWeORERuD0dbX6tT/cf8CZK20CF5Si9gMFhnXQ5kaFE6yD1s8Cwzro2Jx6lM+2wgoMVdTxc4Iq6pkBVdTzBmxEbYMrMKmiAhfupQgMVdS+wQpnqKKOGRmqqL05VRiqqPWGwFBFPRiqqM06gUcEezcnBNuXInDm5hmBC1e7BYYq6sAFqqhjcwkIdmwuPdfXCQxV1IOhitoPzBUmVVRgMoICZy43BIZ10H6gwBOCrXxVeOq4AVZgGEEP7jndEHjgZmOBI8oN7+aRUySB4Tzo+HmC86Bnc+Fqd6nwxGVdkYkeFkKXJiuh0rAUWrlTGtZCm9NKw7HePkSlYRxduxNXLSahYUdjPag0bGlcmpztha7rGWIEVzpwjbfSMJauJXBD49JwwLdvQWk44bt3wwHR83fd0hCFQ2lyyFeanPKDrNp6OOfb59BwOOmDnZjicNa3qdJwcl/TcHJj03Ayog0nZ/6Gw37VZkDD4dxvk7HhE5cxig9k19pw2LcCR+peFEYVJIHisHcFSaA47F6BZxSH/Svwu+Kw/wGeURz2sL5nyF1Aw8ltgOIRdrKu7RFuBPzbyW624QPX4DQ8chuHhsNKCmRJdtMR7gaAMYqTfW3DCzdPNXzi6qPidctDTD4Nh/0teHyKw6iCJFCc3PU0HEbVt30kdWYQnI2q4pnUGcVhVEG+Kz5xOxTFE5xZ3NsTjKqPs29VcRhV1+8JRvXjeZyeTyv97zREOQFH0HB5Ynt+IKFYXR54Oufhi73k379Cj8CNwlc2fTOT/j9wf/j98nf9cnYqQ1G+PNVWk+0IFOYvLMtwXXt54OeP8wMDHvvebo7b09Px4Wp1s33Y/AM860Ka\"}"
  },
  {
    "path": "officialworlds/solo levels/oneway maze.replay",
    "content": "1,0,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,1,udlr;0,-1,udlr;-1,1,udlr;1,1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,-1,udlr;0,-1,udlr;1,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;1,0,udlr;0,1,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;1,-1,udlr;0,-1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,1,udlr;-1,0,udlr;-1,1,udlr;0,1,udlr;1,-1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;-1,1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,1,udlr;0,-1,udlr;-1,-1,udlr;-1,1,udlr;-1,1,udlr;0,0,undo;-1,-1,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;1,0,udlr;0,-1,udlr;1,-1,udlr;0,-1,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;0,1,udlr;1,0,udlr;1,-1,udlr;1,1,udlr;-1,0,udlr;1,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,1,udlr;-1,0,udlr;1,-1,udlr;0,-1,udlr;1,1,udlr;1,0,udlr;1,-1,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;-1,0,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;1,0,udlr;0,-1,udlr;-1,-1,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,1,udlr;-1,-1,udlr;0,1,udlr;-1,-1,udlr;-1,0,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;1,1,udlr;-1,1,udlr;-1,-1,udlr;0,1,udlr;1,-1,udlr;-1,-1,udlr;1,-1,udlr;-1,0,udlr;"
  },
  {
    "path": "officialworlds/solo levels/orang lvl bad.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":false,\"author\":\"keithPlayzStuff\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab spoop u\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"orang lvl bad\",\"map\":\"eJyNmNFO4zAQRX8F8bQrVSh2nMQG9VtQaLNV1ahBoQWqin/fesYmjSmeu088nPFOfO94prMe7vph1fZ3z8vz+bDtu+X94fPw/NK+3C8+l8Viu16qxenyx9trt9q2/fL8tVhvx6X6WgT8o+2/UX1BFYaWHi1/Z30Wu67bfQcYH2DyAS+dx5XHKyhrQmsoa0IbIOurJCyQ89HT2tMOSplQVUA5M6uApC8BuylCA3n/64eNjygpooRyZ9bkc/eH9+9XvJeyAs+uhW9tx3GY6Eb4zmhAphE1WXxDPKYnsVrQMzlaK+hKmNXglTBd3vzIapbJ41/PV8Qb6COZrdCPZLyGPpJZpDDjh3IEomb4L2oKwOQktgTkHMZ2v5kiBEXDg8ysV9SBmSDvLF868/gz2xCPvbPMCg/t7FYafio05AE+HvHAZph4xAH7gSMsRWAWINYAFng9jq9TAFbTzEo13bft+0Tfrul5Lm+7I53vKAKramaBqt6uTpd/UwhW2cxKqs5g/IlWPFRgijJcAZI+/iGeRxBscgowNjspatAV1m4DLPTbCFOTq8C5iWGhoKOnAu2V1DDtpczIntBex4zuc7ou8v5LaC9jDdNexwamvZAWpk3+4U9oKsyMlglOYsJq1lSXsJy1Fco4wR1QyPGRUzS5NAXmXIYV6FymNehcpkvQuUwb0LlMC7NwQtegc5luQOcybUHnMu1A5xJtC9S5jCvUuYxr1LmMSxNUgiMD1Nu+Xa0ohmZRCz66DKOPLtNN3gLzo23eAXPY5Q0wg10B6s+0EvT3d9i9d+NJUxBNrk5jl8hweesSy5/5MG2wS2S4yl9i/N0c6Bq7RYYb8BaZtsAtfrTbw8PDA0XRVOzAiYjn8+LmSHTjHgMutNLkcLSVBlzopcnhaC8NuNRMk9OlPUSCS4uIq52cshxiMZ0C7fI6zWneLkk/Gmfp8JJJ+ILV2LUHCnIcBJZsoG/W7M/fPBE3+aad4lW+a6d4nW/bKd7k+3aK23ydpLjLF0qC07IpUygprvKVkuJaqJSUL4XunfJGaN9z1/DSSdp+DvtrX9LmSTJz3CZpXpLTBgrY3gbaYl6OuMO8HHBaPwFejrjCvBxxYSeT4iXm5YgbzMsRrzAvR7zGvBzxBvRy5C3o5cg7zMsBN8i7vLl2pfntWf56GrvDcdzfPT91+/V/JUCOHg==\"}"
  },
  {
    "path": "officialworlds/solo levels/quick no1 puzzl extra.bab",
    "content": "{\"width\":15,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":13,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"snowy\",\"parent_level\":\"\",\"name\":\"quick no1 puzzl extra\",\"map\":\"eJyV2l1r2zAUxvGvUnYzBoFZ8vtGPkvJGm8UsmRkGe0o/e6zdR43lmE5/97t4ifhzs85kSXtT3eH08PucHe/fXm5PB6G7YfL8+V+/NeHzfO22Dzut2Hzd/zH71/Dw+PusH153ewfz9vwulnw4ym88Tjy8H/+tLvOXI40MlqNtGS0HmnFaDPSmtF2pA2j3UhbRvuRdoyGYrQ9tNM7CzdeWobTG4OvLEzvLNx4aVMcnj5/Pw/HaUxIYyo/Qd+GK69Rgsw2XoTOi+dob4dIoTfbeYFbTtzfjtxy4lh48VxMHMPtgGYTRy/My4nL23HOJq686C8nrm+HP5u48QplOXF7u1SyiTuvrJYT97frajlx6dbgYuLSK8Js5uhW7HLq0inZbOqK1bfhmtS3DYhpQOMX95+rblFtm+1YbRvuUW0nWxXvsAGVtlmnAjPLCtBshWrKbI3KxGyDkm+2hfk03bF8Gu5ZPhOuC5DPb8Px42UaUqYhYAEzP70NYEsYs+4aZjmxs4rR/4rZ+h22QSE126KQmu1QSM32KKTJNgUKqdmAQmqWNlHTsIkahk3UMGmimr1KA0ATfTgPu8t1BGukZmEjNcwaabIta6RmWSM16zXStwWj8RJF2qyzmMksW8uYbVCkzbZOpMc/78unK+9QBZjtYQUk3RWsAgwHVgGGI2rTk6+TL/0C0MOYr1D8zdYs/oYbFGmz7HvCbIfib7ZHeU62L1CezQaUZ7MR5dlsiQJqtoIBNV2zgBpuWEANtyCgD6efw6/D72lQkwZ19EPWeI9C2tjXfcFSKh1Q9ITje3CJgipcoaQK1yiqws63YY7Zt6Ewa6fCtJ8aD7ChSsOOKk1aqjbiWhsBmuqP0+5p91ch1zDWW4Vhc5Vm3VWYtVdh1l+FWYM1HFmHFQ4oicIRJVG4hEkU99ar+eRen83eedq3wd9gnY1p8Q+8BnQohcI9S6Hpki1bhVmnFY4ohcJs2SrM1q3CbOEqzFauwt7SNcMdjKy4tw+QTV55rTYLSNrG8SJra+7eBkT6Uy9forgKVyyu0mwnQJh1WOEWxVW4Q3EV7lFcDac9HT+uwqzDCrMOK0w7rDjssNKww0p7HXbesrUzmRo01++n8/50Xg5iDXbWsMOKN6zFzpr12FmzJjtrr8tOPzzD82U5hK1qZ82WtbNm69pZw0MPaW9lOy0Qsz8UHn2YTrs96IhC3lverqaHx5Az9w4iZ66jP+cMcqXhEaQ0PYQUh8eQ0s5B5ErDk0idcRYs6NKBBV06sqBLlyzo0hXLrXRNcyvv7SOspm9hbsU7sjc8N6RoY3q8eNaItC0Enkk6wACLs/2EWZfv0hULsHTNAizdsABLtyzA0s6R80rDxpt0LHDjlaeNV5w2XnFyA0TXOUobwe9/aABsv9K0/YrD9isN26+0035XjxKcuyD55MG5DLKenJ1Gz9o5j15PTu+EiMNbIdL0Xog4XCRJ07sh4rBSTUd6P0Sc3hARx3dE5OktEXF6T0QcHXLOP2SVjQHnnPNDaYRzzpltNc1jnC+btysps3e/bZZP5O0erbRz7LnS7h2uTLs1m2nnFslKO/dIVtq5SbLS/l2SjHuXSVa8/08uX7+eh8uf8/Hu/utw3P8DsyUU5A==\"}"
  },
  {
    "path": "officialworlds/solo levels/quick no1 puzzl extra.replay",
    "content": "0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;1,-1,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,0,undo;1,-1,wasd;0,0,undo;1,0,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;0,1,wasd;1,0,wasd;0,0,undo;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;0,0,undo;0,1,wasd;0,-1,wasd;-1,0,wasd;0,0,undo;0,0,undo;-1,0,wasd;-1,0,wasd;0,0,undo;0,0,undo;-1,-1,wasd;1,-1,wasd;0,0,undo;-1,1,wasd;1,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,0,undo;0,0,undo;0,-1,wasd;0,0,undo;-1,0,wasd;1,-1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,-1,wasd;1,-1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;"
  },
  {
    "path": "officialworlds/solo levels/quick no1 puzzl.bab",
    "content": "{\"width\":15,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":13,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"snowy\",\"parent_level\":\"\",\"name\":\"quick no1 puzzl\",\"map\":\"eJyVmttu20gQRH/FyMsigIBweGcCfYuhWExgrFYKFAV2YPjfQ03XWBwuwj5+88PpBiFWlaebsz/dHU4Pu8Pd/fbl5fJ4GLcfLs+X++mvD5vnbbF53G/D5vf0x88f48Pj7rB9ed3sH8/b8LqZ4cdTeMPLCQ9/x592t87VhJYMrSe0YmgzoTVD2wltGNpNaMvQfkI7hg4T2jM0FBM7QPb6zsLKS8vg+MbgKwvXdxZWXtpVDk+fvp3H47UmxJraV9DX8YY3SEHGtp6EzrPn6NZFJNEb23uCmzce1iU3b1wWnjxnjcuwLtCscemJed64Wpdz1rj2pD9v3KyLP2vcekaZN+7WrZI17j1bzRsP676aN65cD84aV54Js86l69h568qxbNa6Zv42uCH+toIyFrS+uX/d6A5529ieedvgAXk7snXxDjYgaxvrODBjmQGNrZGnjG2QTYxtkfKN7aA+je6ZPg0emD4j3BRAn1/H4z+Xa0kVS8ABJj29FbAjjLHuGWbe2DnF6FcxtnkH2yKRGtshkRrbI5EaOyCRRrYtkEiNDUikxtIQNRqGqMEwRA0mIarudSwAIfpwHneXWwULUmNhkBrMgjSyHQtSY1mQGusF6fRzfD/dfoyuQpo21jnNZKx3mHk7uBrunGey1uw4Y2zvWGB6jM8fbzg70ES2L6BjjA7MMQbDscJgMlbYT91EHowUehjj2UxhLJwpDGYzhbHOTJGxbKSI7FAg+RsbkPyNLZGeja2Qno2tkUCNbaBAjW6ZQA3umEAN7oFAH07/jT8OP69FbSwa6ODb2oRfIJUKDkymokukPcHVe+AaKVVwg6QquEVaFdwhsQp2BsQcZnlqcKCBKhwmqmgYqaJJpmpz11kFSNXvp93T7rdUrjIWroJhuopm8SqY5atgL2DT3Gp4yTJWMFvbCC6RygWzmBXs5ezy/cflja90wS1UunAvbfPm3gCZaSqucPBQ2Nses8AnCBUEpHLBJVO5aJa3gtkQKdhZhuewsw7PYWchnsPOSjyHnaV4BtfORi6H/bX4/LXUXtzmzb1xMhNI3Ol4krVD/WAFDT1LiG+RXAV3TK6iWc4KZvOkwY2zHM9hlrKCWcoKrpBcBddIroJZwgqmCSscJqxomLCivYRNO2T7SNSCcP12Ou9P53kRC9hEw4RNOIvYRLOMTTQL2UR7KXv9rzzu/x3HeRHb2iWa7e0S7W3urv8Jx+fLrCQufsBXHtEBOSTRJTi1ZA9TIU8luoamSnzDXJVwbwLNVRzXQMRX+oDZr/tqQQ/MUPrgWUBDCQ/MIqLZ+JnoihlKdM28Ibph3hDNVnqJht8oRXtrvZweqG71SbqAuhXuDaK5WOJqyN1wp9AorabCJ+5UUTMBi26ggIW3TJKi4d0B0T0TsOiBCTjSZVwSAQGLDkzAoksmYNEweEXj4BVPg1c4DV7hXvDOLqVUVuFk7/8LYPwaHWj8CofxKxrGr2gnfpePwhaAiXY2gMvmbCZNtHtLK2/unJOWOPvEKbp0zkiL5iU8JIl2jLpsDp0q2tkbLZt7K/pFdzrVJB6ONQmHc03Cyero7R9Z/FZVvmN1lCqc0SbbT6Ua5xbC24Iy8ew2ZaLZhcpEszuViWbXKhPNblYmml2uTDS7Xyna2yUtaHjHMuFwd5/wvy3vX7+cx8uv8/Hu/st43P8BPolW8g==\"}"
  },
  {
    "path": "officialworlds/solo levels/quick no1 puzzl.replay",
    "content": "-1,1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;0,0,undo;0,0,undo;1,0,wasd;0,1,wasd;0,0,undo;0,0,undo;1,0,wasd;0,0,undo;1,1,wasd;0,1,wasd;0,0,undo;0,1,wasd;-1,0,wasd;0,1,wasd;-1,-1,wasd;-1,0,wasd;0,0,undo;0,-1,wasd;0,1,wasd;0,-1,wasd;1,0,wasd;0,0,undo;1,-1,wasd;1,-1,wasd;-1,-1,wasd;-1,1,wasd;0,0,undo;-1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,0,undo;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,0,undo;0,0,undo;0,-1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;1,1,wasd;0,1,wasd;1,-1,wasd;-1,-1,wasd;0,-1,wasd;1,0,wasd;1,1,wasd;0,1,wasd;0,0,undo;-1,1,wasd;-1,1,wasd;0,1,wasd;1,-1,wasd;-1,0,wasd;0,0,undo;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,-1,wasd;-1,0,wasd;0,0,undo;1,1,wasd;1,-1,wasd;0,0,undo;1,0,wasd;0,0,undo;1,-1,wasd;0,0,undo;1,0,wasd;1,-1,wasd;0,0,undo;0,0,undo;1,-1,wasd;-1,1,wasd;0,0,undo;1,0,wasd;1,-1,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,0,undo;1,-1,wasd;1,-1,wasd;-1,0,wasd;-1,1,wasd;-1,1,wasd;0,0,undo;-1,1,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;0,0,undo;0,-1,wasd;1,0,wasd;0,0,undo;0,-1,wasd;0,0,undo;-1,-1,wasd;0,0,undo;-1,0,wasd;0,0,undo;-1,0,wasd;0,0,undo;0,-1,wasd;0,0,undo;-1,-1,wasd;0,1,wasd;1,-1,wasd;-1,1,wasd;0,1,wasd;-1,0,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;0,1,wasd;-1,1,wasd;0,0,undo;0,1,wasd;0,0,undo;1,1,wasd;0,0,undo;1,-1,wasd;-1,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,-1,wasd;0,0,undo;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,1,wasd;0,0,undo;-1,1,wasd;0,0,undo;1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;-1,-1,wasd;1,0,wasd;0,0,undo;0,-1,wasd;1,1,wasd;0,0,undo;1,1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,-1,wasd;0,0,undo;-1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;-1,0,wasd;1,0,wasd;0,1,wasd;0,0,undo;-1,1,wasd;1,1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,1,wasd;1,0,wasd;-1,-1,wasd;-1,0,wasd;0,0,undo;-1,1,wasd;0,0,undo;1,1,wasd;0,0,undo;0,1,wasd;0,0,undo;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,1,wasd;0,0,undo;0,1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;1,-1,wasd;-1,0,wasd;0,0,undo;0,1,wasd;0,0,undo;-1,0,wasd;0,0,undo;0,1,wasd;0,0,undo;0,-1,wasd;0,0,undo;0,-1,wasd;0,0,undo;0,-1,wasd;0,0,undo;0,-1,wasd;0,0,undo;0,-1,wasd;0,0,undo;0,-1,wasd;0,0,undo;0,-1,wasd;0,0,undo;0,-1,wasd;0,0,undo;0,-1,wasd;0,0,undo;0,0,undo;0,1,wasd;1,0,wasd;-1,-1,wasd;1,-1,wasd;-1,0,wasd;0,0,undo;0,1,wasd;0,0,undo;0,1,wasd;0,1,wasd;0,0,undo;0,0,undo;0,-1,wasd;0,0,undo;0,-1,wasd;-1,0,wasd;0,0,undo;0,-1,wasd;0,0,undo;-1,0,wasd;0,0,undo;0,1,wasd;0,0,undo;0,0,undo;0,-1,wasd;1,-1,wasd;1,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,-1,wasd;-1,0,wasd;0,0,undo;0,-1,wasd;0,0,undo;0,-1,wasd;0,0,undo;0,1,wasd;1,0,wasd;0,0,undo;1,0,wasd;0,0,undo;1,0,wasd;0,0,undo;0,0,undo;0,1,wasd;0,0,undo;0,1,wasd;-1,0,wasd;0,0,undo;-1,0,wasd;0,0,undo;1,0,wasd;1,-1,wasd;0,1,wasd;0,0,undo;-1,0,wasd;0,0,undo;0,0,undo;1,-1,wasd;-1,0,wasd;0,0,undo;0,-1,wasd;0,0,undo;0,0,undo;0,0,undo;1,0,wasd;0,0,undo;1,0,wasd;1,-1,wasd;0,0,undo;1,-1,wasd;0,0,undo;1,-1,wasd;1,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,-1,wasd;0,0,undo;1,-1,wasd;0,-1,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,-1,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,0,undo;1,-1,wasd;0,0,undo;1,-1,wasd;1,-1,wasd;0,0,undo;0,-1,wasd;1,0,wasd;0,0,undo;0,0,undo;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;1,0,wasd;0,0,undo;0,-1,wasd;1,-1,wasd;0,0,undo;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;0,0,undo;1,0,wasd;1,0,wasd;1,0,wasd;-1,-1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,0,undo;1,1,wasd;1,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;1,-1,wasd;0,0,undo;0,0,undo;0,-1,wasd;0,1,wasd;0,0,undo;-1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;0,1,wasd;1,0,wasd;0,0,undo;0,0,undo;1,1,wasd;0,-1,wasd;0,0,undo;-1,0,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;-1,-1,wasd;-1,-1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,0,wasd;0,-1,wasd;1,0,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;0,1,wasd;0,0,undo;0,1,wasd;0,0,undo;0,-1,wasd;0,0,undo;0,0,undo;0,-1,wasd;0,0,undo;-1,-1,wasd;0,0,undo;-1,-1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,-1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,0,undo;0,-1,wasd;0,0,undo;-1,0,wasd;0,-1,wasd;1,-1,wasd;0,0,undo;0,0,undo;0,0,undo;-1,-1,wasd;1,-1,wasd;-1,1,wasd;0,1,wasd;1,1,wasd;0,0,undo;0,0,undo;1,1,wasd;0,0,undo;1,0,wasd;0,1,wasd;0,0,undo;0,0,undo;1,1,wasd;1,1,wasd;1,-1,wasd;1,-1,wasd;1,0,wasd;0,0,undo;1,-1,wasd;1,1,wasd;0,0,undo;1,0,wasd;0,0,undo;-1,1,wasd;-1,1,wasd;-1,1,wasd;0,-1,wasd;0,0,undo;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,-1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,1,wasd;1,0,wasd;0,1,wasd;0,0,undo;-1,1,wasd;0,0,undo;1,0,wasd;0,0,undo;1,0,wasd;0,0,undo;1,1,wasd;1,1,wasd;1,-1,wasd;0,0,undo;1,0,wasd;-1,-1,wasd;0,0,undo;-1,-1,wasd;0,0,undo;0,-1,wasd;0,0,undo;-1,-1,wasd;0,0,undo;-1,-1,wasd;1,0,wasd;1,-1,wasd;0,0,undo;0,0,undo;1,-1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,0,wasd;0,0,undo;1,0,wasd;-1,0,wasd;1,0,wasd;-1,-1,wasd;1,-1,wasd;-1,0,wasd;0,0,undo;0,1,wasd;0,0,undo;0,-1,wasd;0,-1,wasd;0,0,undo;1,0,wasd;0,0,undo;1,0,wasd;1,-1,wasd;1,1,wasd;0,0,undo;0,0,undo;1,-1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,0,undo;0,0,undo;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,0,undo;-1,0,wasd;0,0,undo;-1,-1,wasd;0,-1,wasd;1,1,wasd;0,0,undo;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;-1,1,wasd;-1,0,wasd;-1,1,wasd;0,0,undo;0,0,undo;0,1,wasd;-1,1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,1,wasd;0,1,wasd;0,0,undo;0,0,undo;1,0,wasd;0,0,undo;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;0,0,undo;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,-1,wasd;-1,0,wasd;0,0,undo;0,0,undo;-1,-1,wasd;0,1,wasd;-1,0,wasd;0,0,undo;-1,-1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,0,undo;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;-1,0,wasd;0,0,undo;-1,0,wasd;1,-1,wasd;0,0,undo;0,0,undo;0,1,wasd;0,1,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;0,0,undo;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;0,0,undo;-1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,0,undo;0,-1,wasd;0,-1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,-1,wasd;1,-1,wasd;1,0,wasd;0,0,undo;0,0,undo;1,-1,wasd;1,0,wasd;0,0,undo;0,-1,wasd;0,0,undo;-1,1,wasd;0,-1,wasd;0,0,undo;1,-1,wasd;-1,0,wasd;0,0,undo;-1,-1,wasd;1,1,wasd;0,0,undo;1,0,wasd;1,1,wasd;0,0,undo;0,0,undo;1,0,wasd;1,1,wasd;1,-1,wasd;0,0,undo;1,0,wasd;1,-1,wasd;-1,0,wasd;-1,0,wasd;1,1,wasd;0,1,wasd;1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,1,wasd;0,0,undo;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,0,undo;-1,0,wasd;-1,-1,wasd;0,0,undo;0,-1,wasd;-1,-1,wasd;0,0,undo;0,0,undo;1,0,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;1,-1,wasd;0,0,undo;0,-1,wasd;0,0,undo;-1,-1,wasd;1,0,wasd;0,0,undo;0,-1,wasd;1,1,wasd;1,1,wasd;0,0,undo;1,0,wasd;1,1,wasd;0,0,undo;0,0,undo;1,-1,wasd;1,1,wasd;0,1,wasd;-1,0,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;0,0,undo;0,0,undo;1,-1,wasd;0,0,undo;1,0,wasd;0,0,undo;1,1,wasd;0,0,undo;1,1,wasd;0,-1,wasd;0,0,undo;1,0,wasd;1,0,wasd;1,0,wasd;-1,-1,wasd;0,0,undo;0,-1,wasd;0,0,undo;-1,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,0,undo;0,0,undo;0,0,undo;1,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,0,undo;-1,1,wasd;0,-1,wasd;1,-1,wasd;0,0,undo;0,-1,wasd;1,0,wasd;0,0,undo;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;0,0,undo;0,0,undo;0,0,undo;0,1,wasd;1,1,wasd;0,1,wasd;0,0,undo;0,0,undo;0,0,undo;0,1,wasd;0,1,wasd;0,0,undo;0,0,undo;1,1,wasd;0,0,undo;1,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,0,undo;0,1,wasd;0,0,undo;-1,1,wasd;0,0,undo;-1,1,wasd;-1,0,wasd;0,0,undo;0,-1,wasd;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;-1,0,wasd;-1,1,wasd;0,0,undo;-1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,0,undo;0,0,undo;-1,0,wasd;1,-1,wasd;1,-1,wasd;0,-1,wasd;1,0,wasd;-1,0,wasd;0,0,undo;-1,-1,wasd;0,0,undo;-1,1,wasd;0,0,undo;0,1,wasd;0,0,undo;0,-1,wasd;-1,-1,wasd;0,0,undo;-1,-1,wasd;0,0,undo;0,-1,wasd;0,0,undo;-1,-1,wasd;1,0,wasd;0,0,undo;0,0,undo;1,0,wasd;0,0,undo;-1,0,wasd;0,0,undo;1,0,wasd;1,-1,wasd;0,-1,wasd;0,0,undo;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,1,wasd;-1,0,wasd;0,0,undo;0,-1,wasd;0,0,undo;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,0,undo;0,-1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;-1,-1,wasd;-1,0,wasd;0,0,undo;-1,0,wasd;0,-1,wasd;0,0,undo;0,-1,wasd;0,0,undo;0,-1,wasd;0,0,undo;1,0,wasd;-1,-1,wasd;0,0,undo;0,0,undo;0,0,undo;-1,-1,wasd;-1,0,wasd;0,0,undo;-1,0,wasd;0,-1,wasd;0,0,undo;0,0,undo;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,0,undo;1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,1,wasd;-1,0,wasd;0,0,undo;1,-1,wasd;0,0,undo;1,-1,wasd;1,-1,wasd;0,-1,wasd;-1,0,wasd;0,0,undo;-1,0,wasd;0,0,undo;0,1,wasd;-1,0,wasd;0,0,undo;-1,1,wasd;-1,-1,wasd;0,0,undo;-1,0,wasd;0,0,undo;-1,1,wasd;0,0,undo;0,1,wasd;-1,0,wasd;0,0,undo;-1,0,wasd;-1,-1,wasd;0,0,undo;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,0,undo;-1,0,wasd;1,-1,wasd;0,0,undo;1,-1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,0,wasd;1,0,wasd;-1,-1,wasd;-1,0,wasd;0,-1,wasd;0,0,undo;0,-1,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;0,0,undo;1,-1,wasd;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,-1,wasd;0,-1,wasd;0,0,undo;0,-1,wasd;0,1,wasd;0,0,undo;0,0,undo;0,-1,wasd;0,1,wasd;0,0,undo;-1,0,wasd;0,0,undo;-1,0,wasd;-1,1,wasd;0,0,undo;0,0,undo;-1,1,wasd;0,0,undo;-1,0,wasd;0,0,undo;1,1,wasd;0,0,undo;1,0,wasd;1,0,wasd;0,0,undo;0,0,undo;-1,-1,wasd;0,0,undo;0,1,wasd;1,0,wasd;0,0,undo;0,1,wasd;1,0,wasd;0,0,undo;0,0,undo;1,-1,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;0,0,undo;1,0,wasd;0,0,undo;-1,1,wasd;-1,1,wasd;0,0,undo;0,0,undo;0,1,wasd;-1,1,wasd;0,0,undo;0,0,undo;0,0,undo;-1,1,wasd;0,0,undo;0,1,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;1,0,wasd;1,0,wasd;0,0,undo;0,0,undo;1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,0,undo;0,0,undo;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,0,undo;1,0,wasd;1,1,wasd;0,0,undo;0,1,wasd;0,0,undo;-1,1,wasd;1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,0,undo;1,-1,wasd;1,-1,wasd;1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;0,0,undo;-1,1,wasd;0,0,undo;-1,1,wasd;0,0,undo;-1,0,wasd;0,1,wasd;0,0,undo;-1,1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;0,0,undo;1,0,wasd;1,-1,wasd;1,0,wasd;-1,1,wasd;0,1,wasd;0,0,undo;-1,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;"
  },
  {
    "path": "officialworlds/solo levels/roc fren.bab",
    "content": "{\"width\":13,\"version\":5,\"extra\":false,\"map\":\"eJyV1NuOgyAQBuBXMb3YbBMu5OCpDc9irJKsWbYYD0kb47sviK2a7cL0wrtvEIZ/qFQgVVnIIOfj2NdS8EP3PcgDuvEE1RXH6M5D1DWirAvJxwlVdcvxhF5Zoi0GWqotAVqmLQXaSNsYaGNtI6BNtGX/2/7W5xdhNDM6faMTmbYJ0OJQ49S9jY/nLjB2Lz1vurgYT2ZP3H6xdLbU3ehWlatl7sv+s48I2my7fOznw9oUwE2W6kc0slv/kLqTYmp2B87ciTW+a5RqnkcmISwx2YzxO5jAJs1iCgujxcwdxj0GDqbFwMm02HOhe5zC3hKLM/fjZ67xdDRcT5p500L/vJ0+Nx77Y2Vzvnjij+7jAEsF9QdRf5sC5o6WKfgqxLYiep2v6dyKfmivQX4W1+oXWZ0kcw==\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"roc fren\",\"height\":9,\"author\":\"Slabdrill\"}"
  },
  {
    "path": "officialworlds/solo levels/roc fren.replay",
    "content": "-1,-1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;0,-1,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,0,undo;0,1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;1,-1,udlr;1,1,udlr;1,1,udlr;1,-1,udlr;1,0,udlr;0,1,udlr;1,1,udlr;-1,0,udlr;0,1,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;1,1,udlr;0,1,udlr;-1,0,udlr;-1,-1,udlr;0,1,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,0,numpad;0,1,udlr;0,0,numpad;1,-1,udlr;0,0,undo;0,1,udlr;-1,-1,udlr;1,0,udlr;0,1,udlr;1,1,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;"
  },
  {
    "path": "officialworlds/solo levels/rule bender.bab",
    "content": "{\"width\":15,\"version\":5,\"extra\":false,\"map\":\"eJyNld9ugjAUxl/FeLFlCTG0UMEZnsVUqY6Egak1czG++2gPoyOL7XdBwsXvg3POd/7U/aLtD7Jd7Kr73TStqpbmZnYnLS/L5FalSVNXLPkeXi5ndWhkW90fSd3oij2SkZ+xfGBLkM0GlrHnsA1keJv43PI8wt/MxAvLZ2H+SzZmtVpNmrXV5PEEmIWLAQ58f8aWQLIHraSZFBsg3Q+pvIClQMJjQUnAwGy5ozni1/C8eEkG5DD/SQ7kMNWJJALMInO0cxiFrcOB8OewtXiNwtbdDQjzFCjjXnmeAUXcy70XcLCEuaOtq0X4611vtOyOvf70MsRayoJ41FfhaOsrDBdY9QkugbivHt9EwnZr56rrSZGlYKJrRzNs6xDMwz05jSvRGRhI4egcmySCRbhn5vAas4dg6yUD7hPRiJl71b0aL4kZ+vuD0h2pNGzPuH+JZdi1JJgDkb+/eT5mph83Ruc1Dy+7f7zAJm6kracCpsEBHekSbIERRyb0JLuTk7hLKTZwbYiPdMEUENEsvlBPuu/PTuKOnuDxgI5adZc/kizSmT4H4nPQX6LBAWfu4Ai0G9wlEJFu8J0/8uUTgx9brcxVd4vdVnX1D0bmpik=\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"rule bender\",\"height\":15,\"author\":\"Slabdrill\"}"
  },
  {
    "path": "officialworlds/solo levels/scraps/#8008.bab",
    "content": "{\"width\":24,\"version\":5,\"extra\":false,\"palette\":\"default\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":18,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"author\":\"Slabdrill\",\"parent_level\":\"\",\"name\":\"#8008\",\"map\":\"eJyVmt1O4zAQhV8FccHuSr2IE9uxF/VZUKDZLlK2QSX8CfHum3jGjR21mcP9d2jsMz8em11/1fUPTXd1t/38HB67dns9vA9398399eZ9W2wed1u1+diqevP81D48Nt3282uzezxu1deG+bemm1g1seXIVhhajajGUD2iBkPNiFoMtSMKLqseUYehbkQ9hvppYwuMHbkRVpfh4Fo786BrZYAn20qQrdYt7prmdYb1usk5bNZtzmELGU1sLexdBk8GKjkwCQ4WyqEZ4DJYuPLNk4UvMy45OOH7vnlrPp6651lWYsZXAZ7MlDeGWL0eJNEegg0WJQRbLEoIrtejZNqVt34/8w7KXWI9FigBroKdctYQHMyUKyPBJRaCBFdCVGWwBmKKd08HgYEChFiLBQjBNRYgBLv1AJlrH+FesDxZoC6wIkyw5CJ9SNcNs6QUKsTi27Vk55mfQEylnzCBxzwlFvSUYNBTggFPh/Z9mAV+veIvVmmK9fY+4YfkzxsF1QliSygOZr7C2gTB5+2szuWoDQLMT2JBPwkW/ORDIrFu3Z1TyBLtgQ3c9yfeFtgGEny+cVZLuA7wZKWc/sRi3ZJYoVtmrNAsM9ZivYHgGts2gh3WSAj22B67cHo+3ykvwGCnJBjslD7AmH3EYvYRi9lHrHDUyVjhpJOxQvplrIcGn8C6AhpniFVYKyW4xE5PKoygDhwWCdbr69v/7Z+HP8f2kEjMuWWaC3/fCusMBTpTSANIMryRwAm7E7pXTxWSJUhJvZl5XwipM/G/fyUChRUTRbMtVlcZxjKTYSw1GTb4KYMVVp4v2tf2+KESDZapDGOpyjCWq4rvCLBsjTSYrxEvseEo4hWY4IxrrOxH3GCFX9GYXghll/Lv8GNINaCpTAuu5kWHNaC5RCvQXKZRcxlHzWUcNZdx/S23wkUQUmkYt9jBRVWE13Is8GAQFQ6LBKaFOSWnS2FMWdAKiwGmUVMZr+CpJiokXydFHCmiBjWXccnc5KM0KWqsPzAtjKELGsxYoumGCKhpjCswjg3hJfblTFdYDDOtsRhm2mC7wrTFYpjpGqxjjDvkpEVza5R4sJYRriVTp1/41zfHVIMenRgvgZjvXkliSQKeoJjW6xakm8QKA9rAuAUrD+M1cNy9SQUO3FDGPZhZYbZV4eoIWCvTCtt6prGnlkgLjy0LWnhtWdDCc0t+YmEN9uoS6fpbtMOqCNNeDuHm2B92icaCd70RV2BhYFy6FFzgFTJ//UwVGgx6xg1QRfgeUTmS2PXAz4/JrKnXw3++yYsCh2UA0x7rW0SHmyYg4phWWMQxXcoRl+cM6yow6hhHzlQ3qQA9UDGOnpY94TW2R0wLr995ALEGfQYn3CH3FqerEdag/Zdxqf/GV13694hwObWyRad3a8Yng+WHhkifvZnKV/uS8tLl1OLP19hkFnGw70Yc7LslDfUem4UijT3YRPpC9n7dHtvh5Xi4urttD7v/EAh4JQ==\"}"
  },
  {
    "path": "officialworlds/solo levels/scraps/#8008.replay",
    "content": "0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;-1,0,udlr;0,1,udlr;1,1,udlr;0,-1,udlr;-1,0,udlr;-1,-1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;0,1,udlr;0,-1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;-1,0,udlr;0,0,undo;-1,-1,udlr;-1,0,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;1,0,udlr;1,1,udlr;-1,0,udlr;0,-1,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;1,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;0,0,numpad;"
  },
  {
    "path": "officialworlds/solo levels/scraps/bad corekt tutorial.bab",
    "content": "{\"width\":6,\"version\":5,\"extra\":false,\"author\":\"Slabdrill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":6,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"bad corekt tutorial\",\"map\":\"eJyN0t8KgyAUBvBXie4GXmTW/oXPEqVnTCY5zKARvfvUttpG5O68+H36cY5cRVKxSkYlHQYjJNDY9KY872LU0wQJTjF62EN7ByYqSYcRcaEpHtGHZkrDzbgEdok0nKireubEcrLNm+XyzOrsV+df2kDvfep8vl3mVcTTvaVpoDfM+hCurYW5gl4ix7Xuaw8Qp0/hMXYzxkm4znsuUwCHyzAl9aWTLpP5zB+bnX5O7jlZ52OhwXS6icoCGv4EmkPZ8g==\"}"
  },
  {
    "path": "officialworlds/solo levels/scraps/bad corekt tutorial.replay",
    "content": "-1,0,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;-1,1,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,-1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,1,udlr;-1,-1,udlr;0,-1,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;0,0,undo;0,0,undo;-1,0,udlr;-1,1,udlr;1,-1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,1,udlr;1,0,udlr;0,-1,udlr;-1,-1,udlr;1,0,udlr;1,-1,udlr;1,1,udlr;-1,0,udlr;-1,1,udlr;-1,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,-1,udlr;0,-1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;1,1,udlr;0,-1,udlr;0,1,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;"
  },
  {
    "path": "officialworlds/solo levels/scraps/brok miror.bab",
    "content": "{\"width\":11,\"version\":5,\"extra\":false,\"palette\":\"default\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"laav be floe\",\"is_overworld\":false,\"author\":\"jill\",\"parent_level\":\"\",\"name\":\"brok miror\",\"map\":\"eJyNl9FuozAQRX8l6lslHjDGBrfiWyJSaILirSvqqomi/Httj1Nvdim+b3k418T3zjDMYDbavPR6s+0uFzvpsXv46vVDcerKYho6Vpzdj4/38WXqdXe5FsM0d+xaLKCVQxmGcodWGFo7lGOocGiNodKhAkMbh0oMbR3aYKhyaIuhrHSsAlmfFwMDYyExMDLmM2NgaMynxsDYmM+NrQRnT3Z7nOadV7CgkFBVEttAZUksFiCxKnNF/6/teLI/iqoE7rkbPV8FHus9YrHmI5ZDtyQ2F6T/z4d+tEmBpPnpcR5wLEpiM1Hu5umY4BZ6GxCr1h25FV+AeYm1GMEM8O9OUEFFonVwvA4SDllIbA3VCbECqhNiJdbwBDdwI4jAt9AFiVXrF9SjteO83f0I6hKqE2LZuiPx8GMSVFitEMyBWrnVOClqwMi9+XP+6s9eJINIQG4SKyE35yRoIDeJzbxt4+FTEijMzQCLEnBzb2wSMMDMgwlPaIKggowklq8bmSqe8HrJRrF8dKZN/z1aLpr4y9kNYOKrNvukaOHebgOvIBMDK8u8iQfjiiYpGOQjsVXex9d5GvZDknDMS4KRUfqXMxIZpO/GzNbo8BQVVNg8JTY3T29jhmhsoBKbGaj3JzfgRCUYmahPj4nPDdTbRx197GOzNMLYMI2wgHaeCEto64lw5p0b31kRXkzxv4qNsILWJILbElqUIpyZpPdwBS1LEebQthThOlN5d961Amv3SEtsu4p0g61XkW6xz61Iq19a4Po8j/Zzfttsn8e34RvleE4Y\"}"
  },
  {
    "path": "officialworlds/solo levels/scraps/brok miror.replay",
    "content": "1,0,wasd;1,0,wasd;1,0,wasd;0,0,undo;0,0,undo;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,0,undo;1,0,wasd;0,1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;"
  },
  {
    "path": "officialworlds/solo levels/scraps/c9ke factory.bab",
    "content": "{\"width\":11,\"version\":5,\"extra\":false,\"palette\":\"default\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":5,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"author\":\"Slabdrill\",\"parent_level\":\"\",\"name\":\"slice factory\",\"map\":\"eJyVk10LgjAUhv+KdBPBIDc/0mK/RSwXDJbKWlSI/z13FrOCPHrnxfO49+w9q5pANadSBQXvOiOV4CvzMMWxPK7Ig4dEVpyS5/BxbcVJlop3Pamk5rQnn7iwNLU0w2klRzwacIbi28wL8SDE08LNwszCyZzo9dp4IcX/7uNEVthNn/C+R0AzfNRrq6TxQo6HuW/PWtTWiKGqcNbtu/wJGEi7PzTDZ3C7kAIe4XH2G4vvAI/nbprDk1m7M/JLys3AQNr92h9nZPgZboQc8HxBX2CwEB/60pR6FOiCqSk8ePbnDfcHLcxN10FxEHX1AhnaawE=\"}"
  },
  {
    "path": "officialworlds/solo levels/scraps/c9ke factory.replay",
    "content": "1,-1,udlr,e3swLCAtM30gLS1bW3RhYmxlOiAweDBhMDljYzg4XV19IC0tW1t0YWJsZTogMHgwYTA5Y2M2MF1d;1,0,udlr,e3swLCAtM30gLS1bW3RhYmxlOiAweDAyZDJlNmI4XV19IC0tW1t0YWJsZTogMHgwMmQyZTY5MF1d;1,0,udlr,e3swLCAtM30gLS1bW3RhYmxlOiAweDA4MjQzMzkwXV19IC0tW1t0YWJsZTogMHgwODI0MzM2OF1d;1,1,udlr,e3swLCAtM30gLS1bW3RhYmxlOiAweDBhMjk5MmE4XV19IC0tW1t0YWJsZTogMHgwYTI5OTI4MF1d;0,1,udlr,e3swLCAtM30gLS1bW3RhYmxlOiAweDA4M2EzMGMwXV19IC0tW1t0YWJsZTogMHgwODNhMzA5OF1d;1,0,udlr,e3swLCAtM30gLS1bW3RhYmxlOiAweDBhMjU2YzkwXV19IC0tW1t0YWJsZTogMHgwYTI1NmM2OF1d;0,-1,udlr,e3swLCAtM30gLS1bW3RhYmxlOiAweDBhMGFlOTEwXV19IC0tW1t0YWJsZTogMHgwYTBhZThlOF1d;1,-1,udlr,e3swLCAtM30gLS1bW3RhYmxlOiAweDBjZjRjNDkwXV19IC0tW1t0YWJsZTogMHgwYTY4OGFmMF1d;1,1,udlr,e3swLCAtM30gLS1bW3RhYmxlOiAweDA4M2IxYzkwXV19IC0tW1t0YWJsZTogMHgwODNiMWM2OF1d;0,1,udlr,e3swLCAtM30gLS1bW3RhYmxlOiAweDBhNjc1MzUwXV19IC0tW1t0YWJsZTogMHgwYTY3NTMyOF1d;0,1,udlr,e3swLCAtM30gLS1bW3RhYmxlOiAweDA4ZjA2NTE4XV19IC0tW1t0YWJsZTogMHgwOGYwNjRmMF1d;-1,-1,udlr,e3swLCAtM30gLS1bW3RhYmxlOiAweDBhMDExMmY4XV19IC0tW1t0YWJsZTogMHgwYTAxMTJkMF1d;1,-1,udlr,e3swLCAtM30gLS1bW3RhYmxlOiAweDA4MzVkNjM4XV19IC0tW1t0YWJsZTogMHgwODM1ZDYxMF1d;-1,0,udlr,e3swLCAtM30gLS1bW3RhYmxlOiAweDBhNmE5YmIwXV19IC0tW1t0YWJsZTogMHgwOGYyM2E2OF1d;-1,0,udlr,e3swLCAtM30gLS1bW3RhYmxlOiAweDBhMjNjZTMwXV19IC0tW1t0YWJsZTogMHgwYTIzY2UwOF1d;-1,0,udlr,e3swLCAtM30gLS1bW3RhYmxlOiAweDBhNjdiMzk4XV19IC0tW1t0YWJsZTogMHgwYTY3YjM3MF1d;-1,0,udlr,e3swLCAtM30gLS1bW3RhYmxlOiAweDBhMjU0MWY4XV19IC0tW1t0YWJsZTogMHgwODI5ZDY0OF1d;-1,0,udlr,e3swLCAtM30gLS1bW3RhYmxlOiAweDA4ZjNmODgwXV19IC0tW1t0YWJsZTogMHgwYTBiOGQ0MF1d;-1,-1,udlr,e3swLCAtM30gLS1bW3RhYmxlOiAweDBhOWU4ZTgwXV19IC0tW1t0YWJsZTogMHgwYTllOGU1OF1d;-1,0,udlr,e3swLCAtM30gLS1bW3RhYmxlOiAweDBhNWQyMTA4XV19IC0tW1t0YWJsZTogMHgwYTVkMjBlMF1d;0,1,udlr,e3swLCAtM30gLS1bW3RhYmxlOiAweDBhOWJiZWM4XV19IC0tW1t0YWJsZTogMHgwYTliYmVhMF1d;-1,-1,udlr,e3swLCAtM30gLS1bW3RhYmxlOiAweDBhOWQ4M2Q4XV19IC0tW1t0YWJsZTogMHgwYTlkODNiMF1d;-1,0,udlr,e3swLCAtM30gLS1bW3RhYmxlOiAweDA4MmJkN2U4XV19IC0tW1t0YWJsZTogMHgwODJiZDdjMF1d;-1,1,udlr,e3swLCAtM30gLS1bW3RhYmxlOiAweDBhMTU4Njc4XV19IC0tW1t0YWJsZTogMHgwYTcwMDcyOF1d;1,0,udlr,e3swLCAtM30gLS1bW3RhYmxlOiAweDBjZWNiNDc4XV19IC0tW1t0YWJsZTogMHgwOGZiNzQ4OF1d;1,0,udlr,e3swLCAtM30gLS1bW3RhYmxlOiAweDA4NGY5ZWMwXV19IC0tW1t0YWJsZTogMHgwODRmOWU5OF1d;0,1,udlr,e3swLCAtM30gLS1bW3RhYmxlOiAweDA4NjM2ZjMwXV19IC0tW1t0YWJsZTogMHgwODRmNWMzMF1d;1,0,udlr,e3swLCAtM30gLS1bW3RhYmxlOiAweDA4ZjdhZDY4XV19IC0tW1t0YWJsZTogMHgwOGY3YWQ0MF1d;1,0,udlr,e3swLCAtM30gLS1bW3RhYmxlOiAweDA4MmU1MTkwXV19IC0tW1t0YWJsZTogMHgwODJlNTE2OF1d;1,0,udlr,e3swLCAtM30gLS1bW3RhYmxlOiAweDA5ZmYzNDk4XV19IC0tW1t0YWJsZTogMHgwOWZmMzQ3MF1d;1,0,udlr,e3swLCAtM30gLS1bW3RhYmxlOiAweDA4NTkyMmU4XV19IC0tW1t0YWJsZTogMHgwODU5MjJjMF1d;1,0,udlr,e3swLCAtM30gLS1bW3RhYmxlOiAweDA4NjE0OWU4XV19IC0tW1t0YWJsZTogMHgwODYxNDljMF1d;-1,-1,udlr,e3swLCAtM30gLS1bW3RhYmxlOiAweDBhOTJhMjYwXV19IC0tW1t0YWJsZTogMHgwYTkyYTIzOF1d;-1,-1,udlr,e3swLCAtM30gLS1bW3RhYmxlOiAweDA4NDQ2MzkwXV19IC0tW1t0YWJsZTogMHgwODQ0NjM2OF1d;-1,0,udlr,e3swLCAtM30gLS1bW3RhYmxlOiAweDBhMGExZTMwXV19IC0tW1t0YWJsZTogMHgwMmU5ZWRlOF1d;-1,0,udlr,e3swLCAtM30gLS1bW3RhYmxlOiAweDBhMDEwNGQ4XV19IC0tW1t0YWJsZTogMHgwYTAxMDRiMF1d;-1,1,udlr,e3swLCAtM30gLS1bW3RhYmxlOiAweDBhNzQxMTcwXV19IC0tW1t0YWJsZTogMHgwYTc0MTE0OF1d;1,0,udlr,e3swLCAtM30gLS1bW3RhYmxlOiAweDBhNWJkNzEwXV19IC0tW1t0YWJsZTogMHgwYTViZDZlOF1d;1,0,udlr,e3swLCAtM30gLS1bW3RhYmxlOiAweDA4M2FhNDQ4XV19IC0tW1t0YWJsZTogMHgwODNhYTQyMF1d;1,0,udlr,e3swLCAtM30gLS1bW3RhYmxlOiAweDBhNzZkZGEwXV19IC0tW1t0YWJsZTogMHgwMmNiMDFjOF1d;1,-1,udlr,e3swLCAtM30gLS1bW3RhYmxlOiAweDBhMjZkNjQwXV19IC0tW1t0YWJsZTogMHgwYTI2ZDYxOF1d;1,0,udlr,e3swLCAtM30gLS1bW3RhYmxlOiAweDBhMTE1YjQ4XV19IC0tW1t0YWJsZTogMHgwYTExNWIyMF1d;1,1,udlr,e3swLCAtM30gLS1bW3RhYmxlOiAweDBhMjUzNGY4XV19IC0tW1t0YWJsZTogMHgwYTI1MzRkMF1d;-1,0,udlr,e3swLCAtM30gLS1bW3RhYmxlOiAweDA4NGQxNWE4XV19IC0tW1t0YWJsZTogMHgwODUyZDVmMF1d;-1,0,udlr,e3swLCAtM30gLS1bW3RhYmxlOiAweDBhNjAzZjQwXV19IC0tW1t0YWJsZTogMHgwYTYwM2YxOF1d;-1,0,udlr,e3swLCAtM30gLS1bW3RhYmxlOiAweDA4ZmI0YTI4XV19IC0tW1t0YWJsZTogMHgwOGZiNGEwMF1d;1,0,udlr,e3swLCAtM30gLS1bW3RhYmxlOiAweDBhMWExMDY4XV19IC0tW1t0YWJsZTogMHgwYTBmMmE4MF1d;1,0,udlr,e3swLCAtM30gLS1bW3RhYmxlOiAweDBhYTAyNWUwXV19IC0tW1t0YWJsZTogMHgwYWEwMjViOF1d;1,0,udlr,e3swLCAtM30gLS1bW3RhYmxlOiAweDA4ZjgxMmU4XV19IC0tW1t0YWJsZTogMHgwOGY4MTJjMF1d;1,1,udlr,e3swLCAtM30gLS1bW3RhYmxlOiAweDBhOWY4Y2U4XV19IC0tW1t0YWJsZTogMHgwODYwNjY3OF1d;-1,0,udlr,e3swLCAtM30gLS1bW3RhYmxlOiAweDA4Zjc1YTM4XV19IC0tW1t0YWJsZTogMHgwOGY3NWExMF1d;-1,0,udlr,e3swLCAtM30gLS1bW3RhYmxlOiAweDBjZWZiMjg4XV19IC0tW1t0YWJsZTogMHgwY2VmYjI2MF1d;-1,0,udlr,e3swLCAtM30gLS1bW3RhYmxlOiAweDA4MzBkOWM4XV19IC0tW1t0YWJsZTogMHgwYWE1ZjM1OF1d;-1,0,udlr,e3swLCAtM30gLS1bW3RhYmxlOiAweDBhOWFkOWY4XV19IC0tW1t0YWJsZTogMHgwYTVkOTNmMF1d;-1,0,udlr,e3swLCAtM30gLS1bW3RhYmxlOiAweDA4MjYyZTAwXV19IC0tW1t0YWJsZTogMHgwODI2MmRkOF1d;1,-1,udlr,e3swLCAtM30gLS1bW3RhYmxlOiAweDAyYzcyYjQwXV19IC0tW1t0YWJsZTogMHgwMmM3MmIxOF1d;"
  },
  {
    "path": "officialworlds/solo levels/scraps/cant doo much!.bab",
    "content": "{\"width\":9,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":8,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"cant doo much!\",\"map\":\"eJyN1s1qg0AUhuFbCdmUggvnz9EGryWYaINUNOiEpoTce2fmCxhKo98ui+eAeXM8pB423XCsus2+vN1c2zXl9rvqtsm1TJO2LkXy4z9M5+bYVl15uyd1O5binvxDpaeCo8pTyVHtqeKo8VRzNPPUcNR6mnE099S+pu7q9ofqELgIvKDaRipSKi6soOrCSiovrKL6wmoqMKyhCsNmROImcBm5XU4c+FT10zyQL3cOA+dqcvNAsRz76TePXqbLwf98ASmo5rCS6gir1jteglZRa2pTYc16weMwNl+uf3PzVEbtLKyldhY2X+4XnsY116cHKajFjValyxEfVkfLHVJY7pLCrpzS5y+IAe6gwq5c1Mdiw2bU9sHa9e17eBN9TsWDLah40eqU2jpYwb644HJ98T7eZ66otYPV7A3MIjdUPNiMP38YsOvr99kNp3kgZzOCF9T9i9ak1AbCivWG/XAawoCNA5KqCKuoFYTV1ArCGurVhc2ocLCWWj7YnIoMW1D3MY9/yFKqL6yg+sJKqi+sovrCaqovrKH6wnJnFPbFGb3vxsZdxn6z3zV9/QvnrfIZ\"}"
  },
  {
    "path": "officialworlds/solo levels/scraps/cant doo much!.replay",
    "content": "0,-1,udlr;-1,0,udlr;0,0,undo;-1,0,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,udlr;0,0,undo;-1,0,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,-1,udlr;-1,0,udlr;0,0,undo;-1,0,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;"
  },
  {
    "path": "officialworlds/solo levels/scraps/defying gravity.bab",
    "content": "{\"width\":21,\"next_level_after_win\":\"\",\"extra\":false,\"compression\":\"zlib\",\"author\":\"szoob\",\"height\":15,\"version\":5,\"map\":\"eJyN2Utu2zAQgOGrBN0VMFBRL0otfJbASdRUrRAFjvsIgty9MmdoSQ4p/jsvPhrSkBwNhw/jzTDeH4ab2/3b26kfuv2nv4fh0+7fPtv1D3uze51+vDx39/1h2L+97x7649687wI0n6hhtJhozmg50YLRaqIlo/VEK0btRGtGm4laRtuJNoyabLIttOf5MnDCjJsxOGXmPGcGTpo5z5qB02bO82bSE2ccrtGCFGvRihTbbC/Jn4d+gVsWOIfzjAVOsGGBE5yzwOUOFyhwYksUOLEV2stiaxYKwZaFQnDDQlE43G6H4vTvdHt3uLv4IkPhEGu2w3HXDcNp1vl2Glg9RZHY2u6x139fsngLhtuwdDixDeVZZs52otjETlzZNvGCV89RZmxNCTYsIJXDeTogv2ddoHiILVE8xFYgHs/jeDyNw2JUnYjKedTjePh7eH0eXuZhlsWndrhB6Udsi6LjbJWh6Ig1bDsIztlSEVywUFiHy/RSWfkKhUNsjcIh1oZKq2J+jn5hm1BtVYT/tw0VV2FbZ6HqKmJNqLyK2GBijdgiVF9FbBn88kcw2Y33P7pfx3lIaiuu/h9uwMbhxAacM6VwtgedtYk92N/fjfJVEm62190lIqLz7ZWnq1Rssf05XdnwTEbekMzkInoWTqNgOI2tw2Aan8bHcR7AJtLZhiVTsYlZXNkcZQSxBcoIYkuUEcRWKCOIrVFGEGuDZVkENyx9CCbFzeqz7Ia1sMYRDGscI4fWRJGzxqzGUcyKHMUV6gkortGXS7Hd7gucI/69P/p0poOa7Q6B+55/+X7snhZj2u1WwXnMnDaN9gGyRHq7JCE/wGx3DtzrDOPjckjOGgieF/AkrBweSDyv4GlYeQ0XsxziM0u+iHqe8mMatqhVt2xVi3Z9HvCyqg3qdnkdzMBRHczBUR3MwlEdzMNRHczEUR3OxVEezsZRTvLxpU8kY3KYjD2n6TgXDg6dPw7daTkEZmXVibS8zIU6IpibP5RrXteoYPPawvlS3uCizY9o4WwJl74QmK1CeKKXfn4c/8I6grXUvWZdda+DjfWP30XVwd56VAfb61Ed7LBHdbDJHtXBPntMl8FOe1QbVsx5noPl+Kd/6U+XUkEHFnBVKi/hqiyFV6ymU12zFanashWpOrVfrzjdrMIrulkr4WCzLgo0HQT3q2q4X1WnSqdVMadjaP2knNZPtXBUPy0HwOJJNSyeRNepW5YPT1PTqxbl8LLFWOGJ6xb/aX759doth7GbF68Tdy9z9ao+8bm9+ncLQvr183JEA0OqvIUhdW0S49pMIFOpNiySqnO22FTDu1DP4W2o5/Q+tBUOb0RVwztR1fRWVHnLTjCiG3oxqpzuV+X0clTOjg28HlUNL0hVwytS1TUKotcWHQO9btAx0OsWHQNVu75T+hjotUGpyOscHQO9Tt2UXnHYCfY81Qu+4rAV7HmsGfz+7didfh+fbm6/dU8P/wEQbK1Q\",\"music\":\"bab be go\",\"is_overworld\":false,\"level_number\":0,\"level_sprite\":\"\",\"name\":\"defying gravity\",\"palette\":\"space\"}"
  },
  {
    "path": "officialworlds/solo levels/scraps/defying gravity.replay",
    "content": "-1,-1,wasd;0,-1,wasd;0,-1,wasd;1,1,wasd;1,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;0,-1,wasd;-1,0,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;0,-1,wasd;1,0,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;"
  },
  {
    "path": "officialworlds/solo levels/scraps/echolocation.bab",
    "content": "{\"width\":24,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":13,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"garden\",\"parent_level\":\"\",\"name\":\"echolocation\",\"map\":\"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\"}"
  },
  {
    "path": "officialworlds/solo levels/scraps/echolocation.replay",
    "content": "1,0,wasd;1,0,wasd;0,0,undo;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,0,undo;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;0,0,undo;0,0,undo;0,0,undo;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,0,undo;0,0,undo;0,1,wasd;1,1,wasd;0,1,wasd;-1,-1,wasd;-1,0,wasd;1,0,wasd;-1,0,wasd;0,-1,wasd;1,-1,wasd;0,0,undo;1,-1,wasd;1,-1,wasd;1,-1,wasd;0,-1,wasd;0,0,undo;1,-1,wasd;0,0,undo;1,-1,wasd;1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;-1,1,wasd;0,0,undo;0,-1,wasd;-1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,0,undo;1,1,wasd;0,0,undo;0,1,wasd;1,1,wasd;0,0,space;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,0,undo;0,0,undo;0,1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,0,undo;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;0,0,undo;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,0,undo;0,-1,wasd;0,0,undo;0,-1,wasd;1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,1,wasd;-1,1,wasd;0,0,undo;0,0,undo;-1,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,0,undo;1,-1,wasd;1,0,wasd;0,-1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,-1,wasd;1,-1,wasd;1,0,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,0,undo;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;1,1,wasd;1,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,-1,wasd;"
  },
  {
    "path": "officialworlds/solo levels/scraps/eruption.bab",
    "content": "{\"width\":15,\"version\":5,\"extra\":false,\"palette\":\"volcano\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":10,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"snad be hote\",\"is_overworld\":false,\"author\":\"Patashu\",\"parent_level\":\"\",\"name\":\"eruption\",\"map\":\"eJyN101u2zAQBeCrGFkUKaCF+CeKDXQWQ47VwIBqBa6TODB891Lzxkm9sPh2XnwUrEfNDLmdVuP03I+rdXc+H3fj0D0cT8f1pt88VKeurnbbzlSf+cff1+F514/d+VJtd4fOXCrlH/34RW2m5j4d+/79y7psLfdYn6njaMjUc7TJNHA0ZtpwtM00khGkbNN9KxsxzNrIPtTURsCa5Z3Q/YW11E7AOmorYP1yFDc2lKN4m7UV3VBJwMblJG5sS70dbKI+H7G2ppKANctJqHViLZUDrKNygOUKDjZQOcA2VA6wkcrBi22pHGATlYNYV1M5wBoqB1hL5QDrypVxbSpBFngqDNhAhQHL9UvYSL0gbMt2wUZ4ol5PrK+p14M1VBeEtdR3AeuoiQTrqYhhAxUxbFOO+NfjzKPwSEUM21IRwyYqYrGBKz1YQ0UBa8tR/Jh1K9pRScD65STmJ/8ep5fvBYGKA5brnLCFzjn/kT9Tf5gXJFnAtU/YQvv8rlbhiasqsQ03JWG5KWlw0OPGpOLCnJRa+fmf91R9K+aKVnGhaq9YDlANV7OKuaJVnLj/LDjW5W/vukCOO5G7XSgu3C+u5aWau2Eo5o48irlbhmJubirmbhqKC3eNW8xfNuT81ZK3DeDCdeMWc9NTMTc+FXPzU3Hgogbm+q9iogHvp5dJVsghr+U6sGLuBAuc7hTk5ekwHN8O+9X6adhv/wHhBkiT\"}"
  },
  {
    "path": "officialworlds/solo levels/scraps/eruption.replay",
    "content": "1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;1,0,wasd;"
  },
  {
    "path": "officialworlds/solo levels/scraps/facink.bab",
    "content": "{\"width\":10,\"version\":5,\"extra\":false,\"author\":\"vitellary\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":11,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be u them\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"facink\",\"map\":\"eJyN1E1ugzAQBeCroKxaiQXY5i8RZ0Ek0AjFwhUBNRXi7jUeIGWB/Raw+myN3mOolCfVrZRekY9j38g6P/WvvviS6n7yX3noN5V+/ern+V3fmlLm4+RXTZeHk7/4n1JulGnKjunzMbwt15Zj1wpNBUYjTSOMxprGx3TO4VpeN55onjh4velU69Suhw1nGmfI1cz0EUCFkA3tjaxFE2b2Stb6CHMoabLCHfXOR2jWxGN32K26q/eBxB34+XPm3PAUCpxsZg/8v2UBtAJkQ2gHyDJ73DvL7VHvrLDnvLMR8E3TdgnjYygLsgmUBdnUPYdU6lH285HIHMmgUYzlATQK2dA9yrpisTng2MflcrLcPsiSNVkBdU4W6dGsYmI4ViNZrEayQI3nj5mnhmMVGiuwCsmG0E+PLLaFZLEtJIttIdmD9qZLV/dD13rFpW6rP9vJqsQ=\"}"
  },
  {
    "path": "officialworlds/solo levels/scraps/facink.replay",
    "content": "-1,0,wasd;-1,-1,wasd;-1,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;"
  },
  {
    "path": "officialworlds/solo levels/scraps/flog pls.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"flog pls\",\"map\":\"eJydmk1u4zAMha9SZDeAF5Yl+WcKn6Vwk0wmAyMu0hRtUfTuY4lUUstK+JxNV9+TZZKmqJduhod+WHf9w1P79XXa99t2tf7b7Q+r7KPNs/2mVdlnW2evL9v1vuvbr+9ssz+2NlsP/XBsV7tjt/1cfWexVDlpsUT63vVOWDihHoUmFqokakbUYqgd0RJDyxGtMLRKvWQarUe0wVBl3W5VgdJuw0qjtNuzuhHgcxq145uRzmNYSxXgpSp3T7pT6ypvFgBQ60pvFo5rWg4OKYXaG/9eWKH4JqxQfRNWKL8Ji9UfsUIBRjF0eVd3Jr7wiYczP9mlNULp/+t+BKBQydLXZ/q5e77AhQBPN1IL3wnTxi+NFQ6xWOEQixUOsVjhEIsVDrFY5zIUNY11LqbTGblGN0JGTh+npz/9sHMS67fepDrBbHnP6hxKIbHqdgq56ogtoBQSqxewBko3sRZKN7Hl7XS7IE/er0p2ikiwdXzp+RrKCbENlBPPmhz6rIhVUJyJLaA4E6tvx3nCGiDOl7AZC4R5N3Tv3edL/+pklZeVULSJraBoE1tD0Sa2gaLtWZtD0SY2OZ2m3813GiHabxdaC8HmpWsPGyhsxFoobMSWQtjOBUJ4BUWO2HoB20BR9myZQ0dF41kFhY3YAgobsVgPJRbrocRiPZRYoYeexyWi0x1UnLVIXC+atSJxkzytMXGVp8cpTKySZ7koVv5aWhV33UpYrO+6lrDY3HUvYbFNXkyu4sneLUzRLMVaOcNYL2cYa+YE11g3Zxhr5wwL/TzA3oqohen8OKx/wNh4zrDQz6crSw19snJ1G56ujPVzhpvb8GTlJocmGobBDBK8JIPKnxbAvSLg4MUi4Bq76ylvoTTYZY9hsJwIxq57DGP3PYaxCx/DqFXA+J1eAalVfpdbwGI/cSB2QXgYaBgEHK0j3o0B64j9MbCQmAYriWmwlJgGa4lpsJiYxvwDpmkYAj50xkHvM+B2gYWgyHbIMROBaYXZCIEWjAS3ndCPWYHZCYHGhuFAY+NwoLGBONCArRApcGNBWVJg1kKgMXOB6QKzFwKNGQyBxiyGQAsmw/QtC9hmCALEaPj9yytKUmAeQ6DB0ZRpcDZlWhhOz1824RocT5lWi+jk71/XguKNPyFLh2E3/JQYzKNgnK56s1P2Gl5J52qEp4/VOV7R3i1WA0yXWA0wLQzOEQ1OzkxjXgjTRnBDLoMQ82rRHDV92BUfIDEI8cOK9NV/NggxDvr6jFfo3FTT6oKFFtHCpSuihVtXRAsuWkTXWD0w3WCDENHeLEA+WMal380iXAsJuhSn92uUN2bnYZRm/IL+jcCmz8NI/f143J7ejoeHp8ftYfMf8QGwcA==\"}"
  },
  {
    "path": "officialworlds/solo levels/scraps/flog pls.replay",
    "content": "1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,udlr;1,0,udlr;1,0,wasd;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,wasd;-1,0,udlr;-1,0,wasd;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,wasd;-1,0,wasd;-1,0,udlr;-1,0,wasd;-1,0,udlr;-1,0,wasd;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;"
  },
  {
    "path": "officialworlds/solo levels/scraps/fort wog.bab",
    "content": "{\"width\":15,\"version\":5,\"extra\":false,\"palette\":\"default\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":10,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"author\":\"Patashu\",\"parent_level\":\"\",\"name\":\"fort wog\",\"map\":\"eJyV2N1u4yAQBeBXiXqx6kq5MBgMtPKzRE7iraxaTZQfpaso776UIbXZncDZu158oHAMw9DtbjHuNt24WLXX62kY+/bp0o1Py8+2Wg7bVix/+z+O+34zdGN7vS23w6EVtyVDpacCo7WnEqPK0xqj2lOF0cZTjVHjaYNR66nBqPPUYlRU3rqiFcFi34ss9sHIsl+s5q3i1ma+7enztDq+n2cDNLRAGWyTX+DX5Jfd2+QNt8g68et+4ja/znW3nqyDNlGwsipnMvsZUkCJ1MHKciI0NfE6H0gytcqncf+KhHX+pKa4yZ/VFBsoaLK2HPTL88QdFLQKRasCtl43vk8DBBQ1WYlFTbjG0iOsoKpEVufTS2wDRaeDNeXofkzaQrmRdVhuAasqv5FSLPKFP8USCplsXd6iiVdQ0E2wmgu6ZrY/8QZKmqzJJx3K+tjvpwEWOrZk2fuQq4+Ba+xKNMFiVyJZ7Eoki12JZIEr8WP3tpsGYFeiDbZwJSaWvQ4f2MJdmFgHtWnBNhXUp5EV0B4iK6FOjWzhDCYWO38uWPb8PbDs4ZtZamPIFg5fYi33LR5Yx9Utw1pT6GHmazNsA/OPFdRhFzqYFLP9yyNcaGBSjL0fImZfEI9mxt4QEWOviIixdwRhCz4kQlNuC2UzVGTqhuMA8DlBuFA8v2b/NdLmiyMUVAki1liGodm2wJOC7p7osRoacaGIfi+StOO2IPdaIe8qbGMRFvlQzsPquO828+llfnf5EZduOM0G1NgOC723U+XczzOusdgJN+X99fJz5sETShg8oaFNdg4rboqe+hW2yKgF9H+Uu5bQHX3XhTfGXxo8nVFrLO2om/+IW1QGq4hRW37D3l4P/el8+FisXvuP7R8cMVEL\"}"
  },
  {
    "path": "officialworlds/solo levels/scraps/fort wog.replay",
    "content": "0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;0,1,wasd;-1,1,wasd;0,0,undo;0,-1,wasd;-1,1,wasd;-1,1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,0,space;0,0,space;0,0,space;0,-1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,-1,wasd;1,0,wasd;0,0,undo;0,-1,wasd;1,-1,wasd;1,0,wasd;0,0,undo;1,0,wasd;1,-1,wasd;1,0,wasd;0,0,undo;1,-1,wasd;1,0,wasd;1,0,wasd;1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;0,0,undo;1,-1,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;"
  },
  {
    "path": "officialworlds/solo levels/scraps/hold the fort.bab",
    "content": "{\"width\":12,\"version\":5,\"extra\":false,\"author\":\"Slabdrill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":8,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"hold the fort\",\"map\":\"eJyV1l1rwjAYBeC/Il5t0Ism/Uir9LdIP7IhdK3UynTif1/MUaKw7T27ES+elHBO+jbduOjHtu4Xm+p8nre9rZbudxkdqzjadpWKTu7Pfmfbbd1X50vUbadKXaIfqHZUcTRxVHM0dTThaOZoytHc0YyjxtGco4WjRqTqSksqV09VLAR7nDfDqIJXVBGwmmoCNhGqcPuYxjZ4rjpYrjtYrjxYrj1Yrj7tLdeft5ror7GBc/XBcvXBEvU9boNrD5ZrD1Zor6mbYA3VNGxBNQ1bUk0nflTFVNOwUnUu4vex/qxPu34fVnGDE5abnLBSg2437fhhn/aSUa3D5lTrsFyTsFyTsFyTqf+ScE3Cci8hLPcSwkov4aNNqXxhMypf2JzKF9YI+boz9DbZobf+DBm/pqDygC0Fex1KmAjeZzGVH6xiBx64puKGTQTrHr16CTyl2oGVmnSPnu1xvi4o/IKcihvWEHHbwAsqbdiSt3ksx2eH5hQWKKobWC0HuHoNPJE5Iik9T6m0YTM57UPQORUgrPmHLYgDNdXDV1hRyivuF05ckWPuFgms2DN485q7RgITl5znrXND9oaFe8799uuvkyb/+3PzjH+Zs5f1ZOfDNCw2azt039y+iWQ=\"}"
  },
  {
    "path": "officialworlds/solo levels/scraps/hold the fort.replay",
    "content": "-1,-1,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;1,0,udlr;0,1,udlr;1,1,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;-1,0,udlr;1,0,udlr;-1,0,udlr;1,0,udlr;-1,0,udlr;1,0,udlr;-1,0,udlr;1,0,udlr;-1,0,udlr;1,0,udlr;-1,0,udlr;1,0,udlr;-1,0,udlr;1,0,udlr;-1,0,udlr;0,1,udlr;1,1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;1,0,udlr;-1,0,udlr;1,0,udlr;-1,0,udlr;1,0,udlr;-1,0,udlr;1,0,udlr;-1,0,udlr;1,0,udlr;-1,0,udlr;1,0,udlr;-1,0,udlr;1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;1,0,udlr;-1,0,udlr;1,0,udlr;-1,0,udlr;0,1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;-1,0,udlr;-1,-1,udlr;0,-1,udlr;1,1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;0,-1,udlr;0,0,undo;0,0,undo;-1,-1,udlr;1,0,udlr;0,0,undo;0,0,undo;0,1,udlr;0,1,udlr;-1,0,udlr;-1,-1,udlr;1,0,udlr;0,-1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;"
  },
  {
    "path": "officialworlds/solo levels/scraps/i don c no pumkin!.bab",
    "content": "{\"width\":29,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"leef be blad\",\"is_overworld\":false,\"palette\":\"edge\",\"parent_level\":\"\",\"name\":\"i don c no pumkin!\",\"map\":\"eJydnetuG7kOx1+l6IezWCDA8dxndpFnKZzEm/qs4zEcu2lQ9N2PPaLmovnzIn0rCv5EWSNRFEkpL/2XQ/+8PXz59vjr12V/2D1+vfy8fPt3e/n68PNx87B/ecwePm//eD/tnvfbw+Ov3w8v+/PtP5/7Q39+/Pr8udsej19/PxB9++/Dy8jmkB2F76qedqN0cZPOeOll06UsfG/6OgpXN+Hc2nItC99b/tgfR/HmJl7K4ttzf5zab29AJQPz8e9u4rV5DLPNTbyRxV/77cf283R4n6j7R25DqllQp8P28k9/npj7x82Ur7uChm+sfLen7fGp7ydm+NTKF/nnvDsedrNfdP/kN20W6PjHbLbfv36mfM+P/97JO5MNTIOmeTUip+vbv/uZeAsH26+op8P2+XlaULMRdPR9PnQ8ff6YrcZpJAc23yA2M2rOM1nzkp7mpYO12RJ2tcDyRm2lMs1CbRWWN2qrlQkaamuwvKAtmEJ5q8zuUGOH5e0ai42yLgKNRYblBY3P1/P7MKj50ADcOyrOujim0E3300zFfZYoJuK1f/u8GcuJqXRzf+wv1/NxQmqDoXw99/1pQhqDmQyQ1mAl5z+emRJ44xqQUpsDk4pikIeuA7KLTjxHG2PlZ8zH9/0FGicHF2ibbDA8zVXHlnCLtbEV3G9tbI02AiPbiKZcZlvZtspwJ5tKEa42suWT4Uw2Ykt4sUIcn5uNppMvZBO21kdum6NLw2I59tkdKAegUlbLNOOdPPRTxxn/er4e4XJxcIPgCsPTsnZsq/wyGoZqEO6gn84dH2b9HPB6E/Ejp+/n2AzuBjY2h1uDjS3gFoFZOkk4sIQnA21xOLYSWbnDtWj/ZLYR7Z/MQkfYyEI32MY2G9n+yXAm2z8ZzmX7J8OFbP/Wi/a5f9vRMc+1oNmkUGMlW8C1xsvu57D26wGv5eP/bLE7eWiUdIvm4DZitU+eh2M7NIlHxaf9ER+LBrjdiMe58273gj6pY+G5e+z06Xo+8Wwusv15e3wVel2Ivf7cHQ49r7oUVStwJWpWBhu6TAwcKoYuk5HFLpMRxi6TDe6wy2SEsctkhHO4+hl4iotQOKUZ2ij0CCC5C05es1BjqM6JMwaKb58J73D+iLOipLIdWoDBngyYFifeio7EMlwzm+0O7pAnoXo/rQsEbkQ3hPv0BGdQM9vTbJOLXeXCUgRDj8kKy16T8juh29Tw8jWUN/a0Ef0spactPODy8jBubOwpE0W29XQIJq93U14+F3dfpadwH7P2FO5jQk/lrUvpaS16rEpP8d7Fy7dJUWKCO9k/lruaY++a7+sQVxb2VrmzLrDM++NKZ3E+QugsjixbO1ulbeZE4ziz0FkcaLZ2lgkyGzuL44t8Z12EmfdV5M4y8WaGHoLH2/3xMmuA8XbWngfJM9EhUQfj3fARJRd26RwNA0Qo+kryNQy9AE+F5HHQeZbg2V2hr0I4DkA3nGs1fUHiO2WyyupLxU9e4qHyUnGUl/QyP0It4PmDztYE4AnEqBxnH8GW6OL7ZXe4fB9SMpRINcygNaTkw2eJIgIaJayz3X3iLCPx8t4V8LO8E+FyglTDK2b7MvM4PqQnaAnH25ldfZFm8j2Oc+129TjtblZfy3igfmFifRONPVFJBI5nc0rHlejxLmYjIKhmUmn8TkCB4swVAdS4KgfG4jySy+t4dYD3XAFPsPiI7JkSnj2DrSrQgyPYy4TOvHLFczh6veD+M5fHEeuF/P71SCaJGByplj4Qjk8viJvZu86QRkuvhqPcMDl24BFkuSOUgqyZLSegEA/Xy+Dm3JQTDjOramzU01XSEdbTclZD0w1niVl3K56fNd1d0jGTaByPtupulSIfRXcunnE13VrNj6K8lHFNu1YDpGivZVzTrtUEKdqZ6g+rdq0+SNbe4aObVXun1Aot8eV2Si1ozvdkOgmIOr15KPr4dur78+WmemikcI0YfHC/lRBhKEidNixiGsOm7eutPNMaNu3p2xFkKE8NOpdvDDWqiyHINzhPthzr2e5DlKVCddU5S4Vq0DtLgSplITyiJS6mCUuApS410MF4wuyBvD+/uJEoHd/KM3Ulj0s9WPkM1nYI8pk8p1fyMCUhyGNfh5fHZWO8PC4V4+VxeRgvj0vCeHmmDIwHmNIvFsiZci8eYEq8eEAz/Pdl8b89WeDKMUpO8nbee5+Ll1CcOR2GMLb2TBXstOiJVgoo0I/D6UlcUTA7HxDdyks4/HVycZc8NC7emzo0Lt5r7mmBD79CNfL1QvscNaCUFq/6V8ryYf8qaNuMI1mLcPDjQhjfXzHC+C4L+w2fFnO1wL6DTXUppygVWK67UWD5kKPAcfcaQlrLPi3p98v1bU7j7JNYkx98slJLQa2ARjlZrHWGvcZpqOXlpHCccEyu4ca1wqEX6W7L7A5Q7dpQQnLTyJA8jsUIKl/7y5yH1+UqXh++MadNPIKrGEu/Uo1PMEbV+ChjhPGZRjVQRHdp5s3RQ4w33rwRDIsorLBcGshZCYKLJPNGsBKDUei4a1ghzVzDElYUOT/EM9ly/gMrCXJVoZYiXxFMiLjihoSLEEtGxt+ZyBrXhHIPa9RI4ti51hwZgmVXm/v8BEeZqBDGuXLJ/n/fP3+ft4BvVIDJQ/JyvbLyW7skm+jgVi4MZK0a0VmMTQxV55Em8cccLuTzc6irTLKgBMNKLyssV3ppA9xEmdAV3ka5iCscV2GY7m1SE0zFMvKECFAudll0ane7gk/ExX9jVFpKMMh6t45QbniNfSRxfPrXDBrBchyAW2kEK5G/UJccBmBn3EAXGxwG1JYawTgmaIRxgNDabzk1qqiWr5wqsHznVIHlS6cBPKaoCYYhRm4GFxtYyWMeYKUMVf6dQ3R5bQcrI51BGybQP+Y0c82L/amZcrVLGalMSUwBa0Y3T7PONWC1TCSeZpkIjrVMCxgHKI2aE+2Uo/M0O0Vwmp0iONFOER1lp1Z0lKFa0WmWiuAoSxXC8v14rd/KDXlFN86TqKbH0QV2nzh6PL0THedLhbqZdIo2bLl7v6mQD38aHRWgWtH4jScrHRVCX9FRMfQVHRVE91/Mw1Ex9FB1XBB9RUdF0Vd0VBh9RcfF0Vc480CQbdCZQLq2wD2Ni1ytNM7qq7R7lafEnr1iWzwctX8Gmquk7dPDSdunh6O2T+/KeRg/5sDqki8jMt61h2G9I69LLnBkVwDR8sMNypDKLzcosPx0gwzXytsNyq+uldcbFOXYrzeuvRo7+drG7uk4H3/UTU9QRdUhhHBUcDSEYVzUCiu3p2UY3p42wkOkPX5TJjhLOd17GF6HVU00wfJ1WEVzmbQwCa4SFybhSvmsohynbtSFSTTO42iHfU9rD6kF2lomh6P1tXC0/BwruiAz1vT7JpRLAKHGSKee6mA8jVM6rDI5iaOMTVSaeVw5BCelmT0clWYO4agscwB3UUnmj8VE6GCOmXlwL9QLrZRxEndpVorgKCvly+M8rFipZX1cqJl5yFE1cYQzjzpacaXEX8PjngAN8HKjXFgTK2Ty0rUBbRfIr3v5qAqZyfIQrZR5rrQlhh+ITgw/EJ1UwefhpAo+D0cFH0abSXBSAR/ByhsjChwVegi6nSUV8Hk4NfBAeGLggei4Cr7wd+PAg1W3cp0AWIDxfEst4Iu2FbuEM8vV2vft2268qZMP9XzlEKsXLM3400hcdqpYQ0O01Z8icfzMvfYRCMZlxerkI1quMlZU10lmhuAmKQnhafj2kZmGr/tZ6UK+TqnR8DqlmWYuMFlx5iqT7ZMVzK0mI828vy9Zi+kJf98IEylllcbFRpcvXFMTdhtFgGajRiM8lOSVJTRN0riMLiw1oNYZ+w6SvOGPcIQq5CMf4yQTm1Rm7OEoL2o8iBOs3JOclgfJR534VnRaZbGn0yqLia6SKos9nFRZ7OGoyuJVv5NKiz2cVlrs6bjS4mDRVvGlxWELzP1utr/xtcXBIq7wgQ8YTyfPPEkiGc9AY42rjZHtJCDm9p5nlMo97oZb3jgcxqOAZ0jiaff3PK3c3wuVNTGmc5xgBCfVE3s4qZ6Y4CaqnjiEo8qJJ4NCdGw98UI1rifWcnUE4yeQ+Z5WaY4g0amRJ8JTI0+Ex0WeVmuuYWqKWYWt8p6EprDFRTDA9JE8tkOS6VvqwzZpoe/HXN78yrEHLO8c//XnQLSOgKYH2DkSjyrKm7pHtLFe2Iun1RE4uEurIyA4rY6A4Kg6gtE8E5xWhefppHJhD8cW4f2YwzWEWV3y23/KGEWVC4ea06qFHV1tcLWwlcbVwpK9Ovav/bwFc8WwB+Iqhmclv76B0mojSR6bIMlGLl5r883gd0yQj0gA957f77/Pu/vf2fry7e/d8eX/ltf+rQ==\"}"
  },
  {
    "path": "officialworlds/solo levels/scraps/i don c no pumkin!.replay",
    "content": "1,0,wasd;1,0,wasd;0,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,0,undo;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,1,udlr;0,0,undo;0,0,undo;1,1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,wasd;0,1,wasd;0,1,wasd;0,0,undo;-1,0,wasd;-1,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;-1,1,wasd;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;1,0,wasd;-1,0,wasd;1,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;1,0,wasd;-1,1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;-1,0,wasd;-1,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,0,undo;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;1,0,udlr;1,0,udlr;-1,1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,0,undo;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,0,undo;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;"
  },
  {
    "path": "officialworlds/solo levels/scraps/meaner fence.bab",
    "content": "{\"width\":21,\"next_level_after_win\":\"\",\"extra\":false,\"compression\":\"zlib\",\"author\":\"vitellary\",\"height\":15,\"version\":5,\"map\":\"eJyV2c1O20AUhuFbQaxaKQvPvw3KtaBAUhTVwigNggpx77Xnm8ERajVvdyyeQcbfmTOew366GqeH3Xh1t31/Px/Hw/b6dXc+XW/ett3muN+aze/5h1/Ph4fjbty+f2z2x9PWfGz+Zu1sDbRuthZaP1sHbZithzbONkCbZhuh7WeboB1m20NruhkPFC/JGRqdydnR8MySnqHxmSU/QwM0S4IGRGiyjqw+hRMrUOGeJS48sMgzth3LXNiwzIUtzFzawcylPcxcOsDMpSPM3GadWObCPctcGMaYsYMxCsMYhWmM0jRGaRqjNI1RmsbosoYxCjd66vntfHe/u199o68ufpymn7vz5xLf6K7LktfduPpWg83PdFh9q8Uu/ubb6mmTlaZNVpo2WZ91BC//sPLENoZwzzaG8AA3RtahgxtD2sDXLW3h65Z28HWHrD37LhEO7JgSBkG+rBrmKNzIUbvnckEry7Wqso+tNBf/ND1O6wqaqDRNVJomGrP27GtXOLDPXeHIvneFEyssYfj9IwwPzowTPDiF4cEpTA9OaXpwStODU5oenNL04ExZJ1ZNwj2rJuGBVVPGfceqSdiwahK2rJqEHasmYc+qSTjAapKOsJqkE6wm6R5Wk/QAq6nPF9COFYiwYQUibFmBCDtWIMKeFYhwYAUiHFmBCCdYINI9OMB+jNPjsmLIK5rbcfy0pmt01fU4NWWY0MxyvNS29RaldR3uGpuyfKpX3W6t+uVWvBmotJOO8LbtxZu3kvFS9+2XfvP9csFAb9FBQ5yOPU7RBv6tUdzC4UnhDg45Cvf/9zABDjqSeGPwUzdS5Yk1rsrhCK9yOMUr3MI5XuV0klc9neVVTy+appf3sGwKD3DqVnjjjvKVw0tK5fC6WTm9cBbv6JWzenpFqZ5eUqqn1xSjQ8TRaAun0RYe4Ui18AQrofBGL/7KB1gJ4nk6hCqheEMroXhLK6F4RyuheE9HrGVmH+CQtfAIx6yFw3+nVA7bceWwHRceYDuunLbj6mk7rp624+rp5K/6f83+Pm5Ph/PL6enq7vbwtP8DXbNCgw==\",\"music\":\"bab be go\",\"is_overworld\":false,\"level_number\":0,\"level_sprite\":\"\",\"name\":\"meaner fence\",\"palette\":\"space\"}"
  },
  {
    "path": "officialworlds/solo levels/scraps/meaner fence.replay",
    "content": "1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,-1,wasd;-1,-1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,1,wasd;-1,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,-1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;"
  },
  {
    "path": "officialworlds/solo levels/scraps/miror.bab",
    "content": "{\"width\":11,\"version\":5,\"extra\":false,\"palette\":\"default\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"author\":\"vitellary\",\"parent_level\":\"\",\"name\":\"miror\",\"map\":\"eJyNl9FuozAQRX8l6ttKPGAMxt6Kb4locRMkp66oqyaK8u+1PU5oNiy+b3k418T3zjDMYDfGvvZms+3OZzca3T199+apOHZlMQ4dK07+x+eHfh17050vxTBOHbsUC2jlUYah3KMVhtYe5RjaeLTGUOHRBkNbjwoMlR5tMVR5VGIoKz2rQDbkxcDAWEwMjIyFzBgYGgupMTA2FnJjK8G5o9u+9C9BwKJAQEVJbAtVJbFYfsSqzA3Dn3b66G6KqkSuqQNfRR5rPWKx3iOWQ7ckNpdj+M/7XrtZgYT5FXAecSxKYjNRphIhVkLvAmLVuiEHrQ83mJdYgxHMAPvuBBVUI8ZEw+so4ZCDxNZQmRDbQGVCrMDaneAW7oMm8hK6ILFq/YJGO6en7eEmqEuoTohl6448Hl5htUIwB2rlWoqkqAEjd/Zw+u5PQSSiqIHcJFZAbupZ0C652SwfnnnZPh6uFt1cPr0pATd31s0CBpi5t/EJbRRUkJHE8nUj54onvIZsJDbTpv8eLTATCW4BE9+M3c0KCfe2jLyCTIysKPMm7q0vmlnBIB+JrfI+vk3jsBtmCce8JBiZpL+cEcgc/bB2ctbEp6iowsYpsblxeh0zRGMDldjMQL0/uQUnKsHIRP37Z+ZzA/X6TUef+tgsTTA2TBPcQBtPggW08yR48Z07w+mdleDFFB8qNsEKWpIIliW0JiU4M0nv4QpalRLMoV0pwXWm8u68kw3W7okW2G6V6BZbrhItsc+tRKv/tMDledLua3rfbJ/1+/ADtbNNDg==\"}"
  },
  {
    "path": "officialworlds/solo levels/scraps/miror.replay",
    "content": "1,0,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,1,wasd;1,-1,wasd;1,0,wasd;-1,1,wasd;0,1,wasd;-1,0,wasd;-1,1,wasd;-1,-1,wasd;1,1,wasd;1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;1,0,wasd;-1,-1,wasd;-1,0,wasd;-1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;1,1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;-1,1,wasd;0,-1,wasd;-1,1,wasd;1,1,wasd;-1,0,wasd;-1,1,wasd;-1,-1,wasd;1,1,wasd;1,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,-1,wasd;-1,0,wasd;-1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;"
  },
  {
    "path": "officialworlds/solo levels/scraps/moar lies.bab",
    "content": "{\"width\":7,\"version\":5,\"extra\":false,\"palette\":\"default\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":7,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"author\":\"Slabdrill\",\"parent_level\":\"\",\"name\":\"moar lies\",\"map\":\"eJyN0t0KgyAYBuBbic4GwtKs/YTXEpYeCE6HM2hE9z5/htvBlp158Hwvr58yXUg9Uln0ZFmskJyUdrY9VSWYSQUEIxA83eFx56OgkiwrYMIQuIIvPXCvodfIafRfS8GP54Rrh/F2tBvwHHmOdzShQ+KN4+02p0Yr5gdqP9Dm82+amuRP23d9dwn0nL9pXGLQl3zztEgc3qjKV58+GubzY5smcJQPT3XiRL3zF0SN88u5HjxvA29+11k7w+1kVNF3XLEXBK70PA==\"}"
  },
  {
    "path": "officialworlds/solo levels/scraps/moar lies.replay",
    "content": "1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;0,0,undo;0,0,undo;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,0,space;0,0,undo;0,0,undo;0,-1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;|e1sibGllLzgsMCwwLDEsMjYiXSA9IDMsIFsibGllLzgsMCwwLDEsMzYiXSA9IDE0fSAtLVtbdGFibGU6IDB4MTNkMTE0MThdXQ=="
  },
  {
    "path": "officialworlds/solo levels/scraps/moar lies2.bab",
    "content": "{\"width\":7,\"version\":5,\"extra\":true,\"palette\":\"default\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":7,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"author\":\"Slabdrill\",\"parent_level\":\"\",\"name\":\"less lies\",\"map\":\"eJyN0t8KgyAUBvBXie4GwtL+rC18lrD0QnA5zKAhvfu0xtluym68+p2P78jhOlG6ZyppqXNWKkFTO9tWSZGimWIkuX/eNEPjS/SSKeoWxKWheEF/vPtp4jXZ1z74WgPOPS6Oo5nRAw8DJAwUJ7qwDnjpeXXMoVAeBqp4/lMzAx7nx+t+y6z2Fl92+8dV1/Hqmy6Cvsd7T4BxFs9+XAIvV37iAOAXt4mdI1gaI+xkhqRtxMA/y8vVpg==\"}"
  },
  {
    "path": "officialworlds/solo levels/scraps/moar lies2.replay",
    "content": "-1,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;-1,1,udlr;-1,0,udlr;0,1,udlr;1,1,udlr;1,1,udlr;-1,0,udlr;1,1,udlr;0,-1,udlr;-1,0,udlr;1,0,udlr;0,1,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;1,0,udlr;"
  },
  {
    "path": "officialworlds/solo levels/scraps/mooner fence.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":true,\"palette\":\"space\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"sno be man\",\"is_overworld\":false,\"author\":\"jill\",\"parent_level\":\"\",\"name\":\"mooner fence\",\"map\":\"eJyN2t1u3DYQhuFbMXKUAnsg6oeSEuy1GJt4GxhRvIGzRhIYvvdK/IYW2aae96wHjwqv+Gk4w/DucrNcPp+Wm9vj8/P1fjkf3/08XR/fHX4dm8P93TEcfq//8eP7+fP9aTk+vxzu7h+P4eXwJ9uuNkDbrbaFtl9tB+2w2h7auNoB2nG1EdpptSO082onaEOz4pnibeUCXbqQ1o4uXthWL9DlC9v6BbqAYVvBAJYwJB1ZPoXHtwN6/XW9/XT6tPvJC96y29kL3m7bhgVPOLDkCbcsesIdy55wz7InPMDsSUeYPekRZk96gtmTnmH22lTCGpY94QCyd955i6In26HoyfZe9Ao7sOQJR5Y84ZElT3hiyROeYfKS7huYPOkAkyfdwuRJdzB5XdK9l7xlt4MfvG9PD+sjX/dnIkqfLNwZhZ2tsajA8s72uPnlcvl6+nn6/frQ4GyT20PlLxi8nXL/NuW9vXLzH97vnu6W0nS3lPZ3y/RD+4TdzbKwzl6Z/wphsqznncOmJ+EImx5h2vRI06ZHmi6jNF1GabiMQ8Kw5xEeWa8hPLFvWXj2F/3pVY8NW3PhQL7g8oEWf8LyHfiEHy5fLvsTPVx96QGuvnSExT8mPbLRSdhtYUvs9rAFnmATKwybWGHYxArDJlYYNrHCtImVpk2sNG1ipWkTK02b2DHNnw1Lk3BgaRJuWZqEO5Ym4Z6lSXhgaRKOLE3CI0uT8ATTJD3DNI06F2hgnIwHmCfjLQzUJN6xkJjuWUpMDywmpiPLienRC8pS4MkLSolnFhTpdMpDkmI8uFEp/hSd87yZlFJ3blBK3Ts52TbVv5fLl+2RWY+4x3VLgd0Rs8TuiFlid8QsMR0xxVt/xiz+560/Y5banzFL7c2Ye5MU7FDQ/TiXUruVttJuqa20W2sr7RXbNKH9VT4xszdpPB39eK9SI2DQ8WA6/wGv0rTbAlXa7YEq7TZBlfa7IPFWnI2YWbOSmzWruVm7RbfUvV90xTtx959FKg1X0zRcTdNwNU17q5mPv43HP34Vw39PT3v5kb0W05N3xFBpZ9ys9eCOm5V25s1/aW/YfH0rg3zH3orpnr0V07DmmoY11zSsuab9Brfifodb8kg73BDl4QdqGv7LZeYdGyky72lezA/w1RiPrGXIfIQ7nfEJNv9Bw0I6FQIvXjqdCoFfajq8Pavm3jJzOIBm3nnTQvW39DADxgc2WGYe2adneqQBMz/B6TL7GSZMPJ0MkYQZDzRhGjPS8RD5scY7FjHTvXccUmk4jmYO59HM3e6o5m57VHM4lBqf6VSavT+W1t4fTGvvj6a194bTV69hKR0bkZ9rPLKUmXaPcCsNryGYhoe44m1D7yIYp7cRjNP7CMbpjQTj9E6CcXwrwTy+l2Ae30wwj+8mmMe3E3QbK9D7CcadGwr5aoDpFkU4a/dMsNLwTDBzWIUzh1U4c1iFM4dVOHNYhY23tApnT6tw9rQKZ0+rcPb/V4VfPj6er0+PDze3H88Pd/8AVZVNjQ==\"}"
  },
  {
    "path": "officialworlds/solo levels/scraps/mooner fence.replay",
    "content": "1,0,wasd;1,0,wasd;1,-1,wasd;0,1,wasd;1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,-1,wasd;-1,-1,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;1,0,wasd;-1,1,wasd;-1,1,wasd;0,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,0,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;0,0,undo;0,-1,wasd;1,1,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;-1,-1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,1,wasd;0,-1,wasd;0,0,undo;0,0,undo;0,-1,wasd;1,0,wasd;1,-1,wasd;0,0,undo;0,-1,wasd;0,-1,wasd;-1,-1,wasd;1,1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;1,-1,wasd;0,0,undo;0,1,wasd;1,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;-1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;"
  },
  {
    "path": "officialworlds/solo levels/scraps/navigation basics.bab",
    "content": "{\"width\":11,\"version\":5,\"extra\":false,\"map\":\"eJyN1lFvgjAQB/CvYnxbwgMtbSkzfBbDgC1kTBbETGP87oOeiqXXoy97+t3f0muvq7pN25VFu9nn1+vQtHW+bZvDNjrnLGqq8c8l59Hxty6bos2vt6hq+pzdIoTykSZhNBmpXFKNUjFStaTqSYu+755W0vY1Vo00XVKOx6a0fY3VI9X+PbBiM9reY7npQjxatrSJkwuY0dgKnpomljbFbYLtg2fBU9syv/1su68ZSxrbX6cw7HQjMTbFdsINBqxpbAVn9LWwgnmMYacfYBnWD19wWPPAolfOFyww7FwksOil055ghWHPitFr5wvWNLaCM/q43a0wgwq9eB7L6AF4rNty6GeOzktnyWATrNPuXgAWNLaC0e55vg+dme4RArzSPSsYnZruMAaMjk0PFjGG8VUIFnQspLE86FiARXvnsYGvHeCw5w4sOjWdRShj06A3H6wOevTBZthUSZ2PM1jGNH4NlgzbCOEJ5jS2gldePDtYYFjiwZJ++4fzsH+Ep6ZA0QduKni8qVCw0sSpYB5IUKLpgzqVfNQT14Zn60t64SpeT//qfi5/xWWqyUwN+p+M/yf4+jef5vAkYIeG03c5V4j1ive3mUv8i2+7vh5O/WGz39WH6h9HDdKe\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"navigation basics\",\"height\":11,\"author\":\"Slabdrill\"}"
  },
  {
    "path": "officialworlds/solo levels/scraps/navigation basics.replay",
    "content": "1,1,udlr;1,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,1,udlr;0,-1,udlr;-1,0,udlr;-1,1,udlr;0,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;-1,1,udlr;1,1,udlr;-1,0,udlr;1,1,udlr;1,-1,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;1,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;"
  },
  {
    "path": "officialworlds/solo levels/scraps/rotary.bab",
    "content": "{\"width\":11,\"version\":5,\"extra\":false,\"palette\":\"default\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":11,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"author\":\"Slabdrill\",\"parent_level\":\"\",\"name\":\"rotary\",\"map\":\"eJyN1duOgjAQBuBXMV5s3IQLSstJw7OYItWQbahBjLqGd98eSAvIdrjz4hv9O9OpldhwcaJ8cyze767mrNiWjPNuGzyLMKirAgUv+eF2Zaea8uLdB1XdFrgPBtw9u+NZtJVobUUkK+J5RWwrxhRLms0psnSahEiMPqI4/aBcWaRs7M+gUpfM6sQfQ+kvi1OJczBFpGgmafR/ijHNJSX+wEPjNJd9WHlAw5E/tOJDGqx95E/uvt5wNUfs5424CFdA4ONeROc8MM9JdjXNxH/WcfZ05fCNzlZNn2irZorA0NpGIdxBuw2mAsEtPHNxcQXAXk7i4KUezudDH/R15TdVFesqsvRWfPyCsfHSgadt/2HM+QQ+bjni6arDGpv5DzuxaqapP8Z+ZzkOF98s50taKpxojJaW7uNuGRvB92X/7TiGnwuznoaTVR0xNvZ3ZLCptourORui6YjxwFurfNfS5ldVZLoCeHL1QenL+Ry+huZaaU5CONBd6Vxr4NW1C43M/1vkX59hHQaM/ZdFP7msmtYQ/y2Y54kXL2/a94eWdfe22RwPrKn+ADPnwtg=\"}"
  },
  {
    "path": "officialworlds/solo levels/scraps/rotary.replay",
    "content": "1,1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;-1,-1,udlr;1,1,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,1,udlr;-1,0,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;1,1,udlr;-1,1,udlr;1,0,udlr;0,1,udlr;0,-1,udlr;1,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;0,-1,udlr;1,-1,udlr;0,-1,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;-1,1,udlr;-1,1,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;-1,0,udlr;0,-1,udlr;1,-1,udlr;-1,-1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,0,udlr;1,-1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;-1,-1,udlr;1,0,udlr;-1,0,udlr;1,-1,udlr;1,0,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,0,undo;0,0,undo;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,1,udlr;1,0,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;1,0,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;0,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;-1,-1,udlr;1,-1,udlr;-1,-1,udlr;0,1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;"
  },
  {
    "path": "officialworlds/solo levels/scraps/sadd citty.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":14,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"sno be fall\",\"is_overworld\":false,\"palette\":\"mono\",\"parent_level\":\"\",\"name\":\"sadd citty\",\"map\":\"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\"}"
  },
  {
    "path": "officialworlds/solo levels/scraps/sadd citty.replay",
    "content": "1,0,udlr;-1,0,wasd;-1,0,wasd;1,1,udlr;-1,-1,wasd;1,-1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;-1,0,wasd;-1,0,wasd;1,0,udlr;1,0,udlr;-1,0,wasd;-1,0,wasd;1,1,udlr;-1,-1,wasd;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,1,udlr;-1,1,udlr;1,0,wasd;1,0,wasd;-1,0,udlr;-1,0,udlr;1,0,wasd;1,0,wasd;-1,0,udlr;-1,0,udlr;1,0,wasd;1,0,wasd;-1,0,udlr;-1,0,udlr;1,0,wasd;1,0,wasd;-1,0,udlr;-1,0,udlr;1,0,wasd;1,0,wasd;-1,0,udlr;-1,0,udlr;1,0,wasd;1,0,wasd;-1,0,udlr;-1,0,udlr;1,0,wasd;-1,0,udlr;-1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,-1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;1,1,wasd;0,0,undo;-1,1,wasd;-1,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,-1,wasd;0,-1,wasd;1,1,wasd;1,1,wasd;0,0,undo;0,1,wasd;1,0,wasd;1,0,wasd;0,0,undo;0,0,undo;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;1,0,wasd;1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;-1,0,wasd;-1,-1,wasd;0,0,undo;-1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;1,-1,wasd;0,-1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;-1,1,wasd;0,-1,wasd;-1,-1,wasd;0,-1,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;0,0,undo;0,0,undo;0,0,undo;-1,1,wasd;-1,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,1,wasd;0,0,undo;-1,0,wasd;0,0,undo;1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;0,0,undo;-1,0,wasd;-1,0,wasd;-1,1,wasd;0,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;1,1,wasd;-1,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,-1,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,ijkl;1,0,udlr;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;-1,0,wasd;0,0,undo;1,0,udlr;-1,0,wasd;0,0,undo;1,0,udlr;0,-1,udlr;0,-1,udlr;0,0,undo;0,0,undo;-1,0,wasd;-1,0,wasd;0,0,undo;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,wasd;0,0,undo;0,-1,ijkl;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,0,undo;0,0,undo;-1,0,wasd;0,0,undo;-1,0,wasd;0,0,undo;1,0,udlr;1,0,udlr;-1,0,wasd;0,0,undo;1,0,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,wasd;0,0,undo;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;0,1,ijkl;-1,0,wasd;0,0,undo;1,0,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;-1,1,udlr;-1,0,udlr;0,1,ijkl;-1,0,wasd;1,0,wasd;0,0,undo;0,1,udlr;0,1,udlr;0,0,undo;0,1,udlr;0,0,undo;0,0,undo;-1,0,wasd;0,0,undo;1,-1,ijkl;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,wasd;0,1,wasd;-1,0,wasd;1,0,udlr;1,0,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,0,undo;0,0,undo;0,1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;1,0,wasd;0,-1,wasd;1,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;-1,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,0,undo;1,1,wasd;0,1,wasd;1,-1,wasd;-1,-1,wasd;1,0,wasd;1,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,0,wasd;0,-1,wasd;-1,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,1,wasd;0,1,wasd;1,-1,wasd;-1,-1,wasd;1,0,wasd;0,0,undo;1,-1,wasd;1,0,wasd;0,1,wasd;1,1,wasd;0,1,wasd;0,0,undo;-1,1,wasd;0,0,undo;0,1,wasd;-1,-1,wasd;0,0,undo;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;0,0,undo;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,-1,wasd;0,-1,wasd;1,0,udlr;0,-1,udlr;0,-1,udlr;"
  },
  {
    "path": "officialworlds/solo levels/scraps/shuffl puzzl/Shuffl.bab",
    "content": "{\"width\":15,\"next_level_after_win\":\"\",\"extra\":false,\"compression\":\"zlib\",\"author\":\"Adr\",\"height\":8,\"version\":5,\"map\":\"eJyN199OgzAchuFbWTzShAP6v2i4lgWhzkVcJ3ZxuuzeZf0Riwmh3wlHT0l5Q0vp/Kb3bdNvtvXlEva9q+++mv6uONes2Hfj5bsui8+ja/dNX1+uRbcfanYtFigfKcOoGCnHqBypwKgaqcSoHqnCqBmpzlJ+o3Y9VjiH7XPz/McrKFikrFwvFm/tEmdQYLJ8Pdvt1sGdQxogoHhkJVRPRKuAfC5xDeUja/L5Hu8Tt9BLR7bK55vNmpdQPLIMiiej5fl4p6QF1I6szLf7CIkrqB1ZnW/X+nd37D/TGAMFJGuhgCraCtrpohUllI9sZinenvE4+ODaNo3hUEOyAtr1yEqoHVkFtdPRZpZi3EKG5vCTRhjoCclaaNYm2syeOm2/0crFPVX8m/Wu+U6eQXMmy6E522gzizHuIL07pQHYN5GsgiZSRauhJUDWQEuArM0vgcG5Lg2ooAeMVpXQ+0+W4TEUh97/8cN8wyK/+/4fILHDEmGV7/fqQ3CzIRo7NhE26wnf3PzO2GqccIVFpDNZiX7/J8+whoQ5cAJ4mHmBBSQs1wN2fphhbEVOWGMB42FLm3zAg9/52QiLJSRcrSec9lbCplzqp5bvbNh6v5fe72Ya21snLLCA8cBlJPa3Q1hh7Qhr7I+HMPZxnLDF/noIV1i6iG25nO76NLhwGg6b7ZM7dL9/+LZT\",\"music\":\"bab be go\",\"is_overworld\":false,\"level_number\":0,\"level_sprite\":\"\",\"name\":\"Shuffl\",\"palette\":\"default\"}"
  },
  {
    "path": "officialworlds/solo levels/scraps/shuffl puzzl/Shuffl.replay",
    "content": "0,1,udlr;1,1,udlr;-1,0,udlr;0,-1,udlr;1,1,udlr;0,-1,udlr;0,1,udlr;-1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;-1,1,udlr;-1,0,udlr;1,0,udlr;-1,0,udlr;1,0,udlr;-1,-1,udlr;-1,1,udlr;1,0,udlr;1,1,udlr;1,0,udlr;0,0,undo;-1,-1,udlr;1,0,udlr;0,1,udlr;-1,-1,udlr;1,-1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,1,udlr;1,0,udlr;-1,1,udlr;-1,-1,udlr;1,0,udlr;-1,0,udlr;1,1,udlr;1,-1,udlr;0,1,udlr;-1,0,udlr;-1,-1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;1,0,udlr;1,1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;-1,0,udlr;-1,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;"
  },
  {
    "path": "officialworlds/solo levels/scraps/shuffl puzzl/frwn be comepls.bab",
    "content": "{\"width\":15,\"next_level_after_win\":\"\",\"extra\":false,\"compression\":\"zlib\",\"author\":\"Adr\",\"height\":8,\"version\":5,\"map\":\"eJyN191ugjAAhuFbMR5tCQf0v8xwLUalW8zYMIqZi/Heh/3IygGh34lHj6R905bSdKu2O+za1ba+3/tjG+r1z65dF7daFMdm+Pmty+JyCofjrq3vj6I5nmvxKGaoHKjgqBqo5KgeqOKoGajmqB2o4agbqM1S+aR+OVZ/67f73f6fV1SwSEW5XCw+OiQuqMCwcjnb89F9uPXpD4qKB6upeipaQ+QLiVsqH6zL53t7SdxTiw62yuebjFqWVDxYQcXT0cp8vGvSimoHq9l24IZqB2vz7Q7dVzi1l/QfRwWE9VRAE21FnXTRqpLKB5vZiikfuKTywSrqwIPVVDZYQ2Wz0WZ2YZoeuKOmB+upIbtoM2fpeOxGq2fPUjUzZHBBDRlWUkP20Wb2YBoGOPcihDXUMKpoLbXuYR217mE9u+7BK2p60ZqSWvewgk9hJLXuh3fxE6v8gYv5jV5z1yNgw8YbveVuScBuOd9nCBPMbcIRV1xAXMFKOiC84AICSyLg68QrLiCwXg7YdOcJ5vbiiC0XMN6trKMDwnsuIHC1HHA8UIFdOVfPzD/ZieV67233MdHciTpixeWLtyunuU8bYMO1A7bc5w0w90Ycsec+cYArLl3EvpxP99icQ389f6+2m/Dd/AGfRKm4\",\"music\":\"bab be go\",\"is_overworld\":false,\"level_number\":0,\"level_sprite\":\"\",\"name\":\"frwn be comepls\",\"palette\":\"default\"}"
  },
  {
    "path": "officialworlds/solo levels/scraps/shuffl puzzl/frwn be comepls.replay",
    "content": "1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,-1,udlr;"
  },
  {
    "path": "officialworlds/solo levels/scraps/shuffl puzzl/frwn be frwn.bab",
    "content": "{\"width\":15,\"next_level_after_win\":\"\",\"extra\":false,\"compression\":\"zlib\",\"author\":\"Adr\",\"height\":8,\"version\":5,\"map\":\"eJyN18tqg0AAheFXCVm14GLulwafJZhoi1RisYamhLx7zRypLkTPxtWHzPzMjGPZ7pr2XDS7Y36/93VT5fufotlnt1xmdTk8fnORfX9V57po8vsjK+sul49sgaqBSo7qgSqOmoFqjtqBGo66gVqO+oG6TaqeNKzH6m/98VSc/nmkgiUqxXqx9Opq4pIKDKvWsz1f/fYycU2lgzVUO52sJeJVE3dUPFi/HQ8zBA/UkoONbLzElaDiwUoqnklWbce7TlpT7WAN2w7cUu1gHdsO3FPtYAPVziYbqSMuWS2ocrAbe3CaHriiysFq6qSDNVQ2WEtlc8lubMBpeuCemh5soIbsk904RMfzNlmzeIjqhSGDS2rIsIoackh2Y/tNwwDnvoCwlhpGTNZR6x7WU+seNrDrHjxS00vWCmrdw0o+hVXUuh8+wk+st89azG/0hrsXAVs23ugddz0C9uv5PqtqhrlNOOLIBcTdS9AB4SUXEFgRAV9nXnMBgc16wLLtZpjbiyN2XMB0rXKeDggfuIDAcT3geKACe7FUzy6/2cv1eu9N+zHT3Ik6Ys3lSxcrb7h/GmDLtQN23H8NMPdFHHHg/m2AI5cu4SCW0z0OXdVfu8vueKgu5R8fZKVf\",\"music\":\"bab be go\",\"is_overworld\":false,\"level_number\":0,\"level_sprite\":\"\",\"name\":\"frwn be frwn\",\"palette\":\"default\"}"
  },
  {
    "path": "officialworlds/solo levels/scraps/shuffl puzzl/frwn be frwn.replay",
    "content": "1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;-1,-1,udlr;-1,0,udlr;-1,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,-1,udlr;"
  },
  {
    "path": "officialworlds/solo levels/scraps/shuffl puzzl/wal be frwn be comepls.bab",
    "content": "{\"width\":15,\"next_level_after_win\":\"\",\"extra\":false,\"compression\":\"zlib\",\"author\":\"Adr\",\"height\":8,\"version\":5,\"map\":\"eJyN191qgzAAhuFbKTvawAPzHze8ltLVbJS5WqxjHaX3PptPFgdivhOPHiW+JDE23abt9rt2s62v1+HQhvrhe9c+FJdaFIdmvPzUZXE+hf1h19bXW9Ec+lrcigUqRyo4qkYqOapHqjhqRqo5akdqOOpGarNU3qlfjzVchu3r7vWPV1SwSEW5Xiw+OiQuqMCwcj3b/dFDuAzpBkXFg9VUPRWtIfKFxC2VD9bl8z0/Ju6pSQdb5fPNRi1LKh6soOLpaGU+3lfSimoHq9l24IZqB2vz7fbdZzi153SPowLCeiqgibaidrpoVUnlg80sxZQPXFL5YBW14cFqKhusobLZaDOrML0euKNeD9ZTQ3bRZvbSaduNVi/upWphyOCCGjKspIbso82swTQMcO5DCGuoYVTRWmrewzpq3sN6dt6DV9TrRWtKat7DCj6FkdS8H7/Fd6zyG+7/GzR3PgI2bL3JW+6YBOzW+32EMMPcKpxwxRXEGaxkv/eTF1xAYEkEfJp5xQUE1usBm66fYW4xTthyAePhyrp8wGP33s3u8FxC4Go94bSnArtyqZ9ZfrIT6/3e2u59prlNdcKKCxgPWE5zfzfAhmsHbLk/HGDuozhhz/3lAFdcuoh9uZzu9tKH4as/brYv4dj8Aj+prFA=\",\"music\":\"bab be go\",\"is_overworld\":false,\"level_number\":0,\"level_sprite\":\"\",\"name\":\"wal be frwn be comepls\",\"palette\":\"default\"}"
  },
  {
    "path": "officialworlds/solo levels/scraps/shuffl puzzl/wal be frwn be comepls.replay",
    "content": "1,0,udlr;-1,1,udlr;1,1,udlr;-1,0,udlr;1,-1,udlr;1,0,udlr;-1,-1,udlr;-1,0,udlr;1,1,udlr;0,1,udlr;1,-1,udlr;1,1,udlr;-1,0,udlr;0,-1,udlr;1,1,udlr;-1,0,udlr;1,0,udlr;-1,-1,udlr;-1,1,udlr;1,0,udlr;-1,0,udlr;1,-1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;-1,-1,udlr;-1,0,udlr;1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;0,0,undo;0,0,undo;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;1,1,udlr;-1,0,udlr;1,0,udlr;-1,0,udlr;1,0,udlr;-1,-1,udlr;-1,1,udlr;1,0,udlr;-1,0,udlr;1,0,udlr;-1,0,udlr;1,-1,udlr;1,1,udlr;-1,0,udlr;1,0,udlr;-1,-1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;0,-1,udlr;1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;1,0,udlr;1,1,udlr;-1,0,udlr;-1,-1,udlr;1,0,udlr;-1,0,udlr;1,0,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,1,udlr;-1,0,udlr;1,0,udlr;-1,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;0,-1,udlr;1,-1,udlr;-1,1,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;1,-1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;0,0,undo;0,0,undo;1,-1,udlr;-1,1,udlr;0,-1,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,-1,udlr;0,1,udlr;-1,0,udlr;1,0,udlr;0,-1,udlr;-1,1,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,udlr;-1,1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;0,1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;-1,0,udlr;1,1,udlr;-1,0,udlr;1,0,udlr;-1,-1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;-1,-1,udlr;1,1,udlr;-1,0,udlr;0,-1,udlr;0,1,udlr;-1,0,udlr;1,-1,udlr;1,1,udlr;0,-1,udlr;1,-1,udlr;-1,1,udlr;1,0,udlr;0,-1,udlr;-1,1,udlr;-1,0,udlr;-1,-1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,-1,udlr;0,1,udlr;1,1,udlr;-1,0,udlr;0,-1,udlr;0,1,udlr;1,0,udlr;-1,-1,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;1,0,udlr;-1,1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;"
  },
  {
    "path": "officialworlds/solo levels/scraps/shuffl puzzl/wal be frwn.bab",
    "content": "{\"width\":15,\"next_level_after_win\":\"\",\"extra\":false,\"compression\":\"zlib\",\"author\":\"Adr\",\"height\":8,\"version\":5,\"map\":\"eJyN191qgzAAhuFbKT3awAPzH1e8lmJrVsqkDmdZR+m9z+aT6UDMd9Kjp5K8JDHW7aZpj1Wz2Zf3e39uQrn9rpptditFdq6Hn58yz74+w/FcNeX9kdXnrhSPbIHKgQqOqoFKjuqBKo6agWqO2oEajrqB2iSVT+rXY/W3fn+oDn+8oIJFKvL1YvHRYeKCCgwr17M9H/32MnFFpYPVVDsVrSHihYlbKh6sS8fDDME9teRgCzZe5DKn4sEKKp6OVqbjXSetqHawmm0Hbqh2sJZtB+6odrCeameiLagjLlqVU+VgE3twmh64pMrBKuqkg9VUNlhDZbPRJjbgND1wR00P1lNDdtEmDtHxvI1WLx6iamHI4IIaMqykhuyjTWy/aRjg3BsQ1lDDKKK11LqHddS6h/XsugcvqOlFa3Jq3cMKPoWR1LofXsJPrNJn7f8/aO5iBGzYeqO33P0I2K33+whhhrldOOKCK4jLV86+6kcvuIDAkgj4OvOKCwis1wPWbTfD3GYcseUCxnuVdemAl/bUzv7huYTAxXrC8UwFdvlSP7P8ZCfW+7037WmmuUN1xIoLGO9WTnOfNcCGawdsuU8bYO6lOGLPfd4AF1y6iH2+nO6x60J/7S6b/S5c6l+yr6f3\",\"music\":\"bab be go\",\"is_overworld\":false,\"level_number\":0,\"level_sprite\":\"\",\"name\":\"wal be frwn\",\"palette\":\"default\"}"
  },
  {
    "path": "officialworlds/solo levels/scraps/sinkhole.bab",
    "content": "{\"width\":19,\"version\":5,\"extra\":false,\"palette\":\"ocean\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":13,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"author\":\"vitellary\",\"parent_level\":\"\",\"name\":\"sinkhole\",\"map\":\"eJyV2MFu4yAQBuBXiXpbKQdjDNhb5VkiJ3G71rJxlLibRFHefTFDBbZa5t9De/omAmaAwYdhZYd9a1fbzeMx9rbbvFzb8fyyvm3Euj+4f3f3dzl1+761m8dzfejPG/Fcf2VLZ0vQSmclaCtnK9AqZxVotbMatMZZA9ra2Rq0jbMNaEUxJaNAtU8dkLvS6zKf6PE2bsfuNsYAyWXbRltxK5JYxa1IYjW4IKQNuCDS65qrfBttA83P27KA5kdWgPMjXYLzq7yW+fnt2l20FbdTbLQKWguyGloLsgZcC9I1uBbK64Yv/lmALLAjiTC6EbXXwEbc2+F3DJD5BZ8CzsM++gpcSNIKHLzxWucHH8ZB1uSLahr3roucOVWXvAFn6XVVgLOsvWYuxWkol5PtxxhR8oN/H9prez/ZS4yS4BxIV+AcGq8VP4dwBJDX+eN+8m/23sUAg20Rwuh2dasxcWC/Ui2QV0V+8J/7KWjxVWGab8ai0FNXUH/CHLvT0D8SXoE9FWl0swp/ISpmty40en0Kfxsp9v6c6Qacp9e6ALtH0gLsH0mX+Q5ySpD9a5MACbaRpCuwkSTNXqYzzV6nM41eqIHDW9RfwJrZonNtmA260CKf/rRXDRElWAKkJV8C4Xghj+aUtMrr6dePw+Xa/0liNFgHpM1/6TpfNdT82CQAvVqJ1+jdKny3VKMvTtLom5M08+qcpvqr7cYkAn17kkZfn6Q1WDak0aSSBpIaSpg8nFPPGzinvolsgIYpNBshgEnrLFEUAaR2MSg0taSZ1CYLSh5NLmnm88L06z9/JB79xECafZ6mWhTMC3VxQIUg9Kn66eG2yZBn+qYlR/umwBXYUASuwdIJ3IDHQuA12FAE3oCVRtx/REKKIXAB9hSBl2gZBC+/KYPn67kbP87H1fa1Ox7+AboL1jY=\"}"
  },
  {
    "path": "officialworlds/solo levels/scraps/sinkhole.replay",
    "content": "1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,1,wasd;0,1,wasd;1,1,wasd;0,-1,wasd;1,-1,wasd;0,-1,wasd;-1,0,wasd;-1,1,wasd;0,1,wasd;1,1,wasd;0,-1,wasd;1,-1,wasd;0,-1,wasd;-1,0,wasd;-1,1,wasd;0,1,wasd;1,1,wasd;0,-1,wasd;1,-1,wasd;0,-1,wasd;-1,0,wasd;-1,1,wasd;0,1,wasd;1,1,wasd;0,-1,wasd;1,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;1,0,wasd;-1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,0,undo;0,-1,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;1,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,1,wasd;-1,1,wasd;0,1,wasd;-1,1,wasd;1,-1,wasd;0,-1,wasd;-1,0,wasd;-1,1,wasd;1,-1,wasd;1,0,wasd;-1,1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;-1,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,-1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,1,wasd;0,-1,wasd;1,0,wasd;-1,0,wasd;1,-1,wasd;0,-1,wasd;-1,-1,wasd;0,1,wasd;1,1,wasd;0,1,wasd;-1,0,wasd;-1,-1,wasd;0,-1,wasd;1,-1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;-1,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;-1,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,udlr;1,0,udlr;0,1,udlr;1,0,udlr;-1,0,udlr;-1,-1,udlr;1,-1,udlr;1,-1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;0,0,undo;0,-1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,1,wasd;-1,1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;-1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,0,undo;0,1,wasd;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,-1,udlr;0,1,udlr;-1,-1,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;1,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;"
  },
  {
    "path": "officialworlds/solo levels/scraps/tektonik 1.bab",
    "content": "{\"width\":16,\"next_level_after_win\":\"\",\"extra\":false,\"compression\":\"zlib\",\"author\":\"vitellary\",\"height\":16,\"version\":5,\"map\":\"eJyV2c1u4jAUBeBXQV3NSEgTx/FPWvEsKECKkDIEBVpaId59Yl+bxEj1PbNj8TmlPieJbXb9ouu3TbdYr263y6FrVy+Xr8t602xell+rYnnYrcTye/xwPrXbQ9Otbvfl7jCsxH0549eme/By5OXPfE7lSCVGq5GKzGXdtxg/PbxyPnNt74f24bXzKu83ngvHDT8nM22hKfG0zk/Je9fvH1YUI9bYdYVLUeS+8jB9X+EyHEdgV5ZANNc/70N7nMZUQDyzCRQKiOfD8dJzzcdz7Pf9NMBACZG1UGvJ1tise1wW2KwTFsCsh7uYBpTMlCdX95lW3Ayer4e/05iKySj8AemxyieUWH9vghYLkiwWJFkXZGY+5la6HMF5kAK6hcm6BA1oXYAWtC64GrQKKzRhjRWasEEKPbu4xfpcecw8VsObw9uqyEedWJGPOrFlPurEynzUia3yUSdW5aNOrOainmPDRO3Sc6+Arj1PgywQ+bbvut00pIZfHN6rAniQdU3zOY0QwKvmNH4a3BDlh5TQA4oss+YJk0q2gppIVkFNJKuhJpI1UBPJWqiJZGuoid7qAmsiYYE9dAiXTAMTLOHukedeiJPX3iuoRmQ1VCOyBqoRWQvViGwN1chbU0A1IiugGpEtoRqRlViNCFdYjQgr4EH2+mvyyG5j3zfX5vvU+eel8cMMVBCyzOIm/K9kmcXN3FpmcZNYZnGTWGZxk1hmcZNYZnGTWHZxM8fg4oYwt7gJ2HqMRUcWi87bGouOLBYdWSw6slh0ZLHoyILREQajI/w/0dXgopRwzaxN5lgUBba9qkkLqEMBl1CJApZQiwKuoBoFrKAeBayhIgVsoCYFbLEqBV1jXSLtT2y4F0U84wlDBNYSQWd1/uiGDz5qCSUfdQVFH7WCso9aQ+FHbaD0o7ZQ/FGzZzYJR09tIufinJ18hRElduOLcHSHbTCixrYYUWObjKixbUbU2EYjamyrETW22QhagtuNyMENR+TgliNy5CTu9fd8BHgOJ+iE0p/o8G+sqDV0Dha1gU7CorbYcXbQNXQaFrQ/1AH6ErSATsSiLpm+PHEJ9iVw7pePJ8798PHENfh2Cdww3QonzqIibvMblscxSvQ/3Kf3t6G9fAzHxfqtPe7+AYU+wzY=\",\"music\":\"bab be go\",\"is_overworld\":false,\"level_number\":0,\"level_sprite\":\"\",\"name\":\"tektonik\",\"palette\":\"mountain\"}"
  },
  {
    "path": "officialworlds/solo levels/scraps/tektonik 1.replay",
    "content": "-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,1,wasd;-1,-1,wasd;0,1,wasd;-1,1,wasd;-1,-1,wasd;1,0,wasd;1,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;0,-1,wasd;-1,-1,wasd;1,1,wasd;-1,1,wasd;0,1,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;0,1,wasd;-1,1,wasd;-1,1,wasd;0,1,wasd;-1,1,wasd;0,1,wasd;1,-1,wasd;0,-1,wasd;1,-1,wasd;-1,-1,wasd;1,-1,wasd;1,0,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;0,-1,wasd;-1,0,wasd;-1,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;-1,1,wasd;0,1,wasd;-1,0,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,0,wasd;1,1,wasd;1,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;-1,1,wasd;0,1,wasd;-1,0,wasd;1,-1,wasd;0,0,undo;0,0,undo;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,-1,wasd;1,-1,wasd;-1,-1,wasd;0,1,wasd;1,1,wasd;0,1,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,-1,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,0,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;-1,-1,wasd;0,0,undo;-1,-1,wasd;0,1,wasd;-1,-1,wasd;1,-1,wasd;1,-1,wasd;1,0,wasd;1,1,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;"
  },
  {
    "path": "officialworlds/solo levels/scraps/tektonik 2.bab",
    "content": "{\"width\":16,\"next_level_after_win\":\"\",\"extra\":true,\"compression\":\"zlib\",\"author\":\"vitellary\",\"height\":16,\"version\":5,\"map\":\"eJyN2d1O4zAQBeBXQVztSpU2dvwXUJ8FBRpQpWxTpWULQrz71p5xE0cic+568TkUz2HaGXbDXT+8tP3d0/br67zvu+39+eP89Nw+328+ttVmv9uqzef1xenYvezbfvv1vdntx6363sz4pe1vXF+5+pnPaX2lGqMmPnXFxndxfXXzNvpa8GN38y56u+6fE1eRe/lOZjpAV5Jos34lr/3wdrOqumKHPVfFKqq1tzxO71elGoLvWNVAaS5/XsfuMJ0xQHlmF6gsUJ73yHXiTi7PYXgbpgMeqhDZAKWWbIPdesK6wm6dsAJunf+K6YAWrrx4eqqpkW7wdNn/nc4YoUb8A+qE7XqFCuug4pD1UHHIxkLKF0I2FnLlPua2jnUE76FW0J8w2VhBD9pYwADaWLgGtBYLNGGHBZqwRwI9e3jA8mwSFtoqf3Ika6r1WBRWrceisHo9FoWt12NRWLMei8La9VgU1q3HorBeisUcByEWsdLx46LvTtOhBojHy9D3u9sRW8EfMuQV0PT6tv03ndDAx9Lx+mqMR2w6UkPNjKyBUkvWQqkl66DUkvVQaskGKLVkGyi1yboKSi1ZBaWWrMZSS7jGmhlh6etqgaXvqgV2QEgp1OQ9/MXWJY99VyWLddVkPdZVyWJdlSzWVcliXZUs1lXJYl2VLNZVyYJdlbDUVeeV81I3neMg9dECI0304dfkkRb6NrSX9vPYp48Dn45hbZQs1kbJYm2ULNZGyWJtlCzWRslibTTZBmujZLE2ShZso4TBNkoYmfrzSEwnwF5KWOqlBZYaKeOQsDAj8o2QbaDIBZr4KyhzjBUUOsYaSh3jGoodYwPljrGFgsfYYclj7bHosQ5A9k7t4TQ70mDhI522N0D6GtIKShRjDUWKcQ1FirGBIsXYQpFi7KBIMfZQpBgHKFKMpY1NURV0ZcNa2tmUWmP5ULSk1cIylX/LrA2UkKwtFJGsHZSRrD0UkqwDlJKsGygmrNPeRs5J1uJCteTSSnW2wM5HkMUqL0n5hLRWLSNDyxwgYbzndVjCWHssYawDljDWDZYw3jULa/KFVljCWGssYaxrLGGsDZgw5hbrRZk7IF0Pv+cnPJgu5gFMF23KjTBMltoK4+RCCwPlQgsj5UILQ+VCC2PlQmODZdbCaLl4tjRcLjg4XmYODpjMHThiZi4NmQsuzZj8fxJliAuz5W2hl/0P+/Pvx7E7v4+Hu6fH7rD7D3MypVU=\",\"music\":\"bab be go\",\"is_overworld\":false,\"level_number\":0,\"level_sprite\":\"\",\"name\":\"ertquake\",\"palette\":\"mountain\"}"
  },
  {
    "path": "officialworlds/solo levels/scraps/tektonik 2.replay",
    "content": "1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,1,wasd;-1,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;0,1,wasd;-1,1,wasd;-1,0,wasd;-1,1,wasd;0,1,wasd;-1,1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;0,-1,wasd;-1,-1,wasd;0,1,wasd;1,1,wasd;0,1,wasd;-1,0,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,0,wasd;1,1,wasd;1,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;-1,-1,wasd;1,-1,wasd;-1,-1,wasd;0,-1,wasd;-1,-1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;0,1,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,-1,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,0,wasd;-1,1,wasd;0,0,undo;0,0,undo;0,0,undo;1,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;-1,-1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,-1,wasd;0,1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;"
  },
  {
    "path": "officialworlds/solo levels/scraps/this is a bobbery.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":false,\"author\":\"hillexed\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":14,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"this is a bobbery\",\"map\":\"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\"}"
  },
  {
    "path": "officialworlds/solo levels/scraps/this is a woggewy.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":false,\"author\":\"hillexed\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":14,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"this is a woggewy\",\"map\":\"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\"}"
  },
  {
    "path": "officialworlds/solo levels/scraps/too tiem bbaey.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":16,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"too tiem bbaey\",\"map\":\"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\"}"
  },
  {
    "path": "officialworlds/solo levels/scraps/too tiem bbaey.replay",
    "content": "0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,-1,wasd;1,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,1,wasd;1,1,wasd;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;1,1,udlr;0,0,undo;0,1,wasd;0,1,udlr;1,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,0,undo;0,0,undo;-1,0,udlr;0,0,undo;-1,0,udlr;0,0,undo;-1,0,udlr;0,0,undo;-1,0,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,udlr;1,0,udlr;1,1,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;"
  },
  {
    "path": "officialworlds/solo levels/scraps/turn cornr.bab",
    "content": "{\"width\":19,\"version\":5,\"extra\":false,\"palette\":\"abstract\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":12,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"author\":\"vitellary\",\"parent_level\":\"\",\"name\":\"turncornr\",\"map\":\"eJyNmMtu4kAQRX8lyiKakVi4/ep2Ir4FkdhBaDw4Mk4Cg/j3wX2r/UCK6+5YnILi3q5Hd9k81M3btn7YrC+Xbl9X68fu1G2qr6o9m8fVaR2t9uXarM63D8eP6m2/rdeX66rct2tzXU0iuurUDXys86/VQCc32izTh/G70xsdK/QkleyGJz/ju3Z7HNi8T0TJu/6qB972vJL599bzpucdK4unC12W6ZffEl8UZsb2hlqS7c10dNYmIUQpt+d/5z4k9iHpsi6SDdhMzwaHBXhOZIPsE8/b5VSGxEG75cMliYPt7Uw5Nu6tzEi2tzJX/uD2deRjynqwybLYczXilCif97rZjREZ4c6hKv9U3qHUx+TUYQFrlzUPyQB2lOhgC0L0MeckojQHa/QD/jTSMaFgaM2I0OozdMTM01xpgs2oBgQ2pyoHrOLijHW6MZ8jXVC+eDaNiDaIOgNvSJ1zTysTcw4rA1PSBkuMSxlp4JV5OZ5s4PmyN76Am+P3/u8YYpctmmXvdNHD6UZAQapu/W4QcaoDNpTqYGOqFMAmVCmATalSAJtR/QxsTnkC1i57MhfNKTNhTrPuOb+tKe5J0mCNXgYzPqZMAZtQpoBNOfEA9w4WLKwtr3NaW10l6cLDThcPPQF4QWnnWRtR2oHlllawytI6Y5NlmWestuMElUFr+03Ys3GbyKkGI7AlrkHNrplEcMuqwNy2CthFiiiBxiVI6aMyRAXmfBQ4Ic0x/m7guN1G4IwzBzAzFYe1VmIsdyUDrLXVYTMXnm2sxu/lBddZBVb8HFMBzo1GgbnZKLAyHCcXVfCZvis+TfCcO4qALXsU/VJeKC8D4bsBEw8D4WaDCBNF+lb33rRl006DyEcCoWOyCWTAiUefsNmFEP7lJ0RkXBcTmp2ggSdnqMmBO/0fP/+eBnBzVGijNeEhe+G1+8nMAYnRbpvDb1jwCfmaEniyIwtNtmShc67vCG057YV23DkTuqAWc6H9W5C+mgearFmhyekqNLcnBZrdlALPvAVJ+5YI7W1v+AUHXnnbu8eVer3Hi+XzdYf7JyHt7z7/mkb8VLDXl7bqPtvDw+alOpT/AUV5228=\"}"
  },
  {
    "path": "officialworlds/solo levels/scraps/turn cornr.replay",
    "content": "1,0,udlr;1,-1,udlr;1,1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;1,-1,udlr;1,0,udlr;1,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,-1,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;1,-1,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;0,1,udlr;1,-1,udlr;1,-1,udlr;1,-1,udlr;-1,1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;0,0,undo;0,0,undo;0,0,undo;0,-1,udlr;-1,-1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,1,udlr;1,0,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;-1,0,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,0,undo;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;-1,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,-1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;0,1,udlr;0,1,udlr;-1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;"
  },
  {
    "path": "officialworlds/solo levels/scraps/victory in the open redux.bab",
    "content": "{\"width\":28,\"version\":5,\"extra\":false,\"palette\":\"swamp\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":16,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"author\":\"Slabdrill\",\"parent_level\":\"\",\"name\":\"victory in the open redux\",\"map\":\"eJyN2NtuGyEQBuBXiXLVSr5YWNhDIz9L5MSryMrKjmxHTRrl3bvLgDmo5f/vquhjixmGGdif7ubT826+e9x+fV0P87S9/727nu83H9tmc9hv1eZz+cflbXo+7Obt1/dmfzhv1ffmX1YvVpG2XawmrVlsS1q7WEvabrEdafvF9qQdFjuQdlzsSFrVrAvMRkOtoVOG1S54xMopp1tuWwg23L4QbLmgCO64qAju62F5Oe8uEa8xVMSmEz2Si6ddmjT1xQsTEazqiRJw67Dmviy4BZO+flwfn3ZP6wDjBpj6ajs/RW7r673y96g7LhGswz3afnO0AzppEjuikybado1iNbsSq9CplFiNEiCxLdr/iTXoVEqsRcFIbAcPpQSvgVPVsyDBLgfJ0LUjmbBOm4ZM2M5pWATnaDW13cS2cM4O9w6b+ofXdHqdptc4AJTCmK7CQTVc+fKX6fl6OB3jKFAX/fkhduCCLxjH0+HBFf0Gr438VOFcOorV3DxGh0FXs87jMk9vcYCpzyQEVLDl1k9wx81bSdfUU7vWY1Qb3VbZff75dGNchbQj6gHmiDsinGFl/AhFHcYea+p08xjl6DqZfIQBfVfcjcqV+M5yayO4q69NXHfhfb2ilXyor2PJx/r2LXjf1I+Ykqv62VJyTRU4j9v6Hii/bUCRKz1K1dJ3XKnzuif2ZLrD+oHYkr9+uAGuN+zJdHV4QOl6SLGqb8gc6/p2zHEL6l2GDa52y498TUaAi0n+eXAxyTG4mOSLPXCHl2BURNefeTy9nOKQsYG3RvkPXNc+gttJjjXVXXvccie6YFBGcwxvmCmGN8wUk4EUTAZSMNkNKSvvBCAjC63Ij3fCuQ43aFQ/b9du7w3szOXzvXDLTcZr1BTdJjOI5+6ZQYObZkh6r0HtzLUCpbPQoHLm81Zki6tG4ajJPWQapKarPD/TAeQ56zWZn16jwum59g9oXECD5gLqteYCGjQX0KBRQG8vTPJ6JS9B+Oteg4tooS15Lw++4/Jfa+HcxSVo9lUvePyuJ59v5VGUO3aDBp1QoUErVGjQCxUaNEOFttxe9LqjamLQPVUUgx64p6fAR+7+7Lm8EdHhNKiK3pLOiEcP7jcvVdqAJ/eSG/hj/Vb33rLTkTrtnouYF2/PYWuUc9gc5XyETWvmLXr+u/1Y6RssbHP95z3XKENy3pJr47kh18ZzC5Kk/K34Kpp/H9fU3KO7aOn/dwZ/P5yn6/v5ePf4MB33fwH4+W2H\"}"
  },
  {
    "path": "officialworlds/solo levels/scraps/victory in the open redux.replay",
    "content": "1,-1,udlr;1,-1,udlr;1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,1,udlr;0,0,space;0,0,space;0,0,space;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;1,1,udlr;-1,-1,udlr;0,-1,udlr;1,1,udlr;-1,-1,udlr;0,-1,udlr;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;1,1,udlr;1,0,udlr;0,1,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,1,udlr;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;-1,0,udlr;0,1,udlr;1,0,udlr;0,1,udlr;1,0,udlr;1,-1,udlr;-1,0,udlr;-1,-1,udlr;0,0,space;0,0,space;0,0,space;0,0,space;0,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,1,udlr;0,0,undo;0,0,undo;0,0,undo;1,1,udlr;-1,0,udlr;1,1,udlr;-1,0,udlr;1,1,udlr;0,1,udlr;1,0,udlr;-1,-1,udlr;1,0,udlr;-1,-1,udlr;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;1,0,udlr;1,0,udlr;1,1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;0,0,undo;0,0,undo;0,0,undo;-1,1,udlr;1,-1,udlr;1,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,0,space;0,0,space;-1,-1,udlr;"
  },
  {
    "path": "officialworlds/solo levels/scraps/vit this is a fun level.bab",
    "content": "{\"width\":22,\"version\":5,\"extra\":false,\"map\":\"eJyVmN1uozAQRl8l6tWuFEX4BzCteJaIJtkKLQsVIdtUUd59gTEBbxzPl5uqF2dGDh8He7xvVlWzK6rVNr9curI65C/dudu+F+8v63Merct9Ltbf/T/Hz8OuLKr8cl3vyzYX17XFv4rqhsowOnY+3GjV0wJrrMPo0Ph0g+MelljfBEfTHlXhJXwVZbfZbG4lJlyy7J71qGae3DKTKMwvW4shwBhORcgw7rQeIkzCrbt20VuHeaf3EGMa7n2si91urkjCFU73IU7DrPzczbzh+boRAy9GPoOsGVkZPcEK3gSHlz5e33j7UhGrwjb0f2dWM2y/jqJtm7kg9smg/T8yCbND819V8zEXpD4dHjQ3vGruyjOfEP7mKuJd+1N8z89cCcgIYiVvm9tcQUIQq59gY14GdyFJuMA2lyOb8ptI3Xw0c4FBdx3CM2jbGVkd8bbtqub3XCAghYiV0OZDrOJ3n+rvgtc8v3gmOob8ITYBtqpF6xSyh1jD21M3p3o/h6+9cgYSiiNIOGIZOe+bS0giYjE5idW8cO5CGENtczWyCS4cFQCGvv6YcRPegpy1MHJaf0Y2iSB/iBW8D85vTCS/Bb3+nHEFCUSs5gVariSGBCI2QY96hKeQC8Qa3oVl6wx6u0c2jZ5gBW/CYhmphDzQI6twD6hAQ+c2YmN+J3GbJ2FrrAnEpvxhjB4K4dhcQmzGizOdlsYC451M7l5XYgVvgvNQjHc2edBc8S4cP8t6LsCGE2Jj3ga3uXc2kf7mKeQDsd65RAcWkoULbPN4HEqxwYRYbjApFyxz8rEjI7HMUOKsgTn1OKz3yPOAZT6rDot9U4k1UNDEenO7YxO6HcCCszDzSbVwSjBzxePCCupsCMa+phbGzjcZwcwBx4WZi4FpDrLXMMzs8R+NZSjoBkGA1wKWxlIUkmgsxonGchSKaCzIicaSFJpoLMqJBrOMiQaztDSYJTmGXvFYGsySLJNglpYGsyTPJJilpcEsyTQJZmlpLEtp7zCxLCcay1KSaYrJcrqZmnDshmeiHxxYr2/toTu19Wr7dqj3/wDrO9mb\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"vit this is a fun level\",\"height\":9,\"author\":\"Slabdrill\"}"
  },
  {
    "path": "officialworlds/solo levels/scraps/vit this is a fun level.replay",
    "content": "0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,1,udlr;1,0,udlr;1,1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;1,1,udlr;1,1,udlr;1,1,udlr;1,-1,udlr;|e1siY2xvayw2LDEsMywxLDYsMSwyIl0gPSAwLjIwMDEwNzYyNjQ3Nzk2Nzc2LCBbImNsb2ssNiwxLDMsMSw3LDEsMiJdID0gMC4yNTE3ODM4MjQ3MzMwNTgxNiwgWyJjbG9rLDYsMSwzLDEsOCwxLDIiXSA9IDAuMjQxNTY0NTQ4MDE1MjU4MTcsIFsiY2xvayw2LDEsNCwxLDYsMSwxIl0gPSAwLjYyODAxOTY5MTExNDQxMjAzLCBbImNsb2ssNiwxLDQsMSw2LDEsMiJdID0gMC4yMjk3OTYwOTM3OTA2ODA0NCwgWyJjbG9rLDYsMSw0LDEsNywxLDEiXSA9IDAuMjA5MDQzNzE5NDc0MDgyNjIsIFsiY2xvayw2LDEsNCwxLDgsMSwxIl0gPSAwLjY2OTU5MDEwNjY1NzI2MDkzLCBbImNsb2ssNiwxLDUsMSw3LDEsMiJdID0gMC40NTQyMDgwOTkyMDI5OTMxLCBbImNsb2ssNiwxLDcsMSw4LDEsMiJdID0gMC42MTc5MzgzMzc5NzQ3MjA3NSwgWyJjbG9rLDYsMiwyLDEsNiwxLDEiXSA9IDAuMzYzNjg2MzMxNTg0MjA1MzgsIFsiY2xvayw2LDIsMiwxLDYsMSwyIl0gPSAwLjk0Mzg3NDYxNjE5ODg5NTU3LCBbImNsb2ssNiwyLDIsMSw3LDEsMSJdID0gMC42NDI4NDc4OTQzMzYxNzg2MiwgWyJjbG9rLDYsMiwyLDEsNywxLDIiXSA9IDAuNDQ0NTcwMTYyNjE5MzYwMzMsIFsiY2xvayw2LDIsMiwxLDgsMSwxIl0gPSAwLjEyMTk2MzgwMTUwNDE1NDIsIFsiY2xvayw2LDIsNCwxLDgsMSwyIl0gPSAwLjU0ODg3MDU5NzgxNzU1OTQyLCBbImNsb2ssNiwyLDgsMSw2LDEsMiJdID0gMC4wMzg2MDU2MDcwMDk2NzI1MjcsIFsiY2xvayw2LDIsOCwxLDcsMSwyIl0gPSAwLjMzMjM1MTMwMzYwMDQ1MTczLCBbImNsb2ssNiwyLDgsMSw4LDEsMiJdID0gMC4wMDU4MjU4MTkyNjc0MDAzMzQsIFsiY2xvayw2LDMsMiwxLDgsMSwyIl0gPSAwLjY1MTg1OTAzMDk5MDIwMTA0LCBbImNsb2ssNiwzLDYsMSw2LDEsMiJdID0gMC44NDk2NTQwOTQzOTkzMzAwNCwgWyJjbG9rLDYsMyw2LDEsNywxLDIiXSA9IDAuOTg5ODY2ODM1NzczNjczOTYsIFsiY2xvayw2LDMsNiwxLDgsMSwyIl0gPSAwLjM2OTc4MjQzMjcyNzA2MjY4LCBbImNsb2ssNiwzLDgsMSw2LDEsMSJdID0gMC41NjEwODM5MjQ1NTEyMTQ0NywgWyJjbG9rLDYsMyw4LDEsNiwxLDIiXSA9IDAuNTc5MDM4MjE2Mjc0MDU4MzgsIFsiY2xvayw2LDMsOCwxLDcsMSwxIl0gPSAwLjkzNTY2OTMyMTQ0MjgxNjIzLCBbImNsb2ssNiwzLDgsMSw3LDEsMiJdID0gMC40MDUwMDAxNjk0MjQxMDMsIFsiY2xvayw2LDMsOCwxLDgsMSwxIl0gPSAwLjM5MjA3NTUyMjMzMTU3MTUsIFsiY2xvayw2LDQsMiwxLDYsMSwyIl0gPSAwLjY3OTY4MTMwODk1OTgyODM3LCBbImNsb2ssNiw0LDIsMSw3LDEsMiJdID0gMC40NjEzMzg4MjIyOTc4MTA3NiwgWyJjbG9rLDYsNCwyLDEsOCwxLDIiXSA9IDAuMDc0MzU1NjY3MzU1MjU0MzQsIFsiY2xvayw2LDQsNiwxLDYsMSwxIl0gPSAwLjY2MTI1NTI3ODE1MDU5NDA0LCBbImNsb2ssNiw0LDYsMSw2LDEsMiJdID0gMC43NzM3OTc5MDY3MzE3ODY2MSwgWyJjbG9rLDYsNCw2LDEsNywxLDEiXSA9IDAuODUzMDU2NTUxMzA4NzU1NTcsIFsiY2xvayw2LDQsNiwxLDcsMSwyIl0gPSAwLjc1MjQzNTE5ODA5NTQzMDI1LCBbImNsb2ssNiw0LDYsMSw4LDEsMSJdID0gMC43Nzg4OTgxNzM0OTEwMzQwNywgWyJjbG9rLDYsNCw2LDEsOCwxLDIiXSA9IDAuODAxNzQ3NDkyMTkxNDUyOTIsIFsiY2xvayw2LDUsNCwxLDYsMSwxIl0gPSAwLjI1OTk2Njc2MDczOTUwOTc1LCBbImNsb2ssNiw1LDQsMSw2LDEsMiJdID0gMC44NTcyNzg5NzMyNjUwMjg3OCwgWyJjbG9rLDYsNSw0LDEsNywxLDEiXSA9IDAuOTYzNzUyMDIyNDY2OTY3NTYsIFsiY2xvayw2LDUsNCwxLDcsMSwyIl0gPSAwLjc2MTk5NTc2OTY2MzA5MDM1LCBbImNsb2ssNiw1LDQsMSw4LDEsMSJdID0gMC4zMDQ2ODI4MDk0NTQ1MTk1MywgWyJjbG9rLDYsNSw0LDEsOCwxLDIiXSA9IDAuNDIwNzQxNzY5Nzg1MTYxMiwgWyJjbG9rLDYsNiwyLDEsNiwxLDEiXSA9IDAuNDQxNDE1MjExNjgxMzk0NTMsIFsiY2xvayw2LDYsMiwxLDYsMSwyIl0gPSAwLjE0NTA5MjMwMjk0NzYxMzIyLCBbImNsb2ssNiw2LDIsMSw3LDEsMSJdID0gMC40MzkyNjQwNzIxMzIwMDAwMywgWyJjbG9rLDYsNiwyLDEsOCwxLDEiXSA9IDAuODM0NjY3ODAyMTYyODk1NDksIFsiY2xvayw2LDYsMywxLDcsMSwyIl0gPSAwLjMxMjc3MDU1MTg3MDA5NzM5LCBbImNsb2ssNiw2LDUsMSw2LDEsMiJdID0gMC43MzMyNjc3NTY3NjM5MjU2NCwgWyJjbG9rLDYsNiw1LDEsNywxLDIiXSA9IDAuOTA1MjY1Mzk1ODI1OTM0OSwgWyJjbG9rLDYsNiw1LDEsOCwxLDIiXSA9IDAuMzE2MDkyMjk5NTU0MTU0NjMsIFsiY2xvayw2LDcsMiwxLDYsMSwyIl0gPSAwLjU2NzYwNjQ4MDEwMzUxNzY2LCBbImNsb2ssNiw3LDIsMSw3LDEsMiJdID0gMC44MzM4NDA5NDUwNjY0ODQ1NCwgWyJjbG9rLDYsNywyLDEsOCwxLDIiXSA9IDAuMDY3OTk5NzM0NzU4NTMzNzE0LCBbImNsb2ssNiw3LDgsMSw2LDEsMSJdID0gMC4zMzg4NzkzMjI2NDY0OTE5LCBbImNsb2ssNiw3LDgsMSw2LDEsMiJdID0gMC44MjUxMjUwNTY5NTc5NjYwMSwgWyJjbG9rLDYsNyw4LDEsNywxLDEiXSA9IDAuMDUzNjg4Njg1MTAyNjUzODk5LCBbImNsb2ssNiw3LDgsMSw3LDEsMiJdID0gMC4yMzQ5NTQ3NTkyMzIzMDg5MSwgWyJjbG9rLDYsNyw4LDEsOCwxLDEiXSA9IDAuNTA4ODkxMjk1NjI2MDc4MDQsIFsiY2xvayw3LDEsMywxLDYsMSwyIl0gPSAwLjIxMzExNDY2ODY1MjQ1Njc2LCBbImNsb2ssNywxLDMsMSw3LDEsMiJdID0gMC4yMjI3OTQ3OTc1MzQ4Nzk0MSwgWyJjbG9rLDcsMSwzLDEsOCwxLDIiXSA9IDAuODk1MjAzNzU5NzIxMTEwNDQsIFsiY2xvayw3LDEsNSwxLDYsMSwxIl0gPSAwLjIyMzE5NTg2MTExNzMyNTQ4LCBbImNsb2ssNywxLDUsMSw2LDEsMiJdID0gMC44ODUzOTIxNDM5NDA0MzM1MywgWyJjbG9rLDcsMSw1LDEsNywxLDEiXSA9IDAuNzczMTg1ODk2MDYyOTMxNDIsIFsiY2xvayw3LDEsNSwxLDcsMSwyIl0gPSAwLjM5NDk3ODk2MjU1NTE5MDcyLCBbImNsb2ssNywxLDUsMSw4LDEsMSJdID0gMC45MTU4NDYxMzMzNTk5NjUyMywgWyJjbG9rLDcsMSw3LDEsOCwxLDIiXSA9IDAuOTM5NTM5NTIzNTg5ODc1NTgsIFsiY2xvayw3LDIsMywxLDYsMSwxIl0gPSAwLjM0Mjc0NDkwOTMxMDM4NDA0LCBbImNsb2ssNywyLDMsMSw2LDEsMiJdID0gMC40NDk1MTgzMzU2MzYzMzUwMywgWyJjbG9rLDcsMiwzLDEsNywxLDEiXSA9IDAuODM4OTE2MTAzMDIzOTY5NTcsIFsiY2xvayw3LDIsMywxLDgsMSwxIl0gPSAwLjEyMzY0Nzk0OTkwNDc5LCBbImNsb2ssNywyLDQsMSw3LDEsMiJdID0gMC4zOTcyMTE0NDg4OTE5Mzc4MiwgWyJjbG9rLDcsMiw2LDEsNiwxLDIiXSA9IDAuODU3MDAxMjI3NjI2NjQ0MSwgWyJjbG9rLDcsMiw2LDEsNywxLDIiXSA9IDAuNTU5NzkyMjg1MTc3MzY4NDUsIFsiY2xvayw3LDIsNiwxLDgsMSwyIl0gPSAwLjI3OTYwMTU3MTUyMTA3NjY3LCBbImNsb2ssNywzLDEsMSw2LDEsMSJdID0gMC4yODc1MzQ5ODI5ODE0OTUwNSwgWyJjbG9rLDcsMywxLDEsNiwxLDIiXSA9IDAuMjAyNDQ2NjQzNDY5NzgyMDMsIFsiY2xvayw3LDMsMSwxLDcsMSwxIl0gPSAwLjI1NDYwMjMxNTgwMTY5OTAxLCBbImNsb2ssNywzLDEsMSw4LDEsMSJdID0gMC4xNTcwNzI4Nzk2ODE5MTY3NCwgWyJjbG9rLDcsMywyLDEsNiwxLDIiXSA9IDAuNzU3NTA0MjQxNjYzNDg3NjIsIFsiY2xvayw3LDMsMiwxLDcsMSwyIl0gPSAwLjkxOTM5NjcwMzM4MTI1NzEyLCBbImNsb2ssNywzLDIsMSw4LDEsMiJdID0gMC4zMTIwNzY4MzcyMzg4NDE4MywgWyJjbG9rLDcsNCw3LDEsNiwxLDEiXSA9IDAuNzY3MzcyNzM4NzM5NjYzMTYsIFsiY2xvayw3LDQsNywxLDYsMSwyIl0gPSAwLjc4NDUwMzgxNDEyODM4ODY1LCBbImNsb2ssNyw0LDcsMSw3LDEsMSJdID0gMC4yNzUzMjUxNjEwOTE2NjYyNywgWyJjbG9rLDcsNCw3LDEsNywxLDIiXSA9IDAuNTg1ODI4ODI5NzIxNDc1NTQsIFsiY2xvayw3LDQsNywxLDgsMSwxIl0gPSAwLjQ0MjgxNDc1ODAxNjEzNzIzLCBbImNsb2ssNyw0LDcsMSw4LDEsMiJdID0gMC4xMjEyOTUyNzkwMzI1MzQzNCwgWyJjbG9rLDcsNSwxLDEsNiwxLDIiXSA9IDAuMTA4MzcyMDM1MjMxMjgzOCwgWyJjbG9rLDcsNSwxLDEsNywxLDIiXSA9IDAuMjg3MTQwODgyODQxOTIzNzQsIFsiY2xvayw3LDUsMSwxLDgsMSwyIl0gPSAwLjcxMjQzMzM5MTM0ODQ1NTc0LCBbImNsb2ssNyw1LDUsMSw2LDEsMSJdID0gMC40Njg2OTU0Njg3MTcyMDQ2OSwgWyJjbG9rLDcsNSw1LDEsNiwxLDIiXSA9IDAuNzE5NTQ0MTc2ODA1NzM0NjgsIFsiY2xvayw3LDUsNSwxLDcsMSwxIl0gPSAwLjIyMjAxOTM5OTc5OTYzNjkyLCBbImNsb2ssNyw1LDUsMSw3LDEsMiJdID0gMC43NDQ1OTUwNzkzMzI1ODMwNywgWyJjbG9rLDcsNSw1LDEsOCwxLDEiXSA9IDAuMzg2Njc3NTEwNDQ2NzA3NzMsIFsiY2xvayw3LDUsNSwxLDgsMSwyIl0gPSAwLjcyMTQwMzAzMzc1NDI5MjI3LCBbImNsb2ssNyw2LDEsMSw2LDEsMiJdID0gMC41NjgwMDA3OTE4NDIwMjExMiwgWyJjbG9rLDcsNiwxLDEsNywxLDIiXSA9IDAuNjA0NDcyMTA4NTQyMzMwMzYsIFsiY2xvayw3LDYsMSwxLDgsMSwyIl0gPSAwLjQwMjMzMjU4MzgyMDEyMzkzLCBbImNsb2ssNyw2LDMsMSw2LDEsMSJdID0gMC4wNDU3NDYzNjkzODgwMzEzMzgsIFsiY2xvayw3LDYsMywxLDYsMSwyIl0gPSAwLjc0NDY1NDg1MzgxOTY4NzMyLCBbImNsb2ssNyw2LDMsMSw3LDEsMSJdID0gMC44ODAwMDM2MDE3OTU4NTk0NiwgWyJjbG9rLDcsNiwzLDEsNywxLDIiXSA9IDAuMzIwNzc0MzUwMjgyNDY5MTUsIFsiY2xvayw3LDYsMywxLDgsMSwxIl0gPSAwLjI1MzU2MTg4NTE2MTE2OTYyLCBbImNsb2ssNyw2LDUsMSw4LDEsMiJdID0gMC42NzAzODc4OTU0ODgzNzA0MSwgWyJjbG9rLDcsNywxLDEsNiwxLDEiXSA9IDAuMjA3NjU2MzM2MjUxMzU1MjcsIFsiY2xvayw3LDcsMSwxLDYsMSwyIl0gPSAwLjU1MzI5OTQ1NDIwMzE2MDE4LCBbImNsb2ssNyw3LDEsMSw3LDEsMSJdID0gMC43NDE1NDIyMjY2MzA2OTE5MSwgWyJjbG9rLDcsNywxLDEsNywxLDIiXSA9IDAuNjA3NDkwNzg5NzQxNjY3MjYsIFsiY2xvayw3LDcsMSwxLDgsMSwxIl0gPSAwLjU5NTEwODgwMjU5ODE4NTIyLCBbImNsb2ssNyw3LDEsMSw4LDEsMiJdID0gMC44ODg0Njc5NjcwNDA2ODU0MiwgWyJjbG9rLDcsNyw1LDEsNiwxLDIiXSA9IDAuMTg0NTQ5NzU2MDczODYwNywgWyJjbG9rLDcsNyw1LDEsNywxLDIiXSA9IDAuODgyNDUzNjA0NDA3NTQ5MjcsIFsiY2xvayw3LDcsNSwxLDgsMSwyIl0gPSAwLjg4MTY5MTg1NzU2NzEyNDY1LCBbImNsb2ssOCwxLDYsMSw2LDEsMSJdID0gMC43MDE5NTU5MDM5Mzk0MTk2NSwgWyJjbG9rLDgsMSw2LDEsNiwxLDIiXSA9IDAuNjQ4NDQ4MzExMTY2MDYxMDUsIFsiY2xvayw4LDEsNiwxLDcsMSwxIl0gPSAwLjk5NDA4MjY1MzI0MTg4ODk0LCBbImNsb2ssOCwxLDYsMSw3LDEsMiJdID0gMC45NTkyMzU2ODU2MzQ1NTQwOCwgWyJjbG9rLDgsMSw2LDEsOCwxLDEiXSA9IDAuNzUwNTI2MTg2Mzc3MDgyMDIsIFsiY2xvayw4LDEsNiwxLDgsMSwyIl0gPSAwLjI2NTkwMjI0NDE5MzAxNywgWyJjbG9rLDgsMiw0LDEsNiwxLDEiXSA9IDAuMTQ0NzE1NDc0Nzk1NTI3OTMsIFsiY2xvayw4LDIsNCwxLDYsMSwyIl0gPSAwLjYxMDU0Mjk4ODU5NzU2OTI4LCBbImNsb2ssOCwyLDQsMSw3LDEsMSJdID0gMC44NzEwNzAwODA1MzE0MDcxMSwgWyJjbG9rLDgsMiw0LDEsNywxLDIiXSA9IDAuNzAzMjg0NzQzMjMzMjEyNzcsIFsiY2xvayw4LDIsNCwxLDgsMSwxIl0gPSAwLjAwNjE5NzYxMDM1Njg3MjYwNzEsIFsiY2xvayw4LDIsNCwxLDgsMSwyIl0gPSAwLjI4NjkwNTI3MDM0MDI2MTQ4LCBbImNsb2ssOCwzLDIsMSw2LDEsMSJdID0gMC4yNTk2NDM1Nzc1OTI1MzAwOSwgWyJjbG9rLDgsMywyLDEsNiwxLDIiXSA9IDAuNTM1MTQ4MDEwODcwMjg2NjMsIFsiY2xvayw4LDMsMiwxLDcsMSwxIl0gPSAwLjg0NDU2ODMyMjA0NjY0MzEyLCBbImNsb2ssOCwzLDIsMSw3LDEsMiJdID0gMC40MzU4OTE4NzE3OTAwMjQ0MiwgWyJjbG9rLDgsMywyLDEsOCwxLDEiXSA9IDAuNzg0NzkyODI3OTcwNzkxNDIsIFsiY2xvayw4LDMsNCwxLDgsMSwyIl0gPSAwLjk1ODQ1MjA5OTY2Nzg0NzE3LCBbImNsb2ssOCwzLDgsMSw2LDEsMiJdID0gMC4xODI3ODk4NjEwOTYyMjUwOCwgWyJjbG9rLDgsMyw4LDEsNywxLDIiXSA9IDAuMDYxNDEzNTc1NTk5NjExMDI2LCBbImNsb2ssOCwzLDgsMSw4LDEsMiJdID0gMC40NzkwOTE1NTcxNTgxNTMxLCBbImNsb2ssOCw0LDEsMSw3LDEsMiJdID0gMC4yOTY2MjcyMzM4OTE2MTE2MSwgWyJjbG9rLDgsNCwzLDEsOCwxLDIiXSA9IDAuOTE0NjI1MjU0MDY1NzAxMzksIFsiY2xvayw4LDQsNywxLDYsMSwyIl0gPSAwLjgzMTAxMTcwMzMxMjMzNTg3LCBbImNsb2ssOCw0LDcsMSw3LDEsMiJdID0gMC4wNTU5MDIzMjE3NjQ1NDk1NjcsIFsiY2xvayw4LDQsNywxLDgsMSwyIl0gPSAwLjc5Mjc2OTM4NDg5OTc2ODU2LCBbImNsb2ssOCw0LDgsMSw2LDEsMSJdID0gMC4zMDA2NzE2OTI2MjMxNTIwOCwgWyJjbG9rLDgsNCw4LDEsNiwxLDIiXSA9IDAuMjcwMTU4NjU1MTE4MDYyMTQsIFsiY2xvayw4LDQsOCwxLDcsMSwxIl0gPSAwLjg5MDkxNjkyNDM3OTc4MTY1LCBbImNsb2ssOCw0LDgsMSw4LDEsMSJdID0gMC40ODk2MjUxMjA3MjExNDg2MSwgWyJjbG9rLDgsNSw2LDEsNiwxLDEiXSA9IDAuODg1NjQyNzI2NTg5MzUyNSwgWyJjbG9rLDgsNSw2LDEsNiwxLDIiXSA9IDAuODA3ODI5MDYzMDc3NjI1NDgsIFsiY2xvayw4LDUsNiwxLDcsMSwxIl0gPSAwLjI5NjgwMDM3NjIzMjkxMTY3LCBbImNsb2ssOCw1LDYsMSw3LDEsMiJdID0gMC43MTEyMzU1MzY1NDAzNjUzMSwgWyJjbG9rLDgsNSw2LDEsOCwxLDEiXSA9IDAuMTkzNjIxNzY0NzQ1MjUyMjgsIFsiY2xvayw4LDUsNiwxLDgsMSwyIl0gPSAwLjE3NTg3NjAzMzc5MjUzNjI1LCBbImNsb2ssOCw2LDQsMSw2LDEsMSJdID0gMC4zMzY4OTA1MTcyOTMzNjE2MSwgWyJjbG9rLDgsNiw0LDEsNiwxLDIiXSA9IDAuODY1NTM2ODMzNDEzMjY4OTIsIFsiY2xvayw4LDYsNCwxLDcsMSwxIl0gPSAwLjI5OTAxNDk0MTYwMTI4OTA1LCBbImNsb2ssOCw2LDQsMSw3LDEsMiJdID0gMC41ODQyODQ5ODEyNjI1MDc1LCBbImNsb2ssOCw2LDQsMSw4LDEsMSJdID0gMC41MjM1ODkwNzE5MDA3MzUsIFsiY2xvayw4LDYsNCwxLDgsMSwyIl0gPSAwLjkwNDMzNzgyMDY0OTQxMzkzLCBbImNsb2ssOCw2LDgsMSw2LDEsMiJdID0gMC4yODgxNDc2NzE2ODU4MDUzNSwgWyJjbG9rLDgsNiw4LDEsNywxLDIiXSA9IDAuOTU1NDg3NzY4NTY5MjE0MDIsIFsiY2xvayw4LDYsOCwxLDgsMSwyIl0gPSAwLjA2NDE5NjU4MDE5OTQyNDQyNSwgWyJjbG9rLDgsNywyLDEsNiwxLDEiXSA9IDAuNDQ3NDg0OTc5MjYxNzk5ODYsIFsiY2xvayw4LDcsMiwxLDYsMSwyIl0gPSAwLjY1Mjg5Mjk4ODI4ODUxOTQ5LCBbImNsb2ssOCw3LDIsMSw3LDEsMSJdID0gMC4yODY5MjI1OTg4MzM2MDQxNiwgWyJjbG9rLDgsNywyLDEsNywxLDIiXSA9IDAuMjc5MTg4Mjk3MDE1MTI5MTUsIFsiY2xvayw4LDcsMiwxLDgsMSwxIl0gPSAwLjU1MDU0NzIyNTM4MDEyMzM1LCBbImNsb2ssOCw3LDQsMSw4LDEsMiJdID0gMC43MDgyNjAwNTUwNTAzNjc0OSwgWyJjbG9rLDgsNyw4LDEsNiwxLDIiXSA9IDAuOTE0NjQ4NDA0MDAyNjY1MjMsIFsiY2xvayw4LDcsOCwxLDcsMSwyIl0gPSAwLjE3MTkyNTUwNDMwMjU1NzE1LCBbImNsb2ssOCw3LDgsMSw4LDEsMiJdID0gMC41MjIzMjk1NTExMzAyODk4OSwgWyJjbG9rLDksMSw0LDEsNiwxLDIiXSA9IDAuNTMzODU1MDA0MjA4Mjc0MzYsIFsiY2xvayw5LDEsNCwxLDcsMSwyIl0gPSAwLjE1NzM5MDg3ODA4NDMxNTQsIFsiY2xvayw5LDEsNCwxLDgsMSwyIl0gPSAwLjI5ODA0OTEzMTk4MjkwMDE3LCBbImNsb2ssOSwxLDcsMSw2LDEsMSJdID0gMC4yNDg2MjExMTg1OTM4NTk4MiwgWyJjbG9rLDksMSw3LDEsNiwxLDIiXSA9IDAuMjE2NDY3MTMzOTMxNjYyMTcsIFsiY2xvayw5LDEsNywxLDcsMSwxIl0gPSAwLjA0OTYyNDU0NTIxNTQyODQ3MywgWyJjbG9rLDksMSw3LDEsOCwxLDEiXSA9IDAuMTc2Mzg2MDQ3OTA1NTYzLCBbImNsb2ssOSwxLDgsMSw3LDEsMiJdID0gMC42ODk3OTIyMjU0NjIzMjc2NiwgWyJjbG9rLDksMSw4LDEsOCwxLDIiXSA9IDAuODkyMjc1MzAwMjc4MjQ5NzUsIFsiY2xvayw5LDIsMywxLDYsMSwyIl0gPSAwLjMyMTI5NjMzODE3Nzg0NjQyLCBbImNsb2ssOSwyLDMsMSw3LDEsMiJdID0gMC4yMjkwMzA4OTM0Mjg3ODIzNiwgWyJjbG9rLDksMiwzLDEsOCwxLDIiXSA9IDAuODg0OTc3MTgzMzU0OTMyNjksIFsiY2xvayw5LDIsNSwxLDYsMSwxIl0gPSAwLjI4OTg0Mzk1MzkyMDI0MTk4LCBbImNsb2ssOSwyLDUsMSw2LDEsMiJdID0gMC44ODkzMDk2MjkzNDU0MTM0NywgWyJjbG9rLDksMiw1LDEsNywxLDEiXSA9IDAuMjkxMTk1MDM4MDgwMDMyNTUsIFsiY2xvayw5LDIsNSwxLDcsMSwyIl0gPSAwLjA2ODIyNjEwMjQwNTEwMDA3NSwgWyJjbG9rLDksMiw1LDEsOCwxLDEiXSA9IDAuMTIwNzk0NjU4MjgxMjUxMzUsIFsiY2xvayw5LDIsNywxLDgsMSwyIl0gPSAwLjk4ODM0MzU4MTk3MTgyOTU5LCBbImNsb2ssOSwzLDMsMSw2LDEsMSJdID0gMC40MjU2MjcyNTkxMTM0NjY0NCwgWyJjbG9rLDksMywzLDEsNiwxLDIiXSA9IDAuNzcyODIzNDU5NTM0ODY2MiwgWyJjbG9rLDksMywzLDEsNywxLDEiXSA9IDAuOTYyMTcxNTI5MzAwMzgyMDgsIFsiY2xvayw5LDMsMywxLDcsMSwyIl0gPSAwLjk2NzM3NDkyMjU0OTE4NzIyLCBbImNsb2ssOSwzLDMsMSw4LDEsMSJdID0gMC43NDU0NTE4MTY1NTg4OTMwMywgWyJjbG9rLDksMywzLDEsOCwxLDIiXSA9IDAuMzcxNzMzMjgyNzA4ODA2NjgsIFsiY2xvayw5LDQsMSwxLDYsMSwxIl0gPSAwLjE2Mjg0OTIzMDE4NTczNzM4LCBbImNsb2ssOSw0LDEsMSw2LDEsMiJdID0gMC4zMjQyMzcwMTQzOTk2MjQ3MSwgWyJjbG9rLDksNCwxLDEsNywxLDEiXSA9IDAuMzg3NjEwMDA0OTE1NzQzMzgsIFsiY2xvayw5LDQsMSwxLDgsMSwxIl0gPSAwLjM0OTAyNjU4NzQ2MDM3NTI5LCBbImNsb2ssOSw0LDIsMSw3LDEsMiJdID0gMC41NzY1MDk0MzAyMTI2Mjc5LCBbImNsb2ssOSw0LDIsMSw4LDEsMiJdID0gMC41NTgwMTI2MTczMjg3NTE2MywgWyJjbG9rLDksNCw2LDEsNiwxLDIiXSA9IDAuNDAzODIwOTM3MDQxODI5MDksIFsiY2xvayw5LDQsNiwxLDcsMSwyIl0gPSAwLjI5NTUxMTAxMzM1Njg3MjU4LCBbImNsb2ssOSw0LDYsMSw4LDEsMiJdID0gMC45MzgzOTk5NDQ1MzY4NTc2LCBbImNsb2ssOSw1LDMsMSw2LDEsMiJdID0gMC4zMDY5MTM0Nzc5MzQyNDEwNiwgWyJjbG9rLDksNSwzLDEsNywxLDIiXSA9IDAuMzk2MzQ1NDMwMzgxOTQ3ODEsIFsiY2xvayw5LDUsMywxLDgsMSwyIl0gPSAwLjM5MzQxMDUxMjIwNDU3ODM0LCBbImNsb2ssOSw1LDcsMSw2LDEsMSJdID0gMC4wMjYzMDg4MzY2MDgxNjkxODQsIFsiY2xvayw5LDUsNywxLDYsMSwyIl0gPSAwLjg5OTAyODIwMjY3MjI1NDY5LCBbImNsb2ssOSw1LDcsMSw3LDEsMSJdID0gMC4wMzAxMDg1NDQxNTQxMjcxMTUsIFsiY2xvayw5LDUsNywxLDcsMSwyIl0gPSAwLjY2MjU3NDY2NjE0MTg1MDc5LCBbImNsb2ssOSw1LDcsMSw4LDEsMSJdID0gMC4zMDI5ODk4NzU3OTE2NTg5MiwgWyJjbG9rLDksNSw3LDEsOCwxLDIiXSA9IDAuODgwNjEzMDMzOTE2ODEwMTIsIFsiY2xvayw5LDYsNSwxLDYsMSwxIl0gPSAwLjc1NTI5MDMwNTMxODkyNzkzLCBbImNsb2ssOSw2LDUsMSw2LDEsMiJdID0gMC4wNjgyNDU4NDk1MzA3ODMxNjUsIFsiY2xvayw5LDYsNSwxLDcsMSwxIl0gPSAwLjg0OTI3Nzg2Mzg3Nzg0MDg4LCBbImNsb2ssOSw2LDUsMSw4LDEsMSJdID0gMC4xNjg5MDMzMjYyMDg2ODU4NywgWyJjbG9rLDksNiw2LDEsNywxLDIiXSA9IDAuMDg4NDUwNTAyMzUwMTkyNjk1LCBbImNsb2ssOSw2LDgsMSw2LDEsMiJdID0gMC42MDI0Mjg4MjQyMTY1NjA3NCwgWyJjbG9rLDksNiw4LDEsNywxLDIiXSA9IDAuMjM2OTAzOTQ5MzY4ODcyMDUsIFsiY2xvayw5LDYsOCwxLDgsMSwyIl0gPSAwLjQ1MzE1NzAxMjkwMzI4MDAzLCBbImNsb2ssOSw3LDEsMSw2LDEsMiJdID0gMC4zMDQ1NzQyMTk0NzA1MTQ1NSwgWyJjbG9rLDksNywxLDEsNywxLDIiXSA9IDAuOTI0NTE1Mzk3MjYzODIyNywgWyJjbG9rLDksNywxLDEsOCwxLDIiXSA9IDAuMDQ5NzczMDM0NTg0MDM0NTkyLCBbImNsb2ssOSw3LDMsMSw2LDEsMSJdID0gMC44MTYwNTQyNzYyNTkwMzE5MywgWyJjbG9rLDksNywzLDEsNiwxLDIiXSA9IDAuOTY2NjE5NjY5NDE4ODQwNDgsIFsiY2xvayw5LDcsMywxLDcsMSwxIl0gPSAwLjE3MzgyMDM3MDczMDM2MDUsIFsiY2xvayw5LDcsMywxLDcsMSwyIl0gPSAwLjI5NjEwMDM4NzM4MzQzMDkyLCBbImNsb2ssOSw3LDMsMSw4LDEsMSJdID0gMC4yNDAxMDM0MTY2MjAyMDg3MywgWyJjbG9rLDksNyw1LDEsOCwxLDIiXSA9IDAuNjcwNzU2MDY2MTI2NTUzNDcsIFsiY2xvaywxMCwxLDIsMSw4LDEsMiJdID0gMC45MjQyNzgzOTE5MTE0NzI5OSwgWyJjbG9rLDEwLDEsNiwxLDYsMSwyIl0gPSAwLjE4MDkyMDY5OTE4MTI0NjIsIFsiY2xvaywxMCwxLDYsMSw3LDEsMiJdID0gMC4wODc2MjI5MDI3NTAwNzc0NDcsIFsiY2xvaywxMCwxLDYsMSw4LDEsMiJdID0gMC44MzE5MzkxMDkxNzcyNTEyMiwgWyJjbG9rLDEwLDEsOCwxLDYsMSwxIl0gPSAwLjc3ODc0MjQxMjYzNDM5MzgxLCBbImNsb2ssMTAsMSw4LDEsNiwxLDIiXSA9IDAuNzQ0NDIyNDg2NjQ5NTQ2MzYsIFsiY2xvaywxMCwxLDgsMSw3LDEsMSJdID0gMC4xMjk2NzQwMjAzMzMzMDE1NSwgWyJjbG9rLDEwLDEsOCwxLDcsMSwyIl0gPSAwLjAzMDQwODYxNjUwMzk0MDMzMywgWyJjbG9rLDEwLDEsOCwxLDgsMSwxIl0gPSAwLjYwOTYzMzA2MTA4NjQxNjAyLCBbImNsb2ssMTAsMiwxLDEsOCwxLDIiXSA9IDAuNjI0ODc0MjkwMTIwOTU4MDgsIFsiY2xvaywxMCwyLDUsMSw2LDEsMiJdID0gMC40OTk1MzU0NDUxMDI5NTI3OCwgWyJjbG9rLDEwLDIsNSwxLDcsMSwyIl0gPSAwLjQzNDY0NDI1MTQ2ODg0NTExLCBbImNsb2ssMTAsMiw1LDEsOCwxLDIiXSA9IDAuNDU4NDE5NDQzMzE0ODUwMDcsIFsiY2xvaywxMCwyLDYsMSw2LDEsMSJdID0gMC4zNTAyNzQ0NjIxNzA2MjI4NiwgWyJjbG9rLDEwLDIsNiwxLDYsMSwyIl0gPSAwLjAwNzQwNzc0NDc0MTE0MzM2MjgsIFsiY2xvaywxMCwyLDYsMSw3LDEsMSJdID0gMC4zODAzMDc5NTQyMzc1MzYwNSwgWyJjbG9rLDEwLDIsNiwxLDgsMSwxIl0gPSAwLjk4ODk0NDkzNDQzNTk1Mzk5LCBbImNsb2ssMTAsMiw3LDEsNywxLDIiXSA9IDAuNDY3MTEzODgyOTIwNjQ1MTUsIFsiY2xvaywxMCwzLDQsMSw2LDEsMSJdID0gMC4zOTQ4Mzc2MDQ2OTIyNTE5MywgWyJjbG9rLDEwLDMsNCwxLDYsMSwyIl0gPSAwLjM2Mjk2NjU0MDM3Nzg5NjExLCBbImNsb2ssMTAsMyw0LDEsNywxLDEiXSA9IDAuNzk4MjI1MjcwODUwNzMxODEsIFsiY2xvaywxMCwzLDQsMSw4LDEsMSJdID0gMC40MDc4OTI1NTMyMTU1MjkwOSwgWyJjbG9rLDEwLDMsNSwxLDcsMSwyIl0gPSAwLjE4NDIwNjM3MzgyMjYzNzgzLCBbImNsb2ssMTAsMyw3LDEsNiwxLDIiXSA9IDAuNTA4OTIwMDYyMTAwOTE1NzgsIFsiY2xvaywxMCwzLDcsMSw3LDEsMiJdID0gMC45NTY1ODIxNjQxMzY1NTY4MywgWyJjbG9rLDEwLDMsNywxLDgsMSwyIl0gPSAwLjIwMDk3NTI0OTA1ODM3MzYxLCBbImNsb2ssMTAsNCwyLDEsNiwxLDEiXSA9IDAuNjgxMzc1NDYzNzgzNjg2MTksIFsiY2xvaywxMCw0LDIsMSw2LDEsMiJdID0gMC4yOTAwNjA0NDEwMzY2Nzc4MywgWyJjbG9rLDEwLDQsMiwxLDcsMSwxIl0gPSAwLjMxOTMzOTgzNTY2NTM5ODcsIFsiY2xvaywxMCw0LDIsMSw4LDEsMSJdID0gMC40NjcyNzcwMzE5MDYyNjA2OSwgWyJjbG9rLDEwLDQsMywxLDYsMSwyIl0gPSAwLjE5MzU1NDkxNTM1Mzg3MzE1LCBbImNsb2ssMTAsNCwzLDEsNywxLDIiXSA9IDAuNTY1MTAxNjIxNDcxNTE4NzcsIFsiY2xvaywxMCw0LDMsMSw4LDEsMiJdID0gMC4xOTcxNDU1MTc2NTc2OTA2MiwgWyJjbG9rLDEwLDUsMSwxLDcsMSwyIl0gPSAwLjMwNjE1MDU5ODc5MjY0MTg0LCBbImNsb2ssMTAsNSwzLDEsNiwxLDIiXSA9IDAuOTcxNjk4OTYzMzY1MDIwNiwgWyJjbG9rLDEwLDUsMywxLDcsMSwyIl0gPSAwLjI0MjkzNzMwMTQ5NDIyMTU1LCBbImNsb2ssMTAsNSwzLDEsOCwxLDIiXSA9IDAuMDE0NDU3MzgyMTE1NDkxMTkxLCBbImNsb2ssMTAsNSw4LDEsNiwxLDEiXSA9IDAuOTc1Nzc0NTYwNTA3MjU0MzEsIFsiY2xvaywxMCw1LDgsMSw2LDEsMiJdID0gMC40MjU3NTA3MTkyODA5Nzk1MiwgWyJjbG9rLDEwLDUsOCwxLDcsMSwxIl0gPSAwLjEyNDI3NDkyNTkxNzcwMTYyLCBbImNsb2ssMTAsNSw4LDEsOCwxLDEiXSA9IDAuMDExNDk5NTc1MDA0NzEwODgyLCBbImNsb2ssMTAsNiwxLDEsNiwxLDIiXSA9IDAuMzA4MDkxMzU3MzMzNjk4OTcsIFsiY2xvaywxMCw2LDEsMSw3LDEsMiJdID0gMC41NzQ1NzcyMDYwNjAzMzQwMiwgWyJjbG9rLDEwLDYsMSwxLDgsMSwyIl0gPSAwLjA3ODcwNjA1NTI5OTI3NTEwMiwgWyJjbG9rLDEwLDYsNiwxLDYsMSwxIl0gPSAwLjMyMzczNzExNzU2MjMwMDcyLCBbImNsb2ssMTAsNiw2LDEsNiwxLDIiXSA9IDAuMDYwNDUyMjM1NjU5MjY1ODI5LCBbImNsb2ssMTAsNiw2LDEsNywxLDEiXSA9IDAuMjQzMDYxNTcxOTIzMTE5MjgsIFsiY2xvaywxMCw2LDYsMSw4LDEsMSJdID0gMC40NzY4MDY0NTE0Mzg0MjE4MiwgWyJjbG9rLDEwLDYsNywxLDcsMSwyIl0gPSAwLjI1NjQ0ODM2MTgxMDUzNDIxLCBbImNsb2ssMTAsNyw0LDEsNiwxLDEiXSA9IDAuMzYzNjk0ODU5NTk2NTc3MjEsIFsiY2xvaywxMCw3LDQsMSw2LDEsMiJdID0gMC44OTc2MzI1NDg3NjI5MDAyMiwgWyJjbG9rLDEwLDcsNCwxLDcsMSwxIl0gPSAwLjQyMzAyMTMwMTI1NDM4NzA4LCBbImNsb2ssMTAsNyw0LDEsNywxLDIiXSA9IDAuNTMyMDM0Mjc1MTQwMjI4NzIsIFsiY2xvaywxMCw3LDQsMSw4LDEsMSJdID0gMC41MDA4ODgxNjk4Mzg5MDExNiwgWyJjbG9rLDEwLDcsNCwxLDgsMSwyIl0gPSAwLjYzOTMxNjg1MzQ1ODk3ODM3LCBbImNsb2ssMTAsNyw4LDEsNiwxLDIiXSA9IDAuODM1NDY1NDc5Nzc2MTk2NDUsIFsiY2xvaywxMCw3LDgsMSw3LDEsMiJdID0gMC43ODk2MDA0MzI1NjI0MjM5NiwgWyJjbG9rLDEwLDcsOCwxLDgsMSwyIl0gPSAwLjEwMDIyNDA2MDc1MjAwNTUyLCBbImNsb2ssMTEsMSwxLDEsNiwxLDEiXSA9IDAuMzMyNzMxOTYyNjY5NTU0MTgsIFsiY2xvaywxMSwxLDEsMSw2LDEsMiJdID0gMC4zMDM2NjA3MDQ1NjY5MzIxNywgWyJjbG9rLDExLDEsMSwxLDcsMSwxIl0gPSAwLjcwMDQzNjgyMzIzNDQ2MzU1LCBbImNsb2ssMTEsMSwxLDEsOCwxLDEiXSA9IDAuNzM1NTI0MjEyMTg5NzQwOTYsIFsiY2xvaywxMSwxLDIsMSw3LDEsMiJdID0gMC4zMTIyNzgyNDYwNjMzNzY2MiwgWyJjbG9rLDExLDEsNCwxLDgsMSwyIl0gPSAwLjYyMDQ4OTc2NDM5NTE5OTg3LCBbImNsb2ssMTEsMSw4LDEsNiwxLDIiXSA9IDAuMjIxMjE3NDkwMzUxMDI2NDUsIFsiY2xvaywxMSwxLDgsMSw3LDEsMiJdID0gMC43ODI3MTE5MTgyMzgzMTA4OCwgWyJjbG9rLDExLDEsOCwxLDgsMSwyIl0gPSAwLjE3Mjk2MzAwODIyODE2NTksIFsiY2xvaywxMSwyLDEsMSw4LDEsMiJdID0gMC44MzI0MDA1NDgzMzE5NzI1MiwgWyJjbG9rLDExLDIsNSwxLDYsMSwyIl0gPSAwLjA2NDcwMzA1NTQxNjk3ODI5NSwgWyJjbG9rLDExLDIsNSwxLDcsMSwyIl0gPSAwLjY5NzkxMjg4NDczMzg2ODQ4LCBbImNsb2ssMTEsMiw1LDEsOCwxLDIiXSA9IDAuMzYzMjEzMDkyNTg0MDI3NTYsIFsiY2xvaywxMSwyLDcsMSw2LDEsMSJdID0gMC4zNDgzMjcyNzg1MDIyODgxNywgWyJjbG9rLDExLDIsNywxLDYsMSwyIl0gPSAwLjUyODIyNjcyMzc5MjYyNjM2LCBbImNsb2ssMTEsMiw3LDEsNywxLDEiXSA9IDAuNDM1MTgxNTU1NTgwODI2OTQsIFsiY2xvaywxMSwyLDcsMSw3LDEsMiJdID0gMC4yMDgwMzI4MDQzNzE2Njg2LCBbImNsb2ssMTEsMiw3LDEsOCwxLDEiXSA9IDAuMTQzMzczMzg0NzU0MTgwMDQsIFsiY2xvaywxMSwzLDUsMSw2LDEsMSJdID0gMC43NjA3MzMyNTc1MTE1ODkyNywgWyJjbG9rLDExLDMsNSwxLDYsMSwyIl0gPSAwLjM4OTQyMjg5OTE0MzEzNDMzLCBbImNsb2ssMTEsMyw1LDEsNywxLDEiXSA9IDAuNzUzNDcyNzEyNTQzNTMxODgsIFsiY2xvaywxMSwzLDUsMSw4LDEsMSJdID0gMC40OTYxNzk5NTMzMTY1OTEzNywgWyJjbG9rLDExLDMsNiwxLDYsMSwyIl0gPSAwLjU2MDMyODQxMzAwMTE1MzY2LCBbImNsb2ssMTEsMyw2LDEsNywxLDIiXSA9IDAuNzY2Nzg1ODUzNTA3OTQxNzEsIFsiY2xvaywxMSwzLDYsMSw4LDEsMiJdID0gMC4xMTg3NzE4MDIyNTE2NTIxOCwgWyJjbG9rLDExLDQsMywxLDYsMSwxIl0gPSAwLjM2OTYwOTk2NDA0NDA3MzA5LCBbImNsb2ssMTEsNCwzLDEsNiwxLDIiXSA9IDAuNTYyMjY1NTczNjY5NjMxODEsIFsiY2xvaywxMSw0LDMsMSw3LDEsMSJdID0gMC41MTg0OTYzODMzNTg1ODQwNiwgWyJjbG9rLDExLDQsMywxLDcsMSwyIl0gPSAwLjAzNzc4MzEwMDg1MzQ5MzQ1NiwgWyJjbG9rLDExLDQsMywxLDgsMSwxIl0gPSAwLjcwNTk3OTcxNzU5OTI3MTAzLCBbImNsb2ssMTEsNCw1LDEsNiwxLDIiXSA9IDAuMzUxODAxNTI1OTU3ODk1MjcsIFsiY2xvaywxMSw0LDUsMSw3LDEsMiJdID0gMC4yNDIxNjYzMTA1NTM4OTYyNiwgWyJjbG9rLDExLDQsNSwxLDgsMSwyIl0gPSAwLjIxMDY5MDc3NTg0NjExNTg0LCBbImNsb2ssMTEsNSwxLDEsNiwxLDEiXSA9IDAuNDE1NjUyNTc5NjI1OTEzNCwgWyJjbG9rLDExLDUsMSwxLDYsMSwyIl0gPSAwLjYyMDI4NDQ2MTA4MTQ4NjYsIFsiY2xvaywxMSw1LDEsMSw3LDEsMSJdID0gMC4zMDc4Mzc1NTI3NTA0NTc3NywgWyJjbG9rLDExLDUsMSwxLDcsMSwyIl0gPSAwLjc5MjM1NjExMjgzMzYwOTQxLCBbImNsb2ssMTEsNSwxLDEsOCwxLDEiXSA9IDAuODE1MjUyNTQyNDA2MDA0NDIsIFsiY2xvaywxMSw1LDEsMSw4LDEsMiJdID0gMC42OTg2NjkyNzk4MTM3MDU5NywgWyJjbG9rLDExLDUsNSwxLDYsMSwyIl0gPSAwLjU3NTY2ODgxNzA2ODUxMjY5LCBbImNsb2ssMTEsNSw1LDEsNywxLDIiXSA9IDAuMjM0MTk0ODE3NjQyODY0NzYsIFsiY2xvaywxMSw1LDUsMSw4LDEsMiJdID0gMC4xNjg0NjkwMTY1MDc0MjIzLCBbImNsb2ssMTEsNiwzLDEsNiwxLDIiXSA9IDAuNjc5MTM0Mzk0MDUwMDI0OTYsIFsiY2xvaywxMSw2LDMsMSw3LDEsMiJdID0gMC43NzQ1MjA5MTA5MzgyNzczNSwgWyJjbG9rLDExLDYsMywxLDgsMSwyIl0gPSAwLjE0MTUzNTc5NDY5NDEzMDQ3LCBbImNsb2ssMTEsNiw3LDEsNiwxLDEiXSA9IDAuNzE2MDQwMDI3MTgzMTQ4NjMsIFsiY2xvaywxMSw2LDcsMSw2LDEsMiJdID0gMC43NzU1MDA1MzI4NDYzMzMxMywgWyJjbG9rLDExLDYsNywxLDcsMSwxIl0gPSAwLjQzNjYzNTg0MzgxNzg0NTQ4LCBbImNsb2ssMTEsNiw3LDEsNywxLDIiXSA9IDAuNjA3MzE1NzkzNzYzNTExMTksIFsiY2xvaywxMSw2LDcsMSw4LDEsMSJdID0gMC40NDk5ODc2MDQ4NDY5NzYyLCBbImNsb2ssMTEsNiw3LDEsOCwxLDIiXSA9IDAuNjc2OTY1MDEzMDA1OTE2ODMsIFsiY2xvaywxMSw3LDUsMSw2LDEsMSJdID0gMC4wMjUxODkwNjE4MjA0NDMxMTUsIFsiY2xvaywxMSw3LDUsMSw2LDEsMiJdID0gMC4yMTY1MTAwMzc3NzcxNzM1OSwgWyJjbG9rLDExLDcsNSwxLDcsMSwxIl0gPSAwLjkwNTYwNDU0MjkxOTg0NzgyLCBbImNsb2ssMTEsNyw1LDEsOCwxLDEiXSA9IDAuNTM3OTM4ODQwMzU3OTA4ODQsIFsiY2xvaywxMSw3LDYsMSw2LDEsMiJdID0gMC44NzQxNjM5NDM0NzgwMDI2NCwgWyJjbG9rLDExLDcsNiwxLDcsMSwyIl0gPSAwLjc4OTE4NDAyMzYxMjkzODYsIFsiY2xvaywxMSw3LDYsMSw4LDEsMiJdID0gMC4wNDM5Njk3MDk5MDQ4NDc5NDIsIFsiY2xvaywxMiwxLDIsMSw2LDEsMSJdID0gMC4xNzg3NjEzODgwNjg5NTk1OCwgWyJjbG9rLDEyLDEsMiwxLDYsMSwyIl0gPSAwLjU1NzQzMjM5OTQ2ODI0OTMsIFsiY2xvaywxMiwxLDIsMSw3LDEsMSJdID0gMC42MjA0MzYxODk2MjAyMTgxOCwgWyJjbG9rLDEyLDEsMiwxLDcsMSwyIl0gPSAwLjkzODAyNzg2MDY2MzU5MzIzLCBbImNsb2ssMTIsMSwyLDEsOCwxLDEiXSA9IDAuNDMyODUwNjQ1MTk0NzY1MTMsIFsiY2xvaywxMiwxLDIsMSw4LDEsMiJdID0gMC42MjI3NzEzMDU1MTYyNTQ5MiwgWyJjbG9rLDEyLDEsNiwxLDYsMSwyIl0gPSAwLjYxNzkxNDE4NzMzODI1MTY1LCBbImNsb2ssMTIsMSw2LDEsNywxLDIiXSA9IDAuNDAyNDQ5ODI5NjQ5MzE2MTksIFsiY2xvaywxMiwxLDYsMSw4LDEsMiJdID0gMC44NDU2OTg4NTA2OTgyMzUyNSwgWyJjbG9rLDEyLDIsMiwxLDgsMSwyIl0gPSAwLjYxOTg0NDc0NDUzNjc5NTgzLCBbImNsb2ssMTIsMiw2LDEsNiwxLDIiXSA9IDAuNjM2ODkyNTY4OTEyMjA4MDIsIFsiY2xvaywxMiwyLDYsMSw3LDEsMiJdID0gMC40Mzk2NDE0NTYzMzA1MzY0MiwgWyJjbG9rLDEyLDIsNiwxLDgsMSwyIl0gPSAwLjUyNTQ0NTA1Nzg5ODE1Mzk5LCBbImNsb2ssMTIsMiw4LDEsNiwxLDEiXSA9IDAuODEyNjA0MTM0Mjc0ODM0NjksIFsiY2xvaywxMiwyLDgsMSw2LDEsMiJdID0gMC41Mjg4MzMxNjYwNzI3NDI3OCwgWyJjbG9rLDEyLDIsOCwxLDcsMSwxIl0gPSAwLjI4OTgzMzc4Mzc1MTY1NzE0LCBbImNsb2ssMTIsMiw4LDEsNywxLDIiXSA9IDAuMzE4NjUwMzQzODA5MzA2NjgsIFsiY2xvaywxMiwyLDgsMSw4LDEsMSJdID0gMC4yMDAzMzY3ODIyMzQ1MTEyMywgWyJjbG9rLDEyLDMsNiwxLDYsMSwxIl0gPSAwLjA0OTc3NTA5MTUyNjI5NzU1NSwgWyJjbG9rLDEyLDMsNiwxLDYsMSwyIl0gPSAwLjk2MDMyMTI4NDMxMDI4NDE4LCBbImNsb2ssMTIsMyw2LDEsNywxLDEiXSA9IDAuNTI4OTI1NTA0OTYzMzcwNTQsIFsiY2xvaywxMiwzLDYsMSw3LDEsMiJdID0gMC41NDI2OTY2NjU2NjQzMDYxOSwgWyJjbG9rLDEyLDMsNiwxLDgsMSwxIl0gPSAwLjQxNDQ2NTMyODA4OTUxMjMxLCBbImNsb2ssMTIsMyw2LDEsOCwxLDIiXSA9IDAuMTg5ODQ3MjMwNDEzNjU1MTQsIFsiY2xvaywxMiw0LDQsMSw2LDEsMSJdID0gMC4yMjQ3ODI0NjQ0MzIxNzg1MywgWyJjbG9rLDEyLDQsNCwxLDYsMSwyIl0gPSAwLjMwNTk5ODM2MzM0MTM2NTY1LCBbImNsb2ssMTIsNCw0LDEsNywxLDEiXSA9IDAuNjQ3NzcxNjQ1MTgwOTYzNDIsIFsiY2xvaywxMiw0LDQsMSw4LDEsMSJdID0gMC4wNjc0ODQ5MzEyMTY0ODc3OTgsIFsiY2xvaywxMiw0LDUsMSw3LDEsMiJdID0gMC40NDYwOTI3MDcxODI5Njg3OCwgWyJjbG9rLDEyLDQsNywxLDYsMSwyIl0gPSAwLjMwMDAxNjA0NTc4NzA0OTU1LCBbImNsb2ssMTIsNCw3LDEsNywxLDIiXSA9IDAuMDI3MzIxNTkxODI5Njk4MDY2LCBbImNsb2ssMTIsNCw3LDEsOCwxLDIiXSA9IDAuMTgyOTMwNzMyODkzNzE4NjQsIFsiY2xvaywxMiw1LDEsMSw2LDEsMiJdID0gMC40NDg4NDkzNDA4NDU3MzQzNiwgWyJjbG9rLDEyLDUsMSwxLDcsMSwyIl0gPSAwLjM0NTQzNzg4NTc0NDk0NDI3LCBbImNsb2ssMTIsNSwxLDEsOCwxLDIiXSA9IDAuODYwNTU3NjYzMjQ0MTUxODQsIFsiY2xvaywxMiw1LDIsMSw2LDEsMSJdID0gMC4wNjQyODQzMjU2Njk1NTY2NjMsIFsiY2xvaywxMiw1LDIsMSw2LDEsMiJdID0gMC40NTg2NzA1MTE3NTM5MjY5MiwgWyJjbG9rLDEyLDUsMiwxLDcsMSwxIl0gPSAwLjc2MDIwOTU4ODU3MTgzMzQxLCBbImNsb2ssMTIsNSwyLDEsOCwxLDEiXSA9IDAuNTU5NzkzMDE2ODcwNTM0MDcsIFsiY2xvaywxMiw1LDMsMSw3LDEsMiJdID0gMC4zNzAzNTQ4NzU1NTg4ODY4LCBbImNsb2ssMTIsNSw1LDEsOCwxLDIiXSA9IDAuOTUyNzU4NjQ1NzU3ODU0NTIsIFsiY2xvaywxMiw2LDQsMSw2LDEsMiJdID0gMC4zNTcyNjU0Nzg1NjYxNjk3NSwgWyJjbG9rLDEyLDYsNCwxLDcsMSwyIl0gPSAwLjI2NDM5ODM0MjYwNTI2ODczLCBbImNsb2ssMTIsNiw0LDEsOCwxLDIiXSA9IDAuNzg2MDQyNDI0NTA0MTI3OTgsIFsiY2xvaywxMiw2LDgsMSw2LDEsMSJdID0gMC4wNTI2MDY1NjA0MTMwMjg4MDIsIFsiY2xvaywxMiw2LDgsMSw2LDEsMiJdID0gMC44NTczMjI0NzAyMzQwNjg5MywgWyJjbG9rLDEyLDYsOCwxLDcsMSwxIl0gPSAwLjU4MDIzMjEzNTAyNTE5Njg4LCBbImNsb2ssMTIsNiw4LDEsNywxLDIiXSA9IDAuNjE0NjA0OTAyMzI3NTUyNiwgWyJjbG9rLDEyLDYsOCwxLDgsMSwxIl0gPSAwLjc5MTA4MDk5MzMwMDgwMDk1LCBbImNsb2ssMTIsNiw4LDEsOCwxLDIiXSA9IDAuNzUwMjcyNzM0Mjg0ODExODksIFsiY2xvaywxMiw3LDEsMSw2LDEsMiJdID0gMC45ODM3OTk2MDMzMjI3NDk0MSwgWyJjbG9rLDEyLDcsMSwxLDcsMSwyIl0gPSAwLjIwMDMzNDcwMDkwMzk4ODY0LCBbImNsb2ssMTIsNywxLDEsOCwxLDIiXSA9IDAuMzQ3MDk1NzU0MTczMjIwOTIsIFsiY2xvaywxMiw3LDYsMSw2LDEsMSJdID0gMC40OTc1OTA5NjEwMTE4MzI5OCwgWyJjbG9rLDEyLDcsNiwxLDYsMSwyIl0gPSAwLjE1MzE0NDQxNDgzODU5MDk4LCBbImNsb2ssMTIsNyw2LDEsNywxLDEiXSA9IDAuNDg1MTkyNDMwODI4NDMzNDQsIFsiY2xvaywxMiw3LDYsMSw4LDEsMSJdID0gMC45NDg4NDI1MzY1Mjk2MDM4MiwgWyJjbG9rLDEyLDcsNywxLDcsMSwyIl0gPSAwLjA3NTMzMzIwOTAzNzUxMzE3MSwgWyJjbG9rLDEzLDEsMSwxLDYsMSwyIl0gPSAwLjc5OTA4NzM3NTEwNDMwNDM5LCBbImNsb2ssMTMsMSwxLDEsNywxLDIiXSA9IDAuNzUyMjI1MjM4Nzk3NDY5MDUsIFsiY2xvaywxMywxLDEsMSw4LDEsMiJdID0gMC43MTgxMjE2NDM0MjY1Mjg3MywgWyJjbG9rLDEzLDEsMywxLDYsMSwxIl0gPSAwLjQ5NDY2OTk3NTY0OTA4MTMzLCBbImNsb2ssMTMsMSwzLDEsNiwxLDIiXSA9IDAuNTM4MDczNjI0MTY1NjMyNzYsIFsiY2xvaywxMywxLDMsMSw3LDEsMSJdID0gMC41MjEwNTc1Njk5MjYwMzMxNCwgWyJjbG9rLDEzLDEsMywxLDcsMSwyIl0gPSAwLjAwMDcyNDgwMzI0Njc2NTcxNTA2LCBbImNsb2ssMTMsMSwzLDEsOCwxLDEiXSA9IDAuNTk5MjE3MDA2NDY2MDM4MjYsIFsiY2xvaywxMywxLDUsMSw4LDEsMiJdID0gMC44MjQ1MjY5NjM0NjU2NDM1OCwgWyJjbG9rLDEzLDIsMSwxLDYsMSwxIl0gPSAwLjMxOTM3ODE2MTM2OTYxNDI4LCBbImNsb2ssMTMsMiwxLDEsNiwxLDIiXSA9IDAuMzAwNzMwMDY1OTYxNzc1NzYsIFsiY2xvaywxMywyLDEsMSw3LDEsMSJdID0gMC42MTMwMTI3MTgxMTgyMDQ1NywgWyJjbG9rLDEzLDIsMSwxLDgsMSwxIl0gPSAwLjkzOTk4MDA0MDg4MDQzOTI5LCBbImNsb2ssMTMsMiwyLDEsNywxLDIiXSA9IDAuMjIzODkxMzI1MTE2NDE2MDcsIFsiY2xvaywxMywyLDQsMSw2LDEsMiJdID0gMC43NDE1MzQxMTU5NzY4NjI0NywgWyJjbG9rLDEzLDIsNCwxLDcsMSwyIl0gPSAwLjQ3ODU4NDUwMjQyNDA5NDIzLCBbImNsb2ssMTMsMiw0LDEsOCwxLDIiXSA9IDAuMjc3MzkyODAwNzM1MzczMiwgWyJjbG9rLDEzLDMsNCwxLDYsMSwyIl0gPSAwLjE4OTMzMzIzNTY5Njk2NTQ3LCBbImNsb2ssMTMsMyw0LDEsNywxLDIiXSA9IDAuMjMyOTMzNzU1MTk3OTc2NDMsIFsiY2xvaywxMywzLDQsMSw4LDEsMiJdID0gMC41OTY5NDc4MTM1MTM1NzM1MSwgWyJjbG9rLDEzLDMsNywxLDYsMSwxIl0gPSAwLjUzNzU4NTE2NTMzNTYzNDUsIFsiY2xvaywxMywzLDcsMSw2LDEsMiJdID0gMC4zMDczNjQwOTc1MDU2MjM1NSwgWyJjbG9rLDEzLDMsNywxLDcsMSwxIl0gPSAwLjAyMDg4OTQzODMyNjQxMTEwMywgWyJjbG9rLDEzLDMsNywxLDgsMSwxIl0gPSAwLjcyMDEzNjA5MTM5Njc2OTM3LCBbImNsb2ssMTMsMyw4LDEsNywxLDIiXSA9IDAuOTkyMTMwODMwNjc2MzA3MjUsIFsiY2xvaywxMywzLDgsMSw4LDEsMiJdID0gMC42OTE4MDU3OTI2MDEzMzYxMiwgWyJjbG9rLDEzLDQsMiwxLDYsMSwyIl0gPSAwLjMzNjQyNjk4MjAwNTk1NjQ0LCBbImNsb2ssMTMsNCwyLDEsNywxLDIiXSA9IDAuOTY4Mzk5MTAwNTU3ODgxMTQsIFsiY2xvaywxMyw0LDIsMSw4LDEsMiJdID0gMC41NDA4OTI3MTU5NjQxOTQwOCwgWyJjbG9rLDEzLDQsNSwxLDYsMSwxIl0gPSAwLjg1MDQ2NzU1NTg3OTE4MTQ0LCBbImNsb2ssMTMsNCw1LDEsNiwxLDIiXSA9IDAuMzY4MTI1MTQxNzYyOTY2MjksIFsiY2xvaywxMyw0LDUsMSw3LDEsMSJdID0gMC4zOTE5NTk2NDc0NTYzNTAwNCwgWyJjbG9rLDEzLDQsNSwxLDgsMSwxIl0gPSAwLjA0NTczMjc1MTY2NDk4NTQ3MiwgWyJjbG9rLDEzLDQsNiwxLDcsMSwyIl0gPSAwLjk5NzU5NTc3MTk4NDAxMjUsIFsiY2xvaywxMyw0LDYsMSw4LDEsMiJdID0gMC45MTc1NzM2ODc1NDk2NDIzLCBbImNsb2ssMTMsNSwzLDEsNiwxLDEiXSA9IDAuNTI2MzQxNTcwNTg5NDczMTcsIFsiY2xvaywxMyw1LDMsMSw2LDEsMiJdID0gMC4yNTMyMzg5MTAzMzc2MzUxMywgWyJjbG9rLDEzLDUsMywxLDcsMSwxIl0gPSAwLjQ3MDg0MjM3MDU4MjUxNzU0LCBbImNsb2ssMTMsNSwzLDEsOCwxLDEiXSA9IDAuNjkxMTMxNjU2NDE0NjIyNiwgWyJjbG9rLDEzLDUsNCwxLDYsMSwyIl0gPSAwLjU4NjQ5MzUzNjAzMTMxMzQ5LCBbImNsb2ssMTMsNSw0LDEsNywxLDIiXSA9IDAuNzIzOTk5MjYzMjM0NjQ5MjUsIFsiY2xvaywxMyw1LDQsMSw4LDEsMiJdID0gMC40MDgyMzMyMjEyMzk1OTE4MywgWyJjbG9rLDEzLDYsMSwxLDYsMSwxIl0gPSAwLjc2MDA5MjY5OTM3MDkzNzE1LCBbImNsb2ssMTMsNiwxLDEsNiwxLDIiXSA9IDAuNTAxODkwMzg4OTM0MDIxNiwgWyJjbG9rLDEzLDYsMSwxLDcsMSwxIl0gPSAwLjE0MDczODkzNDAzNjg2NDU1LCBbImNsb2ssMTMsNiwxLDEsNywxLDIiXSA9IDAuMzIxNzE0Mjg5MDIxNjMxNTcsIFsiY2xvaywxMyw2LDEsMSw4LDEsMSJdID0gMC42MDgxNDc3MzU0MzkwNjg5NywgWyJjbG9rLDEzLDYsMywxLDgsMSwyIl0gPSAwLjg5OTkyMjUxODg4NzE5OTMyLCBbImNsb2ssMTMsNiw3LDEsNiwxLDIiXSA9IDAuODY4NDk0Mjk4ODY3MDIwMzQsIFsiY2xvaywxMyw2LDcsMSw3LDEsMiJdID0gMC4wMzk4MjgzOTkxNzc3OTEwMTgsIFsiY2xvaywxMyw2LDcsMSw4LDEsMiJdID0gMC43Mjg3MTQyMTg2MTY2MDkzNCwgWyJjbG9rLDEzLDcsMywxLDYsMSwyIl0gPSAwLjM2NzUyMzU0ODU3MDA5ODcyLCBbImNsb2ssMTMsNywzLDEsNywxLDIiXSA9IDAuMjc2ODc3MzM3MDU1MjM2NjUsIFsiY2xvaywxMyw3LDMsMSw4LDEsMiJdID0gMC4xNDE1MDIzNzA3ODg2MDI5NSwgWyJjbG9rLDEzLDcsNywxLDYsMSwxIl0gPSAwLjEwNjUyOTI0MzQwMzU3MzM5LCBbImNsb2ssMTMsNyw3LDEsNiwxLDIiXSA9IDAuODMxNTE5MDg2MDM4MDM5OTIsIFsiY2xvaywxMyw3LDcsMSw3LDEsMSJdID0gMC4yMTQxOTg4NDAwMzAyOTU4OCwgWyJjbG9rLDEzLDcsNywxLDcsMSwyIl0gPSAwLjc4MzE0NDQxMjY0MjgzMTA4LCBbImNsb2ssMTMsNyw3LDEsOCwxLDEiXSA9IDAuOTQxOTk3NjA2OTcyMjMyLCBbImNsb2ssMTMsNyw3LDEsOCwxLDIiXSA9IDAuNTA1Nzc3Nzg4MzYxMDEyODQsIFsiY2xvaywxNCwxLDMsMSw2LDEsMiJdID0gMC4zNjU3MjcxMzkzNDA0MzU3NywgWyJjbG9rLDE0LDEsMywxLDcsMSwyIl0gPSAwLjY2NDk4NDc3MDUxMDg4NDIzLCBbImNsb2ssMTQsMSwzLDEsOCwxLDIiXSA9IDAuNDQ0NDEyNjk0NjkzMjk2NDcsIFsiY2xvaywxNCwxLDQsMSw2LDEsMSJdID0gMC45OTg3MDU5MzI3MjE2MTYxMiwgWyJjbG9rLDE0LDEsNCwxLDYsMSwyIl0gPSAwLjMxODA1NDM1NjA1MTA1MTM3LCBbImNsb2ssMTQsMSw0LDEsNywxLDEiXSA9IDAuMDY2MzcwMDk0MTA3NjM0ODM2LCBbImNsb2ssMTQsMSw0LDEsOCwxLDEiXSA9IDAuMjQ3NjYzMzI5NTg1ODcxNDUsIFsiY2xvaywxNCwxLDUsMSw3LDEsMiJdID0gMC4zOTI3MTMxNDQyNjQ0NzMzNSwgWyJjbG9rLDE0LDEsNywxLDgsMSwyIl0gPSAwLjYxMTg5MjM3MTk4NDY4MTYsIFsiY2xvaywxNCwyLDIsMSw2LDEsMSJdID0gMC4zMTc3Nzk4MDkzMjI1ODM0MywgWyJjbG9rLDE0LDIsMiwxLDYsMSwyIl0gPSAwLjU2MjM1OTcwMTk2OTU3ODc0LCBbImNsb2ssMTQsMiwyLDEsNywxLDEiXSA9IDAuNDI0MTU4Njk5ODQyMDc0OTksIFsiY2xvaywxNCwyLDIsMSw3LDEsMiJdID0gMC4zMTM3NTIwNjcwMDkzMDUyNSwgWyJjbG9rLDE0LDIsMiwxLDgsMSwxIl0gPSAwLjM0Njc4NjM1NjY3MjQ0NDI4LCBbImNsb2ssMTQsMiw0LDEsOCwxLDIiXSA9IDAuOTI1NjUxMzk0NjM3Nzc0MjQsIFsiY2xvaywxNCwyLDgsMSw2LDEsMiJdID0gMC4zNjU4MzkxMjc4MTYyNjY0OSwgWyJjbG9rLDE0LDIsOCwxLDcsMSwyIl0gPSAwLjAyOTUwNjI5MzE3MDA4MjI0MywgWyJjbG9rLDE0LDIsOCwxLDgsMSwyIl0gPSAwLjc0ODk1Mzk0NDE5MjE2NjIxLCBbImNsb2ssMTQsMywyLDEsNiwxLDIiXSA9IDAuMzg4MTc1MTEzMTQ5OTYyNDUsIFsiY2xvaywxNCwzLDIsMSw3LDEsMiJdID0gMC4wNTM1ODg2NTE3MjcyNzk0NDYsIFsiY2xvaywxNCwzLDIsMSw4LDEsMiJdID0gMC4xMDk2MzQ1MjM3MzI0OTMxNiwgWyJjbG9rLDE0LDMsOCwxLDYsMSwxIl0gPSAwLjMxMjcxMDUwNzUyODM5MjI1LCBbImNsb2ssMTQsMyw4LDEsNiwxLDIiXSA9IDAuNjQwNzc2OTUyODIzMTYxMDUsIFsiY2xvaywxNCwzLDgsMSw3LDEsMSJdID0gMC41Mjc1ODcwNzgzODI0Mjg1OCwgWyJjbG9rLDE0LDMsOCwxLDcsMSwyIl0gPSAwLjMxODEwNDQ0MTI0ODM0NTU4LCBbImNsb2ssMTQsMyw4LDEsOCwxLDEiXSA9IDAuMDM1NzE5NjU2NjMxMjQ5NDMsIFsiY2xvaywxNCw0LDYsMSw2LDEsMSJdID0gMC4zNDg0Njc0MzE3MzE2MzAwOCwgWyJjbG9rLDE0LDQsNiwxLDYsMSwyIl0gPSAwLjMyNjkxMzc3MjAzODgwMjksIFsiY2xvaywxNCw0LDYsMSw3LDEsMSJdID0gMC4yODc1NjcyMjU3NDUyMDA0NCwgWyJjbG9rLDE0LDQsNiwxLDgsMSwxIl0gPSAwLjI4OTI2NzQ2OTI0MDI3MzkxLCBbImNsb2ssMTQsNCw3LDEsNiwxLDIiXSA9IDAuNDY1MTEzNDg4NzcyNDQxMywgWyJjbG9rLDE0LDQsNywxLDcsMSwyIl0gPSAwLjgwMDI0MzAyNzgxNTMzNTg1LCBbImNsb2ssMTQsNCw3LDEsOCwxLDIiXSA9IDAuMjc0Njg4NDQzMDAyODgwNjQsIFsiY2xvaywxNCw1LDQsMSw2LDEsMSJdID0gMC42NTQxMDQyMDQ3NDQyNTA5MSwgWyJjbG9rLDE0LDUsNCwxLDYsMSwyIl0gPSAwLjE4OTI3MjkxNjU3NTIwNjI4LCBbImNsb2ssMTQsNSw0LDEsNywxLDEiXSA9IDAuNDY4NDYxODE4NzU4MDU1MTUsIFsiY2xvaywxNCw1LDQsMSw4LDEsMSJdID0gMC4wNzU3NzcyNDkyNTA4NjI4MjEsIFsiY2xvaywxNCw1LDUsMSw3LDEsMiJdID0gMC40MjUwODMwMzQ2MDA3NjI1OCwgWyJjbG9rLDE0LDUsNywxLDYsMSwyIl0gPSAwLjE4NTQyNTkwMTI3MzU0OTk2LCBbImNsb2ssMTQsNSw3LDEsNywxLDIiXSA9IDAuNzQ0NjQ2OTUzMDQ0Njg5MDksIFsiY2xvaywxNCw1LDcsMSw4LDEsMiJdID0gMC4wNDgzNDk2NTQwOTIyNDA3OSwgWyJjbG9rLDE0LDYsMiwxLDYsMSwxIl0gPSAwLjkyOTY4MzE1ODcxOTQ1NTM5LCBbImNsb2ssMTQsNiwyLDEsNiwxLDIiXSA9IDAuNTYwMDkxNDA2NjI0MDQ4MSwgWyJjbG9rLDE0LDYsMiwxLDcsMSwxIl0gPSAwLjY1MTA3NzMzMTM5NTkzOTcxLCBbImNsb2ssMTQsNiwyLDEsNywxLDIiXSA9IDAuMTExMjMxOTE4MDk3MzY5NTQsIFsiY2xvaywxNCw2LDIsMSw4LDEsMSJdID0gMC44NjY1NDYyMDI5MzI5NTUzNywgWyJjbG9rLDE0LDYsNCwxLDYsMSwyIl0gPSAwLjcxODE3NjYwMzY2NTUzNDE1LCBbImNsb2ssMTQsNiw0LDEsNywxLDIiXSA9IDAuMzUxNDA1OTY4ODM2MzcwODcsIFsiY2xvaywxNCw2LDQsMSw4LDEsMiJdID0gMC4wNzM1NTUxMjI5OTExNzc1MDIsIFsiY2xvaywxNCw3LDIsMSw2LDEsMiJdID0gMC44MzQ0MDYzNzMwNDIxMDkxOCwgWyJjbG9rLDE0LDcsMiwxLDcsMSwyIl0gPSAwLjY4NTgxOTk1NjgzMDE0NDE4LCBbImNsb2ssMTQsNywyLDEsOCwxLDIiXSA9IDAuMTYxNDAyNzUzNzY0NzI4NDYsIFsiY2xvaywxNCw3LDgsMSw2LDEsMSJdID0gMC4zNjk2MTc2NDAyNTg1MjQyOCwgWyJjbG9rLDE0LDcsOCwxLDYsMSwyIl0gPSAwLjUwMjY1NjUyMjUzMDI5MjE0LCBbImNsb2ssMTQsNyw4LDEsNywxLDEiXSA9IDAuMjc0OTc1MTY1NTQyNDY5NDgsIFsiY2xvaywxNCw3LDgsMSw3LDEsMiJdID0gMC4yNjU2NDc4MzQyOTc1MjcwMywgWyJjbG9rLDE0LDcsOCwxLDgsMSwxIl0gPSAwLjQ0NjU4OTEyNDUyNTI3OTU1LCBbImNsb2ssMTUsMSw1LDEsNiwxLDEiXSA9IDAuMzM1MjM4MTQxNDQ5ODU3MzEsIFsiY2xvaywxNSwxLDUsMSw2LDEsMiJdID0gMC4wOTEzNTMwNDY5ODQ0MjAzNzIsIFsiY2xvaywxNSwxLDUsMSw3LDEsMSJdID0gMC4zODk5MTM3ODIwMDY0NzU1MywgWyJjbG9rLDE1LDEsNSwxLDgsMSwxIl0gPSAwLjcxMjUwNzM1Mzg3ODQ1NzIxLCBbImNsb2ssMTUsMSw2LDEsNywxLDIiXSA9IDAuMTU1NjM0MzQyNjM4Mzk5MjYsIFsiY2xvaywxNSwxLDgsMSw2LDEsMiJdID0gMC45NzY3ODc3NjA4ODY0NzM5LCBbImNsb2ssMTUsMSw4LDEsNywxLDIiXSA9IDAuNTcwOTgzNTM3NDQzODA5OTIsIFsiY2xvaywxNSwxLDgsMSw4LDEsMiJdID0gMC4yOTI1Nzc1NDg1NTg1ODg2NCwgWyJjbG9rLDE1LDIsMywxLDYsMSwxIl0gPSAwLjk2MTUwMTk2NjAxNjkxMTI5LCBbImNsb2ssMTUsMiwzLDEsNiwxLDIiXSA9IDAuNjIxNTcwMjYyMTQ0MjgzMTMsIFsiY2xvaywxNSwyLDMsMSw3LDEsMSJdID0gMC42OTAwNDU3NDEzNzMxMzc3OSwgWyJjbG9rLDE1LDIsMywxLDcsMSwyIl0gPSAwLjMzNjk5ODIzNDg3MDAyNDIzLCBbImNsb2ssMTUsMiwzLDEsOCwxLDEiXSA9IDAuMzI5MDczNDU5MjkzNTc0OSwgWyJjbG9rLDE1LDIsNSwxLDYsMSwyIl0gPSAwLjg5Njk3MTQwODYxMzY5MjYyLCBbImNsb2ssMTUsMiw1LDEsNywxLDIiXSA9IDAuNzQxNzk5Njc2NDEyNjU1MzIsIFsiY2xvaywxNSwyLDUsMSw4LDEsMiJdID0gMC4wODA3OTA1ODUxNTcyMzU2OTUsIFsiY2xvaywxNSwzLDEsMSw2LDEsMSJdID0gMC42MjQwODY4MzA2MDgyNTY3NiwgWyJjbG9rLDE1LDMsMSwxLDYsMSwyIl0gPSAwLjQ2NTg1NzIxNTUyODM3NDY3LCBbImNsb2ssMTUsMywxLDEsNywxLDEiXSA9IDAuNjM0ODE1MTUwNzc3NDgxMDcsIFsiY2xvaywxNSwzLDEsMSw4LDEsMSJdID0gMC4zMjcxMjEyNDEyMTYwNzY4OSwgWyJjbG9rLDE1LDMsMiwxLDcsMSwyIl0gPSAwLjc1MTY1Mzk1NjY4MDg1NzMzLCBbImNsb2ssMTUsMywyLDEsOCwxLDIiXSA9IDAuNTY0NTUyMDEzODUwMDg1MDIsIFsiY2xvaywxNSwzLDYsMSw2LDEsMiJdID0gMC4zNzgwNTc4OTkyNTE2MTMwNCwgWyJjbG9rLDE1LDMsNiwxLDcsMSwyIl0gPSAwLjEyMDY5MjM5NDY4MDY0OTA3LCBbImNsb2ssMTUsMyw2LDEsOCwxLDIiXSA9IDAuNjMxNjUzNjI0NDM4MTQzNDQsIFsiY2xvaywxNSw0LDcsMSw2LDEsMSJdID0gMC40NjE3MDAyOTYyNDE1MDUxLCBbImNsb2ssMTUsNCw3LDEsNiwxLDIiXSA9IDAuMTQ0MjE5OTE5ODQzMTM0ODcsIFsiY2xvaywxNSw0LDcsMSw3LDEsMSJdID0gMC42MjE4Nzk1OTEyNTgwMzk3MSwgWyJjbG9rLDE1LDQsNywxLDgsMSwxIl0gPSAwLjE4ODg0ODM1MTEzOTUxMjA0LCBbImNsb2ssMTUsNCw4LDEsNiwxLDIiXSA9IDAuMTMwNDc2NTYxOTU4MjIzNTUsIFsiY2xvaywxNSw0LDgsMSw3LDEsMiJdID0gMC44MTY1OTc3OTQzMjAzNjQxNywgWyJjbG9rLDE1LDQsOCwxLDgsMSwyIl0gPSAwLjQ5NjkzNDY5ODc5OTMzMjYxLCBbImNsb2ssMTUsNSw1LDEsNiwxLDEiXSA9IDAuODA0MjA1MDU1NTUwNjY1NjgsIFsiY2xvaywxNSw1LDUsMSw2LDEsMiJdID0gMC4yNDQ5NTE0MzU5MDQ3NjkzMSwgWyJjbG9rLDE1LDUsNSwxLDcsMSwxIl0gPSAwLjUxMzgwMjI5ODA3NDE1MDU3LCBbImNsb2ssMTUsNSw1LDEsOCwxLDEiXSA9IDAuODA1MDE1NTA5MTQ2MzEyMDQsIFsiY2xvaywxNSw1LDYsMSw2LDEsMiJdID0gMC40NjI2OTQ0Nzc0NDI0OTk0NywgWyJjbG9rLDE1LDUsNiwxLDcsMSwyIl0gPSAwLjY5MjE5NDAzNDY0OTQ2NTA1LCBbImNsb2ssMTUsNSw2LDEsOCwxLDIiXSA9IDAuMTQxODcyMjk2MjYzMzQzNjMsIFsiY2xvaywxNSw2LDIsMSw2LDEsMiJdID0gMC42NjkxNjU4MDE3NTU2NDk4OCwgWyJjbG9rLDE1LDYsMiwxLDcsMSwyIl0gPSAwLjIwOTcwNzM3ODEwODQ0MDY1LCBbImNsb2ssMTUsNiwyLDEsOCwxLDIiXSA9IDAuNzUwNDIyOTY3NDg1NDMyMTQsIFsiY2xvaywxNSw2LDMsMSw2LDEsMSJdID0gMC40MjIxMjMxOTE0MDA5MjQyNSwgWyJjbG9rLDE1LDYsMywxLDYsMSwyIl0gPSAwLjA0NjA1MDA2NzIzMDU5NTkwNCwgWyJjbG9rLDE1LDYsMywxLDcsMSwxIl0gPSAwLjcyMDM3ODU0NzQ3OTQxODQzLCBbImNsb2ssMTUsNiwzLDEsOCwxLDEiXSA9IDAuMTQ5NDQwMDMwODY3MDMxNjEsIFsiY2xvaywxNSw2LDQsMSw3LDEsMiJdID0gMC40NDY1NDQyNzcwOTc0MzAzOSwgWyJjbG9rLDE1LDYsNiwxLDgsMSwyIl0gPSAwLjgyODkxNjczMTQwMzY5MjkzLCBbImNsb2ssMTUsNywxLDEsNiwxLDEiXSA9IDAuNjU3ODY3MTc1NTIzNDE5MzMsIFsiY2xvaywxNSw3LDEsMSw2LDEsMiJdID0gMC4wNzAwODk1MDQ2ODA5NDI2NiwgWyJjbG9rLDE1LDcsMSwxLDcsMSwxIl0gPSAwLjg3NTQ3MzMzNjc3OTI2NTc1LCBbImNsb2ssMTUsNywxLDEsOCwxLDEiXSA9IDAuNDQ4MDgxNDYzMjgxMDY5MDEsIFsiY2xvaywxNSw3LDIsMSw2LDEsMiJdID0gMC44NjYyMjU3OTgxMjk3NDgwOSwgWyJjbG9rLDE1LDcsMiwxLDcsMSwyIl0gPSAwLjYyNzUxNjQ4MDg1OTk2ODQ3LCBbImNsb2ssMTUsNywyLDEsOCwxLDIiXSA9IDAuNDY0MzEyMTg1NzY5MjIyMDYsIFsiY2xvaywxNiwxLDEsMSw2LDEsMiJdID0gMC4yNjc3MDQxMDk2NjcwOTYwMSwgWyJjbG9rLDE2LDEsMSwxLDcsMSwyIl0gPSAwLjExODA2NzUyMjc0NjIyODQ1LCBbImNsb2ssMTYsMSwxLDEsOCwxLDIiXSA9IDAuMTQyNTkwMjU2NzA1MDk5MzksIFsiY2xvaywxNiwxLDYsMSw2LDEsMSJdID0gMC43MzMyODg3Mzc0MTU0NTU1MywgWyJjbG9rLDE2LDEsNiwxLDYsMSwyIl0gPSAwLjQxNzAzMTU2ODY4NTY2ODQ5LCBbImNsb2ssMTYsMSw2LDEsNywxLDEiXSA9IDAuNjYyMTE0MTczOTgyMTU3MjIsIFsiY2xvaywxNiwxLDYsMSw4LDEsMSJdID0gMC44NjU1MzgzODM1NDkxOTE2NiwgWyJjbG9rLDE2LDEsNywxLDcsMSwyIl0gPSAwLjMxMjUyMTA0OTY3MjA2NTYyLCBbImNsb2ssMTYsMiwzLDEsNiwxLDIiXSA9IDAuMTE5MzAwMTEwNDg1NzQxNjMsIFsiY2xvaywxNiwyLDMsMSw3LDEsMiJdID0gMC4xMzU4Mjc3OTA1MDI0NzgyOSwgWyJjbG9rLDE2LDIsMywxLDgsMSwyIl0gPSAwLjk4ODA2NzQ2NTI2NjQyMjUzLCBbImNsb2ssMTYsMiw0LDEsNiwxLDEiXSA9IDAuMDMzNDU3MDUwNzQwNzQ5ODk0LCBbImNsb2ssMTYsMiw0LDEsNiwxLDIiXSA9IDAuNDMxNzcyMjM4NjY1NDM0MTMsIFsiY2xvaywxNiwyLDQsMSw3LDEsMSJdID0gMC4xMTczNTY3MjM3OTcxMjEzNywgWyJjbG9rLDE2LDIsNCwxLDgsMSwxIl0gPSAwLjMyODQ4NDU1Nzk0Mjk0ODczLCBbImNsb2ssMTYsMiw1LDEsNywxLDIiXSA9IDAuMDUzOTc2MzY2NzEzMDkzOTE1LCBbImNsb2ssMTYsMiw3LDEsOCwxLDIiXSA9IDAuOTkzMDY3NzIyNjU5ODE4MTMsIFsiY2xvaywxNiwzLDIsMSw2LDEsMSJdID0gMC43NjA0NDAzMTAzOTQ3OTYzMSwgWyJjbG9rLDE2LDMsMiwxLDYsMSwyIl0gPSAwLjc0Mjk1MjUzMDI5MTAzNDkyLCBbImNsb2ssMTYsMywyLDEsNywxLDEiXSA9IDAuMzAyNDU0MzA5NDMwMzc2NjYsIFsiY2xvaywxNiwzLDIsMSw3LDEsMiJdID0gMC4wMzUyMTg3MjE2OTc5MjI3MjgsIFsiY2xvaywxNiwzLDIsMSw4LDEsMSJdID0gMC43Njk5MTIzMTkxMDU4MDk5MywgWyJjbG9rLDE2LDMsNCwxLDYsMSwyIl0gPSAwLjEyNzQ3NDQxNDMxOTIzODEyLCBbImNsb2ssMTYsMyw0LDEsNywxLDIiXSA9IDAuMTA2OTc2MjM0OTI5MjIxMzcsIFsiY2xvaywxNiwzLDQsMSw4LDEsMiJdID0gMC4yOTc0NzMyNzk2NDY0OTA3MywgWyJjbG9rLDE2LDQsMiwxLDgsMSwyIl0gPSAwLjg0MDg5NjA2OTM3ODU2NDMxLCBbImNsb2ssMTYsNCw2LDEsNiwxLDIiXSA9IDAuOTM0ODU0MDQ2NDI5ODk2LCBbImNsb2ssMTYsNCw2LDEsNywxLDIiXSA9IDAuNjcwMjgwMTY4MDU0NjE1MzIsIFsiY2xvaywxNiw0LDYsMSw4LDEsMiJdID0gMC41NzE2MTA0MDY2Mzg4NzM4NiwgWyJjbG9rLDE2LDQsOCwxLDYsMSwxIl0gPSAwLjQyMDM3NDA1NTY3ODk4MzY3LCBbImNsb2ssMTYsNCw4LDEsNiwxLDIiXSA9IDAuNzg4MDEwOTI4MjYyNjA5MzIsIFsiY2xvaywxNiw0LDgsMSw3LDEsMSJdID0gMC4zMzU5MjMxNjgwOTcxNzIzOCwgWyJjbG9rLDE2LDQsOCwxLDcsMSwyIl0gPSAwLjQzMzQ1MjE4OTEyNjA5NzE4LCBbImNsb2ssMTYsNCw4LDEsOCwxLDEiXSA9IDAuNjkzMTc4NTQ5NzgzODk1NTksIFsiY2xvaywxNiw1LDYsMSw2LDEsMSJdID0gMC45NTcxNzE1NTI5MDIxOTk4LCBbImNsb2ssMTYsNSw2LDEsNiwxLDIiXSA9IDAuMjg1NzgxOTkwODM4NTQyODMsIFsiY2xvaywxNiw1LDYsMSw3LDEsMSJdID0gMC4wODE3NzY2Mzg0Nzg5MTUxNDIsIFsiY2xvaywxNiw1LDYsMSw4LDEsMSJdID0gMC44MzkxOTYwNzA2ODExNjAzMSwgWyJjbG9rLDE2LDUsNywxLDYsMSwyIl0gPSAwLjYyMTc5NDg1NjAxODM0OTI3LCBbImNsb2ssMTYsNSw3LDEsNywxLDIiXSA9IDAuODYwNDU2NTU1MDkzMDc2MjgsIFsiY2xvaywxNiw1LDcsMSw4LDEsMiJdID0gMC4xNzc2NjkyMDU0NDA3MTA5NiwgWyJjbG9rLDE2LDYsNCwxLDYsMSwxIl0gPSAwLjQ3NTM5OTQzNjcyMzY1NDkyLCBbImNsb2ssMTYsNiw0LDEsNiwxLDIiXSA9IDAuMDM4MDU0NTc3NDE2NzUyNjY2LCBbImNsb2ssMTYsNiw0LDEsNywxLDEiXSA9IDAuODI4MTQwMjg0MDI2ODcwMTIsIFsiY2xvaywxNiw2LDQsMSw4LDEsMSJdID0gMC40ODQyNDQwMzU1Mjg3MDI1NCwgWyJjbG9rLDE2LDYsNSwxLDYsMSwyIl0gPSAwLjg1NDg2MTA4MTA5MjEyNzc3LCBbImNsb2ssMTYsNiw1LDEsNywxLDIiXSA9IDAuODQyODcwMTg1Nzk2MzQ3NjUsIFsiY2xvaywxNiw2LDUsMSw4LDEsMiJdID0gMC4yMTc0OTYwNjAyMDcyMTQ2OCwgWyJjbG9rLDE2LDcsMiwxLDYsMSwxIl0gPSAwLjA3NzYwNjE0MTg4MjU3MzA4OCwgWyJjbG9rLDE2LDcsMiwxLDYsMSwyIl0gPSAwLjkwMTQzMDk0MzkzNzUyMzY1LCBbImNsb2ssMTYsNywyLDEsNywxLDEiXSA9IDAuNTE0MTEyOTc1MjA4MzE4LCBbImNsb2ssMTYsNywyLDEsNywxLDIiXSA9IDAuMTY0NjQ2NTEwMzM3NDQwNiwgWyJjbG9rLDE2LDcsMiwxLDgsMSwxIl0gPSAwLjc5MDcxODM3MDQ0MTYyMDMsIFsiY2xvaywxNiw3LDQsMSw2LDEsMiJdID0gMC45MTcwMjg5NjgwMDY0MzI3NCwgWyJjbG9rLDE2LDcsNCwxLDcsMSwyIl0gPSAwLjgxMzU4NDQ2MDc5NzU4NDYyLCBbImNsb2ssMTYsNyw0LDEsOCwxLDIiXSA9IDAuMjA0OTM2ODUyMjA3MjQyNzgsIFsiY2xvaywxNywxLDMsMSw2LDEsMiJdID0gMC41OTQ0OTA3NTc4OTE5ODU1OCwgWyJjbG9rLDE3LDEsMywxLDcsMSwyIl0gPSAwLjIxNDUxMTQ0NDM3ODU0Njk3LCBbImNsb2ssMTcsMSwzLDEsOCwxLDIiXSA9IDAuNDQ0MjQ4MDc5MzU0MTQyNzksIFsiY2xvaywxNywxLDcsMSw2LDEsMSJdID0gMC44NDYzNjU1MjEwNTI1NDExNSwgWyJjbG9rLDE3LDEsNywxLDYsMSwyIl0gPSAwLjczOTg1MTgzNDg0MTE4NzExLCBbImNsb2ssMTcsMSw3LDEsNywxLDEiXSA9IDAuNDc1NzI5MTM4ODA4Mzg4NjMsIFsiY2xvaywxNywxLDcsMSw3LDEsMiJdID0gMC44MDEyOTE0NDU4OTg3MTA2LCBbImNsb2ssMTcsMSw3LDEsOCwxLDEiXSA9IDAuMTUxOTk5NjM0NTAwNjQzOCwgWyJjbG9rLDE3LDEsNywxLDgsMSwyIl0gPSAwLjc0MjE2NjM2Mzc5MzE3NDgsIFsiY2xvaywxNywyLDUsMSw2LDEsMSJdID0gMC42MDY2NTY5ODc1MjMyNTg4MSwgWyJjbG9rLDE3LDIsNSwxLDYsMSwyIl0gPSAwLjQ5OTQ0NTAwODI0MDM5NjI4LCBbImNsb2ssMTcsMiw1LDEsNywxLDEiXSA9IDAuOTM0NDIzODk2Njc1Nzk1NjIsIFsiY2xvaywxNywyLDUsMSw4LDEsMSJdID0gMC4xNzIwNTI1NzgxMzc5NzAyNiwgWyJjbG9rLDE3LDIsNiwxLDYsMSwyIl0gPSAwLjIzMzM4ODM0MTcxNzgzNTUxLCBbImNsb2ssMTcsMiw2LDEsNywxLDIiXSA9IDAuODg0ODA1NDQxODgwODEwMjMsIFsiY2xvaywxNywyLDYsMSw4LDEsMiJdID0gMC4zMzE1MjQ1MTI5MzY1MTU2NCwgWyJjbG9rLDE3LDMsMywxLDYsMSwxIl0gPSAwLjYyMDAwODUxNTIxMzc1Njg4LCBbImNsb2ssMTcsMywzLDEsNiwxLDIiXSA9IDAuNTMzOTkwMTgzNTk4NjE0NzIsIFsiY2xvaywxNywzLDMsMSw3LDEsMSJdID0gMC4xODMyNTI3MTkwNTQzODYsIFsiY2xvaywxNywzLDMsMSw3LDEsMiJdID0gMC44Mzc1OTk0MDkzNTc5MDg0NCwgWyJjbG9rLDE3LDMsMywxLDgsMSwxIl0gPSAwLjA1OTIyODY1OTA3Nzc3NDQxNSwgWyJjbG9rLDE3LDMsMywxLDgsMSwyIl0gPSAwLjEyNTEzNDM3NDcwMjY0OTg4LCBbImNsb2ssMTcsNCwxLDEsNiwxLDEiXSA9IDAuNDExOTU3NTg0NTk5ODYxNzYsIFsiY2xvaywxNyw0LDEsMSw2LDEsMiJdID0gMC4xNDQ3Mjg0NzI3MTcwNjAxMywgWyJjbG9rLDE3LDQsMSwxLDcsMSwxIl0gPSAwLjUwNTE3MzcxMDA0NTc4NjcxLCBbImNsb2ssMTcsNCwxLDEsOCwxLDEiXSA9IDAuNjk2Nzg0ODA4NjA2OTM3NywgWyJjbG9rLDE3LDQsMiwxLDcsMSwyIl0gPSAwLjA3MDUxNTY2NzQ5NjQ3NDE5OSwgWyJjbG9rLDE3LDQsNCwxLDgsMSwyIl0gPSAwLjcwMTg1NjM0MDIxMDA2OTI2LCBbImNsb2ssMTcsNCw4LDEsNiwxLDIiXSA9IDAuNTUzMDI0NDg1MzA4NTUyNDIsIFsiY2xvaywxNyw0LDgsMSw3LDEsMiJdID0gMC40Mjg0MjEwMjk1NDg5NTc4OSwgWyJjbG9rLDE3LDQsOCwxLDgsMSwyIl0gPSAwLjAwMjk4MTQ4OTk4NjA3NDk0NzgsIFsiY2xvaywxNyw1LDcsMSw2LDEsMSJdID0gMC4zNzU3NTc3ODY1Nzc5MjczNiwgWyJjbG9rLDE3LDUsNywxLDYsMSwyIl0gPSAwLjczMjQ1NjI1NTEyNTc5NTE1LCBbImNsb2ssMTcsNSw3LDEsNywxLDEiXSA9IDAuMjQ4OTY2Nzc1MDA2MjgyMjgsIFsiY2xvaywxNyw1LDcsMSw3LDEsMiJdID0gMC41MjcxNjM0MDgwMzQ2NjAzMywgWyJjbG9rLDE3LDUsNywxLDgsMSwxIl0gPSAwLjQ2OTAyODQ3NTk2MTY2Njk3LCBbImNsb2ssMTcsNSw3LDEsOCwxLDIiXSA9IDAuMDUxMjI2MTE3MjEyNTgzODU1LCBbImNsb2ssMTcsNiwyLDEsNiwxLDIiXSA9IDAuMjQ1NzUxMjY5MTcwNjI1ODQsIFsiY2xvaywxNyw2LDIsMSw3LDEsMiJdID0gMC4yNjg1MDk0ODQ0ODc3NDM1OSwgWyJjbG9rLDE3LDYsMiwxLDgsMSwyIl0gPSAwLjI0NDE4Nzg3NTg3MDAzNzU0LCBbImNsb2ssMTcsNiw1LDEsNiwxLDEiXSA9IDAuMTQwODkyMDk2ODUyNTEzMTQsIFsiY2xvaywxNyw2LDUsMSw2LDEsMiJdID0gMC40MjM3NjY1MDA5NDM3ODA1NCwgWyJjbG9rLDE3LDYsNSwxLDcsMSwxIl0gPSAwLjEwMjc2NDg5MDIwMzQ5MTY3LCBbImNsb2ssMTcsNiw1LDEsOCwxLDEiXSA9IDAuMDQ4MDQwMDM2NTE0MDg0OTQ5LCBbImNsb2ssMTcsNiw2LDEsNywxLDIiXSA9IDAuOTIwMTc2NzczMTU0OTEzMzEsIFsiY2xvaywxNyw2LDYsMSw4LDEsMiJdID0gMC43MzYyOTU0OTcyNTk3ODUwNSwgWyJjbG9rLDE3LDcsMywxLDYsMSwxIl0gPSAwLjUxMTAzMzMzNjM3MTYwNjg2LCBbImNsb2ssMTcsNywzLDEsNiwxLDIiXSA9IDAuMzIxNTA5MDU1NDg2Njc5MywgWyJjbG9rLDE3LDcsMywxLDcsMSwxIl0gPSAwLjQzODA0NzI2NDA1MDY0NDk4LCBbImNsb2ssMTcsNywzLDEsOCwxLDEiXSA9IDAuNzAzNDk2MTc4NzY2MjQ4NTksIFsiY2xvaywxNyw3LDQsMSw2LDEsMiJdID0gMC4zMzQxNDA4NDA2NDE0MjY4LCBbImNsb2ssMTcsNyw0LDEsNywxLDIiXSA9IDAuNjA2MzE0NDEzMTI2NjcwMjMsIFsiY2xvaywxNyw3LDQsMSw4LDEsMiJdID0gMC4yMDUwNjA2NDc1NzA0MTg0MiwgWyJjbG9rLDE4LDEsMiwxLDYsMSwyIl0gPSAwLjYwODQ1NDYzMzQ3MDIzNDU0LCBbImNsb2ssMTgsMSwyLDEsNywxLDIiXSA9IDAuMTI0MDQyNzY2NzY0Mjc1MzksIFsiY2xvaywxOCwxLDIsMSw4LDEsMiJdID0gMC4wNTQyNDc1ODI4ODgwNzg2MjcsIFsiY2xvaywxOCwxLDgsMSw2LDEsMSJdID0gMC43MTU3NDA2OTQ1OTAzMjkzLCBbImNsb2ssMTgsMSw4LDEsNiwxLDIiXSA9IDAuODM0NzYyNzI3Nzg4NzI1MDcsIFsiY2xvaywxOCwxLDgsMSw3LDEsMSJdID0gMC43OTIwMTY4OTE1Njk5MTg4NCwgWyJjbG9rLDE4LDEsOCwxLDcsMSwyIl0gPSAwLjQ2MDczNDA3NTgyNzIzMDAzLCBbImNsb2ssMTgsMSw4LDEsOCwxLDEiXSA9IDAuNTc5MzA1Mjc3MjgyMDM3OTYsIFsiY2xvaywxOCwyLDEsMSw4LDEsMiJdID0gMC44OTE4NzQ5NDg0NjMyMzY4OSwgWyJjbG9rLDE4LDIsNSwxLDYsMSwyIl0gPSAwLjQ4OTIwMDQ0MjAzMTQyMTU1LCBbImNsb2ssMTgsMiw1LDEsNywxLDIiXSA9IDAuODM5MzY3MjMyNjY1MTkxNTMsIFsiY2xvaywxOCwyLDUsMSw4LDEsMiJdID0gMC4yNDg5MTEzNDU2NTExNjExMywgWyJjbG9rLDE4LDIsNiwxLDYsMSwxIl0gPSAwLjE0Njg0NDIzMjM2OTg4Mzc1LCBbImNsb2ssMTgsMiw2LDEsNiwxLDIiXSA9IDAuNDI4MjI5NTE0Njg2MjUzNTksIFsiY2xvaywxOCwyLDYsMSw3LDEsMSJdID0gMC41Njk1NTc2NzAzODY3NzEzLCBbImNsb2ssMTgsMiw2LDEsOCwxLDEiXSA9IDAuMzQ4ODc5MDgyMzAwMDk5NzksIFsiY2xvaywxOCwyLDcsMSw3LDEsMiJdID0gMC4yNTk5MDExNjEzMDk1NDE4OCwgWyJjbG9rLDE4LDMsMywxLDYsMSwyIl0gPSAwLjY4Nzk3MjE1NzUwMTE1NjgxLCBbImNsb2ssMTgsMywzLDEsNywxLDIiXSA9IDAuODg4NTY4MjU3MzE0MDU3NjQsIFsiY2xvaywxOCwzLDMsMSw4LDEsMiJdID0gMC4yNTc0NDQ3NDUzMzMzMDk5NywgWyJjbG9rLDE4LDMsNCwxLDYsMSwxIl0gPSAwLjEwNzIxNTI3OTg0ODg1NDU5LCBbImNsb2ssMTgsMyw0LDEsNiwxLDIiXSA9IDAuMzg1NDc3MDM4MDk1ODgwNzQsIFsiY2xvaywxOCwzLDQsMSw3LDEsMSJdID0gMC44MjE1NjI0Mjg3ODA4ODQ3LCBbImNsb2ssMTgsMyw0LDEsOCwxLDEiXSA9IDAuODE2MjU0MTgzNjUyMDMwNTEsIFsiY2xvaywxOCwzLDUsMSw3LDEsMiJdID0gMC4yMTEwOTg3OTQ1MzA1MzIyNiwgWyJjbG9rLDE4LDMsNywxLDgsMSwyIl0gPSAwLjcxNzY1Mzg0NzU5NDgyOTc1LCBbImNsb2ssMTgsNCwyLDEsNiwxLDEiXSA9IDAuNzMzODMwODY3ODg0NDc2MDUsIFsiY2xvaywxOCw0LDIsMSw2LDEsMiJdID0gMC42NTA0OTQ5MjM2ODg2NjU2OCwgWyJjbG9rLDE4LDQsMiwxLDcsMSwxIl0gPSAwLjYwOTMwOTI2NTA3OTgyNDY0LCBbImNsb2ssMTgsNCwyLDEsNywxLDIiXSA9IDAuODU1OTE5Njg2Njg1NzgyMTEsIFsiY2xvaywxOCw0LDIsMSw4LDEsMSJdID0gMC42ODMyMzYyOTI5MzQzNjU2MSwgWyJjbG9rLDE4LDQsMiwxLDgsMSwyIl0gPSAwLjM4Mjc5MjU2MzU5NjQ1NTc1LCBbImNsb2ssMTgsNSwyLDEsNiwxLDIiXSA9IDAuMzI3NDY2MTc0MTEyNDczMzYsIFsiY2xvaywxOCw1LDIsMSw3LDEsMiJdID0gMC41NjU5MzA1MTc3ODIyODE3NiwgWyJjbG9rLDE4LDUsMiwxLDgsMSwyIl0gPSAwLjI0Mzc4MDU2MTE1NDM4MTA3LCBbImNsb2ssMTgsNSw4LDEsNiwxLDEiXSA9IDAuNzIwNDgyMjAyNDgwNzYzMTEsIFsiY2xvaywxOCw1LDgsMSw2LDEsMiJdID0gMC43NDk0MTQzMDU2MjY3MDM1MywgWyJjbG9rLDE4LDUsOCwxLDcsMSwxIl0gPSAwLjY3ODU0MDYxMDM5MzI2NDk2LCBbImNsb2ssMTgsNSw4LDEsNywxLDIiXSA9IDAuNDE4MTU1MTE3OTkzODA4MTEsIFsiY2xvaywxOCw1LDgsMSw4LDEsMSJdID0gMC40OTk5NjE2MDYxOTA5NDk3NiwgWyJjbG9rLDE4LDYsMiwxLDYsMSwyIl0gPSAwLjgzMDk2MjEzNzY0NTAxNDAzLCBbImNsb2ssMTgsNiwyLDEsNywxLDIiXSA9IDAuNTMzMDUwMjI5ODMzNDkyNzEsIFsiY2xvaywxOCw2LDIsMSw4LDEsMiJdID0gMC40MDc2NTUxNTUxNjAzMDI5MywgWyJjbG9rLDE4LDYsNiwxLDYsMSwxIl0gPSAwLjc2NzMzMDA2OTU3MjEzMDM1LCBbImNsb2ssMTgsNiw2LDEsNiwxLDIiXSA9IDAuNzIwODAzMzc2OTczMTI5MjQsIFsiY2xvaywxOCw2LDYsMSw3LDEsMSJdID0gMC45NDM5MDMxODQ1NjE0ODQ5MiwgWyJjbG9rLDE4LDYsNiwxLDcsMSwyIl0gPSAwLjcxNzA4OTI0MzI4MDAwMTc5LCBbImNsb2ssMTgsNiw2LDEsOCwxLDEiXSA9IDAuMjEzNjMxMjY3MDY4MzEwNDgsIFsiY2xvaywxOCw2LDYsMSw4LDEsMiJdID0gMC45NjMxODg2MDA4OTEzOTk0NiwgWyJjbG9rLDE4LDcsMywxLDYsMSwyIl0gPSAwLjExMTI5MjIwOTgzODI3MDkzLCBbImNsb2ssMTgsNywzLDEsNywxLDIiXSA9IDAuNTgxNTc1NjkyNDY4NjE2NjIsIFsiY2xvaywxOCw3LDMsMSw4LDEsMiJdID0gMC4zMjMyNzkyMzI2Njk3Mzg0NiwgWyJjbG9rLDE4LDcsNCwxLDYsMSwxIl0gPSAwLjAyODc0OTU1NjQxNzM3MzQyMywgWyJjbG9rLDE4LDcsNCwxLDYsMSwyIl0gPSAwLjAyNTE1NjU1ODc1NDA2NjA4MywgWyJjbG9rLDE4LDcsNCwxLDcsMSwxIl0gPSAwLjU3MzA2MzQxMDU2ODI5NTAyLCBbImNsb2ssMTgsNyw0LDEsOCwxLDEiXSA9IDAuMzUxMDUzODk3NjI2MTY2MzQsIFsiY2xvaywxOCw3LDUsMSw3LDEsMiJdID0gMC4xNzE3MDExMDMwODI2NDc2MywgWyJjbG9rLDE4LDcsNywxLDgsMSwyIl0gPSAwLjcyNDMwNDEzNjkzMjA1Njg2LCBbImNsb2ssMTksMSwxLDEsNiwxLDEiXSA9IDAuMTcxODEwNTY1Mzc0NjIxOCwgWyJjbG9rLDE5LDEsMSwxLDYsMSwyIl0gPSAwLjkyNzg3Njg1NzUzNzExNTI0LCBbImNsb2ssMTksMSwxLDEsNywxLDEiXSA9IDAuNjg4MzIxMDIxMjI2OTQ5NzEsIFsiY2xvaywxOSwxLDEsMSw3LDEsMiJdID0gMC44NTc4NTk1Njg1ODYzNDEyNywgWyJjbG9rLDE5LDEsMSwxLDgsMSwxIl0gPSAwLjU3MDI3NDg5NDc3OTA2MDU3LCBbImNsb2ssMTksMSwxLDEsOCwxLDIiXSA9IDAuNDkzMjMxMTY1MTk4NzM2ODksIFsiY2xvaywxOSwyLDEsMSw4LDEsMiJdID0gMC45MjMyNTYxOTIxODE3NzQxMywgWyJjbG9rLDE5LDIsNSwxLDYsMSwyIl0gPSAwLjY1OTc4OTMzNTgzODE2MjU3LCBbImNsb2ssMTksMiw1LDEsNywxLDIiXSA9IDAuMzk2MTcyOTAzNTE1MDI0MSwgWyJjbG9rLDE5LDIsNSwxLDgsMSwyIl0gPSAwLjQzMTQyMjQ2ODYyOTYwNTMyLCBbImNsb2ssMTksMiw3LDEsNiwxLDEiXSA9IDAuMDA3NDkwMTgzNDY1MDM4MDQ3MiwgWyJjbG9rLDE5LDIsNywxLDYsMSwyIl0gPSAwLjk0MDY1MjcxMTQ2Mjc3MTQxLCBbImNsb2ssMTksMiw3LDEsNywxLDEiXSA9IDAuNzQ2MDI3Nzc5MTYzNzI1MDksIFsiY2xvaywxOSwyLDcsMSw3LDEsMiJdID0gMC4zMjQ4MTAzMzI5OTg4NjQzLCBbImNsb2ssMTksMiw3LDEsOCwxLDEiXSA9IDAuODk4OTE0ODEzODAwMjk4NDcsIFsiY2xvaywxOSwzLDMsMSw2LDEsMiJdID0gMC4xMjczMTU4MjUxMzM3MDg1NCwgWyJjbG9rLDE5LDMsMywxLDcsMSwyIl0gPSAwLjgwNzkwMzM3MjQ2ODY0MTk3LCBbImNsb2ssMTksMywzLDEsOCwxLDIiXSA9IDAuODQ2NjE0MjY3MzA1Mjg5ODgsIFsiY2xvaywxOSwzLDUsMSw2LDEsMSJdID0gMC4xMjgwOTYzNjUzNzY3MzY4NSwgWyJjbG9rLDE5LDMsNSwxLDYsMSwyIl0gPSAwLjk5OTk3OTQ5MzUzNDk1MjE5LCBbImNsb2ssMTksMyw1LDEsNywxLDEiXSA9IDAuODEwMjgyMjQ1NTU1MTQzMDUsIFsiY2xvaywxOSwzLDUsMSw3LDEsMiJdID0gMC4xMzU2NDYyMDQ2MDgwMDM4MSwgWyJjbG9rLDE5LDMsNSwxLDgsMSwxIl0gPSAwLjg0OTI2OTMyNzk0ODE3ODQ0LCBbImNsb2ssMTksMyw3LDEsOCwxLDIiXSA9IDAuNjY5NTAwMTMyMjg2MTQyNjksIFsiY2xvaywxOSw0LDIsMSw2LDEsMiJdID0gMC41MjExOTk2MTM0NDU1MjEyNCwgWyJjbG9rLDE5LDQsMiwxLDcsMSwyIl0gPSAwLjI1OTA4MjEwMDE3Nzg5MTEzLCBbImNsb2ssMTksNCwyLDEsOCwxLDIiXSA9IDAuNzgxNjE2Nzc4MDg1NzY0MTMsIFsiY2xvaywxOSw0LDMsMSw2LDEsMSJdID0gMC41MDY5ODY0OTY3Mjc4MjU3LCBbImNsb2ssMTksNCwzLDEsNiwxLDIiXSA9IDAuNDA4MTk0OTE2OTQ3ODEyMDcsIFsiY2xvaywxOSw0LDMsMSw3LDEsMSJdID0gMC44OTAxNDY0NjY0NzQyOTI0MSwgWyJjbG9rLDE5LDQsMywxLDgsMSwxIl0gPSAwLjU4ODQ0NjMyNzAwNDY2NDQ4LCBbImNsb2ssMTksNCw0LDEsNywxLDIiXSA9IDAuNDEzNDc1MDk0MjQ4MjI0MzcsIFsiY2xvaywxOSw0LDYsMSw4LDEsMiJdID0gMC44MTUzMzg2NzE0ODg1MzY2NywgWyJjbG9rLDE5LDUsMSwxLDYsMSwxIl0gPSAwLjA0NzU5NzMyODcxMDE0NDEwNCwgWyJjbG9rLDE5LDUsMSwxLDYsMSwyIl0gPSAwLjUxNjIyOTAzNjEwNjYwNjIsIFsiY2xvaywxOSw1LDEsMSw3LDEsMSJdID0gMC44MTIwMzQ5MjIzMDk1MDY0NywgWyJjbG9rLDE5LDUsMSwxLDcsMSwyIl0gPSAwLjMwMzU2NTE0NTQxMjE3NTcyLCBbImNsb2ssMTksNSwxLDEsOCwxLDEiXSA9IDAuNDIzNzE1MDIzNzE0Mjk3NDgsIFsiY2xvaywxOSw1LDMsMSw2LDEsMiJdID0gMC45NTIxMTgxMDE3MzU0NzAyOSwgWyJjbG9rLDE5LDUsMywxLDcsMSwyIl0gPSAwLjIwMDM0NjkzNDM1NzkxMjczLCBbImNsb2ssMTksNSwzLDEsOCwxLDIiXSA9IDAuMDI1Nzc3MTI0ODI4ODk5MTU2LCBbImNsb2ssMTksNiwyLDEsNiwxLDIiXSA9IDAuODg2NTEwMTcyNDA0NjE0NDksIFsiY2xvaywxOSw2LDIsMSw3LDEsMiJdID0gMC4xODMyMzY0ODkxNjI2MjgzNiwgWyJjbG9rLDE5LDYsMiwxLDgsMSwyIl0gPSAwLjA2MDY5MTM4OTc5NDU1NzU3MSwgWyJjbG9rLDE5LDYsNywxLDYsMSwxIl0gPSAwLjc1MzIyOTMzOTAyMjY2NTIsIFsiY2xvaywxOSw2LDcsMSw2LDEsMiJdID0gMC4wMTkzMTA2ODA5MTA4MDUyMzQsIFsiY2xvaywxOSw2LDcsMSw3LDEsMSJdID0gMC41MzM2NTE0MTQ1MzA0NzExNiwgWyJjbG9rLDE5LDYsNywxLDgsMSwxIl0gPSAwLjExMjQzNDQ5MTIxNDQ2ODE0LCBbImNsb2ssMTksNiw4LDEsNywxLDIiXSA9IDAuMjkyNDM5MjAwOTY1MDkxNTcsIFsiY2xvaywxOSw3LDQsMSw2LDEsMiJdID0gMC43ODA2NzIyODQ3NDM3Njc3MSwgWyJjbG9rLDE5LDcsNCwxLDcsMSwyIl0gPSAwLjIzNjIzOTkxNzk4Njc5MzExLCBbImNsb2ssMTksNyw0LDEsOCwxLDIiXSA9IDAuNzMzNDU3NjI2MjcyMDYxNTcsIFsiY2xvaywxOSw3LDUsMSw2LDEsMSJdID0gMC44NzczMjU5NzE3NTUxMjY5NCwgWyJjbG9rLDE5LDcsNSwxLDYsMSwyIl0gPSAwLjM2NTI0NjU5OTA2NTk0ODM2LCBbImNsb2ssMTksNyw1LDEsNywxLDEiXSA9IDAuNTQ5MTg4NDQ5MzU4MTUxNTksIFsiY2xvaywxOSw3LDUsMSw4LDEsMSJdID0gMC40NDQ5Mzk4ODMxMjg5NDgxNywgWyJjbG9rLDE5LDcsNiwxLDcsMSwyIl0gPSAwLjMwMTEyMDkxOTA3MjY4MDAyLCBbImNsb2ssMTksNyw4LDEsOCwxLDIiXSA9IDAuOTczNDU0NzQwNTAxMDg3MTYsIFsiY2xvaywyMCwxLDEsMSw2LDEsMiJdID0gMC4yMTQyMzU4NDA3ODk3NzMwOSwgWyJjbG9rLDIwLDEsMSwxLDcsMSwyIl0gPSAwLjA3MzY1MDYxNDE5MTQ5NDk5LCBbImNsb2ssMjAsMSwxLDEsOCwxLDIiXSA9IDAuNjM3MzIxNjQyNjkyNDA5MSwgWyJjbG9rLDIwLDEsMiwxLDYsMSwxIl0gPSAwLjAxNTA1NjM0MzQ3NDYzMjAyOCwgWyJjbG9rLDIwLDEsMiwxLDYsMSwyIl0gPSAwLjQxODU5NTM5ODIzNjY4MDM1LCBbImNsb2ssMjAsMSwyLDEsNywxLDEiXSA9IDAuMjY1NDE2MzYxNzQ1MjA1MjIsIFsiY2xvaywyMCwxLDIsMSw4LDEsMSJdID0gMC4wOTQzOTI0MTA4NDc1ODkzMTQsIFsiY2xvaywyMCwxLDMsMSw3LDEsMiJdID0gMC4zODY2Njk5NTAyNDUyNzkyOCwgWyJjbG9rLDIwLDEsNSwxLDgsMSwyIl0gPSAwLjYxOTI3OTIxMzY3NjA2NDUzLCBbImNsb2ssMjAsMiwxLDEsNiwxLDIiXSA9IDAuNTUwODEyMTc1ODY3MTg1NTYsIFsiY2xvaywyMCwyLDEsMSw3LDEsMiJdID0gMC45MjQ4MTA1OTgyOTc1NDk2NCwgWyJjbG9rLDIwLDIsMSwxLDgsMSwyIl0gPSAwLjIxMjk3NDM5MTUxODU4NjIxLCBbImNsb2ssMjAsMiw4LDEsNiwxLDEiXSA9IDAuMTg5NTM4MTkwNDI1NjE5NDgsIFsiY2xvaywyMCwyLDgsMSw2LDEsMiJdID0gMC40ODkzNDQyMDcwODMzMzg0OCwgWyJjbG9rLDIwLDIsOCwxLDcsMSwxIl0gPSAwLjQwNTc3NDYzODQwNTgzNTYxLCBbImNsb2ssMjAsMiw4LDEsOCwxLDEiXSA9IDAuNTc3OTA2MTQ0NjA5NDIwMDIsIFsiY2xvaywyMCwzLDMsMSw2LDEsMiJdID0gMC4zNDA5ODk4MTAxMDAwMjM3MiwgWyJjbG9rLDIwLDMsMywxLDcsMSwyIl0gPSAwLjc1NTQzMzY3ODA1MjI2ODM1LCBbImNsb2ssMjAsMywzLDEsOCwxLDIiXSA9IDAuNzc4ODQzNDkxMzg2NTYyNzMsIFsiY2xvaywyMCwzLDYsMSw2LDEsMSJdID0gMC45MDg5MjQyODIxOTE0MTg3NCwgWyJjbG9rLDIwLDMsNiwxLDYsMSwyIl0gPSAwLjMxOTgzNDA4MzU3ODE3OSwgWyJjbG9rLDIwLDMsNiwxLDcsMSwxIl0gPSAwLjE1MDk5MjI0MTgwMTgwMzI2LCBbImNsb2ssMjAsMyw2LDEsOCwxLDEiXSA9IDAuNjczMjk5OTczODc4MDkzODIsIFsiY2xvaywyMCwzLDcsMSw3LDEsMiJdID0gMC45NDY5OTU3NDExODA0MjU5NSwgWyJjbG9rLDIwLDMsNywxLDgsMSwyIl0gPSAwLjk2Nzk3MjQ5OTE5NzkzMTQ5LCBbImNsb2ssMjAsNCw0LDEsNiwxLDEiXSA9IDAuOTU0NDk4NTAxNjQzNjIxODIsIFsiY2xvaywyMCw0LDQsMSw2LDEsMiJdID0gMC45OTgzMTE5MzU2MDI3NjcyMSwgWyJjbG9rLDIwLDQsNCwxLDcsMSwxIl0gPSAwLjUyMDIwMzI5MzAxNzU2NDQxLCBbImNsb2ssMjAsNCw0LDEsNywxLDIiXSA9IDAuOTQzMjczMjQ5NzY0NjUwMSwgWyJjbG9rLDIwLDQsNCwxLDgsMSwxIl0gPSAwLjcxNTA3Mzc0NjY2NzkxNzM0LCBbImNsb2ssMjAsNCw0LDEsOCwxLDIiXSA9IDAuMDUzNDI1OTg3NDY4NTM0MzMxLCBbImNsb2ssMjAsNSwyLDEsNiwxLDEiXSA9IDAuNjY0NTI2ODYyOTEyODcyLCBbImNsb2ssMjAsNSwyLDEsNiwxLDIiXSA9IDAuMTcxNjY0ODAzMzUwNjU5MTUsIFsiY2xvaywyMCw1LDIsMSw3LDEsMSJdID0gMC42Mjc1NDg4NTc2NjgwNTU0NiwgWyJjbG9rLDIwLDUsMiwxLDgsMSwxIl0gPSAwLjU1Mjk2NDU3MDU1ODI3NzMsIFsiY2xvaywyMCw1LDMsMSw3LDEsMiJdID0gMC40MTc0NDI3NDU5MjU5MTg5LCBbImNsb2ssMjAsNSw1LDEsNiwxLDIiXSA9IDAuODM2MDQ4MDc4MTU1ODgzNjcsIFsiY2xvaywyMCw1LDUsMSw3LDEsMiJdID0gMC4xOTgwNjY5MTYzODUyMjA2NywgWyJjbG9rLDIwLDUsNSwxLDgsMSwyIl0gPSAwLjQyNzA0Nzc4NDMwMjgyNTA4LCBbImNsb2ssMjAsNiwxLDEsNywxLDIiXSA9IDAuNTE0MTA3MjM2OTM0MTE4MTksIFsiY2xvaywyMCw2LDEsMSw4LDEsMiJdID0gMC44MzA2MzI0MjQ0MjMwNTY1MSwgWyJjbG9rLDIwLDYsNSwxLDYsMSwyIl0gPSAwLjM3Njk0MTcyNTMxOTU3MzkzLCBbImNsb2ssMjAsNiw1LDEsNywxLDIiXSA9IDAuNjMwNzQwNzEyOTYxNTY3NDIsIFsiY2xvaywyMCw2LDUsMSw4LDEsMiJdID0gMC4xMDAyMjk5MDIwOTEyNjM4MSwgWyJjbG9rLDIwLDYsOCwxLDYsMSwxIl0gPSAwLjEzNjc3MTEyMTM4NDA0NzAxLCBbImNsb2ssMjAsNiw4LDEsNiwxLDIiXSA9IDAuMTU0NDA4MDQzOTE3ODUxNjgsIFsiY2xvaywyMCw2LDgsMSw3LDEsMSJdID0gMC4wMDc4NjYxNjgzNTg4ODcyMDQ0LCBbImNsb2ssMjAsNiw4LDEsOCwxLDEiXSA9IDAuMzAzNjI5MzAyNTc4Mjk5MDEsIFsiY2xvaywyMCw3LDYsMSw2LDEsMSJdID0gMC4wODk5MzA1MjU2ODc3NTU4MzYsIFsiY2xvaywyMCw3LDYsMSw2LDEsMiJdID0gMC43NTc5MDgzNjE4NTk0NDg4OCwgWyJjbG9rLDIwLDcsNiwxLDcsMSwxIl0gPSAwLjk0ODY5NzUzOTk5MjA2MTQxLCBbImNsb2ssMjAsNyw2LDEsNywxLDIiXSA9IDAuMDI1MTQ5MzQxMDYzMjUyMTczLCBbImNsb2ssMjAsNyw2LDEsOCwxLDEiXSA9IDAuMjAxNTMxODA2NzY2MzYyNzMsIFsiY2xvaywyMCw3LDgsMSw2LDEsMiJdID0gMC42MTYzNjYyNjUwNzM0OTYyMywgWyJjbG9rLDIwLDcsOCwxLDcsMSwyIl0gPSAwLjE3Mzg3NjQ5OTcxNjQyNDE2LCBbImNsb2ssMjAsNyw4LDEsOCwxLDIiXSA9IDAuMzEwMDA1NzIzNzg1MzUyMTgsIFsiY2xvaywyMSwxLDIsMSw2LDEsMiJdID0gMC4wODE0Mzc4NzI1NDk5NDY5NDQsIFsiY2xvaywyMSwxLDIsMSw3LDEsMiJdID0gMC4yMzUzMjc4Mzg1NzUyMjk3NiwgWyJjbG9rLDIxLDEsMiwxLDgsMSwyIl0gPSAwLjk1ODQzMTA2OTIwNjc0NjE0LCBbImNsb2ssMjEsMSwzLDEsNiwxLDEiXSA9IDAuNTQwNTkyOTQ2Mzk2MzQ1NywgWyJjbG9rLDIxLDEsMywxLDYsMSwyIl0gPSAwLjMzNjY3MzI1MTY1MTYwOTk5LCBbImNsb2ssMjEsMSwzLDEsNywxLDEiXSA9IDAuNDY3NTgyOTA3OTIyNTEzMTEsIFsiY2xvaywyMSwxLDMsMSw4LDEsMSJdID0gMC4wNDQ4NzY3NjgyMzU3NzkxMywgWyJjbG9rLDIxLDEsNCwxLDcsMSwyIl0gPSAwLjAyODc3NjIyOTEwNzQxNzYxNywgWyJjbG9rLDIxLDEsNiwxLDgsMSwyIl0gPSAwLjc2NzUxMjc0NDMzNDU0NTMsIFsiY2xvaywyMSwyLDEsMSw2LDEsMSJdID0gMC45MDg5ODMzNjI2MTQ2OTQ4MSwgWyJjbG9rLDIxLDIsMSwxLDYsMSwyIl0gPSAwLjM0MzI0OTkxMDQxMTg3MTE0LCBbImNsb2ssMjEsMiwxLDEsNywxLDEiXSA9IDAuMjA0MjYyNjQyODQ3NDU5NDMsIFsiY2xvaywyMSwyLDEsMSw4LDEsMSJdID0gMC4yMzcxNjgzOTU0MDI3NzY3OSwgWyJjbG9rLDIxLDIsMiwxLDcsMSwyIl0gPSAwLjUyNTI2NjE3NjM5MjkyMjA2LCBbImNsb2ssMjEsMiwyLDEsOCwxLDIiXSA9IDAuNjk2MDY5MzE1MDcwNzI2NDUsIFsiY2xvaywyMSwyLDYsMSw2LDEsMiJdID0gMC43MDU0NDQwNDYzMzcwNDU3MiwgWyJjbG9rLDIxLDIsNiwxLDcsMSwyIl0gPSAwLjYwODA3MzIwNzUyOTkzNzc2LCBbImNsb2ssMjEsMiw2LDEsOCwxLDIiXSA9IDAuOTYxNzM0OTIxNjE3Mzg3MzgsIFsiY2xvaywyMSwzLDQsMSw2LDEsMiJdID0gMC45NDQ0OTk4MTIxMjczMzkzNiwgWyJjbG9rLDIxLDMsNCwxLDcsMSwyIl0gPSAwLjgwNDQ2ODU4MzcyNjA0MzI0LCBbImNsb2ssMjEsMyw0LDEsOCwxLDIiXSA9IDAuNTgzMTk3NjM3MDEwNjE4MjIsIFsiY2xvaywyMSwzLDcsMSw2LDEsMSJdID0gMC43MDc1Mjk4NDgyODY5Mzc0NCwgWyJjbG9rLDIxLDMsNywxLDYsMSwyIl0gPSAwLjA5MjMwMzcyMzMxMTA2MjE4LCBbImNsb2ssMjEsMyw3LDEsNywxLDEiXSA9IDAuOTU4MTM0NjcyNDgyMDY3NjMsIFsiY2xvaywyMSwzLDcsMSw4LDEsMSJdID0gMC43MTQ5ODU1MjIyNjA2MTg3MywgWyJjbG9rLDIxLDMsOCwxLDcsMSwyIl0gPSAwLjg5OTM5NDUwOTMxNjU1Nzg0LCBbImNsb2ssMjEsMyw4LDEsOCwxLDIiXSA9IDAuOTQxNjExMDczMzUzNjIwMDQsIFsiY2xvaywyMSw0LDEsMSw2LDEsMiJdID0gMC42ODQ1NzI3NDAwOTczMzgyNiwgWyJjbG9rLDIxLDQsMSwxLDcsMSwyIl0gPSAwLjY1NzY3MTMwNjY2Nzk4NDIzLCBbImNsb2ssMjEsNCwxLDEsOCwxLDIiXSA9IDAuMzU1ODE2NzI5MTM1MTg4MTQsIFsiY2xvaywyMSw0LDUsMSw2LDEsMSJdID0gMC44NTU1MjY0OTQxNjI2NzU0NSwgWyJjbG9rLDIxLDQsNSwxLDYsMSwyIl0gPSAwLjU5ODc2ODE3NjY5NTYwMzg5LCBbImNsb2ssMjEsNCw1LDEsNywxLDEiXSA9IDAuMzQ5ODI4NjExMDMwMTEyMDksIFsiY2xvaywyMSw0LDUsMSw3LDEsMiJdID0gMC44ODY4NTU2NDI5MTUxNzIxNiwgWyJjbG9rLDIxLDQsNSwxLDgsMSwxIl0gPSAwLjM2NjI2NDc2NzkzMzkyMTkzLCBbImNsb2ssMjEsNCw1LDEsOCwxLDIiXSA9IDAuNzY5ODY3MzA1ODU5Njg3NDMsIFsiY2xvaywyMSw1LDMsMSw2LDEsMSJdID0gMC4yMjQ4NDMxMzc3MTYyMDg1NiwgWyJjbG9rLDIxLDUsMywxLDYsMSwyIl0gPSAwLjk2Mzk2MjA4MTA3NTU5ODQ0LCBbImNsb2ssMjEsNSwzLDEsNywxLDEiXSA9IDAuMjEwNzE1MzU2NDY0MzY0OSwgWyJjbG9rLDIxLDUsMywxLDcsMSwyIl0gPSAwLjQ5NDgyNDM4MjAzODc4NTQzLCBbImNsb2ssMjEsNSwzLDEsOCwxLDEiXSA9IDAuMzgzNDY5NzU2MDcyMDYxOTEsIFsiY2xvaywyMSw1LDUsMSw2LDEsMiJdID0gMC41MDEzOTAyMzM3NTQ3MjIwMywgWyJjbG9rLDIxLDUsNSwxLDcsMSwyIl0gPSAwLjMzMDc5MTIzNzY0NzUzMzcxLCBbImNsb2ssMjEsNSw1LDEsOCwxLDIiXSA9IDAuMDA5ODk0MTYwNzczNDcwNjA2MSwgWyJjbG9rLDIxLDcsMSwxLDgsMSwyIl0gPSAwLjU4NzMzNjAyMjI0NDc2MDU2LCBbImNsb2ssMjEsNyw1LDEsNiwxLDIiXSA9IDAuMzg0NDY2MTI0NDg2NzAwMDMsIFsiY2xvaywyMSw3LDUsMSw3LDEsMiJdID0gMC4yMDg1MjYyNzIzMTA4ODE4MywgWyJjbG9rLDIxLDcsNSwxLDgsMSwyIl0gPSAwLjAzNjM2NjYyMTY0NDM0OTg5NSwgWyJjbG9rLDIxLDcsNywxLDYsMSwxIl0gPSAwLjQ5MzY2NzAzMDcwNjgyNDk0LCBbImNsb2ssMjEsNyw3LDEsNiwxLDIiXSA9IDAuOTkwNDkwODkwNDAzODI2OTgsIFsiY2xvaywyMSw3LDcsMSw3LDEsMSJdID0gMC4yNzMwMjA5NjA5MTE0NTAwMSwgWyJjbG9rLDIxLDcsNywxLDcsMSwyIl0gPSAwLjE3OTQwNDAxOTkyMTIxMDgsIFsiY2xvaywyMSw3LDcsMSw4LDEsMSJdID0gMC40MDczNjgxMzU4MjIzODI2M30gLS1bW3RhYmxlOiAweDA4Y2QxZTY4XV0="
  },
  {
    "path": "officialworlds/solo levels/shhh, it's a secret.bab",
    "content": "{\"width\":19,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"space\",\"parent_level\":\"\",\"name\":\"shhh, it's a secret\",\"map\":\"eJyVmdtu2zoQRX8l6MO5AEYrkro28JccFIZrq4lRwQpk5SRBkH+vxBlapEJpth8CGMLaDMkZ7SFHx/auaQ/75m63fX/vT029/fKyb75sXrfJ5nTcqs3b8Hd5qg+nfbN9/9gcT91WfWwiqB7QFEPNgBYYmo4TSDA2G1mNsfnIytNVI1usb0L/2u+euvbpypfrOzHyP+srXQ10tkwHIw878TZMfXXox7bvp9GViio2h7Zpu+17sjEf0TUrDcWIWINtPMGpsPP+dmqryOT9p/0kfAztymRG/NLU3vhjfM3SFp1PzadYkKyMylbWMUa6gtehEyH1g8G1fVOFXfr+78TrOB9ZNUePZFKo/VUbq0jllKVVE56t51049hjqcn3sh3b/sn97ai6TqoiqlldOqvKGladWUcmJSCu3uEnW8ykY2yjZY9rnw+MkiNtzZNGf1mGMkIjzhaRCKoajS65tE/efic/jfNTR/LVkVl2g3kx4iZkzwZWc6ce6qfurIo3b+XImkkqt+0jAaqx+EmyEwDGcW3iMsjwwsYKDB6xg3wEbd+44K1TlgBVq8hjJ/eXyeBVkQl32B8/iFTmSgoRjhZhY4WA1Dv080em6ewYjZ7LTBnwO5SixBVC6/DeZVLf4MSkqQOHtfG4LMODIRCvgXPOr7Y5tN2l0XLNsAIWVmfVXz+5X/dpPglQ+Qb18+9XV50mSycUrmFMun4Z+1ue/vUkBVnzp66Z/nCSCHfsTUjn8nhFv01BOWZpIhaQsh6C0d4hEjtllf75MAuHqNQoObVf/7nlTSaXlsIXzMkjcJjy9JWgkyaCglRQ0wUid69LIwPFvNhllbUOOMo0vGRPDlYVLqB4SW0H10LJlAtVDYhVUD4nF7uvEGiiEFe2wcAwK4ByrbgwbqGAxnEKBpvWBXQaCsxuyolw4rcbhQig4AVwC9ca96sr2PMpK9qCpDJCmSoDSwdd7Eijk1sOexRIte9D0HrPGQOnLcLqev4d9508HP+uQQNliKecaD59jyca0lBOfA4AkhlNQBwrIiylk3IgC8sJdQJ1EyIxgTioRkmJGg+nAtJAPXoeOBDl2nHXDZ2CEGc8xQ3F4AXbbGC+BBPoU3Qpsj1JjSwmHmxmNNZUdLZxoZjRwnLm+7SwRGlSzf5Chp0onyLFGKtOFfIP73vqCEqqJjq5kazu3D/4/sG1IIPWZVkCvyB3inEbD9zKnMEBOP/sCqensVmEIz+Qs+svnQXtgugDtgfEStAfGpVuuw1Nq3QtdxxkttB1ntJZtdqYw2EYyDR7bHA5+H1IZ4cKNdkYLL+6MBt9apoUPByGdSt8NZri6oY+ictJozO+ZNpiDM51i28608LlgRktHL89pqClgO4zASpkuwa1nXOoihLhtMsKR4uuuko92p4cz9aScRstHu/r/unvTvkgIclB4WZLivs+KDPD9a4vdiZY+9X7c85fv3fDsfvefKn58pcbb8Fvx7+G51gvPF3izwKfJ9Nzk0/Ncx553df/cne929/X5+ActbXkn\"}"
  },
  {
    "path": "officialworlds/solo levels/shhh, it's a secret.replay",
    "content": "0,1,wasd;-1,1,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;0,1,wasd;-1,1,wasd;0,1,wasd;1,1,wasd;1,1,wasd;0,1,wasd;1,0,wasd;1,-1,wasd;-1,0,wasd;0,1,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;0,-1,wasd;0,0,undo;-1,-1,wasd;1,1,wasd;-1,1,wasd;0,-1,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;-1,0,wasd;0,1,wasd;1,1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,0,undo;0,0,undo;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;0,0,undo;0,0,undo;1,0,wasd;0,0,undo;0,-1,wasd;1,1,wasd;0,-1,wasd;0,1,wasd;1,0,wasd;1,1,wasd;0,1,wasd;-1,-1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;1,1,wasd;1,1,wasd;1,-1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;1,1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,-1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,-1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;1,1,wasd;1,1,wasd;0,1,wasd;1,1,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;1,1,wasd;1,1,wasd;1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;1,1,wasd;1,-1,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,0,undo;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;1,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,1,wasd;0,0,undo;0,1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;-1,0,wasd;0,1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,-1,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;1,0,wasd;-1,0,wasd;1,-1,wasd;0,0,undo;1,-1,wasd;-1,-1,wasd;0,0,undo;-1,-1,wasd;1,-1,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,1,wasd;-1,0,wasd;0,1,wasd;-1,1,wasd;0,1,wasd;1,-1,wasd;1,-1,wasd;-1,0,wasd;0,-1,wasd;0,0,undo;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,0,undo;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;0,1,wasd;0,-1,wasd;1,0,wasd;0,0,undo;1,0,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;1,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,0,undo;1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;-1,-1,wasd;-1,-1,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;-1,1,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,0,undo;0,1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;0,0,undo;-1,0,wasd;0,0,undo;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,0,wasd;0,-1,wasd;0,0,undo;1,0,wasd;0,-1,wasd;1,0,wasd;0,0,undo;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;0,-1,wasd;0,0,undo;-1,0,wasd;1,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;-1,-1,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;-1,1,wasd;-1,1,wasd;1,0,wasd;1,0,wasd;1,1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,-1,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,0,undo;0,1,wasd;0,1,wasd;-1,0,wasd;-1,-1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;1,1,wasd;1,1,wasd;1,0,wasd;0,0,undo;1,1,wasd;1,1,wasd;0,1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;0,1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;0,0,undo;0,-1,wasd;-1,1,wasd;-1,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;-1,1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;"
  },
  {
    "path": "officialworlds/solo levels/snowfall.bab",
    "content": "{\"width\":14,\"version\":5,\"extra\":false,\"author\":\"vitellary\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":11,\"next_level\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"is_overworld\":false,\"palette\":\"autumn\",\"music\":\"bab be go\",\"name\":\"snowfall\",\"map\":\"eJyVmOuOmzAQhV8l2h+9SKjFGGxoxJNUFWITdoWCYEWINlGUd6/jcRfI+nKaHxGyviGHOcOMnf2w6YZd3W2q8nqd2q4pn8Zm/xSdyzhq9yWLLuri+Nbs2rorr7do344lu0UWNFEow1Cu0ARDU4VyDM0UmmKoUGiGoVKhAkNzhUoMLRSaYyiLFVuA7N0v9skw/ggzDSd+c6fzVD3XzzPPbQnma76Z8dSW5DV+munMlmeHcIE9ZaJhGX7KqTlPc0Buq8755iYlxGI+ajaJMdVcw4EXb8414Ylf8x1/Her3+vLWHecoblPvEJRi6lMNZ2H1/ddp5kVY/peZlpBsYnNMdqbhIiy73V3U5yOEx0ji1WeOYJB6YhNMvdAwh3o1saCbUsMBN4/98NLVh5m3d9doN3TDWF5ZlN7svyMxUbmGc1gU8YVPVN921l9JwXe20DA2LInFpiWx2LgkFpuXxAYG5iKFxHt9taSQorABSiw2QYnFWq9mM2yEEouOUNpzWGfo+v1f5NEEcav5lkQuRipFpv5SuPO/vi34zF8OWt50OuwWIQKqIANLfwmp7wWc+3ddn/P0v+8shYnYX3H6oQ+nhTLB/HX3aINI/LWnbfi+4DlUfwYGezPTeyFhbc4uWNgKzwVL/2hbw7mtalxwEWg8/8zRtIyhzbqBGdRtDJzYbHeIlthmycCpzXAXnIGG622kFJjhBEvMcIIDG981XGCGaziPoaOZgUELCQYtJBi0kGDQQoJRC/VeOg9Y+Dg0KMhqpWtovP98GZt+ER3wVp+CTLOmgIC/1BLNJp5CCqvLD4/1MWwohPnPiKu0FYn/iHi//zqA+4tj0daJT/31oY8tw+uwiMiwIiHYdWy9bc1fMJVa21a/efHnB9mqroW5VuupsK9n3LHuuE8ubetjM53GflNtm37/FzwK/DE=\"}"
  },
  {
    "path": "officialworlds/solo levels/snowfall.replay",
    "content": "0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,-1,wasd;0,-1,wasd;1,1,wasd;0,-1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;-1,0,wasd;0,-1,wasd;-1,-1,wasd;0,-1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;-1,1,wasd;0,1,wasd;1,-1,wasd;1,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,-1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,-1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;"
  },
  {
    "path": "officialworlds/solo levels/soko BANNED.bab",
    "content": "{\"width\":19,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":13,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"redfault\",\"parent_level\":\"\",\"name\":\"soko BANNED\",\"map\":\"eJyN2dtu2zoQBdBfCfJsoCJ1R+FvCRzbdY26ViA7SIIg/16ZM2OJRMO9X4rzsMi62sPbnN3wcBq2m9PD0/rz83o87dePb5vT4+p9XayOu7VbfUz/cXnZb4+b0/rza7U7jmv3tfoP9RN1HC0n6jlaTbT8nh7GzeVu68lW3LTNRGuOthNtONpNtOVoP9GOo66YbP+9vY772d4CczgGF7DPp2sfVzAXmliQWmS51MSC2OIfDIIbh+1sQXKR5aIL1qPo3q9PkQ/xZSK5DXjez96DuG/+PByGecQtRodz9AFX+QKZ/pxtnV//kW3ytWQ5Cm650AV3+dCjX9FToQdbFlToYl0+9OgHlx4kHuuSW95lwCA9m1kwF59YEF/0I1pqKxDbUbuy2B6vrOfN891XBb2yxKON9OaH8fp7mId4bmlVAZf5cLT4xFb5bCxIwSDIaGIuSLFckGK5IMWCVbi0NbcKxYJVGFm0CCNMrkHBFVcTdcA1VRNiGypmsS0Vs9iOu3AJ7vNnd4SbgioKsS5fFLobifX5oohsyW3NgisuaME1F3QTcENdq8W21L1abEcFLbbngg64LahjVayjFqlYTy1SsSV5UoomwxOMwrOp26DB0tOZxYJdM54YbJsxBvumRhJsx+2bYh34FouTtQsDwCtiPliFl+CiMfHXWVdURYutuW8tuKE+idiWqlKxHXeUCO7JuuvDk7Hg7nOCHfXhxHruwwku83u+lobYKr9txBPX3IoV3BBVaq82eXC3bJmq73Cdboe/+5fTZTGo5x7J+q4vuO9u3HGnrXFPPpaVl/kFkfKKWhOm0QYbHsI/fo37cxglD+2COyZNcwelae6oNA0Oy1iHhg2+0poG56VVsWruxDSNzsyEo9vqLSY9WJyXIeDOan+BanB03otMObi4przjWkmquYeHas8doaZRHyf55bCPk0yPmjiLzayUEaAXYPOrBm/I+69X3pAbk3LQ0LGCVw1ac+nk3LVINWrrJJp7UpomH5XGmUwPw+Zt82FHTiUDyWhVg2gT3eQP8ES33IpS3ZEHjvKeXCLCpd9DbPC1cEc9p037/L5kZaMadM6TuUHvPJkb3HmTfyVYqIkG6zTRoPOaaHLzFY36PvdSUQ7WafwJ2eaPcbhO5X/HuEY4uTpVc80706B9l2jyKWocNIKSHw46QYtHo45A7aDbiMvwZ1gOcaALsbjz6wjPlZlq9gqsnLwCq67JMlOOHjjGW+Hk5Vc1eflVTV5+RYdWEbHHqHbcHqPa4wI4Hs7DuBxTciWguiJLQDkbqnIU6n36Tjx7/1UOlqztTKrJ5q3yDrUAb9eTZAjo4trHUQ36uIkGndxEV2ROyslWhPHvYv36Oe6vr+P54enn/rz7B+JG8b0=\"}"
  },
  {
    "path": "officialworlds/solo levels/soko BANNED.replay",
    "content": "1,0,wasd;0,0,undo;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;1,1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;1,1,wasd;0,1,wasd;1,1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;0,0,undo;1,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;-1,0,wasd;0,-1,wasd;0,0,undo;1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;0,0,undo;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;0,-1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;0,0,undo;0,-1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,0,undo;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;0,1,wasd;0,0,undo;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,0,undo;0,0,undo;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,0,undo;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,0,wasd;"
  },
  {
    "path": "officialworlds/solo levels/taek noetts.bab",
    "content": "{\"width\":77,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":41,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"j\",\"is_overworld\":false,\"palette\":\"garden\",\"parent_level\":\"\",\"name\":\"taek noetts\",\"map\":\"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ziK44k4EVtzdwPTgijsRWHEngCvuRCTFXTtR04Mr7kRgxZ0ArrgTkRR3FsEVdyKS4q5HTFxxJyIp7vp3MXHFnYikuLNVcMWdCKy4E8AVdyKw4k4AV9yJSIq7voqZK+5EYMWdAK64E4EVdwK44k5EUtzZKrjiTgRW3AngijsRSXHXV7FwxZ0IrLgTwBV3IpLizlbBFXcisOJOAFfciUiKO1sFV9yJwIq7AaxccSciKe76iVq54k4EVtwJ4Io7EVhxJ4Ar7kRgxZ0ArrgTgRV3+w1sWHEnICjuarBJAdhxJ4A67lSPHXcCguPOzhF23AkIjjsLwI47AdRxN+p37LgTEBx3FoAddwKC484CsONOQHDc9b+iHTvuBFDHneqx404AddyN+oM77kQkx10/SQd33InAjjsB3HEnAjvuBHDHnQjsuBPAHXcisONuACd33InAjjsB3HEnIjnuLII77kQkx13/Lk7uuBORHHe2Cu64E5Ecd30VF3fciUiOO4vgjjsRyXFnEdxxJwI77gRwx52I5LizVXDHnYjkuGsR84M77kRgx50A7rgTkRx37buYH9xxJwI77gRwx52I5LizCO64E5Ecdz1i4o47Eclx17+LiTvuRCTHna2CO+5EYMedAO64E5Ecd7YK7rgTgR13A5i5405Ectz1VczccScCO+4EcMedCOy4E8AddyKw404Ad9yJwI67ASzccScCO+6OAWDHnYDguLMA7LgTEBx39T2oHjvuBATHnQVgx50A6rgb9St23AmgjjvVY8edgOC466doxY47AcFxZwHYcSeAOu5Ujx13AqjjbtRv2HEngDruVM8ddyKw404Ad9yJSI47i+COOxHYcSeAO+5EJMdd/7J37rgTkRx3fRU7d9yJSI47WwV33InAjjsB3HEnAjvuBHDHnQjsuBvAwR13IrDjTgB33IlIjjuL4I47EclxZxHccScCO+4EcMediOS46xEnd9yJwI47AdxxJwI77gRwx50I7LgTwB13IrDjTgB33InAjrsBXNxxJyI57iyCO+5EJMedRXDHnYjkuOv/DF7ccSciOe5sFdxxJyI57toqlgd33IlIjru2iuXBHXcisONOAHfciUiOO1sFd9yJSI47WwV33IlIjru+iok77kRgx50A7rgTgR135wCw405AcNxZAHbcCQiOOwvAjjsBwXHXA2bsuBNAHXeqx447AdRxp3rsuBMQHHcWgB13AqjjTvXYcScgOO56wIIddwKo40712HEnIDjuLIA77kQkx13/Q124405EctzZKrjjTkRy3PVVrNxxJwI77gRwx50I7LgTwB13IrDjTgB33InAjjsB3HEnIjnuesTGHXcikuOun6iNO+5EYMedAO64E5Ecd7YK7rgTgR13ArjjTgR23A1g5447EdhxJ4A77kRgx50A7rgTgR13ArjjTgR23AngjjsR2HE3gIM77kQkx51FcMedCOy4E8AddyKw404Ad9yJwI47AdxxJyI57voqTu64E5Ecd30VJ3fcicCOOwHccScCO+4EcMediOS4swjuuBORHHc94uKOOxHYcSeAO+5EYMedAO64E4Edd9cAsONOQHDc1WlSPXbcCQiOuxawPrDjTgB13KkeO+4EBMedBWDHnYDguLNThB13AqjjTvXYcSeAOu5G/YQddwKC484CsONOAHXcqR477gRQx53queNORHLc2Rq4404EdtwNYOaOOxHYcSeAO+5EJMedrYI77kQkx52tgjvuRGDHnQDuuBORHHc9YuGOOxHJcWcR3HEnAjvuBHDHnYjkuLMI7rgTkRx3/S9q4Y47EdhxN4CVO+5EYMedAO64E4EddwK4404EdtwJ4I47EdhxJ4A77kRgx90ANu64E5EcdxbBHXcisONOAHfcicCOOwHccScCO+4EcMedCOy4G8DOHXcisONOAHfcicCOOwHccSciOe4sgjvuRGDHnQDuuBORHHf9j/bgjjsR2HEngDvuRCTHna2CO+5EYMedAO64E0Edd9/+BbgB6rgrADruVH9Sx10BwXHXV3BSx10BwXFnK6COuwKC485WQB13BUDHXdVTx10BwXHXV3BRx10B0HFX9dRxVwB03FU9ddwVEBx3tgLquCsgOO5sBdhxVwR13A1ge2DHXRHUcVcAdtwVQR13BWDHXRHUcVcAdtwVkRx3tgrsuCsiOe76KibsuCuCOu4KwI67IpLjziKw464I6rgrADvuiqCOuwKw464I6rgTMGPHXRHJcWcR2HFXBHXcFYAdd0Ukx51FYMddEdRxVwB23BVBHXcCFuy4KyI57iwCO+6KoI67ArDjrgjquCsAO+6KoI67ArDjrgjquBOwYsddEdRxVwB23BWRHHcWgR13RVDHXQHYcVdEctxZBHbcFZEcdz1iw467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Nl5A8tx5xE638QKS584jzkDYKpLnziLu2QFvXNV78tx5xBwIi0ieO49YA2ERyXPnEXsgLCJ57jzipNt4AclzZxH3W2dvXN1H8tx5xBwIi0ieO49Y6TZeQPLcecROt/ECkufOI066jReQPHcWcc8OeOPqPpPnziNmuo0XkDx3HrEGwiKS584j9kD07+JMnjuPOANhEclzZxF35+YbV/eVPHceMQfCIpLnziPWQFhE8tx5xE638QKS584jzkD0r/tKnrsesd6zA8iPdAKS584j5kBYRPLcecRKt/ECkufOI3a6jReQPHcecdJtvIDkubOI5y9oaBu/DyCI7r4nCJg/B+o0qT6I7jxghdt41QfRnQfscBuv+iC684Dzc8BWEER3FvD84Yzc8qs+iO48YP4c6CuYseNOAHXcqR477gRQx53qseNOAHXcqR477gawBMddD1i4405Ectz1b2HhjjsR2HEngDvuRCTHna2CO+5EYMedAO64G8SKHXcCuONOBHbcCeCOOxHYcSeAO+5EYMedAO64E5Ecd7YK7rgbxJYcdz1i4447EclxZxHccScCO+4EcMedCOy4E8AddyKS484iuONuEHty3PWInTvuRGDHnQDuuBOBHXcCuONORHLcWQR33InAjjsB3HE3iCM57nrEwR13IpLjziK4404EdtwJ4I47EclxZ6vgjjsRyXFnq+COu0Gc2HEngDvuRGDHnQDuuBOBHXcCuONOBHbcCeCOOxHYcSeAO+4GcWHHnQDuuBOBHXfHALDjTgB13KkeO+4EBMedrQA77gQEx50FYMfdDWwP6rhTPXbcCaCOO9Vjx52A4LizFWDHnQDquFM9dtwJCI47WwF23A1goo471WPHnYDguLMA7rgTgR13ArjjTkRy3PXvYeKOOxHYcSeAO+4GMWPHnQDuuBORHHd9FTN33IlIjjuL4I47EclxZyeKO+5EYMedAO64G8SSHHc9YuGOOxHJcWcR3HEnAjvuBHDHnQjsuBPAHXcikuPOIrjjbhArdtwJ4I47EclxZxHccSciOe4sgjvuRGDHnQDuuBORHHf9j3bljrtBbMlx1yM27rgTgR13ArjjTkRy3FkEd9yJwI47AdxxJyI57mwV3HE3iB077gRwx50I7LgTwB13IrDjTgB33InAjjsB3HEnAjvuBHDH3SAO7LgTwB13IrDjTgB33InA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\"}"
  },
  {
    "path": "officialworlds/solo levels/taek noetts.replay",
    "content": "-1,1,wasd;0,0,undo;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,1,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;32,39,clikt;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,-1,wasd;1,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;1,1,wasd;1,-1,wasd;1,1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;38,28,clikt;0,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;1,1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,-1,wasd;0,-1,wasd;-1,-1,wasd;1,-1,wasd;1,-1,wasd;1,1,wasd;1,0,wasd;1,1,wasd;0,1,wasd;1,1,wasd;1,-1,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;0,0,undo;0,0,undo;1,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,-1,wasd;1,1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,-1,wasd;1,-1,wasd;0,-1,wasd;-1,-1,wasd;-1,-1,wasd;0,-1,wasd;-1,-1,wasd;-1,-1,wasd;67,31,clikt;1,1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,1,wasd;-1,1,wasd;0,1,wasd;-1,1,wasd;-1,1,wasd;-1,0,wasd;-1,1,wasd;-1,1,wasd;-1,0,wasd;-1,-1,wasd;-1,1,wasd;-1,1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;1,1,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;64,34,clikt;-1,1,wasd;-1,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;1,-1,wasd;-1,-1,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;1,-1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,-1,wasd;-1,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;-1,-1,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;-1,1,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;-1,-1,wasd;0,-1,wasd;1,-1,wasd;1,-1,wasd;-1,-1,wasd;-1,-1,wasd;0,-1,wasd;1,-1,wasd;0,-1,wasd;1,-1,wasd;1,1,wasd;1,0,wasd;1,-1,wasd;1,-1,wasd;1,1,wasd;1,0,wasd;1,1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;-1,-1,wasd;-1,-1,wasd;0,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,1,wasd;-1,1,wasd;-1,-1,wasd;-1,0,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;0,-1,wasd;-1,-1,wasd;-1,0,wasd;59,24,clikt;1,0,wasd;1,0,wasd;1,1,wasd;1,-1,wasd;1,-1,wasd;1,1,wasd;1,0,wasd;1,-1,wasd;1,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,0,wasd;1,1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;-1,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,1,wasd;1,-1,wasd;1,1,wasd;1,1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;0,1,wasd;1,1,wasd;1,1,wasd;0,-1,wasd;1,-1,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;-1,-1,wasd;1,-1,wasd;-1,-1,wasd;0,-1,wasd;-1,-1,wasd;1,-1,wasd;1,-1,wasd;-1,-1,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,-1,wasd;-1,-1,wasd;1,-1,wasd;1,0,wasd;1,-1,wasd;-1,-1,wasd;1,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;1,1,wasd;-1,1,wasd;70,4,clikt;1,-1,wasd;-1,-1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;-1,1,wasd;1,1,wasd;-1,1,wasd;-1,0,wasd;-1,1,wasd;1,1,wasd;1,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;1,1,wasd;-1,1,wasd;-1,1,wasd;1,1,wasd;0,1,wasd;1,1,wasd;1,1,wasd;0,1,wasd;-1,1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,-1,wasd;-1,0,wasd;-1,-1,wasd;-1,-1,wasd;0,-1,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;-1,-1,wasd;-1,-1,wasd;-1,1,wasd;-1,-1,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;-1,1,wasd;-1,0,wasd;-1,1,wasd;1,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;0,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;-1,-1,wasd;-1,0,wasd;-1,-1,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;0,-1,wasd;-1,-1,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,1,wasd;1,1,wasd;0,1,wasd;1,1,wasd;1,1,wasd;-1,0,wasd;-1,1,wasd;1,1,wasd;0,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,1,wasd;-1,0,wasd;1,1,wasd;0,1,wasd;1,1,wasd;1,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,-1,wasd;-1,-1,wasd;-1,1,wasd;-1,-1,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;-1,1,wasd;-1,-1,wasd;-1,0,wasd;-1,-1,wasd;-1,0,wasd;-1,1,wasd;-1,1,wasd;0,-1,wasd;-1,-1,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;1,-1,wasd;1,0,wasd;1,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;-1,0,wasd;-1,1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;0,-1,wasd;-1,-1,wasd;-1,1,wasd;-1,1,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,1,wasd;1,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;0,1,wasd;-1,1,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;-1,-1,wasd;0,-1,wasd;1,-1,wasd;0,-1,wasd;1,-1,wasd;1,-1,wasd;1,0,wasd;1,-1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;-1,-1,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;-1,-1,wasd;1,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,-1,wasd;1,-1,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;1,3,clikt;0,1,wasd;0,1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,1,wasd;1,0,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;-1,1,wasd;1,1,wasd;0,1,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;1,1,wasd;-1,1,wasd;-1,1,wasd;0,1,wasd;-1,1,wasd;-1,-1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;-1,1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;0,1,wasd;3,35,clikt;0,-1,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;-1,-1,wasd;1,-1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,1,wasd;1,-1,wasd;0,-1,wasd;-1,-1,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;-1,-1,wasd;0,-1,wasd;1,-1,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;1,1,wasd;1,-1,wasd;1,0,wasd;1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;1,-1,wasd;1,-1,wasd;-1,-1,wasd;1,-1,wasd;1,-1,wasd;1,1,wasd;1,0,wasd;1,1,wasd;1,1,wasd;1,1,wasd;-1,0,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,-1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,1,wasd;-1,1,wasd;-1,0,wasd;-1,1,wasd;0,1,wasd;-1,1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;-1,-1,wasd;-1,1,wasd;-1,0,wasd;-1,1,wasd;-1,0,wasd;-1,1,wasd;1,1,wasd;0,1,wasd;1,1,wasd;1,1,wasd;-1,1,wasd;0,1,wasd;19,26,clikt;0,-1,wasd;1,-1,wasd;-1,-1,wasd;-1,-1,wasd;0,-1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,-1,wasd;1,0,wasd;1,1,wasd;1,-1,wasd;1,0,wasd;1,1,wasd;-1,1,wasd;0,1,wasd;-1,1,wasd;-1,0,wasd;-1,1,wasd;1,1,wasd;1,0,wasd;1,1,wasd;-1,1,wasd;-1,1,wasd;-1,0,wasd;-1,1,wasd;1,1,wasd;1,0,wasd;1,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;-1,0,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;-1,-1,wasd;-1,-1,wasd;1,-1,wasd;0,-1,wasd;1,-1,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;0,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;0,-1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;17,19,clikt;-1,1,wasd;-1,1,wasd;-1,1,wasd;0,1,wasd;1,1,wasd;1,0,wasd;1,1,wasd;-1,1,wasd;-1,1,wasd;1,1,wasd;1,1,wasd;-1,1,wasd;-1,1,wasd;-1,0,wasd;-1,1,wasd;1,1,wasd;0,1,wasd;1,1,wasd;1,-1,wasd;1,0,wasd;1,1,wasd;0,1,wasd;1,1,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;1,0,wasd;1,-1,wasd;0,-1,wasd;1,-1,wasd;1,0,wasd;1,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,-1,wasd;-1,0,wasd;-1,-1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,-1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,1,wasd;-1,-1,wasd;-1,1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,1,wasd;1,1,wasd;1,0,wasd;1,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;0,-1,wasd;26,1,clikt;1,1,wasd;1,1,wasd;0,1,wasd;1,1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,-1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;1,-1,wasd;1,1,wasd;1,-1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;1,0,wasd;0,1,wasd;1,1,wasd;1,0,wasd;1,-1,wasd;1,0,wasd;1,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;-1,1,wasd;-1,0,wasd;-1,-1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,-1,wasd;1,-1,wasd;1,-1,wasd;54,8,clikt;-1,1,wasd;-1,1,wasd;1,1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;0,-1,wasd;1,-1,wasd;1,-1,wasd;1,0,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;0,-1,wasd;-1,-1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,-1,wasd;-1,1,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;0,-1,wasd;-1,-1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;-1,-1,wasd;-1,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;0,1,wasd;-1,1,wasd;-1,0,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,-1,wasd;38,6,clikt;1,1,wasd;1,0,wasd;1,1,wasd;1,1,wasd;1,-1,wasd;0,-1,wasd;1,-1,wasd;1,1,wasd;1,1,wasd;1,0,wasd;1,1,wasd;1,1,wasd;1,0,wasd;1,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;1,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;41,13,clikt;1,0,wasd;1,0,wasd;1,-1,wasd;-1,-1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,1,wasd;0,1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;1,1,wasd;1,1,wasd;0,1,wasd;-1,1,wasd;-1,0,wasd;-1,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;-1,1,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;1,-1,wasd;1,-1,wasd;0,-1,wasd;-1,-1,wasd;-1,-1,wasd;0,-1,wasd;-1,-1,wasd;-1,1,wasd;0,1,wasd;-1,1,wasd;-1,-1,wasd;0,-1,wasd;-1,-1,wasd;-1,1,wasd;0,1,wasd;-1,1,wasd;-1,-1,wasd;0,-1,wasd;-1,-1,wasd;-1,1,wasd;0,1,wasd;-1,1,wasd;-1,-1,wasd;-1,-1,wasd;0,-1,wasd;-1,-1,wasd;-1,1,wasd;-1,0,wasd;-1,-1,wasd;7,1,clikt;1,1,wasd;1,-1,wasd;1,0,wasd;1,1,wasd;0,1,wasd;1,1,wasd;1,-1,wasd;0,-1,wasd;1,-1,wasd;1,1,wasd;1,1,wasd;0,1,wasd;1,1,wasd;1,-1,wasd;0,-1,wasd;1,-1,wasd;1,1,wasd;0,1,wasd;1,1,wasd;1,-1,wasd;0,-1,wasd;1,-1,wasd;1,1,wasd;0,1,wasd;1,1,wasd;1,1,wasd;0,1,wasd;-1,1,wasd;-1,1,wasd;-1,0,wasd;-1,-1,wasd;-1,1,wasd;-1,1,wasd;1,1,wasd;-1,1,wasd;-1,1,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,1,wasd;-1,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,-1,wasd;-1,1,wasd;0,1,wasd;-1,1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;1,1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,1,wasd;0,1,wasd;-1,1,wasd;-1,-1,wasd;-1,-1,wasd;-1,1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,-1,wasd;1,-1,wasd;0,-1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;1,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;-1,1,wasd;-1,1,wasd;0,1,wasd;-1,1,wasd;-1,1,wasd;0,1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;-1,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,-1,wasd;0,-1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,1,wasd;-1,1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;-1,-1,wasd;1,-1,wasd;1,-1,wasd;1,1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;1,-1,wasd;1,-1,wasd;1,1,wasd;1,1,wasd;1,0,wasd;1,-1,wasd;-1,-1,wasd;0,-1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;1,0,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,1,wasd;-1,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;-1,1,wasd;0,1,wasd;1,1,wasd;1,-1,wasd;1,1,wasd;1,0,wasd;1,-1,wasd;1,-1,wasd;1,0,wasd;-1,0,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;0,1,wasd;"
  },
  {
    "path": "officialworlds/solo levels/the wall of no u.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":false,\"map\":\"eJyVms1u2zAQhF8l6KkFfBApiT8t/CyBY7upUSEqHKdpEeTda+2sbNFxteNLkMNHmdzh7oojbvq7rl+vurv75dvbYddtl5+61er3p8WfpasWu83SLf4O/z3/2q53q2759r7Y7PZL9764oNMAexIOA1wb8OuqG1iZRXNkPYe2w2M5NBxRewJ+QCM1gXpAE4U2A5op1IkOFcW2wjqKFRWcp9gobE2xshUcJ1kWtuXigA0ZOBhR43RzorHjlHOisiO1E509J54T9TynnhP5PCefE/08p5+XOHtOQIW5rFOYyztd4KBgYBeYOBjFKnOwbNG6omAssHbzcFkGpWg2LC1Vs2bpQUM3I2JJi4gzKha1vg7kTEBHcpWgEzlv0JmcNwpIU92GO3IuinsyLIrXZFykjjQN2WBBs3qCDjfNJJLLBG3pefx7ho28nLLtoGVrslKxW0ex0gpaT7HSY9qaYvFy0tzADvLN6FGwg3gzahTzjRSLOCSKRXwzxYpuoaJY6YfBUayUsOApVppFqClWSkxoKFZaRWg5LfAKSgonEQ6ccnjnCJx0eOcInHZoyZETDy05cuqhy0ZOPnTZyOmncEMlk8Itl/2Yc+BgRCNyMOKcOFgUjJmDZW8krmwq7KjQYRrJc7AsMNUcLKFLnIIQJXG1E+/9iVRQqmciFZSNlDgFMWVOQClHmdNP4pa5tieCZK7tidKZa3sS4UxqJywnHeYbKBZxiBSL+CaKFd1y5taGw2tV3UQbB4lpLFzlKRhJ7aqao2EoVM08ve67bnNObFdZr57FGc9Vg46RpgclE00PWmaazsZb8BgXmByOlFNpLhVH2miGUyfLiTVDrBJwQ8EwRcScsWGYImLOzMDfu/5xMo9oHAtKL8eRSqoHlufpTb+fWD/i0Hyg4wcayxSLhqCRauLRzNBlzotJM5MLF3QznwtF73Ji0xC0xiRwtMbEyMqy/IhTQ9DQUqwamhavhoggZiJmDUFjleLWEDQiWJNaQh1xa3i65Qq4ziRwtK7SMN2m/c/VhulWwplao1rInJAKO2qPwMhuOBkV5lolGkjDiagwl4/Y1o3RJEuYUxApIPaM/WSFuVzERhJ/xoaxR1tOQWx/cWhsGFVSLBoaJtMQcEvBukBOQQ1dvAXmclCnwRlsWGAwjO8idIF7X8WcA3dUxK4L3FERmz9Yx40/h/t9vz7nYSAP/BoS69RxfPzD9lw/gnVkPPKP/ep19fdX93wuaME6PA6r2H7vtuv1ZJCl7XHQ6WUdi4/cOyyeHzmFteuQfs74rY4zdMZnk2dKbLZIGgJKG45A8dHJRcsLL48YYusQH75HPBtPHyQdXzgxoWQpetqgetQwLZ5yq8FjcZbXU65DzB7i0wVSOBlHlJHWBRtnlJHWeRuHlKKWJO61VufBvdXqNIxG+vzzZZJ4+eoB5SONYOerB5SPNIprvnpA+U8FyMZJszyfZEPH4nUoGzIWHSEbKo5LHCcS53HtB1pcsvXBasT1LkAmcb0NUBn4hZ3iK+sb5MPq4ZyYvrp+D6c94S+7+9V+379Ox9RXHZtmOuaY0D+nQyxtj1Xj6+fpgHa+BMiAL9MB8k3SrjD4nl+Rlz302cZtj8si6WEN3TBAzCFjuSdDBPcXxCEyfuO0sXWIn/+V8jaF+ERERPUmSsM9W2njEoisd7/bPG4mueCMyyDDoKf+sZ8OibQQNQYke0BxE8g7Xmv8hCe0Pmc1fkRcJCK6uDQjLhKhnNJGty2cNe9JnZUmdP7RHw7bU6/z1pWfc6lQnpYYqeYJhQs+2/MpXjF8TQh8McLI5emNPV9zWawwl8TIeNwBYmGiQr+cerCvCVnXfd9NRtDCIq/EXDJ+oeCZxEWzRBI2hK7lAE5WpEpDJi1gMmexCXAX6Mq54P3bfnt42T/d3X/bPm3+ASLkXX4=\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"map\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"the wall of no u\",\"height\":15,\"author\":\"mse\"}"
  },
  {
    "path": "officialworlds/solo levels/the wall of no u.replay",
    "content": "-1,0,wasd;-1,1,wasd;-1,1,wasd;-1,-1,wasd;-1,0,wasd;-1,1,wasd;0,1,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;0,1,wasd;1,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,1,wasd;-1,1,wasd;0,1,wasd;1,-1,wasd;1,-1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,-1,wasd;1,1,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;0,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;0,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,1,wasd;1,1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;0,-1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;1,0,wasd;-1,1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,0,undo;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,0,wasd;0,1,wasd;-1,1,wasd;"
  },
  {
    "path": "officialworlds/solo levels/three pointer.bab",
    "content": "{\"width\":9,\"version\":5,\"extra\":false,\"map\":\"eJyVldFugkAQRX/F+NCmCUnZnQWkhm8xIGhI6G6zQLQh/nvZWURNlJm++XDu5O7cO1iaVWP2ebPaZcPQ1U2VrbtztyvyYh2cszCoy0wEv+OP9qfa13mTDZegrG0mLsGEn/JmRuWISh4KIxq/RtFE5WjhaMXygGi07GF6GaLxiCre1IS2W9r8WKBCOsWGZRnRlLU2REW4bGRiAVnBmutZyZqrkIXluYfGHG+werbk6PngiGUiQjZmPc6zjPQKY0vrFDEqeOl5lhcfspKIz9dev3dOkaCCd36e5d2fZxkHqI3rtJNsUMK7Qs8SZ/jAxrSVa6ewrDJZNnL7eGCtJBGmw78+5rbIlDH97vsILlOxzJ8+D7bS89cEBC25vhjPHiQteJv3A0DTba7bqWe4JFC05tv07bwmiGiBDwGbDzGN93M7IaFpbcTNjIs4YTcCUhq/PhY3qkJaYEwxLRQjU2JZcv9nqCSLxWtR8A+WCPXBw4s8L1tbdb3Vq9220uUf3bG7qA==\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"three pointer\",\"height\":8,\"author\":\"Butcherberries\"}"
  },
  {
    "path": "officialworlds/solo levels/three pointer.replay",
    "content": "-1,4,drag:6@-1@4,e3stMSwgNH0gLS1bW3RhYmxlOiAweDE5ZGUxNGUwXV19IC0tW1t0YWJsZTogMHgxOWRlMTRiOF1d;10,4,drag:6@4@4,e3sxMCwgNH0gLS1bW3RhYmxlOiAweDE5OTgxODAwXV19IC0tW1t0YWJsZTogMHgxOTk4MTdkOF1d;"
  },
  {
    "path": "officialworlds/solo levels/tim's true power___.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":16,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"redfault\",\"parent_level\":\"\",\"name\":\"tim's true power...\",\"map\":\"eJydmt1u4zYQhV8l2IsWBYxW1B+pBn6SRWEotjZrRJUKRWmSBnn30hzSFOWhZpi9CojzWSTnaDgc7Wm868dj298d9h8f87nv9t8epvPTt93bPtudT3uxe9d/PP/THc9tv//43J3Okx48jv047T+yXfb5ucO4XHMixg3nHqcKTeUc6jg+9P0VKzVW3GARcaXFZVwczKfW2ip9PlJjNXc+Soslcz7NZVe/sEEiu4A3W1TF5JeoC+4mCRPrtG0SBixQc13V89t8eB0fvb5ETRXoHzovr1A3BfL/2td2ejmNHqq3vXSBjv34NPw6e0ZuWwrmFRAKNdbNUzzQbFvKBcSI8wy11MbLB5hguyvkctRcdPzzArUZ4kqQl6jPEHlu5BXtrveumz1Q0/ZyQQFA0gYDP4Jc8azlgYbjq6u8yGhTPc8vT0dPCJ6rQJynugqwS5BVkjmAK3FXxeQVM2WBuk5PWYUBJW2q+fz3w9jPnlG0rzTTd882RQDV0OZ6ar2+zGh3tdM4nDwhaHut11LmtMfAkiAvtg1mHjG9t4/tefBQuX0ihhEpK9RfV3WwRybsG+Fzrx+oJZ4PbywFaoUbcOP9AK5Jt2Jp6piMtuKKECwjuoADk9M2fB7a49ETBW3EuXtbPKLkVWQgrrglWYjVqBHpTZZML4JabXsxnBI/8I6rTE2Kxx3B/MsIICP8P1s4EAFgxN7WZ6AnIn/dLFATYV+p8bjH1JH8fiuvjZyR1YfxcfQAI6XbxAN6Ipm7ABuxxDP5hi8Aw9N5xBeu8gHUVHDM0geIgsiN4QZLvHRD5NLIGaWbWzsAjNIN3gSQMwo3F28AiNItnAxetkUCYW1iSJXRx+ViGUpsJ6eL/MWr8+3kFIZAFUTE3JKVUZcpOQmKHQ9X28ELn1QntwiAk8zcBGrFO5JAnJ7IG3OZT0rki4MZaCKbh4/CM/nWrgHHzeig5mZ0UBMZPVwA+/wOMfz4JrH0Wg64dCcI259J8sK1jnc04QV/j7Z66mD3XnMEaoTiSrg2jVWjDbnCdQ2LXe67hj/G6WWJVsQl/7px0BfJ6pSNuz7MwpK7b1aveMe4kzepB7kFTbuOZb/1DE3njvFSOXmeXBY7smAWxk5fEvfzGwA3AgbkAOBOwLqDFiCiv8q6jiI8sLzeOAT3wW1QQJ6zo78GxRcasQWgOacCFkuioHfv9Y8fUzcsoZLbMXNAxTyAnL5mHkFOL9kuKwFQ9Eb9stQ39DZdsxIgpo/HdZhFBHebrD6nWz96pDvO53FYcgXaQME6thZgF/6iAoBR+gdNe4uxLwAOYFwB+n+DmTHat76ydVBDdZxW6zdtPE7dLWrQb36gi1feDse/06HvvSXwb3RhQ6gdgocQ3+fWS0pu8TiQXSQuLl6OlWigZPRZKr3Uk0A2Xyz7LW/6fozC38kFt/Rffm6zbM74YjF1bTC9Iqmr7KiSWbdYecWuW9xXNAvWaN8CKS+tXibfBBzJN4jPAQpQ3CFYMgOgJiwRfE60CG6LjWcwvBAkZosRdlivvSaMcKPHnRDXGwOwjkoLRBxwG3er/0rcG0AZcT8f3/W/BSS56cDKk9LBn78tUcIB6yfhkd96cyyIW4CxgaZvyOpKOoDvBgvgbkDyh9WnHxM5XIQl+5hYgQo3BANkW8N/erUk4YwbPZEU1hMr8bAyllTh8eWsqeZeWB0Qu0p83tv/YXXQY/eH7/lfv8PjD9+F/VOPFuhojY426KjAfzjP8GGBD0dmFxnGZ13g0y4VPowvp6rwYfy3K/xHanzxMjKM74nEf1uV+DA+QYX/SIPPpMH3u4n4QeLD+H43Eftk+FREhj9UZJHfEZHfifhTRAwqIg7VV57IOG4YfS2IjOPbIyJ+1JV0ZDzy3AqPiq4M8fE6Mh5xpT5gI+O4L/VZFBmPrFdF4qIi84m8DzoJI+NTN79Mw93hvhtO/wNUnznp\"}"
  },
  {
    "path": "officialworlds/solo levels/tim's true power___.replay",
    "content": "0,0,e;0,0,undo;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,-1,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;0,0,undo;0,0,undo;0,0,undo;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,1,wasd;0,0,undo;1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;0,1,wasd;-1,1,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;1,-1,wasd;0,1,wasd;0,0,undo;0,0,undo;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;1,1,wasd;1,1,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,0,undo;0,0,undo;0,0,undo;1,0,wasd;0,-1,wasd;0,0,undo;-1,0,wasd;-1,0,wasd;1,-1,wasd;0,1,wasd;1,0,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,-1,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,0,undo;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,-1,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;1,-1,wasd;0,0,undo;1,-1,wasd;"
  },
  {
    "path": "officialworlds/solo levels/too strong!.bab",
    "content": "{\"width\":19,\"next_level_after_win\":\"\",\"extra\":false,\"compression\":\"zlib\",\"author\":\"szoob\",\"height\":13,\"version\":5,\"map\":\"eJyN2N1u2kAQhuFbQTmoWokD1l577URcCyJAU1RkV/yoqRD3Xnu/cQ1p633PevBsKs83mdnNtp0d2s36MFstr9fz/rBbPv1cH57m78vFfL9duvmv7h+nH7vNfn1YXm/z7f64dLf5P2jWUcdo3tGMUd/RnNGio57RsqMFo6GjJaNVRwOjdUcrRt2iszW0fV4OBuZiYjAy12fm0qG5iP1025zfz6vX9evoC9Q7siUqh2xg5RCuWDmEa1aOLP5mLEA5diN3qBqyGaqGbM6qIexZNYQLVo084jJdjcuow3QxrI1kK/S7KlujwkWbL1jhhB0rnHDGCucjztEwlvXo82QL9nnCJfs84cA+r4i4Qp8ny9KL1sP0hGF6wjC9MmKWnqxHE0C2QBtSls1OWTg7heHsFIazM8SlDmbn6fvl7kBieo7DVjybvov0vGkvzbYdj+TTFe+PfBq1n76W9Lq9bL6NBwp0OZFlgcrCQIVhoMIw0CpevfAyFGfLUDaR5YNNhPhg/XQiQ/8JF2gJyZboxigb0JVRtkJtIVuztog4LFhbCDvWFnXEWbotnj+PPEdtIetRW8iyaSpbogeHbJhOuv+8r4f2bTxQTccd5966OY0HEivxflDGA1VqL46/ifKp1Xg/yXQC7ken1xNbkIbZhjRcoAYwXKIOMBxQCxiu2BgxXaM5Ilwv0CAx7NAkMcweGIbhC8M0fGKYhm8MF99ndeKR8YjhNdXFx07N7qmG4Wp0uZ76ieX4QcMB67x4YsQO82fgOWtA0x5Gb7yA2Rsv4ZcW4iG9TP58rR2p2EAxnVqa/f/weMTB1Tlwmm0pDtanZvlwgC3QQafS/fvn04CN04CDOAj4+cv9ARivaRJv0761d2cymq9xmm8lnsj3g4bhmmb3o0GzG9Kg2R1p0AE9fQbN/twz6JqtSOn4Jx+wI007tiRNZ3BUGs9hYxn3/2ms28txd74cm9nqZddsfwNFatp7\",\"music\":\"bab be go\",\"is_overworld\":false,\"level_number\":0,\"level_sprite\":\"\",\"name\":\"too strong!\",\"palette\":\"baba\"}"
  },
  {
    "path": "officialworlds/solo levels/too strong!.replay",
    "content": "1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;1,1,wasd;1,1,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,-1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;1,1,wasd;1,1,wasd;0,1,wasd;1,1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,1,wasd;1,1,wasd;1,0,wasd;0,0,undo;0,0,undo;1,0,wasd;1,0,wasd;1,0,wasd;"
  },
  {
    "path": "officialworlds/solo levels/twin stick controls.bab",
    "content": "{\"width\":21,\"next_level_after_win\":\"\",\"extra\":false,\"compression\":\"zlib\",\"author\":\"Patashu\",\"height\":15,\"version\":5,\"map\":\"eJyV2t1uGkkYhOFbsXK2EgfT8z8bcS0WtlEWmTURIUpWlu99h67qMGDvfm9OLB88jWC+otzdydPhbn943Ozv7tevr6fdfrv+9GNzOn5a/VxXq93TOq3+mX/59nX7uNvs169vq6fdcZ3eVh/ZerYJ2ma2NbTtbBtou9m20Paz7aAdZttDO852gHaa7QhtqmY8UXyeXKKjS3l2dHjpPL1Ex5fO80t0gOk8wQRGmLLuWT6FBxZQ4ZElVHhiEc24rlhGhRMLqXDNUircsJgKtyynwh3LqXAPcyo9wJxKjzCn0hPMadZNBXNaZw17VBgWqXDQpKefp/vrBUGdnhc8bC88aNQzfzl8+7H7+7IEFqswbFZhWK3CsFszbmG3CtNulabdKk27VZp2qzTt1iZr2K3CsFuFYbcKw27NuIPdKgy7VRh2qzDsVmHYrcKwW4Vpt0rTbpWm3SpNuzXrPu7W/Rm3GcNqFYbVKgyq9Xm7fb4swNUqDqp1/qSL14fFKgyLVRgWqzAs1owHWKzCtFilabFK02KVpsUqHRdrDmyXcR9lcGEH1pTCI2tK4Yk1ZcZjxYInnFjwhGsWPOGGBU+4ZcET7mDwpHsYPOkBBk96hMGTnljw+nzWrKJ8LGxi8RCuWTyEGxYP4fb/4zH/vNiOpUO4Z+kQHmA6pEeYDukJpqPXFUAVxGP5RFKVWDwG6XCMSxyM0e/DOBhj+YzWwSCvXxoO0ppO0pyO0jya5dU7T3CU1tEoy05kFGezNIbbVWu4X7UONqz+kMZ0w2oe7VivXzzasV7raMd6petox/qweTjrSTqBjeXuuFxRR3W8X2A4Tms4Tmt4/rCO5umHaA3HaR2O8/1ThDOVbuD30zr6fi5PC8nXqHV8Xng8fH3enJaLGhSFomHzFg7/hhYelK+fUNFR+d7wqHwvx6myAvaveb7z+Q2eWB4Kr6PCdjaTrpBbcNp0i5QVLUuCdQeTYN7DJJgP8M7XfIRRMJ9YM5h34WDnZ/nnH8sVdLbm9e/xBv7tTrV8+9Heqns3WGs6WHM6WPNgsOWTWkdzvX11Oljxnn5jzelUzaNvbHnujXiDtlhFfzjT92/Fms7UPJjpzYvT76o5nql9NNMbP9ChmtOhmtOhtuINOiMXHTawP6l5x87JhffspFz4gM7KRY+wBswnmBnxfGGEMmOfaGbsa3hqLr6BoTFvYWg68Q7d6BXdszu9wgd2q1f4CCNpPsFIiucrJBJJ8wRrzLyGmTRvYCbNW5pJ+45m0r6nmbQf4E1f8SMMpe5+8sUS+bSZ17pY4hwcYa/eT12Bw453814QHHT0L89fDsslLUyzeQfTbN7DNJsPMM3mI0yz+UTTLK/bJj5g3TeRNNtHW+JbH+2Jf/lBvoVxNg8r+ZrTTjannWxOO9mcdrJ4TTvZnHayOe1kc9rJ5riT7XEn2+NOtsedbB93sv0oT0tZvKGlbA5KuVwheAUvZS8ApexK9gJayea0ks1pJZvTSjanlWyOK1m+xZVsjyvZHleyPa7kSZ5WsjmtZPOgkhfR9IKglN8voLVsTmtZvKO1bE5r2ZzWsjmtZXNcy/a4lu1xLdvjWrantVzrP653sJbNe1jLhYNa/r70QSnfvjyo5MPx9NdhuQa2cuGwlQuHrVw4bOXCYSsXTlvZfqCtXDxt5eJpKxf/X6389vm4PX0/vtzdf96+PP0LOJBS4w==\",\"music\":\"limon be swiit\",\"is_overworld\":false,\"level_number\":0,\"level_sprite\":\"\",\"name\":\"twin stick controls\",\"palette\":\"ocean\"}"
  },
  {
    "path": "officialworlds/solo levels/twin stick controls.replay",
    "content": "1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,0,space;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;-1,0,udlr;0,0,undo;0,1,udlr;-1,0,udlr;0,0,undo;0,0,undo;-1,0,udlr;0,1,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;0,0,space;0,0,space;0,0,space;-1,0,udlr;-1,0,udlr;1,0,udlr;0,-1,udlr;0,1,udlr;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,-1,udlr;-1,0,udlr;0,1,udlr;0,-1,udlr;0,1,udlr;0,0,space;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;0,0,space;0,0,space;0,0,space;0,1,udlr;0,0,space;0,0,space;0,0,undo;0,1,udlr;0,0,undo;0,0,undo;0,1,udlr;1,0,udlr;0,1,udlr;0,0,space;0,1,udlr;-1,0,udlr;0,0,space;0,0,undo;0,-1,udlr;0,0,space;0,0,undo;0,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,0,space;0,0,undo;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,undo;0,1,udlr;0,0,space;0,0,space;0,0,undo;0,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,0,space;0,0,space;0,0,undo;0,-1,udlr;0,0,space;0,-1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,0,undo;0,1,udlr;-1,0,udlr;0,0,undo;0,0,undo;0,0,undo;0,-1,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;0,1,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,0,undo;0,0,undo;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;1,0,udlr;0,0,space;0,0,space;0,0,space;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;0,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,0,space;1,0,udlr;1,0,udlr;1,0,udlr;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;-1,0,udlr;0,0,space;0,0,space;0,0,space;0,0,space;1,0,udlr;0,1,udlr;0,1,udlr;0,0,undo;0,0,undo;0,0,space;1,0,udlr;-1,0,udlr;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,1,udlr;0,0,space;0,0,space;0,0,undo;0,0,undo;0,1,udlr;0,0,space;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,undo;0,-1,udlr;0,0,space;0,0,space;0,0,space;0,0,undo;0,-1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;0,0,space;0,0,space;0,0,space;0,1,udlr;0,0,undo;0,0,space;0,0,space;0,0,space;0,1,udlr;0,0,space;0,0,undo;0,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,-1,udlr;0,-1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;"
  },
  {
    "path": "officialworlds/solo levels/u spin8 me arond.bab",
    "content": "{\"width\":15,\"version\":5,\"extra\":false,\"author\":\"vitellary\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":11,\"next_level\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"is_overworld\":false,\"palette\":\"default\",\"music\":\"bab be go\",\"name\":\"u spin8 me arond\",\"map\":\"eJyN2N9umzAUBvBXqXqxaVJUYczfVXmWiDRsi8RCRqnaquq7j/iz6xAO9terXvwOCv7sY5tDf9f1T013t9t+fIzHrt3evzbd/eZtm2yOh63avE//PJ/bp2PTbT8+N4fjsFWfG4GmE1Uc1RNNOZpNVHM0n2jG0WKiOUfLiRYcrSZacrSeaMVRlUy2Ju0lLxUPTBmchsMd38bdi9eayhc2Cwd8eXIzDL0vyKmYYYtwzvMHl+Gk57iSsi5XcC2lXYo/OU3CcV/G43mcHu8rFBU6bMqFnhqsw6F37Ti2w27wBRmVO2wez33fel5QqcOWXOrAFbW+YWsudIN1IoWeiw/WKh76n6YdfUFKZQ6rucy1wVl8of8bPc+pxGGLeOK/e89LKnHYikscuJYS1zLOEinyNayoyGHTeOTTf95rKnHYjEs8Mzin9m3YgoobtqR2btiKyhq2pvZuY3MxvUXjhRXDW7FieCuWCw6WDC43OBKcm5rA4uKrZtOt6/uzLxCX3+IVYavwcMz2LFTU1KAYWyTcoBQGR06hblCAU2lQ5r8bexC4Dg/Jvtl7m4Vn6ddwQOfhk+NsAFFRUGdN2DIez/VrVlQ2sDWXTWmOxwmXDbCSsilmP/pX9976gpSasLA6PiJP/d/23D37mowaFticG5bK4IJqwLBcU4Xlmiqs2FQXg2dsxTVVWK6pwnJNFZZrqrBkU60N5nZD2MiBZma5dgornmb8mWPfdt3otXicUSu6joR3o7n4YCPxmS6DDgnPRQgrR6hnDz/1OD0q3JojJ1Pf9KyPnU5xFrM4csP4GkXLuTuGxeIlY/XZKuHuGU6LNw1pL3AF3E3DafKuoXAvTojbxs8f1wXcfcNpboE6zS1Rp8VFKiwk5yO3jluvIhePhefuHk4Ti/Xl2nOL1Wmy46oUnOu5Tot3kGVMVosb5qoWt8xVzW2aVpsPO4sJsKoVtck6nUrh6zVNnH6+XXvu5ON07OxzefxrcxwfHh5O3zGFNSojByH0JjftbU1Jt3lbUDFfIaa/65qa++QIbT78BDYHvP+sQoX3h8VLmM8/kfvC13ZoS3T4i7MP3fqM+D7RdLPXyLl5YnVBNokMvOSahNUVt09YXXP7BLT5JETMBqsV9bnC6ZQ7KVitqUug01l4BtzoPJz/jS646K0uV6L/fBza8WU43e0e29PhP09rtgg=\"}"
  },
  {
    "path": "officialworlds/solo levels/u spin8 me arond.replay",
    "content": "-1,0,wasd;0,-1,wasd;1,-1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;1,1,wasd;-1,1,wasd;-1,-1,wasd;0,-1,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;0,-1,wasd;-1,-1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;1,1,wasd;-1,0,wasd;0,1,wasd;-1,-1,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,0,undo;-1,0,wasd;1,0,wasd;1,1,wasd;1,0,wasd;1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,0,wasd;0,1,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;0,0,space;1,-1,wasd;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;0,-1,wasd;0,0,space;0,-1,wasd;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;-1,-1,wasd;0,0,space;-1,0,wasd;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;-1,0,wasd;0,0,space;-1,1,wasd;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;-1,-1,wasd;0,0,space;1,0,wasd;0,0,space;0,0,space;0,0,space;0,0,space;0,0,space;1,0,wasd;0,0,space;1,0,wasd;0,0,space;0,1,wasd;"
  },
  {
    "path": "officialworlds/solo levels/undo dungeon.bab",
    "content": "{\"width\":15,\"version\":5,\"extra\":false,\"author\":\"Slabdrill\",\"compression\":\"zlib\",\"height\":3,\"next_level_after_win\":\"\",\"map\":\"eJyNlMmOgzAQRH8lymlG4gAmbBP5W5AJBKHxYMSiBCH+fXA3WxIL+5bDa1NdXZVUnLi4MX6K6TC0Bc/ouX22cfPb8bP1pLZVpNSx+ulHU2W3gnE6jFZa1NQbrR2fZJJ2JE1UtPNCd2UqVt6deHLM/3xJmkj6otdSiuV9mHANBKF8wL2Jdo7pBwNvXIn7x3oSlqxooH85F+zB+oo361CodwfFXyQd6VctRQ7eeHBZW29nxVl7F7Wc8WFGGYftI7M7yJLjnZeYIWyQBNw1AFwZhQ8dyCqv6r15/9dP5suZEGaUp93e3/mCvPK+bzXBOETAh6a5RDzSx2dLPowQ29RQB3pONJeF6gKORdcUa2fQPKA88KtDdy5ymIAyErMbz7CmukvYZto3NgeKSAIzKQiHx1LWLZGODP4Cv4GHlrvK1n5KQdhRSxmvddZ2dXmKr1mZ/gOm0gY+\",\"puffs_to_clear\":0,\"music\":\"bab be go\",\"is_overworld\":false,\"level_number\":0,\"level_sprite\":\"\",\"name\":\"undo dungeon\",\"palette\":\"default\"}"
  },
  {
    "path": "officialworlds/solo levels/undo dungeon.replay",
    "content": "-1,0,udlr;0,1,udlr;-1,0,udlr;1,-1,udlr;1,0,udlr;1,1,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,0,udlr;1,-1,udlr;1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;"
  },
  {
    "path": "officialworlds/solo levels/wall slide.bab",
    "content": "{\"width\":21,\"version\":5,\"extra\":true,\"map\":\"eJyVmtFO4zoQhl8F7dU5EhexkzjxWfVZUGkLp9qKrAocdoV499PMTNoY2MzHDeLiczqe3zO2/2Q7XB2GzfpwdbN6fX3aH3arb4f1+r9v179Wobreb1fh+vf43+PP3Wa/Pqxe3663++MqvF2/o/sRjhBOI1w78Mv6MLISRXNiI0Pb8bEMTSfUDyCOaIcCqEe0R2gzohmhQXSoENsKGxArKoSI2E7YGrGyFAKTLAvbsjzogkwM1qwx3YJoHJhyQVQOUDvROTLxgqgXmXpB5ItMviD6RaZflDxHJqDBrOoMZnVnExwVTHSCPYO1WWUGyxKtKwTrBOuwDJdtUJpmQ2npmjWlRw3DgoglLSIuqFj0+jrBSJTu4CyV7mHcSmcYtzaQpvoaHmAshkeYFsNrmBfpI00DN1ilqZ5Kpy9F0sFpKu3pefp7gZ26nLPtqGXrstKx24BY2QraiFjZY9oasXo4ab7AjvIt6FGwo3gLahTxdojVPPSI1fxmxIpuqUKs7IcpIFZaWIqIlc0i1YiVFpMaxMpWkVqmhR5BoXCS4cSU0zNHYtLpmSMx7XRL7ph4uiV3TD3dZTsmn+6yHdPP4AYVk8Etq36NOTFYs9ExWPPcM1gU7DKDZW30rG0aHFDqNIw+Mlgm2NcMltT1TEEVpWe9U8/9PVRQumcPFZSF1DMFNWQmoLSjzPSTvGW27YkgmW17onRm255kOEPthGXSabwJsZqHDrGa3x6xolvObG56ea2qL9HORWKei1BFBGtRh6pmtBoKVbNMb4bDYXsp7FB5R8/ijheqUccO06OSPaZHLTOms3MKnvKiJkeAchrNSnGinc1w7mQFsWbALBVuEKymiJgzPqymiJgzC/DdYbifxdE514LSywlQSfPA8jK9HY4z60ccmg9094HWaYpFA2gtNfFoFuiy5sWkWaiFd3SzXAvF3hXEpgG05SQx2nLiVGXZfsSpAbRqKVYNpsWrARnUSMSsAbTOUtwaQGsGa6ilqiNuDadb1sAtksRom6Vjus33v1A7plsJZzRHs5CZkAYHtEbUyG6YjAazrVI3kIaJaDCrR13WjbNJljBTUEtA7Bn/yQazWtSFJP6MD+sabZmCuvzFofFh7ZJi0WAYlqHCLYJtgkxBS133FZjVoIXBDDadYHKM7yJ1iZ1XNebEroq66hK7KuriT95149fTzXHYXOowwQu/pcS7dZwef7u79I/kXRlP/P2wfln//nl4vDS05F0ex1ns7g67zWY2yNP2NOh8WNfJd+wMq8/vmMK260A/Z3pXxwyd6dnwTqmLrYOGgNGOI1C8dAqd54WXVwyxdcCL7wnPztNHSacDpwbUe4qeF6hdNVyLp1xq6rEEz+sp5yFmD3h1oSXcO1eUibYJO3eUiba4nUtK0Ut6dqy1ONip1sJwNtLHH8+zwsufXlA+0prs/OkF5SOtzTV/ekH5QwfIzk2zvJ9kR8fiOJQdGYsdITsqTlOcAumWcdsPrLlk74XVhNu3ABni9jVA5eDv7JRYee8gb9e3l8KM1eff4bRn/Hl/sz4eh5f5mPpTx6aZjzkV9I/5EGYjTJNuPWfl1GT++Wv+fOc7ARnw93yANGI/IH39X8HPPezZzvce73tqFGtoIZiPA4I/3bN/op87iEXk/Ma5DmyI04bLjy/EKQIZtQ9XWvZso5Mf/N1xv73fzlaRWEZOkh6G+2E+pMdC1Dog+wOKD4di5FrrT0Sg9aUJ2I9Ell39xkZsJKCc0Q17dlAa6mw00Pnf4elpd94aYwQqa6swHkuspRaBwnNeHCUnnuJEEmsg8LsRTi3PP/CLNatig1kRa8XX7Esug0GHfj5v2bEGsm6G4TAbgYXVuhJ7yfmFOd+QwtW9VYuwAbqWA5isWioNLFqF/1Czb9+Pu6fn48PVzffdw/Z/Ouxdfg==\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"next_level\":\"\",\"music\":\"map\",\"is_overworld\":false,\"palette\":\"default\",\"name\":\"wall slide\",\"height\":15,\"author\":\"mse\"}"
  },
  {
    "path": "officialworlds/solo levels/wall slide.replay",
    "content": "-1,1,wasd;-1,0,wasd;-1,1,wasd;-1,0,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;1,1,wasd;0,1,wasd;1,0,wasd;-1,0,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;1,-1,wasd;0,-1,wasd;1,0,wasd;0,1,wasd;1,0,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;0,-1,wasd;0,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,0,wasd;1,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;1,-1,wasd;1,0,wasd;1,-1,wasd;-1,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,1,wasd;-1,0,wasd;1,0,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,0,wasd;1,0,wasd;1,1,wasd;1,1,wasd;1,1,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;-1,0,wasd;0,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;-1,1,wasd;1,0,wasd;0,-1,wasd;1,1,wasd;1,0,wasd;1,1,wasd;1,1,wasd;1,1,wasd;-1,-1,wasd;-1,-1,wasd;1,1,wasd;-1,0,wasd;-1,1,wasd;0,-1,wasd;1,-1,wasd;0,-1,wasd;-1,0,wasd;0,-1,wasd;-1,1,wasd;1,0,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,0,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,0,wasd;1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;1,0,wasd;1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;0,-1,wasd;-1,0,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;-1,0,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;-1,1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,-1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,1,wasd;1,1,wasd;1,1,wasd;-1,0,wasd;-1,1,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,-1,wasd;-1,1,wasd;-1,1,wasd;"
  },
  {
    "path": "officialworlds/solo levels/with our powers combined___.bab",
    "content": "{\"width\":27,\"version\":5,\"extra\":false,\"author\":\"Butcherberries\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":16,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"cyberpunk\",\"parent_level\":\"\",\"name\":\"with our powers combined...\",\"map\":\"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\"}"
  },
  {
    "path": "officialworlds/solo levels/with our powers combined___.replay",
    "content": "1,1,wasd;1,-1,wasd;1,-1,wasd;1,1,wasd;-1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,-1,wasd;1,1,wasd;1,-1,wasd;1,1,wasd;1,0,wasd;1,1,wasd;0,0,undo;0,0,undo;1,1,wasd;1,-1,wasd;1,-1,wasd;1,1,wasd;1,-1,wasd;-1,0,wasd;1,1,wasd;-1,1,wasd;1,1,wasd;1,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;-1,-1,wasd;-1,-1,wasd;-1,1,wasd;-1,-1,wasd;-1,1,wasd;-1,-1,wasd;-1,1,wasd;-1,-1,wasd;-1,1,wasd;-1,-1,wasd;-1,1,wasd;-1,-1,wasd;-1,-1,wasd;1,-1,wasd;-1,-1,wasd;1,-1,wasd;-1,-1,wasd;0,0,undo;-1,-1,wasd;1,-1,wasd;0,1,wasd;-1,1,wasd;0,0,undo;1,1,wasd;-1,-1,wasd;0,1,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;-1,0,wasd;-1,1,wasd;-1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;1,0,wasd;0,0,undo;0,-1,wasd;0,0,undo;1,-1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;1,1,wasd;0,1,wasd;0,1,wasd;-1,0,wasd;0,-1,wasd;0,0,undo;1,-1,wasd;1,0,wasd;1,-1,wasd;0,-1,wasd;0,1,wasd;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,1,wasd;-1,1,wasd;1,-1,wasd;-1,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,1,wasd;-1,0,wasd;-1,0,wasd;1,-1,wasd;1,-1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;1,-1,wasd;1,1,wasd;1,1,wasd;1,1,wasd;-1,1,wasd;1,1,wasd;1,0,wasd;1,1,wasd;-1,1,wasd;-1,0,wasd;-1,1,wasd;0,0,undo;-1,1,wasd;1,1,wasd;-1,1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,1,wasd;-1,0,wasd;-1,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;1,-1,wasd;1,-1,wasd;1,-1,wasd;-1,-1,wasd;1,-1,wasd;1,1,wasd;-1,1,wasd;1,1,wasd;1,-1,wasd;-1,-1,wasd;1,-1,wasd;1,1,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,-1,wasd;0,-1,wasd;-1,0,wasd;-1,0,wasd;0,0,undo;0,0,undo;0,-1,wasd;-1,0,wasd;-1,-1,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;-1,0,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;-1,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;0,-1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;1,-1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,1,wasd;1,0,wasd;1,0,wasd;1,0,wasd;0,1,wasd;0,1,wasd;0,1,wasd;0,0,space;0,-1,wasd;0,-1,wasd;1,0,wasd;0,-1,wasd;0,-1,wasd;0,0,space;0,-1,wasd;0,-1,wasd;0,-1,wasd;"
  },
  {
    "path": "officialworlds/solo levels/won't dungeon.bab",
    "content": "{\"width\":11,\"version\":5,\"extra\":false,\"author\":\"Slabdrill\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":12,\"puffs_to_clear\":0,\"next_level\":\"\",\"music\":\"bab be go\",\"is_overworld\":false,\"palette\":\"default\",\"parent_level\":\"\",\"name\":\"won't dungeon\",\"map\":\"eJyN1s2OgjAQB/BXMZ52Ew6Uli8Nz2JQyIYsEYMYNcZ339qpW5DS/m8efsXpTDvTqlu13aFsV7vi8Riati7W17JdB7ciDJqqYMFd/jif6kNTtsXjGVRNX7BnYKGRpAyjXNIIo0JSjtFYUoHRRNIYo6mkCUYzSVOM5pJmGGWhtDloX/ViYMGYqpi/ZExh7j4J59/LCAuoFGRja8jcjhMs5EjhFAuZcOYOebgNu325Nz53n4uXn/xBFLpLrhac2mYYerPGXs5ZbgiD5eQKe8qpt0pWuK/re5uEPbdQ5bE2PPGn8dodB7MgdV+yz+9n/qyPeY4lXGEeYgkXCns66TuJhCN/Ei9Gc38ON1+GC/AgmhXgFSUMXtFYYfCKEvZc0cmHwUIqLMBCJgpjI5GsdSbOgiBrHYrGjnoDeetkXPg2NhrJYrORrHU4LsSQYUlOFc7dSf5olmpNHLqTrVrJ6D9iZtvoLHiyEbRRshzbaKaw8G+U+hPx2H1IPrm1lrOwyWK1JAvWMlcYqOVPV17L+6k9/69KgGpuvg23FnP6J8fupzMLIuiYk7U22FlqyArwUUXv0BhqJhonUDfROHWflCnOoF6icW5rJgs4DaE0a8ygt7bGEfTa1phD722NBfTg1tg+G5f00nB8bvt6uPTH1W5bH6s/GBN+9g==\"}"
  },
  {
    "path": "officialworlds/solo levels/won't dungeon.replay",
    "content": "1,1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;-1,0,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;1,-1,udlr;-1,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,0,undo;-1,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,1,udlr;-1,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,-1,udlr;-1,0,udlr;-1,0,udlr;-1,-1,udlr;0,1,udlr;1,0,udlr;-1,1,udlr;-1,0,udlr;1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,-1,udlr;-1,0,udlr;1,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,1,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;-1,-1,udlr;0,-1,udlr;-1,0,udlr;-1,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,1,udlr;0,-1,udlr;1,-1,udlr;0,-1,udlr;0,1,udlr;-1,-1,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,0,udlr;1,1,udlr;0,1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;-1,1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;1,1,udlr;1,0,udlr;1,0,udlr;-1,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,0,undo;1,1,udlr;0,1,udlr;1,0,udlr;0,1,udlr;1,1,udlr;0,0,undo;0,1,udlr;1,1,udlr;0,-1,udlr;0,-1,udlr;-1,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,-1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;-1,-1,udlr;-1,-1,udlr;0,0,undo;0,0,undo;0,-1,udlr;-1,-1,udlr;-1,-1,udlr;-1,0,udlr;-1,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,0,undo;-1,0,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;0,-1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;0,1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;0,1,udlr;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,0,undo;0,1,udlr;1,0,udlr;0,1,udlr;0,1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,-1,udlr;0,1,udlr;1,0,udlr;1,0,udlr;-1,0,udlr;1,0,udlr;1,0,udlr;0,-1,udlr;0,-1,udlr;-1,0,udlr;-1,0,udlr;-1,0,udlr;0,1,udlr;0,1,udlr;1,0,udlr;0,-1,udlr;"
  },
  {
    "path": "overworld notes.txt",
    "content": "undoing win behaviour:\n1) When you win/TF a level, you can exit the level by waiting one turn. (This does the same as esc/return to map.) This carries the result to the overworld.\n2) But instead of doing that, you can undo. (No other inputs besides waiting and undo do anything on this screen.) The level is STILL won - it can't be unwon. The level is STILL transformed, also. BUT, if you do a DIFFERENT transform, the OLD transform is overwritten.\n\nTODO list for save file/overworld stuff:\n0) any other level settings I forgot:\n* background for the level! (so we can have custom backgrounds like baba's island)\n\n1) Implement level-in-level settings:\n* what level it is (string)\n* icon colour (TODO: not sure what the picker or data format for this is but this is obviously useful... maybe two integer pickers that are the palette co-ordinates? lol. and it defaults to 0,3 then.)\n* initial state (hidden, normal, opened)\nwe can read the rest from its level_extra, level_level_sprite and level_level_number and use that to decide what style, number and sprite it displays.\nbasically the way it works is, you can click a button then click a tile, and it opens up a menu like settings but for that specific level, and saves/loads from that level's settings.\nit'll just arbitrarily pick whatever non-no1 is first in the tile, but later you might need to be able to pick a tile that's under stuff, so that's a TODO.\n\n2) implement path settings:\n* is hidden (boolean)\n* is it a gate, and if so what kind (no/puffs/flowers/orbs string, integer requirement)\nthis saves some persistent-until-you-leave-the-editor state: whatever item is currently on the picker is edited to have this behaviour every time you place it down. goes in specials, again.\n\n3) implement save file:\n* one save file per world.\n* needs to be a simple file format (because save doctoring will happen nonstop). key,value store.\n* data that needs to be stored: current overworld, previous level/submap entered on that overworld (NOTE: don't get confused by levels within levels or overworlds within overworlds!), which levels are cleared, which levels are completed, which levels are bonused, which levels are transformed (and into what are they transformed). other information should be possible to compute when necessary (like total puff count, puffs in a specific overworld, etc).\n* all of these lines are saved when the appropriate event happens, and loaded when they need to be checked for.\n\n4) implement logic for laying out an overworld:\n* find all levels and all paths.\n* flood fill out from and through all levels that are opened/won and all paths that are revealed, opening/revealing adjacent paths. don't flood fill past unwon hidden/normal levels. if floodfill reaches a path designated as a gate, open it and floodfill past if applicable.\n* I guess levels/paths not touched by the flood fill are either deleted or automatically fail canMove checks, depending on whether you can see them or not? hmm. either way, you're not allowed to enter them somehow.\n* level transforms happen, and the post-TF level have the specials carry over.\n\n5) implement main cursor logic:\n* an arbitrary cursor is declared the main cursor.\n* when you exit/enter the game or exit a level (winning or giving up), the 'previous level/submap entered on that overworld' save file lines are used to place the main cursor on the level/submap you just left.\n* if not applicable or information not available, the main cursor isn't moved.\n\n6) implement escape menu and return to parent/level after win:\n* pressing esc brings up a pause menu. it shows the rules (like tab but cleaned up to look good), and has buttons that can be highlighted with the mouse or with the cursor keys: resume, restart level, return to map (grayed out if not applicable), settings (grayed out until we write some), exit to menu. selecting the appropriate button does the appropriate thing.\n* returning to map/beating a level and idling to confirm the win takes you to the appropriate next map.\n\n7) start in overworld:\n* you can define in a text file in a world the main overworld that new games start in.\n* if you play such a world, then you go to the main overworld if you have no save file, or it loads your save file and places you in the appropriate place otherwise. you don't get to see the level picker.\n* edit mode gets to see the level picker as normal. worlds with no main overworld always see the level picker.\n\nrandom note: if you're playtesting a level in the editor, it should be hard to accidentally leave it by winning because then changes could be lost\n\nother things that need to go in the save file: which maps have been entered (so you can't use 'return to map' to go to super-meta before you've won meta and reached it legitimately), last known good parent map (so that if you're doing lvl be nxt shenanigans the game can keep track of where you can DEFINITELY go back to)\n\noh BUT\n\n2:15 PM] vitellary: i was thinking that's probably a bad idea though\n[2:15 PM] vitellary: since 02 technically isn't unlocked so you wouldn't be able to re-enter it\n\nso it needs to save the last level you normally entered and what map you entered that level from\n\nlevel hidden in a rock rules:\nnot entered: you have to turn it into a level first\nentered: you can always enter it\nthis prevents transformation softlocks.\n(alternatively, won or transformed. but I like entered)\n\nit might also be a good idea to explicitly specify what level 'level be nxt' will go to.\n\nanother thing we need: non-visible levels/paths 100% need to fuck off out of the level, so that they don't sink e.g.\n\nalso:\n2:43 PM] Patashu: would you like 'level be nxt' to work by explicitly specifying what level is the destination of that rule for each level you can form it in\n[2:44 PM] Patashu: (as opposed to doing some magic by going to the parent map and scanning for the level with the numeral one higher or whatever)\n[2:44 PM] vitellary: hm\nthat would probably be the best option, yeah\n\nalso: we might want an inherent 'selctr be shy'. but we might not do it.\n\nrandom: do I still want to add MARK/UNMARK/MARKED? better idea: have colours do it\n\n10:56 AM] willing to help out: i think maybe colors could be repurposed into markings? would at least make them useful (and having more than one mark could be used somehow)\n\nnext set of TODOs:\n1) coding the save file\n2) saving/loading seen, won, cleared, complete, bonus, TFs per level, and level filename player was in, last known safe parent level filename\n3) coding path settings/level object settings\n4) path/level floodfill/main cursor/transform TF'd levels/begone hidden stuff algorithms\n5) gates\n6) hidden levels\n7) making it so you can't 'return to parent' to a parent you haven't visited yet\n8) code NXT"
  },
  {
    "path": "paletteshader_autumn.txt",
    "content": "// helper function, please ignore\nnumber _hue(number s, number t, number h)\n{\n\th = mod(h, 1.);\n\tnumber six_h = 6.0 * h;\n\tif (six_h < 1.) return (t-s) * six_h + s;\n\tif (six_h < 3.) return t;\n\tif (six_h < 4.) return (t-s) * (4.-six_h) + s;\n\treturn s;\n}\n\n// input: vec4(h,s,l,a), with h,s,l,a = 0..1\n// output: vec4(r,g,b,a), with r,g,b,a = 0..1\nvec4 hsl_to_rgb(vec4 c)\n{\n\tif (c.y == 0)\n\t\treturn vec4(vec3(c.z), c.a);\n\n\tnumber t = (c.z < .5) ? c.y*c.z + c.z : -c.y*c.z + (c.y+c.z);\n\tnumber s = 2.0 * c.z - t;\n\treturn vec4(_hue(s,t,c.x + 1./3.), _hue(s,t,c.x), _hue(s,t,c.x - 1./3.), c.w);\n}\n\n// input: vec4(r,g,b,a), with r,g,b,a = 0..1\n// output: vec4(h,s,l,a), with h,s,l,a = 0..1\nvec4 rgb_to_hsl(vec4 c)\n{\n\tnumber low = min(c.r, min(c.g, c.b));\n\tnumber high = max(c.r, max(c.g, c.b));\n\tnumber delta = high - low;\n\tnumber sum = high+low;\n\n\tvec4 hsl = vec4(.0, .0, .5 * sum, c.a);\n\tif (delta == .0)\n\t\treturn hsl;\n\n\thsl.y = (hsl.z < .5) ? delta / sum : delta / (2.0 - sum);\n\n\tif (high == c.r)\n\t\thsl.x = (c.g - c.b) / delta;\n\telse if (high == c.g)\n\t\thsl.x = (c.b - c.r) / delta + 2.0;\n\telse\n\t\thsl.x = (c.r - c.g) / delta + 4.0;\n\n\thsl.x = mod(hsl.x / 6., 1.);\n\treturn hsl;\n}\n\nvec4 effect(vec4 color, Image texture, vec2 texture_coords, vec2 screen_coords) {\n  vec4 texturecolor = Texel(texture, texture_coords);\n  texturecolor = texturecolor * color;\n  vec4 texturehsb = rgb_to_hsl(texturecolor);\n  vec4 outc = texturehsb;\n  //make color closer to orangey\n  if(outc.x > 0.7) outc.x -= 1;\n  outc.x -= 0.05;\n  outc.x = outc.x * (outc.z); //make color more red if the color is dark\n  outc.x += 0.05;\n  if(outc.x < 0.0) outc.x += 1;\n  //end \n  if(outc.y == 0) outc.x = 0.1;\n  outc.y = outc.y + 0.3;\n  outc.z = outc.z * 0.9 + 0.1;\n  if(abs(0.13 - texturehsb.x) < 0.05) { //extra-bright yellows\n    outc.z -= 0.05;// * (abs(0.13 - texturehsb.x) / 0.05); //a bit darker...\n    outc.y += 0.1;// * (abs(0.13 - texturehsb.x) / 0.05); //...and a bit brighter\n  }\n  outc = hsl_to_rgb(outc);\n  return outc;\n}"
  },
  {
    "path": "paletteshader_dunno.txt",
    "content": "// helper function, please ignore\nnumber _hue(number s, number t, number h)\n{\n\th = mod(h, 1.);\n\tnumber six_h = 6.0 * h;\n\tif (six_h < 1.) return (t-s) * six_h + s;\n\tif (six_h < 3.) return t;\n\tif (six_h < 4.) return (t-s) * (4.-six_h) + s;\n\treturn s;\n}\n\n// input: vec4(h,s,l,a), with h,s,l,a = 0..1\n// output: vec4(r,g,b,a), with r,g,b,a = 0..1\nvec4 hsl_to_rgb(vec4 c)\n{\n\tif (c.y == 0)\n\t\treturn vec4(vec3(c.z), c.a);\n\n\tnumber t = (c.z < .5) ? c.y*c.z + c.z : -c.y*c.z + (c.y+c.z);\n\tnumber s = 2.0 * c.z - t;\n\treturn vec4(_hue(s,t,c.x + 1./3.), _hue(s,t,c.x), _hue(s,t,c.x - 1./3.), c.w);\n}\n\n// input: vec4(r,g,b,a), with r,g,b,a = 0..1\n// output: vec4(h,s,l,a), with h,s,l,a = 0..1\nvec4 rgb_to_hsl(vec4 c)\n{\n\tnumber low = min(c.r, min(c.g, c.b));\n\tnumber high = max(c.r, max(c.g, c.b));\n\tnumber delta = high - low;\n\tnumber sum = high+low;\n\n\tvec4 hsl = vec4(.0, .0, .5 * sum, c.a);\n\tif (delta == .0)\n\t\treturn hsl;\n\n\thsl.y = (hsl.z < .5) ? delta / sum : delta / (2.0 - sum);\n\n\tif (high == c.r)\n\t\thsl.x = (c.g - c.b) / delta;\n\telse if (high == c.g)\n\t\thsl.x = (c.b - c.r) / delta + 2.0;\n\telse\n\t\thsl.x = (c.r - c.g) / delta + 4.0;\n\n\thsl.x = mod(hsl.x / 6., 1.);\n\treturn hsl;\n}\n\nvec4 effect(vec4 color, Image texture, vec2 texture_coords, vec2 screen_coords) {\n  vec4 texturecolor = Texel(texture, texture_coords);\n  texturecolor = texturecolor * color;\n  vec4 texturehsb = rgb_to_hsl(texturecolor);\n  vec4 outc = texturehsb;\n  //make color closer to tint\n  if(outc.x > 0.8) outc.x -= 1;\n  outc.x -= 0.3;\n  if(outc.z < 0.1) outc.x = outc.x * (0.4);\n  else outc.x = outc.x * (0.9); //make color more tinted if the color is dark\n  outc.x += 0.3;\n  if(outc.x < 0.0) outc.x += 1;\n  //end \n  if(outc.y == 0) outc.x = 0.3;\n  outc.y = max(0.1, outc.y);\n  outc.z = outc.z * 0.9 + 0.1;\n  outc = hsl_to_rgb(outc);\n  return outc;\n}"
  },
  {
    "path": "rules.lua",
    "content": "old_rules_with = {}\nold_rules_with = {}\n\nfunction clearRules()\n  local temp = {}\n  if timeless and full_rules then\n    addUndo({\"timeless_rules\", rules_with, full_rules})\n    if rules_with[\"zawarudo\"] then\n      for _,text in ipairs(getAllText()) do\n        if hasProperty(text, \"zawarudo\") then\n          text.zawarudo = true\n        else\n          text.zawarudo = false\n        end\n      end\n    end\n    for _,rule in ipairs(full_rules) do\n      if not rule.hide_in_list then\n        local any_timeless = false\n        for _,unit in ipairs(rule.units) do\n          if unit.zawarudo then\n            any_timeless = true\n            break\n          end\n        end\n        if not any_timeless then\n          table.insert(temp, rule)\n        end\n      end\n    end\n  end\n  full_rules = temp\n  \n  old_rules_with = rules_with\n  rules_with = {}\n  rules_with_unit = {}\n  not_rules = {}\n  protect_rules = {}\n\n  max_not_rules = 0\n  portal_id = \"\"\n\n  --text and level basically already exist, so no need to be picky.\n  addBaseRule(\"txt\",\"be\",\"wurd\")\n  addBaseRule(\"txt\",\"be\",\"goawaypls\")\n  addBaseRule(\"lvl\",\"be\",\"nogo\")\n  --TODO: This will need to be automatic on levels with letters/combined words, since a selectr/bordr might be made in a surprising way, and it will need to have its implicit rules apply immediately.\n  if (units_by_name[\"selctr\"] or units_by_name[\"txt_selctr\"] or units_by_name[\"lin\"] or units_by_name[\"txt_lin\"] or units_by_name[\"txt_pathz\"]) then\n    addBaseRule(\"selctr\",\"be\",\"curse\")\n    addBaseRule(\"selctr\",\"be\",\"shy...\")\n    --[[addBaseRule(\"selctr\",\"be\",\"u\")\n    addBaseRule(\"selctr\",\"liek\",\"pathz\")\n    addBaseRule(\"lvl\",\"be\",\"pathz\",{name = \"unlocked\"})\n\t\taddBaseRule(\"lin\",\"be\",\"pathz\",{name = \"unlocked\"})\n    addBaseRule(\"selctr\",\"be\",\"flye\")\n    addBaseRule(\"selctr\",\"be\",\"shy...\")]]\n  end\n  if (units_by_name[\"bordr\"] or units_by_name[\"txt_bordr\"]) then\n    addBaseRule(\"bordr\",\"be\",\"nogo\")\n    addBaseRule(\"bordr\",\"be\",\"tall\")\n    addBaseRule(\"bordr\",\"be\",\"anti tall\")\n    addBaseRule(\"bordr\",\"be\",\"tranparnt\")\n  end\n  addBaseRule(\"bordr\",\"be\",\"nodrag\") --it's important for this to be outside the check bc you can get mous outside level without bordr existing\n  if units_by_name[\"this\"] then\n    --have to do this now for the same reason we have to do it for \"txt\" - poor timing\n    rules_effecting_names[\"this\"] = true\n    addBaseRule(\"this\",\"be\",\"goawaypls\")\n    addBaseRule(\"this\",\"be\",\"wurd\")\n  end\n\n  if not doing_past_turns then\n    past_rules = {}\n  else\n    for id,past_rule in pairs(past_rules) do\n      if past_rule.turn > current_move then\n        addRule(past_rule.rule)\n      end\n    end\n  end\n\n  rules_effecting_names[\"txt\"] = true\n\n  has_new_rule = false\nend\n\nfunction getAllText()\n  local hasCopied = false\n  local result = {}\n  --[[local result = units_by_name[\"txt\"]\n  if (result == nil) then result = {} end\n  --remove ben't wurd text from result\n  if rules_with[\"wurd\"] ~= nil then\n    result = copyTable(result)\n    hasCopied = true\n    for i = #result,1,-1 do\n      if hasRule(result[i],\"ben't\",\"wurd\") then\n        table.remove(result, i)\n      end\n    end\n  end]]\n  \n  local givers = {}\n  \n  if rules_with ~= nil and rules_with[\"giv\"] ~= nil then\n    for unit,_ in pairs(getUnitsWithRuleAndCount(nil, \"giv\", \"wurd\")) do\n      table.insert(givers, units_by_id[unit] or cursors_by_id[unit])\n    end\n    for unit,_ in pairs(getUnitsWithRuleAndCount(nil, \"giv\", \"anti wurd\")) do\n      table.insert(givers, units_by_id[unit] or cursors_by_id[unit])\n    end\n  end\n  \n  local function matchesGiver(unit, givers)\n    for _,giver in ipairs(givers) do\n      if giver ~= unit and giver.x == unit.x and giver.y == unit.y and sameFloat(unit, giver) then\n        return true\n      end\n    end\n    return false\n  end\n  \n  if (#givers > 0) then\n    for __,unit in ipairs(units) do\n      if hasProperty(unit, \"wurd\") or hasProperty(unit,\"anti wurd\") or unit.name:starts(\"this\") or matchesGiver(unit, givers) then\n        if not hasCopied then\n          result = copyTable(result)\n          hasCopied = true\n        end\n        table.insert(result, unit)\n      else\n        unit.active = false\n      end\n    end\n  else\n    for name,_ in pairs(rules_effecting_names) do\n      if units_by_name[name] then\n        for __,unit in ipairs(units_by_name[name]) do\n          if hasProperty(unit, \"wurd\") or hasProperty(unit, \"anti wurd\") or unit.name:starts(\"this\") then\n            if not hasCopied then\n              result = copyTable(result)\n              hasCopied = true\n            end\n            table.insert(result, unit)\n          else\n            unit.active = false\n          end\n        end\n      end\n    end\n  end\n  return result\nend\n\nfunction getTextOnTile(x, y)\n  local result = {}\n  --[[local result = getUnitsOnTile(x, y, \"txt\")\n  --remove ben't wurd text from result\n  if rules_with ~= nil and rules_with[\"wurd\"] ~= nil then\n    for i = #result,1,-1 do\n      if hasRule(result[i],\"ben't\",\"wurd\") then\n        table.remove(result, i)\n      end\n    end\n  end]]\n  \n  local givers = {}\n  \n  if rules_with ~= nil and rules_with[\"giv\"] ~= nil then\n    for __,unit in ipairs(getUnitsOnTile(x, y)) do\n      if hasRule(unit, \"giv\", \"wurd\") or hasRule(unit, \"giv\", \"anti wurd\") then\n        table.insert(givers, unit)\n      end\n    end\n  end\n  \n  if (#givers > 0) then\n    for __,unit in ipairs(getUnitsOnTile(x, y)) do\n      if hasProperty(unit, \"wurd\") or hasProperty(unit, \"anti wurd\") or unit.name:starts(\"this\") then\n        table.insert(result, unit)\n      else\n        for _,giver in ipairs(givers) do\n          if giver ~= unit and sameFloat(giver, unit) then\n            table.insert(result, unit)\n            break\n          end\n        end\n      end\n    end\n  else\n    for name,_ in pairs(rules_effecting_names) do\n      for __,unit in ipairs(getUnitsOnTile(x, y, {name = name})) do\n        if hasProperty(unit, \"wurd\") or hasProperty(unit, \"anti wurd\") or unit.name:starts(\"this\") then\n          table.insert(result, unit)\n        end\n      end\n    end\n  end\n  \n  return result\nend\n\nfunction parseRules(undoing)\n  if timeless and not hasProperty(\"txt\",\"zawarudo\") then\n    return\n  end\n  if (should_parse_rules) then\n    should_parse_rules = false\n    should_parse_rules_at_turn_boundary = false\n  else\n    return\n  end\n  \n  local start_time = love.timer.getTime()\n  \n  clearRules()\n  loop_rules = 0\n  changed_reparsing_rule = true\n\n  -- since txt is now inherently wurd, the rules table has to update with the base rules before we do any actual parsing\n  postRules(true)\n  \n  --TODO: This works in non-contrived examples, but isn't necessarily robust - for example, if after reparsing, you add one word rule while subtracting another word rule, it'll think nothing has changed. The only way to be ABSOLUTELY robust is to compare that the exact set of parsing effecting rules hasn't changed.\n  local function reparseRuleCounts()\n    local props_table = {\"wurd\", \"anti wurd\", \"poortoll\", \"goarnd\", \"mirrarnd\", \"ortho\", \"diag\", \"zawarudo\", \"rong\", \"slep\"}\n    local verbs_table = {\"be\", \"giv\"}\n    local result = {}\n    for _,prop in ipairs(props_table) do\n      for __,verb in ipairs(verbs_table) do\n        table.insert(result, #matchesRule(nil, verb, prop))\n      end\n    end\n    --Text that ben't wurd is a special case.\n    table.insert(result, #matchesRule(nil, \"ben't\", \"wurd\"))\n    --txt/wurds ignoring a poor toll could cause parsing to change.\n    table.insert(result, rules_with[\"poortoll\"] and #matchesRule(nil, \"ignor\", nil) or 0)\n    --RP can cause a parse effecting rule to be RP'd. (TODO: For mysterious reasons, this doesn't work with wurd.)\n    table.insert(result, #matchesRule(nil, \"rp\", \"?\"))\n    return result\n  end\n  \n  local reparse_rule_counts = reparseRuleCounts()\n  \n  --Hack for OOB rules to make them not alias onto each other surprisingly: assume mapwidth is 100 or higher, so that different co-ordinates are different unless you go STUPIDLY out of bounds\n  local mapwidth_hack = math.max(mapwidth, 100);\n  \n  while (changed_reparsing_rule) do\n    changed_reparsing_rule = false\n    loop_rules = loop_rules + 1\n    if (loop_rules > 100) then\n      destroyLevel(\"infloop\")\n      return\n    end\n\n    --refresh name/type/color of dittos in reading order (top to bottom)\n    local dittos = units_by_name[\"txt_''\"]\n    if (dittos ~= nil) then\n      table.sort(dittos, function(a, b) return a.y < b.y end ) \n      for _,unit in ipairs(dittos) do\n        local dir = dirAdd(unit.rotatdir,-2)\n        local dx, dy = dirs8[dir][1], dirs8[dir][2]\n        local _, __, ___, x, y = getNextTile(unit,dx,dy,dir)\n        local mimic = getTextOnTile(x,y)\n        \n        if #mimic == 1 then\n          unit.textname = mimic[1].textname\n          unit.typeset = mimic[1].typeset\n          unit.color_override = getUnitColor(mimic[1])\n        else\n          unit.textname = \"  \"\n          unit.typeset = {ditto = true}\n          unit.color_override = {0,3}\n        end\n      end\n    end\n  \n    local first_words = {}\n    local been_first = {}\n    for i=1,8 do\n      been_first[i] = {}\n    end\n    \n    local units_to_check = getAllText()\n    \n    if units_to_check then\n      for _,unit in ipairs(units_to_check) do\n        local x,y = unit.x,unit.y\n        local dirs_to_check = {}\n        if not rules_with[\"anti wurd\"] or hasProperty(unit,\"wurd\") then\n          mergeTable(dirs_to_check,{1,2,3})\n        end\n        if hasProperty(unit,\"anti wurd\") then\n          mergeTable(dirs_to_check,{5,6,7})\n        end\n        for _,i in ipairs(dirs_to_check) do\n          local dpos = dirs8[i]\n          local ndpos = dirs8[rotate8(i)] --opposite direction\n\n          local dx,dy = dpos[1],dpos[2]\n          local ndx,ndy = ndpos[1],ndpos[2]\n          \n          local validrule = true\n          \n          if (i % 2 == 1) and hasRule(unit,\"be\",\"diag\") and not hasRule(unit,\"be\",\"ortho\") then\n            validrule = false\n          end\n          \n          if (i % 2 == 0) and (unit.wobble or hasRule(unit,\"be\",\"ortho\")) and not hasRule(unit,\"be\",\"diag\") then\n            validrule = false\n          end\n          --print(tostring(x)..\",\"..tostring(y)..\",\"..tostring(dx)..\",\"..tostring(dy)..\",\"..tostring(ndx)..\",\"..tostring(ndy)..\",\"..tostring(#getUnitsOnTile(x+ndx, y+ndy, \"txt\"))..\",\"..tostring(#getUnitsOnTile(x+dx, y+dy, \"txt\")))\n          if (#getTextOnTile(x+ndx, y+ndy) == 0) and validrule then\n            if not been_first[i][x + y * mapwidth_hack] then\n              table.insert(first_words, {unit, i})\n              been_first[i][x + y * mapwidth_hack] = true\n            end\n          end\n        end\n        if (loop_rules == 1) then\n          unit.old_active = unit.active\n        end\n        local temp = rules_with\n        rules_with = old_rules_with\n        if not timeless or unit.zawarudo then\n          unit.active = false\n          unit.blocked = false\n          unit.used_as = {}\n        end\n        rules_with = temp\n      end\n    end\n\n    local final_rules = {}\n    --local already_parsed = {}\n    local first_words_count = #first_words\n    for _,first in ipairs(first_words) do \n      local first_unit = first[1] -- {unit,direction}\n      local last_unit = first[1]\n\n      local dir = first[2]\n      local x,y = first_unit.x, first_unit.y\n      local dx,dy = dirs8[dir][1], dirs8[dir][2]\n\n      local words = {}\n      local been_here = {}\n\n      local stopped = false\n      while not stopped do\n        if been_here[x + y * mapwidth_hack] == 2 then\n          stopped = true\n        else\n          local new_words = {}\n          local get_next_later = false\n\n          local units = getTextOnTile(x, y)\n          if #units > 0 then\n            for _,unit in ipairs(units) do\n              local validrule = true\n\n              if ((dir == 1) or (dir == 3)) and hasRule(unit,\"be\",\"diag\") and not hasRule(unit,\"be\",\"ortho\") then\n                validrule = false  \n              end\n              \n              if (dir == 2) and (unit.wobble or hasRule(unit,\"be\",\"ortho\")) and not hasRule(unit,\"be\",\"diag\") then\n                validrule = false\n              end\n\n              if validrule then\n                local new_word = {}\n\n                new_word.name = unit.textname\n                new_word.type = unit.typeset\n                new_word.unit = unit\n                new_word.dir = dir\n\n                last_unit = unit\n\n                table.insert(new_words, new_word)\n              end\n            end\n\n            if #new_words == 0 then\n              stopped = true\n            else\n              table.insert(words, new_words)\n            end\n          else\n            stopped = true\n          end\n\n          if not been_here[x + y * mapwidth_hack] then --can only go to each tile twice each first word; so that if we have a wrap/portal infinite loop we don't softlock\n            been_here[x + y * mapwidth_hack] = 1\n          else\n            been_here[x + y * mapwidth_hack] = 2\n          end\n\n          dx, dy, dir, x, y = getNextTile(last_unit, dx, dy, dir)\n        end\n      end --while not stopped\n\n      local sentences = getCombinations(words)\n      if #sentences > 10 then\n        --print(fullDump(words, 2))\n      end\n\n      for _,sentence in ipairs(sentences) do\n        parseSentence(sentence, {been_first, first_words, final_rules, first}, dir) -- split into a new function located below to organize this slightly more\n        if (#final_rules > 1000) then\n          print(\"parseRules too complex! (1000 rules)\")\n          destroyLevel(\"plsdont\")\n          clearRules()\n          return\n        end\n      end\n    end\n    \n    clearRules()\n    \n    for _,final in ipairs(final_rules) do\n      addRule(final)\n    end\n    \n    postRules()\n    \n    local reparse_rule_counts_new = reparseRuleCounts()\n    \n    for i = 1,#reparse_rule_counts do\n      if reparse_rule_counts[i] ~= reparse_rule_counts_new[i] then\n        changed_reparsing_rule = true\n        break\n      end\n    end\n    \n    reparse_rule_counts = reparse_rule_counts_new\n    \n    rules_effecting_names = {}\n  \n    populateRulesEffectingNames(\"?\", \"be\", \"wurd\")\n    populateRulesEffectingNames(\"?\", \"be\", \"anti wurd\")\n    populateRulesEffectingNames(\"?\", \"be\", \"poortoll\")\n    if (rules_with[\"goarnd\"] or rules_with[\"mirrarnd\"]) then\n      rules_effecting_names[\"bordr\"] = true\n    end\n  end\n  \n  shouldReparseRules()\n  \n  local end_time = love.timer.getTime()\n  if not unit_tests then print(\"parseRules() took: \"..tostring(round((end_time-start_time)*1000))..\"ms\") end\nend\n\nfunction parseSentence(sentence_, params_, dir) --prob make this a local function? idk\n  -- print(\"parsing... \"..fullDump(sentence_))\n  local been_first = params_[1] --splitting up the params like this was because i was too lazy\n  local first_words = params_[2] -- all of them are tables anyway, so it ends up referencing properly\n  local final_rules = params_[3]\n  local first = params_[4]\n  local sentence = copyTable(sentence_, 1)\n  --print(fullDump(sentence))\n\n  for orig_index,word in ipairs(sentence) do\n    --HACK: don't try to do letters parsing if we're singing\n    if word.name == \"sing\" then break end\n    if word.type and word.type[\"letter\"] then --letter handling\n      --print(\"found a letter\"..orig_index)\n      \n      local new_word = \"\"\n      local word_index = orig_index\n      local letter = sentence[word_index]\n      local prevletter = {}\n      while letter.type[\"letter\"] do --find out where the letters end, throw all of them into a string tho\n        --here's how umlauts / colons work: for every letter that could be affected by the presence of a colon, special case it here\n        --when special casing, change the name to include the umlaut / colon in it. then, later, don't count colons when adding to the string, since the letter already accounts for it\n        --for the letter u, it always needs to check the tile above it, so we don't need to use prevletter, since the umlaut might not be in the rule directly\n        --for letters relating to making a face, such as \":)\", the colon needs to be the letter before it, so just before we change letter we store it as prevletter for the next letter to use\n        --then, when we find something like a parantheses, we check the previous letter to see if it's a colon and if it was facing the right direction, and if it meets both of those, set the name of the unit to both\n        --since this all happens per rule, crosswording should be unaffected\n        --...doesn't work yet but that was my plan\n        local unit = letter.unit\n        local prevunit = prevletter.unit or {}\n        local name = letter.name\n        --turn flog be : ) (vertical) into flog be :) instead of flog be ..:)\n        local speaking_bridges_hack = false\n        if name == \"custom\" then name = letter.unit.special.customletter end\n        if letter.name == \"u\" then\n          local umlauts = getTextOnTile(unit.x,unit.y-1)\n          for _,umlaut in ipairs(umlauts) do\n            if umlaut.fullname == \"letter_colon\" and umlaut.dir == 3 and umlaut ~= prevunit then\n              name = \"..u\"\n            end\n          end\n        elseif letter.name == \"e\" then\n          local umlauts = getTextOnTile(unit.x,unit.y-1)\n          for _,umlaut in ipairs(umlauts) do\n            if umlaut.fullname == \"letter_colon\" and umlaut.dir == 3 and umlaut ~= prevunit then\n              name = \"..e\"\n            end\n          end\n        --[[elseif letter.fullname == \"letter_colon\" and letter.dir == 3 then\n          name = \"..\"]]--\n        elseif prevunit.fullname == \"letter_colon\" and prevunit.dir == dir\n        and (letter.name == \"o\" or letter.name == \")\" or letter.name == \"(\") then\n          name = \":\"..letter.name\n          speaking_bridges_hack = true\n        end\n        --[[elseif letter.name == \"/\" then\n          if prevletter.name == \":\" and prevunit.dir == dir then\n            name = \"tryagain\"\n          end\n        elseif letter.name == \">\" then\n          if prevletter.name == \":\" and prevunit.dir == dir then\n            name = \"nxt\"\n          end\n        end]]\n        \n        if (speaking_bridges_hack) then\n          new_word = new_word:sub(1, -3)\n        end\n        \n        if name ~= \":\" then\n          new_word = new_word..name\n        end\n        \n        prevletter = letter\n        word_index = word_index + 1\n        letter = sentence[word_index]\n        --print(\"looping... \"..new_word..\" \"..word_index)\n        if letter == nil then break end --end of array ends up hitting this case\n      end\n\n      --parens hack - don't try to make letters out of a single parenthesis\n      if not (new_word:len() < 2 and text_in_tiles[new_word] == nil) then\n        local lsentences = findLetterSentences(new_word) --get everything valid out of the letter string (this should be [both], hmm)\n        --[[if (#lsentences.start ~= 0 or #lsentences.endd ~= 0 or #lsentences.middle ~= 0 or #lsentences.both ~= 0) then\n          print(new_word..\" --> \"..fullDump(lsentences))\n        end]]\n\n        local before_sentence = {}\n        for i=1,orig_index-1 do\n          table.insert(before_sentence,sentence[i])\n        end\n        local after_sentence = {}\n        if word_index <= #sentence then\n          for i=word_index,#sentence do\n            table.insert(after_sentence,sentence[i])\n          end\n        end\n\n        local pos_x = sentence[orig_index].unit.x\n        local pos_y = sentence[orig_index].unit.y\n        --print(\"coords: \"..pos_x..\", \"..pos_y)\n\n        local len = word_index-orig_index\n        for _,s in ipairs(lsentences.middle) do\n          local words = fillTextDetails(s, sentence, orig_index, word_index)\n          parseSentence(words, params_, dir)\n        end\n        for _,s in ipairs(lsentences.start) do\n          local words = fillTextDetails(s, sentence, orig_index, word_index)\n          local before_copy = copyTable(before_sentence) --copying is required because addTables puts results in the first table\n          addTables(before_copy, words)\n          parseSentence(before_copy, params_, dir)\n        end\n        for _,s in ipairs(lsentences.endd) do\n          local words = fillTextDetails(s, sentence, orig_index, word_index)\n          addTables(words, after_sentence)\n          parseSentence(words, params_, dir)\n        end\n        for _,s in ipairs(lsentences.both) do\n          local words = fillTextDetails(s, sentence, orig_index, word_index)\n          local before_copy = copyTable(before_sentence)\n          addTables(words, after_sentence)\n          addTables(before_copy, words)\n          --print(\"end dump: \"..dumpOfProperty(before_copy, \"name\"))\n          parseSentence(before_copy, params_, dir)\n        end\n\n        parseSentence(before_sentence, params_, dir)\n        parseSentence(after_sentence, params_, dir)\n        return --no need to continue past this point, since the letters suffice\n      end\n    end\n  end\n  \n  local function addUnits(list, set, root, dirs, mods)\n    if root.unit and not set[root.unit] then\n      table.insert(list, root.unit)\n      set[root.unit] = true\n      dirs[root.unit] = root.dir\n      mods[root.unit] = mods[root.unit] or {}\n      if root.conds then\n        for _,cond in ipairs(root.conds) do\n          addUnits(list, set, cond, dirs, mods)\n        end\n      end\n      if root.others then\n        for _,other in ipairs(root.others) do\n          addUnits(list, set, other, dirs, mods)\n        end\n      end\n      if root.mods then\n        for _,mod in ipairs(root.mods) do\n          if mod.unit then\n            table.insert(mods[root.unit], mod.unit)\n          end\n          addUnits(list, set, mod, dirs, mods)\n        end\n      end\n    end\n  end\n\n  -- print(\"just after letters:\", dump(sentence))\n  while (#sentence > 2) do\n    local valid, words, rules, extra_words = parse(copyTable(sentence), dir)\n    if not valid then -- probably not too great for performance, it'd be good to only do this if \"lookat\" etc is in the rule\n      valid, words, rules, extra_words = parse(copyTable(sentence), dir, true) -- check lookat as a verb instead of a condition\n    end\n    --print(dump(state))\n\n    if valid then\n      for i,rule in ipairs(rules) do\n        local list = {}\n        local set = {}\n        local dirs = {}\n        local mods = {}\n        for _,word in ipairs(extra_words) do\n          addUnits(list, set, word, dirs, mods)\n        end\n        addUnits(list, set, rule.subject, dirs, mods)\n        addUnits(list, set, rule.verb, dirs, mods)\n        addUnits(list, set, rule.object, dirs, mods)\n        local full_rule = {rule = rule, units = list, dir = dir, units_set = set, dirs = dirs, mods = mods}\n        -- print(fullDump(full_rule))\n        \n        local add = false\n        \n        if not timeless then\n          add = true\n        else\n          local temp = rules_with\n          rules_with = old_rules_with\n          for _,unit in ipairs(list) do\n            if unit.zawarudo then\n              add = true\n              break\n            end\n          end\n          rules_with = temp\n        end\n        \n        for i = #final_rules,1,-1 do\n          local other = final_rules[i]\n          if other.dir == full_rule.dir then\n            local subset = true\n            for _,u in ipairs(other.units) do\n              if (not full_rule.units_set[u] or (full_rule.dirs[u] ~= other.dirs[u]) or not eq(full_rule.mods[u], other.mods[u])) and not u.typeset[\"and\"] then \n                subset = false\n                break\n              end\n            end\n            if subset then\n              table.remove(final_rules, i)\n            else\n              local subset = true\n              for _,u in ipairs(full_rule.units) do\n                if (not other.units_set[u] or (full_rule.dirs[u] ~= other.dirs[u]) or not eq(full_rule.mods[u], other.mods[u])) and not u.typeset[\"and\"] then\n                  subset = false\n                  break\n                end\n              end\n              if subset then\n                add = false\n                break\n              end\n            end\n          end\n        end\n        if add then\n          table.insert(final_rules, full_rule)\n        end\n      end\n      \n      local last_word = sentence[#sentence - #words]\n      table.insert(words, 1, last_word)\n      sentence = words\n    else\n      table.remove(sentence, 1)\n    end\n  end\nend\n\nfunction addRule(full_rule)\n  local rules = full_rule.rule\n  local units = full_rule.units\n  local dir = full_rule.dir\n\n  local subject = rules.subject.name\n  local verb = rules.verb.name\n  local object = rules.object.name\n\n  local subject_not = 0\n  local verb_not = 0\n  local object_not = 0\n  \n  local new_rule = false\n  local rule_id = \"\"\n  for _,unit in ipairs(units) do\n    unit.active = true\n    if not unit.old_active and not first_turn then\n      addParticles(\"rule\", unit.x, unit.y, getUnitColor(unit))\n      new_rule = true\n    end\n    unit.old_active = unit.active\n    rule_id = rule_id .. unit.id .. \",\"\n  end\n  has_new_rule = has_new_rule or new_rule\n  \n  if object:starts(\"anti \") and anti_word_replacements[object:sub(6,-1)] then\n    rules.object.name = anti_word_replacements[object:sub(6,-1)]\n    object = anti_word_replacements[object:sub(6,-1)]\n  end\n  \n  if verb:starts(\"anti \") and anti_word_replacements[verb:sub(6,-1)] then\n    rules.verb.name = anti_word_replacements[verb:sub(6,-1)]\n    verb = anti_word_replacements[verb:sub(6,-1)]\n  end\n  \n  if verb:starts(\"anti \") and anti_verb_mirrors[verb:sub(6,-1)] then\n    subject = rules.object.name\n    object = rules.subject.name\n    local old_object = copyTable(rules.object)\n    rules.object = copyTable(rules.subject)\n    rules.subject = old_object\n    rules.verb.name = verb:sub(6,-1)\n  end\n  \n  if rule_id ~= \"\" and new_rule and not past_rules[rule_id] and not undoing then\n    -- actually i dont know how rule stacking works ehehe\n    local r1, subject_conds = getPastConds(rules.subject.conds or {})\n    local r2, object_conds = getPastConds(rules.object.conds or {})\n    if r1 or r2 then\n      local new_rule = {rule = deepCopy(rules), units = {}, dir = 1}\n      new_rule.rule.subject.conds = subject_conds\n      new_rule.rule.object.conds = object_conds\n      past_rules[rule_id] = {turn = current_move, rule = new_rule}\n      change_past = true\n    end\n  end\n  \n  for _,unit in ipairs(units) do\n    if (not rong and old_rules_with[\"rong\"] ~= nil) then\n      local temp = rules_with; rules_with = old_rules_with\n      if hasProperty(unit, \"rong\") then\n        for __,unit2 in ipairs(units) do\n          unit2.blocked = true\n          unit2.blocked_dir = full_rule.dirs and full_rule.dirs[unit2] or dir\n        end\n        rules_with = temp\n        return\n      end\n      rules_with = temp\n    end\n  end\n\n  --\"x be sans\" plays a megalovania jingle! but only if x is in the level.\n  local play_sans_sound = false\n  if new_rule then\n    if verb == \"be\" and object == \"sans\" and units_by_name[subject] then\n      play_sans_sound = true\n    end\n  end\n  \n  -- play the x be sans jingle!\n  if play_sans_sound then\n    playSound(\"babbolovania\")\n  end\n  \n  while subject:ends(\"n't\") do subject, subject_not = subject:sub(1, -4), subject_not + 1 end\n  while verb:ends(\"n't\")    do verb,       verb_not =    verb:sub(1, -4),    verb_not + 1 end\n  while object:ends(\"n't\")  do object,   object_not =  object:sub(1, -4),  object_not + 1 end\n\t--print(subject, verb, object, subject_not, verb_not, object_not)\n\n  if verb_not > 0 then\n    verb = rules.verb.name:sub(1, -4)\n  end\n\n  --add used_as values for sprite transformations\n  if rules.subject.unit and not rules.subject.unit.used_as[\"object\"] then\n    table.insert(rules.subject.unit.used_as, \"object\")\n  end\n\n  if rules.verb.unit and not rules.verb.unit.used_as[\"verb\"] then\n    table.insert(rules.verb.unit.used_as, \"verb\")\n  end\n\n  if rules.object.unit then\n    local property = false\n    local tile = getTile(\"txt_\" .. verb)\n    if tile and tile.typeset.verb_property then\n      property = true\n    end\n    if property and not rules.object.unit.used_as[\"property\"] then\n      table.insert(rules.object.unit.used_as, \"property\")\n    elseif not property and not rules.object.unit.used_as[\"object\"] then\n      table.insert(rules.object.unit.used_as, \"object\")\n    end\n  end\n  \n  --Special THIS check - if we write this be this or this ben't this, it should work like the tautology/paradox it does for other objects, even though they are TECHNICALLY different thises.\n  if subject:starts(\"this\") and object:starts(\"this\") and subject_not == 0 and object_not == 0 and subject ~= object then\n    addRuleSimple(rules.subject, rules.verb, {rules.subject.name, rules.object.conds}, units, dir)\n    return\n  end\n  \n  --Transform THE BE U into THE (prefix condition) EVERY2 BE U.\n  --todo: add support for bordr\n  if subject == \"the\" or subject == \"deez\" then\n    rules.subject.conds = copyTable(rules.subject.conds) or {};\n    table.insert(rules.subject.conds, rules.subject);\n    addRuleSimple({\"every2\", rules.subject.conds}, rules.verb, rules.object, units, dir)\n    return\n  end\n\n  if subject:find(\"letter_custom\") and subject.unit then\n    rules.subject.conds = copyTable(rules.subject.conds) or {};\n    table.insert(rules.subject.conds, rules.subject);\n  end\n  if object:find(\"letter_custom\") and object.unit then\n    local tile = getTile(\"txt_\"..verb)\n    if tile and tile.typeset.verb_unit then\n      rules.object.conds = copyTable(rules.object.conds) or {};\n      table.insert(rules.object.conds, rules.object);\n    end\n  end\n  \n  if verb == \"is\" then\n    local new_verb = copyTable(rules.verb)\n    new_verb.name = \"be\"\n    for i = 1, verb_not do\n      new_verb.name = new_verb.name .. \"n't\"\n    end\n    addRuleSimple(rules.subject, new_verb, rules.object, units, dir)\n  end\n\n  if subject == \"every1\" then\n    if subject_not % 2 == 1 then\n      return\n    else\n      for _,v in ipairs(referenced_objects) do\n        addRuleSimple({v, rules.subject.conds}, rules.verb, rules.object, units, dir)\n      end\n    end\n  elseif subject == \"every2\" then\n    if subject_not % 2 == 1 then\n      return\n    else\n      for _,v in ipairs(referenced_objects) do\n        addRuleSimple({v, rules.subject.conds}, rules.verb, rules.object, units, dir)\n      end\n      addRuleSimple({\"txt\", rules.subject.conds}, rules.verb, rules.object, units, dir)\n\n      local copied_conds = copyTable(rules.subject.conds)\n      table.insert(copied_conds, {name = \"inner\", type = {cond_prefix = true}, dir = rules.subject.dir})\n      addRuleSimple({\"lvl\", copied_conds}, rules.verb, rules.object, units, dir)\n    end\n  elseif subject == \"every3\" then\n    if subject_not % 2 == 1 then\n      return\n    else\n      for _,v in ipairs(referenced_objects) do\n        addRuleSimple({v, rules.subject.conds}, rules.verb, rules.object, units, dir)\n      end\n      addRuleSimple({\"txt\", rules.subject.conds}, rules.verb, rules.object, units, dir)\n      for _,v in ipairs(special_objects) do\n        addRuleSimple({v, rules.subject.conds}, rules.verb, rules.object, units, dir)\n      end\n    end\n  elseif subject == \"lethers\" then\n    for _,v in ipairs(referenced_text) do\n      if subject_not % 2 == 1 then\n        if not v:starts(\"letter_\") then\n          addRuleSimple({v, rules.subject.conds}, rules.verb, rules.object, units, dir)\n        end\n      else\n        if v:starts(\"letter_\") then\n          addRuleSimple({v, rules.subject.conds}, rules.verb, rules.object, units, dir)\n        end\n      end\n    end\n  elseif subject == \"numa\" then\n    for _,v in ipairs(referenced_text) do\n      if subject_not % 2 == 1 then\n        if v:starts(\"letter_\") then\n          for i = 1, 9, 1 do\n            if v:ends(tostring(i)) then\n              addRuleSimple({v, rules.subject.conds}, rules.verb, rules.object, units, dir)\n            end\n          end\n        end\n      else\n        if v:starts(\"letter_\") then\n          if v:ends(\"_o\") then\n            addRuleSimple({v, rules.subject.conds}, rules.verb, rules.object, units, dir)\n          end\n          for i = 1, 9, 1 do\n            if v:ends(tostring(i)) then\n              addRuleSimple({v, rules.subject.conds}, rules.verb, rules.object, units, dir)\n            end\n          end\n        end\n      end\n    end\n  elseif subject == \"toen\" then\n    for _,v in ipairs(referenced_text) do\n      if subject_not % 2 == 1 then\n        if not (v:ends(\"_sharp\") or v:ends(\"_flat\") or v == \"letter_a\" or v == \"letter_b\" or v == \"letter_c\" or v == \"letter_d\" or v == \"letter_e\" or v == \"letter_f\" or v == \"letter_g\") then\n          addRuleSimple({v, rules.subject.conds}, rules.verb, rules.object, units, dir)\n        end\n      else\n        if v:ends(\"_sharp\") or v:ends(\"_flat\") or v == \"letter_a\" or v == \"letter_b\" or v == \"letter_c\" or v == \"letter_d\" or v == \"letter_e\" or v == \"letter_f\" or v == \"letter_g\" then\n          addRuleSimple({v, rules.subject.conds}, rules.verb, rules.object, units, dir)\n        end\n      end\n    end\n  elseif subject == \"yuiy\" then\n    for _,v in ipairs(referenced_objects) do\n      if subject_not % 2 == 1 then\n        if not v:starts(\"ui_\") then\n          addRuleSimple({v, rules.subject.conds}, rules.verb, rules.object, units, dir)\n        end\n      else\n        if v:starts(\"ui_\") then\n          addRuleSimple({v, rules.subject.conds}, rules.verb, rules.object, units, dir)\n        end\n      end\n    end\n  elseif subject_not % 2 == 1 then\n    if getTile(subject) or subject == \"txt\" then\n      local new_subjects = getEverythingExcept(subject)\n      for _,v in ipairs(new_subjects) do\n        addRuleSimple({v, rules.subject.conds}, rules.verb, rules.object, units, dir)\n      end\n      return\n    end\n  end\n\n  if object == \"every1\" then\n    if object_not % 2 == 1 then\n      return\n    elseif verb ~= \"be\" and verb ~= \"ben't\" then\n      --we'll special case x be every1 in convertUnit now\n      for _,v in ipairs(referenced_objects) do\n        addRuleSimple(rules.subject, rules.verb, {v, rules.object.conds}, units, dir)\n      end\n    end\n  elseif object == \"every2\" then\n    if object_not % 2 == 1 then\n      return\n    elseif verb ~= \"be\" and verb ~= \"ben't\" then\n      for _,v in ipairs(referenced_objects) do\n        addRuleSimple(rules.subject, rules.verb, {v, rules.object.conds}, units, dir)\n      end\n      addRuleSimple(rules.subject, rules.verb, {\"txt\", rules.object.conds}, units, dir)\n\n      local copied_conds = copyTable(rules.object.conds)\n      table.insert(copied_conds, {name = \"inner\", type = {cond_prefix = true}, dir = rules.object.dir})\n      addRuleSimple(rules.subject, rules.verb, {\"lvl\", copied_conds}, units, dir)\n    end\n  elseif object == \"every3\" then\n    if object_not % 2 == 1 then\n      return\n    elseif verb ~= \"be\" and verb ~= \"ben't\" then\n      for _,v in ipairs(referenced_objects) do\n        addRuleSimple(rules.subject, rules.verb, {v, rules.object.conds}, units, dir)\n      end\n      addRuleSimple(rules.subject, rules.verb, {\"txt\", rules.object.conds}, units, dir)\n      for _,v in ipairs(special_objects) do\n        addRuleSimple(rules.subject, rules.verb, {v, rules.object.conds}, units, dir)\n      end\n    end\n  elseif object_not % 2 == 1 then\n    if getTile(object) or object:starts(\"this\") or object == \"txt\" or object == \"mous\" then\n      local new_objects = {}\n      --skul be skul turns into skul ben't skuln't - but this needs to apply even to special objects (specific text, txt, no1, lvl, mous).\n      if verb == \"be\" and verb_not % 2 == 1 then\n        new_objects = getAbsolutelyEverythingExcept(object)\n      else\n        new_objects = getEverythingExcept(object)\n      end\n      for _,v in ipairs(new_objects) do\n        --print(fullDump(rules))\n        addRuleSimple(rules.subject, rules.verb, {v, rules.object.conds}, units, dir)\n      end\n      --txt be txt needs to also apply for flog txt, bab txt, etc.\n      if (object == \"txt\" and verb == \"be\" and verb_not % 2 == 1) then\n        for i,ref in ipairs(referenced_text) do\n          for _,v in ipairs(new_objects) do\n            addRuleSimple({ref, rules.subject.conds}, rules.verb, {v, rules.object.conds}, units, dir)\n          end\n        end\n      end\n      return\n    end\n  end\n\n  if verb_not > 0 then\n    if (verb == \"be\") and (object == \"notranform\" or subject == object or (subject:starts(\"txt_\") and object == \"txt\") or object == \"themself\") then\n      verb_not = verb_not + 1\n    end\n    if not not_rules[verb_not] then\n      not_rules[verb_not] = {}\n      max_not_rules = math.max(max_not_rules, verb_not)\n    end\n    -- print(\"full_rule:\", fullDump(full_rule))\n    table.insert(not_rules[verb_not], full_rule)\n\n    -- for specifically checking NOT rules\n    table.insert(full_rules, {rule = {subject = rules.subject, verb = {name = verb .. \"n't\"}, object = rules.object}, units = units, dir = dir})\n  elseif (verb == \"be\") and (subject == object or (subject:starts(\"txt_\") and object == \"txt\") or object == \"themself\") and subject ~= \"lvl\" and object ~= \"lvl\" and subject ~= \"sans\" then\n    --print(\"protecting: \" .. subject .. \", \" .. object)\n    addRuleSimple(rules.subject, {\"be\"}, {\"notranform\", rules.object.conds}, units, dir)\n  elseif object == \"notranform\" or (subject == \"lvl\" and object == \"lvl\") then -- no \"n't\" here, but still blocks other rules so we need to count it\n    if not not_rules[1] then\n      not_rules[1] = {}\n      max_not_rules = math.max(max_not_rules, 1)\n    end\n    table.insert(not_rules[1], full_rule)\n    table.insert(full_rules, full_rule)\n  else\n    table.insert(full_rules, full_rule)\n  end\nend\n\nfunction postRules(no_sound)\n  local all_units = {}\n\t\n  -- Step 1:\n  -- Block & remove rules if they're N'T'd out\n  for n = max_not_rules, 1, -1 do\n    if not_rules[n] then\n      for _,rules in ipairs(not_rules[n]) do\n        local rule = rules.rule -- rule = the current rule we're looking at\n        local conds = {rule.subject.conds or {}, rule.object.conds or {}}\n\n        local inverse_conds = {{},{}}\n        for i=1,2 do\n          for _,cond in ipairs(conds[i]) do\n            local new_cond = copyTable(cond)\n            if new_cond.name:ends(\"n't\") then\n              new_cond.name = new_cond.name:sub(1, -4)\n            else\n              new_cond.name = new_cond.name .. \"n't\"\n            end\n            table.insert(inverse_conds[i], new_cond)\n          end\n        end\n\n        local has_conds = (#conds[1] > 0 or #conds[2] > 0)\n        \n        local specialmatch = 0\n        if rule.verb.name == \"be\" and rule.object.name == \"notranform\" then -- \"bab be bab\" should cross out \"bab be keek\"\n          specialmatch = 1\n        elseif rule.verb.name == \"ben't\" and rule.object.name == rule.subject.name or rule.object.name == \"notranform\" then -- \"bab be n't bab\" and 'bab be n't notranform' should cross out \"bab be bab\" (bab be notranform)\n          specialmatch = 2\n        end\n\n        local function blockRules(t)\n          local blocked_rules = {}\n          for _,frules in ipairs(t) do\n            local frule = frules.rule -- frule = potential matching rule to cancel\n            -- print(fullDump(frule))\n            local fverb = frule.verb.name\n            if specialmatch ~= 1 then\n              fverb = fverb .. \"n't\"\n            end\n            -- print(\"frule:\", fullDump(frule))\n            if (frule.subject.name == rule.subject.name or (rule.subject.name == \"txt\" and frule.subject.name:starts(\"txt_\"))) and fverb == rule.verb.name and (\n              (specialmatch == 0 and frule.object.name == rule.object.name and frule.object.name ~= \"her\" and frule.object.name ~= \"thr\" and frule.object.name ~= \"rit here\") or\n              (specialmatch == 1 and (frule.object.type.object) and not group_names_set[frule.object.name]) or -- was used for making notranform cancel x be tranz but we decided that was a dumb joke\n              (specialmatch == 2 and frule.object.name == \"notranform\")\n            ) then\n              if has_conds then\n                --print(fullDump(rule), fullDump(frule))\n                for _,cond in ipairs(inverse_conds[1]) do\n                  if not frule.subject.conds then frule.subject.conds = {} end\n                  frule.subject = copyTable(frule.subject);\n                  frule.subject.conds = copyTable(frule.subject.conds);\n                  table.insert(frule.subject.conds, cond)\n                end\n                for _,cond in ipairs(inverse_conds[2]) do\n                  if not frule.object.conds then frule.object.conds = {} end\n                  frule.object = copyTable(frule.object);\n                  frule.object.conds = copyTable(frule.object.conds);\n                  table.insert(frule.object.conds, cond)\n                end\n              else\n                table.insert(blocked_rules, frules)\n              end\n            end\n          end\n\n          for _,blocked in ipairs(blocked_rules) do\n            for _,unit in ipairs(blocked.units) do\n              unit.blocked = true\n              unit.blocked_dir = blocked.dirs and blocked.dirs[unit] or blocked.dir\n            end\n            -- print(\"blocked:\", fullDump(blocked))\n            removeFromTable(t, blocked)\n          end\n        end\n\n        if not_rules[n - 1] then\n          blockRules(not_rules[n - 1])\n        end\n        blockRules(full_rules)\n\n        mergeTable(all_units, rules.units)\n      end\n    end\n  end\n\n  -- Step 2:\n  -- Add all remaining rules to lookup tables\n  for _,rules in ipairs(full_rules) do\n    local rule = rules.rule\n\n    local subject, verb, object = rule.subject.name, rule.verb.name, rule.object.name\n\n    if not rules_with[subject] then\n      rules_with[subject] = {}\n    end\n    table.insert(rules_with[subject], rules)\n\n    if not rules_with[verb] then\n      rules_with[verb] = {}\n    end\n    if (verb ~= subject) then\n      table.insert(rules_with[verb], rules)\n    end\n\n    if not rules_with[object] then\n      rules_with[object] = {}\n    end\n    if (object ~= subject and object ~= verb) then\n      table.insert(rules_with[object], rules)\n    end\n\n    for _,unit in ipairs(rules.units) do\n      if not rules_with_unit[unit] then\n        rules_with_unit[unit] = {}\n      end\n      table.insert(rules_with_unit[unit], rules)\n    end\n\n    mergeTable(all_units, rules.units)\n  end\n\n  -- Step 3:\n  -- Unblock any units in an unblocked rule\n  for _,unit in ipairs(all_units) do\n    unit.blocked = false\n  end\n\n  if has_new_rule and not no_sound then\n    playSound(\"rule\", 0.5)\n  end\nend\n\nfunction shouldReparseRules()\n  if should_parse_rules then return true end\n  local rules_to_check = {\n    {\"?\",\"be\",\"wurd\"},\n    {\"?\",\"be\",\"anti wurd\"},\n    {\"?\",\"be\",\"poortoll\"},\n    {\"?\",\"be\",\"goarnd\"},\n    {\"?\",\"be\",\"mirrarnd\"},\n    {\"lvl\",\"be\",\"goarnd\", true},\n    {\"lvl\",\"be\",\"mirrarnd\", true},\n    {\"?\",\"be\",\"ortho\"},\n    {\"?\",\"be\",\"diag\"},\n    {\"?\",\"ben't\",\"wurd\"},\n    {\"?\",\"be\",\"zawarudo\"},\n    {\"?\",\"be\",\"rong\"},\n    {\"?\",\"be\",\"slep\"},\n  }\n  if rules_with[\"poortoll\"] then\n    table.insert(rules_to_check, {\"?\",\"ignor\",\"?\",true})\n  end\n  for _,rule in ipairs(rules_to_check) do\n    if shouldReparseRulesIfConditionalRuleExists(unpack(rule)) then return true end\n  end\n  return false\nend\n\nfunction populateRulesEffectingNames(r1, r2, r3)\n  local rules = matchesRule(r1, r2, r3)\n  for _,rule in ipairs(rules) do\n    local subject = rule.rule.subject.name\n    if subject == \"txt\" or (subject:sub(1, 4) ~= \"txt\") then\n      rules_effecting_names[subject] = true\n    end\n  end\n  \n  --hack for giv - parseRules every turn in case giv rule state changes\n  if hasRule(r1, \"giv\", r3) then\n    should_parse_rules_at_turn_boundary = true\n  end\nend\n\nfunction shouldReparseRulesIfConditionalRuleExists(r1, r2, r3, even_non_wurd)\n  local rules = matchesRule(r1, r2, r3)\n  for _,rule in ipairs(rules) do\n    local subject_cond = rule.rule.subject.conds or {}\n    local subject = rule.rule.subject.name\n    --We only care about conditional rules that effect text, specific text, wurd units and maybe portals too.\n    --We can also distinguish between different conditions (todo).\n    if (#subject_cond > 0 and (even_non_wurd or subject:starts(\"txt\") or rules_effecting_names[subject])) then\n      for _,cond in ipairs(subject_cond) do\n        local cond_name = cond.name\n        local params = cond.others or {}\n        --TODO: This needs to change for condition stacking.\n        --An infix condition that references another unit just dumps the second unit into rules_effecting_names (This is fine for all infix conditions, for now, but maybe not perpetually? for example sameFloat() might malfunction since the floatness of the other unit could change unexpectedly due to a SECOND conditional rule).\n        if (#params > 0) then\n          for _,param in ipairs(params) do\n            --might be recursive. TODO: extend indefinitely?\n            if (param.conds ~= nil) then\n              for _,cond2 in ipairs(param.conds) do\n                local params2 = cond2.others or {}\n                if (#params2 > 0) then\n                  for _,param2 in ipairs(params2) do\n                    rules_effecting_names[param2.name] = true\n                    if param2.name == \"mous\" then\n                      should_parse_rules_at_turn_boundary = true\n                    end\n                  end\n                end\n              end\n            end\n            rules_effecting_names[param.name] = true\n            if param.name == \"mous\" then\n              should_parse_rules_at_turn_boundary = true\n            end\n          end\n        else\n          --Handle specific prefix conditions.\n          --Frenles is hard to do since it could theoretically be triggered by ANY other unit. Instead, just make it reparse rules all the time, sorry.\n          if cond_name == \"frenles\" or cond_name == \"frenlesn't\" then\n            should_parse_rules = true\n            return true\n          elseif (cond_name == \"corekt\" or cond_name == \"corektn't\" or cond_name == \"rong\" or cond_name == \"rongn't\") then\n            --nothing\n          else\n            --What are the others? WAIT... only changes at turn boundary. MAYBE can only change on turn boundary or if the unit or text moves (by definition these already reparse rules). AN only changes on turn boundary. COREKT/RONG can only change when text reparses anyway by definition, so it should never trigger it. TIMELES only changes at turn boundary. CLIKT only changes at turn boundary. Colours only change at turn boundary. So every other prefix condition, for now, just needs one check per turn, but new ones will need to be considered.\n            should_parse_rules_at_turn_boundary = true\n          end\n          \n          --TODO: How should a parse effecting THE rule work? Continual reparsing, like frenles?\n          \n          --As another edge to consider, what if the level geometry changes suddenly? Well, portals already trigger reparsing rules when they update, which is the only kind of external level geometry change. In addition, txt/wurds changing flye/tall surprisingly would already trigger rule reparsing since we checked those rules. But, what about a non-wurd changing flye/tall, allowing it to go through a portal, changing the condition of a different parse effecting rule? This can also happen with level be go arnd/mirr arnd turning on or off. parseRules should fire in such cases. So specifically for these cases, even though they aren't wurd/text, we do want to fire parseRules when their conditions change.\n          \n          --One final edge case to consider: MOUS, which just moves around on its own. This also triggers should_parse_rules_at_turn_boundary, since that's how often we care about MOUS moving.\n        end\n      end\n    end\n  end\n  return false\nend\n"
  },
  {
    "path": "scene.lua",
    "content": "local scene = {}\r\nwindow_dir = 0\r\n\r\nmask_shader = pcallNewShader[[\r\n  vec4 effect(vec4 color, Image texture, vec2 texture_coords, vec2 screen_coords) {\r\n     vec4 tx = Texel(texture, texture_coords).rgba;\r\n     if (tx.rgb == vec3(0.0) || tx.a == 0) {\r\n        // a discarded pixel wont be applied as the stencil.\r\n        discard;\r\n     }\r\n     return vec4(1.0);\r\n  }\r\n]]\r\n\r\npaletteshader_0 = pcallNewShader[[\r\n  vec4 effect(vec4 color, Image texture, vec2 texture_coords, vec2 screen_coords) {\r\n    vec4 texturecolor = Texel(texture, texture_coords);\r\n    texturecolor = texturecolor * color;\r\n    number r = texturecolor.r;\r\n    number g = texturecolor.g;\r\n    number b = texturecolor.b;\r\n    return vec4(r, g, b, texturecolor.a);\r\n  }\r\n]]\r\n\r\nxwxShader = pcallNewShader[[\r\n\textern number time;\r\n\r\n\tvec4 effect( vec4 color, Image texture, vec2 texture_coords, vec2 screen_coords ){\r\n\t\tvec2 newCoord = texture_coords;\r\n\t\tfloat amt = 0.4;\r\n\t\tnewCoord.x = newCoord.x - (amt/2) + (fract(sin(dot(vec2(texture_coords.y, time), vec2(12.9898,78.233))) * 43758.5453) * amt/2);\r\n\t\tvec4 pixel = Texel(texture, newCoord ); //This is the current pixel color\r\n\t\treturn pixel * color;\r\n    }\r\n  ]]\r\n\r\n--local paletteshader_autumn = love.graphics.newShader(\"paletteshader_autumn.txt\")\r\n--local paletteshader_dunno = love.graphics.newShader(\"paletteshader_dunno.txt\")\r\nlocal shader_zawarudo = pcallNewShader(\"shader_pucker.txt\")\r\n\r\nlocal level_shader = paletteshader_0\r\nlocal doin_the_world = false\r\nlocal shader_time = 0\r\n\r\nlocal particle_timers = {}\r\n\r\nlocal canv = love.graphics.newCanvas(love.graphics.getWidth(), love.graphics.getHeight())\r\nlocal last_width,last_height = love.graphics.getWidth(),love.graphics.getHeight()\r\n\r\nlocal viewport\r\n\r\nlocal displaywords = false\r\n\r\nlocal stack_box, stack_font\r\nlocal pathlock_box, pathlock_font\r\nlocal initialwindoposition\r\nstopwatch = nil\r\n\r\ndrag_units = {}\r\nmous_for_drag_unit = {}\r\ninitialxy_for_drag_unit = {}\r\n\r\nlocal sessionseed\r\n\r\nlocal buttons = {}--{\"resume\", \"editor\", \"exit\", \"restart\"}\r\nlocal darken = nil\r\nlocal button_last_y = 0\r\npause = false\r\nselected_pause_button = 1\r\n\r\ndoing_rhythm_turn = false\r\n\r\nfunction scene.load()\r\n  sessionseed = math.random(0,100000000)/100000000\r\n\r\n  repeat_timers = {}\r\n  key_down = {}\r\n  selector_open = false\r\n\r\n  stack_box = {x = 0, y = 0, scale = 0, units = {}, enabled = false}\r\n  pathlock_box = {x = 0, y = 0, scale = 0, enabled = false}\r\n  stack_font = love.graphics.newFont(12)\r\n  stack_font:setFilter(\"nearest\",\"nearest\")\r\n  pathlock_font = love.graphics.newFont(16)\r\n  drag_units = {}\r\n  mous_for_drag_unit = {}\r\n  initialxy_for_drag_unit = {}\r\n\r\n  scene.resetStuff()\r\n\r\n  local now = os.time(os.date(\"*t\"))\r\n  presence = {\r\n    state = \"ingame\",\r\n    details = \"playing the gam\",\r\n    largeImageKey = \"cover\",\r\n    largeimageText = \"bab be u\",\r\n    smallImageKey = \"icon\",\r\n    smallImageText = \"bab\",\r\n    startTimestamp = now\r\n  }\r\n  nextPresenceUpdate = 0\r\n\r\n  if level_name then\r\n    presence[\"details\"] = \"playing level: \"..level_name\r\n  end\r\n\r\n  mouse_grabbed = false\r\n  love.mouse.setGrabbed(false)\r\n\r\n  -- mobile buttons\r\n  local screenwidth = love.graphics.getWidth()\r\n  local screenheight = love.graphics.getHeight()\r\n  local twelfth = screenwidth/12\r\n\r\n  mobile_controls_activekeys = \"wasd\"\r\n\r\n  gooi.newButton({text = \"\",x = 10*twelfth,y = screenheight-3*twelfth,w = twelfth,h = twelfth,group = \"mobile-controls\"}):onPress(function(c) doOneMove(0,-1,mobile_controls_activekeys) end):setBGImage(sprites[\"ui/arrow up\"]):bg({0, 0, 0, 0})\r\n  gooi.newButton({text = \"\",x = 11*twelfth,y = screenheight-2*twelfth,w = twelfth,h = twelfth,group = \"mobile-controls\"}):onPress(function(c) doOneMove(1,0,mobile_controls_activekeys) end):setBGImage(sprites[\"ui/arrow right\"]):bg({0, 0, 0, 0})\r\n  gooi.newButton({text = \"\",x = 10*twelfth,y = screenheight-1*twelfth,w = twelfth,h = twelfth,group = \"mobile-controls\"}):onPress(function(c) doOneMove(0,1,mobile_controls_activekeys) end):setBGImage(sprites[\"ui/arrow down\"]):bg({0, 0, 0, 0})\r\n  gooi.newButton({text = \"\",x =  9*twelfth,y = screenheight-2*twelfth,w = twelfth,h = twelfth,group = \"mobile-controls\"}):onPress(function(c) doOneMove(-1,0,mobile_controls_activekeys) end):setBGImage(sprites[\"ui/arrow left\"]):bg({0, 0, 0, 0})\r\n\r\n  gooi.newButton({text = \"\",x = 11*twelfth,y = screenheight-3*twelfth,w = twelfth,h = twelfth,group = \"mobile-controls\"}):onPress(function(c) doOneMove(1,-1,mobile_controls_activekeys) end):setBGImage(sprites[\"ui/arrow ur\"]):bg({0, 0, 0, 0})\r\n  gooi.newButton({text = \"\",x = 11*twelfth,y = screenheight-1*twelfth,w = twelfth,h = twelfth,group = \"mobile-controls\"}):onPress(function(c) doOneMove(1,1,mobile_controls_activekeys) end):setBGImage(sprites[\"ui/arrow dr\"]):bg({0, 0, 0, 0})\r\n  gooi.newButton({text = \"\",x = 9*twelfth,y = screenheight-1*twelfth,w = twelfth,h = twelfth,group = \"mobile-controls\"}):onPress(function(c) doOneMove(-1,1,mobile_controls_activekeys) end):setBGImage(sprites[\"ui/arrow dl\"]):bg({0, 0, 0, 0})\r\n  gooi.newButton({text = \"\",x = 9*twelfth,y = screenheight-3*twelfth,w = twelfth,h = twelfth,group = \"mobile-controls\"}):onPress(function(c) doOneMove(-1,-1,mobile_controls_activekeys) end):setBGImage(sprites[\"ui/arrow ul\"]):bg({0, 0, 0, 0})\r\n\r\n  gooi.newButton({text = \"\",x = 10*twelfth,y = screenheight-2*twelfth,w = twelfth,h = twelfth,group = \"mobile-controls\"}):onPress(function(c) doOneMove(0,0,mobile_controls_activekeys) end):setBGImage(sprites[\"ui/square\"]):bg({0, 0, 0, 0})\r\n\r\n  gooi.newButton({text = \"\",x = 9.25*twelfth,y = 0.25*twelfth,w = twelfth,h = twelfth,group = \"mobile-controls\"}):onPress(function(c) doOneMove(0, 0, \"undo\") end):setBGImage(sprites[\"ui/undo\"]):bg({0, 0, 0, 0})\r\n  gooi.newButton({text = \"\",x = 10.75*twelfth,y = 0.25*twelfth,w = twelfth,h = twelfth,group = \"mobile-controls\"}):onPress(function(c) scene.resetStuff() end):setBGImage(sprites[\"ui/reset\"]):bg({0, 0, 0, 0})\r\n\r\n  mobile_controls_timeless = gooi.newButton({text = \"\",x = 10*twelfth,y = 1.5*twelfth,w = twelfth,h = twelfth,group = \"mobile-controls\"}):onPress(function(c) doOneMove(0, 0, \"e\") end):setBGImage(sprites[\"ui/timestop\"]):bg({0, 0, 0, 0})\r\n\r\n  mobile_controls_p1 = gooi.newButton({text = \"\",x = 9*twelfth,y = screenheight-4.15*twelfth,w = twelfth,h = twelfth,group = \"mobile-controls\"}):onPress(function(c)\r\n    mobile_controls_activekeys = \"wasd\"\r\n    mobile_controls_p1:setBounds(9*twelfth, screenheight-4.15*twelfth)\r\n    mobile_controls_p2:setBounds(10*twelfth, screenheight-4.25*twelfth)\r\n    mobile_controls_p3:setBounds(11*twelfth, screenheight-4.25*twelfth)\r\n  end):setBGImage(sprites[\"ui_1\"]):bg({0, 0, 0, 0})\r\n  mobile_controls_p2 = gooi.newButton({text = \"\",x = 10*twelfth,y = screenheight-4.25*twelfth,w = twelfth,h = twelfth,group = \"mobile-controls\"}):onPress(function(c)\r\n    mobile_controls_activekeys = \"udlr\"\r\n    mobile_controls_p1:setBounds(9*twelfth, screenheight-4.25*twelfth)\r\n    mobile_controls_p2:setBounds(10*twelfth, screenheight-4.15*twelfth)\r\n    mobile_controls_p3:setBounds(11*twelfth, screenheight-4.25*twelfth)\r\n  end):setBGImage(sprites[\"ui_2\"]):bg({0, 0, 0, 0})\r\n  mobile_controls_p3 = gooi.newButton({text = \"\",x = 11*twelfth,y = screenheight-4.25*twelfth,w = twelfth,h = twelfth,group = \"mobile-controls\"}):onPress(function(c)\r\n    mobile_controls_activekeys = \"numpad\"\r\n    mobile_controls_p1:setBounds(9*twelfth, screenheight-4.25*twelfth)\r\n    mobile_controls_p2:setBounds(10*twelfth, screenheight-4.25*twelfth)\r\n    mobile_controls_p3:setBounds(11*twelfth, screenheight-4.15*twelfth)\r\n  end):setBGImage(sprites[\"ui_3\"]):bg({0, 0, 0, 0})\r\n\r\n  stopwatch = {visible = false, big = {rotation=0}, small = {rotation=0}}\r\n\r\n  gooi.setGroupVisible(\"mobile-controls\", is_mobile)\r\n\r\n  pause = false\r\n  scene.selecting = false\r\n\r\n  scene.buildUI()\r\nend\r\n\r\nfunction scene.buildUI()\r\n  -- darken is a UI element so that it can take focus from all UI underneath it\r\n  darken = ui.component.new():setColor(0, 0, 0, 0.5):setSize(love.graphics.getWidth(), love.graphics.getHeight()):setFill(true)\r\n\r\n  buttons = {}\r\n\r\n  if not options then\r\n    scene.addButton(\"resume\", function() pause = false end)\r\n    scene.addButton(\"restart\", function() pause = false; scene.resetStuff() end)\r\n    scene.addButton(\"editor\", function() new_scene = editor; load_mode = \"edit\" end)\r\n    scene.addButton(\"options\", function() options = true; scene.buildUI() end)\r\n    scene.addButton(\"exit to \" .. escResult(false), function() escResult(true) end)\r\n  else\r\n    buildOptions()\r\n  end\r\n\r\n  local ox, oy = love.graphics.getWidth()/2, buttons[1]:getHeight()*3\r\n  for _,button in ipairs(buttons) do\r\n    local width, height = button:getSize()\r\n    button:setPos(ox - width/2, oy)\r\n    oy = oy + height + 10\r\n  end\r\n  button_last_y = oy\r\nend\r\n\r\nfunction scene.addButton(text, func)\r\n  local button = ui.menu_button.new(text, #buttons%2+1, func)\r\n  table.insert(buttons, button)\r\n  return button\r\nend\r\n\r\nfunction scene.addOption(id, name, options, changed)\r\n  local option = 1\r\n  for i,v in ipairs(options) do\r\n    if settings[id] == v[2] then\r\n      option = i\r\n    end\r\n  end\r\n  scene.addButton(name .. \": \" .. options[option][1], function()\r\n    settings[id] = options[(((option-1)+1)%#options)+1][2]\r\n    saveAll()\r\n    if changed then\r\n      changed(settings[id])\r\n    end\r\n    scene.buildUI()\r\n  end)\r\nend\r\n\r\nfunction scene.update(dt)\r\n  mouse_X = love.mouse.getX()\r\n  mouse_Y = love.mouse.getY()\r\n\r\n  --mouse_movedX = love.mouse.getX() - love.graphics.getWidth()*0.5\r\n  --mouse_movedY = love.mouse.getY() - love.graphics.getHeight()*0.5\r\n\r\n  sound_volume = {}\r\n\r\n  scene.checkInput()\r\n  updateCursors()\r\n  \r\n  updateDragabl()\r\n\r\n  mouse_oldX = mouse_X\r\n  mouse_oldY = mouse_Y\r\n\r\n  if pause then dt = 0 end\r\n\r\n  if xwxShader then\r\n    xwxShader:send(\"time\", dt) -- send delta time to the shader\r\n  end\r\n\r\n  --TODO: PERFORMANCE: If many things are producing particles, it's laggy as heck.\r\n  scene.doPassiveParticles(dt, \":)\", \"bonus\", 0.25, 1, 1, {2, 4})\r\n  scene.doPassiveParticles(dt, \"un:)\", \"unwin\", 0.25, 1, 1, {1, 2})\r\n  scene.doPassiveParticles(dt, \"nxt\", \"nxt\", 0.25, 1, 1, {0, 3})\r\n  scene.doPassiveParticles(dt, \":o\", \"bonus\", 0.5, 0.8, 1, {4, 1})\r\n  scene.doPassiveParticles(dt, \"qt\", \"love\", 0.25, 0.5, 1, {4, 2})\r\n  scene.doPassiveParticles(dt, \"slep\", \"slep\", 1, 0.33, 1, {0, 3})\r\n  scene.doPassiveParticles(dt, \"thonk\", \"thonk\", 0.25, 0.5, 1, {0, 3})\r\n  scene.doPassiveParticles(dt, \"tryagain\", \"bonus\", 0.25, 0.25, 1, {3, 3})\r\n\t\r\n  doReplay(dt)\r\n  if rules_with and rules_with[\"rythm\"] then\r\n    doRhythm()\r\n  end\r\n  updateCamera()\r\nend\r\n\r\nfunction updateCamera()\r\n  if units_by_name and units_by_name[\"camra\"] and #units_by_name[\"camra\"] > 0 then\r\n    local camera = units_by_name[\"camra\"][1]\r\n    local vx, vy, vw, vh = camera.special.camera.x, camera.special.camera.y, camera.special.camera.w, camera.special.camera.h\r\n\r\n    local function updateCamPos()\r\n\r\n    end\r\n\r\n    local function setViewport(v)\r\n      if not v then\r\n        viewport = {\r\n          x = camera.x - vx - (vw - 1)/2,\r\n          y = camera.y - vy - (vh - 1)/2,\r\n          w = vw,\r\n          h = vh,\r\n          last_cam_x = camera.x,\r\n          last_cam_y = camera.y,\r\n        }\r\n      else\r\n        local x = math.floor(v.x + v.w/2)\r\n        local y = math.floor(v.y + v.h/2)\r\n        moveUnit(camera, x, y, nil, false)\r\n        v.last_cam_x = camera.x\r\n        v.last_cam_y = camera.y\r\n        viewport = v\r\n      end\r\n    end\r\n\r\n    if not viewport or camera.x ~= last_cam_x or camera.y ~= last_cam_y then\r\n      setViewport()\r\n    end\r\n\r\n    if rules_with then\r\n      local stalking = {}\r\n      local stalk_rules = matchesRule(camera, \"stalk\", nil)\r\n      for _,match in ipairs(stalk_rules) do\r\n        table.insert(stalking, match[2])\r\n      end\r\n      if #stalking > 0 then\r\n        local full_rect\r\n        for _,stalkee in ipairs(stalking) do\r\n          local stalk_rect = {}\r\n          stalk_rect.x1 = stalkee.draw.x - vx - (vw - 1)/2\r\n          stalk_rect.y1 = stalkee.draw.y - vy - (vh - 1)/2\r\n          stalk_rect.x2 = stalk_rect.x1 + vw\r\n          stalk_rect.y2 = stalk_rect.y1 + vh\r\n\r\n          if not full_rect then\r\n            full_rect = stalk_rect\r\n          else\r\n            full_rect.x1 = math.min(full_rect.x1, stalk_rect.x1)\r\n            full_rect.y1 = math.min(full_rect.y1, stalk_rect.y1)\r\n            full_rect.x2 = math.max(full_rect.x2, stalk_rect.x2)\r\n            full_rect.y2 = math.max(full_rect.y2, stalk_rect.y2)\r\n          end\r\n        end\r\n        if full_rect then\r\n          setViewport{\r\n            x = full_rect.x1,\r\n            y = full_rect.y1,\r\n            w = full_rect.x2 - full_rect.x1,\r\n            h = full_rect.y2 - full_rect.y1,\r\n          }\r\n          return\r\n        end\r\n      end\r\n    end\r\n  else\r\n    viewport = nil\r\n  end\r\nend\r\n\r\nfunction doRhythm()\r\n  if replay_playback then return false end\r\n\tif love.timer.getTime() > (rhythm_time + rhythm_interval) then\r\n    if not pause and not past_playback then\r\n      rhythm_time = rhythm_time + rhythm_interval\r\n      doMovement(0, 0, \"rythm\")\r\n    end\r\n\tend\r\nend\r\n\r\nfunction doReplay(dt)\r\n  if not replay_playback then return false end\r\n\tif love.timer.getTime() > (replay_playback_time + replay_playback_interval) then\r\n    if not pause and not replay_pause and not past_playback then\r\n      replay_playback_time = replay_playback_time + replay_playback_interval\r\n      doReplayTurn(replay_playback_turn)\r\n      replay_playback_turn = replay_playback_turn + 1\r\n    else\r\n      replay_playback_time = love.timer.getTime()\r\n    end\r\n\tend\r\n  return true\r\nend\r\n\r\nfunction doReplayTurn(turn)\r\n    if (replay_playback_turns == nil) then\r\n    replay_playback_string_parts = replay_playback_string:split(\"|\")\r\n    replay_playback_turns = replay_playback_string_parts[1]:split(\";\")\r\n    if (replay_playback_string_parts[2] ~= nil) then\r\n      local ok, loaded_rng_cache = serpent.load(love.data.decode(\"string\", \"base64\", replay_playback_string_parts[2]))\r\n      if (not ok) then\r\n        print(\"Serpent error while loading:\", ok, fullDump(loaded_rng_cache))\r\n      end\r\n      rng_cache = loaded_rng_cache\r\n    end\r\n  end\r\n\tlocal turn_string = replay_playback_turns[turn]\r\n\tif (turn_string == nil or turn_string == \"\") then\r\n\t\treplay_playback = false\r\n\t\tprint(\"Finished playback at turn: \"..tostring(turn))\r\n    return\r\n\tend\r\n\tlocal turn_parts = turn_string:split(\",\")\r\n\tx, y, key = tonumber(turn_parts[1]), tonumber(turn_parts[2]), turn_parts[3]\r\n  if (key == \"clikt\") then\r\n    last_click_button = 1\r\n    playSound(\"clicc\")\r\n  elseif (key == \"anti clikt\") then\r\n    last_click_button = 2\r\n    playSound(\"anti clicc\")\r\n  end\r\n  if (key:sub(1, 4) == \"drag\") then\r\n    last_click_button = 1\r\n    drag_units = {}\r\n    local drag_units_data = key:sub(6):split(\":\")\r\n    for _,drag_unit_data in ipairs(drag_units_data) do\r\n      local dudparts = drag_unit_data:split(\"@\")\r\n      local did, dx, dy = tonumber(dudparts[1]), tonumber(dudparts[2])-0.5, tonumber(dudparts[3])-0.5\r\n      if did~= nil then\r\n        local unit = units_by_id[did] or cursors_by_id[did]\r\n        if unit ~= nil then\r\n          --hack for unit tests mode - draw doesn't exist so we'll just... pretend\r\n          if (unit.draw == nil) then\r\n            unit.draw = {}\r\n          end\r\n          unit.draw.x = dx;\r\n          unit.draw.y = dy;\r\n          table.insert(drag_units, unit);\r\n        end\r\n      end\r\n    end\r\n    finishDragabl();\r\n    drag_units = {}\r\n    key = \"drag\"\r\n  end\r\n\tif (x == nil or y == nil) then\r\n\t\treplay_playback = false\r\n\t\tprint(\"Finished playback at turn: \"..tostring(turn))\r\n    return\r\n\telse\r\n    if (turn_parts[4] ~= nil) then\r\n      local ok, cursor_table = serpent.load(love.data.decode(\"string\", \"base64\", turn_parts[4]))\r\n      if (not ok) then\r\n        print(\"Serpent error while loading:\", ok, fullDump(cursor_table))\r\n      else\r\n        for i,coords in ipairs(cursor_table) do\r\n          local cursor = cursors[i]\r\n          if (cursor == nil) then\r\n            --print(\"Couldn't find cursor while doing replay, halp\")\r\n          else\r\n            cursor.x = coords[1]\r\n            cursor.y = coords[2]\r\n            if (not unit_tests) then\r\n              local screenx, screeny = gameTileToScreen(cursor.x+0.5, cursor.y+0.5)\r\n              cursor.screenx = screenx\r\n              cursor.screeny = screeny\r\n            end\r\n          end\r\n        end\r\n      end\r\n    end\r\n    doOneMove(x, y, key)\r\n  end\r\nend\r\n\r\nfunction string:split(sSeparator, nMax, bRegexp)\r\n   assert(sSeparator ~= '')\r\n   assert(nMax == nil or nMax >= 1)\r\n\r\n   local aRecord = {}\r\n\r\n   if self:len() > 0 then\r\n      local bPlain = not bRegexp\r\n      nMax = nMax or -1\r\n\r\n      local nField, nStart = 1, 1\r\n      local nFirst,nLast = self:find(sSeparator, nStart, bPlain)\r\n      while nFirst and nMax ~= 0 do\r\n         aRecord[nField] = self:sub(nStart, nFirst-1)\r\n         nField = nField+1\r\n         nStart = nLast+1\r\n         nFirst,nLast = self:find(sSeparator, nStart, bPlain)\r\n         nMax = nMax-1\r\n      end\r\n      aRecord[nField] = self:sub(nStart)\r\n   end\r\n\r\n   return aRecord\r\nend\r\n\r\nfunction scene.resetStuff(forTime)\r\n  if not forTime then\r\n    pastClear()\r\n  end\r\n  timeless = false\r\n  clear()\r\n  if not is_mobile then\r\n    love.mouse.setCursor(empty_cursor)\r\n  end\r\n  --love.mouse.setGrabbed(true)\r\n  resetMusic(map_music, 0.9)\r\n  rules_with = nil --fix for thicc/rotatabl persisting through restart since we check a couple of rules in createUnit. doesn't seem to break anything?\r\n  loadMap()\r\n  clearRules()\r\n  parseRules()\r\n  updateGroup()\r\n  calculateLight()\r\n  updateUnits(true)\r\n  updatePortals()\r\n  miscUpdates(true)\r\n  thiccBlock(true)\r\n  next_levels, next_level_objs = getNextLevels()\r\n  first_turn = false\r\n  window_dir = 0\r\n  \r\n  if playing_world then\r\n    saveWorld()\r\n  end\r\n  selectLastLevels()\r\nend\r\n    \r\nfunction scene.keyPressed(key, isrepeat)\r\n  if isrepeat then\r\n    return\r\n  end\r\n\r\n  last_input_time = love.timer.getTime()\r\n\r\n  if key == \"escape\" then\r\n    \r\n    --[[local current_level = level_name\r\n    if readSaveFile(level_name, \"won\") then\r\n      current_level = current_level..\" (won) \"\r\n    end\r\n    if readSaveFile(level_name, \"clear\") then\r\n      current_level = current_level..\" (cleared) \"\r\n    end\r\n    if readSaveFile(level_name, \"complete\") then\r\n      current_level = current_level..\" (complete) \"\r\n    end\r\n    if readSaveFile(level_name, \"bonus\") then\r\n      current_level = current_level..\" (bonused) \"\r\n    end\r\n    local tfs = readSaveFile(level_name, \"transform\")\r\n    if tfs then\r\n      current_level = current_level..\" (transformed into \" .. fullDump(tfs) .. \") \"\r\n    end\r\n    \r\n    ui.overlay.confirm({\r\n        text = current_level .. \"\\r\\n\\r\\n\" .. (spookmode and \"G̴͔̭͇͎͕͔ͪ̾ͬͦ̇͑͋͟͡o̵̸͓̠̦̱̭̘͍̱͑̃̀ͅ ̱̫͉̆͐̇ͥ̽͆͂͑̿͜b̸̵͈̼̜̅͗̄̆ͅa͚̠͚̣̺̗͖͈̓̿̈́͆͐̉ͯ̀̚c͉̜̙̤͍̞̳̬ͪ̇k̙͙̼̀̓̂̑̈́̌ͯ̕͢ͅ ̶̛̠̹̈̒ͫ͐t̙͉͍͚̠̗̰͗͊͛ͫ͒ͥ̏ͫ͢͜ȍ̙͙̪̬̎̊ͫͭͫ͗̔̚ ̴̪͖͔̖̙̬͍̥ͪ̾̾͂͂l̪͉͙̪̩͙̎̏͌̽ͤ̈́̀͜͠e̡͓͍͉̖̤ͬ̓̏ͥͫ̀ͅv̱͈͍̞̼̀͋̂̃͋́̚͠ͅḛ̷̷̱̿͂l̢̮͇̫̗͍̱͈̟͌̐̎̑̈́ ̵̠͖̣̟̲̖̇̈̓ͭͫ͠s͚̝̻ͤ̓̀̀e̅͑̐̄͏̤̫̕͠lͨ͋͌ͤͩ̋̓͏̘̼̠̪̖͓͔̹e̵͖̤̒͒ͥ̓ͬ̓͘c͖͈̏̄̐̅̎ͨ͢ṫ͔̥͓̊̌̓̇ọ̞̤͔̩̒͗ͨ́̓͟ŗ̖͉̹̻̮̬̦͌̿͂?̶̡͈̫̗̈́̒̎̃̎̓\" or \"Go back to \"..escResult(false)..\"?\"),\r\n        okText = \"Yes\",\r\n        cancelText = spookmode and \"Yes\" or \"Cancel\",\r\n        ok = function()\r\n          escResult(true)\r\n        end\r\n      })\r\n      return]]\r\n\r\n    pause = not pause\r\n    selected_pause_button = 1\r\n  end\r\n  \r\n  \r\n    if key == \"g\" and (key_down[\"lctrl\"] or key_down[\"rctrl\"]) then\r\n        settings[\"grid_lines\"] = not settings[\"grid_lines\"]\r\n        saveAll()\r\n    end\r\n  \r\n  \r\n  if pause then\r\n    scene.selecting = true\r\n    --[[if key == \"w\" or key == \"up\" or key == \"i\" or key == \"kp8\" then\r\n      selected_pause_button = selected_pause_button - 1\r\n      if selected_pause_button < 1 then\r\n        selected_pause_button = #buttons\r\n      end\r\n    elseif key == \"s\" or key == \"down\" or key == \"k\" or key == \"kp2\" then\r\n      selected_pause_button = selected_pause_button + 1\r\n      if selected_pause_button > #buttons then\r\n        selected_pause_button = 1\r\n      end\r\n    elseif key == \"return\" or key == \"space\" or key == \"kpenter\" then\r\n      handlePauseButtonPressed(selected_pause_button)\r\n    end]]\r\n  else\r\n    scene.selecting = false\r\n    local do_turn_now = false\r\n\r\n    if (key == \"w\" or key == \"a\" or key == \"s\" or key == \"d\") then\r\n      if not repeat_timers[\"wasd\"] or repeat_timers[\"wasd\"] > 30 then\r\n        repeat_timers[\"wasd\"] = 30\r\n      elseif repeat_timers[\"wasd\"] <= 30 then\r\n        do_turn_now = true\r\n        repeat_timers[\"wasd\"] = 0\r\n      end\r\n    elseif (key == \"up\" or key == \"down\" or key == \"left\" or key == \"right\") then\r\n      if not repeat_timers[\"udlr\"] or repeat_timers[\"udlr\"] > 30 then\r\n        repeat_timers[\"udlr\"] = 30\r\n      elseif repeat_timers[\"udlr\"] <= 30 then\r\n        do_turn_now = true\r\n        repeat_timers[\"udlr\"] = 0\r\n      end\r\n    elseif (key == \"i\" or key == \"j\" or key == \"k\" or key == \"l\") then\r\n      if not repeat_timers[\"ijkl\"] or repeat_timers[\"ijkl\"] > 30 then\r\n        repeat_timers[\"ijkl\"] = 30\r\n      elseif repeat_timers[\"ijkl\"] <= 30 then\r\n        do_turn_now = true\r\n        repeat_timers[\"ijkl\"] = 0\r\n      end\r\n    elseif (key == \"kp1\" or\r\n    key == \"kp2\" or\r\n    key == \"kp3\" or\r\n    key == \"kp4\" or\r\n    key == \"kp5\" or\r\n    key == \"kp6\" or\r\n    key == \"kp7\" or\r\n    key == \"kp8\" or\r\n    key == \"kp9\") then\r\n      if not repeat_timers[\"udlr\"] then\r\n        do_turn_now = true\r\n        repeat_timers[\"numpad\"] = 0\r\n      end\r\n    elseif (key == \"z\" or key == \"q\" or key == \"backspace\" or key == \"kp0\" or key == \"o\") then\r\n      if not repeat_timers[\"undo\"] then\r\n          do_turn_now = true\r\n          repeat_timers[\"undo\"] = 0\r\n      end\r\n    end\r\n    \r\n   if rules_with and rules_with[\"rythm\"] then\r\n      if key == \"+\" or key == \"=\" then\r\n        rhythm_interval = rhythm_interval * 0.8\r\n      elseif key == \"-\" or key == \"_\" then\r\n        rhythm_interval = rhythm_interval / 0.8\r\n      end\r\n    end\r\n    \r\n    --print(rhythm_interval)\r\n\r\n    for _,v in ipairs(repeat_keys) do\r\n      if v == key then\r\n        do_turn_now = true\r\n        repeat_timers[v] = 0\r\n      end\r\n    end\r\n\r\n    if key == \"r\" then\r\n      if not currently_winning or not key_down[\"lctrl\"] then\r\n        scene.resetStuff()\r\n      elseif not RELEASE_BUILD and world_parent == \"officialworlds\" then\r\n        local file = love.filesystem.getSource() .. \"/\" .. getWorldDir() .. \"/\" .. level_filename .. \".replay\"\r\n        local f = io.open(file, \"w\"); f:write(official_replay_string); f:close()\r\n        print(\"Replay successfully saved to \" .. getWorldDir() .. \"/\" .. level_filename .. \".replay\")\r\n      end\r\n    end\r\n    \r\n    -- Replay keys\r\n      if key == \"f12\" then\r\n        if not replay_playback then\r\n          tryStartReplay()\r\n        else\r\n          replay_playback = false\r\n        end\r\n      end\r\n      \r\n      if replay_playback and not pause then\r\n        if key == \"+\" or key == \"=\" or key == \"w\" or key == \"up\" then\r\n          replay_playback_interval = replay_playback_interval * 0.8\r\n        elseif key == \"-\" or key == \"_\" or key == \"s\" or key == \"down\" then\r\n          replay_playback_interval = replay_playback_interval / 0.8\r\n        elseif key == \"0\" or key == \")\" then\r\n          replay_playback_interval = 0.3\r\n        elseif key == \"space\" then\r\n          replay_pause = not replay_pause\r\n        elseif key == \"z\" or key == \"q\" or key == \"backspace\" or key == \"kp0\" or key == \"o\" or key == \"a\" or key == \"left\" then\r\n          replay_pause = true\r\n          if replay_playback_turn > 1 then\r\n            replay_playback_turn = replay_playback_turn - 1\r\n            doOneMove(0,0,\"undo\")\r\n          end\r\n          print(replay_playback_turn)\r\n        elseif key == \"d\" or key == \"right\" then\r\n          doReplayTurn(replay_playback_turn)\r\n          replay_playback_turn = replay_playback_turn + 1\r\n        elseif key == \"e\" then\r\n          replay_playback_interval = 0\r\n        end\r\n      end\r\n      \r\n    if key == \"e\" and not currently_winning and not replay_playback then\r\n      doOneMove(0, 0, \"e\")\r\n    end\r\n    \r\n    if key == \"f\" and not currently_winning and not replay_playback then\r\n      doOneMove(0, 0, \"f\")\r\n    end\r\n\r\n    if key == \"tab\" then\r\n      displaywords = true\r\n    end\r\n    \r\n    if key == \"y\" and hasU(\"swan\") and units_by_name[\"swan\"] then\r\n        playSound(\"honk\"..love.math.random(1,6))\r\n    end\r\n\r\n    most_recent_key = key\r\n    key_down[key] = true\r\n\r\n    if (do_turn_now) then\r\n      scene.checkInput()\r\n    end\r\n  end\r\nend\r\n\r\nfunction tryStartReplay(instant)\r\n  scene.resetStuff()\r\n  local dir = getWorldDir() .. \"/\"\r\n  local full_dir = getWorldDir(true) .. \"/\"\r\n  if love.filesystem.getInfo(dir .. level_filename .. \".replay\") then\r\n    replay_playback_string = love.filesystem.read(dir .. level_filename .. \".replay\")\r\n    replay_playback = true\r\n    print(\"Started replay from: \"..dir .. level_filename .. \".replay\")\r\n  elseif love.filesystem.getInfo(full_dir .. level_name .. \".replay\") then\r\n    replay_playback_string = love.filesystem.read(full_dir .. level_name .. \".replay\")\r\n    replay_playback = true\r\n    print(\"Started replay from: \"..full_dir .. level_name .. \".replay\")\r\n  elseif love.filesystem.getInfo(\"levels/\" .. level_filename .. \".replay\") then\r\n    replay_playback_string = love.filesystem.read(\"levels/\" .. level_filename .. \".replay\")\r\n    replay_playback = true\r\n    print(\"Started replay from: \"..\"levels/\" .. level_filename .. \".replay\")\r\n  elseif love.filesystem.getInfo(\"levels/\" .. level_name .. \".replay\") then\r\n    replay_playback_string = love.filesystem.read(\"levels/\" .. level_name .. \".replay\")\r\n    replay_playback = true\r\n    print(\"Started replay from: \"..\"levels/\" .. level_name .. \".replay\")\r\n  else\r\n    print(\"Failed to find replay: \".. dir .. level_filename .. \".replay\")\r\n  end\r\n\r\n  if instant then\r\n    local turn = 1\r\n    while replay_playback do\r\n      doReplayTurn(turn)\r\n      turn = turn + 1\r\n    end\r\n  end\r\nend\r\n\r\n--TODO: Releasing a key could signal to instantly run input under certain circumstances.\r\n--UPDATE: I tested it and it didn't help (the keyReleased function never got called before the 30ms elapsed). I have no idea why.\r\nfunction scene.keyReleased(key)\r\n  for _,v in ipairs(repeat_keys) do\r\n    if v == key then\r\n      repeat_timers[v] = nil\r\n    end\r\n  end\r\n\r\n  if key == \"tab\" then\r\n    displaywords = false\r\n  end\r\n\r\n  if key == \"z\" or key == \"q\" or key == \"backspace\" or key == \"kp0\" or key == \"o\" then\r\n    UNDO_DELAY = settings[\"input_delay\"]\r\n  end\r\n\r\n  --[[local do_turn_now = false\r\n\r\n  print(key)\r\n  if key == \"w\" or key == \"s\" and not key_down[\"a\"] and not key_down[\"d\"] then\r\n    print(repeat_timers[\"wasd\"])\r\n    if repeat_timers[\"wasd\"] <= 30 then\r\n      do_turn_now = true\r\n      repeat_timers[\"wasd\"] = 0\r\n    end\r\n  elseif key == \"a\" or key == \"d\" and not key_down[\"w\"] and not key_down[\"s\"] then\r\n    if repeat_timers[\"wasd\"] <= 30 then\r\n      do_turn_now = true\r\n      repeat_timers[\"wasd\"] = 0\r\n    end\r\n  elseif key == \"up\" or key == \"down\" and not key_down[\"left\"] and not key_down[\"right\"] then\r\n    if repeat_timers[\"udlr\"] <= 30 then\r\n      do_turn_now = true\r\n      repeat_timers[\"udlr\"] = 0\r\n    end\r\n  elseif key == \"left\" or key == \"right\" and not key_down[\"up\"] and not key_down[\"down\"] then\r\n    if repeat_timers[\"udlr\"] <= 30 then\r\n      do_turn_now = true\r\n      repeat_timers[\"udlr\"] = 0\r\n    end\r\n  end\r\n\r\n  if (do_turn_now) then\r\n    print(\"asdf\")\r\n    scene.checkInput()\r\n  end]]--\r\n\r\n  key_down[key] = false\r\nend\r\n\r\nfunction scene.getTransform()\r\n  local transform = love.math.newTransform()\r\n\r\n  local roomwidth = mapwidth * TILE_SIZE\r\n  local roomheight = mapheight * TILE_SIZE\r\n\r\n  local screenwidth = love.graphics.getWidth() * (is_mobile and 0.75 or 1)\r\n  local screenheight = love.graphics.getHeight()\r\n\r\n  local targetwidth = (mapwidth + 4) * TILE_SIZE\r\n  local targetheight = (mapheight + 4) * TILE_SIZE\r\n\r\n  if viewport then\r\n    --local camera = units_by_name[\"camra\"][1]\r\n    --local vx, vy, vw, vh = camera.special.camera.x, camera.special.camera.y, camera.special.camera.w, camera.special.camera.h\r\n\r\n    local scale = math.min(screenwidth / (viewport.w * TILE_SIZE), screenheight / (viewport.h * TILE_SIZE))\r\n    local scaledwidth = screenwidth * (1/scale)\r\n    local scaledheight = screenheight * (1/scale)\r\n\r\n    --transform:translate(scaledwidth / 2 - roomwidth / 2, scaledheight / 2 - roomheight / 2)\r\n    --transform:translate((camera.x - vx + 0.5) * TILE_SIZE, (camera.y - vy + 0.5) * TILE_SIZE)\r\n    transform:scale(scale, scale)\r\n    transform:translate(-(viewport.x + viewport.w/2) * TILE_SIZE, -(viewport.y + viewport.h/2) * TILE_SIZE)\r\n    transform:translate(scaledwidth/2, scaledheight/2)\r\n  else\r\n    if settings[\"int_scaling\"] then\r\n      targetwidth = roomwidth\r\n      targetheight = roomheight\r\n    end\r\n\r\n    local scale = 1\r\n    if settings[\"int_scaling\"] then\r\n      local scales = {0.25, 0.375, 0.5, 0.75, 1, 2, 3, 4}\r\n      scale = scales[1]\r\n      for _,s in ipairs(scales) do\r\n        if screenwidth >= roomwidth * s and screenheight >= roomheight * s then\r\n          scale = s\r\n        else break end\r\n      end\r\n    else\r\n      scale = math.min(screenwidth / targetwidth, screenheight / targetheight)\r\n    end\r\n\r\n    local scaledwidth = screenwidth * (1/scale)\r\n    local scaledheight = screenheight * (1/scale)\r\n\r\n    transform:scale(scale, scale)\r\n    transform:translate(scaledwidth / 2 - roomwidth / 2, scaledheight / 2 - roomheight / 2)\r\n  end\r\n\r\n  if shake_dur > 0 and not outerlvl.cool then\r\n    local range = 1\r\n    transform:translate(math.random(-range, range), math.random(-range, range))\r\n  end\r\n\r\n  return transform\r\nend\r\n\r\n--TODO: PERFORMANCE: Calling hasProperty once per frame means that we have to index rules, check conditions, etc. with O(m*n) performance penalty. But, the results of these calls do not change until a new turn or undo. So, we can cache the values of these calls in a global table and dump the table whenever the turn changes for a nice and easy performance boost.\r\n--(Though this might not be true for mice, which can change their position mid-frame?? Also for other meta stuff (like windo)? Until there's mouse conditional rules or meta stuff in a puzzle IDK how this should actually work or be displayed. Just keep that in mind tho.)\r\nfunction scene.draw(dt)\r\n  if pause then dt = 0 end\r\n\r\n  local draw_empty = rules_with[\"no1\"] ~= nil\r\n  local start_time = love.timer.getTime()\r\n  -- reset canvas if the screen size has changed\r\n  if love.graphics.getWidth() ~= last_width or love.graphics.getHeight() ~= last_height then\r\n    last_width = love.graphics.getWidth()\r\n    last_height = love.graphics.getHeight()\r\n    canv = love.graphics.newCanvas(love.graphics.getWidth(), love.graphics.getHeight())\r\n  end\r\n\r\n  love.graphics.setCanvas{canv, stencil=true}\r\n  love.graphics.setShader()\r\n\r\n  --background color\r\n  local bg_color = {getPaletteColor(1, 0)}\r\n  \r\n  if timeless then bg_color = {getPaletteColor(0, 0)}\r\n  elseif rainbowmode then bg_color = {hslToRgb(love.timer.getTime()/6%1, .2, .2, .9), 1} end\r\n\r\n  love.graphics.setColor(bg_color[1], bg_color[2], bg_color[3], bg_color[4])\r\n\r\n  -- fill the background with the background color\r\n  love.graphics.rectangle(\"fill\", 0, 0, love.graphics.getWidth(), love.graphics.getHeight())\r\n\r\n  local roomwidth = mapwidth * TILE_SIZE\r\n  local roomheight = mapheight * TILE_SIZE\r\n\r\n  love.graphics.push()\r\n  love.graphics.applyTransform(scene.getTransform())\r\n\r\n  love.graphics.setColor(getPaletteColor(0,3))\r\n  love.graphics.printf(next_level_name, 0, -14, roomwidth)\r\n\r\n  local lvl_color = {getPaletteColor(0, 4)}\r\n  \r\n  --[[if hasProperty(outerlvl,\"tranz\") then\r\n    love.graphics.draw(sprites[\"overlay/trans\"], 0, 0, 0, roomwidth / sprites[\"overlay/trans\"]:getWidth(), roomheight / sprites[\"overlay/trans\"]:getHeight()) \r\n  end\r\n  if hasProperty(outerlvl,\"gay\") then\r\n    table.insert(outerlvl.overlay, \"gay\")\r\n  end]]\r\n  \r\n  -- Lvl be colors\r\n  if hasProperty(outerlvl,\"rave\") then\r\n    lvl_color = {hslToRgb((love.timer.getTime()/3+#undo_buffer/45)%1, 0.1, 0.1, .9), 1}\r\n  elseif hasProperty(outerlvl,\"colrful\") or rainbowmode then\r\n    lvl_color = {hslToRgb(love.timer.getTime()/6%1, .1, .1, .9), 1}\r\n  elseif (hasProperty(outerlvl,\"reed\") and hasProperty(outerlvl,\"whit\")) or hasProperty(outerlvl,\"pinc\") then\r\n    lvl_color = {getPaletteColor(4, 1)}\r\n  elseif (hasProperty(outerlvl,\"grun\") and hasProperty(outerlvl,\"whit\")) then\r\n    lvl_color = {getPaletteColor(5, 3)}\r\n  elseif hasProperty(outerlvl,\"whit\") then\r\n    lvl_color = {getPaletteColor(0, 3)}\r\n  elseif (hasProperty(outerlvl,\"bleu\") and hasProperty(outerlvl,\"reed\")) or hasProperty(outerlvl,\"purp\") then\r\n    lvl_color = {getPaletteColor(3, 1)}\r\n  elseif (hasProperty(outerlvl,\"reed\") and hasProperty(outerlvl,\"grun\")) or hasProperty(outerlvl,\"yello\") then\r\n    lvl_color = {getPaletteColor(2, 4)}\r\n  elseif (hasProperty(outerlvl,\"reed\") and hasProperty(outerlvl,\"yello\")) or hasProperty(outerlvl,\"orang\") then\r\n    lvl_color = {getPaletteColor(2, 3)}\r\n  elseif (hasProperty(outerlvl,\"bleu\") and hasProperty(outerlvl,\"grun\")) or hasProperty(outerlvl,\"cyeann\") then\r\n    lvl_color = {getPaletteColor(1, 4)}\r\n  elseif hasProperty(outerlvl,\"reed\") then\r\n    lvl_color = {getPaletteColor(2, 2)}\r\n  elseif hasProperty(outerlvl,\"bleu\") then\r\n    lvl_color = {getPaletteColor(1, 3)}\r\n  elseif hasProperty(outerlvl,\"grun\") then\r\n    lvl_color = {getPaletteColor(5, 2)}\r\n  elseif hasProperty(outerlvl,\"cyeann\") then\r\n    lvl_color = {getPaletteColor(1, 4)}\r\n  elseif hasProperty(outerlvl,\"blacc\") then\r\n    lvl_color = {getPaletteColor(0, 4)}\r\n  end\r\n\r\n  love.graphics.setColor(lvl_color[1], lvl_color[2], lvl_color[3], lvl_color[4])\r\n  \r\n  if not (level_destroyed or hasProperty(outerlvl, \"stelth\")) then\r\n    local flyenes = countProperty(outerlvl,\"flye\")\r\n    local mapy = 0 - math.sin(love.timer.getTime())*5*flyenes\r\n    love.graphics.rectangle(\"fill\", 0, mapy, roomwidth, roomheight)\r\n    if level_background_sprite ~= nil and level_background_sprite ~= \"\" and sprites[level_background_sprite] then\r\n      love.graphics.setColor(1, 1, 1)\r\n      local sprite = sprites[level_background_sprite]\r\n      love.graphics.draw(sprite, 0, 0, 0, 1, 1, 0, 0)\r\n    end\r\n  end\r\n  \r\n  if settings[\"grid_lines\"] then\r\n    love.graphics.setLineWidth(1)\r\n    local r,g,b,a = getPaletteColor(0,1)\r\n    love.graphics.setColor(r,g,b,0.3)\r\n    for i=1,mapwidth-1 do\r\n      love.graphics.line(i*TILE_SIZE,0,i*TILE_SIZE,roomheight)\r\n    end\r\n    for i=1,mapheight-1 do\r\n      love.graphics.line(0,i*TILE_SIZE,roomwidth,i*TILE_SIZE)\r\n    end\r\n  end\r\n\r\n  local function drawUnit(unit, drawx, drawy, rotation, loop)\r\n    if unit.name == \"no1\" and not (draw_empty and validEmpty(unit)) then return end\r\n    \r\n    local brightness = 1\r\n    if ((rules_with[\"wurd\"] and hasRule(unit,\"be\",\"wurd\")) or (rules_with[\"anti wurd\"] and hasRule(unit,\"be\",\"anti wurd\"))) and not unit.active and not level_destroyed and not (unit.fullname == \"prop\") then\r\n      brightness = 0.33\r\n    end\r\n\r\n    if (unit.name == \"steev\") and not hasU(unit) then\r\n      brightness = 0.33\r\n    end\r\n    \r\n    if unit.name == \"casete\" and not hasProperty(unit, \"nogo\") then\r\n      brightness = 0.5\r\n    end\r\n    \r\n    if timeless and not hasProperty(unit,\"zawarudo\") and not (unit.type == \"txt\") then\r\n      brightness = 0.33\r\n    end\r\n\r\n    if unit.fullname == \"txt_now\" then\r\n      if doing_past_turns then\r\n        unit.sprite = {\"txt/latr\"}\r\n      else\r\n        unit.sprite = {\"txt/now\"}\r\n      end\r\n    end\r\n\r\n    \r\n    if unit.rave then\r\n      -- print(\"unit \" .. unit.name .. \" is rave\")\r\n      local ravespeed = 0.75\r\n      if settings[\"epileptic\"] then\r\n        ravespeed = 7.5\r\n      end\r\n      \r\n      local newcolor = hslToRgb((love.timer.getTime()/ravespeed+#undo_buffer/45+unit.x/18+unit.y/18)%1, .5, .5, 1)\r\n      newcolor[1] = newcolor[1]*255\r\n      newcolor[2] = newcolor[2]*255\r\n      newcolor[3] = newcolor[3]*255\r\n      unit.color_override = newcolor\r\n    elseif unit.colrful or rainbowmode then\r\n      -- print(\"unit \" .. unit.name .. \" is colourful or rainbowmode\")\r\n      local newcolor = hslToRgb((love.timer.getTime()/15+#undo_buffer/45+unit.x/18+unit.y/18)%1, .5, .5, 1)\r\n      newcolor[1] = newcolor[1]*255\r\n      newcolor[2] = newcolor[2]*255\r\n      newcolor[3] = newcolor[3]*255\r\n      unit.color_override = newcolor\r\n    end\r\n    \r\n    local wobble_suffix = unit.wobble and (\"_\" .. (unit.frame + anim_stage) % 3 + 1) or \"\"\r\n    local sprite = sprites[unit.sprite[1]]\r\n\r\n    --no tweening empty for now - it's buggy!\r\n    --TODO: it's still a little buggy if you push/pull empties.\r\n    if (unit.name == \"no1\") then\r\n      --drawx = unit.x\r\n      --drawy = unit.y\r\n      --rotation = math.rad((unit.dir - 1) * 45)\r\n      unit.draw.scalex = 1\r\n      unit.draw.scaley = 1\r\n    end\r\n\r\n\t\tlocal function setColor(color)\r\n      color = type(color[1]) == \"table\" and color[1] or color\r\n      if #color == 3 then\r\n        if color[1] then\r\n          color = {color[1]/255, color[2]/255, color[3]/255, 1}\r\n        else\r\n          color = {1,1,1,1}\r\n        end\r\n      else\r\n        local palette = current_palette\r\n        if current_palette == \"default\" and unit.wobble then\r\n          palette = \"baba\"\r\n        end\r\n\t\t\t\tcolor = {getPaletteColor(color[1], color[2], palette)}\r\n\t\t\tend\r\n\r\n\t\t\t-- multiply brightness by darkened bg color\r\n\t\t\tfor i,c in ipairs(bg_color) do\r\n\t\t\t\tif i < 4 then\r\n\t\t\t\t\tcolor[i] = (1 - brightness) * (bg_color[i] * 0.5) + brightness * color[i]\r\n\t\t\t\tend\r\n\t\t\tend\r\n\r\n\t\t\tif #unit.overlay > 0 and type(unit.sprite) == \"string\" and eq(unit.color, getTile(unit.tile).color) then\r\n\t\t\t\tlove.graphics.setColor(1, 1, 1, unit.draw.opacity)\r\n\t\t\telse\r\n\t\t\t\tlove.graphics.setColor(color[1], color[2], color[3], unit.draw.opacity)\r\n\t\t\tend\r\n\t\t\treturn color\r\n\t\tend\r\n\t\t\r\n\t\tlocal color = setColor(getUnitColor(unit))\r\n    if unit.fullname == \"tronk\" then\r\n      if math.floor(love.timer.getTime()*10)%2 == 1 then\r\n        local r,g,b = getPaletteColor((getUnitColor(unit))[1],(getUnitColor(unit))[2])\r\n        setColor{r*350,g*350,b*350}\r\n      end\r\n    end\r\n    --check level_destroyed so that the object created by infloop is always white needs to be changed if we want objects to be able to survive level destruction\r\n    if level_destroyed then\r\n      setColor({0,3})\r\n    end\r\n\r\n    local fulldrawx = (drawx + 0.5)*TILE_SIZE\r\n    local fulldrawy = (drawy + 0.5)*TILE_SIZE\r\n    if (unit.draw.thicc) then\r\n      fulldrawx = fulldrawx + (unit.draw.thicc-1)*TILE_SIZE/2\r\n      fulldrawy = fulldrawy + (unit.draw.thicc-1)*TILE_SIZE/2\r\n    end\r\n\r\n    if graphical_property_cache[\"flye\"][unit] ~= nil or (unit.parent and graphical_property_cache[\"flye\"][unit.parent] ~= nil) or unit.name == \"o\" or unit.name == \"square\" or unit.name == \"triangle\" then\r\n      local flyenes = graphical_property_cache[\"flye\"][unit] or (unit.parent and graphical_property_cache[\"flye\"][unit.parent]) or 0\r\n      if unit.name == \"o\" or unit.name == \"square\" or unit.name == \"triangle\" then\r\n        flyenes = flyenes + 1\r\n      end\r\n      if flyenes > 0 then \r\n        fulldrawy = fulldrawy - math.sin(love.timer.getTime())*5*flyenes\r\n      end\r\n    end\r\n    \r\n    if unit.fullname == \"txt_temmi\" and unit.active then\r\n      local range = 0.5\r\n      fulldrawx = fulldrawx + math.random(-range, range)\r\n      fulldrawy = fulldrawy + math.random(-range, range)\r\n    end\r\n\r\n    local function getOffset()\r\n      if unit.cool or not settings[\"shake_on\"] then return 0,0 end\r\n      if rules_with[\"temmi\"] or rules_with[\"anti slep\"] then\r\n        local do_vibrate = false\r\n        if unit.fullname == \"temmi\" then\r\n          do_vibrate = true\r\n        elseif unit.type == \"txt\" and unit.active then\r\n          local rules_list = rules_with_unit[unit]\r\n          if rules_list then\r\n            for _,rules in ipairs(rules_list) do\r\n              for _,rule_unit in ipairs(rules.units) do\r\n                if rule_unit.fullname == \"txt_temmi\" then\r\n                  do_vibrate = true\r\n                  break\r\n                end\r\n              end\r\n              if do_vibrate then break end\r\n            end\r\n          end\r\n        elseif hasProperty(unit,\"anti slep\") then\r\n          do_vibrate = true\r\n        end\r\n        if do_vibrate then\r\n          if unit.fullname == \"temmi\" then\r\n            local props = countProperty(unit,\"?\")\r\n            props = props + (countProperty(unit,\"anti slep\") * 9)\r\n            if math.random() > 1/(props+1) then\r\n              return math.random(-props, props), math.random(-props, props)\r\n            end\r\n          else\r\n            local props = countProperty(unit,\"anti slep\")\r\n            if math.random() > 1/(props+1) then\r\n              return math.random(-props, props), math.random(-props, props)\r\n            elseif props == 0 and math.random() > 0.5 then\r\n              return math.random(-1,1), math.random(-1,1)\r\n            end\r\n          end\r\n        end\r\n      elseif shake_dur > 0 then\r\n        local range = 0.5\r\n        return math.random(-range, range), math.random(-range, range)\r\n      end\r\n      return 0,0\r\n    end\r\n\r\n    love.graphics.push()\r\n    love.graphics.translate(fulldrawx, fulldrawy)\r\n    love.graphics.push()\r\n    love.graphics.rotate(math.rad(rotation))\r\n    if unit.draw.thicc then\r\n      love.graphics.scale(unit.draw.thicc)\r\n    end\r\n    love.graphics.translate(-fulldrawx, -fulldrawy)\r\n    \r\n    --performance todos: each line gets drawn twice (both ways), so there's probably a way to stop that. might not be necessary though, since there is no lag so far\r\n    --in fact, the double lines add to the pixelated look, so for now i'm going to make it intentional and actually add it in a couple places to be consistent\r\n    local has_lin = false\r\n    if unit.name == \"lin\" and (not unit.special.pathlock or unit.special.pathlock == \"none\") and scene ~= editor then\r\n      love.graphics.setLineWidth(4)\r\n      love.graphics.setLineStyle(\"rough\")\r\n      local orthos = {}\r\n      local line = {}\r\n      for ndir=1,4 do\r\n        local nx,ny = dirs[ndir][1],dirs[ndir][2]\r\n        local dx,dy,dir,px,py,portal = getNextTile(unit,nx,ny,2*ndir-1)\r\n        local around = getUnitsOnTile(px,py)\r\n        for _,other in ipairs(around) do\r\n          if other.name == \"lin\" or other.name == \"lvl\" then\r\n            orthos[ndir] = true\r\n            table.insert(line,{unit.x*2-unit.draw.x+nx+other.draw.x-other.x, unit.y*2-unit.draw.y+ny+other.draw.y-other.y, portal})\r\n            break\r\n          else\r\n            orthos[ndir] = false\r\n          end\r\n        end\r\n      end\r\n      for ndir=2,8,2 do\r\n        local nx,ny = dirs8[ndir][1],dirs8[ndir][2]\r\n        local dx,dy,dir,px,py,portal = getNextTile(unit,nx,ny,ndir)\r\n        local around = getUnitsOnTile(px,py)\r\n        for _,other in ipairs(around) do\r\n          if (other.name == \"lin\" or other.name == \"lvl\") and not orthos[ndir/2] and not orthos[dirAdd(ndir,2)/2] then\r\n            table.insert(line,{unit.x*2-unit.draw.x+nx+other.draw.x-other.x, unit.y*2-unit.draw.y+ny+other.draw.y-other.y, portal})\r\n            break\r\n          end\r\n        end\r\n      end\r\n      if (#line > 0) then\r\n        -- love.graphics.rectangle(\"fill\", fulldrawx-1, fulldrawy-1, 1, 3)\r\n        -- love.graphics.rectangle(\"fill\", fulldrawx-2, fulldrawy, 3, 1)\r\n        for _,point in ipairs(line) do\r\n          --no need to change the rendering to account for movement, since all halflines are drawn to static objects (portals and oob)\r\n          local dx = unit.x-point[1]\r\n          local dy = unit.y-point[2]\r\n          local odx = TILE_SIZE*dx/(point[3] and 1 or 2)\r\n          local ody = TILE_SIZE*dy/(point[3] and 1 or 2)\r\n          \r\n          --draws it twice to make it look the same as the other lines. should be reduced to one if we figure out that performance todo above\r\n          --   love.graphics.setLineWidth(3)\r\n          -- if dx == 0 or dy == 0 then\r\n          --   love.graphics.setLineWidth(3)\r\n          -- else\r\n          --   love.graphics.setLineWidth(3)\r\n          -- end\r\n          if not loop then\r\n            love.graphics.line(fulldrawx+dx,fulldrawy+dy,fulldrawx-odx,fulldrawy-ody)\r\n          end\r\n        end\r\n      end\r\n      has_lin = #line > 0\r\n    end\r\n\r\n    --reset back to values being used before\r\n    love.graphics.setLineWidth(2)\r\n\r\n    if hasRule(unit,\"got\",\"bowie\") then\r\n      local rule = matchesRule(unit,\"got\",\"bowie\")[1].rule\r\n\r\n      -- GOT object coloring!\r\n      local c1, c2\r\n      if rule.object.prefix then\r\n        local dummy = {}\r\n        dummy[rule.object.prefix] = true\r\n        updateUnitColourOverride(dummy)\r\n        if dummy.color_override then\r\n          c1, c2 = dummy.color_override[1], dummy.color_override[2]\r\n        end\r\n      end\r\n\r\n      local shake_x, shake_y = getOffset()\r\n\r\n      local ur, ug, ub, ua = love.graphics.getColor()\r\n      local o = getTableWithDefaults(unit.features.bowie, {x=0, y=0, sprite=\"bowie_smol\"})\r\n      love.graphics.setColor(getPaletteColor(c1 or 2, c2 or 2))\r\n      love.graphics.draw(sprites[o.sprite], fulldrawx + o.x + shake_x, fulldrawy + o.y + shake_y, 0, unit.draw.scalex, unit.draw.scaley, sprite:getWidth() / 2, sprite:getHeight() / 2)\r\n      love.graphics.setColor(ur, ug, ub, ua)\r\n    end\r\n\r\n    if not has_lin then\r\n      local ox, oy = getOffset()\r\n      drawUnitSprite(unit, fulldrawx + ox, fulldrawy + oy, 0, unit.draw.scalex, unit.draw.scaley)\r\n    end\r\n\r\n    if unit.is_portal then\r\n      local ox, oy = getOffset()\r\n      if loop or not unit.portal.objects then\r\n        for i,image in ipairs(getUnitSprites(unit)) do\r\n          local sprite = sprites[image .. \"_bg\"]\r\n          if sprite then\r\n            local r,g,b,a = getPaletteColor(unpack(getUnitColor(unit, i)))\r\n            love.graphics.setColor(r*0.75, g*0.75, b*0.75, a)\r\n            love.graphics.draw(sprite, fulldrawx + ox, fulldrawy + oy, 0, unit.draw.scalex, unit.draw.scaley, sprite:getWidth() / 2, sprite:getHeight() / 2)\r\n          end\r\n        end\r\n      else\r\n        for i,image in ipairs(getUnitSprites(unit)) do\r\n          local sprite = sprites[image .. \"_bg\"]\r\n          if sprite then\r\n            love.graphics.setColor(lvl_color[1], lvl_color[2], lvl_color[3], lvl_color[4])\r\n            love.graphics.draw(sprite, fulldrawx + ox, fulldrawy + oy, 0, unit.draw.scalex, unit.draw.scaley, sprite:getWidth() / 2, sprite:getHeight() / 2)\r\n          end\r\n        end\r\n        love.graphics.setColor(1, 1, 1)\r\n        local function holStencil()\r\n          pcallSetShader(mask_shader)\r\n          for i,image in ipairs(getUnitSprites(unit)) do\r\n            local sprite = sprites[image .. \"_mask\"]\r\n            if sprite then\r\n              love.graphics.draw(sprite, fulldrawx + ox, fulldrawy + oy, 0, unit.draw.scalex, unit.draw.scaley, sprite:getWidth() / 2, sprite:getHeight() / 2)\r\n            end\r\n          end\r\n          love.graphics.setShader()\r\n        end\r\n        local function holStencil2()\r\n          love.graphics.rectangle(\"fill\", fulldrawx + 0.5 * TILE_SIZE, fulldrawy - 0.5 * TILE_SIZE, TILE_SIZE, TILE_SIZE)\r\n        end\r\n        love.graphics.stencil(holStencil, \"replace\", 2)\r\n        love.graphics.stencil(holStencil2, \"replace\", 1, true)\r\n        \r\n        for _,peek in ipairs(unit.portal.objects) do\r\n          if not peek.stelth then\r\n            if not portaling[peek] then\r\n              love.graphics.setStencilTest(\"greater\", 1)\r\n            else\r\n              love.graphics.setStencilTest(\"greater\", 0)\r\n            end\r\n            \r\n            love.graphics.push()\r\n            love.graphics.translate(fulldrawx, fulldrawy)\r\n            love.graphics.rotate(-math.rad(rotation))\r\n            if portaling[peek] ~= unit then\r\n              love.graphics.rotate(math.rad(unit.portal.dir * 45))\r\n            end\r\n            love.graphics.translate(-fulldrawx, -fulldrawy)\r\n            \r\n            local x, y, rot = unit.draw.x, unit.draw.y, 0\r\n            if peek.name ~= \"no1\" then\r\n              if portaling[peek] ~= unit then\r\n                x, y = (peek.draw.x - peek.x) + (peek.x - unit.portal.x) + x, (peek.draw.y - peek.y) + (peek.y - unit.portal.y) + y\r\n                if peek.rotate then rot = peek.draw.rotation\r\n                else rot = -unit.portal.dir * 45 end\r\n              else\r\n                x, y = peek.draw.x, peek.draw.y\r\n                rot = peek.draw.rotation\r\n              end\r\n            else\r\n              if peek.rotate then rot = (peek.dir - 1 + unit.portal.dir) * 45\r\n              else rot = -unit.portal.dir * 45 end\r\n            end\r\n            if portaling[peek] == unit and peek.draw.x == peek.x and peek.draw.y == peek.y then\r\n              portaling[peek] = nil\r\n            else\r\n              drawUnit(peek, x, y, rot, true)\r\n            end\r\n            \r\n            love.graphics.pop()\r\n          end\r\n        end\r\n        \r\n        love.graphics.setStencilTest()\r\n      end\r\n    end\r\n    \r\n    if unit.fullname == \"kat\" and unit.color_override and colour_for_palette[unit.color_override[1]][unit.color_override[2]] == \"blacc\" then\r\n      if graphical_property_cache[\"slep\"][unit] ~= nil then\r\n        love.graphics.setColor(getPaletteColor(2,1))\r\n        love.graphics.draw(sprites[\"kat_eyes_slep\"], fulldrawx, fulldrawy, 0, unit.draw.scalex, unit.draw.scaley, sprite:getWidth() / 2, sprite:getHeight() / 2)\r\n      else\r\n        love.graphics.setColor(getPaletteColor(2,1))\r\n        love.graphics.draw(sprites[\"kat_eyes\"], fulldrawx, fulldrawy, 0, unit.draw.scalex, unit.draw.scaley, sprite:getWidth() / 2, sprite:getHeight() / 2)\r\n      end\r\n    end\r\n\r\n    local cool_gang, cool_gang_rule = hasRule(unit,\"be\",\"cool gang\",true)\r\n    \r\n    if hasProperty(unit,\"cool\") then unit.cool = true end\r\n    if hasRule(unit,\"ben't\",\"cool\") then unit.cool = false end\r\n    if unit.cool or cool_gang then\r\n      local o = getTableWithDefaults(unit.features.cool, {x=0, y=0, sprite=\"shades\"})\r\n      local shake_x, shake_y = getOffset()\r\n      love.graphics.setColor(getPaletteColor(0,3))\r\n      love.graphics.draw(sprites[o.sprite], fulldrawx + o.x + shake_x,  fulldrawy + o.y + shake_y, 0, unit.draw.scalex, unit.draw.scaley, sprite:getWidth() / 2, sprite:getHeight() / 2)\r\n    end\r\n    if hasProperty(unit,\"sans\") and unit.features.sans and not hasProperty(unit,\"slep\") then\r\n      local topleft = {x = fulldrawx - 16, y = fulldrawy - 16}\r\n      love.graphics.setColor(getPaletteColor(1,4))\r\n      love.graphics.rectangle(\"fill\", topleft.x + unit.features.sans.x, topleft.y + unit.features.sans.y, unit.features.sans.w, unit.features.sans.h)\r\n      for i = 1, unit.features.sans.w-1 do\r\n        love.graphics.rectangle(\"fill\", topleft.x + unit.features.sans.x + i, topleft.y + unit.features.sans.y - i, unit.features.sans.w - i, 1)\r\n      end\r\n    end\r\n    \r\n    if unit.fullname == \"der\" and (hasProperty(unit,\"brite\") or hasProperty(unit,\"torc\")) then\r\n      if graphical_property_cache[\"slep\"][unit] ~= nil then\r\n        love.graphics.setColor(getPaletteColor(2,2))\r\n        love.graphics.draw(sprites[\"der_slep_nose\"], fulldrawx, fulldrawy, 0, unit.draw.scalex, unit.draw.scaley, sprite:getWidth() / 2, sprite:getHeight() / 2)\r\n      else\r\n        love.graphics.setColor(getPaletteColor(2,2))\r\n        love.graphics.draw(sprites[\"der_nose\"], fulldrawx, fulldrawy, 0, unit.draw.scalex, unit.draw.scaley, sprite:getWidth() / 2, sprite:getHeight() / 2)\r\n      end\r\n    end\r\n    \r\n    local gang, gang_rule = hasRule(unit,\"be\",\"gang\", true)\r\n    local double_gang, double_gang_rule = hasRule(unit,\"be\",\"gang gang\", true)\r\n    local txt_gang, txt_gang_rule = hasRule(unit,\"be\",\"txt gang\", true)\r\n\r\n    local gang_rule = txt_gang_rule or gang_rule or double_gang_rule or cool_gang_rule\r\n    local gang = gang or double_gang or cool_gang or txt_gang\r\n\r\n    if gang then\r\n      local o = getTableWithDefaults(unit.features.gang, {x=0, y=0, sx=1, sy=1, sprite=\"gang_hat\"})\r\n      if gang_rule and gang_rule.rule.object.unit and gang_rule.rule.object.unit.color_override then\r\n        setColor(gang_rule.rule.object.unit.color_override)\r\n      else\r\n        love.graphics.setColor(getPaletteColor(0,1))\r\n      end\r\n      local sx, sy = unit.draw.scalex * o.sx, unit.draw.scaley * o.sy\r\n      if txt_gang then\r\n        o.sprite = \"txt/hatt\"\r\n        sx = sx * 0.5\r\n        sy = sy * 0.5\r\n      end\r\n      love.graphics.draw(sprites[o.sprite], fulldrawx + o.x, fulldrawy - 0.5*TILE_SIZE + o.y, 0, sx, sy, sprite:getWidth() / 2, sprite:getHeight() / 2)\r\n      if double_gang then\r\n        if gang_rule and gang_rule.rule.object.mods then\r\n          for _,mod in ipairs(gang_rule.rule.object.mods) do\r\n            if mod.name == \"gang\" and mod.unit then\r\n              if mod.unit.color_override then\r\n                setColor(mod.unit.color_override)\r\n              else\r\n                love.graphics.setColor(getPaletteColor(0,1))\r\n              end\r\n            end\r\n          end\r\n        end\r\n        love.graphics.draw(sprites[o.sprite], fulldrawx + o.x - 3, fulldrawy - 0.5*TILE_SIZE + o.y - 5, math.rad(-15), sx, sy, sprite:getWidth() / 2, sprite:getHeight() / 2)\r\n      end\r\n    end\r\n\r\n    local matchrules = matchesRule(unit,\"got\",\"?\")\r\n    for _,matchrule in ipairs(matchrules) do\r\n      local name = matchrule.rule.object.name\r\n\r\n      -- GOT object coloring!\r\n      local c1, c2\r\n      if matchrule.rule.object.prefix then\r\n        local dummy = {}\r\n        dummy[matchrule.rule.object.prefix] = true\r\n        updateUnitColourOverride(dummy)\r\n        if dummy.color_override then\r\n          c1, c2 = dummy.color_override[1], dummy.color_override[2]\r\n        end\r\n      end\r\n\r\n      local shake_x, shake_y = getOffset()\r\n\r\n      if name == \"which\" then\r\n        local o = getTableWithDefaults(unit.features.which, {x=0, y=0, sprite={\"which_smol_base\", \"which_smol_that\"}})\r\n        love.graphics.setColor(getPaletteColor(0,0))\r\n        love.graphics.draw(sprites[o.sprite[1]], fulldrawx + o.x + shake_x, fulldrawy - 0.5*TILE_SIZE + o.y + shake_y, 0, unit.draw.scalex, unit.draw.scaley, sprite:getWidth() / 2, sprite:getHeight() / 2)\r\n        if c1 and c2 then\r\n          love.graphics.setColor(getPaletteColor(c1,c2))\r\n        elseif unit.color_override and colour_for_palette[unit.color_override[1]][unit.color_override[2]] == \"blacc\" then\r\n          love.graphics.setColor(getPaletteColor(3,1))\r\n        else\r\n          love.graphics.setColor(color[1], color[2], color[3], color[4])\r\n        end\r\n        love.graphics.draw(sprites[o.sprite[2]], fulldrawx + o.x + shake_x, fulldrawy - 0.5*TILE_SIZE + o.y + shake_y, 0, unit.draw.scalex, unit.draw.scaley, sprite:getWidth() / 2, sprite:getHeight() / 2)\r\n      elseif name == \"sant\" then\r\n        local o = getTableWithDefaults(unit.features.sant, {x=0, y=0, sprite={\"sant_smol_base\", \"sant_smol_flof\"}})\r\n        love.graphics.setColor(getPaletteColor(c1 or 2, c2 or 2))\r\n        love.graphics.draw(sprites[o.sprite[1]], fulldrawx + o.x + shake_x, fulldrawy - 0.5*TILE_SIZE + o.y + shake_y, 0, unit.draw.scalex, unit.draw.scaley, sprite:getWidth() / 2, sprite:getHeight() / 2)\r\n        love.graphics.setColor(getPaletteColor(0,3))\r\n        love.graphics.draw(sprites[o.sprite[2]], fulldrawx + o.x + shake_x, fulldrawy - 0.5*TILE_SIZE + o.y + shake_y, 0, unit.draw.scalex, unit.draw.scaley, sprite:getWidth() / 2, sprite:getHeight() / 2)\r\n      elseif name == \"hatt\" then\r\n        local o = getTableWithDefaults(unit.features.hatt, {x=0, y=0, sprite=\"hatsmol\"})\r\n        if c1 and c2 then\r\n          love.graphics.setColor(getPaletteColor(c1, c2))\r\n        else\r\n          love.graphics.setColor(color[1], color[2], color[3], color[4])\r\n        end\r\n        love.graphics.draw(sprites[o.sprite], fulldrawx + o.x + shake_x, fulldrawy - 0.5*TILE_SIZE + o.y + shake_y, 0, unit.draw.scalex, unit.draw.scaley, sprite:getWidth() / 2, sprite:getHeight() / 2)\r\n      elseif name == \"katany\" then\r\n        local o = getTableWithDefaults(unit.features.katany, {x=0, y=0, sprite=\"katanysmol\"})\r\n        love.graphics.setColor(getPaletteColor(c1 or 0, c2 or 1))\r\n        love.graphics.draw(sprites[o.sprite], fulldrawx + o.x + shake_x, fulldrawy + o.y + shake_y, 0, unit.draw.scalex, unit.draw.scaley, sprite:getWidth() / 2, sprite:getHeight() / 2)\r\n      elseif name == \"knif\" then\r\n        local o = getTableWithDefaults(unit.features.knif, {x=0, y=0, sprite=\"knifsmol\"})\r\n        love.graphics.setColor(getPaletteColor(c1 or 0, c2 or 3))\r\n        love.graphics.draw(sprites[o.sprite], fulldrawx + o.x + shake_x, fulldrawy + o.y + shake_y, 0, unit.draw.scalex, unit.draw.scaley, sprite:getWidth() / 2, sprite:getHeight() / 2)\r\n      elseif name == \"slippers\" then\r\n        local o = getTableWithDefaults(unit.features.slippers, {x=0, y=0, sprite=\"slippers\"})\r\n        love.graphics.setColor(getPaletteColor(c1 or 1, c2 or 4))\r\n        love.graphics.draw(sprites[o.sprite], fulldrawx + o.x + shake_x, fulldrawy+sprite:getHeight()/4 + o.y + shake_y, 0, unit.draw.scalex, unit.draw.scaley, sprite:getWidth() / 2, sprite:getHeight() / 2)\r\n      elseif name == \"gunne\" then\r\n        local o = getTableWithDefaults(unit.features.gunne, {x=0, y=0, sprite=\"gunnesmol\"})\r\n        love.graphics.setColor(getPaletteColor(c1 or 0, c2 or 3))\r\n        love.graphics.draw(sprites[o.sprite], fulldrawx + o.x + shake_x, fulldrawy + o.y + shake_y, 0, unit.draw.scalex, unit.draw.scaley, sprite:getWidth() / 2, sprite:getHeight() / 2)\r\n      elseif name ~= \"bowie\" and unit.fullname == \"swan\" then\r\n        local tile = getTile(name)\r\n        if tile then\r\n          love.graphics.push()\r\n          love.graphics.translate(14, -4)\r\n\r\n          local color = getTileColors(tile, (c1 and c2) and {c1, c2} or nil)\r\n          drawTileSprite(tile, fulldrawx, fulldrawy, 0, 0.5, 0.5, {color = color})\r\n\r\n          love.graphics.pop()\r\n        end\r\n      end\r\n    end\r\n\r\n    love.graphics.pop()\r\n\r\n    if unit.blocked or hasProperty(unit,\"rong\") then\r\n\r\n      local rotation = math.sin(love.timer.getTime()*4)*math.rad(5)\r\n\r\n      setColor(getUnitColor(unit))\r\n\r\n      local sprite = sprites[\"no bad dont\"]\r\n      love.graphics.draw(sprite, 0, 0, rotation, unit.draw.scalex, unit.draw.scaley, sprite:getWidth() / 2, sprite:getHeight() / 2)\r\n\r\n      setColor{0, 4}\r\n\r\n      sprite = sprites[\"no bad dont_outline\"]\r\n      love.graphics.draw(sprite, 0, 0, rotation, unit.draw.scalex, unit.draw.scaley, sprite:getWidth() / 2, sprite:getHeight() / 2)\r\n    end\r\n\r\n    love.graphics.pop()\r\n  end\r\n  \r\n  local lvl_stelth = hasProperty(outerlvl, \"stelth\")\r\n\r\n  for i=1,max_layer do\r\n    if units_by_layer[i] then\r\n      local removed_units = {}\r\n      for _,unit in ipairs(units_by_layer[i]) do\r\n        if not (unit.stelth or portaling[unit] or lvl_stelth) then\r\n          local x, y, rot = unit.x, unit.y, 0\r\n          if unit.name ~= \"no1\" then\r\n            x, y = unit.draw.x, unit.draw.y\r\n            rot = unit.draw.rotation\r\n          else\r\n            if (unit.rotate or (rules_with[\"rotatbl\"] and hasProperty(unit,\"rotatbl\"))) then rot = (unit.dir - 1) * 45 end\r\n          end\r\n          drawUnit(unit, x, y, rot)\r\n        end\r\n      end\r\n      for _,unit in ipairs(removed_units) do\r\n        removeFromTable(units_by_layer[i], unit)\r\n      end\r\n    end\r\n  end\r\n  local removed_particles = {}\r\n  for _,ps in ipairs(particles) do\r\n    ps:update(dt)\r\n    if ps:getCount() == 0 then\r\n      ps:stop()\r\n      table.insert(removed_particles, ps)\r\n    else\r\n      love.graphics.setColor(255, 255, 255)\r\n      love.graphics.draw(ps)\r\n    end\r\n  end\r\n  for _,ps in ipairs(removed_particles) do\r\n    removeFromTable(particles, ps)\r\n  end\r\n\r\n  --lightning !\r\n  if (lightcanvas ~= nil) and settings[\"light_on\"] then\r\n    love.graphics.setColor(0.05, 0.05, 0.05, 1)\r\n    love.graphics.setBlendMode(\"add\", \"premultiplied\")\r\n    love.graphics.draw(lightcanvas, 0, 0)\r\n    love.graphics.setBlendMode(\"alpha\")\r\n  end\r\n  \r\n  if settings[\"mouse_lines\"] then\r\n    love.graphics.push()\r\n    love.graphics.origin()\r\n    love.graphics.setLineWidth(1)\r\n    local r,g,b,a = getPaletteColor(0,1)\r\n    love.graphics.setColor(r,g,b,0.3)\r\n    for _,cursor in ipairs(cursors) do\r\n      local cx,cy = cursor.screenx,cursor.screeny\r\n      local width = love.graphics.getWidth()\r\n      love.graphics.line(cx-width,cy-width,cx+width,cy+width)\r\n      love.graphics.line(cx-width,cy,cx+width,cy)\r\n      love.graphics.line(cx-width,cy+width,cx+width,cy-width)\r\n      love.graphics.line(cx,cy-width,cx,cy+width)\r\n    end\r\n    love.graphics.pop()\r\n  end\r\n\r\n  -- camera black overlay\r\n  if viewport then\r\n    love.graphics.stencil(function()\r\n      love.graphics.rectangle(\"fill\", viewport.x * TILE_SIZE, viewport.y * TILE_SIZE, viewport.w * TILE_SIZE, viewport.h * TILE_SIZE)\r\n    end)\r\n    love.graphics.push()\r\n    love.graphics.origin()\r\n    love.graphics.setStencilTest(\"less\", 1)\r\n    love.graphics.setColor(0, 0, 0)\r\n    love.graphics.rectangle(\"fill\", 0, 0, love.graphics.getWidth(), love.graphics.getHeight())\r\n    love.graphics.setStencilTest()\r\n    love.graphics.pop()\r\n  end\r\n\r\n  --draw the stack box (shows what units are on a tile)\r\n  if stack_box.scale > 0 then\r\n    love.graphics.push()\r\n    local screenx,screeny = gameTileToScreen(stack_box.x,stack_box.y)\r\n    local onscreen = screeny > 40\r\n    love.graphics.translate((stack_box.x + 0.5) * TILE_SIZE, (stack_box.y + (onscreen and 0 or 1)) * TILE_SIZE)\r\n    love.graphics.scale(stack_box.scale)\r\n\r\n    love.graphics.setColor(getPaletteColor(0, 4))\r\n    if onscreen then\r\n      love.graphics.polygon(\"fill\", -4, -8, 0, 0, 4, -8)\r\n    else\r\n      love.graphics.polygon(\"fill\", -4, 8, 0, 0, 4, 8)\r\n    end\r\n\r\n    local units = stack_box.units\r\n    local draw_units = {}\r\n    local already_added = {}\r\n    for _,unit in ipairs(units) do\r\n      if not already_added[unit.fullname] then already_added[unit.fullname] = {} end\r\n      local dir = unit.rotatdir\r\n      if not already_added[unit.fullname][dir] then\r\n        table.insert(draw_units, {unit = unit, dir = dir, count = 1})\r\n        already_added[unit.fullname][dir] = #draw_units\r\n      else\r\n        draw_units[already_added[unit.fullname][dir]].count = draw_units[already_added[unit.fullname][dir]].count + 1\r\n      end\r\n    end\r\n\r\n    local width = 44 * #draw_units - 4\r\n    if onscreen then\r\n      love.graphics.rectangle(\"fill\", -width / 2, -48, width, 40)\r\n    else\r\n      love.graphics.rectangle(\"fill\", -width / 2, 8, width, 40)\r\n    end\r\n\r\n    love.graphics.setColor(getPaletteColor(3, 3))\r\n    love.graphics.setLineWidth(2)\r\n    if onscreen then\r\n      love.graphics.line(-width / 2, -48, -width / 2, -8, -4, -8, 0, 0, 4, -8, width / 2, -8, width / 2, -48, -width / 2, -48)\r\n    else\r\n      love.graphics.line(-width / 2, 48, -width / 2, 8, -4, 8, 0, 0, 4, 8, width / 2, 8, width / 2, 48, -width / 2, 48)\r\n    end\r\n\r\n    for i,draw in ipairs(draw_units) do\r\n      local cx = (-width / 2) + ((i / #draw_units) * width) - 20\r\n      local unit = draw.unit\r\n\r\n      love.graphics.push()\r\n      if onscreen then\r\n        love.graphics.translate(cx, -28)\r\n      else\r\n        love.graphics.translate(cx, 28)\r\n      end\r\n      love.graphics.push()\r\n      love.graphics.rotate(math.rad((draw.dir - 1) * 45))\r\n\r\n      drawUnitSprite(unit, 0, 0, 0, 1, 1)\r\n\r\n      love.graphics.pop()\r\n\r\n      if draw.count > 1 then\r\n        love.graphics.setFont(stack_font)\r\n        love.graphics.setColor(getPaletteColor(0, 4))\r\n        for x = -1, 1 do\r\n          for y = -1, 1 do\r\n            if x ~= 0 or y ~= 0 then\r\n              love.graphics.printf(tostring(draw.count), x, 4+y, 32, \"center\")\r\n            end\r\n          end\r\n        end\r\n        love.graphics.setColor(getPaletteColor(0, 3))\r\n        love.graphics.printf(tostring(draw.count), 0, 4, 32, \"center\")\r\n      end\r\n      love.graphics.pop()\r\n    end\r\n\r\n    love.graphics.pop()\r\n  end\r\n  if pathlock_box.scale > 0 then\r\n    love.graphics.push()\r\n    local screenx,screeny = gameTileToScreen(stack_box.x,stack_box.y)\r\n    local onscreen = screeny > 40\r\n    love.graphics.translate((pathlock_box.x + 0.5) * TILE_SIZE, (pathlock_box.y + (onscreen and 0 or 1)) * TILE_SIZE)\r\n    love.graphics.scale(pathlock_box.scale)\r\n\r\n    love.graphics.setColor(getPaletteColor(0, 4))\r\n    if onscreen then\r\n      love.graphics.polygon(\"fill\", -4, -8, 0, 0, 4, -8)\r\n    else\r\n      love.graphics.polygon(\"fill\", -4, 8, 0, 0, 4, 8)\r\n    end\r\n\r\n    local unit = pathlock_box.unit\r\n\r\n    local width = 70\r\n    if onscreen then\r\n      love.graphics.rectangle(\"fill\", -width / 2, -48, width, 40)\r\n    else\r\n      love.graphics.rectangle(\"fill\", -width / 2, 8, width, 40)\r\n    end\r\n\r\n    love.graphics.setColor(getPaletteColor(3, 3))\r\n    love.graphics.setLineWidth(2)\r\n    if onscreen then\r\n      love.graphics.line(-width / 2, -48, -width / 2, -8, -4, -8, 0, 0, 4, -8, width / 2, -8, width / 2, -48, -width / 2, -48)\r\n    else\r\n      love.graphics.line(-width / 2, 48, -width / 2, 8, -4, 8, 0, 0, 4, 8, width / 2, 8, width / 2, 48, -width / 2, 48)\r\n    end\r\n    \r\n    local type = ({puffs = \"puff\", blossoms = \"blossom\", orbs = \"orrb\"})[unit.special.pathlock]\r\n    love.graphics.setColor(type == \"orrb\" and {getPaletteColor(4,1)} or {1,1,1,1})\r\n    love.graphics.draw(sprites[type], -30, -44)\r\n    local num = unit.special.number or 1\r\n    love.graphics.setFont(num > 99 and stack_font or pathlock_font)\r\n    love.graphics.printf(tostring(num), 5, -36, 25, \"center\")\r\n\r\n    love.graphics.pop()\r\n  end\r\n  love.graphics.pop()\r\n\r\n  --176 98\r\n  if stopwatch.visible then\r\n    stopwatch.small.rotation = stopwatch.small.rotation + dt * 20\r\n\r\n    local sw_sprite = sprites[\"ui/stopwatch\"]\r\n    local big_hand = sprites[\"ui/stopwatch_big_hand\"]\r\n    local small_hand = sprites[\"ui/stopwatch_small_hand\"]\r\n\r\n    love.graphics.setColor(0, 0, 0, 0.25)\r\n    love.graphics.rectangle(\"fill\", 0, 0, love.graphics.getWidth(), love.graphics.getHeight())\r\n\r\n    love.graphics.setColor(1, 1, 1)\r\n    love.graphics.push()\r\n    love.graphics.translate(love.graphics.getWidth() / 2, love.graphics.getHeight() / 2)\r\n    love.graphics.scale(getUIScale(), getUIScale())\r\n    love.graphics.translate(-sw_sprite:getWidth() / 2, -sw_sprite:getHeight() / 2)\r\n    love.graphics.draw(sw_sprite)\r\n\r\n    love.graphics.setColor(1, 1, 1)\r\n    love.graphics.push()\r\n    love.graphics.translate(176 + small_hand:getWidth() / 2, 98 + small_hand:getHeight() / 2)\r\n    love.graphics.rotate(stopwatch.small.rotation)\r\n    love.graphics.draw(small_hand, -small_hand:getWidth() / 2, -small_hand:getHeight() / 2)\r\n    love.graphics.pop()\r\n\r\n    love.graphics.push()\r\n    love.graphics.translate(big_hand:getWidth() / 2, big_hand:getHeight() / 2)\r\n    love.graphics.rotate(math.rad(stopwatch.big.rotation))\r\n    love.graphics.draw(big_hand, -big_hand:getWidth() / 2, -big_hand:getHeight() / 2)\r\n    love.graphics.pop()\r\n    love.graphics.pop()\r\n  end\r\n\r\n  love.graphics.push()\r\n  love.graphics.setColor(1, 1, 1)\r\n  love.graphics.translate(love.graphics.getWidth() / 2, love.graphics.getHeight() / 2)\r\n  love.graphics.scale(win_size, win_size)\r\n  local win_sprite = #win_sprite_override > 0 and sprites[\"ui/u_r_thing\"] or sprites[\"ui/u_r_win\"]\r\n  love.graphics.draw(win_sprite, -win_sprite:getWidth() / 2, -win_sprite:getHeight() / 2, 0, 1, 1)\r\n\r\n  if currently_winning and win_size < 1 then\r\n    win_size = win_size + dt*2\r\n    if (win_size > 1) then\r\n      win_size = 1\r\n    end\r\n  end\r\n  love.graphics.pop()\r\n  \r\n  if #win_sprite_override > 0 then\r\n    for _,tile in ipairs(win_sprite_override) do\r\n      love.graphics.push()\r\n      love.graphics.setColor(0.92, 0.92, 1)\r\n      love.graphics.translate(love.graphics.getWidth() / 2, love.graphics.getHeight() / 2)\r\n      love.graphics.scale(win_size, win_size)\r\n      for _,spritename in ipairs(tile.sprite) do\r\n        local tf_sprite = sprites[spritename] or sprites[\"wat\"]\r\n        love.graphics.draw(tf_sprite, -tf_sprite:getWidth() / 2 + 40, -tf_sprite:getHeight() / 2 - 45, 0, 4, 4)\r\n      end\r\n      if tile.meta > 0 then\r\n        local metasprite = tile.meta == 2 and sprites[\"meta2\"] or sprites[\"meta1\"]\r\n\t\t\t\tlove.graphics.draw(metasprite, -metasprite:getWidth() / 2 + 40, -metasprite:getHeight() / 2 - 45, 0, 4, 4)\r\n\t\t\t\tif tile.meta > 2 and win_size == 1 then\r\n          --This doesn't print anything to the screen, though I'm uncertain why not\r\n\t\t\t\t\tlove.graphics.printf(tostring(tile.meta), -metasprite:getWidth() / 2 + 40, -metasprite:getHeight() / 2 - 45, 32, \"center\")\r\n\t\t\t\tend\r\n      end\r\n      if tile.nt then\r\n        local nt_sprite = sprites[\"n't\"];\r\n        love.graphics.draw(nt_sprite, -nt_sprite:getWidth() / 2 + 40, -nt_sprite:getHeight() / 2 - 45, 0, 4, 4)\r\n      end\r\n      love.graphics.pop()\r\n    end\r\n  end\r\n  \r\n  -- Replay UI\r\n  if replay_playback then\r\n    local height, width = love.graphics.getHeight(), love.graphics.getWidth()\r\n    local box = sprites[\"ui/32x32\"]:getWidth()\r\n  \r\n    if not replay_pause then\r\n        -- Play speeds\r\n        if replay_playback_interval < 0.05 then\r\n            love.graphics.draw(sprites[\"ui/replay_fff\"], width - box*3)\r\n        elseif replay_playback_interval < 0.2 and replay_playback_interval > 0.05 then\r\n            love.graphics.draw(sprites[\"ui/replay_ff\"], width - box*3)\r\n        elseif replay_playback_interval > 0.5 and replay_playback_interval < 1 then\r\n            love.graphics.draw(sprites[\"ui/replay_slow\"], width - box*3)\r\n        elseif replay_playback_interval > 1 then\r\n            love.graphics.draw(sprites[\"ui/replay_snail\"], width - box*3)\r\n        else\r\n            love.graphics.draw(sprites[\"ui/replay_play\"], width - box*3)\r\n        end\r\n        love.graphics.draw(sprites[\"ui/replay_minus\"], width - box*4)\r\n        love.graphics.draw(sprites[\"ui/replay_plus\"], width - box*2)\r\n    elseif replay_pause then\r\n        love.graphics.draw(sprites[\"ui/replay_pause\"], width - box*3)\r\n        love.graphics.draw(sprites[\"ui/replay_undo\"], width - box*4)\r\n        love.graphics.draw(sprites[\"ui/replay_skip\"], width - box*2)\r\n    end\r\n    love.graphics.draw(sprites[\"ui/replay_stop\"], width - box)\r\n    -- print(replay_playback_interval)\r\n  end\r\n  \r\n  love.graphics.setCanvas()\r\n  pcallSetShader(level_shader)\r\n  --[[\r\n  if doin_the_world then\r\n    level_shader:send(\"time\", shader_time)\r\n    shader_time = shader_time + 1\r\n  end\r\n  ]]\r\n  love.graphics.draw(canv,0,0)\r\n  if shader_time == 600 then\r\n    pcallSetShader(paletteshader_0)\r\n    doin_the_world = false\r\n  end\r\n\r\n  if not pause then gooi.draw() end\r\n  if is_mobile then\r\n    if rules_with[\"zawarudo\"] or rules_with[\"anti zawarudo\"] then\r\n      mobile_controls_timeless:setVisible(true)\r\n      mobile_controls_timeless:setBGImage(sprites[timeless and \"ui/time resume\" or \"ui/timestop\"])\r\n    else\r\n      mobile_controls_timeless:setVisible(false)\r\n    end\r\n    if rules_with[\"u\"] then\r\n      if rules_with[\"utoo\"] then\r\n          mobile_controls_p1:setVisible(true)\r\n          mobile_controls_p2:setVisible(true)\r\n          mobile_controls_p3:setVisible(true)\r\n        if rules_with[\"utres\"] then\r\n          mobile_controls_p1:setBGImage(sprites[\"ui_1\"])\r\n          mobile_controls_p2:setBGImage(sprites[\"ui_2\"])\r\n          mobile_controls_p3:setBGImage(sprites[\"ui_3\"])\r\n        else\r\n          mobile_controls_p1:setBGImage(sprites[\"ui_1\"])\r\n          mobile_controls_p2:setBGImage(sprites[\"ui_2\"])\r\n          mobile_controls_p3:setBGImage(sprites[\"ui_plus\"])\r\n        end\r\n      elseif rules_with[\"utres\"] then\r\n        mobile_controls_p1:setVisible(true)\r\n        mobile_controls_p2:setVisible(true)\r\n        mobile_controls_p3:setVisible(true)\r\n        mobile_controls_p1:setBGImage(sprites[\"ui_1\"])\r\n        mobile_controls_p2:setBGImage(sprites[\"ui_plus\"])\r\n        mobile_controls_p3:setBGImage(sprites[\"ui_3\"])\r\n      else\r\n        mobile_controls_p1:setVisible(false)\r\n        mobile_controls_p2:setVisible(false)\r\n        mobile_controls_p3:setVisible(false)\r\n      end\r\n    elseif rules_with[\"utoo\"] and rules_with[\"utres\"] then\r\n      mobile_controls_p1:setVisible(true)\r\n      mobile_controls_p2:setVisible(true)\r\n      mobile_controls_p3:setVisible(true)\r\n      mobile_controls_p1:setBGImage(sprites[\"ui_plus\"])\r\n      mobile_controls_p2:setBGImage(sprites[\"ui_2\"])\r\n      mobile_controls_p3:setBGImage(sprites[\"ui_3\"])\r\n    else\r\n      mobile_controls_p1:setVisible(false)\r\n      mobile_controls_p2:setVisible(false)\r\n      mobile_controls_p3:setVisible(false)\r\n    end\r\n  end\r\n\r\n  gooi.draw(\"mobile-controls\")\r\n\r\n  if love.window.hasMouseFocus() then\r\n    for i,cursor in ipairs(cursors) do\r\n      local color\r\n      \r\n      -- Mous be colors\r\n      if hasProperty(cursor,\"rave\") then\r\n        local newcolor = hslToRgb((love.timer.getTime()/0.75+#undo_buffer/45+cursor.screenx/18+cursor.screeny/18)%1, .5, .5, 1)\r\n        newcolor[1] = newcolor[1]*255\r\n        newcolor[2] = newcolor[2]*255\r\n        newcolor[3] = newcolor[3]*255\r\n        color = newcolor\r\n      elseif hasProperty(cursor,\"colrful\") or rainbowmode then\r\n        local newcolor = hslToRgb((love.timer.getTime()/15+#undo_buffer/45+cursor.screenx/18+cursor.screeny/18)%1, .5, .5, 1)\r\n        newcolor[1] = newcolor[1]*255\r\n        newcolor[2] = newcolor[2]*255\r\n        newcolor[3] = newcolor[3]*255\r\n        color = newcolor\r\n      elseif (hasProperty(cursor,\"reed\") and hasProperty(cursor,\"whit\")) or hasProperty(cursor,\"pinc\") then\r\n        color = {4, 1}\r\n      elseif (hasProperty(cursor,\"grun\") and hasProperty(cursor,\"whit\")) then\r\n        color = {5, 3}\r\n      elseif (hasProperty(cursor,\"bleu\") and hasProperty(cursor,\"reed\")) or hasProperty(cursor,\"purp\") then\r\n        color = {3, 1}\r\n      elseif (hasProperty(cursor,\"reed\") and hasProperty(cursor,\"grun\")) or hasProperty(cursor,\"yello\") then\r\n        color = {2, 4}\r\n      elseif (hasProperty(cursor,\"reed\") and hasProperty(cursor,\"yello\")) or hasProperty(cursor,\"orang\") then\r\n        color = {2, 3}\r\n      elseif (hasProperty(cursor,\"bleu\") and hasProperty(cursor,\"grun\")) or hasProperty(cursor,\"cyeann\") then\r\n        color = {1, 4}\r\n      elseif hasProperty(cursor,\"reed\") then\r\n        color = {2, 2}\r\n      elseif hasProperty(cursor,\"bleu\") then\r\n        color = {1, 3}\r\n      elseif hasProperty(cursor,\"grun\") then\r\n        color = {5, 2}\r\n      elseif hasProperty(cursor,\"cyeann\") then\r\n        color = {1, 4}\r\n      elseif hasProperty(cursor,\"blacc\") then\r\n        color = {0, 4}\r\n      end\r\n\r\n      if not color then\r\n        love.graphics.setColor(1, 1, 1)\r\n      else\r\n        if #color == 3 then\r\n          love.graphics.setColor(color[1]/255, color[2]/255, color[3]/255)\r\n        else\r\n          love.graphics.setColor(getPaletteColor(color[1], color[2]))\r\n        end\r\n      end\r\n\r\n      if rainbowmode then love.graphics.setColor(hslToRgb((love.timer.getTime()/6+i*10)%1, .5, .5, .9)) end\r\n      \r\n      local cursorrot = ((cursor.dir + 1) % 8) * 45\r\n      if not hasProperty(cursor,\"stelth\") then\r\n        love.graphics.draw(system_cursor, cursor.screenx, cursor.screeny, math.rad(cursorrot))\r\n      end\r\n\r\n      love.graphics.setColor(1,1,1)\r\n      color = nil\r\n\r\n      if #cursor.overlay > 0 then\r\n        local function overlayStencil()\r\n          pcallSetShader(mask_shader)\r\n          love.graphics.draw(system_cursor, cursor.screenx, cursor.screeny, math.rad(cursorrot))\r\n          love.graphics.setShader()\r\n        end\r\n        for _,overlay in ipairs(cursor.overlay) do\r\n          love.graphics.setColor(1, 1, 1)\r\n          love.graphics.stencil(overlayStencil, \"replace\")\r\n          love.graphics.setStencilTest(\"greater\", 0)\r\n          love.graphics.setBlendMode(\"multiply\", \"premultiplied\")\r\n          love.graphics.draw(sprites[\"overlay/\" .. overlay], cursor.screenx, cursor.screeny, 0, 14/32, 14/32)\r\n          love.graphics.setBlendMode(\"alpha\", \"alphamultiply\")\r\n          love.graphics.setStencilTest()\r\n        end\r\n      end\r\n    end\r\n  end\r\n\r\n  \r\n  if displaywords or pause then\r\n    darken:draw()\r\n\r\n    local rules = \"\"\r\n\r\n    local lines = 0.5\r\n    local curline = \"\"\r\n\r\n    local width = love.graphics.getWidth()\r\n    local height = love.graphics.getHeight()\r\n\r\n    local buttonwidth, buttonheight = sprites[\"ui/button_1\"]:getDimensions()\r\n\r\n    local buttoncolor = {84/255, 109/255, 255/255}\r\n\r\n    local y = (not pause) and 0 or button_last_y\r\n\r\n    for i,rule in pairs(full_rules) do\r\n      if not rule.hide_in_list then\r\n        local serialized = serializeRule(rule.rule)\r\n        if serialized ~= \"\" then\r\n          \r\n          if curline == \"\" then\r\n            -- do nothing, this is just a ~= on the other two cases\r\n          elseif (#curline + #serialized) > 50 then\r\n            rules = rules..curline..\"\\n\"\r\n            curline = \"\"\r\n            lines = lines + 1\r\n          else\r\n            curline = curline..'   '\r\n          end\r\n          curline = curline..serialized\r\n        end\r\n      end\r\n    end\r\n    rules = rules..curline\r\n\r\n\t  rules = 'da rulz:\\n'..rules\r\n\r\n    love.graphics.setColor(1,1,1)\r\n\r\n    if pause then\r\n    \r\n      local current_level = level_name\r\n      if readSaveFile{\"levels\", level_filename, \"won\"} then\r\n        current_level = current_level..\" (won) \"\r\n      end\r\n      if readSaveFile{\"levels\", level_filename, \"clear\"} then\r\n        current_level = current_level..\" (cleared) \"\r\n      end\r\n      if readSaveFile{\"levels\", level_filename, \"complete\"} then\r\n        current_level = current_level..\" (complete) \"\r\n      end\r\n      if readSaveFile{\"levels\", level_filename, \"bonus\"} then\r\n        current_level = current_level..\" (bonused) \"\r\n      end\r\n      local tfs = readSaveFile{\"levels\", level_filename, \"transform\"}\r\n      if tfs then\r\n        local tfstr = \"\"\r\n        for _,tf in ipairs(tfs) do\r\n          while tf:starts(\"txt_\") do\r\n            tf = tf:sub(5)\r\n            tf = tf..\" txt\"\r\n          end\r\n          tfstr = tfstr..\" & \"..tf\r\n        end\r\n        tfstr = tfstr:sub(4)\r\n        current_level = current_level..\" (transformed into \" .. tfstr .. \") \"\r\n      end\r\n      \r\n      love.graphics.printf(current_level, width/2-buttonwidth/2, buttonheight, buttonwidth, \"center\")\r\n  \r\n      for _,button in ipairs(buttons) do\r\n        button:draw()\r\n      end\r\n    end\r\n\r\n    local rules_height = love.graphics.getHeight()/2-love.graphics.getFont():getHeight()*lines+y \r\n    if pause then\r\n      rules_height = buttonheight*4+(buttonheight+10)*(#buttons)\r\n    end\r\n    love.graphics.printf(rules, 0, rules_height, love.graphics.getWidth(), \"center\")\r\n\r\n    love.graphics.setColor(1,1,1)\r\n    love.graphics.draw(sprites[\"ui/mous\"], love.mouse.getX(), love.mouse.getY())\r\n\r\n    gooi.draw()\r\n  end\r\n\r\n  if (just_moved and not unit_tests) then\r\n    local end_time = love.timer.getTime()\r\n      print(\"scene.draw() took: \"..tostring(round((end_time-start_time)*1000))..\"ms\")\r\n    just_moved = false\r\n  end\r\nend\r\n\r\nfunction scene.checkInput()\r\n  if replay_playback or past_playback then return end\r\n  local start_time = love.timer.getTime()\r\n  do_move_sound = false\r\n  \r\n  \r\n  if settings[\"focus_pause\"] and not (love.window.hasFocus() or love.window.hasMouseFocus()) then\r\n    pause = true\r\n  end\r\n  \r\n  if not (key_down[\"w\"] or key_down[\"a\"] or key_down[\"s\"] or key_down[\"d\"]) then\r\n      repeat_timers[\"wasd\"] = nil\r\n  end\r\n  if not (key_down[\"up\"] or key_down[\"down\"] or key_down[\"left\"] or key_down[\"right\"]) then\r\n      repeat_timers[\"udlr\"] = nil\r\n  end\r\n  if not (key_down[\"i\"] or key_down[\"j\"] or key_down[\"k\"] or key_down[\"l\"]) then\r\n      repeat_timers[\"ijkl\"] = nil\r\n  end\r\n  if not (key_down[\"kp1\"] or\r\n        key_down[\"kp2\"] or\r\n        key_down[\"kp3\"] or\r\n        key_down[\"kp4\"] or\r\n        key_down[\"kp5\"] or\r\n        key_down[\"kp6\"] or\r\n        key_down[\"kp7\"] or\r\n        key_down[\"kp8\"] or\r\n        key_down[\"kp9\"]) then\r\n    repeat_timers[\"numpad\"] = nil\r\n  end\r\n  \r\n  if not (key_down[\"z\"] or key_down[\"q\"] or key_down[\"backspace\"] or key_down[\"kp0\"] or key_down[\"o\"]) then\r\n      repeat_timers[\"undo\"] = nil\r\n  end\r\n\r\n  for _,key in ipairs(repeat_keys) do\r\n    if repeat_timers[key] ~= nil and repeat_timers[key] <= 0 then\r\n      if key == \"undo\" then\r\n        just_moved = true\r\n        if (last_input_time ~= nil) then\r\n          print(\"input latency: \"..tostring(round((start_time-last_input_time)*1000))..\"ms\")\r\n          last_input_time = nil\r\n        end\r\n        local result = doOneMove(0, 0, \"undo\")\r\n        if result then playSound(\"undo\") else playSound(\"fail\") end\r\n        do_move_sound = false\r\n\t\t\t\tlocal end_time = love.timer.getTime()\r\n        if not unit_tests then print(\"undo took: \"..tostring(round((end_time-start_time)*1000))..\"ms\") end\r\n      else\r\n        local x, y = 0, 0\r\n        if key == \"udlr\" then\r\n            if key_down[\"up\"] and most_recent_key ~= \"down\" then y = y - 1 end\r\n            if key_down[\"down\"] and most_recent_key ~= \"up\" then y = y + 1 end\r\n            if key_down[\"left\"] and most_recent_key ~= \"right\" then x = x - 1 end\r\n            if key_down[\"right\"] and most_recent_key ~= \"left\" then x = x + 1 end\r\n        elseif key == \"wasd\" then\r\n            if key_down[\"w\"] and most_recent_key ~= \"s\" then y = y - 1 end\r\n            if key_down[\"s\"] and most_recent_key ~= \"w\" then y = y + 1 end\r\n            if key_down[\"a\"] and most_recent_key ~= \"d\" then x = x - 1 end\r\n            if key_down[\"d\"] and most_recent_key ~= \"a\" then x = x + 1 end\r\n        elseif key == \"ijkl\" then\r\n            if key_down[\"i\"] and most_recent_key ~= \"k\" then y = y - 1 end\r\n            if key_down[\"k\"] and most_recent_key ~= \"i\" then y = y + 1 end\r\n            if key_down[\"j\"] and most_recent_key ~= \"l\" then x = x - 1 end\r\n            if key_down[\"l\"] and most_recent_key ~= \"j\" then x = x + 1 end\r\n        elseif key == \"numpad\" then\r\n            if key_down[\"kp1\"] and most_recent_key ~= \"kp9\" then x = x + -1; y = y + 1 end\r\n            if key_down[\"kp2\"] and most_recent_key ~= \"kp8\" then x = x + 0; y = y + 1 end\r\n            if key_down[\"kp3\"] and most_recent_key ~= \"kp7\" then x = x + 1; y = y + 1 end\r\n            if key_down[\"kp4\"] and most_recent_key ~= \"kp6\" then x = x + -1; y = y + 0 end\r\n            if key_down[\"kp6\"] and most_recent_key ~= \"kp4\" then x = x + 1; y = y + 0 end\r\n            if key_down[\"kp7\"] and most_recent_key ~= \"kp3\" then x = x + -1; y = y + -1 end\r\n            if key_down[\"kp8\"] and most_recent_key ~= \"kp2\" then x = x + 0; y = y + -1 end\r\n            if key_down[\"kp9\"] and most_recent_key ~= \"kp1\" then x = x + 1; y = y + -1 end\r\n        end\r\n        x = sign(x); y = sign(y)\r\n        if (last_input_time ~= nil) then\r\n          print(\"input latency: \"..tostring(round((start_time-last_input_time)*1000))..\"ms\")\r\n          last_input_time = nil\r\n        end\r\n        doOneMove(x, y, key)\r\n        local end_time = love.timer.getTime()\r\n        if not unit_tests then print(\"gameplay logic took: \"..tostring(round((end_time-start_time)*1000))..\"ms\") end\r\n        -- SING\r\n        local sing_rules = matchesRule(nil, \"sing\", \"?\")\r\n        for _,ruleparent in ipairs(sing_rules) do\r\n          local unit = ruleparent[2]\r\n          \r\n          if unit.name == \"no1\" then break end\r\n          if unit.name == \"swan\" then\r\n            local sound = love.sound.newSoundData(\"assets/audio/sfx/honk\" .. math.random(1,6) .. \".wav\");\r\n            local source = love.audio.newSource(sound, \"static\")\r\n            source:setVolume(1)\r\n            source:setPitch(math.random() * ((2^(11/12)) - 1) + 1)\r\n            source:play()\r\n          else\r\n            local specific_sing = \"bit\"\r\n            if unit.tile then\r\n              specific_sing = getTile(unit.tile).voice or specific_sing\r\n            end\r\n            if (unit.name == \"pata\") then\r\n              specific_sing = \"pata\" .. tostring(unit.dir)\r\n            end\r\n            \r\n            local sing_note = ruleparent[1].rule.object.name\r\n            local sing_color = getUnitColor(ruleparent[1].rule.object.unit)\r\n            local sing_octave = 0;\r\n            if (sing_color[1] <= 6 and sing_color[2] <= 4) then\r\n              local sing_color_word = colour_for_palette[sing_color[1]][sing_color[2]];\r\n              if sing_color_word == \"whit\" then\r\n                sing_octave = 0\r\n              elseif sing_color_word == \"blacc\" then\r\n                sing_octave = -5\r\n              elseif sing_color_word == \"brwn\" then\r\n                sing_octave = -4\r\n              elseif sing_color_word == \"reed\" then\r\n                sing_octave = -3\r\n              elseif sing_color_word == \"orang\" then\r\n                sing_octave = -2\r\n              elseif sing_color_word == \"yello\" then\r\n                sing_octave = -1\r\n              elseif sing_color_word == \"grun\" then\r\n                sing_octave = 0\r\n              elseif sing_color_word == \"cyeann\" then\r\n                sing_octave = 1\r\n              elseif sing_color_word == \"bleu\" then\r\n                sing_octave = 2\r\n              elseif sing_color_word == \"purp\" then\r\n                sing_octave = 3\r\n              elseif sing_color_word == \"pinc\" then\r\n                sing_octave = 4\r\n              elseif sing_color_word == \"graey\" then\r\n                sing_octave = 5\r\n              end\r\n            end\r\n            local sing_pitch = 1\r\n            if sing_note == \"c\" or sing_note == \"b_sharp\" then\r\n              sing_pitch = 1\r\n            elseif sing_note == \"c_sharp\" or sing_note == \"d_flat\" then\r\n              sing_pitch = 2^(1/12)\r\n            elseif sing_note == \"d\" then\r\n              sing_pitch = 2^(2/12)\r\n            elseif sing_note == \"d_sharp\" or sing_note == \"e_flat\" then\r\n              sing_pitch = 2^(3/12)\r\n            elseif sing_note == \"e\" or sing_note == \"f_flat\" then\r\n              sing_pitch = 2^(4/12)\r\n            elseif sing_note == \"f\" or sing_note == \"e_sharp\" then\r\n              sing_pitch = 2^(5/12)\r\n            elseif sing_note == \"f_sharp\" or sing_note == \"g_flat\" then\r\n              sing_pitch = 2^(6/12)\r\n            elseif sing_note == \"g\" then\r\n              sing_pitch = 2^(7/12)\r\n            elseif sing_note == \"g_sharp\" or sing_note == \"a_flat\" then\r\n              sing_pitch = 2^(8/12)\r\n            elseif sing_note == \"a\" then\r\n              sing_pitch = 2^(9/12)\r\n            elseif sing_note == \"a_sharp\" or sing_note == \"b_flat\" then\r\n              sing_pitch = 2^(10/12)\r\n            elseif sing_note == \"b\" or sing_note == \"c_flat\" then\r\n              sing_pitch = 2^(11/12)\r\n            end\r\n            \r\n            sing_pitch = sing_pitch * 2^sing_octave\r\n            --slightly randomize for chorusing purposes between 99% and 101%\r\n            sing_pitch = sing_pitch * 0.99+(math.random()/50)\r\n            \r\n            sound = love.sound.newSoundData(\"assets/audio/sfx/\" .. specific_sing .. \".wav\");\r\n            local source = love.audio.newSource(sound, \"static\")\r\n            source:setVolume(1)\r\n            source:setPitch(sing_pitch or 1)\r\n            source:play()\r\n          \r\n            addParticles(\"sing\", unit.x, unit.y, sing_color)\r\n          end\r\n        end\r\n        -- BUP\r\n        if hasU(\"bup\") and units_by_name[\"bup\"] then\r\n            playSound(\"bup\")\r\n        end\r\n      end\r\n    end\r\n\r\n    if repeat_timers[key] ~= nil then\r\n      if repeat_timers[key] <= 0 then\r\n        if key ~= \"undo\" then\r\n          repeat_timers[key] = repeat_timers[key] + settings[\"input_delay\"]\r\n        else\r\n          repeat_timers[key] = repeat_timers[key] + UNDO_DELAY\r\n          UNDO_DELAY = math.max(MIN_UNDO_DELAY, UNDO_DELAY - UNDO_SPEED)\r\n        end\r\n      end\r\n      repeat_timers[key] = repeat_timers[key] - (love.timer.getDelta() * 1000)\r\n    end\r\n  end\r\n\r\n  if do_move_sound then\r\n    playSound(\"move\")\r\n  end\r\n\r\n  if stack_box.enabled then\r\n    local keep = false\r\n    for _,unit in ipairs(stack_box.units) do\r\n      if unit.x == stack_box.x and unit.y == stack_box.y and not unit.removed then\r\n        keep = true\r\n      end\r\n    end\r\n    if not keep then\r\n      scene.setStackBox(-1, -1)\r\n    else\r\n      stack_box.units = getUnitsOnTile(stack_box.x, stack_box.y)\r\n    end\r\n  end\r\nend\r\n\r\nfunction escResult(do_actual, xwx)\r\n  if was_using_editor then\r\n    if do_actual then\r\n      load_mode = \"edit\"\r\n      new_scene = editor\r\n    else\r\n      return \"the editor\"\r\n    end\r\n  else\r\n    -- i dont know what this is :owoXD:\r\n    if win_reason == \"nxt\" and level_next_level ~= nil and level_next_level ~= \"\" then\r\n      if do_actual then\r\n        loadLevels({level_next_level}, \"play\", nil, xwx)\r\n        return\r\n      else\r\n        return level_next_level\r\n      end\r\n    elseif #level_tree > 0 then\r\n      local parent = level_tree[1]\r\n      local seen = true\r\n      --[[if type(parent) == \"table\" then\r\n        for _,name in ipairs(parent) do\r\n          if not readSaveFile{\"levels\", name, \"seen\"} then\r\n            seen = false\r\n            break\r\n          end\r\n        end\r\n      else\r\n        seen = readSaveFile{\"levels\", parent, \"seen\"}\r\n      end]]\r\n      if seen then\r\n        if do_actual then\r\n          if type(parent) == \"table\" then\r\n            loadLevels(parent, \"play\", nil, xwx)\r\n          else\r\n            loadLevels({parent}, \"play\", nil, xwx)\r\n          end\r\n          table.remove(level_tree, 1)\r\n          return\r\n        else\r\n          if type(parent) == \"table\" then\r\n            local result = \"\"\r\n            for i,name in ipairs(parent) do\r\n              result = result .. (i > 1 and \" & \" or \"\") .. split(name, \"/\")[1]\r\n            end\r\n            return result\r\n          else\r\n            return split(parent, \"/\")[1]\r\n          end\r\n        end\r\n      end\r\n    end\r\n    if do_actual then\r\n      load_mode = \"play\"\r\n      new_scene = loadscene\r\n      if (love.filesystem.getInfo(getWorldDir(true) .. \"/\" .. \"overworld.txt\")) then\r\n        if loaded_custom_assets then\r\n          unloadMod()\r\n          assets.clear()\r\n          assets.load(\"assets\")\r\n          loaded_custom_assets = false\r\n        end\r\n        world = \"\"\r\n      end\r\n    else\r\n      return \"the level selection menu\"\r\n    end\r\n  end\r\nend\r\n\r\nfunction doOneMove(x, y, key, past)\r\n  if pause then return end\r\n  \r\n  if not past then\r\n    table.insert(all_moves, {x, y, key})\r\n  end\r\n  current_move = current_move + 1\r\n\r\n\tif (currently_winning and not past) then\r\n    --undo: undo win.\r\n    --idle on the winning screen: go to the editor, if we were editing; go to the parent level, if known (prefer explicit to implicit), else go back to the world we were looking at.\r\n    if (key == \"undo\") then\r\n      undoWin()\r\n    else\r\n      if x == 0 and y == 0 and key ~= \"e\" and not past then\r\n        if not replay_playback then\r\n          escResult(true)\r\n        end\r\n      end\r\n      return\r\n    end\r\n  end\r\n  \r\n  if (key == \"e\") then\r\n\t\tif hasProperty(nil,\"zawarudo\") or hasProperty(nil,\"anti zawarudo\") then\r\n      --[[\r\n      level_shader = shader_zawarudo\r\n      shader_time = 0\r\n      doin_the_world = true\r\n      ]]\r\n      newUndo()\r\n      timeless = not timeless\r\n      if timeless then\r\n        if not doing_past_turns then\r\n          extendReplayString(0, 0, \"e\")\r\n        end\r\n        if firsttimestop then\r\n          playSound(\"timestop long\",0.5)\r\n          if units_by_name[\"zawarudo\"] then\r\n            playSound(\"za warudo\",0.5)\r\n          end\r\n        else\r\n          playSound(\"timestop\",0.5)\r\n        end\r\n      else\r\n        addUndo({\"timeless_rules\", rules_with, full_rules})\r\n        parseRules()\r\n        should_parse_rules = true\r\n        doMovement(0,0,\"e\")\r\n        if firsttimestop then\r\n          playSound(\"time resume long\",0.5)\r\n          firsttimestop = false\r\n          if units_by_name[\"zawarudo\"] then\r\n            playSound(\"time resume dio\",0.5)\r\n          end\r\n        else\r\n          playSound(\"time resume\",0.5)\r\n        end\r\n      end\r\n      addUndo({\"zawarudo\", timeless})\r\n      unsetNewUnits()\r\n    else\r\n      addUndo({\"timeless_rules\", rules_with, full_rules})\r\n      timeless = false\r\n      should_parse_rules = true\r\n    end\r\n    mobile_controls_timeless:setBGImage(sprites[timeless and \"ui/time resume\" or \"ui/timestop\"])\r\n  elseif (key == \"f\") then\r\n    if not doing_past_turns then\r\n      extendReplayString(0, 0, \"f\")\r\n    end\r\n\r\n    if hasRule(\"press\",\"f2\",\"infloop\") then\r\n      destroyLevel(\"infloop\")\r\n    end\r\n    if hasRule(\"press\",\"f2\",\"plsdont\") then\r\n      destroyLevel(\"plsdont\")\r\n    end\r\n    if hasRule(\"press\",\"f2\",\"tryagain\") then\r\n      doTryAgain()\r\n    end\r\n    if hasRule(\"press\",\"f2\",\"delet\") then\r\n      doXWX()\r\n    end\r\n    if hasRule(\"press\",\"f2\",\"nxt\") then\r\n      doWin(\"nxt\")\r\n    end\r\n    if hasRule(\"press\",\"f2\",\":)\") then\r\n      doWin(\"won\")\r\n    end\r\n\r\n    local to_destroy = {}\r\n    if hasRule(\"press\",\"f2\",\"hotte\") then\r\n      local melters = getUnitsWithEffect(\"fridgd\")\r\n      for _,unit in ipairs(melters) do\r\n        table.insert(to_destroy, unit)\r\n        addParticles(\"destroy\", unit.x, unit.y, getUnitColor(unit))\r\n      end\r\n      if #to_destroy > 0 then\r\n        playSound(\"hotte\")\r\n      end\r\n    end\r\n    to_destroy = handleDels(to_destroy)\r\n    \r\n    if hasRule(\"press\",\"f2\",\":(\") then\r\n      local yous = getUs()\r\n      for _,unit in ipairs(yous) do\r\n        table.insert(to_destroy, unit)\r\n        addParticles(\"destroy\", unit.x, unit.y, getUnitColor(unit))\r\n      end\r\n    end\r\n    to_destroy = handleDels(to_destroy)\r\n\telseif (key == \"undo\") then\r\n    local result = undo()\r\n    if not doing_past_turns then\r\n      extendReplayString(0, 0, \"undo\")\r\n    end\r\n    unsetNewUnits()\r\n\t\treturn result\r\n  else\r\n    if key ~= \"drag\" then\r\n      newUndo()\r\n    end\r\n\t\tlast_move = {x, y}\r\n\t\tjust_moved = true\r\n\t\tdoMovement(x, y, key)\r\n    last_clicks = {}\r\n\t\tif #undo_buffer > 0 and #undo_buffer[1] == 0 then\r\n\t\t\ttable.remove(undo_buffer, 1)\r\n\t\tend\r\n    unsetNewUnits()\r\n    scene.doPastTurns()\r\n\tend\r\n  return true\r\nend\r\n\r\nfunction scene.doPassiveParticles(timer,word,effect,delay,chance,count,color)\r\n  local do_particles = false\r\n  if not particle_timers[word] then\r\n    particle_timers[word] = 0\r\n  else\r\n    particle_timers[word] = particle_timers[word] + timer\r\n    if particle_timers[word] >= delay then\r\n      particle_timers[word] = particle_timers[word] - delay\r\n      do_particles = true\r\n    end\r\n  end\r\n  \r\n  if do_particles and not timeless then\r\n    local matches = matchesRule(nil,\"be\",word)\r\n    for _,match in ipairs(matches) do\r\n      local unit = match[2]\r\n      local real_count = 0\r\n      for i = 1, count do\r\n        if math.random() < chance then\r\n          real_count = real_count + 1\r\n        end\r\n      end\r\n      if not unit.stelth and particlesRngCheck() then\r\n        if word == \":)\" and countProperty(unit,\":)\") > countProperty (unit,\"un:)\") then\r\n          addParticles(effect, unit.x, unit.y, color, real_count)\r\n        elseif word == \"un:)\" and countProperty(unit,\":)\") < countProperty (unit,\"un:)\") then\r\n          addParticles(effect, unit.x, unit.y, color, real_count)\r\n        elseif word ~= \":)\" and word ~= \"un:)\" then\r\n          addParticles(effect, unit.x, unit.y, color, real_count)\r\n        end\r\n      end\r\n    end\r\n  end\r\nend\r\n\r\nfunction scene.doPastTurns()\r\n  if not doing_past_turns and change_past then\r\n    old_units = units\r\n    old_units_by_id = units_by_id\r\n    doing_past_turns = true\r\n    past_playback = true\r\n    past_queued_wins = {}\r\n\r\n    if (unit_tests or not settings[\"stopwatch_effect\"]) then\r\n      do_past_effects = true\r\n      playSound(\"stopwatch\")\r\n    end\r\n\r\n    cutscene_tick:delay(function() \r\n      do_past_effects = false\r\n      local start_time = love.timer.getTime()\r\n      local destroy_level = false\r\n      local old_move = current_move\r\n      local old_move_total = #all_moves\r\n      \r\n      --[[while change_past and not destroy_level do\r\n        change_past = false\r\n        local past_buffer = undo_buffer\r\n        scene.resetStuff()\r\n        current_move = 0\r\n        undo_buffer = {}\r\n        for i,past_move in ipairs(all_moves) do\r\n          doOneMove(past_move[1], past_move[2], past_move[3], true)\r\n          if change_past then break end\r\n          if love.timer.getTime() - start_time > 10 then\r\n            destroy_level = true\r\n            break\r\n          end\r\n        end\r\n        undo_buffer = past_buffer\r\n      end]]\r\n      if destroy_level then\r\n        destroyLevel(\"infloop\")\r\n      elseif (settings[\"stopwatch_effect\"] and not unit_tests) then\r\n        local moves_per_tick = 1\r\n        local delay = math.max(1/#all_moves, 1/20)\r\n        while delay < 1/60 do\r\n          moves_per_tick = moves_per_tick * 2\r\n          delay = delay * 2\r\n        end\r\n        stopwatch.visible = true\r\n        stopwatch.big.rotation = 0\r\n        stopwatch.small.rotation = 0\r\n        clock_tween = tween.new(delay * math.ceil(#all_moves / moves_per_tick), stopwatch.big, {rotation = 360})\r\n        addTween(clock_tween, \"stopwatch\")\r\n\r\n        do_past_effects = true\r\n        playSound(\"stopwatch\")\r\n        local past_buffer = undo_buffer\r\n        scene.resetStuff(true)\r\n        current_move = 0\r\n        local iterations = 1\r\n        local count = math.min(#all_moves - i, moves_per_tick - 1)\r\n        local function pastMove(i, count)\r\n          change_past = false\r\n          local finished = false\r\n          for j = 0, count do\r\n            if i+j == #all_moves then\r\n              finished = true\r\n            end\r\n            doOneMove(all_moves[i+j][1], all_moves[i+j][2], all_moves[i+j][3], true)\r\n          end\r\n          if change_past then\r\n            cutscene_tick:delay(function()\r\n              addTween(tween.new(delay, stopwatch.big, {rotation = 0}), \"stopwatch\")\r\n              change_past = false\r\n              --past_buffer = undo_buffer\r\n              scene.resetStuff(true)\r\n              current_move = 0\r\n              iterations = iterations + 1\r\n            end, delay):after(function()\r\n              clock_tween:set(0)\r\n              addTween(clock_tween, \"stopwatch\")\r\n              playSound(\"stopwatch\")\r\n              pastMove(1, math.min(#all_moves - 1, moves_per_tick - 1))\r\n            end, delay)\r\n          elseif finished then\r\n            stopwatch.visible = false\r\n            should_parse_rules = true\r\n            doing_past_turns = false\r\n            past_playback = false\r\n            past_rules = {}\r\n            \r\n            for result, payload in pairs(past_queued_wins) do\r\n              doWin(result, payload)\r\n            end\r\n            \r\n            undo_buffer = past_buffer\r\n            createUndoBasedOnUnitsChanges(old_units, old_units_by_id, units, units_by_id)\r\n            old_units = nil; old_units_by_id = nil;\r\n          elseif iterations > 20 then\r\n            destroyLevel(\"plsdont\")\r\n          else\r\n            cutscene_tick:delay(function() pastMove(i+count+1, math.min(#all_moves - i+count, moves_per_tick - 1)) end, delay)\r\n          end \r\n        end\r\n        cutscene_tick:delay(function() pastMove(1, math.min(#all_moves - 1, moves_per_tick - 1)) end, delay)\r\n      else\r\n        --[[local past_buffer = undo_buffer\r\n        scene.resetStuff(true)\r\n        current_move = 0\r\n        undo_buffer = {}]]\r\n        while change_past and not destroy_level do\r\n          change_past = false\r\n          local past_buffer = undo_buffer\r\n          scene.resetStuff(true)\r\n          current_move = 0\r\n          undo_buffer = {}\r\n          for i,past_move in ipairs(all_moves) do\r\n            do_past_effects = i <= 10 or #all_moves - i < 10\r\n            if i == #all_moves then\r\n              should_parse_rules = true\r\n            end\r\n            doOneMove(past_move[1], past_move[2], past_move[3], true)\r\n            if change_past then break end\r\n            if love.timer.getTime() - start_time > 10 then\r\n              destroy_level = true\r\n              break\r\n            end\r\n          end\r\n          undo_buffer = past_buffer\r\n        end\r\n        if destroy_level then\r\n          destroyLevel(\"infloop\")\r\n        else\r\n          --[[for i,past_move in ipairs(all_moves) do\r\n            do_past_effects = i <= 10 or #all_moves - i < 10\r\n            if i == #all_moves then\r\n              should_parse_rules = true\r\n            end\r\n            doOneMove(past_move[1], past_move[2], past_move[3], true)\r\n          end]]\r\n          should_parse_rules = true\r\n          doing_past_turns = false\r\n          past_playback = false\r\n          past_rules = {}\r\n          \r\n          for result, payload in pairs(past_queued_wins) do\r\n            doWin(result, payload)\r\n          end\r\n          \r\n          --undo_buffer = past_buffer\r\n          createUndoBasedOnUnitsChanges(old_units, old_units_by_id, units, units_by_id)\r\n          old_units = nil; old_units_by_id = nil;\r\n          for k,v in pairs(tweens) do\r\n            v[1]:set(v[1].duration)\r\n          end\r\n        end\r\n      end\r\n    end, 0.25)\r\n  end\r\nend\r\n\r\n--have a probability to produce particles if there are more than 50 emitters, so that performance degradation is capped.\r\nfunction particlesRngCheck()\r\n  if #particles < 50 then return true end\r\n  return math.random() < math.pow(0.5, (#particles-50)/50)\r\nend\r\n\r\nlast_click_button = 1;\r\n\r\nfunction finishDragabl()\r\n  local dragged = false\r\n  for _,unit in ipairs(drag_units) do\r\n    local dest_x, dest_y = math.floor(unit.draw.x + 0.5), math.floor(unit.draw.y + 0.5)\r\n      if not dragged then\r\n        playSound(\"dragabl putdown\")\r\n        newUndo()\r\n      end\r\n      addUndo{\"update\",unit.id,unit.x,unit.y,unit.dir}\r\n      moveUnit(unit,dest_x,dest_y)\r\n      dragged = true\r\n    --end\r\n    addTween(tween.new(0.1, unit.draw, {x = unit.x, y = unit.y}), \"dragbl release:\"..tostring(unit))\r\n  end\r\n  return dragged\r\nend\r\n\r\nfunction scene.mouseReleased(x, y, button)\r\n  local height, width = love.graphics.getHeight(), love.graphics.getWidth()\r\n  local box = sprites[\"ui/32x32\"]:getWidth()\r\n  \r\n  if button == 1 then\r\n    local did_a_thing = false;\r\n    -- DRAGBL release\r\n    if units_by_name[\"txt_dragbl\"] then\r\n      local last_click_x, last_click_y = screenToGameTile(love.mouse.getX(), love.mouse.getY())\r\n      local dragged = finishDragabl()\r\n      if dragged then\r\n        last_click_button = 1\r\n        doOneMove(last_click_x,last_click_y,\"drag\")\r\n        did_a_thing = true\r\n      end\r\n      drag_units = {}\r\n      mous_for_drag_unit = {}\r\n      initialxy_for_drag_unit = {}\r\n      last_clicks = {}\r\n    end\r\n    -- CLIKT prefix\r\n    if units_by_name[\"txt_clikt\"] and not did_a_thing then\r\n      local last_click_x, last_click_y = screenToGameTile(love.mouse.getX(), love.mouse.getY())\r\n      last_click_button = 1\r\n      doOneMove(last_click_x,last_click_y,\"clikt\")\r\n      last_clicks = {}\r\n      playSound(\"clicc\")\r\n    end\r\n    -- Replay buttons\r\n    if replay_playback then\r\n      if pointInside(x, y, width - box*3, 0, box, box) then\r\n        replay_pause = not replay_pause\r\n      end\r\n      if not replay_pause then\r\n        if pointInside(x, y, width - box*4, 0, box, box) then\r\n          replay_playback_interval = replay_playback_interval / 0.8\r\n        elseif pointInside(x, y, width - box*2, 0, box, box) then\r\n          replay_playback_interval = replay_playback_interval * 0.8\r\n        end\r\n      elseif replay_pause then\r\n        if pointInside(x, y, width - box*4, 0, box, box) then\r\n          if replay_playback_turn > 1 then\r\n            replay_playback_turn = replay_playback_turn - 1\r\n            doOneMove(0,0,\"undo\")\r\n          end\r\n        elseif pointInside(x, y, width - box*2, 0, box, box) then\r\n          doReplayTurn(replay_playback_turn)\r\n          replay_playback_turn = replay_playback_turn + 1\r\n        end\r\n      end\r\n      if pointInside(x, y, width - box, 0, box, box) then\r\n        replay_playback = false\r\n      end\r\n    end\r\n  elseif button == 2 then\r\n    -- CLIKT prefix\r\n    if units_by_name[\"txt_clikt\"] then\r\n      local last_click_x, last_click_y = screenToGameTile(love.mouse.getX(), love.mouse.getY())\r\n      last_click_button = 2\r\n      doOneMove(last_click_x,last_click_y,\"anti clikt\")\r\n      playSound(\"anti clicc\")\r\n      last_clicks = {}\r\n    end\r\n    -- Stacks preview\r\n    scene.setStackBox(screenToGameTile(x, y))\r\n  end\r\n\r\n  if pause then\r\n    width = love.graphics.getWidth()\r\n    height = love.graphics.getHeight()\r\n\r\n    local buttonwidth, buttonheight = sprites[\"ui/button_1\"]:getDimensions()\r\n\r\n    local mousex, mousey = love.mouse.getPosition()\r\n\r\n    --[[for i=1, #buttons do\r\n      local buttony = buttonheight*4+(buttonheight+10)*(i-2)\r\n      if mouseOverBox(width/2-sprites[\"ui/button_1\"]:getWidth()/2, buttony, buttonwidth, buttonheight) then\r\n        if button == 1 then\r\n          handlePauseButtonPressed(i)\r\n        end\r\n      end\r\n    end]]\r\n  end\r\nend\r\n\r\nfunction handlePauseButtonPressed(i)\r\n  if buttons[i] == \"exit\" then\r\n    escResult(true)\r\n  elseif buttons[i] == \"resume\" then\r\n    pause = false\r\n  elseif buttons[i] == \"editor\" then\r\n    new_scene = editor\r\n    load_mode = \"edit\"\r\n  elseif buttons[i] == \"restart\" then\r\n    pause = false\r\n    scene.resetStuff()\r\n  end\r\nend\r\n\r\nfunction scene.resize(w, h)\r\n  scene.buildUI()\r\nend\r\n\r\n\r\nfunction scene.mousePressed(x, y, button)\r\n  if not (rules_with[\"dragbl\"] or rules_with[\"anti dragbl\"]) then return end\r\n  \r\n  if button == 1 then\r\n    for _,cursor in ipairs(cursors) do\r\n      local tx,ty = cursor.x, cursor.y\r\n      local stuff = getUnitsOnTile(tx,ty)\r\n      for _,unit in ipairs(stuff) do\r\n        if (hasProperty(unit,\"dragbl\") or hasProperty(unit,\"anti dragbl\")) and mous_for_drag_unit[unit] == nil then\r\n          table.insert(drag_units, unit)\r\n          mous_for_drag_unit[unit] = cursor;\r\n          initialxy_for_drag_unit[unit] = {x = cursor.screenx, y = cursor.screeny}\r\n        end\r\n      end\r\n    end\r\n    if (#drag_units > 0) then\r\n      playSound(\"dragabl pickup\")\r\n    end\r\n  end\r\nend\r\n\r\nfunction scene.setStackBox(x, y)\r\n  local units = getUnitsOnTile(x, y)\r\n  for _,unit in ipairs(units) do\r\n    if unit.name ~= \"no1\" then\r\n      if stack_box.scale == 0 then\r\n        stack_box.enabled = true\r\n        stack_box.units = units\r\n        stack_box.x, stack_box.y = unit.x, unit.y\r\n        addTween(tween.new(0.1, stack_box, {scale = 1}), \"stack box\")\r\n      elseif stack_box.x ~= unit.x or stack_box.y ~= unit.y then\r\n        addTween(tween.new(0.05, stack_box, {scale = 0}), \"stack box\", function()\r\n          stack_box.enabled = true\r\n          stack_box.units = units\r\n          stack_box.x, stack_box.y = unit.x, unit.y\r\n          addTween(tween.new(0.1, stack_box, {scale = 1}), \"stack box\")\r\n        end)\r\n      else\r\n        stack_box.enabled = false\r\n        addTween(tween.new(0.1, stack_box, {scale = 0}), \"stack box\")\r\n      end\r\n      return\r\n    end\r\n  end\r\n  if stack_box.enabled then\r\n    stack_box.enabled = false\r\n    addTween(tween.new(0.1, stack_box, {scale = 0}), \"stack box\")\r\n  end\r\nend\r\n\r\nfunction scene.setPathlockBox(unit)\r\n  if unit then\r\n    if pathlock_box.scale == 0 then\r\n      pathlock_box.enabled = true\r\n      pathlock_box.unit = unit\r\n      pathlock_box.x, pathlock_box.y = unit.x, unit.y\r\n      addTween(tween.new(0.1, pathlock_box, {scale = 1}), \"pathlock box\")\r\n    elseif pathlock_box.x ~= unit.x or pathlock_box.y ~= unit.y then\r\n      addTween(tween.new(0.05, pathlock_box, {scale = 0}), \"pathlock box\", function()\r\n        pathlock_box.enabled = true\r\n        pathlock_box.unit = unit\r\n        pathlock_box.x, pathlock_box.y = unit.x, unit.y\r\n        addTween(tween.new(0.1, pathlock_box, {scale = 1}), \"pathlock box\")\r\n      end)\r\n    end\r\n    return\r\n  end\r\n  if pathlock_box.enabled then\r\n    pathlock_box.enabled = false\r\n    addTween(tween.new(0.1, pathlock_box, {scale = 0}), \"pathlock box\")\r\n  end\r\nend\r\n\r\nfunction updateDragabl()\r\n  if drag_units and #drag_units > 0 then\r\n    local nodrags = getUnitsWithEffect(\"nodrag\")\r\n    local bordr_is_nodrag = hasRule(\"bordr\", \"be\", \"nodrag\")\r\n\r\n    for _,unit in ipairs(drag_units) do\r\n      local tx, ty = screenToGameTile(mous_for_drag_unit[unit].screenx, mous_for_drag_unit[unit].screeny, true)\r\n      tx,ty = tx - 0.5, ty - 0.5\r\n      local mx, my\r\n      if hasProperty(unit,\"anti dragbl\") then\r\n        mx, my = screenToGameTile(initialxy_for_drag_unit[unit].x, initialxy_for_drag_unit[unit].y);\r\n        mx,my = mx*2-tx, my*2-ty\r\n      else\r\n        mx,my = tx,ty\r\n      end\r\n      --mx, my = mx - 0.5, my - 0.5\r\n      local oldx, oldy = math.floor(unit.draw.x), math.floor(unit.draw.y)\r\n      local dx, dy = sign(mx - unit.draw.x), sign(my - unit.draw.y)\r\n      if anti then\r\n        dx, dy = sign(mx - unit.draw.x), sign(my - unit.draw.y)\r\n      end\r\n      local gox, goy = true, true\r\n\r\n      if (bordr_is_nodrag) then\r\n        if math.floor(unit.draw.x)+dx < 0 then\r\n          gox = false\r\n        end\r\n        if math.floor(unit.draw.x)+dx > (mapwidth-1) then\r\n          gox = false\r\n        end\r\n        if math.floor(unit.draw.y)+dy < 0 then\r\n          goy = false\r\n        end\r\n        if math.floor(unit.draw.y)+dy > (mapheight-1) then\r\n          goy = false\r\n        end\r\n      end\r\n\r\n      for __,other in ipairs(nodrags) do\r\n        if (other.x == math.floor(unit.draw.x)+dx) and (other.y == math.floor(unit.draw.y) or other.y == math.ceil(unit.draw.y)) then\r\n          gox = false\r\n          break\r\n        end\r\n      end\r\n      for __,other in ipairs(nodrags) do\r\n        if (other.y == math.floor(unit.draw.y)+dy) and (other.x == math.floor(unit.draw.x) or other.x == math.ceil(unit.draw.x)) then\r\n          goy = false\r\n          break\r\n        end\r\n      end\r\n\r\n      if gox then \r\n        local diff = mx - unit.draw.x\r\n        if diff < -0.25 then diff = -0.25 end\r\n        if diff > 0.25 then diff = 0.25 end\r\n        unit.draw.x = unit.draw.x + diff\r\n      else\r\n        if mx * dx < oldx * dx then\r\n          unit.draw.x = mx\r\n        else\r\n          unit.draw.x = oldx\r\n        end\r\n      end\r\n      if goy then\r\n        local diff = my - unit.draw.y\r\n        if diff < -0.25 then diff = -0.25 end\r\n        if diff > 0.25 then diff = 0.25 end\r\n        unit.draw.y = unit.draw.y + diff\r\n      else\r\n        if my * dy < oldy * dy then\r\n          unit.draw.y = my\r\n        else\r\n          unit.draw.y = oldy\r\n        end\r\n      end\r\n    end\r\n  end\r\nend\r\n\r\nreturn scene\r\n"
  },
  {
    "path": "serpent.lua",
    "content": "local n, v = \"serpent\", \"0.302\" -- (C) 2012-18 Paul Kulchenko; MIT License\nlocal c, d = \"Paul Kulchenko\", \"Lua serializer and pretty printer\"\nlocal snum = {[tostring(1/0)]='1/0 --[[math.huge]]',[tostring(-1/0)]='-1/0 --[[-math.huge]]',[tostring(0/0)]='0/0'}\nlocal badtype = {thread = true, userdata = true, cdata = true}\nlocal getmetatable = debug and debug.getmetatable or getmetatable\nlocal pairs = function(t) return next, t end -- avoid using __pairs in Lua 5.2+\nlocal keyword, globals, G = {}, {}, (_G or _ENV)\nfor _,k in ipairs({'and', 'break', 'do', 'else', 'elseif', 'end', 'false',\n  'for', 'function', 'goto', 'if', 'in', 'local', 'nil', 'not', 'or', 'repeat',\n  'return', 'then', 'true', 'until', 'while'}) do keyword[k] = true end\nfor k,v in pairs(G) do globals[v] = k end -- build func to name mapping\nfor _,g in ipairs({'coroutine', 'debug', 'io', 'math', 'string', 'table', 'os'}) do\n  for k,v in pairs(type(G[g]) == 'table' and G[g] or {}) do globals[v] = g..'.'..k end end\n\nlocal function s(t, opts)\n  local name, indent, fatal, maxnum = opts.name, opts.indent, opts.fatal, opts.maxnum\n  local sparse, custom, huge = opts.sparse, opts.custom, not opts.nohuge\n  local space, maxl = (opts.compact and '' or ' '), (opts.maxlevel or math.huge)\n  local maxlen, metatostring = tonumber(opts.maxlength), opts.metatostring\n  local iname, comm = '_'..(name or ''), opts.comment and (tonumber(opts.comment) or math.huge)\n  local numformat = opts.numformat or \"%.17g\"\n  local seen, sref, syms, symn = {}, {'local '..iname..'={}'}, {}, 0\n  local function gensym(val) return '_'..(tostring(tostring(val)):gsub(\"[^%w]\",\"\"):gsub(\"(%d%w+)\",\n    -- tostring(val) is needed because __tostring may return a non-string value\n    function(s) if not syms[s] then symn = symn+1; syms[s] = symn end return tostring(syms[s]) end)) end\n  local function safestr(s) return type(s) == \"number\" and tostring(huge and snum[tostring(s)] or numformat:format(s))\n    or type(s) ~= \"string\" and tostring(s) -- escape NEWLINE/010 and EOF/026\n    or (\"%q\"):format(s):gsub(\"\\010\",\"n\"):gsub(\"\\026\",\"\\\\026\") end\n  local function comment(s,l) return comm and (l or 0) < comm and ' --[['..select(2, pcall(tostring, s))..']]' or '' end\n  local function globerr(s,l) return globals[s] and globals[s]..comment(s,l) or not fatal\n    and safestr(select(2, pcall(tostring, s))) or error(\"Can't serialize \"..tostring(s)) end\n  local function safename(path, name) -- generates foo.bar, foo[3], or foo['b a r']\n    local n = name == nil and '' or name\n    local plain = type(n) == \"string\" and n:match(\"^[%l%u_][%w_]*$\") and not keyword[n]\n    local safe = plain and n or '['..safestr(n)..']'\n    return (path or '')..(plain and path and '.' or '')..safe, safe end\n  local alphanumsort = type(opts.sortkeys) == 'function' and opts.sortkeys or function(k, o, n) -- k=keys, o=originaltable, n=padding\n    local maxn, to = tonumber(n) or 12, {number = 'a', string = 'b'}\n    local function padnum(d) return (\"%0\"..tostring(maxn)..\"d\"):format(tonumber(d)) end\n    table.sort(k, function(a,b)\n      -- sort numeric keys first: k[key] is not nil for numerical keys\n      return (k[a] ~= nil and 0 or to[type(a)] or 'z')..(tostring(a):gsub(\"%d+\",padnum))\n           < (k[b] ~= nil and 0 or to[type(b)] or 'z')..(tostring(b):gsub(\"%d+\",padnum)) end) end\n  local function val2str(t, name, indent, insref, path, plainindex, level)\n    local ttype, level, mt = type(t), (level or 0), getmetatable(t)\n    local spath, sname = safename(path, name)\n    local tag = plainindex and\n      ((type(name) == \"number\") and '' or name..space..'='..space) or\n      (name ~= nil and sname..space..'='..space or '')\n    if seen[t] then -- already seen this element\n      sref[#sref+1] = spath..space..'='..space..seen[t]\n      return tag..'nil'..comment('ref', level) end\n    -- protect from those cases where __tostring may fail\n    if type(mt) == 'table' and metatostring ~= false then\n      local to, tr = pcall(function() return mt.__tostring(t) end)\n      local so, sr = pcall(function() return mt.__serialize(t) end)\n      if (to or so) then -- knows how to serialize itself\n        seen[t] = insref or spath\n        t = so and sr or tr\n        ttype = type(t)\n      end -- new value falls through to be serialized\n    end\n    if ttype == \"table\" then\n      if level >= maxl then return tag..'{}'..comment('maxlvl', level) end\n      seen[t] = insref or spath\n      if next(t) == nil then return tag..'{}'..comment(t, level) end -- table empty\n      if maxlen and maxlen < 0 then return tag..'{}'..comment('maxlen', level) end\n      local maxn, o, out = math.min(#t, maxnum or #t), {}, {}\n      for key = 1, maxn do o[key] = key end\n      if not maxnum or #o < maxnum then\n        local n = #o -- n = n + 1; o[n] is much faster than o[#o+1] on large tables\n        for key in pairs(t) do if o[key] ~= key then n = n + 1; o[n] = key end end end\n      if maxnum and #o > maxnum then o[maxnum+1] = nil end\n      if opts.sortkeys and #o > maxn then alphanumsort(o, t, opts.sortkeys) end\n      local sparse = sparse and #o > maxn -- disable sparsness if only numeric keys (shorter output)\n      for n, key in ipairs(o) do\n        local value, ktype, plainindex = t[key], type(key), n <= maxn and not sparse\n        if opts.valignore and opts.valignore[value] -- skip ignored values; do nothing\n        or opts.keyallow and not opts.keyallow[key]\n        or opts.keyignore and opts.keyignore[key]\n        or opts.valtypeignore and opts.valtypeignore[type(value)] -- skipping ignored value types\n        or sparse and value == nil then -- skipping nils; do nothing\n        elseif ktype == 'table' or ktype == 'function' or badtype[ktype] then\n          if not seen[key] and not globals[key] then\n            sref[#sref+1] = 'placeholder'\n            local sname = safename(iname, gensym(key)) -- iname is table for local variables\n            sref[#sref] = val2str(key,sname,indent,sname,iname,true) end\n          sref[#sref+1] = 'placeholder'\n          local path = seen[t]..'['..tostring(seen[key] or globals[key] or gensym(key))..']'\n          sref[#sref] = path..space..'='..space..tostring(seen[value] or val2str(value,nil,indent,path))\n        else\n          out[#out+1] = val2str(value,key,indent,nil,seen[t],plainindex,level+1)\n          if maxlen then\n            maxlen = maxlen - #out[#out]\n            if maxlen < 0 then break end\n          end\n        end\n      end\n      local prefix = string.rep(indent or '', level)\n      local head = indent and '{\\n'..prefix..indent or '{'\n      local body = table.concat(out, ','..(indent and '\\n'..prefix..indent or space))\n      local tail = indent and \"\\n\"..prefix..'}' or '}'\n      return (custom and custom(tag,head,body,tail,level) or tag..head..body..tail)..comment(t, level)\n    elseif badtype[ttype] then\n      seen[t] = insref or spath\n      return tag..globerr(t, level)\n    elseif ttype == 'function' then\n      seen[t] = insref or spath\n      if opts.nocode then return tag..\"function() --[[..skipped..]] end\"..comment(t, level) end\n      local ok, res = pcall(string.dump, t)\n      local func = ok and \"((loadstring or load)(\"..safestr(res)..\",'@serialized'))\"..comment(t, level)\n      return tag..(func or globerr(t, level))\n    else return tag..safestr(t) end -- handle all other types\n  end\n  local sepr = indent and \"\\n\" or \";\"..space\n  local body = val2str(t, name, indent) -- this call also populates sref\n  local tail = #sref>1 and table.concat(sref, sepr)..sepr or ''\n  local warn = opts.comment and #sref>1 and space..\"--[[incomplete output with shared/self-references skipped]]\" or ''\n  return not name and body..warn or \"do local \"..body..sepr..tail..\"return \"..name..sepr..\"end\"\nend\n\nlocal function deserialize(data, opts)\n  local env = (opts and opts.safe == false) and G\n    or setmetatable({}, {\n        __index = function(t,k) return t end,\n        __call = function(t,...) error(\"cannot call functions\") end\n      })\n  local f, res = (loadstring or load)('return '..data, nil, nil, env)\n  if not f then f, res = (loadstring or load)(data, nil, nil, env) end\n  if not f then return f, res end\n  if setfenv then setfenv(f, env) end\n  return pcall(f)\nend\n\nlocal function merge(a, b) if b then for k,v in pairs(b) do a[k] = v end end; return a; end\nreturn { _NAME = n, _COPYRIGHT = c, _DESCRIPTION = d, _VERSION = v, serialize = s,\n  load = deserialize,\n  dump = function(a, opts) return s(a, merge({name = '_', compact = true, sparse = true}, opts)) end,\n  line = function(a, opts) return s(a, merge({sortkeys = true, comment = true}, opts)) end,\n  block = function(a, opts) return s(a, merge({indent = '  ', sortkeys = true, comment = true}, opts)) end }"
  },
  {
    "path": "shader_pucker.txt",
    "content": "// ZA WARUDO\n\n// helper function, please ignore\nnumber _hue(number s, number t, number h)\n{\n\th = mod(h, 1.);\n\tnumber six_h = 6.0 * h;\n\tif (six_h < 1.) return (t-s) * six_h + s;\n\tif (six_h < 3.) return t;\n\tif (six_h < 4.) return (t-s) * (4.-six_h) + s;\n\treturn s;\n}\n\n// input: vec4(h,s,l,a), with h,s,l,a = 0..1\n// output: vec4(r,g,b,a), with r,g,b,a = 0..1\nvec4 hsl_to_rgb(vec4 c)\n{\n\tif (c.y == 0)\n\t\treturn vec4(vec3(c.z), c.a);\n\n\tnumber t = (c.z < .5) ? c.y*c.z + c.z : -c.y*c.z + (c.y+c.z);\n\tnumber s = 2.0 * c.z - t;\n\treturn vec4(_hue(s,t,c.x + 1./3.), _hue(s,t,c.x), _hue(s,t,c.x - 1./3.), c.w);\n}\n\n// input: vec4(r,g,b,a), with r,g,b,a = 0..1\n// output: vec4(h,s,l,a), with h,s,l,a = 0..1\nvec4 rgb_to_hsl(vec4 c)\n{\n\tnumber low = min(c.r, min(c.g, c.b));\n\tnumber high = max(c.r, max(c.g, c.b));\n\tnumber delta = high - low;\n\tnumber sum = high+low;\n\n\tvec4 hsl = vec4(.0, .0, .5 * sum, c.a);\n\tif (delta == .0)\n\t\treturn hsl;\n\n\thsl.y = (hsl.z < .5) ? delta / sum : delta / (2.0 - sum);\n\n\tif (high == c.r)\n\t\thsl.x = (c.g - c.b) / delta;\n\telse if (high == c.g)\n\t\thsl.x = (c.b - c.r) / delta + 2.0;\n\telse\n\t\thsl.x = (c.r - c.g) / delta + 4.0;\n\n\thsl.x = mod(hsl.x / 6., 1.);\n\treturn hsl;\n}\n\nuniform number time;\nnumber pi = atan(1.0)*4.0;\nvec4 effect(vec4 color, Image texture, vec2 texture_coords, vec2 scoord) {\n  //distort part\n  vec2 npos = texture_coords;\n  number cx = texture_coords.x-0.5;\n  number cy = texture_coords.y-0.5;\n  number dist = sqrt(cx*cx + cy*cy);\n  cx = cx/dist;\n  cy = cy/dist;\n  number circle = sin(min(time/130,pi))*1.2;\n  npos.x = npos.x + (cx/6 * sin((dist-0.7)*17)/2) * circle;\n  npos.y = npos.y + (cy/6 * sin((dist-0.7)*17)/2) * circle;\n  vec4 texturecolor = Texel(texture, npos);\n  texturecolor = texturecolor * color;\n  //color part\n  if(dist < circle) {\n    texturecolor.r = 1 - texturecolor.r;\n    texturecolor.g = 1 - texturecolor.g;\n    texturecolor.b = 1 - texturecolor.b;\n    vec4 chromcolo = rgb_to_hsl(texturecolor);\n    chromcolo.x = 0.666 + time/400;\n    if(mod(circle - dist, 0.4/3) < 0.06 && circle - dist < 0.4) {\n    chromcolo.z = 1;\n    chromcolo.a = 1;\n  }\n    texturecolor = hsl_to_rgb(chromcolo);\n  }\n  return vec4(texturecolor.r, texturecolor.g, texturecolor.b, texturecolor.a);\n}"
  },
  {
    "path": "test/ui.lua",
    "content": "local scene = {}\r\n\r\nlocal components = {}\r\n\r\nfunction scene.load()\r\n  scene.buildUI()\r\n  scene.selecting = true\r\n  love.keyboard.setKeyRepeat(true)\r\nend\r\n\r\nfunction scene.buildUI()\r\n  local center_text = ui.text_input.new():setText(\"center text\"):setFont(ui.fonts.title):setWidth(300):setPos(5, 5):setColor(0.2, 0.2, 0.2):setFill(true):onReleased(function(o) ui.setEditing(o) end)\r\n  local left_text = ui.text_input.new():setText(\"left text\"):setFont(ui.fonts.title):setAlign(\"left\"):setPos(5, 5+center_text:getHeight()+5):setWidth(300):setColor(0.2, 0.2, 0.2):setFill(true):onReleased(function(o) ui.setEditing(o) end)\r\n\r\n  table.insert(components, center_text)\r\n  table.insert(components, left_text)\r\nend\r\n\r\nfunction scene.draw()\r\n  love.graphics.clear(0.1, 0.1, 0.11)\r\n\r\n  for _,c in ipairs(components) do\r\n    c:draw()\r\n  end\r\nend\r\n\r\nreturn scene"
  },
  {
    "path": "ui/component.lua",
    "content": "local component = {}\n\n-- Basic component, used as a base for others\nfunction component.new(t)\n  local o = t or {}\n\n  o.data = {}\n  o.children = {}\n  o.mouse = {x = -1, y = -1, left = \"up\", right = \"up\"}\n  o.frame = 0\n  o.select_state = nil\n  o.draw_params = {}\n\n  -- Event Tables\n  o.on_hovered = {}\n  o.on_exited = {}\n  o.on_pressed = {}\n  o.on_released = {}\n\n  o.on_pre_draw = {}\n  o.on_draw = {}\n\n  -- Basic Functions\n\n  function o:getX() return self.x or 0 end\n  function o:getY() return self.y or 0 end\n\n  function o:setX(val) self.x = val; return self end\n  function o:setY(val) self.y = val; return self end\n\n  function o:getPos() return self:getX(), self:getY() end\n  function o:setPos(x, y)\n    self:setX(x)\n    self:setY(y)\n    return self\n  end\n\n  function o:getWidth()\n    if not self.w then\n      if self:getSprite() then return self:getSprite():getWidth()\n      elseif self:getText() ~= \"\" then return self:getFont():getWidth(self:getText())\n      else return 0 end\n    else return self.w end\n  end\n  function o:getHeight()\n    if not self.h then\n      if self:getSprite() then return self:getSprite():getHeight()\n      elseif self:getText() ~= \"\" then return self:getFont():getHeight()\n      else return 0 end\n    else return self.h end\n  end\n\n  function o:setWidth(val) self.w = val; return self end\n  function o:setHeight(val) self.h = val; return self end\n\n  function o:getSize() return self:getWidth(), self:getHeight() end\n  function o:setSize(w, h)\n    self:setWidth(w)\n    self:setHeight(h or w)\n    return self\n  end\n\n  function o:getDrawX() return self.draw_params.x or self:getX() end\n  function o:getDrawY() return self.draw_params.y or self:getY() end\n  function o:getDrawPos() return self:getDrawX(), self:getDrawY() end\n  function o:getDrawWidth() return self.draw_params.w or self:getWidth() end\n  function o:getDrawHeight() return self.draw_params.h or self:getHeight() end\n  function o:getDrawSize() return self:getDrawWidth(), self:getDrawHeight() end\n\n  function o:getEnabled() if self.enabled == nil then return true else return self.enabled end end\n  function o:setEnabled(val) self.enabled = val; return self end\n\n  -- Container Functions\n\n  function o:addChild(child)\n    if not table.has_value(self.children, child) then\n      table.insert(self.children, child)\n      child.parent = child.parent or self\n    end\n  end\n\n  function o:removeChild(child)\n    for i,v in ipairs(self.children) do\n      if v == child then\n        table.remove(self.children, i)\n        if child.parent == self then child.parent = nil end\n        break\n      end\n    end\n  end\n\n  function o:hasParent(parent)\n    if not self.parent then\n      return false\n    else\n      return self.parent == parent or self.parent:hasParent(parent)\n    end\n  end\n\n  -- Transformation Functions\n\n  function o:getScaleX() return self.sx or 1 end\n  function o:getScaleY() return self.sy or 1 end\n  \n  function o:setScaleX(val) self.sx = val; return self end\n  function o:setScaleY(val) self.sy = val; return self end\n\n  function o:getScale() return self:getScaleX(), self:getScaleY() end\n  function o:setScale(x, y)\n    self:setScaleX(x)\n    self:setScaleY(y or x)\n    return self\n  end\n\n  function o:getPivotX() return self.px or 0 end\n  function o:getPivotY() return self.py or 0 end\n  \n  function o:setPivotX(val) self.px = val; return self end\n  function o:setPivotY(val) self.py = val; return self end\n\n  function o:getPivot() return self:getPivotX(), self:getPivotY() end\n  function o:setPivot(x, y)\n    self:setPivotX(x)\n    self:setPivotY(y or x)\n    return self\n  end\n\n  function o:getRotation() return self.rotation or 0 end\n  function o:setRotation(val) self.rotation = val; return self end\n\n  function o:getCentered() return self.centered or false end\n  function o:setCentered(val) self.centered = val; return self end\n\n  -- Sprite Functions\n\n  function o:getSprite() return self.sprite end\n  function o:setSprite(val) self.sprite = val; return self end\n\n  function o:getHoverSprite() return self.hover_sprite or self:getSprite() end\n  function o:setHoverSprite(val) self.hover_sprite = val; return self end\n\n  function o:getActiveSprite() return self.active_sprite or self:getHoverSprite() end\n  function o:setActiveSprite(val) self.active_sprite = val; return self end\n\n  function o:getIcon() return self.icon end\n  function o:setIcon(val) self.icon = val; return self end\n\n  -- Text Functions\n\n  function o:getText() return self.text or \"\" end\n  function o:setText(val) self.text = val; return self end\n\n  function o:getFont() return self.font or ui.fonts.default end\n  function o:setFont(val) self.font = val; return self end\n\n  function o:getAlign() return self.align or \"center\" end\n  function o:setAlign(val) self.align = val; return self end\n\n  function o:getWrap() return self.wrap or false end\n  function o:setWrap(val) self.wrap = val; return self end\n\n  function o:getMarginX() return self.margin_x or 0 end\n  function o:getMarginY() return self.margin_y or 0 end\n\n  function o:setMarginX(val) self.margin_x = val; return self end\n  function o:setMarginY(val) self.margin_y = val; return self end\n\n  function o:getMargin() return self:getMarginX(), self:getMarginY() end\n  function o:setMargin(x, y)\n    self:setMarginX(x)\n    self:setMarginY(y or x)\n    return self\n  end\n\n  -- Color Functions\n\n  function o:getFill() return self.fill or false end\n  function o:setFill(val) self.fill = val; return self end\n\n  function o:getColor()\n    if not self.color then return {1, 1, 1, 1}\n    else return unpack(self.color) end\n  end\n  function o:setColor(r, g, b, a) \n    if not r then self.color = nil\n    else self.color = {r, g, b, a or 1} end\n    return self\n  end\n\n  function o:getHoverColor()\n    if not self.hover_color then return self:getColor()\n    else return unpack(self.hover_color) end\n  end\n  function o:setHoverColor(r, g, b, a) \n    if not r then self.hover_color = nil\n    else self.hover_color = {r, g, b, a or 1} end\n    return self\n  end\n\n  function o:getActiveColor()\n    if not self.active_color then return self:getHoverColor()\n    else return unpack(self.active_color) end\n  end\n  function o:setActiveColor(r, g, b, a) \n    if not r then self.active_color = nil\n    else self.active_color = {r, g, b, a or 1} end\n    return self\n  end\n\n  function o:getTextColor()\n    if not self.text_color then return {1, 1, 1, 1}\n    else return unpack(self.text_color) end\n  end\n  function o:setTextColor(r, g, b, a) \n    if not r then self.text_color = nil\n    else self.text_color = {r, g, b, a or 1} end\n    return self\n  end\n\n  function o:getTextHoverColor()\n    if not self.text_hover_color then return self:getTextColor()\n    else return unpack(self.text_hover_color) end\n  end\n  function o:setTextHoverColor(r, g, b, a) \n    if not r then self.text_hover_color = nil\n    else self.text_hover_color = {r, g, b, a or 1} end\n    return self\n  end\n\n  function o:getTextActiveColor()\n    if not self.text_active_color then return self:getTextHoverColor()\n    else return unpack(self.text_active_color) end\n  end\n  function o:setTextActiveColor(r, g, b, a) \n    if not r then self.text_active_color = nil\n    else self.text_active_color = {r, g, b, a or 1} end\n    return self\n  end\n\n  -- Mouse Functions\n\n  function o:getFocus()\n    if self.focus == nil then return true\n    else return self.focus end\n  end\n  function o:setFocus(val) self.focus = val; return self end\n\n  function o:getSelectable()\n    if self.selectable == nil then\n      return #self.on_pressed > 0 or #self.on_released > 0\n    else return self.selectable end\n  end\n  function o:setSelectable(val) self.selectable = val; return self end\n\n  function o:hovered(ignore_global)\n    if not ignore_global and ui.hovered and ui.hovered ~= self and ui.selected ~= self then\n      if not self.parent or (self.parent and not self.parent:hovered()) then\n        return false\n      end\n    end\n    if not ignore_global then\n      if self.select_state ~= nil then return true end\n      if ui.lock_hovered and ui.selected then return false end\n    end\n    return self.mouse.x >= 0 and\n          self.mouse.y >= 0 and\n          self.mouse.x < self:getWidth() and \n          self.mouse.y < self:getHeight()\n  end\n\n  function o:pressed(button)\n    if self.select_state == \"pressed\" then return true end\n    if button == 2 then return self.mouse.right == \"pressed\" end\n    if button == 1 then return self.mouse.left == \"pressed\" end\n    return (self.mouse.left == \"pressed\" and self.mouse.right ~= \"down\") or\n           (self.mouse.right == \"pressed\" and self.mouse.left ~= \"down\")\n  end\n\n  function o:down(button)\n    if self.select_state == \"down\" then return true end\n    if button == 2 then return self.mouse.right == \"down\" end\n    if button == 1 then return self.mouse.left == \"down\" end\n    return self.mouse.left == \"down\" or self.mouse.right == \"down\"\n  end\n\n  function o:released(button)\n    if self.select_state == \"released\" then return true end\n    if button == 2 then return self.mouse.right == \"released\" end\n    if button == 1 then return self.mouse.left == \"released\" end\n    return (self.mouse.left == \"released\" and self.mouse.right ~= \"pressed\" and self.mouse.right ~= \"down\") or\n           (self.mouse.right == \"released\" and self.mouse.left ~= \"pressed\" and self.mouse.left ~= \"down\")\n  end\n\n  function o:up(button)\n    if self.select_state == \"selected\" then return true end\n    if button == 2 then return self.mouse.right == \"up\" end\n    if button == 1 then return self.mouse.left == \"up\" end\n    return (self.mouse.left == \"up\" and self.mouse.right ~= \"pressed\" and self.mouse.right ~= \"down\") or\n           (self.mouse.right == \"up\" and self.mouse.left ~= \"pressed\" and self.mouse.left ~= \"down\")\n  end\n\n  function o:onHovered(func) table.insert(self.on_hovered, func); return self end\n  function o:onExited(func) table.insert(self.on_exited, func); return self end\n  function o:onPressed(func) table.insert(self.on_pressed, func); return self end\n  function o:onReleased(func) table.insert(self.on_released, func); return self end\n\n  function o:onPreDraw(func) table.insert(self.on_pre_draw, func); return self end\n  function o:onDraw(func) table.insert(self.on_draw, func); return self end\n\n  function o:call(event, ...)\n    local args = {...}\n    local cancel = false\n    for _,f in ipairs(event) do cancel = f(self, unpack(args)) or cancel end\n    return cancel\n  end\n\n  function o:draw(parent)\n    if not self:getEnabled() then return end\n\n    self.frame = frame\n    self.parent = parent\n\n    love.graphics.push()\n    local cancel_pre_draw = self:call(self.on_pre_draw)\n    if not cancel_pre_draw and self.preDraw then\n      self:preDraw()\n    end\n    self:transform()\n    self:updateMouse()\n    self:updateDrawParams()\n    \n    local cancel_draw = self:call(self.on_draw)\n    if not cancel_draw then\n      self:useColor()\n      self:drawRect()\n      self:drawSprite()\n\n      love.graphics.setColor(1, 1, 1)\n      if spookmode then\n        love.graphics.setColor(0.2,0.2,0.2)\n      end\n      self:drawIcon()\n\n      self:useTextColor()\n      self:drawText()\n    end\n\n    if self.postDraw then\n      self:postDraw()\n    end\n\n    for i,child in ipairs(self.children) do\n      child:draw(self)\n    end\n\n    love.graphics.pop()\n\n    if self:getSelectable() then\n      table.insert(ui.selectables, self)\n    end\n  end\n\n  -- Internal Functions\n\n  function o:useColor()\n    if rainbowmode then\n      love.graphics.setColor(hslToRgb((love.timer.getTime()/4+self:getX()/18+self:getY()/18)%1, .5, .5, .9))\n    elseif self:pressed() or self:down() then\n      love.graphics.setColor(self:getActiveColor())\n    elseif self:hovered() then\n      love.graphics.setColor(self:getHoverColor())\n    else \n      love.graphics.setColor(self:getColor())\n    end\n  end\n\n  function o:useTextColor()\n    if self:pressed() or self:down() then\n      love.graphics.setColor(self:getTextActiveColor())\n    elseif self:hovered() then\n      love.graphics.setColor(self:getTextHoverColor())\n    else \n      love.graphics.setColor(self:getTextColor())\n    end\n  end\n\n  function o:drawRect()\n    if self:getFill() then\n      love.graphics.rectangle(\"fill\", 0, 0, self:getWidth(), self:getHeight())\n    end\n  end\n\n  function o:drawSprite()\n    local sprite = nil\n    if self:pressed() or self:down() then\n      sprite = self:getActiveSprite()\n    elseif self:hovered() then\n      sprite = self:getHoverSprite()\n    else \n      sprite = self:getSprite()\n    end\n\n    if sprite then\n      local sx, sy = self:getWidth() / sprite:getWidth(), self:getHeight() / sprite:getHeight()\n      love.graphics.draw(sprite, 0, 0, 0, sx, sy)\n    end\n  end\n\n  function o:drawIcon()\n    if self:getIcon() then\n      local x, y = self:getWidth() / 2 - self:getIcon():getWidth() / 2, self:getHeight() / 2 - self:getIcon():getHeight() / 2\n      love.graphics.draw(self:getIcon(), x, y)\n    end\n  end\n\n  function o:drawText()\n    if self:getText() ~= \"\" then\n      local font = self:getFont()\n      love.graphics.setFont(font)\n\n      local height\n      if self:getWrap() then\n        local _,lines = font:getWrap(self:getText(), self:getWidth() - self:getMarginX()*2)\n        height = #lines * font:getHeight()\n      else\n        height = font:getHeight()\n      end\n\n      love.graphics.printf(self:getText(), self:getMarginX(), self:getMarginY() + (self:getHeight() - self:getMarginY()*2) / 2 - height / 2, self:getWidth() - self:getMarginX()*2, self:getAlign())\n    end\n  end\n\n  function o:transform()\n    love.graphics.translate(self:getPos())\n    if self:getCentered() then\n      love.graphics.translate(-self:getWidth() / 2, -self:getHeight() / 2)\n    end\n    love.graphics.translate(self:getWidth() * self:getPivotX(), self:getHeight() * self:getPivotY())\n    love.graphics.scale(self:getScale())\n    love.graphics.rotate(self:getRotation())\n    love.graphics.translate(-self:getWidth() * self:getPivotX(), -self:getHeight() * self:getPivotY())\n  end\n\n  function o:updateDrawParams()\n    local dx1, dy1, dx2, dy2\n    if not self:getCentered() then\n      dx1, dy1 = love.graphics.transformPoint(0, 0)\n      dx2, dy2 = love.graphics.transformPoint(self:getWidth(), self:getHeight())\n    else\n      dx1, dy1 = love.graphics.transformPoint(-self:getWidth()/2, -self:getHeight()/2)\n      dx2, dy2 = love.graphics.transformPoint(self:getWidth()/2, self:getHeight()/2)\n    end\n    self.draw_params.x = dx1\n    self.draw_params.y = dy1\n    self.draw_params.w = dx2 - dx1\n    self.draw_params.h = dy2 - dy1\n  end\n\n  function o:updateMouse(transform)\n    if transform then\n      self.mouse.x, self.mouse.y = transform:transformPoint(love.mouse.getPosition())\n    else\n      self.mouse.x, self.mouse.y = love.graphics.inverseTransformPoint(love.mouse.getPosition())\n    end\n    if self.mouse.left ~= \"up\" then self.mouse.left = ui.mouse.left end\n    if self.mouse.right ~= \"up\" then self.mouse.right = ui.mouse.right end\n    if not ui.lock_hovered then\n      if self:getFocus() and self:hovered(true) then ui.new_hovered = self end\n    end\n    if self:hovered() then\n      if not self.last_hovered then\n        self.last_hovered = true\n        self:call(self.on_hovered, not ui.lock_hovered)\n      end\n      if ui.mouse.left == \"pressed\" then self.mouse.left = \"pressed\" end\n      if ui.mouse.right == \"pressed\" then self.mouse.right = \"pressed\" end\n    else\n      if self.last_hovered then\n        self.last_hovered = false\n        self:call(self.on_exited, not ui.lock_hovered)\n      end\n      if self.mouse.left == \"released\" then self.mouse.left = \"up\" end\n      if self.mouse.right == \"released\" then self.mouse.right = \"up\" end\n    end\n    if self.mouse.left == \"pressed\" then self:call(self.on_pressed, 1) end\n    if self.mouse.right == \"pressed\" then self:call(self.on_pressed, 2) end\n    if self.mouse.left == \"released\" then self:call(self.on_released, 1) end\n    if self.mouse.right == \"released\" then self:call(self.on_released, 2) end\n\n    if self.select_state == \"pressed\" then self:call(self.on_pressed, 1) end\n    if self.select_state == \"released\" then self:call(self.on_released, 1) end\n  end\n\n  return o\nend\n\nreturn component"
  },
  {
    "path": "ui/init.lua",
    "content": "ui = {}\n\nui.component = require 'ui/component'\nui.text_input = require 'ui/textinput'\nui.level_button = require 'ui/levelbutton'\nui.world_button = require 'ui/worldbutton'\nui.menu_button = require 'ui/menubutton'\n\nui.overlay = require 'ui/overlay'\n\nui.selecting = false\n\nui.fonts = {}\nui.mouse = {left = \"up\", right = \"up\"}\nui.selectables = {}\nui.hovered = nil\nui.new_hovered = nil\nui.lock_hovered = false\nui.selected = nil\nui.last_selected = nil\nui.editing = nil\n\nfunction ui.init()\n  ui.fonts.default = love.graphics.newFont(12)\n  ui.fonts.default:setFilter(\"nearest\",\"nearest\")\n  ui.fonts.title = love.graphics.newFont(32)\n  ui.fonts.category = love.graphics.newFont(24)\n  ui.fonts.world_name = love.graphics.newFont(16)\n  ui.fonts.world_name:setFilter(\"nearest\",\"nearest\")\nend\n\nfunction ui.setEditing(o)\n  if ui.editing == o then return end\n  if ui.editing then\n    ui.editing:setEditing(false)\n    if ui.editing.on_return then\n      ui.editing:on_return(ui.editing:getText())\n    end\n  end\n  if o then\n    ui.editing = o:setEditing(true)\n  else\n    ui.editing = nil\n  end\nend\n\nfunction ui.keyPressed(key)\n  if ui.editing then\n    ui.editing:keyPressed(key)\n    return true\n  else\n    if ui.selecting then\n      if ui.selected == nil then\n        if key == \"down\" or key == \"s\" then\n          if not ui.last_selected then ui.selectNearest(love.graphics.getWidth()/2, 0)\n          else ui.select(ui.last_selected) end\n          return true\n        elseif key == \"up\" or key == \"w\" then\n          if not ui.last_selected then ui.selectNearest(love.graphics.getWidth()/2, love.graphics.getHeight())\n          else ui.select(ui.last_selected) end\n          return true\n        elseif key == \"right\" or key == \"d\" then\n          if not ui.last_selected then ui.selectNearest(0, love.graphics.getHeight()/2)\n          else ui.select(ui.last_selected) end\n          return true\n        elseif key == \"left\" or key == \"a\" then\n          if not ui.last_selected then ui.selectNearest(love.graphics.getWidth(), love.graphics.getHeight()/2)\n          else ui.select(ui.last_selected) end\n          return true\n        end\n      else\n        local x, y = ui.selected:getDrawPos()\n        local w, h = ui.selected:getDrawSize()\n        x = x + w/2\n        y = y + h/2\n        if key == \"down\" or key == \"s\" then\n          ui.selectNearest(x, y, {min_y = y + h/4})\n          return true\n        elseif key == \"up\" or key == \"w\" then\n          ui.selectNearest(x, y, {max_y = y - h/4})\n          return true\n        elseif key == \"right\" or key == \"d\" then\n          ui.selectNearest(x, y, {min_x = x + 1, min_y = y - h/2, max_y = y + h/2})\n          return true\n        elseif key == \"left\" or key == \"a\" then\n          ui.selectNearest(x, y, {max_x = x, min_y = y - h/2, max_y = y + h/2})\n          return true\n        elseif key == \"return\" or key == \"space\" or key == \"kpenter\" then\n          if ui.selected.select_state == \"released\" or ui.selected.select_state == \"selected\" then\n            ui.selected.select_state = \"pressed\"\n          end\n          return true\n        end\n      end\n    end\n    if ui.overlay.open then\n      if key == \"escape\" then\n        ui.overlay.close()\n      elseif key == \"return\" then\n        ui.overlay.close(true)\n      end\n      return true\n    end\n  end\n  return false\nend\n\nfunction ui.keyReleased(key)\n  if not ui.editing and ui.selected then\n    if key == \"return\" or key == \"space\" or key == \"kpenter\" then\n      if ui.selected.select_state == \"pressed\" or ui.selected.select_state == \"down\" then\n        ui.selected.select_state = \"released\"\n      end\n      return true\n    end\n  end\n  return false\nend\n\nfunction ui.textInput(text)\n  if ui.editing then\n    ui.editing:textInput(text)\n    return true\n  end\n  return false\nend\n\nfunction ui.update()\n  if ui.overlay.open then\n    ui.selecting = true\n  else\n    ui.selecting = scene.selecting\n  end\n\n  -- clear references to UI elements that did not exist last draw\n  if ui.editing and ui.editing.frame ~= frame then\n    ui.editing:setEditing(false)\n    ui.editing = false\n  end\n  if ui.selected and ui.selected.frame ~= frame then\n    if ui.selecting then\n      local x, y = ui.selected:getDrawPos()\n      local w, h = ui.selected:getDrawSize()\n      ui.selectNearest(x + w/2, y + h/2, {}, true)\n    else\n      ui.selected.select_state = nil\n      ui.selected = nil\n    end\n  end\n  if ui.selecting and ui.last_selected and ui.last_selected ~= frame then ui.last_selected = nil end\n  \n  if ui.lock_hovered then\n    ui.new_hovered = nil\n  elseif ui.new_hovered ~= nil then\n    if ui.new_hovered:getSelectable() then\n      ui.select(nil)\n      ui.last_selected = ui.new_hovered\n    end\n  end\n  ui.hovered = ui.new_hovered\n  ui.new_hovered = nil\n\n  if love.mouse.isDown(1) then\n    ui.select(nil)\n    if ui.mouse.left == \"up\" or ui.mouse.left == \"released\" then\n      ui.mouse.left = \"pressed\"\n    else\n      ui.mouse.left = \"down\"\n    end\n  else\n    if ui.mouse.left == \"down\" or ui.mouse.left == \"pressed\" then\n      ui.mouse.left = \"released\"\n    else\n      ui.mouse.left = \"up\"\n    end\n  end\n\n  if love.mouse.isDown(2) then\n    ui.select(nil)\n    if ui.mouse.right == \"up\" or ui.mouse.right == \"released\" then\n      ui.mouse.right = \"pressed\"\n    else\n      ui.mouse.right = \"down\"\n    end\n  else\n    if ui.mouse.right == \"down\" or ui.mouse.right == \"pressed\" then\n      ui.mouse.right = \"released\"\n    else\n      ui.mouse.right = \"up\"\n    end\n  end\n\n  ui.selectables = {}\nend\n\nfunction ui.postDraw()\n  if ui.selected then\n    if ui.selected.select_state == \"pressed\" then\n      ui.selected.select_state = \"down\"\n    elseif ui.selected.select_state == \"released\" then\n      ui.selected.select_state = \"selected\"\n    end\n  end\nend\n\nfunction ui.select(o)\n  if ui.selected then ui.selected.select_state = nil end\n  if o then o.select_state = \"selected\" end\n  ui.selected = o\n  ui.last_selected = o\n  ui.new_selected = o\n  if o ~= nil then\n    ui.lock_hovered = true\n  end\nend\n\nfunction ui.selectNearest(x, y, bounds, force)\n  bounds = bounds or {}\n  local nearest = nil\n  local nearest_dist = 0\n  for _,v in ipairs(ui.selectables) do\n    local vx, vy = v:getDrawPos()\n    vx = vx + v:getDrawWidth()/2\n    vy = vy + v:getDrawHeight()/2\n    if (not bounds.min_x or (vx >= bounds.min_x)) and\n       (not bounds.min_y or (vy >= bounds.min_y)) and\n       (not bounds.max_x or (vx < bounds.max_x)) and\n       (not bounds.max_y or (vy < bounds.max_y)) then\n      local dist = euclideanDistance({x = x, y = y}, {x = vx, y = vy})\n      if nearest == nil or dist < nearest_dist then\n        nearest = v\n        nearest_dist = dist\n      end\n    end\n  end\n  if not (ui.selected and not nearest) or force then\n    ui.select(nearest)\n  end\nend\n\nfunction ui.buttonFX(o, args)\n  args = args or {}\n  args.defaults = args.defaults or {}\n  local scale = args.defaults.scale or 1\n  local rot = args.defaults.rotation or 0\n  if o:hovered() then\n    if args.scale ~= false then\n      if o:pressed() or o:down() then\n        o:setScale(scale - (args.shrink or 0.1))\n      else\n        o:setScale(scale + (args.grow or 0.1))\n      end\n    end\n    if settings[\"shake_on\"] and args.rotate ~= false then\n      o:setRotation(rot + (args.intensity or 0.05) * math.sin(love.timer.getTime()*(args.speed or 5)))\n    end\n  else\n    if args.scale ~= false then o:setScale(scale) end\n    if args.rotate ~= false then o:setRotation(rot) end\n  end\nend"
  },
  {
    "path": "ui/levelbutton.lua",
    "content": "local level_button = {}\n\nfunction level_button.new(file, extra)\n  local o = ui.component.new()\n\n  o.data.type = \"level\"\n  o.data.file = file\n\n  o.rainbowoffset = 0\n\n  o:setSprite(sprites[\"ui/level box\"])\n  o:setFont(ui.fonts.default)\n  o:setPivot(0.5, 0.5)\n  o:onPreDraw(ui.buttonFX)\n\n  o.data.extra = extra\n  local default_color\n  if getTheme() == \"halloween\" then\n    default_color = {0.5, 0.2, 0.7, 1}\n    if extra then\n      default_color = {0.8, 0.4, 0, 1}\n    end\n  elseif getTheme() == \"christmas\" then\n    default_color = {0, 0.7, 0, 1}\n    if extra then\n      default_color = {0.7, 0, 0, 1}\n    end\n  else\n    default_color = {getPaletteColor(4,4,getTheme())}\n    if extra then\n      default_color = {getPaletteColor(5,4,getTheme())}\n    end\n  end\n\n  function o:getColor()\n    if spookmode then\n      return {0,0,0}\n    end\n    if rainbowmode then\n      return self.data.extra and hslToRgb((love.timer.getTime()/3+self.rainbowoffset/20)%1, 0.25, 0.25, .9) or hslToRgb((love.timer.getTime()/3+self.rainbowoffset/20)%1, 0.4, 0.5, .9)\n    end\n    if not self.color then return default_color\n    else return unpack(self.color) end\n  end\n\n  function o:getName() return self.name end\n  function o:setName(val) self.name = val; return self end\n\n  function o:drawIcon()\n    local y_mult = 1/2\n    if self:getName() then\n      y_mult = 2/3\n    end\n\n    if self:getIcon() then\n      local iconw, iconh = 96, 96\n      local sx, sy = iconw / self:getIcon():getWidth(), iconh / self:getIcon():getHeight()\n      if spookmode then\n        love.graphics.setColor(math.random(1,3)/10,math.random(0,5)/100,math.random(0,5)/100)\n      end\n      love.graphics.draw(self:getIcon(), self:getWidth() / 2 - iconw / 2, self:getHeight() * y_mult - iconh / 2, 0, sx, sy)\n    end\n  end\n\n  function o:postDraw()\n    love.graphics.setColor(1, 1, 1, 1)\n\n    if self:getName() then\n      local font = self:getFont()\n      love.graphics.setFont(font)\n\n      local _,lines = font:getWrap(self:getName():upper(), self:getWidth() - 12)\n      local height = #lines * font:getHeight()\n\n      love.graphics.printf(spookmode and (math.random(1,100) == 1 and \"stop it\" or \"help\") or self:getName():upper(), 6, 40 - height / 2, self:getWidth() - 12, \"center\")\n    end\n  end\n\n  return o\nend\n\nreturn level_button"
  },
  {
    "path": "ui/menubutton.lua",
    "content": "local menu_button = {}\r\n\r\nfunction menu_button.new(text, id, func)\r\n  local o = ui.component.new()\r\n\r\n  o:setSprite(sprites[(\"ui/button_white_\" .. id) or 1])\r\n  if not spookmode then\r\n    if getTheme() == \"halloween\" then\r\n      o:setText(text)\r\n      o:setColor(0.5, 0.25, 0.75)\r\n      o:setHoverColor(0.4, 0, 0.75)\r\n    elseif getTheme() == \"christmas\" then\r\n      o:setText(text)\r\n      o:setColor(0, 0.7, 0)\r\n      o:setHoverColor(0.7, 0, 0)\r\n    else\r\n      local r,g,b = getPaletteColor(3,4,getTheme())\r\n      o:setText(text)\r\n      o:setColor(r,g,b)\r\n      o:setHoverColor(r-.2,g-.2,b-.2)\r\n    end\r\n  else\r\n    o:setText(math.random(1,100) == 1 and \"stop it\" or \"help\")\r\n    o:setTextColor(0, 0, 0)\r\n    o:setColor(0.5, 0.5, 0.5)\r\n    o:setHoverColor(0.4, 0.4, 0.4)\r\n  end\r\n  o:setFont(ui.fonts.default)\r\n  o:setPivot(0.5, 0.5)\r\n  o:onPreDraw(ui.buttonFX)\r\n  o:onHovered(function() playSound(\"mous hovvr\") end)\r\n  if func then\r\n    o:onReleased(func)\r\n  end\r\n\r\n  -- lazy copy/paste uwu\r\n  local babspr\r\n  if getTheme() == \"halloween\" then\r\n    babspr = sprites[\"ghost\"]\r\n  elseif getTheme() == \"christmas\" then\r\n    babspr = sprites[\"snoman\"]\r\n  else\r\n    babspr = sprites[\"bab\"]\r\n  end\r\n  if not spookmode then\r\n    local bab = ui.component.new():setSprite(babspr):setX(-sprites[\"bab\"]:getWidth()-2):setEnabled(false)\r\n    o:addChild(bab)\r\n    o:onHovered(function() bab:setEnabled(true) end)\r\n    o:onExited(function() bab:setEnabled(false) end)\r\n  end\r\n\r\n  return o\r\nend\r\n\r\nreturn menu_button"
  },
  {
    "path": "ui/newcomponent.lua",
    "content": ""
  },
  {
    "path": "ui/overlay.lua",
    "content": "local overlay = {}\r\n\r\nlocal default_color = {0.25, 0.5, 1, 0.9}\r\n\r\noverlay.open = false\r\n\r\noverlay.confirm_boxes = {}\r\noverlay.has_confirm_box = {}\r\nfunction overlay.confirm(args)\r\n  local confirm_id = args.id or args.text or \"Confirm\"\r\n  if overlay.has_confirm_box[confirm_id] then return end\r\n  local confirm = {}\r\n  confirm.box = ui.component.new()\r\n    :setColor(0.25, 0.5, 1, 0.9)\r\n    :setFill(true)\r\n    :setText(args.text or \"Confirm\")\r\n    :setFont(ui.fonts.world_name)\r\n    :setTextColor(1, 1, 1)\r\n    :setWrap(true)\r\n    :setMarginX(15)\r\n  confirm.button_box = ui.component.new()\r\n    :setColor(0.25, 0.5, 1, 0.9)\r\n    :setFill(true)\r\n  confirm.box:addChild(confirm.button_box)\r\n  confirm.ok = ui.component.new()\r\n    :setText(args.okText or \"Ok\")\r\n    :setFont(ui.fonts.world_name)\r\n    :setTextColor(1, 1, 1)\r\n    :setWrap(true)\r\n    :setMarginX(10)\r\n    :setColor(0.275, 0.55, 1, 0.9)\r\n    :setHoverColor(0.3, 0.6, 1, 1)\r\n    :setActiveColor(0.225, 0.45, 1, 1)\r\n    :setFill(true)\r\n    :onReleased(function()\r\n      overlay.has_confirm_box[confirm_id] = nil\r\n      removeFromTable(overlay.confirm_boxes, confirm)\r\n      if args.ok then args.ok() end\r\n    end)\r\n  confirm.button_box:addChild(confirm.ok)\r\n  if args.cancelText or args.cancel then\r\n    confirm.cancel = ui.component.new()\r\n      :setText(args.cancelText or \"Cancel\")\r\n      :setFont(ui.fonts.world_name)\r\n      :setTextColor(1, 1, 1)\r\n      :setWrap(true)\r\n      :setMarginX(10)\r\n      :setColor(0.275, 0.55, 1, 0.9)\r\n      :setHoverColor(0.3, 0.6, 1, 1)\r\n      :setActiveColor(0.225, 0.45, 1, 1)\r\n      :setFill(true)\r\n      :onReleased(function()\r\n        overlay.has_confirm_box[confirm_id] = nil\r\n        removeFromTable(overlay.confirm_boxes, confirm)\r\n        if args.cancel then args.cancel() end\r\n      end)\r\n    confirm.button_box:addChild(confirm.cancel)\r\n  end\r\n  overlay.resizeConfirm(confirm)\r\n  overlay.has_confirm_box[confirm_id] = true\r\n  table.insert(overlay.confirm_boxes, confirm)\r\nend\r\n\r\nfunction overlay.rebuild()\r\n  overlay.darken = ui.component.new()\r\n    :setColor(0, 0, 0, 0.5)\r\n    :setFill(true)\r\n    :setSize(love.graphics.getWidth(), love.graphics.getHeight())\r\n  for _,confirm in ipairs(overlay.confirm_boxes) do\r\n    overlay.resizeConfirm(confirm)\r\n  end\r\nend\r\n\r\nfunction overlay.resizeConfirm(confirm)\r\n  local confirm_width = 800 * 0.5\r\n  local confirm_height = 600 * (1/3)\r\n\r\n  local confirm_btn_height = confirm_height * (1/3)\r\n  local confirm_btn_width = confirm_width / 2\r\n\r\n  local confirm_x = love.graphics.getWidth() / 2 - confirm_width / 2\r\n  local confirm_y = love.graphics.getHeight() / 2 - confirm_height / 2 - confirm_btn_height / 2\r\n\r\n  confirm.box:setPos(confirm_x, confirm_y):setSize(confirm_width, confirm_height)\r\n  confirm.button_box:setPos(0, confirm_height):setSize(confirm_width, confirm_btn_height + 4)\r\n\r\n  if confirm.cancel then\r\n    confirm.cancel:setX(4):setSize(confirm_btn_width - 4, confirm_btn_height)\r\n    confirm.ok:setX(confirm_btn_width + 4):setSize(confirm_btn_width - 4, confirm_btn_height)\r\n  else\r\n    confirm.ok:setX(confirm_x + 4):setSize(confirm_width - 4, confirm_btn_height)\r\n  end\r\nend\r\n\r\nfunction overlay.draw()\r\n  overlay.open = #overlay.confirm_boxes > 0\r\n  if overlay.open then\r\n    overlay.darken:draw()\r\n    if not ui.selecting then\r\n      ui.selecting = true\r\n      local confirm = overlay.confirm_boxes[#overlay.confirm_boxes]\r\n      if confirm then\r\n        ui.select(confirm.ok)\r\n      end\r\n    end\r\n  end\r\n  local confirm = overlay.confirm_boxes[#overlay.confirm_boxes]\r\n  if confirm then\r\n    confirm.box:draw()\r\n  end\r\nend\r\n\r\nfunction overlay.close(yes)\r\n  local confirm\r\n  for _,v in pairs(overlay.confirm_boxes) do\r\n    confirm = v\r\n  end\r\n  if confirm then\r\n    if confirm.cancel and not yes then\r\n      confirm.cancel:call(confirm.cancel.on_released, 1)\r\n    else\r\n      confirm.ok:call(confirm.ok.on_released, 1)\r\n    end\r\n  end\r\nend\r\n\r\nreturn overlay"
  },
  {
    "path": "ui/textinput.lua",
    "content": "local text_input = {}\n\nfunction text_input.new()\n  local o = ui.component.new()\n\n  o:setFont(ui.fonts.default)\n\n  o.scroll_x = 0\n  o.selection = nil\n  o.selecting = -1;\n\n  function o:getEditing() return self.editing or false end\n  function o:setEditing(val)\n    love.keyboard.setTextInput(val)\n    self.editing = val\n    return self\n  end\n\n  function o:getEditPos() return self.edit_pos or self:getText():len() end\n  function o:setEditPos(val) self.edit_pos = val; return self end\n\n  function o:getSelection() return self.selection end\n  function o:setSelection(a, b) self.selection = a and {a = a, b = b or self:getText():len()} or nil; return self end\n\n  function o:onReturn(func) self.on_return = func; return self end\n  function o:onTextEdited(func) self.on_text_edited = func; return self end\n\n  function o:textInput(text)\n    if not self:getEditing() or love.keyboard.isDown(\"lctrl\") then return end\n\n    self:plsMakeSureThatTheEditPosIsWithinTheTextLimitsBeforeDoingAnythingWithItOrElseStuffWillProbablyBreak()\n\n    local a = self:getText():sub(1, self:getEditPos())\n    local b = self:getText():sub(self:getEditPos() + 1)\n    self:setText(a .. text .. b)\n    self:setEditPos(self:getEditPos() + text:len())\n    if self.on_text_edited then\n      self:on_text_edited(\"add\", text)\n    end\n  end\n\n  function o:keyPressed(key)\n    if not self:getEditing() then return end\n\n    self:plsMakeSureThatTheEditPosIsWithinTheTextLimitsBeforeDoingAnythingWithItOrElseStuffWillProbablyBreak()\n\n    if key == \"left\" then\n      self:setEditPos(self:getEditPos() - 1)\n    elseif key == \"right\" then\n      self:setEditPos(self:getEditPos() + 1)\n    elseif key == \"home\" then\n      self:setEditPos(0)\n    elseif key == \"end\" then\n      self:setEditPos(#self:getText())\n    elseif key == \"backspace\" then\n      if self:getEditPos() > 0 then\n        local a = self:getText():sub(1, self:getEditPos() - 1)\n        local b = self:getText():sub(self:getEditPos() + 1)\n        self:setText(a .. b)\n        self:setEditPos(self:getEditPos() - 1)\n        if self.on_text_edited then\n          self:on_text_edited(\"delete\")\n        end\n      end\n    elseif key == \"delete\" then\n      if self:getEditPos() < self:getText():len() then\n        local a = self:getText():sub(1, self:getEditPos())\n        local b = self:getText():sub(self:getEditPos() + 2)\n        self:setText(a .. b)\n        if self.on_text_edited then\n          self:on_text_edited(\"delete\")\n        end\n      end\n    elseif key == \"return\" or key == \"escape\" then\n      ui.setEditing()\n    elseif key == \"v\" and love.keyboard.isDown(\"lctrl\") then\n      self:textInput(love.system.getClipboardText())\n    end\n  end\n\n  function o:drawText()\n    self:plsMakeSureThatTheEditPosIsWithinTheTextLimitsBeforeDoingAnythingWithItOrElseStuffWillProbablyBreak()\n\n    local font = self:getFont()\n    love.graphics.setFont(font)\n\n    local lines = {}\n    if self:getWrap() then\n      _,lines = font:getWrap(self:getText(), self:getWidth())\n    else\n      lines = {self:getText()}\n    end\n\n    local selector_x = 0\n    local selector_y = 0\n    local selector_line = 1\n\n    local current_line = 1\n    local line_pos = 0\n    for i = 1, self:getEditPos() do\n      line_pos = line_pos + 1\n      if line_pos > lines[current_line]:len() then\n        if not lines[current_line] then break\n        else\n          current_line = current_line + 1\n          line_pos = 1\n        end\n      end\n    end\n    selector_x = font:getWidth(lines[current_line]:sub(1, line_pos))\n    selector_y = font:getHeight()\n    selector_line = current_line\n\n    local sx, sy = love.graphics.transformPoint(0, 0)\n    local sx2, sy2 = love.graphics.transformPoint(self:getWidth(), self:getHeight())\n    local sw, sh = sx2 - sx, sy2 - sy\n\n    love.graphics.setScissor(sx, sy, sw, sh)\n\n    local height = #lines * font:getHeight()\n    local y = self:getHeight() / 2 - height / 2\n    for i,line in ipairs(lines) do\n      local width = font:getWidth(line)\n      local x = 0\n      if self:getAlign() == \"center\" then\n        x = self:getWidth() / 2 - width / 2\n      elseif self:getAlign() == \"right\" then\n        x = self:getWidth() - width\n      end\n\n      if selector_line == i and self:getEditing() then\n        if selector_x + x + self.scroll_x + 1 < 0 then\n          self.scroll_x = -(x + selector_x + 1)\n        elseif selector_x + x + self.scroll_x + 1 > self:getWidth() then\n          self.scroll_x = -(x + selector_x + 1) - self:getWidth()\n        end\n\n        local min_x = math.min(0, self:getWidth() - (font:getWidth(line) + 1))\n        if self.scroll_x < min_x then self.scroll_x = min_x end\n        if self.scroll_x > 0 then self.scroll_x = 0 end\n\n        x = x + self.scroll_x\n\n        if math.floor(love.timer.getTime()*2) % 2 == 0 then\n          love.graphics.rectangle(\"fill\", x + selector_x, y + (i - 1) * font:getHeight(), 1, font:getHeight())\n        end\n      end\n\n      love.graphics.print(self:getText(), x, y + (i - 1) * font:getHeight())\n    end\n\n    love.graphics.setScissor()\n  end\n\n  function o:plsMakeSureThatTheEditPosIsWithinTheTextLimitsBeforeDoingAnythingWithItOrElseStuffWillProbablyBreak()\n    self.edit_pos = math.max(0, math.min(self:getText():len(), self:getEditPos()))\n    if self.selection then\n      self.selection.a = math.max(0, math.min(self:getText():len(), self.selection.a))\n      self.selection.b = math.max(0, math.min(self:getText():len(), self.selection.b))\n    end\n  end\n\n  return o\nend\n\nreturn text_input"
  },
  {
    "path": "ui/worldbutton.lua",
    "content": "local world_button = {}\n\nfunction world_button.new(file)\n  local o = ui.component.new()\n\n  o.data.type = \"world\"\n  o.data.file = file\n\n  o:setSprite(sprites[\"ui/world box\"])\n  o:setFont(ui.fonts.world_name)\n  o:setPivot(0.5, 0.5)\n  o:onPreDraw(ui.buttonFX)\n\n  function o:getColor()\n    if spookmode then\n      return {0,0,0}\n    end\n    if rainbowmode then\n      return hslToRgb(love.timer.getTime()/3%1, 0.4, 0.5, .9)\n    end\n    if not self.color then\n      if getTheme() == \"halloween\" then\n        return {0.5, 0.2, 0.7, 1}\n      elseif getTheme() == \"christmas\" then\n        return {0, 0.7, 0, 1}\n      else\n        return {getPaletteColor(4,4,getTheme())}\n      end\n    else return unpack(self.color) end\n  end\n\n  function o:getName() return self.name end\n  function o:setName(val) self.name = val; return self end\n\n  function o:postDraw()\n    love.graphics.setColor(1, 1, 1, 1)\n\n    if self:getName() and not self:getIcon() then\n      local font = self:getFont()\n      love.graphics.setFont(font)\n\n      local _,lines = font:getWrap(self:getName():upper(), self:getWidth() - 24)\n      local height = #lines * font:getHeight()\n\n      love.graphics.printf(spookmode and (math.random(1,100) == 1 and \"stop it\" or \"help\") or self:getName():upper(), 12, self:getHeight() / 2 - height / 2, self:getWidth() - 24, \"center\")\n    end\n  end\n\n  return o\nend\n\nreturn world_button"
  },
  {
    "path": "utils.lua",
    "content": "function clear()\n  puffs_this_world = 0\n  levels_this_world = 0\n\n  --groups_exist = false\n  letters_exist = false\n  if not doing_past_turns then\n    replay_playback = false\n    replay_playback_turns = nil\n    replay_playback_string = nil\n    replay_playback_turn = 1\n    replay_playback_time = love.timer.getTime()\n    replay_playback_interval = 0.3\n    old_replay_playback_interval = 0.3\n    replay_pause = false\n    replay_string = \"\"\n  end\n  rhythm_time = love.timer.getTime()\n  rhythm_interval = settings[\"rhythm_interval\"]\n  rhythm_queued_movement = {0, 0, \"wait\"}\n  new_units_cache = {}\n  undoing = false\n  successful_brite_cache = nil\n  next_level_name = \"\"\n  win_sprite_override = {}\n  level_destroyed = false\n  last_input_time = nil\n  most_recent_key = nil\n  just_moved = true\n  should_parse_rules_at_turn_boundary = false\n  should_parse_rules = true\n  graphical_property_cache = {}\n  initializeGraphicalPropertyCache()\n  debug_values = {}\n  rng_cache = {}\n  reset_count = 0\n  last_move = nil\n  particles = {}\n  units = {}\n  units_by_id = {}\n  units_by_name = {}\n  units_by_tile = {}\n  units_by_layer = {}\n  backers_cache = {}\n  empties_by_tile = {}\n  outerlvl = nil\n  still_converting = {}\n  portaling = {}\n  zomb_undos = {}\n  rules_effecting_names = {}\n  referenced_objects = {}\n  referenced_text = {}\n  undo_buffer = {}\n  infcount = 0\n  complexcount = 0\n  destroycount = 0\n  update_undo = true\n  max_layer = 1\n  max_unit_id = 0\n  max_temp_id = 0\n  max_mouse_id = 0\n  first_turn = true\n  cursor_convert = nil\n  cursor_converted = false\n  mouse_X = love.mouse.getX()\n  mouse_Y = love.mouse.getY()\n  last_clicks = {}\n  mouse_oldX = mouse_X\n  mouse_oldY = mouse_Y\n  drag_units = {}\n  cursors = {}\n  cursors_by_id = {}\n  shake_dur = 0\n  shake_intensity = 0.5\n  current_turn = 0\n  current_move = 0\n  \n  --za warudo needs a lot\n  timeless = false\n  time_destroy = {}\n  time_delfx = {}\n  time_sfx = {}\n  timeless_split = {}\n  timeless_win = {}\n  timeless_unwin = {}\n  timeless_reset = false\n  timeless_replay = false\n  timeless_crash = false\n  timeless_yote = {}\n  firsttimestop = true\n  thicc_units = {}\n\n  --if scene == game then\n  if load_mode == \"play\" then\n    createMouse_direct(love.mouse.getX(), love.mouse.getY())\n  end\n  --createMouse_direct(20, 20)\n\n  currently_winning = false\n  music_fading = false\n  won_this_session = false\n  level_ending = false\n  win_size = 0\n\n  tile_grid = {}\n  \n  for i,page in ipairs(selector_grid_contents) do\n    tile_grid[i] = {}\n    for j,tile_name in ipairs(page) do\n      if j then\n        tile_grid[i][j-1] = tile_name\n      else\n        tile_grid[i][j-1] = nil\n      end\n    end\n  end\n\n  if not doing_past_turns then\n    change_past = false\n    past_playback = false\n    all_moves = {}\n    past_rules = {}\n    past_ends = {}\n  end\n  \n  card_for_id = {}\n\n  love.mouse.setCursor()\nend\n\nfunction pastClear()\n  if stopwatch ~= nil then\n    stopwatch.visible = false\n  end\n  should_parse_rules = true\n  doing_past_turns = false\n  past_playback = false\n  past_rules = {}\n  cutscene_tick = tick.group()\nend\n\nfunction metaClear()\n  rules_with = nil\n  rules_with_unit = nil\n  level_tree = {}\n  playing_world = false\n  parent_filename = nil\n  stay_ther = nil\n  surrounds = nil\n  pastClear()\nend\n\nfunction initializeGraphicalPropertyCache()\n  local properties_to_init = -- list of properties that require the graphical cache\n  {\n    \"flye\", \"slep\", \"stelth\", \"colrful\", \"delet\", \"rave\" -- miscellaneous graphical effects\n  }\n  for name,_ in pairs(overlay_props) do -- add overlays\n    table.insert(properties_to_init, name)\n  end\n  for i = 1, #properties_to_init do\n    local prop = properties_to_init[i]\n    if (graphical_property_cache[prop] == nil) then graphical_property_cache[prop] = {} end\n  end\nend\n\nfunction loadMap()\n  --no longer necessary, we now lazy initialize these\n  --[[for x=0,mapwidth-1 do\n    for y=0,mapheight-1 do\n      units_by_tile[x + y * mapwidth] = {}\n    end\n  end]]\n  local has_missing_levels = false\n  local rects = {}\n  local extra_units = {}\n  for _,mapdata in ipairs(maps) do\n    local version = mapdata.info.version\n    local map = mapdata.data\n\n    local offset = {x = 0, y = 0}\n    if mapdata.info.width < mapwidth then\n      offset.x = math.floor((mapwidth / 2) - (mapdata.info.width / 2))\n    end\n    if mapdata.info.height < mapheight then\n      offset.y = math.floor((mapheight / 2) - (mapdata.info.height / 2))\n    end\n    table.insert(rects, {x = offset.x, y = offset.y, w = mapdata.info.width, h = mapdata.info.height})\n\n    if version == 0 or version == nil then\n      if map == nil then\n        map = {}\n        for x=1,mapwidth do\n          for y=1,mapheight do\n            table.insert(map, {})\n          end\n        end\n      end\n      for i,v in ipairs(map) do\n        local tileid = i-1\n        local x = tileid % mapwidth\n        local y = math.floor(tileid / mapwidth)\n        for _,id in ipairs(v) do\n          local new_unit = createUnit(id, x, y, 1)\n        end\n      end\n    elseif version >= 1 and version <= 3 then\n      local pos = 1\n      while pos <= #map do\n        if version == 1 then\n          local tile, x, y, dir\n          tile, x, y, dir, pos = love.data.unpack(PACK_UNIT_V1, map, pos)\n          createUnit(tile, x + offset.x, y + offset.y, dir)\n        elseif version == 2 or version == 3 then\n          local id, tile, x, y, dir, specials\n          id, tile, x, y, dir, specials, pos = love.data.unpack(version == 2 and PACK_UNIT_V2 or PACK_UNIT_V3, map, pos)\n          local unit = createUnit(tile, x + offset.x, y + offset.y, dir, false, id)\n          local spos = 1\n          while spos <= #specials do\n            local k, v\n            k, v, spos = love.data.unpack(PACK_SPECIAL_V2, specials, spos)\n            unit.special[k] = v\n          end\n        end\n      end\n    else\n      local ok = nil\n      ok, map = serpent.load(map)\n      if (ok ~= true) then\n        print(\"Serpent error while loading:\", ok, fullDump(map))\n      end\n      local floodfill = {}\n      local objects = {}\n      local lvls = {}\n      local locked_lvls = {}\n      local created = {}\n      local pre_created = {}\n      local dofloodfill = scene ~= editor\n      for _,unit in ipairs(map) do\n        id, tile, x, y, dir, specials, color = unit.id, unit.tile, unit.x, unit.y, unit.dir, unit.special, unit.color\n        x = x + offset.x\n        y = y + offset.y\n        \n        --track how many puffs and levels exist in this world (have to do this separately so we count hidden levels etc)\n        if specials.level then\n          levels_this_world = levels_this_world + 1\n          if readSaveFile{\"levels\", specials.level, \"won\"} then\n            puffs_this_world = puffs_this_world + 1\n          end\n        end\n        \n        if scene == editor and specials.level then\n          if not love.filesystem.getInfo(getWorldDir() .. \"/\" .. specials.level .. \".bab\") then\n            has_missing_levels = true\n            print(\"missing level: \" .. specials.level)\n            local search = searchForLevels(getWorldDir(), specials.name, true)\n            if #search > 0 then\n              print(\"    - located: \" .. search[1].file)\n              specials.level = search[1].file\n              specials.name = search[1].data.name\n            else\n              print(\"    - could not locate!\")\n            end\n          end\n        end\n        if not dofloodfill then\n          local unit = createUnit(tile, x, y, dir, false, id, nil, color)\n          unit.special = specials\n        elseif tile == \"lvl\" then\n          if readSaveFile{\"levels\", specials.level, \"seen\"} then\n            specials.visibility = \"open\"\n            local tfs = readSaveFile{\"levels\", specials.level, \"transform\"}\n            for i,t in ipairs(tfs or {tile}) do\n              if i == 1 then\n                local unit = createUnit(t, x, y, dir, false, id, nil, color)\n                unit.special = deepCopy(specials)\n                if readSaveFile{\"levels\", specials.level, \"won\"} or readSaveFile{\"levels\", specials.level, \"clear\"} then\n                  table.insert(floodfill, {unit, 1})\n                end\n              else\n                table.insert(extra_units, {t, x, y, dir, color, deepCopy(specials)})\n              end\n            end\n            created[id] = true\n          elseif specials.visibility == \"open\" or specials.visibility == \"locked\" or specials.visibility == nil then\n            local unit = createUnit(tile, x, y, dir, false, id, nil, color)\n            unit.special = specials\n            if specials.visibility == \"open\" then\n              created[id] = true\n            else\n              pre_created[id] = unit\n            end\n          end\n          table.insert(objects, {id, tile, x, y, dir, specials, color})\n        elseif tile == \"lin\" then\n          if specials.visibility ~= \"hidden\" then\n            local unit = createUnit(tile, x, y, dir, false, id, nil, color)\n            unit.special = specials\n            created[id] = true\n          end\n          table.insert(objects, {id, tile, x, y, dir, specials, color})\n        else\n          if specials.level then\n            if readSaveFile{\"levels\", specials.level, \"seen\"} then\n              specials.visibility = \"open\"\n            end\n            local tfs = readSaveFile{\"levels\", specials.level, \"transform\"}\n            for i,t in ipairs(tfs or {tile}) do\n              if i == 1 then\n                local unit = createUnit(t, x, y, dir, false, id, nil, color)\n                unit.special = specials\n              else\n                table.insert(extra_units, {t, x, y, dir, color, deepCopy(specials)})\n              end\n            end\n          else\n            local unit = createUnit(tile, x, y, dir, false, id, nil, color)\n            unit.special = specials\n          end\n        end\n      end\n      \n      --now check if we should grant clear/complete\n      if (level_puffs_to_clear > 0 and puffs_this_world >= level_puffs_to_clear) then\n        writeSaveFile(true, {\"levels\", level_filename, \"clear\"})\n      end\n      if (levels_this_world > 0 and puffs_this_world >= levels_this_world) then\n        writeSaveFile(true, {\"levels\", level_filename, \"complete\"})\n      end\n      \n      if dofloodfill then\n        while #floodfill > 0 do\n          local u, ptype = unpack(table.remove(floodfill, 1))\n          local orthos = {[-1] = {}, [0] = {}, [1] = {}}\n          for a = 0,1 do -- 0 = ortho, 1 = diag\n            for i = #objects,1,-1 do\n              local v = objects[i] -- {id, tile, x, y, dir, specials, color}\n              local dx = u.x-v[3]\n              local dy = u.y-v[4]\n              if (((dx == -1 or dx == 1) and (dy == -a or dy == a)) or ((dx == -a or dx == a) and (dy == -1 or dy == 1)))\n              and (a == 0 or (not orthos[dx][0] and not orthos[0][dy])) then\n                orthos[dx][dy] = true\n                if not created[v[1]] then\n                  if v[2] == \"lvl\" then\n                    if ptype ~= 2 then\n                      local unit = pre_created[v[1]] or createUnit(v[2], v[3], v[4], v[5], false, v[1], nil, v[7])\n                      created[v[1]] = true\n                      unit.special = v[6]\n                      if ptype == 1 then\n                        unit.special.visibility = \"open\"\n                        table.insert(floodfill, {unit, 2})\n                      elseif ptype == 3 then\n                        unit.special.visibility = \"open\"\n                      end\n                    elseif ptype == 2 and not table.has_value(locked_lvls, v) then\n                      table.insert(locked_lvls, v)\n                      table.insert(floodfill, {{x = v[3], y = v[4]}, 2})\n                    end\n                  elseif (ptype == 1 or ptype == 3) and v[2] == \"lin\" and (not v[6].pathlock or v[6].pathlock == \"none\") then\n                    local unit = pre_created[v[1]] or createUnit(v[2], v[3], v[4], v[5], false, v[1], nil, v[7])\n                    created[v[1]] = true\n                    unit.special = v[6]\n                    table.insert(floodfill, {unit, 3})\n                  end\n                end\n              end\n            end\n          end\n        end\n        for _,v in ipairs(locked_lvls) do\n          if not created[v[1]] then\n            local unit = pre_created[v[1]] or createUnit(v[2], v[3], v[4], v[5], false, v[1], nil, v[7])\n            created[v[1]] = true\n            unit.special = v[6]\n          end\n        end\n      end\n    end\n  end\n  for x=0,mapwidth-1 do\n    for y=0,mapheight-1 do\n      local in_bounds = false\n      for _,rect in ipairs(rects) do\n        if x >= rect.x and x < rect.x + rect.w and y >= rect.y and y < rect.y + rect.h then\n          in_bounds = true\n          break\n        end\n      end\n      if not in_bounds then\n        createUnit(\"bordr\", x, y, 1)\n      end\n    end\n  end\n  for _,t in ipairs(extra_units) do\n    local unit = createUnit(t[1], t[2], t[3], t[4], false, nil, nil, t[5])\n    unit.specials = t[6]\n  end\n  if (load_mode == \"play\") then\n    initializeOuterLvl()\n    initializeEmpties()\n    loadStayTher()\n    if (not unit_tests) then\n      writeSaveFile(true, {\"levels\", level_filename, \"seen\"})\n    end\n  end\n  if has_missing_levels then\n    print(colr.red(\"\\nLEVELS MISSING - PLEASE CHECK & SAVE!\"))\n  end\n  \n  --I don't know why, but this is slower by a measurable amount (70-84 seconds for example).\n  --[[groups_exist = letters_exist\n  if not groups_exist then\n    for _,group_name in ipairs(group_names) do\n      if units_by_name[\"txt_\"..group_name] then\n        groups_exist = true\n        break\n      end\n    end\n  end]]\n  \n  unsetNewUnits()\nend\n\nfunction loadStayTher()\n  if stay_ther ~= nil then\n    for _,unit in ipairs(stay_ther) do\n      local newunit = createUnit(unit.tile, unit.x, unit.y, unit.dir)\n      newunit.special = unit.special\n    end\n  end\nend\n\nfunction initializeOuterLvl()\n  outerlvl = createUnit(\"lvl\", -999, -999, 1, nil, nil, true)\nend\n\nfunction initializeEmpties()\n  --TODO: other ways to make a text_no1 could be to have a text_text_no1 but that seems contrived that you'd have text_text_no1 but not text_no1?\n  --text_her counts because it looks for no1, I think. similarly we could have text_text_her but again, contrived\n  if ((not letters_exist) and (not units_by_name[\"txt_no1\"]) and (not units_by_name[\"txt_every3\"]) and (not units_by_name[\"txt_her\"])) then return end\n  for x=0,mapwidth-1 do\n    for y=0,mapheight-1 do\n      local tileid = x + y * mapwidth\n      empties_by_tile[tileid] = createUnit(\"no1\", x, y, (((tileid - 1) % 8) + 1), nil, nil, true)\n    end\n  end\nend\n\nfunction compactIds()\n  units_by_id = {}\n  for i,unit in ipairs(units) do\n    unit.id = i\n    units_by_id[i] = unit\n  end\n  max_unit_id = #units + 1\nend\n\n--[[\n  First and third arguments can be:\n    unit, string, nil\n  Second argument can be:\n    string\n\n  Unit argument will check conditions for that unit, and match rules using its name\n  Both nil and \"?\" act as a wildcard, however a nil wildcard will only check units & return the argument as a unit\n  Return value changes depending on how many arguments are nil\n  Example:\n    Rules:\n    BAB BE U - FLOG BE =) - ROC BE KEEK - KEEK GOT MEEM\n\n    Units:\n    [BAB] [FLOG] [KEEK] [MEEM]\n\n    matchesRule(bab unit,\"be\",\"u\") => {BAB BE U}\n    - Returns the matching \"BAB BE U\" rule, as it checks the unit's name\n\n    matchesRule(\"bab\",\"be\",\"?\") => {BAB BE U}\n    - Same result, as the U property matches the wildcard\n\n    matchesRule(nil,\"be\",\"?\") => {{BAB BE U, bab unit}, {FLOG BE =), flog unit}}\n    - The rule for ROC is not returned because no ROC exists, however the others do\n\n    matchesRule(\"?\",\"be\",nil) => {{ROC BE KEEK, keek unit}}\n    - The first two rules are not returned because properties have no matching units\n\n    matchesRule(nil,\"?\",nil) => {{KEEK GOT MEEM, keek unit, meem unit}}\n    - Both KEEK and MEEM units exist and GOT matches the wildcard, so it returns both units in order\n  \n  Note that the rules returned are full rules, formatted like: {{subject,verb,object,{preconds,postconds}}, {ids}} \n]]\nfunction matchesRule(rule1,rule2,rule3,stopafterone,debugging)\n  if (debugging) then\n    print(\"matchesRule arguments:\"..tostring(rule1)..\",\"..tostring(rule2)..\",\"..tostring(rule3))\n  end\n  \n  local nrules = {} -- name\n  local fnrules = {} -- fullname\n  local rule_units = {}\n\n  local function getnrule(o,i)\n    if type(o) == \"table\" then\n      local name\n      local fullname\n      if o.class == \"unit\" then\n        name = o.name\n        if o.fullname ~= o.name then\n          fullname = o.fullname\n        end\n      elseif o.class == \"cursor\" then\n        name = \"mous\"\n      end\n      nrules[i] = name\n      if fullname then\n        fnrules[i] = fullname\n      end\n      rule_units[i] = o\n    else\n      if o ~= \"?\" then\n        nrules[i] = o\n      end\n    end\n  end\n\n  getnrule(rule1,1)\n  nrules[2] = rule2\n  getnrule(rule3,3)\n  \n  --if nrules[1] ~= nil and nrules[3] ~= \"boring\" and #matchesRule(rule1,\"be\",\"boring\",true) > 0 then return {} end\n\n  if (debugging) then\n    for x,y in ipairs(nrules) do\n      print(\"in nrules:\"..tostring(x)..\",\"..tostring(y))\n    end\n  end\n\n  local ret = {}\n\n  local find = 0\n  local find_arg = 0\n  if (rule1 == nil and rule3 ~= nil) or (rule1 ~= nil and rule3 == nil) then\n    find = 1\n    if rule1 == nil then\n      find_arg = 1\n    elseif rule3 == nil then\n      find_arg = 3\n    end\n  elseif rule1 == nil and rule3 == nil then\n    find = 2\n  end\n\n  local rules_list\n\n  --there are more properties than there are nouns, so we're more likely to miss based on a property not existing than based on a noun not existing\n  rules_list = rules_with[(nrules[2] ~= \"be\" and nrules[2]) or nrules[3] or nrules[1] or nrules[2]] or {}\n  mergeTable(rules_list, rules_with[fnrules[3] or fnrules[1]] or {})\n\n  if (debugging) then\n    print (\"found this many rules:\"..tostring(#rules_list))\n  end\n  if #rules_list > 0 then\n    for _,rules in ipairs(rules_list) do\n      local rule = rules.rule\n      if (debugging) then\n        for i=1,3 do\n          print(\"checking this rule,\"..tostring(i)..\":\"..tostring(rule[ruleparts[i] ].name))\n        end\n      end\n      local result = true\n      for i=1,3 do\n        local name = rule[ruleparts[i]].name\n        --special case for stuff like 'group be x' - if we are in that group, we do match that rule\n        --we also need to handle groupn't\n        --seems to not impact performance much?\n        local pre_match = false\n        if rule_units[i] ~= nil then\n          if name == \"themself\" and i == 3 and rule_units[1] then\n            pre_match = rule_units[1] == rule_units[i]\n          elseif name == \"themselfn't\" and i == 3 and rule_units[1] then\n            pre_match = rule_units[1] ~= rule_units[i]\n          elseif group_sets[name] and group_sets[name][rule_units[i] ] then\n            pre_match = true\n          else\n            if rule_units[i].type == \"object\" and group_names_set_nt[name] then\n              local nament = name:sub(1, -4)\n              if not group_sets[nament][rule_units[i] ] then\n                pre_match = true\n              end\n            end\n          end\n        end\n        if not (pre_match) then\n          if nrules[i] ~= nil and nrules[i] ~= name and (fnrules[i] == nil or (fnrules[i] ~= nil and fnrules[i] ~= name)) then\n            if (debugging) then\n              print(\"false due to nrules/fnrules mismatch\")\n            end\n            result = false\n          end\n        end\n      end\n      --don't test conditions until the rule fully matches\n      if result then\n        for i=1,3,2 do\n          if rule_units[i] ~= nil then\n            if not testConds(rule_units[i], rule[ruleparts[i]].conds, rule_units[1]) then\n              if (debugging) then\n                print(\"false due to cond\", i)\n              end\n              result = false\n            else\n              --check that there isn't a verbn't rule - edge cases where this might happen: text vs specific text, group vs unit. This is slow (15% longer unit tests, 0.1 second per unit test) but it fixes old and new bugs so I think we just have to suck it up.\n              if rules_with[rule.verb.name..\"n't\"] ~= nil and #matchesRule(rule_units[i], rule.verb.name..\"n't\", rule.object.name, true) > 0 then\n                result = false\n              end\n              --boring check. stopafterone is to make sure there's no infloops since i have no clue how anything actually works\n              if not stopafterone and rules_with[\"boring\"] and #matchesRule(rule_units[i],\"be\",\"boring\",true)>0 and not (rules_with[rule.verb.name..\"n'tn't\"] and #matchesRule(rule_units[i], rule.verb.name..\"n'tn't\", rule.object.name, true)>0) then\n                result = false\n              end\n            end\n          end\n        end\n      end\n      if result then\n        if (debugging) then\n          print(\"matched: \" .. dump(rule) .. \" | find: \" .. find, nrules[1], fnrules[1], rule.subject.name, rule.subject.fullname)\n        end\n        if find == 0 then\n          table.insert(ret, rules)\n          if stopafterone then return ret end\n        elseif find == 1 then\n          local object_units = {}\n          if find_arg == 3 and rule_units[1] and rule[ruleparts[find_arg]].name == \"themself\" then\n            object_units = {rule_units[1]}\n          elseif find_arg == 3 and rule_units[1] and rule[ruleparts[find_arg]].name == \"themselfn't\" then\n            for _,unit in ipairs(units) do\n              if unit ~= rule_units[1] and unit ~= outerlvl and unit.fullname ~= \"no1\" and unit.fullname ~= \"bordr\" then\n                table.insert(object_units, unit)\n              end\n            end\n          else\n            object_units = findUnitsByName(rule[ruleparts[find_arg]].name)\n          end\n          for _,unit in ipairs(object_units) do\n            local cond\n            if testConds(unit, rule[ruleparts[find_arg]].conds, rule_units[1]) then\n              --check that there isn't a verbn't rule - edge cases where this might happen: text vs specific text, group vs unit. This is slow (15% longer unit tests, 0.1 second per unit test) but it fixes old and new bugs so I think we just have to suck it up.\n              if rules_with[rule.verb.name..\"n't\"] ~= nil and #matchesRule(unit, rule.verb.name..\"n't\", rule.object.name, true) > 0 then\n              else\n                table.insert(ret, {rules, unit})\n                if stopafterone then return ret end\n              end\n            end\n          end\n        elseif find == 2 then\n          local found1, found2\n          for _,unit1 in ipairs(findUnitsByName(rule.subject)) do\n            local object_units = {}\n            if rule.object.name == \"themself\" then\n              object_units = {unit1}\n            elseif rule.object.name == \"themselfn't\" then\n              for _,unit in ipairs(units) do\n                if unit ~= unit1 and unit ~= outerlvl and unit.fullname ~= \"no1\" and unit.fullname ~= \"bordr\" then\n                  table.insert(object_units, unit)\n                end\n              end\n            else\n              object_units = findUnitsByName(rule.object)\n            end\n            for _,unit2 in ipairs(object_units) do\n              if testConds(unit1, rule.subject.conds, unit1) and testConds(unit2, rule.object.conds, unit1) then\n                table.insert(ret, {rules, unit1, unit2})\n                if stopafterone then return ret end\n              end\n            end\n          end\n        end\n      end\n    end\n  end\n\n  return ret\nend\n\nfunction boringAndNotCheck(unit, effect)\n  if hasRule(unit, \"ben't\", effect) then return false end\n  if not rules_with[\"boring\"] or effect == \"boring\" then return true end\n  if hasProperty(unit,\"boring\") then return hasRule(unit,\"ben'tn't\",effect) end\n  return true\nend\n\nfunction getUnitsWithEffect(effect, return_rule)\n  local result = {}\n  local result_rules = {}\n  local gotten = {}\n  local rules = matchesRule(nil, \"be\", effect)\n  --print (\"h:\"..tostring(#rules))\n  for _,dat in ipairs(rules) do\n    local unit = dat[2]\n    if not unit.removed and boringAndNotCheck(unit, effect) then\n      table.insert(result, unit)\n      table.insert(result_rules, dat[1])\n      gotten[unit] = true\n    end\n  end\n  \n  local rules = matchesRule(nil, \"giv\", effect)\n  for _,rule in ipairs(rules) do\n    local unit = rule[2]\n    if not unit.removed then\n      for _,other in ipairs(getUnitsOnTile(unit.x, unit.y, {exclude = unit, thicc = thicc_units[unit]})) do\n        if not gotten[other] and sameFloat(unit, other) and ignoreCheck(other, unit) and boringAndNotCheck(other, effect) then\n          table.insert(result, other)\n          table.insert(result_rules, rule[1])\n          gotten[other] = true\n        end\n      end\n    end\n  end\n  \n  local has_lvl_giv, lvl_giv_rule = hasRule(outerlvl, \"giv\", effect, true)\n  if has_lvl_giv then\n    for _,unit in ipairs(units) do\n      if not gotten[unit] and inBounds(unit.x, unit.y) and ignoreCheck(unit, outerlvl) and boringAndNotCheck(unit, effect) then\n        table.insert(result, unit)\n        table.insert(result_rules, lvl_giv_rule)\n      end\n    end\n  end\n  \n  if rules_with[\"rp\"] then\n    for i,unit in ipairs(result) do\n      local isrp = matchesRule(nil,\"rp\",unit)\n      for _,ruleparent in ipairs(isrp) do\n        local mimic = ruleparent[2]\n        if not gotten[mimic] and not hasRule(mimic,\"ben't\",effect) then\n          gotten[mimic] = true\n          table.insert(result,mimic)\n          table.insert(result_rules, result_rules[i])\n        end\n      end\n    end\n    local therp = matchesRule(nil,\"rp\",\"the\")\n    for _,ruleparent in ipairs(therp) do\n      local the = ruleparent[1].rule.object.unit\n      local tx = the.x+dirs8[the.dir][1]\n      local ty = the.y+dirs8[the.dir][2]\n      local mimic = ruleparent[2]\n      local stuff = getUnitsOnTile(tx,ty)\n      for _,unit in ipairs(stuff) do\n        local has_prop, prop_rule = hasProperty(unit,effect,true)\n        if has_prop and not hasRule(mimic,\"ben't\",effect) then\n          table.insert(result,mimic)\n          table.insert(result_rules,prop_rule)\n          break\n        end\n      end\n    end\n  end\n  \n  return result, (return_rule and result_rules or nil)\nend\n\nfunction getUnitsWithEffectAndCount(effect)\n  local result = {}\n  local rules = matchesRule(nil, \"be\", effect)\n  --print (\"h:\"..tostring(#rules))\n  for _,dat in ipairs(rules) do\n    local unit = dat[2]\n    if not unit.removed and boringAndNotCheck(unit, effect) then\n      --[[if result[unit.id] == nil then\n        result[unit.id] = 0\n      end]]\n      result[unit.id] = (result[unit.id] or 0) + 1\n    end\n  end\n  \n  local rules = matchesRule(nil, \"giv\", effect)\n  for _,rule in ipairs(rules) do\n    local unit = rule[2]\n    if not unit.removed then\n      for _,other in ipairs(getUnitsOnTile(unit.x, unit.y, {exclude = unit, thicc = thicc_units[unit]})) do\n        if sameFloat(unit, other) and ignoreCheck(other, unit) and boringAndNotCheck(other, effect) then\n          --[[if result[other.id] == nil then\n            result[other.id] = 0\n          end]]\n          result[other.id] = (result[unit.id] or 0) + 1\n        end\n      end\n    end\n  end\n  \n  if hasRule(outerlvl, \"giv\", effect) then\n    for _,unit in ipairs(units) do\n      if inBounds(unit.x, unit.y) and ignoreCheck(unit, outerlvl) and boringAndNotCheck(unit, effect) then\n        if result[unit.id] == nil then\n          result[unit.id] = 0\n        end\n        result[unit.id] = result[unit.id] + 1\n      end\n    end\n  end\n  \n  if rules_with[\"rp\"] then\n    for unit,count in pairs(result) do\n      unit = units_by_id[unit] or cursors_by_id[unit]\n      local isrp = matchesRule(nil,\"rp\",unit)\n      for _,ruleparent in ipairs(isrp) do\n        local mimic = ruleparent[2]\n        if not mimic.removed and not hasRule(mimic,\"ben't\",effect) then\n          result[mimic.id] = count\n        end\n      end\n    end\n    local therp = matchesRule(nil,\"rp\",\"the\")\n    for _,ruleparent in ipairs(therp) do\n      local the = ruleparent[1].rule.object.unit\n      local tx = the.x+dirs8[the.dir][1]\n      local ty = the.y+dirs8[the.dir][2]\n      local mimic = ruleparent[2]\n      local stuff = getUnitsOnTile(tx,ty)\n      for _,unit in ipairs(stuff) do\n        if hasProperty(unit,effect) and not hasRule(mimic,\"ben't\",effect) then\n          result[mimic.id] = countProperty(unit,effect)\n        end\n      end\n    end\n  end\n  return result\nend\nfunction getUnitsWithEffectAndCountAndAnti(effect)\n  local result = getUnitsWithEffectAndCount(effect)\n  local anti = getUnitsWithEffectAndCount(\"anti \"..effect)\n\n  for unit,amt in pairs(anti) do\n    result[unit] = (result[unit] or 0) - amt\n  end\n  return result\nend\n\nfunction getUnitsWithRuleAndCount(rule1, rule2, rule3)\n  local result = {}\n  local rules = matchesRule(rule1, rule2, rule3)\n  --print (\"h:\"..tostring(#rules))\n  for _,dat in ipairs(rules) do\n    local unit = dat[2]\n    if not unit.removed then\n      if result[unit.id] == nil then\n        result[unit.id] = 0\n      end\n      result[unit.id] = result[unit.id] + 1\n    end\n  end\n  if rules_with[\"rp\"] then\n    for unit,count in pairs(result) do\n      unit = units_by_id[unit] or cursors_by_id[unit]\n      local isrp = matchesRule(nil,\"rp\",unit)\n      for _,ruleparent in ipairs(isrp) do\n        local mimic = ruleparent[2]\n        if not mimic.removed and not hasRule(mimic,rule2..\"n't\",rule3) then\n          result[mimic.id] = count\n        end\n      end\n    end\n    local therp = matchesRule(nil,\"rp\",\"the\")\n    for _,ruleparent in ipairs(therp) do\n      local the = ruleparent[1].rule.object.unit\n      local tx = the.x+dirs8[the.dir][1]\n      local ty = the.y+dirs8[the.dir][2]\n      local mimic = ruleparent[2]\n      local stuff = getUnitsOnTile(tx,ty)\n      for _,unit in ipairs(stuff) do\n        if hasRule(unit,rule2,rule3) and not hasRule(mimic,rule2..\"n't\",rule3) then\n          result[mimic.id] = countProperty(unit,effect)\n        end\n      end\n    end\n  end\n  return result\nend\n\n\nfunction hasRule(rule1,rule2,rule3, return_rule)\n  if rules_with[\"boring\"] and rule3 ~= \"boring\" and #matchesRule(rule1,\"be\",\"boring\",true) > 0 then return false end\n  local matches = matchesRule(rule1,rule2,rule3, true)\n  if #matches > 0 then return true, (return_rule and matches[1] or nil) end\n  if not rules_with[\"rp\"] then return false end\n  if #matchesRule(rule1,rule2..\"n't\",rule3, true) > 0 then return false end\n  local isrp = matchesRule(rule1,\"rp\",nil)\n  for _,ruleparent in ipairs(isrp) do\n    local mimic = ruleparent[2]\n    local matches = matchesRule(mimic,rule2,rule3, true)\n    if #matches > 0 then return true, (return_rule and matches[1] or nil) end\n  end\n  return false\nend\n\nfunction validEmpty(unit)\n  return #unitsByTile(unit.x, unit.y) == 0\nend\n\nfunction findUnitsByName(name)\n  if group_names_set_nt[name] then\n    local everything_else_list = findUnitsByName(name:sub(1, -4))\n    local everything_else_set = {}\n    for _,unit in ipairs(everything_else_list) do\n      everything_else_set[unit] = true\n    end\n    local result = {}\n    for _,unit in ipairs(units) do\n      if unit.type == \"object\" and not everything_else_set[unit] then\n        table.insert(result, unit)\n      end\n    end\n    return result\n  elseif name == \"mous\" then\n    return cursors\n  elseif group_lists[name] ~= nil then\n    return group_lists[name]\n  elseif name == \"no1\" then\n    local result = {}\n    for _,unit in ipairs(units_by_name[\"no1\"]) do\n      if validEmpty(unit) then\n        table.insert(result, unit)\n      end\n    end\n    return result\n  else\n    return units_by_name[name] or {}\n  end\nend\n\nfunction hasProperty(unit,prop,return_rule)\n  if not rules_with[prop] and prop ~= \"?\" then return false end\n  if rules_with[\"boring\"] and prop ~= \"boring\" and hasProperty(unit,\"boring\") then return false end\n  if unit and unit.fullname == \"babby\" and prop == \"thicc\" and not hasRule(unit, \"be\", \"notranform\") then return false end\n  local has_be_rule, be_rule = hasRule(unit, \"be\", prop, true)\n  if has_be_rule then return true, (return_rule and be_rule or nil) end\n  if type(unit) ~= \"table\" then return false end\n  if not rules_with[\"giv\"] then return false end\n  if hasRule(unit, \"ben't\", prop) then return false end\n  if unit == outerlvl then return false end\n  if unit and unit.class == \"mous\" then return false end\n  if unit then\n    local has_lvl_giv, lvl_giv_rule = hasRule(outerlvl, \"giv\", prop)\n    if has_lvl_giv then return true, lvl_giv_rule end\n    for _,other in ipairs(getUnitsOnTile(unit.x, unit.y, {exclude = unit, thicc = thicc_units[unit]})) do\n      local givs = matchesRule(other, \"giv\", prop)\n      if #givs > 0 and sameFloat(unit, other) and ignoreCheck(unit, other) then\n        return true, (return_rule and givs[1] or nil)\n      end\n    end\n  else\n    local has_lvl_giv, lvl_giv_rule = hasRule(outerlvl, \"giv\", prop)\n    if has_lvl_giv then return true, lvl_giv_rule end\n    for _,ruleparent in ipairs(matchesRule(nil, \"giv\", prop)) do\n      for _,other in ipairs(ruleparent.units) do\n        if #getUnitsOnTile(other.x, other.y, {exclude = unit, checkmous = true, thicc = thicc_units[unit]}) > 0 and sameFloat(unit, other) then\n          return true, (return_rule and ruleparent or nil)\n        end\n      end\n    end\n  end\n  return false\nend\nfunction hasPropertyOrAnti(unit,prop,return_rule)\n  if prop == \"?\" then return hasProperty(unit,prop,return_rule) end\n  return hasProperty(unit,prop,return_rule) or hasProperty(unit,\"anti \"..prop,return_rule)\nend\n\nfunction countProperty(unit, prop, ignore_flye)\n  if not rules_with[prop] and prop ~= \"?\" then return 0 end\n  local result = #matchesRule(unit,\"be\",prop)\n  --if rules_with[\"boring\"] and prop ~= \"boring\" and hasProperty(unit,\"boring\") then return 0 end\n  --if hasRule(unit, \"ben't\", prop) then return 0 end\n  if not rules_with[\"giv\"] then return result end\n  if unit == outerlvl then return result end\n  if unit and unit.class == \"mous\" then return result end\n  result = result + #matchesRule(outerlvl, \"giv\", prop)\n  if unit then\n    for _,other in ipairs(getUnitsOnTile(unit.x, unit.y, {exclude = unit, checkmous = true, thicc = thicc_units[unit]})) do\n      if ignoreCheck(unit, other) and (ignore_flye or sameFloat(unit, other)) then\n        result = result + #matchesRule(other, \"giv\", prop)\n      end\n    end\n  else -- I don't think anything uses this? it doesn't seem very useful at least, but I guess it's functional?\n    for _,ruleparent in ipairs(matchesRule(nil, \"giv\", prop)) do\n      for _,other in ipairs(ruleparent.units) do\n        if ignoreCheck(unit, other) and (ignore_flye or sameFloat(unit, other)) then\n          result = result + #getUnitsOnTile(other.x, other.y, {exclude = other, checkmous = true, thicc = countProperty(other,\"thicc\")})\n        end\n      end\n    end\n  end\n  return result\nend\n\nfunction hasU(unit)\n  for _,prop in ipairs{\"u\",\"utoo\",\"utres\",\"y'all\",\"w\",\"you\"} do\n    if hasProperty(unit,prop) or hasProperty(unit,\"anti \"..prop) then\n      return true\n    end\n  end\n  return false\nend\n\nfunction getUs()\n  local yous = {}\n  for _,prop in ipairs{\"u\",\"utoo\",\"utres\",\"y'all\",\"w\",\"you\"} do\n    mergeTable(yous,getUnitsWithEffect(prop))\n    mergeTable(yous,getUnitsWithEffect(\"anti \"..prop))\n  end\n  return yous\nend\n\n--to prevent infinite loops where a set of rules/conditions is self referencing\nwithrecursion = {}\n\nfunction testConds(unit, conds, compare_with, first_unit) --cond should be a {condtype,{object types},{cond_units}}\n  local first_unit = first_unit or unit\n  local endresult = true\n  for _,cond in ipairs(conds or {}) do\n    local condtype = cond.name\n    \n    if condtype:starts(\"anti \") and anti_word_replacements[condtype:sub(6,-1)] then\n      condtype = anti_word_replacements[condtype:sub(6,-1)]\n    end\n    \n    local lists = {} -- for iterating\n    local sets = {} -- for checking\n\n    local count = 1\n    if ( condtype:sub(-3) and tonumber( condtype:sub(-3) ) ) then\n      count = tonumber( condtype:sub(-3) )\n      condtype = condtype:sub(0,-4)\n    end --a lot of things don't actually work with count yet, but hey\n\n    if condtype:starts(\"that\") then\n      lists = cond.others or {} -- using \"lists\" to store the names, since THAT doesn't allow nesting, and we need the name for hasRule\n    elseif cond.others then\n      for _,other in ipairs(cond.others) do\n        local list = {}\n        local set = {}\n\n        local function addUnit(otherunit)\n          if not set[otherunit] then\n            if testConds(otherunit, other.conds, unit, first_unit) then\n              table.insert(list, otherunit)\n              set[otherunit] = true\n            end\n          end\n        end\n\n        if other.name == \"lvl\" then -- probably have to account for group/every1 here too, maybe more\n          addUnit(outerlvl)\n        elseif other.name == \"themself\" then\n          addUnit(first_unit)\n        elseif other.name == \"every1\" or other.name == \"every2\" or other.name == \"every3\" then\n          for _,name in ipairs(referenced_objects) do\n            for _,nya in ipairs(findUnitsByName(name)) do\n              addUnit(nya)\n            end\n          end\n          if other.name == \"every2\" or other.name == \"every3\" then\n            for _,nya in ipairs(findUnitsByName(\"txt\")) do\n              addUnit(nya)\n            end\n          end\n          if other.name == \"every3\" then\n            for _,name in ipairs(special_objects) do\n              for _,nya in ipairs(findUnitsByName(name)) do\n                addUnit(nya)\n              end\n            end\n          end\n        elseif group_lists[other.name] then\n          for _,nya in ipairs(group_lists[other.name]) do\n            addUnit(nya)\n          end\n        else\n          for _,otherunit in ipairs(findUnitsByName(other.name)) do -- findUnitsByName handles mous and no1 already\n            addUnit(otherunit)\n          end\n        end\n        table.insert(lists, list)\n        table.insert(sets, set)\n      end\n    end\n    \n    local result = true\n    local cond_not = false\n    \n    if condtype:starts(\"anti \") and anti_word_reverses[condtype:sub(6,-1)] then\n      condtype = condtype:sub(6,-1)\n      cond_not = not cond_not\n    end\n    \n    if condtype:ends(\"n't\") then\n      condtype = condtype:sub(1, -4)\n      cond_not = not cond_not\n    end\n\n    local x, y = unit.x, unit.y\n\n    local old_withrecursioncond = withrecursion[cond]\n    \n    withrecursion[cond] = true\n    if (old_withrecursioncond) then\n      result = false\n    elseif condtype:starts(\"that\") then\n      result = true\n      local verb = condtype:sub(5)\n      for _,param in ipairs(lists) do -- using \"lists\" to store the names, since THAT doesn't allow nesting, and we need the name for hasRule\n        local word = param.unit\n        local wx = word.x\n        local wy = word.y\n        local wdir = word.dir\n        local wdx = dirs8[wdir][1]\n        local wdy = dirs8[wdir][2]\n        if param.name == \"her\" then\n          if unit.x ~= wx+wdx or unit.y ~= wy+wdy then\n            result = false\n          end\n        elseif param.name == \"thr\" then\n          local wtx,wty = wx+wdx,wy+wdy\n          local stopped = false\n          while not stopped do\n            if canMove(unit,wdx,wdy,wdir,{start_x = wtx, start_y = wty}) then\n              wdx,wdy,wdir,wtx,wty = getNextTile(word, wdx, wdy, wdir, nil, wtx, wty)\n            else\n              stopped = true\n            end\n          end\n          if unit.x ~= wtx or unit.y ~= wty then\n            result = false\n          end\n        elseif param.name == \"rithere\" then\n          if unit.x ~= wx or unit.y ~= wy then\n            result = false\n          end\n        else\n          if not hasRule(unit,verb,param.name) then\n            if not (param.name == unit.fullname and hasProperty(unit,\"notranform\")) then\n              result = false\n              break\n            end\n          end\n        end\n      end\n    elseif condtype == \"w/fren\" then\n      if unit == outerlvl then\n        for _,other in ipairs(sets) do\n          local found = 0\n          for _,fren in ipairs(units) do\n            if inBounds(fren.x,fren.y) and other[fren] then\n              found = found+1\n              if found >= count then break end\n            end\n          end\n          if found < count then\n            result = false\n            break\n          end\n        end\n        --something something surrounds maybe?\n        --[[if unit == outerlvl and surrounds ~= nil and surrounds_name == level_name then\n          --use surrounds to remember what was around the level\n          for __,on in ipairs(surrounds[0][0]) do\n            if nameIs(on, param) then\n              table.insert(others, on)\n            end\n          end]]\n        for _,other in ipairs(lists) do\n          if #other == 0 then\n            result = false\n            break\n          end\n        end\n      else\n        local frens = getUnitsOnTile(x, y, {exclude = unit, checkmous = true, thicc = thicc_units[unit]})\n        for _,other in ipairs(sets) do\n          if other[outerlvl] then\n            if not inBounds(unit.x,unit.y) or count > 1 then\n              result = false\n            end\n          else\n            local found = 0\n            for _,fren in ipairs(frens) do\n              if other[fren] then\n                found = found+1\n                if found >= count then break end\n              end\n            end\n            if found < count then\n              result = false\n              break\n            end\n          end\n        end\n      end\n    elseif condtype:ends(\"arond\") then\n      --Vitellary: Deliberately ignore the tile we're on. This is different from baba.\n      local others = {}\n      for i=-1,1 do\n        others[i] = {}\n        for j=-1,1 do\n          others[i][j] = {}\n        end\n      end\n      for ndir=1,8 do\n        local nx, ny = dirs8[ndir][1], dirs8[ndir][2]\n        if unit == outerlvl then\n          if surrounds ~= nil and surrounds_name == level_name then\n            --use surrounds to remember what was around the level\n            for __,on in ipairs(surrounds[nx][ny]) do -- this part hasn't been updated, but it's not important yet\n              if nameIs(on, param) then\n                others[nx][ny] = on\n              end\n            end\n          end\n        else\n          local dx, dy, dir, px, py = getNextTile(unit, nx, ny, ndir)\n          others[nx][ny] = getUnitsOnTile(px, py, {checkmous = true, thicc = thicc_units[unit]})\n        end\n      end\n      local found_set = {}\n      for i=1,8 do\n        if (condtype == \"arond\") or (condtype == \"ortho arond\" and i%2==1) or (condtype == \"diag arond\" and i%2==0)\n        or (condtype == dirs8_by_name[i]..\" arond\") or (condtype == \"spin\"..i..\" arond\") then\n          local nx,ny\n          if (condtype == \"spin\"..i..\" arond\") then\n            local j = (i+unit.dir+7)%8+1\n            nx,ny = dirs8[j][1],dirs8[j][2]\n          else\n            nx,ny = dirs8[i][1],dirs8[i][2]\n          end\n          for _,set in ipairs(sets) do\n            if not found_set[set] then\n              for _,other in ipairs(others[nx][ny]) do\n                if set[other] then\n                  found_set[set] = true\n                  break\n                end\n              end\n            end\n          end\n        end\n      end\n      for _,set in ipairs(sets) do\n        if not found_set[set] then\n          result = false\n          break\n        end\n      end\n      -- also needs levelsurrounds support\n    elseif condtype:ends(\"meow\") then\n      --This is all 8 directions in a straight beam, unless it hits a tranparn't or bordr.\n      local found_set = {}\n      for i=1,8 do\n        if (condtype == \"meow\") or (condtype == \"ortho meow\" and i%2==1) or (condtype == \"diag meow\" and i%2==0)\n        or (condtype == dirs8_by_name[i]..\" meow\") or (condtype == \"spin\"..i..\" meow\") then\n          local dx,dy\n          local dir = i\n          if (condtype == \"spin\"..i..\" meow\") then\n            local j = (i+unit.dir+7)%8+1\n            dx,dy = dirs8[j][1],dirs8[j][2]\n          else\n            dx,dy = dirs8[i][1],dirs8[i][2]\n          end\n          local tx,ty = unit.x,unit.y\n\n          for d=1,100 do\n            dx,dy,dir, tx, ty = getNextTile(unit, dx, dy, dir, false, tx, ty)\n            \n            local units = getUnitsOnTile(tx,ty)\n            for _,unitd in ipairs(units) do\n              if hasProperty(unitd,\"tranparnt\") or unitd.name == bordr then\n                goto continue\n              end --tranparen't stops it, and it's false for the tile with the tranparn't\n            end\n            for _,set in ipairs(sets) do\n              if not found_set[set] then\n                for _,other in ipairs(units) do\n                  if set[other] then\n                    found_set[set] = true\n                    break\n                  end\n                end\n              end\n            end --set for\n\n          end\n        end --main if\n        ::continue::\n      end\n      for _,set in ipairs(sets) do\n        if not found_set[set] then\n          result = false\n          break\n        end\n      end\n\n    elseif condtype == \"seenby\" then\n      local others = {}\n      for ndir=1,8 do\n        local nx, ny = dirs8[ndir][1], dirs8[ndir][2]\n        if unit == outerlvl and surrounds ~= nil and surrounds_name == level_name then\n          --use surrounds to remember what was around the level\n          for __,on in ipairs(surrounds[nx][ny]) do -- this part hasn't been updated, but it's not important yet\n            if nameIs(on, param) then\n              table.insert(others, on)\n            end\n          end\n        else\n          local dx, dy, dir, px, py = getNextTile(unit, nx, ny, ndir)\n          mergeTable(others, getUnitsOnTile(px, py, {checkmous = true, thicc = thicc_units[unit]}))\n        end\n      end\n      if unit == outerlvl then --basically turns into sans n't BUT the unit has to be looking inbounds as well!\n        for _,param in ipairs(params) do\n          local found = 0\n          local others = findUnitsByName(param)\n          for _,on in ipairs(others) do\n            if inBounds(on.x + dirs8[on.dir][1], on.y + dirs8[on.dir][2]) then\n              found = found+1\n              if found >= count then break end\n            end\n          end\n          if unit == outerlvl and surrounds ~= nil and surrounds_name == level_name then\n            --use surrounds to remember what was around the level\n            for nx=-1,1 do\n              for ny=-1,1 do\n                for __,on in ipairs(surrounds[nx][ny]) do\n                  if nameIs(on, param) and nx + dirs8[on.dir][1] == 0 and ny + dirs8[on.dir][2] == 0 then\n                    found = found+1\n                    if found >= count then break end\n                  end\n                end\n              end\n            end\n          end\n          if found < count then\n            result = false\n            break\n          end\n        end\n      else\n        for _,set in ipairs(sets) do\n          local found = 0\n          for _,other in ipairs(others) do\n            if set[other] then\n              local dx, dy, dir, px, py = getNextTile(other, dirs8[other.dir][1], dirs8[other.dir][2], other.dir)\n              if px == unit.x and py == unit.y then\n                found = found+1\n                if found >= count then break end\n              end\n            end\n          end\n          if found < count then\n            result = false\n            break\n          end\n        end\n      end\n    elseif condtype == \"lookat\" then\n      --TODO: look at dir, ortho, diag, surrounds\n      if unit ~= outerlvl then\n        local dx, dy, dir, px, py = getNextTile(unit, dirs8[unit.dir][1], dirs8[unit.dir][2], unit.dir)\n        local frens = getUnitsOnTile(px, py, {name = param, checkmous = true, thicc = thicc_units[unit]})\n        for i,other in ipairs(sets) do\n          local isdir = false\n          if cond.others[i].name == \"ortho\" then\n            isdir = true\n            if (unit.dir % 2 == 0) then\n              result = false\n              break\n            end\n          elseif cond.others[i].name == \"diag\" then\n            isdir = true\n            if (unit.dir % 2 == 1) then\n              result = false\n              break\n            end\n          elseif cond.others[i].name:starts(\"spin\") then\n            isdir = true\n            if (cond.others[i].name ~= \"spin8\") then\n              result = false\n              break\n            end\n          else\n            for j = 1,8 do\n              if cond.others[i].name == dirs8_by_name[j] then\n                isdir = true\n                if unit.dir ~= j then\n                  result = false\n                  break\n                end\n              end   \n            end\n          end\n          if not isdir then\n            if other[outerlvl] then\n              if not inBounds(px,py) then\n                result = false\n                break\n              end\n            else\n              local found = 0\n              for _,fren in ipairs(frens) do\n                if other[fren] then\n                  found = found+1\n                  if found >= count then break end\n                end\n              end\n              if found < count then\n                result = false\n                break\n              end\n            end\n          end\n        end\n      else --something something surrounds\n        result = false\n      end\n    elseif condtype == \"lookaway\" then\n      --TODO: look at dir, ortho, diag, surrounds\n      if unit ~= outerlvl then\n        local dx, dy, dir, px, py = getNextTile(unit, -dirs8[unit.dir][1], -dirs8[unit.dir][2], unit.dir)\n        local frens = getUnitsOnTile(px, py, {name = param, checkmous = true, thicc = thicc_units[unit]})\n        for _,other in ipairs(sets) do\n          if other[outerlvl] then\n            local dx, dy, dir, px, py = getNextTile(unit, dirs8[unit.dir][1], dirs8[unit.dir][2], unit.dir)\n            if inBounds(px,py) then\n              result = false\n              break\n            end\n          else\n            local found = 0\n            for _,fren in ipairs(frens) do\n              if other[fren] then\n                found = found+1\n                if found >= count then break end\n              end\n            end\n            if found < count then\n              result = false\n              break\n            end\n          end\n        end\n      else --something something surrounds\n        result = false\n      end\n    elseif condtype == \"behind\" then\n      if result then result = sideCond(unit,sets,params,count,{{-1,-1}}) end\n      --[[local others = {}\n      for ndir=1,8 do\n        local nx, ny = dirs8[ndir][1], dirs8[ndir][2]\n        if unit == outerlvl and surrounds ~= nil and surrounds_name == level_name then\n          --use surrounds to remember what was around the level\n          for __,on in ipairs(surrounds[nx][ny]) do -- this part hasn't been updated, but it's not important yet\n            if nameIs(on, param) then\n              table.insert(others, on)\n            end\n          end\n        else\n          local dx, dy, dir, px, py = getNextTile(unit, nx, ny, ndir)\n          mergeTable(others, getUnitsOnTile(px, py, {checkmous = true, thicc = thicc_units[unit]}))\n        end\n      end\n      if unit == outerlvl then --basically turns into sans n't BUT the unit's rear has to be looking inbounds as well!\n        for _,param in ipairs(params) do\n          local found = 0\n          local others = findUnitsByName(param)\n          for _,on in ipairs(others) do\n            if inBounds(on.x + -dirs8[on.dir][1], on.y + -dirs8[on.dir][2]) then\n              found = found+1\n              if found >= count then break end\n            end\n          end\n          if unit == outerlvl and surrounds ~= nil and surrounds_name == level_name then\n            --use surrounds to remember what was around the level\n            for nx=-1,1 do\n              for ny=-1,1 do\n                for __,on in ipairs(surrounds[nx][ny]) do\n                  if nameIs(on, param) and nx + -dirs8[on.dir][1] == 0 and ny + -dirs8[on.dir][2] == 0 then\n                    found = found+1\n                    if found >= count then break end\n                  end\n                end\n              end\n            end\n          end\n          if found < count then\n            result = false\n            break\n          end\n        end\n      else\n        for _,set in ipairs(sets) do\n          local found = 0\n          for _,other in ipairs(others) do\n            if set[other] then\n              local dx, dy, dir, px, py = getNextTile(other, -dirs8[other.dir][1], -dirs8[other.dir][2], other.dir)\n              if px == unit.x and py == unit.y then\n                found = found+1\n                if found >= count then break end\n              else\n                -- print(unit.x, unit.y)\n                -- print(px, py)\n              end\n            end\n          end\n          if found < count then\n            result = false\n            break\n          end\n        end\n      end]]\n    elseif condtype == \"beside\" then\n      --if result then result = sideCond(unit,sets,params,count,{{-1,1},{1,-1}}) end\n      local others = {}\n      for ndir=1,8 do\n        local nx, ny = dirs8[ndir][1], dirs8[ndir][2]\n        if unit == outerlvl and surrounds ~= nil and surrounds_name == level_name then\n          --use surrounds to remember what was around the level\n          for __,on in ipairs(surrounds[nx][ny]) do -- this part hasn't been updated, but it's not important yet\n            if nameIs(on, param) then\n              table.insert(others, on)\n            end\n          end\n        else\n          local dx, dy, dir, px, py = getNextTile(unit, nx, ny, ndir)\n          mergeTable(others, getUnitsOnTile(px, py, {checkmous = true, thicc = thicc_units[unit]}))\n        end\n      end\n      if unit == outerlvl then --basically turns into sans n't BUT the unit's side has to be looking inbounds as well!\n        for _,param in ipairs(params) do\n          local found = 0\n          local others = findUnitsByName(param)\n          for _,on in ipairs(others) do\n            if inBounds(on.x - dirs8[on.dir][2], on.y + dirs8[on.dir][1]) or inBounds(on.x + dirs8[on.dir][2], on.y - dirs8[on.dir][1]) then\n              found = found+1\n              if found >= count then break end\n            end\n          end\n          if unit == outerlvl and surrounds ~= nil and surrounds_name == level_name then\n            --use surrounds to remember what was around the level\n            for nx=-1,1 do\n              for ny=-1,1 do\n                for __,on in ipairs(surrounds[nx][ny]) do\n                  if nameIs(on, param) and ((nx - dirs8[on.dir][2] == 0 and ny + dirs8[on.dir][1] == 0) or (nx + dirs8[on.dir][2] == 0 and ny - dirs8[on.dir][1] == 0)) then\n                    found = found+1\n                    if found >= count then break end\n                  end\n                end\n              end\n            end\n          end\n          if found < count then\n            result = false\n            break\n          end\n        end\n      else\n        for _,set in ipairs(sets) do\n          local found = 0\n          for _,other in ipairs(others) do\n            if set[other] then\n              local dx, dy, dir, px, py = getNextTile(other, dirs8[other.dir][2], -dirs8[other.dir][1], other.dir)\n              local dx, dy, dir, qx, qy = getNextTile(other, -dirs8[other.dir][2], dirs8[other.dir][1], other.dir)\n              if px == unit.x and py == unit.y or qx == unit.x and qy == unit.y then\n                found = found+1\n                if found >= count then break end\n              end\n            end\n          end\n          if found < count then\n            result = false\n            break\n          end\n        end\n      end--]]\n    elseif condtype == \"sans\" then\n      for _,other in ipairs(lists) do\n        if #other > count or #other == count and other[1] ~= unit then\n          result = false\n          break\n        end\n      end\n    elseif condtype == \"frenles\" then\n      if unit == outerlvl then --no longer by definition, since you can technically have the rules be oob!\n        local found = false\n        for _,fren in ipairs(units) do\n          if inBounds(fren.x,fren.y) then\n            found = true\n            break\n          end\n        end\n        if found then result = false end\n      else\n        local others = getUnitsOnTile(unit.x, unit.y, {exclude = unit, thicc = thicc_units[unit]})\n        if #others > 0 then\n          result = false\n        end\n      end\n    elseif condtype == \"wait...\" then\n      result = last_move ~= nil and last_move[1] == 0 and last_move[2] == 0 and #last_clicks == 0\n    elseif condtype == \"mayb\" then\n      local cond_unit = cond.unit\n      --add a dummy action so that undoing happens\n      if (#undo_buffer > 0 and #undo_buffer[1] == 0) then\n        addUndo({\"dummy\"})\n      end\n      rng = deterministicRng(unit, cond.unit)\n      result = (rng*100) < threshold_for_dir[cond.unit.dir]\n    elseif condtype == \"an\" then\n      local cond_unit = cond.unit\n      --add a dummy action so that undoing happens\n      if (#undo_buffer > 0 and #undo_buffer[1] == 0) then\n        addUndo({\"dummy\"})\n      end\n      rng = deterministicRandom(unit.fullname, cond.unit)\n      result = unit.id == rng\n    elseif condtype == \"lit\" then\n      --TODO: make it so if there are many lit objects then you cache FoV instead of doing many individual LoSes\n      -- result = false\n      -- if (successful_brite_cache ~= nil) then\n      --   local cached = units_by_id[successful_brite_cache]\n      --   if cached ~= nil and hasProperty(cached, \"brite\") and hasLineOfSight(cached, unit) then\n      --     result = true\n      --   end\n      -- end\n      -- if not result then\n      --   --I am tempted to make it so N levels of BRITE can penetrate N-1 layers of OPAQUE but this mechanic would be too... opaque :drum:\n      --   local others = getUnitsWithEffect(\"brite\")\n      --   for _,on in ipairs(others) do\n      --     if hasLineOfSight(on, unit) then\n      --       successful_brite_cache = on.id\n      --       result = true\n      --       break\n      --     end\n      --   end\n      -- end\n      if not ignoreCheck(unit,nil,\"brite\") or not ignoreCheck(unit,nil,\"torc\") then\n        result = false\n      elseif unit == outerlvl then\n        local lights = getUnitsWithEffect(\"brite\")\n        mergeTable(lights,getUnitsWithEffect(\"torc\"))\n        local lit = false\n        for _,light in ipairs(lights) do\n          if inBounds(light.x,light.y) and sameFloat(light,outerlvl) then\n            lit = true\n            break\n          end\n        end\n        result = lit\n      else\n        if inBounds(unit.x,unit.y) then\n          if (lightcanvas == nil) then calculateLight() end\n          local pixelData = lightcanvas:newImageData(1, 1, unit.x*32+15, unit.y*32+15, 2, 2)\n          local r1 = pixelData:getPixel(0, 0)\n          local r2 = pixelData:getPixel(0, 1)\n          local r3 = pixelData:getPixel(1, 0)\n          local r4 = pixelData:getPixel(1, 1)\n          result = (r1+r2+r3+r4 >= 2)\n        else result = false end\n      end\n    elseif condtype == \"corekt\" then\n      if not unit.blocked then\n        result = unit.active\n      else\n        result = false\n      end\n    elseif condtype == \"rong\" then\n      result = unit.blocked\n    elseif condtype == \"timles\" then\n      result = timeless\n    elseif condtype == \"clikt\" then\n      result = false\n      if last_click_button == 1 then\n        for _,click in ipairs(last_clicks) do\n          if click.x == unit.x and click.y == unit.y then\n            result = true\n          end\n        end\n      end\n    elseif condtype == \"anti clikt\" then\n      result = false\n      if last_click_button == 2 then\n        for _,click in ipairs(last_clicks) do\n          if click.x == unit.x and click.y == unit.y then\n            result = true\n          end\n        end\n      end\n    elseif main_palette_for_colour[condtype] then\n      if unit.fullname == \"no1\" then\n        result = false\n      elseif unit.rave or unit.colrful then\n        result = true\n      else\n        local has_flag = false\n        local matched_flag = false\n        for flag,overlay in pairs(overlay_props) do\n          if unit[flag] then\n            has_flag = true\n            if table.has_value(overlay.colors, condtype) then\n              matched_flag = true\n              break\n            end\n          end\n        end\n        if has_flag then\n          result = matched_flag\n        else\n          result = matchesColor(getUnitColors(unit), condtype)\n        end\n      end\n    elseif condtype == \"the\" then\n      local the = cond.unit\n      \n      local tx = the.x\n      local ty = the.y\n      local dir = the.dir\n      local dx = dirs8[dir][1]\n      local dy = dirs8[dir][2]\n      \n      dx,dy,dir,tx,ty = getNextTile(the,dx,dy,dir)\n      result = ((unit.x == tx) and (unit.y == ty))\n    elseif condtype == \"deez\" then\n      local deez = cond.unit\n      \n      local tx = deez.x\n      local ty = deez.y\n      local dir = deez.dir\n      local dx = dirs8[dir][1]\n      local dy = dirs8[dir][2]\n\n      local already_checked = {}\n      local found = false\n\n      while not already_checked[tx..\",\"..ty..\":\"..dir] do\n        already_checked[tx..\",\"..ty..\":\"..dir] = true\n        \n        dx,dy,dir,tx,ty = getNextTile(deez,dx,dy,dir,nil,tx,ty)\n\n        if not inBounds(tx, ty) then\n          break\n        elseif unit.x == tx and unit.y == ty then\n          found = true\n          break\n        end\n      end\n\n      if not found then\n        result = false\n      end\n    elseif condtype == \"letter_custom\" then\n      local letter = cond.unit\n\n      if unit.special.customletter ~= letter.special.customletter then\n        result = false\n      else\n        print(unit.special.customletter)\n      end\n    elseif condtype == \"inner\" then\n      if unit == outerlvl then\n        result = false\n      end\n    elseif condtype == \"unlocked\" then\n      if unit.name == \"lvl\" and unit.special.visibility ~= \"open\" then\n        result = false\n      end\n      if unit.name == \"lin\" and unit.special.pathlock and unit.special.pathlock ~= \"none\" then\n        result = false\n      end\n    elseif condtype == \"wun\" then\n      local name = unit.special.level or level_filename\n      result = readSaveFile{\"levels\",name,\"won\"}\n    elseif condtype == \"past\" then\n      if cond_not then\n        result = doing_past_turns\n      else\n        result = false\n      end\n    elseif condtype == \"samefloat\" then\n      result = sameFloat(unit, compare_with)\n    elseif condtype == \"samepaint\" then\n      result = matchesColor(getUnitColors(unit), getUnitColors(compare_with))\n    elseif condtype == \"sameface\" then\n      result = unit.dir == compare_with.dir\n    elseif condtype == \"anti samefloat\" then\n      result = sameFloat(unit, compare_with,nil,true)\n    --[[elseif condtype == \"anti samepaint\" then\n      local opposites = {\n        reed = \"cyeann\",\n        orang = \"bleu\",\n        yello = \"purp\",\n        grun = \"pinc\",\n        cyeann = \"reed\",\n        bleu = \"orang\",\n        purp = \"yello\",\n        pinc = \"grun\",\n        whit = \"blacc\",\n        graey = \"graey\",\n        blacc = \"whit\",\n        brwn = \"cyeann\"\n      }]]\n    elseif condtype == \"anti sameface\" then\n      result = unit.dir == dirAdd(compare_with.dir,4)\n    elseif condtype == \"oob\" then\n      result = not inBounds(unit.x,unit.y)\n    elseif condtype == \"offgrid\" then\n      result = not ((math.floor(unit.x)==unit.x) and (math.floor(unit.y)==unit.y)) \n    elseif condtype == \"alt\" then\n      result = #undo_buffer % 2 == 1\n    else\n      print(\"unknown condtype: \" .. condtype)\n      result = false\n    end\n\n    if cond_not then\n      result = not result\n    end\n    if not result then\n      endresult = false\n    end\n    \n    withrecursion[cond] = old_withrecursioncond\n  end\n  return endresult\nend\n\n--this is used 3 times now so i figure it's about time to split it into its own function\nfunction sideCond(unit,sets,params,count,dirs_)\n  local result = true\n  local others = {}\n  for ndir=1,8 do\n    local nx, ny = dirs8[ndir][1], dirs8[ndir][2]\n    if unit == outerlvl and surrounds ~= nil and surrounds_name == level_name then\n      --use surrounds to remember what was around the level\n      for __,on in ipairs(surrounds[nx][ny]) do -- this part hasn't been updated, but it's not important yet\n        if nameIs(on, param) then\n          table.insert(others, on)\n        end\n      end\n    else\n      local dx, dy, dir, px, py = getNextTile(unit, nx, ny, ndir)\n      mergeTable(others, getUnitsOnTile(px, py, {checkmous = true, thicc = thicc_units[unit]}))\n    end\n  end\n  if unit == outerlvl then --basically turns into sans n't BUT the unit's rear has to be looking inbounds as well!\n    for _,param in ipairs(params) do\n      local found = 0\n      local others = findUnitsByName(param)\n      for _,on in ipairs(others) do\n        for ___,dirm in ipairs(dirs_) do\n          if not inBounds(on.x + dirm[1]*dirs8[on.dir][1], on.y + dirm[2]*dirs8[on.dir][2]) then goto cont end\n        end\n        found = found+1\n        if found >= count then break end\n        ::cont::\n      end\n      if unit == outerlvl and surrounds ~= nil and surrounds_name == level_name then\n        --use surrounds to remember what was around the level\n        for nx=-1,1 do\n          for ny=-1,1 do\n            for __,on in ipairs(surrounds[nx][ny]) do\n              if not nameIs(on, param) then goto cont end\n              for ___,dirm in ipairs(dirs_) do\n                if not (nx + dirm[1]*dirs8[on.dir][1] == 0 and ny + dirm[2]*dirs8[on.dir][2] == 0) then goto cont end\n              end\n              found = found+1\n              if found >= count then break end\n              ::cont::\n            end\n          end\n        end\n      end\n      if found < count then\n        result = false\n        break\n      end\n    end\n  else\n    for _,set in ipairs(sets) do\n      local found = 0\n      for _,other in ipairs(others) do\n        if set[other] then\n          for ___,dirm in ipairs(dirs_) do\n            local dx, dy, dir, px, py = getNextTile(other, dirm[1]*dirs8[other.dir][1], dirm[2]*dirs8[other.dir][2], other.dir)\n            if px == unit.x and py == unit.y then\n              found = found+1\n              if found >= count then goto next end\n              break\n            end\n          end\n        end\n      end\n      ::next::\n      if found < count then\n        result = false\n        break\n      end\n    end\n  end\n  return result\nend\n\nfunction hasLineOfSight(brite, lit)\n  if not sameFloat(brite, lit) or not ignoreCheck(lit, brite, \"brite\") or not ignoreCheck(lit, nil, \"torc\") then\n    return false\n  end\n  if (rules_with[\"tranparnt\"] == nil) then\n    return true\n  end\n  --https://en.wikipedia.org/wiki/Bresenham%27s_line_algorithm\n  local x0, y0, x1, y1 = brite.x, brite.y, lit.x, lit.y\n  local dx = x1 - x0\n  local dy = y1 - y0\n  if (dx == 0 and dy == 0) then return true end\n  if (math.abs(dx) > math.abs(dy)) then\n    local derr = math.abs(dy / dx)\n    local err = 0\n    local y = y0\n    local found_opaque = false\n    for x = x0, x1, sign(dx) do\n      if found_opaque then return false end\n      if x ~= x0 or y ~= y0 then\n        for _,v in ipairs(getUnitsOnTile(x, y)) do\n          if hasProperty(v, \"tranparnt\") and ignoreCheck(brite, v, \"tranparnt\") then\n            found_opaque = true\n            break\n          end\n        end\n      end\n      err = err + derr\n      if err >= 0.5 then\n        y = y + sign(dy)\n        err = err - 1\n      end\n    end\n  elseif (math.abs(dy) > math.abs(dx)) then\n    local derr = math.abs(dx / dy)\n    local err = 0\n    local x = x0\n    local found_opaque = false\n    for y = y0, y1, sign(dy) do\n      if found_opaque then return false end\n      if x ~= x0 or y ~= y0 then\n        for _,v in ipairs(getUnitsOnTile(x, y)) do\n          if hasProperty(v, \"tranparnt\") and not ignoreCheck(brite, v, \"tranparnt\") then\n            found_opaque = true\n            break\n          end\n        end\n      end\n      err = err + derr\n      if err >= 0.5 then\n        x = x + sign(dx)\n        err = err - 1\n      end\n    end\n  else --both equal\n    local x = x0\n    local found_opaque = false\n    for y = y0, y1, sign(dy) do\n      if x ~= x0 or y ~= y0 then\n        if found_opaque then return false end\n        for _,v in ipairs(getUnitsOnTile(x, y)) do\n          if hasProperty(v, \"tranparnt\") and not ignoreCheck(brite, v, \"tranparnt\") then\n            found_opaque = true\n            break\n          end\n        end\n      end\n      x = x + sign(dx)\n    end\n  end\n  return true\nend\n\nlightcanvas = nil\ntemp_lightcanvas = nil\nlightcanvas_width = 0\nlightcanvas_height = 0\n\ntorc_angles = {20,30,45,60,75,90,120,150,180,225,270,315,360}\nfunction calculateLight()\n  lights_ignored_opaque = {}\n  if lightcanvas_width ~= mapwidth or lightcanvas_height ~= mapheight then\n    lightcanvas = love.graphics.newCanvas(mapwidth*32, mapheight*32)\n    temp_lightcanvas = love.graphics.newCanvas(mapwidth*32, mapheight*32)\n    lightcanvas_height = mapheight\n    lightcanvas_width = mapwidth\n  end\n  local brites = getUnitsWithEffect(\"brite\")\n  local torcs = getUnitsWithEffect(\"torc\")\n  if (#brites == 0 and #torcs == 0) then\n    love.graphics.setCanvas(lightcanvas)\n    love.graphics.clear(0, 0, 0, 1)\n    love.graphics.setCanvas()\n    return\n  end\n  local opaques = getUnitsWithEffect(\"tranparnt\")\n  if (#opaques == 0 and #brites ~= 0) then\n    love.graphics.setCanvas(lightcanvas)\n    love.graphics.clear(1, 1, 1, 1)\n    love.graphics.setCanvas()\n    return\n  end\n  love.graphics.setCanvas(lightcanvas)\n  love.graphics.clear(0, 0, 0, 1)\n  for _,unit in ipairs(brites) do\n    love.graphics.setCanvas(temp_lightcanvas)\n    love.graphics.clear(1, 1, 1, 1)\n    drawShadows(unit, opaques)\n    love.graphics.setCanvas(lightcanvas)\n    love.graphics.setBlendMode(\"add\", \"premultiplied\")\n    love.graphics.draw(temp_lightcanvas)\n    love.graphics.setBlendMode(\"alpha\")\n  end\n  for _,unit in ipairs(torcs) do\n    love.graphics.setCanvas(temp_lightcanvas)\n    love.graphics.clear(0, 0, 0, 1)\n    love.graphics.setColor(1, 1, 1, 1)\n    local width = torc_angles[countProperty(unit,\"torc\")]\n    if width then\n      local facing = (1-unit.dir) * 45\n      local cx = unit.x*32+16\n      local cy = unit.y*32+16\n      local ex = mapwidth*32\n      local ey = mapheight*32\n      local angle1 = (math.rad(facing - width/2)+math.pi*2) % (math.pi*2)\n      local angle2 = (math.rad(facing + width/2)+math.pi*2) % (math.pi*2)\n      local ur = math.atan2(unit.y+0.5, mapwidth-unit.x-0.5)\n      local ul = math.atan2(unit.y+0.5, -unit.x-0.5)\n      local dl = math.atan2(unit.y-mapheight+0.5, -unit.x-0.5)+math.pi*2\n      local dr = math.atan2(unit.y-mapheight+0.5, mapwidth-unit.x-0.5)+math.pi*2\n      if angle1 < ur or angle1 > dr then\n        if angle2 < ur or angle2 > dr then\n          love.graphics.polygon(\"fill\", cx, cy, ex, cy+math.tan(angle1)*(cx-ex), ex, cy+math.tan(angle2)*(cx-ex))\n        elseif angle2 < ul then\n          love.graphics.polygon(\"fill\", cx, cy, ex, cy+math.tan(angle1)*(cx-ex), ex, 0, cx+cy/math.tan(angle2), 0)\n        elseif angle2 < dl then\n          love.graphics.polygon(\"fill\", cx, cy, ex, cy+math.tan(angle1)*(cx-ex), ex, 0, 0, 0, 0, cy+math.tan(angle2)*cx)\n        else\n          love.graphics.polygon(\"fill\", cx, cy, ex, cy+math.tan(angle1)*(cx-ex), ex, 0, 0, 0, 0, ey, cx-(ey-cy)/math.tan(angle2), ey)\n        end\n      elseif angle1 < ul then\n        if angle2 < ur or angle2 > dr then\n          love.graphics.polygon(\"fill\", cx, cy, cx+cy/math.tan(angle1), 0, 0, 0, 0, ey, ex, ey, ex, cy+math.tan(angle2)*(cx-ex))\n        elseif angle2 < ul then\n          love.graphics.polygon(\"fill\", cx, cy, cx+cy/math.tan(angle1), 0, cx+cy/math.tan(angle2), 0)\n        elseif angle2 < dl then\n          love.graphics.polygon(\"fill\", cx, cy, cx+cy/math.tan(angle1), 0, 0, 0, 0, cy+math.tan(angle2)*cx)\n        else\n          love.graphics.polygon(\"fill\", cx, cy, cx+cy/math.tan(angle1), 0, 0, 0, 0, ey, cx-(ey-cy)/math.tan(angle2), ey)\n        end\n      elseif angle1 < dl then\n        if angle2 < ur or angle2 > dr then\n          love.graphics.polygon(\"fill\", cx, cy, 0, cy+math.tan(angle1)*cx, 0, ey, ex, ey, ex, cy+math.tan(angle2)*(cx-ex))\n        elseif angle2 < ul then\n          love.graphics.polygon(\"fill\", cx, cy, 0, cy+math.tan(angle1)*cx, 0, ey, ex, ey, ex, 0, cx+cy/math.tan(angle2), 0)\n        elseif angle2 < dl then\n          love.graphics.polygon(\"fill\", cx, cy, 0, cy+math.tan(angle1)*cx, 0, cy+math.tan(angle2)*cx)\n        else\n          love.graphics.polygon(\"fill\", cx, cy, 0, cy+math.tan(angle1)*cx, 0, ey, cx-(ey-cy)/math.tan(angle2), ey)\n        end\n      else\n        if angle2 < ur or angle2 > dr then\n          love.graphics.polygon(\"fill\", cx, cy, cx-(ey-cy)/math.tan(angle1), ey, ex, ey, ex, cy+math.tan(angle2)*(cx-ex))\n        elseif angle2 < ul then\n          love.graphics.polygon(\"fill\", cx, cy, cx-(ey-cy)/math.tan(angle1), ey, ex, ey, ex, 0, cx+cy/math.tan(angle2), 0)\n        elseif angle2 < dl then\n          love.graphics.polygon(\"fill\", cx, cy, cx-(ey-cy)/math.tan(angle1), ey, ex, ey, ex, 0, 0, 0, 0, cy+math.tan(angle2)*cx)\n        else\n          love.graphics.polygon(\"fill\", cx, cy, cx-(ey-cy)/math.tan(angle1), ey, cx-(ey-cy)/math.tan(angle2), ey)\n        end\n      end\n    else\n      love.graphics.clear(1, 1, 1, 1)\n    end\n    drawShadows(unit, opaques)\n    love.graphics.setCanvas(lightcanvas)\n    love.graphics.setBlendMode(\"add\", \"premultiplied\")\n    love.graphics.draw(temp_lightcanvas)\n    love.graphics.setBlendMode(\"alpha\")\n  end\n  love.graphics.setCanvas()\nend\n\nfunction drawShadows(source, opaques)\n  love.graphics.setColor(0, 0, 0, 1)\n  for _,opaque in ipairs(opaques) do\n    local sourceX = source.x*32+16\n    local sourceY = source.y*32+16\n    local closeX = (opaque.x*32) + (opaque.x<source.x and 32 or 0)\n    local farX = (opaque.x*32) + (opaque.x>=source.x and 32 or 0)\n    local edgeX = (opaque.x>=source.x and mapwidth*32 or 0)\n    local closeY = (opaque.y*32) + (opaque.y<source.y and 32 or 0)\n    local farY = (opaque.y*32) + (opaque.y>=source.y and 32 or 0)\n    local edgeY = (opaque.y>=source.y and mapheight*32 or 0)\n    if lights_ignored_opaque[source.id .. \":\" ..opaque.id] == nil then\n      lights_ignored_opaque[source.id .. \":\" ..opaque.id] = not ignoreCheck(source, opaque, \"tranparnt\")\n    end\n    if lights_ignored_opaque[source.id .. \":\" ..opaque.id] then\n      -- the flood of light is unstoppable\n    elseif opaque.x == source.x and opaque.y == source.y then\n      love.graphics.clear(0, 0, 0, 1)\n      love.graphics.setColor(1, 1, 1, 1)\n      love.graphics.rectangle(\"fill\", closeX, closeY, 32, 32)\n      return -- no light escapes this, no need to check other farther opaques from this light source\n    elseif opaque.x == source.x then\n      local diag2 = sourceX + (farX-sourceX)/(closeY-sourceY)*(edgeY-sourceY)\n      local diag1 = sourceX + (closeX-sourceX)/(closeY-sourceY)*(edgeY-sourceY)\n      -- love.graphics.polygon(\"fill\", farX, farY, closeX, farY, closeX, closeY, diag1, edgeY, diag2, edgeY, farX, closeY)\n      love.graphics.polygon(\"fill\", closeX, farY, closeX, closeY, diag1, edgeY, farX, edgeY, farX, farY)\n      love.graphics.polygon(\"fill\", farX, edgeY, diag2, edgeY, farX, closeY)\n    elseif opaque.y == source.y then\n      local diag2 = sourceY + (farY-sourceY)/(closeX-sourceX)*(edgeX-sourceX)\n      local diag1 = sourceY + (closeY-sourceY)/(closeX-sourceX)*(edgeX-sourceX)\n      -- love.graphics.polygon(\"fill\", farX, farY, closeX, farY, edgeX, diag1, edgeX, diag2, closeX, closeY, farX, closeY)\n      love.graphics.polygon(\"fill\", farX, closeY, closeX, closeY, edgeX, diag1, edgeX, farY, farX, farY)\n      love.graphics.polygon(\"fill\", edgeX, farY, edgeX, diag2, closeX, farY)\n    else\n      local diagX = sourceX + (closeX-sourceX)/(farY-sourceY)*(edgeY-sourceY) -- using triangle math here\n      local diagY = sourceY + (closeY-sourceY)/(farX-sourceX)*(edgeX-sourceX) -- (not trigonometry, the other one)\n      local cornerX = (edgeX > 0) and math.max(diagX, edgeX) or math.min(diagX, edgeX)\n      local cornerY = (edgeY > 0) and math.max(diagY, edgeY) or math.min(diagY, edgeY)\n      love.graphics.polygon(\"fill\", farX, farY, closeX, farY, diagX, edgeY, cornerX, cornerY, edgeX, diagY, farX, closeY)\n    end\n  end\n  love.graphics.setColor(1, 1, 1, 1)\nend\n\nthreshold_for_dir = {50, 0.01, 0.1, 1, 2, 5, 10, 25}\n\nfunction deterministicRandom(fullname, cond)\n  --have to adjust #undo_buffer by 1 during undoing since we're in the process of rewinding to the previous turn\n  local key = fullname..\",\"..tostring(cond.x)..\",\"..tostring(cond.y)..\",\"..tostring(cond.dir)..\",\"..tostring(undoing and #undo_buffer - 1 or #undo_buffer)\n  if rng_cache[key] == nil then\n    local arbitrary_unit_key = math.random()\n    local arbitrary_unit = units_by_name[fullname][math.floor(arbitrary_unit_key*#units_by_name[fullname])+1]\n    rng_cache[key] = arbitrary_unit.id\n  end\n  return rng_cache[key]\nend\n\nfunction deterministicRng(unit, cond)\n  --have to adjust #undo_buffer by 1 during undoing since we're in the process of rewinding to the previous turn\n  local key = unit.name..\",\"..tostring(unit.x)..\",\"..tostring(unit.y)..\",\"..tostring(unit.dir)..\",\"..tostring(cond.x)..\",\"..tostring(cond.y)..\",\"..tostring(cond.dir)..\",\"..tostring(undoing and #undo_buffer - 1 or #undo_buffer)\n  if rng_cache[key] == nil then\n     rng_cache[key] = math.random()\n  end\n  return rng_cache[key]\nend\n\nfunction inBounds(x,y,getting)\n  if getting then\n    return x >= 0 and x < mapwidth and y >= 0 and y < mapheight\n  end\n  if not selector_open then\n    if x >= 0 and x < mapwidth and y >= 0 and y < mapheight then\n      local borders = getUnitsOnTile(x,y)\n      if borders ~= nil then\n        for _,unit in ipairs(borders) do\n          if unit.name == \"bordr\" then\n            return false\n          end\n        end\n      end\n      return true\n    else\n      return false\n    end\n  else\n    return x >=0 and x < tile_grid_width and y >= 0 and y < tile_grid_height\n  end\nend\n\nfunction inScreen(x,y)\n  local xmin,xmax,ymin,ymax = getCorners()\n  \n  return x >= xmin and x <= xmax and y >= ymin and y <= ymax\nend\n\nfunction getCorners()\n  local width = love.graphics.getWidth()\n  local height = love.graphics.getHeight()\n  local xmin,ymin = screenToGameTile(1,1)\n  local xmax,ymax = screenToGameTile(width-1,height-1)\n  \n  return xmin,xmax,ymin,ymax\nend\n\nfunction removeFromTable(t, obj)\n  if not t then\n    return\n  end\n  for i,v in ipairs(t) do\n    if v == obj then\n      table.remove(t, i)\n      return\n    end\n  end\nend\n\nfunction rotate(dir)\n  return (dir-1 + 2) % 4 + 1\nend\n\nfunction rotate8(dir)\n  return (dir-1 + 4) % 8 + 1\nend\n\nfunction nameIs(unit,name)\n  return unit.name == name or unit.fullname == name or (group_sets[name] and group_sets[name][unit])\nend\n\nfunction tileHasUnitName(name,x,y)\n  for _,v in ipairs(unitsByTile(x, y)) do\n    if nameIs(v, name) then\n      return true\n    end\n  end\nend\n\nfunction getUnitsOnTile(x,y,o)\n  o = o or {}\n  local name = o.name\n  local not_destroyed = o.not_destroyed\n  local exclude = o.exclude\n  local checkmous = o.checkmous\n  local thicc = o.thicc or 0\n  \n  local result = {}\n  --[[for _,unit in ipairs(unitsByTile(x, y)) do\n    if unit ~= exclude then\n      if not not_destroyed or (not_destroyed and not unit.removed) then\n        if not name or (name and nameIs(unit, name)) then\n          table.insert(result, unit)\n        end\n      end\n    end\n  end]]\n  for i=0,thicc do\n    for j=0,thicc do\n      for _,unit in ipairs(unitsByTile(x+i,y+j)) do\n        if unit ~= exclude then\n          if not not_destroyed or (not_destroyed and not unit.removed) then\n            if not name or (name and nameIs(unit, name)) then\n              table.insert(result, unit)\n            end\n          end\n        end\n      end\n    end\n  end\n  --If we care about no1 and the tile is empty, find the no1 that's there.\n  if (name == \"mous\") or checkmous then\n    for _,cursor in ipairs(cursors) do\n      if cursor ~= exclude then\n        if not not_destroyed or (not_destroyed and not cursor.removed) then\n          if cursor.x == x and cursor.y == y then\n            table.insert(result, cursor)\n          end\n        end\n      end\n    end\n  end\n  if (#unitsByTile(x, y) == 0 and (name == \"no1\" or name == nil) and inBounds(x, y, true) and empties_by_tile[x + y * mapwidth] ~= exclude) then\n    table.insert(result, empties_by_tile[x + y * mapwidth])\n  end\n  return result\nend\n\nfunction getCursorsOnTile(x, y, not_destroyed, exclude)\n  local result = {}\n  for _,cursor in ipairs(cursors) do\n    if cursor ~= exclude then\n      if not not_destroyed or (not_destroyed and not cursor.removed) then\n        if cursor.x == x and cursor.y == y then\n          table.insert(result, cursor)\n        end\n      end\n    end\n  end\n  return result\nend\n\nfunction copyTable(t, l_)\n  if t == nil then return t end\n  local l = l_ or 0\n  local new_table = {}\n  for k,v in pairs(t) do\n    if type(v) == \"table\" and l > 0 then\n      new_table[k] = copyTable(v, l - 1)\n    else\n      new_table[k] = v\n    end\n  end\n  return new_table\nend\n\nfunction deepCopy(o)\n  if type(o) == \"table\" then\n    local new_table = {}\n    for k,v in pairs(o) do\n      new_table[k] = deepCopy(v)\n    end\n    return new_table\n  else\n    return o\n  end\nend\n\nfunction lerp(a,b,t) return (1-t)*a + t*b end\n\nfunction fullDump(o, r, fulldump)\n  if type(o) == 'table' and (not r or r > 0) then\n    local s = '{'\n    local first = true\n    if not fulldump and o[\"new\"] ~= nil then --abridged print for table\n      o = {fullname = o.textname, id = o.id, x = o.x, y = o.y, dir = o.dir}\n    end\n    for k,v in pairs(o) do\n      if not first then\n        s = s .. ', '\n      end\n      local nr = nil\n      if r then\n        nr = r - 1\n      end\n      if type(k) ~= 'number' then\n        s = s .. tostring(k) .. ' = ' .. fullDump(v, nr)\n      else\n        s = s .. fullDump(v, nr)\n      end\n      first = false\n    end\n    return s .. '}'\n  elseif type(o) == 'string' then\n    return '\"' .. o .. '\"'\n  else\n    return tostring(o)\n  end\nend\n\nfunction dump(o, fulldump)\n  if type(o) == 'table' then\n    local s = '{'\n    local cn = 1\n    if #o ~= 0 then\n      for _,v in ipairs(o) do\n        if cn > 1 then s = s .. ',' end\n        s = s .. dump(v, fulldump)\n        cn = cn + 1\n      end\n    else\n      if not fulldump and o[\"new\"] ~= nil then --abridged print for table\n        local tbl = {fullname = o.textname, id = o.id, x = o.x, y = o.y, dir = o.dir}\n        for k,v in pairs(tbl) do\n           if cn > 1 then s = s .. ',' end\n          s = s .. tostring(k) .. ' = ' .. dump(v, fulldump)\n          cn = cn + 1\n        end\n      else\n        for k,v in pairs(o) do\n          if cn > 1 then s = s .. ',' end\n          s = s .. tostring(k) .. ' = ' .. dump(v, fulldump)\n          cn = cn + 1\n        end\n      end\n    end\n    return s .. '}'\n  elseif type(o) == 'string' then\n    return '\"' .. o .. '\"'\n  else\n    return tostring(o)\n  end\nend\n\nfunction hslToRgb(h, s, l, a)\n  local r, g, b\n\n  if s == 0 then\n      r, g, b = l, l, l -- achromatic\n  else\n      function hue2rgb(p, q, t)\n          if t < 0   then t = t + 1 end\n          if t > 1   then t = t - 1 end\n          if t < 1/6 then return p + (q - p) * 6 * t end\n          if t < 1/2 then return q end\n          if t < 2/3 then return p + (q - p) * (2/3 - t) * 6 end\n          return p\n      end\n\n      local q\n      if l < 0.5 then q = l * (1 + s) else q = l + s - l * s end\n      local p = 2 * l - q\n\n      r = hue2rgb(p, q, h + 1/3)\n      g = hue2rgb(p, q, h)\n      b = hue2rgb(p, q, h - 1/3)\n  end\n\n  return {r, g, b} --a removed cus unused\nend\n\nfunction addParticles(ptype,x,y,color,count)\n  if doing_past_turns and not do_past_effects then return end\n  \n  if not settings[\"particles_on\"] then return end\n\n  if unit_tests then return end\n\n  local particle_colors = {}\n  if type(color[1]) ~= \"table\" then\n    if #color == 2 then\n      particle_colors = {getPaletteColor(color[1], color[2])}\n    else\n      particle_colors = {color[1]/255, color[2]/255, color[3]/255, (color[4] or 255)/255}\n    end\n  else\n    for _,single_color in ipairs(color) do\n      if #single_color == 2 then\n        table.insert_range(particle_colors, {getPaletteColor(single_color[1], single_color[2])})\n      else\n        table.insert_range(particle_colors, {single_color[1]/255, single_color[2]/255, single_color[3]/255, (single_color[4] or 255)/255})\n      end\n    end\n  end\n  \n  if ptype == \"infup\" then\n    local speed = (TILE_SIZE*mapheight)/672\n    local ps = love.graphics.newParticleSystem(sprites[\"infparticle\"])\n    local px = (mapwidth*TILE_SIZE)/2\n    local py = (mapheight*TILE_SIZE)\n    ps:setPosition(px, py)\n    ps:setSpread(math.pi/4)\n    ps:setEmissionArea(\"uniform\", (mapwidth*TILE_SIZE)/2, 2, 0)\n    ps:setSizes(2, 1.8, 1.5, 1, 0)\n    ps:setSpeed(450*speed, 600*speed)\n    ps:setSpin(0, 3.5)\n    ps:setLinearDamping(1)\n    ps:setParticleLifetime(1)\n    ps:setDirection(1.5*math.pi)\n    ps:setColors(unpack(particle_colors))\n    ps:start()\n    ps:emit(count or 20)\n    table.insert(particles, ps)\n  elseif ptype == \"inf\" then\n    local ps = love.graphics.newParticleSystem(sprites[\"infparticle\"])\n    local px = (x + 0.5) * TILE_SIZE\n    local py = (y + 0.5) * TILE_SIZE\n    ps:setPosition(px, py)\n    ps:setSpread(3)\n    ps:setEmissionArea(\"uniform\", TILE_SIZE/3, TILE_SIZE/3, 0, true)\n    ps:setSizes(1, 1, 1, 1, 0.75, 0)\n    ps:setSpeed(300)\n    ps:setLinearDamping(5)\n    ps:setParticleLifetime(1, 1.2)\n    ps:setColors(unpack(particle_colors))\n    ps:start()\n    ps:emit(count or 20)\n    table.insert(particles, ps)\n  elseif ptype == \"destroy\" then\n    local ps = love.graphics.newParticleSystem(sprites[\"circle\"])\n    local px = (x + 0.5) * TILE_SIZE\n    local py = (y + 0.5) * TILE_SIZE\n    ps:setPosition(px, py)\n    ps:setSpread(0)\n    ps:setEmissionArea(\"uniform\", TILE_SIZE/3, TILE_SIZE/3, 0, true)\n    ps:setSizes(0.15, 0.15, 0.15, 0)\n    ps:setSpeed(50)\n    ps:setLinearDamping(5)\n    ps:setParticleLifetime(0.25)\n    ps:setColors(unpack(particle_colors))\n    ps:start()\n    ps:emit(count or 20)\n    table.insert(particles, ps)\n  elseif ptype == \"rule\" then\n    local ps = love.graphics.newParticleSystem(sprites[\"circle\"])\n    local px = (x + 0.5) * TILE_SIZE\n    local py = (y + 0.5) * TILE_SIZE\n    ps:setPosition(px, py)\n    ps:setSpread(0)\n    ps:setEmissionArea(\"borderrectangle\", TILE_SIZE/3, TILE_SIZE/3, 0, true)\n    ps:setSizes(0.1, 0.1, 0.1, 0)\n    ps:setSpeed(50)\n    ps:setLinearDamping(4)\n    ps:setParticleLifetime(0.25)\n    ps:setColors(unpack(particle_colors))\n    ps:start()\n    ps:emit(count or 10)\n    table.insert(particles, ps)\n  elseif ptype == \"bonus\" then\n    --print(\"sparkle !!\")\n    local ps = love.graphics.newParticleSystem(sprites[\"sparkle\"])\n    local px = (x + 0.5) * TILE_SIZE\n    local py = (y + 0.5) * TILE_SIZE\n    ps:setPosition(px, py)\n    ps:setSpread(0.8)\n    ps:setEmissionArea(\"uniform\", TILE_SIZE / 2, TILE_SIZE / 2, 0, true)\n    ps:setSizes(0.40, 0.40, 0.40, 0)\n    ps:setSpeed(30)\n    ps:setLinearDamping(2)\n    ps:setParticleLifetime(0.6)\n    ps:setColors(unpack(particle_colors))\n    ps:start()\n    ps:emit(count or 10)\n    table.insert(particles, ps)\n  elseif ptype == \"unwin\" then\n    local ps = love.graphics.newParticleSystem(sprites[\"sparkle\"])\n    local px = (x + 0.5) * TILE_SIZE\n    local py = (y + 0.5) * TILE_SIZE\n    ps:setPosition(px, py)\n    ps:setSpread(0.4)\n    ps:setEmissionArea(\"uniform\", TILE_SIZE*3/4, TILE_SIZE*3/4, 0, true)\n    ps:setSizes(0.40, 0.40, 0.40, 0)\n    ps:setSpeed(-40)\n    ps:setLinearDamping(2)\n    ps:setParticleLifetime(0.6)\n    ps:setColors(unpack(particle_colors))\n    ps:start()\n    ps:emit(count or 10)\n    table.insert(particles, ps)\n  elseif ptype == \"nxt\" then\n    local ps = love.graphics.newParticleSystem(sprites[\"sparkle\"])\n    local px = (x + 0.25) * TILE_SIZE\n    local py = (y + 0.5) * TILE_SIZE\n    ps:setPosition(px, py)\n    ps:setSpread(0.5)\n    ps:setEmissionArea(\"uniform\", TILE_SIZE / 2, TILE_SIZE / 2, 0, false)\n    ps:setSizes(0.40, 0.40, 0.40, 0)\n    ps:setSpeed(30)\n    ps:setLinearDamping(2)\n    ps:setParticleLifetime(0.6)\n    ps:setColors(unpack(particle_colors))\n    ps:start()\n    ps:emit(count or 10)\n    table.insert(particles, ps)\n  elseif ptype == \"love\" then\n    local ps = love.graphics.newParticleSystem(sprites[\"luv\"])\n    local px = (x + 0.5) * TILE_SIZE\n    local py = (y + 0.5) * TILE_SIZE\n    ps:setPosition(px, py)\n    ps:setSpread(0)\n    ps:setEmissionArea(\"borderrectangle\", TILE_SIZE/3, TILE_SIZE/3, 0, true)\n    ps:setSizes(0.5, 0.5, 0.5, 0)\n    ps:setSpeed(20)\n    ps:setParticleLifetime(1)\n    ps:setColors(unpack(particle_colors))\n    ps:start()\n    ps:emit(count or 10)\n    table.insert(particles, ps)\n  elseif ptype == \"thonk\" then\n    local ps = love.graphics.newParticleSystem(sprites[\"wut\"])\n    local px = (x + 0.5) * TILE_SIZE\n    local py = (y + 0.5) * TILE_SIZE\n    ps:setPosition(px, py)\n    ps:setSpread(0)\n    ps:setEmissionArea(\"borderrectangle\", TILE_SIZE/3, TILE_SIZE/3, 0, true)\n    ps:setSizes(0.7, 0.7, 0.7, 0)\n    ps:setSpeed(math.random(10,20))\n    ps:setParticleLifetime(math.random(1,2))\n    ps:setColors(unpack(particle_colors))\n    ps:start()\n    ps:emit(count or 10)\n    table.insert(particles, ps)\n  elseif ptype == \"slep\" then\n    local ps = love.graphics.newParticleSystem(sprites[\"letter_z\"])\n    local px = (x + 1) * TILE_SIZE\n    local py = y * TILE_SIZE\n    ps:setPosition(px, py)\n    ps:setSpread(0)\n    ps:setEmissionArea(\"borderrectangle\", 0, 0, 0, true)    \n    ps:setSizes(0.5, 0.5, 0.5, 0)\n    ps:setSpeed(10)\n    ps:setLinearAcceleration(0,-50)\n    ps:setParticleLifetime(2)\n    ps:setColors(unpack(particle_colors))\n    ps:start()\n    ps:emit(count or 10)\n    table.insert(particles, ps)\n  elseif ptype == \"sing\" then\n    local ps = love.graphics.newParticleSystem(sprites[\"noet\"])\n    local px = (x + 1) * TILE_SIZE\n    local py = y * TILE_SIZE\n    ps:setPosition(px, py)\n    ps:setSpread(0)\n    ps:setEmissionArea(\"borderrectangle\", 0, 0, 0, true)    \n    ps:setSizes(0.5, 0.5, 0.5, 0)\n    ps:setSpeed(10)\n    ps:setLinearAcceleration(0,-50)\n    ps:setParticleLifetime(2)\n    ps:setColors(unpack(particle_colors))\n    ps:start()\n    ps:emit(count or 10)\n    table.insert(particles, ps)\n  elseif ptype == \"movement-puff\" then\n    local ps = love.graphics.newParticleSystem(sprites[\"circle\"])\n    local px = (x + 0.5) * TILE_SIZE\n    local py = (y + 0.5) * TILE_SIZE\n    local size = 0.2\n    ps:setPosition(px, py)\n    ps:setSpread(0.3)\n    ps:setEmissionArea(\"borderrectangle\", TILE_SIZE/4, TILE_SIZE/4, 0, true)\n    ps:setSizes(size, size, size, 0)\n    ps:setSpeed(math.random(30, 40))\n    ps:setLinearDamping(5)\n    ps:setParticleLifetime(math.random(0.50, 1.10))\n    ps:setColors(unpack(particle_colors))\n    ps:start()\n    ps:emit(count or 1)\n    table.insert(particles, ps)\n  elseif ptype == \"sing\" then\n    local ps = love.graphics.newParticleSystem(sprites[\"noet\"])\n    local px = (x + 0.5) * TILE_SIZE\n    local py = (y + 0.5) * TILE_SIZE\n    local size = 0.2\n    -- insert particles here\n  end\nend\n\nfunction screenToGameTile(x, y, partial)\n  if scene.getTransform then\n    local transform = scene.getTransform()\n    local mx,my = transform:inverseTransformPoint(x,y)\n    local tilex = mx / TILE_SIZE\n    local tiley = my / TILE_SIZE\n    if not partial then\n      tilex = math.floor(tilex)\n      tiley = math.floor(tiley)\n    end\n    return tilex, tiley\n  end\n  return nil,nil\nend\n\nfunction gameTileToScreen(x,y)\n  if scene.getTransform then\n  \tlocal screenx = (x * TILE_SIZE)\n    local screeny = (y * TILE_SIZE)\n    local transform = scene.getTransform()\n    local mx,my = transform:transformPoint(screenx,screeny)\n    return mx, my\n  end\n  return nil,nil\nend\n\nfunction getHoveredTile()\n  if not cursor_converted then\n    return screenToGameTile(love.mouse.getX(), love.mouse.getY())\n  end\nend\n\nfunction eq(a,b)\n  if type(a) == \"table\" or type(b) == \"table\" then\n    if type(a) ~= \"table\" or type(b) ~= \"table\" then\n      return false\n    end\n    local result = true\n    if #a == #b then\n      for i,v in pairs(a) do\n        if v ~= b[i] then\n          result = false\n          break\n        end\n      end\n    else\n      result = false\n    end\n    return result\n  else\n    return a == b\n  end\nend\n\nfunction pointInside(px_,py_,x,y,w,h,t)\n  local px, py = px_, py_\n  if t then\n    px, py = t:inverseTransformPoint(px, py)\n  end\n  return px > x and px < x+w and py > y and py < y+h\nend\n\nfunction mouseOverBox(x,y,w,h,t)\n  for i,pos in ipairs(getMousePositions()) do\n    if pointInside(pos.x, pos.y, x, y, w, h, t) then\n      return true\n    end\n  end\n  return false\nend\n\nfunction HSL(h, s, l, a)\n\tif s<=0 then return l,l,l,a end\n\th, s, l = h*6, s, l\n\tlocal c = (1-math.abs(2*l-1))*s\n\tlocal x = (1-math.abs(h%2-1))*c\n\tlocal m,r,g,b = (l-.5*c), 0,0,0\n\tif h < 1     then r,g,b = c,x,0\n\telseif h < 2 then r,g,b = x,c,0\n\telseif h < 3 then r,g,b = 0,c,x\n\telseif h < 4 then r,g,b = 0,x,c\n\telseif h < 5 then r,g,b = x,0,c\n\telse              r,g,b = c,0,x\n\tend return (r+m),(g+m),(b+m),a\nend\n\nfunction string.starts(str, start)\n  return str:sub(1, #start) == start\nend\n\nfunction string.ends(str, ending)\n  return ending == \"\" or str:sub(-#ending) == ending\nend\n\nfunction table.has_value(tab, val)\n  for index, value in ipairs(tab) do\n      if value == val then\n          return true\n      end\n  end\n\n  return false\nend\n\nfunction mergeTable(t, other)\n  if other ~= nil then\n    for k,v in pairs(other) do\n      if type(k) == \"number\" then\n        if not table.has_value(t, v) then\n          table.insert(t, v)\n        end\n      else\n        if t[k] ~= nil then\n          if type(t[k]) == \"table\" and type(v) == \"table\" then\n            mergeTable(t[k], v)\n          end\n        else\n          t[k] = v\n        end\n      end\n    end\n  end\n  return t\nend\n\nfunction mergeTable(t, other)\n  if other ~= nil then\n    for k,v in pairs(other) do\n      if type(k) == \"number\" then\n        if not table.has_value(t, v) then\n          table.insert(t, v)\n        end\n      else\n        if t[k] ~= nil then\n          if type(t[k]) == \"table\" and type(v) == \"table\" then\n            mergeTable(t[k], v)\n          end\n        else\n          t[k] = v\n        end\n      end\n    end\n  end\n  return t\nend\n\nfunction table.insert_range(t, other)\n  for _,v in ipairs(other) do\n    table.insert(t, v)\n  end\n  return t\nend\n\nfunction fullScreen()\n  if not fullscreen then\n    if not love.window.isMaximized( ) then\n      winwidth, winheight = love.graphics.getDimensions( )\n    end\n    love.window.setMode(0, 0, {borderless=false})\n    love.window.maximize( )\n    fullscreen = true\n  elseif fullscreen then\n    love.window.setMode(winwidth, winheight, {borderless=false, resizable=true, minwidth=705, minheight=510})\n    love.window.maximize()\n    love.window.restore()\n    fullscreen = false\n  end\n  settings[\"fullscreen\"] = fullscreen\n  saveAll()\n  if scene ~= editor then\n    scene.buildUI()\n  end\nend\n\nfunction defaultSetting()\n  for i in pairs(defaultsettings) do\n    settings[i] = defaultsettings[i]\n  end\nend\n\nfunction saveAll()\n  love.filesystem.write(\"Settings.bab\", json.encode(settings))\nend\n\nfunction debugDisplay(key, val)\n  debug_values[key] = val\nend\n\nfunction keyCount(t)\n  local count = 0\n  for k,v in pairs(t) do\n    count = count + 1\n  end\n  return count\nend\n\nfunction clamp(x, min_, max_)\n  if x < min_ then\n    return min_\n  elseif x > max_ then\n    return max_\n  end\n  return x\nend\n\nfunction getNearestPointInPerimeter(l,t,w,h,x,y)\n  local r, b = l+w, t+h\n\n  x, y = clamp(x, l, r), clamp(y, t, b)\n\n  local dl, dr, dt, db = math.abs(x-l), math.abs(x-r), math.abs(y-t), math.abs(y-b)\n  local m = math.min(dl, dr, dt, db)\n\n  if m == dt then return x, t end\n  if m == db then return x, b end\n  if m == dl then return l, y end\n  return r, y\nend\n\nfunction sign(x)\n  if (x > 0) then\n    return 1\n  elseif (x < 0) then\n    return -1\n  end\n  return 0\nend\n\nfunction countFlye(unit)\n  return countProperty(unit, \"flye\", true) - countProperty(unit, \"anti flye\", true)\nend\nfunction sameFloat(a, b, ignorefloat, anti)\n  if ignorefloat then\n    return true\n  elseif anti then\n    local tallCheck = function(a,b)\n      return (hasProperty(a, \"tall\", true) and countFlye(b) <= 0) or (hasProperty(a, \"anti tall\", true) and countFlye(b) >= 0)\n    end\n    return (-countFlye(a) == countFlye(b)) or tallCheck(a,b) or tallCheck(b,a)\n  else\n    local tallCheck = function(a,b)\n      return (hasProperty(a, \"tall\", true) and countFlye(b) >= 0) or (hasProperty(a, \"anti tall\", true) and countFlye(b) <= 0)\n    end\n    return (countFlye(a) == countFlye(b)) or tallCheck(a,b) or tallCheck(b,a)\n  end\nend\n\nfunction ignoreCheck(unit, target, property)\n  if not rules_with[\"wont\"] and not rules_with[\"ignor\"] then\n    return true\n  elseif unit == target then\n    if hasRule(unit,\"ignor\",\"themself\") then\n      return false\n    else\n      return true\n    end\n  elseif target and (hasRule(unit,\"ignor\",target) or hasRule(unit,\"ignor\",outerlvl)) and (not property or (not hasRule(unit,\"wontn't\",property))) then\n    return false\n  elseif property and (hasRule(unit,\"wont\",property)) and (not target or (not hasRule(unit,\"ignorn't\",target))) then\n    return false\n  end\n  return true\nend\n\nfunction getPaletteColor(x, y, name_)\n  local palette = palettes[name_ or current_palette] or palettes[\"default\"]\n  local pixelid = x + y * palette.sprite:getWidth()\n  if palette[pixelid] then\n    return palette[pixelid][1], palette[pixelid][2], palette[pixelid][3], palette[pixelid][4]\n  else\n    return 1, 1, 1, 1\n  end\nend\n\nfunction getUIScale()\n  local width = love.graphics.getWidth()\n  if width < DEFAULT_WIDTH then\n    return 1/math.ceil(DEFAULT_WIDTH / width)\n  elseif width > DEFAULT_WIDTH then\n    return math.floor(width / DEFAULT_WIDTH)\n  else\n    return 1\n  end\nend\n\nfunction clearGooi()\n  gooi.closeDialog()\n  for k, v in pairs(gooi.components) do\n    gooi.removeComponent(gooi.components[k])\n  end\nend\n\nfunction getCombinations(t, param_)\n-- t = {{tile1 words}, {tile2 words}, (until out of text)}\n-- places the list of words into a full table of phrases (amount of words) long, {{11,21,31,41},{11,21,31,42},{11,21,32,41},...}\n  local param = param_ or {}\n  local ret = param.ret or {}\n  local i = param.i or 1\n  if t[i] then\n    for _,v in ipairs(t[i]) do\n      local current = copyTable(param.current or {})\n      table.insert(current, v)\n      if t[i+1] then\n        getCombinations(t, {i = i+1, current = current, ret = ret})\n      else\n        table.insert(ret, current)\n      end\n    end\n  end\n  if i == 1 then\n    return ret\n  end\nend\n\nfunction round(num, numDecimalPlaces)\n  local mult = 10^(numDecimalPlaces or 0)\n  return math.floor(num * mult + 0.5) / mult\nend\n\nfunction filter(xs, p)\n  local newxs = {}\n  for _,x in ipairs(xs) do\n    if p(x) then table.insert(newxs, x) end\n  end\n  return newxs\nend\n\nfunction getAbsolutelyEverythingExcept(except)\n  local result = {}\n\n  --four special objects\n  if \"mous\" ~= except then\n    table.insert(result, \"mous\")\n  end\n  if \"lvl\" ~= except then\n    table.insert(result, \"lvl\")\n  end\n  if \"no1\" ~= except then\n    table.insert(result, \"no1\")\n  end\n  --don't specify generic text if it's already a type of text\n  if not except:starts(\"txt\") then\n    table.insert(result, \"txt\")\n  end\n  \n  for i,ref in ipairs(referenced_objects) do\n    if ref ~= except and (ref ~= \"this\" or not except:starts(\"this\")) then\n      table.insert(result, ref)\n    end\n  end\n  \n  if (except ~= \"txt\") then\n    for i,ref in ipairs(referenced_text) do\n      --TODO: BEN'T text being returned here causes a stack overflow. Prevent it until a better solution is found.\n      if ref ~= except and not ref:ends(\"n't\") then\n        table.insert(result, ref)\n      end\n    end\n  end\n\n  --print(dump(result))\n  return result\nend\n\nfunction getEverythingExcept(except)\n  local result = {}\n\n  local ref_list = referenced_objects\n  if except:starts(\"txt_\") then\n    ref_list = referenced_text\n  end\n\n  for i,ref in ipairs(ref_list) do\n    --TODO: BEN'T text being returned here causes a stack overflow. Prevent it until a better solution is found.\n    if ref ~= except and not ref:ends(\"n't\") then\n      table.insert(result, ref)\n    end\n  end\n  \n  --print(except)\n  --print(dump(result))\n  return result\nend\n\nfunction renameDir(from, to, cur_)\n  if from == to then\n    return\n  end\n  local cur = cur_ or \"\"\n  love.filesystem.createDirectory(to .. cur)\n  for _,file in ipairs(love.filesystem.getDirectoryItems(from .. cur)) do\n    if love.filesystem.getInfo(from .. cur .. \"/\" .. file, \"directory\") then\n      renameDir(from, to, cur .. \"/\" .. file)\n    else\n      love.filesystem.write(to .. cur .. \"/\" .. file, love.filesystem.read(from .. cur .. \"/\" .. file))\n      love.filesystem.remove(from .. cur .. \"/\" .. file)\n    end\n  end\n  love.filesystem.remove(from .. cur)\nend\n\nfunction deleteDir(dir)\n  for _,file in ipairs(love.filesystem.getDirectoryItems(dir)) do\n    if love.filesystem.getInfo(dir .. \"/\" .. file, \"directory\") then\n      deleteDir(dir .. \"/\" .. file)\n    else\n      love.filesystem.remove(dir .. \"/\" .. file)\n    end\n  end\n  love.filesystem.remove(dir)\nend\n\nfunction setRainbowModeColor(value, brightness)\n  brightness = brightness or 0.5\n\n  if rainbowmode and not spookmode then\n    love.graphics.setColor(hslToRgb(value%1, brightness, brightness, .9))\n  end\nend\n\nfunction shakeScreen(dur, intensity)\n  if doing_past_turns and not do_past_effects or not settings[\"shake_on\"] then return end\n  shake_dur = dur+shake_dur/4\n  shake_intensity = shake_intensity + intensity/2\nend\n\nfunction startTest(name)\n  perf_test = {\n    name = name,\n    time = love.timer.getTime()\n  }\nend\n\nfunction endTest()\n  local time = love.timer.getTime() - perf_test.time\n  print(perf_test.name .. \": \" .. time .. \"s\")\nend\n\nfunction loadLevels(levels, mode, level_objs, xwx)\n  if #levels == 0 then\n    return\n  end\n  \n  --setup stay ther\n  stay_ther = nil\n  if (rules_with ~= nil) and not xwx then\n    stay_ther = {}\n    local isstayther = getUnitsWithEffect(\"stayther\")\n    for _,unit in ipairs(isstayther) do\n      table.insert(stay_ther, unit)\n    end\n  end\n  \n  --setup surrounds\n  surrounds = nil\n  if (level_objs ~= nil) then\n    surrounds = {}\n    for i = -1,1 do\n      surrounds[i] = {}\n      for j = -1,1 do\n        surrounds[i][j] = {}\n        for _,lvl in ipairs(level_objs) do\n          for __,stuff in ipairs(getUnitsOnTile(lvl.x+i,lvl.y+j,{exclude = lvl})) do\n            table.insert(surrounds[i][j], stuff)\n          end\n        end\n      end\n    end\n  end\n\n  local dir = \"levels/\"\n  if world ~= \"\" then dir = getWorldDir() .. \"/\" end\n\n  maps = {}\n\n  mapwidth = 0\n  mapheight = 0\n  --if we're entering a level object, then the level we were in is the parent\n  parent_filename = level_objs ~= nil and level_filename or nil\n  level_name = nil\n  level_filename = nil\n\n  for _,level in ipairs(levels) do\n    local split_name = split(level, \"/\")\n\n    local data\n    if split_name[#split_name] ~= \"{DEFAULT}\" then\n      data = json.decode(love.filesystem.read(dir .. level .. \".bab\"))\n    else\n      data = json.decode(default_map)\n    end\n    level_compression = data.compression or \"zlib\"\n    local loaddata = love.data.decode(\"string\", \"base64\", data.map)\n    local mapstr = loadMaybeCompressedData(loaddata)\n\n    loaded_level = not new\n\n    if not level_name then\n      level_name = data.name\n    else\n      level_name = level_name .. \" & \" .. data.name\n    end\n    \n    if not level_filename then\n      level_filename = level\n    else\n      level_filename = level_filename .. \"|\" .. level\n    end\n    \n    level_name = level_name:sub(1, 100)\n    level_author = data.author or \"\"\n    level_extra = data.extra or false\n    current_palette = data.palette or \"default\"\n    map_music = data.music or \"bab be u them\"\n    mapwidth = math.max(mapwidth, data.width)\n    mapheight = math.max(mapheight, data.height)\n    map_ver = data.version or 0\n    level_parent_level = data.parent_level or \"\"\n    level_next_level = data.next_level or \"\"\n    level_is_overworld = data.is_overworld or false\n    level_puffs_to_clear = data.puffs_to_clear or 0\n    level_background_sprite = data.background_sprite or \"\"\n\n    if map_ver == 0 then\n      table.insert(maps, {data = loadstring(\"return \" .. mapstr)(), info = data, file = level})\n    else\n      table.insert(maps, {data = mapstr, info = data, file = level})\n    end\n\n    icon_data = getIcon(dir .. level)\n\n    table.remove(split_name)\n    sub_worlds = split_name\n  end\n\n  if mode == \"edit\" then\n    new_scene = editor\n    if #maps == 1 and levels[1] ~= default_map then\n      last_saved = maps[1].data\n    else\n      last_saved = nil\n    end\n  else\n    surrounds_name = level_name\n    new_scene = game\n  end\nend\n\nfunction getMousePositions()\n  if scene ~= game then\n    return {{x = love.mouse.getX(), y = love.mouse.getY()}}\n  else\n    local t = {}\n    for i,cursor in ipairs(cursors) do\n      table.insert(t, {x = cursor.screenx, y = cursor.screeny})\n    end\n    return t\n  end\nend\n\nfunction unsetNewUnits()\n  for unit,_ in pairs(new_units_cache) do\n    unit.new = false\n  end\n  for _,unit in ipairs(cursors) do\n    unit.new = false\n  end\n  new_units_cache = {}\nend\n\nfunction timecheck(unit,verb,prop)\n  local zw_pass = false\n  if timeless then\n    if hasProperty(unit,\"zawarudo\") then\n      zw_pass = true\n    elseif hasProperty(outerlvl,\"zawarudo\") and not hasRule(unit,\"ben't\",\"zawarudo\") then\n      zw_pass = true\n    elseif verb and prop then\n      local rulecheck = matchesRule(unit,verb,prop)\n      for _,ruleparent in ipairs(rulecheck) do\n        for i=1,#ruleparent.rule.subject.conds do\n          if ruleparent.rule.subject.conds[i][1] == \"timles\" then\n            zw_pass = true\n          end\n        end\n      end\n    end\n  else\n    zw_pass = not hasProperty(unit,\"anti zawarudo\")\n  end\n  local rhythm_pass = false\n  if rules_with[\"rythm\"] then\n    if hasProperty(unit,\"rythm\") then\n      rhythm_pass = true\n    elseif hasProperty(outerlvl,\"rythm\") and not hasRule(unit,\"ben't\",\"rythm\") then\n      rhythm_pass = true\n    end\n    rhythm_pass = rhythm_pass == doing_rhythm_turn -- xnor\n  else\n    rhythm_pass = true\n  end\n  return zw_pass and rhythm_pass\nend\nfunction timecheckAntiP(unit,verb,prop)\n  return timecheck(unit,verb,prop) or timecheck(unit,verb,\"anti \"..prop)\nend\nfunction timecheckAntiV(unit,verb,prop)\n  return timecheck(unit,verb,prop) or timecheck(unit,\"anti \"..verb,prop)\nend\n\nfunction timecheckUs(unit)\n  if timecheck(unit) then return true end\n  local to_check = {\"u\",\"utoo\",\"utres\",\"y'all\",\"you\",\"w\"}\n  for _,prop in ipairs(to_check) do\n    local rulecheck = matchesRule(unit,\"be\",prop)\n    for _,ruleparent in ipairs(rulecheck) do\n      for i=1,#ruleparent.rule.subject.conds do\n        if ruleparent.rule.subject.conds[i][1] == \"timles\" then\n          return true\n        end\n      end\n    end\n    rulecheck = matchesRule(unit,\"be\",\"anti \"..prop)\n    for _,ruleparent in ipairs(rulecheck) do\n      for i=1,#ruleparent.rule.subject.conds do\n        if ruleparent.rule.subject.conds[i][1] == \"timles\" then\n          return true\n        end\n      end\n    end\n  end\n  return false\nend\n\nfunction fillTextDetails(sentence, old_sentence, orig_index, word_index)\n  --print(#old_sentence, orig_index, word_index)\n  --changes a sentence of pure text into a valid sentence.\n  --print(\"what we started with:\",dump(sentence))\n  local ret = {}\n  local w = 0\n  for _,word in ipairs(sentence) do\n    --print(\"sentence: \"..fullDump(sentence))\n    --print(text_list[word], old_sentence)\n    local newname = text_list[word].name\n    if newname:starts(\"txt_\") then\n      newname = newname:sub(5)\n    end\n    table.insert(ret,{type = text_list[word].typeset or {object = true}, name = newname, unit=old_sentence[orig_index].unit})\n    w = w+1\n  end\n  for i=orig_index+1,(word_index-1) do --extra ellipses for the purposes of making sure the parser gets it properly.\n    --print(\"aa:\",old_sentence[i])\n    table.insert(ret,{type = text_list[\"...\"].typeset or {object = true}, name = \"...\", unit=old_sentence[i].unit})\n  end\n  return ret\nend\n\nfunction addTables(source, to_add)\n  --adds to_add to the end of source. Seperate from table.insert because this adds multiple entries. Also returns itself.\n  for _,x in ipairs(to_add) do\n    table.insert(source, x)\n  end\n  return source\nend\n\n--[[function dumpOfProperty(table, searchterm)\n  -- a dump that's easier to search through.\n  local ret = \"\"\n  for _,first in pairs(table) do\n    for _,second in pairs(first) do\n      for key,param in pairs(second) do\n        if key == searchterm then\n          ret = ret..\", \"..fullDump(param)\n        end\n      end\n    end\n  end\n  return \"{\"..string.sub(ret,3)..\"}\"\nend]]\n\nfunction pcallNewShader(code)\n  local libstatus, liberr = pcall(function() love.graphics.newShader(code) end)\n\n  if libstatus then\n    return love.graphics.newShader(code)\n  else\n    print(colr.yellow(\"⚠ failed to create new shader: \"..liberr))\n    return nil\n  end\nend\n\nfunction pcallSetShader(shader)\n  if shader ~= nil then\n    love.graphics.setShader(shader)\n  end\nend\n\nfunction loadMaybeCompressedData(loaddata)\n  local mapstr = nil\n  if pcall(function() mapstr = love.data.decompress(\"string\", \"zlib\", loaddata) end) then\n    return mapstr\n  else\n    return loaddata\n  end\nend\n\nfunction extendReplayString(movex, movey, key)\n  if (not unit_tests) then\n    replay_string = replay_string..tostring(movex)..\",\"..tostring(movey)..\",\"..tostring(key)\n    if key == \"drag\" then\n      for _,unit in ipairs(drag_units) do\n        replay_string = replay_string..\":\"..unit.id..\"@\"..unit.x..\"@\"..unit.y\n      end\n    end\n    if (units_by_name[\"txt_mous\"] ~= nil or rules_with[\"mous\"] ~= nil) then\n      local cursor_table = {}\n      for _,cursor in ipairs(cursors) do\n        table.insert(cursor_table, {cursor.x, cursor.y})\n      end\n      replay_string = replay_string..\",\"..love.data.encode(\"string\", \"base64\", serpent.line(cursor_table))\n    end\n    replay_string = replay_string..\";\"\n  end\nend\n\nlocal last_save_file_name = nil\nlocal last_save_file = nil\n\nfunction writeSaveFile(value, arg)\n  --e.g. writeSaveFile(true, {\"levels\", \"new level\", \"won\"})\n  if (unit_tests) then return false end\n  save = {}\n  local filename = world\n  if (world == \"\" or world == nil) then\n    filename = \"levels\"\n  end\n  filename = \"profiles/\"..profile.name..\"/\"..filename..\".savebab\"\n  \n  --cache save file until filename changes\n  if (last_save_file_name ~= filename) then\n    --print(\"changing in write:\", filename, last_save_file_name)\n    last_save_file_name = filename\n      if love.filesystem.read(filename) ~= nil then\n      save = json.decode(love.filesystem.read(filename))\n    end\n    last_save_file = save\n  else\n    save = last_save_file\n  end\n  \n  if #arg > 0 then\n    local current = save\n    for i,category in ipairs(arg) do\n      if i == #arg then break end\n      if current[category] == nil then\n        current[category] = {}\n      end\n      current = current[category]\n    end\n    current[arg[#arg]] = value\n    love.filesystem.write(filename, json.encode(save))\n  end\n  return true\nend\n\nfunction readSaveFile(arg)\n  --e.g. readSaveFile({\"levels\", \"new level\", \"won\"})\n  if (unit_tests) then return nil end\n  save = {}\n  local filename = world\n  if (world == \"\" or world == nil) then\n    filename = \"levels\"\n  end\n  filename = \"profiles/\"..profile.name..\"/\"..filename..\".savebab\"\n  \n  --cache save file until filename changes\n  if (last_save_file_name ~= filename) then\n    --print(\"changing in read:\", filename, last_save_file_name)\n    last_save_file_name = filename\n      if love.filesystem.read(filename) ~= nil then\n      save = json.decode(love.filesystem.read(filename))\n    end\n    last_save_file = save\n  else\n    save = last_save_file\n  end\n  \n  local current = save\n  for i,key in ipairs(arg) do\n    if current[key] == nil then return nil end\n    current = current[key]\n  end\n  return current\nend\n\nfunction loadWorld(default)\n  local new_levels = {}\n  level_tree = readSaveFile{\"level_tree\"} or split(default, \",\")\n  for _,level in ipairs(level_tree) do\n    if not love.filesystem.getInfo(getWorldDir() .. \"/\" .. level .. \".bab\") then\n      level_tree = split(default, \",\")\n      writeSaveFile(level_tree, {\"level_tree\"})\n      break\n    end\n  end\n  new_levels = level_tree[1]\n  table.remove(level_tree, 1)\n  if type(new_levels) ~= \"table\" then\n    new_levels = {new_levels}\n  end\n  in_world = true\n  loadLevels(new_levels, \"play\")\nend\n\nfunction saveWorld()\n  local new_tree = deepCopy(level_tree)\n  table.insert(new_tree, 1, getMapEntry())\n  writeSaveFile(new_tree, {\"level_tree\"})\nend\n\nfunction getMapEntry()\n  if #maps == 1 then\n    return maps[1].file or maps[1].info.name\n  else\n    local t = {}\n    for _,map in ipairs(maps) do\n      table.insert(t, map.file or map.info.name)\n    end\n    return t\n  end\nend\n\nfunction addBaseRule(subject, verb, object, subjcond)\n  local subjectname = subject:starts(\"this\") and \"this\" or \"txt_\"..subject\n  local objectname = object:starts(\"this\") and \"this\" or \"txt_\"..object\n  addRule({\n    rule = {\n      subject = {\n        name = subject,\n        conds = {subjcond},\n        type = (getTile(subjectname) or getTile(\"txt_bab\")).typeset,\n      },\n      verb = {\n        name = verb,\n        type = (getTile(verb) or getTile(\"txt_be\")).typeset,\n      },\n      object = {\n        name = object,\n        type = (getTile(objectname) or getTile(\"txt_bab\")).typeset,\n      }\n    },\n    units = {},\n    dir = 1,\n    hide_in_list = true\n  })\nend\n\nfunction addRuleSimple(subject, verb, object, units, dir)\n  -- print(subject.name, verb.name, object.name)\n  -- print(subject, verb, object)\n  local subjectname = subject[1] or subject.name or \"\"\n  subjectname = subjectname:starts(\"this\") and \"this\" or \"txt_\"..subjectname\n  local objectname = object[1] or object.name or \"\"\n  objectname = objectname:starts(\"this\") and \"this\" or \"txt_\"..objectname\n  addRule({\n    rule = {\n      subject = getTableWithDefaults(copyTable(subject), {\n        name = subject[1],\n        conds = subject[2],\n        type = (getTile(subjectname) or getTile(\"txt_bab\")).typeset,\n      }),\n      verb = getTableWithDefaults(copyTable(verb), {\n        name = verb[1],\n        type = (getTile(\"txt_\"..(verb[1] or verb.name or \"\")) or getTile(\"txt_be\")).typeset,\n      }),\n      object = getTableWithDefaults(copyTable(object), {\n        name = object[1],\n        conds = object[2],\n        type = (getTile(objectname) or getTile(\"txt_bab\")).typeset,\n      })\n    },\n    units = units,\n    dir = dir\n  })\nend\n\n\ngroup_lists = {}\ngroup_sets = {}\n\nfunction updateGroup(n)\n  --if not groups_exist then return end\n  local n = n or 0\n  local changed = false\n  for _,group in ipairs(group_names) do\n    local list = {}\n    local set = {}\n    if group_subsets[group] then\n      for _,subset in ipairs(group_subsets[group]) do\n        if group_sets[subset] then\n          for unit,v in pairs(group_sets[subset]) do\n            set[unit] = v\n          end\n        end\n      end\n    end\n    if (rules_with[group] ~= nil) then\n      local rules = matchesRule(nil, \"be\", group)\n      for _,rule in ipairs(rules) do\n        local unit = rule[2]\n        --by doing it this way, conds has already been tested, etc\n        set[unit] = true\n      end\n      local rulesnt = matchesRule(nil, \"ben't\", group)\n      for _,rule in ipairs(rulesnt) do\n        local unit = rule[2]\n        set[unit] = nil\n      end\n    end\n    for unit,_ in pairs(set) do\n      table.insert(list, unit)\n    end\n    local old_size = #(group_lists[group] or {})\n    group_lists[group] = list\n    group_sets[group] = set\n    if #group_lists[group] ~= old_size then\n      changed = true\n    end\n  end\n  if changed then\n    if n >= 1000 then\n      print(\"group infinite loop! (1000 attempts to update list)\")\n      destroyLevel(\"infloop\")\n    else\n      updateGroup(n+1)\n    end\n  end\nend\n\nfunction namesInGroup(group)\n  local result = {}\n  local tbl = copyTable(referenced_objects)\n  mergeTable(tbl, referenced_text)\n  table.insert(tbl, \"lvl\");\n  table.insert(tbl, \"mous\");\n  table.insert(tbl, \"no1\");\n  table.insert(tbl, \"bordr\");\n  for _,v in ipairs(tbl) do\n    local group_membership = matchesRule(v, \"be\", group);\n    for _,r in ipairs(group_membership) do\n      if (#(r.rule.subject.conds) == 0) then\n        table.insert(result, v)\n      else\n        for _,u in ipairs(units_by_name[v] or {v}) do\n          if testConds(u, r.rule.subject.conds) then\n            table.insert(result, v)\n            break\n          end\n        end\n      end\n    end\n  end\n  return result\nend\n\nfunction serializeRule(rule)\n  local result = \"\"\n  result = result..serializeUnit(rule.subject, true)\n  result = result..serializeWord(rule.verb)\n  result = result..serializeUnit(rule.object, true) -- there's no reason for separate serializeClass/Property since the structure is the same\n  return result\nend\n\nfunction serializeUnit(unit, outer)\n  local prefix = \"\"\n  local infix = \"\"\n  local name = serializeWord(unit)\n  if not unit.conds then\n    return name\n  end\n  for i,cond in ipairs(unit.conds) do\n    if not cond.others or #cond.others == 0 then\n      prefix = prefix..serializeWord(cond)\n    else\n      infix = infix..serializeWord(cond)\n      local infix_other = \"\"\n      for j,other in ipairs(cond.others) do\n        infix_other = infix_other..serializeUnit(other)\n        infix_other = infix_other..\"& \"\n      end\n      infix_other = infix_other:sub(1,-3) -- remove last &\n      infix = infix..infix_other..\"& \"\n    end\n  end\n  infix = infix:sub(1,-3) -- remove last &\n  local full = prefix..name..infix\n  if not outer and full:find(\"&\", 1) then\n    full = \"(\"..full..\")\"\n  end\n  return full\nend\n\nfunction serializeWord(word)\n  if word.unit and hasProperty(word.unit, \"stelth\") then return \"\" end\n  local name = word.unit and word.unit.display or word.name\n  while name:starts(\"txt_\") do\n    name = name:sub(5)..\" txt\"\n  end\n  return name..\" \"\nend\n\nfunction unitsByTile(x, y)\n  if units_by_tile[x] == nil then\n    units_by_tile[x] = {}\n  end\n  if units_by_tile[x][y] == nil then\n    units_by_tile[x][y] = {}\n  end\n  --print(x, y, fullDump(units_by_tile[x][y]))\n  return units_by_tile[x][y]\nend\n\nanagram_finder = {}\nanagram_finder.enabled = false\n-- anagram_finder.advanced = false\nfunction anagram_finder.run()\n  local letters = {}\n  local multi = {}\n  for _,unit in ipairs(units_by_name[\"txt\"]) do\n    if unit.typeset.letter then\n      if #unit.textname == 1 then\n        letters[unit.textname] = (letters[unit.textname] or 0) + 1\n      else\n        table.insert(multi, unit.textname)\n      end\n    end\n  end\n  anagram_finder.words = {}\n  for _,tile in ipairs(tiles_list) do\n    if tile.is_text and not tile.typeset.letter then\n      local word = tile.txtname\n      local letters = copyTable(letters)\n      local multi = copyTable(multi)\n      local not_match = false\n      for i = #multi,1,-1 do -- multi in middle\n        local new = word:gsub(multi[i],\"|\") -- | instead of nothing so that you can't have another multi span the gap, e.g. frgoen - go = fren\n        if new ~= word then\n          word = new\n          table.remove(multi, i)\n        end\n      end\n      for i = #multi,1,-1 do -- multi at end\n        local m = multi[i]\n        local found = false\n        for j = #m,1,-1 do\n          local s = m:sub(1,j)\n          if word:ends(s) then\n            word = word:sub(1, #word-j)..\"|\"\n            found = true\n            break\n          end\n        end\n        if found then\n          table.remove(multi, i)\n          break\n        end\n      end\n      for i = #multi,1,-1 do -- multi at start\n        local m = multi[i]\n        local found = false\n        for j = 1,#m do\n          local s = m:sub(j)\n          if word:starts(s) then\n            word = \"|\"..word:sub(#s+1)\n            found = true\n            break\n          end\n        end\n        if found then\n          table.remove(multi, i)\n          break\n        end\n      end\n      for i = 1, #word do\n        local l = word:sub(i,i)\n        if l ~= \"|\" then -- represents a multiletter that has been accounted for already\n          if letters[l] and letters[l] > 0 then\n            letters[l] = letters[l] - 1\n          else\n            not_match = true\n            break\n          end\n        end\n      end\n      if not not_match then\n        table.insert(anagram_finder.words, tile.txtname)\n      end\n    end\n  end\nend\n\nfunction drawCustomLetter(text, x, y, rot, sx, sy, ox, oy)\n  love.graphics.push()\n  love.graphics.translate(x or 0, y or 0)\n  love.graphics.rotate(rot or 0)\n  love.graphics.scale(sx or 1, sy or 1)\n  love.graphics.translate(-(ox or 0), -(oy or 0))\n  for i,q in ipairs(custom_letter_quads[#(text or \"-\")]) do\n    local quad, dx, dy = unpack(q)\n    local char = text:sub(i,i)\n    if char == \"*\" then char = \"asterisk\" end\n    love.graphics.draw(sprites[\"letters_\"..char] or sprites[\"wut\"], quad, dx, dy)\n  end\n  love.graphics.pop()\nend\n\nfunction getPastConds(conds)\n  local result = false\n  local new_conds = {}\n  for _,cond in ipairs(conds) do\n    if cond.name == \"past\" then\n      result = true\n    else\n      table.insert(new_conds, cond)\n    end\n  end\n  return result, new_conds\nend\n\nfunction jprint(str)\n  if just_moved then\n    print(str)\n  end\nend\n\nfunction getTheme()\n  if not settings[\"themes\"] then return \"default\" end\n  if cmdargs[\"theme\"] then\n    if cmdargs[\"theme\"] ~= \"\" then\n      return cmdargs[\"theme\"]\n    end\n  else\n    local month = tonumber(os.date(\"%m\"))\n    local day = tonumber(os.date(\"%d\"))\n    \n    if month == 10 and day == 31 then\n      return \"halloween\"\n    elseif (month == 12 and day > 24) or (month == 01 and day < 6) then\n      return \"christmas\"\n    end\n  end\n  \n  return menu_palette\nend\n\nfunction getTableWithDefaults(o, default)\n  o = o or {}\n  for k,v in pairs(default) do\n    if o[k] == nil then o[k] = v end\n  end\n  return o\nend\n\nfunction buildOptions()\n  if global_menu_state == \"audio\" then\n    scene.addOption(\"master_vol\", \"master volume\", {{\"25%\", 0.25}, {\"50%\", 0.5}, {\"75%\", 0.75}, {\"100%\", 1}})\n    scene.addOption(\"music_on\", \"music\", {{\"on\", true}, {\"off\", false}})\n    scene.addOption(\"music_vol\", \"music volume\", {{\"25%\", 0.25}, {\"50%\", 0.5}, {\"75%\", 0.75}, {\"100%\", 1}})\n    scene.addOption(\"sfx_on\", \"sound\", {{\"on\", true}, {\"off\", false}})\n    scene.addOption(\"sfx_vol\", \"sound volume\", {{\"25%\", 0.25}, {\"50%\", 0.5}, {\"75%\", 0.75}, {\"100%\", 1}})\n    scene.addOption(\"focus_sound\", \"mute on focus loss\", {{\"on\", false}, {\"off\", true}})\n    scene.addButton(\"back\", function() global_menu_state = \"none\"; scene.buildUI() end)\n  elseif global_menu_state == \"video\" then\n    scene.addOption(\"int_scaling\", \"integer scaling\", {{\"on\", true}, {\"off\", false}})\n    scene.addOption(\"particles_on\", \"particle effects\", {{\"on\", true}, {\"off\", false}})\n    scene.addOption(\"shake_on\", \"shakes\", {{\"on\", true}, {\"off\", false}})\n    scene.addOption(\"scribble_anim\", \"animated scribbles\", {{\"on\", true}, {\"off\", false}})\n    scene.addOption(\"light_on\", \"lighting\", {{\"on\", true}, {\"off\", false}})\n    scene.addOption(\"lessflashing\", \"reduce flashes\", {{\"on\", true}, {\"off\", false}})\n    scene.addOption(\"grid_lines\", \"grid lines\", {{\"on\", true}, {\"off\", false}})\n    scene.addOption(\"mouse_lines\", \"mouse lines\", {{\"on\", true}, {\"off\", false}})\n    scene.addOption(\"stopwatch_effect\", \"stopwatch effect\", {{\"on\", true}, {\"off\", false}})\n    scene.addOption(\"fullscreen\", \"screen mode\", {{\"windowed\", false}, {\"fullscreen\", true}}, function() fullScreen() end)\n    if scene == menu then\n      scene.addOption(\"scroll_on\", \"menu background scroll\", {{\"on\", true}, {\"off\", false}})\n      scene.addOption(\"menu_anim\", \"menu animations\", {{\"on\", true}, {\"off\", false}})\n    end\n    scene.addOption(\"themes\", \"menu themes\", {{\"on\", true}, {\"off\", false}})\n    scene.addButton(\"back\", function() global_menu_state = \"none\"; scene.buildUI() end)\n  elseif global_menu_state == \"editor\" then\n    scene.addOption(\"print_to_screen\", \"log print()s to screen\", {{\"on\", true}, {\"off\", false}})\n    scene.addOption(\"unfinished_words\", \"unfinished words in editor\", {{\"on\", true}, {\"off\", false}})\n    scene.addOption(\"infomode\", \"display object info\", {{\"on\", true}, {\"off\", false}})\n    scene.addButton(\"back\", function() global_menu_state = \"none\"; scene.buildUI() end)\n  elseif global_menu_state == \"misc\" then\n    scene.addOption(\"input_delay\", \"input delay\", {{\"0\", 0}, {\"50\", 50}, {\"100\", 100}, {\"125\", 125}, {\"150 (default)\", 150}, {\"200\", 200}})\n\tscene.addOption(\"rhythm_interval\", \"rhythm speed\", {{\"slower\",1.2},{\"default\",1},{\"fast\",0.5},{\"faster\",0.2},{\"fastest\",0.1}})\n    scene.addOption(\"focus_pause\", \"pause on defocus\", {{\"on\", true}, {\"off\", false}})\n    scene.addOption(\"autoupdate\", \"autoupdate (experimental)\", {{\"on\", true}, {\"off\", false}})\n    scene.addButton(\"back\", function() global_menu_state = \"none\"; scene.buildUI() end)\n  else\n    scene.addButton(\"audio options\", function() global_menu_state = \"audio\"; scene.buildUI() end)\n    scene.addButton(\"video options\", function() global_menu_state = \"video\"; scene.buildUI() end)\n    scene.addButton(\"editor options\", function() global_menu_state = \"editor\"; scene.buildUI() end)\n    scene.addButton(\"miscellaneous options\", function() global_menu_state = \"misc\"; scene.buildUI() end)\n    scene.addButton(\"reset to default settings\", function ()\n      ui.overlay.confirm({\n        text = \"Reset all settings to default?\",\n        okText = \"Yes\",\n        cancelText = \"Cancel\",\n        ok = function()\n          defaultSetting()\n          scene.buildUI()\n        end}\n      )\n    end)\n    if scene == menu then\n      scene.addButton(\"delete save data\", function ()\n        ui.overlay.confirm({\n          text = \"Delete save data?\\nLÖVE will restart\\n\\n(WARNING: Data cannot be restored)\",\n          okText = \"Yes\",\n          cancelText = \"Cancel\",\n          ok = function()\n            deleteDir(\"profiles\")\n            love.event.quit(\"restart\")\n          end}\n        )\n      end)\n    end\n    scene.addButton(\"back\", function() options = false; scene.buildUI() end)\n  end\nend\n\nfunction split(inputstr, sep)\n  if sep == nil then\n    sep = \"%s\"\n  end\n  local t={} ; i=1\n  for str in string.gmatch(inputstr, \"([^\"..sep..\"]+)\") do\n    t[i] = str\n    i = i + 1\n  end\n  return t\nend\n\nfunction selectLastLevels()\n  local cursors = getUnitsWithEffect(\"curse\")\n  if #cursors == 0 then return end\n\n  local last_selected = readSaveFile{\"levels\", level_filename, \"selected\"} or {}\n  if type(last_selected) ~= \"table\" then\n    last_selected = {last_selected}\n  end\n  \n  for i,level in ipairs(last_selected) do\n    local selctr = cursors[((i-1)%#cursors)+1]\n    for _,unit in ipairs(units) do\n      if unit.special.level == level then\n        moveUnit(selctr, unit.x, unit.y, nil, true)\n      end\n    end\n  end\nend\n\nfunction getWorldDir(include_sub_worlds)\n  if world == \"\" then\n    return \"levels\"\n  else\n    local dir = world_parent .. \"/\" .. world\n    if include_sub_worlds and #sub_worlds > 0 then\n      dir = dir .. \"/\" .. table.concat(sub_worlds, \"/\")\n    end\n    return dir\n  end\nend\n\nfunction searchForLevels(dir, search, exact)\n  local results = {}\n  local files = love.filesystem.getDirectoryItems(dir)\n\n  for _,file in ipairs(files) do\n    local info = love.filesystem.getInfo(dir .. \"/\" .. file)\n    if info then\n      if info.type == \"directory\" then\n        for _,level in ipairs(searchForLevels(dir .. \"/\" .. file, search, exact)) do\n          table.insert(results, {file = file .. \"/\" .. level.file, data = level.data})\n        end\n      elseif file:ends(\".bab\") then\n        local name = file:sub(1, -5)\n        local data = json.decode(love.filesystem.read(dir .. \"/\" .. file))\n        local found = false\n        if (not search) or (exact and name == search) or (not exact and string.find(name, search)) then\n          found = true\n        elseif (not search) or (exact and data.name == search) or (not exact and string.find(data.name, search)) then\n          found = true\n        end\n        if found then\n          table.insert(results, {file = name, data = data})\n        end\n      end\n    end\n  end\n\n  return results\nend\n\n-- i was originally making this to use .icon as an alternate icon format for official world saving but i figured out how to save pngs directly so this is a tiny function that serves almost no purpose now and also this comment is really long if you don't have wrapping then your scrollbar is huge now you're welcome\nfunction getIcon(path)\n  if love.filesystem.getInfo(path .. \".png\") then\n    return love.graphics.newImage(path .. \".png\")\n  end\nend\n\n-- logic for how this function works:\n-- nil checks (both nil -> true, one nil -> false)\n-- loop for colors in a if there are multiple\n-- loop for colors in b if there are multiple\n-- actually compare the color\nfunction matchesColor(a, b, exact)\n  if not a ~= not b then return false end\n  if not a and not b then return true end\n  if type(a) == \"table\" and type(a[1]) ~= \"number\" then\n    for _,c in ipairs(a) do\n      if matchesColor(c, b, exact) then return true end\n    end\n    return false\n  end\n  if type(b) == \"table\" and type(b[1]) ~= \"number\" then\n    for _,c in ipairs(b) do\n      if matchesColor(a, c, exact) then return true end\n    end\n    return false\n  end\n  if exact then\n    if type(a) == \"string\" then\n      a = main_palette_for_colour[a]\n    end\n    if type(b) == \"string\" then\n      b = main_palette_for_colour[b]\n    end\n    if #a == 2 and #b == 2 then\n      return a[1] == b[1] and a[2] == b[2]\n    end\n    -- just in case\n    if #a == 3 then\n      a = getPaletteColor(unpack(a))\n    end\n    if #b == 3 then\n      b = getPaletteColor(unpack(a))\n    end\n    return a[1] == b[1] and a[2] == b[2] and a[3] == b[3]\n  else\n    if type(a) == \"table\" then\n      if #a == 2 then\n        a = colour_for_palette[a[1]][a[2]]\n      else\n        return false -- I don't want to deal with this right now\n      end\n    end\n    if type(b) == \"table\" then\n      if #b == 2 then\n        b = colour_for_palette[b[1]][b[2]]\n      else\n        return false -- I don't want to deal with this right now\n      end\n    end\n    return a == b\n  end\nend\n\nfunction overlayFromFlagProp(prop_name)\n  local overlay = \"flog/\" .. string.sub(prop_name, 5)\n  return overlay\nend\n\nfunction execute(command)\n  local handle = io.popen(command)\n  local result = handle:read(\"*a\")\n  handle:close()\n\n  return result\nend\n\nfunction addTile(tile)\n  tile.types = tile.types or {\"object\"}\n  tile.painted = tile.painted or {true}\n  tile.rotate = tile.rotate or false\n  tile.portal = tile.portal or false\n  tile.wobble = tile.wobble or false\n  tile.sprite_transforms = tile.sprite_transforms or {}\n  tile.features = tile.features or {}\n  tile.tags = tile.tags or {}\n  tile.alias = tile.alias or {}\n  tile.old_names = tile.old_names or {}\n\n  tile.nt = tile.nt or false\n  tile.meta = tile.meta or 0\n\n  if tile.is_text == nil then\n    tile.is_text = tile.name:starts(\"txt_\") or tile.name:starts(\"letter_\")\n  end\n\n  if tile.convertible == nil then\n    tile.convertible = true\n  end\n\n  tile.layer = tile.layer or (tile.is_text and 20 or 1)\n  tile.txtname = tile.txtname or (tile.is_text and tile.name:sub(5) or tile.name)\n\n  if not tile.display then\n    tile.display = tile.txtname\n\n    if tile.nt then\n      tile.display = tile.display .. \" n't\"\n    end\n\n    for i = 1, tile.meta do\n      tile.display = tile.display .. \" txt\"\n    end\n  end\n\n  tile.typeset = {}\n  for _,type in ipairs(tile.types) do\n    tile.typeset[type] = true\n  end\n\n  local relations = {}\n  if tile.name:ends(\"n't\") then\n    table.insert(relations, tile.name:sub(1, -4))\n    if tile.is_text then\n      table.insert(relations, tile.txtname:sub(1, -4))\n    end\n  elseif tile.is_text then\n    table.insert(relations, tile.txtname)\n  end\n  table.insert(relations, \"txt_\"..tile.name)\n  for _,relation in ipairs(relations) do\n    local other = tiles_list[relation]\n    if other then\n      if #tile.tags == 0 then\n        for _,tag in ipairs(other.tags) do\n          table.insert(tile.tags, tag)\n        end\n      end\n      if #other.tags == 0 then\n        for _,tag in ipairs(tile.tags) do\n          table.insert(other.tags, tag)\n        end\n      end\n    end\n  end\n\n  if not tile.pronouns then\n    if not tile.is_text and table.has_value(tile.tags, \"chars\") then\n      tile.pronouns = {\"they\", \"them\"}\n    else\n      tile.pronouns = {\"it\"}\n    end\n  end\n\n\n  tiles_list[tile.name] = tile\n  for _,old in ipairs(tile.old_names) do\n    tiles_by_old_name[old] = tile\n  end\n  \n  if tile.is_text and not tile.typeset.letter then\n    local text_list = tile.wobble and wobble_text_list or text_list\n    local text_in_tiles = tile.wobble and wobble_text_in_tiles or text_in_tiles\n\n    text_list[tile.txtname] = tile\n    text_in_tiles[tile.txtname] = tile.txtname\n\n    for a,ali in ipairs(tile.alias) do\n      text_in_tiles[ali] = tile.txtname\n    end\n  end\n\n  if tile.typeset.group then\n    addGroup(tile.txtname)\n  end\n  \n  if tile.overlay then\n    overlay_props[tile.txtname] = tile.overlay\n  end\n\n  return tile\nend\n\nfunction getTile(name, old)\n  if tiles_list[name] then\n    return tiles_list[name]\n  end\n\n  if old and tiles_by_old_name[name] then\n    return tiles_by_old_name[name]\n  end\n\n  if name:ends(\"n't\") then\n    --print(\"making new tile: \" .. name)\n\n    local tile = getTile(name:sub(1, -4), old)\n    if not tile then return nil end\n    tile = deepCopy(tile)\n\n    tile.name = tile.name .. \"n't\"\n    tile.display = tile.display .. \" n't\"\n    tile.sprite = tile.metasprite or tile.sprite\n    tile.nt = true\n    tile.pronouns = {\"it\"}\n    tile.old_names = {}\n\n    return addTile(tile)\n  elseif name:starts(\"txt_\") then\n    --print(\"making new tile: \" .. name)\n\n    local tile = getTile(name:sub(5), old)\n    if not tile then return nil end\n    tile = deepCopy(tile)\n\n    tile.name = \"txt_\" .. tile.name\n    tile.display = tile.display .. \" txt\"\n    tile.sprite = tile.metasprite or tile.sprite\n    tile.types = {\"object\"}\n    tile.thingify = nil\n    tile.txtname = \"txt_\" .. tile.txtname\n    tile.is_text = true\n    tile.meta = tile.meta + 1\n    tile.pronouns = {\"it\"}\n    tile.old_names = {}\n    if tile.layer < 20 then\n      tile.layer = 20\n    end\n\n    return addTile(tile)\n  end\nend\n\nlocal function addTry(try, str, extra)\n  if extra then\n    for i = 1, #try do\n      local nya = str:gsub(\"%?\",try[i])\n      table.insert(try, i, nya)\n      i = i + 1\n    end\n  else\n    table.insert(try, 1, str)\n  end\nend\n\nfunction getTileSprite(name, tile, o)\n  local o = getTableWithDefaults(o, {wobble = 1, sleep = false})\n  local try = o.try or {name}\n  if tile then\n    if name == \"os\" then\n      local os = love.system.getOS()\n      if os == \"Windows\" then\n        addTry(try, \"os_windous\")\n      elseif os == \"OS X\" or os == \"iOS\" then\n        addTry(try, \"os_mak\")\n      elseif os == \"Linux\" then\n        addTry(try, \"os_linx\")\n      elseif os == \"Android\" then\n        addTry(try, \"os_androd\")\n      end\n    elseif name == \"ui_gui\" then\n      local os = love.system.getOS()\n      if os == \"Windows\" then\n        addTry(try, \"ui_win\")\n      elseif os == \"OS X\" or os == \"iOS\" then\n        addTry(try, \"ui_cmd\")\n      else\n        addTry(try, \"ui_win\")\n      end\n    elseif name == \"ui_cap\" then\n      if capslock then\n        addTry(try, \"ui_cap_on\")\n      else\n        addTry(try, \"ui_cap_off\")\n      end\n    end\n\n    if o.sleep then\n      addTry(try, \"?_slep\", true)\n    end\n\n    if tile.wobble then\n      local wobble_frame = anim_stage % 3 + 1\n      addTry(try, \"?_\"..wobble_frame, true)\n    end\n  end\n  for _,try_name in ipairs(try) do\n    if sprites[try_name] then\n      return sprites[try_name], try_name\n    end\n  end\n  return sprites[\"wat\"], \"wat\"\nend\n\nfunction getTileSprites(tile)\n  local sprites = {}\n  for i,sprite in ipairs(tile.sprite) do\n    local _,name = getTileSprite(sprite, tile)\n    sprites[i] = name\n  end\n  return sprites\nend\n\nfunction getTileColor(tile, index, override)\n  if index then\n    if override and tile.painted[index] then\n      return deepCopy(override)\n    else\n      return deepCopy(tile.color[index])\n    end\n  else\n    for i,color in ipairs(tile.color) do\n      if tile.painted[i] then\n        return getTileColor(tile, i, override)\n      end\n    end\n    return deepCopy(tile.color[1])\n  end\nend\n\nfunction getTileColors(tile, override)\n  local colors = {}\n  for i = 1, #tile.color do\n    colors[i] = getTileColor(tile, i, override)\n  end\n  return colors\nend\n\nfunction getUnitSprite(name, unit)\n  local try = {name}\n  if unit then\n    if unit.class == \"cursor\" then\n      return name\n    end\n    -- lvl stuff\n    if name == \"lvl\" and unit.special.visibility == \"hidden\" then\n      addTry(try, \"lvl_hidden\")\n    elseif name == \"lvl\" and (unit.special.visibility == \"locked\" or unit.special.visibility == nil) then\n      addTry(try, \"lvl_locked\")\n    elseif name == \"lvl\" and scene == game and unit.special.level and readSaveFile{\"levels\", unit.special.level, \"won\"} then\n      addTry(try, \"lvl_won\")\n    -- lin stuff\n    elseif name == \"lin\" and unit.special.pathlock and unit.special.pathlock ~= \"none\" then\n      addTry(try, \"lin_gate\")\n    elseif name == \"lin\" and unit.special.visibility == \"hidden\" then\n      addTry(try, \"lin_hidden\")\n    -- misc\n    elseif name == \"txt/now\" and doing_past_turns then\n      addTry(try, \"txt/latr\")\n    elseif name == \"txt/themself\" and scene == game and rules_with_unit[unit] then\n      local pronoun\n      for _,rules in ipairs(rules_with_unit[unit]) do\n        local name = rules.rule.subject.name \n        if name:ends(\"n't\") or name == \"every1\" or name == \"every2\" or name == \"every3\" or group_names_set[name] then\n          pronoun = \"them\"\n          break\n        end\n        local subject = rules.rule.subject.unit and getTile(rules.rule.subject.unit.textname)\n        if subject then\n          local new_pronoun\n          if subject.pronouns and subject.pronouns[1] == \"genderfluid\" then\n            local cycle_pronouns = {\"them\", \"her\", \"it\", \"xem\", \"him\", \"hir\"}\n            new_pronoun = cycle_pronouns[(math.floor(love.timer.getTime()/0.18) + unit.tempid) % #cycle_pronouns + 1]..\"self\"\n          else\n            new_pronoun = (subject.pronouns and (subject.pronouns[2] or subject.pronouns[1]) or \"it\")..\"self\"\n          end\n          if pronoun and pronoun ~= new_pronoun then\n            pronoun = \"themself\"\n          else\n            pronoun = new_pronoun\n          end\n          if pronoun == \"themself\" then break end\n        else\n          if pronoun and pronoun ~= \"itself\" then\n            pronoun = \"themself\"\n            break\n          else\n            pronoun = \"itself\"\n          end\n        end\n      end\n      pronoun = pronoun or \"itself\"\n      addTry(try, \"txt/\"..pronoun)\n    elseif name == \"txt/themself_lower\" and scene == game and rules_with_unit[unit] then\n      local has_multiple = false\n      local last_units\n      for _,rules in ipairs(rules_with_unit[unit]) do\n        local name = rules.rule.subject.name \n        if name:ends(\"n't\") or name == \"every1\" or name == \"every2\" or name == \"every3\" or name == \"lethers\" or name == \"numa\" or name == \"yuiy\" or group_names_set[name] then\n          has_multiple = true\n          break\n        elseif not last_units then\n          last_units = rules.units\n        elseif not eq(last_units, rules.units) then\n          has_multiple = true\n          break\n        end\n      end\n      if has_multiple then\n        addTry(try, \"txt/themselves_lower\")\n      end\n    end\n\n    for type,name in pairs(unit.sprite_transforms) do\n      if type == \"inactive\" then\n        if not unit.active then\n          addTry(try, name)\n        end\n      elseif type == \"active\" then\n        if unit.active then\n          addTry(try, name)\n        end\n      elseif table.has_value(unit.used_as, type) then\n        addTry(try, name)\n        break\n      end\n    end\n  end\n\n  return getTileSprite(name, unit and getTile(unit.tile), {\n    try = try,\n    wobble = unit and unit.frame or 0,\n    sleep = unit and graphical_property_cache[\"slep\"][unit]\n  })\nend\n\nfunction getUnitSprites(unit)\n  local sprites = {}\n  for i,sprite in ipairs(unit.sprite) do\n    local _,name = getUnitSprite(sprite, unit)\n    sprites[i] = name\n  end\n  return sprites\nend\n\nfunction getUnitColor(unit, index, override_)\n  local override = override_ or unit.color_override\n\n  if unit.class == \"cursor\" then\n    return index and unit.color[index] or unit.color[1]\n  end\n  \n  if index then\n    if not override and unit.name == \"lin\" and unit.special.pathlock and unit.special.pathlock ~= \"none\" then\n      return {2, 2}\n    elseif unit.sprite[i] == \"detox\" and graphical_property_cache[\"slep\"][unit] ~= nil then\n      return {1, 2}\n    else\n      return getTileColor(getTile(unit.tile), index, override)\n    end\n  else\n    for i,color in ipairs(unit.color) do\n      if unit.painted[i] then\n        return getUnitColor(unit, i, override)\n      end\n    end\n    return getUnitColor(getTile(unit.tile), 1, override)\n  end\nend\n\nfunction getUnitColors(unit, override_)\n  local colors = {}\n  for i = 1, #unit.color do\n    colors[i] = getUnitColor(unit, i, override_)\n  end\n  return colors\nend\n\nfunction drawTileSprite(tile, x, y, rotation, sx, sy, o)\n  local o = getTableWithDefaults(copyTable(o or {}), {\n    sprite = getTileSprites(tile),\n    color = getTileColors(tile),\n    painted = tile.painted,\n    meta = tile.meta,\n    nt = tile.nt,\n    wobble = tile.wobble,\n    really_smol = tile.name == \"babby\",\n    lvl = tile.name == \"lvl\",\n  })\n  drawSprite(x, y, rotation, sx, sy, o)\nend\n\nfunction drawUnitSprite(unit, x, y, rotation, sx, sy, o)\n  local brightness = 1\n\n  if scene == game then\n    if (hasRule(unit,\"be\",\"wurd\") or hasRule(unit,\"be\",\"anti wurd\")) and not unit.active and not level_destroyed and not (unit.fullname == \"prop\") then\n      brightness = 0.33\n    end\n    if (unit.name == \"steev\") and not hasU(unit) then\n      brightness = 0.33\n    end\n    if unit.name == \"casete\" and not hasProperty(unit, \"nogo\") then\n      brightness = 0.5\n    end\n    if timeless and not hasProperty(unit,\"zawarudo\") and not (unit.type == \"txt\") then\n      brightness = 0.33\n    end\n  end\n\n  local o = getTableWithDefaults(copyTable(o or {}), {\n    sprite = getUnitSprites(unit),\n    color = getUnitColors(unit),\n    painted = unit.painted,\n    special = unit.special,\n    overlay = unit.overlay,\n    meta = unit.meta,\n    nt = unit.nt,\n    alpha = unit.draw.opacity,\n    brightness = brightness,\n    id = unit.id,\n    frame = unit.frame,\n    wobble = unit.wobble,\n    delet = unit.delet,\n    really_smol = unit.fullname == \"babby\",\n    lvl = unit.fullname == \"lvl\",\n  })\n  drawSprite(x, y, rotation, sx, sy, o)\nend\n\nfunction drawSprite(x, y, rotation, sx, sy, o)\n  local o = getTableWithDefaults(copyTable(o or {}), {\n    sprite = {},\n    color = {},\n    painted = {},\n    special = {},\n    overlay = {},\n    meta = 0,\n    nt = false,\n    alpha = 1,\n    brightness = 1,\n    id = 0,\n    frame = x+y,\n    wobble = false,\n    anti_wobble = false,\n    delet = false,\n    really_smol = false,\n    lvl = false,\n  })\n\n  local max_w, max_h = 0, 0\n  local is_lvl = false\n\n  for _,image in ipairs(o.sprite) do\n    local sprite = sprites[image]\n    max_w = math.max(max_w, sprite:getWidth())\n    max_h = math.max(max_h, sprite:getHeight())\n  end\n\n  local function setColor(color, brightness)\n    if #color == 3 then\n      if color[1] then\n        color = {color[1]/255, color[2]/255, color[3]/255, 1}\n      else\n        color = {1,1,1,1}\n      end\n    else\n      local palette = current_palette\n      if current_palette == \"default\" and o.wobble then\n        palette = \"baba\"\n      end\n      color = {getPaletteColor(color[1], color[2], palette)}\n    end\n\n    local bg_color = {getPaletteColor(1, 0)}\n\n    -- multiply brightness by darkened bg color\n    for i,c in ipairs(bg_color) do\n      if i < 4 then\n        color[i] = (1 - o.brightness) * (bg_color[i] * 0.5) + o.brightness * color[i]\n      end\n    end\n\n    love.graphics.setColor(color[1], color[2], color[3], color[4]*o.alpha)\n\n    return color\n  end\n\n  local function drawSpriteMaybeOverlay(overlay, onlycolor, stretch)\n    if overlay and stretch then\n      love.graphics.setColor(1,1,1,1)\n      local sprite = sprites[overlay]\n      love.graphics.draw(sprite, x, y, rotation, max_w / TILE_SIZE, max_h / TILE_SIZE, sprite:getWidth() / 2, sprite:getHeight() / 2)\n    else\n      if overlay then\n        local sprite = sprites[overlay]\n        love.graphics.draw(sprite, x, y, rotation, sx, sy, sprite:getWidth() / 2, sprite:getHeight() / 2)\n      else\n        for i,image in ipairs(o.sprite) do\n          setColor(o.color[i])\n          if onlycolor or (#o.overlay > 0 and o.painted[i]) then\n            love.graphics.setColor(1,1,1,1)\n          end\n          if not onlycolor or o.painted[i] then\n            if image == \"letter_custom\" then\n              --if #o.special.customletter == 1 then \n              if o.special.customletter and (#o.special.customletter > 1 or sprites[\"letter_\"..o.special.customletter]) then\n                drawCustomLetter(o.special.customletter, x, y, rotation, sx, sy, 16, 16)\n              else\n                local sprite = sprites[\"wut\"]\n                love.graphics.draw(sprites[\"wut\"], x, y, rotation, sx, sy, sprite:getWidth() / 2, sprite:getHeight() / 2)\n              end\n            else\n              local sprite = sprites[image]\n              love.graphics.draw(sprite, x, y, rotation, sx, sy, sprite:getWidth() / 2, sprite:getHeight() / 2)\n            end\n          end\n        end\n      end\n    end\n  end\n\n  love.graphics.push()\n  if settings[\"max_wobble\"] and not o.anti_wobble and not o.wobble and o.sprite[1] ~= \"bordr\" then\n    local wobble_frame = (o.frame + anim_stage) % 3 + 1\n    love.graphics.translate(x + max_w/TILE_SIZE/2, y + max_h/TILE_SIZE/2)\n    if wobble_frame == 2 then\n      love.graphics.rotate(math.rad(3))\n      love.graphics.scale(1, 0.95)\n    elseif wobble_frame == 3 then\n      love.graphics.rotate(math.rad(-3))\n      love.graphics.shear(-0.05, 0)\n    end\n    love.graphics.translate(-x - max_w/TILE_SIZE/2, -y - max_h/TILE_SIZE/2)\n  end\n\n  if (o.delet or spookmode) and (math.floor(love.timer.getTime() * 9) % 9 == 0) then -- if we're delet, apply the special shader to our object\n    pcallSetShader(xwxShader)\n    drawSpriteMaybeOverlay()\n    love.graphics.setShader()\n  else\n    drawSpriteMaybeOverlay()\n  end\n\n  if o.lvl and (scene == editor or (scene ~= editor and o.special.visibility == \"open\")) then\n    local first_color = o.color[1]\n    for i,color in ipairs(o.color) do\n      if o.painted[i] then\n        first_color = color\n        break\n      end\n    end\n    love.graphics.push()\n    love.graphics.translate(x, y)\n    love.graphics.rotate(rotation)\n    love.graphics.translate(-x, -y)\n    setColor(first_color)\n    if (scene ~= editor and readSaveFile{\"levels\", o.special.level, \"won\"}) or (scene == editor and o.special.visibility ~= \"open\") then\n      local r,g,b,a = love.graphics.getColor()\n      love.graphics.setColor(r,g,b,a*0.4)\n    end\n    if not o.special.iconstyle or o.special.iconstyle == \"number\" then\n      local num = tostring(o.special.number or 1)\n      if #num == 1 then\n        num = \"0\"..num\n      end\n      love.graphics.draw(sprites[\"levelicon_\"..num:sub(1,1)], x+(4*sx), y+(4*sy), 0, sx, sy, max_w / 2, max_h / 2)\n      love.graphics.draw(sprites[\"levelicon_\"..num:sub(2,2)], x+(16*sx), y+(4*sy), 0, sx, sy, max_w / 2, max_h / 2)\n    elseif o.special.iconstyle == \"dots\" then\n      local num = tostring(o.special.number or 1)\n      love.graphics.draw(sprites[\"levelicon_dots_\"..num], x+(4*sx), y+(4*sy), 0, sx, sy, max_w / 2, max_h / 2)\n    elseif o.special.iconstyle == \"letter\" then\n      local num = o.special.number or 1\n      local letter = (\"abcdefghijklmnopqrstuvwxyz\"):sub(num, num)\n      love.graphics.draw(sprites[\"letter_\"..letter], x, y, 0, sx*3/4, sy*3/4, max_w / 2, max_h / 2)\n    elseif o.special.iconstyle == \"other\" then\n      local sprite = sprites[o.special.iconname or \"wat\"] or sprites[\"wat\"]\n      love.graphics.draw(sprite, x, y, 0, sx*3/4, sy*3/4, sprite:getWidth() / 2, sprite:getHeight() / 2)\n    end\n    love.graphics.pop()\n  end\n\n  if #o.overlay > 0 then\n    local function overlayStencil()\n      pcallSetShader(mask_shader)\n      drawSpriteMaybeOverlay(nil,true)\n      if o.really_smol then\n        love.graphics.translate(x, y)\n        love.graphics.scale(0.75, 0.5)\n        love.graphics.translate(-x, -y)\n      end\n      love.graphics.setShader()\n    end\n    for _,overlay in ipairs(o.overlay) do\n      love.graphics.push()\n      love.graphics.setColor(1, 1, 1)\n      love.graphics.stencil(overlayStencil, \"replace\")\n      local old_test_mode, old_test_value = love.graphics.getStencilTest()\n      love.graphics.setStencilTest(\"greater\", 0)\n      love.graphics.setBlendMode(\"multiply\", \"premultiplied\")\n      drawSpriteMaybeOverlay(\"overlay/\" .. overlay, false, true)\n      love.graphics.setBlendMode(\"alpha\", \"alphamultiply\")\n      love.graphics.setStencilTest(old_test_mode, old_test_value)\n      love.graphics.pop()\n    end\n  end\n\n  love.graphics.pop()\n\n  if o.meta > 0 then\n    setColor{4, 1}\n    local metasprite = o.meta > 2 and sprites[\"meta3\"] or o.meta > 1 and sprites[\"meta2\"] or sprites[\"meta1\"]\n    love.graphics.draw(metasprite, x, y, 0, sx, sy, max_w / 2, max_h / 2)\n    if o.meta > 2 and sx == 1 and sy == 1 then\n      --stroking black outline\n      love.graphics.setColor(0,0,0,1)\n      local xx = round(x)\n      local yy = round(y)\n      if (o.meta >= 10) then\n        local font = fonts[\"metanumber\"];\n        love.graphics.printf(tostring(o.meta), font, xx+8+1, yy+6, 32, \"left\", r, sx, sy, 0, -3)\n        love.graphics.printf(tostring(o.meta), font, xx+8-1, yy+6, 32, \"left\", r, sx, sy, 0, -3)\n        love.graphics.printf(tostring(o.meta), font, xx+8, yy+6+1, 32, \"left\", r, sx, sy, 0, -3)\n        love.graphics.printf(tostring(o.meta), font, xx+8, yy+6-1, 32, \"left\", r, sx, sy, 0, -3)\n        setColor{4, 1}\n        love.graphics.printf(tostring(o.meta), font, xx+8, yy+6, 32, \"left\", r, sx, sy, 0, -3)\n      else\n        local font = fonts[\"8bitoperator\"];\n        love.graphics.printf(tostring(o.meta), font, xx+8+1, yy+6-1, 32, \"left\")\n        love.graphics.printf(tostring(o.meta), font, xx+8-1, yy+6-1, 32, \"left\")\n        love.graphics.printf(tostring(o.meta), font, xx+8+1, yy+6+1, 32, \"left\")\n        love.graphics.printf(tostring(o.meta), font, xx+8-1, yy+6+1, 32, \"left\")\n        setColor{4, 1}\n        love.graphics.printf(tostring(o.meta), font, xx+8, yy+6, 32, \"left\")\n      end\n      \n    end\n  end\n  if o.nt then\n    setColor{2, 2}\n    local ntsprite = sprites[\"n't\"]\n    love.graphics.draw(ntsprite, x, y, 0, sx, sy, max_w / 2, max_h / 2)\n  end\n  if displayids then\n    setColor{1, 4}\n    love.graphics.printf(tostring(o.id), x-3, y-18, 32, \"center\")\n  end\nend\n\nfunction addGroup(name, subset)\n  if not group_names_set[name] then\n    table.insert(group_names, name)\n    table.insert(group_names_nt, name..\"n't\")\n    group_names_set[name] = true\n    group_names_set_nt[name..\"n't\"] = true\n  end\n  if subset then\n    group_subsets[subset] = group_subsets[subset] or {}\n    if not table.has_value(group_subsets[subset], name) then\n      table.insert(group_subsets[subset], name)\n    end\n  end\nend\n\nfunction findNumber(unit1,unit2,unit3)\n  -- Works assuming you're doing a check from the LEFT to the RIGHT. This means the first number given must be a number!\n  -- If a later unit is not a number, it will simply end the number parsing there and immediately go on.\n  -- Does not support custom letters because i'm bad.\n  -- Second return number is the amount of digits that were valid, in case that's relevant.\n\n  local findDigit = function(unit)\n    --print(fullDump(unit))\n    if unit and unit.type and unit.type.letter and unit.name then\n      --print(\"name\"..unit.name)\n      return tonumber( unit.name )\n    end\n  end\n\n  --if unit.special and unit.special.customletter then return tonumber(unit.special.customletter) end\n  local t1 = findDigit(unit1)\n  if not t1 then return nil end\n  local t2 = findDigit(unit2)\n  if not t2 then return t1,1 end\n  local t3 = findDigit(unit3)\n  if not t3 then return t1..t2,2 end\n\n  return t1..t2..t3,3\nend\n\nfunction getUnitStr(unit)\n  local str = unit.fullname\n  if unit.color_override then\n    str = str .. \"|\" .. table.concat(unit.color_override, \",\")\n  end\n  return str\nend\n\nfunction loadMod()\n  if love.filesystem.getInfo(getWorldDir(true)..\"/assets/lua/mod.lua\") then\n    local lua_dir = getWorldDir(true)..\"/assets/lua\"\n    local old_require_path = love.filesystem.getRequirePath()\n    love.filesystem.setRequirePath(lua_dir..\"/?.lua;\"..lua_dir..\"/?/init.lua\")\n    local mod = love.filesystem.load(lua_dir..\"/mod.lua\")()\n    if type(mod) == \"table\" then\n      loaded_mod = mod\n      if mod.load then\n        mod.load()\n      end\n      if mod.createTab then\n        local grid = mod.createTab()\n        local tab = #tile_grid + 1\n\n        table.insert(selector_grid_contents, grid)\n        tile_grid[tab] = {}\n        for i,tile_name in ipairs(grid) do\n          if i then\n            tile_grid[tab][i-1] = tile_name\n          else\n            tile_grid[tab][i-1] = nil\n          end\n        end\n\n        custom_selector_grid = grid\n        custom_selector_tab = tab\n      end\n    end\n    love.filesystem.setRequirePath(old_require_path)\n  end\nend\n\nfunction unloadMod()\n  if loaded_mod then\n    if loaded_mod.unload() then\n      loaded_mod.unload()\n    end\n    if custom_selector_tab then\n      tile_grid[custom_selector_tab] = nil\n      selector_grid_contents[custom_selector_tab] = nil\n      if secret_miku_location and secret_miku_location[1] == custom_selector_tab then\n        secret_miku_location = nil\n      end\n      custom_selector_grid = nil\n      custom_selector_tab = nil\n    end\n    loaded_mod = nil\n  end\nend\n\nfunction log(str)\n  table.insert(logs, {str})\nend\nfunction log_error(str)\n  table.insert(logs, {str, 'error'})\nend\nfunction log_debug(str)\n  table.insert(logs, {str, 'debug'})\nend\n"
  },
  {
    "path": "values.lua",
    "content": "RELEASE_BUILD = false\n\nDEFAULT_WIDTH = 800\nDEFAULT_HEIGHT = 600\n\nANIM_TIMER = 180\nMAX_MOVE_TIMER = 80\nMAX_UNDO_DELAY = 150\nMIN_UNDO_DELAY = 50\nUNDO_SPEED = 5\nUNDO_DELAY = MAX_UNDO_DELAY\nrepeat_keys = {\"wasd\",\"udlr\",\"numpad\",\"ijkl\",\"space\",\"undo\"}\n\nis_mobile = love.system.getOS() == \"Android\" or love.system.getOS() == \"iOS\"\nemulating_mobile = false\n--is_mobile = \n\nPACK_UNIT_V1 = \"hhhb\" -- TILE, X, Y, DIR\nPACK_UNIT_V2 = \"hhhhbs\" -- ID, TILE, X, Y, DIR, SPECIALS\nPACK_UNIT_V3 = \"llhhbs\" -- ID, TILE, X, Y, DIR, SPECIALS\n\nPACK_SPECIAL_V2 = \"ss\" -- KEY, VALUE\n\nprofile = {\n  name = \"bab\"\n}\n\ndefaultsettings = {\n  master_vol = 1,\n  music_on = true,\n  music_vol = 1,\n  sfx_on = true,\n  sfx_vol = 1,\n  focus_sound = true,\n  rhythm_interval = 1,\n  particles_on = true,\n  shake_on = true,\n  scribble_anim = true,\n  light_on = true,\n  lessflashing = false,\n  int_scaling = true,\n  input_delay = 150,\n  grid_lines = false,\n  mouse_lines = false,\n  stopwatch_effect = true,\n  fullscreen = false,\n  focus_pause = false,\n  level_compression = \"zlib\",\n  draw_editor_lins = true,\n  infomode = false,\n  scroll_on = true,\n  menu_anim = true,\n  themes = true,\n  autoupdate = true,\n  print_to_screen = false,\n  unfinished_words = false,\n}\n\nif love.filesystem.read(\"Settings.bab\") ~= nil then\n  settings = json.decode(love.filesystem.read(\"Settings.bab\"))\n  for i in pairs(defaultsettings) do\n    if settings[i] == nil then\n      settings[i] = defaultsettings[i]\n    end\n  end\nelse\n  settings = defaultsettings\nend\n\ndebug_view= false\nsuperduperdebugmode = false\ndebug_values = {\n\n}\n\nrainbowmode = false\n\ndisplayids = false\n\nif love.filesystem.getInfo(\"build_number\") ~= nil then\n  build_number = love.filesystem.read(\"build_number\")\nelse\n  build_number = \"HEY, READ THE README!\"\nend\n\nruleparts = {\"subject\", \"verb\", \"object\"}\n\ndirs = {{1,0},{0,1},{-1,0},{0,-1}}\ndirs_by_name = {\n  right = 1,\n  down = 2,\n  left = 3,\n  up = 4\n}\ndirs_by_offset = {}\ndirs_by_offset[-1],dirs_by_offset[0],dirs_by_offset[1] = {},{},{}\ndirs_by_offset[1][0] = 1\ndirs_by_offset[0][1] = 2\ndirs_by_offset[-1][0] = 3\ndirs_by_offset[0][-1] = 4\ndirs8 = {{1,0},{1,1},{0,1},{-1,1},{-1,0},{-1,-1},{0,-1},{1,-1}}\ndirs8_by_name = {\n  \"right\",\n  \"downright\",\n  \"down\",\n  \"downleft\",\n  \"left\",\n  \"upleft\",\n  \"up\",\n  \"upright\",\n}\n\ndirs8_by_name_set = {};\nfor _,dir in ipairs(dirs8_by_name) do\n  dirs8_by_name_set[dir] = true\nend\n\ndirs8_by_offset = {}\ndirs8_by_offset[-1],dirs8_by_offset[0],dirs8_by_offset[1] = {},{},{}\ndirs8_by_offset[1][0] = 1\ndirs8_by_offset[1][1] = 2\ndirs8_by_offset[0][1] = 3\ndirs8_by_offset[-1][1] = 4\ndirs8_by_offset[-1][0] = 5\ndirs8_by_offset[-1][-1] = 6\ndirs8_by_offset[0][-1] = 7\ndirs8_by_offset[1][-1] = 8\nTILE_SIZE = 32\n\nmapwidth = 21\nmapheight = 15\n\nmap_music = \"map\"\nmap_ver = 1\n\ndefault_map = '{\"width\":21,\"version\":5,\"extra\":false,\"author\":\"\",\"compression\":\"zlib\",\"background_sprite\":\"\",\"height\":15,\"next_level\":\"\",\"puffs_to_clear\":0,\"parent_level\":\"\",\"is_overworld\":false,\"palette\":\"default\",\"music\":\"map\",\"name\":\"new level\",\"map\":\"eJyNkUEKgzAQRa8i7gpZdGKrtpKziJqxBIJKjKCId2+SFu2mJotk9d7nM5/3keybSkYlW1ctJLJYz7qsqzomMwMiuPkW88YBG1FJtm6EC8VgI784Wppamp7T32CHJgbNzoMnCycWvvlbDArH0QoPK9yNkJ4LLd3p1N+FIhd6FzIj5IF9wN0xDygEB/4IaDRIXA4Drv5OrexfzsicEbwt5I73rLunf+iAgZ8Xx7uTwp+Nt0KhnlQXlQV2/A10B+gd\"}'\n\nmain_palette_for_colour = {\nblacc = {0, 4},\nreed = {2, 2}, \norang = {2, 3},\nyello = {2, 4},\ngrun = {5, 2},\ncyeann = {1, 4},\nbleu = {1, 3},\npurp = {3, 1},\nwhit = {0, 3},\npinc = {4, 1},\ngraey = {0, 1},\nbrwn = {6, 0},\n}\ncolor_names = {\"reed\", \"orang\", \"yello\", \"grun\", \"cyeann\", \"bleu\", \"purp\", \"pinc\", \"whit\", \"blacc\", \"graey\", \"brwn\"}\n\ncolour_for_palette = {}\ncolour_for_palette[0] = {}\ncolour_for_palette[0][0] = \"blacc\"\ncolour_for_palette[0][1] = \"graey\"\ncolour_for_palette[0][2] = \"graey\"\ncolour_for_palette[0][3] = \"whit\"\ncolour_for_palette[0][4] = \"blacc\"\ncolour_for_palette[1] = {}\ncolour_for_palette[1][0] = \"blacc\"\ncolour_for_palette[1][1] = \"bleu\"\ncolour_for_palette[1][2] = \"bleu\"\ncolour_for_palette[1][3] = \"bleu\"\ncolour_for_palette[1][4] = \"cyeann\"\ncolour_for_palette[2] = {}\ncolour_for_palette[2][0] = \"reed\"\ncolour_for_palette[2][1] = \"reed\"\ncolour_for_palette[2][2] = \"reed\"\ncolour_for_palette[2][3] = \"orang\"\ncolour_for_palette[2][4] = \"yello\"\ncolour_for_palette[3] = {}\ncolour_for_palette[3][0] = \"pinc\"\ncolour_for_palette[3][1] = \"purp\"\ncolour_for_palette[3][2] = \"purp\"\ncolour_for_palette[3][3] = \"purp\"\ncolour_for_palette[3][4] = nil\ncolour_for_palette[4] = {}\ncolour_for_palette[4][0] = \"pinc\"\ncolour_for_palette[4][1] = \"pinc\"\ncolour_for_palette[4][2] = \"pinc\"\ncolour_for_palette[4][3] = nil\ncolour_for_palette[4][4] = nil\ncolour_for_palette[5] = {}\ncolour_for_palette[5][0] = \"grun\"\ncolour_for_palette[5][1] = \"grun\"\ncolour_for_palette[5][2] = \"grun\"\ncolour_for_palette[5][3] = \"grun\"\ncolour_for_palette[5][4] = nil\ncolour_for_palette[6] = {}\ncolour_for_palette[6][0] = \"brwn\"\ncolour_for_palette[6][1] = \"brwn\"\ncolour_for_palette[6][2] = \"brwn\"\ncolour_for_palette[6][3] = \"brwn\"\ncolour_for_palette[6][4] = \"blacc\"\n\n--anti replacements for easy words\nanti_word_replacements = {\n  stubbn = \"shy...\",\n  [\"shy...\"] = \"stubbn\",\n  nogo = \"icyyyy\",\n  goawaypls = \"comepls\",\n  push = \"comepls\",\n  comepls = \"goawaypls\",\n  haetskye = \"haetflor\",\n  haetflor = \"haetskye\",\n  diag = \"ortho\",\n  ortho = \"diag\",\n  turncornr = \"folowal\",\n  folowal = \"turncornr\",\n  rotatbl = \"noturn\",\n  noturn = \"rotatbl\",\n  right = \"left\",\n  downright = \"upleft\",\n  down = \"up\",\n  downleft = \"upright\",\n  left = \"right\",\n  upleft = \"downright\",\n  up = \"down\",\n  upright = \"downleft\",\n  thicc = \"babby\",\n  [\":)\"] = \"un:)\",\n  [\"un:)\"] = \":)\",\n  nedkee = \"fordor\",\n  fordor = \"nedkee\",\n  hotte = \"fridgd\",\n  fridgd = \"hotte\",\n  cool = \"hotte\",\n  thingify = \"txtify\",\n  txtify = \"thingify\",\n  [\"n'tify\"] = \"ify\",\n  [\"ify\"] = \"n'tify\",\n  [\"n'tifyyy\"] = \"ify\",\n  notranform = \"tranz\",\n  noundo = \"undo\",\n  undo = \"noundo\",\n  brite = \"tranparnt\",\n  tranparnt = \"brite\",\n  gone = \"zomb\",\n  zomb = \"gone\",\n  reed = \"cyeann\",\n  orang = \"bleu\",\n  yello = \"purp\",\n  grun = \"pinc\",\n  cyeann = \"reed\",\n  bleu = \"orang\",\n  purp = \"yello\",\n  pinc = \"grun\",\n  whit = \"blacc\",\n  graey = \"graey\",\n  blacc = \"whit\",\n  brwn = \"cyeann\",\n  creat = \"snacc\",\n  snacc = \"creat\",\n  liek = \"haet\",\n  haet = \"liek\",\n  lookat = \"lookaway\",\n  lookaway = \"lookat\",\n  corekt = \"rong\",\n  rong = \"corekt\",\n  seenby = \"behind\",\n  behind = \"seenby\",\n  halfstep = \"hopovr\",\n}\n\nanti_word_reverses = {\n  wont = true,\n  oob = true,\n  frenles = true,\n  timles = true,\n  lit = true,\n  alt = true,\n  past = true,\n  wun = true,\n  an = true,\n  mayb = true,\n  [\"wait...\"] = true,\n  [\"w/fren\"] = true,\n  arond = true,\n  sans = true,\n  meow = true,\n}\n\nanti_verb_mirrors = {\n  be = true,\n  got = true,\n  paint = true,\n  rp = true,\n}\n\n--in palettes: (3,4) is main title buttons, (4,4) is level buttons, (5,4) is extras\nmenu_palettes = {\n  \"autumn\",\n  \"cauliflower\",\n  \"default\",\n  \"edge\",\n  \"factory\",\n  \"garden\",\n  \"greenfault\",\n  \"mountain\",\n  \"ocean\",\n  \"redfault\",\n  \"ruins\",\n  \"space\",\n  \"variant\",\n  \"volcano\",\n}\n\ncustom_letter_quads = {\n  {}, -- single letters will always use actual letter units, not custom letter units\n  {\n    {love.graphics.newQuad(0, 0, 16, 32, 64, 64), 0, 0},\n    {love.graphics.newQuad(16, 0, 16, 32, 64, 64), 16, 0},\n  },\n  {\n    {love.graphics.newQuad(32, 0, 16, 16, 64, 64), 0, 0},\n    {love.graphics.newQuad(48, 0, 16, 16, 64, 64), 16, 0},\n    {love.graphics.newQuad(0, 48, 32, 16, 64, 64), 0, 16},\n  },\n  {\n    {love.graphics.newQuad(32, 0, 16, 16, 64, 64), 0, 0},\n    {love.graphics.newQuad(48, 0, 16, 16, 64, 64), 16, 0},\n    {love.graphics.newQuad(32, 16, 16, 16, 64, 64), 0, 16},\n    {love.graphics.newQuad(48, 16, 16, 16, 64, 64), 16, 16},\n  },\n  {\n    {love.graphics.newQuad(0, 32, 16, 16, 64, 64), 0, 0},\n    {love.graphics.newQuad(16, 32, 16, 16, 64, 64), 16, 0},\n    {love.graphics.newQuad(32, 48, 11, 16, 64, 64), 0, 16},\n    {love.graphics.newQuad(43, 48, 10, 16, 64, 64), 11, 16},\n    {love.graphics.newQuad(53, 48, 11, 16, 64, 64), 21, 16},\n  },\n  {\n    {love.graphics.newQuad(32, 32, 11, 16, 64, 64), 0, 0},\n    {love.graphics.newQuad(43, 32, 10, 16, 64, 64), 11, 0},\n    {love.graphics.newQuad(53, 32, 11, 16, 64, 64), 21, 0},\n    {love.graphics.newQuad(32, 48, 11, 16, 64, 64), 0, 16},\n    {love.graphics.newQuad(43, 48, 10, 16, 64, 64), 11, 16},\n    {love.graphics.newQuad(53, 48, 11, 16, 64, 64), 21, 16},\n  },\n}\n\nselector_grid_contents = {\n  -- page 1: default\n  {\n    0, \"txt_be\", \"txt_&\", \"txt_got\", \"txt_nt\", \"txt_every1\", \"txt_no1\", \"txt_txt\", \"txt_wurd\", \"txt_txtify\", 0, \"txt_wait...\", \"txt_mous\", \"txt_clikt\", \"txt_nxt\", \"txt_stayther\", \"lvl\", \"txt_lvl\",\n    \"bab\", \"txt_bab\", \"txt_u\", \"kee\", \"txt_kee\", \"txt_fordor\", \"txt_goooo\", \"txt_icy\", \"txt_icyyyy\", \"txt_behinu\", \"txt_moar\", \"txt_sans\", \"txt_liek\", \"txt_infloop\", \"lin\", \"txt_lin\", \"selctr\", \"txt_selctr\",\n    \"keek\", \"txt_keek\", \"txt_walk\", \"dor\", \"txt_dor\", \"txt_nedkee\", \"txt_frens\", \"txt_gang\", \"txt_utoo\", \"txt_utres\", \"txt_delet\", \"txt_an\", \"txt_haet\", \"txt_mayb\", \"txt_that\", \"txt_ignor\", \"txt_curse\", \"txt_...\",\n    \"flog\", \"txt_flog\", \"txt_:)\", \"colld\", \"txt_colld\", \"txt_fridgd\", \"txt_direction\", \"txt_ouch\", \"txt_slep\", \"txt_protecc\", \"txt_sidekik\", \"txt_brite\", \"txt_lit\", \"txt_tranparnt\", \"txt_torc\", \"txt_vs\", \"txt_nuek\", \"txt_''\",\n    \"roc\", \"txt_roc\", \"txt_goawaypls\", \"laav\", \"txt_laav\", \"txt_hotte\",\"txt_visitfren\", \"txt_w/fren\", \"txt_arond\", \"txt_frenles\", \"txt_copkat\", \"txt_zawarudo\", \"txt_timles\", \"txt_behind\", \"txt_beside\", \"txt_lookaway\", \"txt_notranform\", \"this\",\n    \"wal\", \"txt_wal\", \"txt_nogo\", \"l..uv\", \"txt_l..uv\", \"gras\", \"txt_gras\", \"txt_creat\", \"txt_lookat\", \"txt_spoop\", \"txt_yeet\", \"txt_turncornr\", \"txt_corekt\", \"txt_goarnd\", \"txt_mirrarnd\", \"txt_past\", 0, \"txt_sing\",\n    \"watr\", \"txt_watr\", \"txt_noswim\", \"meem\", \"txt_meem\", \"dayzy\", \"txt_dayzy\", \"txt_snacc\", \"txt_seenby\" , \"txt_stalk\", \"txt_moov\", \"txt_folowal\", \"txt_rong\", \"txt_her\", \"txt_thr\", \"txt_rithere\", \"txt_the\", 0,\n    \"skul\", \"txt_skul\", \"txt_:(\", \"til\", \"txt_til\", \"hurcane\", \"txt_hurcane\", \"gunne\", \"txt_gunne\", \"wog\", \"txt_wog\", 0, \"txt_shy...\", \"txt_munwalk\", \"txt_sidestep\", \"txt_diagstep\", \"txt_hopovr\", \"txt_knightstep\",\n    \"boux\", \"txt_boux\", \"txt_comepls\", \"os\", \"txt_os\", \"bup\", \"txt_bup\", \"han\", \"txt_han\", \"fenss\", \"txt_fenss\", 0, 0, \"hol\", \"txt_hol\", \"txt_poortoll\", \"txt_blacc\", \"txt_reed\",\n    \"bellt\", \"txt_bellt\", \"txt_go\", \"tre\", \"txt_tre\", \"piler\", \"txt_piler\", \"hatt\", \"txt_hatt\", \"hedg\", \"txt_hedg\", 0, 0, \"rif\", \"txt_rif\", \"txt_glued\", \"txt_whit\", \"txt_orang\",\n    \"boll\", \"txt_boll\", \"txt_:o\", \"frut\", \"txt_frut\", \"kirb\", \"txt_kirb\", \"katany\", \"txt_katany\", \"metl\", \"txt_metl\", 0, 0, 0, 0, \"txt_enby\", \"txt_colrful\", \"txt_yello\",\n    \"clok\", \"txt_clok\", \"txt_tryagain\", \"txt_noundo\", \"txt_undo\", \"slippers\", \"txt_slippers\", \"firbolt\", \"txt_firbolt\", \"jail\", \"txt_jail\", 0, 0, 0, 0, \"txt_tranz\", \"txt_rave\", \"txt_grun\",\n    \"splittr\", \"txt_splittr\", \"txt_split\", \"steev\", \"txt_steev\", \"boy\", \"txt_boy\", \"icbolt\", \"txt_icbolt\", \"platfor\", \"txt_platfor\", \"chain\", \"txt_chain\", 0, 0, \"txt_gay\", \"txt_stelth\", \"txt_cyeann\",\n    \"chekr\", \"txt_chekr\", \"txt_diag\", \"txt_ortho\", \"txt_haetflor\", \"arro\", \"txt_arro\", \"txt_gomyway\", \"txt_spin\", \"txt_noturn\", \"txt_stubbn\", \"txt_rotatbl\", 0, 0, \"txt_pinc\", \"txt_qt\", \"txt_paint\", \"txt_bleu\",\n    \"clowd\", \"txt_clowd\", \"txt_flye\", \"txt_tall\", \"txt_haetskye\", \"ghostfren\", \"txt_ghostfren\", \"robobot\", \"txt_robobot\", \"sparkl\", \"txt_sparkl\", \"spik\", \"txt_spik\", \"spiky\", \"txt_spiky\", \"bordr\", \"txt_bordr\", \"txt_purp\",\n    nil\n  },\n  -- page 2: letters\n  {\n    \"letter_a\",\"letter_b\",\"letter_c\",\"letter_d\",\"letter_e\",\"letter_f\",\"letter_g\",\"letter_h\",\"letter_i\",\"letter_j\",\"letter_k\",\"letter_l\",\"letter_m\",\"letter_n\",\"letter_o\",\"letter_p\",\"letter_q\",\"letter_r\",\n    \"letter_s\",\"letter_t\",\"letter_u\",\"letter_v\",\"letter_w\",\"letter_x\",\"letter_y\",\"letter_z\",\"letter_.\",\"letter_colon\",\"letter_parenthesis\",\"letter_'\",\"letter_/\",\"letter_1\",\"letter_2\",\"letter_3\",\"letter_4\",\"letter_5\",\n    0,0,0,0,0,0,0,\"letter_π\",\"letter_$\",\"letter_;\",\"letter_>\",0,0,\"letter_6\",\"letter_7\",\"letter_8\",\"letter_9\",\"letter_o\",\n\t\"letter_go\",\"letter_come\",\"letter_pls\",\"letter_away\",\"letter_my\",\"letter_no\",\"letter_way\",\"letter_ee\",\"letter_fren\",\"letter_ll\",\"letter_bolt\",\"letter_ol\",0,0,0,\"letter_*\",\"txt_numa\",\"txt_lethers\",\n\t\"txt_c_sharp\",\"txt_d_sharp\",\"txt_f_sharp\",\"txt_g_sharp\",\"txt_a_sharp\",\"txt_sharp\",\"txt_flat\",0,0,0,0,0,0,0,0,0,0,0,\n  },\n  -- page 3: ui / instructions\n  {\n    \"ui_esc\",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n    \"ui_tab\",\"ui_q\",\"ui_w\",\"ui_e\",\"ui_r\",\"ui_t\",\"ui_y\",\"ui_u\",\"ui_i\",\"ui_o\",\"ui_p\",\"ui_[\",\"ui_-\",\"ui_=\",\"ui_`\",\"ui_7\",\"ui_8\",\"ui_9\",\n    \"ui_cap\",\"ui_a\",\"ui_s\",\"ui_d\",\"ui_f\",\"ui_g\",\"ui_h\",\"ui_j\",\"ui_k\",\"ui_l\",\"ui_;\",\"ui_'\",\"ui_return\",0,0,\"ui_4\",\"ui_5\",\"ui_6\",\n    \"ui_shift\",0,\"ui_z\",\"ui_x\",\"ui_c\",\"ui_v\",\"ui_b\",\"ui_n\",\"ui_m\",\"ui_,\",\"ui_.\",\"ui_/\",0,0,0,\"ui_1\",\"ui_2\",\"ui_3\",\n    \"ui_ctrl\",\"ui_gui\",\"ui_alt\",0,\"ui_space\",0,0,0,0,0,0,0,0,0,0,\"ui_arrow\",\"ui_0\",\"ui_del\",\n    \"txt_press\",\"txt_f1\",\"txt_2pley\",\"txt_f2\",\"txt_2edit\",\"ui_leftclick\",\"ui_rightclick\",0,0,0,0,0,0,0,0,0,\"txt_yuiy\",\"ui_box\",\n    0,\"ui_walk\",0,0,\"ui_reset\",0,0,\"ui_undo\",0,0,\"ui_wait\",0,0,\"ui_activat\",0,0,\"ui_clik\",0,0,0,0,\n  },\n  -- page 4: characters and special objects\n  {\n    \"bab\",\"txt_bab\",\"kat\",\"txt_kat\",\"flof\",\"txt_flof\",\"babby\",\"txt_babby\",\"bad\",\"txt_bad\",\"fof\",\"txt_fof\",0,0,\"lila\",\"txt_lila\",\"vite\",\"txt_vite\",\n    \"keek\",\"txt_keek\",\"creb\",\"txt_creb\",\"shrim\",\"txt_shrim\",\"moo\",\"txt_moo\",\"toby\",\"txt_toby\",\"jij\",\"txt_jij\",0,0,\"pata\",\"txt_pata\",\"jill\",\"txt_jill\",\n    \"meem\",\"txt_meem\",\"statoo\",\"txt_statoo\",\"flamgo\",\"txt_flamgo\",\"migri\",\"txt_migri\",\"temmi\",\"txt_temmi\",\"ballt\",\"txt_ballt\",0,0,\"slab\",\"txt_slab\",\"zsoob\",\"txt_zsoob\",\n    \"skul\",\"txt_skul\",\"beeee\",\"txt_beeee\",\"gul\",\"txt_gul\",\"kva\",\"txt_kva\",\"bunmy\",\"txt_bunmy\",0,0,0,0,\"notnat\",\"txt_notnat\",\"she\",\"txt_she\",\n    \"ghostfren\",\"txt_ghostfren\",\"fishe\",\"txt_fishe\",\"starrfishe\",\"txt_starrfishe\",\"pidgin\",\"txt_pidgin\",\"slogkat\",\"txt_slogkat\",0,0,0,0,\"ally\",\"txt_ally\",\"butcher\",\"txt_butcher\",\n    \"robobot\",\"txt_robobot\",\"snek\",\"txt_snek\",\"sneel\",\"txt_sneel\",\"swan\",\"txt_swan\",\"b..er\",\"txt_b..er\",0,0,0,0,0,0,\"pitta\",\"txt_pitta\",\n    \"wog\",\"txt_wog\",\"bog\",\"txt_bog\",\"enbybog\",\"txt_enbybog\",\"spoder\",\"txt_spoder\",\"niko\",\"txt_niko\",0,0,0,0,0,0,0,0,\n    \"kirb\",\"txt_kirb\",\"ripof\",\"txt_ripof\",\"cavebab\",\"txt_cavebab\",\"detox\",\"txt_detox\",\"nyowo\",\"txt_nyowo\",0,0,0,0,0,0,0,0,\n    \"bup\",\"txt_bup\",\"butflye\",\"txt_butflye\",\"boooo\",\"txt_boooo\",\"prime\",\"txt_prime\",\"grimkid\",\"txt_grimkid\",0,0,0,0,0,0,0,0,\n    \"boy\",\"txt_boy\",\"wurm\",\"txt_wurm\",\"madi\",\"txt_madi\",\"angle\",\"txt_angle\",\"boogie\",\"txt_boogie\",0,0,0,0,0,0,0,0,\n    \"steev\",\"txt_steev\",\"ratt\",\"txt_ratt\",\"badi\",\"txt_badi\",\"dvl\",\"txt_dvl\",\"assh\",\"txt_assh\",0,0,0,0,0,0,0,0,\n    \"han\",\"txt_han\",\"iy\",\"txt_iy\",\"lisp\",\"txt_lisp\",\"paw\",\"txt_paw\",\"humuhumunukunukuapua'a\",\"txt_humuhumunukunukuapua'a\",0,0,0,0,0,0,0,0,\n    \"snoman\",\"txt_snoman\",\"pingu\",\"txt_pingu\",\"der\",\"txt_der\",\"ginn\",\"txt_ginn\",\"snom\",\"txt_snom\",0,0,0,0,0,0,\"square\",\"txt_square\",\n    \"kapa\",\"txt_kapa\",\"urei\",\"txt_urei\",\"ryugon\",\"txt_ryugon\",\"viruse\",\"txt_viruse\",\"slog\",\"txt_slog\",0,0,0,0,0,0,\"triangle\",\"txt_triangle\",\n    \"os\",\"txt_os\",\"hors\",\"txt_hors\",\"mimi\",\"txt_mimi\",\"err\",\"txt_err\",\"scorpino\",\"txt_scorpino\",0,0,0,0,0,0,\"oat\",\"txt_oat\",\n  },\n  -- page 5: inanimate objects\n  {\n    \"wal\",\"txt_wal\",\"bellt\",\"txt_bellt\",\"hurcane\",\"txt_hurcane\",\"buble\",\"txt_buble\",\"katany\",\"txt_katany\",\"petnygrame\",\"txt_petnygrame\",\"firbolt\",\"txt_firbolt\",\"hol\",\"txt_hol\",\"golf\",\"txt_golf\",\n    \"til\",\"txt_til\",\"arro\",\"txt_arro\",\"clowd\",\"txt_clowd\",\"snoflak\",\"txt_snoflak\",\"gunne\",\"txt_gunne\",\"scarr\",\"txt_scarr\",\"litbolt\",\"txt_litbolt\",\"rif\",\"txt_rif\",\"paint\",\"txt_paint\",\n    \"watr\",\"txt_watr\",\"colld\",\"txt_colld\",\"rein\",\"txt_rein\",\"icecub\",\"txt_icecub\",\"slippers\",\"txt_slippers\",\"pudll\",\"txt_pudll\",\"icbolt\",\"txt_icbolt\",\"win\",\"txt_win\",\"press\",\"txt_press\",\n    \"laav\",\"txt_laav\",\"dor\",\"txt_dor\",\"kee\",\"txt_kee\",\"roc\",\"txt_roc\",\"hatt\",\"txt_hatt\",\"extre\",\"txt_extre\",\"poisbolt\",\"txt_poisbolt\",\"smol\",\"txt_smol\",\"pumkin\",\"txt_pumkin\",\n    \"gras\",\"txt_gras\",\"algay\",\"txt_algay\",\"flog\",\"txt_flog\",\"boux\",\"txt_boux\",\"knif\",\"txt_knif\",\"heg\",\"txt_heg\",\"timbolt\",\"txt_timbolt\",\"tor\",\"txt_tor\",\"grav\",\"txt_grav\",\n    \"hedg\",\"txt_hedg\",\"banboo\",\"txt_banboo\",\"boll\",\"txt_boll\",\"l..uv\",\"txt_l..uv\",\"wips\",\"txt_wips\",\"pepis\",\"txt_pepis\",\"pixbolt\",\"txt_pixbolt\",\"dling\",\"txt_dling\",\"pen\",\"txt_pen\",\n    \"metl\",\"txt_metl\",\"vien\",\"txt_vien\",\"leef\",\"txt_leef\",\"karot\",\"txt_karot\",\"fir\",\"txt_fir\",\"eeg\",\"txt_eeg\",\"foreeg\",\"txt_foreeg\",\"forbeeee\",\"txt_forbeeee\",\"cil\",\"txt_cil\",\n    \"jail\",\"txt_jail\",\"ladr\",\"txt_ladr\",\"pallm\",\"txt_pallm\",\"coco\",\"txt_coco\",\"rouz\",\"txt_rouz\",\"noet\",\"txt_noet\",\"lili\",\"txt_lili\",\"weeb\",\"txt_weeb\",\"3den\",\"txt_3den\",\n    \"fenss\",\"txt_fenss\",\"platfor\",\"txt_platfor\",\"tre\",\"txt_tre\",\"stum\",\"txt_stum\",\"dayzy\",\"txt_dayzy\",\"lie\",\"txt_lie\",\"reffil\",\"txt_reffil\",\"ofin\",\"txt_ofin\",\"ches\",\"txt_ches\",\n    \"cobll\",\"txt_cobll\",\"spik\",\"txt_spik\",\"frut\",\"txt_frut\",\"fungye\",\"txt_fungye\",\"red\",\"txt_red\",\"lie/8\",\"txt_lie/8\",\"vlc\",\"txt_vlc\",\"foru\",\"txt_foru\",\"rod\",\"txt_rod\",\n    \"wuud\",\"txt_wuud\",\"spiky\",\"txt_spiky\",\"parsol\",\"txt_parsol\",\"clok\",\"txt_clok\",\"ufu\",\"txt_ufu\",\"rockit\",\"txt_rockit\",\"swim\",\"txt_swim\",\"yanying\",\"txt_yanying\",\"casete\",\"txt_casete\",\n    \"brik\",\"txt_brik\",\"sparkl\",\"txt_sparkl\",\"sanglas\",\"txt_sanglas\",\"bullb\",\"txt_bullb\",\"son\",\"txt_son\",\"muun\",\"txt_muun\",\"bac\",\"txt_bac\",\"warn\",\"txt_warn\",\"piep\",\"txt_piep\",\n    \"san\",\"txt_san\",\"piler\",\"txt_piler\",\"sancastl\",\"txt_sancastl\",\"shel\",\"txt_shel\",\"starr\",\"txt_starr\",\"cor\",\"txt_cor\",\"byc\",\"txt_byc\",\"gorder\",\"txt_gorder\",\"tuba\",\"txt_tuba\",\n    \"glas\",\"txt_glas\",\"bom\",\"txt_bom\",\"sine\",\"txt_sine\",\"kar\",\"txt_kar\",\"can\",\"txt_can\",\"ger\",\"txt_ger\",\"sirn\",\"txt_sirn\",\"chain\",\"txt_chain\",\"sloop\",\"txt_sloop\",\n    0,0,\"wut\",\"txt_wut\",\"wat\",\"txt_wat\",\"splittr\",\"txt_splittr\",\"toggl\",\"txt_toggl\",\"bon\",\"txt_bon\",\"battry\",\"txt_battry\",\"chekr\",\"txt_chekr\",\"do$h\",\"txt_do$h\",\n  },\n  -- page 6: more inanimate objects\n  {\n    \"fube\",\"txt_fube\",\"tronk\",\"txt_tronk\",\"cart\",\"txt_cart\",\"drop\",\"txt_drop\",\"woosh\",\"txt_woosh\",\"tanc\",\"txt_tanc\",\"gato\",\"txt_gato\",\"painbuct\",\"txt_painbuct\",\"sinyroc\",\"txt_sinyroc\",\n    \"colect\",\"txt_colect\",\"zig\",\"txt_zig\",\"pixl\",\"txt_pixl\",\"prop\",\"txt_prop\",\"qb\",\"txt_qb\",\"panlie\",\"txt_panlie\",\"cheez\",\"txt_cheez\",\"nuzt\",\"txt_nuzt\",\"xplod\",\"txt_xplod\",\n    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n    \"whee\",\"txt_whee\",\"joycon\",\"txt_joycon\",0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n    0,0,\"wan\",\"txt_wan\",\"mug\",\"txt_mug\",\"die\",\"txt_die\",0,0,0,0,0,0,0,0,0,0,\n    \"sno\",\"txt_sno\",\"bel\",\"txt_bel\",\"wres\",\"txt_wres\",\"bowie\",\"txt_bowie\",\"sant\",\"txt_sant\",\"canedy\",\"txt_canedy\",\"bolble\",\"txt_bolble\",\"now\",\"txt_now\",\"cooky\",\"txt_cooky\",\n    0,0,\"pot\",\"txt_pot\",\"sweep\",\"txt_sweep\",\"candl\",\"txt_candl\",\"which\",\"txt_which\",\"corndy\",\"txt_corndy\",\"maglit\",\"txt_maglit\",\"cracc\",\"txt_cracc\",0,0,\n    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n  },\n  -- page 7: properties, verbs and conditions\n  {\n    \"txt_be\",\"txt_&\",\"txt_got\",\"txt_creat\",\"txt_snacc\",\"txt_spoop\",\"txt_copkat\",\"txt_moov\",\"txt_yeet\",\"txt_liek\",\"txt_haet\",\"txt_stalk\",\"txt_ignor\",\"txt_paint\",\"txt_vs\",\"txt_sing\",\"txt_soko\",\"txt_lookat\",\n    \"txt_u\",\"txt_utoo\",\"txt_utres\",\"txt_y'all\",\"txt_w\",\"txt_:)\",\"txt_noswim\",\"txt_ouch\",\"txt_protecc\",0,\"txt_nxt\",\"txt_stayther\",\"txt_wont\",\"txt_giv\",0,\"txt_rp\",0,\"txt_lookaway\",\n    \"txt_go\",\"txt_goooo\",\"txt_icy\",\"txt_icyyyy\",\"txt_stubbn\",\"txt_:(\",\"txt_nedkee\",\"txt_fordor\",\"txt_wurd\",0,\"txt_infloop\",\"txt_plsdont\",\"txt_oob\",\"txt_frenles\",\"txt_timles\",\"txt_lit\",\"txt_corekt\",\"txt_rong\",\n    \"txt_nogo\",\"txt_goawaypls\",\"txt_comepls\",\"txt_sidekik\",\"txt_diagkik\",\"txt_delet\",\"txt_hotte\",\"txt_fridgd\",\"txt_thingify\",0,\"txt_rythm\",\"txt_curse\",\"txt_alt\",\"txt_clikt\",\"txt_past\",\"txt_wun\",\"txt_an\",\"txt_mayb\",\n    \"txt_visitfren\",\"txt_slep\",\"txt_shy...\",\"txt_behinu\",\"txt_walk\",\"txt_:o\",\"txt_moar\",\"txt_split\",\"txt_txtify\",0,\"txt_dragbl\",\"txt_nodrag\",0,\"txt_wait...\",\"txt_samefloat\",\"txt_samepaint\",\"txt_sameface\",0,\n    \"txt_flye\",\"txt_tall\",\"txt_haetskye\",\"txt_haetflor\",\"txt_zomb\",\"txt_un:)\",\"txt_gone\",\"txt_nuek\",\"txt_n'tify\",0,0,0,0,\"txt_w/fren\",\"txt_arond\",\"txt_sans\",\"txt_seenby\",\"txt_behind\",\n    \"txt_diag\",\"txt_ortho\",\"txt_gomyway\",0,0,\"txt_boring\",\"txt_bce\",\"txt_notranform\",\"txt_ify\",0,0,0,0,\"txt_that\",\"txt_thatbe\",\"txt_thatgot\",\"txt_meow\",\"txt_beside\",\n    \"txt_turncornr\",\"txt_folowal\",\"txt_hopovr\",\"txt_reflecc\",0,0,0,0,0,0,0,0,0,\"txt_reed\",\"txt_orang\",\"txt_yello\",\"txt_grun\",\"txt_cyeann\",\n    \"txt_munwalk\",\"txt_sidestep\",\"txt_diagstep\",\"txt_knightstep\",0,\"txt_tryagain\",\"txt_noundo\",\"txt_undo\",\"txt_zawarudo\",\"txt_brite\",\"txt_torc\",\"txt_tranparnt\",0,\"txt_bleu\",\"txt_purp\",\"txt_pinc\",\"txt_whit\",\"txt_graey\",\n    \"txt_spin\",\"txt_rotatbl\",\"txt_noturn\",\"txt_stukc\",0,\"txt_poortoll\",\"txt_goarnd\",\"txt_mirrarnd\",\"txt_glued\",0,0,0,0,0,\"txt_rave\",\"txt_colrful\",\"txt_blacc\",\"txt_brwn\",\n    \"txt_upleft\",\"txt_up\",\"txt_upright\",\"txt_thicc\",0,\"txt_her\",\"txt_thr\",\"txt_rithere\",\"txt_the\",\"txt_deez\",0,0,0,0,\"txt_stelth\",\"txt_qt\",\"txt_thonk\",\"txt_cool\",\n    \"txt_left\",\"txt_direction\",\"txt_right\",0,0,0,0,0,0,0,0,0,0,\"txt_gay\",\"txt_lesbab\",\"txt_tranz\",\"txt_ace\",\"txt_aro\",\n    \"txt_downleft\",\"txt_down\",\"txt_downright\",0,0,\"selctr\",\"txt_selctr\",\"txt_frens\",\"txt_groop\",\"txt_gang\",\"txt_themself\",0,0,\"txt_pan\",\"txt_bi\",\"txt_enby\",\"txt_fluid\",\"txt_πoly\",\n    0,0,0,0,0,\"lvl\",\"txt_lvl\",\"txt_txt\",\"txt_no1\",\"txt_every1\",\"txt_every2\",\"this\",\"txt_mous\",0,0,0,0,0,\n    \"txt_...\",\"txt_''\",\"txt_nt\",\"txt_anti\",0,\"bordr\",\"txt_bordr\",\"lin\",\"txt_lin\",\"txt_lethers\",\"txt_numa\",\"txt_toen\",\"txt_yuiy\",0,0,0,0,0,\n  },\n}\ntile_grid_width = 18\ntile_grid_height = 15\n\nif settings[\"baba\"] then\n  table.insert(selector_grid_contents, {\n    0,\"txt_is\",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n    \"baba\",\"txt_baba\",\"txt_you\",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n    0,0,\"txt_push\",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n  })\nend\n\nif settings[\"unfinished_words\"] then\n  table.insert(selector_grid_contents, {\n    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\"txt_camra\",\"camra\",\n    \"txt_offgrid\",\"txt_rond\",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n    \"txt_halfstep\",0,0,0,0,0,0,0,0,0,0,0,0,0,0,\"aaaaaa\",\"therealqt\",\"zawarudo\",\n    \"txt_every3\",\"txt_n'tifyyy\",0,0,0,0,0,0,0,0,0,0,0,0,\"&\",\"sans\",\"copkat\",\"ditto\",\n    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n  })\nend\n\nspecial_objects = {\"mous\", \"lvl\", \"bordr\", \"no1\", \"this\"}\n"
  }
]