{"pages":{"start":[{"eval":{"script":"\/\/ Create global game scope if not already done\r\nif (!window.game) {\r\n  window.game = new Game({\r\n    \/**\r\n     * Default Verbiage Definitions\r\n     * Use: game.setVerbiage({...}) to add\/modify more later.\r\n     *\/\r\n    verbiage: {\r\n      \/\/ Display these in a Say action by adding:\r\n      \/\/   game.text('myVerbiagePropertyName') \r\n      \/\/ to the action.\r\n      \/\/ Example:\r\n      \/\/   game.text('welcome') \r\n      welcome: [\r\n        \/\/ Example of:\r\n        \/\/ Loading character name with getCharacterName function\r\n        \/\/ Getting counter text using an example global function that was defined in start page eval\r\n        \"Hi!  I'm [getCharacterName]!  I see you've selected a character [exampleCounterTextGetter].\",\r\n        \/\/ Example of:\r\n        \/\/ Loading character name with getCharacterName game scope function\r\n        \/\/ Getting counter value directly from global variable defined in start page\r\n        \"[getCharacterName]\".bold() + \" says hi!  Number of character selections: [exampleCounter]\",\r\n        \/\/ Example of:\r\n        \/\/ Loading character name using object path notation (\"character\" game object, then the \"name\" property from it.)\r\n        \/\/ Getting counter value using getNumberWithOrdinal gobal function, passing it value of the global exampleCounter variable.\r\n        \/\/   (Note the \"$$\" before the exampleCounter argument value.  \r\n        \/\/       If \"$$\" wasn't there, the string \"exampleCounter\" would be passed to getNumberWithOrdinal instead of\r\n        \/\/       the value of exampleCounter)\r\n        \"Hey! I'm [character.name].  Looks like this is the [getNumberWithOrdinal|$$exampleCounter] selection you've made!\",\r\n        \/\/ Add more strings to this array for more random options...\r\n      ],\r\n      tease: [\r\n        \/\/ Example of loading game.getCharacterText('tease') from another game text value.\r\n        \/\/ If the current character is Nikia, then the verbiage 'nikia_tease' would be used.\r\n        \"[getCharacterText|tease]\",\r\n        \/\/ Add more strings to this array for more random options...\r\n      ],\r\n      nikia_tease: [\r\n        \"I wish you could climb into my bed and fuck me silly.\",\r\n        \"Stoke your cock!\",\r\n        \"I love the way you look at me while rubbing your thing.\",\r\n        \/\/ Add more strings to this array for more random options...\r\n      ],\r\n      lily_tease: [\r\n        \"Follow me upstairs while stroking your cock.\",\r\n        \"Stoke your cock!\",\r\n        \"I love the way you look at me while rubbing your thing.\",\r\n        \/\/ Add more strings to this array for more random options...\r\n      ],\r\n      \/\/ Add more named property arrays of strings to this object for more game.text(...) options...\r\n    }\r\n  })\r\n}"}},{"eval":{"script":"\/\/ Initialize our exampleCounter global variable, if we didn't already\r\nwindow.exampleCounter = window.exampleCounter || 0"}},{"eval":{"script":"function exampleCounterTextGetter() {\r\n  \/\/ Example function to get more advanced text from example counter\r\n  if (exampleCounter > 1) {\r\n    return exampleCounter + ' times'\r\n  } else {\r\n    return exampleCounter + ' time'\r\n  }\r\n}"}},{"say":{"label":"<p>Select your character!<\/p>","mode":"instant"}},{"choice":{"options":[{"label":"Lily","commands":[{"eval":{"script":"game.setCharacter('Lily')"}}]},{"label":"Nikia","commands":[{"eval":{"script":"game.setCharacter('Nikia')"}}]}]}},{"goto":{"target":"welcome"}}],"lily-welcome":[{"image":{"locator":"gallery:f557417e-a027-47e8-8bc5-c6b2d827e620\/1286428"}},{"eval":{"script":"returnToCaller()"}}],"lily-tease":[{"image":{"locator":"gallery:f557417e-a027-47e8-8bc5-c6b2d827e620\/*"}},{"eval":{"script":"returnToCaller()"}}],"nikia-welcome":[{"image":{"locator":"gallery:905e7126-6d06-4679-bf8c-e37b4ef4be9b\/1289418"}},{"eval":{"script":"returnToCaller()"}}],"nikia-tease":[{"image":{"locator":"gallery:905e7126-6d06-4679-bf8c-e37b4ef4be9b\/*"}},{"eval":{"script":"returnToCaller()"}}],"welcome":[{"eval":{"script":"game.loadCharacterImage('welcome')"}},{"eval":{"script":"exampleCounter ++ \/\/ Increment our example counter"}},{"say":{"label":"<p><eval>game.text(&#39;welcome&#39;)<\/eval><\/p>","mode":"pause"}},{"goto":{"target":"tease"}}],"tease":[{"eval":{"script":"game.loadCharacterImage('tease')"}},{"say":{"label":"<p><eval>game.text(&#39;tease&#39;)<\/eval><\/p>"}},{"choice":{"options":[{"label":"Again!","commands":[{"eval":{"script":"game.clearImage() \/\/ Reset image, so we can load the same one again"}},{"goto":{"target":"tease"}}]},{"label":"Change","commands":[{"goto":{"target":"start"}}]}]}}]},"galleries":{"f557417e-a027-47e8-8bc5-c6b2d827e620":{"name":"Lily C - Mienne","images":[{"id":1286428,"hash":"3fd6f2bac043aeb8f6da61e88d97d3c3634723ab","size":2791857,"width":3840,"height":5760},{"id":1286429,"hash":"e5246bef19b5fecf9a41a0cbd10ef1ce700e3a75","size":2405896,"width":3840,"height":5760},{"id":1286430,"hash":"e108f9fe0d5a4368925fba459701e1b428f28051","size":2562083,"width":3840,"height":5760},{"id":1286431,"hash":"657a022749cf0fc150f434dc39d2633e719d82ab","size":2233450,"width":3840,"height":5760},{"id":1286432,"hash":"48e4ba9c27c314e1277d02062ceb5030cb5f3a4c","size":2454650,"width":3840,"height":5760},{"id":1286433,"hash":"9db3dd8f1c5ac6fa46e31004d7827f8ad7edcf12","size":2649176,"width":3840,"height":5760},{"id":1286434,"hash":"3e5efd271bbbe3d6fa8e6386e0293f3fd3974c7b","size":2573028,"width":3840,"height":5760},{"id":1286435,"hash":"e224dd0940948fa76e2cf096e758e45810c6d267","size":2383701,"width":3840,"height":5760},{"id":1286436,"hash":"57b14ae0c5c1692cf8c0c1a1a5621185e0ae5fd6","size":2352319,"width":3840,"height":5760},{"id":1286437,"hash":"efae3f979fc5bd20db1fdff2f19d82d2718a6a65","size":2319908,"width":3840,"height":5760},{"id":1286438,"hash":"d658a19ac562ebcabb6dce3a390caa19e5b1b9c7","size":2247437,"width":3840,"height":5760},{"id":1286439,"hash":"2c0dccb8d9f9d50bde806cb7c774e86685964d30","size":2280106,"width":3840,"height":5760},{"id":1286440,"hash":"e3809395f9a988117d5f5a016bc40d59ba7c9c38","size":2398990,"width":3840,"height":5760},{"id":1286441,"hash":"1bbf67be289e6c2d4b7ecf3ca41678ac3a3b25b1","size":2222876,"width":3840,"height":5760},{"id":1286442,"hash":"f6a271eec7608acf355e317d2aa084675dd2b96f","size":2657884,"width":3840,"height":5760},{"id":1286443,"hash":"ffae3ea6e20cdcfcd9de3702e4a5458d9cd058fe","size":2840516,"width":3840,"height":5760},{"id":1286444,"hash":"46d1771e2593e1ab49a3ef8310d15ae6ad972182","size":2636249,"width":3840,"height":5760},{"id":1286445,"hash":"7e9f3a9e2e9f1cb6b5f1061e9ff146ae5f01ac51","size":3033619,"width":3840,"height":5760},{"id":1286446,"hash":"ebc90c09d7b1a825675bf8d81023d0f568d7ec9a","size":2415991,"width":5760,"height":3840},{"id":1286447,"hash":"8c4f0a58aa871fb3472cf2c0d86b1a5b350a42c9","size":2450929,"width":3840,"height":5760},{"id":1286448,"hash":"69a089d6f6709da7eff374c8ceeb5fe35cac437b","size":2215327,"width":3840,"height":5760},{"id":1286449,"hash":"03f77c5c5122092d8960269126857f90fabd1b14","size":2288547,"width":3840,"height":5760},{"id":1286450,"hash":"258609fe998b1d65899a2cec0eff4ed0d3895eba","size":2394933,"width":5760,"height":3840},{"id":1286451,"hash":"35a8bec464c388411bccc3edad869cec6f47ae6f","size":2260273,"width":3840,"height":5760},{"id":1286452,"hash":"71293fc63f2c8bbc3dfe660d375634baeccca4b6","size":2784013,"width":3840,"height":5760},{"id":1286453,"hash":"7bd0fe2c46be40101f4198d2c47e9e6ffe269f09","size":2458385,"width":3840,"height":5760},{"id":1286454,"hash":"a145863e1de6b9405ab5fa2f87c15f57cbe2c134","size":2490356,"width":3840,"height":5760},{"id":1286455,"hash":"be116a37bfef91c83b5086511ed3e1dd7e99c60b","size":2767743,"width":3840,"height":5760},{"id":1286456,"hash":"ae7732c786145985428a5503eb9b6632400b3b13","size":2499950,"width":3840,"height":5760},{"id":1286457,"hash":"b6c09ee9d63c54516aeed07883e0a62240f68c48","size":2760943,"width":3840,"height":5760},{"id":1286458,"hash":"590029ea1d9a2edc2742f028c7249323f67cede1","size":2721578,"width":3840,"height":5760},{"id":1286459,"hash":"7ca3e02b36a138ff6eee5d5af6103ba79a197698","size":2343813,"width":3840,"height":5760},{"id":1286460,"hash":"69dbc1528112779cf2a079d838ced4149f48af98","size":2769025,"width":3840,"height":5760},{"id":1286461,"hash":"d1b866f1c3ab3f33c622a6e783df0855aaaf56a8","size":2487018,"width":3840,"height":5760},{"id":1286462,"hash":"a8c129598aa210a12006d3b6955e9a5f344952b0","size":2310886,"width":3840,"height":5760},{"id":1286463,"hash":"a83fa567ccc067cc91d2b3c6b97fc2224ae6bb3c","size":2653423,"width":3840,"height":5760},{"id":1286464,"hash":"9131860f159ab9107ea58ca1cf6db053dc2d2095","size":2641541,"width":3840,"height":5760},{"id":1286465,"hash":"ad72b6d56cff867a620fc85d115ba668808e08c6","size":2597059,"width":3840,"height":5760},{"id":1286466,"hash":"9b5daaf0b62b7084bb4091ee575dd8fca8d6d31e","size":2286629,"width":3840,"height":5760},{"id":1286467,"hash":"a6b08b12c12082381bdf9b75d676b3ada5f1d0a6","size":2387439,"width":3840,"height":5760},{"id":1286468,"hash":"8ad855d0216fd2cff7fd2579efffee53f3c91fee","size":2399595,"width":3840,"height":5760},{"id":1286469,"hash":"fa01b40b76dbdd927cd652df956d99c4c5143c15","size":2432065,"width":3840,"height":5760},{"id":1286470,"hash":"1172d6446e7363c21612d15fb120fa308ea4a83d","size":2196374,"width":3840,"height":5760},{"id":1286471,"hash":"7edbebfc3ddeccc3869f937e3bda861615e9dcbe","size":2708848,"width":5760,"height":3840},{"id":1286472,"hash":"1a58ffde96cd427fc8087f3b06c22692cca724b4","size":2796638,"width":3840,"height":5760},{"id":1286473,"hash":"a40531ad1e1e2d02ed5464841ff9f50741684132","size":2760289,"width":3840,"height":5760},{"id":1286474,"hash":"08e088de872a3aca0bac5ede13199b88ad788804","size":2369259,"width":3840,"height":5760},{"id":1286475,"hash":"659c7d5cd6c705437e7974607f39798e754942bc","size":2526318,"width":3840,"height":5760},{"id":1286476,"hash":"136c61221122adf97aa8bc945196ed76a2874dd9","size":2353936,"width":5760,"height":3840},{"id":1286477,"hash":"ad9a5eca75027996d32c639eee932c007defd4bd","size":2611823,"width":3840,"height":5760},{"id":1286478,"hash":"7fc1a3577f97610b8e305932d1c6c4416fe6cc48","size":2621934,"width":3840,"height":5760},{"id":1286479,"hash":"f1ea7e916632cb38d86ded985215f41005cb9c74","size":2526012,"width":3840,"height":5760},{"id":1286480,"hash":"a2dd67a8bffcc25981c4e515f6333efe2f847681","size":2067953,"width":3840,"height":5760},{"id":1286481,"hash":"be1bd68ecb5b97eae5b981ea153cb5a6f4757d59","size":1914692,"width":3840,"height":5760},{"id":1286482,"hash":"156253098dfadd79eaa3fa10eb8ee2b452557161","size":1847327,"width":3840,"height":5760},{"id":1286483,"hash":"453564fae20820d5aab0e27dda42ea409e1d20dc","size":2130440,"width":3840,"height":5760},{"id":1286484,"hash":"988a26c54ed85019a9118cc8321c6bf0b3bf4ad9","size":2325333,"width":3840,"height":5760},{"id":1286485,"hash":"1327f9191bcdd2dce40054d59092013d4079e4a7","size":2312416,"width":3840,"height":5760},{"id":1286486,"hash":"401d86f1c71be7c87006e288356f3f55c1e2a5d3","size":1720042,"width":5760,"height":3840},{"id":1286487,"hash":"f75013bc6e2b006032e1c372421c67df9bda3f76","size":2349385,"width":3840,"height":5760},{"id":1286488,"hash":"160711ca9e6bb5cb368823bca9abafa443b8d820","size":1772556,"width":3840,"height":5760},{"id":1286489,"hash":"99d41122076ff2fcd54aea0246edf31e87f50436","size":1988243,"width":3840,"height":5760},{"id":1286490,"hash":"944935181d403bacda447345caee2c89ba526713","size":2450652,"width":3840,"height":5760},{"id":1286491,"hash":"7c15dbdb907b319a920b49ed626990838b840178","size":2440193,"width":3840,"height":5760},{"id":1286492,"hash":"0e5b76fe8d22dfa632fb7a8a304f5724b5ccce88","size":1973466,"width":3840,"height":5760},{"id":1286494,"hash":"51046e7d07081fecd71e5d4460e6b4c3e565fa23","size":1954776,"width":3840,"height":5760},{"id":1286495,"hash":"eef65a29d8f14ebf69d50153846a765e0b4b555d","size":2507901,"width":3840,"height":5760},{"id":1286496,"hash":"8d2cf40c22547ff867b02ce2f0cb9c5ad1badf60","size":2010536,"width":3840,"height":5760},{"id":1286497,"hash":"8564defddac0c0f11ebbf811708fbf64413a72d5","size":1926073,"width":3840,"height":5760},{"id":1286498,"hash":"98c2c70de9c5ba24c176d788d348228dac1f41d9","size":1757386,"width":5760,"height":3840},{"id":1286499,"hash":"59091274a029c0a487da4f1056ff92f69415f4b5","size":2103201,"width":3840,"height":5760},{"id":1286500,"hash":"a860ce8f42c3579ec91b0c09eba3b603471f2cf6","size":2515653,"width":3840,"height":5760},{"id":1286501,"hash":"bcd033737f0b07c955ce2e0fc68c8d33347cdd4c","size":2165267,"width":5760,"height":3840},{"id":1286502,"hash":"add1e157208752cb12c7f9b4fe660c3e7e397919","size":2154642,"width":5760,"height":3840},{"id":1286503,"hash":"849e6a9a96cbe448642ac10fce6eb9327c632eaf","size":2059526,"width":5760,"height":3840},{"id":1286504,"hash":"c856126e5b92f1a38684e234a8852103536df318","size":2114450,"width":5760,"height":3840},{"id":1286505,"hash":"c39d2fffce5e8e8785f4d2c2f104d6930dce3563","size":2234405,"width":3840,"height":5760},{"id":1286506,"hash":"3888f0b61623e24d910dd7c11e5ae0eb254d3607","size":1937224,"width":3840,"height":5760},{"id":1286507,"hash":"df5fe30cc4e3d9a3642caf2c3eae45a8959f5430","size":2226150,"width":3840,"height":5760},{"id":1286508,"hash":"c56e55b2610377190fedb4ef037a29e734431fb7","size":2098797,"width":3840,"height":5760},{"id":1286509,"hash":"18ef167e6bcb5b88cbd6a47600a3eef576cb4414","size":2258984,"width":3840,"height":5760},{"id":1286510,"hash":"d01c3e66a7d6d78a0203b9865c54b7821dd55cd7","size":1744293,"width":3840,"height":5760},{"id":1286511,"hash":"795b9fecd32b7209812a46e8cf64daa3da947540","size":1879908,"width":5760,"height":3840},{"id":1286512,"hash":"b003d971b2ecc97901df4de2bb99e0b5f18eab81","size":1629841,"width":5760,"height":3840},{"id":1286513,"hash":"246c13dff63cbfcdfc7788140fd5faf5760a9c16","size":1755557,"width":5760,"height":3840},{"id":1286514,"hash":"285a8ed3e02920d439ad43d2a928dd72dfbdd3c1","size":2002071,"width":5760,"height":3840},{"id":1286515,"hash":"d3f30ae591fa066a8af02e6567da48dbdd9c4529","size":1765978,"width":5760,"height":3840},{"id":1286516,"hash":"233c669fbb3a94442fc9cc4078fe400b230a7580","size":1768746,"width":3840,"height":5760},{"id":1286517,"hash":"2f2ba647be8d8ef28aa257186235cf1342f80a5d","size":1866581,"width":3840,"height":5760},{"id":1286519,"hash":"043c3d077c08b8309a8640efdcc8abbac2e55091","size":2578454,"width":3840,"height":5760},{"id":1286520,"hash":"9ed47517e806ad731ba41ae6351b6b57b63ba088","size":2461264,"width":3840,"height":5760},{"id":1286521,"hash":"7178bd1514f8d87eaf8d4b543149a347bca723cd","size":2199475,"width":3840,"height":5760},{"id":1286522,"hash":"80a501712a381e288876cfa4d3bf9afd1d6294be","size":2180812,"width":3840,"height":5760},{"id":1286523,"hash":"2d3d9024f9d8248079c54ed56635ffd6e8918015","size":1914904,"width":3840,"height":5760},{"id":1286524,"hash":"f1f2b307a50267f3e56b7478e2c772d43faf9d24","size":2153824,"width":3840,"height":5760},{"id":1286525,"hash":"03b973bc657be35fcad2b29a9705ec099a08ce53","size":1975829,"width":5760,"height":3840},{"id":1286526,"hash":"25df662bd4affb40e63cf8b906f81a98ad84f613","size":1862245,"width":3840,"height":5760},{"id":1286527,"hash":"0bb44f2d49476481756e18196fec80812ea767cc","size":1626782,"width":5760,"height":3840},{"id":1286528,"hash":"f4343a146f0801621e4c57dd3ccf2201bdb4748b","size":2194247,"width":3840,"height":5760},{"id":1286529,"hash":"9452263eebcc281b4239e484c1c9efb706d09684","size":1873974,"width":3840,"height":5760},{"id":1286530,"hash":"83a9619bbf3efc0c11ca0bc710481bf59b60b2fa","size":2260769,"width":3840,"height":5760},{"id":1286531,"hash":"d37b5b93f8985c26ce049de5e1283ce4ca7bbcf3","size":2252652,"width":3840,"height":5760},{"id":1286532,"hash":"bf53a5aa39707700b050cf2c6f26708100ae248a","size":1860466,"width":3840,"height":5760},{"id":1286533,"hash":"f8827b1a9fae0b41aea010fe891a14967a5c5754","size":2396896,"width":3840,"height":5760},{"id":1286534,"hash":"2023a115f003eb7362f1e1d3528c60f45cf3830a","size":1949086,"width":3840,"height":5760},{"id":1286535,"hash":"d56b73785b76964fae26916e3c57d541903027a7","size":2093905,"width":3840,"height":5760},{"id":1286536,"hash":"9f59c7e4844b2c2897cfdde746a0a91d02c2f4b7","size":2438402,"width":3840,"height":5760},{"id":1286537,"hash":"00f146d680d16a3a4f9b0cc8c53931d68ea91585","size":1833494,"width":3840,"height":5760},{"id":1286538,"hash":"0f5936b7e16853c752c5c379b962ce3a2f73647f","size":1819593,"width":3840,"height":5760},{"id":1286539,"hash":"12b451a9180be14899ac7d7f97c71da6243a30ec","size":2304898,"width":3840,"height":5760},{"id":1286540,"hash":"459dc461d78c50f68fe311020b2e374e415d0cb2","size":2245627,"width":3840,"height":5760},{"id":1286541,"hash":"2330c9755e1ec110719fbeecc1c7a31532413c0e","size":2183137,"width":3840,"height":5760},{"id":1286542,"hash":"d6747302e308c4438fd21b325f23277303e974b4","size":2076892,"width":3840,"height":5760},{"id":1286543,"hash":"91788df7df4eea3910bf15a5afac7e75c798a8a7","size":2164521,"width":3840,"height":5760},{"id":1286544,"hash":"defe060a8f98817914636ca78ff0cbe46ba90e73","size":1701212,"width":3840,"height":5760},{"id":1286545,"hash":"5146422b5087accd32c0a914eebf23da9e50ed0b","size":1889199,"width":5760,"height":3840},{"id":1286546,"hash":"1dc5e57432eed08755e635996c2efaf1e6dfc820","size":1859760,"width":3840,"height":5760},{"id":1286547,"hash":"f2e82ad48569174b792d2342d1a7cce32b202530","size":1935500,"width":3840,"height":5760},{"id":1286548,"hash":"4ed7e5c9a0fdb13ab93d51ea6d59da7398ac1c59","size":2017474,"width":3840,"height":5760},{"id":1286549,"hash":"26f60e27cf013697a65a63393e75ca6f1359d675","size":2022861,"width":3840,"height":5760},{"id":1286550,"hash":"b950d241f5ae4109d7c2e1d7946d73cb9b8e6a31","size":123968,"width":525,"height":790}]},"905e7126-6d06-4679-bf8c-e37b4ef4be9b":{"name":"Nikia A - Seguita","images":[{"id":1289418,"hash":"c7c1b353129b326c4f9c2c87002b9b64646285e3","size":2185166,"width":3333,"height":5000},{"id":1289419,"hash":"a5fc4150dabbc71a370c4e3a680d60048c50df50","size":2241809,"width":3333,"height":5000},{"id":1289421,"hash":"479722aeb9ab77fa6a3752dbbbb8c488b0f927c6","size":1947348,"width":3333,"height":5000},{"id":1289423,"hash":"76cc4fc5473cfae3d4e8c04633a587cdec6e4d4d","size":2320740,"width":3333,"height":5000},{"id":1289425,"hash":"c6fea1e16d7028d741b6598f9167a39e6929e434","size":1883533,"width":3333,"height":5000},{"id":1289426,"hash":"326b8b6c3e4e00006924056567a9b0d10cd4d0c9","size":2035085,"width":3333,"height":5000},{"id":1289428,"hash":"7eefd39283ba0d456ab3bd4be3eb1195b3da1f4e","size":1762030,"width":3333,"height":5000},{"id":1289430,"hash":"fc78c168f91a834c39f40efa186ddda103097684","size":1753136,"width":3333,"height":5000},{"id":1289431,"hash":"3782fe561b993a91e8c14e9929bf804894813a2e","size":1346070,"width":3333,"height":5000},{"id":1289433,"hash":"1c212e83337a5e4c24107c328e6d0a9a8d3c3a6a","size":1170790,"width":3333,"height":5000},{"id":1289435,"hash":"2b1ac85d2c4a26776bb278ad7ab9e022b41b01b9","size":1695126,"width":3333,"height":5000},{"id":1289437,"hash":"ee0ce51f80d1c1cb72b3c14a73a21ef52dd34914","size":1281074,"width":3333,"height":5000},{"id":1289438,"hash":"24871a57cc5b149609f683cb3eb261dcede0a074","size":1326085,"width":3333,"height":5000},{"id":1289440,"hash":"b9f8131f4a47b18f0e87cad11ac9b0dab77d4bae","size":1241589,"width":3333,"height":5000},{"id":1289442,"hash":"112c1b6c9893c57865333af2248ff6edd5912699","size":1154370,"width":3333,"height":5000},{"id":1289444,"hash":"555d06031102643cb114f1b66343a6c11ac5f9fb","size":1214485,"width":3333,"height":5000},{"id":1289445,"hash":"c94dcef3483b1c0ca44cb3143846b5a6446ceed7","size":1273875,"width":3333,"height":5000},{"id":1289447,"hash":"d6d01aaa32a5e05109e3813a319d0db83eee1b10","size":1185739,"width":3333,"height":5000},{"id":1289449,"hash":"46e36494d35c0dc577af06bebb447199a1c24057","size":1138529,"width":3333,"height":5000},{"id":1289450,"hash":"779fe1cca9102e028b645fa72f8336a74bdf54cc","size":1146134,"width":3333,"height":5000},{"id":1289452,"hash":"67056d02c6f28d5509bbf0026102b020eafbc866","size":1218593,"width":5000,"height":3333},{"id":1289454,"hash":"d65ba750a1cf5cf419776b9f5c2c2d4a294e1e11","size":1202663,"width":5000,"height":3333},{"id":1289455,"hash":"a91bc479e689bd39dd9d21a0a41f11bcd12f3356","size":1227815,"width":5000,"height":3333},{"id":1289457,"hash":"dd2ed8cf6f0d42b52312dab147e0776ecf36c734","size":1210480,"width":5000,"height":3333},{"id":1289459,"hash":"a3d22384dcbb3e98335844c7d092242d087ba476","size":1602338,"width":3333,"height":5000},{"id":1289460,"hash":"739cb03fbf59a1608afe9f30d8caa89715e7a032","size":1546332,"width":3333,"height":5000},{"id":1289462,"hash":"ecf50265a3553752b502f92392697fd7add3d866","size":1656487,"width":3333,"height":5000},{"id":1289463,"hash":"cf0ac9f3f8bb65904eb62f900e31c2b073466700","size":1796400,"width":3333,"height":5000},{"id":1289464,"hash":"026dda45c74a37db471a7888c177f72c8e940ce0","size":1774774,"width":3333,"height":5000},{"id":1289465,"hash":"dec96cc3cc4f0873de2cdcb1f61df55f3e5b9745","size":1900974,"width":3333,"height":5000},{"id":1289466,"hash":"52a3164b7620abb9bc2cf8c3fee7a0aac6629edc","size":1448094,"width":3333,"height":5000},{"id":1289467,"hash":"98e958c78cf8d5fe529d72dd8564ae361ff2d98b","size":1408825,"width":3333,"height":5000},{"id":1289468,"hash":"4df9bccacb813ee7133458ca8c50ac866410fa3d","size":1585756,"width":3333,"height":5000},{"id":1289469,"hash":"80da39cd29d92484f14ce1b392eb874e5d4025a0","size":1260877,"width":3333,"height":5000},{"id":1289470,"hash":"7a223137d206b682a8f971456b6b6cccc25907c3","size":1455865,"width":3333,"height":5000},{"id":1289471,"hash":"791561cab7e4872e7bea087e80aaf91f6da8ff97","size":1695552,"width":3333,"height":5000},{"id":1289472,"hash":"4f82dd58029df13c4ed5a18aa84a87f68a4b7b49","size":2263063,"width":3333,"height":5000},{"id":1289473,"hash":"83da985d0ef7adbecdd742e335933f05dcbffb35","size":2048527,"width":3333,"height":5000},{"id":1289474,"hash":"141de8fb6cfe9bdc64ca3ca7af8e2c2e74c8853d","size":2013761,"width":3333,"height":5000},{"id":1289475,"hash":"bc995d9f19053724d5f6aed9e55abfa1d6993f6e","size":1404167,"width":3333,"height":5000},{"id":1289476,"hash":"b86486237d3a919e2c554fa63f983acf20d07acb","size":2090584,"width":3333,"height":5000},{"id":1289477,"hash":"e53926c3d337ed628efbf5ac663be6158323ca5d","size":1648610,"width":3333,"height":5000},{"id":1289478,"hash":"74e862e38eb158b3ddb16a00c98d3f068c64dc96","size":1990929,"width":3333,"height":5000},{"id":1289479,"hash":"b28ca5dbee746a29a900ba548a47b978350cd63d","size":1457021,"width":5000,"height":3333},{"id":1289480,"hash":"bb6bb9af5751f810c732aeb88f09c627f5651de2","size":1607121,"width":5000,"height":3333},{"id":1289481,"hash":"90ff4b9d810ee17aeaeafde1c448227ad5d9fa9e","size":1478860,"width":5000,"height":3333},{"id":1289482,"hash":"034d7c3c1dc58ca58ebb8951d6f4e673f1f92bf9","size":1385345,"width":5000,"height":3333},{"id":1289483,"hash":"16c0c4399fbbb1a3ee135684ec4cc3e28c23032f","size":1403797,"width":5000,"height":3333},{"id":1289484,"hash":"2d51419385f1e5ef897a7bfcb3246e0426884707","size":1365676,"width":5000,"height":3333},{"id":1289485,"hash":"10b312762b72852573f96a3f5303583b3bdaf85e","size":1450729,"width":5000,"height":3333},{"id":1289486,"hash":"0024df5a135190f6f1e1a36cbfd1cc11cf3dca2f","size":1727300,"width":5000,"height":3333},{"id":1289487,"hash":"959f3e41552f2fe18b2400e747593bc9432537ee","size":1388995,"width":5000,"height":3333},{"id":1289488,"hash":"f20b1d5ae56fd85e3d9c7e6b1864da888491b244","size":1423332,"width":5000,"height":3333},{"id":1289489,"hash":"8a98ade6a3319aeecee0e551db4e610419a49227","size":1365641,"width":5000,"height":3333},{"id":1289490,"hash":"167ed46cdd9f1acbdec13eca1c631ed55e7e8a7b","size":1557060,"width":5000,"height":3333},{"id":1289491,"hash":"d68ce935c5130298e2af4cf79d521ea33204a2ba","size":1431632,"width":5000,"height":3333},{"id":1289492,"hash":"18d474fe70f571d7bef964432e2c5ce0f6adfd7d","size":1279889,"width":5000,"height":3333},{"id":1289493,"hash":"624f0427d0203e1833fa446907c69edd5e4f78d9","size":1685485,"width":3333,"height":5000},{"id":1289494,"hash":"6dff994d05910eb3388c7c1869b1e7cfbbf8035b","size":1337552,"width":5000,"height":3333},{"id":1289495,"hash":"82555e8e79fa878ca89fefa197960261ad2d48aa","size":1056965,"width":3333,"height":5000},{"id":1289496,"hash":"bb2087b662bba287d2837e7d6c957327b81cf52e","size":1203759,"width":3333,"height":5000},{"id":1289497,"hash":"232711265ec57d09475f2b7251b473662eee8a1f","size":1170012,"width":5000,"height":3333},{"id":1289498,"hash":"3423182a2ac9e7e2e90e407f2e953492b2809972","size":1084012,"width":5000,"height":3333},{"id":1289499,"hash":"0d80cd59d50b7bdac7179cf7aea42ab4b8328f81","size":1179027,"width":5000,"height":3333},{"id":1289500,"hash":"79cfabfcfca361648355bbe16a2ce4aef686fe4f","size":1129822,"width":5000,"height":3333},{"id":1289501,"hash":"7362ef0890f8a69dca1d1d1f2f74ecce2c355aa2","size":1276818,"width":5000,"height":3333},{"id":1289502,"hash":"3cf6b292a2eb0112973ae4183ea8dce37eca1b6c","size":1607675,"width":3333,"height":5000},{"id":1289503,"hash":"947c1edb1152fc095f46d2cfcba863e26bddd980","size":999989,"width":5000,"height":3333},{"id":1289504,"hash":"665993b8fa88ef4aa6472c08aa30a6f0ef14a03d","size":1260893,"width":5000,"height":3333},{"id":1289505,"hash":"180ee7daa33cbc59bfcb29dce975a77da43c36d5","size":1019018,"width":5000,"height":3333},{"id":1289506,"hash":"eb640da00c01dca76f9e695164ed5451d4611ac2","size":2168259,"width":3333,"height":5000},{"id":1289507,"hash":"90a7cbbeaab3137b5faadcbaa033fc48ffb7cd50","size":3047694,"width":3333,"height":5000},{"id":1289508,"hash":"a5732c97a34d4f6b64978d525ea24bc5bccdfda2","size":3238068,"width":3333,"height":5000},{"id":1289509,"hash":"8409311c9f67ff5c4e8f2efa4d4761a15ff19faf","size":2465682,"width":3333,"height":5000},{"id":1289510,"hash":"48ca89d7222e11ba52547c1172e7f0bc2a0f5b83","size":2830782,"width":3333,"height":5000},{"id":1289511,"hash":"1829ad3950599e3a834ab4ce7d4d188b1bf69308","size":2172342,"width":3333,"height":5000},{"id":1289512,"hash":"3e517977932ddf638a17afd95700467292c337d9","size":3054539,"width":3333,"height":5000},{"id":1289513,"hash":"03763d87e276e4ed8ecc1a976dd406a22b0b7912","size":2709047,"width":3333,"height":5000},{"id":1289514,"hash":"f0dd3285209aa40a4c8e33b75132b8509e6a813e","size":2800562,"width":3333,"height":5000},{"id":1289515,"hash":"a94a75f8f4960408a5545970e805a43914c9658d","size":1849870,"width":3333,"height":5000},{"id":1289516,"hash":"bc5eb0b83d8b08049e6bdc14c3ff63b0f1404c9c","size":1957987,"width":3333,"height":5000},{"id":1289517,"hash":"e5ffeea073f4a81176cf83435c41f316ccb5b32a","size":1825121,"width":3333,"height":5000},{"id":1289518,"hash":"d8b7e4530237f8831ba4f6b91b67c5050f481430","size":1531989,"width":3333,"height":5000},{"id":1289519,"hash":"603d1f6ba08e7b505baa16acfde978f1b836fd92","size":2463262,"width":3333,"height":5000},{"id":1289520,"hash":"6cdc4600ea17e5292713db2e8fa4bf9bf88c7360","size":3540191,"width":3333,"height":5000},{"id":1289521,"hash":"efb4acf8b83307a90c84be93f04b969fcf3b6dcc","size":1602259,"width":3333,"height":5000},{"id":1289522,"hash":"7360ae238f48ed7e797f4dfa0f49d48b2bae5f78","size":1768922,"width":3333,"height":5000},{"id":1289523,"hash":"ab504ee430e626e47ab94084b7b9296741fddc31","size":1587065,"width":3333,"height":5000},{"id":1289524,"hash":"ebbc3d14763214d9edeb2e33050ee01a5ba9c926","size":2728447,"width":3333,"height":5000},{"id":1289525,"hash":"706a4a6132ff78f9bb433503df1a2b69b8cf9ba7","size":2556735,"width":3333,"height":5000},{"id":1289526,"hash":"4f3e41a15b25ac25bf1cda45e5655ff851890068","size":3447906,"width":3333,"height":5000},{"id":1289527,"hash":"ab3d8b31328f15954029ebdb2112f6e1be25ef7b","size":3132870,"width":3333,"height":5000},{"id":1289528,"hash":"5f50c8521db07db84228baa1126e147271ad8e57","size":2107309,"width":3333,"height":5000},{"id":1289529,"hash":"db7352859041939f0efb42e9139141b370de6d2f","size":2656489,"width":3333,"height":5000},{"id":1289530,"hash":"d7d2c96cc2c9ca412d8e451636a503f885f3eed3","size":1465479,"width":5000,"height":3333},{"id":1289531,"hash":"29588f71e779ec67158801d9d3b06ff1258be4ea","size":2576018,"width":3333,"height":5000},{"id":1289532,"hash":"261bb4631494b5aba223ab71cfee524c1b2b305e","size":2304659,"width":3333,"height":5000},{"id":1289533,"hash":"ce4f4b70ab913fc086793280aa53e2cda1ed151f","size":2186099,"width":3333,"height":5000},{"id":1289534,"hash":"c9c26759b9a76c46e956036a2899318db737e4b2","size":2423849,"width":3333,"height":5000},{"id":1289535,"hash":"bcb04e7df88fcc63dd41a62d5668c6d3a3628aac","size":2637797,"width":3333,"height":5000},{"id":1289536,"hash":"b0479a9de22190685a9828b5a638062f18aa157c","size":2637145,"width":3333,"height":5000},{"id":1289537,"hash":"6b216ef3445232d980645063bb7011237cbc4f75","size":2560968,"width":3333,"height":5000},{"id":1289538,"hash":"b78a76a96551b4508e49647ca4fdfcd76a41cb63","size":1953955,"width":3333,"height":5000},{"id":1289539,"hash":"061cf839fdeba653a97e3c94aabd734b892560ac","size":1849659,"width":3333,"height":5000},{"id":1289540,"hash":"ad6da2a96c5f93710432bf5f2b0ece6710090700","size":2384810,"width":3333,"height":5000},{"id":1289541,"hash":"2fe2f97dcf8577183daeecf35403b867b33d9c52","size":1522989,"width":5000,"height":3333},{"id":1289542,"hash":"f82d73a564a687b958ede9768b515b133c217fa3","size":1549613,"width":5000,"height":3333},{"id":1289543,"hash":"3bb249cdefdb2210d156dcacfd8017672cb527ee","size":1462979,"width":5000,"height":3333},{"id":1289544,"hash":"c13380e2a2ddcdb7eeccb8f307774b1cb0b01915","size":1415713,"width":3333,"height":5000},{"id":1289545,"hash":"cd6558d6c12a966bd04f418095ef358bc1993636","size":1284317,"width":3333,"height":5000},{"id":1289546,"hash":"150a0b61305e1d5d873bf52ea93fd3ae0d8aea8f","size":1228330,"width":3333,"height":5000},{"id":1289547,"hash":"3e365943c7582b6da9192bd084f27293883de9cc","size":1689235,"width":3333,"height":5000},{"id":1289548,"hash":"106c3c6137246e5a01b133a68fed562e77aeeaba","size":1869795,"width":3333,"height":5000},{"id":1289549,"hash":"8f86393554aae814ff23b3272ba32ffd8ee732bb","size":1643684,"width":3333,"height":5000},{"id":1289550,"hash":"9e0d38485e3ab73cc10efa60469b497e0de1fa4d","size":1694225,"width":5000,"height":3333},{"id":1289551,"hash":"c6237bf89d1a1b57ee87c94719b898d09655fe19","size":1268623,"width":3333,"height":5000},{"id":1289552,"hash":"7e41ad68c071c747ceb1252fe7b850d9350e91d5","size":1238602,"width":5000,"height":3333},{"id":1289553,"hash":"c5aaee81d57508bdd3b2aea27448789dec768e5a","size":1498511,"width":3333,"height":5000},{"id":1289554,"hash":"fd449ae78963b13c7301e6fbbde691daad68bc4a","size":1297888,"width":5000,"height":3333},{"id":1289555,"hash":"4df9a74835bb0769546d357cda291800a184bb77","size":1120868,"width":3333,"height":5000},{"id":1289556,"hash":"d9ca64f6f25f8cf1cc3eab34053babff19688277","size":1602825,"width":3333,"height":5000}]}},"files":{},"init":"var DEBUG = true \/\/ Change me to false before publishing!\r\n\/\/ prettier-ignore\r\n{\r\n\/\/ Add style functions to String\r\n\/\/ See: https:\/\/milovana.com\/forum\/viewtopic.php?f=4&t=23792\r\nString.prototype.color=function(t){return'<span style=\"color:'+t+';\">'+this+\"<\/span>\"},String.prototype.colorShift=function(t,r){var n=\"\";function o(t,r,n){var o=r-t;return Math.floor(t+o*n)}for(var i=0,e=this.length;i<e;i++){var p=i\/e,s=o(t[0],r[0],p),u=o(t[1],r[1],p),a=o(t[2],r[2],p);n+=this[i].color(\"rgb(\"+s+\",\"+u+\",\"+a+\")\")}return n},String.prototype.fadeOut=function(t,r){r=r||0;var n=\"\";function o(t,r,n){var o=r-t;return Math.round(1e3*(t+o*n))\/1e3}for(var i=0,e=this.length;i<e;i++){var p=o(1,r,i\/e);n+=this[i].color(\"rgba(\"+t[0]+\",\"+t[1]+\",\"+t[2]+\",\"+p+\")\")}return n},String.prototype.fadeIn=function(t,r){r=r||1;var n=\"\";function o(t,r,n){var o=r-t;return Math.round(1e3*(t+o*n))\/1e3}for(var i=0,e=this.length;i<e;i++){var p=o(0,r,i\/e);n+=this[i].color(\"rgba(\"+t[0]+\",\"+t[1]+\",\"+t[2]+\",\"+p+\")\")}return n},String.prototype.size=function(t){return'<span style=\"font-size:'+(isNaN(t)?t:t+\"em\")+';\">'+this+\"<\/span>\"},String.prototype.spacing=function(t){return'<span style=\"letter-spacing:'+(isNaN(t)?t:t+\"em\")+';\">'+this+\"<\/span>\"},String.prototype.style=function(t,r){return\"<span\"+(r=r?' class=\"'+r+'\"':\"\")+(t=t?' style=\"'+t+'\"':\"\")+\">\"+this+\"<\/span>\"},String.prototype.bold=function(){return\"<b>\"+this+\"<\/b>\"},String.prototype.italic=function(){return\"<i>\"+this+\"<\/i>\"},String.prototype.underline=function(){return\"<u>\"+this+\"<\/u>\"},String.prototype.p=function(t){return this+\"<\/p><p\"+(t=t?' style=\"'+t+'\"':\"\")+\">\"},String.prototype.br=function(){return this+\"<br>\"};\r\n\/\/ Add a missing 'pages.contains(pageId)' method\r\n\/\/ See: https:\/\/milovana.com\/forum\/viewtopic.php?p=288586#p288586\r\npages.contains||(pages.contains=function(a){var e=pages.isEnabled(a);pages.disable(a);var s=!pages.isEnabled(a);return s&&e&&pages.enable(a),s});\r\n}\r\n\r\n\/**\r\n * Game prototype v1.3\r\n *\/\r\n;(function(){\r\n  function Game(opts) {\r\n    this.verbiage = {}\r\n    this.randomStringHistory = {} \/\/ Object for tracking verbiage array use\r\n    this.setVerbiage(opts.verbiage || {})\r\n    this.character = {\r\n      \/\/ Set with game.setCharacter('Character Name')\r\n      name: '',\r\n      path: '',\r\n    }\r\n    this.setCharacter(opts.characterName, opts.characterPath)\r\n  }\r\n  var _currentImage = null\r\n\r\n  Game.prototype.setCharacter = function(name, path) {\r\n    if (!name) return\r\n    if (!path) {\r\n      path = name.toLowerCase().replace(\/[^a-z0-9\\-_]+\/i,'')\r\n    }\r\n    this.character.name = name\r\n    this.character.path = path\r\n    if (DEBUG) console.log('Set game character to:', this.character)\r\n  }\r\n\r\n  Game.prototype.getCharacterName = function() {\r\n    return this.character.name\r\n  }\r\n\r\n  Game.prototype.text = function(key, obj) {\r\n    return this.mergeText(this.loadText(key), obj)\r\n  }\r\n\r\n  Game.prototype.getCharacterText = function(tname, obj) {\r\n    return this.text(this.character.path + '_' + tname, obj)\r\n  }\r\n\r\n  Game.prototype.mergeText = function (txt, obj) {\r\n    if (txt) return this.mergeObject(\r\n      txt,\r\n      obj,\r\n      0\r\n    )\r\n  }\r\n\r\n  Game.prototype.loadText = function(key) {\r\n    var txt = this.verbiage[key]\r\n    if (!txt) {\r\n      console.warn('No verbiage defined for \"' + key + \"'\")\r\n      return\r\n    }\r\n    return typeof txt === 'string' ? txt : this.randomString(txt, undefined, undefined, key)\r\n  }\r\n\r\n  Game.prototype.setVerbiage = function(data) {\r\n    if (DEBUG) console.log('Setting Verbiage', data)\r\n    for (var i in data) {\r\n      this.verbiage[i] = data[i]\r\n    }\r\n    if (DEBUG) console.log('Set Verbiage', this.verbiage)\r\n  }\r\n\r\n  Game.prototype.clearImage = function() {\r\n    _currentImage = null\r\n  }\r\n\r\n  Game.prototype.loadCharacterImage = function(imgPath) {\r\n    var image = this.character.path + '-' + imgPath\r\n    if (_currentImage === image) {\r\n      if (DEBUG) console.log('Already loaded character image:', image)\r\n      return true\r\n    }\r\n    _currentImage = image\r\n    var tryPath = image\r\n    if (!pages.contains(tryPath)) { \r\n      if (DEBUG) console.warn('Unable to find character image page: \"' + tryPath + '\", falling back to \"default-' + imgPath + '\"')\r\n      tryPath = 'default-' + imgPath\r\n      if (!pages.contains(tryPath)) {\r\n        console.error('Unable to load image page \"' + image + '\", or fallback image page: \"' + tryPath + '\"')\r\n        return false\r\n      }\r\n    }\r\n    if (DEBUG) console.log('Loading character image \"' + image + '\" using page: \"' + tryPath + '\"')\r\n    callPage(tryPath)\r\n    return false    \r\n  }\r\n\r\n  \/**\r\n   * Cleans <eval>...<\/eval> and [...] from user input strings.\r\n   * (Use before you pass any user supplied string through the text merge functions)\r\n   *\/\r\n  Game.prototype.cleanUserInput = function(string) {\r\n    if (string === undefined || string === null) string = ''\r\n    string += ''\r\n    var regexp = \/(<eval>.*?<\\\/eval>|\\[.*?\\])\/\r\n    var badStuff = string.match(regexp)\r\n    while (badStuff) {\r\n      string = string.replace(badStuff[0], '')\r\n      badStuff = string.match(regexp)\r\n    }\r\n    return string\r\n  }\r\n  \r\n\r\n    \/**\r\n   * Merge values from an object into a given string.\r\n   * For example: if string is \"[a] is a [b] to do.\"\r\n   *             and obj is {a: \"this\", b: \"terrible thing\"}\r\n   * the result will be:  \"this is a terrible thing to do.\"\r\n   *\/\r\n  Game.prototype.mergeObject = function(string, obj, counter) {\r\n    counter = counter || 0\r\n    counter ++\r\n    var _this = this\r\n    if (counter > 100) {\r\n      console.error('Infinite loop detected getting game text from:', string)\r\n      return string\r\n    }\r\n    if (typeof string !== 'string') {\r\n      if (DEBUG && string !== undefined && isNaN(string)) {\r\n        console.error('\"string\" passed to mergeObject is not a string:', string)\r\n      }\r\n      return string\r\n    }\r\n    var ev = string.match(\/<eval>(.*?)<\\\/eval>\/i)\r\n    while (ev) {\r\n      string.replace(ev[0], '')\r\n      var exp = ev[1].trim()\r\n      try {\r\n        var evresult = eval(exp)\r\n        if (evresult === undefined) evresult = ''\r\n        string = string.replace(ev[0], evresult)\r\n      } catch (e) {\r\n        if (e instanceof SyntaxError) {\r\n          console.error('Invalid eval: \"' + exp + '\" in: ', string, e.message)\r\n        } else {\r\n          console.error('Error in eval: \"' + exp + '\" in: ', string, e.message)\r\n        }\r\n        string = string.replace(ev[0], '')\r\n      }\r\n      ev = string.match(\/<eval>([.\\s]*?)<\\\/eval>\/im)\r\n    }\r\n    var fields = string.match(\/\\[[a-z_\\-\\|0-9_\\+\\!\\$\\#\\.]+\\]\/gim)\r\n    obj = obj || this \/\/ fall back to game if no object provided\r\n    if (fields) {\r\n      var didFields = {}\r\n      for (var i = 0, l = fields.length; i < l; i++) {\r\n        var field = fields[i]\r\n        if (!didFields[field]) {\r\n          didFields[field] = true\r\n          var property = field.replace(\/(^\\[|\\]$)\/gm, '')\r\n          var propertyParts = property.split(\/\\|\/)\r\n          property = propertyParts[0] || property\r\n          var args = propertyParts.slice(1).reduce(function(a, v) {\r\n            a.push(_this.parseArgValue(v, obj))\r\n            return a\r\n          }, [])\r\n          var replace = this.findProp(property, obj)\r\n          if (replace !== undefined) {\r\n            if (typeof replace === 'function') {\r\n              replace = replace.apply(this, args)\r\n              if (replace === undefined) replace = ''\r\n            }\r\n            replace = this.mergeObject(replace, obj, counter)\r\n            var index = string.indexOf(field)\r\n            while (index > -1) {\r\n              string = string.replace(field, replace)\r\n              index = string.indexOf(field)\r\n            }\r\n          } else {\r\n            console.error(\r\n              'Unable to find field \"' +\r\n                property +\r\n                '\" in given object, game or global object:',\r\n              obj,\r\n              string\r\n            )\r\n          }\r\n        }\r\n      }\r\n    }\r\n    return string\r\n  }\r\n\r\n  Game.prototype.findProp = function (p, obj) {\r\n    if (typeof p !== 'string') {\r\n      return p\r\n    }\r\n    obj = obj || this\r\n    var parts = p.split('.').reduce(function(a, v){\r\n      if (v) a.push(v)\r\n      return a\r\n    }, [])\r\n    if (!parts.length) return p\r\n    var result\r\n    if (this !== obj) {\r\n      __lastFoundPath = []\r\n      result = parts.reduce(propInIndex, obj)\r\n      if (__lastFoundPath.join('.') === p) {\r\n        return result\r\n      }\r\n    }\r\n    __lastFoundPath = []\r\n    result = parts.reduce(propInIndex, this)\r\n    if (__lastFoundPath.join('.') === p) {\r\n      return result\r\n    }\r\n    __lastFoundPath = []\r\n    result = parts.reduce(propInIndex, window)\r\n    if (__lastFoundPath.join('.') === p) {\r\n      return result\r\n    }\r\n    console.error('Unable to find property path \"' + p + '\" in game or global scope')\r\n    return p\r\n  }\r\n\r\n  Game.prototype.parseArgValue = function(p, obj) {\r\n    if (p && p.match(\/^\\$\\$[a-z_]+\/i)) {\r\n      var pv = p.replace(\/^\\$\\$\/, '')\r\n      var result = this.mergeObject('[' + pv + ']', obj, 0)\r\n      return result\r\n    }\r\n    if (p && p.match(\/^\\#\\$[a-z_]+\/i)) {\r\n      var pv = p.replace(\/^\\#\\$\/, '')\r\n      return parseInt(this.mergeObject('[' + pv + ']', obj, 0), 10)\r\n    }\r\n    return p\r\n  }\r\n\r\n  Game.prototype.randomString = function(stringArray, start, end, key) {\r\n    if (typeof stringArray === 'string') {\r\n      \/\/ Nothing to randomize\r\n      return stringArray\r\n    }\r\n    if (typeof stringArray !== 'object') {\r\n      console.error('Invalid object passed to randomString:', stringArray)\r\n      return stringArray\r\n    }\r\n    if (!stringArray.length) {\r\n      return undefined\r\n    }\r\n    if (stringArray.length === 1) {\r\n      return stringArray[0]\r\n    }\r\n    start = Math.min(start || 0, stringArray.length)\r\n    end = end || stringArray.length\r\n    key = key || JSON.stringify(stringArray) \/\/ We don't have Map in EOS\/ES5, so use JSON as key\r\n    var lastResults = this.randomStringHistory[key] || []\r\n    lastResults = lastResults.slice(0 - Math.floor(stringArray.length \/ 2))\r\n    if (stringArray.length - lastResults.length === 1) {\r\n      \/\/ Randomly eliminate the last option if only 1 option left\r\n      if (Math.floor(Math.random() * 2) == 0)\r\n        lastResults = lastResults.slice(0 - (lastResults.length - 1))\r\n    }\r\n    if (lastResults.length >= end - start) {\r\n      lastResults = []\r\n    }\r\n    \/\/ if (DEBUG) console.log('Randomizing string from', stringArray, lastResults, start, end, key)\r\n    var index = randomInt(start, end - 1)\r\n    while (lastResults.indexOf(index) > -1) {\r\n      \/\/ if (DEBUG) console.log('Randomizing string skipping', index, stringArray[index])\r\n      index = randomInt(start, end - 1)\r\n    }\r\n    \/\/ if (DEBUG) console.log('Randomizing selected', index, stringArray[index])\r\n    lastResults.push(index)\r\n    this.randomStringHistory[key] = lastResults\r\n    return stringArray[index]\r\n  }\r\n\r\n  \/**\r\n   * Misc local Game support functions\r\n   *\/\r\n\r\n  var __lastFoundPath = []\r\n  function propInIndex(obj,i) {\r\n    if(obj && (obj[i] || obj.hasOwnProperty(i))) {\r\n      __lastFoundPath.push(i)\r\n      return obj[i]\r\n    }\r\n    return undefined\r\n  }\r\n\r\n  \/\/ Export Game:\r\n  window.Game = Game\r\n})()\r\n\r\n\/**\r\n * Misc global support function\r\n *\/\r\n\r\n\/**\r\n * Get a number like 1st, 2nd, etc.\r\n *\/\r\nfunction getNumberWithOrdinal(n) {\r\n  n = Math.floor(parseFloat(n))\r\n  var s = [\"th\", \"st\", \"nd\", \"rd\"],\r\n      v = n % 100;\r\n  return n + (s[(v - 20) % 10] || s[v] || s[0]);\r\n}\r\n\r\n\r\n\/**\r\n * Return a random integer between min and max\r\n *\/\r\nfunction randomInt(min, max) {\r\n  return Math.floor(Math.random() * (max - min + 1)) + min\r\n}\r\n\r\n\/\/ Page stack storage\r\nvar pageStack = []\r\n\r\n\/**\r\n * push current page (and given pop callback) on stack an go to given page\r\n * @param {string} [pid] - Page Id to call\r\n * @param {function} [callback=undefined] - Optional callback function\r\n * @param {string} [altReturn=undefined] - Optional alternate page to return to\r\n *\/\r\nfunction callPage(pid, callback, altReturn) {\r\n  var currentPage = altReturn || pages.getCurrentPageId()\r\n  pageStack.push({\r\n    target: pid,\r\n    page: altReturn === -1 ? null : currentPage,\r\n    callback: callback,\r\n  })\r\n  if (DEBUG) console.log('calling page', pid, pageStack)\r\n  pages.goto(pid)\r\n}\r\n\r\n\/**\r\n * pull most recent page from stack\r\n *\/\r\nfunction pullPage() {\r\n  return pageStack.pop()\r\n}\r\n\r\nfunction gotoPulledPage(page) {\r\n  var didCallback = false\r\n  if (page && typeof page.callback === 'function') {\r\n    console.log('Executng pulledPage callback:', page.callback, page)\r\n    var result = page.callback(pages.getCurrentPageId(), page)\r\n    if (typeof result === 'string' && pages.contains(result)) {\r\n      if (DEBUG) console.log('Returning to callback result page', result, page)\r\n      pages.goto(result)\r\n      return\r\n    }\r\n    didCallback = true\r\n  }\r\n  if (!page) {\r\n    console.error(\"Can't pop page. pageStack empty\")\r\n  } else if (!page.page) {\r\n    if (didCallback) {\r\n      console.warn('Skipping null page, using callback instead:', page)\r\n    } else {\r\n      console.error(\"Can't pop page. Invalid page entry:\", page)\r\n    }\r\n  } else {\r\n    \/\/ console.warn('Popping page:', page.page, page);\r\n    if (DEBUG) console.log('Returning to page', page.page, page)\r\n    pages.goto(page.page)\r\n  }\r\n}\r\n\r\n\/**\r\n * pull most recent page from stack, call callback if one was pushed, then go to pushed page\r\n *\/\r\nfunction returnToCaller() {\r\n  gotoPulledPage(pullPage())\r\n}\r\n","modules":{"notification":{},"storage":{},"audio":{}},"editor":{"recentImages":[{"type":"gallery","mimeType":"image\/jpeg","galleryId":"905e7126-6d06-4679-bf8c-e37b4ef4be9b","url":"gallery:905e7126-6d06-4679-bf8c-e37b4ef4be9b\/1289418","imageId":1289418},{"type":"gallery","mimeType":"image\/jpeg","galleryId":"f557417e-a027-47e8-8bc5-c6b2d827e620","url":"gallery:f557417e-a027-47e8-8bc5-c6b2d827e620\/*"}]}}