From c364a53c5fa6bc5b7b13cddbf254dd3ee43d3c1c Mon Sep 17 00:00:00 2001 From: polytan02 Date: Thu, 18 Jun 2015 22:23:10 +0100 Subject: [PATCH] Add framagames sources 18 June 2015 --- sources/1597-master/.gitignore | 1 + sources/1597-master/.jshintrc | 19 + sources/1597-master/CONTRIBUTING.md | 2 + sources/1597-master/LICENSE.txt | 21 + sources/1597-master/README.md | 4 + sources/1597-master/Rakefile | 11 + sources/1597-master/favicon.ico | Bin 0 -> 4286 bytes sources/1597-master/index.html | 98 + sources/1597-master/js/animframe_polyfill.js | 26 + sources/1597-master/js/application.js | 4 + sources/1597-master/js/game_manager.js | 264 + sources/1597-master/js/grid.js | 84 + sources/1597-master/js/html_actuator.js | 139 + .../1597-master/js/keyboard_input_manager.js | 130 + sources/1597-master/js/local_score_manager.js | 48 + sources/1597-master/js/tile.js | 17 + sources/1597-master/meta/apple-touch-icon.png | Bin 0 -> 5808 bytes .../style/fonts/ClearSans-Bold-webfont.eot | Bin 0 -> 23821 bytes .../style/fonts/ClearSans-Bold-webfont.svg | 640 ++ .../style/fonts/ClearSans-Bold-webfont.woff | Bin 0 -> 27120 bytes .../style/fonts/ClearSans-Light-webfont.eot | Bin 0 -> 25570 bytes .../style/fonts/ClearSans-Light-webfont.svg | 670 ++ .../style/fonts/ClearSans-Light-webfont.woff | Bin 0 -> 28700 bytes .../style/fonts/ClearSans-Regular-webfont.eot | Bin 0 -> 23490 bytes .../style/fonts/ClearSans-Regular-webfont.svg | 669 ++ .../fonts/ClearSans-Regular-webfont.woff | Bin 0 -> 26764 bytes .../1597-master/style/fonts/clear-sans.css | 30 + sources/1597-master/style/helpers.scss | 72 + sources/1597-master/style/main.css | 751 ++ sources/1597-master/style/main.scss | 519 + sources/2048frama/.gitignore | 1 + sources/2048frama/.jshintrc | 19 + sources/2048frama/CONTRIBUTING.md | 2 + sources/2048frama/LICENSE.txt | 21 + sources/2048frama/README.md | 1 + sources/2048frama/favicon.ico | Bin 0 -> 4286 bytes sources/2048frama/im/favicon.png | Bin 0 -> 13101 bytes sources/2048frama/im/framablog.png | Bin 0 -> 21414 bytes sources/2048frama/im/framabook.png | Bin 0 -> 20003 bytes sources/2048frama/im/framadvd.png | Bin 0 -> 2293 bytes sources/2048frama/im/framakey.png | Bin 0 -> 27063 bytes sources/2048frama/im/framamindmap.png | Bin 0 -> 8598 bytes sources/2048frama/im/framapad.png | Bin 0 -> 73340 bytes sources/2048frama/im/framasoft.png | Bin 0 -> 30015 bytes sources/2048frama/im/framatube.png | Bin 0 -> 8896 bytes sources/2048frama/im/framazic.png | Bin 0 -> 7827 bytes sources/2048frama/im/goldenframa.png | Bin 0 -> 22721 bytes sources/2048frama/im/soutenir.png | Bin 0 -> 19093 bytes sources/2048frama/index.html | 87 + sources/2048frama/js/animframe_polyfill.js | 26 + sources/2048frama/js/application.js | 4 + sources/2048frama/js/game_manager.js | 245 + sources/2048frama/js/grid.js | 84 + sources/2048frama/js/html_actuator.js | 139 + .../2048frama/js/keyboard_input_manager.js | 130 + sources/2048frama/js/local_score_manager.js | 48 + sources/2048frama/js/tile.js | 17 + sources/2048frama/meta/apple-touch-icon.png | Bin 0 -> 5808 bytes .../style/fonts/ClearSans-Bold-webfont.eot | Bin 0 -> 23821 bytes .../style/fonts/ClearSans-Bold-webfont.svg | 640 ++ .../style/fonts/ClearSans-Bold-webfont.woff | Bin 0 -> 27120 bytes .../style/fonts/ClearSans-Light-webfont.eot | Bin 0 -> 25570 bytes .../style/fonts/ClearSans-Light-webfont.svg | 670 ++ .../style/fonts/ClearSans-Light-webfont.woff | Bin 0 -> 28700 bytes .../style/fonts/ClearSans-Regular-webfont.eot | Bin 0 -> 23490 bytes .../style/fonts/ClearSans-Regular-webfont.svg | 669 ++ .../fonts/ClearSans-Regular-webfont.woff | Bin 0 -> 26764 bytes sources/2048frama/style/fonts/clear-sans.css | 30 + sources/2048frama/style/helpers.scss | 72 + sources/2048frama/style/main.css | 716 ++ sources/2048frama/style/main.scss | 511 + sources/2048originel/.gitignore | 1 + sources/2048originel/.jshintrc | 19 + sources/2048originel/CONTRIBUTING.md | 2 + sources/2048originel/LICENSE.txt | 21 + sources/2048originel/README.md | 31 + sources/2048originel/Rakefile | 11 + sources/2048originel/favicon.ico | Bin 0 -> 4286 bytes sources/2048originel/index.html | 87 + sources/2048originel/js/animframe_polyfill.js | 26 + sources/2048originel/js/application.js | 4 + sources/2048originel/js/game_manager.js | 245 + sources/2048originel/js/grid.js | 84 + sources/2048originel/js/html_actuator.js | 139 + .../2048originel/js/keyboard_input_manager.js | 130 + .../2048originel/js/local_score_manager.js | 48 + sources/2048originel/js/tile.js | 17 + .../2048originel/meta/apple-touch-icon.png | Bin 0 -> 5808 bytes .../style/fonts/ClearSans-Bold-webfont.eot | Bin 0 -> 23821 bytes .../style/fonts/ClearSans-Bold-webfont.svg | 640 ++ .../style/fonts/ClearSans-Bold-webfont.woff | Bin 0 -> 27120 bytes .../style/fonts/ClearSans-Light-webfont.eot | Bin 0 -> 25570 bytes .../style/fonts/ClearSans-Light-webfont.svg | 670 ++ .../style/fonts/ClearSans-Light-webfont.woff | Bin 0 -> 28700 bytes .../style/fonts/ClearSans-Regular-webfont.eot | Bin 0 -> 23490 bytes .../style/fonts/ClearSans-Regular-webfont.svg | 669 ++ .../fonts/ClearSans-Regular-webfont.woff | Bin 0 -> 26764 bytes .../2048originel/style/fonts/clear-sans.css | 30 + sources/2048originel/style/helpers.scss | 72 + sources/2048originel/style/main.css | 687 ++ sources/2048originel/style/main.scss | 519 + sources/README.md | 13 + sources/back.js | 39 + sources/css/style.css | 136 + sources/data.php | 126 + sources/e-tris/.hg/00changelog.i | Bin 0 -> 57 bytes sources/e-tris/.hg/branch | 1 + sources/e-tris/.hg/cache/branchheads-served | 4 + sources/e-tris/.hg/dirstate | Bin 0 -> 119 bytes sources/e-tris/.hg/hgrc | 2 + sources/e-tris/.hg/requires | 4 + sources/e-tris/.hg/store/00changelog.i | Bin 0 -> 1140 bytes sources/e-tris/.hg/store/00manifest.i | Bin 0 -> 569 bytes sources/e-tris/.hg/store/data/index.htm.i | Bin 0 -> 232 bytes sources/e-tris/.hg/store/data/script.js.i | Bin 0 -> 4117 bytes sources/e-tris/.hg/store/data/styles.css.i | Bin 0 -> 331 bytes sources/e-tris/.hg/store/fncache | 3 + sources/e-tris/.hg/store/phaseroots | 0 sources/e-tris/.hg/store/undo | Bin 0 -> 89 bytes sources/e-tris/.hg/store/undo.phaseroots | 0 sources/e-tris/.hg/undo.bookmarks | 0 sources/e-tris/.hg/undo.branch | 1 + sources/e-tris/.hg/undo.desc | 3 + sources/e-tris/.hg/undo.dirstate | 0 sources/e-tris/index.htm | 12 + sources/e-tris/script.js | 386 + sources/e-tris/styles.css | 34 + sources/esviji/.gitignore | 8 + .../esviji/css/font/sansitaone-webfont.eot | Bin 0 -> 95360 bytes .../esviji/css/font/sansitaone-webfont.svg | 250 + .../esviji/css/font/sansitaone-webfont.ttf | Bin 0 -> 95160 bytes .../esviji/css/font/sansitaone-webfont.woff | Bin 0 -> 39316 bytes sources/esviji/css/styles.css | 221 + .../favicons/apple-touch-icon-114x114.png | Bin 0 -> 15184 bytes .../favicons/apple-touch-icon-120x120.png | Bin 0 -> 16108 bytes .../favicons/apple-touch-icon-144x144.png | Bin 0 -> 20395 bytes .../favicons/apple-touch-icon-152x152.png | Bin 0 -> 21857 bytes .../favicons/apple-touch-icon-57x57.png | Bin 0 -> 6263 bytes .../favicons/apple-touch-icon-60x60.png | Bin 0 -> 6755 bytes .../favicons/apple-touch-icon-72x72.png | Bin 0 -> 8603 bytes .../favicons/apple-touch-icon-76x76.png | Bin 0 -> 9255 bytes .../favicons/apple-touch-icon-precomposed.png | Bin 0 -> 24169 bytes sources/esviji/favicons/apple-touch-icon.png | Bin 0 -> 21857 bytes sources/esviji/favicons/browserconfig.xml | 12 + sources/esviji/favicons/favicon-160x160.png | Bin 0 -> 24425 bytes sources/esviji/favicons/favicon-16x16.png | Bin 0 -> 1347 bytes sources/esviji/favicons/favicon-196x196.png | Bin 0 -> 30574 bytes sources/esviji/favicons/favicon-32x32.png | Bin 0 -> 2898 bytes sources/esviji/favicons/favicon-96x96.png | Bin 0 -> 12154 bytes sources/esviji/favicons/favicon.ico | Bin 0 -> 7886 bytes .../esviji/favicons/firefoxos-icon-128.png | Bin 0 -> 20161 bytes .../esviji/favicons/firefoxos-icon-512.png | Bin 0 -> 127040 bytes sources/esviji/favicons/firefoxos-icon-60.png | Bin 0 -> 7781 bytes sources/esviji/favicons/mstile-144x144.png | Bin 0 -> 20228 bytes sources/esviji/favicons/mstile-150x150.png | Bin 0 -> 18177 bytes sources/esviji/favicons/mstile-310x150.png | Bin 0 -> 19100 bytes sources/esviji/favicons/mstile-310x310.png | Bin 0 -> 54541 bytes sources/esviji/favicons/mstile-70x70.png | Bin 0 -> 11806 bytes sources/esviji/index.html | 487 + sources/esviji/js/esviji.js | 1441 +++ sources/esviji/js/offlineGoogleAnalytics.js | 54 + .../js/vendor/SVGEventListener-0.2.3.js | 294 + sources/esviji/js/vendor/analytics.js | 39 + sources/esviji/js/vendor/howler-1.1.11.js | 1181 ++ sources/esviji/js/vendor/jquery-1.10.2.js | 9789 +++++++++++++++++ ...nlinesvg-smil-svg-touch-vibration-2.7.1.js | 4 + .../esviji/js/vendor/mousetrap-1.3.2.min.js | 8 + sources/esviji/js/vendor/offline.js | 289 + .../esviji/js/vendor/store+json2-1.3.7.min.js | 2 + sources/esviji/logo-esviji.png | Bin 0 -> 127040 bytes sources/esviji/manifest.webapp | 25 + sources/esviji/sass/styles.scss | 256 + sources/esviji/sounds/sprite.mp3 | Bin 0 -> 384974 bytes sources/esviji/sounds/sprite.ogg | Bin 0 -> 97978 bytes sources/favicon.ico | Bin 0 -> 1150 bytes sources/images/1.png | Bin 0 -> 3362 bytes sources/images/10.png | Bin 0 -> 15013 bytes sources/images/11.png | Bin 0 -> 5341 bytes sources/images/12.png | Bin 0 -> 19035 bytes sources/images/2.png | Bin 0 -> 13566 bytes sources/images/3.png | Bin 0 -> 6047 bytes sources/images/4.png | Bin 0 -> 3842 bytes sources/images/5.png | Bin 0 -> 8954 bytes sources/images/6.png | Bin 0 -> 10921 bytes sources/images/7.png | Bin 0 -> 31274 bytes sources/images/8.png | Bin 0 -> 22338 bytes sources/images/9.png | Bin 0 -> 5261 bytes sources/images/icone-projets-framalab.svg | 6493 +++++++++++ sources/index.html | 22 - sources/index.php | 88 + sources/orbium/.gitignore | 2 + sources/orbium/LICENSE | 279 + sources/orbium/README.md | 21 + sources/orbium/css/style.css | 67 + sources/orbium/gfx/1024x697/announcer0.png | Bin 0 -> 27164 bytes sources/orbium/gfx/1024x697/announcer1.png | Bin 0 -> 27075 bytes sources/orbium/gfx/1024x697/announcer2.png | Bin 0 -> 27097 bytes sources/orbium/gfx/1024x697/announcer3.png | Bin 0 -> 27017 bytes sources/orbium/gfx/1024x697/bar0.png | Bin 0 -> 8241 bytes sources/orbium/gfx/1024x697/bar1.png | Bin 0 -> 8218 bytes sources/orbium/gfx/1024x697/bar10.png | Bin 0 -> 8337 bytes sources/orbium/gfx/1024x697/bar11.png | Bin 0 -> 8219 bytes sources/orbium/gfx/1024x697/bar12.png | Bin 0 -> 8318 bytes sources/orbium/gfx/1024x697/bar13.png | Bin 0 -> 8085 bytes sources/orbium/gfx/1024x697/bar14.png | Bin 0 -> 8253 bytes sources/orbium/gfx/1024x697/bar15.png | Bin 0 -> 8246 bytes sources/orbium/gfx/1024x697/bar2.png | Bin 0 -> 8254 bytes sources/orbium/gfx/1024x697/bar3.png | Bin 0 -> 8253 bytes sources/orbium/gfx/1024x697/bar4.png | Bin 0 -> 8321 bytes sources/orbium/gfx/1024x697/bar5.png | Bin 0 -> 8065 bytes sources/orbium/gfx/1024x697/bar6.png | Bin 0 -> 8133 bytes sources/orbium/gfx/1024x697/bar7.png | Bin 0 -> 8190 bytes sources/orbium/gfx/1024x697/bar8.png | Bin 0 -> 8151 bytes sources/orbium/gfx/1024x697/bar9.png | Bin 0 -> 8185 bytes sources/orbium/gfx/1024x697/clock0.png | Bin 0 -> 26871 bytes sources/orbium/gfx/1024x697/clock1.png | Bin 0 -> 27140 bytes sources/orbium/gfx/1024x697/clock2.png | Bin 0 -> 27246 bytes sources/orbium/gfx/1024x697/clock3.png | Bin 0 -> 27372 bytes sources/orbium/gfx/1024x697/clock4.png | Bin 0 -> 27389 bytes sources/orbium/gfx/1024x697/clock5.png | Bin 0 -> 27402 bytes sources/orbium/gfx/1024x697/clock6.png | Bin 0 -> 27431 bytes sources/orbium/gfx/1024x697/clock7.png | Bin 0 -> 27487 bytes sources/orbium/gfx/1024x697/clock8.png | Bin 0 -> 27415 bytes sources/orbium/gfx/1024x697/clock9.png | Bin 0 -> 27533 bytes sources/orbium/gfx/1024x697/counter0.png | Bin 0 -> 29088 bytes sources/orbium/gfx/1024x697/counter1.png | Bin 0 -> 29354 bytes sources/orbium/gfx/1024x697/counter2.png | Bin 0 -> 29629 bytes sources/orbium/gfx/1024x697/counter3.png | Bin 0 -> 29903 bytes sources/orbium/gfx/1024x697/counter4.png | Bin 0 -> 30164 bytes sources/orbium/gfx/1024x697/crosstile0.png | Bin 0 -> 19682 bytes sources/orbium/gfx/1024x697/crosstile1.png | Bin 0 -> 19312 bytes sources/orbium/gfx/1024x697/crosstile2.png | Bin 0 -> 19392 bytes sources/orbium/gfx/1024x697/crosstile3.png | Bin 0 -> 19811 bytes sources/orbium/gfx/1024x697/crosstile4.png | Bin 0 -> 19808 bytes sources/orbium/gfx/1024x697/director0.png | Bin 0 -> 12795 bytes sources/orbium/gfx/1024x697/director1.png | Bin 0 -> 12749 bytes sources/orbium/gfx/1024x697/director2.png | Bin 0 -> 12782 bytes sources/orbium/gfx/1024x697/director3.png | Bin 0 -> 12720 bytes sources/orbium/gfx/1024x697/emptytile0.png | Bin 0 -> 21119 bytes sources/orbium/gfx/1024x697/emptytile1.png | Bin 0 -> 20251 bytes sources/orbium/gfx/1024x697/emptytile2.png | Bin 0 -> 20694 bytes sources/orbium/gfx/1024x697/emptytile3.png | Bin 0 -> 21024 bytes sources/orbium/gfx/1024x697/emptytile4.png | Bin 0 -> 20919 bytes sources/orbium/gfx/1024x697/emptytile5.png | Bin 0 -> 21602 bytes sources/orbium/gfx/1024x697/emptytile6.png | 0 sources/orbium/gfx/1024x697/explosion0.png | Bin 0 -> 15152 bytes sources/orbium/gfx/1024x697/explosion1.png | Bin 0 -> 9948 bytes sources/orbium/gfx/1024x697/explosion2.png | Bin 0 -> 7442 bytes sources/orbium/gfx/1024x697/explosion3.png | Bin 0 -> 7430 bytes sources/orbium/gfx/1024x697/horiztile0.png | Bin 0 -> 20186 bytes sources/orbium/gfx/1024x697/horiztile1.png | Bin 0 -> 19738 bytes sources/orbium/gfx/1024x697/horiztile2.png | Bin 0 -> 19932 bytes sources/orbium/gfx/1024x697/horiztile3.png | Bin 0 -> 20264 bytes sources/orbium/gfx/1024x697/horiztile4.png | Bin 0 -> 20198 bytes sources/orbium/gfx/1024x697/horiztile5.png | Bin 0 -> 21068 bytes sources/orbium/gfx/1024x697/inspector0.png | Bin 0 -> 12891 bytes sources/orbium/gfx/1024x697/inspector1.png | Bin 0 -> 12837 bytes sources/orbium/gfx/1024x697/inspector2.png | Bin 0 -> 12846 bytes sources/orbium/gfx/1024x697/inspector3.png | Bin 0 -> 12823 bytes sources/orbium/gfx/1024x697/marble0.png | Bin 0 -> 3132 bytes sources/orbium/gfx/1024x697/marble1.png | Bin 0 -> 3157 bytes sources/orbium/gfx/1024x697/marble10.png | Bin 0 -> 3075 bytes sources/orbium/gfx/1024x697/marble11.png | Bin 0 -> 3179 bytes sources/orbium/gfx/1024x697/marble12.png | Bin 0 -> 3029 bytes sources/orbium/gfx/1024x697/marble13.png | Bin 0 -> 3076 bytes sources/orbium/gfx/1024x697/marble14.png | Bin 0 -> 3058 bytes sources/orbium/gfx/1024x697/marble15.png | Bin 0 -> 3056 bytes sources/orbium/gfx/1024x697/marble16.png | Bin 0 -> 3078 bytes sources/orbium/gfx/1024x697/marble17.png | Bin 0 -> 3064 bytes sources/orbium/gfx/1024x697/marble18.png | Bin 0 -> 3182 bytes sources/orbium/gfx/1024x697/marble19.png | Bin 0 -> 3132 bytes sources/orbium/gfx/1024x697/marble2.png | Bin 0 -> 3132 bytes sources/orbium/gfx/1024x697/marble20.png | Bin 0 -> 3036 bytes sources/orbium/gfx/1024x697/marble21.png | Bin 0 -> 2973 bytes sources/orbium/gfx/1024x697/marble22.png | Bin 0 -> 2982 bytes sources/orbium/gfx/1024x697/marble23.png | Bin 0 -> 3094 bytes sources/orbium/gfx/1024x697/marble24.png | Bin 0 -> 3038 bytes sources/orbium/gfx/1024x697/marble25.png | Bin 0 -> 3091 bytes sources/orbium/gfx/1024x697/marble26.png | Bin 0 -> 3062 bytes sources/orbium/gfx/1024x697/marble27.png | Bin 0 -> 3057 bytes sources/orbium/gfx/1024x697/marble28.png | Bin 0 -> 3072 bytes sources/orbium/gfx/1024x697/marble29.png | Bin 0 -> 3068 bytes sources/orbium/gfx/1024x697/marble3.png | Bin 0 -> 3138 bytes sources/orbium/gfx/1024x697/marble30.png | Bin 0 -> 3212 bytes sources/orbium/gfx/1024x697/marble31.png | Bin 0 -> 3140 bytes sources/orbium/gfx/1024x697/marble32.png | Bin 0 -> 3039 bytes sources/orbium/gfx/1024x697/marble33.png | Bin 0 -> 2971 bytes sources/orbium/gfx/1024x697/marble34.png | Bin 0 -> 2986 bytes sources/orbium/gfx/1024x697/marble35.png | Bin 0 -> 3092 bytes sources/orbium/gfx/1024x697/marble36.png | Bin 0 -> 3123 bytes sources/orbium/gfx/1024x697/marble37.png | Bin 0 -> 3161 bytes sources/orbium/gfx/1024x697/marble38.png | Bin 0 -> 3164 bytes sources/orbium/gfx/1024x697/marble39.png | Bin 0 -> 3129 bytes sources/orbium/gfx/1024x697/marble4.png | Bin 0 -> 3160 bytes sources/orbium/gfx/1024x697/marble40.png | Bin 0 -> 3155 bytes sources/orbium/gfx/1024x697/marble41.png | Bin 0 -> 3138 bytes sources/orbium/gfx/1024x697/marble42.png | Bin 0 -> 3290 bytes sources/orbium/gfx/1024x697/marble43.png | Bin 0 -> 3219 bytes sources/orbium/gfx/1024x697/marble44.png | 0 sources/orbium/gfx/1024x697/marble45.png | Bin 0 -> 3043 bytes sources/orbium/gfx/1024x697/marble46.png | Bin 0 -> 3062 bytes sources/orbium/gfx/1024x697/marble47.png | Bin 0 -> 3234 bytes sources/orbium/gfx/1024x697/marble5.png | Bin 0 -> 3147 bytes sources/orbium/gfx/1024x697/marble6.png | Bin 0 -> 3256 bytes sources/orbium/gfx/1024x697/marble7.png | Bin 0 -> 3217 bytes sources/orbium/gfx/1024x697/marble8.png | Bin 0 -> 3117 bytes sources/orbium/gfx/1024x697/marble9.png | Bin 0 -> 3064 bytes sources/orbium/gfx/1024x697/matcher0.png | Bin 0 -> 22638 bytes sources/orbium/gfx/1024x697/modtile0.png | Bin 0 -> 20814 bytes sources/orbium/gfx/1024x697/modtile1.png | Bin 0 -> 20104 bytes sources/orbium/gfx/1024x697/modtile10.png | Bin 0 -> 20279 bytes sources/orbium/gfx/1024x697/modtile11.png | Bin 0 -> 19413 bytes sources/orbium/gfx/1024x697/modtile12.png | Bin 0 -> 20102 bytes sources/orbium/gfx/1024x697/modtile13.png | Bin 0 -> 20264 bytes sources/orbium/gfx/1024x697/modtile14.png | Bin 0 -> 19808 bytes sources/orbium/gfx/1024x697/modtile2.png | Bin 0 -> 20549 bytes sources/orbium/gfx/1024x697/modtile3.png | Bin 0 -> 20977 bytes sources/orbium/gfx/1024x697/modtile4.png | Bin 0 -> 20292 bytes sources/orbium/gfx/1024x697/modtile5.png | Bin 0 -> 20353 bytes sources/orbium/gfx/1024x697/modtile6.png | Bin 0 -> 19959 bytes sources/orbium/gfx/1024x697/modtile7.png | Bin 0 -> 20042 bytes sources/orbium/gfx/1024x697/modtile8.png | Bin 0 -> 20124 bytes sources/orbium/gfx/1024x697/modtile9.png | Bin 0 -> 20140 bytes sources/orbium/gfx/1024x697/rotatile0.png | Bin 0 -> 23919 bytes sources/orbium/gfx/1024x697/rotatile1.png | Bin 0 -> 23885 bytes sources/orbium/gfx/1024x697/rotatile10.png | Bin 0 -> 23848 bytes sources/orbium/gfx/1024x697/rotatile11.png | Bin 0 -> 23777 bytes sources/orbium/gfx/1024x697/rotatile12.png | Bin 0 -> 23934 bytes sources/orbium/gfx/1024x697/rotatile13.png | Bin 0 -> 23839 bytes sources/orbium/gfx/1024x697/rotatile14.png | Bin 0 -> 23754 bytes sources/orbium/gfx/1024x697/rotatile15.png | Bin 0 -> 17538 bytes sources/orbium/gfx/1024x697/rotatile16.png | Bin 0 -> 17522 bytes sources/orbium/gfx/1024x697/rotatile17.png | Bin 0 -> 17574 bytes sources/orbium/gfx/1024x697/rotatile18.png | Bin 0 -> 17515 bytes sources/orbium/gfx/1024x697/rotatile19.png | Bin 0 -> 17485 bytes sources/orbium/gfx/1024x697/rotatile2.png | Bin 0 -> 23935 bytes sources/orbium/gfx/1024x697/rotatile20.png | Bin 0 -> 17487 bytes sources/orbium/gfx/1024x697/rotatile21.png | Bin 0 -> 17488 bytes sources/orbium/gfx/1024x697/rotatile22.png | Bin 0 -> 17474 bytes sources/orbium/gfx/1024x697/rotatile23.png | Bin 0 -> 17448 bytes sources/orbium/gfx/1024x697/rotatile24.png | Bin 0 -> 17365 bytes sources/orbium/gfx/1024x697/rotatile25.png | Bin 0 -> 17448 bytes sources/orbium/gfx/1024x697/rotatile26.png | Bin 0 -> 17370 bytes sources/orbium/gfx/1024x697/rotatile27.png | Bin 0 -> 17532 bytes sources/orbium/gfx/1024x697/rotatile28.png | Bin 0 -> 17422 bytes sources/orbium/gfx/1024x697/rotatile29.png | Bin 0 -> 17313 bytes sources/orbium/gfx/1024x697/rotatile3.png | Bin 0 -> 23894 bytes sources/orbium/gfx/1024x697/rotatile4.png | Bin 0 -> 23859 bytes sources/orbium/gfx/1024x697/rotatile5.png | Bin 0 -> 23880 bytes sources/orbium/gfx/1024x697/rotatile6.png | Bin 0 -> 23894 bytes sources/orbium/gfx/1024x697/rotatile7.png | Bin 0 -> 23849 bytes sources/orbium/gfx/1024x697/rotatile8.png | Bin 0 -> 23851 bytes sources/orbium/gfx/1024x697/rotatile9.png | Bin 0 -> 23814 bytes sources/orbium/gfx/1024x697/rotator0.png | Bin 0 -> 19107 bytes sources/orbium/gfx/1024x697/rotator1.png | Bin 0 -> 19409 bytes sources/orbium/gfx/1024x697/rotator10.png | Bin 0 -> 19798 bytes sources/orbium/gfx/1024x697/rotator11.png | Bin 0 -> 20113 bytes sources/orbium/gfx/1024x697/rotator12.png | Bin 0 -> 18915 bytes sources/orbium/gfx/1024x697/rotator13.png | Bin 0 -> 20204 bytes sources/orbium/gfx/1024x697/rotator14.png | Bin 0 -> 19912 bytes sources/orbium/gfx/1024x697/rotator15.png | Bin 0 -> 20279 bytes sources/orbium/gfx/1024x697/rotator16.png | Bin 0 -> 18409 bytes sources/orbium/gfx/1024x697/rotator17.png | Bin 0 -> 18310 bytes sources/orbium/gfx/1024x697/rotator18.png | Bin 0 -> 16969 bytes sources/orbium/gfx/1024x697/rotator19.png | Bin 0 -> 18267 bytes sources/orbium/gfx/1024x697/rotator2.png | Bin 0 -> 19201 bytes sources/orbium/gfx/1024x697/rotator20.png | Bin 0 -> 18249 bytes sources/orbium/gfx/1024x697/rotator21.png | Bin 0 -> 18251 bytes sources/orbium/gfx/1024x697/rotator22.png | Bin 0 -> 17095 bytes sources/orbium/gfx/1024x697/rotator23.png | Bin 0 -> 18163 bytes sources/orbium/gfx/1024x697/rotator24.png | Bin 0 -> 18382 bytes sources/orbium/gfx/1024x697/rotator25.png | Bin 0 -> 18271 bytes sources/orbium/gfx/1024x697/rotator26.png | Bin 0 -> 17173 bytes sources/orbium/gfx/1024x697/rotator27.png | Bin 0 -> 18235 bytes sources/orbium/gfx/1024x697/rotator28.png | Bin 0 -> 18271 bytes sources/orbium/gfx/1024x697/rotator29.png | Bin 0 -> 18226 bytes sources/orbium/gfx/1024x697/rotator3.png | Bin 0 -> 19479 bytes sources/orbium/gfx/1024x697/rotator30.png | Bin 0 -> 16985 bytes sources/orbium/gfx/1024x697/rotator31.png | Bin 0 -> 18211 bytes sources/orbium/gfx/1024x697/rotator4.png | Bin 0 -> 18938 bytes sources/orbium/gfx/1024x697/rotator5.png | Bin 0 -> 19759 bytes sources/orbium/gfx/1024x697/rotator6.png | Bin 0 -> 19623 bytes sources/orbium/gfx/1024x697/rotator7.png | Bin 0 -> 19885 bytes sources/orbium/gfx/1024x697/rotator8.png | Bin 0 -> 19014 bytes sources/orbium/gfx/1024x697/rotator9.png | Bin 0 -> 19961 bytes sources/orbium/gfx/1024x697/sequencer0.png | Bin 0 -> 22296 bytes sources/orbium/gfx/1024x697/teleporter0.png | Bin 0 -> 15419 bytes sources/orbium/gfx/1024x697/teleporter1.png | Bin 0 -> 15589 bytes sources/orbium/gfx/1024x697/teleporter2.png | Bin 0 -> 20741 bytes sources/orbium/gfx/1024x697/timer0.png | Bin 0 -> 523 bytes sources/orbium/gfx/1024x697/timer1.png | Bin 0 -> 385 bytes sources/orbium/gfx/1024x697/transformer0.png | Bin 0 -> 10624 bytes sources/orbium/gfx/1024x697/transformer1.png | Bin 0 -> 10705 bytes sources/orbium/gfx/1024x697/transformer2.png | Bin 0 -> 10551 bytes sources/orbium/gfx/1024x697/transformer3.png | Bin 0 -> 10670 bytes sources/orbium/gfx/1024x697/verttile0.png | Bin 0 -> 20489 bytes sources/orbium/gfx/1024x697/verttile1.png | Bin 0 -> 19941 bytes sources/orbium/gfx/1024x697/verttile2.png | Bin 0 -> 20102 bytes sources/orbium/gfx/1024x697/verttile3.png | Bin 0 -> 20578 bytes sources/orbium/gfx/1024x697/verttile4.png | Bin 0 -> 20684 bytes sources/orbium/gfx/1024x697/verttile5.png | Bin 0 -> 20817 bytes sources/orbium/gfx/344x234/announcer0.png | Bin 0 -> 3851 bytes sources/orbium/gfx/344x234/announcer1.png | Bin 0 -> 3811 bytes sources/orbium/gfx/344x234/announcer2.png | Bin 0 -> 3828 bytes sources/orbium/gfx/344x234/announcer3.png | Bin 0 -> 3812 bytes sources/orbium/gfx/344x234/bar0.png | Bin 0 -> 1318 bytes sources/orbium/gfx/344x234/bar1.png | Bin 0 -> 1351 bytes sources/orbium/gfx/344x234/bar10.png | Bin 0 -> 1283 bytes sources/orbium/gfx/344x234/bar11.png | Bin 0 -> 1253 bytes sources/orbium/gfx/344x234/bar12.png | Bin 0 -> 1261 bytes sources/orbium/gfx/344x234/bar13.png | Bin 0 -> 1194 bytes sources/orbium/gfx/344x234/bar14.png | Bin 0 -> 1245 bytes sources/orbium/gfx/344x234/bar15.png | Bin 0 -> 1219 bytes sources/orbium/gfx/344x234/bar2.png | Bin 0 -> 1293 bytes sources/orbium/gfx/344x234/bar3.png | Bin 0 -> 1314 bytes sources/orbium/gfx/344x234/bar4.png | Bin 0 -> 1277 bytes sources/orbium/gfx/344x234/bar5.png | Bin 0 -> 1299 bytes sources/orbium/gfx/344x234/bar6.png | Bin 0 -> 1266 bytes sources/orbium/gfx/344x234/bar7.png | Bin 0 -> 1268 bytes sources/orbium/gfx/344x234/bar8.png | Bin 0 -> 1243 bytes sources/orbium/gfx/344x234/bar9.png | Bin 0 -> 1246 bytes sources/orbium/gfx/344x234/clock0.png | Bin 0 -> 3817 bytes sources/orbium/gfx/344x234/clock1.png | Bin 0 -> 3850 bytes sources/orbium/gfx/344x234/clock2.png | Bin 0 -> 3848 bytes sources/orbium/gfx/344x234/clock3.png | Bin 0 -> 3845 bytes sources/orbium/gfx/344x234/clock4.png | Bin 0 -> 3854 bytes sources/orbium/gfx/344x234/clock5.png | Bin 0 -> 3844 bytes sources/orbium/gfx/344x234/clock6.png | Bin 0 -> 3847 bytes sources/orbium/gfx/344x234/clock7.png | Bin 0 -> 3856 bytes sources/orbium/gfx/344x234/clock8.png | Bin 0 -> 3855 bytes sources/orbium/gfx/344x234/clock9.png | Bin 0 -> 3859 bytes sources/orbium/gfx/344x234/counter0.png | Bin 0 -> 3969 bytes sources/orbium/gfx/344x234/counter1.png | Bin 0 -> 4009 bytes sources/orbium/gfx/344x234/counter2.png | Bin 0 -> 4055 bytes sources/orbium/gfx/344x234/counter3.png | Bin 0 -> 4102 bytes sources/orbium/gfx/344x234/counter4.png | Bin 0 -> 4130 bytes sources/orbium/gfx/344x234/crosstile0.png | Bin 0 -> 2695 bytes sources/orbium/gfx/344x234/crosstile1.png | Bin 0 -> 2667 bytes sources/orbium/gfx/344x234/crosstile2.png | Bin 0 -> 2703 bytes sources/orbium/gfx/344x234/crosstile3.png | Bin 0 -> 2737 bytes sources/orbium/gfx/344x234/crosstile4.png | 0 sources/orbium/gfx/344x234/director0.png | Bin 0 -> 2342 bytes sources/orbium/gfx/344x234/director1.png | Bin 0 -> 2342 bytes sources/orbium/gfx/344x234/director2.png | Bin 0 -> 2359 bytes sources/orbium/gfx/344x234/director3.png | Bin 0 -> 2341 bytes sources/orbium/gfx/344x234/emptytile0.png | Bin 0 -> 2819 bytes sources/orbium/gfx/344x234/emptytile1.png | Bin 0 -> 2761 bytes sources/orbium/gfx/344x234/emptytile2.png | Bin 0 -> 2814 bytes sources/orbium/gfx/344x234/emptytile3.png | Bin 0 -> 2934 bytes sources/orbium/gfx/344x234/emptytile4.png | Bin 0 -> 2968 bytes sources/orbium/gfx/344x234/emptytile5.png | Bin 0 -> 2908 bytes sources/orbium/gfx/344x234/emptytile6.png | Bin 0 -> 2953 bytes sources/orbium/gfx/344x234/explosion0.png | Bin 0 -> 2821 bytes sources/orbium/gfx/344x234/explosion1.png | Bin 0 -> 2075 bytes sources/orbium/gfx/344x234/explosion2.png | Bin 0 -> 1753 bytes sources/orbium/gfx/344x234/explosion3.png | Bin 0 -> 1826 bytes sources/orbium/gfx/344x234/horiztile0.png | Bin 0 -> 2718 bytes sources/orbium/gfx/344x234/horiztile1.png | Bin 0 -> 2674 bytes sources/orbium/gfx/344x234/horiztile2.png | Bin 0 -> 2730 bytes sources/orbium/gfx/344x234/horiztile3.png | Bin 0 -> 2858 bytes sources/orbium/gfx/344x234/horiztile4.png | Bin 0 -> 2858 bytes sources/orbium/gfx/344x234/horiztile5.png | Bin 0 -> 2854 bytes sources/orbium/gfx/344x234/inspector0.png | Bin 0 -> 2522 bytes sources/orbium/gfx/344x234/inspector1.png | Bin 0 -> 2519 bytes sources/orbium/gfx/344x234/inspector2.png | Bin 0 -> 2514 bytes sources/orbium/gfx/344x234/inspector3.png | Bin 0 -> 2516 bytes sources/orbium/gfx/344x234/marble0.png | Bin 0 -> 808 bytes sources/orbium/gfx/344x234/marble1.png | Bin 0 -> 816 bytes sources/orbium/gfx/344x234/marble10.png | Bin 0 -> 815 bytes sources/orbium/gfx/344x234/marble11.png | Bin 0 -> 814 bytes sources/orbium/gfx/344x234/marble12.png | Bin 0 -> 800 bytes sources/orbium/gfx/344x234/marble13.png | Bin 0 -> 799 bytes sources/orbium/gfx/344x234/marble14.png | Bin 0 -> 807 bytes sources/orbium/gfx/344x234/marble15.png | Bin 0 -> 796 bytes sources/orbium/gfx/344x234/marble16.png | Bin 0 -> 801 bytes sources/orbium/gfx/344x234/marble17.png | Bin 0 -> 800 bytes sources/orbium/gfx/344x234/marble18.png | Bin 0 -> 823 bytes sources/orbium/gfx/344x234/marble19.png | Bin 0 -> 807 bytes sources/orbium/gfx/344x234/marble2.png | Bin 0 -> 808 bytes sources/orbium/gfx/344x234/marble20.png | Bin 0 -> 804 bytes sources/orbium/gfx/344x234/marble21.png | Bin 0 -> 799 bytes sources/orbium/gfx/344x234/marble22.png | Bin 0 -> 804 bytes sources/orbium/gfx/344x234/marble23.png | Bin 0 -> 806 bytes sources/orbium/gfx/344x234/marble24.png | Bin 0 -> 806 bytes sources/orbium/gfx/344x234/marble25.png | Bin 0 -> 818 bytes sources/orbium/gfx/344x234/marble26.png | Bin 0 -> 805 bytes sources/orbium/gfx/344x234/marble27.png | Bin 0 -> 803 bytes sources/orbium/gfx/344x234/marble28.png | Bin 0 -> 802 bytes sources/orbium/gfx/344x234/marble29.png | Bin 0 -> 800 bytes sources/orbium/gfx/344x234/marble3.png | Bin 0 -> 812 bytes sources/orbium/gfx/344x234/marble30.png | Bin 0 -> 824 bytes sources/orbium/gfx/344x234/marble31.png | Bin 0 -> 806 bytes sources/orbium/gfx/344x234/marble32.png | Bin 0 -> 804 bytes sources/orbium/gfx/344x234/marble33.png | Bin 0 -> 800 bytes sources/orbium/gfx/344x234/marble34.png | Bin 0 -> 806 bytes sources/orbium/gfx/344x234/marble35.png | Bin 0 -> 809 bytes sources/orbium/gfx/344x234/marble36.png | Bin 0 -> 799 bytes sources/orbium/gfx/344x234/marble37.png | Bin 0 -> 800 bytes sources/orbium/gfx/344x234/marble38.png | Bin 0 -> 790 bytes sources/orbium/gfx/344x234/marble39.png | Bin 0 -> 799 bytes sources/orbium/gfx/344x234/marble4.png | Bin 0 -> 814 bytes sources/orbium/gfx/344x234/marble40.png | Bin 0 -> 795 bytes sources/orbium/gfx/344x234/marble41.png | Bin 0 -> 800 bytes sources/orbium/gfx/344x234/marble42.png | Bin 0 -> 822 bytes sources/orbium/gfx/344x234/marble43.png | Bin 0 -> 804 bytes sources/orbium/gfx/344x234/marble44.png | Bin 0 -> 797 bytes sources/orbium/gfx/344x234/marble45.png | Bin 0 -> 793 bytes sources/orbium/gfx/344x234/marble46.png | Bin 0 -> 797 bytes sources/orbium/gfx/344x234/marble47.png | Bin 0 -> 803 bytes sources/orbium/gfx/344x234/marble5.png | Bin 0 -> 809 bytes sources/orbium/gfx/344x234/marble6.png | Bin 0 -> 822 bytes sources/orbium/gfx/344x234/marble7.png | Bin 0 -> 815 bytes sources/orbium/gfx/344x234/marble8.png | Bin 0 -> 816 bytes sources/orbium/gfx/344x234/marble9.png | Bin 0 -> 807 bytes sources/orbium/gfx/344x234/matcher0.png | Bin 0 -> 3616 bytes sources/orbium/gfx/344x234/modtile0.png | Bin 0 -> 2811 bytes sources/orbium/gfx/344x234/modtile1.png | Bin 0 -> 2734 bytes sources/orbium/gfx/344x234/modtile10.png | Bin 0 -> 2737 bytes sources/orbium/gfx/344x234/modtile11.png | Bin 0 -> 2692 bytes sources/orbium/gfx/344x234/modtile12.png | Bin 0 -> 2724 bytes sources/orbium/gfx/344x234/modtile13.png | Bin 0 -> 2858 bytes sources/orbium/gfx/344x234/modtile14.png | Bin 0 -> 2805 bytes sources/orbium/gfx/344x234/modtile2.png | Bin 0 -> 2801 bytes sources/orbium/gfx/344x234/modtile3.png | Bin 0 -> 2937 bytes sources/orbium/gfx/344x234/modtile4.png | Bin 0 -> 2820 bytes sources/orbium/gfx/344x234/modtile5.png | Bin 0 -> 2757 bytes sources/orbium/gfx/344x234/modtile6.png | Bin 0 -> 2758 bytes sources/orbium/gfx/344x234/modtile7.png | Bin 0 -> 2720 bytes sources/orbium/gfx/344x234/modtile8.png | Bin 0 -> 2763 bytes sources/orbium/gfx/344x234/modtile9.png | Bin 0 -> 2859 bytes sources/orbium/gfx/344x234/rotatile0.png | Bin 0 -> 3291 bytes sources/orbium/gfx/344x234/rotatile1.png | Bin 0 -> 3296 bytes sources/orbium/gfx/344x234/rotatile10.png | Bin 0 -> 3306 bytes sources/orbium/gfx/344x234/rotatile11.png | Bin 0 -> 3303 bytes sources/orbium/gfx/344x234/rotatile12.png | Bin 0 -> 3298 bytes sources/orbium/gfx/344x234/rotatile13.png | Bin 0 -> 3309 bytes sources/orbium/gfx/344x234/rotatile14.png | Bin 0 -> 3307 bytes sources/orbium/gfx/344x234/rotatile15.png | Bin 0 -> 2684 bytes sources/orbium/gfx/344x234/rotatile16.png | Bin 0 -> 2689 bytes sources/orbium/gfx/344x234/rotatile17.png | Bin 0 -> 2683 bytes sources/orbium/gfx/344x234/rotatile18.png | Bin 0 -> 2680 bytes sources/orbium/gfx/344x234/rotatile19.png | Bin 0 -> 2685 bytes sources/orbium/gfx/344x234/rotatile2.png | Bin 0 -> 3303 bytes sources/orbium/gfx/344x234/rotatile20.png | Bin 0 -> 2686 bytes sources/orbium/gfx/344x234/rotatile21.png | Bin 0 -> 2687 bytes sources/orbium/gfx/344x234/rotatile22.png | Bin 0 -> 2676 bytes sources/orbium/gfx/344x234/rotatile23.png | Bin 0 -> 2685 bytes sources/orbium/gfx/344x234/rotatile24.png | Bin 0 -> 2696 bytes sources/orbium/gfx/344x234/rotatile25.png | Bin 0 -> 2683 bytes sources/orbium/gfx/344x234/rotatile26.png | Bin 0 -> 2680 bytes sources/orbium/gfx/344x234/rotatile27.png | Bin 0 -> 2687 bytes sources/orbium/gfx/344x234/rotatile28.png | Bin 0 -> 2687 bytes sources/orbium/gfx/344x234/rotatile29.png | Bin 0 -> 2687 bytes sources/orbium/gfx/344x234/rotatile3.png | Bin 0 -> 3305 bytes sources/orbium/gfx/344x234/rotatile4.png | Bin 0 -> 3287 bytes sources/orbium/gfx/344x234/rotatile5.png | Bin 0 -> 3304 bytes sources/orbium/gfx/344x234/rotatile6.png | Bin 0 -> 3315 bytes sources/orbium/gfx/344x234/rotatile7.png | Bin 0 -> 3297 bytes sources/orbium/gfx/344x234/rotatile8.png | Bin 0 -> 3292 bytes sources/orbium/gfx/344x234/rotatile9.png | Bin 0 -> 3312 bytes sources/orbium/gfx/344x234/rotator0.png | Bin 0 -> 3528 bytes sources/orbium/gfx/344x234/rotator1.png | Bin 0 -> 3470 bytes sources/orbium/gfx/344x234/rotator10.png | Bin 0 -> 3431 bytes sources/orbium/gfx/344x234/rotator11.png | Bin 0 -> 3552 bytes sources/orbium/gfx/344x234/rotator12.png | Bin 0 -> 3411 bytes sources/orbium/gfx/344x234/rotator13.png | Bin 0 -> 3588 bytes sources/orbium/gfx/344x234/rotator14.png | Bin 0 -> 3497 bytes sources/orbium/gfx/344x234/rotator15.png | Bin 0 -> 3616 bytes sources/orbium/gfx/344x234/rotator16.png | Bin 0 -> 3403 bytes sources/orbium/gfx/344x234/rotator17.png | Bin 0 -> 3362 bytes sources/orbium/gfx/344x234/rotator18.png | Bin 0 -> 3281 bytes sources/orbium/gfx/344x234/rotator19.png | Bin 0 -> 3424 bytes sources/orbium/gfx/344x234/rotator2.png | Bin 0 -> 3389 bytes sources/orbium/gfx/344x234/rotator20.png | Bin 0 -> 3378 bytes sources/orbium/gfx/344x234/rotator21.png | Bin 0 -> 3357 bytes sources/orbium/gfx/344x234/rotator22.png | Bin 0 -> 3286 bytes sources/orbium/gfx/344x234/rotator23.png | Bin 0 -> 3409 bytes sources/orbium/gfx/344x234/rotator24.png | Bin 0 -> 3394 bytes sources/orbium/gfx/344x234/rotator25.png | Bin 0 -> 3354 bytes sources/orbium/gfx/344x234/rotator26.png | Bin 0 -> 3283 bytes sources/orbium/gfx/344x234/rotator27.png | Bin 0 -> 3374 bytes sources/orbium/gfx/344x234/rotator28.png | Bin 0 -> 3362 bytes sources/orbium/gfx/344x234/rotator29.png | Bin 0 -> 3386 bytes sources/orbium/gfx/344x234/rotator3.png | Bin 0 -> 3554 bytes sources/orbium/gfx/344x234/rotator30.png | Bin 0 -> 3270 bytes sources/orbium/gfx/344x234/rotator31.png | Bin 0 -> 3396 bytes sources/orbium/gfx/344x234/rotator4.png | Bin 0 -> 3426 bytes sources/orbium/gfx/344x234/rotator5.png | Bin 0 -> 3510 bytes sources/orbium/gfx/344x234/rotator6.png | Bin 0 -> 3424 bytes sources/orbium/gfx/344x234/rotator7.png | Bin 0 -> 3564 bytes sources/orbium/gfx/344x234/rotator8.png | Bin 0 -> 3500 bytes sources/orbium/gfx/344x234/rotator9.png | Bin 0 -> 3586 bytes sources/orbium/gfx/344x234/sequencer0.png | Bin 0 -> 3404 bytes sources/orbium/gfx/344x234/teleporter0.png | Bin 0 -> 3010 bytes sources/orbium/gfx/344x234/teleporter1.png | Bin 0 -> 3013 bytes sources/orbium/gfx/344x234/teleporter2.png | Bin 0 -> 3661 bytes sources/orbium/gfx/344x234/timer0.png | Bin 0 -> 365 bytes sources/orbium/gfx/344x234/timer1.png | Bin 0 -> 336 bytes sources/orbium/gfx/344x234/transformer0.png | Bin 0 -> 2269 bytes sources/orbium/gfx/344x234/transformer1.png | Bin 0 -> 2279 bytes sources/orbium/gfx/344x234/transformer2.png | Bin 0 -> 2263 bytes sources/orbium/gfx/344x234/transformer3.png | Bin 0 -> 2275 bytes sources/orbium/gfx/344x234/verttile0.png | Bin 0 -> 2767 bytes sources/orbium/gfx/344x234/verttile1.png | Bin 0 -> 2681 bytes sources/orbium/gfx/344x234/verttile2.png | Bin 0 -> 2724 bytes sources/orbium/gfx/344x234/verttile3.png | Bin 0 -> 2787 bytes sources/orbium/gfx/344x234/verttile4.png | Bin 0 -> 2852 bytes sources/orbium/gfx/344x234/verttile5.png | Bin 0 -> 2829 bytes sources/orbium/gfx/424x289/announcer0.png | Bin 0 -> 5487 bytes sources/orbium/gfx/424x289/announcer1.png | Bin 0 -> 5460 bytes sources/orbium/gfx/424x289/announcer2.png | Bin 0 -> 5476 bytes sources/orbium/gfx/424x289/announcer3.png | Bin 0 -> 5457 bytes sources/orbium/gfx/424x289/bar0.png | Bin 0 -> 1744 bytes sources/orbium/gfx/424x289/bar1.png | Bin 0 -> 1740 bytes sources/orbium/gfx/424x289/bar10.png | Bin 0 -> 1684 bytes sources/orbium/gfx/424x289/bar11.png | Bin 0 -> 1661 bytes sources/orbium/gfx/424x289/bar12.png | Bin 0 -> 1664 bytes sources/orbium/gfx/424x289/bar13.png | Bin 0 -> 1662 bytes sources/orbium/gfx/424x289/bar14.png | Bin 0 -> 1675 bytes sources/orbium/gfx/424x289/bar15.png | Bin 0 -> 1639 bytes sources/orbium/gfx/424x289/bar2.png | Bin 0 -> 1685 bytes sources/orbium/gfx/424x289/bar3.png | Bin 0 -> 1694 bytes sources/orbium/gfx/424x289/bar4.png | Bin 0 -> 1724 bytes sources/orbium/gfx/424x289/bar5.png | Bin 0 -> 1672 bytes sources/orbium/gfx/424x289/bar6.png | Bin 0 -> 1672 bytes sources/orbium/gfx/424x289/bar7.png | Bin 0 -> 1650 bytes sources/orbium/gfx/424x289/bar8.png | Bin 0 -> 1673 bytes sources/orbium/gfx/424x289/bar9.png | Bin 0 -> 1667 bytes sources/orbium/gfx/424x289/clock0.png | Bin 0 -> 5405 bytes sources/orbium/gfx/424x289/clock1.png | Bin 0 -> 5453 bytes sources/orbium/gfx/424x289/clock2.png | Bin 0 -> 5470 bytes sources/orbium/gfx/424x289/clock3.png | Bin 0 -> 5458 bytes sources/orbium/gfx/424x289/clock4.png | Bin 0 -> 5479 bytes sources/orbium/gfx/424x289/clock5.png | Bin 0 -> 5462 bytes sources/orbium/gfx/424x289/clock6.png | Bin 0 -> 5471 bytes sources/orbium/gfx/424x289/clock7.png | Bin 0 -> 5494 bytes sources/orbium/gfx/424x289/clock8.png | Bin 0 -> 5484 bytes sources/orbium/gfx/424x289/clock9.png | Bin 0 -> 5500 bytes sources/orbium/gfx/424x289/counter0.png | Bin 0 -> 5760 bytes sources/orbium/gfx/424x289/counter1.png | Bin 0 -> 5813 bytes sources/orbium/gfx/424x289/counter2.png | Bin 0 -> 5865 bytes sources/orbium/gfx/424x289/counter3.png | Bin 0 -> 5928 bytes sources/orbium/gfx/424x289/counter4.png | Bin 0 -> 5980 bytes sources/orbium/gfx/424x289/crosstile0.png | Bin 0 -> 3810 bytes sources/orbium/gfx/424x289/crosstile1.png | Bin 0 -> 3798 bytes sources/orbium/gfx/424x289/crosstile2.png | Bin 0 -> 3836 bytes sources/orbium/gfx/424x289/crosstile3.png | Bin 0 -> 3906 bytes sources/orbium/gfx/424x289/crosstile4.png | Bin 0 -> 4053 bytes sources/orbium/gfx/424x289/director0.png | Bin 0 -> 3301 bytes sources/orbium/gfx/424x289/director1.png | Bin 0 -> 3269 bytes sources/orbium/gfx/424x289/director2.png | Bin 0 -> 3300 bytes sources/orbium/gfx/424x289/director3.png | Bin 0 -> 3275 bytes sources/orbium/gfx/424x289/emptytile0.png | Bin 0 -> 4007 bytes sources/orbium/gfx/424x289/emptytile1.png | Bin 0 -> 3973 bytes sources/orbium/gfx/424x289/emptytile2.png | Bin 0 -> 4035 bytes sources/orbium/gfx/424x289/emptytile3.png | Bin 0 -> 4211 bytes sources/orbium/gfx/424x289/emptytile4.png | Bin 0 -> 4317 bytes sources/orbium/gfx/424x289/emptytile5.png | Bin 0 -> 4205 bytes sources/orbium/gfx/424x289/emptytile6.png | Bin 0 -> 4261 bytes sources/orbium/gfx/424x289/explosion0.png | Bin 0 -> 3779 bytes sources/orbium/gfx/424x289/explosion1.png | Bin 0 -> 2715 bytes sources/orbium/gfx/424x289/explosion2.png | Bin 0 -> 2256 bytes sources/orbium/gfx/424x289/explosion3.png | Bin 0 -> 2293 bytes sources/orbium/gfx/424x289/horiztile0.png | Bin 0 -> 3900 bytes sources/orbium/gfx/424x289/horiztile1.png | Bin 0 -> 3886 bytes sources/orbium/gfx/424x289/horiztile2.png | Bin 0 -> 3907 bytes sources/orbium/gfx/424x289/horiztile3.png | Bin 0 -> 4047 bytes sources/orbium/gfx/424x289/horiztile4.png | Bin 0 -> 4138 bytes sources/orbium/gfx/424x289/horiztile5.png | Bin 0 -> 4116 bytes sources/orbium/gfx/424x289/inspector0.png | Bin 0 -> 3257 bytes sources/orbium/gfx/424x289/inspector1.png | Bin 0 -> 3257 bytes sources/orbium/gfx/424x289/inspector2.png | Bin 0 -> 3247 bytes sources/orbium/gfx/424x289/inspector3.png | Bin 0 -> 3247 bytes sources/orbium/gfx/424x289/marble0.png | Bin 0 -> 1004 bytes sources/orbium/gfx/424x289/marble1.png | 0 sources/orbium/gfx/424x289/marble10.png | Bin 0 -> 1002 bytes sources/orbium/gfx/424x289/marble11.png | Bin 0 -> 1026 bytes sources/orbium/gfx/424x289/marble12.png | Bin 0 -> 996 bytes sources/orbium/gfx/424x289/marble13.png | Bin 0 -> 1007 bytes sources/orbium/gfx/424x289/marble14.png | Bin 0 -> 1006 bytes sources/orbium/gfx/424x289/marble15.png | Bin 0 -> 1006 bytes sources/orbium/gfx/424x289/marble16.png | Bin 0 -> 1006 bytes sources/orbium/gfx/424x289/marble17.png | Bin 0 -> 1002 bytes sources/orbium/gfx/424x289/marble18.png | Bin 0 -> 1024 bytes sources/orbium/gfx/424x289/marble19.png | Bin 0 -> 1017 bytes sources/orbium/gfx/424x289/marble2.png | Bin 0 -> 1017 bytes sources/orbium/gfx/424x289/marble20.png | Bin 0 -> 991 bytes sources/orbium/gfx/424x289/marble21.png | Bin 0 -> 994 bytes sources/orbium/gfx/424x289/marble22.png | Bin 0 -> 997 bytes sources/orbium/gfx/424x289/marble23.png | Bin 0 -> 1008 bytes sources/orbium/gfx/424x289/marble24.png | Bin 0 -> 988 bytes sources/orbium/gfx/424x289/marble25.png | Bin 0 -> 1001 bytes sources/orbium/gfx/424x289/marble26.png | Bin 0 -> 998 bytes sources/orbium/gfx/424x289/marble27.png | Bin 0 -> 990 bytes sources/orbium/gfx/424x289/marble28.png | Bin 0 -> 993 bytes sources/orbium/gfx/424x289/marble29.png | Bin 0 -> 990 bytes sources/orbium/gfx/424x289/marble3.png | Bin 0 -> 1017 bytes sources/orbium/gfx/424x289/marble30.png | Bin 0 -> 1017 bytes sources/orbium/gfx/424x289/marble31.png | Bin 0 -> 1006 bytes sources/orbium/gfx/424x289/marble32.png | Bin 0 -> 980 bytes sources/orbium/gfx/424x289/marble33.png | Bin 0 -> 977 bytes sources/orbium/gfx/424x289/marble34.png | Bin 0 -> 984 bytes sources/orbium/gfx/424x289/marble35.png | Bin 0 -> 1004 bytes sources/orbium/gfx/424x289/marble36.png | Bin 0 -> 1007 bytes sources/orbium/gfx/424x289/marble37.png | Bin 0 -> 1017 bytes sources/orbium/gfx/424x289/marble38.png | Bin 0 -> 1002 bytes sources/orbium/gfx/424x289/marble39.png | Bin 0 -> 1009 bytes sources/orbium/gfx/424x289/marble4.png | Bin 0 -> 1013 bytes sources/orbium/gfx/424x289/marble40.png | Bin 0 -> 997 bytes sources/orbium/gfx/424x289/marble41.png | Bin 0 -> 1010 bytes sources/orbium/gfx/424x289/marble42.png | Bin 0 -> 1037 bytes sources/orbium/gfx/424x289/marble43.png | Bin 0 -> 1022 bytes sources/orbium/gfx/424x289/marble44.png | Bin 0 -> 999 bytes sources/orbium/gfx/424x289/marble45.png | Bin 0 -> 991 bytes sources/orbium/gfx/424x289/marble46.png | Bin 0 -> 998 bytes sources/orbium/gfx/424x289/marble47.png | Bin 0 -> 1021 bytes sources/orbium/gfx/424x289/marble5.png | Bin 0 -> 1005 bytes sources/orbium/gfx/424x289/marble6.png | Bin 0 -> 1031 bytes sources/orbium/gfx/424x289/marble7.png | Bin 0 -> 1024 bytes sources/orbium/gfx/424x289/marble8.png | Bin 0 -> 1006 bytes sources/orbium/gfx/424x289/marble9.png | Bin 0 -> 1001 bytes sources/orbium/gfx/424x289/matcher0.png | Bin 0 -> 5034 bytes sources/orbium/gfx/424x289/modtile0.png | Bin 0 -> 3935 bytes sources/orbium/gfx/424x289/modtile1.png | Bin 0 -> 3928 bytes sources/orbium/gfx/424x289/modtile10.png | Bin 0 -> 3905 bytes sources/orbium/gfx/424x289/modtile11.png | Bin 0 -> 3815 bytes sources/orbium/gfx/424x289/modtile12.png | Bin 0 -> 3928 bytes sources/orbium/gfx/424x289/modtile13.png | Bin 0 -> 4047 bytes sources/orbium/gfx/424x289/modtile14.png | Bin 0 -> 4053 bytes sources/orbium/gfx/424x289/modtile2.png | Bin 0 -> 4023 bytes sources/orbium/gfx/424x289/modtile3.png | Bin 0 -> 4162 bytes sources/orbium/gfx/424x289/modtile4.png | Bin 0 -> 4102 bytes sources/orbium/gfx/424x289/modtile5.png | Bin 0 -> 3892 bytes sources/orbium/gfx/424x289/modtile6.png | Bin 0 -> 3935 bytes sources/orbium/gfx/424x289/modtile7.png | Bin 0 -> 3894 bytes sources/orbium/gfx/424x289/modtile8.png | Bin 0 -> 3924 bytes sources/orbium/gfx/424x289/modtile9.png | Bin 0 -> 4137 bytes sources/orbium/gfx/424x289/rotatile0.png | Bin 0 -> 4770 bytes sources/orbium/gfx/424x289/rotatile1.png | Bin 0 -> 4751 bytes sources/orbium/gfx/424x289/rotatile10.png | Bin 0 -> 4785 bytes sources/orbium/gfx/424x289/rotatile11.png | Bin 0 -> 4769 bytes sources/orbium/gfx/424x289/rotatile12.png | Bin 0 -> 4774 bytes sources/orbium/gfx/424x289/rotatile13.png | Bin 0 -> 4758 bytes sources/orbium/gfx/424x289/rotatile14.png | Bin 0 -> 4772 bytes sources/orbium/gfx/424x289/rotatile15.png | Bin 0 -> 3750 bytes sources/orbium/gfx/424x289/rotatile16.png | Bin 0 -> 3763 bytes sources/orbium/gfx/424x289/rotatile17.png | Bin 0 -> 3752 bytes sources/orbium/gfx/424x289/rotatile18.png | Bin 0 -> 3736 bytes sources/orbium/gfx/424x289/rotatile19.png | Bin 0 -> 3771 bytes sources/orbium/gfx/424x289/rotatile2.png | Bin 0 -> 4763 bytes sources/orbium/gfx/424x289/rotatile20.png | Bin 0 -> 3759 bytes sources/orbium/gfx/424x289/rotatile21.png | Bin 0 -> 3738 bytes sources/orbium/gfx/424x289/rotatile22.png | Bin 0 -> 3744 bytes sources/orbium/gfx/424x289/rotatile23.png | Bin 0 -> 3759 bytes sources/orbium/gfx/424x289/rotatile24.png | Bin 0 -> 3752 bytes sources/orbium/gfx/424x289/rotatile25.png | Bin 0 -> 3742 bytes sources/orbium/gfx/424x289/rotatile26.png | Bin 0 -> 3764 bytes sources/orbium/gfx/424x289/rotatile27.png | Bin 0 -> 3750 bytes sources/orbium/gfx/424x289/rotatile28.png | Bin 0 -> 3751 bytes sources/orbium/gfx/424x289/rotatile29.png | Bin 0 -> 3760 bytes sources/orbium/gfx/424x289/rotatile3.png | Bin 0 -> 4771 bytes sources/orbium/gfx/424x289/rotatile4.png | Bin 0 -> 4761 bytes sources/orbium/gfx/424x289/rotatile5.png | Bin 0 -> 4755 bytes sources/orbium/gfx/424x289/rotatile6.png | Bin 0 -> 4772 bytes sources/orbium/gfx/424x289/rotatile7.png | Bin 0 -> 4784 bytes sources/orbium/gfx/424x289/rotatile8.png | Bin 0 -> 4764 bytes sources/orbium/gfx/424x289/rotatile9.png | Bin 0 -> 4758 bytes sources/orbium/gfx/424x289/rotator0.png | Bin 0 -> 4747 bytes sources/orbium/gfx/424x289/rotator1.png | Bin 0 -> 4720 bytes sources/orbium/gfx/424x289/rotator10.png | Bin 0 -> 4763 bytes sources/orbium/gfx/424x289/rotator11.png | Bin 0 -> 4909 bytes sources/orbium/gfx/424x289/rotator12.png | Bin 0 -> 4688 bytes sources/orbium/gfx/424x289/rotator13.png | Bin 0 -> 4921 bytes sources/orbium/gfx/424x289/rotator14.png | Bin 0 -> 4805 bytes sources/orbium/gfx/424x289/rotator15.png | Bin 0 -> 4972 bytes sources/orbium/gfx/424x289/rotator16.png | Bin 0 -> 4578 bytes sources/orbium/gfx/424x289/rotator17.png | Bin 0 -> 4503 bytes sources/orbium/gfx/424x289/rotator18.png | Bin 0 -> 4434 bytes sources/orbium/gfx/424x289/rotator19.png | Bin 0 -> 4576 bytes sources/orbium/gfx/424x289/rotator2.png | Bin 0 -> 4643 bytes sources/orbium/gfx/424x289/rotator20.png | Bin 0 -> 4583 bytes sources/orbium/gfx/424x289/rotator21.png | Bin 0 -> 4561 bytes sources/orbium/gfx/424x289/rotator22.png | Bin 0 -> 4427 bytes sources/orbium/gfx/424x289/rotator23.png | Bin 0 -> 4590 bytes sources/orbium/gfx/424x289/rotator24.png | Bin 0 -> 4571 bytes sources/orbium/gfx/424x289/rotator25.png | Bin 0 -> 4523 bytes sources/orbium/gfx/424x289/rotator26.png | Bin 0 -> 4442 bytes sources/orbium/gfx/424x289/rotator27.png | Bin 0 -> 4580 bytes sources/orbium/gfx/424x289/rotator28.png | Bin 0 -> 4515 bytes sources/orbium/gfx/424x289/rotator29.png | Bin 0 -> 4533 bytes sources/orbium/gfx/424x289/rotator3.png | Bin 0 -> 4748 bytes sources/orbium/gfx/424x289/rotator30.png | Bin 0 -> 4413 bytes sources/orbium/gfx/424x289/rotator31.png | Bin 0 -> 4606 bytes sources/orbium/gfx/424x289/rotator4.png | Bin 0 -> 4719 bytes sources/orbium/gfx/424x289/rotator5.png | Bin 0 -> 4768 bytes sources/orbium/gfx/424x289/rotator6.png | Bin 0 -> 4688 bytes sources/orbium/gfx/424x289/rotator7.png | Bin 0 -> 4863 bytes sources/orbium/gfx/424x289/rotator8.png | Bin 0 -> 4749 bytes sources/orbium/gfx/424x289/rotator9.png | Bin 0 -> 4882 bytes sources/orbium/gfx/424x289/sequencer0.png | Bin 0 -> 4742 bytes sources/orbium/gfx/424x289/teleporter0.png | Bin 0 -> 4042 bytes sources/orbium/gfx/424x289/teleporter1.png | Bin 0 -> 4076 bytes sources/orbium/gfx/424x289/teleporter2.png | Bin 0 -> 5063 bytes sources/orbium/gfx/424x289/timer0.png | Bin 0 -> 375 bytes sources/orbium/gfx/424x289/timer1.png | Bin 0 -> 343 bytes sources/orbium/gfx/424x289/transformer0.png | Bin 0 -> 2951 bytes sources/orbium/gfx/424x289/transformer1.png | Bin 0 -> 2955 bytes sources/orbium/gfx/424x289/transformer2.png | Bin 0 -> 2949 bytes sources/orbium/gfx/424x289/transformer3.png | Bin 0 -> 2947 bytes sources/orbium/gfx/424x289/verttile0.png | Bin 0 -> 3905 bytes sources/orbium/gfx/424x289/verttile1.png | Bin 0 -> 3865 bytes sources/orbium/gfx/424x289/verttile2.png | Bin 0 -> 3928 bytes sources/orbium/gfx/424x289/verttile3.png | Bin 0 -> 4008 bytes sources/orbium/gfx/424x289/verttile4.png | Bin 0 -> 4156 bytes sources/orbium/gfx/424x289/verttile5.png | Bin 0 -> 4049 bytes sources/orbium/gfx/464x316/announcer0.png | Bin 0 -> 6450 bytes sources/orbium/gfx/464x316/announcer1.png | Bin 0 -> 6437 bytes sources/orbium/gfx/464x316/announcer2.png | Bin 0 -> 6446 bytes sources/orbium/gfx/464x316/announcer3.png | Bin 0 -> 6423 bytes sources/orbium/gfx/464x316/bar0.png | Bin 0 -> 1920 bytes sources/orbium/gfx/464x316/bar1.png | Bin 0 -> 1964 bytes sources/orbium/gfx/464x316/bar10.png | Bin 0 -> 1889 bytes sources/orbium/gfx/464x316/bar11.png | Bin 0 -> 1874 bytes sources/orbium/gfx/464x316/bar12.png | Bin 0 -> 1858 bytes sources/orbium/gfx/464x316/bar13.png | Bin 0 -> 1790 bytes sources/orbium/gfx/464x316/bar14.png | Bin 0 -> 1794 bytes sources/orbium/gfx/464x316/bar15.png | Bin 0 -> 1769 bytes sources/orbium/gfx/464x316/bar2.png | Bin 0 -> 1900 bytes sources/orbium/gfx/464x316/bar3.png | Bin 0 -> 1951 bytes sources/orbium/gfx/464x316/bar4.png | Bin 0 -> 1878 bytes sources/orbium/gfx/464x316/bar5.png | Bin 0 -> 1906 bytes sources/orbium/gfx/464x316/bar6.png | Bin 0 -> 1821 bytes sources/orbium/gfx/464x316/bar7.png | Bin 0 -> 1778 bytes sources/orbium/gfx/464x316/bar8.png | Bin 0 -> 1846 bytes sources/orbium/gfx/464x316/bar9.png | Bin 0 -> 1814 bytes sources/orbium/gfx/464x316/clock0.png | Bin 0 -> 6339 bytes sources/orbium/gfx/464x316/clock1.png | Bin 0 -> 6419 bytes sources/orbium/gfx/464x316/clock2.png | Bin 0 -> 6433 bytes sources/orbium/gfx/464x316/clock3.png | Bin 0 -> 6433 bytes sources/orbium/gfx/464x316/clock4.png | Bin 0 -> 6437 bytes sources/orbium/gfx/464x316/clock5.png | Bin 0 -> 6454 bytes sources/orbium/gfx/464x316/clock6.png | Bin 0 -> 6451 bytes sources/orbium/gfx/464x316/clock7.png | Bin 0 -> 6446 bytes sources/orbium/gfx/464x316/clock8.png | Bin 0 -> 6445 bytes sources/orbium/gfx/464x316/clock9.png | Bin 0 -> 6462 bytes sources/orbium/gfx/464x316/counter0.png | Bin 0 -> 6741 bytes sources/orbium/gfx/464x316/counter1.png | Bin 0 -> 6811 bytes sources/orbium/gfx/464x316/counter2.png | Bin 0 -> 6887 bytes sources/orbium/gfx/464x316/counter3.png | Bin 0 -> 6951 bytes sources/orbium/gfx/464x316/counter4.png | Bin 0 -> 7016 bytes sources/orbium/gfx/464x316/crosstile0.png | Bin 0 -> 4501 bytes sources/orbium/gfx/464x316/crosstile1.png | Bin 0 -> 4472 bytes sources/orbium/gfx/464x316/crosstile2.png | Bin 0 -> 4518 bytes sources/orbium/gfx/464x316/crosstile3.png | Bin 0 -> 4603 bytes sources/orbium/gfx/464x316/crosstile4.png | Bin 0 -> 4694 bytes sources/orbium/gfx/464x316/director0.png | Bin 0 -> 3709 bytes sources/orbium/gfx/464x316/director1.png | Bin 0 -> 3675 bytes sources/orbium/gfx/464x316/director2.png | Bin 0 -> 3717 bytes sources/orbium/gfx/464x316/director3.png | Bin 0 -> 3675 bytes sources/orbium/gfx/464x316/emptytile0.png | Bin 0 -> 4744 bytes sources/orbium/gfx/464x316/emptytile1.png | Bin 0 -> 4682 bytes sources/orbium/gfx/464x316/emptytile2.png | Bin 0 -> 4711 bytes sources/orbium/gfx/464x316/emptytile3.png | Bin 0 -> 4932 bytes sources/orbium/gfx/464x316/emptytile4.png | Bin 0 -> 4994 bytes sources/orbium/gfx/464x316/emptytile5.png | Bin 0 -> 4902 bytes sources/orbium/gfx/464x316/emptytile6.png | Bin 0 -> 5006 bytes sources/orbium/gfx/464x316/explosion0.png | Bin 0 -> 4232 bytes sources/orbium/gfx/464x316/explosion1.png | Bin 0 -> 3000 bytes sources/orbium/gfx/464x316/explosion2.png | Bin 0 -> 2536 bytes sources/orbium/gfx/464x316/explosion3.png | Bin 0 -> 2602 bytes sources/orbium/gfx/464x316/horiztile0.png | Bin 0 -> 4605 bytes sources/orbium/gfx/464x316/horiztile1.png | Bin 0 -> 4564 bytes sources/orbium/gfx/464x316/horiztile2.png | Bin 0 -> 4598 bytes sources/orbium/gfx/464x316/horiztile3.png | Bin 0 -> 4802 bytes sources/orbium/gfx/464x316/horiztile4.png | Bin 0 -> 4823 bytes sources/orbium/gfx/464x316/horiztile5.png | Bin 0 -> 4878 bytes sources/orbium/gfx/464x316/inspector0.png | Bin 0 -> 3767 bytes sources/orbium/gfx/464x316/inspector1.png | Bin 0 -> 3760 bytes sources/orbium/gfx/464x316/inspector2.png | Bin 0 -> 3763 bytes sources/orbium/gfx/464x316/inspector3.png | Bin 0 -> 3760 bytes sources/orbium/gfx/464x316/marble0.png | Bin 0 -> 1088 bytes sources/orbium/gfx/464x316/marble1.png | Bin 0 -> 1107 bytes sources/orbium/gfx/464x316/marble10.png | Bin 0 -> 1085 bytes sources/orbium/gfx/464x316/marble11.png | Bin 0 -> 1107 bytes sources/orbium/gfx/464x316/marble12.png | Bin 0 -> 1081 bytes sources/orbium/gfx/464x316/marble13.png | Bin 0 -> 1088 bytes sources/orbium/gfx/464x316/marble14.png | Bin 0 -> 1093 bytes sources/orbium/gfx/464x316/marble15.png | Bin 0 -> 1088 bytes sources/orbium/gfx/464x316/marble16.png | Bin 0 -> 1088 bytes sources/orbium/gfx/464x316/marble17.png | Bin 0 -> 1081 bytes sources/orbium/gfx/464x316/marble18.png | Bin 0 -> 1109 bytes sources/orbium/gfx/464x316/marble19.png | Bin 0 -> 1095 bytes sources/orbium/gfx/464x316/marble2.png | Bin 0 -> 1108 bytes sources/orbium/gfx/464x316/marble20.png | Bin 0 -> 1074 bytes sources/orbium/gfx/464x316/marble21.png | Bin 0 -> 1072 bytes sources/orbium/gfx/464x316/marble22.png | Bin 0 -> 1068 bytes sources/orbium/gfx/464x316/marble23.png | Bin 0 -> 1093 bytes sources/orbium/gfx/464x316/marble24.png | Bin 0 -> 1069 bytes sources/orbium/gfx/464x316/marble25.png | Bin 0 -> 1081 bytes sources/orbium/gfx/464x316/marble26.png | Bin 0 -> 1087 bytes sources/orbium/gfx/464x316/marble27.png | Bin 0 -> 1074 bytes sources/orbium/gfx/464x316/marble28.png | Bin 0 -> 1077 bytes sources/orbium/gfx/464x316/marble29.png | Bin 0 -> 1065 bytes sources/orbium/gfx/464x316/marble3.png | Bin 0 -> 1091 bytes sources/orbium/gfx/464x316/marble30.png | Bin 0 -> 1105 bytes sources/orbium/gfx/464x316/marble31.png | Bin 0 -> 1091 bytes sources/orbium/gfx/464x316/marble32.png | Bin 0 -> 1057 bytes sources/orbium/gfx/464x316/marble33.png | Bin 0 -> 1065 bytes sources/orbium/gfx/464x316/marble34.png | Bin 0 -> 1065 bytes sources/orbium/gfx/464x316/marble35.png | Bin 0 -> 1084 bytes sources/orbium/gfx/464x316/marble36.png | Bin 0 -> 1094 bytes sources/orbium/gfx/464x316/marble37.png | Bin 0 -> 1095 bytes sources/orbium/gfx/464x316/marble38.png | Bin 0 -> 1095 bytes sources/orbium/gfx/464x316/marble39.png | Bin 0 -> 1092 bytes sources/orbium/gfx/464x316/marble4.png | Bin 0 -> 1097 bytes sources/orbium/gfx/464x316/marble40.png | Bin 0 -> 1105 bytes sources/orbium/gfx/464x316/marble41.png | Bin 0 -> 1088 bytes sources/orbium/gfx/464x316/marble42.png | Bin 0 -> 1124 bytes sources/orbium/gfx/464x316/marble43.png | Bin 0 -> 1099 bytes sources/orbium/gfx/464x316/marble44.png | Bin 0 -> 1083 bytes sources/orbium/gfx/464x316/marble45.png | Bin 0 -> 1079 bytes sources/orbium/gfx/464x316/marble46.png | Bin 0 -> 1081 bytes sources/orbium/gfx/464x316/marble47.png | Bin 0 -> 1105 bytes sources/orbium/gfx/464x316/marble5.png | Bin 0 -> 1097 bytes sources/orbium/gfx/464x316/marble6.png | Bin 0 -> 1123 bytes sources/orbium/gfx/464x316/marble7.png | Bin 0 -> 1113 bytes sources/orbium/gfx/464x316/marble8.png | Bin 0 -> 1078 bytes sources/orbium/gfx/464x316/marble9.png | Bin 0 -> 1084 bytes sources/orbium/gfx/464x316/matcher0.png | Bin 0 -> 5862 bytes sources/orbium/gfx/464x316/modtile0.png | Bin 0 -> 4692 bytes sources/orbium/gfx/464x316/modtile1.png | Bin 0 -> 4613 bytes sources/orbium/gfx/464x316/modtile10.png | Bin 0 -> 4599 bytes sources/orbium/gfx/464x316/modtile11.png | Bin 0 -> 4467 bytes sources/orbium/gfx/464x316/modtile12.png | Bin 0 -> 4572 bytes sources/orbium/gfx/464x316/modtile13.png | Bin 0 -> 4802 bytes sources/orbium/gfx/464x316/modtile14.png | Bin 0 -> 4694 bytes sources/orbium/gfx/464x316/modtile2.png | Bin 0 -> 4663 bytes sources/orbium/gfx/464x316/modtile3.png | Bin 0 -> 4916 bytes sources/orbium/gfx/464x316/modtile4.png | Bin 0 -> 4773 bytes sources/orbium/gfx/464x316/modtile5.png | Bin 0 -> 4622 bytes sources/orbium/gfx/464x316/modtile6.png | Bin 0 -> 4622 bytes sources/orbium/gfx/464x316/modtile7.png | Bin 0 -> 4552 bytes sources/orbium/gfx/464x316/modtile8.png | Bin 0 -> 4684 bytes sources/orbium/gfx/464x316/modtile9.png | Bin 0 -> 4756 bytes sources/orbium/gfx/464x316/rotatile0.png | Bin 0 -> 5562 bytes sources/orbium/gfx/464x316/rotatile1.png | Bin 0 -> 5533 bytes sources/orbium/gfx/464x316/rotatile10.png | Bin 0 -> 5580 bytes sources/orbium/gfx/464x316/rotatile11.png | Bin 0 -> 5561 bytes sources/orbium/gfx/464x316/rotatile12.png | Bin 0 -> 5574 bytes sources/orbium/gfx/464x316/rotatile13.png | Bin 0 -> 5550 bytes sources/orbium/gfx/464x316/rotatile14.png | Bin 0 -> 5579 bytes sources/orbium/gfx/464x316/rotatile15.png | Bin 0 -> 4348 bytes sources/orbium/gfx/464x316/rotatile16.png | Bin 0 -> 4349 bytes sources/orbium/gfx/464x316/rotatile17.png | Bin 0 -> 4319 bytes sources/orbium/gfx/464x316/rotatile18.png | Bin 0 -> 4341 bytes sources/orbium/gfx/464x316/rotatile19.png | Bin 0 -> 4357 bytes sources/orbium/gfx/464x316/rotatile2.png | Bin 0 -> 5551 bytes sources/orbium/gfx/464x316/rotatile20.png | Bin 0 -> 4337 bytes sources/orbium/gfx/464x316/rotatile21.png | Bin 0 -> 4341 bytes sources/orbium/gfx/464x316/rotatile22.png | Bin 0 -> 4364 bytes sources/orbium/gfx/464x316/rotatile23.png | Bin 0 -> 4349 bytes sources/orbium/gfx/464x316/rotatile24.png | Bin 0 -> 4345 bytes sources/orbium/gfx/464x316/rotatile25.png | Bin 0 -> 4361 bytes sources/orbium/gfx/464x316/rotatile26.png | Bin 0 -> 4372 bytes sources/orbium/gfx/464x316/rotatile27.png | Bin 0 -> 4346 bytes sources/orbium/gfx/464x316/rotatile28.png | Bin 0 -> 4349 bytes sources/orbium/gfx/464x316/rotatile29.png | Bin 0 -> 4362 bytes sources/orbium/gfx/464x316/rotatile3.png | Bin 0 -> 5554 bytes sources/orbium/gfx/464x316/rotatile4.png | Bin 0 -> 5559 bytes sources/orbium/gfx/464x316/rotatile5.png | Bin 0 -> 5562 bytes sources/orbium/gfx/464x316/rotatile6.png | Bin 0 -> 5565 bytes sources/orbium/gfx/464x316/rotatile7.png | Bin 0 -> 5567 bytes sources/orbium/gfx/464x316/rotatile8.png | Bin 0 -> 5572 bytes sources/orbium/gfx/464x316/rotatile9.png | Bin 0 -> 5568 bytes sources/orbium/gfx/464x316/rotator0.png | Bin 0 -> 5437 bytes sources/orbium/gfx/464x316/rotator1.png | Bin 0 -> 5392 bytes sources/orbium/gfx/464x316/rotator10.png | Bin 0 -> 5442 bytes sources/orbium/gfx/464x316/rotator11.png | Bin 0 -> 5624 bytes sources/orbium/gfx/464x316/rotator12.png | Bin 0 -> 5338 bytes sources/orbium/gfx/464x316/rotator13.png | Bin 0 -> 5631 bytes sources/orbium/gfx/464x316/rotator14.png | Bin 0 -> 5535 bytes sources/orbium/gfx/464x316/rotator15.png | Bin 0 -> 5744 bytes sources/orbium/gfx/464x316/rotator16.png | Bin 0 -> 5176 bytes sources/orbium/gfx/464x316/rotator17.png | Bin 0 -> 5223 bytes sources/orbium/gfx/464x316/rotator18.png | Bin 0 -> 5055 bytes sources/orbium/gfx/464x316/rotator19.png | Bin 0 -> 5190 bytes sources/orbium/gfx/464x316/rotator2.png | Bin 0 -> 5304 bytes sources/orbium/gfx/464x316/rotator20.png | Bin 0 -> 5213 bytes sources/orbium/gfx/464x316/rotator21.png | Bin 0 -> 5187 bytes sources/orbium/gfx/464x316/rotator22.png | Bin 0 -> 5071 bytes sources/orbium/gfx/464x316/rotator23.png | Bin 0 -> 5218 bytes sources/orbium/gfx/464x316/rotator24.png | Bin 0 -> 5223 bytes sources/orbium/gfx/464x316/rotator25.png | Bin 0 -> 5196 bytes sources/orbium/gfx/464x316/rotator26.png | Bin 0 -> 5032 bytes sources/orbium/gfx/464x316/rotator27.png | Bin 0 -> 5253 bytes sources/orbium/gfx/464x316/rotator28.png | Bin 0 -> 5180 bytes sources/orbium/gfx/464x316/rotator29.png | Bin 0 -> 5197 bytes sources/orbium/gfx/464x316/rotator3.png | Bin 0 -> 5434 bytes sources/orbium/gfx/464x316/rotator30.png | Bin 0 -> 5044 bytes sources/orbium/gfx/464x316/rotator31.png | Bin 0 -> 5186 bytes sources/orbium/gfx/464x316/rotator4.png | Bin 0 -> 5416 bytes sources/orbium/gfx/464x316/rotator5.png | Bin 0 -> 5468 bytes sources/orbium/gfx/464x316/rotator6.png | Bin 0 -> 5406 bytes sources/orbium/gfx/464x316/rotator7.png | Bin 0 -> 5566 bytes sources/orbium/gfx/464x316/rotator8.png | Bin 0 -> 5431 bytes sources/orbium/gfx/464x316/rotator9.png | Bin 0 -> 5597 bytes sources/orbium/gfx/464x316/sequencer0.png | Bin 0 -> 5583 bytes sources/orbium/gfx/464x316/teleporter0.png | Bin 0 -> 4608 bytes sources/orbium/gfx/464x316/teleporter1.png | Bin 0 -> 4667 bytes sources/orbium/gfx/464x316/teleporter2.png | Bin 0 -> 5754 bytes sources/orbium/gfx/464x316/timer0.png | Bin 0 -> 407 bytes sources/orbium/gfx/464x316/timer1.png | Bin 0 -> 368 bytes sources/orbium/gfx/464x316/transformer0.png | Bin 0 -> 3340 bytes sources/orbium/gfx/464x316/transformer1.png | Bin 0 -> 3347 bytes sources/orbium/gfx/464x316/transformer2.png | Bin 0 -> 3325 bytes sources/orbium/gfx/464x316/transformer3.png | Bin 0 -> 3342 bytes sources/orbium/gfx/464x316/verttile0.png | Bin 0 -> 4617 bytes sources/orbium/gfx/464x316/verttile1.png | Bin 0 -> 4560 bytes sources/orbium/gfx/464x316/verttile2.png | Bin 0 -> 4572 bytes sources/orbium/gfx/464x316/verttile3.png | Bin 0 -> 4731 bytes sources/orbium/gfx/464x316/verttile4.png | 0 sources/orbium/gfx/464x316/verttile5.png | Bin 0 -> 4740 bytes sources/orbium/gfx/704x479/announcer0.png | Bin 0 -> 13676 bytes sources/orbium/gfx/704x479/announcer1.png | Bin 0 -> 13664 bytes sources/orbium/gfx/704x479/announcer2.png | Bin 0 -> 13700 bytes sources/orbium/gfx/704x479/announcer3.png | Bin 0 -> 13642 bytes sources/orbium/gfx/704x479/bar0.png | Bin 0 -> 4096 bytes sources/orbium/gfx/704x479/bar1.png | Bin 0 -> 4127 bytes sources/orbium/gfx/704x479/bar10.png | Bin 0 -> 4177 bytes sources/orbium/gfx/704x479/bar11.png | Bin 0 -> 4121 bytes sources/orbium/gfx/704x479/bar12.png | Bin 0 -> 3259 bytes sources/orbium/gfx/704x479/bar13.png | Bin 0 -> 3182 bytes sources/orbium/gfx/704x479/bar14.png | Bin 0 -> 3206 bytes sources/orbium/gfx/704x479/bar15.png | Bin 0 -> 3157 bytes sources/orbium/gfx/704x479/bar2.png | Bin 0 -> 4146 bytes sources/orbium/gfx/704x479/bar3.png | Bin 0 -> 4176 bytes sources/orbium/gfx/704x479/bar4.png | Bin 0 -> 4185 bytes sources/orbium/gfx/704x479/bar5.png | Bin 0 -> 4089 bytes sources/orbium/gfx/704x479/bar6.png | Bin 0 -> 3290 bytes sources/orbium/gfx/704x479/bar7.png | Bin 0 -> 3237 bytes sources/orbium/gfx/704x479/bar8.png | Bin 0 -> 3175 bytes sources/orbium/gfx/704x479/bar9.png | Bin 0 -> 3179 bytes sources/orbium/gfx/704x479/clock0.png | Bin 0 -> 13566 bytes sources/orbium/gfx/704x479/clock1.png | Bin 0 -> 13691 bytes sources/orbium/gfx/704x479/clock2.png | Bin 0 -> 13716 bytes sources/orbium/gfx/704x479/clock3.png | Bin 0 -> 13752 bytes sources/orbium/gfx/704x479/clock4.png | Bin 0 -> 13773 bytes sources/orbium/gfx/704x479/clock5.png | Bin 0 -> 13765 bytes sources/orbium/gfx/704x479/clock6.png | Bin 0 -> 13799 bytes sources/orbium/gfx/704x479/clock7.png | Bin 0 -> 13801 bytes sources/orbium/gfx/704x479/clock8.png | Bin 0 -> 13758 bytes sources/orbium/gfx/704x479/clock9.png | Bin 0 -> 13827 bytes sources/orbium/gfx/704x479/counter0.png | Bin 0 -> 14516 bytes sources/orbium/gfx/704x479/counter1.png | Bin 0 -> 14651 bytes sources/orbium/gfx/704x479/counter2.png | Bin 0 -> 14800 bytes sources/orbium/gfx/704x479/counter3.png | Bin 0 -> 14941 bytes sources/orbium/gfx/704x479/counter4.png | Bin 0 -> 15104 bytes sources/orbium/gfx/704x479/crosstile0.png | Bin 0 -> 9701 bytes sources/orbium/gfx/704x479/crosstile1.png | Bin 0 -> 9531 bytes sources/orbium/gfx/704x479/crosstile2.png | Bin 0 -> 9572 bytes sources/orbium/gfx/704x479/crosstile3.png | Bin 0 -> 9853 bytes sources/orbium/gfx/704x479/crosstile4.png | Bin 0 -> 10003 bytes sources/orbium/gfx/704x479/director0.png | Bin 0 -> 7046 bytes sources/orbium/gfx/704x479/director1.png | Bin 0 -> 7013 bytes sources/orbium/gfx/704x479/director2.png | Bin 0 -> 7024 bytes sources/orbium/gfx/704x479/director3.png | Bin 0 -> 6985 bytes sources/orbium/gfx/704x479/emptytile0.png | Bin 0 -> 10305 bytes sources/orbium/gfx/704x479/emptytile1.png | Bin 0 -> 10075 bytes sources/orbium/gfx/704x479/emptytile2.png | Bin 0 -> 10162 bytes sources/orbium/gfx/704x479/emptytile3.png | Bin 0 -> 10526 bytes sources/orbium/gfx/704x479/emptytile4.png | Bin 0 -> 10578 bytes sources/orbium/gfx/704x479/emptytile5.png | Bin 0 -> 10536 bytes sources/orbium/gfx/704x479/emptytile6.png | Bin 0 -> 10944 bytes sources/orbium/gfx/704x479/explosion0.png | Bin 0 -> 8031 bytes sources/orbium/gfx/704x479/explosion1.png | Bin 0 -> 5462 bytes sources/orbium/gfx/704x479/explosion2.png | Bin 0 -> 4408 bytes sources/orbium/gfx/704x479/explosion3.png | Bin 0 -> 4324 bytes sources/orbium/gfx/704x479/horiztile0.png | Bin 0 -> 9914 bytes sources/orbium/gfx/704x479/horiztile1.png | Bin 0 -> 9755 bytes sources/orbium/gfx/704x479/horiztile2.png | Bin 0 -> 9848 bytes sources/orbium/gfx/704x479/horiztile3.png | Bin 0 -> 10156 bytes sources/orbium/gfx/704x479/horiztile4.png | Bin 0 -> 10219 bytes sources/orbium/gfx/704x479/horiztile5.png | Bin 0 -> 10435 bytes sources/orbium/gfx/704x479/inspector0.png | Bin 0 -> 7035 bytes sources/orbium/gfx/704x479/inspector1.png | Bin 0 -> 7013 bytes sources/orbium/gfx/704x479/inspector2.png | Bin 0 -> 7012 bytes sources/orbium/gfx/704x479/inspector3.png | Bin 0 -> 7005 bytes sources/orbium/gfx/704x479/marble0.png | Bin 0 -> 1852 bytes sources/orbium/gfx/704x479/marble1.png | Bin 0 -> 1873 bytes sources/orbium/gfx/704x479/marble10.png | Bin 0 -> 1828 bytes sources/orbium/gfx/704x479/marble11.png | Bin 0 -> 1871 bytes sources/orbium/gfx/704x479/marble12.png | Bin 0 -> 1803 bytes sources/orbium/gfx/704x479/marble13.png | Bin 0 -> 1826 bytes sources/orbium/gfx/704x479/marble14.png | Bin 0 -> 1822 bytes sources/orbium/gfx/704x479/marble15.png | Bin 0 -> 1812 bytes sources/orbium/gfx/704x479/marble16.png | Bin 0 -> 1823 bytes sources/orbium/gfx/704x479/marble17.png | Bin 0 -> 1813 bytes sources/orbium/gfx/704x479/marble18.png | Bin 0 -> 1867 bytes sources/orbium/gfx/704x479/marble19.png | Bin 0 -> 1834 bytes sources/orbium/gfx/704x479/marble2.png | Bin 0 -> 1873 bytes sources/orbium/gfx/704x479/marble20.png | Bin 0 -> 1791 bytes sources/orbium/gfx/704x479/marble21.png | 0 sources/orbium/gfx/704x479/marble22.png | Bin 0 -> 1769 bytes sources/orbium/gfx/704x479/marble23.png | Bin 0 -> 1826 bytes sources/orbium/gfx/704x479/marble24.png | Bin 0 -> 1801 bytes sources/orbium/gfx/704x479/marble25.png | Bin 0 -> 1828 bytes sources/orbium/gfx/704x479/marble26.png | Bin 0 -> 1821 bytes sources/orbium/gfx/704x479/marble27.png | Bin 0 -> 1809 bytes sources/orbium/gfx/704x479/marble28.png | Bin 0 -> 1813 bytes sources/orbium/gfx/704x479/marble29.png | Bin 0 -> 1818 bytes sources/orbium/gfx/704x479/marble3.png | Bin 0 -> 1870 bytes sources/orbium/gfx/704x479/marble30.png | Bin 0 -> 1872 bytes sources/orbium/gfx/704x479/marble31.png | Bin 0 -> 1848 bytes sources/orbium/gfx/704x479/marble32.png | Bin 0 -> 1786 bytes sources/orbium/gfx/704x479/marble33.png | Bin 0 -> 1776 bytes sources/orbium/gfx/704x479/marble34.png | Bin 0 -> 1769 bytes sources/orbium/gfx/704x479/marble35.png | Bin 0 -> 1834 bytes sources/orbium/gfx/704x479/marble36.png | Bin 0 -> 1845 bytes sources/orbium/gfx/704x479/marble37.png | Bin 0 -> 1863 bytes sources/orbium/gfx/704x479/marble38.png | Bin 0 -> 1864 bytes sources/orbium/gfx/704x479/marble39.png | Bin 0 -> 1844 bytes sources/orbium/gfx/704x479/marble4.png | Bin 0 -> 1864 bytes sources/orbium/gfx/704x479/marble40.png | Bin 0 -> 1864 bytes sources/orbium/gfx/704x479/marble41.png | Bin 0 -> 1862 bytes sources/orbium/gfx/704x479/marble42.png | Bin 0 -> 1914 bytes sources/orbium/gfx/704x479/marble43.png | Bin 0 -> 1879 bytes sources/orbium/gfx/704x479/marble44.png | Bin 0 -> 1838 bytes sources/orbium/gfx/704x479/marble45.png | Bin 0 -> 1822 bytes sources/orbium/gfx/704x479/marble46.png | Bin 0 -> 1823 bytes sources/orbium/gfx/704x479/marble47.png | Bin 0 -> 1877 bytes sources/orbium/gfx/704x479/marble5.png | Bin 0 -> 1872 bytes sources/orbium/gfx/704x479/marble6.png | Bin 0 -> 1894 bytes sources/orbium/gfx/704x479/marble7.png | Bin 0 -> 1885 bytes sources/orbium/gfx/704x479/marble8.png | Bin 0 -> 1831 bytes sources/orbium/gfx/704x479/marble9.png | Bin 0 -> 1824 bytes sources/orbium/gfx/704x479/matcher0.png | Bin 0 -> 11765 bytes sources/orbium/gfx/704x479/modtile0.png | Bin 0 -> 10108 bytes sources/orbium/gfx/704x479/modtile1.png | Bin 0 -> 9930 bytes sources/orbium/gfx/704x479/modtile10.png | Bin 0 -> 9945 bytes sources/orbium/gfx/704x479/modtile11.png | Bin 0 -> 9534 bytes sources/orbium/gfx/704x479/modtile12.png | Bin 0 -> 9884 bytes sources/orbium/gfx/704x479/modtile13.png | Bin 0 -> 10156 bytes sources/orbium/gfx/704x479/modtile14.png | Bin 0 -> 10003 bytes sources/orbium/gfx/704x479/modtile2.png | Bin 0 -> 10041 bytes sources/orbium/gfx/704x479/modtile3.png | Bin 0 -> 10477 bytes sources/orbium/gfx/704x479/modtile4.png | Bin 0 -> 10196 bytes sources/orbium/gfx/704x479/modtile5.png | Bin 0 -> 9940 bytes sources/orbium/gfx/704x479/modtile6.png | Bin 0 -> 9833 bytes sources/orbium/gfx/704x479/modtile7.png | Bin 0 -> 9825 bytes sources/orbium/gfx/704x479/modtile8.png | Bin 0 -> 9970 bytes sources/orbium/gfx/704x479/modtile9.png | Bin 0 -> 10159 bytes sources/orbium/gfx/704x479/rotatile0.png | Bin 0 -> 11993 bytes sources/orbium/gfx/704x479/rotatile1.png | Bin 0 -> 12005 bytes sources/orbium/gfx/704x479/rotatile10.png | Bin 0 -> 11966 bytes sources/orbium/gfx/704x479/rotatile11.png | Bin 0 -> 11920 bytes sources/orbium/gfx/704x479/rotatile12.png | Bin 0 -> 11980 bytes sources/orbium/gfx/704x479/rotatile13.png | 0 sources/orbium/gfx/704x479/rotatile14.png | Bin 0 -> 11907 bytes sources/orbium/gfx/704x479/rotatile15.png | Bin 0 -> 8905 bytes sources/orbium/gfx/704x479/rotatile16.png | Bin 0 -> 8907 bytes sources/orbium/gfx/704x479/rotatile17.png | Bin 0 -> 8867 bytes sources/orbium/gfx/704x479/rotatile18.png | Bin 0 -> 8887 bytes sources/orbium/gfx/704x479/rotatile19.png | Bin 0 -> 8923 bytes sources/orbium/gfx/704x479/rotatile2.png | Bin 0 -> 12022 bytes sources/orbium/gfx/704x479/rotatile20.png | Bin 0 -> 8887 bytes sources/orbium/gfx/704x479/rotatile21.png | Bin 0 -> 8878 bytes sources/orbium/gfx/704x479/rotatile22.png | Bin 0 -> 8904 bytes sources/orbium/gfx/704x479/rotatile23.png | Bin 0 -> 8894 bytes sources/orbium/gfx/704x479/rotatile24.png | Bin 0 -> 8872 bytes sources/orbium/gfx/704x479/rotatile25.png | Bin 0 -> 8885 bytes sources/orbium/gfx/704x479/rotatile26.png | Bin 0 -> 8893 bytes sources/orbium/gfx/704x479/rotatile27.png | Bin 0 -> 8878 bytes sources/orbium/gfx/704x479/rotatile28.png | Bin 0 -> 8883 bytes sources/orbium/gfx/704x479/rotatile29.png | Bin 0 -> 8873 bytes sources/orbium/gfx/704x479/rotatile3.png | Bin 0 -> 12023 bytes sources/orbium/gfx/704x479/rotatile4.png | Bin 0 -> 11953 bytes sources/orbium/gfx/704x479/rotatile5.png | Bin 0 -> 11993 bytes sources/orbium/gfx/704x479/rotatile6.png | Bin 0 -> 12022 bytes sources/orbium/gfx/704x479/rotatile7.png | Bin 0 -> 11969 bytes sources/orbium/gfx/704x479/rotatile8.png | Bin 0 -> 11938 bytes sources/orbium/gfx/704x479/rotatile9.png | Bin 0 -> 11977 bytes sources/orbium/gfx/704x479/rotator0.png | Bin 0 -> 10246 bytes sources/orbium/gfx/704x479/rotator1.png | Bin 0 -> 10447 bytes sources/orbium/gfx/704x479/rotator10.png | Bin 0 -> 10755 bytes sources/orbium/gfx/704x479/rotator11.png | Bin 0 -> 10964 bytes sources/orbium/gfx/704x479/rotator12.png | Bin 0 -> 10215 bytes sources/orbium/gfx/704x479/rotator13.png | Bin 0 -> 11024 bytes sources/orbium/gfx/704x479/rotator14.png | Bin 0 -> 10810 bytes sources/orbium/gfx/704x479/rotator15.png | Bin 0 -> 11054 bytes sources/orbium/gfx/704x479/rotator16.png | Bin 0 -> 9902 bytes sources/orbium/gfx/704x479/rotator17.png | Bin 0 -> 9923 bytes sources/orbium/gfx/704x479/rotator18.png | Bin 0 -> 9484 bytes sources/orbium/gfx/704x479/rotator19.png | Bin 0 -> 9952 bytes sources/orbium/gfx/704x479/rotator2.png | Bin 0 -> 10251 bytes sources/orbium/gfx/704x479/rotator20.png | Bin 0 -> 9946 bytes sources/orbium/gfx/704x479/rotator21.png | Bin 0 -> 9860 bytes sources/orbium/gfx/704x479/rotator22.png | Bin 0 -> 9515 bytes sources/orbium/gfx/704x479/rotator23.png | Bin 0 -> 9895 bytes sources/orbium/gfx/704x479/rotator24.png | Bin 0 -> 9934 bytes sources/orbium/gfx/704x479/rotator25.png | Bin 0 -> 9930 bytes sources/orbium/gfx/704x479/rotator26.png | Bin 0 -> 9558 bytes sources/orbium/gfx/704x479/rotator27.png | Bin 0 -> 9909 bytes sources/orbium/gfx/704x479/rotator28.png | Bin 0 -> 9897 bytes sources/orbium/gfx/704x479/rotator29.png | Bin 0 -> 9960 bytes sources/orbium/gfx/704x479/rotator3.png | Bin 0 -> 10542 bytes sources/orbium/gfx/704x479/rotator30.png | Bin 0 -> 9474 bytes sources/orbium/gfx/704x479/rotator31.png | Bin 0 -> 10041 bytes sources/orbium/gfx/704x479/rotator4.png | Bin 0 -> 10258 bytes sources/orbium/gfx/704x479/rotator5.png | Bin 0 -> 10687 bytes sources/orbium/gfx/704x479/rotator6.png | Bin 0 -> 10569 bytes sources/orbium/gfx/704x479/rotator7.png | Bin 0 -> 10759 bytes sources/orbium/gfx/704x479/rotator8.png | Bin 0 -> 10287 bytes sources/orbium/gfx/704x479/rotator9.png | Bin 0 -> 10826 bytes sources/orbium/gfx/704x479/sequencer0.png | Bin 0 -> 11409 bytes sources/orbium/gfx/704x479/teleporter0.png | Bin 0 -> 8492 bytes sources/orbium/gfx/704x479/teleporter1.png | Bin 0 -> 8613 bytes sources/orbium/gfx/704x479/teleporter2.png | Bin 0 -> 11302 bytes sources/orbium/gfx/704x479/timer0.png | Bin 0 -> 457 bytes sources/orbium/gfx/704x479/timer1.png | Bin 0 -> 369 bytes sources/orbium/gfx/704x479/transformer0.png | Bin 0 -> 5921 bytes sources/orbium/gfx/704x479/transformer1.png | Bin 0 -> 5950 bytes sources/orbium/gfx/704x479/transformer2.png | Bin 0 -> 5901 bytes sources/orbium/gfx/704x479/transformer3.png | Bin 0 -> 5949 bytes sources/orbium/gfx/704x479/verttile0.png | Bin 0 -> 9983 bytes sources/orbium/gfx/704x479/verttile1.png | Bin 0 -> 9771 bytes sources/orbium/gfx/704x479/verttile2.png | Bin 0 -> 9884 bytes sources/orbium/gfx/704x479/verttile3.png | Bin 0 -> 10193 bytes sources/orbium/gfx/704x479/verttile4.png | Bin 0 -> 10342 bytes sources/orbium/gfx/704x479/verttile5.png | Bin 0 -> 10205 bytes sources/orbium/gfx/936x637/announcer0.png | Bin 0 -> 23097 bytes sources/orbium/gfx/936x637/announcer1.png | Bin 0 -> 23056 bytes sources/orbium/gfx/936x637/announcer2.png | Bin 0 -> 23077 bytes sources/orbium/gfx/936x637/announcer3.png | Bin 0 -> 22999 bytes sources/orbium/gfx/936x637/bar0.png | Bin 0 -> 6922 bytes sources/orbium/gfx/936x637/bar1.png | Bin 0 -> 6953 bytes sources/orbium/gfx/936x637/bar10.png | Bin 0 -> 7084 bytes sources/orbium/gfx/936x637/bar11.png | Bin 0 -> 6954 bytes sources/orbium/gfx/936x637/bar12.png | Bin 0 -> 7070 bytes sources/orbium/gfx/936x637/bar13.png | Bin 0 -> 6816 bytes sources/orbium/gfx/936x637/bar14.png | Bin 0 -> 6927 bytes sources/orbium/gfx/936x637/bar15.png | Bin 0 -> 6954 bytes sources/orbium/gfx/936x637/bar2.png | Bin 0 -> 7011 bytes sources/orbium/gfx/936x637/bar3.png | Bin 0 -> 6970 bytes sources/orbium/gfx/936x637/bar4.png | Bin 0 -> 7031 bytes sources/orbium/gfx/936x637/bar5.png | Bin 0 -> 6850 bytes sources/orbium/gfx/936x637/bar6.png | Bin 0 -> 6938 bytes sources/orbium/gfx/936x637/bar7.png | Bin 0 -> 6915 bytes sources/orbium/gfx/936x637/bar8.png | Bin 0 -> 6941 bytes sources/orbium/gfx/936x637/bar9.png | Bin 0 -> 6927 bytes sources/orbium/gfx/936x637/clock0.png | Bin 0 -> 22858 bytes sources/orbium/gfx/936x637/clock1.png | Bin 0 -> 23082 bytes sources/orbium/gfx/936x637/clock2.png | Bin 0 -> 23136 bytes sources/orbium/gfx/936x637/clock3.png | Bin 0 -> 23255 bytes sources/orbium/gfx/936x637/clock4.png | Bin 0 -> 23253 bytes sources/orbium/gfx/936x637/clock5.png | Bin 0 -> 23275 bytes sources/orbium/gfx/936x637/clock6.png | Bin 0 -> 23309 bytes sources/orbium/gfx/936x637/clock7.png | Bin 0 -> 23370 bytes sources/orbium/gfx/936x637/clock8.png | Bin 0 -> 23332 bytes sources/orbium/gfx/936x637/clock9.png | Bin 0 -> 23372 bytes sources/orbium/gfx/936x637/counter0.png | Bin 0 -> 23206 bytes sources/orbium/gfx/936x637/counter1.png | Bin 0 -> 23674 bytes sources/orbium/gfx/936x637/counter2.png | Bin 0 -> 23971 bytes sources/orbium/gfx/936x637/counter3.png | Bin 0 -> 24228 bytes sources/orbium/gfx/936x637/counter4.png | Bin 0 -> 24490 bytes sources/orbium/gfx/936x637/crosstile0.png | Bin 0 -> 16621 bytes sources/orbium/gfx/936x637/crosstile1.png | Bin 0 -> 16293 bytes sources/orbium/gfx/936x637/crosstile2.png | Bin 0 -> 16472 bytes sources/orbium/gfx/936x637/crosstile3.png | Bin 0 -> 16802 bytes sources/orbium/gfx/936x637/crosstile4.png | Bin 0 -> 16773 bytes sources/orbium/gfx/936x637/director0.png | Bin 0 -> 11065 bytes sources/orbium/gfx/936x637/director1.png | Bin 0 -> 10993 bytes sources/orbium/gfx/936x637/director2.png | Bin 0 -> 11025 bytes sources/orbium/gfx/936x637/director3.png | Bin 0 -> 11008 bytes sources/orbium/gfx/936x637/emptytile0.png | Bin 0 -> 17658 bytes sources/orbium/gfx/936x637/emptytile1.png | Bin 0 -> 17215 bytes sources/orbium/gfx/936x637/emptytile2.png | Bin 0 -> 17441 bytes sources/orbium/gfx/936x637/emptytile3.png | Bin 0 -> 17708 bytes sources/orbium/gfx/936x637/emptytile4.png | Bin 0 -> 17703 bytes sources/orbium/gfx/936x637/emptytile5.png | Bin 0 -> 18149 bytes sources/orbium/gfx/936x637/emptytile6.png | Bin 0 -> 18624 bytes sources/orbium/gfx/936x637/explosion0.png | Bin 0 -> 12957 bytes sources/orbium/gfx/936x637/explosion1.png | Bin 0 -> 8588 bytes sources/orbium/gfx/936x637/explosion2.png | Bin 0 -> 6570 bytes sources/orbium/gfx/936x637/explosion3.png | Bin 0 -> 6506 bytes sources/orbium/gfx/936x637/horiztile0.png | Bin 0 -> 16900 bytes sources/orbium/gfx/936x637/horiztile1.png | Bin 0 -> 16562 bytes sources/orbium/gfx/936x637/horiztile2.png | Bin 0 -> 16896 bytes sources/orbium/gfx/936x637/horiztile3.png | Bin 0 -> 17130 bytes sources/orbium/gfx/936x637/horiztile4.png | Bin 0 -> 17082 bytes sources/orbium/gfx/936x637/horiztile5.png | Bin 0 -> 17769 bytes sources/orbium/gfx/936x637/inspector0.png | Bin 0 -> 11253 bytes sources/orbium/gfx/936x637/inspector1.png | Bin 0 -> 11200 bytes sources/orbium/gfx/936x637/inspector2.png | Bin 0 -> 11197 bytes sources/orbium/gfx/936x637/inspector3.png | Bin 0 -> 11197 bytes sources/orbium/gfx/936x637/marble0.png | Bin 0 -> 2730 bytes sources/orbium/gfx/936x637/marble1.png | Bin 0 -> 2766 bytes sources/orbium/gfx/936x637/marble10.png | Bin 0 -> 2689 bytes sources/orbium/gfx/936x637/marble11.png | Bin 0 -> 2797 bytes sources/orbium/gfx/936x637/marble12.png | Bin 0 -> 2678 bytes sources/orbium/gfx/936x637/marble13.png | Bin 0 -> 2710 bytes sources/orbium/gfx/936x637/marble14.png | Bin 0 -> 2683 bytes sources/orbium/gfx/936x637/marble15.png | Bin 0 -> 2689 bytes sources/orbium/gfx/936x637/marble16.png | Bin 0 -> 2709 bytes sources/orbium/gfx/936x637/marble17.png | Bin 0 -> 2711 bytes sources/orbium/gfx/936x637/marble18.png | Bin 0 -> 2795 bytes sources/orbium/gfx/936x637/marble19.png | Bin 0 -> 2753 bytes sources/orbium/gfx/936x637/marble2.png | Bin 0 -> 2750 bytes sources/orbium/gfx/936x637/marble20.png | Bin 0 -> 2667 bytes sources/orbium/gfx/936x637/marble21.png | Bin 0 -> 2625 bytes sources/orbium/gfx/936x637/marble22.png | Bin 0 -> 2624 bytes sources/orbium/gfx/936x637/marble23.png | Bin 0 -> 2722 bytes sources/orbium/gfx/936x637/marble24.png | Bin 0 -> 2679 bytes sources/orbium/gfx/936x637/marble25.png | Bin 0 -> 2701 bytes sources/orbium/gfx/936x637/marble26.png | Bin 0 -> 2700 bytes sources/orbium/gfx/936x637/marble27.png | Bin 0 -> 2684 bytes sources/orbium/gfx/936x637/marble28.png | Bin 0 -> 2707 bytes sources/orbium/gfx/936x637/marble29.png | Bin 0 -> 2696 bytes sources/orbium/gfx/936x637/marble3.png | Bin 0 -> 2755 bytes sources/orbium/gfx/936x637/marble30.png | Bin 0 -> 2811 bytes sources/orbium/gfx/936x637/marble31.png | Bin 0 -> 2771 bytes sources/orbium/gfx/936x637/marble32.png | Bin 0 -> 2653 bytes sources/orbium/gfx/936x637/marble33.png | Bin 0 -> 2616 bytes sources/orbium/gfx/936x637/marble34.png | Bin 0 -> 2619 bytes sources/orbium/gfx/936x637/marble35.png | Bin 0 -> 2721 bytes sources/orbium/gfx/936x637/marble36.png | Bin 0 -> 2716 bytes sources/orbium/gfx/936x637/marble37.png | Bin 0 -> 2747 bytes sources/orbium/gfx/936x637/marble38.png | Bin 0 -> 2762 bytes sources/orbium/gfx/936x637/marble39.png | Bin 0 -> 2730 bytes sources/orbium/gfx/936x637/marble4.png | Bin 0 -> 2784 bytes sources/orbium/gfx/936x637/marble40.png | Bin 0 -> 2759 bytes sources/orbium/gfx/936x637/marble41.png | Bin 0 -> 2742 bytes sources/orbium/gfx/936x637/marble42.png | Bin 0 -> 2857 bytes sources/orbium/gfx/936x637/marble43.png | Bin 0 -> 2813 bytes sources/orbium/gfx/936x637/marble44.png | Bin 0 -> 2714 bytes sources/orbium/gfx/936x637/marble45.png | Bin 0 -> 2677 bytes sources/orbium/gfx/936x637/marble46.png | Bin 0 -> 2678 bytes sources/orbium/gfx/936x637/marble47.png | Bin 0 -> 2810 bytes sources/orbium/gfx/936x637/marble5.png | Bin 0 -> 2753 bytes sources/orbium/gfx/936x637/marble6.png | Bin 0 -> 2865 bytes sources/orbium/gfx/936x637/marble7.png | Bin 0 -> 2807 bytes sources/orbium/gfx/936x637/marble8.png | Bin 0 -> 2728 bytes sources/orbium/gfx/936x637/marble9.png | Bin 0 -> 2680 bytes sources/orbium/gfx/936x637/matcher0.png | Bin 0 -> 19227 bytes sources/orbium/gfx/936x637/modtile0.png | Bin 0 -> 17383 bytes sources/orbium/gfx/936x637/modtile1.png | Bin 0 -> 16966 bytes sources/orbium/gfx/936x637/modtile10.png | Bin 0 -> 17031 bytes sources/orbium/gfx/936x637/modtile11.png | Bin 0 -> 16316 bytes sources/orbium/gfx/936x637/modtile12.png | Bin 0 -> 17004 bytes sources/orbium/gfx/936x637/modtile13.png | Bin 0 -> 17130 bytes sources/orbium/gfx/936x637/modtile14.png | Bin 0 -> 16773 bytes sources/orbium/gfx/936x637/modtile2.png | Bin 0 -> 17339 bytes sources/orbium/gfx/936x637/modtile3.png | Bin 0 -> 17608 bytes sources/orbium/gfx/936x637/modtile4.png | Bin 0 -> 17207 bytes sources/orbium/gfx/936x637/modtile5.png | Bin 0 -> 17026 bytes sources/orbium/gfx/936x637/modtile6.png | Bin 0 -> 16883 bytes sources/orbium/gfx/936x637/modtile7.png | Bin 0 -> 16899 bytes sources/orbium/gfx/936x637/modtile8.png | 0 sources/orbium/gfx/936x637/modtile9.png | Bin 0 -> 16963 bytes sources/orbium/gfx/936x637/rotatile0.png | Bin 0 -> 20238 bytes sources/orbium/gfx/936x637/rotatile1.png | Bin 0 -> 20223 bytes sources/orbium/gfx/936x637/rotatile10.png | Bin 0 -> 20209 bytes sources/orbium/gfx/936x637/rotatile11.png | Bin 0 -> 20153 bytes sources/orbium/gfx/936x637/rotatile12.png | Bin 0 -> 20236 bytes sources/orbium/gfx/936x637/rotatile13.png | Bin 0 -> 20210 bytes sources/orbium/gfx/936x637/rotatile14.png | Bin 0 -> 20115 bytes sources/orbium/gfx/936x637/rotatile15.png | Bin 0 -> 14799 bytes sources/orbium/gfx/936x637/rotatile16.png | Bin 0 -> 14848 bytes sources/orbium/gfx/936x637/rotatile17.png | Bin 0 -> 14826 bytes sources/orbium/gfx/936x637/rotatile18.png | Bin 0 -> 14830 bytes sources/orbium/gfx/936x637/rotatile19.png | Bin 0 -> 14823 bytes sources/orbium/gfx/936x637/rotatile2.png | Bin 0 -> 20268 bytes sources/orbium/gfx/936x637/rotatile20.png | Bin 0 -> 14831 bytes sources/orbium/gfx/936x637/rotatile21.png | Bin 0 -> 14842 bytes sources/orbium/gfx/936x637/rotatile22.png | Bin 0 -> 14809 bytes sources/orbium/gfx/936x637/rotatile23.png | Bin 0 -> 14799 bytes sources/orbium/gfx/936x637/rotatile24.png | Bin 0 -> 14783 bytes sources/orbium/gfx/936x637/rotatile25.png | Bin 0 -> 14812 bytes sources/orbium/gfx/936x637/rotatile26.png | Bin 0 -> 14757 bytes sources/orbium/gfx/936x637/rotatile27.png | Bin 0 -> 14818 bytes sources/orbium/gfx/936x637/rotatile28.png | Bin 0 -> 14810 bytes sources/orbium/gfx/936x637/rotatile29.png | Bin 0 -> 14711 bytes sources/orbium/gfx/936x637/rotatile3.png | Bin 0 -> 20267 bytes sources/orbium/gfx/936x637/rotatile4.png | Bin 0 -> 20176 bytes sources/orbium/gfx/936x637/rotatile5.png | Bin 0 -> 20200 bytes sources/orbium/gfx/936x637/rotatile6.png | Bin 0 -> 20259 bytes sources/orbium/gfx/936x637/rotatile7.png | Bin 0 -> 20215 bytes sources/orbium/gfx/936x637/rotatile8.png | Bin 0 -> 20157 bytes sources/orbium/gfx/936x637/rotatile9.png | Bin 0 -> 20171 bytes sources/orbium/gfx/936x637/rotator0.png | Bin 0 -> 16361 bytes sources/orbium/gfx/936x637/rotator1.png | Bin 0 -> 16701 bytes sources/orbium/gfx/936x637/rotator10.png | Bin 0 -> 17074 bytes sources/orbium/gfx/936x637/rotator11.png | Bin 0 -> 17220 bytes sources/orbium/gfx/936x637/rotator12.png | Bin 0 -> 16273 bytes sources/orbium/gfx/936x637/rotator13.png | Bin 0 -> 17442 bytes sources/orbium/gfx/936x637/rotator14.png | Bin 0 -> 17187 bytes sources/orbium/gfx/936x637/rotator15.png | Bin 0 -> 17530 bytes sources/orbium/gfx/936x637/rotator16.png | Bin 0 -> 15742 bytes sources/orbium/gfx/936x637/rotator17.png | Bin 0 -> 15783 bytes sources/orbium/gfx/936x637/rotator18.png | Bin 0 -> 14713 bytes sources/orbium/gfx/936x637/rotator19.png | Bin 0 -> 15672 bytes sources/orbium/gfx/936x637/rotator2.png | Bin 0 -> 16331 bytes sources/orbium/gfx/936x637/rotator20.png | Bin 0 -> 15704 bytes sources/orbium/gfx/936x637/rotator21.png | Bin 0 -> 15700 bytes sources/orbium/gfx/936x637/rotator22.png | Bin 0 -> 14796 bytes sources/orbium/gfx/936x637/rotator23.png | Bin 0 -> 15712 bytes sources/orbium/gfx/936x637/rotator24.png | Bin 0 -> 15789 bytes sources/orbium/gfx/936x637/rotator25.png | Bin 0 -> 15829 bytes sources/orbium/gfx/936x637/rotator26.png | Bin 0 -> 14684 bytes sources/orbium/gfx/936x637/rotator27.png | Bin 0 -> 15697 bytes sources/orbium/gfx/936x637/rotator28.png | Bin 0 -> 15614 bytes sources/orbium/gfx/936x637/rotator29.png | Bin 0 -> 15697 bytes sources/orbium/gfx/936x637/rotator3.png | Bin 0 -> 16743 bytes sources/orbium/gfx/936x637/rotator30.png | Bin 0 -> 14616 bytes sources/orbium/gfx/936x637/rotator31.png | Bin 0 -> 15675 bytes sources/orbium/gfx/936x637/rotator4.png | Bin 0 -> 16338 bytes sources/orbium/gfx/936x637/rotator5.png | Bin 0 -> 17003 bytes sources/orbium/gfx/936x637/rotator6.png | Bin 0 -> 16777 bytes sources/orbium/gfx/936x637/rotator7.png | Bin 0 -> 17110 bytes sources/orbium/gfx/936x637/rotator8.png | Bin 0 -> 16307 bytes sources/orbium/gfx/936x637/rotator9.png | Bin 0 -> 17205 bytes sources/orbium/gfx/936x637/sequencer0.png | Bin 0 -> 19018 bytes sources/orbium/gfx/936x637/teleporter0.png | Bin 0 -> 13267 bytes sources/orbium/gfx/936x637/teleporter1.png | Bin 0 -> 13505 bytes sources/orbium/gfx/936x637/teleporter2.png | Bin 0 -> 17805 bytes sources/orbium/gfx/936x637/timer0.png | Bin 0 -> 506 bytes sources/orbium/gfx/936x637/timer1.png | Bin 0 -> 363 bytes sources/orbium/gfx/936x637/transformer0.png | Bin 0 -> 9224 bytes sources/orbium/gfx/936x637/transformer1.png | Bin 0 -> 9288 bytes sources/orbium/gfx/936x637/transformer2.png | Bin 0 -> 9146 bytes sources/orbium/gfx/936x637/transformer3.png | Bin 0 -> 9241 bytes sources/orbium/gfx/936x637/verttile0.png | Bin 0 -> 17240 bytes sources/orbium/gfx/936x637/verttile1.png | Bin 0 -> 16833 bytes sources/orbium/gfx/936x637/verttile2.png | Bin 0 -> 17004 bytes sources/orbium/gfx/936x637/verttile3.png | Bin 0 -> 17453 bytes sources/orbium/gfx/936x637/verttile4.png | Bin 0 -> 17524 bytes sources/orbium/gfx/936x637/verttile5.png | Bin 0 -> 17517 bytes sources/orbium/ico/app_114x114.png | Bin 0 -> 30343 bytes sources/orbium/ico/app_128x128.png | Bin 0 -> 19933 bytes sources/orbium/ico/app_16x16.png | Bin 0 -> 1146 bytes sources/orbium/ico/app_32x32.png | Bin 0 -> 3080 bytes sources/orbium/ico/app_48x48.png | Bin 0 -> 6055 bytes sources/orbium/ico/app_57x57.png | Bin 0 -> 7200 bytes sources/orbium/ico/app_72x72.png | Bin 0 -> 10869 bytes sources/orbium/ico/favicon.ico | Bin 0 -> 24038 bytes sources/orbium/index.html | 174 + sources/orbium/js/1024x697.js | 8 + sources/orbium/js/344x234.js | 8 + sources/orbium/js/424x289.js | 8 + sources/orbium/js/464x316.js | 8 + sources/orbium/js/704x479.js | 8 + sources/orbium/js/936x637.js | 8 + sources/orbium/js/announcer.js | 18 + sources/orbium/js/bar.js | 48 + sources/orbium/js/client.js | 45 + sources/orbium/js/clock.js | 42 + sources/orbium/js/counter.js | 52 + sources/orbium/js/crosstile.js | 17 + sources/orbium/js/director.js | 42 + sources/orbium/js/dockee.js | 194 + sources/orbium/js/editor.js | 178 + sources/orbium/js/emptytile.js | 15 + sources/orbium/js/falltile.js | 56 + sources/orbium/js/horiztile.js | 17 + sources/orbium/js/indicator.js | 21 + sources/orbium/js/init.js | 315 + sources/orbium/js/inspector.js | 37 + sources/orbium/js/lane.js | 124 + sources/orbium/js/level_full.js | 698 ++ sources/orbium/js/loader.js | 231 + sources/orbium/js/machine.js | 728 ++ sources/orbium/js/marble.js | 167 + sources/orbium/js/matcher.js | 131 + sources/orbium/js/menu.js | 1040 ++ sources/orbium/js/perf.js | 53 + sources/orbium/js/player.js | 72 + sources/orbium/js/rotator.js | 752 ++ sources/orbium/js/sequencer.js | 105 + sources/orbium/js/server.js | 207 + sources/orbium/js/sign.js | 69 + sources/orbium/js/sprite.js | 178 + sources/orbium/js/start.js | 11 + sources/orbium/js/storage.js | 79 + sources/orbium/js/teleporter.js | 65 + sources/orbium/js/tile.js | 157 + sources/orbium/js/timer.js | 136 + sources/orbium/js/transformer.js | 37 + sources/orbium/js/tutorial.js | 174 + sources/orbium/js/util.js | 115 + sources/orbium/js/verttile.js | 17 + sources/orbium/orbium.appcache | 56 + sources/orbium/snd/wav/bounce.wav | 0 sources/orbium/snd/wav/clank.wav | 0 sources/orbium/snd/wav/dock.wav | 0 sources/orbium/snd/wav/explode.wav | 0 sources/orbium/snd/wav/rotate.wav | 0 sources/orbium/test/announcer.html | 44 + sources/orbium/test/counter.html | 97 + sources/orbium/test/index.html | 11 + sources/pappu-pakia/README.md | 51 + sources/pappu-pakia/css/main.css | 361 + .../pappu-pakia/fonts/happy_sans-webfont.eot | Bin 0 -> 23439 bytes .../pappu-pakia/fonts/happy_sans-webfont.svg | 240 + .../pappu-pakia/fonts/happy_sans-webfont.ttf | Bin 0 -> 47240 bytes .../pappu-pakia/fonts/happy_sans-webfont.woff | Bin 0 -> 27056 bytes sources/pappu-pakia/img/Thumbs.db | Bin 0 -> 116736 bytes sources/pappu-pakia/img/angry_pakia.png | Bin 0 -> 4425 bytes sources/pappu-pakia/img/apple.png | Bin 0 -> 2402 bytes sources/pappu-pakia/img/back_trees.png | Bin 0 -> 12884 bytes sources/pappu-pakia/img/berries.png | Bin 0 -> 3329 bytes sources/pappu-pakia/img/bg_combined.png | Bin 0 -> 83977 bytes sources/pappu-pakia/img/branch.png | Bin 0 -> 7586 bytes sources/pappu-pakia/img/clouds.png | Bin 0 -> 9680 bytes sources/pappu-pakia/img/coins.png | Bin 0 -> 5863 bytes sources/pappu-pakia/img/coins_old.png | Bin 0 -> 7440 bytes sources/pappu-pakia/img/controls.png | Bin 0 -> 4939 bytes sources/pappu-pakia/img/dig.png | Bin 0 -> 1973 bytes sources/pappu-pakia/img/fork_handle.png | Bin 0 -> 4003 bytes sources/pappu-pakia/img/fork_head.png | Bin 0 -> 1754 bytes sources/pappu-pakia/img/front_trees.png | Bin 0 -> 11897 bytes sources/pappu-pakia/img/grass.png | Bin 0 -> 23214 bytes sources/pappu-pakia/img/ground.png | Bin 0 -> 42561 bytes sources/pappu-pakia/img/happy_pakia.png | Bin 0 -> 5034 bytes sources/pappu-pakia/img/log.png | Bin 0 -> 6116 bytes sources/pappu-pakia/img/mute.png | Bin 0 -> 3125 bytes sources/pappu-pakia/img/pappu.png | Bin 0 -> 9803 bytes sources/pappu-pakia/img/plank_bot.png | Bin 0 -> 3531 bytes sources/pappu-pakia/img/plank_mid.png | Bin 0 -> 2933 bytes sources/pappu-pakia/img/plank_top.png | Bin 0 -> 3788 bytes sources/pappu-pakia/img/sad_pakia.png | Bin 0 -> 4290 bytes sources/pappu-pakia/img/stand.png | Bin 0 -> 3785 bytes sources/pappu-pakia/img/star.png | Bin 0 -> 3043 bytes sources/pappu-pakia/index.htm | 163 + sources/pappu-pakia/js/backgrounds.js | 454 + sources/pappu-pakia/js/branches.js | 221 + sources/pappu-pakia/js/collectibles.js | 293 + sources/pappu-pakia/js/forks.js | 335 + sources/pappu-pakia/js/jquery-1.8.2.min.js | 2 + sources/pappu-pakia/js/loader.js | 124 + sources/pappu-pakia/js/main.js | 465 + sources/pappu-pakia/js/pakia.js | 228 + sources/pappu-pakia/js/pappu.js | 352 + sources/pappu-pakia/js/utils.js | 38 + sources/pappu-pakia/kong.htm | 118 + sources/pappu-pakia/sound/flap.mp3 | Bin 0 -> 6753 bytes sources/pappu-pakia/sound/flap.ogg | Bin 0 -> 5824 bytes sources/pappu-pakia/sound/jump1.mp3 | Bin 0 -> 17313 bytes sources/pappu-pakia/sound/jump1.ogg | Bin 0 -> 10149 bytes sources/pappu-pakia/sound/jump2.mp3 | Bin 0 -> 18273 bytes sources/pappu-pakia/sound/jump2.ogg | Bin 0 -> 11119 bytes sources/pappu-pakia/sound/jump3.mp3 | Bin 0 -> 37473 bytes sources/pappu-pakia/sound/jump3.ogg | Bin 0 -> 17530 bytes sources/pappu-pakia/sound/pappu-pakia2.3.mp3 | Bin 0 -> 386092 bytes sources/pappu-pakia/sound/pappu-pakia2.3.ogg | Bin 0 -> 394256 bytes sources/pappu-pakia/sound/ting.mp3 | Bin 0 -> 84513 bytes sources/pappu-pakia/sound/ting.ogg | Bin 0 -> 61706 bytes sources/roundball/assets/ball_0.png | Bin 0 -> 8116 bytes sources/roundball/assets/ball_1.png | Bin 0 -> 8234 bytes sources/roundball/assets/ball_2.png | Bin 0 -> 8473 bytes sources/roundball/assets/ball_3.png | Bin 0 -> 8296 bytes sources/roundball/assets/ball_4.png | Bin 0 -> 8339 bytes sources/roundball/assets/ball_5.png | Bin 0 -> 7989 bytes sources/roundball/assets/helper1.jpg | Bin 0 -> 44891 bytes sources/roundball/assets/helper2.jpg | Bin 0 -> 47106 bytes sources/roundball/assets/icon.png | Bin 0 -> 47988 bytes sources/roundball/assets/lime.png | Bin 0 -> 2469 bytes sources/roundball/assets/main_title.png | Bin 0 -> 154428 bytes sources/roundball/assets/selection.png | Bin 0 -> 3012 bytes sources/roundball/assets/shadow.png | Bin 0 -> 2918 bytes sources/roundball/assets/startup.jpg | Bin 0 -> 7130 bytes sources/roundball/assets/startup_ipad.jpg | Bin 0 -> 19114 bytes sources/roundball/licence.txt | 2 + sources/roundball/licence.txt~ | 1 + sources/roundball/roundball.html | 128 + sources/roundball/roundball.js | 140 + sources/roundball/roundball.manifest | 26 + sources/sokojs/0.gif | Bin 0 -> 43 bytes sources/sokojs/1.gif | Bin 0 -> 147 bytes sources/sokojs/2.gif | Bin 0 -> 133 bytes sources/sokojs/3.gif | Bin 0 -> 228 bytes sources/sokojs/4.gif | Bin 0 -> 186 bytes sources/sokojs/5.gif | Bin 0 -> 225 bytes sources/sokojs/6.gif | Bin 0 -> 732 bytes sources/sokojs/7.gif | Bin 0 -> 743 bytes sources/sokojs/8.gif | Bin 0 -> 724 bytes sources/sokojs/9.gif | Bin 0 -> 743 bytes sources/sokojs/Boxworld.htm | 32 + sources/sokojs/level.htm | 40 + sources/sokojs/level0.htm | 42 + sources/sokojs/level1.htm | 42 + sources/sokojs/level10.htm | 42 + sources/sokojs/level11.htm | 42 + sources/sokojs/level12.htm | 42 + sources/sokojs/level13.htm | 42 + sources/sokojs/level14.htm | 42 + sources/sokojs/level15.htm | 42 + sources/sokojs/level16.htm | 42 + sources/sokojs/level17.htm | 42 + sources/sokojs/level18.htm | 42 + sources/sokojs/level19.htm | 42 + sources/sokojs/level2.htm | 42 + sources/sokojs/level20.htm | 42 + sources/sokojs/level21.htm | 42 + sources/sokojs/level22.htm | 42 + sources/sokojs/level23.htm | 42 + sources/sokojs/level24.htm | 42 + sources/sokojs/level25.htm | 42 + sources/sokojs/level26.htm | 42 + sources/sokojs/level27.htm | 42 + sources/sokojs/level28.htm | 42 + sources/sokojs/level29.htm | 42 + sources/sokojs/level3.htm | 42 + sources/sokojs/level30.htm | 42 + sources/sokojs/level31.htm | 42 + sources/sokojs/level32.htm | 42 + sources/sokojs/level33.htm | 42 + sources/sokojs/level34.htm | 42 + sources/sokojs/level35.htm | 42 + sources/sokojs/level36.htm | 42 + sources/sokojs/level37.htm | 42 + sources/sokojs/level38.htm | 42 + sources/sokojs/level39.htm | 42 + sources/sokojs/level4.htm | 42 + sources/sokojs/level40.htm | 42 + sources/sokojs/level41.htm | 42 + sources/sokojs/level42.htm | 42 + sources/sokojs/level43.htm | 42 + sources/sokojs/level44.htm | 42 + sources/sokojs/level45.htm | 42 + sources/sokojs/level46.htm | 42 + sources/sokojs/level47.htm | 42 + sources/sokojs/level48.htm | 42 + sources/sokojs/level49.htm | 42 + sources/sokojs/level5.htm | 42 + sources/sokojs/level50.htm | 42 + sources/sokojs/level51.htm | 42 + sources/sokojs/level52.htm | 42 + sources/sokojs/level53.htm | 42 + sources/sokojs/level54.htm | 42 + sources/sokojs/level55.htm | 42 + sources/sokojs/level56.htm | 42 + sources/sokojs/level57.htm | 42 + sources/sokojs/level58.htm | 42 + sources/sokojs/level59.htm | 42 + sources/sokojs/level6.htm | 42 + sources/sokojs/level60.htm | 42 + sources/sokojs/level61.htm | 42 + sources/sokojs/level62.htm | 42 + sources/sokojs/level63.htm | 42 + sources/sokojs/level64.htm | 42 + sources/sokojs/level65.htm | 42 + sources/sokojs/level66.htm | 42 + sources/sokojs/level67.htm | 42 + sources/sokojs/level68.htm | 42 + sources/sokojs/level69.htm | 42 + sources/sokojs/level7.htm | 42 + sources/sokojs/level70.htm | 42 + sources/sokojs/level71.htm | 42 + sources/sokojs/level72.htm | 42 + sources/sokojs/level73.htm | 42 + sources/sokojs/level74.htm | 42 + sources/sokojs/level75.htm | 42 + sources/sokojs/level76.htm | 42 + sources/sokojs/level77.htm | 42 + sources/sokojs/level78.htm | 42 + sources/sokojs/level79.htm | 42 + sources/sokojs/level8.htm | 42 + sources/sokojs/level80.htm | 42 + sources/sokojs/level81.htm | 42 + sources/sokojs/level82.htm | 42 + sources/sokojs/level83.htm | 42 + sources/sokojs/level84.htm | 42 + sources/sokojs/level85.htm | 42 + sources/sokojs/level86.htm | 42 + sources/sokojs/level87.htm | 42 + sources/sokojs/level88.htm | 42 + sources/sokojs/level89.htm | 42 + sources/sokojs/level9.htm | 42 + sources/sokojs/level90.htm | 42 + sources/sokojs/level91.htm | 42 + sources/sokojs/level92.htm | 42 + sources/sokojs/level93.htm | 42 + sources/sokojs/level94.htm | 42 + sources/sokojs/level95.htm | 42 + sources/sokojs/level96.htm | 42 + sources/sokojs/level97.htm | 42 + sources/sokojs/lisezmoi.txt | 82 + sources/sokojs/main.htm | 231 + sources/sokojs/sokojs.htm | 39 + sources/sokojs/src.htm | 538 + sources/solitaire/custom.js | 74 + sources/solitaire/game.compressed.js | 16 + sources/solitaire/game.js | 366 + sources/solitaire/index.html | 32 + sources/solitaire/license.html | 36 + sources/solitaire/nbproject/.svn/all-wcprops | 17 + .../solitaire/nbproject/.svn/dir-prop-base | 6 + sources/solitaire/nbproject/.svn/entries | 96 + .../text-base/project.properties.svn-base | 7 + .../.svn/text-base/project.xml.svn-base | 9 + .../nbproject/private/private.properties | 5 + .../solitaire/nbproject/project.properties | 7 + sources/solitaire/nbproject/project.xml | 9 + sources/solitaire/raphael.compressed.js | 124 + sources/solitaire/raphael.js | 3725 +++++++ sources/sudoku_js/gfx/sudoku_controller.png | Bin 0 -> 160 bytes sources/sudoku_js/gfx/sudoku_range.png | Bin 0 -> 273 bytes sources/sudoku_js/index.html | 16 + sources/sudoku_js/licence.txt | 340 + sources/sudoku_js/sudoku.css | 83 + sources/sudoku_js/sudoku_js.js | 612 ++ sources/telechargement/1597-master.zip | Bin 0 -> 232271 bytes sources/telechargement/2048frama.zip | Bin 0 -> 467411 bytes sources/telechargement/2048originel.zip | Bin 0 -> 232649 bytes sources/telechargement/e-tris.zip | Bin 0 -> 12912 bytes sources/telechargement/esviji.zip | Bin 0 -> 1180657 bytes sources/telechargement/orbium.zip | Bin 0 -> 10274363 bytes sources/telechargement/pappu-pakia.zip | Bin 0 -> 1525902 bytes sources/telechargement/roundball.zip | Bin 0 -> 391509 bytes sources/telechargement/sokojs.zip | Bin 0 -> 69091 bytes sources/telechargement/solitaire.zip | Bin 0 -> 59406 bytes sources/telechargement/sudoku_js.zip | Bin 0 -> 14861 bytes sources/telechargement/zlizer.zip | Bin 0 -> 302005 bytes sources/zlizer/assets/back.png | Bin 0 -> 196 bytes sources/zlizer/assets/bubble_back.png | Bin 0 -> 7205 bytes sources/zlizer/assets/dialog_keyz.jpg | Bin 0 -> 20190 bytes sources/zlizer/assets/dialog_number.jpg | Bin 0 -> 18131 bytes sources/zlizer/assets/dialog_tutorial1.jpg | Bin 0 -> 25936 bytes sources/zlizer/assets/dialog_tutorial2.jpg | Bin 0 -> 19326 bytes sources/zlizer/assets/icon.png | Bin 0 -> 43170 bytes sources/zlizer/assets/impact.ttf | Bin 0 -> 136076 bytes sources/zlizer/assets/lime.png | Bin 0 -> 2469 bytes sources/zlizer/assets/main_title.png | Bin 0 -> 46305 bytes sources/zlizer/assets/startup.jpg | Bin 0 -> 7130 bytes sources/zlizer/assets/startup_ipad.jpg | Bin 0 -> 19114 bytes sources/zlizer/licence.txt | 2 + sources/zlizer/zlizer.html | 130 + sources/zlizer/zlizer.js | 147 + sources/zlizer/zlizer.manifest | 24 + 1738 files changed, 56153 insertions(+), 22 deletions(-) create mode 100644 sources/1597-master/.gitignore create mode 100644 sources/1597-master/.jshintrc create mode 100644 sources/1597-master/CONTRIBUTING.md create mode 100644 sources/1597-master/LICENSE.txt create mode 100644 sources/1597-master/README.md create mode 100644 sources/1597-master/Rakefile create mode 100644 sources/1597-master/favicon.ico create mode 100644 sources/1597-master/index.html create mode 100644 sources/1597-master/js/animframe_polyfill.js create mode 100644 sources/1597-master/js/application.js create mode 100644 sources/1597-master/js/game_manager.js create mode 100644 sources/1597-master/js/grid.js create mode 100644 sources/1597-master/js/html_actuator.js create mode 100644 sources/1597-master/js/keyboard_input_manager.js create mode 100644 sources/1597-master/js/local_score_manager.js create mode 100644 sources/1597-master/js/tile.js create mode 100644 sources/1597-master/meta/apple-touch-icon.png create mode 100644 sources/1597-master/style/fonts/ClearSans-Bold-webfont.eot create mode 100644 sources/1597-master/style/fonts/ClearSans-Bold-webfont.svg create mode 100644 sources/1597-master/style/fonts/ClearSans-Bold-webfont.woff create mode 100644 sources/1597-master/style/fonts/ClearSans-Light-webfont.eot create mode 100644 sources/1597-master/style/fonts/ClearSans-Light-webfont.svg create mode 100644 sources/1597-master/style/fonts/ClearSans-Light-webfont.woff create mode 100644 sources/1597-master/style/fonts/ClearSans-Regular-webfont.eot create mode 100644 sources/1597-master/style/fonts/ClearSans-Regular-webfont.svg create mode 100644 sources/1597-master/style/fonts/ClearSans-Regular-webfont.woff create mode 100644 sources/1597-master/style/fonts/clear-sans.css create mode 100644 sources/1597-master/style/helpers.scss create mode 100644 sources/1597-master/style/main.css create mode 100644 sources/1597-master/style/main.scss create mode 100644 sources/2048frama/.gitignore create mode 100644 sources/2048frama/.jshintrc create mode 100644 sources/2048frama/CONTRIBUTING.md create mode 100644 sources/2048frama/LICENSE.txt create mode 100644 sources/2048frama/README.md create mode 100644 sources/2048frama/favicon.ico create mode 100644 sources/2048frama/im/favicon.png create mode 100644 sources/2048frama/im/framablog.png create mode 100644 sources/2048frama/im/framabook.png create mode 100644 sources/2048frama/im/framadvd.png create mode 100644 sources/2048frama/im/framakey.png create mode 100644 sources/2048frama/im/framamindmap.png create mode 100644 sources/2048frama/im/framapad.png create mode 100644 sources/2048frama/im/framasoft.png create mode 100644 sources/2048frama/im/framatube.png create mode 100644 sources/2048frama/im/framazic.png create mode 100644 sources/2048frama/im/goldenframa.png create mode 100644 sources/2048frama/im/soutenir.png create mode 100644 sources/2048frama/index.html create mode 100644 sources/2048frama/js/animframe_polyfill.js create mode 100644 sources/2048frama/js/application.js create mode 100644 sources/2048frama/js/game_manager.js create mode 100644 sources/2048frama/js/grid.js create mode 100644 sources/2048frama/js/html_actuator.js create mode 100644 sources/2048frama/js/keyboard_input_manager.js create mode 100644 sources/2048frama/js/local_score_manager.js create mode 100644 sources/2048frama/js/tile.js create mode 100644 sources/2048frama/meta/apple-touch-icon.png create mode 100644 sources/2048frama/style/fonts/ClearSans-Bold-webfont.eot create mode 100644 sources/2048frama/style/fonts/ClearSans-Bold-webfont.svg create mode 100644 sources/2048frama/style/fonts/ClearSans-Bold-webfont.woff create mode 100644 sources/2048frama/style/fonts/ClearSans-Light-webfont.eot create mode 100644 sources/2048frama/style/fonts/ClearSans-Light-webfont.svg create mode 100644 sources/2048frama/style/fonts/ClearSans-Light-webfont.woff create mode 100644 sources/2048frama/style/fonts/ClearSans-Regular-webfont.eot create mode 100644 sources/2048frama/style/fonts/ClearSans-Regular-webfont.svg create mode 100644 sources/2048frama/style/fonts/ClearSans-Regular-webfont.woff create mode 100644 sources/2048frama/style/fonts/clear-sans.css create mode 100644 sources/2048frama/style/helpers.scss create mode 100644 sources/2048frama/style/main.css create mode 100644 sources/2048frama/style/main.scss create mode 100644 sources/2048originel/.gitignore create mode 100644 sources/2048originel/.jshintrc create mode 100644 sources/2048originel/CONTRIBUTING.md create mode 100644 sources/2048originel/LICENSE.txt create mode 100644 sources/2048originel/README.md create mode 100644 sources/2048originel/Rakefile create mode 100644 sources/2048originel/favicon.ico create mode 100644 sources/2048originel/index.html create mode 100644 sources/2048originel/js/animframe_polyfill.js create mode 100644 sources/2048originel/js/application.js create mode 100644 sources/2048originel/js/game_manager.js create mode 100644 sources/2048originel/js/grid.js create mode 100644 sources/2048originel/js/html_actuator.js create mode 100644 sources/2048originel/js/keyboard_input_manager.js create mode 100644 sources/2048originel/js/local_score_manager.js create mode 100644 sources/2048originel/js/tile.js create mode 100644 sources/2048originel/meta/apple-touch-icon.png create mode 100644 sources/2048originel/style/fonts/ClearSans-Bold-webfont.eot create mode 100644 sources/2048originel/style/fonts/ClearSans-Bold-webfont.svg create mode 100644 sources/2048originel/style/fonts/ClearSans-Bold-webfont.woff create mode 100644 sources/2048originel/style/fonts/ClearSans-Light-webfont.eot create mode 100644 sources/2048originel/style/fonts/ClearSans-Light-webfont.svg create mode 100644 sources/2048originel/style/fonts/ClearSans-Light-webfont.woff create mode 100644 sources/2048originel/style/fonts/ClearSans-Regular-webfont.eot create mode 100644 sources/2048originel/style/fonts/ClearSans-Regular-webfont.svg create mode 100644 sources/2048originel/style/fonts/ClearSans-Regular-webfont.woff create mode 100644 sources/2048originel/style/fonts/clear-sans.css create mode 100644 sources/2048originel/style/helpers.scss create mode 100644 sources/2048originel/style/main.css create mode 100644 sources/2048originel/style/main.scss create mode 100644 sources/README.md create mode 100644 sources/back.js create mode 100644 sources/css/style.css create mode 100644 sources/data.php create mode 100644 sources/e-tris/.hg/00changelog.i create mode 100644 sources/e-tris/.hg/branch create mode 100644 sources/e-tris/.hg/cache/branchheads-served create mode 100644 sources/e-tris/.hg/dirstate create mode 100644 sources/e-tris/.hg/hgrc create mode 100644 sources/e-tris/.hg/requires create mode 100644 sources/e-tris/.hg/store/00changelog.i create mode 100644 sources/e-tris/.hg/store/00manifest.i create mode 100644 sources/e-tris/.hg/store/data/index.htm.i create mode 100644 sources/e-tris/.hg/store/data/script.js.i create mode 100644 sources/e-tris/.hg/store/data/styles.css.i create mode 100644 sources/e-tris/.hg/store/fncache create mode 100644 sources/e-tris/.hg/store/phaseroots create mode 100644 sources/e-tris/.hg/store/undo create mode 100644 sources/e-tris/.hg/store/undo.phaseroots create mode 100644 sources/e-tris/.hg/undo.bookmarks create mode 100644 sources/e-tris/.hg/undo.branch create mode 100644 sources/e-tris/.hg/undo.desc create mode 100644 sources/e-tris/.hg/undo.dirstate create mode 100644 sources/e-tris/index.htm create mode 100644 sources/e-tris/script.js create mode 100644 sources/e-tris/styles.css create mode 100644 sources/esviji/.gitignore create mode 100644 sources/esviji/css/font/sansitaone-webfont.eot create mode 100644 sources/esviji/css/font/sansitaone-webfont.svg create mode 100644 sources/esviji/css/font/sansitaone-webfont.ttf create mode 100644 sources/esviji/css/font/sansitaone-webfont.woff create mode 100644 sources/esviji/css/styles.css create mode 100644 sources/esviji/favicons/apple-touch-icon-114x114.png create mode 100644 sources/esviji/favicons/apple-touch-icon-120x120.png create mode 100644 sources/esviji/favicons/apple-touch-icon-144x144.png create mode 100644 sources/esviji/favicons/apple-touch-icon-152x152.png create mode 100644 sources/esviji/favicons/apple-touch-icon-57x57.png create mode 100644 sources/esviji/favicons/apple-touch-icon-60x60.png create mode 100644 sources/esviji/favicons/apple-touch-icon-72x72.png create mode 100644 sources/esviji/favicons/apple-touch-icon-76x76.png create mode 100644 sources/esviji/favicons/apple-touch-icon-precomposed.png create mode 100644 sources/esviji/favicons/apple-touch-icon.png create mode 100644 sources/esviji/favicons/browserconfig.xml create mode 100644 sources/esviji/favicons/favicon-160x160.png create mode 100644 sources/esviji/favicons/favicon-16x16.png create mode 100644 sources/esviji/favicons/favicon-196x196.png create mode 100644 sources/esviji/favicons/favicon-32x32.png create mode 100644 sources/esviji/favicons/favicon-96x96.png create mode 100644 sources/esviji/favicons/favicon.ico create mode 100644 sources/esviji/favicons/firefoxos-icon-128.png create mode 100644 sources/esviji/favicons/firefoxos-icon-512.png create mode 100644 sources/esviji/favicons/firefoxos-icon-60.png create mode 100644 sources/esviji/favicons/mstile-144x144.png create mode 100644 sources/esviji/favicons/mstile-150x150.png create mode 100644 sources/esviji/favicons/mstile-310x150.png create mode 100644 sources/esviji/favicons/mstile-310x310.png create mode 100644 sources/esviji/favicons/mstile-70x70.png create mode 100644 sources/esviji/index.html create mode 100644 sources/esviji/js/esviji.js create mode 100644 sources/esviji/js/offlineGoogleAnalytics.js create mode 100644 sources/esviji/js/vendor/SVGEventListener-0.2.3.js create mode 100644 sources/esviji/js/vendor/analytics.js create mode 100644 sources/esviji/js/vendor/howler-1.1.11.js create mode 100644 sources/esviji/js/vendor/jquery-1.10.2.js create mode 100644 sources/esviji/js/vendor/modernizr.inlinesvg-smil-svg-touch-vibration-2.7.1.js create mode 100644 sources/esviji/js/vendor/mousetrap-1.3.2.min.js create mode 100644 sources/esviji/js/vendor/offline.js create mode 100644 sources/esviji/js/vendor/store+json2-1.3.7.min.js create mode 100644 sources/esviji/logo-esviji.png create mode 100644 sources/esviji/manifest.webapp create mode 100644 sources/esviji/sass/styles.scss create mode 100644 sources/esviji/sounds/sprite.mp3 create mode 100644 sources/esviji/sounds/sprite.ogg create mode 100644 sources/favicon.ico create mode 100644 sources/images/1.png create mode 100644 sources/images/10.png create mode 100644 sources/images/11.png create mode 100644 sources/images/12.png create mode 100644 sources/images/2.png create mode 100644 sources/images/3.png create mode 100644 sources/images/4.png create mode 100644 sources/images/5.png create mode 100644 sources/images/6.png create mode 100644 sources/images/7.png create mode 100644 sources/images/8.png create mode 100644 sources/images/9.png create mode 100644 sources/images/icone-projets-framalab.svg delete mode 100644 sources/index.html create mode 100644 sources/index.php create mode 100644 sources/orbium/.gitignore create mode 100644 sources/orbium/LICENSE create mode 100644 sources/orbium/README.md create mode 100644 sources/orbium/css/style.css create mode 100644 sources/orbium/gfx/1024x697/announcer0.png create mode 100644 sources/orbium/gfx/1024x697/announcer1.png create mode 100644 sources/orbium/gfx/1024x697/announcer2.png create mode 100644 sources/orbium/gfx/1024x697/announcer3.png create mode 100644 sources/orbium/gfx/1024x697/bar0.png create mode 100644 sources/orbium/gfx/1024x697/bar1.png create mode 100644 sources/orbium/gfx/1024x697/bar10.png create mode 100644 sources/orbium/gfx/1024x697/bar11.png create mode 100644 sources/orbium/gfx/1024x697/bar12.png create mode 100644 sources/orbium/gfx/1024x697/bar13.png create mode 100644 sources/orbium/gfx/1024x697/bar14.png create mode 100644 sources/orbium/gfx/1024x697/bar15.png create mode 100644 sources/orbium/gfx/1024x697/bar2.png create mode 100644 sources/orbium/gfx/1024x697/bar3.png create mode 100644 sources/orbium/gfx/1024x697/bar4.png create mode 100644 sources/orbium/gfx/1024x697/bar5.png create mode 100644 sources/orbium/gfx/1024x697/bar6.png create mode 100644 sources/orbium/gfx/1024x697/bar7.png create mode 100644 sources/orbium/gfx/1024x697/bar8.png create mode 100644 sources/orbium/gfx/1024x697/bar9.png create mode 100644 sources/orbium/gfx/1024x697/clock0.png create mode 100644 sources/orbium/gfx/1024x697/clock1.png create mode 100644 sources/orbium/gfx/1024x697/clock2.png create mode 100644 sources/orbium/gfx/1024x697/clock3.png create mode 100644 sources/orbium/gfx/1024x697/clock4.png create mode 100644 sources/orbium/gfx/1024x697/clock5.png create mode 100644 sources/orbium/gfx/1024x697/clock6.png create mode 100644 sources/orbium/gfx/1024x697/clock7.png create mode 100644 sources/orbium/gfx/1024x697/clock8.png create mode 100644 sources/orbium/gfx/1024x697/clock9.png create mode 100644 sources/orbium/gfx/1024x697/counter0.png create mode 100644 sources/orbium/gfx/1024x697/counter1.png create mode 100644 sources/orbium/gfx/1024x697/counter2.png create mode 100644 sources/orbium/gfx/1024x697/counter3.png create mode 100644 sources/orbium/gfx/1024x697/counter4.png create mode 100644 sources/orbium/gfx/1024x697/crosstile0.png create mode 100644 sources/orbium/gfx/1024x697/crosstile1.png create mode 100644 sources/orbium/gfx/1024x697/crosstile2.png create mode 100644 sources/orbium/gfx/1024x697/crosstile3.png create mode 100644 sources/orbium/gfx/1024x697/crosstile4.png create mode 100644 sources/orbium/gfx/1024x697/director0.png create mode 100644 sources/orbium/gfx/1024x697/director1.png create mode 100644 sources/orbium/gfx/1024x697/director2.png create mode 100644 sources/orbium/gfx/1024x697/director3.png create mode 100644 sources/orbium/gfx/1024x697/emptytile0.png create mode 100644 sources/orbium/gfx/1024x697/emptytile1.png create mode 100644 sources/orbium/gfx/1024x697/emptytile2.png create mode 100644 sources/orbium/gfx/1024x697/emptytile3.png create mode 100644 sources/orbium/gfx/1024x697/emptytile4.png create mode 100644 sources/orbium/gfx/1024x697/emptytile5.png create mode 100644 sources/orbium/gfx/1024x697/emptytile6.png create mode 100644 sources/orbium/gfx/1024x697/explosion0.png create mode 100644 sources/orbium/gfx/1024x697/explosion1.png create mode 100644 sources/orbium/gfx/1024x697/explosion2.png create mode 100644 sources/orbium/gfx/1024x697/explosion3.png create mode 100644 sources/orbium/gfx/1024x697/horiztile0.png create mode 100644 sources/orbium/gfx/1024x697/horiztile1.png create mode 100644 sources/orbium/gfx/1024x697/horiztile2.png create mode 100644 sources/orbium/gfx/1024x697/horiztile3.png create mode 100644 sources/orbium/gfx/1024x697/horiztile4.png create mode 100644 sources/orbium/gfx/1024x697/horiztile5.png create mode 100644 sources/orbium/gfx/1024x697/inspector0.png create mode 100644 sources/orbium/gfx/1024x697/inspector1.png create mode 100644 sources/orbium/gfx/1024x697/inspector2.png create mode 100644 sources/orbium/gfx/1024x697/inspector3.png create mode 100644 sources/orbium/gfx/1024x697/marble0.png create mode 100644 sources/orbium/gfx/1024x697/marble1.png create mode 100644 sources/orbium/gfx/1024x697/marble10.png create mode 100644 sources/orbium/gfx/1024x697/marble11.png create mode 100644 sources/orbium/gfx/1024x697/marble12.png create mode 100644 sources/orbium/gfx/1024x697/marble13.png create mode 100644 sources/orbium/gfx/1024x697/marble14.png create mode 100644 sources/orbium/gfx/1024x697/marble15.png create mode 100644 sources/orbium/gfx/1024x697/marble16.png create mode 100644 sources/orbium/gfx/1024x697/marble17.png create mode 100644 sources/orbium/gfx/1024x697/marble18.png create mode 100644 sources/orbium/gfx/1024x697/marble19.png create mode 100644 sources/orbium/gfx/1024x697/marble2.png create mode 100644 sources/orbium/gfx/1024x697/marble20.png create mode 100644 sources/orbium/gfx/1024x697/marble21.png create mode 100644 sources/orbium/gfx/1024x697/marble22.png create mode 100644 sources/orbium/gfx/1024x697/marble23.png create mode 100644 sources/orbium/gfx/1024x697/marble24.png create mode 100644 sources/orbium/gfx/1024x697/marble25.png create mode 100644 sources/orbium/gfx/1024x697/marble26.png create mode 100644 sources/orbium/gfx/1024x697/marble27.png create mode 100644 sources/orbium/gfx/1024x697/marble28.png create mode 100644 sources/orbium/gfx/1024x697/marble29.png create mode 100644 sources/orbium/gfx/1024x697/marble3.png create mode 100644 sources/orbium/gfx/1024x697/marble30.png create mode 100644 sources/orbium/gfx/1024x697/marble31.png create mode 100644 sources/orbium/gfx/1024x697/marble32.png create mode 100644 sources/orbium/gfx/1024x697/marble33.png create mode 100644 sources/orbium/gfx/1024x697/marble34.png create mode 100644 sources/orbium/gfx/1024x697/marble35.png create mode 100644 sources/orbium/gfx/1024x697/marble36.png create mode 100644 sources/orbium/gfx/1024x697/marble37.png create mode 100644 sources/orbium/gfx/1024x697/marble38.png create mode 100644 sources/orbium/gfx/1024x697/marble39.png create mode 100644 sources/orbium/gfx/1024x697/marble4.png create mode 100644 sources/orbium/gfx/1024x697/marble40.png create mode 100644 sources/orbium/gfx/1024x697/marble41.png create mode 100644 sources/orbium/gfx/1024x697/marble42.png create mode 100644 sources/orbium/gfx/1024x697/marble43.png create mode 100644 sources/orbium/gfx/1024x697/marble44.png create mode 100644 sources/orbium/gfx/1024x697/marble45.png create mode 100644 sources/orbium/gfx/1024x697/marble46.png create mode 100644 sources/orbium/gfx/1024x697/marble47.png create mode 100644 sources/orbium/gfx/1024x697/marble5.png create mode 100644 sources/orbium/gfx/1024x697/marble6.png create mode 100644 sources/orbium/gfx/1024x697/marble7.png create mode 100644 sources/orbium/gfx/1024x697/marble8.png create mode 100644 sources/orbium/gfx/1024x697/marble9.png create mode 100644 sources/orbium/gfx/1024x697/matcher0.png create mode 100644 sources/orbium/gfx/1024x697/modtile0.png create mode 100644 sources/orbium/gfx/1024x697/modtile1.png create mode 100644 sources/orbium/gfx/1024x697/modtile10.png create mode 100644 sources/orbium/gfx/1024x697/modtile11.png create mode 100644 sources/orbium/gfx/1024x697/modtile12.png create mode 100644 sources/orbium/gfx/1024x697/modtile13.png create mode 100644 sources/orbium/gfx/1024x697/modtile14.png create mode 100644 sources/orbium/gfx/1024x697/modtile2.png create mode 100644 sources/orbium/gfx/1024x697/modtile3.png create mode 100644 sources/orbium/gfx/1024x697/modtile4.png create mode 100644 sources/orbium/gfx/1024x697/modtile5.png create mode 100644 sources/orbium/gfx/1024x697/modtile6.png create mode 100644 sources/orbium/gfx/1024x697/modtile7.png create mode 100644 sources/orbium/gfx/1024x697/modtile8.png create mode 100644 sources/orbium/gfx/1024x697/modtile9.png create mode 100644 sources/orbium/gfx/1024x697/rotatile0.png create mode 100644 sources/orbium/gfx/1024x697/rotatile1.png create mode 100644 sources/orbium/gfx/1024x697/rotatile10.png create mode 100644 sources/orbium/gfx/1024x697/rotatile11.png create mode 100644 sources/orbium/gfx/1024x697/rotatile12.png create mode 100644 sources/orbium/gfx/1024x697/rotatile13.png create mode 100644 sources/orbium/gfx/1024x697/rotatile14.png create mode 100644 sources/orbium/gfx/1024x697/rotatile15.png create mode 100644 sources/orbium/gfx/1024x697/rotatile16.png create mode 100644 sources/orbium/gfx/1024x697/rotatile17.png create mode 100644 sources/orbium/gfx/1024x697/rotatile18.png create mode 100644 sources/orbium/gfx/1024x697/rotatile19.png create mode 100644 sources/orbium/gfx/1024x697/rotatile2.png create mode 100644 sources/orbium/gfx/1024x697/rotatile20.png create mode 100644 sources/orbium/gfx/1024x697/rotatile21.png create mode 100644 sources/orbium/gfx/1024x697/rotatile22.png create mode 100644 sources/orbium/gfx/1024x697/rotatile23.png create mode 100644 sources/orbium/gfx/1024x697/rotatile24.png create mode 100644 sources/orbium/gfx/1024x697/rotatile25.png create mode 100644 sources/orbium/gfx/1024x697/rotatile26.png create mode 100644 sources/orbium/gfx/1024x697/rotatile27.png create mode 100644 sources/orbium/gfx/1024x697/rotatile28.png create mode 100644 sources/orbium/gfx/1024x697/rotatile29.png create mode 100644 sources/orbium/gfx/1024x697/rotatile3.png create mode 100644 sources/orbium/gfx/1024x697/rotatile4.png create mode 100644 sources/orbium/gfx/1024x697/rotatile5.png create mode 100644 sources/orbium/gfx/1024x697/rotatile6.png create mode 100644 sources/orbium/gfx/1024x697/rotatile7.png create mode 100644 sources/orbium/gfx/1024x697/rotatile8.png create mode 100644 sources/orbium/gfx/1024x697/rotatile9.png create mode 100644 sources/orbium/gfx/1024x697/rotator0.png create mode 100644 sources/orbium/gfx/1024x697/rotator1.png create mode 100644 sources/orbium/gfx/1024x697/rotator10.png create mode 100644 sources/orbium/gfx/1024x697/rotator11.png create mode 100644 sources/orbium/gfx/1024x697/rotator12.png create mode 100644 sources/orbium/gfx/1024x697/rotator13.png create mode 100644 sources/orbium/gfx/1024x697/rotator14.png create mode 100644 sources/orbium/gfx/1024x697/rotator15.png create mode 100644 sources/orbium/gfx/1024x697/rotator16.png create mode 100644 sources/orbium/gfx/1024x697/rotator17.png create mode 100644 sources/orbium/gfx/1024x697/rotator18.png create mode 100644 sources/orbium/gfx/1024x697/rotator19.png create mode 100644 sources/orbium/gfx/1024x697/rotator2.png create mode 100644 sources/orbium/gfx/1024x697/rotator20.png create mode 100644 sources/orbium/gfx/1024x697/rotator21.png create mode 100644 sources/orbium/gfx/1024x697/rotator22.png create mode 100644 sources/orbium/gfx/1024x697/rotator23.png create mode 100644 sources/orbium/gfx/1024x697/rotator24.png create mode 100644 sources/orbium/gfx/1024x697/rotator25.png create mode 100644 sources/orbium/gfx/1024x697/rotator26.png create mode 100644 sources/orbium/gfx/1024x697/rotator27.png create mode 100644 sources/orbium/gfx/1024x697/rotator28.png create mode 100644 sources/orbium/gfx/1024x697/rotator29.png create mode 100644 sources/orbium/gfx/1024x697/rotator3.png create mode 100644 sources/orbium/gfx/1024x697/rotator30.png create mode 100644 sources/orbium/gfx/1024x697/rotator31.png create mode 100644 sources/orbium/gfx/1024x697/rotator4.png create mode 100644 sources/orbium/gfx/1024x697/rotator5.png create mode 100644 sources/orbium/gfx/1024x697/rotator6.png create mode 100644 sources/orbium/gfx/1024x697/rotator7.png create mode 100644 sources/orbium/gfx/1024x697/rotator8.png create mode 100644 sources/orbium/gfx/1024x697/rotator9.png create mode 100644 sources/orbium/gfx/1024x697/sequencer0.png create mode 100644 sources/orbium/gfx/1024x697/teleporter0.png create mode 100644 sources/orbium/gfx/1024x697/teleporter1.png create mode 100644 sources/orbium/gfx/1024x697/teleporter2.png create mode 100644 sources/orbium/gfx/1024x697/timer0.png create mode 100644 sources/orbium/gfx/1024x697/timer1.png create mode 100644 sources/orbium/gfx/1024x697/transformer0.png create mode 100644 sources/orbium/gfx/1024x697/transformer1.png create mode 100644 sources/orbium/gfx/1024x697/transformer2.png create mode 100644 sources/orbium/gfx/1024x697/transformer3.png create mode 100644 sources/orbium/gfx/1024x697/verttile0.png create mode 100644 sources/orbium/gfx/1024x697/verttile1.png create mode 100644 sources/orbium/gfx/1024x697/verttile2.png create mode 100644 sources/orbium/gfx/1024x697/verttile3.png create mode 100644 sources/orbium/gfx/1024x697/verttile4.png create mode 100644 sources/orbium/gfx/1024x697/verttile5.png create mode 100644 sources/orbium/gfx/344x234/announcer0.png create mode 100644 sources/orbium/gfx/344x234/announcer1.png create mode 100644 sources/orbium/gfx/344x234/announcer2.png create mode 100644 sources/orbium/gfx/344x234/announcer3.png create mode 100644 sources/orbium/gfx/344x234/bar0.png create mode 100644 sources/orbium/gfx/344x234/bar1.png create mode 100644 sources/orbium/gfx/344x234/bar10.png create mode 100644 sources/orbium/gfx/344x234/bar11.png create mode 100644 sources/orbium/gfx/344x234/bar12.png create mode 100644 sources/orbium/gfx/344x234/bar13.png create mode 100644 sources/orbium/gfx/344x234/bar14.png create mode 100644 sources/orbium/gfx/344x234/bar15.png create mode 100644 sources/orbium/gfx/344x234/bar2.png create mode 100644 sources/orbium/gfx/344x234/bar3.png create mode 100644 sources/orbium/gfx/344x234/bar4.png create mode 100644 sources/orbium/gfx/344x234/bar5.png create mode 100644 sources/orbium/gfx/344x234/bar6.png create mode 100644 sources/orbium/gfx/344x234/bar7.png create mode 100644 sources/orbium/gfx/344x234/bar8.png create mode 100644 sources/orbium/gfx/344x234/bar9.png create mode 100644 sources/orbium/gfx/344x234/clock0.png create mode 100644 sources/orbium/gfx/344x234/clock1.png create mode 100644 sources/orbium/gfx/344x234/clock2.png create mode 100644 sources/orbium/gfx/344x234/clock3.png create mode 100644 sources/orbium/gfx/344x234/clock4.png create mode 100644 sources/orbium/gfx/344x234/clock5.png create mode 100644 sources/orbium/gfx/344x234/clock6.png create mode 100644 sources/orbium/gfx/344x234/clock7.png create mode 100644 sources/orbium/gfx/344x234/clock8.png create mode 100644 sources/orbium/gfx/344x234/clock9.png create mode 100644 sources/orbium/gfx/344x234/counter0.png create mode 100644 sources/orbium/gfx/344x234/counter1.png create mode 100644 sources/orbium/gfx/344x234/counter2.png create mode 100644 sources/orbium/gfx/344x234/counter3.png create mode 100644 sources/orbium/gfx/344x234/counter4.png create mode 100644 sources/orbium/gfx/344x234/crosstile0.png create mode 100644 sources/orbium/gfx/344x234/crosstile1.png create mode 100644 sources/orbium/gfx/344x234/crosstile2.png create mode 100644 sources/orbium/gfx/344x234/crosstile3.png create mode 100644 sources/orbium/gfx/344x234/crosstile4.png create mode 100644 sources/orbium/gfx/344x234/director0.png create mode 100644 sources/orbium/gfx/344x234/director1.png create mode 100644 sources/orbium/gfx/344x234/director2.png create mode 100644 sources/orbium/gfx/344x234/director3.png create mode 100644 sources/orbium/gfx/344x234/emptytile0.png create mode 100644 sources/orbium/gfx/344x234/emptytile1.png create mode 100644 sources/orbium/gfx/344x234/emptytile2.png create mode 100644 sources/orbium/gfx/344x234/emptytile3.png create mode 100644 sources/orbium/gfx/344x234/emptytile4.png create mode 100644 sources/orbium/gfx/344x234/emptytile5.png create mode 100644 sources/orbium/gfx/344x234/emptytile6.png create mode 100644 sources/orbium/gfx/344x234/explosion0.png create mode 100644 sources/orbium/gfx/344x234/explosion1.png create mode 100644 sources/orbium/gfx/344x234/explosion2.png create mode 100644 sources/orbium/gfx/344x234/explosion3.png create mode 100644 sources/orbium/gfx/344x234/horiztile0.png create mode 100644 sources/orbium/gfx/344x234/horiztile1.png create mode 100644 sources/orbium/gfx/344x234/horiztile2.png create mode 100644 sources/orbium/gfx/344x234/horiztile3.png create mode 100644 sources/orbium/gfx/344x234/horiztile4.png create mode 100644 sources/orbium/gfx/344x234/horiztile5.png create mode 100644 sources/orbium/gfx/344x234/inspector0.png create mode 100644 sources/orbium/gfx/344x234/inspector1.png create mode 100644 sources/orbium/gfx/344x234/inspector2.png create mode 100644 sources/orbium/gfx/344x234/inspector3.png create mode 100644 sources/orbium/gfx/344x234/marble0.png create mode 100644 sources/orbium/gfx/344x234/marble1.png create mode 100644 sources/orbium/gfx/344x234/marble10.png create mode 100644 sources/orbium/gfx/344x234/marble11.png create mode 100644 sources/orbium/gfx/344x234/marble12.png create mode 100644 sources/orbium/gfx/344x234/marble13.png create mode 100644 sources/orbium/gfx/344x234/marble14.png create mode 100644 sources/orbium/gfx/344x234/marble15.png create mode 100644 sources/orbium/gfx/344x234/marble16.png create mode 100644 sources/orbium/gfx/344x234/marble17.png create mode 100644 sources/orbium/gfx/344x234/marble18.png create mode 100644 sources/orbium/gfx/344x234/marble19.png create mode 100644 sources/orbium/gfx/344x234/marble2.png create mode 100644 sources/orbium/gfx/344x234/marble20.png create mode 100644 sources/orbium/gfx/344x234/marble21.png create mode 100644 sources/orbium/gfx/344x234/marble22.png create mode 100644 sources/orbium/gfx/344x234/marble23.png create mode 100644 sources/orbium/gfx/344x234/marble24.png create mode 100644 sources/orbium/gfx/344x234/marble25.png create mode 100644 sources/orbium/gfx/344x234/marble26.png create mode 100644 sources/orbium/gfx/344x234/marble27.png create mode 100644 sources/orbium/gfx/344x234/marble28.png create mode 100644 sources/orbium/gfx/344x234/marble29.png create mode 100644 sources/orbium/gfx/344x234/marble3.png create mode 100644 sources/orbium/gfx/344x234/marble30.png create mode 100644 sources/orbium/gfx/344x234/marble31.png create mode 100644 sources/orbium/gfx/344x234/marble32.png create mode 100644 sources/orbium/gfx/344x234/marble33.png create mode 100644 sources/orbium/gfx/344x234/marble34.png create mode 100644 sources/orbium/gfx/344x234/marble35.png create mode 100644 sources/orbium/gfx/344x234/marble36.png create mode 100644 sources/orbium/gfx/344x234/marble37.png create mode 100644 sources/orbium/gfx/344x234/marble38.png create mode 100644 sources/orbium/gfx/344x234/marble39.png create mode 100644 sources/orbium/gfx/344x234/marble4.png create mode 100644 sources/orbium/gfx/344x234/marble40.png create mode 100644 sources/orbium/gfx/344x234/marble41.png create mode 100644 sources/orbium/gfx/344x234/marble42.png create mode 100644 sources/orbium/gfx/344x234/marble43.png create mode 100644 sources/orbium/gfx/344x234/marble44.png create mode 100644 sources/orbium/gfx/344x234/marble45.png create mode 100644 sources/orbium/gfx/344x234/marble46.png create mode 100644 sources/orbium/gfx/344x234/marble47.png create mode 100644 sources/orbium/gfx/344x234/marble5.png create mode 100644 sources/orbium/gfx/344x234/marble6.png create mode 100644 sources/orbium/gfx/344x234/marble7.png create mode 100644 sources/orbium/gfx/344x234/marble8.png create mode 100644 sources/orbium/gfx/344x234/marble9.png create mode 100644 sources/orbium/gfx/344x234/matcher0.png create mode 100644 sources/orbium/gfx/344x234/modtile0.png create mode 100644 sources/orbium/gfx/344x234/modtile1.png create mode 100644 sources/orbium/gfx/344x234/modtile10.png create mode 100644 sources/orbium/gfx/344x234/modtile11.png create mode 100644 sources/orbium/gfx/344x234/modtile12.png create mode 100644 sources/orbium/gfx/344x234/modtile13.png create mode 100644 sources/orbium/gfx/344x234/modtile14.png create mode 100644 sources/orbium/gfx/344x234/modtile2.png create mode 100644 sources/orbium/gfx/344x234/modtile3.png create mode 100644 sources/orbium/gfx/344x234/modtile4.png create mode 100644 sources/orbium/gfx/344x234/modtile5.png create mode 100644 sources/orbium/gfx/344x234/modtile6.png create mode 100644 sources/orbium/gfx/344x234/modtile7.png create mode 100644 sources/orbium/gfx/344x234/modtile8.png create mode 100644 sources/orbium/gfx/344x234/modtile9.png create mode 100644 sources/orbium/gfx/344x234/rotatile0.png create mode 100644 sources/orbium/gfx/344x234/rotatile1.png create mode 100644 sources/orbium/gfx/344x234/rotatile10.png create mode 100644 sources/orbium/gfx/344x234/rotatile11.png create mode 100644 sources/orbium/gfx/344x234/rotatile12.png create mode 100644 sources/orbium/gfx/344x234/rotatile13.png create mode 100644 sources/orbium/gfx/344x234/rotatile14.png create mode 100644 sources/orbium/gfx/344x234/rotatile15.png create mode 100644 sources/orbium/gfx/344x234/rotatile16.png create mode 100644 sources/orbium/gfx/344x234/rotatile17.png create mode 100644 sources/orbium/gfx/344x234/rotatile18.png create mode 100644 sources/orbium/gfx/344x234/rotatile19.png create mode 100644 sources/orbium/gfx/344x234/rotatile2.png create mode 100644 sources/orbium/gfx/344x234/rotatile20.png create mode 100644 sources/orbium/gfx/344x234/rotatile21.png create mode 100644 sources/orbium/gfx/344x234/rotatile22.png create mode 100644 sources/orbium/gfx/344x234/rotatile23.png create mode 100644 sources/orbium/gfx/344x234/rotatile24.png create mode 100644 sources/orbium/gfx/344x234/rotatile25.png create mode 100644 sources/orbium/gfx/344x234/rotatile26.png create mode 100644 sources/orbium/gfx/344x234/rotatile27.png create mode 100644 sources/orbium/gfx/344x234/rotatile28.png create mode 100644 sources/orbium/gfx/344x234/rotatile29.png create mode 100644 sources/orbium/gfx/344x234/rotatile3.png create mode 100644 sources/orbium/gfx/344x234/rotatile4.png create mode 100644 sources/orbium/gfx/344x234/rotatile5.png create mode 100644 sources/orbium/gfx/344x234/rotatile6.png create mode 100644 sources/orbium/gfx/344x234/rotatile7.png create mode 100644 sources/orbium/gfx/344x234/rotatile8.png create mode 100644 sources/orbium/gfx/344x234/rotatile9.png create mode 100644 sources/orbium/gfx/344x234/rotator0.png create mode 100644 sources/orbium/gfx/344x234/rotator1.png create mode 100644 sources/orbium/gfx/344x234/rotator10.png create mode 100644 sources/orbium/gfx/344x234/rotator11.png create mode 100644 sources/orbium/gfx/344x234/rotator12.png create mode 100644 sources/orbium/gfx/344x234/rotator13.png create mode 100644 sources/orbium/gfx/344x234/rotator14.png create mode 100644 sources/orbium/gfx/344x234/rotator15.png create mode 100644 sources/orbium/gfx/344x234/rotator16.png create mode 100644 sources/orbium/gfx/344x234/rotator17.png create mode 100644 sources/orbium/gfx/344x234/rotator18.png create mode 100644 sources/orbium/gfx/344x234/rotator19.png create mode 100644 sources/orbium/gfx/344x234/rotator2.png create mode 100644 sources/orbium/gfx/344x234/rotator20.png create mode 100644 sources/orbium/gfx/344x234/rotator21.png create mode 100644 sources/orbium/gfx/344x234/rotator22.png create mode 100644 sources/orbium/gfx/344x234/rotator23.png create mode 100644 sources/orbium/gfx/344x234/rotator24.png create mode 100644 sources/orbium/gfx/344x234/rotator25.png create mode 100644 sources/orbium/gfx/344x234/rotator26.png create mode 100644 sources/orbium/gfx/344x234/rotator27.png create mode 100644 sources/orbium/gfx/344x234/rotator28.png create mode 100644 sources/orbium/gfx/344x234/rotator29.png create mode 100644 sources/orbium/gfx/344x234/rotator3.png create mode 100644 sources/orbium/gfx/344x234/rotator30.png create mode 100644 sources/orbium/gfx/344x234/rotator31.png create mode 100644 sources/orbium/gfx/344x234/rotator4.png create mode 100644 sources/orbium/gfx/344x234/rotator5.png create mode 100644 sources/orbium/gfx/344x234/rotator6.png create mode 100644 sources/orbium/gfx/344x234/rotator7.png create mode 100644 sources/orbium/gfx/344x234/rotator8.png create mode 100644 sources/orbium/gfx/344x234/rotator9.png create mode 100644 sources/orbium/gfx/344x234/sequencer0.png create mode 100644 sources/orbium/gfx/344x234/teleporter0.png create mode 100644 sources/orbium/gfx/344x234/teleporter1.png create mode 100644 sources/orbium/gfx/344x234/teleporter2.png create mode 100644 sources/orbium/gfx/344x234/timer0.png create mode 100644 sources/orbium/gfx/344x234/timer1.png create mode 100644 sources/orbium/gfx/344x234/transformer0.png create mode 100644 sources/orbium/gfx/344x234/transformer1.png create mode 100644 sources/orbium/gfx/344x234/transformer2.png create mode 100644 sources/orbium/gfx/344x234/transformer3.png create mode 100644 sources/orbium/gfx/344x234/verttile0.png create mode 100644 sources/orbium/gfx/344x234/verttile1.png create mode 100644 sources/orbium/gfx/344x234/verttile2.png create mode 100644 sources/orbium/gfx/344x234/verttile3.png create mode 100644 sources/orbium/gfx/344x234/verttile4.png create mode 100644 sources/orbium/gfx/344x234/verttile5.png create mode 100644 sources/orbium/gfx/424x289/announcer0.png create mode 100644 sources/orbium/gfx/424x289/announcer1.png create mode 100644 sources/orbium/gfx/424x289/announcer2.png create mode 100644 sources/orbium/gfx/424x289/announcer3.png create mode 100644 sources/orbium/gfx/424x289/bar0.png create mode 100644 sources/orbium/gfx/424x289/bar1.png create mode 100644 sources/orbium/gfx/424x289/bar10.png create mode 100644 sources/orbium/gfx/424x289/bar11.png create mode 100644 sources/orbium/gfx/424x289/bar12.png create mode 100644 sources/orbium/gfx/424x289/bar13.png create mode 100644 sources/orbium/gfx/424x289/bar14.png create mode 100644 sources/orbium/gfx/424x289/bar15.png create mode 100644 sources/orbium/gfx/424x289/bar2.png create mode 100644 sources/orbium/gfx/424x289/bar3.png create mode 100644 sources/orbium/gfx/424x289/bar4.png create mode 100644 sources/orbium/gfx/424x289/bar5.png create mode 100644 sources/orbium/gfx/424x289/bar6.png create mode 100644 sources/orbium/gfx/424x289/bar7.png create mode 100644 sources/orbium/gfx/424x289/bar8.png create mode 100644 sources/orbium/gfx/424x289/bar9.png create mode 100644 sources/orbium/gfx/424x289/clock0.png create mode 100644 sources/orbium/gfx/424x289/clock1.png create mode 100644 sources/orbium/gfx/424x289/clock2.png create mode 100644 sources/orbium/gfx/424x289/clock3.png create mode 100644 sources/orbium/gfx/424x289/clock4.png create mode 100644 sources/orbium/gfx/424x289/clock5.png create mode 100644 sources/orbium/gfx/424x289/clock6.png create mode 100644 sources/orbium/gfx/424x289/clock7.png create mode 100644 sources/orbium/gfx/424x289/clock8.png create mode 100644 sources/orbium/gfx/424x289/clock9.png create mode 100644 sources/orbium/gfx/424x289/counter0.png create mode 100644 sources/orbium/gfx/424x289/counter1.png create mode 100644 sources/orbium/gfx/424x289/counter2.png create mode 100644 sources/orbium/gfx/424x289/counter3.png create mode 100644 sources/orbium/gfx/424x289/counter4.png create mode 100644 sources/orbium/gfx/424x289/crosstile0.png create mode 100644 sources/orbium/gfx/424x289/crosstile1.png create mode 100644 sources/orbium/gfx/424x289/crosstile2.png create mode 100644 sources/orbium/gfx/424x289/crosstile3.png create mode 100644 sources/orbium/gfx/424x289/crosstile4.png create mode 100644 sources/orbium/gfx/424x289/director0.png create mode 100644 sources/orbium/gfx/424x289/director1.png create mode 100644 sources/orbium/gfx/424x289/director2.png create mode 100644 sources/orbium/gfx/424x289/director3.png create mode 100644 sources/orbium/gfx/424x289/emptytile0.png create mode 100644 sources/orbium/gfx/424x289/emptytile1.png create mode 100644 sources/orbium/gfx/424x289/emptytile2.png create mode 100644 sources/orbium/gfx/424x289/emptytile3.png create mode 100644 sources/orbium/gfx/424x289/emptytile4.png create mode 100644 sources/orbium/gfx/424x289/emptytile5.png create mode 100644 sources/orbium/gfx/424x289/emptytile6.png create mode 100644 sources/orbium/gfx/424x289/explosion0.png create mode 100644 sources/orbium/gfx/424x289/explosion1.png create mode 100644 sources/orbium/gfx/424x289/explosion2.png create mode 100644 sources/orbium/gfx/424x289/explosion3.png create mode 100644 sources/orbium/gfx/424x289/horiztile0.png create mode 100644 sources/orbium/gfx/424x289/horiztile1.png create mode 100644 sources/orbium/gfx/424x289/horiztile2.png create mode 100644 sources/orbium/gfx/424x289/horiztile3.png create mode 100644 sources/orbium/gfx/424x289/horiztile4.png create mode 100644 sources/orbium/gfx/424x289/horiztile5.png create mode 100644 sources/orbium/gfx/424x289/inspector0.png create mode 100644 sources/orbium/gfx/424x289/inspector1.png create mode 100644 sources/orbium/gfx/424x289/inspector2.png create mode 100644 sources/orbium/gfx/424x289/inspector3.png create mode 100644 sources/orbium/gfx/424x289/marble0.png create mode 100644 sources/orbium/gfx/424x289/marble1.png create mode 100644 sources/orbium/gfx/424x289/marble10.png create mode 100644 sources/orbium/gfx/424x289/marble11.png create mode 100644 sources/orbium/gfx/424x289/marble12.png create mode 100644 sources/orbium/gfx/424x289/marble13.png create mode 100644 sources/orbium/gfx/424x289/marble14.png create mode 100644 sources/orbium/gfx/424x289/marble15.png create mode 100644 sources/orbium/gfx/424x289/marble16.png create mode 100644 sources/orbium/gfx/424x289/marble17.png create mode 100644 sources/orbium/gfx/424x289/marble18.png create mode 100644 sources/orbium/gfx/424x289/marble19.png create mode 100644 sources/orbium/gfx/424x289/marble2.png create mode 100644 sources/orbium/gfx/424x289/marble20.png create mode 100644 sources/orbium/gfx/424x289/marble21.png create mode 100644 sources/orbium/gfx/424x289/marble22.png create mode 100644 sources/orbium/gfx/424x289/marble23.png create mode 100644 sources/orbium/gfx/424x289/marble24.png create mode 100644 sources/orbium/gfx/424x289/marble25.png create mode 100644 sources/orbium/gfx/424x289/marble26.png create mode 100644 sources/orbium/gfx/424x289/marble27.png create mode 100644 sources/orbium/gfx/424x289/marble28.png create mode 100644 sources/orbium/gfx/424x289/marble29.png create mode 100644 sources/orbium/gfx/424x289/marble3.png create mode 100644 sources/orbium/gfx/424x289/marble30.png create mode 100644 sources/orbium/gfx/424x289/marble31.png create mode 100644 sources/orbium/gfx/424x289/marble32.png create mode 100644 sources/orbium/gfx/424x289/marble33.png create mode 100644 sources/orbium/gfx/424x289/marble34.png create mode 100644 sources/orbium/gfx/424x289/marble35.png create mode 100644 sources/orbium/gfx/424x289/marble36.png create mode 100644 sources/orbium/gfx/424x289/marble37.png create mode 100644 sources/orbium/gfx/424x289/marble38.png create mode 100644 sources/orbium/gfx/424x289/marble39.png create mode 100644 sources/orbium/gfx/424x289/marble4.png create mode 100644 sources/orbium/gfx/424x289/marble40.png create mode 100644 sources/orbium/gfx/424x289/marble41.png create mode 100644 sources/orbium/gfx/424x289/marble42.png create mode 100644 sources/orbium/gfx/424x289/marble43.png create mode 100644 sources/orbium/gfx/424x289/marble44.png create mode 100644 sources/orbium/gfx/424x289/marble45.png create mode 100644 sources/orbium/gfx/424x289/marble46.png create mode 100644 sources/orbium/gfx/424x289/marble47.png create mode 100644 sources/orbium/gfx/424x289/marble5.png create mode 100644 sources/orbium/gfx/424x289/marble6.png create mode 100644 sources/orbium/gfx/424x289/marble7.png create mode 100644 sources/orbium/gfx/424x289/marble8.png create mode 100644 sources/orbium/gfx/424x289/marble9.png create mode 100644 sources/orbium/gfx/424x289/matcher0.png create mode 100644 sources/orbium/gfx/424x289/modtile0.png create mode 100644 sources/orbium/gfx/424x289/modtile1.png create mode 100644 sources/orbium/gfx/424x289/modtile10.png create mode 100644 sources/orbium/gfx/424x289/modtile11.png create mode 100644 sources/orbium/gfx/424x289/modtile12.png create mode 100644 sources/orbium/gfx/424x289/modtile13.png create mode 100644 sources/orbium/gfx/424x289/modtile14.png create mode 100644 sources/orbium/gfx/424x289/modtile2.png create mode 100644 sources/orbium/gfx/424x289/modtile3.png create mode 100644 sources/orbium/gfx/424x289/modtile4.png create mode 100644 sources/orbium/gfx/424x289/modtile5.png create mode 100644 sources/orbium/gfx/424x289/modtile6.png create mode 100644 sources/orbium/gfx/424x289/modtile7.png create mode 100644 sources/orbium/gfx/424x289/modtile8.png create mode 100644 sources/orbium/gfx/424x289/modtile9.png create mode 100644 sources/orbium/gfx/424x289/rotatile0.png create mode 100644 sources/orbium/gfx/424x289/rotatile1.png create mode 100644 sources/orbium/gfx/424x289/rotatile10.png create mode 100644 sources/orbium/gfx/424x289/rotatile11.png create mode 100644 sources/orbium/gfx/424x289/rotatile12.png create mode 100644 sources/orbium/gfx/424x289/rotatile13.png create mode 100644 sources/orbium/gfx/424x289/rotatile14.png create mode 100644 sources/orbium/gfx/424x289/rotatile15.png create mode 100644 sources/orbium/gfx/424x289/rotatile16.png create mode 100644 sources/orbium/gfx/424x289/rotatile17.png create mode 100644 sources/orbium/gfx/424x289/rotatile18.png create mode 100644 sources/orbium/gfx/424x289/rotatile19.png create mode 100644 sources/orbium/gfx/424x289/rotatile2.png create mode 100644 sources/orbium/gfx/424x289/rotatile20.png create mode 100644 sources/orbium/gfx/424x289/rotatile21.png create mode 100644 sources/orbium/gfx/424x289/rotatile22.png create mode 100644 sources/orbium/gfx/424x289/rotatile23.png create mode 100644 sources/orbium/gfx/424x289/rotatile24.png create mode 100644 sources/orbium/gfx/424x289/rotatile25.png create mode 100644 sources/orbium/gfx/424x289/rotatile26.png create mode 100644 sources/orbium/gfx/424x289/rotatile27.png create mode 100644 sources/orbium/gfx/424x289/rotatile28.png create mode 100644 sources/orbium/gfx/424x289/rotatile29.png create mode 100644 sources/orbium/gfx/424x289/rotatile3.png create mode 100644 sources/orbium/gfx/424x289/rotatile4.png create mode 100644 sources/orbium/gfx/424x289/rotatile5.png create mode 100644 sources/orbium/gfx/424x289/rotatile6.png create mode 100644 sources/orbium/gfx/424x289/rotatile7.png create mode 100644 sources/orbium/gfx/424x289/rotatile8.png create mode 100644 sources/orbium/gfx/424x289/rotatile9.png create mode 100644 sources/orbium/gfx/424x289/rotator0.png create mode 100644 sources/orbium/gfx/424x289/rotator1.png create mode 100644 sources/orbium/gfx/424x289/rotator10.png create mode 100644 sources/orbium/gfx/424x289/rotator11.png create mode 100644 sources/orbium/gfx/424x289/rotator12.png create mode 100644 sources/orbium/gfx/424x289/rotator13.png create mode 100644 sources/orbium/gfx/424x289/rotator14.png create mode 100644 sources/orbium/gfx/424x289/rotator15.png create mode 100644 sources/orbium/gfx/424x289/rotator16.png create mode 100644 sources/orbium/gfx/424x289/rotator17.png create mode 100644 sources/orbium/gfx/424x289/rotator18.png create mode 100644 sources/orbium/gfx/424x289/rotator19.png create mode 100644 sources/orbium/gfx/424x289/rotator2.png create mode 100644 sources/orbium/gfx/424x289/rotator20.png create mode 100644 sources/orbium/gfx/424x289/rotator21.png create mode 100644 sources/orbium/gfx/424x289/rotator22.png create mode 100644 sources/orbium/gfx/424x289/rotator23.png create mode 100644 sources/orbium/gfx/424x289/rotator24.png create mode 100644 sources/orbium/gfx/424x289/rotator25.png create mode 100644 sources/orbium/gfx/424x289/rotator26.png create mode 100644 sources/orbium/gfx/424x289/rotator27.png create mode 100644 sources/orbium/gfx/424x289/rotator28.png create mode 100644 sources/orbium/gfx/424x289/rotator29.png create mode 100644 sources/orbium/gfx/424x289/rotator3.png create mode 100644 sources/orbium/gfx/424x289/rotator30.png create mode 100644 sources/orbium/gfx/424x289/rotator31.png create mode 100644 sources/orbium/gfx/424x289/rotator4.png create mode 100644 sources/orbium/gfx/424x289/rotator5.png create mode 100644 sources/orbium/gfx/424x289/rotator6.png create mode 100644 sources/orbium/gfx/424x289/rotator7.png create mode 100644 sources/orbium/gfx/424x289/rotator8.png create mode 100644 sources/orbium/gfx/424x289/rotator9.png create mode 100644 sources/orbium/gfx/424x289/sequencer0.png create mode 100644 sources/orbium/gfx/424x289/teleporter0.png create mode 100644 sources/orbium/gfx/424x289/teleporter1.png create mode 100644 sources/orbium/gfx/424x289/teleporter2.png create mode 100644 sources/orbium/gfx/424x289/timer0.png create mode 100644 sources/orbium/gfx/424x289/timer1.png create mode 100644 sources/orbium/gfx/424x289/transformer0.png create mode 100644 sources/orbium/gfx/424x289/transformer1.png create mode 100644 sources/orbium/gfx/424x289/transformer2.png create mode 100644 sources/orbium/gfx/424x289/transformer3.png create mode 100644 sources/orbium/gfx/424x289/verttile0.png create mode 100644 sources/orbium/gfx/424x289/verttile1.png create mode 100644 sources/orbium/gfx/424x289/verttile2.png create mode 100644 sources/orbium/gfx/424x289/verttile3.png create mode 100644 sources/orbium/gfx/424x289/verttile4.png create mode 100644 sources/orbium/gfx/424x289/verttile5.png create mode 100644 sources/orbium/gfx/464x316/announcer0.png create mode 100644 sources/orbium/gfx/464x316/announcer1.png create mode 100644 sources/orbium/gfx/464x316/announcer2.png create mode 100644 sources/orbium/gfx/464x316/announcer3.png create mode 100644 sources/orbium/gfx/464x316/bar0.png create mode 100644 sources/orbium/gfx/464x316/bar1.png create mode 100644 sources/orbium/gfx/464x316/bar10.png create mode 100644 sources/orbium/gfx/464x316/bar11.png create mode 100644 sources/orbium/gfx/464x316/bar12.png create mode 100644 sources/orbium/gfx/464x316/bar13.png create mode 100644 sources/orbium/gfx/464x316/bar14.png create mode 100644 sources/orbium/gfx/464x316/bar15.png create mode 100644 sources/orbium/gfx/464x316/bar2.png create mode 100644 sources/orbium/gfx/464x316/bar3.png create mode 100644 sources/orbium/gfx/464x316/bar4.png create mode 100644 sources/orbium/gfx/464x316/bar5.png create mode 100644 sources/orbium/gfx/464x316/bar6.png create mode 100644 sources/orbium/gfx/464x316/bar7.png create mode 100644 sources/orbium/gfx/464x316/bar8.png create mode 100644 sources/orbium/gfx/464x316/bar9.png create mode 100644 sources/orbium/gfx/464x316/clock0.png create mode 100644 sources/orbium/gfx/464x316/clock1.png create mode 100644 sources/orbium/gfx/464x316/clock2.png create mode 100644 sources/orbium/gfx/464x316/clock3.png create mode 100644 sources/orbium/gfx/464x316/clock4.png create mode 100644 sources/orbium/gfx/464x316/clock5.png create mode 100644 sources/orbium/gfx/464x316/clock6.png create mode 100644 sources/orbium/gfx/464x316/clock7.png create mode 100644 sources/orbium/gfx/464x316/clock8.png create mode 100644 sources/orbium/gfx/464x316/clock9.png create mode 100644 sources/orbium/gfx/464x316/counter0.png create mode 100644 sources/orbium/gfx/464x316/counter1.png create mode 100644 sources/orbium/gfx/464x316/counter2.png create mode 100644 sources/orbium/gfx/464x316/counter3.png create mode 100644 sources/orbium/gfx/464x316/counter4.png create mode 100644 sources/orbium/gfx/464x316/crosstile0.png create mode 100644 sources/orbium/gfx/464x316/crosstile1.png create mode 100644 sources/orbium/gfx/464x316/crosstile2.png create mode 100644 sources/orbium/gfx/464x316/crosstile3.png create mode 100644 sources/orbium/gfx/464x316/crosstile4.png create mode 100644 sources/orbium/gfx/464x316/director0.png create mode 100644 sources/orbium/gfx/464x316/director1.png create mode 100644 sources/orbium/gfx/464x316/director2.png create mode 100644 sources/orbium/gfx/464x316/director3.png create mode 100644 sources/orbium/gfx/464x316/emptytile0.png create mode 100644 sources/orbium/gfx/464x316/emptytile1.png create mode 100644 sources/orbium/gfx/464x316/emptytile2.png create mode 100644 sources/orbium/gfx/464x316/emptytile3.png create mode 100644 sources/orbium/gfx/464x316/emptytile4.png create mode 100644 sources/orbium/gfx/464x316/emptytile5.png create mode 100644 sources/orbium/gfx/464x316/emptytile6.png create mode 100644 sources/orbium/gfx/464x316/explosion0.png create mode 100644 sources/orbium/gfx/464x316/explosion1.png create mode 100644 sources/orbium/gfx/464x316/explosion2.png create mode 100644 sources/orbium/gfx/464x316/explosion3.png create mode 100644 sources/orbium/gfx/464x316/horiztile0.png create mode 100644 sources/orbium/gfx/464x316/horiztile1.png create mode 100644 sources/orbium/gfx/464x316/horiztile2.png create mode 100644 sources/orbium/gfx/464x316/horiztile3.png create mode 100644 sources/orbium/gfx/464x316/horiztile4.png create mode 100644 sources/orbium/gfx/464x316/horiztile5.png create mode 100644 sources/orbium/gfx/464x316/inspector0.png create mode 100644 sources/orbium/gfx/464x316/inspector1.png create mode 100644 sources/orbium/gfx/464x316/inspector2.png create mode 100644 sources/orbium/gfx/464x316/inspector3.png create mode 100644 sources/orbium/gfx/464x316/marble0.png create mode 100644 sources/orbium/gfx/464x316/marble1.png create mode 100644 sources/orbium/gfx/464x316/marble10.png create mode 100644 sources/orbium/gfx/464x316/marble11.png create mode 100644 sources/orbium/gfx/464x316/marble12.png create mode 100644 sources/orbium/gfx/464x316/marble13.png create mode 100644 sources/orbium/gfx/464x316/marble14.png create mode 100644 sources/orbium/gfx/464x316/marble15.png create mode 100644 sources/orbium/gfx/464x316/marble16.png create mode 100644 sources/orbium/gfx/464x316/marble17.png create mode 100644 sources/orbium/gfx/464x316/marble18.png create mode 100644 sources/orbium/gfx/464x316/marble19.png create mode 100644 sources/orbium/gfx/464x316/marble2.png create mode 100644 sources/orbium/gfx/464x316/marble20.png create mode 100644 sources/orbium/gfx/464x316/marble21.png create mode 100644 sources/orbium/gfx/464x316/marble22.png create mode 100644 sources/orbium/gfx/464x316/marble23.png create mode 100644 sources/orbium/gfx/464x316/marble24.png create mode 100644 sources/orbium/gfx/464x316/marble25.png create mode 100644 sources/orbium/gfx/464x316/marble26.png create mode 100644 sources/orbium/gfx/464x316/marble27.png create mode 100644 sources/orbium/gfx/464x316/marble28.png create mode 100644 sources/orbium/gfx/464x316/marble29.png create mode 100644 sources/orbium/gfx/464x316/marble3.png create mode 100644 sources/orbium/gfx/464x316/marble30.png create mode 100644 sources/orbium/gfx/464x316/marble31.png create mode 100644 sources/orbium/gfx/464x316/marble32.png create mode 100644 sources/orbium/gfx/464x316/marble33.png create mode 100644 sources/orbium/gfx/464x316/marble34.png create mode 100644 sources/orbium/gfx/464x316/marble35.png create mode 100644 sources/orbium/gfx/464x316/marble36.png create mode 100644 sources/orbium/gfx/464x316/marble37.png create mode 100644 sources/orbium/gfx/464x316/marble38.png create mode 100644 sources/orbium/gfx/464x316/marble39.png create mode 100644 sources/orbium/gfx/464x316/marble4.png create mode 100644 sources/orbium/gfx/464x316/marble40.png create mode 100644 sources/orbium/gfx/464x316/marble41.png create mode 100644 sources/orbium/gfx/464x316/marble42.png create mode 100644 sources/orbium/gfx/464x316/marble43.png create mode 100644 sources/orbium/gfx/464x316/marble44.png create mode 100644 sources/orbium/gfx/464x316/marble45.png create mode 100644 sources/orbium/gfx/464x316/marble46.png create mode 100644 sources/orbium/gfx/464x316/marble47.png create mode 100644 sources/orbium/gfx/464x316/marble5.png create mode 100644 sources/orbium/gfx/464x316/marble6.png create mode 100644 sources/orbium/gfx/464x316/marble7.png create mode 100644 sources/orbium/gfx/464x316/marble8.png create mode 100644 sources/orbium/gfx/464x316/marble9.png create mode 100644 sources/orbium/gfx/464x316/matcher0.png create mode 100644 sources/orbium/gfx/464x316/modtile0.png create mode 100644 sources/orbium/gfx/464x316/modtile1.png create mode 100644 sources/orbium/gfx/464x316/modtile10.png create mode 100644 sources/orbium/gfx/464x316/modtile11.png create mode 100644 sources/orbium/gfx/464x316/modtile12.png create mode 100644 sources/orbium/gfx/464x316/modtile13.png create mode 100644 sources/orbium/gfx/464x316/modtile14.png create mode 100644 sources/orbium/gfx/464x316/modtile2.png create mode 100644 sources/orbium/gfx/464x316/modtile3.png create mode 100644 sources/orbium/gfx/464x316/modtile4.png create mode 100644 sources/orbium/gfx/464x316/modtile5.png create mode 100644 sources/orbium/gfx/464x316/modtile6.png create mode 100644 sources/orbium/gfx/464x316/modtile7.png create mode 100644 sources/orbium/gfx/464x316/modtile8.png create mode 100644 sources/orbium/gfx/464x316/modtile9.png create mode 100644 sources/orbium/gfx/464x316/rotatile0.png create mode 100644 sources/orbium/gfx/464x316/rotatile1.png create mode 100644 sources/orbium/gfx/464x316/rotatile10.png create mode 100644 sources/orbium/gfx/464x316/rotatile11.png create mode 100644 sources/orbium/gfx/464x316/rotatile12.png create mode 100644 sources/orbium/gfx/464x316/rotatile13.png create mode 100644 sources/orbium/gfx/464x316/rotatile14.png create mode 100644 sources/orbium/gfx/464x316/rotatile15.png create mode 100644 sources/orbium/gfx/464x316/rotatile16.png create mode 100644 sources/orbium/gfx/464x316/rotatile17.png create mode 100644 sources/orbium/gfx/464x316/rotatile18.png create mode 100644 sources/orbium/gfx/464x316/rotatile19.png create mode 100644 sources/orbium/gfx/464x316/rotatile2.png create mode 100644 sources/orbium/gfx/464x316/rotatile20.png create mode 100644 sources/orbium/gfx/464x316/rotatile21.png create mode 100644 sources/orbium/gfx/464x316/rotatile22.png create mode 100644 sources/orbium/gfx/464x316/rotatile23.png create mode 100644 sources/orbium/gfx/464x316/rotatile24.png create mode 100644 sources/orbium/gfx/464x316/rotatile25.png create mode 100644 sources/orbium/gfx/464x316/rotatile26.png create mode 100644 sources/orbium/gfx/464x316/rotatile27.png create mode 100644 sources/orbium/gfx/464x316/rotatile28.png create mode 100644 sources/orbium/gfx/464x316/rotatile29.png create mode 100644 sources/orbium/gfx/464x316/rotatile3.png create mode 100644 sources/orbium/gfx/464x316/rotatile4.png create mode 100644 sources/orbium/gfx/464x316/rotatile5.png create mode 100644 sources/orbium/gfx/464x316/rotatile6.png create mode 100644 sources/orbium/gfx/464x316/rotatile7.png create mode 100644 sources/orbium/gfx/464x316/rotatile8.png create mode 100644 sources/orbium/gfx/464x316/rotatile9.png create mode 100644 sources/orbium/gfx/464x316/rotator0.png create mode 100644 sources/orbium/gfx/464x316/rotator1.png create mode 100644 sources/orbium/gfx/464x316/rotator10.png create mode 100644 sources/orbium/gfx/464x316/rotator11.png create mode 100644 sources/orbium/gfx/464x316/rotator12.png create mode 100644 sources/orbium/gfx/464x316/rotator13.png create mode 100644 sources/orbium/gfx/464x316/rotator14.png create mode 100644 sources/orbium/gfx/464x316/rotator15.png create mode 100644 sources/orbium/gfx/464x316/rotator16.png create mode 100644 sources/orbium/gfx/464x316/rotator17.png create mode 100644 sources/orbium/gfx/464x316/rotator18.png create mode 100644 sources/orbium/gfx/464x316/rotator19.png create mode 100644 sources/orbium/gfx/464x316/rotator2.png create mode 100644 sources/orbium/gfx/464x316/rotator20.png create mode 100644 sources/orbium/gfx/464x316/rotator21.png create mode 100644 sources/orbium/gfx/464x316/rotator22.png create mode 100644 sources/orbium/gfx/464x316/rotator23.png create mode 100644 sources/orbium/gfx/464x316/rotator24.png create mode 100644 sources/orbium/gfx/464x316/rotator25.png create mode 100644 sources/orbium/gfx/464x316/rotator26.png create mode 100644 sources/orbium/gfx/464x316/rotator27.png create mode 100644 sources/orbium/gfx/464x316/rotator28.png create mode 100644 sources/orbium/gfx/464x316/rotator29.png create mode 100644 sources/orbium/gfx/464x316/rotator3.png create mode 100644 sources/orbium/gfx/464x316/rotator30.png create mode 100644 sources/orbium/gfx/464x316/rotator31.png create mode 100644 sources/orbium/gfx/464x316/rotator4.png create mode 100644 sources/orbium/gfx/464x316/rotator5.png create mode 100644 sources/orbium/gfx/464x316/rotator6.png create mode 100644 sources/orbium/gfx/464x316/rotator7.png create mode 100644 sources/orbium/gfx/464x316/rotator8.png create mode 100644 sources/orbium/gfx/464x316/rotator9.png create mode 100644 sources/orbium/gfx/464x316/sequencer0.png create mode 100644 sources/orbium/gfx/464x316/teleporter0.png create mode 100644 sources/orbium/gfx/464x316/teleporter1.png create mode 100644 sources/orbium/gfx/464x316/teleporter2.png create mode 100644 sources/orbium/gfx/464x316/timer0.png create mode 100644 sources/orbium/gfx/464x316/timer1.png create mode 100644 sources/orbium/gfx/464x316/transformer0.png create mode 100644 sources/orbium/gfx/464x316/transformer1.png create mode 100644 sources/orbium/gfx/464x316/transformer2.png create mode 100644 sources/orbium/gfx/464x316/transformer3.png create mode 100644 sources/orbium/gfx/464x316/verttile0.png create mode 100644 sources/orbium/gfx/464x316/verttile1.png create mode 100644 sources/orbium/gfx/464x316/verttile2.png create mode 100644 sources/orbium/gfx/464x316/verttile3.png create mode 100644 sources/orbium/gfx/464x316/verttile4.png create mode 100644 sources/orbium/gfx/464x316/verttile5.png create mode 100644 sources/orbium/gfx/704x479/announcer0.png create mode 100644 sources/orbium/gfx/704x479/announcer1.png create mode 100644 sources/orbium/gfx/704x479/announcer2.png create mode 100644 sources/orbium/gfx/704x479/announcer3.png create mode 100644 sources/orbium/gfx/704x479/bar0.png create mode 100644 sources/orbium/gfx/704x479/bar1.png create mode 100644 sources/orbium/gfx/704x479/bar10.png create mode 100644 sources/orbium/gfx/704x479/bar11.png create mode 100644 sources/orbium/gfx/704x479/bar12.png create mode 100644 sources/orbium/gfx/704x479/bar13.png create mode 100644 sources/orbium/gfx/704x479/bar14.png create mode 100644 sources/orbium/gfx/704x479/bar15.png create mode 100644 sources/orbium/gfx/704x479/bar2.png create mode 100644 sources/orbium/gfx/704x479/bar3.png create mode 100644 sources/orbium/gfx/704x479/bar4.png create mode 100644 sources/orbium/gfx/704x479/bar5.png create mode 100644 sources/orbium/gfx/704x479/bar6.png create mode 100644 sources/orbium/gfx/704x479/bar7.png create mode 100644 sources/orbium/gfx/704x479/bar8.png create mode 100644 sources/orbium/gfx/704x479/bar9.png create mode 100644 sources/orbium/gfx/704x479/clock0.png create mode 100644 sources/orbium/gfx/704x479/clock1.png create mode 100644 sources/orbium/gfx/704x479/clock2.png create mode 100644 sources/orbium/gfx/704x479/clock3.png create mode 100644 sources/orbium/gfx/704x479/clock4.png create mode 100644 sources/orbium/gfx/704x479/clock5.png create mode 100644 sources/orbium/gfx/704x479/clock6.png create mode 100644 sources/orbium/gfx/704x479/clock7.png create mode 100644 sources/orbium/gfx/704x479/clock8.png create mode 100644 sources/orbium/gfx/704x479/clock9.png create mode 100644 sources/orbium/gfx/704x479/counter0.png create mode 100644 sources/orbium/gfx/704x479/counter1.png create mode 100644 sources/orbium/gfx/704x479/counter2.png create mode 100644 sources/orbium/gfx/704x479/counter3.png create mode 100644 sources/orbium/gfx/704x479/counter4.png create mode 100644 sources/orbium/gfx/704x479/crosstile0.png create mode 100644 sources/orbium/gfx/704x479/crosstile1.png create mode 100644 sources/orbium/gfx/704x479/crosstile2.png create mode 100644 sources/orbium/gfx/704x479/crosstile3.png create mode 100644 sources/orbium/gfx/704x479/crosstile4.png create mode 100644 sources/orbium/gfx/704x479/director0.png create mode 100644 sources/orbium/gfx/704x479/director1.png create mode 100644 sources/orbium/gfx/704x479/director2.png create mode 100644 sources/orbium/gfx/704x479/director3.png create mode 100644 sources/orbium/gfx/704x479/emptytile0.png create mode 100644 sources/orbium/gfx/704x479/emptytile1.png create mode 100644 sources/orbium/gfx/704x479/emptytile2.png create mode 100644 sources/orbium/gfx/704x479/emptytile3.png create mode 100644 sources/orbium/gfx/704x479/emptytile4.png create mode 100644 sources/orbium/gfx/704x479/emptytile5.png create mode 100644 sources/orbium/gfx/704x479/emptytile6.png create mode 100644 sources/orbium/gfx/704x479/explosion0.png create mode 100644 sources/orbium/gfx/704x479/explosion1.png create mode 100644 sources/orbium/gfx/704x479/explosion2.png create mode 100644 sources/orbium/gfx/704x479/explosion3.png create mode 100644 sources/orbium/gfx/704x479/horiztile0.png create mode 100644 sources/orbium/gfx/704x479/horiztile1.png create mode 100644 sources/orbium/gfx/704x479/horiztile2.png create mode 100644 sources/orbium/gfx/704x479/horiztile3.png create mode 100644 sources/orbium/gfx/704x479/horiztile4.png create mode 100644 sources/orbium/gfx/704x479/horiztile5.png create mode 100644 sources/orbium/gfx/704x479/inspector0.png create mode 100644 sources/orbium/gfx/704x479/inspector1.png create mode 100644 sources/orbium/gfx/704x479/inspector2.png create mode 100644 sources/orbium/gfx/704x479/inspector3.png create mode 100644 sources/orbium/gfx/704x479/marble0.png create mode 100644 sources/orbium/gfx/704x479/marble1.png create mode 100644 sources/orbium/gfx/704x479/marble10.png create mode 100644 sources/orbium/gfx/704x479/marble11.png create mode 100644 sources/orbium/gfx/704x479/marble12.png create mode 100644 sources/orbium/gfx/704x479/marble13.png create mode 100644 sources/orbium/gfx/704x479/marble14.png create mode 100644 sources/orbium/gfx/704x479/marble15.png create mode 100644 sources/orbium/gfx/704x479/marble16.png create mode 100644 sources/orbium/gfx/704x479/marble17.png create mode 100644 sources/orbium/gfx/704x479/marble18.png create mode 100644 sources/orbium/gfx/704x479/marble19.png create mode 100644 sources/orbium/gfx/704x479/marble2.png create mode 100644 sources/orbium/gfx/704x479/marble20.png create mode 100644 sources/orbium/gfx/704x479/marble21.png create mode 100644 sources/orbium/gfx/704x479/marble22.png create mode 100644 sources/orbium/gfx/704x479/marble23.png create mode 100644 sources/orbium/gfx/704x479/marble24.png create mode 100644 sources/orbium/gfx/704x479/marble25.png create mode 100644 sources/orbium/gfx/704x479/marble26.png create mode 100644 sources/orbium/gfx/704x479/marble27.png create mode 100644 sources/orbium/gfx/704x479/marble28.png create mode 100644 sources/orbium/gfx/704x479/marble29.png create mode 100644 sources/orbium/gfx/704x479/marble3.png create mode 100644 sources/orbium/gfx/704x479/marble30.png create mode 100644 sources/orbium/gfx/704x479/marble31.png create mode 100644 sources/orbium/gfx/704x479/marble32.png create mode 100644 sources/orbium/gfx/704x479/marble33.png create mode 100644 sources/orbium/gfx/704x479/marble34.png create mode 100644 sources/orbium/gfx/704x479/marble35.png create mode 100644 sources/orbium/gfx/704x479/marble36.png create mode 100644 sources/orbium/gfx/704x479/marble37.png create mode 100644 sources/orbium/gfx/704x479/marble38.png create mode 100644 sources/orbium/gfx/704x479/marble39.png create mode 100644 sources/orbium/gfx/704x479/marble4.png create mode 100644 sources/orbium/gfx/704x479/marble40.png create mode 100644 sources/orbium/gfx/704x479/marble41.png create mode 100644 sources/orbium/gfx/704x479/marble42.png create mode 100644 sources/orbium/gfx/704x479/marble43.png create mode 100644 sources/orbium/gfx/704x479/marble44.png create mode 100644 sources/orbium/gfx/704x479/marble45.png create mode 100644 sources/orbium/gfx/704x479/marble46.png create mode 100644 sources/orbium/gfx/704x479/marble47.png create mode 100644 sources/orbium/gfx/704x479/marble5.png create mode 100644 sources/orbium/gfx/704x479/marble6.png create mode 100644 sources/orbium/gfx/704x479/marble7.png create mode 100644 sources/orbium/gfx/704x479/marble8.png create mode 100644 sources/orbium/gfx/704x479/marble9.png create mode 100644 sources/orbium/gfx/704x479/matcher0.png create mode 100644 sources/orbium/gfx/704x479/modtile0.png create mode 100644 sources/orbium/gfx/704x479/modtile1.png create mode 100644 sources/orbium/gfx/704x479/modtile10.png create mode 100644 sources/orbium/gfx/704x479/modtile11.png create mode 100644 sources/orbium/gfx/704x479/modtile12.png create mode 100644 sources/orbium/gfx/704x479/modtile13.png create mode 100644 sources/orbium/gfx/704x479/modtile14.png create mode 100644 sources/orbium/gfx/704x479/modtile2.png create mode 100644 sources/orbium/gfx/704x479/modtile3.png create mode 100644 sources/orbium/gfx/704x479/modtile4.png create mode 100644 sources/orbium/gfx/704x479/modtile5.png create mode 100644 sources/orbium/gfx/704x479/modtile6.png create mode 100644 sources/orbium/gfx/704x479/modtile7.png create mode 100644 sources/orbium/gfx/704x479/modtile8.png create mode 100644 sources/orbium/gfx/704x479/modtile9.png create mode 100644 sources/orbium/gfx/704x479/rotatile0.png create mode 100644 sources/orbium/gfx/704x479/rotatile1.png create mode 100644 sources/orbium/gfx/704x479/rotatile10.png create mode 100644 sources/orbium/gfx/704x479/rotatile11.png create mode 100644 sources/orbium/gfx/704x479/rotatile12.png create mode 100644 sources/orbium/gfx/704x479/rotatile13.png create mode 100644 sources/orbium/gfx/704x479/rotatile14.png create mode 100644 sources/orbium/gfx/704x479/rotatile15.png create mode 100644 sources/orbium/gfx/704x479/rotatile16.png create mode 100644 sources/orbium/gfx/704x479/rotatile17.png create mode 100644 sources/orbium/gfx/704x479/rotatile18.png create mode 100644 sources/orbium/gfx/704x479/rotatile19.png create mode 100644 sources/orbium/gfx/704x479/rotatile2.png create mode 100644 sources/orbium/gfx/704x479/rotatile20.png create mode 100644 sources/orbium/gfx/704x479/rotatile21.png create mode 100644 sources/orbium/gfx/704x479/rotatile22.png create mode 100644 sources/orbium/gfx/704x479/rotatile23.png create mode 100644 sources/orbium/gfx/704x479/rotatile24.png create mode 100644 sources/orbium/gfx/704x479/rotatile25.png create mode 100644 sources/orbium/gfx/704x479/rotatile26.png create mode 100644 sources/orbium/gfx/704x479/rotatile27.png create mode 100644 sources/orbium/gfx/704x479/rotatile28.png create mode 100644 sources/orbium/gfx/704x479/rotatile29.png create mode 100644 sources/orbium/gfx/704x479/rotatile3.png create mode 100644 sources/orbium/gfx/704x479/rotatile4.png create mode 100644 sources/orbium/gfx/704x479/rotatile5.png create mode 100644 sources/orbium/gfx/704x479/rotatile6.png create mode 100644 sources/orbium/gfx/704x479/rotatile7.png create mode 100644 sources/orbium/gfx/704x479/rotatile8.png create mode 100644 sources/orbium/gfx/704x479/rotatile9.png create mode 100644 sources/orbium/gfx/704x479/rotator0.png create mode 100644 sources/orbium/gfx/704x479/rotator1.png create mode 100644 sources/orbium/gfx/704x479/rotator10.png create mode 100644 sources/orbium/gfx/704x479/rotator11.png create mode 100644 sources/orbium/gfx/704x479/rotator12.png create mode 100644 sources/orbium/gfx/704x479/rotator13.png create mode 100644 sources/orbium/gfx/704x479/rotator14.png create mode 100644 sources/orbium/gfx/704x479/rotator15.png create mode 100644 sources/orbium/gfx/704x479/rotator16.png create mode 100644 sources/orbium/gfx/704x479/rotator17.png create mode 100644 sources/orbium/gfx/704x479/rotator18.png create mode 100644 sources/orbium/gfx/704x479/rotator19.png create mode 100644 sources/orbium/gfx/704x479/rotator2.png create mode 100644 sources/orbium/gfx/704x479/rotator20.png create mode 100644 sources/orbium/gfx/704x479/rotator21.png create mode 100644 sources/orbium/gfx/704x479/rotator22.png create mode 100644 sources/orbium/gfx/704x479/rotator23.png create mode 100644 sources/orbium/gfx/704x479/rotator24.png create mode 100644 sources/orbium/gfx/704x479/rotator25.png create mode 100644 sources/orbium/gfx/704x479/rotator26.png create mode 100644 sources/orbium/gfx/704x479/rotator27.png create mode 100644 sources/orbium/gfx/704x479/rotator28.png create mode 100644 sources/orbium/gfx/704x479/rotator29.png create mode 100644 sources/orbium/gfx/704x479/rotator3.png create mode 100644 sources/orbium/gfx/704x479/rotator30.png create mode 100644 sources/orbium/gfx/704x479/rotator31.png create mode 100644 sources/orbium/gfx/704x479/rotator4.png create mode 100644 sources/orbium/gfx/704x479/rotator5.png create mode 100644 sources/orbium/gfx/704x479/rotator6.png create mode 100644 sources/orbium/gfx/704x479/rotator7.png create mode 100644 sources/orbium/gfx/704x479/rotator8.png create mode 100644 sources/orbium/gfx/704x479/rotator9.png create mode 100644 sources/orbium/gfx/704x479/sequencer0.png create mode 100644 sources/orbium/gfx/704x479/teleporter0.png create mode 100644 sources/orbium/gfx/704x479/teleporter1.png create mode 100644 sources/orbium/gfx/704x479/teleporter2.png create mode 100644 sources/orbium/gfx/704x479/timer0.png create mode 100644 sources/orbium/gfx/704x479/timer1.png create mode 100644 sources/orbium/gfx/704x479/transformer0.png create mode 100644 sources/orbium/gfx/704x479/transformer1.png create mode 100644 sources/orbium/gfx/704x479/transformer2.png create mode 100644 sources/orbium/gfx/704x479/transformer3.png create mode 100644 sources/orbium/gfx/704x479/verttile0.png create mode 100644 sources/orbium/gfx/704x479/verttile1.png create mode 100644 sources/orbium/gfx/704x479/verttile2.png create mode 100644 sources/orbium/gfx/704x479/verttile3.png create mode 100644 sources/orbium/gfx/704x479/verttile4.png create mode 100644 sources/orbium/gfx/704x479/verttile5.png create mode 100644 sources/orbium/gfx/936x637/announcer0.png create mode 100644 sources/orbium/gfx/936x637/announcer1.png create mode 100644 sources/orbium/gfx/936x637/announcer2.png create mode 100644 sources/orbium/gfx/936x637/announcer3.png create mode 100644 sources/orbium/gfx/936x637/bar0.png create mode 100644 sources/orbium/gfx/936x637/bar1.png create mode 100644 sources/orbium/gfx/936x637/bar10.png create mode 100644 sources/orbium/gfx/936x637/bar11.png create mode 100644 sources/orbium/gfx/936x637/bar12.png create mode 100644 sources/orbium/gfx/936x637/bar13.png create mode 100644 sources/orbium/gfx/936x637/bar14.png create mode 100644 sources/orbium/gfx/936x637/bar15.png create mode 100644 sources/orbium/gfx/936x637/bar2.png create mode 100644 sources/orbium/gfx/936x637/bar3.png create mode 100644 sources/orbium/gfx/936x637/bar4.png create mode 100644 sources/orbium/gfx/936x637/bar5.png create mode 100644 sources/orbium/gfx/936x637/bar6.png create mode 100644 sources/orbium/gfx/936x637/bar7.png create mode 100644 sources/orbium/gfx/936x637/bar8.png create mode 100644 sources/orbium/gfx/936x637/bar9.png create mode 100644 sources/orbium/gfx/936x637/clock0.png create mode 100644 sources/orbium/gfx/936x637/clock1.png create mode 100644 sources/orbium/gfx/936x637/clock2.png create mode 100644 sources/orbium/gfx/936x637/clock3.png create mode 100644 sources/orbium/gfx/936x637/clock4.png create mode 100644 sources/orbium/gfx/936x637/clock5.png create mode 100644 sources/orbium/gfx/936x637/clock6.png create mode 100644 sources/orbium/gfx/936x637/clock7.png create mode 100644 sources/orbium/gfx/936x637/clock8.png create mode 100644 sources/orbium/gfx/936x637/clock9.png create mode 100644 sources/orbium/gfx/936x637/counter0.png create mode 100644 sources/orbium/gfx/936x637/counter1.png create mode 100644 sources/orbium/gfx/936x637/counter2.png create mode 100644 sources/orbium/gfx/936x637/counter3.png create mode 100644 sources/orbium/gfx/936x637/counter4.png create mode 100644 sources/orbium/gfx/936x637/crosstile0.png create mode 100644 sources/orbium/gfx/936x637/crosstile1.png create mode 100644 sources/orbium/gfx/936x637/crosstile2.png create mode 100644 sources/orbium/gfx/936x637/crosstile3.png create mode 100644 sources/orbium/gfx/936x637/crosstile4.png create mode 100644 sources/orbium/gfx/936x637/director0.png create mode 100644 sources/orbium/gfx/936x637/director1.png create mode 100644 sources/orbium/gfx/936x637/director2.png create mode 100644 sources/orbium/gfx/936x637/director3.png create mode 100644 sources/orbium/gfx/936x637/emptytile0.png create mode 100644 sources/orbium/gfx/936x637/emptytile1.png create mode 100644 sources/orbium/gfx/936x637/emptytile2.png create mode 100644 sources/orbium/gfx/936x637/emptytile3.png create mode 100644 sources/orbium/gfx/936x637/emptytile4.png create mode 100644 sources/orbium/gfx/936x637/emptytile5.png create mode 100644 sources/orbium/gfx/936x637/emptytile6.png create mode 100644 sources/orbium/gfx/936x637/explosion0.png create mode 100644 sources/orbium/gfx/936x637/explosion1.png create mode 100644 sources/orbium/gfx/936x637/explosion2.png create mode 100644 sources/orbium/gfx/936x637/explosion3.png create mode 100644 sources/orbium/gfx/936x637/horiztile0.png create mode 100644 sources/orbium/gfx/936x637/horiztile1.png create mode 100644 sources/orbium/gfx/936x637/horiztile2.png create mode 100644 sources/orbium/gfx/936x637/horiztile3.png create mode 100644 sources/orbium/gfx/936x637/horiztile4.png create mode 100644 sources/orbium/gfx/936x637/horiztile5.png create mode 100644 sources/orbium/gfx/936x637/inspector0.png create mode 100644 sources/orbium/gfx/936x637/inspector1.png create mode 100644 sources/orbium/gfx/936x637/inspector2.png create mode 100644 sources/orbium/gfx/936x637/inspector3.png create mode 100644 sources/orbium/gfx/936x637/marble0.png create mode 100644 sources/orbium/gfx/936x637/marble1.png create mode 100644 sources/orbium/gfx/936x637/marble10.png create mode 100644 sources/orbium/gfx/936x637/marble11.png create mode 100644 sources/orbium/gfx/936x637/marble12.png create mode 100644 sources/orbium/gfx/936x637/marble13.png create mode 100644 sources/orbium/gfx/936x637/marble14.png create mode 100644 sources/orbium/gfx/936x637/marble15.png create mode 100644 sources/orbium/gfx/936x637/marble16.png create mode 100644 sources/orbium/gfx/936x637/marble17.png create mode 100644 sources/orbium/gfx/936x637/marble18.png create mode 100644 sources/orbium/gfx/936x637/marble19.png create mode 100644 sources/orbium/gfx/936x637/marble2.png create mode 100644 sources/orbium/gfx/936x637/marble20.png create mode 100644 sources/orbium/gfx/936x637/marble21.png create mode 100644 sources/orbium/gfx/936x637/marble22.png create mode 100644 sources/orbium/gfx/936x637/marble23.png create mode 100644 sources/orbium/gfx/936x637/marble24.png create mode 100644 sources/orbium/gfx/936x637/marble25.png create mode 100644 sources/orbium/gfx/936x637/marble26.png create mode 100644 sources/orbium/gfx/936x637/marble27.png create mode 100644 sources/orbium/gfx/936x637/marble28.png create mode 100644 sources/orbium/gfx/936x637/marble29.png create mode 100644 sources/orbium/gfx/936x637/marble3.png create mode 100644 sources/orbium/gfx/936x637/marble30.png create mode 100644 sources/orbium/gfx/936x637/marble31.png create mode 100644 sources/orbium/gfx/936x637/marble32.png create mode 100644 sources/orbium/gfx/936x637/marble33.png create mode 100644 sources/orbium/gfx/936x637/marble34.png create mode 100644 sources/orbium/gfx/936x637/marble35.png create mode 100644 sources/orbium/gfx/936x637/marble36.png create mode 100644 sources/orbium/gfx/936x637/marble37.png create mode 100644 sources/orbium/gfx/936x637/marble38.png create mode 100644 sources/orbium/gfx/936x637/marble39.png create mode 100644 sources/orbium/gfx/936x637/marble4.png create mode 100644 sources/orbium/gfx/936x637/marble40.png create mode 100644 sources/orbium/gfx/936x637/marble41.png create mode 100644 sources/orbium/gfx/936x637/marble42.png create mode 100644 sources/orbium/gfx/936x637/marble43.png create mode 100644 sources/orbium/gfx/936x637/marble44.png create mode 100644 sources/orbium/gfx/936x637/marble45.png create mode 100644 sources/orbium/gfx/936x637/marble46.png create mode 100644 sources/orbium/gfx/936x637/marble47.png create mode 100644 sources/orbium/gfx/936x637/marble5.png create mode 100644 sources/orbium/gfx/936x637/marble6.png create mode 100644 sources/orbium/gfx/936x637/marble7.png create mode 100644 sources/orbium/gfx/936x637/marble8.png create mode 100644 sources/orbium/gfx/936x637/marble9.png create mode 100644 sources/orbium/gfx/936x637/matcher0.png create mode 100644 sources/orbium/gfx/936x637/modtile0.png create mode 100644 sources/orbium/gfx/936x637/modtile1.png create mode 100644 sources/orbium/gfx/936x637/modtile10.png create mode 100644 sources/orbium/gfx/936x637/modtile11.png create mode 100644 sources/orbium/gfx/936x637/modtile12.png create mode 100644 sources/orbium/gfx/936x637/modtile13.png create mode 100644 sources/orbium/gfx/936x637/modtile14.png create mode 100644 sources/orbium/gfx/936x637/modtile2.png create mode 100644 sources/orbium/gfx/936x637/modtile3.png create mode 100644 sources/orbium/gfx/936x637/modtile4.png create mode 100644 sources/orbium/gfx/936x637/modtile5.png create mode 100644 sources/orbium/gfx/936x637/modtile6.png create mode 100644 sources/orbium/gfx/936x637/modtile7.png create mode 100644 sources/orbium/gfx/936x637/modtile8.png create mode 100644 sources/orbium/gfx/936x637/modtile9.png create mode 100644 sources/orbium/gfx/936x637/rotatile0.png create mode 100644 sources/orbium/gfx/936x637/rotatile1.png create mode 100644 sources/orbium/gfx/936x637/rotatile10.png create mode 100644 sources/orbium/gfx/936x637/rotatile11.png create mode 100644 sources/orbium/gfx/936x637/rotatile12.png create mode 100644 sources/orbium/gfx/936x637/rotatile13.png create mode 100644 sources/orbium/gfx/936x637/rotatile14.png create mode 100644 sources/orbium/gfx/936x637/rotatile15.png create mode 100644 sources/orbium/gfx/936x637/rotatile16.png create mode 100644 sources/orbium/gfx/936x637/rotatile17.png create mode 100644 sources/orbium/gfx/936x637/rotatile18.png create mode 100644 sources/orbium/gfx/936x637/rotatile19.png create mode 100644 sources/orbium/gfx/936x637/rotatile2.png create mode 100644 sources/orbium/gfx/936x637/rotatile20.png create mode 100644 sources/orbium/gfx/936x637/rotatile21.png create mode 100644 sources/orbium/gfx/936x637/rotatile22.png create mode 100644 sources/orbium/gfx/936x637/rotatile23.png create mode 100644 sources/orbium/gfx/936x637/rotatile24.png create mode 100644 sources/orbium/gfx/936x637/rotatile25.png create mode 100644 sources/orbium/gfx/936x637/rotatile26.png create mode 100644 sources/orbium/gfx/936x637/rotatile27.png create mode 100644 sources/orbium/gfx/936x637/rotatile28.png create mode 100644 sources/orbium/gfx/936x637/rotatile29.png create mode 100644 sources/orbium/gfx/936x637/rotatile3.png create mode 100644 sources/orbium/gfx/936x637/rotatile4.png create mode 100644 sources/orbium/gfx/936x637/rotatile5.png create mode 100644 sources/orbium/gfx/936x637/rotatile6.png create mode 100644 sources/orbium/gfx/936x637/rotatile7.png create mode 100644 sources/orbium/gfx/936x637/rotatile8.png create mode 100644 sources/orbium/gfx/936x637/rotatile9.png create mode 100644 sources/orbium/gfx/936x637/rotator0.png create mode 100644 sources/orbium/gfx/936x637/rotator1.png create mode 100644 sources/orbium/gfx/936x637/rotator10.png create mode 100644 sources/orbium/gfx/936x637/rotator11.png create mode 100644 sources/orbium/gfx/936x637/rotator12.png create mode 100644 sources/orbium/gfx/936x637/rotator13.png create mode 100644 sources/orbium/gfx/936x637/rotator14.png create mode 100644 sources/orbium/gfx/936x637/rotator15.png create mode 100644 sources/orbium/gfx/936x637/rotator16.png create mode 100644 sources/orbium/gfx/936x637/rotator17.png create mode 100644 sources/orbium/gfx/936x637/rotator18.png create mode 100644 sources/orbium/gfx/936x637/rotator19.png create mode 100644 sources/orbium/gfx/936x637/rotator2.png create mode 100644 sources/orbium/gfx/936x637/rotator20.png create mode 100644 sources/orbium/gfx/936x637/rotator21.png create mode 100644 sources/orbium/gfx/936x637/rotator22.png create mode 100644 sources/orbium/gfx/936x637/rotator23.png create mode 100644 sources/orbium/gfx/936x637/rotator24.png create mode 100644 sources/orbium/gfx/936x637/rotator25.png create mode 100644 sources/orbium/gfx/936x637/rotator26.png create mode 100644 sources/orbium/gfx/936x637/rotator27.png create mode 100644 sources/orbium/gfx/936x637/rotator28.png create mode 100644 sources/orbium/gfx/936x637/rotator29.png create mode 100644 sources/orbium/gfx/936x637/rotator3.png create mode 100644 sources/orbium/gfx/936x637/rotator30.png create mode 100644 sources/orbium/gfx/936x637/rotator31.png create mode 100644 sources/orbium/gfx/936x637/rotator4.png create mode 100644 sources/orbium/gfx/936x637/rotator5.png create mode 100644 sources/orbium/gfx/936x637/rotator6.png create mode 100644 sources/orbium/gfx/936x637/rotator7.png create mode 100644 sources/orbium/gfx/936x637/rotator8.png create mode 100644 sources/orbium/gfx/936x637/rotator9.png create mode 100644 sources/orbium/gfx/936x637/sequencer0.png create mode 100644 sources/orbium/gfx/936x637/teleporter0.png create mode 100644 sources/orbium/gfx/936x637/teleporter1.png create mode 100644 sources/orbium/gfx/936x637/teleporter2.png create mode 100644 sources/orbium/gfx/936x637/timer0.png create mode 100644 sources/orbium/gfx/936x637/timer1.png create mode 100644 sources/orbium/gfx/936x637/transformer0.png create mode 100644 sources/orbium/gfx/936x637/transformer1.png create mode 100644 sources/orbium/gfx/936x637/transformer2.png create mode 100644 sources/orbium/gfx/936x637/transformer3.png create mode 100644 sources/orbium/gfx/936x637/verttile0.png create mode 100644 sources/orbium/gfx/936x637/verttile1.png create mode 100644 sources/orbium/gfx/936x637/verttile2.png create mode 100644 sources/orbium/gfx/936x637/verttile3.png create mode 100644 sources/orbium/gfx/936x637/verttile4.png create mode 100644 sources/orbium/gfx/936x637/verttile5.png create mode 100644 sources/orbium/ico/app_114x114.png create mode 100644 sources/orbium/ico/app_128x128.png create mode 100644 sources/orbium/ico/app_16x16.png create mode 100644 sources/orbium/ico/app_32x32.png create mode 100644 sources/orbium/ico/app_48x48.png create mode 100644 sources/orbium/ico/app_57x57.png create mode 100644 sources/orbium/ico/app_72x72.png create mode 100644 sources/orbium/ico/favicon.ico create mode 100644 sources/orbium/index.html create mode 100644 sources/orbium/js/1024x697.js create mode 100644 sources/orbium/js/344x234.js create mode 100644 sources/orbium/js/424x289.js create mode 100644 sources/orbium/js/464x316.js create mode 100644 sources/orbium/js/704x479.js create mode 100644 sources/orbium/js/936x637.js create mode 100644 sources/orbium/js/announcer.js create mode 100644 sources/orbium/js/bar.js create mode 100644 sources/orbium/js/client.js create mode 100644 sources/orbium/js/clock.js create mode 100644 sources/orbium/js/counter.js create mode 100644 sources/orbium/js/crosstile.js create mode 100644 sources/orbium/js/director.js create mode 100644 sources/orbium/js/dockee.js create mode 100644 sources/orbium/js/editor.js create mode 100644 sources/orbium/js/emptytile.js create mode 100644 sources/orbium/js/falltile.js create mode 100644 sources/orbium/js/horiztile.js create mode 100644 sources/orbium/js/indicator.js create mode 100644 sources/orbium/js/init.js create mode 100644 sources/orbium/js/inspector.js create mode 100644 sources/orbium/js/lane.js create mode 100644 sources/orbium/js/level_full.js create mode 100644 sources/orbium/js/loader.js create mode 100644 sources/orbium/js/machine.js create mode 100644 sources/orbium/js/marble.js create mode 100644 sources/orbium/js/matcher.js create mode 100644 sources/orbium/js/menu.js create mode 100644 sources/orbium/js/perf.js create mode 100644 sources/orbium/js/player.js create mode 100644 sources/orbium/js/rotator.js create mode 100644 sources/orbium/js/sequencer.js create mode 100644 sources/orbium/js/server.js create mode 100644 sources/orbium/js/sign.js create mode 100644 sources/orbium/js/sprite.js create mode 100644 sources/orbium/js/start.js create mode 100644 sources/orbium/js/storage.js create mode 100644 sources/orbium/js/teleporter.js create mode 100644 sources/orbium/js/tile.js create mode 100644 sources/orbium/js/timer.js create mode 100644 sources/orbium/js/transformer.js create mode 100644 sources/orbium/js/tutorial.js create mode 100644 sources/orbium/js/util.js create mode 100644 sources/orbium/js/verttile.js create mode 100644 sources/orbium/orbium.appcache create mode 100644 sources/orbium/snd/wav/bounce.wav create mode 100644 sources/orbium/snd/wav/clank.wav create mode 100644 sources/orbium/snd/wav/dock.wav create mode 100644 sources/orbium/snd/wav/explode.wav create mode 100644 sources/orbium/snd/wav/rotate.wav create mode 100644 sources/orbium/test/announcer.html create mode 100644 sources/orbium/test/counter.html create mode 100644 sources/orbium/test/index.html create mode 100644 sources/pappu-pakia/README.md create mode 100644 sources/pappu-pakia/css/main.css create mode 100644 sources/pappu-pakia/fonts/happy_sans-webfont.eot create mode 100644 sources/pappu-pakia/fonts/happy_sans-webfont.svg create mode 100644 sources/pappu-pakia/fonts/happy_sans-webfont.ttf create mode 100644 sources/pappu-pakia/fonts/happy_sans-webfont.woff create mode 100644 sources/pappu-pakia/img/Thumbs.db create mode 100644 sources/pappu-pakia/img/angry_pakia.png create mode 100644 sources/pappu-pakia/img/apple.png create mode 100644 sources/pappu-pakia/img/back_trees.png create mode 100644 sources/pappu-pakia/img/berries.png create mode 100644 sources/pappu-pakia/img/bg_combined.png create mode 100644 sources/pappu-pakia/img/branch.png create mode 100644 sources/pappu-pakia/img/clouds.png create mode 100644 sources/pappu-pakia/img/coins.png create mode 100644 sources/pappu-pakia/img/coins_old.png create mode 100644 sources/pappu-pakia/img/controls.png create mode 100644 sources/pappu-pakia/img/dig.png create mode 100644 sources/pappu-pakia/img/fork_handle.png create mode 100644 sources/pappu-pakia/img/fork_head.png create mode 100644 sources/pappu-pakia/img/front_trees.png create mode 100644 sources/pappu-pakia/img/grass.png create mode 100644 sources/pappu-pakia/img/ground.png create mode 100644 sources/pappu-pakia/img/happy_pakia.png create mode 100644 sources/pappu-pakia/img/log.png create mode 100644 sources/pappu-pakia/img/mute.png create mode 100644 sources/pappu-pakia/img/pappu.png create mode 100644 sources/pappu-pakia/img/plank_bot.png create mode 100644 sources/pappu-pakia/img/plank_mid.png create mode 100644 sources/pappu-pakia/img/plank_top.png create mode 100644 sources/pappu-pakia/img/sad_pakia.png create mode 100644 sources/pappu-pakia/img/stand.png create mode 100644 sources/pappu-pakia/img/star.png create mode 100644 sources/pappu-pakia/index.htm create mode 100644 sources/pappu-pakia/js/backgrounds.js create mode 100644 sources/pappu-pakia/js/branches.js create mode 100644 sources/pappu-pakia/js/collectibles.js create mode 100644 sources/pappu-pakia/js/forks.js create mode 100644 sources/pappu-pakia/js/jquery-1.8.2.min.js create mode 100644 sources/pappu-pakia/js/loader.js create mode 100644 sources/pappu-pakia/js/main.js create mode 100644 sources/pappu-pakia/js/pakia.js create mode 100644 sources/pappu-pakia/js/pappu.js create mode 100644 sources/pappu-pakia/js/utils.js create mode 100644 sources/pappu-pakia/kong.htm create mode 100644 sources/pappu-pakia/sound/flap.mp3 create mode 100644 sources/pappu-pakia/sound/flap.ogg create mode 100644 sources/pappu-pakia/sound/jump1.mp3 create mode 100644 sources/pappu-pakia/sound/jump1.ogg create mode 100644 sources/pappu-pakia/sound/jump2.mp3 create mode 100644 sources/pappu-pakia/sound/jump2.ogg create mode 100644 sources/pappu-pakia/sound/jump3.mp3 create mode 100644 sources/pappu-pakia/sound/jump3.ogg create mode 100644 sources/pappu-pakia/sound/pappu-pakia2.3.mp3 create mode 100644 sources/pappu-pakia/sound/pappu-pakia2.3.ogg create mode 100644 sources/pappu-pakia/sound/ting.mp3 create mode 100644 sources/pappu-pakia/sound/ting.ogg create mode 100644 sources/roundball/assets/ball_0.png create mode 100644 sources/roundball/assets/ball_1.png create mode 100644 sources/roundball/assets/ball_2.png create mode 100644 sources/roundball/assets/ball_3.png create mode 100644 sources/roundball/assets/ball_4.png create mode 100644 sources/roundball/assets/ball_5.png create mode 100644 sources/roundball/assets/helper1.jpg create mode 100644 sources/roundball/assets/helper2.jpg create mode 100644 sources/roundball/assets/icon.png create mode 100644 sources/roundball/assets/lime.png create mode 100644 sources/roundball/assets/main_title.png create mode 100644 sources/roundball/assets/selection.png create mode 100644 sources/roundball/assets/shadow.png create mode 100644 sources/roundball/assets/startup.jpg create mode 100644 sources/roundball/assets/startup_ipad.jpg create mode 100644 sources/roundball/licence.txt create mode 100644 sources/roundball/licence.txt~ create mode 100644 sources/roundball/roundball.html create mode 100644 sources/roundball/roundball.js create mode 100644 sources/roundball/roundball.manifest create mode 100644 sources/sokojs/0.gif create mode 100644 sources/sokojs/1.gif create mode 100644 sources/sokojs/2.gif create mode 100644 sources/sokojs/3.gif create mode 100644 sources/sokojs/4.gif create mode 100644 sources/sokojs/5.gif create mode 100644 sources/sokojs/6.gif create mode 100644 sources/sokojs/7.gif create mode 100644 sources/sokojs/8.gif create mode 100644 sources/sokojs/9.gif create mode 100644 sources/sokojs/Boxworld.htm create mode 100644 sources/sokojs/level.htm create mode 100644 sources/sokojs/level0.htm create mode 100644 sources/sokojs/level1.htm create mode 100644 sources/sokojs/level10.htm create mode 100644 sources/sokojs/level11.htm create mode 100644 sources/sokojs/level12.htm create mode 100644 sources/sokojs/level13.htm create mode 100644 sources/sokojs/level14.htm create mode 100644 sources/sokojs/level15.htm create mode 100644 sources/sokojs/level16.htm create mode 100644 sources/sokojs/level17.htm create mode 100644 sources/sokojs/level18.htm create mode 100644 sources/sokojs/level19.htm create mode 100644 sources/sokojs/level2.htm create mode 100644 sources/sokojs/level20.htm create mode 100644 sources/sokojs/level21.htm create mode 100644 sources/sokojs/level22.htm create mode 100644 sources/sokojs/level23.htm create mode 100644 sources/sokojs/level24.htm create mode 100644 sources/sokojs/level25.htm create mode 100644 sources/sokojs/level26.htm create mode 100644 sources/sokojs/level27.htm create mode 100644 sources/sokojs/level28.htm create mode 100644 sources/sokojs/level29.htm create mode 100644 sources/sokojs/level3.htm create mode 100644 sources/sokojs/level30.htm create mode 100644 sources/sokojs/level31.htm create mode 100644 sources/sokojs/level32.htm create mode 100644 sources/sokojs/level33.htm create mode 100644 sources/sokojs/level34.htm create mode 100644 sources/sokojs/level35.htm create mode 100644 sources/sokojs/level36.htm create mode 100644 sources/sokojs/level37.htm create mode 100644 sources/sokojs/level38.htm create mode 100644 sources/sokojs/level39.htm create mode 100644 sources/sokojs/level4.htm create mode 100644 sources/sokojs/level40.htm create mode 100644 sources/sokojs/level41.htm create mode 100644 sources/sokojs/level42.htm create mode 100644 sources/sokojs/level43.htm create mode 100644 sources/sokojs/level44.htm create mode 100644 sources/sokojs/level45.htm create mode 100644 sources/sokojs/level46.htm create mode 100644 sources/sokojs/level47.htm create mode 100644 sources/sokojs/level48.htm create mode 100644 sources/sokojs/level49.htm create mode 100644 sources/sokojs/level5.htm create mode 100644 sources/sokojs/level50.htm create mode 100644 sources/sokojs/level51.htm create mode 100644 sources/sokojs/level52.htm create mode 100644 sources/sokojs/level53.htm create mode 100644 sources/sokojs/level54.htm create mode 100644 sources/sokojs/level55.htm create mode 100644 sources/sokojs/level56.htm create mode 100644 sources/sokojs/level57.htm create mode 100644 sources/sokojs/level58.htm create mode 100644 sources/sokojs/level59.htm create mode 100644 sources/sokojs/level6.htm create mode 100644 sources/sokojs/level60.htm create mode 100644 sources/sokojs/level61.htm create mode 100644 sources/sokojs/level62.htm create mode 100644 sources/sokojs/level63.htm create mode 100644 sources/sokojs/level64.htm create mode 100644 sources/sokojs/level65.htm create mode 100644 sources/sokojs/level66.htm create mode 100644 sources/sokojs/level67.htm create mode 100644 sources/sokojs/level68.htm create mode 100644 sources/sokojs/level69.htm create mode 100644 sources/sokojs/level7.htm create mode 100644 sources/sokojs/level70.htm create mode 100644 sources/sokojs/level71.htm create mode 100644 sources/sokojs/level72.htm create mode 100644 sources/sokojs/level73.htm create mode 100644 sources/sokojs/level74.htm create mode 100644 sources/sokojs/level75.htm create mode 100644 sources/sokojs/level76.htm create mode 100644 sources/sokojs/level77.htm create mode 100644 sources/sokojs/level78.htm create mode 100644 sources/sokojs/level79.htm create mode 100644 sources/sokojs/level8.htm create mode 100644 sources/sokojs/level80.htm create mode 100644 sources/sokojs/level81.htm create mode 100644 sources/sokojs/level82.htm create mode 100644 sources/sokojs/level83.htm create mode 100644 sources/sokojs/level84.htm create mode 100644 sources/sokojs/level85.htm create mode 100644 sources/sokojs/level86.htm create mode 100644 sources/sokojs/level87.htm create mode 100644 sources/sokojs/level88.htm create mode 100644 sources/sokojs/level89.htm create mode 100644 sources/sokojs/level9.htm create mode 100644 sources/sokojs/level90.htm create mode 100644 sources/sokojs/level91.htm create mode 100644 sources/sokojs/level92.htm create mode 100644 sources/sokojs/level93.htm create mode 100644 sources/sokojs/level94.htm create mode 100644 sources/sokojs/level95.htm create mode 100644 sources/sokojs/level96.htm create mode 100644 sources/sokojs/level97.htm create mode 100644 sources/sokojs/lisezmoi.txt create mode 100644 sources/sokojs/main.htm create mode 100644 sources/sokojs/sokojs.htm create mode 100644 sources/sokojs/src.htm create mode 100644 sources/solitaire/custom.js create mode 100644 sources/solitaire/game.compressed.js create mode 100644 sources/solitaire/game.js create mode 100644 sources/solitaire/index.html create mode 100644 sources/solitaire/license.html create mode 100644 sources/solitaire/nbproject/.svn/all-wcprops create mode 100644 sources/solitaire/nbproject/.svn/dir-prop-base create mode 100644 sources/solitaire/nbproject/.svn/entries create mode 100644 sources/solitaire/nbproject/.svn/text-base/project.properties.svn-base create mode 100644 sources/solitaire/nbproject/.svn/text-base/project.xml.svn-base create mode 100644 sources/solitaire/nbproject/private/private.properties create mode 100644 sources/solitaire/nbproject/project.properties create mode 100644 sources/solitaire/nbproject/project.xml create mode 100644 sources/solitaire/raphael.compressed.js create mode 100644 sources/solitaire/raphael.js create mode 100644 sources/sudoku_js/gfx/sudoku_controller.png create mode 100644 sources/sudoku_js/gfx/sudoku_range.png create mode 100644 sources/sudoku_js/index.html create mode 100644 sources/sudoku_js/licence.txt create mode 100644 sources/sudoku_js/sudoku.css create mode 100644 sources/sudoku_js/sudoku_js.js create mode 100644 sources/telechargement/1597-master.zip create mode 100644 sources/telechargement/2048frama.zip create mode 100644 sources/telechargement/2048originel.zip create mode 100644 sources/telechargement/e-tris.zip create mode 100644 sources/telechargement/esviji.zip create mode 100644 sources/telechargement/orbium.zip create mode 100644 sources/telechargement/pappu-pakia.zip create mode 100644 sources/telechargement/roundball.zip create mode 100644 sources/telechargement/sokojs.zip create mode 100644 sources/telechargement/solitaire.zip create mode 100644 sources/telechargement/sudoku_js.zip create mode 100644 sources/telechargement/zlizer.zip create mode 100644 sources/zlizer/assets/back.png create mode 100644 sources/zlizer/assets/bubble_back.png create mode 100644 sources/zlizer/assets/dialog_keyz.jpg create mode 100644 sources/zlizer/assets/dialog_number.jpg create mode 100644 sources/zlizer/assets/dialog_tutorial1.jpg create mode 100644 sources/zlizer/assets/dialog_tutorial2.jpg create mode 100644 sources/zlizer/assets/icon.png create mode 100644 sources/zlizer/assets/impact.ttf create mode 100644 sources/zlizer/assets/lime.png create mode 100644 sources/zlizer/assets/main_title.png create mode 100644 sources/zlizer/assets/startup.jpg create mode 100644 sources/zlizer/assets/startup_ipad.jpg create mode 100644 sources/zlizer/licence.txt create mode 100644 sources/zlizer/zlizer.html create mode 100644 sources/zlizer/zlizer.js create mode 100644 sources/zlizer/zlizer.manifest diff --git a/sources/1597-master/.gitignore b/sources/1597-master/.gitignore new file mode 100644 index 0000000..0d31019 --- /dev/null +++ b/sources/1597-master/.gitignore @@ -0,0 +1 @@ +.sass-cache/ diff --git a/sources/1597-master/.jshintrc b/sources/1597-master/.jshintrc new file mode 100644 index 0000000..87dbf9a --- /dev/null +++ b/sources/1597-master/.jshintrc @@ -0,0 +1,19 @@ +{ + "esnext": true, + "indent": 2, + "maxlen": 80, + "freeze": true, + "camelcase": true, + "unused": true, + "eqnull": true, + "proto": true, + "supernew": true, + "noyield": true, + "evil": true, + "node": true, + "boss": true, + "expr": true, + "loopfunc": true, + "white": true, + "maxdepth": 4 +} diff --git a/sources/1597-master/CONTRIBUTING.md b/sources/1597-master/CONTRIBUTING.md new file mode 100644 index 0000000..968baa9 --- /dev/null +++ b/sources/1597-master/CONTRIBUTING.md @@ -0,0 +1,2 @@ +## Contributing +Changes and improvements are more than welcome! Feel free to fork and open a pull request. Please make your changes in a specifically made branch and request to pull on `master`! If you can, please make sure the game fully works before sending the PR, as that will help speed up the process. diff --git a/sources/1597-master/LICENSE.txt b/sources/1597-master/LICENSE.txt new file mode 100644 index 0000000..b0dbfa4 --- /dev/null +++ b/sources/1597-master/LICENSE.txt @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014 Gabriele Cirulli + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/sources/1597-master/README.md b/sources/1597-master/README.md new file mode 100644 index 0000000..0811fae --- /dev/null +++ b/sources/1597-master/README.md @@ -0,0 +1,4 @@ +# 1597 +A fibonacci version of: the popular 2048 game, originally created by [Gabriele Cirulli](https://github.com/gabrielecirulli) + +[Play it here!](http://jmhummel.github.io/1597/) diff --git a/sources/1597-master/Rakefile b/sources/1597-master/Rakefile new file mode 100644 index 0000000..3e9851e --- /dev/null +++ b/sources/1597-master/Rakefile @@ -0,0 +1,11 @@ +require "date" + +namespace :appcache do + desc "update the date in the appcache file (in the gh-pages branch)" + task :update do + appcache = File.read("cache.appcache") + updated = "# Updated: #{DateTime.now}" + + File.write("cache.appcache", appcache.sub(/^# Updated:.*$/, updated)) + end +end diff --git a/sources/1597-master/favicon.ico b/sources/1597-master/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..22109e04a9f44bde18ec7b7a4b7410d0246521bc GIT binary patch literal 4286 zcmeI0u}T9$5QaxAZ4|*eSlRmm7M9V@SMU{VQ>5?}d;{?n1WA#?B1H-d3kAW#!e}&! z290>`cj4E~-Q@zpx`i3p?A^})&p$J}fvjc=?ypiYKJ9qfY|YFz+;B^_ zFn$f<2q!J!u7@9~i@DVw36{n#zAi#L=w1qYr#f#FwA?@S$6_fB4AP=j)up z&-xU9K1cfvmODrDz4%vq5%c#q+Oh8+)rjYPd=HIz|I|hJ=PnrXPDE_>yDHg+*KulwNh1` literal 0 HcmV?d00001 diff --git a/sources/1597-master/index.html b/sources/1597-master/index.html new file mode 100644 index 0000000..0f7bd27 --- /dev/null +++ b/sources/1597-master/index.html @@ -0,0 +1,98 @@ + + + + + 1597 + + + + + + + + + + + +
+
+

1597

+
+
0
+
0
+
+
+

Reliez les nombres de la sute de Fibonacci et obtenez la tuile 1597 !

+ +
+ + +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+ +
+
+ + +

+ Comment jouer : Utilisez les flèches du clavier pour déplacer les tuiles. Quand deux tuiles avec le même nombre se touchent, elles fusionnent ! +

+

+ La suite de Fibonacci : Pour ceux qui ne connaissent pas les nombres de la suite de Fibonacci, les onze premiers sont : +

+

+ 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ... +

+

+ Chaque nombre de la suite est formé de la somme des deux précédents. +

+
+

+ Note : Framasoft héberge une instance du jeu créé par Gabriele Cirulli et modifié par Jeremy Hummel pour cette version. sous licence libre MIT. +

+
+ + + + + + + + + + + + + diff --git a/sources/1597-master/js/animframe_polyfill.js b/sources/1597-master/js/animframe_polyfill.js new file mode 100644 index 0000000..c45a13e --- /dev/null +++ b/sources/1597-master/js/animframe_polyfill.js @@ -0,0 +1,26 @@ +(function() { + var lastTime = 0; + var vendors = ['webkit', 'moz']; + for(var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) { + window.requestAnimationFrame = window[vendors[x]+'RequestAnimationFrame']; + window.cancelAnimationFrame = + window[vendors[x]+'CancelAnimationFrame'] || window[vendors[x]+'CancelRequestAnimationFrame']; + } + + if (!window.requestAnimationFrame) { + window.requestAnimationFrame = function(callback, element) { + var currTime = new Date().getTime(); + var timeToCall = Math.max(0, 16 - (currTime - lastTime)); + var id = window.setTimeout(function() { callback(currTime + timeToCall); }, + timeToCall); + lastTime = currTime + timeToCall; + return id; + }; + } + + if (!window.cancelAnimationFrame) { + window.cancelAnimationFrame = function(id) { + clearTimeout(id); + }; + } +}()); diff --git a/sources/1597-master/js/application.js b/sources/1597-master/js/application.js new file mode 100644 index 0000000..a4d310a --- /dev/null +++ b/sources/1597-master/js/application.js @@ -0,0 +1,4 @@ +// Wait till the browser is ready to render the game (avoids glitches) +window.requestAnimationFrame(function () { + new GameManager(4, KeyboardInputManager, HTMLActuator, LocalScoreManager); +}); diff --git a/sources/1597-master/js/game_manager.js b/sources/1597-master/js/game_manager.js new file mode 100644 index 0000000..0410175 --- /dev/null +++ b/sources/1597-master/js/game_manager.js @@ -0,0 +1,264 @@ +function GameManager(size, InputManager, Actuator, ScoreManager) { + this.size = size; // Size of the grid + this.inputManager = new InputManager; + this.scoreManager = new ScoreManager; + this.actuator = new Actuator; + + this.startTiles = 2; + + this.inputManager.on("move", this.move.bind(this)); + this.inputManager.on("restart", this.restart.bind(this)); + this.inputManager.on("keepPlaying", this.keepPlaying.bind(this)); + + this.setup(); +} + +// Restart the game +GameManager.prototype.restart = function () { + this.actuator.continue(); + this.setup(); +}; + +// Keep playing after winning +GameManager.prototype.keepPlaying = function () { + this.keepPlaying = true; + this.actuator.continue(); +}; + +GameManager.prototype.isGameTerminated = function () { + if (this.over || (this.won && !this.keepPlaying)) { + return true; + } else { + return false; + } +}; + +// Set up the game +GameManager.prototype.setup = function () { + this.grid = new Grid(this.size); + + this.score = 0; + this.over = false; + this.won = false; + this.keepPlaying = false; + + // Add the initial tiles + //console.log('test'); + this.addStartTiles(); + //console.log('Added start tiles'); + + // Update the actuator + this.actuate(); +}; + +// Set up the initial tiles to start the game with +GameManager.prototype.addStartTiles = function () { + for (var i = 0; i < this.startTiles; i++) { + this.addRandomTile(); + } +}; + +// Adds a tile in a random position +GameManager.prototype.addRandomTile = function () { + if (this.grid.cellsAvailable()) { + var value = Math.random() < 0.9 ? 1 : 2; + var tile = new Tile(this.grid.randomAvailableCell(), value); + + this.grid.insertTile(tile); + } +}; + +// Sends the updated grid to the actuator +GameManager.prototype.actuate = function () { + if (this.scoreManager.get() < this.score) { + this.scoreManager.set(this.score); + } + + this.actuator.actuate(this.grid, { + score: this.score, + over: this.over, + won: this.won, + bestScore: this.scoreManager.get(), + terminated: this.isGameTerminated() + }); + +}; + +// Save all tile positions and remove merger info +GameManager.prototype.prepareTiles = function () { + this.grid.eachCell(function (x, y, tile) { + if (tile) { + tile.mergedFrom = null; + tile.savePosition(); + } + }); +}; + +// Move a tile and its representation +GameManager.prototype.moveTile = function (tile, cell) { + this.grid.cells[tile.x][tile.y] = null; + this.grid.cells[cell.x][cell.y] = tile; + tile.updatePosition(cell); +}; + +// Tests if two values sum to a Fibonacci number +GameManager.prototype.testFib = function(val1, val2) { + var sum = val1 + val2; + var fib = [1,1] + + while (sum > fib[fib.length-1]) { + fib.push(fib[fib.length-1] + fib[fib.length-2]) + } + + for (var i = 0; i=fib[i]; i++) { + if (sum === fib[i]) { + return true; + } + } + return false; +}; + +// Move tiles on the grid in the specified direction +GameManager.prototype.move = function (direction) { + // 0: up, 1: right, 2:down, 3: left + var self = this; + + if (this.isGameTerminated()) return; // Don't do anything if the game's over + + var cell, tile; + + var vector = this.getVector(direction); + var traversals = this.buildTraversals(vector); + var moved = false; + + // Save the current tile positions and remove merger information + this.prepareTiles(); + + // Traverse the grid in the right direction and move tiles + traversals.x.forEach(function (x) { + traversals.y.forEach(function (y) { + cell = { x: x, y: y }; + tile = self.grid.cellContent(cell); + + if (tile) { + var positions = self.findFarthestPosition(cell, vector); + var next = self.grid.cellContent(positions.next); + + // Only one merger per row traversal? + if (next && self.testFib(next.value, tile.value) && !next.mergedFrom) { + var merged = new Tile(positions.next, tile.value + next.value); + merged.mergedFrom = [tile, next]; + + self.grid.insertTile(merged); + self.grid.removeTile(tile); + + // Converge the two tiles' positions + tile.updatePosition(positions.next); + + // Update the score + self.score += merged.value; + + // The mighty 2048 tile + if (merged.value === 1597) self.won = true; + } else { + self.moveTile(tile, positions.farthest); + } + + if (!self.positionsEqual(cell, tile)) { + moved = true; // The tile moved from its original cell! + } + } + }); + }); + + if (moved) { + this.addRandomTile(); + + if (!this.movesAvailable()) { + this.over = true; // Game over! + } + + this.actuate(); + } +}; + +// Get the vector representing the chosen direction +GameManager.prototype.getVector = function (direction) { + // Vectors representing tile movement + var map = { + 0: { x: 0, y: -1 }, // up + 1: { x: 1, y: 0 }, // right + 2: { x: 0, y: 1 }, // down + 3: { x: -1, y: 0 } // left + }; + + return map[direction]; +}; + +// Build a list of positions to traverse in the right order +GameManager.prototype.buildTraversals = function (vector) { + var traversals = { x: [], y: [] }; + + for (var pos = 0; pos < this.size; pos++) { + traversals.x.push(pos); + traversals.y.push(pos); + } + + // Always traverse from the farthest cell in the chosen direction + if (vector.x === 1) traversals.x = traversals.x.reverse(); + if (vector.y === 1) traversals.y = traversals.y.reverse(); + + return traversals; +}; + +GameManager.prototype.findFarthestPosition = function (cell, vector) { + var previous; + + // Progress towards the vector direction until an obstacle is found + do { + previous = cell; + cell = { x: previous.x + vector.x, y: previous.y + vector.y }; + } while (this.grid.withinBounds(cell) && + this.grid.cellAvailable(cell)); + + return { + farthest: previous, + next: cell // Used to check if a merge is required + }; +}; + +GameManager.prototype.movesAvailable = function () { + return this.grid.cellsAvailable() || this.tileMatchesAvailable(); +}; + +// Check for available matches between tiles (more expensive check) +GameManager.prototype.tileMatchesAvailable = function () { + var self = this; + + var tile; + + for (var x = 0; x < this.size; x++) { + for (var y = 0; y < this.size; y++) { + tile = this.grid.cellContent({ x: x, y: y }); + + if (tile) { + for (var direction = 0; direction < 4; direction++) { + var vector = self.getVector(direction); + var cell = { x: x + vector.x, y: y + vector.y }; + + var other = self.grid.cellContent(cell); + + if (other && self.testFib(other.value, tile.value)) { + return true; // These two tiles can be merged + } + } + } + } + } + + return false; +}; + +GameManager.prototype.positionsEqual = function (first, second) { + return first.x === second.x && first.y === second.y; +}; diff --git a/sources/1597-master/js/grid.js b/sources/1597-master/js/grid.js new file mode 100644 index 0000000..05fe057 --- /dev/null +++ b/sources/1597-master/js/grid.js @@ -0,0 +1,84 @@ +function Grid(size) { + this.size = size; + + this.cells = []; + + this.build(); +} + +// Build a grid of the specified size +Grid.prototype.build = function () { + for (var x = 0; x < this.size; x++) { + var row = this.cells[x] = []; + + for (var y = 0; y < this.size; y++) { + row.push(null); + } + } +}; + +// Find the first available random position +Grid.prototype.randomAvailableCell = function () { + var cells = this.availableCells(); + + if (cells.length) { + return cells[Math.floor(Math.random() * cells.length)]; + } +}; + +Grid.prototype.availableCells = function () { + var cells = []; + + this.eachCell(function (x, y, tile) { + if (!tile) { + cells.push({ x: x, y: y }); + } + }); + + return cells; +}; + +// Call callback for every cell +Grid.prototype.eachCell = function (callback) { + for (var x = 0; x < this.size; x++) { + for (var y = 0; y < this.size; y++) { + callback(x, y, this.cells[x][y]); + } + } +}; + +// Check if there are any cells available +Grid.prototype.cellsAvailable = function () { + return !!this.availableCells().length; +}; + +// Check if the specified cell is taken +Grid.prototype.cellAvailable = function (cell) { + return !this.cellOccupied(cell); +}; + +Grid.prototype.cellOccupied = function (cell) { + return !!this.cellContent(cell); +}; + +Grid.prototype.cellContent = function (cell) { + if (this.withinBounds(cell)) { + return this.cells[cell.x][cell.y]; + } else { + return null; + } +}; + +// Inserts a tile at its position +Grid.prototype.insertTile = function (tile) { + this.cells[tile.x][tile.y] = tile; +}; + +Grid.prototype.removeTile = function (tile) { + this.cells[tile.x][tile.y] = null; +}; + +Grid.prototype.withinBounds = function (position) { + return position.x >= 0 && position.x < this.size && + position.y >= 0 && position.y < this.size; +}; diff --git a/sources/1597-master/js/html_actuator.js b/sources/1597-master/js/html_actuator.js new file mode 100644 index 0000000..9005ca1 --- /dev/null +++ b/sources/1597-master/js/html_actuator.js @@ -0,0 +1,139 @@ +function HTMLActuator() { + this.tileContainer = document.querySelector(".tile-container"); + this.scoreContainer = document.querySelector(".score-container"); + this.bestContainer = document.querySelector(".best-container"); + this.messageContainer = document.querySelector(".game-message"); + + this.score = 0; +} + +HTMLActuator.prototype.actuate = function (grid, metadata) { + var self = this; + + window.requestAnimationFrame(function () { + self.clearContainer(self.tileContainer); + + grid.cells.forEach(function (column) { + column.forEach(function (cell) { + if (cell) { + self.addTile(cell); + } + }); + }); + + self.updateScore(metadata.score); + self.updateBestScore(metadata.bestScore); + + if (metadata.terminated) { + if (metadata.over) { + self.message(false); // You lose + } else if (metadata.won) { + self.message(true); // You win! + } + } + + }); +}; + +// Continues the game (both restart and keep playing) +HTMLActuator.prototype.continue = function () { + this.clearMessage(); +}; + +HTMLActuator.prototype.clearContainer = function (container) { + while (container.firstChild) { + container.removeChild(container.firstChild); + } +}; + +HTMLActuator.prototype.addTile = function (tile) { + var self = this; + + var wrapper = document.createElement("div"); + var inner = document.createElement("div"); + var position = tile.previousPosition || { x: tile.x, y: tile.y }; + var positionClass = this.positionClass(position); + + // We can't use classlist because it somehow glitches when replacing classes + var classes = ["tile", "tile-" + tile.value, positionClass]; + + if (tile.value > 1597) classes.push("tile-super"); + + this.applyClasses(wrapper, classes); + + inner.classList.add("tile-inner"); + inner.textContent = tile.value; + + if (tile.previousPosition) { + // Make sure that the tile gets rendered in the previous position first + window.requestAnimationFrame(function () { + classes[2] = self.positionClass({ x: tile.x, y: tile.y }); + self.applyClasses(wrapper, classes); // Update the position + }); + } else if (tile.mergedFrom) { + classes.push("tile-merged"); + this.applyClasses(wrapper, classes); + + // Render the tiles that merged + tile.mergedFrom.forEach(function (merged) { + self.addTile(merged); + }); + } else { + classes.push("tile-new"); + this.applyClasses(wrapper, classes); + } + + // Add the inner part of the tile to the wrapper + wrapper.appendChild(inner); + + // Put the tile on the board + this.tileContainer.appendChild(wrapper); +}; + +HTMLActuator.prototype.applyClasses = function (element, classes) { + element.setAttribute("class", classes.join(" ")); +}; + +HTMLActuator.prototype.normalizePosition = function (position) { + return { x: position.x + 1, y: position.y + 1 }; +}; + +HTMLActuator.prototype.positionClass = function (position) { + position = this.normalizePosition(position); + return "tile-position-" + position.x + "-" + position.y; +}; + +HTMLActuator.prototype.updateScore = function (score) { + this.clearContainer(this.scoreContainer); + + var difference = score - this.score; + this.score = score; + + this.scoreContainer.textContent = this.score; + + if (difference > 0) { + var addition = document.createElement("div"); + addition.classList.add("score-addition"); + addition.textContent = "+" + difference; + + this.scoreContainer.appendChild(addition); + } +}; + +HTMLActuator.prototype.updateBestScore = function (bestScore) { + this.bestContainer.textContent = bestScore; +}; + +HTMLActuator.prototype.message = function (won) { + var type = won ? "game-won" : "game-over"; + var message = won ? "You win!" : "Game over!"; + + this.messageContainer.classList.add(type); + this.messageContainer.getElementsByTagName("p")[0].textContent = message; +}; + +HTMLActuator.prototype.clearMessage = function () { + // IE only takes one value to remove at a time. + this.messageContainer.classList.remove("game-won"); + this.messageContainer.classList.remove("game-over"); +}; diff --git a/sources/1597-master/js/keyboard_input_manager.js b/sources/1597-master/js/keyboard_input_manager.js new file mode 100644 index 0000000..a29744c --- /dev/null +++ b/sources/1597-master/js/keyboard_input_manager.js @@ -0,0 +1,130 @@ +function KeyboardInputManager() { + this.events = {}; + + if (window.navigator.msPointerEnabled) { + //Internet Explorer 10 style + this.eventTouchstart = "MSPointerDown"; + this.eventTouchmove = "MSPointerMove"; + this.eventTouchend = "MSPointerUp"; + } else { + this.eventTouchstart = "touchstart"; + this.eventTouchmove = "touchmove"; + this.eventTouchend = "touchend"; + } + + this.listen(); +} + +KeyboardInputManager.prototype.on = function (event, callback) { + if (!this.events[event]) { + this.events[event] = []; + } + this.events[event].push(callback); +}; + +KeyboardInputManager.prototype.emit = function (event, data) { + var callbacks = this.events[event]; + if (callbacks) { + callbacks.forEach(function (callback) { + callback(data); + }); + } +}; + +KeyboardInputManager.prototype.listen = function () { + var self = this; + + var map = { + 38: 0, // Up + 39: 1, // Right + 40: 2, // Down + 37: 3, // Left + 75: 0, // vim keybindings + 76: 1, + 74: 2, + 72: 3, + 87: 0, // W + 68: 1, // D + 83: 2, // S + 65: 3 // A + }; + + document.addEventListener("keydown", function (event) { + var modifiers = event.altKey || event.ctrlKey || event.metaKey || + event.shiftKey; + var mapped = map[event.which]; + + if (!modifiers) { + if (mapped !== undefined) { + event.preventDefault(); + self.emit("move", mapped); + } + + if (event.which === 32) self.restart.bind(self)(event); + } + }); + + var retry = document.querySelector(".retry-button"); + retry.addEventListener("click", this.restart.bind(this)); + retry.addEventListener(this.eventTouchend, this.restart.bind(this)); + + var keepPlaying = document.querySelector(".keep-playing-button"); + keepPlaying.addEventListener("click", this.keepPlaying.bind(this)); + keepPlaying.addEventListener("touchend", this.keepPlaying.bind(this)); + + // Listen to swipe events + var touchStartClientX, touchStartClientY; + var gameContainer = document.getElementsByClassName("game-container")[0]; + + gameContainer.addEventListener(this.eventTouchstart, function (event) { + if (( !window.navigator.msPointerEnabled && event.touches.length > 1) || event.targetTouches > 1) return; + + if(window.navigator.msPointerEnabled){ + touchStartClientX = event.pageX; + touchStartClientY = event.pageY; + } else { + touchStartClientX = event.touches[0].clientX; + touchStartClientY = event.touches[0].clientY; + } + + event.preventDefault(); + }); + + gameContainer.addEventListener(this.eventTouchmove, function (event) { + event.preventDefault(); + }); + + gameContainer.addEventListener(this.eventTouchend, function (event) { + if (( !window.navigator.msPointerEnabled && event.touches.length > 0) || event.targetTouches > 0) return; + + var touchEndClientX, touchEndClientY; + if(window.navigator.msPointerEnabled){ + touchEndClientX = event.pageX; + touchEndClientY = event.pageY; + } else { + touchEndClientX = event.changedTouches[0].clientX; + touchEndClientY = event.changedTouches[0].clientY; + } + + var dx = touchEndClientX - touchStartClientX; + var absDx = Math.abs(dx); + + var dy = touchEndClientY - touchStartClientY; + var absDy = Math.abs(dy); + + if (Math.max(absDx, absDy) > 10) { + // (right : left) : (down : up) + self.emit("move", absDx > absDy ? (dx > 0 ? 1 : 3) : (dy > 0 ? 2 : 0)); + } + }); +}; + +KeyboardInputManager.prototype.restart = function (event) { + event.preventDefault(); + this.emit("restart"); +}; + +KeyboardInputManager.prototype.keepPlaying = function (event) { + event.preventDefault(); + this.emit("keepPlaying"); +}; diff --git a/sources/1597-master/js/local_score_manager.js b/sources/1597-master/js/local_score_manager.js new file mode 100644 index 0000000..ec4575d --- /dev/null +++ b/sources/1597-master/js/local_score_manager.js @@ -0,0 +1,48 @@ +window.fakeStorage = { + _data: {}, + + setItem: function (id, val) { + return this._data[id] = String(val); + }, + + getItem: function (id) { + return this._data.hasOwnProperty(id) ? this._data[id] : undefined; + }, + + removeItem: function (id) { + return delete this._data[id]; + }, + + clear: function () { + return this._data = {}; + } +}; + +function LocalScoreManager() { + this.key = "bestScore"; + + var supported = this.localStorageSupported(); + this.storage = supported ? window.localStorage : window.fakeStorage; +} + +LocalScoreManager.prototype.localStorageSupported = function () { + var testKey = "test"; + var storage = window.localStorage; + + try { + storage.setItem(testKey, "1"); + storage.removeItem(testKey); + return true; + } catch (error) { + return false; + } +}; + +LocalScoreManager.prototype.get = function () { + return this.storage.getItem(this.key) || 0; +}; + +LocalScoreManager.prototype.set = function (score) { + this.storage.setItem(this.key, score); +}; + diff --git a/sources/1597-master/js/tile.js b/sources/1597-master/js/tile.js new file mode 100644 index 0000000..bc95230 --- /dev/null +++ b/sources/1597-master/js/tile.js @@ -0,0 +1,17 @@ +function Tile(position, value) { + this.x = position.x; + this.y = position.y; + this.value = value || 1; + + this.previousPosition = null; + this.mergedFrom = null; // Tracks tiles that merged together +} + +Tile.prototype.savePosition = function () { + this.previousPosition = { x: this.x, y: this.y }; +}; + +Tile.prototype.updatePosition = function (position) { + this.x = position.x; + this.y = position.y; +}; diff --git a/sources/1597-master/meta/apple-touch-icon.png b/sources/1597-master/meta/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3fd20f6092338ef464e440ec84a34c8850fd5d33 GIT binary patch literal 5808 zcmaJ^bx<76l3v_pad&qM2?+#UBxtZ;3k$&s?kpA@f)m_=1zR-9!lJP9|mm09V3J zUS3Pf*4e|^-PYNKNkv|s$;Hjt+U|oD0HEBLo93;nJ3|pU((3J3FeHSk9kJB>6EF@< zF$I}tP(!%T2t~!}m-KHGRb0%JgA`TReW+d5QS=$7xDC3y9F1+JgvBc|6cT-Uv zS#>8R!SJ9@6Ih)5lO=n#VOipWj@kv_;LZGPGXWmgp2%#W15g~_8H%j^83%#jVn5*D z#l%EK?klt&JXL%dsIpCQb*}pQX~6U@5faLCqI=EA_JW!=8@AU+38$lAiN9**F~I`W zw7mT6>c2{DibW0SnpX28uNko(JQ*-$b9@N%yGTJ{(O+W+REd9N_if=e+DX1lzsk?L zChB@9?mbV8=eBDhra<3So|I4SkH^pNZ8}QU z*h8~VB!=0!!iGssMJcbkM@YV)peUpABx3c;(C+}`A(*gWeiwA7pS0JZ#KbuIXcWrm z<-tVtG7PimxU#~tIG4fpT39r)qP7@)vYan4hC@|XXc|$RLXi+MwO|_vMGGb#F}gXk zh{DGWW^!fH@yJ0YOiLn!Y?~G_8BUKJ4lxmlobRZ085K`xMS))#^)16ooZQH2nb1+N zEq+!+VB}HDAxYD89 z#KFWsn!*?=7W{6EzecS6i^UAcy z@P1(aV9*PxP^4G%{Nnfa`P=tphLcKS)KyW_O7mY@M}a%&9u!T);Ezsn4Ml>5&PAM~ zHNsT*1VwRmojw*U!YUa*GDrqrtI=-JSrd!KXLecCof-td=%*P6x^Zj6XL%0Z9vB`F zd!ZsRmAcDU23?LCx#)<}6DohwcjR^uta7;G`Ea*zEMXoe*sQyslw2$NKYw@`h}tfb z$YD!*fXy7n*2y8qUXbdNbP{}$tjtyctcw1qAmGYcm+TYkllel?Up1L|H_1eKjE&h2 zYnOPJZdYKJJyUI(f-BV?}5|{DRkP42(@gitSr-iNBp)PnEsWQ zMqk1##-ByWAFluAl?LtCR^!6&-F7%Ozc1OVR3p*`2l!LnKd=8H|NZ0lVj7fFGu=By zGi{lDnfp--rQ}N~aam$Xt=Vc}=b-kU_IwGf1f-fE*jkFsyT^^mU9BfsHe2(ev>3Kg z@VQ#I#6#9jG4ty|Sx&J@wZEdTQFx(6O{X6BJBiBE&jPC6g{7msyRGMjdLTVby#o8z zz2Lo&EVxmbQJYcrA9>G^m-14kttPEX0s8WwE=^X=BG7sshiOVdW*Oq$H%)g_RbyTg zhf4j@>Cf;Sc)C}$*QZM~`uh0LVVYdbT;nDxaD-F+(d$K8zuLTT(?Zj@CC>nZW$paR zcFmwsfFs25r>LzEl`tFiOKNKxI8{9LSge2CY23@WJX!}TCF*05Bhd$23-e@)aa*@# z-QLN0vE}dc=iZ`HqG^V4bNuf0h~^v2Gl4V8f%A0Nv_mtmz7UI5o4TpOzO~SjRQBci zDYrjwx_G85rtQOItk&eAp93{8)U&s|0xPP!d#=4{3d z^c_wfWO!Y86nlvBdO)B@>(@q&#MpX9V(&Y1%A*5~My?yvT#h3_-yke{({ z&Dqff^9?#u7b$r;b+(E0LUsf$1vcL^z(!3vjK_9~?pp7>k<$31ga)K1@0mD+m})sr zR1)p9Ots8}*k5p5E1&EWZzql?A`4y?bdKf;{jS}q-KxEDnK`LH8N*(W@&wMXkh36? zz;9>EYRkTsAyS=quV6V*@F;;;2Gf#O9_Uo+6mF%CetvvXta)!v6sRwvk0Cl>~NP-^abK);r&m-lNGr%YLAdq2ZwnQ_fj!a;ZcJCQGL5 zC2ytNrx39Ry}{A6Q|&3~{hGJ&`y|=7)vn)e&MtKKb~k*t$l=5EfuZQY)#`IA8R|-r zCUo7g5#4qzrAE+;G`oDmlp79SzI_F_hqz#~w346=bl9>Qdeq?X*1^yLda8RSz8P2L zZuG95!HBV;%_j6VB7}gHR!W>y#-jrPAANZ)2*Xl}2vr)~u_E_`;y}ZpO1uHQ%@tx5Uiz&y8n8C- zy2*ror9pG6S0E#Fc{H%^zRL5BXOHJGp$pMM`BmAm?Wld(iztZ<-xHPh2Je>}Vx6D8(@4>IG&amtAa0`8lEx_-L9-$OVz)bS$0qIj_Rl_4IT!sPXGH4@>&pvd zMBbmc=C4a}QgIpujouZ&bH`05Q9L(12E91E;=Mp#1bOGL=O!HI7axko5+XIq^C~3x zp-t!bt7;vYnl|nu!?~)`&)r|I-uY;%jojk_DV;7bF9}V~5k5D`$P&B&jQ|_LdGKq` zo~{1hm9dq%Gki6k=f>v^kCuORkinZWeVO8)B42d{Lzb&lE^(|w&+A9}HNus}p54EmDV{*x!)jz%1d(uzv^O!{sa zv83CihiQT?ReJ@GIdSt6^L5oK)WkJ2)pN7F^4tD;Y)(Ym?2b@a;|8TZ{J2C6pD_ly z-&F;PTX?NuJoc0>tD5$=OP<@$Rpudr5lS^WW`cv1tw}-d*Zk{_%gra=DR_p*b;rEY zJApe7J7<48N+&h*A284|&hDDJcP5^=B&LO`k^1{gL9EoG<*yOmLvaar6=rKML|~A=g(m-G*)+tzOQ|I*xfttRaZSz@fzv? z)EsE=g@7hIBWlbbrpggjovplM^3S#Mhw*L&q>}n!*K||@yt^=3*CCsyuBvLPGXxt} z-y&<;iQ0T1>9te?)qFHSZ-9;*3?2=3RxfL^WVE`QwIe0k&t7dW7%Gg2D-&z8i$w%$ z3CVR}7eK;7fVhg-7_4NmPYN!oe-uvu2J1fn7ZvkA!2h%)##Q{s@*fxf+43J3WU>Fr z@;?P5i%on3X|=aWOMggy7s%GV{ixIG9=~%_EvJTDT;2|f68r=qsclLxfd747+hh&s z#AJruzh;V)EY6eJ8%+6?1EsLYkkEhgQ|bcrV(%DJ3@fZQz`PR0ZUeI6m-ym==`^XG z0O=pPT4shdv?YuaC$qIs(;r{Dm4h-fNl@!cnc1g90bq?Zxn@*mXeZK6h%a*~w4vQl z&iTb~C$KPK7FOHXj}1ZD9bRVfJuNt8Y(c-nyX;uYGrkp2#EfQjNWyD1O^t+Fiy_HbA+;>EVy`U`fST)g`g;2uwOH6^|KwRvusx-+9y#B{g~iyR-yT;oCxhIL{~ZZK0={_3y5qWpf^5$ulZIxf0MW zKdyTWD)`8ESHS4!_xLj@3vj++YB}sI)NTL`6$!BKf_~ zYU1MfHyiS+Hn>j}7hf6TC~!g@kvG#D4=I5MX3w+?B;S163Q_q9yi1eom$P#>+cwj7 z`ZhVtvxw#()#47%a8k{^6OJA1V2FOILkaM$3L7`mop5SI@07aY%(rq%y|8?C9O zoIw-Baj#% z6M)RZSoJ8xk{Q$dB5lFys@Vg_C(AV48ZW~#NwP4XkLt3E%*afN+Ll1xz#i+h+6W7} zQF9`m^T*oht}Q*vli%w^tc=ixy@d0ueu)0^kjrF{anca$FH?Vcpw9)YHSgiOM@MY2 zMO&HqsQoPPj)QKU+;iq=pEsS`k}wHOT2Pw6Ep0)xV5(a^`!V%b&f{j3+H7_>!fWRyDA-ET?zP&X0OHdOs#!4Ejo+ zDe#(s3LyYelRObzz^ZhZqoPnleV`@k*vqP#t!BM-6^-@ZUa?cISpGJiBRZh0D*&>i zpiPVxLteOyTo?HQ15N~FzVb4NWCyX+5jc>?F(q8DLWv!nWtrQ^5u?^&-WoEuuqN6I ze%s0>)ORXEcz2&PI*eZFWC}km$lNkMZL+Ui1Rr1kK6^u9YOuJ47Jf&a(&W(K%N%gz zyHVs^H2z5_0KAUb1IK4!RF@O@jxd`hqe*;uf$jIo>FspFlEiUBm9J32RA>7RpO|rO z;Z_WDJ(Q=If#;rCg#W6VUQI#6?Ko*jvRc zqlb!E&0rsBFkT**m^l%3kV(j7c3F3pz+00W_ z_H&Y3jNALsrndcU=g>eHHh1JN*UGk$ciF!(vtzGs*?Z-p{-sRx*?d?sPqfAIR{wsEvWqI-ZCEfZvN`x~(-kkH7g&O&De zK^vX4m#(M2;zW%XUfEHtO<_)q1HM&OrcMmG&F zOB6MSp^uj3^~^NrdLA8 z{K@93<3@E3i91m~HIolVcm{vf=qR7iWD2-+#nn%S0ASUd=^Vt7zFBhk1@vt(-U)K< zOtpOPd1fJIx5Q~osH#vN%6>Vr0(wt9ew5w?=NWFc23F6la&tz`dSrw{;pLuLY$UO? zo3mBCl_hX#PU`|nm(t$GeLwd;iqUlbN`0yx%V81Q(OYJ3)!}r>O^Oz{C`zQwc&q(6 zNh;JOn^dNHZ^n3v#f*mgXW0oizTtR_roeZc0=T-%^Lw02S8o~HVT*DUZB1sc6>+jP zN4=nTZ)nOtc9|Rc8PA9!flF`kj3MNb>g|!WjRi1jfp-)VzYZ|E371f$7KJU!t-1r7 zho=sWZ)4oDkF5=)_|w}gc_Eg5iJ#igGLPvN+ga66NA1ne7V%XNV+XD{@$7bf2mI<2 z7}^AfL+{+M6{~6P$g}=W`ucC~`Jd?Pe-qvRhra%s68|syYH1Mi*UXr8O3of&5sOw% zB1|BY&Jzfd4QBl^YW7%W&f+J1 z^sJ|B&3)CPf~m}VS~;9Kq@Jt1BSwH*`cS@#VWE*~P`c%+xK~=*e4VVZahhxOJVFe* zAT$58%;NO2V3m9yIL)5Q{8tEH5d(dL>6po%_m^qu^YOb+yI$Y0GC6th;kgf%Grs+z zc-3_AFnOX(-p*8;;EnNsZDV86^or|&c`Kv3ly5!Cg2gT%0fWO_yBV&nR~<4Tuw#a- zCspACZ}W1#nS^tdJ~65Ie%)sPg#u#gQ3VMHWlai>B|qD^rXp8Q79}L6Y-nd%9@LX% zxMoCTd?1sOrB_LQ3?e-AA%9^Thzrv}dh*n>WNrN%)Nf+z9=dVwvdwn62TU zubgNt0a>bM#G&CvP>Qlthof0gTAoR~g&b~(y(;IFoQ6uvnrrh{ibuCbThL47P;wO( z$eP|{j6vhm5JgNyCxj2SETRS7DeH*SLyxo-w5`<%v zts0D>lS0Ne2Z?Sfx*>Yqmo(-=^XXpmCJ&-}+!*WJw_i`=kA4f4`Xhh1-__XMp!fkY znPim8DS@M?8CPpIT`iyb2n%Mk?vh%sNOxVUoD%hpND{BEM8g?8jfGhMq8y$s;i z87@LdJ5Kv(5M?=_?ZjwzUSL%y!i?RU=i<*WT~)|D7$lUCisVQJ9$A)@BK0_Z3Vo*a z)#tksC|LXqx*twN-L#>lZa|l%C26Oq%QWaIOD(pVF3?w|kk=Z(L2O2d*GL92r{v?m zy}R`P5Wx^-`YO7Rt-SH|hd0Sf8kA-r$t@RFjIqI6zbVhUYEnlWh?XI-j-0njSnm&b zqru|Vqe4=cfXWrmx!aA!UPiT03IKcNIarS4_pE7hC{Y|J5IBz=!ngI6)P4tBGs6L{ zkQ7u~%Fx$~L-vk2$=F?(^uVDLzBun>$Z&jtp5dhW#XX4BG`$x-Ux59 z#*#@O*s^5)^u*fCGjIApt4zFDKac58$b&9J_1@F)X|$aH030wQ`+(E6=JW*=4DP{)MRf`szJs7Nr< z#5$tf-N`kGJ4*hrRy@2s@-+9jxIU2nZ~@q9AFsuf!TLZMU7)u9evXRa6EulHalshz zoMyhw!DrqR5?0sI2|9UjzNVZ~2B?J(Begk9Y7Wz;?7!`~end-K4%IV#|Ck^QnS|}? z3|d#vjkX<&liHyTU(#pPA=5rV*-G2trCmrclp4&qS)FYeXVKza# zqXD6X@uh4|b&tR+`VCxJFiQQ$Ex!qRf+?s^(KyxJKO`&v%CxKaJ>AdEJJ65I4sZ+F zlSNH;s3=vV?TKR{1tcE(Yl=;j@$~Fz4kSwSF=ATLk|5A=y6lENjKH9%Wby$xMe2o? zqdIDyZ(JPzjdPRUDcl<{#re5RW75T5Pe@BNBJ|Qq^V)8^ij=87?s7{gFE%+D-6npv zu5shMSg;lCHOqGe58asqD9?CBDbN_4zx9O8bweIuVlMxK*DONr@EJRo-vG8p1Gire zijU7$fB9k7=e=4JbeK|mtB=Q5x%%Rklm^?HVn^?g=~30GKww-T{bE4uj`pLg3Z@Cm zO``^e@Io7SPRg;is3-SC@*Dse0hCG;PC&|5G5}nsv zwLMIs*3M?E6;EsKE#7NwhFCIlD*r79+$}T|G|Um)F=5@eCQQtcL(VS<=Coxmt%k!T z8jwg9A8e9ltq|vYf<98`NPJdWMd%8cjJcP%O@XkGSNxGm; z!@*0AaEppg&b~0WlZqMf*m*|335Z)6-}L@&xDrIoy*@~#PLy-tn_j49SU8rJpxZhdxmWderGSeJmGL1N$ku1i*a zn-Ad>sGj$W7;_YpEq8FXiLDRFI<72BKmKipqITVZk|lN8{K=`v4z@zR9?QIsHMU;o zLon&vj3%R)F3pr_8srDgjeOeLG=s^ImC$6`o0qLtZbYcb5 zCTjSsl4K&zLHkRN4EaG%bDdI$+C(up8V!?MO#mcTnByBI+h27%b5p#Syx# zx6r~i7w#v83I7&(HhjUc%XLVtBh#w{8~akN6ucf`&3{nw?Tp(*uRGfAbj6_%aZTcI zWvA;M7uz@3&{XX&SK%EYcSUAofWcVXn*}O2?02$A0*Hfl7!^=r9V%1M!FkAV&;@r7 zPN?E0w-AthgXR>{g>z#0qVZ1cC9|quK4x|bs68E zkPexF(i}Mgt&j|j*ssL8Y#Ofwv}{YSJmtMK6I^1vi?2ME`$5!*N zlV<{r@R)G}e&FKGy#|oV4<985ug6|NVPfJ!hr$x{p$(tUMt}#9-fQ## z7V|>@=Pk|KOPD~31reB%=>hqfvfc3zN{hOIa6|inn4?n}6SMO5Jv(M%Nc7a=jM17n zA4Nk#M9xx0BkXei&?WWV#$Pt!Qg+)eaF+{RKrh<>2x0IwNEc;S?Uz2#O9dBGvl)U; z-9<=l{c8~hctrgu9eQo26#z*ZhFs+cIGW?K*&zJP?GJ+GnkgP7SM6p z?(rt-!#oh;Ae~#3G=t$BS)K5nSGSVvl$oUz~yRP`&@=1!YQ`jnH7$$qq)WAS!opS25jYPM9Aea ztL3F|oA0jF??w(HrD!%RBg4~W7D2UXaym)M1#6Na*Y~<_L`K?S&JO^}40y7NZgA=% zqI>Bw=9ByS#nF&TIgmxi<(4+N6EE?1?{B8I?131Pcvs6PG4^m&3qtr|@hQ#Sr(jG) z?FSdBhFqmaX(R7kLi`|Wq)NGw0M2$zKN6!@6Y|I0e;jVx%x;hB%*qY zu2B!^PO_0o$!cVPr*`2*P^Z1u^ZL;yN=4+Lq_nph+}1L}+N(v-gJYW?r1`9L_Q7jtkPI;b(4~EOShhRa_t?z?9|Fy z3z{Uk`!yY}#A=33>ua+YR5DB#Bj0GJ*oJ2NcQOrU+cg;|ubOO(Gciaa+q*8mRRFKm zE#=kj2)XQ=rXjKVUtac%Nnp4gg_kt3oqK%VPP_3=er>bN&P-dwx*wcAi$Q6Q8MAml z2{`^}pa1>!EUtIl;)U|yD9(8}WBmO~Zv16e+2?M9jMLw!M^*C1*Y)O5fy41u!8cg@ zAxRnvWtdcIX=~%Vzopq+wIxw-A`Fj<)MzcQbx?BfpgSC@Pj?qpCSqok0&P`uwF||Q z9g1I*clCyS{?5Ch=-cfV;Ja8atgB7IrpWe5Xhzh} z==1Z;pZ-{+$>;%N!QX>$u_IQK-l_j7x>BN`-E zQoTW%{SChmgE44T2-FyYeI4r3vd+Yoxmo=^RMgwi|JG-45JOZhX(Lk{ru26+j&KXb zEi-`lS&l*{mh*!XRhd3Jp{P#Oorx5x8LT_lCe&$ejmWFhzWq^bSh}I$L~uF>R2G47 zvx{jM45!J(DHcu(=W|j##8S~uosH8%gFZef0{(X5p!Q--%^s-Bw{bxytfx#Jk1FQ-ES`nGzPBV&!#*UHYF;enrZI#-#^)2@Kvq?>>B{4>#BuS3 z-WOAzt}4m$%3Cawg&+DOk_)XdCUs8- zviq?sDnJ`2CB~2Jj&-p{k;eRi!l5Dn=BWZZCM9D{~1~mL`fSNl0_IsW6(JOq9tAw<^*u z#*-r3B8}GR>FnG+HofeK=J6jn9IEb|&Ag0!!2My~F4MeGM0WA>H(AtumS zIkPWR#T5xh*Hey6nwCzA{)|j<9_!%|N#Kl@J!}?8Zz-nk6Y?^yQkhY@b)$chfqDyb z5hoCp&$2Ti+x1y7oR6rp+jiA6t5u;)?cufyhos@(#OdYjqID)Kgw>ollI{vV_e#jk(jhZ5>ARVyj(~t!UW;Y-dm?a{dA9P?3F_Rcqze zZz_2Dz4uizGGT0(5cEo%j>ldYcAUy79q6Qp97eLHLC{$Cx;h`^dNBLjH|ut?=PIqI zUY5Lsj6nzWZjd?GC9`#lR7+`oNAKhe`^?s0aA09;`@?Ud34)f>{xn;nP@Uz(y#83J zZ;`wUeMLYkw3_j@)7vXA3!(%~LC!_i*4YYQ#GWNlC2;Ydq^_Y{3yF9ExweOEhUc{x z=PbGeJ@io*?mwAG44w`y2-zr2TjR|i6hx{-K@X+w^bOAhLU+GApUOJw`HVlS$bWjJwYuLLB^a zzQ`~&dc(o?TD?IFBD;n2Z0HRwVcjiKq_Xm$FA8!W*7O0OY;Frk%m6!$3c8_pJ7gf zN%{rlKH{p6G}>s})I~YD1*)zRjLAc>TE@p|5|7M7Xh8hXY_DwMSIxfXw!);PLaABT z9sXX=kXZtb>m~^oIP7rU>Z7k-BjrUUBt7TMdG(gBI-YF0$6b|Yuqx#9+`>AyZG8~& z55iWW=+oV5W`cz#X}j6vmmh+)MD-i>KjRzoh^s{Oipk@kP}{rUN;PHq<@2N;vL-II zkmw@B!YAY1GWTl~7 z;!AJdi%8nSQm(~EMZ*H>nk!vRTVn8c`SCqZJDy~*Ij=xep$ZYdy(-(`{Urv{Q^bgN z7k(sk$%5hLz=7iz68Th0vaAd|A`y7^-foIE+mb>T$Q@P1uS-P$xtY26|6mu^fQj+tAaYXi{lRzj=u+vNs*Mmiw!H`E)vmy>$7OAY0bbz- zU71)FfdPe)4kcn-z5A@~z|Om{7n0Ka5t2K`mbx$mnbQVjESj82M1-Sdcwz!cP$tyA z9;Sa5f^;iPkq8B661q7Go@raO72Z0AWJ$0>RAxd4zRxUjb$y3`BPS~v7L+U%@pj#U9*mXShY^RB81S+p_R+?&8V0{w7^r|hB$>*Qy%Nc>d}F@f6e5Ma zwoa3>r9prd7 z>6G&tL$j{AchEt{ptc`@LQoh~NSA^`jLr)%K$~HR^v5x9g*r0&g*IwCwVK8bKqWiW z+eHbfsO7bw1AWL3H{K+y5X0?=&2iQm@6axj+pi2i&UQ&~tIZ#~v$k+?Xfx+8MZAE?K0{Z4C?HXkz5R0~%{wMDjUQI=#Rkg-6Bdx6BNBB)Vk9X zcqvmXQt|Qp7#v=MddCXIa_ffIDAqnXXBv_3y_$!V3~Oy@xW30NqN2T*G!bdi4`*p? z!JVK(clP?5ZHQ}%x7YPhL05#B%&PjFo>5S5n@1M^NXCTtTc4pszN%ZF3jdeWC|~74 zo(!Q{!*Fl9d|;|6i(JxVEU{0hg7_JZT!SGmI{T1dXh4kMf&|(o){o3l8mQu~(ujyh z^sh~bF2V8e&by>USPHa%``!*dz4TCSnGUkwbKuLSk6}|E@4SsU@hT>7OeR8Sq8GJH z8MRBb(&`GRIBc&7DAhPx_8cFwVc;n1>kM*ojOM#(r9Wm@7des$?kLvW@V@?ufsV z;tjwNm}LFHV#z3*Y;WEKhAF~W+Q7wyO*+AB;a+cc#*k;9RUhv7F-3PSrIHS{6``sn zfN9QSaXI#4TE4~m_1_dji-tIkqY4ZbZm--bo|L0Cid;s3z2Nb@JO0^uf^H=?#>V$k zF(LcdE3RUz$!KK$yt3u&6Moae#0H2iBZbPwsU18!YRGL~j5h71d zYDQe5C9Wv2QBX!%FV>@5-m5sV!l2tvM1V2yHW&8OeB-AWe466Jz)Pt*Jpw_FN8U02 z%2RqD#o^XrVOY)jT5Ncy1aPzwjtlw8P>)=Y=$qjxxn=o=c=W!%o;=-};)ibAY-*?A zpAYN-`9T(!m+zN!)oMy|X|jfEKmPb3OxYR-sIRL2DQw8QNQ*b&-~*EZ-Kf1TXn0`_ zM#&|3-X{_uybYC)IIMUkK>F!4-ZBu|eQ8B@s_=TrkIisVu@paL_Y5P;t+M0k?Lk3XutXJgQI z2_dp{)_m!WnNXIg%zaL)K~eaWx@XS$dQAI zD=X>IIKh~s6R*Tx-86JK(sa`)az1WSedWNn(cU=x4Yc%j*fLIuAjx{C=7T-gja|8_ zKER1R+<9E`vIPp>XLSTZL}ud*b~b3_vGB1(!s z5#~Q{Wn865@cL%d`r?LT-719LTd#?6CDpwws6mSqscDInS%mY_w57Zb5zh3G+;wP} zd4E!0SUM(3_K=~Serv#DCRuy-OWFL+39hB7DF<`Jh~)gq#d*)Pn1OevexrJ0z>Nrj z?ur{Bj!aF*wh#%a*z|?p#Z3RGU_G&We#)nCRqr>h)BaBpS5lg~?T!Qq{V z;F6!vUsc^le}jrYwbxYuoyw;FQbvmy3HXQ5^-w3_!7hOok*ahOw*gOi|3ctAVnQ;N z>H;!V;KtQ5i`B($5$&8QQ$J%$nl9W__k;VndI$R1I5lJc1X;kzrC5eLRT6@)xy@&m zD|*g_s11Ik!6geF84Am(r#OvDrBJWdK&y9yuAeYAQEtSZygjyPmWd)m$he7??;i}& zg3ZB1kP)g@*R5z_>6@r5?}9!Atu2Y7rfQa}utn1b`uKcmP)$N_%WIjLtHQG%k`bYp zJj;z>Q;BNwGaqzvNGrgCEthVw% z)=ElAl87Xua=(ZVeAX$JV^JW`2IdDh&-_u%X{gj~=h>6&+iA*}7KOCzq{kw#-PR$7 zCr_~;wo|mSU8Lj`QI157)>Y8o3A!f3MS7-40PV6d$ib_@R`M|D^uNE!?v*3EMK=j0 zh_jB-KnI4`m6{wU8W18T4_zTp4Bvhr)_;o^xF?4j@Q#X^JQBHQz$*ZnVFIJ+IxLJ+ z77Im6;~8i)^z1J>uw{(kvvJGItVb@2(HUlyVlZmd&kxgbN4E;a6cu}H+|6m2M=Djv z14&b3*Tkk}CK!3Y5B;U2c$NQ+)%JQfi%@=$gH-w_mB5id?i@kUKLei;2GIux24@f>s>fMJslX1^XC_sy3;8DpBSqT6B?5M*}$>6-D99 zR3ge|QR?aC*?<{tEjUw#PK~YNT!S-%JdXinL}9vo45kupft=qoZ(vpS$>^F3JQc5Q zqv%_gyY5kH<$6`>&ym28eI}4JZ9MiBJCzg}!oszoVn(MDv_f7YEc! zAK^&tWKr0%qzgI8_PTu2vNEPiRA*d}-s~=I$)5bU5$NPig4>sMtck;u<3rjoPA7AM z)mBWY3gX*-!>ETl;9I6h#^WjU_u#?6WfN#=(!|izf`WCPj7YY(wWM>l=J?i3^&v!D zT8~Us=g&o7Lxh_M@r%qkeu{G2YV($-YZR7++_{l$KG65y$D)IfjBZkaIP&cy5yR76 zvL>Z5L;9fHWW7lTRMPqNOCY5?E*S>_->OgqBP#8^u9F2x@qs6C-=y2^I09~4rQB#Q`0hZrPZk7-I4Fl_X##%tl1-jtKH7ZeL~ z9tFgInwT{6_Z(!aVMgl7KyXAmDEx61W$JoHs~o(BLfHj;4={S|GJl8ammloIWfP>_ zE|~$Ch|!06Lz6DB!rQawv#QHnC2O#g67 z_zu;x{!GM~ceZz_tTqc(Jj=pWgCm=`^b7F-F4&c1{L}=TFR{m{pU#eO#wf8i)dl>! zd1wpOOWdDC(FL>qJF1?FqfXS@@PxZnkiaBB;jHK3wImTpYV$+6sWiAT+mtid`V1+> z^a!tVJ{G+=+8w>Q?lN_l{(>`lXg;i z*yVeIIRATeL-@Nq2*QPkB?;MxRE_(8$q!h2v@(SI$tIHZtxmhmDoq~c5t*;|Fqj+~ zB@)SH=Adx(YCtxRnBG}MFn*##g%FK!EV8U3%J>I6UxL8VNo-U75{k&)2}%m70)Y5) zKMY@&gAXmYytcNPkRp1hECUUmRoX5E^{^SkDR%~W;uDq{a^1QvmgPMETN~$~jHB15 z$m4!=Q9l&(mBdb*cNPWNh!AnjFNuKQG>j*csR7XXA9^%_5$U@~#2t43+tzbpxz8Ii z0t5bJ6_+ha$>7L!US1qkP?#uC>(HPbQ$Yf{SMRDsPw|c&UGYZiS< zG`bPMc!E_`mf5T2Hy7`hEA_fm=#Wh~d9w`C!Z(#qgMXzj9DK^M zN4*OZm{FI57o;z5;q`b?pZe%N$0L-RS)=WfY4PN%n-^JyGSrPm9O?9-jdNf2L}~kW z3)4M=_$X-(ktzw;*~DqO!greY`o>m5K<4{QSw<0jKdN#gxZg(AE_ytVs>fLW{+5TR z7)D|+j?zKD5ukT`jBh&xB9 zHS#E{>nEJK?c(}7_RwizNfl)FPPtZsD(V+_rSS20^zFqAHK>=f9?g0nI$(LJhA3?G z%7kQ3jHW6{5?Yk(J^aCF%u1**jQD&9ld|^Wh1$p{WbRTOpOPxT{dMX)o%T%~iNRR8 zcMTNdhCaa@usy2TRMlN=lnW-OWCJ4?|Ch^tDRuOZCmX3`kEm}ai?iwA0SK0~Z(&d( ze|DbYS4Ml?G*#`T0T;D z(zQm(2oKv@bI$jqALxK2S`=P`16eWeQ~E5JO{~<4(fp~r)-;jQHk(HmvX$1$i1sD0 zxEBxx5<`{9gzJwEhCX2`?{-voL<{|zkXcAxmsd0}tg}%r`?!dP6xm8mR-VG5Crq5B zkgwSM8iIU-zJU{h(NiBga*xJ>3&wJnCf5b_^IVN4akou7nEnPvM&*cyEp57eo8cQ& zLa9v=e=LP!E3`uvJhr!a1t@3(>K1gr)HMCWMxsDOi?*^%lz~#@n$Lx0G!#C1$V(?( z+Jk0VCz9T&i6x-98xQA^j{td7tFDWTm_^k|hJ*TXTfwR`Ypa0INBMhAGad4pxY8I}F%rRRHq5>|k!5cLLUuNC9(+q4 z8hz$md7?F&@RG_C9{o7?MDBF=I~#HD^kB9_QH&Lv^*X&q?|U z^f8wdL7Q%VQe#NcF8AJs>oM(!U`UFjJmnNezikMUx{+uuhU*+i$Yn~(?O=?A9WLq5 z^3IrbsD%|=|6_3>jB-Yh6{XGyvt3QdC7f0skwg`N+DfGLyH-h-L3WXC^n$HcHPpu| z?O8&-xjp_W8Xf=fHFay9IXj8xzDxoky3SP+jLd$vjeBonxpydj6BZ|7B>%N>2c15k_94MPLz}!uKfI?z8%!{m6YkUq}rwLFl>i z9vSDXJkN-Ggc>=Gl>a3QX|Lg{B|@YS{Ask2qZHlab~CD@Sgdr83H=Dc;nk4~Wp){} z-2W`ownlUg4>tL}39XkLrKfFnQAjjt`5YZu3Jeh+iE5FBA=8da4GL?cy1*gw96sCl zd&b+t;UoL#w6^>`dvT->b9DmX7XSG$^Ch{nTI!wo;GqZ}CM2sm)R4n8~2V!2I*DRpq)mPCrU| zheA5P1fER}6itO%!p>Of>n-tEDE|}0`%=vXKo0WP3GWYO=F{Hshz2MXNo1inJ1>d8 z(l)&a@|)7S3~~V(NI}E*UF0$8g=BnrDhLmx$c0sg(zMa_>+fcW-az3+n6xeJmjPid^$7o&=h_Qjx=>GW0JIV0zZoHM z%@+$!Uwf_(DB=a1QtP8(r@7bhoV(Gmidi{~MC+f;t-oy<|7COPq-+^mLjUX?dcu!v@j88Vrwj{ zN7X3Zfm3!AP_+MA;2|g{(4@2_eZI%>h3`o=XyNM#6P{H0o=Co|Q2{!^j zoPMZbPnJ@Ia-PZ=oKwm_;)Hk2pye`O464AMpN8Mi3+z!nXmZhiA8R^5XF@3Ih+@;4 z?K6-|A^oi)J#iANbS37TFNI02Sv!MvQ^l6uc5tIoljEVEjlD>+7wIGQ%tEL81JuJ_ zmujKCxSL2;RhV?1ZUy^9YrcsrHn+4H&ah7x7>K#+yvSDJMbs42R}~(B4rKFO6jf^M zgNHQNrh%(v74ZjyeT;Y=^rTj7;=x?A6QDW~&*)0KC@ykTpU>}K%70@@#z*_+q|s9~ zboiMf5dJch(K&GU>r>ckEkv&{3&yYN79|lL1djN18SloEpV#KR%Jq);5}_g_Gp4tY zp4Qeeq-cnQH1A}~Q-pag*=C(goEh5XJS1^BiU}^)QGv)7Hr%3&20i;o_}~KH3r%ju~58*zk;4)ROjG=L!0>WXG-keV%`WhXp!5 zD*1K&4_rD=RG-quR(Fhw+xAm3YsfT31iP@D>a>1q%}j0)N^GHHO`uk*IW0HCUM;jI zLfC*SvvwH>cP}}BMcRa(s~_Q%o>6MiqT9P-X(kGyXb8sM;f}!`XG%=c>Y)G_V>v9< za(NC{rDmwqO)UpPU){VH%7Ke7F)SIkyq_&IG}~a*hi}uD5Q6`N>Ei$W%19y(-ik zg|h96A_ZL%;`MZZY%z9U+~M~*BAmlW;pKnYC;yTgMHb@DsUnEH33M7%5-5uSFiG=& zuc?sW5^fO@?D1m!*Z3Jg2Z@J18uq+&3BCx`H?u=OKBh#L{Mz*x)vLJeL~q37*vBzq zqnJd9jfN5`7sK@$5ytKg!(Z!+{1^vA8wTvN*x`e#OYZQi)Yz;#`-3uc_=jT-e{^Yy zb*|zY_X<@{c!@`MKLF0LjNQ>S&+jxJNW~-R*Y=%nnfC>Ox;xwIy94!Fm8co6U z6a++qFk+~$EA!by_=UyU-oUSEqa?Se zH@y^;T^g0p@$f^f^%0V{A>ToyR33S0ryrtggaTPJ}0e|F+3dcG_?N<4(B8 zj07NWR+NpdMlGY+ke@(|`7GGk3r<^rnR%)j3Qy>ceTi})k#w4wVt++d)qt~Q`m12m z#-~Ogw5@*xCOL;Qk}8mivUZh$3Y+%r3Irn5>p9Y9@ZUC3X7bM-B1Dt?G?~|780qUk z)TfPoLWLfJ?qcwnKIaXf+lDa~vCM_anbnHgLQpMi+z2*YrIFM4;g{oAlW8aok-WR} z&&mfVn)c)PMP%26vF$8{RLF_8;gAK+Io5QYI`qoOAVz-KNZ-N#vvumSHjkvLp5Zqn zAi1)2dIn`-=e(ZA6fW{ViDL;BGRpW6-P~`Jr{{?*OodR zt^C6|!E#q#XTce^E>=mT5_(6f9cc;FxT~b)JC!BUVCg|ZeAG=n{E^V6-Nu81Fe?!k zyZJds4@J>2e$$^+$P?kJK(4z(-36yPT``}SKeNd=J}z#!57nMD9ZE8!rJWn1iaj}p z3J%u~>M_?w8Ah~CsL|Xe?6#{(^osj;Iy!mw6T?rvxdoyxwj&6zi>w-Vo1=3eb}%iG zoc-E}2FK8#HIAdC_68j^p|n(Vxb-Ajw8u_9!^4jJ;g?@hy99Ab_%`PVksiaC86zI}}0Z7IzaRQ8#kLNFc&Mx17;Obp|QGPu*0 z*s`H`eb7YRV_U56XXBzE@tIpDcr(j}E6e$<TUbGY1 zE!{-~9^8H5UOpf^S_?vK(;^f)#pIJ~@Xx%kyI@AaSgi0sR{OU65IEMRICFa=B=A=i zvpnmMY(sP=wCJ*x?=X71)2BOREpTiVL(j2msl~3pyVL+^JG$iYZ*yr!$qo1d;jS)1 z@f(d5=oPHvD80Lqj~~Ve3Pz)@si)DG-PD!{q+2D+N3sDihwpIhIYgqX0onWC#GJ-v zUls1v4=m*lXO*rd;{Sa11S>aO)1(Fb~4xSn-MN8c=@`cey~)C>A}=WxY7Aw znoqFlkj|$J4u`G3F(d0G%zii1H9zTk(;**B0*CqgCNxDQzW*tti2X5wv zco65O)!PEw7eE-r$G79`;+sN|#!iLO85dUUXizCyqXM#I-f%KW`<^RL1gk6rxf7SoiARe({@ z)84qgE2}?vP27T-M{9SK)Cf0%=-?+_=OeqEiSnD9**|eC%AbzxfHN zEsH@KkW~}=pZMESZk(6MoJ*0i^AcCqoVfo@LL<|I{(3?~)*}DJ*s_@)#3Lo!w^3UUjppvAK1&~)F(_}HS!HBt9Pq~O<}7zoJR zk}OKzzlE%8Xszp3?$a4iUB&;}&;)3%SMK499{>ra6^bRKd|>e-NNFM3SWQ%8DjB(r zkysdqIee{R$0B6C#^U_d3MMbm{`(d=!6;hE5my^mEM6SB|sa(hs z#<13lA@*c}{h=7Fw(jTm|1`)Pd{&UzKC`%aED^Bh9Ob~voc|j5L|Rn=JT7F`&@)h%;S>^*b)2Rc&nDpX9LW)H`T?ydw=i=sw3O=! z{1*gG(XEv3UeZAK<~I4%IvhS~m>9GwNBg{~KMW;QeQ`xq!6CYG7w}U#^GGlThB|Fv zQg89x@=#BZX@(ndkV`?i3@~PIdP29eUy}8G^PMcC#3YI?$tkxx zLBblHCOa-iG29#!vXy&F3lDv|NgZUqbbB^P*)VLWDLzaHH$9;MpWQE7$rrVwD8+v# z!(Y0>jtE1Cq1w;M3?+(hM}!Ue92)WZy&!3v-vsiCUZeUVL2-SySlv@9e^)QJEO8@C zvE>Iv$&hdn{m~By<;q^Hfn^;zplrK3F3>TV3(GgOj+`K(OO&Mh@+|jWuRmYe@M~~} z@@dLKHGU!I=!PQls2ftk(K3t1PFobRPD^NvgN5AmVCkh_ZC zZ)-($^pv29Gxtx9mn??#vRK~kIWhJoDeQ_BhNCkc)-RjGY>QAn?n++1M8#nQ15W$^ zfl5j=V!5PD7|bD%%A0fg0C{68t2-0l>}AUD?CHVqKUtO@2P9%Zi;^v3;5+PaE6thR zC61Fal)X?|4)6Z;RtQ%Z80TxETbuJ3;2>eRhXLXY3$m0JTco9EGyoU>h*)wCT^mVl z3mzi0!2S)2m+W@U!ntcnhLA;f8=;)J4Mfi$O?ez|-=9iWX_W%eHCe%? z#&L4WgtkbrYdhJ}TACUapexSH3Q?9#rpEDK^NMK>HX{Uloe!fJquSr>ThTc@KBkKB z{F*dig8+>zt9G_*G;Jggfn)tlT9QaJ-{8;+HPmV*&B8{kP?|$F!8nE4Z3x;(^wde$ zhJW}4DJroK2;!|QPd_10BkQFGI=-@!`~mz##e`FpJP3 zXg(k(2)0}y_BLZoP$^o0E(ei)se}v{ei#m;og)?6$calRA@l1en+Afg_I#B-sv^^{ zl>%YB3pH;Ww*zD9-7zC!D=DF2oYb3>L*=@TwY_$bXt!djoudyFWp5bFI^3f@dW+G) zR97*p6e^s9uPqXp50GD`#l1~>$b&+YN4=A2$gIa<^o)R204h)p*74>@o?T(+Bqe?p zkjXdyXZo3csoY`^JFe`DKeLNjxAlA?rS1uhma%a`X= z(B1b0OW-1<+ZB6>QaZs5=ow0y|MhQ(o@5wWOBw$AC7pSu7~oEx02PpIhdAF-6g}U6 zsQPyz;90O`J)Iym5WRE=yAz@hz1k=~X3mu3*Jy^!R?;FCDkkBBQsrUTw+MCVcue-; z=Z?YfO_iQEV=_&J?WJ!e(KJ741<*Qzm5b(RTlqNr&}Cu7J{sx&t)aWb5lF^*tvS;Y zcgC(8ht)fh_fq)E5`CM)FT@ombH)^DuRgx_mZ`=(K!HNy(yCeB^8fS#1u)4-QiOW` zrL^H6QIGkb0GS+SDv!A$ZZ2CXa`5fuR8(5u#i6Up))0Xs##2>;Me z3TFczY+W7kd3P@(P!hxvHgDcn8-N%VxSZ<-C7kTA2Zhw$Yx7lscUv(q7W)S^%-*g| z=JW%&7-gvxbHhY;!&~TS#dPrEU~!q5pT~~alSW?i3yGtM8UVOpZyZS$RFA#Bu_eNu zVh_L0W`q1VkUQa}Pyl0!Hr9Y{00vVI9A_X8z+9^gpi&m^G&7*b5!jBt2sfbdkS7o? zEKwYNk;$CU=NnD38h}b@%KhE=0*ZPR*lmY0Vty0mktu}H4s-OeIoORi8tyofOeE=! zKOxED6fYqMtb>JeIyc&oC(a4To}0!b8b%HO7&#pTF?u$@n#2Xr05W6yn1QEyeE{cK z8gSxRxVX?2n@EsiHW6ZCW{sI!S{NT@1;JTo5+ICn4RAm`6PQ`M zAnXEIBQ%If4hv9ek?N*Idk7JiKt51Il-U(Z6EG_TN+WWLsGo&K3`UnO2}sG%P0W(c zYu`|XnD#X)HG>Ke%*D3=iPplc@0dl!`3PR+8JH=th&5{@dKkDhHhV3uisDADKQBQt zUxfiOv9g&d#2AKl2a#eq3IYK8Bm}b4m6-Te3HMckv}Q_2q7RK!N+1cEeB8vEgF`{I zG#z@ngv1dlK)cbyLV3afFI$ZnhW+*$BP9?Mx8Kkw@uU27Du}GZAb2+;;goTjUcunr zMpr#0VaM6Xv55=$?@f9U_2lzUYbe zu&E*pUHo2k3tPvD(bkQe(u<*LCFi#Svk{nucyNf$)IwO3mI7q?yvR(W$^o=jeE8xh z#L3_the8-l#aIHrV+)?@jU5c3M(oVuqDF)senQ7A$;*!V3Az}XLefrG&PR`F0LawR zqGo*1pF=&%r1zkOWw4Di_)gmb1sRN_3L;>_HYQ3P~xdKlye)(rXHj2Jld_-BVZ zqRQtI06-5y`F(syREFh1xH_Rm0Z_Y8hzLS2;ITfS_03NhuE1D!JfY$s=6fv)sWboy z2E;|&WW>*(MnLH!D}8ImC+*$m`_fP{G-49D6eSeFGbTnTM3~3{l@oO}$eAEN#rB^o zXbIPn`B7p?;)N^61VEt7rh+Y?#?VHyJQ!7jzQZYn)Er$11dA~q1LZZ$M8!kPI^f!F zgt6dwgvgQ%iEALZp@E_fPTFe^WJa7~y(DM# zLFOQ1JP5R37aqy61P}+MBAAJXHp-!K3=VS=s7GHnAx(lx3{Q|0f|5um2|G}j@^L0e zu2?d8j@5_DvASX_3qervFjztktO3wEPcqrT#wUgADCOt|z!#wb0+^RIm#H91hula= z*%rkVxhzklL*e$wg%^Io5Q@ys20~^4Rv(H=gN4G87($sLXc6qCVwWuexW_@X2Aks; zw4BmmH}!C3$uIX9)K}S>X@GJG^o z;TadjhZ9e1ZQ6;Bsep@7iF}dbyU4`20hsdprX-@U9BfadD$-nSuAz_A3`oV8iqhofCLnkE1xk$KWDOQv5X{V#Sc_^TogyysHV(KbqQOCc_kl~~ zwqlFT3AIwt%%C*$7m2)7A+#kpng-%Mfb~tFJDA#g?K24;qp!piS6IQz{8J1ic&0;Q z9IM2SUF->f1RBkbycP?wL@`?|)M5~NjjH*LtUmUZ7SY*kJkiXi3p3BeA}Oy3sEsNC zqNRG3$J){;4gs2Z;pan})%CY)35wJ8fyJ6|cYAmOGL&Q^z=y?5H0!=lT~Tf}hA~Ah z?wM`Oj=912;>F5e@-A_5;uf<>4VWPE|o`?Xh;q42rA4XiVYWt zk|c0xB44EAZ?GZ0b&Hv%#fmKrKqYniVYpGN;BNGa*xP06`d2i>PdB!yriG-EORngBiJA-y$vMbJtU4kt zLTg)vaGC)9H_EUbjV%Js7K58JFb3(bpt%76Yf0%PH;%S2qV`SYXlr%I;sNcTC^m)6 z57h~X28FM_MGIF~JS_kaZXzXDbzJ6f*rZm+ zvZYFbaB;R9mQi0MqY*TN8kei{r$)#z30YVP&D`B-y&pS}O^<{Ih~FH4_b~?bRwXjU z8EI&nbSdNs#*Vk$2~1f6C1V)s8WYhp<$mbyHu9b;H6oFl@ahHg5Eo*j^JJXa4}EtR z6hp}v`9VntDzRW))-eK{h#ewI{aAw?ke~lZDy9G|P=UkCAZ|en-)VvH8#SNuW{3(n z-!$W1m#79Xf=FTD;au zCuyb1Dua%UA;HWPuP7|7X*^$|1~~c9ISjG;d_1qmpuy@~#j$r%OkHG zfVn^KB_~^3wVYVs5&)C59~D;q?E^~9KxLo+2KP4n3nP&tX-S4Un#mlrMJ*l(6X!5w zyI-OmKVwEGMZGjiWLLTYJnC-rVnznwbH(m9!1K=q)1wH^5S9Sa4cEeTJ_rZ))V9;6 zkJ+2I1ZEN7!}!DG)+?RCB%`Dc5Oj2#n+U)MMvK!iC=2S;Wy-BN<0MLKG=zQ zbS#Lx5Ez{;hT8iu7?||i063nVbO}~+=H?^qG<_ixCjzQwfPd9Zg!2R_hK$FrkIj=M z!~a5v`u^vO3?fT1$v~d5mJcKhCTqgQi*gCc5Wuc@sUbUS73ReY6v{MDi_SX=q9Xpe z9Y!F42TTyDB)wc2LL<$aN9oQaJWGj!14w!{NhPc}ILge2tO;Jrr!=01QecVVADPXa zp2R7qQGLXND>_gbY$Q03V5e>@0_Yu-;*#hbA~wP*cy+_#OBJk#Ed_&=oe~EAZ4-zK zJBT~pha_$~O)yjj7V5bSECy*c_CqWN^D`zupU1eXn|=EzFvG4&vX^CMEDaj?8LBg= zyvZpp)bxRJM*_d5!?;q#25Db#qS(w#CDh^Fyc|wdvTJo^4di*KBF%09#8NLl8nDSX zfbuo)l0@JlaHIf>VnJ{jujok`?F;gW5Y9f)=(Iw&Ac{e&p-C0Y5krx;^$eJDzC)}S z`A80vFdV(&EY*yYUC#~A4?Cb{b48!Hkz(KAF&23f2g$7}ELsI0;wlDpjhqzkf=;+v z;BLmLG_|c6qKWY{0jVif-Dl7H1QZq1VM%a6bP#SCIAb0z4_C`Aiy#2#6|0uEs3)-z zVNpSa$GBONG1ut8Q6!ADRDyzb&yo8X^LkjdPVkvCh(z9S4T{tQLzbrzIF^C5R1-uu zx(%3zG@BRz}9 zm7mLIpAv|&lNd!|O*b=~{k49l&HBxp(IeG5nq~R1&zk*~e!!;Z<1cPdWYqbW<>_F6 zOOd`ypNGgv`VnqA_}!x~J^=a{jfMdC^vBCCXEsw(;=lk#!5e1W zXTAx%S%5<8;F($eAvT6(XY@+{Fc4rVh>sTa2?ctKVpH?V9%9};Ok7i46AL)VU|L|k zDPKMrs3Z8sTtX{F7g2eHjtj~&Vr;zipo`xv!XC%fGK%)wmo5mI;C zg%y$Wcsw&Xunp39<5)Z~QI7m-2F`*>H5n`5ybah&itG%W42Td^%x$tpF^!gdNalGn zF#RmM1H5cDKih-XCk8Uj2M!g8AH;!kp!#J_hf+$Y6QV>redM}SzImCj6phQxm*dgZ zE#lYUl4RKqiCEcbdWcEA2v5u@L$2n+?9ER`P z5Q`KYxa;E(Cxu0md*Bq*0i_EZ*7zN;z+|Aw_e(I4yT1KiT9)w?%!=ePMtsYHRM`{D z3+SnljcUCM_X1>T$LQoT1arbN*%qJ{?`Nb6A=pFzEcUUehj0M3D6`u`P*)fOe zSru~_t%vB{Q34RSbllTK4SHI%VAw?ezzQRB+8rKPmEP0s~VScT)8D+}Tj0)k+0erg0xtGqNP$I^m90s<`|d(gsHv(Rqvc z&OQuJuhht14?%oH%%9*MCS{MBHQ zc_}Q_g#jWs8v|io90vggQj~{OC{$j@@kV%XB(WOWV%V6NwrQ_@I{1h9^-}I}49X}q zJPzkKkOTSTWB@pdD1=w-5`oBoW>FR`O1a%nH@IEQ-w)9({I1-kwgLvxh1X>$i>_Cj zc5Vh*@j!@Sh=8z$<|}Zq8R7aY8i3f*aO{ZfRRMvklI%|sBDp~x`!!#wmIUc6%HXok za@f&s&gyWtp&qnbi^XV zG(cQj0aSb4{t%XeMstz4Ka$i8vS~8eGN7AbO05&m5lk=fVZ~!lhKz2+qE%fdAgPGT z=nI!BxUtZ}WYy_j2@<%hpL^m}m~Z6e((d0x4h@`Kh(y-UVyKACoRb2T3IpM8Sv0Kv7IA!ieYCSE8F1 z^<|CD2|J75+*>IHkqIX-G#aWz)n$coSz#*L{xn#gnaCyKjN zXG0)vOV`lIeT+uqSojG@a2gUKTmiF>hQ_|ISja(YW8kpBozD!%N80*^xOfQ-1aNE$ zXtL-L!Lf8a4#Jw4&|>1%k`iHJ&|__9H~_fiF`|>>$q}gk{{Q8EBVZSekQC)Qgv(D- zc53(urkhPvyLnzz(=J1GC%^7_e51JM`+ixYuE2emIfvPe&ed=c35&=c9y(VdQAzP) zmd~0DixtIoDT>(vz`c(h@#6@-|N6;rHN~;4xVD?|$O8*l%XQIK79I)PA5;Jj4Ug{8 z<85Im#FpG?<0Ak{IJ<9_I7u-o;6in#fa^`#lUTJjKPa-$5Y?Whx?psv@U3U4iIN=&>fuBTx8#B12;gG0j#pju{(jn>rBP0?nzL4DIlFP`-FA7nSJB*1g5YUkk_Ow$* z^Do1v5hcTddm7b!I;v~jqlX_loIAWKEs$bSqDhRBh&4+ zEHTzc%6IpM;G`!Xp>DN6&&*pmX0#{?%t+rxt({7*#eR>|4qX;Xd1<*7Y_;o zG9M2C)H1o#Nzo`oY;G6@rw{ym^biRIV;upVEg>LhYzB0&(SeBJ){%A#`LWV1&D21fUY%JwJFL;w`_yIA)M3bsKKY zhEZ(@g9#Vj{3J7<6E=o2B4h;(7+3-&f=6TzZxSC32@*D%c5My~>Gkj0QKG1kKV939n^XEuj-=oBn^Q1 zcp7_^e737{L2Uu`lktv%W z$$ZinJi3nWF=Qh5?t)HTh)S$}F{E{h)lUk&zT}aduY05rq zvNSJG<00pc+&oWMKgc)aE46{?fMe%Oa|&K9SKhOxj{!=J=&6@Zvc#_zSOj#7serR@ z6sxsv@O=_qtY+FgDdQB5UtgpQ+R7J8h~lRk!5VZ`M&BIrZ=~oXq3w|itBX$xEJS^Q zxQDuF(M%@)v!OX7xs)vrs@~FWwvcJbpYw>c!tEt%JV+l)&ikj}{1{nW+yYrUD%~W) zW}}F{x&&ThSZ2l4UIOn{n&w3USzyB$WH|bQlGvo%{K$xuSUgy}V=H1Dfl7gVt&9p- z;FM~KMhIXSw#Zr0XIrs~zh^I-1VML09`vN%XlgY4(P?cbOFl6gfqO>5ehMgQ15v)$ z^Wkyw$T2;MV)#n>A*yV)%kE{yy6tOz{F6}`Hw~HA-?5`224xCvNKpfUtr6fj7#caq z(C`o&PnDM>?VO`y8GM+C=E91*Q8g!4S|hL%&>kKCk%-+f1_pze&zU+Cc*+Kh2u6=e zbOr7aFy;(z7-Go7vA^mTCOjc}Kjokj^?^)z5uR1&hrTfYCJ0jkgr?gda8gspDn4eH zhY3L#s!d$_N9dWt8@;PmuglIUpR?5@VSL zsRDR+VG*5Ej&uG8p34#~D#(O9;mR^KwN~lDT4I1ovXdE_>F`U>!#INVSN&kUh%YS^ zmK0pSqdW4g#uM5seud`xQU}17d15pPr&H{-6c$vYE!14Zeiq#_zOe5UMj2??xQF-{zMVIU6tR86I z>q*)bf&MHMnL8V=lP&uqch@+$VB4aF#_&HW0zoQRs4|SZ&PlJ1X59c3a=9=sAE}$0 FVn7M1yXgP` literal 0 HcmV?d00001 diff --git a/sources/1597-master/style/fonts/ClearSans-Bold-webfont.svg b/sources/1597-master/style/fonts/ClearSans-Bold-webfont.svg new file mode 100644 index 0000000..aa985ae --- /dev/null +++ b/sources/1597-master/style/fonts/ClearSans-Bold-webfont.svg @@ -0,0 +1,640 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/sources/1597-master/style/fonts/ClearSans-Bold-webfont.woff b/sources/1597-master/style/fonts/ClearSans-Bold-webfont.woff new file mode 100644 index 0000000000000000000000000000000000000000..184a945da400fdcae4bc6445ede163079087d18a GIT binary patch literal 27120 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 QFw!zZW>;c{cT+4ZZH+4t-2eap literal 0 HcmV?d00001 diff --git a/sources/1597-master/style/fonts/ClearSans-Light-webfont.svg b/sources/1597-master/style/fonts/ClearSans-Light-webfont.svg new file mode 100644 index 0000000..1d5d2ec --- /dev/null +++ b/sources/1597-master/style/fonts/ClearSans-Light-webfont.svg @@ -0,0 +1,670 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/sources/1597-master/style/fonts/ClearSans-Light-webfont.woff b/sources/1597-master/style/fonts/ClearSans-Light-webfont.woff new file mode 100644 index 0000000000000000000000000000000000000000..44555e04e957649116504d8169f37e8c0936c92a GIT binary patch literal 28700 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 dO@v4$l8d2CKWjcdI;U` + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/sources/1597-master/style/fonts/ClearSans-Regular-webfont.woff b/sources/1597-master/style/fonts/ClearSans-Regular-webfont.woff new file mode 100644 index 0000000000000000000000000000000000000000..9d58858d809454e026cdebc3e766154ee8727582 GIT binary patch literal 26764 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 literal 0 HcmV?d00001 diff --git a/sources/1597-master/style/fonts/clear-sans.css b/sources/1597-master/style/fonts/clear-sans.css new file mode 100644 index 0000000..de2811d --- /dev/null +++ b/sources/1597-master/style/fonts/clear-sans.css @@ -0,0 +1,30 @@ +@font-face { + font-family: "Clear Sans"; + src: url("ClearSans-Light-webfont.eot"); + src: url("ClearSans-Light-webfont.eot?#iefix") format("embedded-opentype"), + url("ClearSans-Light-webfont.svg#clear_sans_lightregular") format("svg"), + url("ClearSans-Light-webfont.woff") format("woff"); + font-weight: 200; + font-style: normal; +} + +@font-face { + font-family: "Clear Sans"; + src: url("ClearSans-Regular-webfont.eot"); + src: url("ClearSans-Regular-webfont.eot?#iefix") format("embedded-opentype"), + url("ClearSans-Regular-webfont.svg#clear_sansregular") format("svg"), + url("ClearSans-Regular-webfont.woff") format("woff"); + font-weight: normal; + font-style: normal; +} + +@font-face { + font-family: "Clear Sans"; + src: url("ClearSans-Bold-webfont.eot"); + src: url("ClearSans-Bold-webfont.eot?#iefix") format("embedded-opentype"), + url("ClearSans-Bold-webfont.svg#clear_sansbold") format("svg"), + url("ClearSans-Bold-webfont.woff") format("woff"); + font-weight: 700; + font-style: normal; +} + diff --git a/sources/1597-master/style/helpers.scss b/sources/1597-master/style/helpers.scss new file mode 100644 index 0000000..53b9dc1 --- /dev/null +++ b/sources/1597-master/style/helpers.scss @@ -0,0 +1,72 @@ +// Exponent +// From: https://github.com/Team-Sass/Sassy-math/blob/master/sass/math.scss#L36 + +@function exponent($base, $exponent) { + // reset value + $value: $base; + // positive intergers get multiplied + @if $exponent > 1 { + @for $i from 2 through $exponent { + $value: $value * $base; } } + // negitive intergers get divided. A number divided by itself is 1 + @if $exponent < 1 { + @for $i from 0 through -$exponent { + $value: $value / $base; } } + // return the last value written + @return $value; +} + +@function pow($base, $exponent) { + @return exponent($base, $exponent); +} + +// Transition mixins +@mixin transition($args...) { + -webkit-transition: $args; + -moz-transition: $args; + transition: $args; +} + +@mixin transition-property($args...) { + -webkit-transition-property: $args; + -moz-transition-property: $args; + transition-property: $args; +} + +@mixin animation($args...) { + -webkit-animation: $args; + -moz-animation: $args; + animation: $args; +} + +@mixin animation-fill-mode($args...) { + -webkit-animation-fill-mode: $args; + -moz-animation-fill-mode: $args; + animation-fill-mode: $args; +} + +@mixin transform($args...) { + -webkit-transform: $args; + -moz-transform: $args; + transform: $args; +} + +// Keyframe animations +@mixin keyframes($animation-name) { + @-webkit-keyframes $animation-name { + @content; + } + @-moz-keyframes $animation-name { + @content; + } + @keyframes $animation-name { + @content; + } +} + +// Media queries +@mixin smaller($width) { + @media screen and (max-width: $width) { + @content; + } +} diff --git a/sources/1597-master/style/main.css b/sources/1597-master/style/main.css new file mode 100644 index 0000000..3d8013b --- /dev/null +++ b/sources/1597-master/style/main.css @@ -0,0 +1,751 @@ +@import url(fonts/clear-sans.css); +html, body { + margin: 0; + padding: 0; + background: #faf8ef; + color: #776e65; + font-family: "Clear Sans", "Helvetica Neue", Arial, sans-serif; + font-size: 18px; } + +body { + margin: 80px 0; } + +.heading:after { + content: ""; + display: block; + clear: both; } + +h1.title { + font-size: 80px; + font-weight: bold; + margin: 0; + display: block; + float: left; } + +@-webkit-keyframes move-up { + 0% { + top: 25px; + opacity: 1; } + + 100% { + top: -50px; + opacity: 0; } } + +@-moz-keyframes move-up { + 0% { + top: 25px; + opacity: 1; } + + 100% { + top: -50px; + opacity: 0; } } + +@keyframes move-up { + 0% { + top: 25px; + opacity: 1; } + + 100% { + top: -50px; + opacity: 0; } } + +.scores-container { + float: right; + text-align: right; } + +.score-container, .best-container { + position: relative; + display: inline-block; + background: #bbada0; + padding: 15px 25px; + font-size: 25px; + height: 25px; + line-height: 47px; + font-weight: bold; + border-radius: 3px; + color: white; + margin-top: 8px; + text-align: center; } + .score-container:after, .best-container:after { + position: absolute; + width: 100%; + top: 10px; + left: 0; + text-transform: uppercase; + font-size: 13px; + line-height: 13px; + text-align: center; + color: #eee4da; } + .score-container .score-addition, .best-container .score-addition { + position: absolute; + right: 30px; + color: red; + font-size: 25px; + line-height: 25px; + font-weight: bold; + color: rgba(119, 110, 101, 0.9); + z-index: 100; + -webkit-animation: move-up 600ms ease-in; + -moz-animation: move-up 600ms ease-in; + animation: move-up 600ms ease-in; + -webkit-animation-fill-mode: both; + -moz-animation-fill-mode: both; + animation-fill-mode: both; } + +.score-container:after { + content: "Score"; } + +.best-container:after { + content: "Record"; } + +p { + margin-top: 0; + margin-bottom: 10px; + line-height: 1.65; } + +a { + color: #776e65; + font-weight: bold; + text-decoration: underline; + cursor: pointer; } + +strong.important { + text-transform: uppercase; } + +hr { + border: none; + border-bottom: 1px solid #d8d4d0; + margin-top: 20px; + margin-bottom: 30px; } + +.container { + width: 500px; + margin: 0 auto; } + +@-webkit-keyframes fade-in { + 0% { + opacity: 0; } + + 100% { + opacity: 1; } } + +@-moz-keyframes fade-in { + 0% { + opacity: 0; } + + 100% { + opacity: 1; } } + +@keyframes fade-in { + 0% { + opacity: 0; } + + 100% { + opacity: 1; } } + +.game-container { + margin-top: 40px; + position: relative; + padding: 15px; + cursor: default; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + background: #bbada0; + border-radius: 6px; + width: 500px; + height: 500px; + -ms-touch-action: none; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; } + .game-container .game-message { + display: none; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + background: rgba(238, 228, 218, 0.5); + z-index: 100; + text-align: center; + -webkit-animation: fade-in 800ms ease 1200ms; + -moz-animation: fade-in 800ms ease 1200ms; + animation: fade-in 800ms ease 1200ms; + -webkit-animation-fill-mode: both; + -moz-animation-fill-mode: both; + animation-fill-mode: both; } + .game-container .game-message p { + font-size: 60px; + font-weight: bold; + height: 60px; + line-height: 60px; + margin-top: 222px; } + .game-container .game-message .lower { + display: block; + margin-top: 59px; } + .game-container .game-message a { + display: inline-block; + background: #8f7a66; + border-radius: 3px; + padding: 0 20px; + text-decoration: none; + color: #f9f6f2; + height: 40px; + line-height: 42px; + margin-left: 9px; } + .game-container .game-message a.keep-playing-button { + display: none; } + .game-container .game-message.game-won { + background: rgba(237, 194, 46, 0.5); + color: #f9f6f2; } + .game-container .game-message.game-won a.keep-playing-button { + display: inline-block; } + .game-container .game-message.game-won, .game-container .game-message.game-over { + display: block; } + +.grid-container { + position: absolute; + z-index: 1; } + +.grid-row { + margin-bottom: 15px; } + .grid-row:last-child { + margin-bottom: 0; } + .grid-row:after { + content: ""; + display: block; + clear: both; } + +.grid-cell { + width: 106.25px; + height: 106.25px; + margin-right: 15px; + float: left; + border-radius: 3px; + background: rgba(238, 228, 218, 0.35); } + .grid-cell:last-child { + margin-right: 0; } + +.tile-container { + position: absolute; + z-index: 2; } + +.tile, .tile .tile-inner { + width: 107px; + height: 107px; + line-height: 116.25px; } +.tile.tile-position-1-1 { + -webkit-transform: translate(0px, 0px); + -moz-transform: translate(0px, 0px); + transform: translate(0px, 0px); } +.tile.tile-position-1-2 { + -webkit-transform: translate(0px, 121px); + -moz-transform: translate(0px, 121px); + transform: translate(0px, 121px); } +.tile.tile-position-1-3 { + -webkit-transform: translate(0px, 242px); + -moz-transform: translate(0px, 242px); + transform: translate(0px, 242px); } +.tile.tile-position-1-4 { + -webkit-transform: translate(0px, 363px); + -moz-transform: translate(0px, 363px); + transform: translate(0px, 363px); } +.tile.tile-position-2-1 { + -webkit-transform: translate(121px, 0px); + -moz-transform: translate(121px, 0px); + transform: translate(121px, 0px); } +.tile.tile-position-2-2 { + -webkit-transform: translate(121px, 121px); + -moz-transform: translate(121px, 121px); + transform: translate(121px, 121px); } +.tile.tile-position-2-3 { + -webkit-transform: translate(121px, 242px); + -moz-transform: translate(121px, 242px); + transform: translate(121px, 242px); } +.tile.tile-position-2-4 { + -webkit-transform: translate(121px, 363px); + -moz-transform: translate(121px, 363px); + transform: translate(121px, 363px); } +.tile.tile-position-3-1 { + -webkit-transform: translate(242px, 0px); + -moz-transform: translate(242px, 0px); + transform: translate(242px, 0px); } +.tile.tile-position-3-2 { + -webkit-transform: translate(242px, 121px); + -moz-transform: translate(242px, 121px); + transform: translate(242px, 121px); } +.tile.tile-position-3-3 { + -webkit-transform: translate(242px, 242px); + -moz-transform: translate(242px, 242px); + transform: translate(242px, 242px); } +.tile.tile-position-3-4 { + -webkit-transform: translate(242px, 363px); + -moz-transform: translate(242px, 363px); + transform: translate(242px, 363px); } +.tile.tile-position-4-1 { + -webkit-transform: translate(363px, 0px); + -moz-transform: translate(363px, 0px); + transform: translate(363px, 0px); } +.tile.tile-position-4-2 { + -webkit-transform: translate(363px, 121px); + -moz-transform: translate(363px, 121px); + transform: translate(363px, 121px); } +.tile.tile-position-4-3 { + -webkit-transform: translate(363px, 242px); + -moz-transform: translate(363px, 242px); + transform: translate(363px, 242px); } +.tile.tile-position-4-4 { + -webkit-transform: translate(363px, 363px); + -moz-transform: translate(363px, 363px); + transform: translate(363px, 363px); } + +.tile { + position: absolute; + -webkit-transition: 100ms ease-in-out; + -moz-transition: 100ms ease-in-out; + transition: 100ms ease-in-out; + -webkit-transition-property: -webkit-transform; + -moz-transition-property: -moz-transform; + transition-property: transform; } + .tile .tile-inner { + border-radius: 3px; + background: #eee4da; + text-align: center; + font-weight: bold; + z-index: 10; + font-size: 55px; } + .tile.tile-1 .tile-inner { + background: #eee4da; + box-shadow: 0 0 30px 10px rgba(243, 215, 116, 0), inset 0 0 0 1px rgba(255, 255, 255, 0); } + .tile.tile-2 .tile-inner { + background: #eee4da; + box-shadow: 0 0 30px 10px rgba(243, 215, 116, 0), inset 0 0 0 1px rgba(255, 255, 255, 0); } + .tile.tile-3 .tile-inner { + background: #ede0c8; + box-shadow: 0 0 30px 10px rgba(243, 215, 116, 0), inset 0 0 0 1px rgba(255, 255, 255, 0); } + .tile.tile-5 .tile-inner { + color: #f9f6f2; + background: #f0c9a0; } + .tile.tile-8 .tile-inner { + color: #f9f6f2; + background: #f2b179; } + .tile.tile-13 .tile-inner { + color: #f9f6f2; + background: #f3a872; } + .tile.tile-21 .tile-inner { + color: #f9f6f2; + background: #f49e6a; } + .tile.tile-34 .tile-inner { + color: #f9f6f2; + background: #f59563; } + .tile.tile-55 .tile-inner { + color: #f9f6f2; + background: #f58961; } + .tile.tile-89 .tile-inner { + color: #f9f6f2; + background: #f67c5f; } + .tile.tile-144 .tile-inner { + color: #f9f6f2; + background: #f65e3b; + font-size: 45px; } + .tile.tile-233 .tile-inner { + color: #f9f6f2; + background: #edcc72; + box-shadow: 0 0 30px 10px rgba(243, 215, 116, 0.2381), inset 0 0 0 1px rgba(255, 255, 255, 0.14286); + font-size: 45px; } + @media screen and (max-width: 520px) { + .tile.tile-233 .tile-inner { + font-size: 25px; } } + .tile.tile-377 .tile-inner { + color: #f9f6f2; + background: #edcc61; + box-shadow: 0 0 30px 10px rgba(243, 215, 116, 0.31746), inset 0 0 0 1px rgba(255, 255, 255, 0.19048); + font-size: 45px; } + @media screen and (max-width: 520px) { + .tile.tile-377 .tile-inner { + font-size: 25px; } } + .tile.tile-610 .tile-inner { + color: #f9f6f2; + background: #edc850; + box-shadow: 0 0 30px 10px rgba(243, 215, 116, 0.39683), inset 0 0 0 1px rgba(255, 255, 255, 0.2381); + font-size: 45px; } + @media screen and (max-width: 520px) { + .tile.tile-610 .tile-inner { + font-size: 25px; } } + .tile.tile-987 .tile-inner { + color: #f9f6f2; + background: #edc53f; + box-shadow: 0 0 30px 10px rgba(243, 215, 116, 0.47619), inset 0 0 0 1px rgba(255, 255, 255, 0.28571); + font-size: 45px; } + @media screen and (max-width: 520px) { + .tile.tile-987 .tile-inner { + font-size: 15px; } } + .tile.tile-1597 .tile-inner { + color: #f9f6f2; + background: #edc22e; + box-shadow: 0 0 30px 10px rgba(243, 215, 116, 0.55556), inset 0 0 0 1px rgba(255, 255, 255, 0.33333); + font-size: 35px; } + @media screen and (max-width: 520px) { + .tile.tile-1597 .tile-inner { + font-size: 15px; } } + .tile.tile-1597 .tile-inner { + color: #f9f6f2; + background: #edc22e; + box-shadow: 0 0 30px 10px rgba(243, 215, 116, 0.55556), inset 0 0 0 1px rgba(255, 255, 255, 0.33333); + font-size: 35px; } + @media screen and (max-width: 520px) { + .tile.tile-1597 .tile-inner { + font-size: 15px; } } + .tile.tile-2584 .tile-inner { + color: #f9f6f2; + background: #edc22e; + box-shadow: 0 0 30px 10px rgba(243, 215, 116, 0.55556), inset 0 0 0 1px rgba(255, 255, 255, 0.33333); + font-size: 35px; } + @media screen and (max-width: 520px) { + .tile.tile-1597 .tile-inner { + font-size: 15px; } } + .tile.tile-4181 .tile-inner { + color: #f9f6f2; + background: #DDED2E; + box-shadow: 0 0 30px 10px rgba(243, 215, 116, 0.55556), inset 0 0 0 1px rgba(255, 255, 255, 0.33333); + font-size: 35px; } + @media screen and (max-width: 520px) { + .tile.tile-1597 .tile-inner { + font-size: 15px; } } + .tile.tile-6765 .tile-inner { + color: #f9f6f2; + background: #B7ED2E; + box-shadow: 0 0 30px 10px rgba(243, 215, 116, 0.55556), inset 0 0 0 1px rgba(255, 255, 255, 0.33333); + font-size: 35px; } + @media screen and (max-width: 520px) { + .tile.tile-1597 .tile-inner { + font-size: 15px; } } + .tile.tile-10946 .tile-inner { + color: #f9f6f2; + background: #6EED2E; + box-shadow: 0 0 30px 10px rgba(243, 215, 116, 0.55556), inset 0 0 0 1px rgba(255, 255, 255, 0.33333); + font-size: 25px; } + @media screen and (max-width: 520px) { + .tile.tile-1597 .tile-inner { + font-size: 15px; } } + .tile.tile-17711 .tile-inner { + color: #f9f6f2; + background: #2EEDA1; + box-shadow: 0 0 30px 10px rgba(243, 215, 116, 0.55556), inset 0 0 0 1px rgba(255, 255, 255, 0.33333); + font-size: 25px; } + @media screen and (max-width: 520px) { + .tile.tile-1597 .tile-inner { + font-size: 15px; } } + .tile.tile-super .tile-inner { + color: #f9f6f2; + background: #3c3a32; + font-size: 30px; } + @media screen and (max-width: 520px) { + .tile.tile-super .tile-inner { + font-size: 10px; } } + +@-webkit-keyframes appear { + 0% { + opacity: 0; + -webkit-transform: scale(0); + -moz-transform: scale(0); + transform: scale(0); } + + 100% { + opacity: 1; + -webkit-transform: scale(1); + -moz-transform: scale(1); + transform: scale(1); } } + +@-moz-keyframes appear { + 0% { + opacity: 0; + -webkit-transform: scale(0); + -moz-transform: scale(0); + transform: scale(0); } + + 100% { + opacity: 1; + -webkit-transform: scale(1); + -moz-transform: scale(1); + transform: scale(1); } } + +@keyframes appear { + 0% { + opacity: 0; + -webkit-transform: scale(0); + -moz-transform: scale(0); + transform: scale(0); } + + 100% { + opacity: 1; + -webkit-transform: scale(1); + -moz-transform: scale(1); + transform: scale(1); } } + +.tile-new .tile-inner { + -webkit-animation: appear 200ms ease 100ms; + -moz-animation: appear 200ms ease 100ms; + animation: appear 200ms ease 100ms; + -webkit-animation-fill-mode: backwards; + -moz-animation-fill-mode: backwards; + animation-fill-mode: backwards; } + +@-webkit-keyframes pop { + 0% { + -webkit-transform: scale(0); + -moz-transform: scale(0); + transform: scale(0); } + + 50% { + -webkit-transform: scale(1.2); + -moz-transform: scale(1.2); + transform: scale(1.2); } + + 100% { + -webkit-transform: scale(1); + -moz-transform: scale(1); + transform: scale(1); } } + +@-moz-keyframes pop { + 0% { + -webkit-transform: scale(0); + -moz-transform: scale(0); + transform: scale(0); } + + 50% { + -webkit-transform: scale(1.2); + -moz-transform: scale(1.2); + transform: scale(1.2); } + + 100% { + -webkit-transform: scale(1); + -moz-transform: scale(1); + transform: scale(1); } } + +@keyframes pop { + 0% { + -webkit-transform: scale(0); + -moz-transform: scale(0); + transform: scale(0); } + + 50% { + -webkit-transform: scale(1.2); + -moz-transform: scale(1.2); + transform: scale(1.2); } + + 100% { + -webkit-transform: scale(1); + -moz-transform: scale(1); + transform: scale(1); } } + +.tile-merged .tile-inner { + z-index: 20; + -webkit-animation: pop 200ms ease 100ms; + -moz-animation: pop 200ms ease 100ms; + animation: pop 200ms ease 100ms; + -webkit-animation-fill-mode: backwards; + -moz-animation-fill-mode: backwards; + animation-fill-mode: backwards; } + +.game-intro { + margin-bottom: 0; } + +.game-explanation { + margin-top: 50px; } + +@media screen and (max-width: 520px) { + html, body { + font-size: 15px; } + + body { + margin: 20px 0; + padding: 0 20px; } + + h1.title { + font-size: 27px; + margin-top: 15px; } + + .container { + width: 280px; + margin: 0 auto; } + + .score-container, .best-container { + margin-top: 0; + padding: 15px 10px; + min-width: 40px; } + + .heading { + margin-bottom: 10px; } + + .game-container { + margin-top: 40px; + position: relative; + padding: 10px; + cursor: default; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + background: #bbada0; + border-radius: 6px; + width: 280px; + height: 280px; + -ms-touch-action: none; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; } + .game-container .game-message { + display: none; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + background: rgba(238, 228, 218, 0.5); + z-index: 100; + text-align: center; + -webkit-animation: fade-in 800ms ease 1200ms; + -moz-animation: fade-in 800ms ease 1200ms; + animation: fade-in 800ms ease 1200ms; + -webkit-animation-fill-mode: both; + -moz-animation-fill-mode: both; + animation-fill-mode: both; } + .game-container .game-message p { + font-size: 60px; + font-weight: bold; + height: 60px; + line-height: 60px; + margin-top: 222px; } + .game-container .game-message .lower { + display: block; + margin-top: 59px; } + .game-container .game-message a { + display: inline-block; + background: #8f7a66; + border-radius: 3px; + padding: 0 20px; + text-decoration: none; + color: #f9f6f2; + height: 40px; + line-height: 42px; + margin-left: 9px; } + .game-container .game-message a.keep-playing-button { + display: none; } + .game-container .game-message.game-won { + background: rgba(237, 194, 46, 0.5); + color: #f9f6f2; } + .game-container .game-message.game-won a.keep-playing-button { + display: inline-block; } + .game-container .game-message.game-won, .game-container .game-message.game-over { + display: block; } + + .grid-container { + position: absolute; + z-index: 1; } + + .grid-row { + margin-bottom: 10px; } + .grid-row:last-child { + margin-bottom: 0; } + .grid-row:after { + content: ""; + display: block; + clear: both; } + + .grid-cell { + width: 57.5px; + height: 57.5px; + margin-right: 10px; + float: left; + border-radius: 3px; + background: rgba(238, 228, 218, 0.35); } + .grid-cell:last-child { + margin-right: 0; } + + .tile-container { + position: absolute; + z-index: 2; } + + .tile, .tile .tile-inner { + width: 58px; + height: 58px; + line-height: 67.5px; } + .tile.tile-position-1-1 { + -webkit-transform: translate(0px, 0px); + -moz-transform: translate(0px, 0px); + transform: translate(0px, 0px); } + .tile.tile-position-1-2 { + -webkit-transform: translate(0px, 67px); + -moz-transform: translate(0px, 67px); + transform: translate(0px, 67px); } + .tile.tile-position-1-3 { + -webkit-transform: translate(0px, 135px); + -moz-transform: translate(0px, 135px); + transform: translate(0px, 135px); } + .tile.tile-position-1-4 { + -webkit-transform: translate(0px, 202px); + -moz-transform: translate(0px, 202px); + transform: translate(0px, 202px); } + .tile.tile-position-2-1 { + -webkit-transform: translate(67px, 0px); + -moz-transform: translate(67px, 0px); + transform: translate(67px, 0px); } + .tile.tile-position-2-2 { + -webkit-transform: translate(67px, 67px); + -moz-transform: translate(67px, 67px); + transform: translate(67px, 67px); } + .tile.tile-position-2-3 { + -webkit-transform: translate(67px, 135px); + -moz-transform: translate(67px, 135px); + transform: translate(67px, 135px); } + .tile.tile-position-2-4 { + -webkit-transform: translate(67px, 202px); + -moz-transform: translate(67px, 202px); + transform: translate(67px, 202px); } + .tile.tile-position-3-1 { + -webkit-transform: translate(135px, 0px); + -moz-transform: translate(135px, 0px); + transform: translate(135px, 0px); } + .tile.tile-position-3-2 { + -webkit-transform: translate(135px, 67px); + -moz-transform: translate(135px, 67px); + transform: translate(135px, 67px); } + .tile.tile-position-3-3 { + -webkit-transform: translate(135px, 135px); + -moz-transform: translate(135px, 135px); + transform: translate(135px, 135px); } + .tile.tile-position-3-4 { + -webkit-transform: translate(135px, 202px); + -moz-transform: translate(135px, 202px); + transform: translate(135px, 202px); } + .tile.tile-position-4-1 { + -webkit-transform: translate(202px, 0px); + -moz-transform: translate(202px, 0px); + transform: translate(202px, 0px); } + .tile.tile-position-4-2 { + -webkit-transform: translate(202px, 67px); + -moz-transform: translate(202px, 67px); + transform: translate(202px, 67px); } + .tile.tile-position-4-3 { + -webkit-transform: translate(202px, 135px); + -moz-transform: translate(202px, 135px); + transform: translate(202px, 135px); } + .tile.tile-position-4-4 { + -webkit-transform: translate(202px, 202px); + -moz-transform: translate(202px, 202px); + transform: translate(202px, 202px); } + + .game-container { + margin-top: 20px; } + + .tile .tile-inner { + font-size: 35px; } + + .game-message p { + font-size: 30px !important; + height: 30px !important; + line-height: 30px !important; + margin-top: 90px !important; } + .game-message .lower { + margin-top: 30px !important; } } diff --git a/sources/1597-master/style/main.scss b/sources/1597-master/style/main.scss new file mode 100644 index 0000000..00b6acc --- /dev/null +++ b/sources/1597-master/style/main.scss @@ -0,0 +1,519 @@ +@import "helpers"; +@import "fonts/clear-sans.css"; + +$field-width: 500px; +$grid-spacing: 15px; +$grid-row-cells: 4; +$tile-size: ($field-width - $grid-spacing * ($grid-row-cells + 1)) / $grid-row-cells; +$tile-border-radius: 3px; + +$mobile-threshold: $field-width + 20px; + +$text-color: #776E65; +$bright-text-color: #f9f6f2; + +$tile-color: #eee4da; +$tile-gold-color: #edc22e; +$tile-gold-glow-color: lighten($tile-gold-color, 15%); + +$game-container-background: #bbada0; + +$transition-speed: 100ms; + +html, body { + margin: 0; + padding: 0; + + background: #faf8ef; + color: $text-color; + font-family: "Clear Sans", "Helvetica Neue", Arial, sans-serif; + font-size: 18px; +} + +body { + margin: 80px 0; +} + +.heading:after { + content: ""; + display: block; + clear: both; +} + +h1.title { + font-size: 80px; + font-weight: bold; + margin: 0; + display: block; + float: left; +} + +@include keyframes(move-up) { + 0% { + top: 25px; + opacity: 1; + } + + 100% { + top: -50px; + opacity: 0; + } +} + +.scores-container { + float: right; + text-align: right; +} + +.score-container, .best-container { + $height: 25px; + + position: relative; + display: inline-block; + background: $game-container-background; + padding: 15px 25px; + font-size: $height; + height: $height; + line-height: $height + 22px; + font-weight: bold; + border-radius: 3px; + color: white; + margin-top: 8px; + text-align: center; + + &:after { + position: absolute; + width: 100%; + top: 10px; + left: 0; + text-transform: uppercase; + font-size: 13px; + line-height: 13px; + text-align: center; + color: $tile-color; + } + + .score-addition { + position: absolute; + right: 30px; + color: red; + font-size: $height; + line-height: $height; + font-weight: bold; + color: rgba($text-color, .9); + z-index: 100; + @include animation(move-up 600ms ease-in); + @include animation-fill-mode(both); + } +} + +.score-container:after { + content: "Score"; +} + +.best-container:after { + content: "Best" +} + +p { + margin-top: 0; + margin-bottom: 10px; + line-height: 1.65; +} + +a { + color: $text-color; + font-weight: bold; + text-decoration: underline; + cursor: pointer; +} + +strong { + &.important { + text-transform: uppercase; + } +} + +hr { + border: none; + border-bottom: 1px solid lighten($text-color, 40%); + margin-top: 20px; + margin-bottom: 30px; +} + +.container { + width: $field-width; + margin: 0 auto; +} + +@include keyframes(fade-in) { + 0% { + opacity: 0; + } + + 100% { + opacity: 1; + } +} + +// Styles for buttons +@mixin button { + display: inline-block; + background: darken($game-container-background, 20%); + border-radius: 3px; + padding: 0 20px; + text-decoration: none; + color: $bright-text-color; + height: 40px; + line-height: 42px; +} + +// Game field mixin used to render CSS at different width +@mixin game-field { + .game-container { + margin-top: 40px; + position: relative; + padding: $grid-spacing; + + cursor: default; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + + background: $game-container-background; + border-radius: $tile-border-radius * 2; + width: $field-width; + height: $field-width; + -ms-touch-action: none; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + + .game-message { + display: none; + + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + background: rgba($tile-color, .5); + z-index: 100; + + text-align: center; + + p { + font-size: 60px; + font-weight: bold; + height: 60px; + line-height: 60px; + margin-top: 222px; + // height: $field-width; + // line-height: $field-width; + } + + .lower { + display: block; + margin-top: 59px; + } + + a { + @include button; + margin-left: 9px; + // margin-top: 59px; + + &.keep-playing-button { + display: none; + } + } + + @include animation(fade-in 800ms ease $transition-speed * 12); + @include animation-fill-mode(both); + + &.game-won { + background: rgba($tile-gold-color, .5); + color: $bright-text-color; + + a.keep-playing-button { + display: inline-block; + } + } + + &.game-won, &.game-over { + display: block; + } + } + } + + .grid-container { + position: absolute; + z-index: 1; + } + + .grid-row { + margin-bottom: $grid-spacing; + + &:last-child { + margin-bottom: 0; + } + + &:after { + content: ""; + display: block; + clear: both; + } + } + + .grid-cell { + width: $tile-size; + height: $tile-size; + margin-right: $grid-spacing; + float: left; + + border-radius: $tile-border-radius; + + background: rgba($tile-color, .35); + + &:last-child { + margin-right: 0; + } + } + + .tile-container { + position: absolute; + z-index: 2; + } + + .tile { + &, .tile-inner { + width: ceil($tile-size); + height: ceil($tile-size); + line-height: $tile-size + 10px; + } + + // Build position classes + @for $x from 1 through $grid-row-cells { + @for $y from 1 through $grid-row-cells { + &.tile-position-#{$x}-#{$y} { + $xPos: floor(($tile-size + $grid-spacing) * ($x - 1)); + $yPos: floor(($tile-size + $grid-spacing) * ($y - 1)); + @include transform(translate($xPos, $yPos)); + } + } + } + } +} + +// End of game-field mixin +@include game-field; + +.tile { + position: absolute; // Makes transforms relative to the top-left corner + + .tile-inner { + border-radius: $tile-border-radius; + + background: $tile-color; + text-align: center; + font-weight: bold; + z-index: 10; + + font-size: 55px; + } + + // Movement transition + @include transition($transition-speed ease-in-out); + -webkit-transition-property: -webkit-transform; + -moz-transition-property: -moz-transform; + transition-property: transform; + + $base: 2; + $exponent: 1; + $limit: 11; + + // Colors for all 11 states, false = no special color + $special-colors: false false, // 2 + false false, // 4 + #f78e48 true, // 8 + #fc5e2e true, // 16 + #ff3333 true, // 32 + #ff0000 true, // 64 + false true, // 128 + false true, // 256 + false true, // 512 + false true, // 1024 + false true; // 2048 + + // Build tile colors + @while $exponent <= $limit { + $power: pow($base, $exponent); + + &.tile-#{$power} .tile-inner { + // Calculate base background color + $gold-percent: ($exponent - 1) / ($limit - 1) * 100; + $mixed-background: mix($tile-gold-color, $tile-color, $gold-percent); + + $nth-color: nth($special-colors, $exponent); + + $special-background: nth($nth-color, 1); + $bright-color: nth($nth-color, 2); + + @if $special-background { + $mixed-background: mix($special-background, $mixed-background, 55%); + } + + @if $bright-color { + color: $bright-text-color; + } + + // Set background + background: $mixed-background; + + // Add glow + $glow-opacity: max($exponent - 4, 0) / ($limit - 4); + + @if not $special-background { + box-shadow: 0 0 30px 10px rgba($tile-gold-glow-color, $glow-opacity / 1.8), + inset 0 0 0 1px rgba(white, $glow-opacity / 3); + } + + // Adjust font size for bigger numbers + @if $power >= 100 and $power < 1000 { + font-size: 45px; + + // Media queries placed here to avoid carrying over the rest of the logic + @include smaller($mobile-threshold) { + font-size: 25px; + } + } @else if $power >= 1000 { + font-size: 35px; + + @include smaller($mobile-threshold) { + font-size: 15px; + } + } + } + + $exponent: $exponent + 1; + } + + // Super tiles (above 2048) + &.tile-super .tile-inner { + color: $bright-text-color; + background: mix(#333, $tile-gold-color, 95%); + + font-size: 30px; + + @include smaller($mobile-threshold) { + font-size: 10px; + } + } +} + +@include keyframes(appear) { + 0% { + opacity: 0; + @include transform(scale(0)); + } + + 100% { + opacity: 1; + @include transform(scale(1)); + } +} + +.tile-new .tile-inner { + @include animation(appear 200ms ease $transition-speed); + @include animation-fill-mode(backwards); +} + +@include keyframes(pop) { + 0% { + @include transform(scale(0)); + } + + 50% { + @include transform(scale(1.2)); + } + + 100% { + @include transform(scale(1)); + } +} + +.tile-merged .tile-inner { + z-index: 20; + @include animation(pop 200ms ease $transition-speed); + @include animation-fill-mode(backwards); +} + +.game-intro { + margin-bottom: 0; +} + +.game-explanation { + margin-top: 50px; +} + +@include smaller($mobile-threshold) { + // Redefine variables for smaller screens + $field-width: 280px; + $grid-spacing: 10px; + $grid-row-cells: 4; + $tile-size: ($field-width - $grid-spacing * ($grid-row-cells + 1)) / $grid-row-cells; + $tile-border-radius: 3px; + + html, body { + font-size: 15px; + } + + body { + margin: 20px 0; + padding: 0 20px; + } + + h1.title { + font-size: 27px; + margin-top: 15px; + } + + .container { + width: $field-width; + margin: 0 auto; + } + + .score-container, .best-container { + margin-top: 0; + padding: 15px 10px; + min-width: 40px; + } + + .heading { + margin-bottom: 10px; + } + + // Render the game field at the right width + @include game-field; + + .game-container { + margin-top: 20px; + } + + // Rest of the font-size adjustments in the tile class + .tile .tile-inner { + font-size: 35px; + } + + .game-message { + p { + font-size: 30px !important; + height: 30px !important; + line-height: 30px !important; + margin-top: 90px !important; + } + + .lower { + margin-top: 30px !important; + } + } +} diff --git a/sources/2048frama/.gitignore b/sources/2048frama/.gitignore new file mode 100644 index 0000000..0d31019 --- /dev/null +++ b/sources/2048frama/.gitignore @@ -0,0 +1 @@ +.sass-cache/ diff --git a/sources/2048frama/.jshintrc b/sources/2048frama/.jshintrc new file mode 100644 index 0000000..87dbf9a --- /dev/null +++ b/sources/2048frama/.jshintrc @@ -0,0 +1,19 @@ +{ + "esnext": true, + "indent": 2, + "maxlen": 80, + "freeze": true, + "camelcase": true, + "unused": true, + "eqnull": true, + "proto": true, + "supernew": true, + "noyield": true, + "evil": true, + "node": true, + "boss": true, + "expr": true, + "loopfunc": true, + "white": true, + "maxdepth": 4 +} diff --git a/sources/2048frama/CONTRIBUTING.md b/sources/2048frama/CONTRIBUTING.md new file mode 100644 index 0000000..968baa9 --- /dev/null +++ b/sources/2048frama/CONTRIBUTING.md @@ -0,0 +1,2 @@ +## Contributing +Changes and improvements are more than welcome! Feel free to fork and open a pull request. Please make your changes in a specifically made branch and request to pull on `master`! If you can, please make sure the game fully works before sending the PR, as that will help speed up the process. diff --git a/sources/2048frama/LICENSE.txt b/sources/2048frama/LICENSE.txt new file mode 100644 index 0000000..b0dbfa4 --- /dev/null +++ b/sources/2048frama/LICENSE.txt @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014 Gabriele Cirulli + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/sources/2048frama/README.md b/sources/2048frama/README.md new file mode 100644 index 0000000..215a632 --- /dev/null +++ b/sources/2048frama/README.md @@ -0,0 +1 @@ +Made just for fun. [Play it here!](http://amschrader.github.io/2048/) diff --git a/sources/2048frama/favicon.ico b/sources/2048frama/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..22109e04a9f44bde18ec7b7a4b7410d0246521bc GIT binary patch literal 4286 zcmeI0u}T9$5QaxAZ4|*eSlRmm7M9V@SMU{VQ>5?}d;{?n1WA#?B1H-d3kAW#!e}&! z290>`cj4E~-Q@zpx`i3p?A^})&p$J}fvjc=?ypiYKJ9qfY|YFz+;B^_ zFn$f<2q!J!u7@9~i@DVw36{n#zAi#L=w1qYr#f#FwA?@S$6_fB4AP=j)up z&-xU9K1cfvmODrDz4%vq5%c#q+Oh8+)rjYPd=HIz|I|hJ=PnrXPDE_>yDHg+*KulwNh1` literal 0 HcmV?d00001 diff --git a/sources/2048frama/im/favicon.png b/sources/2048frama/im/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..a5d1982dfde20db294e60a3ce36703095c70321a GIT binary patch literal 13101 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 literal 0 HcmV?d00001 diff --git a/sources/2048frama/im/framablog.png b/sources/2048frama/im/framablog.png new file mode 100644 index 0000000000000000000000000000000000000000..339b1c25934f759c16cbb18fb777dcf649a9eaed GIT binary patch literal 21414 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 literal 0 HcmV?d00001 diff --git a/sources/2048frama/im/framakey.png b/sources/2048frama/im/framakey.png new file mode 100644 index 0000000000000000000000000000000000000000..9799a19e012541841cf36aa5b7b0edbd6778076c GIT binary patch literal 27063 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 literal 0 HcmV?d00001 diff --git a/sources/2048frama/im/framapad.png b/sources/2048frama/im/framapad.png new file mode 100644 index 0000000000000000000000000000000000000000..a1dffab9700d94a7a22291787822aab4402bd0c1 GIT binary patch literal 73340 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 literal 0 HcmV?d00001 diff --git a/sources/2048frama/im/framazic.png b/sources/2048frama/im/framazic.png new file mode 100644 index 0000000000000000000000000000000000000000..d814d38c74a0baba7ca4ba1b2707a8b1933a87c5 GIT binary patch literal 7827 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 literal 0 HcmV?d00001 diff --git a/sources/2048frama/im/goldenframa.png b/sources/2048frama/im/goldenframa.png new file mode 100644 index 0000000000000000000000000000000000000000..4f3617d71ba0dc20c9fd5e492f9bb4e5f1865f10 GIT binary patch literal 22721 zcmZsDbyU^s^YtM`KpI3sy15{YbV{cPf`o+9B}k`$bT1E#C1o06KE zTCB-RQmVtgdUA24UOYaX9XP!D3L~iNIX^`-bK($VPM6fe$c^oL)(H9>S4?{Nd9uj9 zSDy?k#;o`s<&RlaKjriUI|F+Nh8fiLUWYxIC|s`Fnd;(S%g!HT*D-nZpe};ri>vEq zFryZ??U`E3(d;5HDOv)>LhaIa3BF?shu}En;_>wly5;pXH8tOD>J5^W3lmm^xv20$ z=NuYa>g($#pFbeC6U_XWpP%2evggsgbjv4U zrH;Jmst@m_eR)}HT=}zn(xzUOIkB2^_}@&u%EjTh#$Af&{@+JGO%^hg3!7(1UUWXd zl^y5LQZCf?-L}*yAVOnBXfDj9@~e%*JHwMrzO0>omzbDn4xa-bqOL_k8auGkjEjpI zBn{6Fd)DvJ_$v!Ga_8jY=CO99SeV@c?!J6>2 z#ju5NGHTh;ii|{BBz=B|V+tuhP5i~VNw9ekn)>?p(gp1^GB2~?Ww=$O>Ad3bLGUSI zh(+O;&20%U`bmAnETSJVH9d~7SP)YiKWtp^E7xNs8FF6fKhsZnF_c*VpO=A~q+IwN zwi`~LfdC7AdCx;EU6na7AHSgmg)AX>mX=PzO_ChNDx)aGcTG4(1$J(UrOQ9#`P{lZ zoR^FeBV)Wwu4W1PH>~%t)3CEjVaU77Ib4I=^We#oC!dS6y~;|On+??cGGFLlFNM-L zJlAiq9l2fl3d~0$XB5sbTtZbRWxl_NMLP>+5fQ-cO@Y3zIV4Lb`NyqA{$$?UalO^^ zz~E*#RI&~ZCgX*E%E-xQT-aC{aGsf8zkc~jj7(|O7 z7=X+9DQ3-60+zLc+6xy9c_y$`a2;MQj4L^<2LJu{f)Nf+j$VeI7l#0~l#kY*13eBt z2);#UALq8Yxw$%=^55{)MtSAobR)0j*LMw{KYtFZGJzd{w<-F$d4%*#aFP`#VJcYC z-N-&O-*nU#h9^7$cnCp+=@LGwwQqzXA|j79w-*txyu7T)n_gh-do+1z|Et0JzUS|F zugJddg_kc9Rk%`zpMfDylp^}k!Gi(@2`%e^J%oKWqW57t7ZP74`xIwh2R)$xD6I4Mce62g*=|$YD^2|5aSHFQY}-u z3|UFAJz-6-)BP)ZO;0(=Y#|Cju(1V)gG(3R*vO(p3Qq;GiV6!I6<*mK>fAi?`rpOy zrSDSLeRZ2DL6hkA5O^oQg~)Kqqu;9p31O<6!Ez+>TK4w#%O9UL+Wh>WZ(dSXrhPb( z1JQ9XQA1){YTWf_Thp9_+fsMP>Mi{HI-CY|CF|c+xa+|gO5yPmQ`0YX9Z!BymolTA zq6a({W<^FZSQ3PSa(G~5z?KJtt6Bix1<&~X2SRrHpR0=#4)AqWa$H_~v0bU5l>eUb zN8aUj&}JneiIP-=|l8k^|0EXaD6fU@d6UmqIX}N)3$Df%jI?73nUmY_ZN% z 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 Xxx<&rh@ui;5>x4D>1&p0*o6ECy2DgR literal 0 HcmV?d00001 diff --git a/sources/2048frama/im/soutenir.png b/sources/2048frama/im/soutenir.png new file mode 100644 index 0000000000000000000000000000000000000000..ae4b8cd5880aaca846f55a54475e233ba905a76f GIT binary patch literal 19093 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 literal 0 HcmV?d00001 diff --git a/sources/2048frama/index.html b/sources/2048frama/index.html new file mode 100644 index 0000000..b918c41 --- /dev/null +++ b/sources/2048frama/index.html @@ -0,0 +1,87 @@ + + + + + 2048 + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sources/2048frama/js/animframe_polyfill.js b/sources/2048frama/js/animframe_polyfill.js new file mode 100644 index 0000000..c45a13e --- /dev/null +++ b/sources/2048frama/js/animframe_polyfill.js @@ -0,0 +1,26 @@ +(function() { + var lastTime = 0; + var vendors = ['webkit', 'moz']; + for(var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) { + window.requestAnimationFrame = window[vendors[x]+'RequestAnimationFrame']; + window.cancelAnimationFrame = + window[vendors[x]+'CancelAnimationFrame'] || window[vendors[x]+'CancelRequestAnimationFrame']; + } + + if (!window.requestAnimationFrame) { + window.requestAnimationFrame = function(callback, element) { + var currTime = new Date().getTime(); + var timeToCall = Math.max(0, 16 - (currTime - lastTime)); + var id = window.setTimeout(function() { callback(currTime + timeToCall); }, + timeToCall); + lastTime = currTime + timeToCall; + return id; + }; + } + + if (!window.cancelAnimationFrame) { + window.cancelAnimationFrame = function(id) { + clearTimeout(id); + }; + } +}()); diff --git a/sources/2048frama/js/application.js b/sources/2048frama/js/application.js new file mode 100644 index 0000000..a4d310a --- /dev/null +++ b/sources/2048frama/js/application.js @@ -0,0 +1,4 @@ +// Wait till the browser is ready to render the game (avoids glitches) +window.requestAnimationFrame(function () { + new GameManager(4, KeyboardInputManager, HTMLActuator, LocalScoreManager); +}); diff --git a/sources/2048frama/js/game_manager.js b/sources/2048frama/js/game_manager.js new file mode 100644 index 0000000..b36aea3 --- /dev/null +++ b/sources/2048frama/js/game_manager.js @@ -0,0 +1,245 @@ +function GameManager(size, InputManager, Actuator, ScoreManager) { + this.size = size; // Size of the grid + this.inputManager = new InputManager; + this.scoreManager = new ScoreManager; + this.actuator = new Actuator; + + this.startTiles = 2; + + this.inputManager.on("move", this.move.bind(this)); + this.inputManager.on("restart", this.restart.bind(this)); + this.inputManager.on("keepPlaying", this.keepPlaying.bind(this)); + + this.setup(); +} + +// Restart the game +GameManager.prototype.restart = function () { + this.actuator.continue(); + this.setup(); +}; + +// Keep playing after winning +GameManager.prototype.keepPlaying = function () { + this.keepPlaying = true; + this.actuator.continue(); +}; + +GameManager.prototype.isGameTerminated = function () { + if (this.over || (this.won && !this.keepPlaying)) { + return true; + } else { + return false; + } +}; + +// Set up the game +GameManager.prototype.setup = function () { + this.grid = new Grid(this.size); + + this.score = 0; + this.over = false; + this.won = false; + this.keepPlaying = false; + + // Add the initial tiles + this.addStartTiles(); + + // Update the actuator + this.actuate(); +}; + +// Set up the initial tiles to start the game with +GameManager.prototype.addStartTiles = function () { + for (var i = 0; i < this.startTiles; i++) { + this.addRandomTile(); + } +}; + +// Adds a tile in a random position +GameManager.prototype.addRandomTile = function () { + if (this.grid.cellsAvailable()) { + var value = Math.random() < 0.9 ? 2 : 4; + var tile = new Tile(this.grid.randomAvailableCell(), value); + + this.grid.insertTile(tile); + } +}; + +// Sends the updated grid to the actuator +GameManager.prototype.actuate = function () { + if (this.scoreManager.get() < this.score) { + this.scoreManager.set(this.score); + } + + this.actuator.actuate(this.grid, { + score: this.score, + over: this.over, + won: this.won, + bestScore: this.scoreManager.get(), + terminated: this.isGameTerminated() + }); + +}; + +// Save all tile positions and remove merger info +GameManager.prototype.prepareTiles = function () { + this.grid.eachCell(function (x, y, tile) { + if (tile) { + tile.mergedFrom = null; + tile.savePosition(); + } + }); +}; + +// Move a tile and its representation +GameManager.prototype.moveTile = function (tile, cell) { + this.grid.cells[tile.x][tile.y] = null; + this.grid.cells[cell.x][cell.y] = tile; + tile.updatePosition(cell); +}; + +// Move tiles on the grid in the specified direction +GameManager.prototype.move = function (direction) { + // 0: up, 1: right, 2:down, 3: left + var self = this; + + if (this.isGameTerminated()) return; // Don't do anything if the game's over + + var cell, tile; + + var vector = this.getVector(direction); + var traversals = this.buildTraversals(vector); + var moved = false; + + // Save the current tile positions and remove merger information + this.prepareTiles(); + + // Traverse the grid in the right direction and move tiles + traversals.x.forEach(function (x) { + traversals.y.forEach(function (y) { + cell = { x: x, y: y }; + tile = self.grid.cellContent(cell); + + if (tile) { + var positions = self.findFarthestPosition(cell, vector); + var next = self.grid.cellContent(positions.next); + + // Only one merger per row traversal? + if (next && next.value === tile.value && !next.mergedFrom) { + var merged = new Tile(positions.next, tile.value * 2); + merged.mergedFrom = [tile, next]; + + self.grid.insertTile(merged); + self.grid.removeTile(tile); + + // Converge the two tiles' positions + tile.updatePosition(positions.next); + + // Update the score + self.score += merged.value; + + // The mighty 2048 tile + if (merged.value === 2048) self.won = true; + } else { + self.moveTile(tile, positions.farthest); + } + + if (!self.positionsEqual(cell, tile)) { + moved = true; // The tile moved from its original cell! + } + } + }); + }); + + if (moved) { + this.addRandomTile(); + + if (!this.movesAvailable()) { + this.over = true; // Game over! + } + + this.actuate(); + } +}; + +// Get the vector representing the chosen direction +GameManager.prototype.getVector = function (direction) { + // Vectors representing tile movement + var map = { + 0: { x: 0, y: -1 }, // up + 1: { x: 1, y: 0 }, // right + 2: { x: 0, y: 1 }, // down + 3: { x: -1, y: 0 } // left + }; + + return map[direction]; +}; + +// Build a list of positions to traverse in the right order +GameManager.prototype.buildTraversals = function (vector) { + var traversals = { x: [], y: [] }; + + for (var pos = 0; pos < this.size; pos++) { + traversals.x.push(pos); + traversals.y.push(pos); + } + + // Always traverse from the farthest cell in the chosen direction + if (vector.x === 1) traversals.x = traversals.x.reverse(); + if (vector.y === 1) traversals.y = traversals.y.reverse(); + + return traversals; +}; + +GameManager.prototype.findFarthestPosition = function (cell, vector) { + var previous; + + // Progress towards the vector direction until an obstacle is found + do { + previous = cell; + cell = { x: previous.x + vector.x, y: previous.y + vector.y }; + } while (this.grid.withinBounds(cell) && + this.grid.cellAvailable(cell)); + + return { + farthest: previous, + next: cell // Used to check if a merge is required + }; +}; + +GameManager.prototype.movesAvailable = function () { + return this.grid.cellsAvailable() || this.tileMatchesAvailable(); +}; + +// Check for available matches between tiles (more expensive check) +GameManager.prototype.tileMatchesAvailable = function () { + var self = this; + + var tile; + + for (var x = 0; x < this.size; x++) { + for (var y = 0; y < this.size; y++) { + tile = this.grid.cellContent({ x: x, y: y }); + + if (tile) { + for (var direction = 0; direction < 4; direction++) { + var vector = self.getVector(direction); + var cell = { x: x + vector.x, y: y + vector.y }; + + var other = self.grid.cellContent(cell); + + if (other && other.value === tile.value) { + return true; // These two tiles can be merged + } + } + } + } + } + + return false; +}; + +GameManager.prototype.positionsEqual = function (first, second) { + return first.x === second.x && first.y === second.y; +}; diff --git a/sources/2048frama/js/grid.js b/sources/2048frama/js/grid.js new file mode 100644 index 0000000..05fe057 --- /dev/null +++ b/sources/2048frama/js/grid.js @@ -0,0 +1,84 @@ +function Grid(size) { + this.size = size; + + this.cells = []; + + this.build(); +} + +// Build a grid of the specified size +Grid.prototype.build = function () { + for (var x = 0; x < this.size; x++) { + var row = this.cells[x] = []; + + for (var y = 0; y < this.size; y++) { + row.push(null); + } + } +}; + +// Find the first available random position +Grid.prototype.randomAvailableCell = function () { + var cells = this.availableCells(); + + if (cells.length) { + return cells[Math.floor(Math.random() * cells.length)]; + } +}; + +Grid.prototype.availableCells = function () { + var cells = []; + + this.eachCell(function (x, y, tile) { + if (!tile) { + cells.push({ x: x, y: y }); + } + }); + + return cells; +}; + +// Call callback for every cell +Grid.prototype.eachCell = function (callback) { + for (var x = 0; x < this.size; x++) { + for (var y = 0; y < this.size; y++) { + callback(x, y, this.cells[x][y]); + } + } +}; + +// Check if there are any cells available +Grid.prototype.cellsAvailable = function () { + return !!this.availableCells().length; +}; + +// Check if the specified cell is taken +Grid.prototype.cellAvailable = function (cell) { + return !this.cellOccupied(cell); +}; + +Grid.prototype.cellOccupied = function (cell) { + return !!this.cellContent(cell); +}; + +Grid.prototype.cellContent = function (cell) { + if (this.withinBounds(cell)) { + return this.cells[cell.x][cell.y]; + } else { + return null; + } +}; + +// Inserts a tile at its position +Grid.prototype.insertTile = function (tile) { + this.cells[tile.x][tile.y] = tile; +}; + +Grid.prototype.removeTile = function (tile) { + this.cells[tile.x][tile.y] = null; +}; + +Grid.prototype.withinBounds = function (position) { + return position.x >= 0 && position.x < this.size && + position.y >= 0 && position.y < this.size; +}; diff --git a/sources/2048frama/js/html_actuator.js b/sources/2048frama/js/html_actuator.js new file mode 100644 index 0000000..7d20907 --- /dev/null +++ b/sources/2048frama/js/html_actuator.js @@ -0,0 +1,139 @@ +function HTMLActuator() { + this.tileContainer = document.querySelector(".tile-container"); + this.scoreContainer = document.querySelector(".score-container"); + this.bestContainer = document.querySelector(".best-container"); + this.messageContainer = document.querySelector(".game-message"); + + this.score = 0; +} + +HTMLActuator.prototype.actuate = function (grid, metadata) { + var self = this; + + window.requestAnimationFrame(function () { + self.clearContainer(self.tileContainer); + + grid.cells.forEach(function (column) { + column.forEach(function (cell) { + if (cell) { + self.addTile(cell); + } + }); + }); + + self.updateScore(metadata.score); + self.updateBestScore(metadata.bestScore); + + if (metadata.terminated) { + if (metadata.over) { + self.message(false); // You lose + } else if (metadata.won) { + self.message(true); // You win! + } + } + + }); +}; + +// Continues the game (both restart and keep playing) +HTMLActuator.prototype.continue = function () { + this.clearMessage(); +}; + +HTMLActuator.prototype.clearContainer = function (container) { + while (container.firstChild) { + container.removeChild(container.firstChild); + } +}; + +HTMLActuator.prototype.addTile = function (tile) { + var self = this; + + var wrapper = document.createElement("div"); + var inner = document.createElement("div"); + var position = tile.previousPosition || { x: tile.x, y: tile.y }; + var positionClass = this.positionClass(position); + + // We can't use classlist because it somehow glitches when replacing classes + var classes = ["tile", "tile-" + tile.value, positionClass]; + + if (tile.value > 2048) classes.push("tile-super"); + + this.applyClasses(wrapper, classes); + + inner.classList.add("tile-inner"); + inner.textContent = tile.value; + + if (tile.previousPosition) { + // Make sure that the tile gets rendered in the previous position first + window.requestAnimationFrame(function () { + classes[2] = self.positionClass({ x: tile.x, y: tile.y }); + self.applyClasses(wrapper, classes); // Update the position + }); + } else if (tile.mergedFrom) { + classes.push("tile-merged"); + this.applyClasses(wrapper, classes); + + // Render the tiles that merged + tile.mergedFrom.forEach(function (merged) { + self.addTile(merged); + }); + } else { + classes.push("tile-new"); + this.applyClasses(wrapper, classes); + } + + // Add the inner part of the tile to the wrapper + wrapper.appendChild(inner); + + // Put the tile on the board + this.tileContainer.appendChild(wrapper); +}; + +HTMLActuator.prototype.applyClasses = function (element, classes) { + element.setAttribute("class", classes.join(" ")); +}; + +HTMLActuator.prototype.normalizePosition = function (position) { + return { x: position.x + 1, y: position.y + 1 }; +}; + +HTMLActuator.prototype.positionClass = function (position) { + position = this.normalizePosition(position); + return "tile-position-" + position.x + "-" + position.y; +}; + +HTMLActuator.prototype.updateScore = function (score) { + this.clearContainer(this.scoreContainer); + + var difference = score - this.score; + this.score = score; + + this.scoreContainer.textContent = this.score; + + if (difference > 0) { + var addition = document.createElement("div"); + addition.classList.add("score-addition"); + addition.textContent = "+" + difference; + + this.scoreContainer.appendChild(addition); + } +}; + +HTMLActuator.prototype.updateBestScore = function (bestScore) { + this.bestContainer.textContent = bestScore; +}; + +HTMLActuator.prototype.message = function (won) { + var type = won ? "game-won" : "game-over"; + var message = won ? "Vous avez gagné !" : "Game over !"; + + this.messageContainer.classList.add(type); + this.messageContainer.getElementsByTagName("p")[0].textContent = message; +}; + +HTMLActuator.prototype.clearMessage = function () { + // IE only takes one value to remove at a time. + this.messageContainer.classList.remove("game-won"); + this.messageContainer.classList.remove("game-over"); +}; diff --git a/sources/2048frama/js/keyboard_input_manager.js b/sources/2048frama/js/keyboard_input_manager.js new file mode 100644 index 0000000..a29744c --- /dev/null +++ b/sources/2048frama/js/keyboard_input_manager.js @@ -0,0 +1,130 @@ +function KeyboardInputManager() { + this.events = {}; + + if (window.navigator.msPointerEnabled) { + //Internet Explorer 10 style + this.eventTouchstart = "MSPointerDown"; + this.eventTouchmove = "MSPointerMove"; + this.eventTouchend = "MSPointerUp"; + } else { + this.eventTouchstart = "touchstart"; + this.eventTouchmove = "touchmove"; + this.eventTouchend = "touchend"; + } + + this.listen(); +} + +KeyboardInputManager.prototype.on = function (event, callback) { + if (!this.events[event]) { + this.events[event] = []; + } + this.events[event].push(callback); +}; + +KeyboardInputManager.prototype.emit = function (event, data) { + var callbacks = this.events[event]; + if (callbacks) { + callbacks.forEach(function (callback) { + callback(data); + }); + } +}; + +KeyboardInputManager.prototype.listen = function () { + var self = this; + + var map = { + 38: 0, // Up + 39: 1, // Right + 40: 2, // Down + 37: 3, // Left + 75: 0, // vim keybindings + 76: 1, + 74: 2, + 72: 3, + 87: 0, // W + 68: 1, // D + 83: 2, // S + 65: 3 // A + }; + + document.addEventListener("keydown", function (event) { + var modifiers = event.altKey || event.ctrlKey || event.metaKey || + event.shiftKey; + var mapped = map[event.which]; + + if (!modifiers) { + if (mapped !== undefined) { + event.preventDefault(); + self.emit("move", mapped); + } + + if (event.which === 32) self.restart.bind(self)(event); + } + }); + + var retry = document.querySelector(".retry-button"); + retry.addEventListener("click", this.restart.bind(this)); + retry.addEventListener(this.eventTouchend, this.restart.bind(this)); + + var keepPlaying = document.querySelector(".keep-playing-button"); + keepPlaying.addEventListener("click", this.keepPlaying.bind(this)); + keepPlaying.addEventListener("touchend", this.keepPlaying.bind(this)); + + // Listen to swipe events + var touchStartClientX, touchStartClientY; + var gameContainer = document.getElementsByClassName("game-container")[0]; + + gameContainer.addEventListener(this.eventTouchstart, function (event) { + if (( !window.navigator.msPointerEnabled && event.touches.length > 1) || event.targetTouches > 1) return; + + if(window.navigator.msPointerEnabled){ + touchStartClientX = event.pageX; + touchStartClientY = event.pageY; + } else { + touchStartClientX = event.touches[0].clientX; + touchStartClientY = event.touches[0].clientY; + } + + event.preventDefault(); + }); + + gameContainer.addEventListener(this.eventTouchmove, function (event) { + event.preventDefault(); + }); + + gameContainer.addEventListener(this.eventTouchend, function (event) { + if (( !window.navigator.msPointerEnabled && event.touches.length > 0) || event.targetTouches > 0) return; + + var touchEndClientX, touchEndClientY; + if(window.navigator.msPointerEnabled){ + touchEndClientX = event.pageX; + touchEndClientY = event.pageY; + } else { + touchEndClientX = event.changedTouches[0].clientX; + touchEndClientY = event.changedTouches[0].clientY; + } + + var dx = touchEndClientX - touchStartClientX; + var absDx = Math.abs(dx); + + var dy = touchEndClientY - touchStartClientY; + var absDy = Math.abs(dy); + + if (Math.max(absDx, absDy) > 10) { + // (right : left) : (down : up) + self.emit("move", absDx > absDy ? (dx > 0 ? 1 : 3) : (dy > 0 ? 2 : 0)); + } + }); +}; + +KeyboardInputManager.prototype.restart = function (event) { + event.preventDefault(); + this.emit("restart"); +}; + +KeyboardInputManager.prototype.keepPlaying = function (event) { + event.preventDefault(); + this.emit("keepPlaying"); +}; diff --git a/sources/2048frama/js/local_score_manager.js b/sources/2048frama/js/local_score_manager.js new file mode 100644 index 0000000..ec4575d --- /dev/null +++ b/sources/2048frama/js/local_score_manager.js @@ -0,0 +1,48 @@ +window.fakeStorage = { + _data: {}, + + setItem: function (id, val) { + return this._data[id] = String(val); + }, + + getItem: function (id) { + return this._data.hasOwnProperty(id) ? this._data[id] : undefined; + }, + + removeItem: function (id) { + return delete this._data[id]; + }, + + clear: function () { + return this._data = {}; + } +}; + +function LocalScoreManager() { + this.key = "bestScore"; + + var supported = this.localStorageSupported(); + this.storage = supported ? window.localStorage : window.fakeStorage; +} + +LocalScoreManager.prototype.localStorageSupported = function () { + var testKey = "test"; + var storage = window.localStorage; + + try { + storage.setItem(testKey, "1"); + storage.removeItem(testKey); + return true; + } catch (error) { + return false; + } +}; + +LocalScoreManager.prototype.get = function () { + return this.storage.getItem(this.key) || 0; +}; + +LocalScoreManager.prototype.set = function (score) { + this.storage.setItem(this.key, score); +}; + diff --git a/sources/2048frama/js/tile.js b/sources/2048frama/js/tile.js new file mode 100644 index 0000000..de08333 --- /dev/null +++ b/sources/2048frama/js/tile.js @@ -0,0 +1,17 @@ +function Tile(position, value) { + this.x = position.x; + this.y = position.y; + this.value = value || 2; + + this.previousPosition = null; + this.mergedFrom = null; // Tracks tiles that merged together +} + +Tile.prototype.savePosition = function () { + this.previousPosition = { x: this.x, y: this.y }; +}; + +Tile.prototype.updatePosition = function (position) { + this.x = position.x; + this.y = position.y; +}; diff --git a/sources/2048frama/meta/apple-touch-icon.png b/sources/2048frama/meta/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3fd20f6092338ef464e440ec84a34c8850fd5d33 GIT binary patch literal 5808 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 FVn7M1yXgP` literal 0 HcmV?d00001 diff --git a/sources/2048frama/style/fonts/ClearSans-Bold-webfont.svg b/sources/2048frama/style/fonts/ClearSans-Bold-webfont.svg new file mode 100644 index 0000000..aa985ae --- /dev/null +++ b/sources/2048frama/style/fonts/ClearSans-Bold-webfont.svg @@ -0,0 +1,640 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/sources/2048frama/style/fonts/ClearSans-Bold-webfont.woff b/sources/2048frama/style/fonts/ClearSans-Bold-webfont.woff new file mode 100644 index 0000000000000000000000000000000000000000..184a945da400fdcae4bc6445ede163079087d18a GIT binary patch literal 27120 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 QFw!zZW>;c{cT+4ZZH+4t-2eap literal 0 HcmV?d00001 diff --git a/sources/2048frama/style/fonts/ClearSans-Light-webfont.svg b/sources/2048frama/style/fonts/ClearSans-Light-webfont.svg new file mode 100644 index 0000000..1d5d2ec --- /dev/null +++ b/sources/2048frama/style/fonts/ClearSans-Light-webfont.svg @@ -0,0 +1,670 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/sources/2048frama/style/fonts/ClearSans-Light-webfont.woff b/sources/2048frama/style/fonts/ClearSans-Light-webfont.woff new file mode 100644 index 0000000000000000000000000000000000000000..44555e04e957649116504d8169f37e8c0936c92a GIT binary patch literal 28700 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 dO@v4$l8d2CKWjcdI;U` + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/sources/2048frama/style/fonts/ClearSans-Regular-webfont.woff b/sources/2048frama/style/fonts/ClearSans-Regular-webfont.woff new file mode 100644 index 0000000000000000000000000000000000000000..9d58858d809454e026cdebc3e766154ee8727582 GIT binary patch literal 26764 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 literal 0 HcmV?d00001 diff --git a/sources/2048frama/style/fonts/clear-sans.css b/sources/2048frama/style/fonts/clear-sans.css new file mode 100644 index 0000000..de2811d --- /dev/null +++ b/sources/2048frama/style/fonts/clear-sans.css @@ -0,0 +1,30 @@ +@font-face { + font-family: "Clear Sans"; + src: url("ClearSans-Light-webfont.eot"); + src: url("ClearSans-Light-webfont.eot?#iefix") format("embedded-opentype"), + url("ClearSans-Light-webfont.svg#clear_sans_lightregular") format("svg"), + url("ClearSans-Light-webfont.woff") format("woff"); + font-weight: 200; + font-style: normal; +} + +@font-face { + font-family: "Clear Sans"; + src: url("ClearSans-Regular-webfont.eot"); + src: url("ClearSans-Regular-webfont.eot?#iefix") format("embedded-opentype"), + url("ClearSans-Regular-webfont.svg#clear_sansregular") format("svg"), + url("ClearSans-Regular-webfont.woff") format("woff"); + font-weight: normal; + font-style: normal; +} + +@font-face { + font-family: "Clear Sans"; + src: url("ClearSans-Bold-webfont.eot"); + src: url("ClearSans-Bold-webfont.eot?#iefix") format("embedded-opentype"), + url("ClearSans-Bold-webfont.svg#clear_sansbold") format("svg"), + url("ClearSans-Bold-webfont.woff") format("woff"); + font-weight: 700; + font-style: normal; +} + diff --git a/sources/2048frama/style/helpers.scss b/sources/2048frama/style/helpers.scss new file mode 100644 index 0000000..53b9dc1 --- /dev/null +++ b/sources/2048frama/style/helpers.scss @@ -0,0 +1,72 @@ +// Exponent +// From: https://github.com/Team-Sass/Sassy-math/blob/master/sass/math.scss#L36 + +@function exponent($base, $exponent) { + // reset value + $value: $base; + // positive intergers get multiplied + @if $exponent > 1 { + @for $i from 2 through $exponent { + $value: $value * $base; } } + // negitive intergers get divided. A number divided by itself is 1 + @if $exponent < 1 { + @for $i from 0 through -$exponent { + $value: $value / $base; } } + // return the last value written + @return $value; +} + +@function pow($base, $exponent) { + @return exponent($base, $exponent); +} + +// Transition mixins +@mixin transition($args...) { + -webkit-transition: $args; + -moz-transition: $args; + transition: $args; +} + +@mixin transition-property($args...) { + -webkit-transition-property: $args; + -moz-transition-property: $args; + transition-property: $args; +} + +@mixin animation($args...) { + -webkit-animation: $args; + -moz-animation: $args; + animation: $args; +} + +@mixin animation-fill-mode($args...) { + -webkit-animation-fill-mode: $args; + -moz-animation-fill-mode: $args; + animation-fill-mode: $args; +} + +@mixin transform($args...) { + -webkit-transform: $args; + -moz-transform: $args; + transform: $args; +} + +// Keyframe animations +@mixin keyframes($animation-name) { + @-webkit-keyframes $animation-name { + @content; + } + @-moz-keyframes $animation-name { + @content; + } + @keyframes $animation-name { + @content; + } +} + +// Media queries +@mixin smaller($width) { + @media screen and (max-width: $width) { + @content; + } +} diff --git a/sources/2048frama/style/main.css b/sources/2048frama/style/main.css new file mode 100644 index 0000000..5bf4b55 --- /dev/null +++ b/sources/2048frama/style/main.css @@ -0,0 +1,716 @@ +@import url(fonts/clear-sans.css); +html, body { + margin: 0; + padding: 0; + background: #faf8ef; + color: #776e65; + font-family: "Helvetica Neue", Arial, sans-serif; + font-size: 18px; } + +body { + margin: 80px 0; } + +.heading:after { + content: ""; + display: block; + clear: both; } + +h1.title { + font-size: 40px; + font-weight: bold; + margin: 0; + display: block; + float: left; } + +@-webkit-keyframes move-up { + 0% { + top: 25px; + opacity: 1; } + + 100% { + top: -50px; + opacity: 0; } } + +@-moz-keyframes move-up { + 0% { + top: 25px; + opacity: 1; } + + 100% { + top: -50px; + opacity: 0; } } + +@keyframes move-up { + 0% { + top: 25px; + opacity: 1; } + + 100% { + top: -50px; + opacity: 0; } } + +.scores-container { + float: right; + text-align: right; } + +.score-container, .best-container { + position: relative; + display: inline-block; + background: #bbada0; + padding: 15px 25px; + font-size: 25px; + height: 25px; + line-height: 47px; + font-weight: bold; + border-radius: 3px; + color: white; + margin-top: 8px; + text-align: center; } + .score-container:after, .best-container:after { + position: absolute; + width: 100%; + top: 10px; + left: 0; + text-transform: uppercase; + font-size: 13px; + line-height: 13px; + text-align: center; + color: #eee4da; } + .score-container .score-addition, .best-container .score-addition { + position: absolute; + right: 30px; + color: red; + font-size: 25px; + line-height: 25px; + font-weight: bold; + color: rgba(119, 110, 101, 0.9); + z-index: 100; + -webkit-animation: move-up 600ms ease-in; + -moz-animation: move-up 600ms ease-in; + animation: move-up 600ms ease-in; + -webkit-animation-fill-mode: both; + -moz-animation-fill-mode: both; + animation-fill-mode: both; } + +.score-container:after { + content: "Score"; } + +.best-container:after { + content: "Record"; } + +p { + margin-top: 0; + margin-bottom: 10px; + line-height: 1.65; } + +a { + color: #776e65; + font-weight: bold; + text-decoration: underline; + cursor: pointer; } + +strong.important { + text-transform: uppercase; } + +hr { + border: none; + border-bottom: 1px solid #d8d4d0; + margin-top: 20px; + margin-bottom: 30px; } + +.container { + width: 500px; + margin: 0 auto; } + +@-webkit-keyframes fade-in { + 0% { + opacity: 0; } + + 100% { + opacity: 1; } } + +@-moz-keyframes fade-in { + 0% { + opacity: 0; } + + 100% { + opacity: 1; } } + +@keyframes fade-in { + 0% { + opacity: 0; } + + 100% { + opacity: 1; } } + +.game-container { + margin-top: 40px; + position: relative; + padding: 15px; + cursor: default; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + background: #bbada0; + border-radius: 6px; + width: 500px; + height: 500px; + -ms-touch-action: none; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; } + .game-container .game-message { + display: none; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + background: rgba(238, 228, 218, 0.5); + z-index: 100; + text-align: center; + -webkit-animation: fade-in 800ms ease 1200ms; + -moz-animation: fade-in 800ms ease 1200ms; + animation: fade-in 800ms ease 1200ms; + -webkit-animation-fill-mode: both; + -moz-animation-fill-mode: both; + animation-fill-mode: both; } + .game-container .game-message p { + font-size: 60px; + font-weight: bold; + height: 60px; + line-height: 60px; + margin-top: 222px; } + .game-container .game-message .lower { + display: block; + margin-top: 59px; } + .game-container .game-message a { + display: inline-block; + background: #8f7a66; + border-radius: 3px; + padding: 0 20px; + text-decoration: none; + color: #f9f6f2; + height: 40px; + line-height: 42px; + margin-left: 9px; } + .game-container .game-message a.keep-playing-button { + display: none; } + .game-container .game-message.game-won { + background: rgba(237, 194, 46, 0.5); + color: #f9f6f2; } + .game-container .game-message.game-won a.keep-playing-button { + display: inline-block; } + .game-container .game-message.game-won, .game-container .game-message.game-over { + display: block; } + +.grid-container { + position: absolute; + z-index: 1; } + +.grid-row { + margin-bottom: 15px; } + .grid-row:last-child { + margin-bottom: 0; } + .grid-row:after { + content: ""; + display: block; + clear: both; } + +.grid-cell { + width: 106.25px; + height: 106.25px; + margin-right: 15px; + float: left; + border-radius: 3px; + background: rgba(238, 228, 218, 0.35); } + .grid-cell:last-child { + margin-right: 0; } + +.tile-container { + position: absolute; + z-index: 2; } + +.tile, .tile .tile-inner { + width: 107px; + height: 107px; + line-height: 116.25px; } +.tile.tile-position-1-1 { + -webkit-transform: translate(0px, 0px); + -moz-transform: translate(0px, 0px); + transform: translate(0px, 0px); } +.tile.tile-position-1-2 { + -webkit-transform: translate(0px, 121px); + -moz-transform: translate(0px, 121px); + transform: translate(0px, 121px); } +.tile.tile-position-1-3 { + -webkit-transform: translate(0px, 242px); + -moz-transform: translate(0px, 242px); + transform: translate(0px, 242px); } +.tile.tile-position-1-4 { + -webkit-transform: translate(0px, 363px); + -moz-transform: translate(0px, 363px); + transform: translate(0px, 363px); } +.tile.tile-position-2-1 { + -webkit-transform: translate(121px, 0px); + -moz-transform: translate(121px, 0px); + transform: translate(121px, 0px); } +.tile.tile-position-2-2 { + -webkit-transform: translate(121px, 121px); + -moz-transform: translate(121px, 121px); + transform: translate(121px, 121px); } +.tile.tile-position-2-3 { + -webkit-transform: translate(121px, 242px); + -moz-transform: translate(121px, 242px); + transform: translate(121px, 242px); } +.tile.tile-position-2-4 { + -webkit-transform: translate(121px, 363px); + -moz-transform: translate(121px, 363px); + transform: translate(121px, 363px); } +.tile.tile-position-3-1 { + -webkit-transform: translate(242px, 0px); + -moz-transform: translate(242px, 0px); + transform: translate(242px, 0px); } +.tile.tile-position-3-2 { + -webkit-transform: translate(242px, 121px); + -moz-transform: translate(242px, 121px); + transform: translate(242px, 121px); } +.tile.tile-position-3-3 { + -webkit-transform: translate(242px, 242px); + -moz-transform: translate(242px, 242px); + transform: translate(242px, 242px); } +.tile.tile-position-3-4 { + -webkit-transform: translate(242px, 363px); + -moz-transform: translate(242px, 363px); + transform: translate(242px, 363px); } +.tile.tile-position-4-1 { + -webkit-transform: translate(363px, 0px); + -moz-transform: translate(363px, 0px); + transform: translate(363px, 0px); } +.tile.tile-position-4-2 { + -webkit-transform: translate(363px, 121px); + -moz-transform: translate(363px, 121px); + transform: translate(363px, 121px); } +.tile.tile-position-4-3 { + -webkit-transform: translate(363px, 242px); + -moz-transform: translate(363px, 242px); + transform: translate(363px, 242px); } +.tile.tile-position-4-4 { + -webkit-transform: translate(363px, 363px); + -moz-transform: translate(363px, 363px); + transform: translate(363px, 363px); } + +.tile { + position: absolute; + -webkit-transition: 100ms ease-in-out; + -moz-transition: 100ms ease-in-out; + transition: 100ms ease-in-out; + -webkit-transition-property: -webkit-transform; + -moz-transition-property: -moz-transform; + transition-property: transform; } + .tile .tile-inner { + border-radius: 3px; + background: #eee4da; + text-align: center; + font-weight: bold; + z-index: 10; + font-size: 55px; } + .tile.tile-2 .tile-inner { + background: #eee4da; + background-image: url("../im/soutenir.png"); + background-size: 80% 80%; + background-repeat: no-repeat; + background-position: center; + font-size: 0px; + box-shadow: 0 0 30px 10px rgba(243, 215, 116, 0), inset 0 0 0 1px rgba(255, 255, 255, 0); } + .tile.tile-4 .tile-inner { + background: #ede0c8; + background-image: url("../im/framamindmap.png"); + background-size: 80% 80%; + background-repeat: no-repeat; + background-position: center; + font-size: 0px; + box-shadow: 0 0 30px 10px rgba(243, 215, 116, 0), inset 0 0 0 1px rgba(255, 255, 255, 0); } + .tile.tile-8 .tile-inner { + background: #bb9bbf; + background-image: url("../im/framadvd.png"); + background-size: 80% 80%; + background-repeat: no-repeat; + background-position: center; + font-size: 0px; + box-shadow: 0 0 30px 10px rgba(243, 215, 116, 0), inset 0 0 0 1px rgba(255, 255, 255, 0); } + .tile.tile-16 .tile-inner { + background: #f8a389; + background-image: url("../im/framazic.png"); + background-size: 80% 80%; + background-repeat: no-repeat; + background-position: center; + font-size: 0px; + box-shadow: 0 0 30px 10px rgba(243, 215, 116, 0), inset 0 0 0 1px rgba(255, 255, 255, 0); } + .tile.tile-32 .tile-inner { + background: #d8b74d; + background-image: url("../im/framatube.png"); + background-size: 80% 80%; + background-repeat: no-repeat; + background-position: center; + font-size: 0px; + box-shadow: 0 0 30px 10px rgba(243, 215, 116, 0.07937), inset 0 0 0 1px rgba(255, 255, 255, 0.04762); } + .tile.tile-64 .tile-inner { + background: #f0a751; + background-image: url("../im/framakey.png"); + background-size: 80% 80%; + background-repeat: no-repeat; + background-position: center; + font-size: 0px; + box-shadow: 0 0 30px 10px rgba(243, 215, 116, 0.15873), inset 0 0 0 1px rgba(255, 255, 255, 0.09524); } + .tile.tile-128 .tile-inner { + background: #7e8c87; + background-image: url("../im/framabook.png"); + background-size: 80% 80%; + background-repeat: no-repeat; + background-position: center; + font-size: 0px; } + .tile.tile-256 .tile-inner { + background: #fbeb76; + background-image: url("../im/framapad.png"); + background-size: 80% 80%; + background-repeat: no-repeat; + background-position: center; + font-size: 0px; } + .tile.tile-512 .tile-inner { + background: #4da66d; + background-image: url("../im/framablog.png"); + background-size: 80% 80%; + background-repeat: no-repeat; + background-position: center; + font-size: 0px; } + .tile.tile-1024 .tile-inner { + background: #89a9d7; + background-image: url("../im/favicon.png"); + background-size: 80% 80%; + background-repeat: no-repeat; + background-position: center; + font-size: 0px; } + .tile.tile-2048 .tile-inner { + background: #c76d5c; + background-image: url("../im/framasoft.png"); + background-size: 80% 80%; + background-repeat: no-repeat; + background-position: center; + font-size: 0px; } + .tile.tile-super .tile-inner { + color: #f9f6f2; + background: #3c3a32; + background-image: url("../im/goldenframa.png"); + background-size: 80% 80%; + background-repeat: no-repeat; + background-position: center; + font-size: 0px; } + @media screen and (max-width: 520px) { + .tile.tile-super .tile-inner { + font-size: 10px; } } + +@-webkit-keyframes appear { + 0% { + opacity: 0; + -webkit-transform: scale(0); + -moz-transform: scale(0); + transform: scale(0); } + + 100% { + opacity: 1; + -webkit-transform: scale(1); + -moz-transform: scale(1); + transform: scale(1); } } + +@-moz-keyframes appear { + 0% { + opacity: 0; + -webkit-transform: scale(0); + -moz-transform: scale(0); + transform: scale(0); } + + 100% { + opacity: 1; + -webkit-transform: scale(1); + -moz-transform: scale(1); + transform: scale(1); } } + +@keyframes appear { + 0% { + opacity: 0; + -webkit-transform: scale(0); + -moz-transform: scale(0); + transform: scale(0); } + + 100% { + opacity: 1; + -webkit-transform: scale(1); + -moz-transform: scale(1); + transform: scale(1); } } + +.tile-new .tile-inner { + -webkit-animation: appear 200ms ease 100ms; + -moz-animation: appear 200ms ease 100ms; + animation: appear 200ms ease 100ms; + -webkit-animation-fill-mode: backwards; + -moz-animation-fill-mode: backwards; + animation-fill-mode: backwards; } + +@-webkit-keyframes pop { + 0% { + -webkit-transform: scale(0); + -moz-transform: scale(0); + transform: scale(0); } + + 50% { + -webkit-transform: scale(1.2); + -moz-transform: scale(1.2); + transform: scale(1.2); } + + 100% { + -webkit-transform: scale(1); + -moz-transform: scale(1); + transform: scale(1); } } + +@-moz-keyframes pop { + 0% { + -webkit-transform: scale(0); + -moz-transform: scale(0); + transform: scale(0); } + + 50% { + -webkit-transform: scale(1.2); + -moz-transform: scale(1.2); + transform: scale(1.2); } + + 100% { + -webkit-transform: scale(1); + -moz-transform: scale(1); + transform: scale(1); } } + +@keyframes pop { + 0% { + -webkit-transform: scale(0); + -moz-transform: scale(0); + transform: scale(0); } + + 50% { + -webkit-transform: scale(1.2); + -moz-transform: scale(1.2); + transform: scale(1.2); } + + 100% { + -webkit-transform: scale(1); + -moz-transform: scale(1); + transform: scale(1); } } + +.tile-merged .tile-inner { + z-index: 20; + -webkit-animation: pop 200ms ease 100ms; + -moz-animation: pop 200ms ease 100ms; + animation: pop 200ms ease 100ms; + -webkit-animation-fill-mode: backwards; + -moz-animation-fill-mode: backwards; + animation-fill-mode: backwards; } + +.game-intro { + margin-bottom: 0; } + +.game-explanation { + margin-top: 50px; } + +@media screen and (max-width: 520px) { + html, body { + font-size: 15px; } + + body { + margin: 20px 0; + padding: 0 20px; } + + h1.title { + font-size: 27px; + margin-top: 15px; } + + .container { + width: 280px; + margin: 0 auto; } + + .score-container, .best-container { + margin-top: 0; + padding: 15px 10px; + min-width: 40px; } + + .heading { + margin-bottom: 10px; } + + .game-container { + margin-top: 40px; + position: relative; + padding: 10px; + cursor: default; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + background: #bbada0; + border-radius: 6px; + width: 280px; + height: 280px; + -ms-touch-action: none; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; } + .game-container .game-message { + display: none; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + background: rgba(199, 109, 92, 0.5); + z-index: 100; + text-align: center; + -webkit-animation: fade-in 800ms ease 1200ms; + -moz-animation: fade-in 800ms ease 1200ms; + animation: fade-in 800ms ease 1200ms; + -webkit-animation-fill-mode: both; + -moz-animation-fill-mode: both; + animation-fill-mode: both; } + .game-container .game-message p { + font-size: 60px; + font-weight: bold; + height: 60px; + line-height: 60px; + margin-top: 222px; } + .game-container .game-message .lower { + display: block; + margin-top: 59px; } + .game-container .game-message a { + display: inline-block; + background: #8f7a66; + border-radius: 3px; + padding: 0 20px; + text-decoration: none; + color: #f9f6f2; + height: 40px; + line-height: 42px; + margin-left: 9px; } + .game-container .game-message a.keep-playing-button { + display: none; } + .game-container .game-message.game-won { + background: rgba(237, 194, 46, 0.5); + color: #f9f6f2; } + .game-container .game-message.game-won a.keep-playing-button { + display: inline-block; } + .game-container .game-message.game-won, .game-container .game-message.game-over { + display: block; } + + .grid-container { + position: absolute; + z-index: 1; } + + .grid-row { + margin-bottom: 10px; } + .grid-row:last-child { + margin-bottom: 0; } + .grid-row:after { + content: ""; + display: block; + clear: both; } + + .grid-cell { + width: 57.5px; + height: 57.5px; + margin-right: 10px; + float: left; + border-radius: 3px; + background: rgba(199, 109, 92, 0.35); } + .grid-cell:last-child { + margin-right: 0; } + + .tile-container { + position: absolute; + z-index: 2; } + + .tile, .tile .tile-inner { + width: 58px; + height: 58px; + line-height: 67.5px; } + .tile.tile-position-1-1 { + -webkit-transform: translate(0px, 0px); + -moz-transform: translate(0px, 0px); + transform: translate(0px, 0px); } + .tile.tile-position-1-2 { + -webkit-transform: translate(0px, 67px); + -moz-transform: translate(0px, 67px); + transform: translate(0px, 67px); } + .tile.tile-position-1-3 { + -webkit-transform: translate(0px, 135px); + -moz-transform: translate(0px, 135px); + transform: translate(0px, 135px); } + .tile.tile-position-1-4 { + -webkit-transform: translate(0px, 202px); + -moz-transform: translate(0px, 202px); + transform: translate(0px, 202px); } + .tile.tile-position-2-1 { + -webkit-transform: translate(67px, 0px); + -moz-transform: translate(67px, 0px); + transform: translate(67px, 0px); } + .tile.tile-position-2-2 { + -webkit-transform: translate(67px, 67px); + -moz-transform: translate(67px, 67px); + transform: translate(67px, 67px); } + .tile.tile-position-2-3 { + -webkit-transform: translate(67px, 135px); + -moz-transform: translate(67px, 135px); + transform: translate(67px, 135px); } + .tile.tile-position-2-4 { + -webkit-transform: translate(67px, 202px); + -moz-transform: translate(67px, 202px); + transform: translate(67px, 202px); } + .tile.tile-position-3-1 { + -webkit-transform: translate(135px, 0px); + -moz-transform: translate(135px, 0px); + transform: translate(135px, 0px); } + .tile.tile-position-3-2 { + -webkit-transform: translate(135px, 67px); + -moz-transform: translate(135px, 67px); + transform: translate(135px, 67px); } + .tile.tile-position-3-3 { + -webkit-transform: translate(135px, 135px); + -moz-transform: translate(135px, 135px); + transform: translate(135px, 135px); } + .tile.tile-position-3-4 { + -webkit-transform: translate(135px, 202px); + -moz-transform: translate(135px, 202px); + transform: translate(135px, 202px); } + .tile.tile-position-4-1 { + -webkit-transform: translate(202px, 0px); + -moz-transform: translate(202px, 0px); + transform: translate(202px, 0px); } + .tile.tile-position-4-2 { + -webkit-transform: translate(202px, 67px); + -moz-transform: translate(202px, 67px); + transform: translate(202px, 67px); } + .tile.tile-position-4-3 { + -webkit-transform: translate(202px, 135px); + -moz-transform: translate(202px, 135px); + transform: translate(202px, 135px); } + .tile.tile-position-4-4 { + -webkit-transform: translate(202px, 202px); + -moz-transform: translate(202px, 202px); + transform: translate(202px, 202px); } + + .game-container { + margin-top: 20px; } + + .tile .tile-inner { + font-size: 35px; } + + .game-message p { + font-size: 30px !important; + height: 30px !important; + line-height: 30px !important; + margin-top: 90px !important; } + .game-message .lower { + margin-top: 30px !important; } } diff --git a/sources/2048frama/style/main.scss b/sources/2048frama/style/main.scss new file mode 100644 index 0000000..3499559 --- /dev/null +++ b/sources/2048frama/style/main.scss @@ -0,0 +1,511 @@ +@import "helpers"; +@import "fonts/clear-sans.css"; + +$field-width: 500px; +$grid-spacing: 15px; +$grid-row-cells: 4; +$tile-size: ($field-width - $grid-spacing * ($grid-row-cells + 1)) / $grid-row-cells; +$tile-border-radius: 3px; + +$mobile-threshold: $field-width + 20px; + +$text-color: #776E65; +$bright-text-color: #f9f6f2; + +$tile-color: #eee4da; +$tile-gold-color: #edc22e; +$tile-gold-glow-color: lighten($tile-gold-color, 15%); + +$game-container-background: #bbada0; + +$transition-speed: 100ms; + +html, body { + margin: 0; + padding: 0; + + background: #faf8ef; + color: $text-color; + font-family: "Helvetica Neue", Arial, sans-serif; + font-size: 18px; +} + +body { + margin: 80px 0; +} + +.heading:after { + content: ""; + display: block; + clear: both; +} + +h1.title { + font-size: 80px; + font-weight: bold; + margin: 0; + display: block; + float: left; +} + +@include keyframes(move-up) { + 0% { + top: 25px; + opacity: 1; + } + + 100% { + top: -50px; + opacity: 0; + } +} + +.scores-container { + float: right; + text-align: right; +} + +.score-container, .best-container { + $height: 25px; + + position: relative; + display: inline-block; + background: $game-container-background; + padding: 15px 25px; + font-size: $height; + height: $height; + line-height: $height + 22px; + font-weight: bold; + border-radius: 3px; + color: white; + margin-top: 8px; + text-align: center; + + &:after { + position: absolute; + width: 100%; + top: 10px; + left: 0; + text-transform: uppercase; + font-size: 13px; + line-height: 13px; + text-align: center; + color: $tile-color; + } + + .score-addition { + position: absolute; + right: 30px; + color: red; + font-size: $height; + line-height: $height; + font-weight: bold; + color: rgba($text-color, .9); + z-index: 100; + @include animation(move-up 600ms ease-in); + @include animation-fill-mode(both); + } +} + +.score-container:after { + content: "Score"; +} + +.best-container:after { + content: "Best" +} + +p { + margin-top: 0; + margin-bottom: 10px; + line-height: 1.65; +} + +a { + color: $text-color; + font-weight: bold; + text-decoration: underline; + cursor: pointer; +} + +strong { + &.important { + text-transform: uppercase; + } +} + +hr { + border: none; + border-bottom: 1px solid lighten($text-color, 40%); + margin-top: 20px; + margin-bottom: 30px; +} + +.container { + width: $field-width; + margin: 0 auto; +} + +@include keyframes(fade-in) { + 0% { + opacity: 0; + } + + 100% { + opacity: 1; + } +} + +// Styles for buttons +@mixin button { + display: inline-block; + background: darken($game-container-background, 20%); + border-radius: 3px; + padding: 0 20px; + text-decoration: none; + color: $bright-text-color; + height: 40px; + line-height: 42px; +} + +// Game field mixin used to render CSS at different width +@mixin game-field { + .game-container { + margin-top: 40px; + position: relative; + padding: $grid-spacing; + + cursor: default; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + + background: $game-container-background; + border-radius: $tile-border-radius * 2; + width: $field-width; + height: $field-width; + -ms-touch-action: none; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + + .game-message { + display: none; + + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + background: rgba($tile-color, .5); + z-index: 100; + + text-align: center; + + p { + font-size: 60px; + font-weight: bold; + height: 60px; + line-height: 60px; + margin-top: 222px; + // height: $field-width; + // line-height: $field-width; + } + + .lower { + display: block; + margin-top: 59px; + } + + a { + @include button; + margin-left: 9px; + // margin-top: 59px; + + &.keep-playing-button { + display: none; + } + } + + @include animation(fade-in 800ms ease $transition-speed * 12); + @include animation-fill-mode(both); + + &.game-won { + background: rgba($tile-gold-color, .5); + color: $bright-text-color; + + a.keep-playing-button { + display: inline-block; + } + } + + &.game-won, &.game-over { + display: block; + } + } + } + + .grid-container { + position: absolute; + z-index: 1; + } + + .grid-row { + margin-bottom: $grid-spacing; + + &:last-child { + margin-bottom: 0; + } + + &:after { + content: ""; + display: block; + clear: both; + } + } + + .grid-cell { + width: $tile-size; + height: $tile-size; + margin-right: $grid-spacing; + float: left; + + border-radius: $tile-border-radius; + + background: rgba($tile-color, .35); + + &:last-child { + margin-right: 0; + } + } + + .tile-container { + position: absolute; + z-index: 2; + } + + .tile { + &, .tile-inner { + width: ceil($tile-size); + height: ceil($tile-size); + line-height: $tile-size + 10px; + } + + // Build position classes + @for $x from 1 through $grid-row-cells { + @for $y from 1 through $grid-row-cells { + &.tile-position-#{$x}-#{$y} { + $xPos: floor(($tile-size + $grid-spacing) * ($x - 1)); + $yPos: floor(($tile-size + $grid-spacing) * ($y - 1)); + @include transform(translate($xPos, $yPos)); + } + } + } + } +} + +// End of game-field mixin +@include game-field; + +.tile { + position: absolute; // Makes transforms relative to the top-left corner + + .tile-inner { + border-radius: $tile-border-radius; + + background: $tile-color; + text-align: center; + font-weight: bold; + z-index: 10; + + font-size: 55px; + } + + // Movement transition + @include transition($transition-speed ease-in-out); + -webkit-transition-property: -webkit-transform; + -moz-transition-property: -moz-transform; + transition-property: transform; + + $base: 2; + $exponent: 1; + $limit: 11; + + // Colors for all 11 states, false = no special color + $special-colors: #eee4da false, // 2 + #ede0c8 false, // 4 + #bb9bbf false, // 8 + #f8a389 false, // 16 + #d8b74d false, // 32 + #f0a751 false, // 64 + #7e8c87 true, // 128 + #fbeb76 true, // 256 + #4da66d true, // 512 + #89a9d7 true, // 1024 + #c76d5c true; // 2048 + + $tile-pokemon: url('../im/weedle.png'), // 2 + url('../im/pidgey.png'), // 4 + url('../im/zubat.png'), // 8 + url('../im/magikarp.png'), // 16 + url('../im/psyduck.png'), // 32 + url('../im/ninetales.png'), // 64 + url('../im/snorlax.png'), // 128 + url('../im/pikachu.png'), // 256 + url('../im/venasaur.png'), // 512 + url('../im/blastoise.png'), // 1024 + url('../im/charizard.png'); // 2048 + + // Build tile colors + @while $exponent <= $limit { + $power: pow($base, $exponent); + + &.tile-#{$power} .tile-inner { + // Calculate base background color + + $nth-color: nth($special-colors, $exponent); + + $tile-color: nth($nth-color, 1); + $use-shadow: nth($nth-color, 2); + + + // Set background + background: $tile-color; + background-image: nth($tile-pokemon, $exponent); + background-size: 80% 80%; + background-repeat: no-repeat; + background-position: center; + font-size: 0px; + + // Add glow + $glow-opacity: max($exponent - 4, 0) / ($limit - 4); + + @if not $use-shadow { + box-shadow: 0 0 30px 10px rgba($tile-gold-glow-color, $glow-opacity / 1.8), + inset 0 0 0 1px rgba(white, $glow-opacity / 3); + } + } + + $exponent: $exponent + 1; + } + + // Super tiles (above 2048) + &.tile-super .tile-inner { + color: $bright-text-color; + background: mix(#333, $tile-gold-color, 95%); + + font-size: 30px; + + @include smaller($mobile-threshold) { + font-size: 10px; + } + } +} + +@include keyframes(appear) { + 0% { + opacity: 0; + @include transform(scale(0)); + } + + 100% { + opacity: 1; + @include transform(scale(1)); + } +} + +.tile-new .tile-inner { + @include animation(appear 200ms ease $transition-speed); + @include animation-fill-mode(backwards); +} + +@include keyframes(pop) { + 0% { + @include transform(scale(0)); + } + + 50% { + @include transform(scale(1.2)); + } + + 100% { + @include transform(scale(1)); + } +} + +.tile-merged .tile-inner { + z-index: 20; + @include animation(pop 200ms ease $transition-speed); + @include animation-fill-mode(backwards); +} + +.game-intro { + margin-bottom: 0; +} + +.game-explanation { + margin-top: 50px; +} + +@include smaller($mobile-threshold) { + // Redefine variables for smaller screens + $field-width: 280px; + $grid-spacing: 10px; + $grid-row-cells: 4; + $tile-size: ($field-width - $grid-spacing * ($grid-row-cells + 1)) / $grid-row-cells; + $tile-border-radius: 3px; + + html, body { + font-size: 15px; + } + + body { + margin: 20px 0; + padding: 0 20px; + } + + h1.title { + font-size: 27px; + margin-top: 15px; + } + + .container { + width: $field-width; + margin: 0 auto; + } + + .score-container, .best-container { + margin-top: 0; + padding: 15px 10px; + min-width: 40px; + } + + .heading { + margin-bottom: 10px; + } + + // Render the game field at the right width + @include game-field; + + .game-container { + margin-top: 20px; + } + + // Rest of the font-size adjustments in the tile class + .tile .tile-inner { + font-size: 35px; + } + + .game-message { + p { + font-size: 30px !important; + height: 30px !important; + line-height: 30px !important; + margin-top: 90px !important; + } + + .lower { + margin-top: 30px !important; + } + } +} diff --git a/sources/2048originel/.gitignore b/sources/2048originel/.gitignore new file mode 100644 index 0000000..0d31019 --- /dev/null +++ b/sources/2048originel/.gitignore @@ -0,0 +1 @@ +.sass-cache/ diff --git a/sources/2048originel/.jshintrc b/sources/2048originel/.jshintrc new file mode 100644 index 0000000..87dbf9a --- /dev/null +++ b/sources/2048originel/.jshintrc @@ -0,0 +1,19 @@ +{ + "esnext": true, + "indent": 2, + "maxlen": 80, + "freeze": true, + "camelcase": true, + "unused": true, + "eqnull": true, + "proto": true, + "supernew": true, + "noyield": true, + "evil": true, + "node": true, + "boss": true, + "expr": true, + "loopfunc": true, + "white": true, + "maxdepth": 4 +} diff --git a/sources/2048originel/CONTRIBUTING.md b/sources/2048originel/CONTRIBUTING.md new file mode 100644 index 0000000..968baa9 --- /dev/null +++ b/sources/2048originel/CONTRIBUTING.md @@ -0,0 +1,2 @@ +## Contributing +Changes and improvements are more than welcome! Feel free to fork and open a pull request. Please make your changes in a specifically made branch and request to pull on `master`! If you can, please make sure the game fully works before sending the PR, as that will help speed up the process. diff --git a/sources/2048originel/LICENSE.txt b/sources/2048originel/LICENSE.txt new file mode 100644 index 0000000..b0dbfa4 --- /dev/null +++ b/sources/2048originel/LICENSE.txt @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014 Gabriele Cirulli + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/sources/2048originel/README.md b/sources/2048originel/README.md new file mode 100644 index 0000000..19c6d0e --- /dev/null +++ b/sources/2048originel/README.md @@ -0,0 +1,31 @@ +# 2048 +A small clone of [1024](https://play.google.com/store/apps/details?id=com.veewo.a1024), based on [Saming's 2048](http://saming.fr/p/2048/) (also a clone). + +Made just for fun. [Play it here!](http://gabrielecirulli.github.io/2048/) + +### Contributions + + - [TimPetricola](https://github.com/TimPetricola) added best score storage + - [chrisprice](https://github.com/chrisprice) added custom code for swipe handling on mobile + - [elektryk](https://github.com/elektryk) made swipes work on Windows Phone + +Many thanks to [rayhaanj](https://github.com/rayhaanj), [Mechazawa](https://github.com/Mechazawa), [grant](https://github.com/grant), [remram44](https://github.com/remram44) and [ghoullier](https://github.com/ghoullier) for the many other good contributions. + +### Screenshot + +

+ Screenshot +

+ +That screenshot is fake, by the way. I never reached 2048 :smile: + +## Contributing +Changes and improvements are more than welcome! Feel free to fork and open a pull request. Please make your changes in a specific branch and request to pull into `master`! If you can, please make sure the game fully works before sending the PR, as that will help speed up the process. + +You can find the same information in the [contributing guide.](https://github.com/gabrielecirulli/2048/blob/master/CONTRIBUTING.md) + +## License +2048 is licensed under the [MIT license.](https://github.com/gabrielecirulli/2048/blob/master/LICENSE.txt) + +## Donations +I made this in my spare time, and it's hosted on GitHub (which means I don't have any hosting costs), but if you enjoyed the game and feel like buying me coffee, you can donate at my BTC address: `1Ec6onfsQmoP9kkL3zkpB6c5sA4PVcXU2i`. Thank you very much! diff --git a/sources/2048originel/Rakefile b/sources/2048originel/Rakefile new file mode 100644 index 0000000..3e9851e --- /dev/null +++ b/sources/2048originel/Rakefile @@ -0,0 +1,11 @@ +require "date" + +namespace :appcache do + desc "update the date in the appcache file (in the gh-pages branch)" + task :update do + appcache = File.read("cache.appcache") + updated = "# Updated: #{DateTime.now}" + + File.write("cache.appcache", appcache.sub(/^# Updated:.*$/, updated)) + end +end diff --git a/sources/2048originel/favicon.ico b/sources/2048originel/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..22109e04a9f44bde18ec7b7a4b7410d0246521bc GIT binary patch literal 4286 zcmeI0u}T9$5QaxAZ4|*eSlRmm7M9V@SMU{VQ>5?}d;{?n1WA#?B1H-d3kAW#!e}&! z290>`cj4E~-Q@zpx`i3p?A^})&p$J}fvjc=?ypiYKJ9qfY|YFz+;B^_ zFn$f<2q!J!u7@9~i@DVw36{n#zAi#L=w1qYr#f#FwA?@S$6_fB4AP=j)up z&-xU9K1cfvmODrDz4%vq5%c#q+Oh8+)rjYPd=HIz|I|hJ=PnrXPDE_>yDHg+*KulwNh1` literal 0 HcmV?d00001 diff --git a/sources/2048originel/index.html b/sources/2048originel/index.html new file mode 100644 index 0000000..5c80b9c --- /dev/null +++ b/sources/2048originel/index.html @@ -0,0 +1,87 @@ + + + + + 2048 + + + + + + + + + + + +
+ + + + + + + + + + + + diff --git a/sources/2048originel/js/animframe_polyfill.js b/sources/2048originel/js/animframe_polyfill.js new file mode 100644 index 0000000..c45a13e --- /dev/null +++ b/sources/2048originel/js/animframe_polyfill.js @@ -0,0 +1,26 @@ +(function() { + var lastTime = 0; + var vendors = ['webkit', 'moz']; + for(var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) { + window.requestAnimationFrame = window[vendors[x]+'RequestAnimationFrame']; + window.cancelAnimationFrame = + window[vendors[x]+'CancelAnimationFrame'] || window[vendors[x]+'CancelRequestAnimationFrame']; + } + + if (!window.requestAnimationFrame) { + window.requestAnimationFrame = function(callback, element) { + var currTime = new Date().getTime(); + var timeToCall = Math.max(0, 16 - (currTime - lastTime)); + var id = window.setTimeout(function() { callback(currTime + timeToCall); }, + timeToCall); + lastTime = currTime + timeToCall; + return id; + }; + } + + if (!window.cancelAnimationFrame) { + window.cancelAnimationFrame = function(id) { + clearTimeout(id); + }; + } +}()); diff --git a/sources/2048originel/js/application.js b/sources/2048originel/js/application.js new file mode 100644 index 0000000..a4d310a --- /dev/null +++ b/sources/2048originel/js/application.js @@ -0,0 +1,4 @@ +// Wait till the browser is ready to render the game (avoids glitches) +window.requestAnimationFrame(function () { + new GameManager(4, KeyboardInputManager, HTMLActuator, LocalScoreManager); +}); diff --git a/sources/2048originel/js/game_manager.js b/sources/2048originel/js/game_manager.js new file mode 100644 index 0000000..b36aea3 --- /dev/null +++ b/sources/2048originel/js/game_manager.js @@ -0,0 +1,245 @@ +function GameManager(size, InputManager, Actuator, ScoreManager) { + this.size = size; // Size of the grid + this.inputManager = new InputManager; + this.scoreManager = new ScoreManager; + this.actuator = new Actuator; + + this.startTiles = 2; + + this.inputManager.on("move", this.move.bind(this)); + this.inputManager.on("restart", this.restart.bind(this)); + this.inputManager.on("keepPlaying", this.keepPlaying.bind(this)); + + this.setup(); +} + +// Restart the game +GameManager.prototype.restart = function () { + this.actuator.continue(); + this.setup(); +}; + +// Keep playing after winning +GameManager.prototype.keepPlaying = function () { + this.keepPlaying = true; + this.actuator.continue(); +}; + +GameManager.prototype.isGameTerminated = function () { + if (this.over || (this.won && !this.keepPlaying)) { + return true; + } else { + return false; + } +}; + +// Set up the game +GameManager.prototype.setup = function () { + this.grid = new Grid(this.size); + + this.score = 0; + this.over = false; + this.won = false; + this.keepPlaying = false; + + // Add the initial tiles + this.addStartTiles(); + + // Update the actuator + this.actuate(); +}; + +// Set up the initial tiles to start the game with +GameManager.prototype.addStartTiles = function () { + for (var i = 0; i < this.startTiles; i++) { + this.addRandomTile(); + } +}; + +// Adds a tile in a random position +GameManager.prototype.addRandomTile = function () { + if (this.grid.cellsAvailable()) { + var value = Math.random() < 0.9 ? 2 : 4; + var tile = new Tile(this.grid.randomAvailableCell(), value); + + this.grid.insertTile(tile); + } +}; + +// Sends the updated grid to the actuator +GameManager.prototype.actuate = function () { + if (this.scoreManager.get() < this.score) { + this.scoreManager.set(this.score); + } + + this.actuator.actuate(this.grid, { + score: this.score, + over: this.over, + won: this.won, + bestScore: this.scoreManager.get(), + terminated: this.isGameTerminated() + }); + +}; + +// Save all tile positions and remove merger info +GameManager.prototype.prepareTiles = function () { + this.grid.eachCell(function (x, y, tile) { + if (tile) { + tile.mergedFrom = null; + tile.savePosition(); + } + }); +}; + +// Move a tile and its representation +GameManager.prototype.moveTile = function (tile, cell) { + this.grid.cells[tile.x][tile.y] = null; + this.grid.cells[cell.x][cell.y] = tile; + tile.updatePosition(cell); +}; + +// Move tiles on the grid in the specified direction +GameManager.prototype.move = function (direction) { + // 0: up, 1: right, 2:down, 3: left + var self = this; + + if (this.isGameTerminated()) return; // Don't do anything if the game's over + + var cell, tile; + + var vector = this.getVector(direction); + var traversals = this.buildTraversals(vector); + var moved = false; + + // Save the current tile positions and remove merger information + this.prepareTiles(); + + // Traverse the grid in the right direction and move tiles + traversals.x.forEach(function (x) { + traversals.y.forEach(function (y) { + cell = { x: x, y: y }; + tile = self.grid.cellContent(cell); + + if (tile) { + var positions = self.findFarthestPosition(cell, vector); + var next = self.grid.cellContent(positions.next); + + // Only one merger per row traversal? + if (next && next.value === tile.value && !next.mergedFrom) { + var merged = new Tile(positions.next, tile.value * 2); + merged.mergedFrom = [tile, next]; + + self.grid.insertTile(merged); + self.grid.removeTile(tile); + + // Converge the two tiles' positions + tile.updatePosition(positions.next); + + // Update the score + self.score += merged.value; + + // The mighty 2048 tile + if (merged.value === 2048) self.won = true; + } else { + self.moveTile(tile, positions.farthest); + } + + if (!self.positionsEqual(cell, tile)) { + moved = true; // The tile moved from its original cell! + } + } + }); + }); + + if (moved) { + this.addRandomTile(); + + if (!this.movesAvailable()) { + this.over = true; // Game over! + } + + this.actuate(); + } +}; + +// Get the vector representing the chosen direction +GameManager.prototype.getVector = function (direction) { + // Vectors representing tile movement + var map = { + 0: { x: 0, y: -1 }, // up + 1: { x: 1, y: 0 }, // right + 2: { x: 0, y: 1 }, // down + 3: { x: -1, y: 0 } // left + }; + + return map[direction]; +}; + +// Build a list of positions to traverse in the right order +GameManager.prototype.buildTraversals = function (vector) { + var traversals = { x: [], y: [] }; + + for (var pos = 0; pos < this.size; pos++) { + traversals.x.push(pos); + traversals.y.push(pos); + } + + // Always traverse from the farthest cell in the chosen direction + if (vector.x === 1) traversals.x = traversals.x.reverse(); + if (vector.y === 1) traversals.y = traversals.y.reverse(); + + return traversals; +}; + +GameManager.prototype.findFarthestPosition = function (cell, vector) { + var previous; + + // Progress towards the vector direction until an obstacle is found + do { + previous = cell; + cell = { x: previous.x + vector.x, y: previous.y + vector.y }; + } while (this.grid.withinBounds(cell) && + this.grid.cellAvailable(cell)); + + return { + farthest: previous, + next: cell // Used to check if a merge is required + }; +}; + +GameManager.prototype.movesAvailable = function () { + return this.grid.cellsAvailable() || this.tileMatchesAvailable(); +}; + +// Check for available matches between tiles (more expensive check) +GameManager.prototype.tileMatchesAvailable = function () { + var self = this; + + var tile; + + for (var x = 0; x < this.size; x++) { + for (var y = 0; y < this.size; y++) { + tile = this.grid.cellContent({ x: x, y: y }); + + if (tile) { + for (var direction = 0; direction < 4; direction++) { + var vector = self.getVector(direction); + var cell = { x: x + vector.x, y: y + vector.y }; + + var other = self.grid.cellContent(cell); + + if (other && other.value === tile.value) { + return true; // These two tiles can be merged + } + } + } + } + } + + return false; +}; + +GameManager.prototype.positionsEqual = function (first, second) { + return first.x === second.x && first.y === second.y; +}; diff --git a/sources/2048originel/js/grid.js b/sources/2048originel/js/grid.js new file mode 100644 index 0000000..05fe057 --- /dev/null +++ b/sources/2048originel/js/grid.js @@ -0,0 +1,84 @@ +function Grid(size) { + this.size = size; + + this.cells = []; + + this.build(); +} + +// Build a grid of the specified size +Grid.prototype.build = function () { + for (var x = 0; x < this.size; x++) { + var row = this.cells[x] = []; + + for (var y = 0; y < this.size; y++) { + row.push(null); + } + } +}; + +// Find the first available random position +Grid.prototype.randomAvailableCell = function () { + var cells = this.availableCells(); + + if (cells.length) { + return cells[Math.floor(Math.random() * cells.length)]; + } +}; + +Grid.prototype.availableCells = function () { + var cells = []; + + this.eachCell(function (x, y, tile) { + if (!tile) { + cells.push({ x: x, y: y }); + } + }); + + return cells; +}; + +// Call callback for every cell +Grid.prototype.eachCell = function (callback) { + for (var x = 0; x < this.size; x++) { + for (var y = 0; y < this.size; y++) { + callback(x, y, this.cells[x][y]); + } + } +}; + +// Check if there are any cells available +Grid.prototype.cellsAvailable = function () { + return !!this.availableCells().length; +}; + +// Check if the specified cell is taken +Grid.prototype.cellAvailable = function (cell) { + return !this.cellOccupied(cell); +}; + +Grid.prototype.cellOccupied = function (cell) { + return !!this.cellContent(cell); +}; + +Grid.prototype.cellContent = function (cell) { + if (this.withinBounds(cell)) { + return this.cells[cell.x][cell.y]; + } else { + return null; + } +}; + +// Inserts a tile at its position +Grid.prototype.insertTile = function (tile) { + this.cells[tile.x][tile.y] = tile; +}; + +Grid.prototype.removeTile = function (tile) { + this.cells[tile.x][tile.y] = null; +}; + +Grid.prototype.withinBounds = function (position) { + return position.x >= 0 && position.x < this.size && + position.y >= 0 && position.y < this.size; +}; diff --git a/sources/2048originel/js/html_actuator.js b/sources/2048originel/js/html_actuator.js new file mode 100644 index 0000000..d840068 --- /dev/null +++ b/sources/2048originel/js/html_actuator.js @@ -0,0 +1,139 @@ +function HTMLActuator() { + this.tileContainer = document.querySelector(".tile-container"); + this.scoreContainer = document.querySelector(".score-container"); + this.bestContainer = document.querySelector(".best-container"); + this.messageContainer = document.querySelector(".game-message"); + + this.score = 0; +} + +HTMLActuator.prototype.actuate = function (grid, metadata) { + var self = this; + + window.requestAnimationFrame(function () { + self.clearContainer(self.tileContainer); + + grid.cells.forEach(function (column) { + column.forEach(function (cell) { + if (cell) { + self.addTile(cell); + } + }); + }); + + self.updateScore(metadata.score); + self.updateBestScore(metadata.bestScore); + + if (metadata.terminated) { + if (metadata.over) { + self.message(false); // You lose + } else if (metadata.won) { + self.message(true); // You win! + } + } + + }); +}; + +// Continues the game (both restart and keep playing) +HTMLActuator.prototype.continue = function () { + this.clearMessage(); +}; + +HTMLActuator.prototype.clearContainer = function (container) { + while (container.firstChild) { + container.removeChild(container.firstChild); + } +}; + +HTMLActuator.prototype.addTile = function (tile) { + var self = this; + + var wrapper = document.createElement("div"); + var inner = document.createElement("div"); + var position = tile.previousPosition || { x: tile.x, y: tile.y }; + var positionClass = this.positionClass(position); + + // We can't use classlist because it somehow glitches when replacing classes + var classes = ["tile", "tile-" + tile.value, positionClass]; + + if (tile.value > 2048) classes.push("tile-super"); + + this.applyClasses(wrapper, classes); + + inner.classList.add("tile-inner"); + inner.textContent = tile.value; + + if (tile.previousPosition) { + // Make sure that the tile gets rendered in the previous position first + window.requestAnimationFrame(function () { + classes[2] = self.positionClass({ x: tile.x, y: tile.y }); + self.applyClasses(wrapper, classes); // Update the position + }); + } else if (tile.mergedFrom) { + classes.push("tile-merged"); + this.applyClasses(wrapper, classes); + + // Render the tiles that merged + tile.mergedFrom.forEach(function (merged) { + self.addTile(merged); + }); + } else { + classes.push("tile-new"); + this.applyClasses(wrapper, classes); + } + + // Add the inner part of the tile to the wrapper + wrapper.appendChild(inner); + + // Put the tile on the board + this.tileContainer.appendChild(wrapper); +}; + +HTMLActuator.prototype.applyClasses = function (element, classes) { + element.setAttribute("class", classes.join(" ")); +}; + +HTMLActuator.prototype.normalizePosition = function (position) { + return { x: position.x + 1, y: position.y + 1 }; +}; + +HTMLActuator.prototype.positionClass = function (position) { + position = this.normalizePosition(position); + return "tile-position-" + position.x + "-" + position.y; +}; + +HTMLActuator.prototype.updateScore = function (score) { + this.clearContainer(this.scoreContainer); + + var difference = score - this.score; + this.score = score; + + this.scoreContainer.textContent = this.score; + + if (difference > 0) { + var addition = document.createElement("div"); + addition.classList.add("score-addition"); + addition.textContent = "+" + difference; + + this.scoreContainer.appendChild(addition); + } +}; + +HTMLActuator.prototype.updateBestScore = function (bestScore) { + this.bestContainer.textContent = bestScore; +}; + +HTMLActuator.prototype.message = function (won) { + var type = won ? "game-won" : "game-over"; + var message = won ? "You win!" : "Game over!"; + + this.messageContainer.classList.add(type); + this.messageContainer.getElementsByTagName("p")[0].textContent = message; +}; + +HTMLActuator.prototype.clearMessage = function () { + // IE only takes one value to remove at a time. + this.messageContainer.classList.remove("game-won"); + this.messageContainer.classList.remove("game-over"); +}; diff --git a/sources/2048originel/js/keyboard_input_manager.js b/sources/2048originel/js/keyboard_input_manager.js new file mode 100644 index 0000000..a29744c --- /dev/null +++ b/sources/2048originel/js/keyboard_input_manager.js @@ -0,0 +1,130 @@ +function KeyboardInputManager() { + this.events = {}; + + if (window.navigator.msPointerEnabled) { + //Internet Explorer 10 style + this.eventTouchstart = "MSPointerDown"; + this.eventTouchmove = "MSPointerMove"; + this.eventTouchend = "MSPointerUp"; + } else { + this.eventTouchstart = "touchstart"; + this.eventTouchmove = "touchmove"; + this.eventTouchend = "touchend"; + } + + this.listen(); +} + +KeyboardInputManager.prototype.on = function (event, callback) { + if (!this.events[event]) { + this.events[event] = []; + } + this.events[event].push(callback); +}; + +KeyboardInputManager.prototype.emit = function (event, data) { + var callbacks = this.events[event]; + if (callbacks) { + callbacks.forEach(function (callback) { + callback(data); + }); + } +}; + +KeyboardInputManager.prototype.listen = function () { + var self = this; + + var map = { + 38: 0, // Up + 39: 1, // Right + 40: 2, // Down + 37: 3, // Left + 75: 0, // vim keybindings + 76: 1, + 74: 2, + 72: 3, + 87: 0, // W + 68: 1, // D + 83: 2, // S + 65: 3 // A + }; + + document.addEventListener("keydown", function (event) { + var modifiers = event.altKey || event.ctrlKey || event.metaKey || + event.shiftKey; + var mapped = map[event.which]; + + if (!modifiers) { + if (mapped !== undefined) { + event.preventDefault(); + self.emit("move", mapped); + } + + if (event.which === 32) self.restart.bind(self)(event); + } + }); + + var retry = document.querySelector(".retry-button"); + retry.addEventListener("click", this.restart.bind(this)); + retry.addEventListener(this.eventTouchend, this.restart.bind(this)); + + var keepPlaying = document.querySelector(".keep-playing-button"); + keepPlaying.addEventListener("click", this.keepPlaying.bind(this)); + keepPlaying.addEventListener("touchend", this.keepPlaying.bind(this)); + + // Listen to swipe events + var touchStartClientX, touchStartClientY; + var gameContainer = document.getElementsByClassName("game-container")[0]; + + gameContainer.addEventListener(this.eventTouchstart, function (event) { + if (( !window.navigator.msPointerEnabled && event.touches.length > 1) || event.targetTouches > 1) return; + + if(window.navigator.msPointerEnabled){ + touchStartClientX = event.pageX; + touchStartClientY = event.pageY; + } else { + touchStartClientX = event.touches[0].clientX; + touchStartClientY = event.touches[0].clientY; + } + + event.preventDefault(); + }); + + gameContainer.addEventListener(this.eventTouchmove, function (event) { + event.preventDefault(); + }); + + gameContainer.addEventListener(this.eventTouchend, function (event) { + if (( !window.navigator.msPointerEnabled && event.touches.length > 0) || event.targetTouches > 0) return; + + var touchEndClientX, touchEndClientY; + if(window.navigator.msPointerEnabled){ + touchEndClientX = event.pageX; + touchEndClientY = event.pageY; + } else { + touchEndClientX = event.changedTouches[0].clientX; + touchEndClientY = event.changedTouches[0].clientY; + } + + var dx = touchEndClientX - touchStartClientX; + var absDx = Math.abs(dx); + + var dy = touchEndClientY - touchStartClientY; + var absDy = Math.abs(dy); + + if (Math.max(absDx, absDy) > 10) { + // (right : left) : (down : up) + self.emit("move", absDx > absDy ? (dx > 0 ? 1 : 3) : (dy > 0 ? 2 : 0)); + } + }); +}; + +KeyboardInputManager.prototype.restart = function (event) { + event.preventDefault(); + this.emit("restart"); +}; + +KeyboardInputManager.prototype.keepPlaying = function (event) { + event.preventDefault(); + this.emit("keepPlaying"); +}; diff --git a/sources/2048originel/js/local_score_manager.js b/sources/2048originel/js/local_score_manager.js new file mode 100644 index 0000000..ec4575d --- /dev/null +++ b/sources/2048originel/js/local_score_manager.js @@ -0,0 +1,48 @@ +window.fakeStorage = { + _data: {}, + + setItem: function (id, val) { + return this._data[id] = String(val); + }, + + getItem: function (id) { + return this._data.hasOwnProperty(id) ? this._data[id] : undefined; + }, + + removeItem: function (id) { + return delete this._data[id]; + }, + + clear: function () { + return this._data = {}; + } +}; + +function LocalScoreManager() { + this.key = "bestScore"; + + var supported = this.localStorageSupported(); + this.storage = supported ? window.localStorage : window.fakeStorage; +} + +LocalScoreManager.prototype.localStorageSupported = function () { + var testKey = "test"; + var storage = window.localStorage; + + try { + storage.setItem(testKey, "1"); + storage.removeItem(testKey); + return true; + } catch (error) { + return false; + } +}; + +LocalScoreManager.prototype.get = function () { + return this.storage.getItem(this.key) || 0; +}; + +LocalScoreManager.prototype.set = function (score) { + this.storage.setItem(this.key, score); +}; + diff --git a/sources/2048originel/js/tile.js b/sources/2048originel/js/tile.js new file mode 100644 index 0000000..de08333 --- /dev/null +++ b/sources/2048originel/js/tile.js @@ -0,0 +1,17 @@ +function Tile(position, value) { + this.x = position.x; + this.y = position.y; + this.value = value || 2; + + this.previousPosition = null; + this.mergedFrom = null; // Tracks tiles that merged together +} + +Tile.prototype.savePosition = function () { + this.previousPosition = { x: this.x, y: this.y }; +}; + +Tile.prototype.updatePosition = function (position) { + this.x = position.x; + this.y = position.y; +}; diff --git a/sources/2048originel/meta/apple-touch-icon.png b/sources/2048originel/meta/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3fd20f6092338ef464e440ec84a34c8850fd5d33 GIT binary patch literal 5808 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 FVn7M1yXgP` literal 0 HcmV?d00001 diff --git a/sources/2048originel/style/fonts/ClearSans-Bold-webfont.svg b/sources/2048originel/style/fonts/ClearSans-Bold-webfont.svg new file mode 100644 index 0000000..aa985ae --- /dev/null +++ b/sources/2048originel/style/fonts/ClearSans-Bold-webfont.svg @@ -0,0 +1,640 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/sources/2048originel/style/fonts/ClearSans-Bold-webfont.woff b/sources/2048originel/style/fonts/ClearSans-Bold-webfont.woff new file mode 100644 index 0000000000000000000000000000000000000000..184a945da400fdcae4bc6445ede163079087d18a GIT binary patch literal 27120 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 QFw!zZW>;c{cT+4ZZH+4t-2eap literal 0 HcmV?d00001 diff --git a/sources/2048originel/style/fonts/ClearSans-Light-webfont.svg b/sources/2048originel/style/fonts/ClearSans-Light-webfont.svg new file mode 100644 index 0000000..1d5d2ec --- /dev/null +++ b/sources/2048originel/style/fonts/ClearSans-Light-webfont.svg @@ -0,0 +1,670 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/sources/2048originel/style/fonts/ClearSans-Light-webfont.woff b/sources/2048originel/style/fonts/ClearSans-Light-webfont.woff new file mode 100644 index 0000000000000000000000000000000000000000..44555e04e957649116504d8169f37e8c0936c92a GIT binary patch literal 28700 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 dO@v4$l8d2CKWjcdI;U` + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/sources/2048originel/style/fonts/ClearSans-Regular-webfont.woff b/sources/2048originel/style/fonts/ClearSans-Regular-webfont.woff new file mode 100644 index 0000000000000000000000000000000000000000..9d58858d809454e026cdebc3e766154ee8727582 GIT binary patch literal 26764 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 literal 0 HcmV?d00001 diff --git a/sources/2048originel/style/fonts/clear-sans.css b/sources/2048originel/style/fonts/clear-sans.css new file mode 100644 index 0000000..de2811d --- /dev/null +++ b/sources/2048originel/style/fonts/clear-sans.css @@ -0,0 +1,30 @@ +@font-face { + font-family: "Clear Sans"; + src: url("ClearSans-Light-webfont.eot"); + src: url("ClearSans-Light-webfont.eot?#iefix") format("embedded-opentype"), + url("ClearSans-Light-webfont.svg#clear_sans_lightregular") format("svg"), + url("ClearSans-Light-webfont.woff") format("woff"); + font-weight: 200; + font-style: normal; +} + +@font-face { + font-family: "Clear Sans"; + src: url("ClearSans-Regular-webfont.eot"); + src: url("ClearSans-Regular-webfont.eot?#iefix") format("embedded-opentype"), + url("ClearSans-Regular-webfont.svg#clear_sansregular") format("svg"), + url("ClearSans-Regular-webfont.woff") format("woff"); + font-weight: normal; + font-style: normal; +} + +@font-face { + font-family: "Clear Sans"; + src: url("ClearSans-Bold-webfont.eot"); + src: url("ClearSans-Bold-webfont.eot?#iefix") format("embedded-opentype"), + url("ClearSans-Bold-webfont.svg#clear_sansbold") format("svg"), + url("ClearSans-Bold-webfont.woff") format("woff"); + font-weight: 700; + font-style: normal; +} + diff --git a/sources/2048originel/style/helpers.scss b/sources/2048originel/style/helpers.scss new file mode 100644 index 0000000..53b9dc1 --- /dev/null +++ b/sources/2048originel/style/helpers.scss @@ -0,0 +1,72 @@ +// Exponent +// From: https://github.com/Team-Sass/Sassy-math/blob/master/sass/math.scss#L36 + +@function exponent($base, $exponent) { + // reset value + $value: $base; + // positive intergers get multiplied + @if $exponent > 1 { + @for $i from 2 through $exponent { + $value: $value * $base; } } + // negitive intergers get divided. A number divided by itself is 1 + @if $exponent < 1 { + @for $i from 0 through -$exponent { + $value: $value / $base; } } + // return the last value written + @return $value; +} + +@function pow($base, $exponent) { + @return exponent($base, $exponent); +} + +// Transition mixins +@mixin transition($args...) { + -webkit-transition: $args; + -moz-transition: $args; + transition: $args; +} + +@mixin transition-property($args...) { + -webkit-transition-property: $args; + -moz-transition-property: $args; + transition-property: $args; +} + +@mixin animation($args...) { + -webkit-animation: $args; + -moz-animation: $args; + animation: $args; +} + +@mixin animation-fill-mode($args...) { + -webkit-animation-fill-mode: $args; + -moz-animation-fill-mode: $args; + animation-fill-mode: $args; +} + +@mixin transform($args...) { + -webkit-transform: $args; + -moz-transform: $args; + transform: $args; +} + +// Keyframe animations +@mixin keyframes($animation-name) { + @-webkit-keyframes $animation-name { + @content; + } + @-moz-keyframes $animation-name { + @content; + } + @keyframes $animation-name { + @content; + } +} + +// Media queries +@mixin smaller($width) { + @media screen and (max-width: $width) { + @content; + } +} diff --git a/sources/2048originel/style/main.css b/sources/2048originel/style/main.css new file mode 100644 index 0000000..515e881 --- /dev/null +++ b/sources/2048originel/style/main.css @@ -0,0 +1,687 @@ +@import url(fonts/clear-sans.css); +html, body { + margin: 0; + padding: 0; + background: #faf8ef; + color: #776e65; + font-family: "Clear Sans", "Helvetica Neue", Arial, sans-serif; + font-size: 18px; } + +body { + margin: 80px 0; } + +.heading:after { + content: ""; + display: block; + clear: both; } + +h1.title { + font-size: 80px; + font-weight: bold; + margin: 0; + display: block; + float: left; } + +@-webkit-keyframes move-up { + 0% { + top: 25px; + opacity: 1; } + + 100% { + top: -50px; + opacity: 0; } } + +@-moz-keyframes move-up { + 0% { + top: 25px; + opacity: 1; } + + 100% { + top: -50px; + opacity: 0; } } + +@keyframes move-up { + 0% { + top: 25px; + opacity: 1; } + + 100% { + top: -50px; + opacity: 0; } } + +.scores-container { + float: right; + text-align: right; } + +.score-container, .best-container { + position: relative; + display: inline-block; + background: #bbada0; + padding: 15px 25px; + font-size: 25px; + height: 25px; + line-height: 47px; + font-weight: bold; + border-radius: 3px; + color: white; + margin-top: 8px; + text-align: center; } + .score-container:after, .best-container:after { + position: absolute; + width: 100%; + top: 10px; + left: 0; + text-transform: uppercase; + font-size: 13px; + line-height: 13px; + text-align: center; + color: #eee4da; } + .score-container .score-addition, .best-container .score-addition { + position: absolute; + right: 30px; + color: red; + font-size: 25px; + line-height: 25px; + font-weight: bold; + color: rgba(119, 110, 101, 0.9); + z-index: 100; + -webkit-animation: move-up 600ms ease-in; + -moz-animation: move-up 600ms ease-in; + animation: move-up 600ms ease-in; + -webkit-animation-fill-mode: both; + -moz-animation-fill-mode: both; + animation-fill-mode: both; } + +.score-container:after { + content: "Score"; } + +.best-container:after { + content: "Record"; } + +p { + margin-top: 0; + margin-bottom: 10px; + line-height: 1.65; } + +a { + color: #776e65; + font-weight: bold; + text-decoration: underline; + cursor: pointer; } + +strong.important { + text-transform: uppercase; } + +hr { + border: none; + border-bottom: 1px solid #d8d4d0; + margin-top: 20px; + margin-bottom: 30px; } + +.container { + width: 500px; + margin: 0 auto; } + +@-webkit-keyframes fade-in { + 0% { + opacity: 0; } + + 100% { + opacity: 1; } } + +@-moz-keyframes fade-in { + 0% { + opacity: 0; } + + 100% { + opacity: 1; } } + +@keyframes fade-in { + 0% { + opacity: 0; } + + 100% { + opacity: 1; } } + +.game-container { + margin-top: 40px; + position: relative; + padding: 15px; + cursor: default; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + background: #bbada0; + border-radius: 6px; + width: 500px; + height: 500px; + -ms-touch-action: none; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; } + .game-container .game-message { + display: none; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + background: rgba(238, 228, 218, 0.5); + z-index: 100; + text-align: center; + -webkit-animation: fade-in 800ms ease 1200ms; + -moz-animation: fade-in 800ms ease 1200ms; + animation: fade-in 800ms ease 1200ms; + -webkit-animation-fill-mode: both; + -moz-animation-fill-mode: both; + animation-fill-mode: both; } + .game-container .game-message p { + font-size: 60px; + font-weight: bold; + height: 60px; + line-height: 60px; + margin-top: 222px; } + .game-container .game-message .lower { + display: block; + margin-top: 59px; } + .game-container .game-message a { + display: inline-block; + background: #8f7a66; + border-radius: 3px; + padding: 0 20px; + text-decoration: none; + color: #f9f6f2; + height: 40px; + line-height: 42px; + margin-left: 9px; } + .game-container .game-message a.keep-playing-button { + display: none; } + .game-container .game-message.game-won { + background: rgba(237, 194, 46, 0.5); + color: #f9f6f2; } + .game-container .game-message.game-won a.keep-playing-button { + display: inline-block; } + .game-container .game-message.game-won, .game-container .game-message.game-over { + display: block; } + +.grid-container { + position: absolute; + z-index: 1; } + +.grid-row { + margin-bottom: 15px; } + .grid-row:last-child { + margin-bottom: 0; } + .grid-row:after { + content: ""; + display: block; + clear: both; } + +.grid-cell { + width: 106.25px; + height: 106.25px; + margin-right: 15px; + float: left; + border-radius: 3px; + background: rgba(238, 228, 218, 0.35); } + .grid-cell:last-child { + margin-right: 0; } + +.tile-container { + position: absolute; + z-index: 2; } + +.tile, .tile .tile-inner { + width: 107px; + height: 107px; + line-height: 116.25px; } +.tile.tile-position-1-1 { + -webkit-transform: translate(0px, 0px); + -moz-transform: translate(0px, 0px); + transform: translate(0px, 0px); } +.tile.tile-position-1-2 { + -webkit-transform: translate(0px, 121px); + -moz-transform: translate(0px, 121px); + transform: translate(0px, 121px); } +.tile.tile-position-1-3 { + -webkit-transform: translate(0px, 242px); + -moz-transform: translate(0px, 242px); + transform: translate(0px, 242px); } +.tile.tile-position-1-4 { + -webkit-transform: translate(0px, 363px); + -moz-transform: translate(0px, 363px); + transform: translate(0px, 363px); } +.tile.tile-position-2-1 { + -webkit-transform: translate(121px, 0px); + -moz-transform: translate(121px, 0px); + transform: translate(121px, 0px); } +.tile.tile-position-2-2 { + -webkit-transform: translate(121px, 121px); + -moz-transform: translate(121px, 121px); + transform: translate(121px, 121px); } +.tile.tile-position-2-3 { + -webkit-transform: translate(121px, 242px); + -moz-transform: translate(121px, 242px); + transform: translate(121px, 242px); } +.tile.tile-position-2-4 { + -webkit-transform: translate(121px, 363px); + -moz-transform: translate(121px, 363px); + transform: translate(121px, 363px); } +.tile.tile-position-3-1 { + -webkit-transform: translate(242px, 0px); + -moz-transform: translate(242px, 0px); + transform: translate(242px, 0px); } +.tile.tile-position-3-2 { + -webkit-transform: translate(242px, 121px); + -moz-transform: translate(242px, 121px); + transform: translate(242px, 121px); } +.tile.tile-position-3-3 { + -webkit-transform: translate(242px, 242px); + -moz-transform: translate(242px, 242px); + transform: translate(242px, 242px); } +.tile.tile-position-3-4 { + -webkit-transform: translate(242px, 363px); + -moz-transform: translate(242px, 363px); + transform: translate(242px, 363px); } +.tile.tile-position-4-1 { + -webkit-transform: translate(363px, 0px); + -moz-transform: translate(363px, 0px); + transform: translate(363px, 0px); } +.tile.tile-position-4-2 { + -webkit-transform: translate(363px, 121px); + -moz-transform: translate(363px, 121px); + transform: translate(363px, 121px); } +.tile.tile-position-4-3 { + -webkit-transform: translate(363px, 242px); + -moz-transform: translate(363px, 242px); + transform: translate(363px, 242px); } +.tile.tile-position-4-4 { + -webkit-transform: translate(363px, 363px); + -moz-transform: translate(363px, 363px); + transform: translate(363px, 363px); } + +.tile { + position: absolute; + -webkit-transition: 100ms ease-in-out; + -moz-transition: 100ms ease-in-out; + transition: 100ms ease-in-out; + -webkit-transition-property: -webkit-transform; + -moz-transition-property: -moz-transform; + transition-property: transform; } + .tile .tile-inner { + border-radius: 3px; + background: #eee4da; + text-align: center; + font-weight: bold; + z-index: 10; + font-size: 55px; } + .tile.tile-2 .tile-inner { + background: #eee4da; + box-shadow: 0 0 30px 10px rgba(243, 215, 116, 0), inset 0 0 0 1px rgba(255, 255, 255, 0); } + .tile.tile-4 .tile-inner { + background: #ede0c8; + box-shadow: 0 0 30px 10px rgba(243, 215, 116, 0), inset 0 0 0 1px rgba(255, 255, 255, 0); } + .tile.tile-8 .tile-inner { + color: #f9f6f2; + background: #f2b179; } + .tile.tile-16 .tile-inner { + color: #f9f6f2; + background: #f59563; } + .tile.tile-32 .tile-inner { + color: #f9f6f2; + background: #f67c5f; } + .tile.tile-64 .tile-inner { + color: #f9f6f2; + background: #f65e3b; } + .tile.tile-128 .tile-inner { + color: #f9f6f2; + background: #edcf72; + box-shadow: 0 0 30px 10px rgba(243, 215, 116, 0.2381), inset 0 0 0 1px rgba(255, 255, 255, 0.14286); + font-size: 45px; } + @media screen and (max-width: 520px) { + .tile.tile-128 .tile-inner { + font-size: 25px; } } + .tile.tile-256 .tile-inner { + color: #f9f6f2; + background: #edcc61; + box-shadow: 0 0 30px 10px rgba(243, 215, 116, 0.31746), inset 0 0 0 1px rgba(255, 255, 255, 0.19048); + font-size: 45px; } + @media screen and (max-width: 520px) { + .tile.tile-256 .tile-inner { + font-size: 25px; } } + .tile.tile-512 .tile-inner { + color: #f9f6f2; + background: #edc850; + box-shadow: 0 0 30px 10px rgba(243, 215, 116, 0.39683), inset 0 0 0 1px rgba(255, 255, 255, 0.2381); + font-size: 45px; } + @media screen and (max-width: 520px) { + .tile.tile-512 .tile-inner { + font-size: 25px; } } + .tile.tile-1024 .tile-inner { + color: #f9f6f2; + background: #edc53f; + box-shadow: 0 0 30px 10px rgba(243, 215, 116, 0.47619), inset 0 0 0 1px rgba(255, 255, 255, 0.28571); + font-size: 35px; } + @media screen and (max-width: 520px) { + .tile.tile-1024 .tile-inner { + font-size: 15px; } } + .tile.tile-2048 .tile-inner { + color: #f9f6f2; + background: #edc22e; + box-shadow: 0 0 30px 10px rgba(243, 215, 116, 0.55556), inset 0 0 0 1px rgba(255, 255, 255, 0.33333); + font-size: 35px; } + @media screen and (max-width: 520px) { + .tile.tile-2048 .tile-inner { + font-size: 15px; } } + .tile.tile-super .tile-inner { + color: #f9f6f2; + background: #3c3a32; + font-size: 30px; } + @media screen and (max-width: 520px) { + .tile.tile-super .tile-inner { + font-size: 10px; } } + +@-webkit-keyframes appear { + 0% { + opacity: 0; + -webkit-transform: scale(0); + -moz-transform: scale(0); + transform: scale(0); } + + 100% { + opacity: 1; + -webkit-transform: scale(1); + -moz-transform: scale(1); + transform: scale(1); } } + +@-moz-keyframes appear { + 0% { + opacity: 0; + -webkit-transform: scale(0); + -moz-transform: scale(0); + transform: scale(0); } + + 100% { + opacity: 1; + -webkit-transform: scale(1); + -moz-transform: scale(1); + transform: scale(1); } } + +@keyframes appear { + 0% { + opacity: 0; + -webkit-transform: scale(0); + -moz-transform: scale(0); + transform: scale(0); } + + 100% { + opacity: 1; + -webkit-transform: scale(1); + -moz-transform: scale(1); + transform: scale(1); } } + +.tile-new .tile-inner { + -webkit-animation: appear 200ms ease 100ms; + -moz-animation: appear 200ms ease 100ms; + animation: appear 200ms ease 100ms; + -webkit-animation-fill-mode: backwards; + -moz-animation-fill-mode: backwards; + animation-fill-mode: backwards; } + +@-webkit-keyframes pop { + 0% { + -webkit-transform: scale(0); + -moz-transform: scale(0); + transform: scale(0); } + + 50% { + -webkit-transform: scale(1.2); + -moz-transform: scale(1.2); + transform: scale(1.2); } + + 100% { + -webkit-transform: scale(1); + -moz-transform: scale(1); + transform: scale(1); } } + +@-moz-keyframes pop { + 0% { + -webkit-transform: scale(0); + -moz-transform: scale(0); + transform: scale(0); } + + 50% { + -webkit-transform: scale(1.2); + -moz-transform: scale(1.2); + transform: scale(1.2); } + + 100% { + -webkit-transform: scale(1); + -moz-transform: scale(1); + transform: scale(1); } } + +@keyframes pop { + 0% { + -webkit-transform: scale(0); + -moz-transform: scale(0); + transform: scale(0); } + + 50% { + -webkit-transform: scale(1.2); + -moz-transform: scale(1.2); + transform: scale(1.2); } + + 100% { + -webkit-transform: scale(1); + -moz-transform: scale(1); + transform: scale(1); } } + +.tile-merged .tile-inner { + z-index: 20; + -webkit-animation: pop 200ms ease 100ms; + -moz-animation: pop 200ms ease 100ms; + animation: pop 200ms ease 100ms; + -webkit-animation-fill-mode: backwards; + -moz-animation-fill-mode: backwards; + animation-fill-mode: backwards; } + +.game-intro { + margin-bottom: 0; } + +.game-explanation { + margin-top: 50px; } + +@media screen and (max-width: 520px) { + html, body { + font-size: 15px; } + + body { + margin: 20px 0; + padding: 0 20px; } + + h1.title { + font-size: 27px; + margin-top: 15px; } + + .container { + width: 280px; + margin: 0 auto; } + + .score-container, .best-container { + margin-top: 0; + padding: 15px 10px; + min-width: 40px; } + + .heading { + margin-bottom: 10px; } + + .game-container { + margin-top: 40px; + position: relative; + padding: 10px; + cursor: default; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + background: #bbada0; + border-radius: 6px; + width: 280px; + height: 280px; + -ms-touch-action: none; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; } + .game-container .game-message { + display: none; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + background: rgba(238, 228, 218, 0.5); + z-index: 100; + text-align: center; + -webkit-animation: fade-in 800ms ease 1200ms; + -moz-animation: fade-in 800ms ease 1200ms; + animation: fade-in 800ms ease 1200ms; + -webkit-animation-fill-mode: both; + -moz-animation-fill-mode: both; + animation-fill-mode: both; } + .game-container .game-message p { + font-size: 60px; + font-weight: bold; + height: 60px; + line-height: 60px; + margin-top: 222px; } + .game-container .game-message .lower { + display: block; + margin-top: 59px; } + .game-container .game-message a { + display: inline-block; + background: #8f7a66; + border-radius: 3px; + padding: 0 20px; + text-decoration: none; + color: #f9f6f2; + height: 40px; + line-height: 42px; + margin-left: 9px; } + .game-container .game-message a.keep-playing-button { + display: none; } + .game-container .game-message.game-won { + background: rgba(237, 194, 46, 0.5); + color: #f9f6f2; } + .game-container .game-message.game-won a.keep-playing-button { + display: inline-block; } + .game-container .game-message.game-won, .game-container .game-message.game-over { + display: block; } + + .grid-container { + position: absolute; + z-index: 1; } + + .grid-row { + margin-bottom: 10px; } + .grid-row:last-child { + margin-bottom: 0; } + .grid-row:after { + content: ""; + display: block; + clear: both; } + + .grid-cell { + width: 57.5px; + height: 57.5px; + margin-right: 10px; + float: left; + border-radius: 3px; + background: rgba(238, 228, 218, 0.35); } + .grid-cell:last-child { + margin-right: 0; } + + .tile-container { + position: absolute; + z-index: 2; } + + .tile, .tile .tile-inner { + width: 58px; + height: 58px; + line-height: 67.5px; } + .tile.tile-position-1-1 { + -webkit-transform: translate(0px, 0px); + -moz-transform: translate(0px, 0px); + transform: translate(0px, 0px); } + .tile.tile-position-1-2 { + -webkit-transform: translate(0px, 67px); + -moz-transform: translate(0px, 67px); + transform: translate(0px, 67px); } + .tile.tile-position-1-3 { + -webkit-transform: translate(0px, 135px); + -moz-transform: translate(0px, 135px); + transform: translate(0px, 135px); } + .tile.tile-position-1-4 { + -webkit-transform: translate(0px, 202px); + -moz-transform: translate(0px, 202px); + transform: translate(0px, 202px); } + .tile.tile-position-2-1 { + -webkit-transform: translate(67px, 0px); + -moz-transform: translate(67px, 0px); + transform: translate(67px, 0px); } + .tile.tile-position-2-2 { + -webkit-transform: translate(67px, 67px); + -moz-transform: translate(67px, 67px); + transform: translate(67px, 67px); } + .tile.tile-position-2-3 { + -webkit-transform: translate(67px, 135px); + -moz-transform: translate(67px, 135px); + transform: translate(67px, 135px); } + .tile.tile-position-2-4 { + -webkit-transform: translate(67px, 202px); + -moz-transform: translate(67px, 202px); + transform: translate(67px, 202px); } + .tile.tile-position-3-1 { + -webkit-transform: translate(135px, 0px); + -moz-transform: translate(135px, 0px); + transform: translate(135px, 0px); } + .tile.tile-position-3-2 { + -webkit-transform: translate(135px, 67px); + -moz-transform: translate(135px, 67px); + transform: translate(135px, 67px); } + .tile.tile-position-3-3 { + -webkit-transform: translate(135px, 135px); + -moz-transform: translate(135px, 135px); + transform: translate(135px, 135px); } + .tile.tile-position-3-4 { + -webkit-transform: translate(135px, 202px); + -moz-transform: translate(135px, 202px); + transform: translate(135px, 202px); } + .tile.tile-position-4-1 { + -webkit-transform: translate(202px, 0px); + -moz-transform: translate(202px, 0px); + transform: translate(202px, 0px); } + .tile.tile-position-4-2 { + -webkit-transform: translate(202px, 67px); + -moz-transform: translate(202px, 67px); + transform: translate(202px, 67px); } + .tile.tile-position-4-3 { + -webkit-transform: translate(202px, 135px); + -moz-transform: translate(202px, 135px); + transform: translate(202px, 135px); } + .tile.tile-position-4-4 { + -webkit-transform: translate(202px, 202px); + -moz-transform: translate(202px, 202px); + transform: translate(202px, 202px); } + + .game-container { + margin-top: 20px; } + + .tile .tile-inner { + font-size: 35px; } + + .game-message p { + font-size: 30px !important; + height: 30px !important; + line-height: 30px !important; + margin-top: 90px !important; } + .game-message .lower { + margin-top: 30px !important; } } diff --git a/sources/2048originel/style/main.scss b/sources/2048originel/style/main.scss new file mode 100644 index 0000000..00b6acc --- /dev/null +++ b/sources/2048originel/style/main.scss @@ -0,0 +1,519 @@ +@import "helpers"; +@import "fonts/clear-sans.css"; + +$field-width: 500px; +$grid-spacing: 15px; +$grid-row-cells: 4; +$tile-size: ($field-width - $grid-spacing * ($grid-row-cells + 1)) / $grid-row-cells; +$tile-border-radius: 3px; + +$mobile-threshold: $field-width + 20px; + +$text-color: #776E65; +$bright-text-color: #f9f6f2; + +$tile-color: #eee4da; +$tile-gold-color: #edc22e; +$tile-gold-glow-color: lighten($tile-gold-color, 15%); + +$game-container-background: #bbada0; + +$transition-speed: 100ms; + +html, body { + margin: 0; + padding: 0; + + background: #faf8ef; + color: $text-color; + font-family: "Clear Sans", "Helvetica Neue", Arial, sans-serif; + font-size: 18px; +} + +body { + margin: 80px 0; +} + +.heading:after { + content: ""; + display: block; + clear: both; +} + +h1.title { + font-size: 80px; + font-weight: bold; + margin: 0; + display: block; + float: left; +} + +@include keyframes(move-up) { + 0% { + top: 25px; + opacity: 1; + } + + 100% { + top: -50px; + opacity: 0; + } +} + +.scores-container { + float: right; + text-align: right; +} + +.score-container, .best-container { + $height: 25px; + + position: relative; + display: inline-block; + background: $game-container-background; + padding: 15px 25px; + font-size: $height; + height: $height; + line-height: $height + 22px; + font-weight: bold; + border-radius: 3px; + color: white; + margin-top: 8px; + text-align: center; + + &:after { + position: absolute; + width: 100%; + top: 10px; + left: 0; + text-transform: uppercase; + font-size: 13px; + line-height: 13px; + text-align: center; + color: $tile-color; + } + + .score-addition { + position: absolute; + right: 30px; + color: red; + font-size: $height; + line-height: $height; + font-weight: bold; + color: rgba($text-color, .9); + z-index: 100; + @include animation(move-up 600ms ease-in); + @include animation-fill-mode(both); + } +} + +.score-container:after { + content: "Score"; +} + +.best-container:after { + content: "Best" +} + +p { + margin-top: 0; + margin-bottom: 10px; + line-height: 1.65; +} + +a { + color: $text-color; + font-weight: bold; + text-decoration: underline; + cursor: pointer; +} + +strong { + &.important { + text-transform: uppercase; + } +} + +hr { + border: none; + border-bottom: 1px solid lighten($text-color, 40%); + margin-top: 20px; + margin-bottom: 30px; +} + +.container { + width: $field-width; + margin: 0 auto; +} + +@include keyframes(fade-in) { + 0% { + opacity: 0; + } + + 100% { + opacity: 1; + } +} + +// Styles for buttons +@mixin button { + display: inline-block; + background: darken($game-container-background, 20%); + border-radius: 3px; + padding: 0 20px; + text-decoration: none; + color: $bright-text-color; + height: 40px; + line-height: 42px; +} + +// Game field mixin used to render CSS at different width +@mixin game-field { + .game-container { + margin-top: 40px; + position: relative; + padding: $grid-spacing; + + cursor: default; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + + background: $game-container-background; + border-radius: $tile-border-radius * 2; + width: $field-width; + height: $field-width; + -ms-touch-action: none; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + + .game-message { + display: none; + + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + background: rgba($tile-color, .5); + z-index: 100; + + text-align: center; + + p { + font-size: 60px; + font-weight: bold; + height: 60px; + line-height: 60px; + margin-top: 222px; + // height: $field-width; + // line-height: $field-width; + } + + .lower { + display: block; + margin-top: 59px; + } + + a { + @include button; + margin-left: 9px; + // margin-top: 59px; + + &.keep-playing-button { + display: none; + } + } + + @include animation(fade-in 800ms ease $transition-speed * 12); + @include animation-fill-mode(both); + + &.game-won { + background: rgba($tile-gold-color, .5); + color: $bright-text-color; + + a.keep-playing-button { + display: inline-block; + } + } + + &.game-won, &.game-over { + display: block; + } + } + } + + .grid-container { + position: absolute; + z-index: 1; + } + + .grid-row { + margin-bottom: $grid-spacing; + + &:last-child { + margin-bottom: 0; + } + + &:after { + content: ""; + display: block; + clear: both; + } + } + + .grid-cell { + width: $tile-size; + height: $tile-size; + margin-right: $grid-spacing; + float: left; + + border-radius: $tile-border-radius; + + background: rgba($tile-color, .35); + + &:last-child { + margin-right: 0; + } + } + + .tile-container { + position: absolute; + z-index: 2; + } + + .tile { + &, .tile-inner { + width: ceil($tile-size); + height: ceil($tile-size); + line-height: $tile-size + 10px; + } + + // Build position classes + @for $x from 1 through $grid-row-cells { + @for $y from 1 through $grid-row-cells { + &.tile-position-#{$x}-#{$y} { + $xPos: floor(($tile-size + $grid-spacing) * ($x - 1)); + $yPos: floor(($tile-size + $grid-spacing) * ($y - 1)); + @include transform(translate($xPos, $yPos)); + } + } + } + } +} + +// End of game-field mixin +@include game-field; + +.tile { + position: absolute; // Makes transforms relative to the top-left corner + + .tile-inner { + border-radius: $tile-border-radius; + + background: $tile-color; + text-align: center; + font-weight: bold; + z-index: 10; + + font-size: 55px; + } + + // Movement transition + @include transition($transition-speed ease-in-out); + -webkit-transition-property: -webkit-transform; + -moz-transition-property: -moz-transform; + transition-property: transform; + + $base: 2; + $exponent: 1; + $limit: 11; + + // Colors for all 11 states, false = no special color + $special-colors: false false, // 2 + false false, // 4 + #f78e48 true, // 8 + #fc5e2e true, // 16 + #ff3333 true, // 32 + #ff0000 true, // 64 + false true, // 128 + false true, // 256 + false true, // 512 + false true, // 1024 + false true; // 2048 + + // Build tile colors + @while $exponent <= $limit { + $power: pow($base, $exponent); + + &.tile-#{$power} .tile-inner { + // Calculate base background color + $gold-percent: ($exponent - 1) / ($limit - 1) * 100; + $mixed-background: mix($tile-gold-color, $tile-color, $gold-percent); + + $nth-color: nth($special-colors, $exponent); + + $special-background: nth($nth-color, 1); + $bright-color: nth($nth-color, 2); + + @if $special-background { + $mixed-background: mix($special-background, $mixed-background, 55%); + } + + @if $bright-color { + color: $bright-text-color; + } + + // Set background + background: $mixed-background; + + // Add glow + $glow-opacity: max($exponent - 4, 0) / ($limit - 4); + + @if not $special-background { + box-shadow: 0 0 30px 10px rgba($tile-gold-glow-color, $glow-opacity / 1.8), + inset 0 0 0 1px rgba(white, $glow-opacity / 3); + } + + // Adjust font size for bigger numbers + @if $power >= 100 and $power < 1000 { + font-size: 45px; + + // Media queries placed here to avoid carrying over the rest of the logic + @include smaller($mobile-threshold) { + font-size: 25px; + } + } @else if $power >= 1000 { + font-size: 35px; + + @include smaller($mobile-threshold) { + font-size: 15px; + } + } + } + + $exponent: $exponent + 1; + } + + // Super tiles (above 2048) + &.tile-super .tile-inner { + color: $bright-text-color; + background: mix(#333, $tile-gold-color, 95%); + + font-size: 30px; + + @include smaller($mobile-threshold) { + font-size: 10px; + } + } +} + +@include keyframes(appear) { + 0% { + opacity: 0; + @include transform(scale(0)); + } + + 100% { + opacity: 1; + @include transform(scale(1)); + } +} + +.tile-new .tile-inner { + @include animation(appear 200ms ease $transition-speed); + @include animation-fill-mode(backwards); +} + +@include keyframes(pop) { + 0% { + @include transform(scale(0)); + } + + 50% { + @include transform(scale(1.2)); + } + + 100% { + @include transform(scale(1)); + } +} + +.tile-merged .tile-inner { + z-index: 20; + @include animation(pop 200ms ease $transition-speed); + @include animation-fill-mode(backwards); +} + +.game-intro { + margin-bottom: 0; +} + +.game-explanation { + margin-top: 50px; +} + +@include smaller($mobile-threshold) { + // Redefine variables for smaller screens + $field-width: 280px; + $grid-spacing: 10px; + $grid-row-cells: 4; + $tile-size: ($field-width - $grid-spacing * ($grid-row-cells + 1)) / $grid-row-cells; + $tile-border-radius: 3px; + + html, body { + font-size: 15px; + } + + body { + margin: 20px 0; + padding: 0 20px; + } + + h1.title { + font-size: 27px; + margin-top: 15px; + } + + .container { + width: $field-width; + margin: 0 auto; + } + + .score-container, .best-container { + margin-top: 0; + padding: 15px 10px; + min-width: 40px; + } + + .heading { + margin-bottom: 10px; + } + + // Render the game field at the right width + @include game-field; + + .game-container { + margin-top: 20px; + } + + // Rest of the font-size adjustments in the tile class + .tile .tile-inner { + font-size: 35px; + } + + .game-message { + p { + font-size: 30px !important; + height: 30px !important; + line-height: 30px !important; + margin-top: 90px !important; + } + + .lower { + margin-top: 30px !important; + } + } +} diff --git a/sources/README.md b/sources/README.md new file mode 100644 index 0000000..94a75fc --- /dev/null +++ b/sources/README.md @@ -0,0 +1,13 @@ +[![](https://git.framasoft.org/assets/logo-black-f52905a40830b30aa287f784b537c823.png)](https://git.framasoft.org) + +![English:](https://upload.wikimedia.org/wikipedia/commons/thumb/a/ae/Flag_of_the_United_Kingdom.svg/20px-Flag_of_the_United_Kingdom.svg.png) **Framasoft uses GitLab** for the development of its free softwares. Our Github repositories are only mirrors. +If you want to work with us, **fork us on [git.framasoft.org](https://git.framasoft.org)**. (no registration needed, you can sign in with your Github account) + +![Français :](https://upload.wikimedia.org/wikipedia/commons/thumb/c/c3/Flag_of_France.svg/20px-Flag_of_France.svg.png) **Framasoft utilise GitLab** pour le développement de ses logiciels libres. Nos dépôts Github ne sont que des miroirs. +Si vous souhaitez travailler avec nous, **forkez-nous sur [git.framasoft.org](https://git.framasoft.org)**. (l'inscription n'est pas nécessaire, vous pouvez vous connecter avec votre compte Github) +* * * + +Framagames est une compilation de jeux libres qui se jouent en ligne ou déconnectés que Framasoft propose sur le site : http://framagames.org +La page d'accueil s'appuie sur la librairie Bootstrap dont les fichiers se trouvent dans la [Framanav](https://git.framasoft.org/framasoft/framanav). + +* * * diff --git a/sources/back.js b/sources/back.js new file mode 100644 index 0000000..4f9e734 --- /dev/null +++ b/sources/back.js @@ -0,0 +1,39 @@ +// Lien retour Framagames +document.addEventListener('DOMContentLoaded', function() { + var framagames = document.createElement('a'); + framagames.style = "position: absolute;z-index:100;background:#fff;top:0px;left:0px;padding:5px 10px;border-radius:0 0 5px 0;font-family: DejaVu Sans !important;color: #333;font-size:14px;text-decoration:none;font-weight:normal;"; + framagames.href="/"; + framagames.target="_top"; + framagames.id="framagames" + document.getElementsByTagName('body')[0].appendChild(framagames); + document.getElementsByTagName('body')[0].style.paddingTop = "25px"; + document.getElementById("framagames").innerHTML = '← Retour sur Framagames'; +}); + +// Script Piwik +var _paq = _paq || []; + +_paq.push([function() { + var self = this; + function getOriginalVisitorCookieTimeout() { + var now = new Date(), + nowTs = Math.round(now.getTime() / 1000), + visitorInfo = self.getVisitorInfo(); + var createTs = parseInt(visitorInfo[2]); + var cookieTimeout = 33696000; // 13 mois en secondes + var originalTimeout = createTs + cookieTimeout - nowTs; + return originalTimeout; + } + this.setVisitorCookieTimeout( getOriginalVisitorCookieTimeout() ); +}]); + +_paq.push(["trackPageView"]); +_paq.push(["enableLinkTracking"]); + +(function() { + var u="https://stats.framasoft.org/"; + _paq.push(["setTrackerUrl", u+"piwik.php"]); + _paq.push(["setSiteId", 28]); + var d=document, g=d.createElement("script"), s=d.getElementsByTagName("script")[0]; g.type="text/javascript"; + g.defer=true; g.async=true; g.src=u+"piwik.js"; s.parentNode.insertBefore(g,s); +})(); diff --git a/sources/css/style.css b/sources/css/style.css new file mode 100644 index 0000000..6d346d8 --- /dev/null +++ b/sources/css/style.css @@ -0,0 +1,136 @@ +body { + background:#eee; + font-size:14px !important; +} + +.container.ombre { + margin-top: 30px; + margin-bottom: 30px; + padding: 20px 30px; +} + +/* Header style */ +header h1 { + font-family: "DejaVu Sans",Verdana,Geneva,sans-serif !important; + font-size: 48px; + font-weight: bold; +} + +header .lead { + color: #666; + font: italic 1.3em/1.35 "PT Sans",Arial,sans-serif; +} +/* End header style */ + +/* Tips */ +.tips { + list-style: none; + padding: 0px; + margin:0 auto; +} + +.tips > li { + position: relative; + overflow: hidden; + width: 320px; + height: 235px; + float:left; + background-color: white; + border-top: 1px solid #EEE; + box-shadow: 0px 9px 15px -10px rgba(0, 0, 0, 0.7); + margin: 12px 10px 25px 10px; +} + +/* gris */ +.tips > li .front, +.tips > li .back { + border-bottom: 4px solid #C4C4C4; + background:#F3F3F3; +} + +.tips h3 { + margin-top: 0px; + margin-bottom: 12px; + font-size:20px; + font-weight: bold; + text-align:center +} + +.tips .description { + font-size:16px; + margin-top:20px; +} +.play, .credits { + position:absolute; + width:300px; +} +.play { + bottom: 90px; +} +.credits { + bottom: 10px; +} + +.tip-content { + position: absolute; + width: 320px; + height: 470px; + top: 0px; + + -webkit-transition: all 400ms ease 0s; + -moz-transition: all 400ms ease 0s; + -o-transition: all 400ms ease 0s; + transition: all 400ms ease 0s; +} + +.front, .back { + padding: 10px; + height: 235px; +} + +.tips > li:hover .tip-content { + top: -235px; +} + +.show-back { + top: -235px; +} + +h1 a, h3 a, h4 a, +h1 a:hover, h3 a:hover, h4 a:hover, +h1 a:focus, h3 a:focus, h4 a:focus { + text-decoration:none; +} + +.tips .popover h3 { + font-size: 14px; + margin-bottom:0; +} +.tips .popover { + font-size: 14px; + left: 10px !important; + width: 300px; + height: 120px; +} +.tips .popover-content { + padding:9px 5px; +} +.tips .popover > .arrow { + left:80%; +} + +@media (max-width: 740px) { + .tips { + width:340px; + } +} +@media (min-width: 992px) { + .tips { + width:680px; + } +} +@media (min-width: 1200px) { + .tips { + width:1020px; + } +} diff --git a/sources/data.php b/sources/data.php new file mode 100644 index 0000000..7f6e46c --- /dev/null +++ b/sources/data.php @@ -0,0 +1,126 @@ + [ + 'title' => '1597', + 'ctitle' => '1597', + 'img' => 'images/1.png', + 'description' => 'Fork de 2048 avec la suite de Fibonacci', + 'url' => '1597-master/index.html', + 'dl' => 'telechargement/1597-master.zip', + 'auteur' => 'Jeremy Hummel', + 'licence' => 'MIT', + 'src' => 'https://jmhummel.github.io/1597/' + ], + '2048frama' => [ + 'title' => '2048 Frama', + 'img' => 'images/2.png', + 'description' => '2048 aux couleurs de Framasoft', + 'url' => '2048frama/index.html', + 'dl' => 'telechargement/2048frama.zip', + 'auteur' => 'Cyrille Largillier', + 'licence' => 'MIT', + 'src' => 'http://framagames.org' + ], + '2048originel' => [ + 'title' => '2048', + 'img' => 'images/3.png', + 'description' => 'On ne présente plus 2048 !', + 'url' => '2048originel/index.html', + 'dl' => 'telechargement/2048originel.zip', + 'auteur' => 'Gabriele Cirulli', + 'licence' => 'MIT', + 'src' => 'http://gabrielecirulli.github.io/2048/' + ], + 'e-tris' => [ + 'title' => 'e-Tris', + 'img' => 'images/4.png', + 'description' => 'Classique et indémodable Tétris', + 'url' => 'e-tris/index.htm', + 'dl' => 'telechargement/e-tris.zip', + 'auteur' => '', + 'licence' => 'BSD', + 'src' => 'https://code.google.com/p/e-tris/' + ], + 'pappu-pakia' => [ + 'title' => 'Pappu Pakia', + 'img' => 'images/5.png', + 'description' => 'Un flappy bird like', + 'url' => 'pappu-pakia/index.htm', + 'dl' => 'telechargement/pappu-pakia.zip', + 'auteur' => 'Rishabh, Kushagra', + 'licence' => 'MIT', + 'src' => 'https://github.com/rishabhp/pappu-pakia' + ], + 'esviji' => [ + 'title' => 'Esviji', + 'img' => 'images/6.png', + 'description' => 'Dégommez des chiffres', + 'url' => 'esviji/index.html', + 'dl' => 'telechargement/esviji.zip', + 'auteur' => 'Nicolas Hoizey', + 'licence' => 'MIT', + 'src' => 'http://esviji.com' + ], + 'orbium' => [ + 'title' => 'Orbium', + 'img' => 'images/7.png', + 'description' => 'Un jeu de boules pour tous les âges', + 'url' => 'orbium/index.html', + 'dl' => 'telechargement/orbium.zip', + 'auteur' => 'Björn Nilsson', + 'licence' => 'GNU GPL', + 'src' => 'https://github.com/bni/orbium' + ], + 'roundball' => [ + 'title' => 'Roundball', + 'img' => 'images/8.png', + 'description' => 'Intervertissez des boules pour les aligner', + 'url' => 'roundball/roundball.html', + 'dl' => 'telechargement/roundball.zip', + 'auteur' => 'Digital Fruit', + 'licence' => 'Apache', + 'src' => 'https://github.com/digitalfruit/limejs' + ], + 'sokojs' => [ + 'title' => 'SokoJS', + 'img' => 'images/9.png', + 'description' => 'Rangez des caisses', + 'url' => 'sokojs/main.htm', + 'dl' => 'telechargement/sokojs.zip', + 'auteur' => 'Michel Buze', + 'licence' => 'GNU GPL', + 'src' => 'https://github.com/michbuze/sokojs' + ], + 'solitaire' => [ + 'title' => 'Solitaire', + 'img' => 'images/10.png', + 'description' => 'Du très classique', + 'url' => 'solitaire/index.html', + 'dl' => 'telechargement/solitaire.zip', + 'auteur' => 'Emin KURA', + 'licence' => 'MIT', + 'src' => 'https://code.google.com/p/simple-puzzle-game/' + ], + 'sudoku_js' => [ + 'title' => 'SudokuJS', + 'img' => 'images/11.png', + 'description' => 'Placez les nombres de 1 à 9', + 'url' => 'sudoku_js/index.html', + 'dl' => 'telechargement/sudoku_js.zip', + 'auteur' => 'Michael Loesler', + 'licence' => 'GNU GPL', + 'src' => 'http://derletztekick.com/javascript/sudoku' + ], + 'zlizer' => [ + 'title' => 'Zlizer', + 'img' => 'images/12.png', + 'description' => 'Ajoutez ou séparez des bulles', + 'url' => 'zlizer/zlizer.html', + 'dl' => 'telechargement/zlizer.zip', + 'auteur' => 'Digital Fruit', + 'licence' => 'Apache', + 'src' => 'https://github.com/digitalfruit/limejs' + ] +]; + +?> diff --git a/sources/e-tris/.hg/00changelog.i b/sources/e-tris/.hg/00changelog.i new file mode 100644 index 0000000000000000000000000000000000000000..d3a8311050e54c57c5be7cfe169e60a95768812c GIT binary patch literal 57 zcmWN_K?=Yi3J-9JHAQ;FDTg(a9MHXy?biw?%l6(@|VawB6rtR^8K<-CwaqNeCO}U zy>(KVo#1U59<+V`_m~cG*=t4)>AYpr?@288`^T{3*q4jN+6sw}%P;#gX5LrrKVcszE;%DK1Kd@HRkJe#HB`HS7vPaonUkoy@JT7kF|%wmA}4CIkTM{bn#?_4B4 zht>C|=JV&5?8{_VL)CyOpfApXebJhDE$)DB=A9h|jZO<+T#~L}5N2z;vScYIYyP9! zxv#wU-JNf9tj_wqj04kZVV9Rq6AXJ7^b~OUHXV%0kA1V$xp=`3zj;qorb;|nu{GpR zQnjLm$o#`4x;w63a>`}>UZ-^Xe|P97#pCRHucej0e?GH&!?Rzfc=PXy^BE~l0=a~d z8|{iEX_M-?p3Kh0lcquYD``(EPWWP@%!NBz*k>q##}z{uwGZZ zBlgxQrh0!?F}|NCs%;xu5*N3&n=g87{ubmU#_3>(c>u|3AO`t`8HmAt@u_{-b=_dS zkpIKqt@n-nomMA`-v-LTLB*WpgoJ{$goG39NtMpY%)!pw!otSEtg*$)%*?Gz79H91 zglF}dM{~~X5z<>QiAf=j_lVFr$VZ|xm1603Ai#8uM;i>8OV4aZ0r&sxgUr@ z?qC68W>A=JN#=L`I>(OZ-Q`2-qPi0V=Lrde+zJQ4gwgHIb;v-()%u;*y^w&D%U7-p zKFGSG`ODK#<;F*xYdXB?_HeM?egFS~#6PbPU|^D7|7GBtyp zTnHq~fS47EL4qvIN6yt)yQ>(vef$`_H%R4w-mgc0K@u1tN7H~OvcqX+ZKeq7smSZ$_#?mvdd8(YCv?w9M*%Le1{Bp z7!J()J>!&Lj(Vlvo=zo)jxP-R)1TE;*7V>0ddH`D)d?4+j09(%1(6Efh2;%fq*Q&r zr_TReEBk$`Xr8fY73<2Ln-e8UB(rm1EYX~`CeDaIzo#^yk8L7e{+ZXnG0tWXi=vho8z99~ J5pdN&1^~t#rKSJ? literal 0 HcmV?d00001 diff --git a/sources/e-tris/.hg/store/data/index.htm.i b/sources/e-tris/.hg/store/data/index.htm.i new file mode 100644 index 0000000000000000000000000000000000000000..499f715bb01fabea65ff75655547d2d7555213ea GIT binary patch literal 232 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 Tn=w4M!e2GaVx0ZN`vfYNM0nrt6Y6A`P z4jb^?`OC%V=+69Z!qI>3<)@a&F5=QW;q%Jm#eHp6zsFl#7rg9Kzc=@ZsQ>d*mWyv@ zEr}DBSiQwBWX0)b$D^+pzsdN$l~!eGbgF)F|M(L2gV%D~_RVp6uh=^$-+bk6~pwbi+g?&vNPuD{f~a^EVsCmg{iUzsW{wdvYC+r+?1zG#kK z_k{l0ofDNfT0dJIO7&Oko6=Lw;XUb1RKycaHjAx&sv82{HcxBqU&zdR&GuutJ%51s z%e%$yHt+OyR7N_vrEc_|U3&d(=>O-&d)W3|{hYPzcm3{KgInuLZ>JsPPkfNDOX;%d UCH-%^{_OjBGC2JHhx2>~3yB + + + + Tetris + + + + + + + diff --git a/sources/e-tris/script.js b/sources/e-tris/script.js new file mode 100644 index 0000000..bb81cf2 --- /dev/null +++ b/sources/e-tris/script.js @@ -0,0 +1,386 @@ +var Game = function(){ + var contentWidth = 10; + var contentHeight = 20; + var boxWidth = 20; + var boxHeight = 20; + var timeout; + var currentShape; + var boxes = []; + var points = 0; + var running = false; + var paused = false; + var Shape = function(myBoxes, color){ + return { + offsetX: 0, + offsetY: -1, + rotate: function(){ + myBoxes = [myBoxes[2], myBoxes[5], myBoxes[8], myBoxes[1], myBoxes[4], + myBoxes[7], myBoxes[0], myBoxes[3], myBoxes[6]]; + if(this.checkForCollision()){ + myBoxes = [myBoxes[6], myBoxes[3], myBoxes[0], myBoxes[7], myBoxes[4], + myBoxes[1], myBoxes[8], myBoxes[5], myBoxes[2]]; + } + }, + fall: function(){ + this.offsetY++; + if(this.checkForCollision()){ + this.offsetY--; + this.stop(); + } + }, + stop: function(){ + var i; + var w; + var h; + for(i in myBoxes){ + if(myBoxes.hasOwnProperty(i)){ + if(myBoxes[i]){ + w = this.getW(i); + h = this.getH(i); + if(boxes[h][w] !== undefined){ + endGame(); + } + boxes[h][w] = new Box(w, h, color); + } + } + } + changeShape(); + }, + moveRight: function(){ + this.offsetX++; + if(this.checkForCollision()){ + this.offsetX--; + } + }, + moveLeft: function(){ + this.offsetX--; + if(this.checkForCollision()){ + this.offsetX++; + } + }, + getH: function(i){ + return (Math.floor(i/3)+this.offsetY); + }, + getW: function(i){ + return i%3+this.offsetX; + }, + draw: function(ctx){ + var i; + var w; + var h; + ctx.save(); + ctx.fillStyle = color; + for(i in myBoxes){ + if(myBoxes.hasOwnProperty(i) && myBoxes[i] ){ + w = this.getW(i); + h = this.getH(i); + ctx.globalAlpha = 0.7; + ctx.fillRect(w*boxWidth+w, h*boxHeight+h, boxWidth, boxHeight); + ctx.globalAlpha = 0.7; + ctx.strokeRect(w*boxWidth+w+2, h*boxHeight+h+2, boxWidth-3, boxHeight-3); + } + } + ctx.restore(); + }, + checkForCollision: function(){ + var i; + var w; + var h; + for(i in myBoxes){ + if(myBoxes.hasOwnProperty(i) && myBoxes[i]){ + w = this.getW(i); + h = this.getH(i); + if(h >= 0){ + if(w < 0 || w >= contentWidth){ return true;} + if(h >= contentHeight || boxes[h][w] !== undefined){ return true;} + } + } + } + return false; + } + }; + }; + var getShape = function(){ + var shape; + switch(Math.floor(Math.random()*7)){ + case 0: + shape = new Shape([1, 1, 1, 1], 'maroon'); + shape.isTilted = false; + shape.rotate = function(){ + shape.isTilted = !shape.isTilted; + }; + shape.getH = function(i){ + return shape.isTilted? shape.offsetY+1: Number(i)+shape.offsetY; + }; + shape.getW = function(i){ + return shape.isTilted? Number(i)+shape.offsetX-1: this.offsetX; + }; + shape.offsetX = 1; + return shape; + case 1: return new Shape([0, 0, 0, 1, 1, 1, 0, 0, 1], 'white'); + case 2: return new Shape([0, 0, 0, 0, 0, 1, 1, 1, 1], 'magenta'); + case 3: + shape = new Shape([0, 0, 0, 0, 1, 1, 0, 1, 1], 'dark blue'); + shape.rotate = function(){}; + return shape; + case 4: return new Shape([0, 0, 0, 0, 1, 1, 1, 1, 0], 'green'); + case 5: return new Shape([0, 0, 0, 0, 1, 0, 1, 1, 1], 'brown'); + case 6: return new Shape([0, 0, 0, 1, 1, 0, 0, 1, 1], 'cyan'); + } + }; + var nextShape = getShape(); + var sidepanel = document.createElement('div'); + var bottom = document.createElement('div'); + var gameCanvas = document.createElement('canvas'); + var nextCanvas = document.createElement('canvas'); + var ctx = gameCanvas.getContext('2d'); + var nctx = nextCanvas.getContext('2d'); + var pointsContainer = document.createElement('div'); + var setPoints = function(p){ + points = p; + while (pointsContainer.childNodes.length >= 1){ + pointsContainer.removeChild(pointsContainer.firstChild); + } + pointsContainer.appendChild(document.createTextNode(points +'p')); + }; + var startGame = function(){ + var h = 0; + var w = 0; + running = true; + for(h = 0; h < contentHeight; h++){ + boxes[h] = []; + for(w = 0; w < contentWidth; w++){ + boxes[h][w] = undefined; + } + } + setPoints(0); + changeShape(); + redraw(); + }; + var setNewTimeout = function(t){ + window.clearTimeout(timeout); + timeout = setInterval(function(){currentShape.fall();redraw();}, t); + }; + var changeShape = function(){ + var p = 1; + if(running){ + setNewTimeout(1000-points); + while(checkRows(p)){ + p+=1; + } + currentShape = nextShape; + currentShape.offsetX = 4; + nextShape = getShape(); + redraw(); + } + }; + var pause = function(){ + window.clearTimeout(timeout); + paused = true; + redraw(); + }; + var unpause = function(){ + paused = false; + currentShape.fall(); + redraw(); + setNewTimeout(1000); + }; + + var endGame = function(){ + setPoints(points); + pointsContainer.appendChild(document.createElement('br')); + pointsContainer.appendChild(document.createTextNode('Game over')); + window.clearTimeout(timeout); + running = false; + }; + + /** + * Check all rows and removes the first row (from the top) that has been fully + * filled with blocks. Return true if such row has been removed + *@arg n is the number of points that the the player should be awarded with + * when removing a row + */ + var checkRows = function(n){ + var h; + var fun = function(i){ return i === undefined;}; + for(h in boxes){ + if(boxes.hasOwnProperty(h) && boxes[h].filter(fun).length <= 0){ + removeRow(h,n); + return true; + } + } + }; + var removeRow = function(row,p){ + var h; + var w; + for(h = row; h > 0; h--){ + boxes[h] = boxes[h-1]; + for(w = 0; w < contentWidth; w++){ + if(boxes[h][w] !== undefined){ + boxes[h][w].moveDown(); + } + } + } + boxes[0] = []; + for(w = 0; w < contentWidth; w++){ + boxes[0][w] = undefined; + } + setPoints(points+p); + }; + var Box = function(w, h, color){ + return { + drawBox: function(ctx){ + ctx.save(); + ctx.fillStyle = color; + ctx.globalAlpha = 0.5; + ctx.fillRect(w*boxWidth+w, h*boxHeight+h, boxWidth, boxHeight); + ctx.globalAlpha = 0.7; + ctx.strokeRect(w*boxWidth+w+2, h*boxHeight+h+2, boxWidth-3, boxHeight-3); + ctx.restore(); + }, + getColor: function(){ + return color; + }, + moveDown: function(){ + h++; + } + }; + }; + var drawBackground = function(ctx, width, height){ + var w; + var h; + ctx.save(); + ctx.fillStyle = 'rgba(50,50,50,0.5)'; + for(w = 0; w < width; w++){ + for(h = 0; h < height; h++){ + ctx.fillRect(w*boxWidth+w, h*boxHeight+h, boxWidth, boxHeight); + } + } + ctx.restore(); + }; + var redraw = function(){ + var ctx = gameCanvas.getContext('2d'); + var nctx = nextCanvas.getContext('2d'); + var w; + var h; + clear(ctx, gameCanvas.width, gameCanvas.height); + clear(nctx, nextCanvas.width, nextCanvas.height); + drawBackground(ctx, contentWidth, contentHeight); + drawBackground(nctx, 4, 4); + nextShape.draw(nctx); + + for(w in boxes){ + if(boxes.hasOwnProperty(w)){ + var o = boxes[w]; + for(h in o){ + if(o[h] !== undefined){ + o[h].drawBox(ctx); + } + } + } + } + if(running){ + currentShape.draw(ctx); + if(paused){ + ctx.font = 'bold 12px sans-serif'; + ctx.fillStyle = 'rgba(0,0,0,0.8)'; + ctx.fillText('Appuyez \'p\' pour continuer', 10, 140); + } + }else{ + ctx.font = 'bold 24px sans-serif'; + ctx.fillStyle = 'rgba(0,0,0,1)'; + ctx.fillText('C\'est perdu !', 50, 150); + + } + }; + var clear = function(ctx, width, height){ + ctx.clearRect(0,0,width,height); + }; +// magic + + gameCanvas.width = contentWidth*boxWidth+contentWidth-1; + gameCanvas.height = contentHeight*boxHeight+contentHeight-1; + nextCanvas.width = boxWidth*4+4-1; + nextCanvas.height = boxHeight*4+4-1; + + drawBackground(ctx, contentWidth, contentHeight); + drawBackground(nctx, 4, 4); + ctx.fillStyle = 'rgba(0,0,0,0.8)'; + ctx.font = 'bold 12px sans-serif'; + ctx.fillText('Appuyez sur \'s\' pour jouer', 10, 140); + pointsContainer.appendChild(document.createElement('br')); + pointsContainer.setAttribute('id', 'points'); + sidepanel.setAttribute('id', 'sidepanel'); + bottom.setAttribute('id', 'bottom'); + sidepanel.appendChild(document.createTextNode('Forme suivante : ')); + sidepanel.appendChild(document.createElement('br')); + sidepanel.appendChild(nextCanvas); + sidepanel.appendChild(document.createElement('br')); + sidepanel.appendChild(pointsContainer); + sidepanel.appendChild(document.createElement('br')); + sidepanel.appendChild(document.createTextNode('s pour commencer')); + sidepanel.appendChild(document.createElement('br')); + sidepanel.appendChild(document.createTextNode('↠pour déplacer la pièce à gauche')); + sidepanel.appendChild(document.createElement('br')); + sidepanel.appendChild(document.createTextNode('→ pour déplacer la pièce à droite')); + sidepanel.appendChild(document.createElement('br')); + sidepanel.appendChild(document.createTextNode('↑ pour tourner la pièce')); + sidepanel.appendChild(document.createElement('br')); + sidepanel.appendChild(document.createTextNode('↓ pour augmenter la vitesse de chute')); + sidepanel.appendChild(document.createElement('br')); + sidepanel.appendChild(document.createTextNode('r pour recommencer')); + sidepanel.appendChild(document.createElement('br')); + sidepanel.appendChild(document.createTextNode('p pour mettre en pause')); + sidepanel.appendChild(document.createElement('br')); + bottom.appendChild(document.createTextNode('Le nombre de points obtenu augmente lorsque plusieurs lignes sont supprimées à la fois. Une ligne génère un point mais quatre lignes génèrent un total de dix points.')); + + document.body.appendChild(gameCanvas); + document.body.appendChild(sidepanel); + document.body.appendChild(bottom); +//return + return { + keyHandler: function(e){ + if(e.which === 82){ // 'r' + endGame(); + startGame(); + } else if(running && !paused){ + switch(e.which){ + case 39: //right + currentShape.moveRight(); + redraw(); + break; + case 37: //left + currentShape.moveLeft(); + redraw(); + break; + case 40: //down + setNewTimeout(50); + break; + case 38: // up + currentShape.rotate(); + redraw(); + break; + case 80: // 'p' + pause(); + break; + } + } else if(running && paused && e.which === 80){ // 'p' + unpause(); + } else if(!running && e.which === 83){ // 's' + startGame(); + } + }, + onblur: function(e){ + if(running && !paused){ + pause(); + } + } + }; +}; + +window.onload = function(){ + var g = new Game(); + document.onkeydown = g.keyHandler; + document.body.onblur = g.onblur; +}; + diff --git a/sources/e-tris/styles.css b/sources/e-tris/styles.css new file mode 100644 index 0000000..9bfe370 --- /dev/null +++ b/sources/e-tris/styles.css @@ -0,0 +1,34 @@ +body{ + text-decoration: none; + font-family:Verdana; + background: #fcfcfc; + margin: 0; + padding: 0; + text-align: center; + padding-top: 10px; font-size: 10px; +} +canvas{ + border: 1px solid black; +} +div#sidepanel{ + padding: 10px; + vertical-align:top; + display: inline-block; + text-align: left; + border: 1px solid black; + margin-left: 10px; + height: 100% +} +div#points{ + font-size: 15px; + text-decoration: bold; +} +div#bottom{ + padding: 10px; + width: 500px; + margin-left: auto; + margin-right: auto; + margin-bottom: 10px; + border: 1px solid black; +} + diff --git a/sources/esviji/.gitignore b/sources/esviji/.gitignore new file mode 100644 index 0000000..e6590a5 --- /dev/null +++ b/sources/esviji/.gitignore @@ -0,0 +1,8 @@ +.DS_Store +node_modules/ +docs/ +deploy.sh +dist/ +src/manifest.appcache +.sass-cache/ +.tmp/ \ No newline at end of file diff --git a/sources/esviji/css/font/sansitaone-webfont.eot b/sources/esviji/css/font/sansitaone-webfont.eot new file mode 100644 index 0000000000000000000000000000000000000000..ae6020b80a15d93bd028db68e6644718d20c63df GIT binary patch literal 95360 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 N`Id>>YZKPM{|Cc|`$PZ$ literal 0 HcmV?d00001 diff --git a/sources/esviji/css/font/sansitaone-webfont.svg b/sources/esviji/css/font/sansitaone-webfont.svg new file mode 100644 index 0000000..7ad9928 --- /dev/null +++ b/sources/esviji/css/font/sansitaone-webfont.svg @@ -0,0 +1,250 @@ + + + + +This is a custom SVG webfont generated by Font Squirrel. +Copyright : Copyright c 2011 by OmnibusType wwwomnibustypecom with Reserved Font Name Sansita One +Designer : Pablo Cosgaya +Foundry : OmnibusType +Foundry URL : wwwomnibustypecom + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/sources/esviji/css/font/sansitaone-webfont.ttf b/sources/esviji/css/font/sansitaone-webfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..1d9008720c2adf0ef85d5f05b673dda2ff65a15d GIT binary patch literal 95160 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 literal 0 HcmV?d00001 diff --git a/sources/esviji/css/styles.css b/sources/esviji/css/styles.css new file mode 100644 index 0000000..46a7b66 --- /dev/null +++ b/sources/esviji/css/styles.css @@ -0,0 +1,221 @@ +@font-face { + font-family: "SansitaOneRegular"; + src: url("font/sansitaone-webfont.woff") format("woff"), url("font/sansitaone-webfont.svg#SansitaOneRegular") format("svg"); + font-weight: normal; + font-style: normal; +} +html, body { + font-family: SansitaOneRegular; + font-size: 18px; + /* http://maximilianhoffmann.com/posts/better-font-rendering-on-osx */ + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + background-color: #444; + color: #fff; + margin: 0; + padding: 0; + width: 100%; + height: 100%; + overflow: hidden; +} + +#description { + padding: 1em; +} +#description h1 { + font-size: 3em; + text-align: center; +} +#description h2, #description p { + font-family: sans-serif; +} +#description p.icon { + text-align: center; +} +#description a:link, #description a:visited { + color: #ccc; +} +#description a:hover, #description a:active { + color: #fdd; +} + +#board { + stroke-width: 0; +} + +#play .title, #tutorial .title { + font-size: 34px; + text-anchor: end; + fill: #fff; + stroke-width: 0; +} +#play .scoreLabel, #play .levelLabel, #play .livesLabel, #tutorial .scoreLabel, #tutorial .levelLabel, #tutorial .livesLabel { + text-anchor: end; + fill: #ccc; + stroke-width: 0; +} +#play .score, #play .level, #play .lives, #tutorial .score, #tutorial .level, #tutorial .lives { + -webkit-transition: all 1s ease-out; + transition: all 1s ease-out; + fill: #eee; + stroke-width: 0; +} +#play .score.changeDown, #play .level.changeDown, #play .lives.changeDown, #tutorial .score.changeDown, #tutorial .level.changeDown, #tutorial .lives.changeDown { + fill: #c0392b; +} +#play .score.changeUp, #play .level.changeUp, #play .lives.changeUp, #tutorial .score.changeUp, #tutorial .level.changeUp, #tutorial .lives.changeUp { + fill: #27ae60; +} + +.pauseButton { + pointer-events: visible; +} +.pauseButton .fullarea { + pointer-events: visible; + fill: #fff; + opacity: 0; +} +.pauseButton .icon { + stroke-width: 0; + fill: #fff; + opacity: 0.7; +} + +.ball text { + font-size: 16px; + text-anchor: middle; + fill: #fff; + stroke-width: 0; +} + +.ball1 { + fill: #f39c12; + stroke: #e67e22; +} + +.ball2 { + fill: #2ecc71; + stroke: #27ae60; +} + +.ball3 { + fill: #3498db; + stroke: #2980b9; +} + +.ball4 { + fill: #9b59b6; + stroke: #8e44ad; +} + +.ball5 { + fill: #aa8866; + stroke: #776655; +} + +.ball6 { + fill: #e74c3c; + stroke: #c0392b; +} + +#playable { + pointer-events: none; +} +#playable:hover { + cursor: pointer; +} + +.panelBackground { + pointer-events: visible; + fill: transparent; +} + +#main .title { + font-size: 96px; + text-anchor: middle; + stroke-width: 0; + fill: #fff; +} + +#difficulty .title, #gameOver .title, #pause .title, #scores .title, #settings .title { + font-size: 48px; + text-anchor: middle; + fill: #fff; + stroke-width: 0; +} + +#gameOver .score { + font-size: 34px; + text-anchor: middle; + fill: #eee; +} + +#scores .highscores { + font-size: 18px; + text-anchor: end; + fill: #eee; +} +#scores .highscores .thisone { + fill: #3c3; +} + +.button { + pointer-events: visible; +} +.button text { + font-size: 18px; + text-anchor: middle; + fill: #333; + stroke-width: 0; +} +.button rect { + fill: #ddd; + stroke-width: 3; + stroke: #666; +} +.button:hover { + cursor: pointer; +} +.button:hover rect { + fill: #fff; + stroke-width: 3; + stroke: #888; +} + +.label { + text-anchor: end; + fill: #fff; +} + +.copyright, .website, .version { + font-size: 10px; + fill: #888; + stroke-width: 0; +} + +.copyright { + text-anchor: start; +} + +.website { + text-anchor: middle; +} + +.version { + text-anchor: end; +} + +.step text { + font-weight: normal; + fill: #333; +} +.step rect, .step path { + fill: #aaa; + fill-opacity: 1; + stroke-width: 0; + stroke: #aaa; +} + +#installButton { + display: none; +} diff --git a/sources/esviji/favicons/apple-touch-icon-114x114.png b/sources/esviji/favicons/apple-touch-icon-114x114.png new file mode 100644 index 0000000000000000000000000000000000000000..1c28c7206e69a8c2681d0df7f2b5cc10a9112629 GIT binary patch literal 15184 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%0D-uu~Y{rG{;OQW(O zuAdMThw+*P=W&pkMt?tgjgYC_RQ$`Kg{XmR5b_WEQ2V<&uEaPoHBaOaZ?3ImSMc{e zx`e@VL5xq|G-bYMSLpJKsLB9eX@KPbOwlt;EacA~r70|(a z4)A(jX=T6bdwV#y)mAq>o#o6KWAP@YuGHNa>`sF}{_<=4%fMxWUX^m|oS4)7hKPu( zTQc>yL{Z^Z9%#&;v9ZO)$&5?mRnKTdUnuQ^_wCeIGM}HnTN(f2YCOVUBtD8l6%UPV zY@a%JH<=raF8wQr*L(gcpZBS}#J5>X`qz6vu5sLx7`)W*tsj+|5e4y`ya+#a- zZW^@~a&;WEZJ7CeAQKPtyf<8*Pv=rk~|Nj^L5*7wChtS#vuTmqAT7x zdoqzwn~?ag+;r{*6fixKLD%J(i^*z8ZAIXPen#nl2UUFx6O}@8=~d^}lSrGZPNu8- zvB$C`Kif&1a+3}Z59S!0&@n@>90>3Robc*32xwu$hg;`7S1J@^Ov!K&Y5)0oRz-$k z^XIQ$JT>N2!EYNNvXf7 z2KvNJyNGzvWM4{S3DeS7qaQ;}nWiYhUIh(LOJ%8sfvuXHE0{GsGN zGt%i-BtdP|RL|a4jyxcb4fYrSkk%XR0I#U}ku7RpJ*x~&yM&7_+B-P7G*$gp({UCf zRV`?1Qz_C0`!9MEz5?IeNQetnztQh(*ERaKJ-`~pa1Acn1rb672%~nf6)%a#W*AuiQv#?mOdnCw6d7`_QafA^9Jt2(L>E}J7yij1NB&ol zoT{o!65=~gNk+*XqfhNAzJIG`(i{c=eMh7SJUiI(;xx>|wkOKsx+>a_V~=XSat=9{ zog3P;uhc>|WZZ%8EyTIe$wGnOnFdaKVMh%Dhd7VTHD(tR-1Vm3Q+muxEM*Tl81m?$ z^d5)(L9f6nmC)0FHht+XushYe>vGc0CHQjMo8KqTknpGD`SKF4K~Y6h@Q84JJ{DH1 zvG{>lDppZKTpJw$1E9W&O{4eB9Dxijct&#uu_c)ejYD5z`Cs-jX}|s_*>PNU0$io{ zKRQNwP`?gy**x;t`qyf5l}eUMXU?QGLRnX9RHr09XJr3o}Uz@-0 zZKgOSUv$?pBQ0=cBOhlPioheQ9Zi64jS7>#T4+YqmfIXllxKa> zH#*aa$&AZ2K0m*>5RBc3qBa!uio*@su_f zg{abV)JOkP3v*-Nr~f_)RPCj3rq)DhX+WL@mP)R5&PJigC*m$b)eoi7MWx=}8f|V2 za1BGzo_v2>Mh%V)({xb|7C+l!?;*e|9rm+r99|eyR);4Ny4VJUo%Dm!^mKx&$kri5Q}$Xw|<`l zmu9n(6t)L$G|;})!SuG@0k3ZR7!b+o#M1S`q zBV2J+_xIs^KFxY#p`44RLB{@bCw9NP#TbAKsIUv(Ln#TPZxW++fGqCNZTim6RqWoxm+Y(1VF094 zWcg#-zFYAR{qcr+y+khvaw8$fce$H}n#? z{b@=m4v~eAGnAgBfHts^)ob^{H%6|h9l1H zb7bg&8FJ-Ybqk&7)V~X<${J%uO}jD+FW)lFn3MsPYIGC*fhWb3;3F2L=hhzzKDz=R zz;G+f)_$uRe;w1e^uho1Y`8Jt6A2N+98r&7ko_+dD+_??DYBjIw7uLZ_AT`gFa}iV zBVo`)Yie2__QjDr%){Sr8fiV_9o%Kg>noB#r9c9Wh)5`|7{=*A?moF7ws~deN{GHo zIwt52U%x%;$!2LtCT=t%w4Img$hUskX&Tqi&gF69V{|^I1nri`xzR{ZpWaGhBFoxI z@~9idpYu*hxFVCh{LioY>sQgy$;tFobTzDu5TRW|b_6G$7K9qV3aeR{r4pQ`X;>|v z?2y9(E%|fl2l{pTBg~=S67)ML+j8=4oqnaFrfcn*ea;@#eh!^$8lTwk1v!AIK5vw6H2nZ)W(J5xK`x;B#g3Z1z6?SdwIS*p=zZ1h|l@zVJtS?9*@ z@w4rOB!_EBWv`(;NcQvF$!dVp;=WkHmY9M|@)pB-%Uz~|0wa}Y$I%h%=UM~`;~27p zzQjyZ4hk*ysm6l<<6)Hn+s%M32d%;+6@l|e5TMB391s?KV=PKwl42S}Ss~0PCjzmfzZ97UXvuTnc-tU*MFut}1wu9_Dg~sJyM&y2hjyJBM$|-Y$+y zeQl->DJg&~y9r60j<|AhGI%YpiErf#$H2@+aki&1fBprUr>O&zbYm^X>e?$|1zP^ayMYnNEOAO zy3}Py43qGcCxLOPLhpQ4@~P=AAaW~LY~g$#Gi?xSVg+ShjxW-wYs$GYthavG)yb|# zv-bC&`Y$QG*2qB@kJiKgN~w+NP)^2<+8#=X)i=ONJ;Y$sX)9EyV=&RfsO6Cszp>im z5J(Gt=u(jBmD~nv$;yV?y5y!unOE2!{E@4=b>-;U$MU9&IGG*OfHkwFb- z>}SCUcLbSr8}OFW5Lg-Ik<0|sbgO-+{K9;mee&J?NN(r?Qe542xl#A*^Af`uj>L9g zgz_sMnhy^A+@+1Yu4ap!kfk)lMs8MPQ!OtrAOP>t91j@G47B8zdzbX$d@njVE2m4=q>H>WbUs>So9*~sOI%n`z!rY|M#k*icpM--y>!%8VOTAmz|^+}fH81J zXxAF~ZHKYx<}3=SYNgztl_e)T`K-wgIlAhld9{_4d`Fkc$}7*2k8kgdS7Um~qd8M@ z|M|vCo!f}8%<5!m>mQ1i^6L6<-`$@1z#75a_*pD>_^HZ70nKGDhsZua}|H7!afOq^|LY?F7R9hqn)} zmR2vtYYngC>!~030>aJI122b)3EeDqbx=3+ncpA!Z;SJcuU#j;HxlmT7MVrsg@pn* z#9X^DmI#j`eew6+pZ^SK{6aBNM2}xjZ$xQ`Mnp(ROiY+Qba$5?Qv{A}D^SCc5qV36 z-seyREMyCyV<3V?7p%aX(l-2on?#_q@l~nP`#_x8z5MlbNGS zq?lkc>6H`oAlTR#Jzw0I1`z3w?wdcVvuKrTD+P*Qe4jpAKN?s{?J5gayh*uWo=GB{ z3A5{NST?{xCD5JmtkPwu{#c1@oYiv7|nFzJ1)A|WphRrM zpM^Ng>+HoSL0REIci{5NW4imt|6HY>vTmpkHvd9fh77C*Z8#yr2WQC0tgPNc%Y{UA zIdm%1l^S>3(5+&LW;OapjtR#S4|B=Hwz9?KK-Xy{7S~w52T5CU+s0;WnUt(eS1NQ| z+7|t`Z&Vkm(NzecfB1fTbgHnP`0JSl{4c+^N}CzlGm#!!v3yccu@~)!9}m4#-58fR ze=x?E_rA)y7H)Y`jvdgyH~itwk?X&IDfs-1i}8^r{d*o+$|C%}XVFrmp-c-r|4Tlih#9{3-u?&0&qEzjJfmU-9Fz@i_X_7bjIy4SVni@idNP(M|a#FfNC z6Pyy=mhFWUmL=+#lk2~ij6qZCQbgMc9=-X5>fR0ar5zW^9yS8^NS0=5a$!- qr{C@y`u0SOK literal 0 HcmV?d00001 diff --git a/sources/esviji/favicons/apple-touch-icon-144x144.png b/sources/esviji/favicons/apple-touch-icon-144x144.png new file mode 100644 index 0000000000000000000000000000000000000000..433085fa40394b696ce02dddff9c71512343b38e GIT binary patch literal 20395 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 IcHHO4iyMHvEForI^*Dr7J$7+=qk-o33 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 b?t8h1{qF%BHpuf}0F%jebAxJqr|ACxS!x{L literal 0 HcmV?d00001 diff --git a/sources/esviji/favicons/apple-touch-icon-152x152.png b/sources/esviji/favicons/apple-touch-icon-152x152.png new file mode 100644 index 0000000000000000000000000000000000000000..8899651e99cc7008559ffd156cb27cf1966a68fa GIT binary patch literal 21857 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 b9(cMx{l7P0w1SI)4e0LZ7;Be7???R?q6bYd literal 0 HcmV?d00001 diff --git a/sources/esviji/favicons/apple-touch-icon-57x57.png b/sources/esviji/favicons/apple-touch-icon-57x57.png new file mode 100644 index 0000000000000000000000000000000000000000..6f8e17e19224e22c6cae889b95714f857d87e6b8 GIT binary patch literal 6263 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 literal 0 HcmV?d00001 diff --git a/sources/esviji/favicons/apple-touch-icon-60x60.png b/sources/esviji/favicons/apple-touch-icon-60x60.png new file mode 100644 index 0000000000000000000000000000000000000000..b0ab9b8679bab0f0e71d65804a5c65d07a3e0f7d GIT binary patch literal 6755 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 F{{Spq1}y*p literal 0 HcmV?d00001 diff --git a/sources/esviji/favicons/apple-touch-icon-72x72.png b/sources/esviji/favicons/apple-touch-icon-72x72.png new file mode 100644 index 0000000000000000000000000000000000000000..30f2d50b81522834dffde1571cc7b6cc00d349d9 GIT binary patch literal 8603 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 literal 0 HcmV?d00001 diff --git a/sources/esviji/favicons/apple-touch-icon-76x76.png b/sources/esviji/favicons/apple-touch-icon-76x76.png new file mode 100644 index 0000000000000000000000000000000000000000..93f80a25dac1722821ac3503a008a428c0b2ef79 GIT binary patch literal 9255 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

er{%;&0 zyy5b(WB5+i@AQN9vpxW1sUeJjgp|A}D-PA;a5}K@eEw5!-CG~Z=F43 z^#ETzRw zANabry}gnb^r~xcaW;bTms^cUB=|}THxfIA52=VARaV8{&yEZX%4s#Z^z&>E#Js%= z4!IAH)QnKdlO8<2p>DDYaV-KTKjT&f+Rl0VudZUFJ?RoW{4OmgsNkU5$qG|abJAA) z3bdZ913aZ$p~-D_sSxkMq^I{4qm3yyv<*c?$a|O1@}(y>O@_s0uagxC?e}e#%NIMF z$hJ=PjRFH9Z7!+B2Vvp-Vf8^xr|89#p4FtO9P6)<#b-M|{zWhFsy)3wbU5#^v45p` zH(j}g<5z6FUR{=$FFs|6PZAPgkNkBa-+TV8@|$v{ z{f7_C`R_g%p-@*5^LL3aBjEJP-+iLHe4=&u&5UYYOp)%UvC-RquwHEn1J_qO0O(d^ z^>YxabRupA8`}%AWgw3)Uj6c;3in^eY%zu)Wyp{>?RcmD-?H3rB8R`9-{RQe;Ygme zYzOzup~tb8UJYFOS)|fMvCyD(E$yIn^rK~W?~uLsQD-EWd7BFC!cN~0xxCi0^VFuy zKDsVa9d;Kh6VJjctXbz>-eoz_8ubeg%yQ8{dVi$$KE>tC`oin8!qGyP++Z1$|J9ej zX<-c*ZC=?Wr?V2p_3oPm>N-A8XLle zpSw7G)O+yoA;V`QO6Cy^>+re-UC;f;!gZT;>XBPpM;BF7O%jIUiSqK)vu;J)S!x;2 z*=G6C%}u@{0+|~9yoaRr$!-GOXks~blF|>I^%l3;xHqCy9*Mio=fuFvxdEbf5 z!z%Y!$58fCjy^uo>_|3^wB|#_;hau?+kCgWU3tJG93(M$dH4MXjSj%7%zcA+gXE?Q z_loBofi-FPa%;MT57)2Tfnv|BGQrYfyctL$?~t)5+>KFxbytq8UxC4j@cWIVSvVa-Y&-WoTi?qkNHq*WD{~~@W z0*Ym|RiVEp#}%P<`TkPm%>D@Vaeds^wPl9u=y8RG2Tb#KWwf{{Ob5{6G6vj&6X(>Ow!E+<993&YQ=6N+x~|wtkLM_P&nz3=kC-5fcy=5fFJ| yAR;0qE-57}&L=D)B`h3t=Ud_bQ^3>9!PP1F|6ky?Q5ZYE0HCU*rHF*tME@TZw9qdA literal 0 HcmV?d00001 diff --git a/sources/esviji/favicons/apple-touch-icon-precomposed.png b/sources/esviji/favicons/apple-touch-icon-precomposed.png new file mode 100644 index 0000000000000000000000000000000000000000..c8160b3170e5d0866c31638275d88d5d4807e06f GIT binary patch literal 24169 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 T+#rw}7ywdM)KDmsvwZtMwn|2k literal 0 HcmV?d00001 diff --git a/sources/esviji/favicons/apple-touch-icon.png b/sources/esviji/favicons/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..8899651e99cc7008559ffd156cb27cf1966a68fa GIT binary patch literal 21857 zcmc$lg;yKR`}Tvi!Go4!#T|-6aRL-~C=L(q?%qpMNZEhILiI+^M24?3)Au3`V!g8Cz!cu`zV^*S!txeAOL>8WViOu>v`jY@|j-L7%=BB0)xP--5qEg>wF9 z?$Ao(oFp(f#}{o?Y<fO#MtzQEl>vH3h>+dy~KIKLXXi^2&eJlJ(S* zZPo#JwH$xcfAyKHD|Q7wSyB8{1KNWQvZCCgKXdhPc(-_!MzAUUPQ5nTYmB2qKdA1W zr6lj^3jmlRpVq^I9uYpLMrKE_Ow%qCfLUVmuX{8sACuNjI`&7t0~6WM&=bp3*?r|d zN)Oy->$<(utJj`T4$SmEHmli&XNbhKuGLnhnsnSMH;kE$^qQ+Ziu}s~*aH*9dqAD4ywH3R1r>_!l^KS8!G8T?Qb9ZKq~X?)Ug0 zm6M6@@5#o6GgxU#S5(^#0UvgLRzx0|JU4s-;IsY zM-TP{3lt93u6FB&g7YFqdbTYki7lw7$o66{iVqbQQ<_4GH)nQD<@?WSLol-It6~}hY2~gqE>e{b0wPj3| zCZrR&)V~u#q2w>2{Z)=&cElOP&B*0-3%TJI)k`58te8(+oF})vdjyrTUe5@Gll8=| zeov`QO8rZFAt!3B&mRn4P+{F9r#yFlyU1+(N@P_OH(2)QV+R_>wa!HVcep^9KeEm} zf%%(7_SRQOpq0^T{_jNaBO+>)FrydZ0?CEJu*>~mMt}GFz0bj47}q284l8z(H-&u%g94 z+fg_p*%Hc&z0N|7Zi;0-&mgVM^Lixu{mT~)EmbEoT=O_##l-<{s1;txs;Km-eHoYg zUidk|b8l`A^lv|=528Rvh(;~bMM53ZbZ{x6VANp9@Lh|P3^QbGjDQicyN9sg%uWAB z2vz8c{}+s-~MNfXX6n4b-wsB+IBf}z={{q^l z-AAz~*gFC?bdz;;RPX(-OIH#u(qNd6>8&51UN|6ohb*pSt%-FYEkN+gr%js=;-k>H zydQ6FFk`)ciaWGT`e@u(f9On^bow0KcNB>bI^pnZAPl@!xXszZ#0}8Bk?h~j4pys( zUcmmyG{g-8Q=@izc*lHhiAlys{ zpNyVoXuabW-nm&@ngh_bgd6o#I{g5!pk>AHaY8J-*I z)8$UdRLu@HG3<|2RJ=L|T6_Ih%tTHwkGsJ`RaHZp_Z9wr`|~Fw714r~yUhQPKu#tH zAAI=*BhUvAK^@5Plx^6nj(7KxE1lC)CdgNlvXK60Xmf;itZ$IS1X z<~is(Q&NyOA5L$n8ZRGu63qBWX>^t z7-8%NGUNyt-px{{I#*~gop4t;diIx@xjsKK0q zANu*_^35NMYOUs#5F0{}Oex<(pR|gMI>fLcUosUl%mRPi#mD2Xr*@rTu?K$(F37z3 zPr9k0uO(!`r3W6{+;01o2?nELs|dQjGs7}vqLa^8llpulAh3OwyyaGe4-JFXVev_H zLZphA7WcODJ~RZ3+>M#GUU;nr-7X!|o=Qxbr0a=KAl?O2U?9Vne&zN@+{)IbUsN~G z&dCYSkN@c?ZRlpF!oq!f7^{P`O-J3YXc2LrCVtTUl3z6A$w&IY2LzH#paT(4@2hs1 z>k^E3w^!gYVAKzjz^il_-0uaU$+u!4ZOj)S+!1mij|t@ypVC@Sd$t!Jnaoq=6^NPhEmklH++CD*`}b92!52@!B_VfDR`*yX`q%RYAx$zy!k6WdfDC03w@SRLZcxl-uCnENEf*9TEgp9reFbGVzz@ z3rM+{yZ>g|108-=o!p-_iT*@}g2E#j949UU9`Da+@tlTJ%Xnj4VXvaI1R{E*q+Xdg zkR;P+wIGAwLc*W_d$^4yqqlAPAxJ@jGCK3a78`rM9<7T$4UB9aqE=1;2Mt)w&(Yah zY(%lr;K8BPH^FD-wurvGa7gG>NfPb&_M7F|OvIx8T-4Lj8>99s6a8%SP;#H_r6N8` z7*l+mi4FxThw8fc>zExsx+E2E55u6Q^#L~~RBH2>3@ct1u!sZ7$BMU2DY(3hJFe-G8y_nDUX zLM0){?RL_apKv6=YoqVU))uh2rb;Xm`u_394##EpBPO(i^}&qZ&Q#vctq${-+OOdi z#g+NH_+KvxoIT0@meIZu<8!EqSsuQg8RsR4{PV|6D!Nc0Qn=e9R!k{D((99PSf`%Ld{82QZB;LF_W0pL# zdcV)3sgrvvoqr|Y?Tgiudb(K&T7&gw2fff^m)^Q$oxcX9PQ1>>g+Tw^C0UT97THGO zqh@}vw?l|>WVT65euI%{vLKSa!yr>|+cFgOUR^@V*VM}Hi)!F?eVX0?-GIpLA4S5U zM*pNwe)w=U2G{LctO7Oclyu_ece#yz3~p$q&nKjg`78n9v~oDi&Z_Cpz{_G><_hP6 zx1Lmf7(RB>(HzI?PEXi*Cvc{ErBmagA}T)Zy800UeHvD?s4V|5%tpSAMO}n{&Gzs# zDqh9b;^C z2&6(pBwl0L+ekrKQ(b``Do78becB!80l~J>^J^8vbDw$<;txX^%$}kD{VoaKYUt!t zc_dpTTHJd04C+Ms<;?fL=3}!sw?3u`7P(A&w2tcd@#w%Ro6h7v{>qf3+$;>5@MQ-X?j z?m#}q5YT^m?YI&}Yrd1T;_JS1KWPp(s49;8Gm?D?2g*R_W+)7=$_>Q-m zxE_M%;@v?~VR+=2MaxBNXwY98#>fp#8TCh(ps{GtC>WMIU z6W#aj{XjkXx#xD)tDuEN&U;Z1c|R|bE_y#vzT3MjM`v-@wWe*l!7KJ?E-6#WaLhjNc?_O;eq4%YUMl#?uq1#FG!HrUwPeEoQ@H^MOwMbet{S}r$X(l zXHD7KdVE}LAtU9^pp_LQDlr*b2sr*`$;aDzu92_iS&&-73pp)LRcb#~$RC}mcYfo% zHlc{J`tJu77IxdCAEfmbwypO8!q!Lr#yq*1gSx^#v)wr}jsO*i>~deB?$lbw#*hnz zp0o$neN)n2{>VyM+aUfFkpEFlti!Me+v$_?#96`SVB2Gfb2_;{uWJ*jHSWp?`-lLC z=%2w&on7=FV@e(o7o*AVAoUu@Wq&5@AT6&!F<~QTW+&5)eBG2r{-~t@fz5u$y!+6eId;W-(aQ3`w8>=&Z&du9#@umD1Mj#q zs`{cPCLXvt=|S?IA5mfjW=;cQT|AH;{Cb0A$M9r)V%P#Y&|g$7!flr6+}3eaF!QRx za3#7buCG2KrSF}*+%4KI+UfS@foVfDUmv2V4b$OUuKMstizVNXxRo-bJ4POmDRN-K*3 z_g3d(o>-%JR~NHeWAIF)RMh|UMmdWzkT*{t25Ra=jr)ilDnWuuKmd-7)7WhWNf$~c z$jK#9eW3|;*Zj&QhU`HOb(p_GFa5)Cx~V0((j1C~YcMrBnk!0jw3LIOP9FUIWChW{ zkf7rhJG=wyr5@?9j4{EJPc0{`bIsIS#yvkvOyAwHrj#4x`Ty~p&xAXY#I-S6^;Jj^ zfNAX`GncB@v*|1zm(QMz8$DpbEXnei{Xf&9M#$j*{&jsOG5C*?N#1C+79Z)b#oEcm-r0>$Ys);ZR6hKD?&l#A)i#FSE6Z8e zD48Cn6gWI-(Bbm>#789W4Y^2;sG-Xyl+un9E7Yy&kBZEo)pWTg;e>-jGTrjDXG~d$ zN~ju3R0;-lCO_Y%uOT*7qM&QHXVWk3gHme)%0s&$Zu6+|ztVE{_6B6;IXQ`7^D2^1 z5x3tY(+%rhW1foi@Tk5>bg-;!e?Oi=2`f>k0{vrcn7V8GEjqG%$S*Y;2g1I9_8Luf zmXu-!`O{W4IS5nAcRL{@c$`#e0U<{F8=Ux0BB!w;KhtTwiY5r71?Z$0TH+JX3h|Ch+Os-NDh^a$Sc3M;c=D^xVD} zfs2U@2baRwFhl4D-6lz0jL7>}Q#;SDXTmjII4F*4D$E8JRTN%hBCGe#RC^d{Q^-#9 z#cCKAQ+?CYR-UN8Q6~%(2g3;UhVZo~#v3yYA!@L_+?S?;?EEpwnLqC{$qdAHOQD43XBSi%w?(F7*e}WZdwyi-TBUfcRcy+g{ z9k~^I%@t*N+TvwF^*uW-LfOUBna1`)FSn>iGX6HLxOZ)bj1VP2`8`dy%3bxUfKuT1}3j&CXwBNZzC|cH!n5 zAVQ4TyuD2tG<5n;Lfx=IH~Vp+h834Fx#BJe^3y#%Cis`j%`^PD?V2`zIGRdAE_2q z#dOMwhk@L$PKX%V>|TYM`Up~vY`=Wru~=QL7utwS1p*z{Q!mp4q%^U+8*J5IN36Yx z3YKeD1#o7bTX$Q{rncBAFKS3#+FjUt=CSE+`!Megh%3e3sM6yX{PR8Xk!9f%d)yLe zsEvu^=ZCMSqU9GrG=_IY>Q3nJfwh#kH)P|i#VccLMmIQ^fgtk!etXBme($R)F~;Ec zb+zV%J}K?v;`KY=$*-@+#v0Ve#CUiayN1~^;O|YH(EpiCJa90lgR>ARjED!jjeC0U zlTiM#Qq8t;q#*TM4NFZuISIUz9=m!aRJ^H*`jIu6r{2@P$|iH#@GBxkfs9{mNLTRp z^p`IMOn=U?8a11Jd5U5V7Hst@vQ%_ffOw*zc<}UaG4V^qD~tuqcV{Mq-G&^bj?Stj z^Ksz0z=xiZ?3h86~G4)7A&H0QVA3r-P{+=(tywz}V8v(UHw%6#rh;(HPUH;P=G{dzr2h zgKG9ni+4}>djA`LrD=B7w5+_;doqt4h{E!D@!(*tV_r-@W>}Y`I-!hw)ce9Q8{T`H>#^fP(VN@=RpaaMW9(Hj%)m2X zCWlz^VOn*uZ3sLg*x?$qeqXG?rHq)Xm7icq840lJ38$6)BV1X=n)X?3`c;-zECfVS z#!^JaAKJ6&rif|Y-r;OgN*FoAUsO}xm#5PA`K5q!`^}b8am(EhE7EAKi%*pkMLe)* zx0InNFE2`>lPOG;%Xe7|WxH#49I36<4kLpyJ$x1?c{5^F*|AhF`j&LFwiK>4f;zcJ z9jZpi1#fK1-~!Ffu@KEuk|xnfG7(BA%F0`#6oJvZBMA-;(oDoeT1|T{rZq`%N;GN= zx_MCGAuD&yl<}{k!^i#tvt!0E3}$Op6G9cG{fS6)6h%}GnO^M!Rr&GHB@1POQ_K~B z+3D&^OA~i^Hkb8JEtWLa6d&?#h0Tt~>5IL1ioJt_{ohtdE1B$yS@SINF`gbI;kLWY z+epW!h$0Q%p);4_c}_~KcYd`ESLM#bfK=dph$@kqW{ihxuI^#fBUc2-{PGHPZcXiC z?P3HUNl$K;$OV=Jxe`Z~eF`00Dk>1wbnMy%`r2Zs)S>w3AgY*t(5E=9^79yF*e(XXu63P#RBV}6OKa^@a zN$rga)pGb5pSS+=bwO6?j4a~lF{>)p+-}A7e{(73pjdCA7@#Hb<*4P*e|df;UB!8J zd@6Mq`PYJ*PP58RtbmtST%57HGH>SaX}ax&CLE?5EBpf?)wi?EARm=9?B(UOoU77M zYv_RoVpPOO8J*B%OGQi@8#Bv*j>IXxvvh4-YJCPmlc>Q@v0LIWV=Pns5FobQ3MD zvDc{1a^cKenP5E1z?GG9;Tfm-xOHDq(P~4MMHeZ9`D?+Fp`m2yqyqJkmYc2AR1YCy z0-5D)@s4#S1wj$+@!2Nxm(xz7StWT*iimVrc+ZZ9^)``?ZYm7EqsflPQ1;@tn0k7be@0g9d`$gcZ`eVCG9!zQ; zc!(MkFTc|qFCS54ZG(R0+94I2Us7f&F1MNrKiKJ;lwmBC@-J-;FV5c6(Ks} zNwK|KW?ofVYQsyqXH> zHuF`w{&#=1XsS#)YfMfTRJWbY-`z@W^IZ?!4lleU=kA_(;~C^1;=_enMgpw z*0Sq)ap;y8^lmbsKckNSDkX-i7?wZ!SBu4S$v1WLE;%G^#<;%W{_`pBkobT8v&Q_} z48CPyddkiYau^`?*;)CnSh@$gyaP^APKCx zxYum&_=y;^Ud(C+7bAq8QoyE$rP76tj+@+Y*bs%z9nv$EJ$uJfhPyYU^xyp#L=P#q z2`B^nXcIeU>a#Mjda6ID>M27&{|<40H$pwxQhrVIe$uxu<%lL=*^^xn!W+vKYSC0a zd=~Oi)sF3F;@buN9F`KUEbS0Tw?z^coCa^1@w*{^3>?18k>k!v!`4gu=iYy-ji*Z& z^23fvt5i;dZp|0yB%jC{KiMxj0JK(jOz%{^N8j1^z7)ReI#}^?X#upCz4tW05Cmh9 zuVEL|XQo1x;AKJNG9s$kz<@%OKdP|z4XSH|W~bLjqgogNq1KC&wu7Nz*4TlvXH(8h za6zB|DT$sH7T0RSvbxhQi|>5Q&KM%<0shbu1F z_Y9^QK9o=l$MVU_-Kso;>o@98+mg6#z=Q!6k^VLQ;h)w3_cR$1YA9GQiYOiPrOCxB zR8YE=7_J25TC6BwAA=eiu*@z7H!K}nFO^;5Lq|4;eAwIexb#^y>dG)SVJDylqlavt z>~knE*FDWW+TT^~6rQW!{u_D-De1|irSlCDk<6t^OHv#xvLF?SuY?;o3b{$rhx%{} zK?8)(Q;>rF5iG>^LcsW@Rf8T7=aIkuv&Pj>HF)Dho1^#>O7XU^%Q@mtTl+^B$90OdD@=9w&FF~LfWtH1@Hf!$UQl>K50V>dcHUqrCOJX#A z#aFJ8k^Y0fadYAV9eMd>Cog8$ocD=eesW197cpwwSCwcQxTM;IWzO3d@18QkWJOB| zLaH2yL7-FL7;4@a1xq^&(DGHQ=22c`6WeMxf_MHR^}WzO6mr*`4Go@XJgmaD-Pn%5`?(qOoTu#OT?KA(|qKG;ZjdM+UjN+W|(fw zI2Aa=N960y9!jUDqrY!^T1(-AGB)zk&l_L3kA^2*(g-fLq+IFI8{uN6BrOj2h)k0P z{Qlh|88CH!JaE~Y)l~nHM}r@ZPS;e5jzv!Lk36u>bJP_q6jQV`IJ6H6L!?yxpMN9S8mt?qM_aRGldmeB{ni zH3oB%%2o{y*+LPg0nZnNMQS9kOJ}2tkf+mY*f<*a%8Qq5T!8CRRe`VH1O$ucfk{c! zwDk`6%3vsymy^0nw83WqOIM#)>ZU!6)I&hfP~O-|qu&;{cTIafrv};gR~a*HVH6bo zyk7@POKD|MKPAA5QJr-}YS*74p58nL|6-Wx%}i}TW5=?OOrRz98ffbP#=;cwHj|A%1V-}W|YhnZAii-%%jdQ=-xtru8Xm*-!GE_u7s}X#2 zY|4>7U*NpaeK6Fs^Y-O42jL8Iip7pR0l%PnjV_Y>#TINS^(dKLeP8lzkmke;knjmnV^LPlDK8hEprw}V3@cwhF|6naZq^*0pCrq9oDQi( zGcj+dnxAn*EXS$D*GUiD%>?d?S#f@T-FgKJXRvcIfubLGx zRoMDJ9f!RN4<{uJI?FPwsB(SZq-S6t^f0biH8U_!RyjqE=!+7c^D64j8UNZt1VrKC zTwJaja+(v@*X@DYC2`CBB<6RQuft(tcR%S&_XQaz+<;US5Z292%Yv!n#VI3Q-X-j| z@Vo$puDX=+3eC+3^45C44ZUyM!h!$BI{O{G^;ebIQVD_)7Kz^e%OJ^TwCqER2kC%H z_1As6&lU+-96G{61V8Dam%k{ddV;zExZ8$QSU8YBR((S1AG`2BI@sIW$;c!nf4rxGv5*aF_Jb#`l`#0}m0x?Zv{L*3IIU=3_H(C3>_i9{=7m z&_gR##`RJ;gvrtNHJSg#q_mlh&Cyb(0M`VwXsPnA2@{?N9tAFr6b43Nq1(GWKNezE z;)n=qj`b~y2jGzf)#n{pzp9Cz?Nc1HB97*(rA!J61?YXKx--A(_sUwdYH*cl%FsF8 zRW1=#RSypzvh11pg+z^rdapg{=^HXXtN!U}CHVsj$Cd=#b z5zv&OjSa)sP;EpU1d4)E%@!54CYYP1bStJKwxVHToomsxEhzdH9I|qKLPfPvA|Cr5 zd;QqdXq!9DeK`_hE(yU&LztTzTKulp<|8&&f?VS_H}N~=Jznk8Gthyhx$;y?fX2AZ z4XDmHwc8y?Y#Qo`AT!KR@s$T)J{3sph`f(YARdR_{YVf?IfHSlG-bl1L;2%{>!KoBQXSsC0^LFals4KAUAVyWDl_n%Y1GOVuJ&guR zH!(t}K;N`7vo{hA)Y*vp`^iYd!!HjH_Q}Z?+Op#Hn^+qY^y?gB@PxdSwCPKAzb9)L zd6O^eXe%(6v)uh=T>fn->_cK>UiG|-;NI6AN^lnzy@QTrnOUKW>Jx1pjVFWNg>u&XljC0i(IoytCDlRrB8Z7;46mb7sfKp_o*gs2s*H5UM@?^2sN#M^B^YdH$iVWPwT z{5h`B_Wq@)Fk@qCQzXPBSNPrR=r3DMu{^n-CeHIfdS416msFvulOy#*jpR+*W@O}g ze-9vwScJ-|c`owS=pA0?7-bX-s5mhSIP)v_?;HRVwzC~gs7AZ7W%Dli^f|(cI`mhE zNfPR6CzA44%ZhKBvB7V*1gvAYfa%?6WZS&z&z}G>AVpj4*kfaJ9H=+tnHxD&Da`~n z)JY;Q(OR=>7Wt0=Cr!cJTqLg9<)*Uue`TiYnae`}rvo8?=DyaEwW?IDZ5k?MntxP6 zUvRp?F`Yc=6l=sW&Ib>>Wq{1n8XR0?Mv_1JkBPb}olTQ8QV!p|;0we&t|zNw51KyG z!T~KFoG5F&(04emx9TFnj9^WPjC5%<%uNS}5HRKjFI8(zayl4HV9|o5)d{&SMMgez zX60ljTTZa0pni&nmYF46v(yB07cZv`ekq_5xzOT;?Tv^6gXpRYgp)WDP>^9mlls&a zKef8ks{pMI^owmNWzul5h@?^qoKJVtZp+WBq(m-~E_ZyeFRiXlm29c^;-heF0NcS` zZh!io5Dp_F{9Z%{T`22tHTFmQu!GfS|4z}B+`f)UvtQw0baA9-=Kmve5N>Ht>nB0S zlhGcw>RFwd>WMI~s;F>#M`-7C*_w&N0u8-xFPH&B4)c$Z(qiJA5DaY=0s_P7fYM~d z&5v?j2S6k>tSFR9Wle#<2aCQX_aaw7>pG)iBc^z{zPd^^T5G71)V*581%l=~@Pkpi z&S2_G2KBOp7jzz{+QJ@rAxHT&$(#D!Z^nIa%wNJCR8WRo~6VCDL$N6~B7jle30F`^CyJO?w-xELch<1;8{p!a@j32)evS4N{B++Xd z7Tis)>jQGK{hMiNh*B+Yfg;$Dr`V0kdENV75>W9VNzv@jBmbpiz^^b2HzOd3z^QA% z1=M{guuj6lMR6&PqjA0jBP9%acn+Q(A738itL2YQn3IG`7bc;8WSa8OYqA#x1TGXv zJSG&-v|?i8by(V+NoZ;77iWBqzuCggc53(BGM;J_CBF1ADbqE#FdrN^I>8(3v?na| zw0&P`Utkq?$a^kTv@M>6bY9iyEst2dctIuN<={cMo`~0ueUp*&HLat~D3xOSc8?&k zv=oy=j_&kEu9wsB6;!_9eB&gT{rkkcA~Q(XTjVWvliODfCscqG604Ukq=nK-(k6!$IEgrg3k`%{c&m6sN?Kpnye)o^u1BVzR44Th5 zy{T>FB7+_gPci>%RoR)8e4+KGIE%cbs;VS{3y?5WaPa?bY}s2wkR>3}i5kk75$vqQ zd;bQ2)WD&Wg70-c5Hw4CshY4XbMqgNl6ZI!_6mgt2091Yvsh-fwE?p2>My#JVQiJ9 zl(?At`N50j?!RIXmfMOx03B{OzPJ2 z@hvNDN2gRv4)j4w_A(WlgN(Wk>WvSYfV+?ozfbK)RpNLmAOi*}uN#b>#F}lFSY9lG zK>zi}$c z5W1E){$gSJi%i+ljT7blk2~K{g);t`9#QZ81WZu#SOAdJlACstF#oR z9a~Cd3E5e5>e-fnx544800Je6?lY@O7y6D zax_>f3W|sXtcEqKfb(2)9vp@LpG8W>^~_4|gSLETdx6KvY#BI`CX}5WHaA{viAnv+ zh)zDhxm;7RcljVmv3oV(@xa;H`OWLZO`E@GOyy0f(c<_tQ6OGEK3*-BhK2Dde%`+e zZ1Mr?pXT0n^{+wPl<8ttjT>Jb%EagQkD5n2b}4=W!gW_coc=M&+Ls5bp&Q!#>q63*~cOkzDj!A9Y0y$HDCAG>9S%bICu%AlcX} z77cA?IVmvo_up8|c!*;vqdW>dV<*Y}!_s%|BEys&@09fzVBkG}wG5zACr(t)m2tt- zZSC|$a#g%N4`#YZUhSILvHW3r70L-N7~9%fUH$WiLiqZh6Wqg{4@24s{ z(^e-6sHmt&kO8J6lFOtv;QpJKA&Jglpyty)+Z5Jdi2{6PbE64}lYxVCWv3I5d)i0Y z`*;_|1$6HU3;R4wV9mNR(wX;3TQeahsl?b3A1KGES?!KM);I&JCbpp^{G zFDim9QQ~NlM)UETEi7P}Dw|s0eDGKDHp7-m!YV8Z8^822hHEJh8hOvx0~t|krKHA5 zLv$!|XWzTPr*Xx?F+&wXJlLH4(qc!|(RBG504E9$XAQpNj)$&d=mwe}<};OS&n>^Y z-DEUm^>uJ*DKo3Nno4@wyvl(;QMV%(A}PU?Wz=D;?W-yBmGML^(Qz8A=ecG@X^n4p z`vZU7tg22swP{nn2yAPkMkuM4JUb2j?PXQroVADU9ylaZufYr=B}4n9p>7DAgf+$H zFQ;KzM9+r;d%@X2qXrIgjx+*vNf#rr+zkrRH}X+$@Wg3?EH>xI4R!rP1CT{O!tAE!@LZv1}qarS2SkKwjRT1yW>l{%M{}Vr9 zG6mnzmybdFl%T6bC>mcP;WC2xL=Ir+K%CXLRpUFq*`+`97x+I=i>bhVxGPD7t2R(J zao$6y=%QlEf8y*qfRSV92R-TKlbDD?c{J6xV=bC%nt#lN1Q;j0Y0AlMkL(;O;4g?s zxWkSLQBz*D_EgYXG$nvSrPYBc*+9-T@0aQfqX-8;`}k%inf(a#k>r^r?4xjRcNRC{ z!D%T8!N9IVmK4Zo*sp*SkI5l+-qzmAZH_&S*^e+*19y6z5lZd&P#3(UxrJ@JlrPgb zBMxiziLytVNrp*^OtIrODbo@v{h2ihh>^%`43igHlMZaE?v~UzbZpB`ydM(bm>nt&x2w;UM zgmI0qriiFQV2P6{%b)_5OEl9WeAI#;d%$BaR4o8tk*6=E(`gUddamA?aL>s@pqcFP z)wRh=a3nB8+wc+={B@-pJX=7pBA@%`(Cg?CqP zV^`KfhLD;zwA{}|N0-_%w*)VcU-z?rQ5&qbg# ziH|{u@r!`=+qMM`Y-}!m&K2JZgw$(G0>sox4Fo0lj?~1l8VW>~9)GJz$#5yE*+T79H%uQr zNZ0f8$JCcqOPDtmYwbqFJ!zgi(&f9p9u*OObenY@+H4mK1&n-w;4&PZyx@(~ska>> z?=s{-ov&=z4YEEhd`MF$xV~N|Ai&0sqeYxF7MH>bnDpq&ET-oc);)gaUnJCgL#zEr z?1J8iY8YbD`F7>iN3aZ23WApQ;Q_c)C@$9!K@Qx~!2-Zt-6-vm+@&fC1m5MSm^?`EE-=^#w zZA8%`V~rN}X`d%AnKWA{`H~*y;(P=ib}4?B4Z+{s!u7( zMLf))k1>z@wXL1sew86dN)nwBZkWD)W>!{KU4Jcr*;}}AOdI%ZSX#H@$mM+Mt8EZ< zm)|eSpD!uCp?G{zvY;{lLLFW`>)>TK#MxMEASMo&p#Ymv!&t@8QLfUT+4xr17oUzW zp;dxnOMm}PU;XAG6QF!|x@Qv6^DH!WqgDcGvuR8;s96;OBjDy^rtfvd`h1k~1p>Nh zbwv4Zo~N+7L?aZUfX9*|@|Il8uU5m>dAX&*5GRa*F))}~YwJUgC$&em(u?jv`NMV= zzzxO#hD4buCwc~jKnH*=W4^iDXkFKhdvWn^1VO9zmC7n+B3atmZ6Y8S&kpl`B_2YW zURO>PI;!(PnJ&N!?pNnNvVHo_gtEkoJoLRR&+8tafB9o$sj1d^?8NJ?P?DZ>O|J9Y zQGe)BpEbEvdLUeRw&it z_dowpv3=Il6Z0<4_B4kPhU6>Oysn81NU_hR!f&vqg-C+ZzmWuQ+Z%%(#tJ)bu$RlE zQUjN({}}q?KtUF>)qpPW;srS)At`CKBN*_e26U+XV&ga%Df~A1PJWpYl^TJ8tp3}| zNPztCNMN|QSjVIs*f1AQS?Bopo2TwB+es3Xf3)oeR#vvGiBVSerChE_#MDBQ)Xoi! zu)a=o&Nt7@waz3U$Q2L^+9xrOz`eRM4>xjhP(g zAiyd2&rk8WM8keW!Ft6g?|k;xZ6MeMU6W2jXHz3{cnZd9t}j=q$O-ksKID4}3TIRN zp%ipk>HLH;$%!)Zay9=27_H0I;vG4^vT}5vgMm8MXNcsAct_fsQQ3vAMgan6<7E zeRR72Uwe$+ga-wvg5x7sgIGN_Xj!zk-uFJ0OC_NQE8o?>-?5;=oE&xVJCmQW2nSg5 zKN1q1h95wZ6146xb%jQqg^eulW>nE`?2p`VWAwjLYM|Lr>=Y|b87%VX^PP2^Xh*+U z-;m?y*x#n6&Su?Ldu!+RPS1ss?71K;xHFW(Bj(V7?T-^N{dg>d`uZZ38n!kAn<68e zQ8Ef#z-H9tlE1vsGEiv#$qCgLX*e7*UaJwQ>BnrN7KjlFmZ1rirm4~`O_n?U>(S1Q zlFxz!b|nWnv}lF=(q$ur3~jSxQcrAjMfFX5OI<`Y1#TpFdbSjH6JTEkXn%Ax^0|!i zVAnfvzU_-oR7y&MaWEX5x%y&dC7;}aMyEQ2KJ2fE0(~TxjJo!Sy@T|Cr#Tmp@#GxZ zgsHGKtOO|DX~=8i4Q+xy{nElf2H(8+2@365brJlH_HzSw=uNV?ja;~e+{)QAikfqq zy?`Ga=hpI>owjlRqAM@&N`vV|Beqn9qVWw2DU{HibD3AK-*YsWeg@2aA{+?Ah+^0y zTs@~8*nu;TgA921JhHWRSGp96$`9(Ml{BZ_--&g2dlgx*QI_y#EHrX~>m7FXdmCF? z)Dpf2v}-|s=x!J+We2=$C<=v`=}G>l_w}nJr{~j_k`vn1I( z1;l+OK=>&Dw*MJgTQw82>d=J!YW}6GF3kmAbJgQWX>R6a&vJAml9BxNlZrFOAywEG zljZd~v2)Lh<>l&4SQ%)huB^pi+TRaLY67c=mzh1yF-v12o4vR92u=dkBYyUq;YIZm zL{izq#}nxMt8Nv zABWPZTwH^pq@-9q^#YFLwF)v5B!wOhzdf~6;?ZBJD00lU0#?HLdQVUJ@n+BPe5Pg& zaKQk5R+;6Grh>`aRsHIuUQaVLYH}3@W=Dq&iw~2<3^HT7*QT3}WA*>uniFS#L=&u< zbM(p=WJDiS7XmM@J zpUG_dGo%qL)em32ZP`CX$eawZ(&F`iBdC9(>!%{xO*jCxcBF^81jRWM$c+K9CQqso zu!9LqgaO`k6XCI}@P8-ibr>V<)|BOBXHP~ED{aQrpP%e(>~3|TL6LvfkZcJR65<`M z2K-+EdBU}EniONh59i@86tc2L#NT|xe5*vK#YegAmgIia*0;C%m#2<&O$di%Pl!4{ z;d*S`WJo}!W8T&CI~DIz)Lv?E!;ABZ~^QOubkC zq5kKpIec#nrl$LzFFEnz#nO4P1$U0vQ@{Z)&DnO&_MJh4v0EgQu~$a%>+phXA-s`N zJ){3C=DdQM>fSXD>Zg>CB27Sw6hRb_&;&%#(3C2@i-3SMkx)blMF=2O6zL^m3>Xv; zLXjHj?N1^gptOW0BE5$aa#lQ7XXc#i^Zq82-0aD2v)9_sdY<=wm_!eZ9d`aA!{p?< zA46?Q)(c*pM`ek!@=4I?&hz&6U7Zh9IW`*8xQY0xf2+qZ2`@feM%&jYD$T=yRx7Ux zfrP1UV&^rvbCrMGvt%4$p4)J-5ak_kjMbSHKqbx#q?>ep( zXYXKd@0pjz1A8e{r?wX@8TTx4L^jxotOW~n-ZS!RWX77%$rX9h1OXI-4ocGaM@>ma z-|*s@sqc1n44!_tO?^aJ16~f?wC<-7Do+LC*t?{71SOHkk84P8%Zr*XD=u7kz>7e% zp*hg#*I+cm7$S{)JYR`-JsoWr8yoa&d!g%?X~1!H<)Hfy_7pu`83uUI#1gc$fch{* zOnk{*>r)sAH0@&0#>zL5S^5vG~f3y^g9S>goa*r)uZGs&X084Q@qBAJdEhVEGPK#Pw=uekKvx6MRbF6#b@*sDuX z@Q%i%i#tpA$;iYGjP-`G-%52$61!?NmCeh37y#LSX^kB&V8lb9LT?M7WFCk7G3se( zi5X7)kJ;{lr0X+IcAX^b&n-N2j6S+kSAz*v1;UXT88ymxy!^^lQ2|<9kg^yVV@isG zs%X0n7*sY?Ue0f#t&EIb#u4LroOcSN0Acq=>CErw)2!JZfctqD8crE(;3XA*VecS5it3rJEzn;L?d7_4IGd)`qNN4# ze9&if;VI#i_4x{11^&!UOY3`on4m(-JrC;Zzt~AbS5}gOf}|3pt#@1(&eWzxMc%c1 zB^ZhId#&CflKmbWfuGIT5Xv(>q0D~n|-Wnol? zTaf%VYpu=SAYEo2c#a)Kh z+uD{QT!;}X%W7$ckLHWje)rmH*sSdq7b?USTCJZq`G8(Z?FD0#_Z%?S@VtiIbRgFP1 zmpAcU(V`kOwqo7QXrjXmsC~mRWf6G<=*{jdX|eWUFCB|5TQvpK1_26a*gmvBh1#{;|0e9+bkO607+F=MiqW?BMg!Hat%OQT62QXphnM zjV~t~J^W2__@J5!?4o@Px4LWP9J{+W9^Cxk38WhM>(C9q)-*;CNkJ6((KQQ*JwaBk_$oY?TXP_gORv{jL`@y7|ZD*EW*pq{USa!N?qX@3aO0t>sHE`xzT}h{Y zsI3qm|8lw#lY_OTjAl=kmPEZR0nJP{prXmls<^S7PsKvsq3PfCtG@AW{^z#rTI)z@ zqIP|Qk`cS2ud_wo?n^K}lWMPw8RD5h4zwC~v6eX^1^Msl{UK#v)%|jG+jd}$xky5d z5rgY3($j*jAKB#;Ypx`2^jOzuk+>H^ZC{1>RF+=g6v&>7fczV8fZC_nm{W9-7Z^?; z4Aa;d!jKTc^`{fpM?*qtYEc%WIs(^lYx)FQrZaheJjK2hDYI=juagy zX9oIG43zza3kGplgAnAhz&30cv7`;POzT-)wee|-jk*3op~V+9esL96z@Wi7*m!8& zY>ejuS7c*>E|R*IAsHaKo&TYWgL3ucXZbgu=DT_~+Y!E!X~4M9MqptRQ&f4FlhT$p z%EQ`R`~Wm0;2kZx>5iJ8KRy7VMsFtZjbqMwz$nxVPX6BeJ=iZ z_SddM*8L`N2`f}c1s~CoTksy)t1)|2X3o$ub9nDO|L)3_Oz$P}v%T(+g1qH5wy4=I zkl~Aw@%ojVBnkJo!z-oaEOpmbWP=Er%e%Xga>#O~i=hRVR*A?y9nqw^ReeTsz&J2# zNPCSi9Nt_mvl|bl!?0?-8M}z4 z?k6|H=PM51Pz_X~84v1Algq8Hb;dK8J293Ww`t-7gWF2&-RjUC{tl!5 z(!i>lxVM=So$8w_fiC*_@_Uvt)c9K5#A!J17L;hU-I4`x(S0=6%? z#<9-BcukCqoDdz+?ybWT;3Tp0LcNn z++^)b95i(qk6&HI8$0^>d{>;N$~uZPHMv^UeZDeYEs|kdn{9GJ#`4odME7wY>G((? zUQeD_Hc{QuPr31hm+$T8z_q4EFrj4>eA@zB3eD3rtu3_ny+OuKAEr}AlDCEDK7KPF zZm-9hyUjm#guWYyzj0hl+-IYVisOPS=4;Wd6;~xR1gQGrPBAfV&v+mYqhDs*bNF&itK?=NTpQVOT0W6pJUnPWT(dKNet zWlwT|zl|OE@A^qAzGs)WEq+VQPkktvI8XH*x2!;3bgIDpAWO}w<7@?=r}n{Rige^U zv-ZyH+EaG+GdZcLPv3r7Y4j+XYEyn;jqPSHI98fi%;Pn`3MHZU0u=l11&5atw)3M z!BFj5uwl1!*=wHkj*Gz!o08TK`>DSgewv;*)Ek8TiP95M4|(jxG`q18^PMe1!`j23 zSjJ!o=oR{6XOqH&T{ZOW$>dz8m3nq}`TfSC8yoH95UsYUrg@k=rX=<(NE?8v_UF)j zlsLgtmu#@77py~LTueBzhWU(E`HaY6`K;KlN1M*rcqJybOxd$%>*@1u{tGS0eC9RQ zwcPia7WBMSt-%fNv_tMc3>|8>zJgp9?4>Y{Uzqx86>_}@-J&XSQdJY?HZ8Pvr5u4W z*IC=4<{UlWCn^Xh2%zjKRP@A)nugRHs*ffqUNpZ+35ozQ3`$Lu2-DMMp~-|I3=8&&fFt)6zl@ z4h~NC+xYouMPE=CcoifRCIW6KbnQwcK8C0f&a7g)kNm#<2TCh z@Ic&lDvg8BG`8Ir`v-FuIky=Pv@2{bb0?xeEe1-Y8GB$6b1=GxIlfEvCGtf}QD8=L zmq`Ro6a18wTD&Jn?Ch=eFiV{m>_m@$ zTVdJkrqb!WLqUBU9bnP2ZQ9~8e{zQl1X$=TxeZ&m4E=2cc;a@fnk@Z>Kj3*wJdjvjjBI`Bj1H1_s5)MjfSkF=i8EV%*Q6l$@gBp zZ#6B?ohq8pesqHA$my#c=2vwiIZS-+^796}nRyz$ALL7tde_p3k~kA`)w<{O(A56% zKU4d_ZDJ#BY;0^~MEii^X4;1r-nXsswVhb(UkIp!7f>C8J`x-r`aiNLwjmRTu?)^h z5NIVB96o_?&(gH#H$~8Q!$0$J{$s&15>r`s=-iD>p}%%QwRt`o-(%|Uj(Sm97nJdL z97n1dr@l2U{3Wpou+cyReaF)*=ZyjEj%F#{_?d5tYJ1s74 zHXSJVw}6`&)GYEeFk91)de3`4l=OIxXH{WQ{}m7E`=|aU*xwU4wh#8*>8<@F_s0sw zAJ!vj1RAPI2yzldnzi6@KV)kXSAH|7MWuXm8UzTb!sfbPi8;K=H-}`MmS-92QO!q$ z@FP64!V5ULZyaw$imm0zS3sk)Brcjp-grZNzw2axUj|=rtPGds8Y=%d<2B zg(vm)D(IEJp8k=)Y#b~({#E%i%gqxUsgY;YNiDAHyy~adBA}?*Lv>;v)VZx@`V$%|6Lg`Xh*#JXFKh z5iD(84Aij+eBd1DrsfKB17CFVau7usIfx8I!2$wNQ&LrvQ@SDtQInGkVQxqMj}3hN b9(cMx{l7P0w1SI)4e0LZ7;Be7???R?q6bYd literal 0 HcmV?d00001 diff --git a/sources/esviji/favicons/browserconfig.xml b/sources/esviji/favicons/browserconfig.xml new file mode 100644 index 0000000..3f5bb74 --- /dev/null +++ b/sources/esviji/favicons/browserconfig.xml @@ -0,0 +1,12 @@ + + + + + + + + + #888888 + + + diff --git a/sources/esviji/favicons/favicon-160x160.png b/sources/esviji/favicons/favicon-160x160.png new file mode 100644 index 0000000000000000000000000000000000000000..fa9f3b9e765b313eaad91420daf510e564d33e2e GIT binary patch literal 24425 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 literal 0 HcmV?d00001 diff --git a/sources/esviji/favicons/favicon-196x196.png b/sources/esviji/favicons/favicon-196x196.png new file mode 100644 index 0000000000000000000000000000000000000000..91020f001ec0a3358436f6cbb22051083c231f70 GIT binary patch literal 30574 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 Ml~k0d5Hkw+9~p$px&QzG literal 0 HcmV?d00001 diff --git a/sources/esviji/favicons/favicon-32x32.png b/sources/esviji/favicons/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..510e067949ae68e56418d06638bf8cd6c2050df3 GIT binary patch literal 2898 zcmV-Y3$65tP)$A2^PUe5iT zJ$qm8dfoLpzNEPj(p+i>C6F|LQi>uarE*$R(KH|=s6;=tYWV;N1;m$1DJm37X-EU4 zQ58gJL<&N7vW>Bw#E#eN*lX|A>-E`l&Yt^uFEhi3vvwTUQh24m-pjo6%zvKe`Oh;W z_tTDe4q~)WrC-ylVQ*^t=v!d7E zVy%ZCCP-9b;@OU9zb2%3#aI5h#e6bnrApi7rh=Y{P z4?k_a!BPSb3E7-v_x4U$RRr-5DR;h&ryBOxzK7#|?OzE$_bZ53 zj(^!EbI+n2Z_6p$yZNzCminetIJzq5o)|@^9k9?HP0*Z3LcGkq?+x+G$xo4T(pW5g z6d81e1#P?i&53hg?~Wv6k{{T#uDn%%JAB|ff41?@2d&~$Pa{vB?>E{0zryv$!Cs4x z@lq<5TGZ}Zr#+qoZF|iYY(inB;<35g8FRN`Fl>bbM>_ZRG5QQntQ9}2n@5+TOg zpSksA>#K&e%E3Bb4k-t2mL#2AAKgOYdR}aegwFXSy(~92S}X}Cg(;+ZAGC$oKy0s) zC|XArtRs;k4iQ1Sf-#FXBaquzBeUMRE?qxJUvHyLqg&?2Mgi1<3Tn9u&G5sB3>dpA z0$mcJLF&*lkV(|CwbdWEK~p0XSCOhLF>&q)6K_=THUdxrB%lQTl`dm%mN^r=OC>5J zkq89ZXiD7@$Gb=AJGM@Gz6sWBdCA~Zx;C}e`Tnp?mrN9(4sJ8N`S2pgUOoJq-sSTT zdL|?vRVb{SWXGw0BVS)3xv9x5w$N5W;8L8cv+Lj2C@zIGMUyqXhKOQxx5h&E0yE*y zxWp1(Ta#aCVh&cHCXYEgUgcryg z&1GC(k=r;SidY13XBxeH08{HHu5A!^4+Ccq2>RO>*;AioOba%IVKeD)CFx@X#NiO} z+9xr=2)ffEsGlH?EX%vf#@W7e_E7RNbz*KbiD z-c9V~2r`3Iho(`TdZE8lT55*To6;ZJnJvinqmPU)l1S)lGQ+|^uFJzaHdxbay#AZ5aa`bZ)v<59T#G*>{7~1jHe+mE^5NTZ{g%LdjVHiCmAcG1qmq1a68hYG2#R zDd|bQyV?=`m5zT?0;QTlHLD+%nl;ecMAp~YurV68NLaMB7;7nGuk9)6&mX~UZ(frpK?kR@LjUq{j(C#G)`GRz zt^206{I~CrSvyIhc4>=r&x0~-GqiXV)oFMdF{$pk=bp!E_1XjHH+|OY2~yJ1j(yHt z&hx$5oxD>kl5UkqS67LZ1Ex#n;t96T{)E2r1{!im zpTD1+lLsIJ6!j=?1v7}``yASHfr&y33y3`I?c2bgo8;}*cB_=ylnLKk5~*ysGW}3* zaI3GOUEI#nt^+LZFZKoxH8etqEn(i_%Exm|I@4rS7H#8e@TJeR+Qt5XO-6GqLJg7b zb@v?217qtHd>cx~U39X(H>dIgm2PHW^yf<+GzLb|!|C2jprIRsHedzORy8zMW3KBf zuw-SDv7{z8V6HPO1Z2FBfwZWEPV%fA>C0Rwq!P2qsKw8hJV@57BsROfrZDbJMO)AY z)d=W>O^h`?64#*_cUbQTwAre}ThIoYv5)jKXH>d4FOQyIX^bT0YdcFP5n-n%Gb9Lw z+o~{eZia1dRZy*X%R*0Tsu@$5t+5o$(~4VIYcbYfttHeU^YJ`0r3~e!2e#)0Yat8; z?`@9Jb^2awExyxGPdxrO*>t+1u3Y?dd-Xyga8n2qlDjg`^r;^+P?{sX5#dz=0v#hZ z0}`bUBmcWe@nVM-P3pRVYg~jiZ0b5^!dX^Xpc1-VZYD^I2x%o7Esy_M8Ro3nvzQ+k z{zf8|-f)yseC3b6I`_xl{O0qc)w!=%3QO353~94TI=X_efU(?hJjH{@Mrg+&-Jrqc zV1c@@7{K`F=^J>Pv81LPNG_Js=yq?9cyV(C*}R)kH$x*1S$3-AKbCv`JAeJ$+%v!T z41ym##NM&{sE3WuR}13r+F9XVjeqt+i(6kK+uq%Ul81hYa;ui9 zk9yBWX*GSV8UkU_M+NZMgG{~5JV#L#PK~K(y=6raDP=~m}CGY2YQZo^Y(F!LvGPHx<*8iH+BEh@mJeQoB z@jXAD?%Ty+Y8ZjQT5ENre{}xT;-xT*Q0Apm$orQN&F~$Rj1giSizU+M@(uptP<7Xd zFwxo33R^ih@`Tl})LP_Rc$PK0%tqkS>^fvs1Qr@$lGF7`yR7!Epf>Y#%!E#0N{Cdf{`3P%Ax@9>bM+g7}Jk<9O-JlP`*+?;YP& z*{FObEJu$vtF67Wi>HgL8`m0000bbVXQnWMOn=I&E)c wX=Zro0kY!nU*!la;-QIos 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 V9y`DIPi%~n%^x_fm-%GA{~NUH!&v|T literal 0 HcmV?d00001 diff --git a/sources/esviji/favicons/firefoxos-icon-128.png b/sources/esviji/favicons/firefoxos-icon-128.png new file mode 100644 index 0000000000000000000000000000000000000000..7c2c4145010e07d8935f63ad18361f5cad24721f GIT binary patch literal 20161 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 AhyVZp literal 0 HcmV?d00001 diff --git a/sources/esviji/favicons/firefoxos-icon-512.png b/sources/esviji/favicons/firefoxos-icon-512.png new file mode 100644 index 0000000000000000000000000000000000000000..d9a7da3b3efee1f9588a8d5576917de99d743ffc GIT binary patch literal 127040 zcmZ5{Rb15H^Y>?Wfu*~xzH8pFEz;1-lIt9&>6M7b0i5HHPN#W)~;kv{^Vwmc|;ksW#*l^c1 zahou4U#?lb67mjNXX#mTbC#z`(45QmI=ScyqYNJ62|%=}#H@>@Fe_txy~TqwE8_yn ziJL(D|3@TcflREdtlpxuxGt7{I>^7LmqV_XMTQ}FhWR&OhYpZR5 zPsO$Dzj9DE`4(Tt+Ms2jOSo2_@IG;vlKIb5YdQrsN=899AZ@0r{?>r{#{)SJb&IgY zDNbF$0hNF*r{Cxom)u-LnTTU&(QxBcK255yghARk{h}cmO#c&*d^ayU zz**>$cn;GU#`x_W@j4bP2!-pFeHiHMeY@9#J?oNnzPsu^s5^+=avm6#kS-34RzJ8) z#46%#*GAPRL4Pb}o07Thp8X*kqXw+*LIN`jCSyMNo%%n#8v4t$J(V4Z{mKd#fWleU zr60AW`dPn+SJ1q!B($@{x2TJ-wuu>~25^CjvYWGqTJo2-n=W3=kIH}fzlX~pk#KQ< z8qoHiIH%$#cJH(^W>vyLX}GE``(+_(2R=cl!`X} zpD(A4b!0>N!f~>EPd((J-QpsAyEnXiQ20Wp^paDrf#3C7#V}g8b(?~L#XlFdb_4|l z-Q)K#3xp#D@d5;reX%Y0`puV`(Epvgwjp{xjmi+?bDY#Ihjul8d_UnL(?8Q#9^0Q< z@O#9r{Znc}+a+q_Tmm{u?Yajk8snzEWoeX-vDRu9P z{m2;h-u;!8?0hTXZh5(zKcQkeaeC!@Y7RTO1I^G-ag21wFPWb@Owrv4!5md@BJ6;oHj67aYM3Rabfl-w~OI`@?TlgqGYD+`vdJ8D$(2LL-ykiaTdLsZS{%P!3&!JM4RoxlWXMfhmzQcjxw9E z-hmz>|Cm9qRa4b~Mr*u@4Vvn!B2WJKPjD6ZDbpkA5E-rbJM6d^VtK-XzPtuZ07`DdOLo1hxS$rIMm4}YBlH#BLD4!ie2U=e0(+vHb z^X7k0H-CSxHtXY}) zKEeFvsTHX^5%y;6zthsvV#ymKgC-0p_wZa4BE#Iw6awQ^F0=93e8%4pib`d(N_-qA zcDUY()V8EG&7$Ov{#uZPE|I{iPcuw%^kI}VTgN(_imW)?prrL+^=8c`l^ig|CncfZ zEM|SU4M$0!&0!blsqfn)=wCnkTi>rGpBiBuR!MY#=0GMXj~o6wDA`OFG7frgX1T+iS%pA^uZwO|FL&7o3mzQ%oVjv?`Ag zb=-pGbLZ3i?WC+V{If-Lf{oTWg4bJ*vtk)H$#1ifKU^@Mj!_Q6+@tLgFJC+^h{Zq9 z4Md5bP-F^fG#VsyT#PR$$2B3c(k-}@{dZr}>X7}5O%yoq65us(OQ zGaE19e3C4!J7g3A)a53l@G8@YaYrlg5~*XD^Vf!(x;$O|Y3?KylkZt0+xFc~_5b6k zz30@ThPZYOOH@HL5?J!CzV^U^?4ABARw=%~>;!g1tJ z-%1>7WJiIanQqt1HL@YS7Ust@Cf2As`g@WP(Qxj3-UxY!#x%kGGl<0Oq|3F=dd;Pd zZ8I$*C=|cqhp{jFX7fDNJJxHQ%2FaI6gnF&o&UOjQO=-$onb`b@2Rbs>b$q@dmH7K zYbyKZI@$QUq7v0wld4`8gFp5z9Ou(M4bLY()w%H99JF-Yem{(wE-BxC$Zwk9pA?@Z zQzp(chFInxg|D|C+3q*)jwgzoaP(6$yzCW6j}%R?(BVj@1AZ&V1DOSdrYG;w!-#Id zoA*uW#%EA-xiK$~SMAY59|&(>D(|yR5i)nHxElLW(gz!>=J{te9e2hY4WNZD!FA)tV>KzeK!w&c@Po2ft30p9Jlqm!bFLd zf~+phmsUmwC9uVF4I?G%lhEi;37#*w{z}a(Ot=ENkg5!>VLD$SgfPc0hCi2jvtOnW z`T~UD%fq(|U}kK3#%r7xgI*kcQ4C@IDRR7W?p!3OrbMp}hjiH${RkidB;e^etH#To zmkv6`9_{{Sk4om|0|T>R=R77>$e0B(WvQhHGd#M;xzQ!oA zTmDP?&Z}fqABJR>k1=j;TUiHhj>RO|HOs~60qg>e#aqXlZB@074x1xd^X>>)_-@1~ zMq&dQp>0T?+;lOj$(^`qrJol0L_24+@Clarih}9KW^6wTvkhKQ!})THN{{XX=-5|- zykZ>795u)Hnv9vtPFV@C;I0itSuC=CrVx6V+>*r1@!22X*TA(g6%1f}-p)Nz`5o9r z#93{e&Klg#d<@!GmYkq`QC>(+9<$J+YufgXK3ZoGV}pz+^lY2iv<)XKmn+(<7=2^q z(-|xxGa!Ek1x4qvYOg)*F(T! zMxqqxr1X>72ab+VTy#Yi$vh#3^9cF6 z_sy}s&Q7){R>mgi5_0%i4z_-i3Y9#y+Ch0fgAqPqc(^T%ss|9 z>0kV?BRZ;_;nbFN!Sj5AjJXF9G-aO#y;1(XE6+R9f!-#fe$BrhHH{}e4sm*CEG7AY z+E2A{O2N*4p9=*Uuu|SYc2CUOcf;lEfrAdG%LAI(7XDO>Y;I{u zN(T`=thapJ2fN1a&P=L##UUROJf*pxzUDDKxu1TX1;!kTLYpG?LV?Qea3 zERx0G#*1dW8;JWcq;2D6K07r%BOktUkZC&S$bmH{aL4bra)U`IDdyva`+mN1je&}E8c$;BVkQjgsDb;UQa5ac#Z z=uDTxU(;&eHx+89MgQu31mv$XJNAzbCnU}9duL}@j4npdJ3h1E@S8D(H5~?+f1U2N zT0weaP8?g~v4E)f^%vnigBYey#yyozm>ZFPSVFDPw<_z!9q0mqHA>`kq*}6Erg<_p zPDlP%Og$`X5W`MQ=FcJDdEcpgD;R&eaaiI`x0d8p$(|nE*eAgUWC4(~^>(3S_5kmv z%9X>ARKDJnKBx3uvftQ#>?qyCO|aWk*fsrLRqkTMisG@D#vHI{JqL6+wa2ag-0<2y zOVLmbsv{-+Z2h4L$+M7%FUA>6_TO{S*r@-O*QPY(ivQvAEQ09Y9T-o6>i5Nj+2!+O z+T9g-Fary{=iyTcTH}Luzv*8KL3nL^QJqQ+?ZQjGt?zLwiZIGpDvCf{Zp@``jp;qF$_>7< z_5LYFZGe+lonYZW=p7j|`W3d0vdA{AyEFgn;@RD);Kp2wsbB;{9DnAJ-R7;RRr=v}TjCYP6fb^qYeN z&1k5w&W1W8$FtEFeA_e+O7{!Drg?vnh}qK0K76qqh7yF7lDu*X8rK@R-utj<{W8c1 za=4>plQx(c=%7yvySJdo^M*w7>bl?a&Z+r64~^YvgbLODlqH3XzUB_T-C$HWdA;&& zEZO`qy6uDCp)d&~i2jJ)1xePq zebd22ZBaA{hQr-zMY;s=--2}H(%DhasQFPbmm!1)&?9^zMb(78@G%|~c$`J9aE5p5 z9={jzno8i!8S;+P$+!||EB4=yIwAQUFoehTzhK2@T;!h;^z;X{Sed}eUjXAA6q4&kD|PFJqJF)f zj?tPsnu^b2_1G0LC3K6=F=kTasG`+p;x#R-_AF2yFi`u`OlK&;r&ET2WAq>-ZZ6?) z>elXS+SiCe?%-`^-1!@OARq>T*PQNM`wF!c!9!o@0aQJNiV??{yh2Y}VW>rmSAdxX zDt*@deA%1n)@$=JW&1V!?{rpmu-f;z2cHzVU7gBS72>QG_W^8@|_p9U%Ix4^)9%%Br^_Orfy-cs8pmwDhZmB*Dpd76_kVdv$ZF|*E6 z81Ad;pp5ySCUep?KXLPTGtR&k1bJyRf>xzm$iT&FW#fC;8~3<>2|bJgLmc+h&ep3S zMBT1}6t0S&^#xsX!*hxFp=?%mKlgHtHeSLU-gb4AzmG)2y37=PdS^u#FTBBQGQfkv z?Q_?f^Vwd+i&C;?ie`1o)hMjnjOX+RT{tpQ**rAsO5+WFRqR%}t$gxTpN5RWtAnrQ zb7Sk`a-7w+k4TA&f&l#WS;!yhQwbcI>;GQn9o%E{)3e-X&<9d1Ac-FzEqHFmZ!O=f z1|^WJ!ernCLSc)B6BxNs0N9JnnGARkS<<0l%RC9ghp~d5T3^^`785vPt#F?ATrdPw zD*+EG=zch($^OfyruKqtWjYVZwgHc*jw1$z z2xSTwpyxC~-TE~K`;BHcbIDTT_WhPLol8b()p-A0TWm@zm zV87;BZ~4pSm5AglbmiPU<~{7H^382UPEiNCXm*1|yk+b=Xwb%|PSIKGq~#qK4|H@m zDF;C7V!g6hWbwx|eoZ!pMdTdH&=aPPa!rP2~s}Vz2PZ}$M z#Bzb^p*3C)`Me_0GiB8kET>I8_JY?kNi-K5aDcucEj>{CZ|~gLA~L0JI%T30U-vA< z@)&{17yO<`Kx4-orG^-I%qp<#lJnDjc+9j*Fi}xi_STD}F<4yVgdH_yN6l95i&;5B zKmSD9uAPig%uJB&{DcMtbX(F=WSNf%t#PK7NfrKnzx{FyI|uLGur9Dt7clv|l_U#V zJMw2#?rH{nfKay$G14iCdYxE(j9$J)wZfxteaBUd+vh8_$3p71!(% zJ-=g@T0c5oMdu!yPL$qYl-sA2f-JJZ>0`BFk)%iRW$RT8z6sZ9y~qz^DZ(&+Bt^18 z-pXO&L9li)cM!!RRR!;Mdg1Lgv0@{pSNcoz(*u<3*6{^!UM$XJgjc@@>%bJ*Us4+z zoKk@btVTq#f8)|-b1o_hFiF^WfVHjInCrG_ZvLyH@ukF%?=R`t3_U7XZ2~G;tvIpZ z`bB`Vry%~VG->k-lPYO*!0fd)C36$>y^z#}L*|}AEUr7t)i=FB)sG(!OW>yj0Sp1O zTL@pDZ|K#vIwugj!Ea2YZ`O4(@UI4k<-+yps=)gvdoI8J>K%WT5{)o}3{6A^m2AXv z@#lSx0xCP$$hH&eKX4A={d_F#uok_5a1gSdQu{w=8MyGunV#&S3ewpDrPMBwaQKudYQtJQA{4k%$vrEhCd6JuYbo$)l=GoeMFiG?pWr$J z>7>mgxWxf6GisUdMj|q>u-f;GFFvSw2JN?_&llZ;Y=Vg95xEyZ{7W>n_`p~js+w-f zmwtDd*Fe^Ld%7~0(pol*go$clkk6s6S{H7Bk0U=YFYTVYpS5l9=>Mk9^ru)(t4R?i z51Qs_=~Fb>xI)W1M~y{o7pyxRAuEW?G~LGiCS~>}Mli&cXLjN~xgLVM8bmTTk1cn^ z^r&Mk^!Vwh!^hd2K9}QNvV{@Ez_9DZ6y+7(y>(xM(z!;Y66pla;>YA8)Vp3b9=Bb+ zZd$8#ormkIe*fueP%Z=#cYqo?)8a4(N}hpp(R|`?jh6x5 z@u}!#p1YFSC6j}fMLV`mQWY<_Mr%1HLAAKCp8Wp$rF0bh8-~;$WF<; zVdCBPbN8|_MU)mH1f2J?k)6}^E$t1K;C$TZ>O`9(=_KgR&2?*%Y};k{Y=;y;6W)^~ zfv)e6oS5EltbU$-LuKfdfQk0j5LjkfDXAuUTP;QxjtB$=`1N<>L}`s#dUI9@Q4=3( z612*j5U~9xd>N96R|mLPj@izZD7X-qj5n*tImENz`zOa$$dvTBGk8Gl%Dn4s~$)9(d3w( zxDx`yC%fj*tV+nf7rrV1{Bs0-eC2;~kL`|JA9%l+8%>}6FzGu%qzB%7X2-#L=sLs+ z>~ss8%bfWvqcAjg-uWo*pHF}Fgd0MIOyP2LFYdxrD(6>#AxG0vOs{VeWl=jpx_M#4 z*Ai)eN&3|0givanY53};$pDmq(cHHU`-_m}_aL!iyq75HE};DX)YCZV)jy+$GkU>u zKf^W*eR!0gDR!f@g=H@l-kfY$j2qgvy~hHr-duuVh&bV6sF7b#NJTg9Dw(}$seiH6VThEY4*ePP0)jarAsPJ81rnO9;pS&pI*Bqwr|OUD4mOI$IF*?_CM&^ zstUSI5kKX3zhc6755dt_n=1cKQLxfDrQ`;qsKEMgM&+~{YP zy^wt(%3+BKRiQ>Hu@HrUeL9VR60{{sdk z_?8``JIU+(O{69#|C=0f^t7eX7jnvnr&)~nw})`LB547CUACeBNHn^}01SXaA47R2Xpi~aV^r)T=WpJKR5x^m69q19Y1 z@>Ky_GH@FE;D>pyWW;YW#&_)@1{e)lx z(fW!S_NDgHlV=y7*v8JAhCW$uPGD&I8gZj#4L@gbeIS#$)lD{$^>X0^=HtnLGNG3RVqeTLL%xvJg2f9m`_!Fv|~zmycD- zq<5n0$c_(OLc_@MJR;y(H&vdKJ}d4mUpR;N@5If5S3CV>Ds)P*xR~gG>_`7|+9=3d ze{-(<^n*lw!CD-PVtN@8aW`aJ@p3iOFNr>MF?38)>iJTz>~d2LuV|$w+x#4Xu77tl zG%v422iL+&?rmmgqZJoq1TYK%+?M3X&{gr-$vuQ3L&G1b3?XgOpEVvgxp-3fhTpz z=0%00P{p%$Itw^yFvCu(!e}AgYl0B$LvYk&fl{@Tn8~9XYc1V=4zC@V5hdo6bn^$}J z)V#ZO7E8t}-p?kYvOsHC%)OX;(wl0BfV&1AYDZQYS1zk0eJ`5uZH`!%@(nw{5fMuL?`EUe&q0%GKW2z;GH1T^dQ z^4o7m&(vk{Rfb3`1+M;5g1hsW563!pw6LA98`B7r4yPd5jYC#VEMgDZ#;o>a1Cn9K zoUhD`879(5Wv0l{JXwJ!y71Dxna3nnm#@q#j}p1c5Znb|Q3&?+a8IghRrvuYVtGty z<;Y~wx>L)z7ao;OIdjqkV}$9yEflsCwM46=ZBS@teC#B&K)*Mu5E$;rpAmk$Hh_5! zNeZp;oFdSr`;+-cZ)7!}0G}iOu+qTc#h|E-2Cop- z9?Mr)@I8+ky%C8*mxV&Ebu;X?$aTP)!^D?!L&0?J%grV-?Ix2@WLc-mWGcupw6%-u z>s~*ho0=ykX42c0xZ9tGwT8bO-F6*+e$UM+8|Danl{Kn5p=8K^VOhmvx61f_RbTTF z_h}K>2V@&-@ZS8FJBL*F%Y>pTrn`__>5=^TBK`N~a)~NOrDTzcmZ+BgEp}{2Qgx21 z|BKEF&XKA(&b3LMooQ_}_uJU*reE_}TExV z?U`aF6%~)(UI53(_l=a@Ygj>cf?#y@vQPV?;Px&}OboWVf(b+2yOcdldIDz+&jjSV zXQ_XM*lct`V^>+ofy&-~#B>-~T85}$*nL-?MUJiyPgJ%;%cjV6hF;iN>kByn&0bTH zKN*g{_90fC-;9#E*84lH%#Ax$gL=Q3>Wo~E*!H-*v3~25IaE-2pkTX-wYVk}onu1z zknZg){R_U8xUwLB)`3iZrsV(jPE-dZmb79@zCLlA7wdo`G^DqMlL(|9TX>9W*$DW20op)X4y=+628Y5_FZM*>~cvr ze&%^upiR9w38f$`l-#CoCnFJDr@UMc=)`c0QkMMM0fmr?TG zoz`=#X$5E*q54G%#4h=#Tb%vv$(d3da4)nHPZZ_w$Q} z(0Q!R%YNLYdQ}iC`5C{xnqJIt(G#ZekiacuIAW?#&gf54(1vz6WhZ}-1lHTQ^2Zs+S z^sZn<{@@sTBK!)7YZmPi`qowTkXyG@+Q*Ea-0=rm%~qz5-&=LwiR`ds`d@#&*|c_@ z^_deFM|iECY*2SN$)2oE1mxUxaCrrcBmLcs7S2Ball_Abt(}$htLcTns1Rh0k+ZAZ z8_GxW9!W(}_@W(Df9J7d9s*R{Q=rIyR2YSLQ@t3R6i55OY;$ADOQIUu)oLFw^+fWz zot}!FJJ4H!nrAcUt&b)q?exjt4ztWk7BgWOrP$N_xWv|u-OrNN7I_YDRnwdAKsC$J z&n)S(0Az^x*jp{e7)rV!0Np8|J%xwGum918L@hUH&qv6i!JUU{$yZ>CaczG6F z|6h#=n4vm|s_eRO#RrPwf9sJ}hM&Ta(oOXMnBdCm6XlcMJ7yR6}|!=Y^uQ}VuE zG~!N1_*GAdp=-Vz@NwQ;!@}>+ow~g3bV;x5LwWlNm$4;;JMMMxq?fPf^K(3g4uh?FXLhKJlP?pcM3)XQa;rj+^wza|hOS>Nmaq zCM7Yi1T)K(5-qTN>xX+s2o%s?WLG~}^q^%@Z@+8f;|yb0V_txdwrTcczQ?tb zAMk#TBzv5?x^);a#Qh=#%aAdO%IlZb+-dsnZZpejiJ^M$A*hw0&u{U+ry=@p1qgfj?_A5!#POhZBE?0cxo=ULKlGr{FVyfE84C;{J|z`JtvWxxINR!5y=E$ z@J8!4IIPHcUi+^DyH-;{6H2Y92dmt_!bTsp8v5D(axLnJ|CSMeb;>Im!hQEywKy~8 z$V%WA@ypH<)Hl5cT_6aCZs#i|ST*?>gq{K)!kmt36QM)P+)15<`og<#^4D)df-07o z>(@U5(`Du;Zfrc_7H-zbl_lYnZt3*B6Il9p?)V`X!7Ys-yoXl$JdbaDEJUgW?B&$P z*?LE^d)d!Q2gVyop_Q)uQzRj_<{uz72N@70Nfcv5I@KqJZhqc{F)O)+FizRln)2P) z4?vz&hoH3w4Z)=0>EA`dPq88Z_OHRh-5ulW=S}ygQz@59ehr8fKrAz|aA+ zylP6)gToX2S88X(^YNMdHzq*k8TV5{I`Sj;n~K2yHWY)%OCD`ZZupqsy>21yvlC$F#;DVCcb>^H7clVF;L3bw{N( z$RUs$!&p3(;T`k!9CK7q`df)_rdr=(nt{6gbq286ftx5)86}RpP<5Fq83kx2-VtyS z+hs5-XILgVtf4a*K((wt3kDfWzK9~o$#=J$z-!k`9U1cXwOp_J0MOIQSLk3LckWlI z=w&WcrwjvqkEub_6nA+dvINeS&cfUL+L!CnYM(W81OWzp%{gMcA8s?_Tl<37_<61> zhMo&UEkI%KX;)HpeLNjAC_~0t*P`&VLLe;0_-q@`27?uJf_s?fx- z;}!hfx=@~+Hf#?69MAyU}a-(Zc30%jrA^b;v!hCorCs*Jgd!>?wY(n z^R^3eRG}dJ_9oZx!OI`XLvH)KO>B41wbc>$N}Wv4CW!roFJ4TPp4y@TiuOauY!3FR zdac!kC(1w<9w8urC|~-`Qjmus^rf1!z?1326I;!2^h+~b-Oo{-{H^3Q9JPnFpjV?L z;+iZYnnp2bA}FN;ZS64e$8g{kivMiBMSnBVJ8bxWLnjvby>py7fAg`(W}~3Lq2?g3 z4eA<<@;^!q_-e}8GE3M@Un3*(_;=Aw%Qh1|vdcvSO@Er>1;t}aH=g>L0k=O!avD@A zn$a06fl1y&vwD{W;9CN*bf4Kg@9hFjD97XeKU8{PKa0L9L4ysD`sHQ`rJg_l=#G0D zl_&)B@FYm*uDgo@ul

fpz&2(uyiF>GT(M3e6$CrHBkTW$Mhca7O-MLoT3Feeke5 z{KWDj*6wCq825VJ+ow}DN8_--lDJkrk3p$0n2781p{$b|_=C9s{SvRFdRJWW?0VA1 zD5K7XnIJa8k=XffFn#PViRKxNPJYvubd?XEn}j@!SxFFZ8j5&O*W8C3IZpYH_ZOIh!sv4XGJaaycq9I(Q;&1 z?T_fGXJ=rAjuuDPz~|OwXNe!|r%-d^(6JjsW_TE<{$|MX5Sd5^);cwXx23xQExCH( z^?V<{%p#q)N($bv;vAy_m(4#t#|k?%vY(7G#rW^y+V&9Q}g*;mSxX3?8lL&LKib%x1m3gAAlRBMCIdo-}E1nvv;(0<$Jxs6EJH=wK*Uhev#;dI!moJ#QY*xK;T%E0e>>>;hUh%8$^T_tf-l& z-hb@QKlK?ZeRVH5Zw#rze*{aKcvQ!4vpzxUQM~G(Zlj zS*w7oJ=oh4#xe2O+{SUFw!@}{S-mG}wIvIAZ{JN;p8$zayf>^p`Ot}hHjfT1qPYqJ z;Z>UoK+=;z6_S1wjtdgWBY@9+;89wP`eO;xJT>jyz7J9w_%|vrKL8yDIS&!H)!~c~ zRWQrNTWXHrq<8_I?5abm5nLFxvaldB3m=b521dJLsOyb3sYm1EQ)xH-#1|I_zCknq zR8gb>{j;Y3Ie;?$KdzgJtT2m@<~6wAF}JbVLGaX)PU*IfW=L8bz%i@I)cbnh+}NW5 zDece0npml3EPrRQ1<+Z}W8cRtN#+ZxT zWx5v!Ql-vt!YP$#Yp%4ahtid%KOJw>e5G!gJ0*q zzCu8=!|~TGVw2~TA7?AgH;<^iPZcPd;?X8{C~rD((A1YR!ZyQQYC5IZ{IDV9HcLU!!8F}A=5`i4%u?3bEf>9c6M27y&@S2L6{uGFI+znfm3 zQVbW}zmzu1pgPr+^-sC0Y~8b-|9HX#IRKZCvO5wCE?(3F{%pHaowCJWpr3+NeJ@?* zUcSHh!U9~KvXQ_Zt7sDYs{rt;0mrF5Y+Ji@_i^?zWd_vS*|G5D{hnJ6O9tV!Php$2WcV2%-cJ+aqvy zY2G1Nn#Mi0Mtr$|+vkRsfF`b0xA?_pvm<2HW!s4x7|>r+c-1j2BA4VZc*viQP!}rwkjz-!v z-wUa{X`(Kgz5pO>0czZ-8*}^Go;e8ytuOxP#78Rc`x1TNRkNG zAQtXJZ{V})I5Tis@iwgB7bf0XSbgNT4z~6y-Wg>6U%YFCE{D#lb|a>k5g10rrMS5h zO!`-MRSZXV2!%9{i=LD-HC6LVgGdKyM3Qgsb>x$AuJP}t*I@Wz3wP6{(cJ(`VrC2o zw&BFSYXf?3yk&OqfxXurMOja#%MaXZ2;Czi=R7reOCL3zhKmi0|BD)Q{oIclNNUr9 zzam-i?DKnSIq^k>c=D_(r~0dFe(C&n3lh1M6m>*aeL>i1gJzCLb zLdGJV111`541c{ceb&OSqHAS;kCYXt?w>;{sN^#0LarfwaxZ!_U-1NV#8!Ke4vD<_ zXu}K&OBmKs@Y@vEhhwDZn9+NdGou03*rx+S=2N3*$#X_gy<|yzWMK>2bZ$?^dUa6i zVm@sL>SZ z!HYE-aQYOdqj2{*8w9uKTuQ!(tj{Sr6Cna7sMf_b9}tsmP!kv!RN;Y}6(;~aB>}j7 zzxTnJ;g%^~jHvoFC|l}yc`+72<^cmBO008YzT;)&YFYat@}x##d4mpkNuZ0rMvH&e z^#g8qn{MlDV#1WeFVQ;Cj1@h(ia-{^EYJQq=W=wt3Q3c$O19S0# z+u!uX6zre4av;AC1Tsyg&)&lOIo&p>XD%>_@OltI$!Y|H&pkvS3}9KV12`{syV)0L zS#UNQApmODa!eO#<5{t5$~K}1h%jA@c(WxKP{hMOQ8#z4$gTPR+8|Uj)@Rrz@jwGU zTOc16OAFMWCQ!*q0YXkg{Ah+dyqRU9;o&6|8fC)|_%;2Aq28_x739sYWAqqZ^hMks zst_zN0YPoQB}hVFcxQ*Zr313I=bEa2jnc&lch5|35bp5g`%C&UOb?3T4)MU$6n#s- zgBB=C8y(m@X;9QOb{7Y=CR_Q#1nR;o;pNK9>v6C`0p}puctAD~6bl04v6=GlplQyCCSB-oXZ3&5=Y9rD~=I?fPY}1C1(sHzb`3{H< z!79pFcqWUQ+vV{$vRtvRz%I<>-3bfQDJF{fuhoRT*Sze|w5wD*B4BdzbIykTDFrU} zuZ-RN$ni+HCDHJ&hfZPE^tY`Gzt%-`yk^snziY=V9tv5tx=;NHVXCgDGC_&Q-SWKq z2T4smU%UL9_ZwkA>`c&(xv^w4NdjHv{PvPhUp{?hRg|aXG!q^ty|hZ4-2+i)*9U7rO9-%HN*mt=;Q1609YhT@ zldm*`MYb2JTsJNy6E4=@XCU?0E`9`ibkEDMvUY0xw>D(6L9B-=YkadU_MlSxVxv;JuaXlzh^lE1cTmAitxq+gNHg^NFn_VQ1t_SOG!NA1%@Bw?)sz z@>Sd}{uMNo@S!Mh;f)C_X$j`bP+A8a!hvkNc$Yyc5+VpRCpI%jw0tp(Ql!rWJ5@DpS2xlAIM(v?sg*&XBR$!igJJLIH*c_CJVb0v zg+%C;Wsdh2g7{8OD){v56#Z=%sDTr(dV!i(Fok|fqY*cZ5wpKJYH z#1c=^UEv!MP&!iMrCslWM&ERIpO?uuy-$c%Z;WQsUPC8%4FXO4hco>Ni%@m`85pR0 zszr@<7J2DpbXg4h_Z3d|TSS+>N`v%HQK>~RnTL;!kLffLRy4Qa+&AG#5e>jo7P z5V*o8m2V-~0PdF1LHB>f15fA|bAv`;pBuTBJcmTEc&R?^)4->o6dC?$@qE5S6rhE< z4hlf4LBQ7<5P+A6u6fO%z4_5njt6C+4vXzE>x0`|coi3)k(ea9V;5z8#e zwf=1hl$!yQx^?Z=Z$P{YPw$|BcZMKfHlsQLI`*e=~2*>EnTe z4D;n5)&PtGKk2HfqqBh#e6hFfI`bBjO!S<1lpgU8+ew3MEYwSTuDsOk?9qm8*Fl1I&T*`A_!BP)>=6>jpKCW|UzF{iv_B7~Ubwl7%dRpIT zkTc)DRb^`;j9x&JPyX?^d0ax z#0L}`o&df{q5x|)gf~sQ;U~jsd_AtD`O=B{2E7E6n1-qpQ)*U5YR&#Jb;U z!|+JIIRK-B+dh`9R9cN*q_zOr6Q;CZn*mi;Z$a4o)l|X*I8!QiO2^4-U>c3^UmIC-9RrX7xw_Ez!mF*p zl8_Zl4N?LlLyi_;ui`U64X|jwHh~Hp>_w&?0?6M%&=`weQ$J1zX?)nBe^& zc|s-LKf6tU4k^|s>Q(wFx-+x}J4d;U&g9V5mmX+-r z1hk10`$r(KFqn^;BNvV&v(NW3OEwrTkkS%RyJ$00J?~j;MAN5Jiv{!6C*X~pk>B;? z!(;Lh4%>H>h4ApvS2H9=ofke-GGMSs0y1xXfiwq6fVS`ESnLFN7fUgsmHm>=YWPqz z)CLzL+ER!8eM&0;5QTo;%-{>g9WD2*t_uZ0T$en$x4l%^5I=7JykJAH2IC}_JF`iQ zplo?}LH+SIS1snnKhCe8UC7Yxtu=xv__9&A2iMX}Mqbi`fJXDy*K^?}kbLO*z!2j> zM}3QAu3f6Cz#B zSgh`7lr#q)r1OFd|B32Dat+*O6uIbPe|}%*BT4wLcH1pjBZ&%P!F++}ek#QO272~4 zPAnVOR}YVL^-bn5IU8c)0?AK=h_;soqS*5-x}W=SPQ=x7x*EuRk-o}e89-)@NX(sE zZQCSGoXKt2rp@9|yt&JFjKp9=P!OapNN|v@c3V2&8rp-}kcC*^a9)_^niM}p{tgU; zM`6`|_$EZ0@*4U`g#3*I?c_tPJX-1}4E7?SD7%acbiwYm7{(2dUw& zXTXS`&Q7N?(6t9_UWRd^1pEH(i2gV|ikL3qomuhzTEZFdj`6Y~o|%FPH70Ox^cpZ~ zrvOyOgfY2*XF`Os@Q4bT+|_X8g`{-a?te9q2vV#Zd0XtB7l9@r4a%n`<+HY?-@($W z*~9)xot?z7*ZO=M7yzSs`>zHA$OI#vZ?dK3UkAx$%(q{)iQmLatxck1N76;#{yuq~ z-t~6$q;J1X(ipPf)$N_38RHU@qMtS9pkI@D5E_lXM$~-|A*2Qh(sd+Z_M4Ud0Bp_|)UPWWCvLFD@IIsEci9T`UOVEvHPc^%v5kj{@9! zkb}!)EnTLv@0(U>OqenpisEtU4Jq7j4Z0I>d)ATI z;!r?^@)ux5Ks&i7!AYgFDqMW53GZb`Ray{L zY}S}f;pX_#kXzL0cDkiXmHCUzCTRNGHX5cF5WUVOyz^d*`Zq^2oeyUr^f~9#m(cwS zlF4Z{-U{n22D%4(@1uk9@MKCtQ>WRP7iNe|MVAOWtv2uACbnVF)V78Fdv(l*;){vf zYp($ySLt_6>twde-Lpb;GTHf1ErVx7mVNp2#9$oQWD5{xSNBXVE~weqWf($(@vlAG zOCuD=r2jB#A1C8>k6jwb-Nc!7{1-AD==r#6raUWX# z?S$JSkv{;fIl@+qSSGB0m~zM*c%}l7Vr5rixsI9;;J%+|P7kx5{K7V#K-kEr$&x@P z>=L6uvX1l>4izA2@~ZqPZP!dcee1?SUi;IWIo)dJbZwgK+Slg?sV#W}At0G?5I$1a z(YcsEVx;w3&05KVzFkvhmY$n>i#E|rL7@Vo9D;E&uCwO&YaZ;E4O|$T8+`wLk0S?@ zh#_Phm1!SDJ`HH4{VIW~u{~ANj$mblLvYqerDAdmpnlhUe}uU%sih?Dri2b+2eDa3 z-UuV5T)O+QNVjhasUl;;eDT@i$i?`oDX|B5J_qO@=JXagwN(FOsRvyhJTAbbEN#5^ z#kPM#Uvsfj17FOwUgnC0&f4~A+)*f>f-$6Nm5+h zpHP{3=Do=0S}tCSHhP~Z4LI6gZjKbQ)`CphWQ*5OxOf0S@? z4|q=1YhY$Z#2d;?`vmf&A2got=ezv;y?<+(SO}5c~ygA+QybEp(D_yejo4v zKU_${hIFB~`LDDp>0){E=BnF;ftVQ)OKne>6)|KU@T0fI>j}K|u^U*(@fX=u<6?oy zLkXG>Bo5T);@>ayVaeud3#6c_Z-Q)`EbVtaq{Gz}1wMM0yU$c`bywesbyej*0?igF z)BcL5D}EP+j(fy+{ie)$4K92X(-M^)T&lL~0egqj3jj@)|7xu_-l2*M@m33;;q230 zW}kCX!tV#*LkxDoQ?Ci;cJ~BatU1k_Qi)a~B?*HR^XWAS0u7Ii0zX0EM8;!&$0hOI z3%@H9aG#$O{UE^LwM!4K^}!pA{l+^g`kYO{3-*JUBV#QWf~n3rfDkC(&FT9v zRc2*iB&%N`4tABgmgTaFz-YU*Qbp8E+V9uvmf@0#IDqpbDn1uem`;j}eX@qGNpivp zAg#}JSb!IWl|*BI&8ENc|2pNDM0>#Jno^Cc(9{Cp)l*nTNvuef%S9`cL{-hdqklI4Z0C}P0M*~-obeWoNKa9j7<|FjTrnSd0`>ly?w}BQY0oC#hTq%& z?gHm1@JCR+(r%S(M{s_si1SFNJov6gq1Kjd(tm(sKhopxcM>Ac9e}C5=^=u4+eJLB z;Ubv@Qgxu606DP+e%e%uiT_DD_0|_hq;#IOOUgK{?}vM}3#qHmVhL;n48{VAPU+i2 zX0KyQW06;{zTA4muz^5~oL}d*5=Per%MQMz0Qyk{iau5upS0JXMOr2Xx3Kbn=CCAh znp{M)yVNCSpPT!}tP$tJ4sKF(ke%CSnmRQ&04y4!pVB;iox$F|WpM9LAX9g150?5e zHAVfPfHWZ)eSs+p@ywQtIBEmkCNh|rbul#`sS)8eS>>kVaB@Os(ao=t0eGCW(bQJ0 z?{S!%Oe=myR&DJ8Z033{$2O8N@w`QVh)~yUt6_>A(iQ54k5AL%RsS(%pS?){W=p9s zR&&;7L`p~TI1v8k&p!Rb583xg-Y0gbvtu0!JnV@%ZffmeoQ$$n*Q??g* z&UwGKr-2zKHSUz#=`V(xyC!H<(sYI%Y!WB*LK?8mE0;9`%3mXQ7Dd?Y06Sr^k6(`Y zY!wkw9hb3m#11P{->7Nb+w}hsDHGN1-oTsIJ-wwl+40|ye5iVg2r(q?1rT>xEHBp= z1ofisI_v0gPg)LfVK4`YWEi4nEl7AOBk2tmH@&3l(z;-fWQ(b|N0ugH_GC<%WxVm* zWOoND2tI{Q0qxxW9eA~j_PPOb?>9QR_s)Lhp;_qQkCuxN@YWSAmD$QQ{3)nozU^)91bZc+^OCc#rkwc(Y>;>Hs#hdD z=o3VygHs|?LY$q5&J^m<={9K-bG>Cpzyd~stCbQkBHp))=Dz>2Xc+?1FtlHGy$-y4 zdu-=Vff$n<1ns{4a=*qWtG>EAnZQhRG#?L)3Sui}m0SC@ zuVQ#{7$1JWG-ZGX#;mgN3&m=t)r+7c1@bEo6Bu(>9xQSceD!>^0z?;Y;>{`_~ zUitg};;>CpMbUt`gyPd~+@F9pnJ)T+uZfZ|AK4!Iz3^T~dP9MWq2~-s>tDh@auZYW zX1Z}pFw<8x2+~WX;ph%V5R+F?WKeBC-6o0(f)6Bl(@U<4RJ@}2i$={z1hN5l(^C8n zpLRvtqzny|UsObcHr#EBWXmA~u05*M4GTN{uN2N#&4qhnzf(V)AbTOqUVNz-7=1PQ zE541ttnt81_M!GR&7A9Mzd$U%U<=Tr_9sHHGVAdt-AM~^dd&=qqBrDl`*uIB$S#S+kz=5;o)F*9 zO&AgiI3-}+lN4-LSMnb-%*B^h z8!oY|Ts+tz`~xm+LB+fvR+$euVC?VLCatXm!Xsw+C99(U{RuXYY+_#a*!^=r8IiGw zUh#6PrPbHK5Av+Rg|<32#M#=L@!$*oAvIN~V>Y*q(mVxZ6Sz7AgG=LNx4?T3{XTsD zgAcnSVn;>^NBRhkctnxyn1wZB>Am9{YS?Zo)=y8|If8-ZKIIeKAyW+ojd;HL`_R%X zv@Qimg?yM#0s3lDKmZWlII_f9Z9n=M>k|sjwea)v<7Q{?zZ@HL({o`1AJ-2}V?>lo6U9+v<1ziEzJ3H9jZzx(UY<$=%d_)ulqA!8h>46k~gRF?}-4dq7; z=%!a*y{{AiR%emq0=3v~C{rB5)zAVI9UNY?&QeQuH3!QD_W$t`S0$uh7f1w%2~XbW zIU<|RW&fkYuSZ{YdSMKyJ}#M;4Qm%S2}dL2pCuf$^6*mLqBx2$vqPhO3rM@EL%pw8 z_qQEVdeTCnmJmP7@p&LV&Tjpw!=ICU?M()H`vUYU2`1*>k3q2pSjeQv`1ZsGI=z5F zLMi<^XC37?ZxPw+y@A}lfl6TW-9U7BS@v}8dQpurA(buocif^#8G(;)zrK}u`SPVT z^}NB+!Wg9{)J*jW;KaB;&lFmlOlag&@hM*?1e;$nyTSOqJP1P+E2AmM>)kI!CKefA zir$u7^d>$c=fm&kLkIYPAtoTSRB2LmsQMXGnU3gm{N;cTtSX;>X>eUug7K?6_fB;> zTOW88#tXHRvI><`I%6Qa>dXn+?S#}=a^b=gVzXlDu@)>X@xWj|#>|8tJaS5k6k|t` zrx5+MHG;FC`sO`YoU)j0%LC~oQ$$=X)r-5OU>N1IKbJC zlr9n?V6(QP83B4hmPTU;ncT=Y(Jo%+I3fgubMn{5Q`HFQAL+wyjh{iyEXrBJg`<9QN2YM(c^mUax^+`ALYa~7)$Z4 zdVPQu&`O9S??7iRLCEzDw~@*tD6eN-QI`pjx5 zz=3(d5JO*gbaC6h_fVfJ7atiK?#h`luP#!9vxm=^PPyUBZp#7^l(B6J#g1}AehzOM zkVGDH$xN=?=a0?XRfBCQJk3-x0TL0A_y3$5EvqQ zO$pLjn=+!|i^*MN8|!-Gf^&_2LWp?&h~g;N4)Z|FINE5wp@8=WQ{hvINyM{5!67i; zcT28pvNBK*0UrtRjE2TA_2Rwhw zfm@enWzQsZi4st~l z#i(4lb~Fm)#?7j!m%mF*1kH}*RuPS9QHq15YdNa?2pV!715p4#5QaS>S zrHFs^ZHFA9H^`~QARg0R%;9~im=BSh3m#y>I#+Pj&MToGV^}dtzeBO64AWmr1p0eyAL{NlmGfeIctrQO+v9T1SN0@@9OH-=DvDeO5-zNXtgMR ztE7Gn?8nnNV(%=d7RUDnrc@Uma!Bn6TRZvee{k_~{OIEL=B~n3%s^}cgjkoaF`oUo z$qdX1EI<2qIq%~-ZAIbxR#XF@MNrM>>Wrao9aKUBkeEmRJK$6R#TvXCJE0+(l+!!k6aFW!|DabF99N z!5a?ugnbVrfTH=%SE^HZr<}DZYXzbjTXQ(gdCknAR{Wo%GMj?EZMBDSPJKaN2{^Iy zm~^VV%k_VaQ4>8$@pgLca1~^HC^~D~1YPYB=BylOUk-{Z+g}$0DL>7q1$@1iIJHo~ zDN*mo0jp08_2awPf#!Xx45akC8KBGar{bH5esd;mE6y*MHM(l433%Y-yY=$UDqH6iUkzioq*0{%Qi8+_2oE*kJ@ za$$@)LjWwQ8RT|6Z=5w7)7y<9_c8ot--aBCq!ne zAGLDyDw@-9UoJV2b;_X<6OX?m|7Qc=jh`0bCDGw1S$-`rO{u;9-ZIs~2> z;;Vfbr!khiS}WL88UzgKywe|lZOhG@Ve1!MoA-4osLpBuGp5++9>cC&x$oJ=@*vpc zCtamnLFhlsDcd!~7xI(bFATE~tW~p1eo#WBIE99bjE=|#E4IIP3Z3iYn6#M-b74uh zhHDwObU8<@7Ty0j6D`rczmx%5hbQ-Y4=0CV&JA(}FOnb(fDN5OkNUrWYz(u)mgD-X zqKBWH;c4`|M+w)OSCe|X*=qH6#{3u%1h?1g=jkOP3{{kOoD&>0%d_}uASjHc zUpO%;xa0On|5G4@2PmB8oL4n5d`ls^_PjwVixqJL5}TPFWwNteb<@8bvo*@N&H?jk z+$SKw8niU??>R85Uav+y8`rE6P!MqE9LX;{=&DBubs;(IKg{cvKq)gG8Ehx=71h2u zWn7DyqR14XhPEJ?&WWG1bb`cK^b!C!${PRjdb$Jt5bt;9JlLld(6(gx{dYz}UaInBl-Jq@gX~8eZAKYWe=~ zYH`$5n^C;6fc{#@A)F4I^kB6jm}<|M{v`4ZK2r(rk^K8)17c)H96||<*3DKcLQA74_?Jnf`7KG+1GR0-`ZN8V zOWWGFYKGWb%3H$rlaWbKSqWL<33&R-#l7{DK8v!}y@f0t1|7zRjPE;6$?4dH|7=db zSlWgH{l+OV(}eotTx%*ZtSAz;+lf)dh25zty+ zo<&n+R0BrCNc3w}5daq-f1C-Q&~*!x&SaqyydjR_G#!xzV9>QuT=2W!b>+0zWs!;m z?S%qBlz%|buLl)lliQOZl}|Gg&!HHo_z)log=K$kCf>_ksZ<9AcQGR-h-xrk)kHN& z`+0n4nPk*EFpAze6B)F>Ynqs$?D=<&jBU5MM$!t@_AUEGD%g3I@v-RnCp#f|x0>ym z3%|rGKi}%x$EGWLn}jN$uW(ODz+5Cq(oK^Xaz2`U`Xt2;!>U>l-sOs=aU(9lAh%vy z+VWsQcQAcf4xu2l&@K$j42v3DP_aYZnYRuOiukgt7l{S&yQ7XbozCMsduNi)gE)`| ztJCXFuq)UsvVIMOr?CwRPPWnm-j-QDW%7{ZuX~Sy$tMdL(1jmF;B%A|x!|Q3TTSNV zCx`5e<^4c+1egr^9*;eO1P1hU1I-&9bNnikYJhjRqW{G9f>XFN3d`!f13I}$od!?# zuJc{+W}}raLoMaZF!YHt&#sRln>^JhFJ``?i+}E``2T*I?j|Z^UohE%2=BEJqdkB*DkpMh6|>_ zI;Mof$X#cL@N=1HWiBW4x7S=u-!1@T+Ohj29YVy zL)^udT<;>@BW?}YWU#*tm!dZe4jSG+G9yB|^n9Sep)($xrkCm8u`5&z52#8wU=@nZ z9Oe@_e#TKG>U87;d5n2F zjQbTkpf^PQ}u8g>h!Xg=G#1+ZRsINiGY=ZJ0{Df+7e# zNlwJD=ZYJtX__F3sZ24t;AsKo^q#|m0-R< z^@RtAVLjLUd-K#6n8t_M(;`uZuE70Cp%85$=Z>RUv27G zVohS3>}OjgZ@nf0Xp*fAzFlt-%&A2a_?B5UT20U4a{ zoo264P8d$Oe^sb84OGYLL-N9-r+0S#ECY+IRT;en-?1{Ro&_P^j(o^j5c76#*e5)o zhaCO~m2t&CE!HAG`GhjEl5e{m{ioORU!j-HGA<;M@PzW&A!mQ$ac2&)ysUYh$eCS5eEdS&8)XB=$(t~#PHy!xY~S>@T| zt(BYW;1SHa&MjQJiR0>@%>5)+E6G}F3vw9`*LPn~P6U6|Fg0JPj?{n3UN00(B!EMB zG2+t@*i>bxgmz(&6+7|2ZfW+aoZ0C3>v-o5UESuKO@<=dT}zq|Ih!;KetovXwnAu0 z7qx$fG)t&2bUbKxD|?5atui>smDEK3by1(7iTA1cILLKdoDaM#lGp}P45=TXs`9;y z-!F$m9#}@HX`?P0>N`v;g&dKM=ue4q6PG9rv`J^^*FpyPCf*l~`L@=pvFejeIRu zeZIi+qqjw$m<`>ws$O{P?(_5=jQ&BM13ksD+BpoxUjSd!LMkr0)f@LB>oo$*MkFqpZ|a zEStfp;!n&@$GO_Cer|t>4vOd;@{b8Nd*<&r-9^ki&Z>xi_3%|*ov%q%A;>GNt;gSR z%raDdtOf*Rea~0f7JTt>Y5&1G=RcX;vDz_e-eS^?jKb-0zlX4EN%|pC&F)spkjmZD zVsK4>8YFm7rnv=rE6}H?TF{gs%C;fiWjBJ`&TK?q*g;DQ8`m=U7Y0g>gDR0aAp#5)2u>9d#U8 z5A8jtJnIBpAcaPde(R{6%J-Tn8d~|1CxENqT9zu|bOb!wuD&=(&BEufgFO){3FR}5 zbDrAfYdqr|^{;59RgoN^6&x&Q+z=#OOjU%}ep+ITMZg3xQoyg;({tepP z$Djij{=GA;&4Gh7@G5`(`ZeNnU3dIr1B{r-be3)j8=Z-il zMiO9}lX5l6RhJievDcVu`&npm2LTWE-ok+9HYF=0d2J>2rl7eI`{Et|NCtMi(=|3+7c{*{s!~`yWKmNAp744{p6C`jG z`8#L+cNK3kdXWF}*j?j4jXD@>Z`6J5!2abH6d!Kr8+>B~F@^L*z06VON|#g@dTf16 zBmW}bIAb*7@9}ktd^iVxEMagh9c~Q2{x&8QsQYn#y(mGY=mq%GgM{kByUGDmTF{GW zztY!OQ6#woN555OGrC+zP7Rb76;R&pSF?cY@ERI!0CaBr{b&E9ZO4z~fmwX=drKDd zKb+fH0WvnSZfxH#gdUBsQo@pWKa(veRqOfu$D0L1&_{w0xqUL3bB}oIZ)<@MatBw7 z(z-s!GW3Y6+Um&ME88=@x%e!ZUnnNDf*Rs-0DI@e&RgvnV8X5RZDivpXYOr9edOUG z#?d>1dsW47HJ4QjPu^RP!NXIn!&^qKKG#AyT#oA`8Eacx^y4a_SnV;e+%BU(yh70o z7Fw1r{aV+_7l%u&sO5+c{MC*3`Dq_Ix+sy0v%p`~pMsvfU;IIaQDi&pL2!$rNB5Kx zGY9^>>ijs#@#zZNZCYO88NKWAJ02x43q8|~7z$e^yP`Lkrs4euFm1IFKFCq6!|PM- zY4+B1IKxqBGfMTw0{=z0+c2_FP=N+Ht+ydZdZMslLj|%;hJBPu(njl)j6r+JO7u1w094_B9aU`v(J-ImVcxo>LcY4A~`(_jw5xpyJ> zD^E_6Dt=%}M3PPQ=9`VRYjmzBUP^p$aeqleS0!zm72?SZC2^V-Hm&_PG%Vi_%!x58Y{QgrOg+0 zNp%yeB53D8K?`azNE{)A4I8O#d4n5?h$hP}vqv2dECZ36x3tSa+{dpDiicx3N|B=$ zG>565;y%RV>tIPz)a%lM@&H8~Mss5z*|);6G&?kxYb~hQ)`g!=l^n#MS80e57~$Ia zYMOmvbQ;!zdw={^VL*m#GvJx*ohs_&t`Xz7=$CSeQ(up`N~4J)xJB&@fxU_i%Ts{h z5>r2yy&Tn7%V_KP^ar1Ac0qLZmZ9ui)T~2Sb_I)fvD-Ij%GOo-O@q+wOUrFfvA`?v zWi2DeMN&|tmtV@~^j(&qc(8wrm+PZ(`9TqH{+<(g*_LX-``Z%cg*8f};L}}br;gT|oo{pqD+un&BxeSVvCgSIu+-mc zieUCZd5?TbSv=R*aU^|15il>o?;vVQGQRyjSvI0&xhrTp+@yL%LvwZD{EY`gvClCt zGEYNUMV{K^^x?NJml?1~cgAD! zxsjQ)Gc3?rpyc%IjT45eAgs+i8tN+ba8&twqhiIVcsDaVcqSVHXFaT%vVt{5;h4|m za@7!{hjB|zT|^v3!mYQKEH)}hJ|E{v@G9zmz_gQJef418A=0aLx7{d>s5aRykZDyO zCo>+G>r5zqvA)$t+$nft?{0&C3F{0COEEg}c}@@M?^Q2wCb_=^n5n>Y1fpragaR1) zv?t%$+)29@Y_Gq*3Se`FtL{QhP0J!okJY_!Q9$v4dIQnB-addSeB517$>eE6)fU92|VgIh-$?Ao=Ep z*NL?;$G}8zabTB8?OVJ9PiDhzw>QT@MwZOO8D=ssahlp(mL%lv78jK+FSm0lujgKo ztq(T68Z>{$Y1;fGg_>EEPfhf?RTQ3QDIg_LveT!B^F7HHJkOVwGaM z?TEENW;d+reZxStqb=9Y>avxijqZ#sA9#BJJUS;8g=Ob8psf=Rm2vxg+?h)9h3t(~ zQDGO}Rti9x@B63_puNfY+2eC<@364%F~!)56@Esg0L?S_^7i;M<-*^{AA4(XDp4l1 z;>q2@&(R`cD%tAl>Xg*NwjjJfqB_FI9%Bd7-4rL0fSOuJg-2W{=1y;IrUBLZM^Q^|RVbe5BDZ1Ior3Hmt%S{I6NzV&Acydd75 z$m2-=&|p)M(~hb*_jtaXk3XM-tMysS?)9SQUuqMz$ie_#C5Z3O_z>n*5_woLG;0?$ zJBgU${stu2NU2ZOt~{y?=S{0`-%vYzOdyu|g_J}6C}X_7%pq-v;{Ps?DH)_im6Z;2 zp8fdW>)aNNFgHwxlJQ-BXKdcO)lo+EC06ut5liQb*y^pJW^sNdmHKS@ ze>#tndtk>N4ZhCGJlqdt-wgTu(zdesGrHtILZmjEp(AQZWeep6uA4pkdYxaOE{A;V zK>Y$s5B1~~#F;ipbT~S@bDp0)IkPtzd16|c`<{7(SRNn=*3KNl7KLEvJ@V($G6D9s z#g6Ny!F&-KuuWlSx!eOC>s)F<^dk`&S90jOdcv_(u;x33`28Q}soeM4l5`Za_Q4Rt z=aIzXXvXapKOxnAm7%NgHe^%8{Jw}1XtwY~zm(HhKXFQ19Qs1=PKyUS zraYm!#woA8#f)g{q+*Ue?9{z{Q19r?X|%}>Dm=S8{&FE2KKy(o0$wsgW{S6__%7XF z^DnkzuVf?7e@KY*mm>K?xs$*#oT?bSCEFW`?uTRbO&}jhUcCGA2^T>O;EMy=^SKna)C0!4 zwf!#Khot|M(1DLrJ)Is#o#dPO{S~SUPPN#K*U=Lys!s^O&qyea1+g|mI_luKnT|X( z3+!)hkF_`dRF-s!8NM{T7`$ZCI55b*$#QTS{-$O--Cx0b!#gn~o$YDVHt+267>S+OYGD!yC{@6S)i zdpOHt;N$gS>WsmaWV%it{mv#M^j|`{xikR|&Ol6LKFiVQ zf49@h4jV}fCG!e9TB-cdoIAcS!|NLYQ4}b9?dYm(b*4~OpsAn=q8zAY|l|KtxETJ=!lU18tOff z5*7Je%+TgWgjb>WMbhe68iLsDOvbQ>+0$5fKr|$vcxZa1Yt!v57u=L1pmoB`;iS7@ z>=UZ`N7k|L<2jnTq+dDdvuQ@|r9SrjN+J(;%~O+;4}1U$6!uux@B0TYR?ZFNbfaIq zcrh#c^o6JCAlV+T2W1o*ld!PtT?=mI@CSoJ{F#pYNet}n(A@vRV6RU!Gy(r-R-^ke z0tLdRpapmC(8ll+p9jSy7d-qp0>)n_zNBNV=KGWGnz zjqM{`{+?6W{~m;Ts)Z3`qQrJ#YbFn@f6TMpkzgf#@fC5baRCy9Mj(Ea6x;dS@F`$& zBbY?bjo+A?%u|Vy1ye&#ZIjrVfKZ?`r2Nf~KUHJT;j=kjpQ7JI8CzDaw+rq~^vhnH zoEVH?v7(v(l0beDt(zb}k}L9GJu(($lykPP%^n zBPT)33rO65Ze{Tw#@+-G#S^|`AR=KP6&_pG8{eo1zOMPPzV~h(>wAB|O<-1_MoADjDQn-zr7pNG!AG>6~Ao_1B;et)u z4%=b#W1O+7TDmmR_kd8(+guneW*A@3j|0M6Umeot%xha?89nnbjkzno&eLb_?t}R`vVFhdn9d&UFG{;+J_DRGa=(~kT~=nvcP&ps)hTA>h=-t9YQx{X zY4OBzOtjfod;H*?EP>oo9b(oeqgLEJ8?Nm%iWhmSlr{WaomeNaA&tQzECo0T&{Ayb z2}fTFQuOeD(-+OSd)35iy*QaR8nC4HYS$cfosb0)Jzl%=chYg}|3rE3$mr$B zyVmsS5+rsV8(T@4KU~da_V}>sKGQQ*YYh-Bm{DMKePB9_wfwG>X>t+xH=e)OIgjbV zOznaxF!;%}o7l?V+@FFHPR!)5(x6c*nDVvjrPl>y4y_!tR;J|~Sb{iZUNZ9dA^EI7 z`cc$;X=18qux0t3M8F_Gx85m{*;C9xlKs-!J>3@jLLgOxP$f{M7@oh>)rEor+QhhiV~pA2P{;JbVZrRB)s1>DB5ZyuyOupx+HPDr7R8=q%ZI8xP*A zVj>+id8&h~CJP7+R20qCg)oVTT+fc!gCK~Y;~;-~`xo1?=cm; z%XY5j??oR7&pJw?K3wh}d=r>>V}hz-^JUk??nwliW87R{MU$9g3mSfiH{|k-KkCU? zu1Gz9F8M6sRZK81Isrpu9A{W1?}*4&ySNy)^iLPRga7xCL8I_>Qw;9XGl^ZHTq&Q^ z9qT_9@>$R5?{tRNtWV`~{ojAW4PWp{)1Xupp~KcR^>^TxmS4R-v5W&Hs0-@9Ch8rP z`(g%hKfAZLwG(nyVhF^N^a$Jh6V|Tzsjl&+N>3i!B=_vbT^hsx?6#2VgGKw#S?AwUf13~sk5dQa9FL^n*;#=On?YbD_bO_G+xNdw)hoiw7t`z(X zc6l9j5APBkUzQr3i2Fcny=oWQLXn3oS~%amVsD@J(-kKeP|H0@(I>fD(q~~~QqGSbC)gU33kKH}tpjz&W=^G=65cX>Ts(>ChFP+n%-2}R=2c7Y%D z@cro(`!aMHyd0Lt^z!5VFt5LBBDO{MHhuaH$3-W zD8LqXj3Wf_Ub);dw9ZdUu5C#C=Jn zsB6N7F=gJgDl!z>D&-0BAok;vuyI$%!LQl zKAfU7uk`vu9VN-)pUd)oz>kIfHM1Mkp~2*m&1ejhgY9(rT~FC55X*TC*(>jQ(wK+_ zEB-^;J-^PEq6QszWb2SBFk2IUN|Du2;fOGtxid;hu)%lt!_RsPwFmmHCk`TW)2l$w)n zH{wPL>q_v4VmJ|eJcWwI+Wa4{K{b_>QD8;(AJ4mZeGlYc^HP=bXDV*?VUz!I>3jicY*3;W7 zFo45_QA^isdd5g0!s;UWfffi z=#|&74^X&+sqCasuxpTU*aL}0dj-#izU(_svR+8r*?qay(#@ulfG z8@^rbdO+t{8+Z(VAc+cP)K_ahcUb_ix0@^Ey<0!gxx=Jg|qtOu#F%f#hCTLqyv4 zm!$^3Oz;-7fV~DvA9r|Q^IqsCXo{9#+hIg{>DK)Qany0Nt zMQ~5_5x~tdUe7WGhRY@Dlt{14DrY;oxI6{p%UT>T zNK_!BcC3uP8$Y~YB>Epk*BuSl*G1oq!5|n!i(qu3MvXptOF|Ms^cqC;UT3r*dMBbJ zNcrhW^fp=$Ez!GCNAHY2pYQ$u)?4e|^Ugiz?7R1_Ep)Z7F2-k%y}R)>aQa+7K)WWs zJQnAV-p)9t{D@zu+uakJ8D3y<(M5io4^_zb5SBL+4f``}J;{r)m-GYIJ=5Gz4sNI@ z{VCjYGx(k98}pjdFC(va_Y?!nakhvU?mwc8rc2+eo{zt5GXJ-e?aqwza%fl)s8%xB zIQ@D0ckbIJ1Ia&oxwu#(-GFd>ZL9e{{r96j32D*csKZJT~&mh3*BE9~J!LPt_0#CyP5aJMzh#KPD<~ovo(K-I~v@ zA-}&QMmo$fdb9*qZzETMKr$bneu`n)%#h6pF*xC^&TGm2pxBgoZ=gLcLpmyy!)vB# z*=weK#A_xjmGsEpd+F|An+)z-!)qT2iC|mS-P-VJU2_ey_wc5t1BKB>X~6HXyb#Ee z7xFWJ1Z7r}F#ywmk*P%!k{jb+U+8GJsCfbIeC%lq5=6|$86b3&_z7VRlwu|%ekLk= zjR7wF!THj_ZtP3YyY^bKnUV9V>y3X`@DDjOzxi%Ya_Gd!C?8~uQR)2UsPnA#n}_(U zq;r0B-*76(sIBDZ%yR6#K0n%0y^`Inf<1y|rQPBWk0jbJeJGua+e{f#3?tQ_GLql; zddRck@50<(YVtlIBmLBTO*|3>_x??c4$SqpV>k4xr9quAm&Vna?I(Q1=b3H+yCrdv z^a01ks~zeXvA8dvEB9|N0?MeIb;$dRi~mfMX>W8@u*qcK_a6$KOiVRr>_)5uP_yVc zlI_fwgP@g$<%kJEm*>VQK9bxGM9m#y1F>!9@pPVPy6=hMWL+2h^so1^db!i=TAV zt-)Pih2xpeX%2-WGh6R2p3gyNej4JZa^)kABb&xZKhul2FA(mv>abpvI$2yanJ8ZT zm;o*%_H$SWHl*gN$gfDxKARvfuI59IH{^pi=<9HS7YcP1zXQV(cel0jeYTab0mom* zaO8y>g<-r8Z`mpA_w#)Bnn=7TmCv7i-O*#YY@&hhE~6iUdIBX2460pkNW6vEy=n!e ziQ(F~bwbQ%^Gxf7rJvMXk3RK;B(zW#H37~)cX_0Tro0;&8 zUuLStX`cv?yPT3dj0$yo(S)R^9tzF8raC;qC%DNCID@|FHJ`3m1guZC)=~8^8xhD6 zzHNwi5UV7deBd{YDhm_zxKX!cF1H{TAf}V-@-+G5$@qs??^)<;O{QO;7UYk`0<7Lz z{HK}t={OCckGTwMUe^}~eK(H&d&9Q+J-mN$=jfaL!E6Qf&wfLr%kn$E?Q!pRT2nqf zw)oDbi+b!X9_R79irM0!Uv%n+^GZTbxTIxG#|Np^>`ZS?P)WZRV6N7Hx#JyHZs}mo zHB24)TX(_moF`PjL|MgAcj0oKHe#78h?07jFl@qHHaZXVd5_qG6|r#4^0;+JHZ5cV z$#C6=vO10m?bt{phyocAn{`32^9&Uz&*V{CZr8Aj1}vO`{Mzd7@uK~EEBH|QH#Cok z>U`)ww|l?QhgKbY5~9@Y?Z6bCHPDd7*4z7aEK!@KsWxXcT=}P@*GTk_a3b5PsWdg1 zU3?f-TZD_jGniUhC9meavVv3w!coS;Y*MS=cFF}zN-;93Z0eB=xAGMd+222Kib*^i z&pkT1{v$jq9lS@-kP|X@<-U27acMHYwdp%pYp$mD!(6xyC)`{=nJcx|2w!5(>$i%` zDGB+Sa!58$Q@O-*h+I-T;Rw7Q#ya(>Mf0E1H1T1Z;1(v_f4yItMz=r9UXxm*O?estB4h=+wi_!HEZJG%eqH!<|i-1K#L39q2mTc<58dM|| z3*+;G5pIm+pcnZut(3D@Wl87>Se4)2JW>T}G>2;(YgkxDic2<^@JnB;W;&0lw>@Me z2zq>)I3+PtS%z*Qi4feoOlMx?12#;cpgrrovv*Dn>x>i31D}X! z;p&}R!#USj31P^cv=Y0U*o>XIz{+VPq0>z*JTU1|L8l8uxR4!=w;Vl}^dV1BxqIJf zf;=x`a5uMaTE%U>(NgYjQ|>#Ks}@e``OylCW;!qdY-W#w-5KQ6y4a3Q+qaNQM%i8F zWj4KRy^x^lS6>S|0gW?P90$1}gl`e!YaDYAvctj+Ay;fLm zxx(qibKhXZ9EGH!C>;W0PCxv*i4>W5vbmTr=**T;-F2vR1vhqGT_7H|AfTTAw$e1F z*|1498(6aBPRk7CLd(L1KH{_iAqM!v#F*0WL5nkAan!72l%WHh}OeysR*W-OSyNO)zIwnr=? zqdBEvml&IN<^C}m45Fent0>*4yYH00m(V`5@6t!H7XR0mR#;7X-kUZ8tqKjjP`|l# ze4?5edR1p;b~O|zpua@Vk6d+OvvI9*eFRGi6ajZG=?>Uob?*{U?j6jdS1Zm$AoBz5 zkjbd8OIOlPW|H+j@0N<^u^ zf5SBE>#ktblv^&oAlO_@dEt{zXV*Lh8rnooe^oKFQorD(uftkI$q+N+ zU}=rON!R}joOHlGf%eD-ap#532Kh3yuRPI_i-7Gfg1&RY*hGG@tU!;|M9un4v`q_L zkrq8KY%XO%-Uq_?Dhony=j_!{w_)xAYm`|g9T*kBpdXZW30wSQW_@ikkG39AL`5fi zbcAhnk44i1XL@y&^CUnLKH~d}uMG@v;A!L5f_P`YFPqOzq|s1pIwCgxDl?bB$zpDA zA-?g*$sC&GI}I&`ta#onfuRbht{mIcT&|1w=jy1Ygdk@PWb(=Xkh?#y-u0^!f`b$~ z_c9_okK$3a{?w-!Tj#=o7m)67>8e2RCkDN?f<3SPSQq7pB&ukZ=h z(EXOWf+VxPPQ>D1IECm1ldF3+6_w?R@2V3g<*EkL`$I*(3@NFC(1+k{X;r-ltB7(R z(?bdh4$4KrAi5{;W41d%tZrm5!(1h0r(LflJYW03|6Tp;&K9IDEQ?j_nO+1a_PK(_$%krQlF($O5Az#+ZoGq zBGKvld+C0M9Qo08uM>k=5T?cPnXS=;dM#}2U!Pu)S7_X_weX?4_RcagPqqn)ICZ00 z=@g?`V*=CbS7Pi2*LteGSk!%lwU1>ql0tbt@kbyogY;>=4yDN+KyGK7*Z_U(ju3`@CcfwHGSJkwWfs{4^m5sW^DT^aBh@^8qf+Pg+JGaYK9fOBkJe)Yis_U zpZ9~`AM$sV&kOdANQpPo0o2KYtlABlui{MV=Az9l7JJbjVASn~Gl|11!LVO86Lt(s zG%I};V0{?quRk!cBWW4R3Zwc}=w-$E} zQO3we0DmN;^&-%+19}S3f1V~4^RIMo>ZSVKu!A$kR3o+h0RV~5{vW>V7RT&M$uLX# zO4shYlDC)bX4FNycQwkZ&T9q+_oUeNdlbmYn=G4&Dg~7>KTPQATfY8P0anW*_P^5? zAe*TGI4+m(FkjqpnC}{+nKQpI;8d;^qJ7iFu;=U$6O0%z*&9paK{=<3TX?gOjDxDQdF>L zf?QqAS@p&Qm}ILIJpsdapkQfP%%0JKNsZ*!OMzMy+Qp(% zuwAmKH=*686`v;Zk9{A#?$0U$vL3lF>6|Fv^59*`!|lJjt6aOQRrf0+0HWPn-;GLNB6s*)9Nv<4V8*F1$Rft;q`CZoz3%FtuZ7u7#*}cc zs!8H4vXd!~wz=vL;PHHAgg$j85+9E08s`I^`D{4B@BLZt8$f0T;V_GFjgEt zey>`@88omKObwc7U)a4lAye`oQ*^Pi$%$LJz%(QkoqLjOKcWHtVPop3l3%#Q$8usp zTQpt+|0N+Plgz}t{;BYrd*Z^ck}*6nUg}w+GE)1Ve2IWM4b8`GP>A5qi(a_~^3u$6 z^nY`kxU|9;d3{_9LNPJ-fTvi(3ecZ3l+GQt4t(n894TAZGMj!5P^>qn-) zT&`PbV6G7FD0+fnf7cGJSJzX*Fcu=Z66jx-Nc{VRFwft2N>4i7$Fg!})wp!E1pdk3 zVw|r2snE$PhL#e1PN+M#$;KO8bVo*p8XZzqwUvd02%ZWSJqysEO*Y^|scJY1&)%bj zsk}LFSK)YPj%88Vn&%Mo2+nBYya4T0Z^Fra5lM#kLe)$C-sCc!ryd;yKb`H>L%DRT zg8VJ!@Gv%tW7xhj;s|W+FwqsiHz7>cgXCOVFcDXBAub^CfU9x5RBq6oU-W0Lk91K+ z4OZJ6-)puwHWmVJvjj1LiCfj4uVQY6qlv^3iQyE>uRqOv@~(Ic;s;(+6HVSCser(x zXXwIL2w=+1lfGSh$;8anLdkm`OB;ktsQ9{IOb)RymQ@SmB4OvOEUhviJ>ynJzB+qZ z>u0)PtaIP6@VjnDphZeUh|Y29^rB$vXiAH2R*ph$LAMpwUlW!32zQq=W*+8mcqw4q zaF%>53Zt@AhNgoBca2^+siEC0O%`A7Y95*Tq8rvfk-O6O?($^F{w$(R^V9mM$W8~e z40Qk>XLqFaqxXlblresnF6%;BTTCS1c`&RdwH0IX1cw@r5oUPG_$#Flx6n)Nbn-VR zo?8mmjx;(Se;=L8g94Ddv>5Af#f7zz%L+wIb0Y4hc}?EP96h1OB?9kQL0fgavs)rO z(~STRmi+_+<9KJjLyc%eOKIHPjq7ZNQwCB^U9M(gW%O}r>sqpZ_R?!hwFF7no6Tl$ z?1u(gnt%zJB}8J7<0glqNX9m9-<-3DS)ybiiQP^#(`0V3X26CdR4yVZMA*lf*Oc8Z zB4@rTgqUGfw&AQ?!zmZa0IJ3Nq@6V{%=#YikJL1?*7lKUbn4g2Uva?`eky6sJ`GOi6504KEk~E-J^hc-j!Ap z>$%rEbQ};{1w;=}oNnjSmv}7_nE3)hq{}z#Qz`2BNAXE2DvY zhN-vn+*F|IcUKmwTC7^phxiYN4{`p#3$ zatOk#ReVyEtg%1Q2_ImhPMAPo%ffUbr`|X|SheL9B2p_*XTNVAq7T73C&2wOqMC<7 z@QTpTh&^>02pjl|uBGp&Sob_=flO$ z$=czNcACM+btNkKJzzHZjgOi;FyFrqxozu=by`WR%XxiH3@MqJy=F~P z;}}8)k4P4xx|29l{Qz9_FF8W>trbTnw{Ui&(zxoQWfwfQfz~=c*mW+W;{wTafVW{j znzQ$phiX0dSY3JB-TP3K2X5vepWC<4Rd6&VpPhx-D_H2V5_qJ~z3`%|0c;Mj6bu#9 zy_wKOyfw+3B&;H7>s6L#Q)2q`j#p~(098aVOaYa8qzrygkxwD2W00DRT1Tw&q!+7nC~74I(H5KXB$V6&=A z5-Pg%g_AYi!az;7cRtnPQT@Ii`(12nMG96Q(zI^;_`@C%cgt2X zhsJAmAjIhZ8S;`Ig~2CL18Qn&y{sRfq>_0*yzjhQxH6=*Un+%x$nh=$g2|n}XRHe? zJp;^Q1;1l#^!_pUTJ#(pWilLwFzR0N1i3Jp44jxeoPzk{vQ>GMWSht#l6vM zBxh)(Yl--M)L+EbMy%5;jmUjJXvrD#^Gu&tYOKiWtM9j}J2^BGr{q*rXsxX6?$RLj zQLlwH_kG;fl(`#BKNQfu>+ z*oUHD%aNxpqsxGZ5)}>g70Ws&@9$WDun#=wFl;NR<5=IOpa`hj_>yxIebBy554^q} z(oI6D7bA_phGvt9n7H|!z1~9sQR=%T_s)K6a+yPdJSMn!3-6m2J_-3Sv;d~BvAgUj z`)z$W3zquK)yc%+s3xwWnEQQbA(>fMSUjzq1)fjCj(ET!V80|W0Ye*;NIU>`Rdexd z&cP-W@HOGNeW)YNu)VG0u7Ai=OV5;t0nFL7x|6;be?FyhY!jV>>!Yl6W6a%EundQj7awT8B#!e)uVaz>K4+lv!N zAK^*+c4oJ&{Mn=&VK5z{e8lGM(=+Mu^jN7uWgcFtx5s5)&GOqi9$e0gJs^pI`tdXp zqPXzhIS*~##e%>}EolzJ3;*f`bxnWcJ`qjXo==qf2H&sy`YGc{o(bE3ErFg^)ifHJ zy}oZG8;x)F!J5KXzhV`d>k`?rMS99y%-1pxA17hmK4bHRJ%o4DMdZ96PqPPt3fM9H zu}GsGGH5)C?5MbgIk`)yXjSY+@of%IkvasSnZV}N;yfcENz~0@jY^Sc^W08Nj(%sk zf+bn^zZuLWEz$)d(oUXa1&)o4J-w;7u{Zk8x-|KGLZ~=I-S1L^CUa;P#8MrFMk#_yX82M;y|$8!=6@3EKzju)vh^aX+AWI)oT&24Br zz6o3#m+L*OJ#862^wAM?*fBA-+k%W<1-e3PuK_{IE1D*LUws<|w1k?C*~luAN7XLg z88$@Mm!HbR_B@46SK!(U{ArFuyW!)CqE;k4dW?nko^3uUb6x~*Oe&?3zvb4dQ(kNv>5&B#`kKwzFk5)sd$lSw!SbWCwB|hrGwkhvY-E z_a8BlaXC`U(*#i$`@QtJHE~h9zIe%Wj=L}OM?&BxH2qT0e;#j9Zo}DK7Ob{ju4{DE z`QeLgImepkGbLzlir*_#w0(PCM-8n$=OnJ?YL!M6v3n++eod|^3hzpNB?$Z-#omWq zwQ@la;^(ftbuG$Q23xInR$A*D1UCbc3@d37P{I|w9WO@esD=BQ_P>vhICYw*=1e+I zTx@aOXA`S`c41bJ80r5O%dq2KPT zOS>4S|~1DW}v5& zn?+!goO-YtF_>q5&;AJ9#k5R(Dq+$mUr_|)w}n48mxmRkmHxu1`#Ui5XI1C@n&z{* zS9g+IZ|B0H*xk^Kp32tJze&vmjihyr8UgT zrY!p9$1!b8WMB&8m91h*Tz3cf-x$e==hVlZM*d%-=oIj?yiwZ?3g4aR=aMb>wP*om_TeDhH2Y4l(SZ5=nmJrL<#I1o>Z8MGtbV<7GCo7Uv;u z>#p7Kt`yQ)lf!FmA%q$d<>La0FnpPe++*vQlO_u(aL4b=8wamopE=3?+B|m`^>79A zxXi4PM4CdN>??z7>S{XdwW04BSWbdBtXKjqbH0t;8SZZ`+2+^mH&#jQoFL z5V+Q#T`r0VD$d2b2sZq_eibk&Jp5WQ<=1Il()d(o%L7WnQUdLJTOUC2b8XU@jf*ci z0pme`&52{=SOsg#xjZ%QYq495z@?WpO9e~xYwXWU4G*$!e$lVCj~@-)BsLL~`v*m^ z9yQN*gh>#1V4OFk0@@u@Td(xyCToQaPF_qPJw30F;&5qQtkr4R4tj3SYc64baj^y@ zB10%Pvtoq$MGJ5eR`B67KLll=q~{?xzDlbfzlFrWeGmH6*Di!X2CZLKog>y6>W@f) zJfm(k0Gxe{I)igPs5^#}NK}t|D`Wz1u z>X!ilIQ(0Vzyz&S?gMU)j&}{$Ekms*l@^9d2KHO$CB}Yf4-9gRX!U|r@<+Jw3P$r% z8m1#akHw929O^rvYfoiRg3;L(1J8hM(>!eZYsVdgEd?9?PBV+wsY+PZ(o8!+k0y4R`WGj* z6zb>mbn+9OZzxC)DTqSw7^8jDaCxy=B;_?IBw?@de$rl`9At8X6t&yoI{NySQDdK6 zdHS9z8yn6?-saw*ev+DVQ^M@ThfM~Z0OXNs z#(NaK>Cf*vvxw-*{XNluV+Xd2G-w_F76d50lzI*ZSo3bqW+h&ul3L34YuS0!10+~; zga@cy5e*IK-`&9XUq%=v2y=FzBRiW&?isGyKS$tzk{y81j$ZPw`^2ff@>Q6Yr^H-? z&*T_YlD7O>l-v^L!pT^LJU%Z)20~UE&G297O{Tf_|8sw#8++xtF~?ML85)NQ2Bs&e z5AUcV5N}l>Nx{maX{LqkY=e~5f8v6YDQLhqPEfXyrExbd_zz6 zdht)ZE-!!CC~1C(z{Fwd5%8IaZCZUjw?2903sug}irC~}ZMbS=0yB0VMg`)n*p74S zqn&84rjzp{`%Wv85EJBJ-lWeV(pQ=zSr$U7Piw7b(iTUpuM=O_dOlyxkYKY_&iklZ zuYs~qX(uPL_D?-pVg5!qGUccUprg2+Hyv9+mCB3*R<-Z?7utky-LyyTTy&dYF z{do2Bbv=W6{Jj%=V;tLQtCK;Xlits7$)1S@8XO;gYN75HqdyQCdu&XY8r@Oy`LVJ< zUxjo(pHWsMj=UoH!MSp;deFvcySvQg>29_!UQAE)%SwN*;+R*o0jy|`s+@Mev!ZBP zxetu1)4`Ves=SMT#CM37q5Cp5%V$xl%f_~Gk{B66DsW0Uykz@SGdESTIm2Z9@nh8p z5IxkEf`&r;^j4Lgsm{`B=nHm7CI_bgnJ_1B-j0GkN;d^YKZOT*T?epzPFEz^T2%3% zB#BRUy^`6Lw>*OOPMaRGBs;^ICnzH{O_TONh5@Q_Q$}klf|WO2Wbi(s+Pvr6M38#m zY#}wMju#Hh{~-mTCh^7aGhyqML>Or3iq${Yhx7)#rFgXU*p36ag7l!wraPNe_f$2JYJ3B5yrYyK^}|zLh?kmBgk~k*CC= zk|MO2^~@BA21p1@6+HckR$Prj8}Q-Q*G}6O8Rt)ELgG}NAE)}GguZIG-{0`=}pudNBBFw$C&!`F%meOpgc$fmrk%3Q`KG`af>ZK=sk@ z!-(`O??ci{*a}L%MTdW=X8%^IWh(XNaTB3xo6g^)*m@GSU4xo8FRE{!snORHWt+hl zTeWK^Tfr?My6Rcy53*TxPo#q{ym04({r-6&mpio55tAjO(%h zuoBW-)34fI`G^outle9VxcQ#n<}xE>qxiKHiUPXtB4AegUF-5T&#uaY#7%VoKOMB7 znlNB_gS?)0s_^Es91NGnhrWF};f>#tq1&%<^_-X8a0l%Y+_NR&hD>#M{?s78@3tzc z_$SF556Iy;Qba$`b491qnEzf!sh1+z;o_^^ADhmvPe&uwwgnO`QfWa}Q^gU`-MSk> zsn=JXk5?4$t>Lfjqb85@f)ax2E#AYNt$)STzdD)OF$oKsuuE+;qwLOiJV7UfY78+( z<6s$Ixg=Nk1x9%Br` ztL*v`-VXmQBOGXy3z86b%Wy=gs0jj?s|i|;tHc*8iK1zb44za_4Ih}Vqs{W-rlBok z7qy>kD#4iCE1FYime}`ka|NO>X@Wr{gS)!P?b2ZD;hM09cJ4uqc(n5AX{!&6)#V0z zU46}x@{i*DXUc-#*SCy!{G8CJSFuO)^x$N@B_lbnZvvNObimsar??2kGFrH7y}i`V zOy!=P^Gt*bS^W0WTH#Ilu4ZCLeI2mpv$M(~i!~Mg`}nYeMPl6hl}ANBlA`nHDJ%4u zG3T4CzTT=QA0(%ytrs~H4r?V+SN#3Ws45RGm7+l*+OIKZ8wavS8SXkjP~5SO8vpH% zT3E;3kOkmb8_IQWujG6ikvCGcoi!?2Y8!NFp|#BMCE5l@aD~PSH}^>5b+dP;SHbuu zItV&g5lj`_8S{@t>8sBb!FqkQnTYGm=_YZ)i^ZflWLt}dlHr4-kl)cWigc%zNoa(< z&>TyuVwcJ_(aPgNSL@Mpp?-W`gu;Ug@B@NB$M?TSt+AyCJvXRuG#?2j9f+Nd>#J-y zzdmT5X4&9(jvZCYBXAsb9q1df=R+n~94koi02E+X@2#CLwr)iCWnA7V zyZCm=xh# zGdXnxi2c`?2PB5mzL< zjL+M}pf8R{9um8;k2?jpkWlk=^yDKh2f7G!X|AIy+?6~^i`tvX*-qaR8dG^fug z*F&b_t&Up{wTg73Ua~R7KZsF-{D#hQ8-=@_c)*J$+dGQRNOSwhWqtC7;H1l+Iv zJ`oMG_MWHU@BhQ&!7th%u(0|@J;AyJB+z7<2Da=?;mWnT!K=K#vSKUfJgDv~nd>f5 zD9O3GdLql!{=3HLrtGk(5p{C!*6YnMZ}(a}B^j?!yZMYnnWi7#cC7mZL-Z*nE$Q>3 ziRBp;XU2%*o40p54a6AeC_?A$GoI|IB>e*SJPlP!(y~Q|dLN~%RJl1+2WmXV&tKv@ zJRi(zWW}x(Y4qkLHH5`NnE7Ukv@Qx(1w_ZvXrvK@k?l2_`!#h*Y^{8~Di;c0KopvO z7#iIk}^Vb%i^c=*$5^wjQW&i==G_KH)?AJ;lkvHwOt+S8EZwPSB^w4M` zj8zq|V%kU6BeCmDnH0n={;LU1N06d%;Yh>^{?^4dW@tmIWO@CLB{67S5wW=ZbCGMp z>GVCP|J!>aP$zugYR@fB1x~=R>Z2j$Ffe_m?N?Q!tSg9IVyaKQ#D8lMW&YbAq0BC9 z1!0I89`>kFtq^{p$3eE}`BiBpA3Xy|oK7jxx8J|TcETq7(L@jN;p-qtaAr{RV2^Qc zLXwAhu@j#7Y?0$sC$aNnMG>e|u{ZhA35^s)3*U(Rg)0Y-Bh%mQ zkc$MKZgZjwz14Vblgfe}3F`mXT(TZ*THfFnmsmoU^F^j-|FS9RIS&Rm?WB4NM`T^t zp-J~AoBp(~;rl8EEH3d$S$MKRBop^pgaq7V8;Fz+tHG|Mwh#tshgRzz))`eA@D~Zt z$#J6_=smt*UQ{fsy-T>)SIa~AeOrjnbIn7y2uwz9Khv zYW?|1`cLe6{Q^jsEUN_)q|NRedFI?o%1Q%=0!{fPB_(8}sJxMKio*U29#E0RobCYb z<74SI&=hv^96GsAV#yBQWh#k+#%z0De9+j7jmbq_)0v_mv)m&3$;MPu11i`m3G$-6wih8AltKCva1bhyIuyrRCn&2PT-nm2-o z4qJFCB2U3ApGV!D_F-`s^D20jEgK(ol%0hqiFx)yk*y=5H}Au~|A#z7EY6;F)icz( zer3Nxwuw z;RNSV=a{jfx<4dhyzc!>GX2d9)tSDM1XIWE8lFe^aE_x!wbv0rG@dxydu>7`ojGtT zQTjx=VGZpIR7QOMi!CeLAwpt$NKs;u&_+ix%Otmv&+99Lq2aK9cm?0(YwD|R*UQVM zhq{#OyfW-%kZ1g#J-kTa+*Ss}G*qMt(^5_N_;iZ8r<-t|5zY2OKJ;c@&sfv}^7Qbkak+jxt3pZs zr86=suP;~2| z7pyy@bVh(*{n@>eoMV+CE$Mkf)bWr*rgERwpM0gGSBkXLtb3e-_*mT)2;zK{P$(p7 zxjS))9oXf)2Lg_6_$SPKb9JoRBOJtT^{>vVcIzXH8z`@3ps3tDzv=!%wV!7DJ~70A z1{$wqgxUEycQr>idAcKtq@TSp*O%lDDa)~#P#E@L*6?2CdJAC)YcCU|J_)8103(l0khMe_~3fW=>%q1EIL@BiD*w>aH9fegqFs} zyPu}*{R4yN*Q0SR#P>h%fMeXcyjsB=?eNCI{I)~N9$nU}m|O3xL#L!xj!&BT9%e3+ zi*Md^uLXPkCTHEv+nF0;zI)5a&$EN)wlVfJ!DCXM3Giubt*8zN5()@|E25|x5AHNo zkk0Fx>?fs-y8rscjwRTCry&(V$RgU=1upQKR@N2xaeF%A#jLTMIj($_gvyT_(twjJ zn6#5hU*AL4WY33ffqm(+9c~fydw72$u(s=l-zPbwQ$DRMd}wdiPC&6g#DH)eWtwY31qC z)(d_w|m` z0pMo3F^!&l+y22LpHIdsL=fomn_ky+La+g}eRiL&x<9uM7*KX}tXP!ag% z6B9P-B5HOeRm(WYdCvrc1Q|5uo0y3CL77Gh?O&yq7h?_1nLQ-NUyE{?&cfB{WI$HZ2%b zseiQUblLC-t~bPG@^BamhIir>wR;}fQR_MfI=#(t>fFTQwC{x`moq>7Yy6JB+R=o1 zQmoQ`HEe0oA~t+v>t;DoA8J_$VSB}>&N5bbq`{o}=1u#dVk-!?ztuu8>z*`maFebH z(jxRQ=lT{mvaT>dv)(+d9+aP*DBjTeV3UKtaMiE*r8p&KXY0b2< zM5U$bCoZ?7v?Pb@`<&d{YMt-M=V`In63NR|NPJ&KzCZ>he<8lJU+yLIG&H{9F$fiU zl3+j&xb0tB-B!Aw{io#mfWSx5;URofGoA?*DCb@+IL9yZc9$VY{GLobF7wz;j3;g! ziZYs>3ZA-d0KsbTs}E0OHa_GG?Ic%@JIOE|UXoC|r2}wW3HKHY{$+Z^Y6aIfRC*eWL?H>JV#C)j^i8TX}V8reM zw^IFP{@eG&B3|1Onn1)ro=AJG0H9&~5`Z7?*&_~-+9as+BW&R3g1YZ6bv(2&Qj{P! z3o)r$N4ZaZD<3Q@mMsb_+J!91AZSuyK&Hcf`LPtz!+D+pWo9V;&XR+{j{Q{5;=xz{ zI618;$UmAeF6@VH66tDc1R~?E2b*Q~YRni|1PpeR?vMf}p%fz(vrJBVhb!gle|Zg; zHc<{rSP`S)fFev{KZ zWU=`j$CyEjXt483Iv=x!LxckjF1IV zoSBnG;Wu?H%!*%Fd6kSvjam)ElH^tcMg{vXCk2>9ArvTfpdqu9+mlOwfQF&ag-~#) zj3}Z>Lh+$8-J}5-yXcQ-I(89Aj3eb`!)eE__d$PUp(qs?kciva6Jjja0hLrjDvwfj z%rP;*S-G!FA*8raUo>DM2y88B4=Kg{bSffu&iSR(`7V$Cjc#A^O-jgycOf3!q20Ep zl3#gOuj>&6jnXpI1Bo~e7YT#_nKd77`)Xtk7XX{7D*)7V(VaAzy?2 zJmD;1>E_Z`$4aMV#@&pKj-2_$%H9#P%y)ANqy2g7kj8668E_vBF!$LAC@CRo43{Caj5Bz_;ii2YVM_ZE z`aK^c_A@mQ3jJg}a(DIzV)rFOdraIe`9qEgec+hS_fqM`6@;8<9Can1J*FT|$la8g zJG0E%Y`Y7reP{+m9`9%eeC&J_Gu;B7orWcDpWh9Y{%o(RlNUA0)OPwxB!vD#mb3Jh z$D`Ax%|Qjy5z6J+OS%9V)m4l^fHfSYka^Q2Ex6q2%pxq;lL$+O%H;-uUwtJkm3dF# zgEX0ZR+$V%HHKacD%^JydV4g@NH5;pvB@W9hJD8q4opHomCHN|R{~--U&nv)H0{Tq z`@3k>AfzkIH)foZ7%mtK7GXm7(lP?fGzWD0YKMgYE3_$5c2@`vb-Z+wrh%J&;L4B z^!ld-UJ`P=cS}8&56EY6%7z*ndR5F0^&KwPnU#g(bYFn@Y)&;2PZ*c3Y?&X~2NNwd z9F)DCWSXafAau!zRIh>Zro%sBw=|yF2Vk@-K9=eRSqwpk5t2plK4Qr=$<8sP1O1i! zBdqWZK$H@-K3`Te__#YhRO%8CrSjE$SEg)gtK(MC5=|hYrpQf)>Rg|^^P?jspViaK zYHzc8Cl$Af=mk;yF4nFJYUPnyEJcgh%%Z)N{Rj(8)e`oS+M zJeb28(G@261`wj4c8-*jZ&AAi#@y|nG;*^e3E9_;!5H2A*MS&aF+8#=MZTNX&@}lj zV39A&y8za^+S&@GqvMS)yX=1hTIU2~$Xq)5tsVeEjT;Ujum{i~-e=Z|sZE<8YkG|G(5SSCXGYM~14{PLWt^ zy#6ir0662#PGw?cr1??k?e4L{ap5K3wD9;NLm@Jxy!&?I_th>J9&81M%eX+t>)=4S z5HG;3n^zh!v{(jNHa5Mj?C_F0K+kDw3?J&hATsn|jisErS=lbT(0(sT;@Q3eM#U24xkB((g~4iG6|28^&c6_LKm|YYUj7~GjYS8?IfoKF1Sg3ijqjC!LWFPgD}y?088& z0HH8~O`}U-0D`Bw0!-Q9s+By^oa1H&JA?=*#EU;^hNMyuru*+42r3JPLLiE$g@p(^ z)QdtpR0#{2J0RJ7zkm21k(yw zZ)9XG4SoRZA8b54`LBs`VEAaz(=|-Lvh(%_hjX!|{{2Zt7&7=gq~D50+;wk6K64J~ z;quF7_BPhXIe```L4wlz;dZEr1^&HrCKxbO0_d@eYE8T|(>>}^fBl?pa-2jc%|tcJ zZT9>FDNuxc8kYe|2?pKaNADTy-|pywS#KUet|%e;$;i9Q{U4k#z2wga6_33f;P4p8 zWEXQh7!-dPigKAR23uY(KIX7gXm~m4ej_oIm1(b?7=?)QTk%l3p z8eIsT6v@8SD>@^N+7;D5+KZ6Rx#@f z_+oKAzz{bC>>%bD{Bg7T#S;U2A-L+{9t;93PMDG4*3A9GW&oa%9f=>7{_+ZDutm_3 zc=Fyl1o#xt;av@kew^jDp^yne zKXcUx^Y-b;q?P(l!5~hpr~p(DhKW4Hns!I<>)Xe$z|9i9PUZV&a27+jW$~%ZyX)vS zpLSIAFVnHq!r_O22{%njGc|13e(^~(#A8>$Z>Q^-I1R@Cv7iO?|7?%fZx<2&pCic3jM1bAXt_1SfOYlhni)qchE2*hBZ?>1p2QecbvcP z*k`2u>2=5PeBINdr+z~4$7a5+@$~0DBEaum34#Awx}~V;VJ<~t$x}6yf zY>y=fVDkb$m(cQ6hZ5V>EiblBvPW4&`h1!cr|k$4RQC}SR>jQD~t9C{E0iWs)I zVMYDOCbi5l+uM=ZtFlc8+ehLsqlByG$}*>l(K5M?Srb$H$sC9|&gVud6yi1uMd_fI zV$lUzzF3;iKblwLj5Rs59nkRF;6+Gx)d(urfttEpJ8}5!krUVf9 zy^V{3kffkZb|lK8C-A0}czEMoP*7i+F>v>acp!$jpmLzN(lry2eiVIC?yw^>wL9m# zQiew|Lh!R8gFaZB!T@mI!iZyo(`9!luGjIr)4%;lMZWTL>^kJubz=oj>IN)SXIu4~t7ZjSuxWyg&BkV&^`5_xhirWR1c11eBIWVHGz#%*(^9K&LA zE4^FU``##Rr>xbh^G@R7kBJ=5f2X@1l9F(J6FrtgbY!Rh1{ZBJy z#V#UcK5m`w@53J$ahJNzv)tSVUZXk=%Uo{6rs!C$uKXuP9 z-sPO#n2^(hnR}){)?6!?7^BXkd{k8{D*OrGoEof{QDRG6zq+a;IP@$&iE*f7H&INb zZ;cipx_fjGcw(jP_Dd#wDNf26V)dMTgRwtJ86eI;ZNA~Wyb767*AVWI=Q^nrWL*3ZlY!CXenB>u zH9Pk`Oo%ueVAJ*@(nPb0xCZ2$N4<&~>b$6YHWfESd{3kqf?oN%-0ab_r!UlyGfD>N zzU?AyWC71o$^iYP5CqoaM3>9JrkP&E7fT{2k zU#dmVt+^+jk`y{Q@@)NHJ(J_{Yxxf-yghR-F&buM17a$<-42t_iAh#uZ4=oS5YDlW07H8cR39PeQQin$-Vsw=;H?&|p!tziI8)0anhS-j2wOyMzQ-JaA%=PBP0a|EPNaWBqS$Pz@S)GMNOr&#PYAWDfOuRs6ZbdIz?lFWeS2|MztDb}2_`*R||?tgoI)o*9Z@ z6aC~$zDE76Elq55W1r-xc8KU6rp1zLmB7XPZf9rGB8k0Vi{YGF>QsWv5a0C>R4=r! zxrljUoHi)|_e^52U_91UG)uD3H7&2P;bTK8>GhA+$=q-uWhizu z(=|4Mh&+zV7o7Gb?p$3~rB#%14y+Yh6h~D}H058BqO`N#YFOKpB!`$3rz!H+{lWqR zsYZ+FSg<1F9|wetA&at;BHwM#wAQZ16A*yXzAS2FxM(rPOc6aicR2!L%F3sMlE5+dxSv++iDsE zt2pKai&^SJr4BRZnNMHG4atSlG4X>m9v71!RrTi*%C)0$v7MXf;wntUnitT*h6ywP zLyrsSyCM$2Me-~+j$o`yyEbe7lU_G=DXuZ1-XN1C*S5Y(lCZUf5P%$Gn5AtLi`=LC z#Q0ispFPeOLwxq04nU#Pb{95Tf0D(uP`!)EmHteM9}f}yobZw##u2wBZI_<9&auE; z1Z4#zXEl&gW?1tt4zHA8x`&=70k_=H2*gFEV)Lz9hsTp z_J0$I(>v~7Luc6--A+j57FRz5wgX0RE3a z4*~+WL9G2x2&KV9EHdrkV(k7D>*yFDqD+9O-(v<>+~N5b4Hj-2I1z=3PdTJB$8=Mx>i z7r&<7*pd_{71=Y%UTv0k;J-0WzWidAVp4HPc6 zu)wMZ`Ds5IVr*f9xi*DI;x@MWP}jWbYs4pOlC~$uI)_uZX^bqvX_gKHbQEHp1rm8v zJs;DMRRMKDkR$U6EkyROzFI35@vf(QaJzJVdtdn1$S;tYT?tAGtx(!2i?YzbO2=@* zFMf1HfBh?rDBY=s)>%y7*}4n;X=v!N(Is?uE@UC{+@+tUDN?)3JG;c-15eq%3FZ%Q zRVQQoC_g{{k4;CYq%Axp()55s(F1GkHhzE0xWFa=RlS&XN0~K-X3A8qW~b1C(-vTmi>-ZW_O-4KW4Q};q;>>$Dx7{Mf3U;$%%PYquAf%%=H=uLn>5odA0&=K za4v>qH@MmIY&{8?fg)EvvMVN^jG!0$^ZcoO)Vfuc?Ucx-wFEx$#PYypr*|`0mD_BT zuFUW2+5SVN5zPYAzn4Y+AW`1zEJ+p~plYC_HGI@qacI8hX$XVpY+j?mB>MCTps2ab zQ|}d?3n4tP4s%hL9`_yKHhI&%R%6COV-ETyH8>v4%QyGzQdYK-(e&z7vyM~b8t)K(aRbqLE#LumV)Mpc?_$|>@G7*3XmSEr*ZHAh zBbkj)m{P5dx=Yr6IV%SE!mD>zT`ij*Fx=iLpGm#|G9?|2@+b#>8hNcjkc_YxwoG>^ z*~7p%vir3ZAUMJTi5-jc$>hys2z)Mbx6>YQp&j-eebwyFeO{v(I*-R4Epa9gf2cV( z<$52FZuUOVYXBO+QOVb64t!ei!TMD3Wyt)w_)`+_)nQl`#+j}!q%m`{jbC4VF7`IE z*y2*NWa{(+GJxr5afBA7gEUC8YWggmS%{qqOUZU+!*+jAG zzJ2)VD!$Edgx>}bgF0oY68YGijI;1S;`EHp1e6#m zv@oX0s?}TOtPBQ+Apdt|K*Y_m^o~cpmOE@{Ra+NLU{qI6{4Obd$cddqJi~W&GS0Qh znrIa49|@yi^p)OHfjA{7^n~*>>es>nsHQ+`-oBmDUxl#m6_^f)5}40Hf}s3s>` zuHELW;RCLx1M7WB{#Gz<7K&4L0tq`ecJrLUND?Y|m!|AR8Mf_Hz{9yiL&j<#nC1{Zyski)>Z_r{6{*A^vbz-kthlk;Bkj?oB3x|%+a4E**pWze&XTdK;OKC z4}pihb|>!m&_ERTHU!!Ti-T4E;4DW_^-=jhXAtkGr;#XU2yLr?jw&7@efJC8M@-B;oM z0l&xp2;Zfay2)S9M#y=(w14R6^j(Y_%gfldl_XTlQ&hOWatL__NjfgeViIRY-MSJz zMA)JJ&QqL65ub$Z+%u~o(*c{2aG87_{em=KAeh?U`W4K=1_$BK8wMb5o1+uNv30oK z#05o*kjmFd7K^h*iI<$UAZ!qEYNY;}$9zlq=EWk|=0%m>ryHM(z4k)AV<=HB&F>o1 zNVAWP%%cUEHiP>@vHQ;NxkKYc(!L*}w{uZps^B=}_iU4IRBOLEa3T?TN3Z`3@t zAEj$xQ->j#fURj)9(ZyhfBBhxb;E*uU_+|aKvk^) zJqy}#S~~55^PDt`Whc^5=A!Lie`UR^aS8=;DPDVk0_gsiZpDg}^P~h)KpJK^h{BSl zSqAJmyra9oL5Us1oFQV;Qt`}J?z3-rryE~_O&pe+y%|){b9}B_p?)!KtV5qz%%BVn zPIOn{_!#WOG(6}OcAOtH=el#>w@5R?g+IfQ<+sOXk4@I_%^Zp$z>lL(Wr$OPik4-v zndqT#A@W4YofsU``x8@vD+;Lke7J6WE&^(}71_kx>W~Gnt8YlZ)$oS1FRiW}J4;t^ zylX&I%ZcN>{)9aI8j1gz$ZI}K9C2=f1;PRWS1C~(&#s1~hjyqlJsJRLbEs(6AdW0c z=ataH)5!?9(X|Q{-^oS}yx8V)NLID3*lWddAAMxfV0rQ8 z9iiEzAxOi>D1!y&^odanh~xtCS@n_y(S9sS(LZ=le=$_64fn-?{&8Ae?O;23`zjA! zWXTYM_|PEz~S0N$PKjY)D3 zBY7w5M%Gi&BD(l>TYB*=6SAtI^pnA$0*fe7_qe2^bJ)a`-Cl)tn9`z zJL)}(8>W*=Vm*D3KfL#SI9bim*$YjHo)#O7$W6%yY4RYXjVdXYxMl8a(Zes2%UHS z`fnkFZ2m08IK8nc_h#Cvb0~ygp(7p!MUv3ww(e*$Y(cwdG>&Vy4@EbnQRU)ds~80 z+ep>`q+b+LB6}mcT=(a8?>U8~PA~R;`-|HUY98IHesmOl(g+1Dd~-E~0BbByR(MR0 zm5xwT3!bM!HOue#c2S*B2*#_&W5ZwdLrnN{eGgFG1?#gO9K+sc;eBqFS%!8AA6NYF zS0?>#_!;Av>|Ol-Y{m%nCTqKrHx%uN>c+xr`K zR`9F!?+XX39*>{uul`|A@9F~~=Z@xtE`!ZW79bu%OGvdKG$O&}V`JhfTX>f4x@J0- z9?2n4RvJD%Y*#=Tkab8oRW4al)pfw8^x*gvYZpD-;kRRgeQBzv{?7KXf*XKMU$eKR z5AXIaj2Tmjol+8iCxNBIqQt_n5s`p3$C&+0wNh4=K#_-^+8p0(6oiOe!NjWcvSfDgFQ(Bi-0K#_cLRlOkUH0Jm>lB_j~oQrT4IT zBN818LyRKvIr}t`t4F~x&A2u3$Ta;N(5A8?v0u!XwNmU=IIN3`P&uC!t<@FB;rvpIFSWpM9Z)|_aRwi*B{2#`5^>+9?E)QKU49ei+a zUckj+dusNxGh5w-GaFn7ET<<>-KQ(MmNG+FU~`su?svt%$Qx=j#oOXDOez`tE%vVD zaFLUD$VoVCwYApn(;EiFFWVsD66L##M_B(w+-d6W6W`yA8uNYGQo6CXdf?u|X`p+5B>Tk>ObnVa*F=_)?d7 z6`;}HLFX8a?CiK~nV=}}`e4D57W}~6esTeqb8zbmVhCyrN{A^(3!{LDp z1SNtrPik>S4#U*M@zQ>3)AxgIBoW3pB;09zuDj9+QqFyJzmbE^a-8eYCZPFNy*W)E zSc=)ruA5gclL?Lcs_K--_j0z>jPxHj#Z@Ce$o^d2wCV>Kj)89VFKZj;?G@-IDt(^4 zIY;&&Pyz-H?oYq&i4@l#)QKfDTVvntpG4ll5Lgfg&L>itH!InUMD`P3p~o2A57l@% zoT#C)!#x%fm zytWB_bqC{3^JVLDmu$T96Dl&dG&Xtt&is0&*#X5u3G?8?$3&ERSv}K?T(aMtuBxzK z+3>Y$w(&#hq|Y=`Da1P;XG08|aLX!xqXAzmPwDL>UZm(VV*n~&M8@9U(V*hh&#DlV zWSdG~7I(jhFJ+%q-7y?uvwV_ls$BCRS$-rTv=`CaAkp@yb=CtT)iK2+9l<~(Ku`fe z_NNM*Dn5zO9t+`=x@HMFglEsTb(5YXxx8%ZA z*z~%&oiRo7y;IB;5k}^3zxk>pLd@w&K{kc-;nSto{PT3j0UOF!+jgZ(v6MP+#hX*; z3eR)ABm7XEC?^|UWT~MVWRFnxi`Y3;->dL>){lPC+@GUQ^T-FQ%OeBD!f1g-vYw_| zJSazv_dC_WTLD=f;4NUvZmPHl0Un9?G6;eT!w}}P8FG-8?nho)_9bq=%QvdYbpOM6 zbMD=J*2HEVui783X#rY(vj|bw)$#;J4KM~V4t)p4kv6cuB#JbSAIkKFmlG!Vz9uv4 zdh*dz8!{|qjBA-S9v*`cCa5zd8Q3s8Si}Kbb536F?Hk{WX&{P7j|ib$*|FcOd~@+{ zy;PLNGlkjgJNJA2#@Pzq%HPDV0=rpfzxK;^*J(MGL^UO;FwU z*@UdOh6Bah0)BSZ2-r3K0R>d&%rmro8gU%Cdiwl~7B!V%lF#7#q)Ti6$s=uudBmy=Ah|X9PErtv3X_FVofXg^Xb_ir_X(at zaff4h&FTa64?b!=t@NOEP{h}&C9CxZx=5}Y#!g+)u$!A}-z9?=mD| zz_7X^`wWk9CT13@e1DRhdv6}GJAn=Qay@U}@g-OCFQxqjg|QSSk{ut@r%{ITGLRBP zi5*Ek$;r6=J4!Y%)1nKyj0gW@vOVwo z%naZceM+HflW2yh%c(s=7Ot4gRm=Hi#S|f@IByZyJ0~M$KVTV6%uba2jOPCeC@^S{9sZ4r<2l4IuYW}V2P4>|E+xCUTbEfJV$x% z1TrNwo68;g>GEsH0=<;{UkI2G`hEH?t!tB&bepm&Vd?ln??vT}#0gXQp&z$eN*~B2 zrQ|y>UZ7B$H~u^Sw1o8Y?#M}l6trv0DIG5}fl6~n^s8{}?meDrzp2ibN%MdG{z|;v zf0a*9yfX9$mi!ydlUU5#>lze^IswEIA4^;e&6@`StZ~Sq#X7;L6jU2_>2^P2uJj(k zRy)QCc?DubPr{F~@90o-f5&Hm(21$d-}N9R+AQFMY+RS) zX^_Aor2s)b=iA+f@-LKKtR`UgGTtt7FS^Z&rkGprKL2&n7Oli}xw!%TJd0>KdCbx# z1xJ`}sre-a3{<;}sFn&5L0kbd$@U!UDSMaEgB`bE@#0P3F(QxCEqDCpxUn>$LPi1` zE*W}(-ABK6*jyO&Z+LWU|8+f%ObFTaHOI|=s-ONk__cGS?&C7Sq3Zr6hzFfjRQW;T zE|rIGzy;f{3(`xRb~ntsntRWc8~TrLPgsji*P0K99wMLSFX&d-gnUGN1BAZ`fdEQ$ zI;T#Nld9QBj+`75Apx$>4W3aWG)@~Mhz%Zsp%#1I1^!8>JMkv)LAtZ~wwPKa@F60S zacraJ(L9K)=dbB=$27|FEv7$wHgw$B?jTRuvp0C7C4JoS}qjA(#Wl9eVWJ)Xf$ z?StR%ug7LZy=a0dM-mqBZBkK+u^;sIWJIe1=2-6tOd!wBPuy|e&=iY+cU!VW`3 z3xtwwi#(>U`DWVv8pB{=U1IM(6;F%JGPn{uFUimz#y_w)K=1K`i5>+19j%|rW%K^$ zCKTd1%PDqUSn0f2S-6nht0~8dOPKZ7!BuaFPaMXxe_xvdcz|CQupxAJ%Q_r%@AOYz zslKpT4Cz*GQ64wDl&eaeCO%O>qDDUda`5M|&avQGI>cr`&jewSKmM7m7oS5o^{Pml z%Y2c=43J45fudDS^{_+9;V464Se+)2Q1$^QaeJpi&HyIU|A?#@$G!VFkJsPg&#w2)y%oASDM#JK(&SW48<~8s`{&l6{QzW|F zJ)=d_NKc=H39q!}Ri`D4Lb7pv-_ zvY_pxOJCv>HM0}1tTd=Jcq>|OP+9)JpH1`aL0PP)+rnS|CvoHVtA*aE-AiNl!t=$; z45y)M^E*que2>Hm%kk3NxkM4% zzvtvae=FRmPHvEe@$u}tt`rN^UuNJz%N1c^icX_`RMY72 zf8VJ#tty79&5IQ}g>Hx5#MA52yzbN0qv2%FS?#_1>`}Y)mz1rIG&>PI^pENa>Tp;B zk1)YxhaA60LhyW|KKA*I?YbBt{lwbNtM5uNz>(DG8lQ4 zin&((;CVpfq)Flsr-*HC#c0ax&}lL+)~#|PU%0p@$LERDeiOQmBx1V_3N!OR3TOFM z_-{gT$e}a8CjY8jkky?|&iQ*;ITIa|>3NcAAE^_L@FfG{c(%0c?D|ScI!+AN_OuH5 zxkw40sv{^Md!0&PWG-e?b4j+ed;TILZ}?m@Kt~7y)`;VPyu0N;m_;&@oGL3Y(cFmJaM3;Oc`gu~6tETnC3*d3s-`lam_Cs$9eplC~Lci7}HX8Jcj&f$QE5WfTdJ=*Df$%g~+cb z0p_8<-)7@<1U41>!sD~f2sM5LbotmXA{@r4ovN!V$r4uY;f|ckhtX*`&t*q@lu(9T z?=9V!Jq_$#d6kS2vkr~LJ=g7r!5#!SKAjqf-C&8iD!YHx%`t0oY!vaDk4oqEl4Z8L zQcwNfTb_BDw}}FEuxmV*vWk7OUM!QcZ#X+^@GnI0m=yw8;qC2T+crPy{T!s?(S}{0 zAtV@2lfk@=UBeGlXre7I*0<)5qk-}tSYwFT4{ZM7;w<@J1wPYwFODfO(ig&@Gmtac zpe|1nRqTr)()Y4|>9qfFok@(5PB>#7btE=(*a4cDvt<&xtesL+Rho1CzC6X^(-9RMCVEI_t^J z*kA%*T59JS3N!vSb95_S;qRf4u|J=V_Ho?mQ8M=Tys19T4~x>`8!Hl>R^A~~vj!H( z&+~p&4+Io2hSPmiIPa^b-X6I<>$UUgwm0wIDw@BceC99pdVWC^%xX}G!Q-m9#Fedh zG8PXy`-LWB)M7Nf-FgE_QC#?Bgj8I#E;OlXmaKsNj%|Et&Gg|W_7@)QNlkaOuklm< z!Ef8BmvYGVGxNfBZgUhDB!yNgiCvi+J+|Qkgz(c^SFOnb!o-6wY-)~#sTSXbnXtVs z_WzPd-&{+19ua2NQJL}llJ(`wui=XvB%(}^I8751^+99?AWA-pz_4OG^KNf0(3A!P zRlec+x=_B<&(XO4Q5X#kMBgM_o(hi#h;*ZaG?R zYhZSM_)Ak@Q{&SoeAvP|F$NbNVP0}*tV|;!zBEb>+7JY(9Ws6C4`MvBg7fi_Lvwi9 zj-aMlA^qpOE=B!T^leT&3{%z7`>z!wrU+_oC29GMLq&9#49!ovMinO}N+QvIfu#^^ zg49N1Hc0U>6CjK8eK_ODRK#_%VV_QedB`ejTY{g~F7)0fGrc(A)M_x!PWhYUfgG7c z!mt5%{T<`y8y=tUoz~wz*P)n1L{k6!`STr2hiHg70>~b}*}4hCwm7+hV^aBr;2F|k znk{A=7gh1|gqAANBk257-ay^EIj^O9#SlqTVzmDxQH~MIkCl@{c}2CM?9!Y!J8kPh zk6u8Y{k$BENIDP?3s?JIMPgR%N>2BwBY|ZNi_<^37|ISBQ{qi+-Jz_ge`4TQE1Q~%ddS=UTwdg>SQl<; zYWa9Z*IS!fP$ar-d6iokjqjg)ir7iGYGwC-E>jYG_4~KOCCzh3xT!qe8g7*xh}*_S!{NLJeVqeL_`nNf0Q1AmhvHRp?#jL@n3O z=GKd9S$3)+1Ab%j?Z#jNy}*zQ3sCy($6L}cmoHQ69ix)P9^L(Q^^e-I)u+DX}W`+&cTKHmZKiJie2~sp_zxlv(Vc^$n zrZgK)l;*{czC;UJ9_mA!BI;_O*%!;W0I{{M#ghYAMkACMkfI><5nyNrjI^*w;pUyacRHCQ_@5G zlN8US*b3!X)1>F*^W(*B7es&Gn-}L;rvH5;djH4I0zcf@59Jf641RH2tmyU^!jAWn zTsVQ1y>5g1U&@Lo1CtN2tE%kjKmjuXh!Ob<9&Vq2?_J>Uo88p`8Y5t=tal_1Wdv8+ zk8!#Rc_gA47l*Omko&~I>1%0#%kBR?xx~cKH7r5qR}bm4q43OEtHEPe=bw(?kpnFK zRG(PR`LB8K6N%92S=2U$b50~J|1n16-{5An!CY1`50z?U>eT{{vo4RY&oR%5CQee{?RQ!kNG61Zj-RS8`7f zKKfzw-xScE1A-EERbn6KA!W!`+c8E+=TFj1RjAX(U8UJ-(XUTJnu-cxuT%DPYV`m} zs^a|CU~=ug2hWP@Q}eaNc+#yG(1-8Ayj&~I5pkW=d#FH{?ipg@yZd?UKbYr1>?-R< zx49P|j?p4Ac#G$cWDbY|Ln}Dnm!c8$xZL+!r6aDo8>i3GK4h|FY0B1|&)hrlV&zdX zO=b;mqYuKv!yg~pxjPrIv$Lb)W)CtgW~liq9OW0z;!#p7_FcPAzJ_HQzEluTJV5M5&0s zYHX>*;MqO`kVH>dU=>vF>kCdWKe;z0e!vW%fB=cLff;uMb1ybesq2px(}#X9F3onJ zjsn$K1HZK7mbAFt-M%}_M)YfWPSyHlS0DZr41yKG{*qu56@0~5-QHxz zfOnE=ry!I>rzxJBhOr#Je&F5Q*=_0VdLdzXsvgV+&e~q)pR^IiC>56C_HWEX6Of(R zrU`y=d3@8uPd)1{pf;vM~h0@gN>8OVq=3{NZiN-H6p2F5HhlfFM&C9zAoU zW0ce3u6Nmp6R+Ryfq&;s5yqxNPB_#~wzJbcwb@--I#3yec!rFA$_UWezkknQgG_7Z zQDSf%!L26l!;;h!i@<||J{WQ`g1NEaovKI+#7;h{mBK4MdORaARusPi>>XfjidS5X zGi48%1kQc;`>uEVGm z@c#V4{~%R*$ZTIme?yzIXNLdodJsIW+yy_9x(z>$cOZF^QBMHDT`wtobct z-1kf+sg8*=WQ5Fk^|qD0o?vr+m`P%VAP}Fq2*dR-+9azme2W=c0iV8gjiR@JT$nvv zh3fiUNyOCtk;eC-n_@@c5feR$VbkZ=puk{XDL-Ssp4iL59_Ho}YyojH5AKJzQj;)1 ztdTj3kiMJL_=n%AkL`F&yS|rdQ)z2z3O{zua7-WtwoDhCHtLt%BN;X<8LW5(UBzbZ zwD1;d6#7UTGxE&enH_Nh5q@XX7Z@k;?>cnJ7dtjv;0XS`6*r{HIp9CKCwc7=p;tyw z5Q|e+j_Kf%h$;*N``owX60(U~s`wz!&iVbnlJev|JaoCp-yb>SnTn=+#i^cMQcrpIQ5n%jQg|h5N7CWF_8^vpVPNiN+Zj{W8q#-`SNv6Pg z^uO7C$)0}=D4G}GT(MCS%+1u_QuAP9Y$SXBE#%{R&=Cq$9C$Wyo<%DV@Cr-q2l?9| z4w2`h`~I=?5lg{jPvS+hLM*s_>0zZ+599%n?(iVYPuxET5#%mWQC^SaUaKl~Bxp7#LY=1OEc8q6i&r`e%D~oWOr(a(>Ctiq$SoEfMbODmug=a>=?CXFol(<)4;9;)Z26vCgMa+Odw&%;Fy6e( zaZ;8>&{+7_AIL$7gA){x+EA-OSV;@HRW!17MjfMfYItk@Ij&l!(%YxhWXp{AgmTiK zlF03bh&p^p$W*+CJ&)FjEu^N?ig-bkT)!tET!cXCsbAFQ^>ifQO$nQ$SL*6g%O*Gy z`%eY$*SwS9;7R+1C~Zr4flkQ%GcpRV()S|g1@rO}z52;cpjF7KE!L2I-+8-T_K4lG z#1n+h%!7c9!6Cm0%bePc12cfgc-&WXige4o2hv`y;j=4G?<+kcU>{Ve+QD7RV;eIU zoSF$Z@Z!}``*BHeGv=5qE{*zQn-TzU0In@y~{iG#67zqalS4r!1v{8<@kS zu7TW|ngP0g62$_P7HVD*bBSjQTms)yzFK_2BeC9iOQla7n`)%cwqc*csC+q`J)u5~ zsO%n87yvbQz8$AOGPtBA_$VxOIaN6t6zM*E^v6xG_7kI=buwaWl|zgtywzfL;bGZN z2oH~?g-JaoEH}4XG0sg`J0y7Yx$cg^aI_QZD*SA1>-dc8&ru_E>i!go*Ve_9%a<7w zg_mvAJ#8ZC8BvM*1ENea20z1z*Gvku>yVeLy+>U-ND;g0Hni1+wl1-x1iz?n(**1k zm(3q@gEQ}*ztZ&gz`q$psoo=+@GdkYEq89U?SD$G@7nT-;mWxFvGvg>R&}*JYE0Q8 zyv#YM)->8DI|69yXu!yQB^Cn3toR6>di?$}^(xS#z0RcHl=Q6qPn_dpy3xa;F#a~u z`on~*2wn>C27M8pe*mooVAFj%g&}*t za;8rf8z~PWp24dlnc1xRW$|l)<2A!KonjL8aXDpl;yI>-Unq36-fObd&1h@<_wX@d zfV;)nbJE#)MlK2AO1quvpq_L2q=(uzDJ4Vg7?V2b`(sSF=Qf$R$g9AAq^<0d{E$GKsFW3_gS}ijyY?z?pKANYRY)j@{1j}KY>1r z#Y`ox6Kif&5dqiK)W=T{$38EwCEmShthP=-r3pT1;7jc!W7Bk!r&S${`Z??|gmGVj z1FM!>>0!8P2m_}*HI~C``!@3E_Bk$S&$*BDTBSaS&=w-_@l^aR(a7YIc*QGA3~oFl zC2cdj-@-Zgeq@Q`QtryOMW@BYb9fAa-jQ1H9go){b$;m>6_?CCp!>A8xR!(FJUuD z2&99pr?lXzqy)yEDLz8kz5kuQG~&wBtIV5F?#dNdz|5qXjKJ`r9pbe!8^&KQy~WtA zT)ejj#0&Fr9M+6HGJx+5wAfd0ZZYiRI@~YDZ^8?)25rqWk35EnXDL5@ ze}ye%V4lPJkr*P+*nkC#$!sqt)a$Hevd7&YpjK8m2_0LXxeREy9sPSP4qt0x`1Hk? z;s@%F`F{eIS$oM-a?jYM_)t@=*sj>41qnYYIBf(W@`!bguwy6?3ph22aV4`Rapy4> z#%Q4wOh(=EG+*mPbQ#8dZ~->7Gzo{>{X{MIYoLIHNijCa)DyqvL&oKXkS*}-hxotu zqH=2kCt(2>Z7w4UWLCprdEk@Vk&h>yzoZS$D9L67;?XKUMgw7DtNR}iUjl3&glZOl z&yMxqZ>5&zgYl(${~-nRSAbE1+8X*{S< z&AsDkvhGd!any!JCA$3g+CWd`E~7k2bUlo z&dAFpYpOR4PTbxcYGd`=EVx`I@*^TFbo{39=kvGD*VKZ}Qm?MX`6Im=_}|4hcFvhM z3T)d+OA_%Se_gM+SuuJxHm5X57``#4$7t47GtQd$F#nsmWLFGLb}I==(uG5jyQxfP zk7)VK=Bhgu;bt0Uize_>sOqpp^;f~Rv+n60BesB9yWYWlZ|SwukmG+kO;ra$vq_bM z!TuU8OlRL{$Vr^`)=jbuP9|RfF%JLxOZ-be-`7u`YZJm= zbU~q-@BU~K3zkB4@ijGeRjYM8M*dD9pO|u&66!vpAQz{*=g2qN6uK*gCFKYi?5~sF z{2#MGnW6cNZz2+;-^)`Hkp5=re);mH8VFQc#tcEecn4+>6|LVTmNdLe>`VSxqfDci zvfB}vZd~N5i`L=33Yt2O!|tKK{pvs$WPA#?eYr~}jMe2L^twOmE_z2JKYf(;>c5E} zn{=0(_RB%alQw$+d6X6#jz5+XFs}$ReL!+|Ki2gG{fs2eeafT_uBER4gPRX1tGN4@ zuzLk%sSSp+bk6SGNbR-rUsxMr#g<#XDSaMzn+-9SBI2P9#u&!f#+b&>*-EmKq^QVN zFS)hMK-|DALMEyWL4u*aHVXH^>>PZPV;jy-Mozwd0S9NTub7ZkegBMg$mYB$5J(6x z+z;!_l8#{INERtc;N%_%%l|FtDtNgrT>0zwG1XHD--l-wG{d)N>?QOawO$5BcK+a2 z0EXqw^p*X6P`8Hp62gZtTcn13F@U+k@5cH$VU`sOjl628jEih*&q!7f2($WU3P=}VbBVunxo;L(u z%230~n;g&ULPHot^l+yUn;)ml@zuCiTnwxBrBIV>}8_PTz%-?sqmj z|HzuuAoVffrsibu`ZkmKx&nHLd9`~ZL8rod0W|6puRLf(!ZR{ znfC?491jX_uNG1{zHX%Wz%cT)>yrvsn1eFi=>yi4dkaE)ACTv=VE0aLxiIZMgg6cO z_+%^G?~lW5o-FE-6K`AJl9G^6nKIZxO$(0XA^5(kYWGjNH&%g6R*yArsI6n%?L}}N zTho&RXLd>ZKg30OGR$i1o#wQ69&n?tS>D`)Rp@ZVmLivqhn9AzA?lQO*w7)wBG4*} zwXb@d<^lT)rB$j@mz*;;+RFC%!eSA_lZEA?c(UWc-B*Br&7e>$n<6Px3Jue(G( zMT=VvNvZ_htIg`eGhu=|3z8mor@NBTJd>OVvSx&>3lzO`Ysj^Tmo)1Sx7AkGHWi5= z67ll*`|3oEAo(q%Kcc@!8YtzJ?g6=kJWxYR*oteajh_p$YYr|;bWnTfW<47R$UtZ- zl!RiKm@cVc%Qr7(R(2g1ou7YU)cE%~i#aDCi&?-+9K2HHOv@Pcw6|N)L5*vU0xjjG z_ZdMBgrC3@(GOdjY&=n>198XDL@EQ5 zk(sO=+J(W+tJeEL7FTz7?P4wA^AFC*1&hZ%3UecWgt3Es$tOOTsYB;$9#jf!gAx(T z^DlJ=NB%bTaVD;J>FD`=o*HIQ2*n%3?cRrOTi^zUqfbWp#L-O@O*g(2h%KVn4U7#i z7}2wf9zGyfB5-^g!3-P|auqA#A~8g=%Zeof0oIeq^7*Z?LVx+u=m>urlux?ZL9i!CxG1K~JCsioi)TzScf z1>lAApvU`129`K~$a+2f|Mf|_7Wu5L$rApH?F$L*P8dKOmAh66-tjC`>tI(+yrC!c@u0DAu zht)|~VHF8p4BQ0O#6yl{HH-&$-~14Rud^`<4zeJQ{u4D{PO++VkgbdxEWBT~Afn1e z|1FrPF+F^DCv#e*Y038UkY%j>!RshB@`Gou9>ZD(TlUQYmts&t*U)8^cySp!S8BO-s(ui`OT$ z(X)VzttmY42iM%wLCLd+(FkxfLPIz*5rSlthPxovMLwm)vMdbyy{f={S?6jQ#>D)_ zkbx%1wkb|fr{rWWTd5WhQH$>d93YAL46MxWfg_lwgZ%1yU7QN(0X)p?cP4?o-v1Ug z#>9vaIwBNnqn)mgQ$o7W)-^$_r@KlNlJ zBEKJjyp-*F!`|fN!Wk-bvJ=(G>C5~|8Eg~%tS?HGTGckv?J2kd_psbI`S&<1WRccf zb@lpAc4Ay)qs5+pdH1`1`NXqUn>9w{g$iAp@M`9dj>1kbgB4uKoJYNg!k7aT47u_c zDI&3~;rZCE;!~_KhQ7KnCFC}J(Ik60l>uKWoDUBDVO%dB6Vl`S&{hcytb%%?(XJ z^Ln>aKkGT4XPZ~QT+!6U`rl|6h~&BtvwoUiM;IBTq$6oTdL3$5^)F*_&8eg)Efm8A z$H6lMyykNcJn!{#_G_h>EW?w~B5W6-P^pW2$X-k8&_K9$c6N(y+V?HH>0CuiIjqOE z^9nPkxO44oZk|rH{|xSCbNAlJ6^)#^8wx=0)-}Ioa&A~VV7jA)poPhI|A%Sg{HWxk zHpL&AHpf0~rMu|*!VG^IqP=JRwEho8w7A4RguDQBEI%kDVTs!emtvZ>XBxZ{MW^|l z47~^dm!PiedN&y}GK~j8wwZXsP{*epOWUmwK5njrsbHP{z#O?I!NB*hXIgMkW)c$A zD9@9R6n%sP;zr+9bWDz>9|#_rR0vp=)B71M6SyiX*Eo~+G*@TRf6}c~Rq>yG=}j_D zE_^J=E_gIsYb%UE!ljkQ25;ttVp_NC!h@DW#@h3>j<<5o@;Y^~j$+L!xB_2W11ffV zQu}f)^(Qrb*dAJ^*d&-9Gpb`h z(zK_r)k7>&g?L<*Bn+d`a`lZ@$9K=3JPu3E$+^XS#kFtnnrwMZ5;XDamyGW7_Nkn9 zb2jaZ)8A86N2*ay>np-OcWQmXCFM898minu;FtMuuveIj!$AmCG|>K68|>Ql$$yfc z-IIRS=szd6Q7#KlbvPQ2*hs1F)-=CSwN8fbn{cYyuF&Zr&p-m;2Gi|;SZZ}_F{eLS z-+n+@bm`_7J@hL57v`#LPY$u}HYr$1FY#imRA>I(7<=>nKjU8E+gv#Mq_(q=K)SVJ`2S zfiG}`!`gA;g2(wC=0mSnvx*NvNJqpya)Ra>LA;WZ1h}~MU~xUs>Z;j8!DYxkjvDcU zUG`i!yFWHPKAH)v@vm9IuE+fJzo3;UgcSp5GU9LZ8OGclS$PM}?LU=bYp!X7aFIP) zo9dy$y<(&|slS<;wV~mlR^`81AHC6#iN@UT1hgiq@7VaO$`c2NQ>r9dLG1Fjz)&M_ zr`X-)HTK_6)i-`~gYS@)=6-4|A5A9d+yt}_(9vQIwk7ok#ecsbtGg#RG16#;qHtpQ z{t&l~JoiS-LSlx^*3`=mcO*XS?`|iSqv5ETUHo6Y7$x@K#WlaRgV7ksBvW<3>OmE0 zWaN0>cvd{u4HXka;yiMi9Bq!{etQr$%{?uzzs^#CsJ^Sk+*s10osUa<&18Vtiynb8{}P#{chR@+e86ZQ^9-67;gO@>8H%#OIDu z=nw?+IdX}ZQ)`o?gp_tyZLpCmTuh~91H>~Bm%rv(t`E~-2siPK8_$kY4&^5v^auG_UBF&ByQ`aepK zZKZaGBEPPCG`(GPIZ}NVeq(Z-#wFi#C;1U!P-eXXo+?d4;~Wv8zeT*N4h|RgZTtT4 zJ{P8#4uNbW+RF}}5E*fo(fnuu)qkCRU4Fb@*C)QN%7JJX_?f&~l}3HJtrg?ITf;XO zhcp9jqz$HWFI{*A!7p~gt*x!Q(K~om6CnV{&j*-Q*~mNgCCAua)j8}C4Y?I@@~qN` zR$rblDv25)RV0Ur!w%*P$G6fmT%Z>jsH8!zo21j#b@4vh58vK* zTo3E*?`?oy#MxQa3R@(o1c5HXS+vIf%DrYQv||$pYyep4RL3h}IqDbhUsru`@XEi> zsev%c52*?CFUeAVWbxW`U(H%XYmigOw^eyFIJ@F1z2j0hm##746hlVW_Kv@=(wRNK zc|b7OF%B41LVQvTY8ZU`pIFfx&l48Ql=iU4R^S(X*UhZ^z|i{u=P7VQ6!va03avPJ zIA~4TBI_VrBSOZ5h+u+$^b?(W61tj4b7^?IHBLn!90E9H7cjtz!z%Cre=01crT#wg z%S~E6zh&0yJq~71hjxf6(iJ~Tlz8fI9oiw`*hH}3n z5Ov)>XM(?%XeHb^>i%cZSw0$RrFZ@zsxU>u_CGorYSn?)U?!L+6<|0!IlD&vYihhN z%8J^8EKKV;u@XMZ3Y^5B6nBPd`@!(|?#H5AAg_Uu9_VF|y|b_Wt4S?V)g z0q9%qg@(WKEs&=Pq(}I^A1|Ayx{_4E`+ZBC1esk8BXg|U>UkBN+QAyf=|LfbkQ*X?%- z)r4yXCNUXKz8ntcMX3hqplo18KYSi`Uy0%4X2TU!EkV#WHvOSri3Qk4WU@WR}i`kWb+E;wshh<2YtjR*=tS<;KO)ekvs;EAwMd&8|S{jcAb3c2F$l+w?m7u#!iYaV)Z$15xy)v<^i8#k>k_!*7oqK_>-XAiz2F{?&V4>Oy}`l zyesi`Yp@yM@ER`oOnrI#dLV40nv0KRErco;+@j{4ngV@@M6`V{UT*Vq?_3<){q zU8THD)TMN8=;w3D+xadXj6Dv@z3&Wvb1=9>; zBGAnqq1E!x^DcwQ(NAl$_F|1#l`Pmqx-LPc?BmC;(a4TI89J@>R`-BX3g@3WxB(pM zx~q{YsVi!8e_$9O>y^c#K5NHb-~2doO_IOgPW~2-_KX<|;Mqs&7n5v`a&{?DYEsAw z?0U(Lia)`rGV$TzJ_Ge2-qSo8RU_#O_=5>jE&5@IEK9T57y}F<*bfv zrJoL8&+4bP=(8a@VOO7$kvNF&o}^cUBVQCh%ouwqbJH&Mp#w9W$+{q*Qu?U_b6uW} zC3e`^Di7ky;ism9qhAM9aZv%2O-Z;GY1bq|vEN2cos}eOA=q19t?kGq z!GlfLb78R4U&VtWL~WYCq5R*70g@Uh0{$YuWjKSv@cLe!X^y+fGh9|H0P_CNMMIzK89>|2l+mzX%N`r^EQYnFwj9fCj=lZ~!{um#kh(C7Qonr>HtKTC~_`oT4~ z2@!Fv|NSKmDCy4)@V2JbXj7&ArZR~!YPyCcfmgcV`2hT`O-5$vb!{uur&&#@AK77F zLj(#UI}nX6n|Mg$ee}VMJi4Y0lnr9|t4Gy0Z@Squ2D`gz-+ZWCFU7b#Fp5rb4F3hB2QAIB;~*6%gK(sFz=vsQao z8^Z7B?w{Yhu@-%Zs_D-rGvKN`W!Y38@J@PRr5&-phLtiTxyvL`;lxHj^IosvKUn zFkeK}8;y+cAP{g>1!6je_%J;+CsO841j)MX0Xw3(IMH(*kq9zBkStxpO zHk946(c*~M>?uX?>+$OM%w>sKX+@+sP&t#SiOw~efALe;1b0K2bou}W!oosHp-3$JT7I59Y9vdpty1K-=B0$Shwy;dihB z*$``L-OV(|YrTDma7g2G($Kv|FOTl{^d#@))w)+0^=p1ZHKnk4JACkiO&5J%`25+z zNv z`B4UsC+#dX1d3LdR57!S!zVF~?o%ZwImR5xIEI~EtJU+6!|TxHh@ja-XMkMEs&Igo zue(tq=n4D-0om|Da!h=Nov9Wl&Ea|Ouayi^`ywC#7WAHUlVvSFwb zH>qM#pck;ccE&|J5WX!*#A>p%(vE4OHjKPGbA}Cr1__DrWlQbe+D_w$EvGYt>Tfq~M6GBU=F7T1e~1eCcW8|;)HPpxy!rXuHJM+^o2I@*M9Bcg@2An~H#rXj0+gXl3@%nx@n_C_m3Jbsb_XE#Y3&9bG z)0^@yObzH>_ngfp@oX>0u>o6DSI)xk0J zLsi{o{9->lgumleUpKaEW&kopLBB6$g?JP4r7_LL#pQTemMOR*yBTs6vCGUv56?uO zQ+r8P%Bi|6`4CpcYRQrDLQKGIVr*p+fPBsM3Cvac@8(X~N6(wrPq3Uy>io_RtOFB>w+@^S_HKW4vD@ctliEZcU%-(O8Rd9Z1IqQC=!W?2}E8oe6TzOyRf6w|A61 z_s@mTUrPZgb$k=four0<^+@&fwZ7|zB{_LMpUSY}y|_5=lmB~ucnxo}u!jNcKP_L>gEe0K z_osKhlwv92uZ%JK#geRRI5`#bo zHiQfC9aR061b_+_YXI|09Wy0YI=@u4%g&h+ia*O2UM-WT2b`~|gd*99H@Td ze{qU1Pq<*k)4F=cpeIXvL&Z4_j>lhT>?kAu8YTyubwoM;+MDn-3^%D=Z_h2Oz-y0NZUa=D?Kudk$E?WD} zcev2z?4+oB%{G_wXCD4%T_?tiNAa2;bIo*Mi$z*+adV#MKj44t0SSk3GBKAsIgazJ zy~3=3!R-|c4jDr`c`gEm!W`Hg{7QI6Gy*q3eKGY-XOUM?8PgbTEU)vjSN&Sj=f5fJ zR!T@mD8%tq!}`60eJ9Lr;$h)GV>bxc$d1uArsmrbw&RUjYCjX_O@sUrDbI6Sni@$p z<0Q-ZwR^#SxfNoUZ3!x|B5Y{@2GCHI(< zvT7|NXcd#`2Rc?j++ZF?Dxft<1;dUC_GWOMxDX!wZNFA(S{wQO?QwBp=+l4Kp(b}@ zEs#5R7b?Jx?s8z7Y0l+L_82rK;JI zmRxD&h~;0Y-pz*Zw>viTmd9*j5V)+EXSv$-l7>d$L1}A645L_{GJq@n}E}I zRfeA1TY`=WP2)iRkr66l?!9R zQUmqf={aOT1yIPYA%b?D8b|$IO6h)WdsDr#5z#8HQWr&)6n-H0=-zVWhHlMadT?~b zkg^T6_va+IlJv6OK?N{F{M=wa?E{M8M(DPh#!vr0YuXjXZ3-lc&fQ(tEnJVG)T2@!@MslfyoF12I0`XL1yWb%A0WU8a~$KkV$ zyrAx;Fgq2q0gJ)bOq7a+qv5Y!c4POdIhC*Uv%K!G>9#7B`qe|6ZEMueGfF zVS99K4Q~f^mpH4p!sryK1s!lUi-N~QI29g=lbM&4v2-etOxVSk__lxdkPJjiVD+L8 zMN)sgT3%j3HrdSZTQygzQ_+l@+kRZ1{N{cl*?E=6KVP?>;5>jcTe+!N3?O+n3JW6V zhe-$ki#oXgLKG>+AC}P8*0YhA`Fl)~g?Q=L@5tu$8@eSt;D=S7jIUZ>QwvZ~xy=(C zfX>QV#(b-1>K$K=thd=xOEL6*lBt;n4^$^-g@yZ`KD5pfx}qrkxU-ZWx;gVpRp_!E zy56=(g@bILb@`}KFA=tU5;gD;ZG3!kYtt+yroydoM4Su!DxT=b5Tv%U175cFZ?`~_ zH&B@gG{4Lh~mS#QC3Z~wXCop`km^@u*#)U@ruC~UE-MM+-O$+L4tyd2-@4PncF@Ns!!)LB_=LUo>BT z+uD87q6O}G z+H91i!?h>8Uqe-j6#ss(8rR|#Pfz=U&5iMZPjU8k z+skyqV{T;Ia$X&~?UKF}NyiFy;@U`AVz1^yo~958C2*jBYCX%8jnmi>bdOZ4uf>1hy~L+-@ICCf5Bn&- zptE?-ldoH<^^ZtWQ*Lux%9~9{f~67~!^lGl4?+in!!en+<|$FOjd8YMRdZF*i$Z3NuY~T4d|DqG##aqw2SzIVsQs9_w6wcUdCqBc7o;Q345lCgISN*E&94GB~wzp^gNFB$MPO zccYt>3Du`7Ib2Mmex^R_ER~AgInjzZF)I1jAYF>N9AoXiOyKCm3=pdyag8ha?JJ+p z`(a8I*S6#_fnTB+kbxxF2 z#jbrn$>Gq46i$DeEA6+cTvGu9=q+m<+Fx9*hd}HEr)`L`CEva)lDA=w=K(l61Y(b8 znTW5+AO2FCmgBc@$ti6exZ~w>DU{M31oAGx$4)o6{cQa~2h@ok6j7@@aB*?j3B`$9 z|6N>)cr!B6bumu$?DyrJvDcYS`je%~ztX#E|0X>4@qOC^aVnNoZ)ID8+rU`7fva^UT-J#=>vc zZeUij!}o(ZwD7}k&7q*{6{inhi-*xA;cp^D#@COZ_(`JQ-g-+aPvrE`6>xM#UdpSe z^=t9G-7>dfdRN?S^{>ViKU-Q|g31VlCD*oEkrA-1f3;O@YA z=Ib<^$B8mw{{5pz)YSaC8NJIVK0sGj_t7Cf^2rGl=?wnGt`t1s#$}@U9n4kzyfU}% z`bO{X(o)oKd7j%Yjfn%6uY(Y`{>xX04aXYGY@u}(4bu?TFNJ;*r^ndUCd{Jh`mK!8-XZvy0`%`Jff#udeS>e&P(Qn-L zN#p9t(h6Fe{0()%$TQ$TIE;Z0xcjaRD0&{*Yzan!X&zAlHU`c={CZOLr-AJu`zvf@ zWo#n&*`F!jb(+?aTdmdEGo%0B)~4SV)_k`)@%`q3abzwJsbOcJDKH{;kRn`W0c!HH z+mq_5ONhr)k9iQSdtU5H`g{#p&$*@NK!zf-HW9qOutA4AbTlMwlem#3U1VRdNAV-i ziQoi8yUTt;&MFNSpT0j`@gG7e`(_<4=zAwVmW)msl%mMYl+4eiBtb+iWA6lTBd^eT zq(j3#e6$~SxAS3tmdLuvf)f%Uax&%OD@5BPO4^%iD;aDAfc=Xb;#h|cAZw-SMIrWV zu!b&QPw}kRVZMu)5vYvLa9f#63Ml!sx1R<@n3|>w0iU%e1hpOl@Y{6D=Q+SL4-bPG zJihGoTK%`G7i?Qz@Hf6D+nU=xI?EwlMtLsA^C|c8xvVI-$$rsph-}XzK}}U8ukSC? zD+Pd`0s;?9`u9vlzy8EO|Gu!E>3qzoi~lNn{mDr3ns>F?9X7pAwXfKoJoJd$uaz=E zbQpk~@N%ODP`_1zsr*LPgy#bwd;o{_rsu4&?qB3rd}`UaCm%kNEBm7*Bv#{4*BUuQ z8xPR~xKh3`0^c4@P{mr>wmQ`jIRZ8&B5c6-=c@Z;>J{zF(M+y!7RZ<_e}0j>hxg|F zF(T({Z+2h7iclf|mElWbC>lD6wO-j}#oY!<9&s((PnwOlmH?lttDB+dNU2YWUBGmA zBtFCdFfKtn5ADws54g9_?2K1U*2nXAUrinT0fDTXUCqcFq=?eqMwH~D?Ly{Q;BQRT zhUg`htmzCzfUX1KD;3rCQB=hGzUQ>;p5o#ukUV@Zmmjh$YkxzPDg$~9eQbX0`wk-r ze8_YnV!nPaz^$vl9DA{GOQmV#80v1ysj9aKYNvS2-Fpgri2|6db{3}s3y1IM+9@-x zGqe~SH^sbn)du`G$S;RL% zX5Jq8p4c8r=Bp1vl!v~@hLfYqKZ*m+Mo2*_c7=8NVtTkmL&dC%f5ePdRwx-lTQPJq zh-PJ1*tKI7rcvq)(ScNzpe;C3?qH3vw5;+>zBAX;QEJ?U-(9VDVC%Q2ET5c&2@Hg z2OL={Pn{&u*xtLLkqun(0cTHDG}bxcn-+^)#5E+`Px5}napoS4M(h;|4hCzc0a1+x z=NW@P7RZ~#?GryHh15(4@m?U%BM0FLDaO`0^^VLBm24tn+9#D{D@JCjOuGA(Yc!&ZB!4rmX)M|B<)37V4UDHNy;EA5zxf+bXM<}kKTf_ zJ+@RY5Kjl6H749T9IrZJTnU5 z;`ScMSo_+wmQO{~nrAB>iq`_8$@lByft72g<+`2=+labXBuC0o-J4Me2!p2-4EmHw zfD9Qm4{nY;`%x}DvUVvrji=Hv)vk+nc(;;~Y?udtvJTW#v+gsnl50$cy^A#YvKgsZ z(8KsRjEz8f-a1Rw-Zf}>Zss~gK?dyE2j;fx3*(0=q~~2`Z!l8HV;hF*F_bJp??3v@ zcfGQiQ{y5a*^AmJW-uDS^4Sk2Ace%coEv!b1#Z#S@I93@H&X|$gcJYM)bW-Kkx*IJ z1NKYJ|7_GRf#d>u!oPPwTS7Va6MvpMoB?|Suq1CAXtN`X87mmHuu>nF5As?JxZ~zj zbPeakSl?#=T5)*c+!L^}W0V%ulUhM7@ub<7g#6Cq6FaVmTI#&RY+!hB)GQee@7P^j z*GJaPzjnq^t@~y{5kV`|mH?2viwdm$%a*5QhPuE7lV?%&vlr9GAT^@$2F4p5;eEHb zr(nihEApQj2iQhSy!y(Jh55~*cYw6Df~qb8OiU&y#N$nSN62?Yy|jE?eCWg5{=H7u z1^FVtt-q|YM#re!r!WLh2pOT+4xo#|@c0QRU`euf3os2Rcr5ol4~nMq+M&UMy(wt; zIvya@)w!SX^N)Y7h`9NK|U|_m}m~%~q+=3YSh;hjpyxc0Q!jJ?*KRS{4^nz?T(Dgc8t~L_?qBWV}5bb+}Evz6eU@;3?|puvt=!FeRfQP}@n1#6j;yFSA5^l!5tKP}o^NBJd1E z%}Vs&8Z+nY2OzD6D_Ym zFRdqwL&qlFfZrU=d9Z9{ECj1)^c+)Gu>%@;0evwVy9Oj|P#6m!ym&19uIK+0KSqCF z4cX6i_arSJZsY@+>H%in$@Er18!{cjqLNHK3|S#-;8Op950Ax$86BuJMrcf&9)A=D zyty1Qsa5)SewUkqBK$z!^_}T5~ z1pVVl+DB*Sb7Ei_PA1^W*MnB=sFjWGgHx2(?`w3cY6k9^UGV#>cb6`CCr*O_i?@P{ zc(|dSReDu0<80e}YJgY=U?V&NCJO5>^^BwjZ!KFtC`43!b^rBU*7K8n|1ev0u!>uc zTn~I|Md|*w?WbzKmsHu-n~4QNl_$f;T38q_ca=34_}j6lvHgeV!X9ocODJu7X)CjK)q;5R!1 zg9jp4+z@|WLc3Qcf${s1kak@MZ5Vc*b%pg|Q~$4+?oHn>pC+Af-+eO=^&uoc6JT=$ z=Hjnc;yF2a;&q#^r9qTOOZ%dQ;gR{irUu(S9eAoA`~xW9cPcib5hs*F1<+coDKJF9 zpF3VwlwhuU@i^~*-dkWO%X_tTHq^Bw4QcHMcjF}L3VDi09O~mqJ`XtodZGCk4N68~ zesc^1!3_kt{{*@=wfEZ8uFGVOefWIDI{)c`k=W1qPx(_IP*G~CvM1OLOa{=pdz?o; z)d1BvetY{^3b?Zr0Gjyo=k6L;VG1z?d55mOB6tUh5ORUQdVC-`^$JjuzQ<8< zMd8UJ%?CqL>#s@R4XCl9$hh$)(*FPPW&&qNtuc-xQoeBTqIf! zX)^o@hJ>QEa&%L1A1$*RXW4ZvfR|xkSa_^mzKK;*=c^q^QI3;r(ycN$@*zWd+PRa9 z3I>?Lj)O`Mz(nVn8ji&CQv@aeu8Z{|aem@Zt=9{iPcG`Q4Sk@IwBxQ7fWZ3i^e z0MmwG2dc5-0qySZoQ$Be`N!3OH9--5RT8|Amq;>e@q6G8u^i)wN5_^>0*JZ7o6}9F zilMoJVHd~!ZBwRc{- z^=(VgmZ=>G(^gTJt!&O9U`RFm=oiV1z{rVC*1(e$n%Ul8A=_1Hi#O|6N_z zwt73Dg4fql@jVpH$1RfjOW>gDzxNY;U}Tr+Zg?RI>~MLsQ3gl$OVR=BYmutiS9o(e zAoP5n{UI>&WsV2Tl?*%B%}TqpISu{#yRlQWddG0W;N-4kIV$9g=zgG(L%S6>?#9>C znu3qwAiy4e+Zm*E!jLI!2~?q7K}xpbYDgvv0B$+g_o5v#d3e5t6P^QQYdMoA^aSho z2UGGL13)CXOX|xA{fyv%M3>~)XRiFU~{tW{N z1htcH{72Xsg%dAO%r(K918|`v9F>uIIZw+V-tTsSiMMn)8<%WMQ1B(Lrty3PZ)_D*$|dq!h+lur7~?i>9YQ!5wxYz*aLK z2@+_@PE?=YX+jI_UsGvne+FXXn5ir4cm^0DqvYb16bl<%errK1P9P@mEoUZx1Z6Eu zmWrzv8ZUDoLr??C-xyJjla3Yw|4tr$p#7}AU1MN`9F#i^xp;XcMx0nRkE4dl)h~JE zw$E*BZN|q6=j?XXZk8a#PFeT}=y(gDVM*y~AEMNhKEWpjc(uk2MdGlR&vB}2=K5<+ z1lAShGRZK7vAKDsIzO88wJwqmXlPI+virR@82bK&8t2{QHKm9J3RFDxr;eVa&9jL~ z&RSzMBfUFs@qzLiI~M}n9(wWk5kLC%W0HgW_X+uny3n#QiSZ1|NPN#Ju}1>q8a?{9 z#>nmv<40ChG3|sZA|aO`%3Evo=sJOJcrz@)gvKDsR;ve*A*ny!@ z;dwY+#hVN0^}^oe&lXSBQei6&v&w{}nc!s!I)6mjJ#w)KDie zrNDYv(GN0YSykI@zbwF_;n_pNBQO5G6_{@JTAKW*m8d{r-SndN9K6kQ(Fqi&f&80< z*qaYjzA1Tn5WgFjy!;|YGJ2=TR%@RIv3e*^&rxP>&ep*b3ffcJU=%fM+Qx>Q@2qzM zi$J-*^eL6i&p7tPRM(Z(uG)kztCcjq#ZIV`VafAhi?G6XKdl}pWh5RdqON;7jwmk{ z3M?6#`?_Q7ji6gWR=&uGm}>3Z@5`{LYrV{{)(f+TBTLc?asx51aW z;tkTX56H^Ky}HM<2xC~Pk%Fjs8Kzs?tjT~yTA{2y@YvkElm{?NB$$OzaqyQq#;ef* zk7cPzk(v!y>M=YRq6?>>>x}&;ONY|=zxUfR<%yPE7AcbEfvlu|;oukb5nt57?=E#a z)zcVP9Fvg)NR|Dm@t#iR666!8d(ThduRDc=$fOGyu|f-LJy0_Q(G2^j8>vJ6A9jUQ z!vVze17>^k!B%sJ)ZJ%2jIayluN>wt=BwwmgmO;aw+(?MmhaS?350)DQa_)x)&ySA zgB((q8?^`5PJ$YQofP2KBordRAZZOU+FAt2$;lA`9oWw`dyO;ufe`pGWu#vQ1Cr-f zj5Tn_tc4|i-0uz-%}87!p9k@a{SB|`eaV@*xgD^By<(ub26CMG(tXx9UY4^pZ@U{4->NwGMcwnJIrqL=QQ^P0CT9|tWJA0`fWp1#D9OzL^@gLn z6`;3V2;pF*y8-dY2Iw$PQ5SD_B7u2Z9)}gCHAA}DZiu-?cxrHjRHYw%r+NuO$mL9J z8I0Z1nf<^O@ZZ7NK#?nhu%E>`j?zkCPqJz7$g!e5IB8Y7_xuo+Yvyb^(5EK95!6Cv zU;=4vAUyNCajsFn21dR9@hKrJ6qTRAJ8^72Y|?lB(wD(TQZh(L(RZ zuP^2L)tYZBU3zr^#@;`Si#GS#MhO)K<-$*-evwOjJj;#w`qRO%#Oof(E~8qaJ|~ti zLsQbyX@vDoDRxA&&)C$EAg7AVL?pBZ0QT2U8r(=t!z z|7Q)T;GbUHKf-HA4lew zDYHF@$G&1y;NouPk%1{^Lk?b1wt?9F_$yO#sRo>yx9H2ni{=5Rja$Kj2e~9lcFWSh z=Czlf(h4~E*%^&_mWhl$(2({}7Jaq55F#a6Sc*U&w+pl$drTQPbU0A`=VEnncOAdf ze39Dl$c7kjVUkYqB*_(4BGJr=3-ea5ZhI+>RACDS`otT>djr2Qk6_#6n52Pqhfn7 zW2%A81Is;L@vIh$4jG8A|L#`WYIi=Uys-aJ7p7z$!!2!fQLKj{)_1_c30k(Tc6o?+(Y|9-#g-m~^P_w0T4ej)}j zPhAi0dBmX)tS22h+Lu6%*d2@A(t@-@VZvOyYhmHZaM4zp1=?gTFb%mIQ zaVuY903hQ4|L%N>0+9n&+=glQBU;(#l2M6@Py}!F*YiWEyV1-xP9PYI_2mFa7^RL& zoNh|QP;-BHJ*FnDNkGe zV2SYiJ{rL4V8uIjlmrH1fSjiiFhWF0zC)0G;QQ|Y+1s}2=tw^tVpfM_Ev7VKE_i!1 zjSBA7S5s&^;d`2zMbA2fdi-tM^-O`?Ccj2>bR3ipF5EB;&x<9pKWOK=UjW8s@{KZ3 z$(b=L{2WAQ2DV3Wuwi#rP+}uKS#h}oJIz-M?_XoFR%-@;Q7QZlC&2U4m(G{Um~Z)l z$?hCNsW+^O-4_HjS|5G~Tc6UV;`jo!&ddIKi}sa590KIgP#a2mpSaO6LcHhs82xLZ zeQcNW8aw;ZeskMv2m%7W)dTc?Bhccd2Iwa9>zAMO$FD!=k6be!e9+$BA&TaSUrs8w z$H0mJq$W+;Z!7e-K@l}PgST)Lw46VBH#~TH6=nYPl60 z>1q37LsGMg7PEO?5S7aMcJr@fZooV{Ibhy{fye&JusEEb+leI(s*X|$+1i?ehOu7H zNvZzh8T})H*X2rD9HMhA^yaAzcHGL^_WWR~#;yhrdvmU+@=J;WI8B9Os9D3I&9ciw zw^a(1O8uJy@X4#cid9D$u6gZQr>&oh?uPvV+Tx7JrH?F2XDE z6Q0SN&~>yYk-`JeJW)r|KN7p&4!qEFBBjkSyCd?8l?7}g6K=qC_h=x|3kQ)6g;yzk zGZ4>V@1+D>kjKe|t17673@|^$IAoFG|H!B;>twU{!5P{O?0ZdBkI&(TP;iFB>4psVb|4bWMd`ke>XtAPk=jy0z|p zsgs8ip8fjdXzKMpEy)Rpk{B}~kkw4^8c|z?^INoNz%Iz@+%HgLn*Z>Z&6n`0U;SYF z$GspqV^wOXGXr_?>IO9IcPFXF4+^uR)7wMgGn z?C9dRV6%X%5K7y!Z&@!rD@?vL{>?V)M=3KaLA4RbP;Dp&8JP|%YZ`=+h(n2G<(@0Z zT2)nM?mjtL_wrlQ%-h)a->R;6g_{DTKMj7{gyo1gWV;Vn{`t1`F9<#?8FaQ5-uLN+ zS6bzT6>2`>a`t|dPlJv`g&n*MO{J~|jNoN0hG;CAf5T>;yl9(eX~_J8u}n$2g5yug zkdJy1RC^o-$XEuO+HF(7h79`p=P>!FrCP;>^e(|k>%1qhYZ89~yQVp|{jpf7h zI=jhOygaNnFvEh}g9)4sVd;in988Te2H`OFZ})L|eB3V~J4#FG$UTa{?%^+zGP)N*8K*Q^Is0W{h8=LQ2-N zWp4x4>NGe1Z@ns8_*XWum?2_tl_L*(u-mnjLO*@?x@zt}LPSWT=yFeuzs$1k9^+2u zr}syb-*HSGa9%YJ#nwzv2t1yf!bvY{w1qKO6lO|yi@#LN=SK(s(5~+%uD>aq2fo(` zNzBg9@|BBZTY;3ED3d>Z_YpQIc&q`7K`poBAW_64FSahEOO_H8xDTfb;zA8q;F;ps zAm7`iKpiZ9f5E5DpEo!3oBJOIHo@t`xH{5pwbGN;EaUC9XAd=S{}H(Fx3P@L&OVJa z`+?%)6uOww9k#)&$6VC+$a)+o&o|SA} zJPy5(k5~CkI048@|LP(IrOO|_KkeFD2urjP4)S1Pp;VmqG4h!{q;|qAEeilO#;CxG zt-L;Z5QMXcH05V5(2SkH(`z0rS0k+ci9AC=4(%u{?YI4j@^SAc=|b1u$TDDrXM~6o zAZ#ES9?1=h$3=GUN50ld)fkT;|Ft{4vz^RB!Zu1;lt_B_Fwpm$hFKitaxr^FCW(DC zYEHk)M6>Rcm+(IPhqYV&G6ZnOv3A3biL)_3*k|)#Ge6}fLQsRxPDLmdr|X>uf8=2C zGt7WQhULGFzp+md0KyAVf9mHy*yLzUGxOo&s4N?szZi>#{Kp6QV^JqQUJ;`aUIE6Y z^@QgW8a@J!b?R!oCMkWd0jbC&Gwhc&S-|C9@XaYTy(zGc6aJO(ded|%7BQ-MA~i9U=O=p0|gD-grI>m0hvz60!oF&%f(5PlKPrYGBV+ehT44oqt*aS6^%@gZl~-`tZ!;7=st& z;lJ;?PP%JyZ>W=1h!Do*gu#C^E2N-gdS8g0>LK zt#TmFAe|%ywEc3gWr1^0I?I+v#n4t2rm$!pi_uY0Z@(U0$iijSQZ@Qu;&S<*4Mfsr zk8FAPMD(3P+^bJ%o!;?%{x7c{t`s;kwll-O%e+UveuP3FaOvl{N?Q5S+%nA_M0Ht( zQ6>Rgg%@9^`-8p3;(y&wi4Y?rBQX&X5nMnmkI{>e zvRw3yYf|tC_u&H{ikvFna%PFYdmw)x(LT#M;+j71EFf8R=9w~QAYcxP=A$q^h7k#y zp|`3(!;Q3;`Z}z#GXS@Y;i$!zrX_cO2<$}usMVtr4#A~iO5re(}&J*=mgMN;;CG)Q(Rs+k%A<>?qrH`WFQUY0UX zdKP82b?*M^3trr=gZxn^5yoDvlM=T*-w)#%Ek9q(e2YUJM6r{&bMvF=oqH)-xg@66 zYyNom-Yx5k(Fd1R+4Ab@Ca)8vv0ZGj6E!gQK&b+)h(`dlNh*be+-!)0rW(_*7L|an z|GBmYxbL%vUVP{n?C_@=uhLaaAHtD`@7<_QJHQnrE~*?mk`D7f!2WglfjP6 zH!dd--eIWb0<1t%`ZfBqNKJl7X$uj!2^6W(Kf!$F>b0bJIXXyJquv)@HMEoZr{=x% zb%P|HZDFFT^u=g~A}#i&ZC6E!M8-oOakztH3iSNRl(feMT5#TyDed*^D$p{ecS@}{ z>}6*6aa)saQT5CD!4~JiH<1_;=n<+#J+aswy+j|(qzDTZEKUr^240MgMp{`WP&>mf zWd%6x&RQm?bI;T;TV|B~ggym{JK=qHi62816(n_L=vTteZ^~+*>- zTugm~S!(um%-P0%9pDFQ8J0_2aPM&?R|D)`UY*ZJ&jK$7>Hyk)!eguU57Wsf%ab*Y zIeNZx`2gySI;sT1#pjC$+6?QB1^^t|fh+7x4aY^Q!{g6hGel4Y#zS`to%E{{d!;&X zd-BuU<0)j++B*e9Vss^SW;0N5)f;_|D!ic^6j97ULHD=(cdt%e z3!BxET7_(kwRH7td-jV6@w)~fG57ZnXZqrE64s{er`h4LiI#~uf#fpP&wJE=&H0|s zbN3da2EV~1dP6Ldz*UW6DK~Z{*i75|1JnKs7ce(B#}YEX(5(7$>}uvgbR@4A@J{y8 z7|#Cs?Qvveiv~5t3^k|*|0<5a@@zR#3S&y#rL2S_Ok$r$XuP|6JBYExuhkw@iU4KP|kOXH?*1(i3| zu2`qpiem&hFbx8}cPQ6Bft$X-h^Oc!pCk0CmQT!$SO$Ss*!NpS zQ)vN!>(I(=oQP_v3(Uss9@*ryo<_qS9nHb4)T3OQOs-m*lxPi|0x#mH;;-Ec&<2sR zG$>wImAAkYMJa#<>HR>~Zf6@|>eokhszT4bZ$55@uLb+!dg#;R@*~}HRy0=@4}2Ml zpHvE|R(RENexSs9Zfwj>D7-;q6MoHSpus>JXyp9rDvxDs6F*JPWzy>v1LUI9j&}Kr z0Dyd%Ta153pyb2k!}QtNrBf?3 z*}nQO^&nSN%Sr?$@lg%aM6s4_@lSpUF81!p^P=}Jy-R};1e=UiI-}`yQkonA)iGlj z$>_J+j^}&rYx=y0(luOZC}-7yi1!_tzkmN0-h@}*72XGf8rQOh03jcCXI zmifJ$fm3=`2d-{veM6r)O#v+%glL|<%{>EuCsmS=P>ADv*YzhEKN&u8Tw=GBy3>Cp zI7HNPHSE|g&6|qpT^DzD-y0^f@7^fUGz%f`UJN_E4P--B>yc6ur$LRN53lwj)Y0@; zdk}%DM53&GYVs1>FF5ej#>?z zCBhY0Y{{z|ZAT-Ze<=zFzq5n@vAMa)Ptm`?5ctopF@q*}za%Z!Akfl4UPz#4ENCu< zfs}Q5J2Jcya`|{UM6L$QP_};L-Sb1G0_&S#D;lTkjsul{sFQ7)L-44QnjaxZj!rh6 z6{4%Yon%pr4`N>F4M_B0&sj7{M{GVoMLda3IJ<*C&t=CdfN?Pq;hsq<_s)ESV~2$! z9M0}IP7VAl_P7Rs6SVIQB6tjS;g3MF&)XHz@sR)RqBfJ*?TVO+ksw;D!H`sJmJ;0b z*?`uDT9|&Ws~?E#Dp4iwD2jKV!;8?O*GuE48_yxg@3|U%MF1JUQWF;t8XBsnu8zCt zB4Nw8UEzUiPktN+Z-U?v&>xXO1@WE-?l~gS;a<;~01jh19iY(ixe>YIZ<2V53&VqS zNzUU`wW*Fb`B{&_Ih`%P56F)R@gW6VX2>!L3eXG_OJBbU5P{*bQYr@`bCWVHZN zi`&ZeP=*V}pi0%Zx~1<~q!uG*(!uiI4WG5W>!K?z1Y<9=bI;NJkYZZ=53|hQ!TTQ< z9WRYv%*EW?`HJibQZTw4KRzS^TC-Ul#{z!K@i|p4{&2+G?W2nfM2$PT9EpW~&c8G( zcv9S+x;(wwuQXt|^hrm`X zZGvy}mD^?Ci&!l;ARau$U0q^6s~02kpIt`7Z~f2`$|H%1U0ln1nc@ z98m<4QTC6E(&ScN|5#?YNGl~s+@@xmW`&R-;vh6sYc~}|o05A{HNNjJR6|^tjP8mjY!VBngD9qwthkLo)?SxSbUW=>uBAEWauz1%>#Fw(jJ2;ZFK9EIeeli}b}!3%KiF)i(Ld zBK}CVXVqm)7VT35#`JY#QjxsH^GDYaOQQbSK8(MhCAH;0!moGmX1S58Z(ORVYLyI8 zKZ`_=DwPjcrh|KkAfRTU_FlmD%g@5CoqN6aN10v!j<=c~j@-bWKXVa~2yCVChSh~<`luOcEoK3*7Xzg$iZs2x7-pTOelLyYv-`7`>! zdDO?q=d`3_gVl&`80Bn87%tK+#F@x0HHF@uWG6udOxawJQ1f2U)R^)o4fM97>f%U% z*ZNSh?5c90+Kch|Ded}%pvc#yFnA#l?Fk>>Uj_B7r<$FGrWGm8xUj{Wp+8?R%+Y1npI>sug(-Q6L}Mw#YTx}O8t!x ziz>DPQBAAOEYb1PmzL<<{ap86<5N)d@8bQFYW`G={V_kX71uInq8bl0b^;n+ zdZ)AgX!Lky)zBD?r+K%wtXOqkGkk}gp`!+_YuegSR{xJRf51W7#(npu&0x+t;44M& zxgcBXQau#GQJ%NwoMIdVyImw#=3jqM9e0ASqptb_hlrlwri<3_jPfrwMAU!ylAI$v zWtM?g{P^30dNU-i48|fk5m3X>g)Sg;A*0?T(8(ALB%$`8>z#ElZS=XkG3UCW5Moc! z?4`)5MutEwbmrZZhgsFVE(SY!8vS4W%W(~IoRzINm=5r;3>mJ+rQ$oob;ZBE#^$F> zx-?n1xkTL!%odH0n*aI8AtvzMa3fJpkpQnQXRpj9QT|Ywf2|gA|{W1G|@w*KXmq-GklSX)<4Z6KpsEGU$(S_`yxuE`aTD z*eX(GR(F}U>aCce2--0oPLhf*2;&Eq$aiGE4=%0vk=#}k6?Nf0+f(dwa(0eb?jQUu zY4vxGhaE{_ZYY;{03;&{R+XoJJw^(`M6cTsC^W|QMTdJC?h<=noS(pS@YR>d8tj4s z9>vz9o-3!q!EUs|U+KT{k5KdbXB9){B78@}38v*XR9_>rho)TjxGA`D8yskd1o{t$ z19iOS^7fk#bJ!}q<)3=a<$fzh%HuGjoCLCa^}3pEdi#x1KlHUVNt%4By4})LNB^Ss7sH>;| z02(KmN6xGI1Tnyv43_(1aM)~ec<|!KPu-sV`#&IR7j0;hCi!~(QLTD()9}8%?)`R2 z`FW4DT5tAw3tF(ndrVj z9Qo@ZIK7tgAN8%^K$hI_N-L_jFBBHQNTW{8yur`6^6R;GZNG;;I_qJyqcbX7oCsLR zg;nQ4HVwS$wY5u$oc2g|%gK~SX$o#7+yF&<#Bx}OLEL;Xi?S)6{eV;&B}1gp$M$=z z*utOdg~U9ZXBQ{sR_c&SHuDN(HkEE<>>uG??xeV)nA(qHVnR`9!)ZHLQ>u|?g`O4` z7CDnx7|-=le8p2h%Na@e0Z4nN#MI=suwH#M22b1KjD|gX3FiD8V&qoY2oxkmeM|a(XXU^;9<(ok^^2(ffI}6~|=; zsl+8q0m3J`Rf9kgim*yFh;_|Gp3BM3?b@-K`t)k64>?6-_l~L!b7!H4`OD<7yk37! zt%A{xz2N}AO_xPDg6TM*hlWW8$IAbG{YstzC8zZHd05j>n5R8TLlk=MX+9;1_KFf-HlUB; zBaJ>WQd+J%{TNjed+!aIH=JU>O51>4V2~X~|L)b+z(kL~j@w*(yRlBnlqVn&v&ch*S>1T@MA}~}$Y~~`Jl=|s!(mY zu>FWrS-+4SB|FaA3}s`voR+>2ZlsjQAv?$-q}y6DVp`exUY`PZqI=~TBCQx7M&H`WVT`>{<7!`_Z!OD*_n**(C3oo5yJtF_ zXXS7-=Dpt3@6Q}u;VDD$y_@l_4^w(@D;uh;hPyg!W+i5H$>ll-$ig9PuH$%0X9?;h zvdc*uYL{7R=${plKUDnB;wdt7fAar&40d0vHmDJmb$w-dO3B7yyg!mGT`zE%NDBoF z?-dUxp&fR=aNqPzM=Kn)TXR=nh;KS#R|w&pxtxx>OfHlUUw_Gc8ZiCOq$Uv&Dzm6n zvC52)5jM!iSAn8r3R!pk2AQyb8};x zVy)2r%70G30=hi3jmq&T`XAb#ttfjS810f`FZ3hY>oCCr6z_(^l)5UfZ4P4kv}TB{ zYgIG}(P`AnYX_-$){C>=0&GFfWi1^w8fr@IuY|wVq>C?Cxvby#h-J8xBoX15`m+oFcZ!*cQKola<%x!w2DfsC_MJEhY#{HR_~u>awk1I*wS8gf z>)p~L562v%hR<^LXU*Y0fk|UaQMWUUJ_(m*;_TS>?W<~Jhflqq{ z`Na2eF(F&NoeI~H0uqVW1lHq0#}C*alU7%EEr{(D1hjGV!HFG}ajA)4TD;^6cm2pu zb*@8cfioj0+&J)=s9YA5Veg}GMahqQo{OTe>awdodrPovd3aU*6*S!d1iwzi{^4sI z59%4^$G*e(`A6)@i6#@FQv%jqX>vX{>bqPudU0v~XpEs^@af+ltXC--Wn^=3HqYol z`?JFM@8rQd_**O15DJ`YTf%O}6r7O9rx&6pXGaaDsZ64Z-h3i7NnQ6VGzi2yU<>|2 zUtY-bAA2R65$`;!9})34$~mZPDekhrc5I*ue^li|)e7$BC6iH>C2W#2Ow<{}Ga*(JTibb;-xFK9t^`(6a_jeAWOn#{X`B5@T1Bd1I4oemd^lo)diVx} zXDmV4fz(@fdCVdVb6@ms=;$L@CEYq&yEJ)G>LML;3h zx)Uex8X-asW{6wEkQ%gGcgF{@!;1A3oQbqzf(U!ql+ zVfVem^7|JD5db$kySsBP+<=iJf}bZs5bV2AS#qO~|1Np{Aq_$kP*IA*v#CtL6Br?^AXeA=F{v|_#;x)=ZtMqg6uFX@S zVW~1doO2zJHjNYOv41cmvPuPqf*I+%SE=U7>e<#gtPmqyYkrIHfLjPea$zF$&|q_P zBpJwmm*QT*sS-m#$km&1OgP6}pAd+Dku0fH%-(1i03KP%_KP+FAvD;YPQIav@99iE;*$CZROypNW8`O;WRP1Bo-2NRx zJPyC*vfjNxhQhfb@6ak}m@cvy1&$*Tygp~xe={K< zF)1R2%I3G5O&uKGROp;4R~y;;5=c#YP#MBi{8R9Vf?;sclHSOrlQ-f{+9e%vdnaHZ)nEs;Q=tc@ z?@Rfx5B2P){q!5>(OtztjE$}v;DZNB{H9{UNu6DI>z3}Pg!50f!@dI#lmZaVx3hDu zZl`eRAR&i4T^7ljnyHBObTuXdoev0LZ{Fa%OS7?GJ1lHo zM9i$}S&rE%Jzcb@Xa||$@e_daMQaVJ0I8=WgR)DzATsm*#eI5U=-)cy-bL*BnbNI= zOog5D>)T4mxZCebs!*{7ZSstjBhSP)uP>lcyR|ZN59fLJ)=`Zn!|M-!5yX_gMcV2z zF2?sKG++*JqpY+PTMK1ohhgJil3>fO&J|tK9z@fp39dg6BH*e7L_XnYpG$PHlO>pn zD93|exi!EcgoxM5haqthG4)6bc5+8Z&Z|DRN;`&%YxqybmwVPV|U~CQ()Fm zC7UDjf>4Xmvs}Hy-GUF-8)BEUxLZ*J#m7-Kh+LVW!|%owoU^=t#O!ZetK!b zxOq#Bc%BA9^`uH!Y1t^I z{up0@$Ky{Gdf_ONkse-->9jE4~A) zcm5iI0w%#K{iDu&Pkf}z2x8vTv7D~m5OSBwbNvfmN|xG$`tVqNY_nUvi6Ay<*A$2# zXGTVvqk>(r?Z%RVmY~(tOY&d$C+bOhQtf|ctl5h{)+?Z9={^GNze%2qgk`~$(Y#8G-`KaCP0bW z2=vb2Vdw$Hg2;~OqV0v?T>32?b(`vOkl4MF&*Cktq=^tEEqtvgpfI` zLSNDxi1=QBR(CUl3jgxsi}lE0f9U$?BOw>m88j3}uPx=m>2MZo+T_ZXr3bzub z84Z^LGopW6rA^wYYtviU8XmKgo|HcEu;9X#SRbpT)g8cQf$RF?-r=(0iG`MB-GSGn zAJR;B#&62DVhYqhmq@8$QBv_F>_Me@>aVAjn^pjsxy3hqc(CEHNm|+2bp%Gcug}re?c>>9PMB~tC42T%zYUmp9{C) zaQ^Z{FC&jxBYMHZX~r;t`f#bL-!{F`d>aQT8XYnBddpOSsBSO>C;Dz&1$up8qy1Fo zshf)x#js#Z8R?Hy9}V`-BlhTj7aB#ItvUjP-C%Q(hoX4u zDzZhrQ3mrrAKyBwCvKeG2mpbxucD4+{}ZZAdi`^dx3^f}ZkwktxQ&S*MgS_o^{8a} z>_}7aF4w2q@RK{DeuP^zwicI-L~p$s6<&~^dik&iNu73ws`%pAvg)y`Yo|nCU1t89 zR=L`(FDFvd;!2SM~E_uhe=%1*srwV35xnR5()dIf~*JDK?rT8JDZs)gS^@f zX(uA_xTdIWN#l!g8A~Qx73r0m{50rjOmYd^r*=$`+?4%v*jxS-i5hb)e9^5Z-nVix z8S?K9HWs!9Sf%WwGKFXj`WUVb%PLr2L2;ofAm~^69Y~_enCZGwXt?{v zel(hg^8M8|TyNe!ks}MMPA-VG59a%+oowvrHgHNu7^wbtoDQa)!mXyM@zkUAFQtr@ z4~H>D2BDc+sWD;N>m2#3OeWsO`E-c4N_)b#Bb#Hmlj7Uu9&>AQN`sqfqqJZ$aRECu zK`5+|Q&BrFv#?0t?Z%(dD62M>a7~40xaHk^?ct}+71y8^>n3q5?vi8m{fXrtvOIeX zMsJK2tBNrme^#pDmVjy8gWe+@F1qnyzi8Ce)hA|V+!CYDyPDPhTIrtb0i4c_6ocz6G+7ULokj2Ek((KCA3I$XL)* zvoZMNh4lPyg6%dCx5LlD@Q{aVG?$L)biwth`U|Y(drhIF-h8@Jp{O;r5?Sl@BP7$HOw_dZMK7$5PnK#Mac8wFrj8i(_3B z&GgO+cuV@)%>HH^;GR>F)hpoZqD9g)m)Un@`2Z&eUm0sgZVfgI3Fr7Nqk(ZkKGKSk z-?bOds7(hachbzKl*FH36kseptSC)You6lE$yxPou{04EZ)qWWsManrFFtCBX%!4~ z5EIxP1nb&(&#^bkJA)4N^9=DtU?uDp{yV`V)}izS4oe_|BCPSHHAlX@7HWL!sp~F# zqv*wx{O>^BX79TV;uv9{;Jc%XJeH96DZP3e0WNV{#wX)`DGlEW>dYes>&*3?btlb- zpra+v@Kbw(X$XSOZ=M<($F6(+8J*vx1lX^4j*dtXw99t3!7I2AN$$~q@3JKVsZTOy zUytg4>D_DCDPB}*#Rk*sOWP=8j!MRcaCwynaa|R_)i~3~H+()-@!b)3H!`p`1EvJy zZ;@LSJj))O!)Pz*;W&G9fR)^~K%MuPrnD4Qj$RPr;Nln;(IoDbo|kK}A2*NjI5B;x zDservOkyZ_YY>u7WZCgf52sLE24}Lq;bXUaL7AIX^uMp-!ELU_e8i8+sGKtTWE?`+ zPHzY90$DZs3n+V}9`949-Ry-lJQ;K5vf*1DI)3qrY4At&dpsZ$s6+{+oBphqM_4&! z8=hIOfwSLy6w28cP&v{LOQ~mtX80-wKWN8X!BPDRbD|RSEW7*1ax{Mn>Y90T`W(1D zNq28g&58H3e0ev^0abvxBdf?7LEY34Mr$nJ+`8oP!Eln<@=TUKtESIE~A zFK!3mV%2D|G@oqI*uXLcyyybl3|BC|(&aYMx>Lc5xx>{`U(bDf;E+J~-&^ds#?NZlGDsCou4Gx|$aj zx9gkSwE6e^y>6B|{DHkOO+8Khv{PhKRaoQ-@uI?&FVn)=3;BgJoMp`igo=wm(H*O| zCW>J0XnJLCk7~z`;xS@Ri~kB-TUf}tY)w7P%=5YSfi%_oBP$uVgvu-nmOGufZ|!*o z&4z#ejqtw`xD_uDp!$O||J~qW+YdxpEgzfF-ogp4{f_3PpH1*NeLD==2Z>qxr|L~Z zno>NyrTwOgsvza1Dg!GXp_KLVAbTySZ+oy7;^F?=@jS5Gqt*6vWgu(l1NF;#d7$s+ z?}fM<{~uF)z|9>@HTAf36jgpLRm8}10t-E0nk@GQ+>P4PEb>CjWsJ!MGDVoSqsPCc=`Fb;v zaW2M`qNw3&{eD|--&y9MRmodw^snxdFR}S;k3r{%ZD(VPDa{3giG(0|oT4|X!@=KK zFoQD;k5H@E!P2DSn{5uL5C`KQEYBAD_{3Pi!C`_5KlEQz`i3WRs4}Bit zYj_|y_B>XS$YoqP5kytr?T=~)OM-eHjvfYGwmyg-ZVad??sItb%R%uM1&brOqh5Da zA9GP($-^(ZbPD*(b?w}Ej*oSIIY5bCC2K|c`e7y)^{F z-xNlmE^X>40WBz6XAqo8?g}sGO?AnyG+K{Tw?eI!xUv={-grw2&+>z(IUcQd;*OO* zLjAG4t+y-uGRKO7$6UG&AJd8PJOV+YVoBHOamhIRS51WFL+_l6X3b@32n`V zn(-G~_~)PZ*g95Z3~OYgX8d2xMMT*Kc9OV1e`H9)5;C}6!uszb@~3N_KXvOzIf8Bx zf~7rjh-@^_EZDL@;8S(usoeI$W*d)##bqbOOxNb~%f=y$6P4pw~cn=XTiySgSKdXdrMKXu{x(DOcY|1I^ z)D=@PY#eW@DUiV#tT%hK4gKgy+QL_~Cg_ zg5R@$_15-h)|WLo)c*CCCg@vJ^XzYIn}+$0r>eG9W|y;U(ZC{cg%VJ?-b>@m@?xwlu}iotanAmvAq&fu2+LORc?(*F7cT0c5hK;@ zYDdm?#gg?)D@mZ*T%+??Cx2r5c~@#$oQVx%8iM2~rtX)ke~hNI*mcIMQ?#yRSjk9N zYpgmGlVGtjNd(k6VCacIaik|;Q$eZX^_L^U>UrnqM4TOOVCshVvC*qcG9H?4uv|hG zKK+Q1?Z;(jdbA!o3yqa~cV4#PW5KNzZ0OOI@&+WE@xAHuW4FK4WY3F!IW#^@7SJ$% zcYJm)|M0|i)P((;CNlrJuVPfg;SMXAjlsQ7N}kusO;`f15ZQ@|iFuJ0tjVElI0Q82?(dGF>5+j;sbz!1BjW;%sj0;vHl9kIdcJ(QR)7OD*qpI1$I_ z)Hkvh3)}J^gde z+n9rY>U&b!^9@pNU|)N|7Gf?3p;2ZXjWdeX;cGXpGK2N+M!oPh9ajmKH0E;aF8=+F zFSI)%dI62ZU)?qH!ie$<{Xt2aZKL_rZ@0|sOd^)`4smmdJ*tTEJneibD9jh~`^A^h zIOZA-ypQn~(!-jWL65RNr1?g2{puQs0IJUhK3o%lxc(A0UEWa*ynK(Air#2>81*fZ zg4y298+kK%<vGrGxg5N zI>)N{iVij;xa}3IH!5ht>1o!cC7vE{-Tt2$QkKZ|Q%Q=>6?4ZW0TBgSba|W^<9|oz zQMShYi*Ha*g54~9H)B~NZAbbn?z~%s>IUt|;Q|7fW};UTxHRy?1eOS{Fg(gGF1Xjy zKv$1xKTGJVLE-&9m`Bx?+j+$r@xRKx!KPxe_fD?QYAC=_HabwP)#cC2Oz%XZ+CkO- zL0{^GW>nLh+^?41V)K8Ix*G&5G9*F!%LP8;qX?DH`CNqRA~$Za19)$b zl1&8FquAW6{@BBJX4p+_%TNr1fITBby} zSjU=zOt&;Sv;6RuFGky3B#38Exz$oeJMms0o$Br)^3^wb$Q)tge6Jg>1mKRo2wJCU zc|dDs_~}EBdXW6hm)I}H{{4Tg6BD$J#~zr$Nmo%3jIPt`-W2^G)*m|wYT4x;CS4TzbySF;KK|Z?QyyZ1M1=VL%)BC(%X87ru&b~I9K5{+tzC(pC2tz2 zMzY!^(a=<)-UlSJnWEumRj!Y3ksbRlH^c{n$_Bf}sC%d{?U@W8>ZG_UztjJ4%?+Ff zeU1B%H;-cxIPpWujuk2t%CiP7ETvPfp8hcNPt@rfjQYqju<)njI?uFo$*nAirX#vAOg#3s?CF60pnc%A#QQC%>srNOokyET)z2;uU!)(R1nS zn*Fc0NMI%TTTSB=y4fnS+y16qWCvQ>GvksJ?Hz8wzIv=D^hfJLJ73fudAQ}5WI`KL zeq5K2JZ%-Pp&Oq!|BP(dy!v(1Yl-nk=p4%y22sbdt=sxERKWgyBU_G8g($(%k$bUD z1Eigk%L0oaoq~Y0N=itxC`yMY-60^|9SeehbVx`eA_&s? z5W9qQDBaz)NG-6yzWaW=Kh1s3H8W?mKa02|4y^&)(3-9ypf8}8FCQNJwuU_*l&JXA(znU7ZSZt? zL@3x?E8|6pcS~x^GH?9wJZL;aFz&g7S(iq>QEv?m0fjjc_OS~r``+I}D6Kp{eoTYn zQSn@%zx~1=CEw;za`?@tkRmQ3nBgbRj-Cc#|Jj_d_}&4Wxic?P_-iLeAv~9|Mz?%5 zM@wnl_Z=>VJ7F(JrnebTR(UMu&chhb<&3BBqSsNmkIwP9@=R2#zpu*)n0wh%cyY^i zIb8qVOyEE?ot}Bmy&to#w7MNLya3^keTMpq{kt+!S82?Jl&7S36bhP+&k=r-TJ{gR zAQ1n}NIt{2Q@|(RGDFFTHMmP6ofr!Vw_2H7G>f`>5HpFouTQqK{P9N!ElQxz`_lsc z2CDcvk@k^XTN;Zl;*qBfhYn-4Q_~ha875@@i`KsI#Z^#aQ98<+@{7^+ddl%8Ry!Sa!EILT6$WdI^ zf_{GiHrBHrzmxg89d*k0MEUsI|FJ-Mn#{FXd2z|l12@&Xh{wM@*^Wf(E6mnzUAT;o z%QxjJg)vSAd?7(Mp_`Ege*^yT9V-3htC}xH&!Q9^KB-=`=ped6zkrUxj%I}miHA_4 z<0qj?iX0M5@otg&`gb^3jk+E=W=jqGG~z8#CmQUDUw!wK4_2FwbN%oiz@Od7>aP2| zfv_^UGV~{YKZ4!m#Hn&9aJ+E!=81V;5`!g_A#yh{M)vYy^NQUpKE&N7CH#1kV1RLx zaQ7V4U!eK>t;aHP;Qq?8V%O)mcV>E;Yj-Xd&L>20sdVy7q7-bh-gEtQbTticw~J!o zMMWTHGq9n^rGD?Q(n7Xp>%X)hCdw5wneojFNWKj~ULAZB4PQ&uzII+P=*Ea%AtDqI z9#;n^)8YKiAt{prLBgg=vNqX{o@OZm=5qg#>LDX;&937k*ovRcEPnKyHK*W03$^y^I8YjH*h?9zaPVbkRzwwVik1E7~S7n}nUp|b3J zZKHN2)n1u@}Wu;41yUP&+VSI8d)?TeWXlDI{G5zMVK)E3>EW2u)FS6Oi zP?__iS(!};u)1w-tKT5AO!(ELw&8Mbwe{_feyo+g%`}%gK>sK5+ii6eQa%)NC8c3z ztrx}bwP5C;0N|?@S7bLKkz=jTL{FZ}hIIaJ4OXAq4AV5bj9gPmv=cQC1zqc5M8v@S`P}|#1fod1@D~} zu1 zcJPf$hxj~to0yd_gmLDFShOwwgwK4=XI;vwhU_dmjcwX<>o@pOS1t+YyqA(7vptW40Q%II*yZ5~F7{BcM+7j0aNl(|@e!|KZm zoO8&MxYm?-q#nFz=uKD!ZK56^jbaHw50?YqGo6JuG-q-O`RIjyJpP)VlcS|{+Xt8K~pj9qlUIF>F6&BLi@*8L*9W8{frpnWEYNwYb2Ea$aKl0x(ObyxFoVI5oWO;lRSwM(bqtjaoz?~%l$L_ zyZ9v6a^Wt)!*As&O*H3kl&eZp(; z5N!y#|M48AfqTFYFAYB_dSNWsmr8oK_m*Z|SFDM1TiIXvTHRo|Tvq+s7zgE@aB0Yj z1p=fxqVR+tB_@o(4&Z{JgM2%e^vC`LP9A8)39TK@186WWcztiBJ- z4q5A&7pywYud^I~uG6}1{Dhu_817MEpi+6ec#R(y8U@gQ*F2!&G)s^)yH%|?{_*eb zHJgZ34NEdBD0T!?B??55CLIe!*P5@=0*lzliT0MMBK7u`p3Eg}>8%a3+Wh#>HzjZc z^T;Wp;>Qt<+NBKT?qEmoO9OD{;p7;jc@dx}37=soc}oo54+Ug3sHs|PeI7rBzfgjd z=gmrQRRB687lyMrpKfUUCSNJ`Eem{w4qBbLC?iTKLH7+3;+p~ej5?*?iQ)YrieT0d zM-cMcdHy*G`$^9}@(OtsWUM*7>{igky)dd(_6l|fv-8$&0E_o-=lK2b>)68JHg0&{ z+1jhOmht>j${x#DL&cj)U61uaniK1>$SpT#hGZ@B_{a|tO1}D~k)3|4=ffw*WlVQE zG4XjTXZYz`%#AW1cTFXD)Mcs^!v>X{fZtd{9d*GgmXl?6lBII=dx+rND z8Ag=^nzFeMOh^ErFmk$MdLi@1j{=9l60*qz)jr-qX?5t)yrIaraj<0Lkky```pFgX z3aRrIX6I&jGZWpk;khZs77}9HcYtuRiM(f@(&z81Tb57uHjrEvrNoRZ(VogXAf6snUZ&b1%j}4L;;9e0vFqAi z1Ks%=?UoS3MTw^G5SxYZ!uv-h2*iMw= zn?Ls@UsQjr9sS_cC}kW^sB~Ctj`ZdPzjzpMJ49KdSM&MhGm$uuM;j!iLh=AJIhuc{c#pM zu)o^EW~Rtx|H(HmP~G*GRJn*4?Yx}+_05^Pa^9q^LA6RA0Y1Sj4f%nG#`ipgR#wYa z0q)Rm+3Iet^`l#x4j@-Q&Uxw+j;+?wbV?NWz|y;X*iAZrg%$=(R+b08o z?Dei;5f^wgVTPw)Jr%E+^ykMR5hF={-2LcE_Pf#ddz1+6pDc}Pdn6K7qnuDJ4NmE7 zjMMR&QBM5KYJUzsC^qar`A8m5)20-*jHun5$9aaJxtFH|yz0EnI%_*a0a{7zY&e)NMmKMVQKAlU=-V*sOBhQv3th6RoZkxqwly&f? z{@f&(h2DlGpv^Nlpv_g&mt)j5zy)Hl>YY1|@6v)c__?W898=&6R5(%6-yGfzZMO`b zKC#4^b^5$Yr^h4TqOjNvT;}{tU=rO63T9TtBmQQubi%XfBEA(|Sq%ZZ8h8ECh3APq zJ|Qy#9m&1h+=$oKMLw@J>PNYp+zOOk-8{YAtbThN&J)7mp2*s`Cfj?WIk+Vc0#kTA z{kqB7l!@x#`MtNJK*6>=e-R#!Yk8xdRxto|{ACa&u&LS2)6&qVp<>v@yb^ZBFXs&G zp>g%?XOVpT&HCCbNz36iHhj@T=eu0!JI=SQywKJxY=;#7&@J*mb0ViJ>6)hMDP`1B z46$kTLgLF7_5eRucjw>)O3=@N#|3DV5v`+gJQPUCiw(Pxa+Ye_i?qIep0t;ZO6Xq{ zmLEWN_?!scq4D?${o4K6|c^Q_lbce8E$ zppe4;3?k+oMD&X%JJi>wx-}HDnCFIU)|Lc}lXT0BL8=5fI0R#O4fqbN)Dum$ z@BX~|H3S|xnr^7-P%@X7xr&P1$G61WAo{!xPpU^exFwj0fRCcscQmPizF)|<(8dx+ zfd7{oewe9=&>9?BaW!hUjL`1fmE2qA957Qtotk3IbT*GGO^S_F^SD1N4bI4S0-jM%&%@XQ4wlo$?~u*r4+?`cc&#^* zdu+y7NujZK8aXNNYCRQBF?mF$n@Bm6ZN!hYmQJ1=L`y1qay}NdTmuLeQFhqOe@O;@QPsOLaX6+s6j)U!+L75s&6ira#5w3a3@YiWj5k|HOvxpU^mhhO6HzcwTDe|U>_gp%>+JiRkZu_vS=-?$3c*X_y z_=p~5pB;2ncK7a6QIr z+{$16N;o8nf%_?Ewntg{U0W&0s=atWQ4yVandC)v8INwc`l~Rbq~FsSQ!d~_yLe~> zOmtViwF%(^*5>Z7g5Jy@>2R=j>}j5@1r;1uAp#na4~JySqubt*=%-!NtFqdagp&1w zOFI4_4hD{lsVRV$fy_TmPQE|x)ia$Qzd2EmV{v@(=8mn(3u#CgbjGShzMQTX1Gx@Z z7)?OC(ScC4H0ChuU36I_3o*>YN@{!P=I)I0%&pYy(dH=WO|A0M&jW5lvIQ`{>abUC zP6#yfKa78vO>31s1E<}WVmDVE@umc%hh46{ z{D}zeuL?g7h{bnRKCkWmXduvDcTd2Y<$HQirQg5vXZnqLu*QhCqd^ePcqwhyR+3e| zubfX(%ekv-(E5SxJ~K%L)4C?(KoRV6Ud7{z->|X|LNC6&QRUigFXoBsA$l?1^zivV zJ2pp-cO}>k>d8+Kg8{+2$lB!o&s1iIj#FUM6ycGNH1>W>AHEzS^{4T` zKJRgC=<0`${r8UdgHH42=_r6HTkpxj$j9K@ysmaEs`6ZX?zP9>M>c72hb2yfCVD+8 zxP=By7tNG#>}N25?VSbxH@C)W1X4;=U)EkT04B625iuV=N?s-unhA_|je?Ph;+QF8 zNa&6cJKPsU#lb_fC*FJ+E2Dk9^aj7_H#@!Aw7C*3-txo!i|`BA*RUXCVhW6-W_MCr za(9ui!TLWtt|n-YmQr7*y-dLZw7R%lQJNSY5gn6#I4(JhM)c0+%bd3bGP;%&39;9 z=69tb)+hgI_+dpxVp9W7pT4rt$KLiZY;C z#}wLB|)(f>Zd*ZyF)&X9j zq=89wd4b+VuQ*Ax=qW;ww)n`>FG0LO9ohBEB&DFu{&lCHGzyRk{-}P&<>#`r+b2eY z-v6Qpph~kq2(8YH1;nA6pK!gnp^D&o?NnC{PK4@b zJc#@yPJLSa{yM%2SdhqijornxCO-D%>hQT?!jR+r2|+aowDyji{m5>Nv9otaO};X* z#Dl1ER{k)D<#Lov`#oO2Y-9t&<E3*C%fOVnfcV%=p%JgAV~&shply z(551y&%J#fgc+Mb45Ms$l3b?J4>~aTuYa=vQcF4g4=pI|V&~V2xPJVX75A1ZJBIUZ zJ;0MS)Dg0-aHLKpVTp)dXV@ds$@>pv+5h4cs$=I#2dGls`?6CTh6O^|lgXf%%Y@9( zLhp@#VoTi}`}o_3@}K8fUy^Dxv@>Sh>PSy8kP=9L30}>c;@8J2DFA=A+Z$>K*s$33 zfe^0Cgw+>;NGxh`G+}Ua04HjR_xjrk`5k`@qo;w>2EyY8mX;EKAz`+4NW zvvz)1&YU#dax`lf!vGVHV8VY50ZtHQ$dcZ(7QrQQZU|Nh}WMeOv*LVg5GsHJ=$xd>&)5>bxe zg6&cZZ0mNzht77WwdS};)z8d`x^KQjG!ea;33lP3gV|ZuHI7x@d7Djz)wmLtxA4MxEF_=)U`BN)?k~Y>NjAjt0V*bU#ikJqgtus$61`{kM;P@H8te z{co_j8T8-ROOy-SM20zx6TCIdEXl|!`gnL&+A8aGriKyO zE^7;}n^kz?$xG5AOev{=kwS5QCK{*Q7}47)r=Rk-2$2^oi4O^&B!c&PKTWB6!0;0g zN)mVH`F(IX7C_x$2hw^-97USE)_pJP(=wF^r5O2>SfHfe*Ha0UnBJsh5JY|T_K95< zW$4)H$WF3RW^6~x*n5-%O2CW-LCF7No_3)1p|MX$Sf%QV<(;T|UHHf^ytx^Oix zzJkbAb_T_i>$8So^vF7D{*Dhj2puRdQ60dJf>&+{9t7Rvh=@6d9_Q|(WGtBzn_xdr z#8_dj@@$nfcW@&xG!0cT>Bew|#nm$Ze1wlI&gSm?9Wr8bHbYUfDsAw=+Bw9w>D9W* z^_F17-ta)(5A?{uG2$|=n)|}O6V>Jy~Q%FiG_w9^!y*NM_sEfGi;1f2? zX;vCC$exuao!$-6XKAffKdbkdbsQf%f0+DfF84m$eV1n}558E>_={Y~JX;%|$Lr$yd_?!;x-A54G9l)uH2alO&;RZmIapR>_%#i@^Rj zUJyA$zvd3A>NCV3vjJ$;@k|$1^;|C!uXkhY1jEba#%fph*4CyzajN`!|6Ja_vF5{) z_b^B=BGkGx5v6C)eNmbzkAFgUdlU9uoBBS-c zntH)c_X1Ra^5VZXIk{ITc8l(~=xLWyV;FMfYt&^M;X_h0juiw=w&Gl`r0Jy9&bSW9 zieE?S@fUovGpxYG9ky294xWP%7%h6`dWsg_xWdXGnVw4Yhm;!U4#vyrM?QRhTV?%VGQLfLnIRb@l6K=3s#V(wu2--j?Z6yG5Xd9dM z*W*)OPyj<7-XfkXne21lMh$-1r|Q&PW7)F%tT_A{?96RM$%h!1%P z#QqcwAT?0@x~;}Ckqi5G3yb>ICGRGV4dICJzIg{$n0{FS792neC>?hzA-^9}tbU|* z0@1Ucm3yy=Q3uNd@3#0oH1Oj9R;(N`@J3?3+o{w(bmDzTwj+LG`Ms%jfsIy2N&G(r zuopc!Wb8+V$=cM@yRVh%|G+Q8qtoTu(CL>7L$NgCn# zy>EtAJSv32urK(!wW4!i)~7=Av(iBU`T)+=H3zL2WXvHk--)(AZktDKQy6lj%9kCh zED;?&cdceIeZ3Xbk0$&5d)}b!KP|)jJTS=Yzsv40r^dyv;FX!rgx{8o&n+hIYhd4k z;4E?$R5c24IP|s`=u>dWT=*x7?@PME4g>pS0z^L`{&dfopqCms-lK_ST|qYfIy#04>i;<03PKcMt(^y{cJ4q^M2A|4K2LKjnlWaEmupUGj;)(?pHsx9_cb8 z*-#tee5x6+6VfJHp&m1spYTS6RnN^&eAMIX;xz?=zgK_1WTV=dkm@~n<>6z@cuDTpkjYY;aD?3-FpPscJ0#&PL?&+R zk+o3uD@labw>%(vF@YGe@FP?-hRyYxmI{}F%^5Zlg2dMPeD5$Y**0+G>hNabHl^ft z)}Dq#lJ(C&fcRKB>IC4`K=d%H#SmMy@(buZJxTn-1OJYAJkzR~SdMVVW3dnW4bj{m zioK0mgmXS%D#tVL_7aBbLXyYP3#VIBV}oUwz(D?wD;SZ}k!JKl!07GDQb6u@>pot< zeg!MA|5N^%rO96#S@2mb^x2O@WI}4SPVN*#^C83J1NvygXJ23B9g+(xL*fs zeEX|=+4U3(d+(n!E7L5s2kg|V>J{)4{(4rt#1j3Hn*A9?Qm^1+iR6&fz>sd^d;x{C zgQ616E#Wt}X}(#sueWL2dcTjA^23gD*i^0sxq)}C`VAv(I$fIhu%WtU4&p~#aDWqm_k7J0iS@S+}Q>$HjyEeIWo z5}(qL7DX|P>+KIF;f)5F2(v0=j@Jd<=AN@${ReQ=xn56yioiLt$$;9D?r9Z14I3Z} zh7qdGayNF^8?q2$7+1st4;+1U(DEYzRSEc5Q{z#jE#xLuO_0l5C ztiO=*)cTIXVbuNKFJc0GIG*d2+>7H!pA%Fuf8f_g{eF=jl4nrdv~ye05g2r2`4k%C zuzCKU-FEG9gPh_*RzmHitgI$WjGlEnBFC}gmjYn;%Rb|v%a7so6G&0r`X>V`SP-`I z3}(88M-3AE^J44<%l$9GXZ$w)^8IgpVJ)k?zrLrQ{U*3d0VeGpzcd30C-s%>zt`rG zqL@pxBEIs`bi$SFCPr(?iT0eyPZsdIQt$IX$DoZ^)}vcrZY}P~%W(tbbi@SNt7I6C ztM&p0(4at8E)U2TOO{0|t(%?*SuqN*HwuHmQ21_JBdZ6htv` zt_|(3iZaWc8*_ea!3j@G!RGPo zfNcz+*Ey~jGgYe%q{E)ieQWXe(8V9IY^w+($}sgj-V6#VOrf&n@Rt?5|Ho~%X6Grl zY_VpM9P=ID80!`P%MuK;KHOQ8 zQorCeWB7CJC88d{(TDycnF&Rb!~^7eew#8~Uqk8D@vkv1=w=>fz^8FthuT2&PYBS(h%mlURB{MqsoIpknDgeiVEg za8-EElK`TlfsEwXzWoiCgZvOxqbH!Q)OaL?tA+nRoYLU_5ZQzu4m=DKix*0M5cRae zfdi~1CB*7bnHDlneVK~1p6Y+*F#c7YkqW*j%m*S@&`CDE%{VwMOi@=C=0t%W5>-pQ zi2vr$d-0|mTRO0m=vZKRUXe#fslrtJ5UHbv2}?!tTkeVQWzP{`IBBSXUF~)smFZrH z;()7_K}=i4A0=4H?Rn+EmLh4vq!qhl7jG!p4`vhkLwWC=&2ph*qX0GEfQWuWQ?Vk5 z>vuozrNJ#~D){MlHDE&AkQUflh?L`LCX>@gg#4`01X)x+pn&spiTJ6trM)8b^9ydZ zh?3kHT#pCT4oO~gtBenRqJW#cLX-UkVl{s*D1H;OqEe=E0Co%>Ru^^HxA`{~Gs2QMYKEwVz&V`$u1 znvP4~gUxe_YYB(j!|+-tQvm7OGXq6HiJuB|8Tm^u<&pp_rQ5jf;hGCtQHa{3+?iep zrX@KR)Mm>T37j10hkpeN4`1efvC;U*4e0#V*=qKyY?1^Fia_KLm`TBOdzgxEtx7C6*D-P#|b$rAb?#nBEKNGg~ww5ru9JJfTf%Nl_0pvXO&DJ z4_4!O(`SE>_6B;w7hOPuJFLS4^Xj|g;KZCvT**@{J0MTVnuQ1R3!xDD(oM@mCCf9{ zuHng*#P_njCtKGBXqPEQKRF%-9>v(M+o}fhxX=}zPG95O`wGDtv&GY zTq;Wg#P1{5RO`ZSpwpvix6ek*-tA~t{yoGDh+m5;o`gJs(ZXAtx&CyRRFs@~R7tQp zo);(Vqn-}YJB>?zdjMqKKaO6*v=W%l&J>+4mSB8@K>9MDpvdqQgPijJhEr|7Us-D~ zG}~C=v`zva{+$<|rvkjb3xGs67A@hr>Q)OX+`2)rg2Orrc60D+vv}2r_S9zZ@4Z?H z7@^+)^7Em5&5o_eN)k561ki zd@6P>IQpK}t3LiPjdv#C0TrHKd&L+H#uU$-2(~E*KKA_=v_xpW+muBYZse>L_J|0U z^8$E=2Sz@ClWO1{fQ;gJJ95z{;>RH!b2S>bGOw*%5y7L=s+yl&jPZAqYHs=+zVE`M z;%Oz=v%vaz=HsBe1_&$mc&VEMh)jR@sO1?IT+|v2w|8#lv!2)aJ-z-#jHl!yJ0O_Z zVefZn+80iq@UrLv+Y3Qv0bH%MokKysC1h|>Q0ou`t`4XHsbq??X>1<$gQqXA53U}e zQ&{e@Hf_}i)tR*=KQ3sGgInG%Gw;f_YtEvmv1wCv8nrp_f-gX! zr+;(*&`_+3R3^YrUSiA&b`4bn=)S&9el}MW5sv%(=|Yq{nMD&y#ClD_o;kafG=U_9 z=X$i@l%->8fF~%g@NR@v%@@?y3(`+*y_O_b!L>L8n33fCKJf5AXZM{TV!WzE-wvjE zj2wJ5A~n@6gUCFjqd*3?qNMy1fK_xk?14^KupfL8xu(Ze;9$rxi}okz-v)ZNv6`MeXE4&Kfbrp(^SAdq)FB*g&jzd z;ssSb06+r+0gMc<-M@I8`}}$y1qyyn}xV$&W$$uu5>gwuee6O+vlZ^ zdQLrv3FsnOUVqgYWx|-bvIeKLBT{3(wXp zAo&v5-dtcpQz`7w?u(8Z&RDl;dq-x<1^Ayaj0_JIY9kplfkXmx0tes>tp=~VCf%Q| zE}2$7%xp5{B=AR6xY57(lklbWk>297NN9$D0)oHKljzA;?WYyHWj0{)>IZQ2P;O_% zRyYT+yl65noeH?Ju@b!iPrw#hNOO^;OTjzR~eXjO2$u{czc0IwARe2&>#TS9*|s656(l2>B_MVxPgq*G$0qE<1rSMAF&f6rFDhxug2)X?ltLR4 zqxe!vP1%vQ;PN^MoC-t%nlY{WCM5J0xVW`%rx(|vkpKOE)~`R%tHPcO`RWp?9u=M;?ifafvOhc+`&tMwx7{*b zT;fNwziiauqdiuB6UEEHeB!^2HH#;TB|q+J$?^7ANgZ_}Wx>MA%3_=$yU zgWj&zE!gqFu}k`OrQ-52ARX)Pfpym*d>~f0hAjd4iojcX@18DJQu~vA$^b7pHC9*J z&O`;pV3sR&b4s?}D`GQ}o!lSkUoGE|*cq*AVA!O7q~+89A!P5}im8&_*<`V@24a|d z8DEHvOt;!{BeQVOgaw(hLCH@NU_rmi%&a8QSYRXNNi)J(TBgNFi7O-cC&A3JT8$9F zhqQSj{^4o6A)L~294F&58Fn_{A@R}X_V)YTIs*Up5yE^Y|7~?NKh@<&%68cA1l?oi zn>W;<%*wzXiE;T430pg%{A@JVZ#c{=BpDZkZGHVrSkgBXlI)R*mw{N?aU2me)|C7Y zBqc=<44j$MJZ$NCVdAvDp&-sz#f-Dq6n)QE2IbQ5O!sp~dmV;TO>i&?(cHb4ERxA~-R;4C^KQqJ&`u*~d0i((6Y-JH2OIfu{-v`*wYa(+g-<$W5Zi}FD9VpRr$X}qu{LMi- z$q3WwmF~KSXt`LaQCTG`;6Pjc+~qy`wSiMey^dGuYLMM`=HxHLy;p<55@{T?6E!Tz zvgb0OnWVqU`73Hb+=u;PHF;ccJwBZI(`a!I@u|pygaV#Lq2yvtS)E(tZ44Xpci~~lkvHXUAJf66+8J|!8EFDJI_2Oxnr69AG3Y9DMN1RB$C&e~_nSU512uavtP1qt=rTIV*%o_Yd=Q44Lo~aM}C+D zsI&84GfS8hxoIj^jV82#FMU=G z{pA3|(ihcgD3M^5avK8Gf-kiU;zk9Evv-So0Y0vVA0;2TDv=*x1>uMoQh zi2<tgY_wBtVjs$NP%ESYXntKIZkrATxWSDzHUqQu*i1;pG6r6>ic=`fDQ#^Ny^BJt?vqXNKBAaIe{8Iw%04~u{3?D^+4 zGa{IYH}G)$YIL#nBE%5iId6_a6l86?A&w;1rpX+Fm=`)sKY`6>L$>z029+~_?2=ZK zpijcjY%{z{`BD#)h|I3zcA<8v*B9?D?)|ywyk&hvuTRqF8!Vl+Oz;Xm;a7IY?$Lgu zJ@L*zo(&MAb2dx;16dg{sc(MV7KeTHIMk&4YFSKbTUfM=#WQUD;jXk6F>>@$;U6ZzZBx!ze7DQ%uQn3>P=8I{tZ%E(X^WZyo+5E8HvC=3OZlSw z=PhBKA;4k3Xa3H=R+mYycl;rVnStj*9bw9-?0ik)^*hIwAX)C2ZI7Cg&0tx@*v;$i z2LDP@gh2T9goFMD$_iZN(PLVB*l~e`RJrZZru?P=v;t z+FY!(Uq?(N2nUIt8TUb4^Di-XvqYsCx>OV38L`Y+PJfD@}zpXdTm1*)?7i5>Q;i0!! z$7tg829M2ut-{!b`Vv0T0wUzYtTNQs!U3V{{m-Z7=g*ZyI7UEL z-xQ=TP4#mUUUIrcefud?(5=QVogxa5)xC>T0+>ykI;ZfexZtck^^I#aK9GsGmpIbE zXBE=zg`R5cwM)U|Yw^UIV+fa_pBlK9{%u2W7Po2yc@)vx%+}w&ci9bRq-;Py*n@xf z$G;Ah4;e5ED)6ij#~{=p=F${!BQ>+GCXStWS_4&W#nGZq;n2C7Y(hm2AY%7b$6m;M zs&}%C4SIneBMaT7h5w>@=O-JztcYr0dKwYUJ@ItoDqeQ}o8GD*bVA#{z56 zCr>PAj@nKP#aKLUON}TjJr@`XxSeLCYgqW&1c76Z{DZHmQxm2yzXEwK^6}1p;w#bX zLL7-!=DjwA#y%`RH#p`07-g^N=Q0Lk&75n>LeR$i&of)Uj!_UH*Iva8S1&Y{6CppV z6FKUbp0NMXaY+_(_%11v^4cPt{mWUnTjydkp{JG(m&zCNog(@80?iD`KV3v`^IY4m zm;FN51vB^!`X#L59AZBY^=IrO^WJaA zYWUN=SblpOM98{aKn2N(dV(sI*02#b%6mDpJh>Ohu_p%Qd#xPA(RAttxh&K{y}??L zKb%Z)*zUb!bs2bjnzvtdnSKm0Uu(Y>9r+vE1?ndQ(yqSj1!WViJh-Ik4m86-E3e+P zhT}T`b<3-pbYh@HqgzeMzvi@VU{-Y%+AkTmSA-@yuq<*OvrAC8FQ$xz&St9b)a;qJ z{`tP$-@yS0_q$x!drdyw>ODiedITOh$r7EFAGpfFI~^YjYtUG7+WN5_NeQp_Bg;6Y zwN?TPBj<#a0p|NPvC0gg*yt2r9a!ohAbqBXoBW^ zD1))vpG|9sy2+acUxl^L5s>x@&hw~UJ&gu8VCP$Twg-9cTz6@Rl+3v&ot6oGT2pg^Wo*^mC_7%&*XcLM$Y%gMzTpHO%)H zIA`pCVg%3IIY4fg52Au*d$~Z5nXo7r9BIBj@k`7skjIrekzwW6fbs#MV3KaGGT7DR zd*&oo_vzc0qaU+{vrg_NhR8?NRX+GLL1s|ZY>?4tS|n=JmohH`1G9e{2J^`8UOOE%RL(a&uUKtZ}M-*&^(wOTW7Pzy0pM1h`yrM6j%u~@>A0H)Ni$j-i}Ff*Qk~#Sh`xT@Ds<5WxecY z>M(;lea~^A38h3DBPR7^8%xFnJjN_*@*d$L0qkOXi?`@6k&sah+Xl!lV!|8lL~BKS zbmFA2?jd_5%%rN8rJbx{)(RtYK?ms2C_6qYHY-o4xZ`e{Grvcd4uDsl;2rV#hEW=e z>rC&4#aN0a)B-B-Vp?uMUZ_p-sUAw%TWPo_fm>;#Lm&#!cMGNY+WPul8P@hNZZ5P@ zW7f%i9LK{d)(QX+OO+Gyb_oWa(+B6U9OM_qamkmfs$ zOLZ=l&gAHCHi-E7Q8E=WcvuAE@_#WdU8qt=-Xtydo4F=4UJrK8vo zu7G2o`513qZX#qNqC9f2U2_$Vr4+>rtceeOsC)W0l=8<;T%4eJTo@$Ci;27<3Kipl z2ds5$L+^)G++kaWxxS`{W()tgJVR*d@;j2;0RGv+`3VFilT>$Fh^^y~GM-*jm0uvV z1)mnUyY4lk>R-8hl}X~Kd>;BnwbOJWSjs>&C8 zFlVCKgEjPNajkE2%m-DYa*2x`VQ7Wc#$cnU9XiynshYl9@4vE{=sF1_nHBlDNXQ_{ z(Ed1aJrA39g(3W+aNEA-OOj3g9%@-q3F7-yxQC@`wv{v0ZM`v41`BSW?j~uhoMl?i z-h-L=$<$7=Fr?44%OZa)h?b=&EO^*CEPcPE1V^qgX>C)5DX5&!I}DVx5w zN%P@HbZs|B4rg@K9pi_|_uK)`|J7b2JpKKKkU}4eejP^^H#)bngS;TJ4h)IT!0|RM z-bv42HR$Dkn+m{BZi1DN8u#S$zfo5bBO@73V(PQ6`}3G67Lt}$msw{0;nPu}tr{58 zGb_sj+k5e2h|T2xYMB4Xi+8s(CtE2{84Ie#kRr; zs+7RL^#2OnWkazjsP7De>&N69LPxyB_~$CHWkTi)@xw}T&k#Q*a-#23xL&V3x!1^1 zj@ZvY5bBRM=tRFk+izujc7)-NirM*Q5~T;SQzqGOzdyVRkDQd~J2})MDu=#^mc*g^^pNm4_C7Gd*3q(NE zNtflS)ku_*e&WqG^S|t>cj}e3r1|Cec0aO#FkhSd?D^)eD%-ci{=}<6OrHdsggxil zpUI?)T!|<@sb5AGVyMj{ZRD5(utwX6l-6rhfAcX*Sbp#A3A?vx($k%t5* z8}9+lH;};rF!K~%YR0lp&tCfX))zSqgti7d;d+;R8M9Fn*b0u*{Fqx7G)}79?_KJ4 zGYe!w1T)38o7^D84{w5#^pS?u2uBg$yH``{_yqbwEmo)}sEgB?-in%BL7u2bM16ii zjJw%sd}+R}ahpG6BRjx-Zhk&su5P$ZIja@z*N&EG-8dYSUKdP(Jwr(#PKN`RpLYo! z2O+kvWEfL{PkaWh;{>p+R<%C&Lu4o&Q01Rep)Cr}><&=RsqtyySX5HBrapN#*GMg22k2+w(KITy3e3mpsD*m<@bMlyq6zY z?^<@doJpb|Haj?N_6_bKR@K>~kSN))7jCaha5ccpy%}a$61p$bnSTFk4$aBk|9blB zsHnd0?HL$`p&RLz?hud~Qc$`CX^<}IhM_?~xH!OiQYgNhUC>x^Y4sBobggwWAr>`=yX#&0qQjZKS zMKGm!6?m;Y&Ia`*tZ9zoteN@N5G3&YvBUMHnOf%~5_C9!kN1Ew-C5Z%cA=>q8M(7f zv)R&5OLddN;CX_)lT6$jIakL5d#|N49&?lFvJ6i*2^?YD(w$pgEk463rb(;q!rYyr zdV3PhOr+ea39(^7U71!r@i_Wni_^37ur3j|C!oT-Z;VSfmQOf#Pkvv1H@E094PNkx zJhMaZ)7ZYG`ISbKg^{VB?cp<_jlJwsFnT=yz><7T2(vNvReQd6CH4XrNf`WGMVV^N zovS&pbxI{zQ-jg!`4AUEWDvah(T8Jl=ybv?{B`r+J4|t?ZV)Xl7=BRUtp3-7l~3AC z_E8WSW>@dNkDzy&Zqccupau5R?r!7B7R^yhSAI^ZSy{l2%G4N2+am$s$duWQKzF;i z8dDA5R+bCBxS1%KRR|C!FocCw2T+jNFwhwR1iSC04I!giOr4Ju%y1q!W5hev!|*6i z`#xsfH}k?6`=QTqAioEO&%yRdc(M7(NQ-0K<}W#!M`Yu&5z0jory(vep2pN?VGY~N z`KRy3i>SV1B723orIZ(ME=_{HZ={NV@H*Vumd|kPyEjc7N8bhqq1uFi6!V~rZDpKL zo{}hf)4TBy@1j^eUK&-b5e%2>$gL2$RPK7WT#||{Z}xphEM+rm1MTa^M_ZvV^*YEj zJ+_4-Cs5Q6{g=+XVI+Q4bJ$6kK|?;a@M;mrL$n{&ylGWdRkEnCimuctI(+i^uO{`M zVt}tB>tNEMYIy0l@xRfM&E(yiA0Ep5`~A&M?npDdFrG9|6& z4JnG@r?h}B{54ORZsZAvoZEnza_0uZkz>gDN6# zy1Le*{V-vorwEd6lsbK#MJh!H4Ez2(dcNDvm{9Dd< z_)kR}lci4@i~b}JqzXjT{}nRrC5~eV90wd|cRZrN>LsNifw_~V8FoxOn_qpPy$9r< zd^?1pWFNcjC1Bq9un-zb1VvY1&1)`k??n}KokX-td-MIebY&7>Hh&f$6yy1h)e^-~ zol5^$^I;K=W;|@P4$5{NFqPXJ@!{Q)M-T7CAcOOSy7uLRw1N%QKX%j8k}pD*0Y;z| z?!iOYxNOKO#rExu&+Io3Ltz&nGa^7Hai+^&iTo4k0KL>%e5Y{t7o|}5By7ADc9Tq9 z?2`qF=P@0&5(DiU!h@INUQo_oL*fvdr?45jmht%WQM)*_oaf?5m{ zSYfHeXDu!txIzz_8cQmf=ryy4yo)n8w~K=nwk1JU$>pxs_mQfmDNsI75_)EdB| zN-f_l-M(T0kq=fT{XiDd>+bqmMd1^s=VFy^e!7TY=6hgICi`reASO6yc9aDvQ3QNL z!Do#qt*jI2y?YG`?a}0N!D9B@ZgX3HaEl@6tw2G`7{B&^WWIjARA>NBS-DRg_@?rhb zj)Tzp@x4TeW4vU*4iJ%SfRR;WD1p6SY)m{{0cdFELv?Y&<*DFv+(2Z;8OfmW%U>#F z5@L&X5zh_?bfr6tYXGoU5FGKC5Z#k05%QM&;_Kay96x=e713$Jh2z)cw!!1HIHJcw z8aa0*b92rp%-ZhapU1t66 z?+Hc5Lkp^`sSoaktPbz?l*F1FHjH13rHPzM<5{LkHK5F60QSp^(X>X%9Da>dzBT;S zbI=X}oG?c?cOijZ+*%G)Tf8gf1pbB!vI^ zMlr6UZPsmBn7ZX^_SK?k-vW@m1h2wcnc_Ubm`ZRO&9)=hMAmP3MKH(s>4k;wUjLIo zKHf^2OJ}6SZ%25`?6QLKbD z+Cm!?!g3?2z1f+LnXab_1-yNHRJ~St_2^5JpJ}qVLta)y(&KfmcQR7keQv06jeGeo zF9v!?)9a*ubO~VdKJ^+D5e~YS;kh6ylriVz<80@N*6o@c5JiA$e{F5QF!%v8r9c*i_|f{i7l6Led8| zG_s0{3bx0Of4HhaHEi>xX#H%Oc#Gw}>YTkc&@Uc|4p7?Y52n-JfDN`YMO%2`iZ>=O z)oz1rJ!eJ`bu>-`B*G8D*=@Aja-GL2^!~8{ud0c9`=b#nR*6tv!cQHsUB+w;TWajE zi)(ANr7@5i>)J7c6$h~$*B(DW=&6p8Vie{X>Fi#pGiB%H<5m3~_52FK$_{ve9i2s1 zj3L>8ARG+}HF|T6$&SB}kIWJBwO% zb1~YWF-Jh)o0N#rW@>sHNCT)o)mJrG+00Q~@a7R+4;--ZAq@Im*ZR=U{5d<+UmOR~L58uoOq)NUA;+(a+DnrF7y6r)kKZwz&f#^Gfz9{wwaHIEu+jusiSpuM^SLiMEcf+f=;5{59wdU|@czdzfnql=)X zrX5uYHROKLYEbMmT&MD*j2lEKZ*cC;c-My8`%l_Sbm=XHl8^pwE@MRPBQzm;h&@ze zb&|`p&O#_hgueK{Fq2En&;uZZ#_-Drb0OI8t`90;r92X;26%h_DG+~>$7Qnc?dBLC z(3=v9MIE{bb+_QTWe@F1mW?n)VRT=1EP6Q=afB09YJVgzc;epI1e1IypQ9b*H|=`! zy4Jdiuw8RR{5`TUguwv?L#@P4I|hhJk|mCHU~e=J*K&NGa|m zJS>#n)<+%)4-_m4fY(xLLX^M18}2b5xi2nW39HZ)XIzPVjiMZS$JpXQSzTSIMXLEi z`%y?~s&yG*d*C#rJ<3jOOKZR;naW$VloLh&2_niH#gAQH?{6oS1Ji?lqAtEO7ZQwbu=62=KZ7F&|aFdS4&AflgevA1m;qNG?c|*S~2I%VQ zqZZ7AWbQ4w3Dt5cLR}VTCN;DHz4k$co`eHEar-xpb-Zt8|LBBxaEAOlM_!j5L>Osb zf2(cNG-O(e1EEBT8KhX=zI`j}0(#Bq_%>{2XaMIuT@@`*^O}@#`xRPL3kEn?V{svJ zdpqJ&17q_Kt7TjmF1nydLuVfdxwhLZS-DJOaqdpt<`HH1+4W&NfzrqU@F7)pwm;1} zC-%wPIyRZaP8XS)_2F`n?d?*{-doR8kU@2?j9qAf`&?}aVPdIfH6J>u<40O;l>GKW zzZMixkUvqsi1W!S8Y3jKt)-ktr6NfRF+pq*A5IpWBaWjPn{k-}#(hle!o$Gu%BCp% z*~8Ae;SHbHpsEkBg&D{+UIwc-XV5#1fz7e&t4NiY0`!N!&%v=p3nnSyhV_`|#}%s^ zBrizZztf&vT80C(h*lIXO^ui!JMa%MH+Lpsv*}7%m#Uqx*p_7XNv$Ev6>&wIV_x~p5wt5X{Nf>+G%(N1 z6>7h{_@(M7%mB^A-nwY@uCzEG=V(CrNDQL%>kuR65$r)?6eRiHgKZ0V%Q_|VD4ANr z@d&{5%d>`m$18n~g+ZT?SI3)}*qB4XC!VXx$Ev9`z~3Xk_3@fsJO*q#TEX^UFKCVZ zU|HzA3;36!;}g6CD47r5%<+6nsUjVq$^9!79C=Su?A{Mlo+@+4j!@){Z?vnZP2P;w z`Z0Vx6_JSc(7lL%g~@74&x{BRY#$yQqo{q^=>JIl9tHgM+gf6kMq3l!0_g zc+`seHTI8ifjBdEN_(NK{zVB`d!(#>OiV@ddAzrZ;G}_=R@EHBsxa|42ITwn`vmyG z0fmD3ULT{E4}Z7qKsa0V{9tsf$>)cjEvqfs(_oT9Ptd>uvSlO&^7njv(P}RVc1`M? zQObMXV!;zS)WgFyrRI8j@vjZF+}6lAjP`V#{6KcNcD6fbTxxA>oP$e;WB>NgOnvk^ z;5|L8UZS;~F|*w6gy~BtU{XeyOX~aUAfB0up{;P6D%gMj{B#&N7Zm)7n(f;i> zI@m!eruxj=MeFw(@>Vr>SE+sFI;+0T_)a2=aYcD1{rQtu^g&_uf7*)Ud$7p0`^wX= zilS@JzV4S}S&!dVklWl2wNjE>f4<+%Ge8xhz6_;z(1sfK>^EX;D(Fg9NC18VJt5bP zJ(k(dyjqINEE`Ab{R+>N0v>Vc6jGj_pPPsXZ}cjf*##&jS}P3x0t@_08d>1?ESu^L zK0BCiw)AneCh8v&yyRjsTJ7|J>kH!b?a7T1c^NmO$ih*Z=F>)ez<=8%SG6P%dIK12K*d4A@TaHA;BXwLLp(LAA)Lqn_qG53< zrZNGCbx}=ll$tH%gOrz&+hS9s26o@JFUSR;?g ze*-DWbvdp(lz41#SUf+l-5)^rLju`$`J@b;RR*jqE#>t$FxaFKNfWWHvd%vwNmPp3 zL0j&aFnN8;q=a|vwSfYCeoh?rAG;>XJpnQl@DHIo11-339>;!?#m21(Tj*UZp^M;% zxV5i!>k#{9wdy>ejZxS6v7PXl*sMSXyU-qKDUov)4R|n;0Ljpu%8&m~BgMbUvt7?% zxJ`P^)zwy`H84K4y)Ab1Y!UhF-)6xhVAH{|TB4};jljmEO+l*eTj&dq<3HK?9@!Oc z%U|7ROO)d+!w);Q<(aBkr>Cc3lERXi*ggY=dF)O>cIq&Gue9}2dk;YChIqi0-Rm%a zc^CyA1-QgXv|I6BavQg5lk7~E(DtsE``D9V@4Wvj(9;LE!Eq~bKJ(pt@OP{U2h?RTg0ty>EA|_^N?{y&2(<)Z(rlc@0w7(@w)C=^iXfi6Wyq2Lz7Tt zaX7t0?N6Q8W9cjz_D{tSUa=~inc7?S^VL@2M$u&^Uz6NB5_I;M=G(NTyh&#hM(xa$ z_1Gp9;`md!d3gBOx>(C2aq1EqsivNtC-`TxB)|_|fBB`@komELurN{{v+OM7751*9 z!!Az~?3Ng+&lMU#^UjKXhI1D9QI4I{zYl#E@6Ln%$niE@ebE+;>5!v>G zhozs@2#Z|$UX)+=pp;E_Z=zgIas#aji{0D_&@Ukt2Q-O`Zg76Pop`9z(>e6{h(-XB zOR`^{XYzhxEDYJBZ6`)#8e!EiG_YG*CXJG|H^8%hJ5Og^=Q*e>T$AD zVovq;R-@FkzuherrA~z18#(uA_qgZPldP*PyYZm*cC=N`uRH_4m+rsnpO6S~ z)AL88VHk#LR@hdw*;hBO+Ef_3G)eiT+@fzZ*wdUdk=PN>Jlj%zvY4&7H?gw#qbo~j znd0>OP%MqRPkJPH;eK=JSM(}BIpAdgmqUYVr+Rh!z1tzt1F>jTtpnv!F}^fmrYs;x z7OY%MfjrfQ5c%ei8y^>+I_(3qIs-##S(xR0jA3ZT&wwi#;5G9D{_WY($Wef=#Yt*% zGUfI4b?9#<5)KRkc)YOO)%1(QSgY!V)35@q-+lZ?vbzZO#86$b9rgAa-T=cNFy|L6 z05g^nWW)O?+48PTh%U&*4MXgw|3p!bl}U(ChvW%rA*F>I`DWs{jWdfMH`jLhjZ1 zB-(NVAcd;~%F#4l@EtK~wUw{uydgz8)6Mb~CG}CfO0SwQD7-&Yj>L`I(A>OEiwQ{q zN+M4xafG-0QVnK0iu!1qk^VUVu9`RgGgE?PEE@vuNYfJCvo9ZMIB;F88nWL&2-o73 z-=`QyS^Z>Jzdr|Pplg}yDWvC4Y~EYZWb|&+iA7RwM{L$S@edv1fc@ge6M- zWv(t}OTcScQc(>}zs-KT7Mx`y!|U9p<6B`Ftx>d)=u767B2SMs%@;H-rbM{VrCbdw zHY_fQvL8HI1tLjU)%X<$5t}6OWy_PWC7VW_#n-Lp=d=KA;hbN0`=33&qncOV9zVjj zjMjxe+mYt;e4lWx)@+EwQp+@wTOJV806Jn1y}mnJaaqNtQM&PLhz*SuWx28Cb1S*I z!d~-9-4{gvYZt?DL^+Qpesvxji-TWTeDjwBS48wgGXO>OzkL1rc5lxmJtyby4MSv* zbE#;_^MisALi?vbpXb#DW}Q5xXdFF){yJy<*yRD`VU^*X-~9qFnS)<&e7TqV{Vc7L znRD!V5Bj$;|9Rm(2L~p2-|G*1itR+%zRKYjRW{x{QFIR!LO?|QqFBFJ;#_+Mh)gYP z(FY|MGKNFj%ki@U|Ii52GyH%lDTqHm5_`V!vS>yhpk0Zu9l4tki#8XFa+st%-JW{% zKmxD6RG4;yfh>pZFEkce-)1dzUfrxI&r}vVMWX@3Kd(`!OyH#iTJl$!aZ~b0h|J(8S!iT>%^Ss#{i1n~_FNEN3qP!E^IkX|U8DgD4A}inDv;><<-~7i=!D zjt)}9Osb_0$|xyDX!Ay)CQIY(LQ>+9K-Ks?3Vz?P)$@G|IlI~B;Z?pY-;cwDj`{N~ zK!GR@j*_#1z;8{oVyOkq11a2NT2xH?T$&|sAeIB7db%SI|BsX}>^ZMydlR_^Z)puH zN@KsHzcT4dl(c=W(zjqf+!f;$&K9O|weR@EbZ*||lRKqR=E&SjeFZ{u=g+eDbAZfWow_kL5BM*r1UwSSSx|NrMcumicpSF(CkX-9F(Xf)Dz&4y zdfqQJ{PO}Yzk5I6iim2QKG8lsxuG?Um`L4owOzZPhA+z$5DV?-UxPWkNx04 z%}sG&tHkl{I9lLQm&5ljx{ibzrdN^;!X0TWj!0I@)>{E}Q` z25TB|CJq64ZjyU*2*{p?AnmbDNNg9GQD+Pj^cmWyUBnzG@iTJ@mL^t)B=w1=Q>`K` zz8q4oxUcE)0d3YrPa@0S_{j3-X)zHwW(dltK+ODaonUj!^Xj@X7snM=FUuL+RXBY4?b5SG|JhfR==?Y+%0iL1E)|Ufn?84ZU4yA z-Kt;ZoV?MF!%aNX_}gZtkHHis?Oo4IE@D?oa)_(uay4}SQG3WUS2*NJ_PgJX zI)D#H5Oj;(2UHq)eoOVv@ux*08W)qJTI&nWGNxnVs$<^agdxq0^0hQ5Z7WJhXkidU>~s zLXfoz_^qzg)FD+ZI&Kvrq)j4Xfb8pG6t85DH_xum(MKs|G$x;EqPKb6bG9EQEKK zvl@%kdFO8B+&j5Epf>^0jVt1yW=?*mN>d|i5{f0C*b_&Jp-h@u6vDOs&t*i%uNtIK zCq{(wd`o@blJdeG5~5ecyAW9oY0T}+Ez5;}Bwbgv1#s}E&UipLh3!@c?38^zh=`PX zQlR;hgqaBZ#{MqX8xg2BUk-mA%G~?Kb$j%Pit2aFaC}dqn?GrI7BJiyp>PUis7Se0RtFxl0yu zjs>!esn?lBiKEYdtIbpb^BCA#^tWsOei*i&kY3J}^iUA4913`qLTMfoh*9mku!ZO< zSeJs-rimu_5oou*YlnJyd9JR=(0k^2=)I1|{;*s}sh3&)(~TDvCh1fqN`Oyl#Z0x} zdt^CT8c_lr9o^aFM;WefQ2+<)q}Jr=Z#)a4AcVTpyuhJHipA8~;zUFYeC`vziBe8n zvx9gR7FS6*?O<~LP9pRC{fJlUiPaR^HIWg@BGe}3hHj0pGhsHuipJXF`A0CD^JzY0NgzN0jcr47INCtYY4DurR zBoV4z(IOe$nU^!q86m1G?n9z2k|^7Qo>f&9q~Jv-*viu@;A55cKzK#rr>nSuJF>UM zz&BVvg_Ey}Z%z*_jnc2-HyQDBo{giy=5lReMSH{l`cXPHy^N0YPQ9*suh*r|ZF}kW z2HyF&NMVd5nl`icj)`iXcy4dgwbZ`65hLii+39aSO}#qQ!}UHiL0|ncGfc4c_4Ot8 zzOh1~P!S=4fhIB<8f5D0*5TpznC}Sa(>?I4{%lPW7?_487s`0<{RXm>y`U{W4gJ%8cj328sq!Nat6LXf4#_0qe0U6^* zZ%rV6H*q0;Hf}Mio2Cu>8Hcm=1-UlW>-vA%>=O@hLz)koHcKjQq|Y`R2kN>(vGKN? z8E@VZU3DeXi!|JhBD)pjaZgtR1=?dNUqMBk2N55PqRM>gZu^htr{3bLD7U3n2!NQwA4L@3w#SI*Z#v zIyL+QGWnmmW-vdt<>ILovJbZTi@>nF$lXXo{#%*&e02Mq13-rEm3w@cd{IK^G@jza z)Fk$M-ooVU>Yjs=o}eeaFN(BOB^3v#RFzg&I~zTFHk3d~_%={xVs+Kh!otE`6|DK5 zWld8(Aq90{dKG4U(Wo{eYPpY!$X!%oORSg@^vFHoee?h&P z(pZcN4`fKMdIcc26-R3Jhc6%w|j2-`k_>AHSXLN(A2%ZGK+svke;p407mdiEQ2|wHoHryK;7#Q}+?UUpCXs2}3OMa&Vzl3kklwJz{Pja%XzFx=| zMi15R@W%;fT*btkGlwR#;LphErLN&TEHxk&|Ha72i2eZ2m~8#F$AHvgDJJBI=Iza) z!GB+lbj}s5dAz2YNSK_Qyt7+ePHg?$*WJDTz>KBD$uPe~;>eKqbnExX?8L!=n}vyq zQ{!|I^-TOChT4uzqBfiMdY!=k?{`AN?0BdRQXh z49=$a<0`7EvGv27t6Q|gEoqKyQ)-3jvV6EI%gy#7Jy^@V*>72#08W5}-`I7xRxsf( z)|1Oh($78Qn%FFU*uw-7pQaPmG!CB%3F(|Hvc(xYDz+`V$9A!^J0j$44@+4`7f5Y)6~it9M{`#I8cb@hI$01OFys)9(oTX#3&nUa)K<$Hh;s z|Ar31gRU7vS3<4Dt{4+maE>gFrc83EKZ6wywGL-i_HjA_P6bIjm_*FRx_LGdixl92R9)b8h9WgR=3G}m<9pZO1@lc)p9z5q*b2dA-~V32!T<*O zi-7!z@&Lidr`k<~Lw;-W43{HvEmX>Q&8VL5b&?pj-w6hs72 zBnACXWB;`e;ys-FZ^r!B{{K#lQ`XGdFOxMIj8%+=RKN{tmo)~Ek6*k4VXZX6EK+Acx{l)ngqfYu{Wd=lE7|WY$VlI zwstq0CEm?a*fF($V~DK;*1%$nOe6!b1(t1$ZON8py*1LzXkK^jv%Amv*0QE%JjKYW z+W)P8^}T)j)cO9mzv}z_zdkLh%7q{z0-$ej@U6GrYRAULWY?};8H?arxz^2GIa6}Z z<$(wQNV60kVbj87zp>mL@4F-g^S!q)2!&FO^4@$dX6D_xSe?F36NS zX5^{6Z}iI6uy}mi4ckGtZVl%Vyin}yfryCdzT@vNrQESfgLlCzTHbjGAFmZJ#dF@sJaD-w&Vo;lHpjmE-=eTz{!4L@NM7Gd(``@rPef)dWCx+-h~p zgZ?~%7mDrp-LJpXb}juQqQbkeaSuiyZ8u0;Pib@VZ>K+h^NwG6^SVv#^1vTxNNnN@-^mQ&Y5TFkWa&3m0NGrEg_DmuQ#i#^F>& zwGrxiA{?{N<(`(2+;MVgp)HX-K%2jL{K?0kS@QK?f4}Q3ewu=LheWmmKvQ3(<)6qV zlDkH4`_{t?L@yM)P;BQPe)FTIWAGl+x4Nil8+-}?)?uOo?df6PbK=?WEZh6}t8J;W zEE~^g51DNIHwL7=v0|)2v!J*r?hvHuKUJ_CZJtTiPId{Cf9SZyAL9wGWhhD zDLwtQEL*Zv#(!tPwtlILs1;DJAk0A&G%}=C>D)C=$KQ>RL~X7OH*%G{l@NO}%@Ca* zq$py9T*z~(eTwhK-|!RDC)EDxQg`N)%kX83G<_0+S}`I38dSwdD&;62#+qk^e`w^k z?|kE|U}T$~g{bOlS7Y6}ITI1v^{4;*4YTy(4{Bq&g@!x`pa9IiM^r;ASM;Tk17_tz ze`%XH1;#(JhDbOk)&R;v1Ryp@JtKGT0X9Cmoa_5OL@6qgh7^NgAwW?Oh&0DjwLR=C zev6sUuJhr|J%MIs0fPvjpv;FV(lTASe0p%|C+&Yc^1g|?_fE_1Yn^W1l`WX1>r?k% zPOkWFOX%gDMTL;-{gA&4S4fImY0YT@! zoTHiD0)S{1kV-5jZ`T1R4|>@y#sRPu1yB)Z#4w*97e=ra9C-9O()Q0xTtL8|KX@gG!?hnYmG(A1+@fS}+5p_W0anJLF;Jv*G8 zZti8a>{L~qtBnCBcHTYh8237prOr=-ex)q8d;ek$F$Y$)6HWyg>d5k2_Jv z=M4g&zeo{CV~7vb=-rcXuxCHV!cklnAtKDrGcP~GllhF1#wngHJcS;w(e=|BX*+|+ zAj&*c5dl)Kp`ArpwT;%(FOGlek>db7wmAS809Ev=JMW1AuKfH>_xF!H_g#x(3(PwMw(=Ki#m(i*DCAm7nJVfPHBCnwL<+_6E80Xat% zi!ZoL0z^+u{IK_{Q(pkM>Yl5j*`f-^EGh@Su5bs%_rBw@wa?wXX=?ms4y}5ZIbIn6 z69EDtqu4sbnqxnuwErI=t)g)m>GBl*xlUhegzEJ@q$^{{DI%Z>)P=%JEjqq^hIn6_ z&}Aw3A|v)VJM|&1N#4yxb~VoBNJ2`>H%WbqS~kUgd6s?g&&g{ZoPoBd^T7%1RG{&e zGNH?WRRHjUoC#8Swng6$TkDFaqIJN}DqpWCcg&lI*DT(w?c)0DfBmaut>1iU_;7Z( zw9dVG>E$fz9>f~MSapK^r}k5xex4Qi0@wmRco4ui%y^Sfnx=JSFRh_Ld?AmUsZ%&G zOzx=}M7jx`5d;q^IE02Y7{jqKUB|li0L4sbNy;%d$DaKL)Wyz1nMo14G?0lv0Haf+ zgM&1SZ>2T8mbBdgK-QXp(ktYa{Y2{ZQxxssZSQ^W_4n-D`S6ctH6mNKY_YTEom)P5 z!xsUE>8-#s-r$$ZUa$%Wmh)(68VN z9aunAQ4unfc;*ZPFFiuXOFOV8Cbcnj_1s!*apQ1{!ImI7gNh;w;-MZqdwLA__U1U@ z9Nh{btJ-t{_KhqX2q&WvQR)%K>!dG1*7y2j`HcKLG9^v+%sWWZv#`8eU#yg z-%mk=C~cw4BLaN6pW~O`!m8lueDP~c+Fm|fOStWDjY{NbmIT#+008PBQp2?)9z%=2 z>Mv9Gb#j#3hc`7Nfne+S*Iv74^D@uUCk``^C*<+EDn z+|v7QzWH|=_2dhG(Y;UKd-)MkN+Ka(L>F2I6@mznZSeBZm3;EY!jUx}p!N3OCdrjC zSsN9zNNXjKMFmRJrzkvr7wb>$<&Q^WhFXC}BuG$1n1@0Th!8?M@Rg;OFBSu(%l{42 ztKN!)1XNKmpn%NJBO)|xUV9He!JCHvuf%cmyN^7&`wIXD07S-8dEX}6Q3rp8%TTE@PpfCP`I0)fS#s))}>qJq?1Hx-UtedDbkTg`)CJ?sFgO>?P1m&Kup zv4|=cfXot#xg5Bda3Q-P27F3$W(=R<`ECFOynqFAHl7s}5PgH6SQQj< zBGObtP?l+P@-pC@U_mceV7e7F^F?vuQ3SbAX|FKTY(m<`0^tJIA=J(gCv_5^QV%V> zb%eREby1_J0*cZC>S+T)24Z-_7PKm=;Cv>bRZ~>Ot6UCz+W<%~ZxZ$Fn~B1By#&%G zU;vPXoP}V-lP0ilWE`p|kT>#5#-PniVLP(U^SnC;uQyG&WpsVP6GJNBIH5>l`>5Y(UxUj!9Y z3^2uuqicA0+_LWE9<)A5;&K=b3sXxBWNnxkqb-Kq%qS~Ho@GzDlOqK~)IJwnQ2hmF zfD2I1GWPUzGf_Ljs*#syYCsSO9@Vgb1P?$O0;RE+#7!L})d&sQiaYPTGjh%0;Zh2H zkw5d#OW^XKG4mHykX7AzaTHKqk8F0NR-F; z1kky(2#qN+?;)vEKKvuf)x*4!>*8BoDIae(=}Qf5XV3-CS&0<1nen53$0NlYeLfH! z*+s3qgqi-e6oL|kFh2tD#!xpAonr^79Qh$2WI;fE-{|OQ$;~)dFe0T^7Fg+&XS`$E z^8@_*Eau7;Q@DHsBmn>wNGlu}SUw<9VzI8NQjwS$*M=53rOU~@4eDM3&#xPk_A@~%KQWQmb2Sg$g2b5HWl`gO+ z%kin7_wkYAE#AIlih&9kfr*Cl>=^vhnO=UPMTVjj4W3|fh)L+$e;>tT&r=_~ns)bc ze7*ov!$ilPB|q^3E0_1DB|mZBj5`xbwczLUsb!KGmd&KQpRNyf4lS(oi)y`92K2SGiEM?;L6so*NllDp^t4E5uU zB^)|~t4?Ak6q;qUY=A&OFhG|!Ic|z%g$*2u`>AN21kZ?_=9oE-V}!iM1T3I9lyOrb zmnM9C`g?3NZF))-6qsz(*f$;XsQ;PPx8ukaH4-E$aGVjO3@GGtOd zvZldh0~v*U9i$Eb3U6z7aP{dX51cT(;w{}M0*FXbDwPsvjA=S&>MqJbHcE(M#^3x~ zoLc{Dl&xi{PZ3Q4P#`OGaBSVRbQgLU-1`Nh<|tY#P`{yri4PAT9XV{KkbsT{q$x-& zB&+jGReI=>334wav??tIvgKUquc0gI!b?gZnVSbAluU_@*(Pinu`hm-DK)GR;gf5| zxn$WGiOJCj6$tb9Mr@(YTUQ;Y94+DQ!@V3#V7;>#V`@Ol4Gj%7CMKrN#BqeSMyYN1 zBx7seP00ILZebIsWQUo?so3G2?L@*UcSw+>yFCcf8<~th|=$%4<~O0+J=D z7z`kXQWesW5W9#a*&5y(87}D`CN%{zFSEz6fS~wHNDW-tSJkWYDQz1QSvh|9 z-FK%BAdaI0g`6er8Zym}0bDqLX{i7RMm;{NP+xm7e&skuKvhA2poDscrU7vVf`TgI zAvo}Z1-hd?j2b){D5xmsgBMT1cd)ToqL9x>Lyn*U096)309D#Prj%>2x?DDsQH(lw z0Kfr6asIg|ig4v#Y1&*Us)}-9AeN-73yKa=KmjY@6>X&86|91S&N~@Q&JpKxs0QZG zE{j8yfZ(unMKLN6^c?kkXG9g$V5CK7-brjNSo7SR;C#93`FuV<+?~2*t&nL+K!ruI zaJOQT6wSii)fM5~=cb=?EgE!QQ-F{KvMfWbq6FR$3W(zIw7e$-klCb>HyWdY4+M=% z*1G6ar5HUwC-^^p?z2Ze^Luyf9Z1?Aq)}BZb|IP&M3BYi2NXd7m>M6`YcruAd3o^ z`XoIse-9Ill7Bp-_{=0}B;X7r9x^>A-p|qsnGfXm&ro~?#>=A|35W2h$8b(`AfU4h zctEkiF`A7rY!7mhh{uMzsLe#=O#7T@wFEVD%v31Yld@@{7PuP{bP2zZwMzcXZciw3?Z(LF!=mKl#V`1=TC@;7ZD^d3q%bXU@RNq zIr9uPsj^z~?5siQ$P(VOVuH>}lT0F11ppBxry0}JCBAsZBVElrhM`-@}oZi z+lh(=6EIap%a-c<%Z&C1CdX@F4S1z%%G3Eu@>+!jipGKj!Aph^Sn5~PpRJ^z6)X-# zNu?elQ6@9PI|>z`t2Wt@Bj0Id{G*ZO&UIPaggJ@)doE0ey? z&iDN9`|kVE*|U4L|1PS^*|greb!!IjAO7Mm?i(8$`;9$+|II93Q*n(=YiKSXM6D$^ za)#p14-p+}5SI3#kp-V27_dUSS;N*Hg6BlL!QNJr330425uo_lF97EN=1)HJ)cd~tiQQ*5^?t<1NyxmlvwjlI3%&~` zR+PyGES>jFU=pDo&#<<=kKF%7L6dz5Hw)LQlP-9Yz^h4!t?eS8g`0W$g#qB zZe2dbQ2#i=76>XR01#OiDooK|YEnAZ$0OA|-Ohu0)@N6++6)oLmOwyJ0E}2lwkr%~ z{Wd!he)>Nj`mav|Y?#>~0CR#xM9^*iZlLFDH-4bKK7T_cSESNZtC}Lr!=zwxmg?p{ z;)#HJ;3U0WgZy&%Rr>QwNF)Idc<|~$KvfYDdZJ$5lx^fmc@ha3A6VL8P5(G8i3piT z7Pe?f#8NCbxb~t+M%(>7nxt&j4Xlzi7%Q|jT~G`KHMF&52U*67WX%mrJ(|Lx1S z-+%YsyHf-~Q3JrP%~shOL?mD6%l%>hMP22n6%s`a0bf_ zx0JSNgDTEMIC1m!E=tgVmy}-9Pj|AMx0GtE?XA+5Xx0dTqUh__0t9GeIXcR9uIim; zg)cFvD{;<{kh$W-!y|$ZZ_pqNx=aD|4w8Nkn8~f_hYyc_{%ghW^mU`f@@PHORaJ6lHPe zqX9A^mX^o4*z^!<5s#l034s6zX-F|*SX~^V!*#fstctVlEnVxnt_B$EA5#D~o6Z5i z7u-shwz5O|{?MCkU0*7!6{Z6F8&D2gByZHY)CeDI*J4^^p!CR0g@hIuy^ zI1d#-X{K-{YoQVl02SJy4G8OsZ(@026`-@3hKd+z`4*b`qX2BjY-5`m=E2BaKYLD_ z;YrC`L?k_*H#DFvr|I-)-M3#H<#g{b>Y49apl1cY#*7T+k`O}hjG1v>sX3CQ0OIi~ zsIn*niU}DbwO$VR2^y^#AH1f`&E3(m;wXk4Os$z}%HbkTi=#DlU%R_I%E!PfnyynkW33Y?QMB zU?J0t*yQMRov12aJpd+HCj2-P(FvZdmpC+0A<_gD$W#c*9K8yeT4D>;dWk1b#r|k= zCav|2TN}sG(%ePn(vBzO$6miqOO+ij z2*AjeZ-3K|HvcqK6HI5ECo%>jU`268Y-b!b)YH2^`O&qtONT%7@!KQ2QtkK0znhMn z9`S{&sLndhvM1k1-sMpgr;dqif|t#U7}F-jv2&!z(KFrTG$AqxDuQBAaTsICo0it6 z6aUx|Ne|_E?fW-f6}h!?+7;Zx>!M3oURW8as6iAXf-y!)wwxz5OxC9V>eB~*>+b+| z$PT+z7cLNI;c|Hx_{SSRYP<8Fm7?1ul^7AuHRfvR(e`xm#moO@`fopR%O}>4hsi&x zPEFl9UOf}fyx3yd%WHI?Ip{0piV$P=HJ{^Xa)>&0Ibse{GtBy-n71 z)wLKm5y{X%Xea1+BX9Sm>tv*38J(pKEJ@TNEbMvyz?ApA`ZQG`=i$%}vV|MH!6ji4j_)>wzal3FfdSmbzE}3 rNBjWJn)ma?_o_ev*v4FZ=f(d63v(A!G_sk500000NkvXXu0mjf1`f?l literal 0 HcmV?d00001 diff --git a/sources/esviji/favicons/mstile-144x144.png b/sources/esviji/favicons/mstile-144x144.png new file mode 100644 index 0000000000000000000000000000000000000000..0d215c18f084dfc390197f03419bd31e8e0daea3 GIT binary patch literal 20228 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 literal 0 HcmV?d00001 diff --git a/sources/esviji/favicons/mstile-150x150.png b/sources/esviji/favicons/mstile-150x150.png new file mode 100644 index 0000000000000000000000000000000000000000..066399bce169472c0fda3459fc96f4bb6f5e24a0 GIT binary patch literal 18177 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 literal 0 HcmV?d00001 diff --git a/sources/esviji/favicons/mstile-310x310.png b/sources/esviji/favicons/mstile-310x310.png new file mode 100644 index 0000000000000000000000000000000000000000..732e409202f7d79226e4006179c84a17880acc89 GIT binary patch literal 54541 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 literal 0 HcmV?d00001 diff --git a/sources/esviji/favicons/mstile-70x70.png b/sources/esviji/favicons/mstile-70x70.png new file mode 100644 index 0000000000000000000000000000000000000000..a37faba4fb5c25c3c13e407d6e82f728eabfa608 GIT binary patch literal 11806 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 + + + +esviji + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+

esviji

+

%DESCRIPTION%

+

+
+ + + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + + + + + + + + + esviji + score : + + niveau : + + vies : + + + + + + + + + + + + + esviji + score : + 0 + 9 + niveau : + 1 + vies : + 9 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Ce sont les balles que + vous devez détruire + pour finir la manche. + + + + + + + + C'est la balle que vous + pouvez déplacer de haut + en bas puis relâcher pour + détruire les autres. + + + + + + Vous pouvez utiliser + votre souris, doigt ou + clavier pour déplacer + la balle. + + + + + + La balle part alors à + droite jusqu'à ce qu'elle + rencontre une balle, + un rocher ou un mur. + + + + + + Des balles identiques doivent + se rencontrer pour se détruire + Plus vous touchez de balles, + plus votre score augmente. + + + + + + La balle se transforme + en la prochaine balle + rencontrée, devenant + une balle à détruire. + + + + + + Les balles qui ont + des trous sous + elles, tombent. + + + + + + Le score est augmenté + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Pause + + + + Continuer + + + + + Recommencer + + + Son est : + + + + + + Vibration est : + + + + + + + + Sortie + + + + + + C'est perdu ! + + + + Records + + + + Jouer encore + + + + Sortie + + + + + Records + + Difficulté : + + + + + + + - + - + - + - + - + - + - + - + - + - + + + + Sortie + + + + + Paramètres + + Son activé : + + + + + + Vibration activé : + + + + + + + + Aide + + + + Installation + + + + + Sortie + + + + + Difficulté + + + + Débutant + + + + + Facile + + + + + Difficile + + + + + Extrême + + + + + Sortie + + + + + + + + + + + + + + + + + + + + + + + esviji + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1992-2014 Nicolas Hoizey + esviji.com + + + + + + + + + + + + + + + + + diff --git a/sources/esviji/js/esviji.js b/sources/esviji/js/esviji.js new file mode 100644 index 0000000..6886ebe --- /dev/null +++ b/sources/esviji/js/esviji.js @@ -0,0 +1,1441 @@ +// ## Create the main object + +var ESVIJI = {}; + +// ## Add default settings + +ESVIJI.settings = { + version: '%VERSION%', + // board size and according ball extreme positions + board: { + width: 320, + height: 460, + xMax: 10, + yMax: 13 + }, + // list of available ball "names" + balls: ['ball1', 'ball2', 'ball3', 'ball4', 'ball5', 'ball6'], + // list of available rock "names" (only one for now) + rocks: ['rock'], + // special ids for the game matrix + emptyId: 0, + rockId: -1, + // game info at launch time + launch: { + lives: 9, + score: 0, + level: 0 + }, + // game difficulty levels + difficulties: { + Beginner: { + rows: function rows(level) { + return 3; + }, + columns: function columns(level) { + return 3; + }, + balls: function balls(level) { + return Math.max(2, Math.min(3, 2 + Math.floor((level - 1) / 3))); + }, + rocks: function rocks(level) { + return 0; + }, + points: function points(nbHits) { + return nbHits; + }, + extraLifePoints: 100, + extraLifeLevel: 0 + }, + Easy: { + rows: function rows(level) { + return Math.max(3, Math.min(6, 3 + Math.floor((level - 1) / 3))); + }, + columns: function columns(level) { + return Math.max(3, Math.min(6, 3 + Math.floor((level - 1) / 3))); + }, + balls: function balls(level) { + return Math.max(2, Math.min(5, 2 + Math.floor((level - 1) / 2))); + }, + rocks: function rocks(level) { + return Math.min(5, Math.floor((level - 1) / 5)); + }, + points: function points(nbHits) { + return Math.pow(nbHits, 2); + }, + extraLifePoints: 100, + extraLifeLevel: 1 + }, + Hard: { + rows: function rows(level) { + return Math.max(5, Math.min(7, 5 + Math.floor((level - 1) / 3))); + }, + columns: function columns(level) { + return Math.max(5, Math.min(6, 5 + Math.floor((level - 1) / 3))); + }, + balls: function balls(level) { + return Math.max(4, Math.min(6, 4 + Math.floor((level - 1) / 2))); + }, + rocks: function rocks(level) { + return Math.min(10, Math.floor((level - 1) / 4)); + }, + points: function points(nbHits) { + return Math.pow(nbHits, 3); + }, + extraLifePoints: 100, + extraLifeLevel: 1 + }, + Crazy: { + rows: function rows(level) { + return Math.min(7, 2 + level); + }, + columns: function columns(level) { + return Math.min(7, 2 + level); + }, + balls: function balls(level) { + return Math.min(6, 1 + level); + }, + rocks: function rocks(level) { + return Math.max(0, Math.min(20, level - 6)); + }, + points: function points(nbHits) { + return Math.pow(nbHits, 4); + }, + extraLifePoints: 100, + extraLifeLevel: 0 + } + }, + // game info at new turn start + turn: { + posX: 10, + dirX: -1, + posY: 8, + dirY: 0 + }, + // animation settings + durationMove: 0.15, + durationMorph: 0.5 +}; + +// ## Add the game engine +ESVIJI.game = (function () { + // Initial values + var + viewportWidth = 0, + viewportHeight = 0, + boardWidth, + boardHeight, + boardOffsetY, + drawnCurrentBalls = [], + validBalls = [], + drawnCurrentBall = null, + stackedAnimationToStart = 1, + lastStackedAnimation = 0, + currentPosX = 0, + currentPosY = 0, + currentDirX = -1, + currentDirY = 0, + dragged = false, + moveCount = 0, + cursorY = 0, + cursorMinY = 0, + cursorMaxY = 0, + maxAvailableBalls = 0, + nbBalls = 0, + scoreThisTurn = 0, + lastHitBall = ESVIJI.settings.rockId, + highScores = [ ], + lastGameDate = '', + gameStatus = { }, + useStored = false, + sounds, + clickType = 'click'; + + // Initialization + function init() { + if (Modernizr.inlinesvg) { + $('#description').hide(); + } else { + // Add this message using JS to prevent indexing it in search engines + $('#description p.icon').before('

Your browser doesn\'t seem to support inline SVG. Learn about this game on esviji.com.

'); + $('svg').hide(); + return; + } + if (Modernizr.touch) { + // TODO: Should not be necessary, devices can have both mouse and touch + clickType = 'touchstart'; + } + if (!Modernizr.testProp('vibrate')) { + $('.prefsVibration,.label.vibration').hide(); + } + + if (!ESVIJI.settings.version.match(/VERSION/)) { + if ($('.version') === ESVIJI.settings.version) { + // Send version to Google Analitycs only if it is set in the source + offlineAnalytics.push({name: 'version', value: ESVIJI.settings.version }); + } + } + + if (!store.disabled) { + highScores = store.get('highScores') || [ ]; + gameStatus = store.get('gameStatus') || { + currentBalls: [], + currentBall: 0, + level: 0, + score: 0, + lives: 0, + playing: false, + levelReplay: { + lostLives: 0, + level: 0, + balls: [], + sequence: [] + }, + preferences: { + sound: true, + vibration: true, + difficulty: 'Beginner' + } + }; + } + + viewportOptimize(); + cursorMinY = yToSvg(1); + cursorMaxY = yToSvg(ESVIJI.settings.board.yMax); + maxAvailableBalls = ESVIJI.settings.balls.length; + + // Deal with localStore content that has been set when there was less data + if (undefined === gameStatus.levelReplay) { + // v1.6.7 + gameStatus.levelReplay = { + 'lostLives': 0, + 'level': 0, + 'balls': [], + 'sequence': [] + }; + } + if (undefined === gameStatus.preferences) { + // v1.6.8 + gameStatus.preferences = { + 'sound': true + }; + } + if (undefined === gameStatus.preferences.difficulty) { + // v1.8.0 + gameStatus.preferences.difficulty = 'Beginner'; + } + if (highScores.length === 0 || (highScores.length > 0 && undefined === highScores.Beginner)) { + // v1.8.1 + oldHighScores = highScores; + highScores = { + Beginner: [], + Easy: [], + Hard: oldHighScores, + Crazy: [] + }; + storeSet('highScores', highScores); + } + if (undefined === gameStatus.preferences.vibration) { + // v1.13.0 + gameStatus.preferences.vibration = true; + } + + // Available sounds + sounds = new Howl({ + "urls": ["sounds/sprite.ogg", "sounds/sprite.mp3"], + "sprite": { + "fall": [0, 204.05895691609976], + "hit-floor": [2000, 2000], + "hit-other-ball-ko": [5000, 468.7528344671206], + "hit-other-ball-ok": [7000, 500], + "hit-same-ball": [9000, 1000], + "hit-wall": [11000, 1835.941043083901], + "level": [14000, 2947.0068027210878], + "life-down": [18000, 1000], + "life-up": [20000, 1000], + "throw": [22000, 797.1201814058943] + }, + buffer: true + }); + + run(); + } + + function storeSet(item, value) { + if (!store.disabled) { + store.set(item, value); + } + } + + function viewportOptimize() { + if (viewportWidth != document.body.clientWidth || viewportHeight != document.body.clientHeight) { + viewportWidth = document.body.clientWidth; + viewportHeight = document.body.clientHeight; + if (viewportHeight / viewportWidth > ESVIJI.settings.board.height / ESVIJI.settings.board.width) { + // tall + boardWidth = viewportWidth; + boardHeight = ESVIJI.settings.board.height / ESVIJI.settings.board.width * boardWidth; + boardOffsetY = viewportHeight - boardHeight; // top empty area height + } else { + // large + boardHeight = viewportHeight; + boardWidth = ESVIJI.settings.board.width / ESVIJI.settings.board.height * boardHeight; + boardOffsetY = 0; + } + } + } + + function run() { + if (typeof gameStatus.playing === 'undefined' || gameStatus.playing === false) { + showPanel('main'); + startMain(); + } else { + useStored = true; + startPlaying(); + } + } + + function startMain(difficulty) { + $('#pulse')[0].beginElement(); + $('#main .start').one(clickType, startDifficulty); + $('#main .scores').one(clickType, startScores); + $('#main .settings').one(clickType, startSettings); + } + + function startDifficulty() { + hidePanel('main'); + showPanel('difficulty'); + $('#difficulty .beginner').one(clickType, function (event) { + event.preventDefault(); + gameStatus.preferences.difficulty = 'Beginner'; + hidePanel('difficulty'); + startPlaying(); + }); + $('#difficulty .easy').one(clickType, function (event) { + event.preventDefault(); + gameStatus.preferences.difficulty = 'Easy'; + hidePanel('difficulty'); + startPlaying(); + }); + $('#difficulty .hard').one(clickType, function (event) { + event.preventDefault(); + gameStatus.preferences.difficulty = 'Hard'; + hidePanel('difficulty'); + startPlaying(); + }); + $('#difficulty .crazy').one(clickType, function (event) { + event.preventDefault(); + gameStatus.preferences.difficulty = 'Crazy'; + hidePanel('difficulty'); + startPlaying(); + }); + $('#difficulty .exit').one(clickType, endDifficulty); + } + + function endDifficulty(event) { + event.preventDefault(); + hidePanel('difficulty'); + showPanel('main'); + startMain(); + } + + function startPlaying(event) { + if (undefined !== event) { + event.preventDefault(); + } + if (!useStored) { + gameStatus.level = ESVIJI.settings.launch.level; + gameStatus.score = ESVIJI.settings.launch.score; + gameStatus.lives = ESVIJI.settings.launch.lives; + hidePanel('play'); + if (null !== drawnCurrentBall) { + drawnCurrentBall.remove(); + } + drawnCurrentBall = null; + } + showPanel('play'); + drawLevel(); + drawScore(); + drawLives(); + $('#play .pauseButton').one(clickType, startPause); + nextLevel(); + } + + function stopPlaying() { + gameStatus.playing = false; + gameStatus.level = 0; + gameStatus.score = 0; + gameStatus.lives = 0; + eraseBalls(); + if (null !== drawnCurrentBall) { + drawnCurrentBall.remove(); + } + hidePanel('play'); + storeSet('gameStatus', { + 'playing': false + }); + run(); + } + + function startTutorial() { + hidePanel('settings'); + showPanel('tutorial'); + $('#tutorial .pauseButton').one(clickType, endTutorial); + $('#tutoAnimEnd')[0].addEventListener('endEvent', endTutorial, false); + $('#tutoAnimStart')[0].beginElement(); + } + + function endTutorial(event) { + event.preventDefault(); + hidePanel('tutorial'); + showPanel('settings'); + startSettings(); + } + + function startScores() { + var difficulty = gameStatus.preferences.difficulty; + + hidePanel('main'); + showPanel('scores'); + + $('#scores .difficulty text').text(difficulty); + $('#scores .difficulty').bind(clickType, function() { + var nextDifficulty = { + Beginner: 'Easy', + Easy: 'Hard', + Hard: 'Crazy', + Crazy: 'Beginner' + }, + difficulty = nextDifficulty[$(this).find('text').text()]; + + $('#scores .difficulty text').text(difficulty); + writeScores(difficulty); + }); + + writeScores(difficulty); + + $('#scores .exit').one(clickType, endScores); + } + + function writeScores(difficulty) { + for (i = 0; i < 10; i++) { + if (undefined !== highScores[difficulty][i]) { + $('#scores .highscores text').eq(i).text(highScores[difficulty][i].score); + if (difficulty === gameStatus.preferences.difficulty && lastGameDate === highScores[difficulty][i].date) { + $('#scores .highscores text').eq(i).attr('class', 'thisone'); + } + } else { + $('#scores .highscores text').eq(i).text('-').attr('class', ''); + } + } + } + + function endScores(event) { + event.preventDefault(); + hidePanel('scores'); + showPanel('main'); + startMain(); + } + + function startSettings() { + hidePanel('main'); + showPanel('settings'); + + $('#settings .prefsSound text').text(gameStatus.preferences.sound ? 'On' : 'Off'); + $('#settings .prefsSound').bind(clickType, function() { + gameStatus.preferences.sound = !gameStatus.preferences.sound; + storeSet('gameStatus', gameStatus); + $('#settings .prefsSound text').text(gameStatus.preferences.sound ? 'On' : 'Off'); + }); + + $('#settings .prefsVibration text').text(gameStatus.preferences.vibration ? 'On' : 'Off'); + $('#settings .prefsVibration').bind(clickType, function() { + gameStatus.preferences.vibration = !gameStatus.preferences.vibration; + storeSet('gameStatus', gameStatus); + $('#settings .prefsVibration text').text(gameStatus.preferences.vibration ? 'On' : 'Off'); + }); + + $('#settings .tutorial').one(clickType, startTutorial); + + $('#settings .exit').one(clickType, endSettings); + + showInstall(); + } + + function endSettings(event) { + event.preventDefault(); + hidePanel('settings'); + showPanel('main'); + startMain(); + } + + function startPause() { + showPanel('pause'); + $('#pause .resume').one(clickType, function(e) { + e.preventDefault(); + hidePanel('pause'); + $('#play .pauseButton').one(clickType, startPause); + }); + + $('#pause .restart').one(clickType, function(e) { + e.preventDefault(); + hidePanel('pause'); + storeSet('gameStatus', { + 'playing': false + }); + startPlaying(); + }); + + $('#pause .prefsSound text').text(gameStatus.preferences.sound ? 'On' : 'Off'); + $('#pause .prefsSound').bind(clickType, function() { + gameStatus.preferences.sound = !gameStatus.preferences.sound; + storeSet('gameStatus', gameStatus); + $('#pause .prefsSound text').text(gameStatus.preferences.sound ? 'On' : 'Off'); + }); + + $('#pause .prefsVibration text').text(gameStatus.preferences.vibration ? 'On' : 'Off'); + $('#pause .prefsVibration').bind(clickType, function() { + gameStatus.preferences.vibration = !gameStatus.preferences.vibration; + storeSet('gameStatus', gameStatus); + $('#pause .prefsVibration text').text(gameStatus.preferences.vibration ? 'On' : 'Off'); + }); + + $('#pause .exit').one(clickType, function(e) { + e.preventDefault(); + hidePanel('pause'); + stopPlaying(); + }); + } + + // There is no z-index in SVG, so we need to "create" panel we want on top of all others + function showPanel(panel) { + if ( $('#' + panel).length === 0 && $('#' + panel + 'Panel').length === 1) { + $('#' + panel + 'Panel').clone().attr('id', panel).appendTo('#board'); + $('#' + panel + 'Panel').remove(); + if (panel === 'pause' || panel === 'gameOver') { + $('#play').css('opacity', 0.3); + } + // Google Analytics tracking of activated panel + offlineAnalytics.push({ name: 'view', value: '/' + (panel === 'main' ? '' : panel + '/') }); + } + } + + function hidePanel(panel) { + if ($('#' + panel).length === 1 && $('#' + panel + 'Panel').length === 0) { + $('#' + panel).clone().attr('id', panel + 'Panel').appendTo('#board defs'); + $('#' + panel).remove(); + if (panel === 'pause' || panel === 'gameOver') { + $('#play').css('opacity', 1); + } + } + } + + function nextLevel() { + gameStatus.playing = true; + eraseBalls(); + if (useStored) { + drawBalls(); + } else { + gameStatus.level++; + drawLevel(); + $('#play .level').attr('class', 'level changeUp'); + window.setTimeout(function() { $('#play .level').attr('class', 'level'); }, 2000); + initBalls(); + drawBalls(); + getValidBalls(); + gameStatus.currentBall = validBalls[Math.floor(Math.random() * validBalls.length)]; + } + + // TODO: remove "null" values from gameStatus.currentBalls + gameStatus.levelReplay = { + 'lostLives': 0, + 'level': gameStatus.level, + 'balls': gameStatus.currentBalls.map(function(a) { return a === null ? null : a.slice(); }), // clone the array (https://twitter.com/naholyr/status/311112698421198848) + 'sequence': [] + }; + + playSound('level'); + startNewTurn(); + } + + function startNewTurn() { + currentPosX = ESVIJI.settings.turn.posX; + currentDirX = ESVIJI.settings.turn.dirX; + currentPosY = ESVIJI.settings.turn.posY; + currentDirY = ESVIJI.settings.turn.dirY; + scoreThisTurn = 0; + lastHitBall = ESVIJI.settings.rockId; + getValidBalls(); + + stackedAnimationToStart = 1; + lastStackedAnimation = 0; + + if (validBalls.length === 0) { + // no more valid ball, end of the turn + if (null !== drawnCurrentBall) { + drawnCurrentBall.remove(); // TODO: animate + drawnCurrentBall = null; + } + + if (ESVIJI.settings.difficulties[gameStatus.preferences.difficulty].extraLifeLevel > 0) { + gameStatus.lives += ESVIJI.settings.difficulties[gameStatus.preferences.difficulty].extraLifeLevel; + drawLives(); + $('#play .lives').attr('class', 'lives changeUp'); + window.setTimeout(function() { $('#play .lives').attr('class', 'lives'); }, 2000); + } + + // Push to the server levels completed without any lost life + if (gameStatus.levelReplay.lostLives === 0) { + // TODO + // call the API + //console.log(JSON.stringify(gameStatus.levelReplay)); + } + + makeEverythingFall(); + } else { + if (validBalls.indexOf(gameStatus.currentBall) == -1) { + var notPlayableAnimMain = svgAnimate({ + "attributeName": "opacity", + "from": "0", + "to": "1", + "begin": "indefinite", + "dur": "0.5s", + "repeatCount": "4", + "fill": "freeze", + "id": "notPlayableAnim" + }); + notPlayableAnimMain.addEventListener('beginEvent', function () { playSound('error'); }, false); + notPlayableAnimMain.addEventListener('endEvent', notPlayable, false); + if (null !== drawnCurrentBall) { + drawnCurrentBall.append(notPlayableAnimMain); + } + $('[data-valid=true]').each(function() { + that = $(this); + var notPlayableAnim = svgAnimate({ + "attributeName": "opacity", + "from": "0", + "to": "1", + "begin": "notPlayableAnim.begin", + "dur": "0.5s", + "repeatCount": "4", + "fill": "freeze" + }); + that.append(notPlayableAnim); + }); + notPlayableAnimMain.beginElement(); + } else { + storeSet('gameStatus', gameStatus); + useStored = false; + if (gameStatus.playing) { + if (null !== drawnCurrentBall && undefined !== drawnCurrentBall) { + drawnCurrentBall.remove(); + } + drawnCurrentBall = drawBall(xToSvg(currentPosX), yToSvg(currentPosY), ESVIJI.settings.balls[gameStatus.currentBall - 1], 'playable'); + $('#play .playzone').on('mousedown touchstart', cursorStart); + $('#play .playzone').on('mousemove touchmove', cursorMove); + $('#play .playzone').on('mouseup touchend', cursorEnd); + $('#play .playzone').on('touchcancel', startNewTurn); + Mousetrap.bind('up', keyUp); + Mousetrap.bind('down', keyDown); + Mousetrap.bind(['enter', 'space'], keyEnter); + Mousetrap.bind('esc', function() { console.log('esc'); startNewTurn(); }); + } + } + } + } + + function notPlayable() { + if (null !== drawnCurrentBall) { + drawnCurrentBall.remove(); + } + drawnCurrentBall = null; + removeLife(); + gameStatus.currentBall = validBalls[Math.floor(Math.random() * validBalls.length)]; + startNewTurn(); + } + + function keyUp(event) { + cursorY = Math.min(Math.max(yToSvg(currentPosY + 1), cursorMaxY), cursorMinY); + currentPosY = svgToY(cursorY); + drawnCurrentBall.attr({ + y: cursorY + }); + } + + function keyDown(event) { + cursorY = Math.min(Math.max(yToSvg(currentPosY - 1), cursorMaxY), cursorMinY); + currentPosY = svgToY(cursorY); + drawnCurrentBall.attr({ + y: cursorY + }); + } + + function keyEnter(event) { + Mousetrap.unbind('up'); + Mousetrap.unbind('down'); + Mousetrap.unbind(['enter', 'space']); + $('#play .playzone').off('mousedown touchstart'); + $('#play .playzone').off('mousemove touchmove'); + $('#play .playzone').off('mouseup touchend'); + drawnCurrentBall.attr({ + 'class': '' + }); + moveCount = 0; + oldPosX = currentPosX; + oldPosY = currentPosY; + + cursorY = yToSvg(currentPosY); + drawnCurrentBall.attr({ + y: cursorY + }); + currentPosY = svgToY(cursorY); + + gameStatus.levelReplay.sequence.push({ + 'ball': gameStatus.currentBall, + 'position': currentPosY + }); + + playSound('throw'); + playUserChoice(); + } + + function cursorStart(event) { + event.preventDefault(); + dragged = true; + if (event.originalEvent.touches && event.originalEvent.touches.length) { + event = event.originalEvent.touches[0]; + } else if (event.originalEvent.changedTouches && event.originalEvent.changedTouches.length) { + event = event.originalEvent.changedTouches[0]; + } + cursorY = Math.min(Math.max(pixelsToSvgY(event.pageY) - 16, cursorMaxY), cursorMinY); + drawnCurrentBall.attr({ + y: cursorY + }); + } + + function cursorMove(event) { + event.preventDefault(); + if (event.originalEvent.touches && event.originalEvent.touches.length) { + event = event.originalEvent.touches[0]; + } else if (event.originalEvent.changedTouches && event.originalEvent.changedTouches.length) { + event = event.originalEvent.changedTouches[0]; + } + // event.pageY seems to be returning weird values when movement starts + cursorY = Math.min(Math.max(pixelsToSvgY(event.pageY) - 16, cursorMaxY), cursorMinY); + currentPosY = svgToY(cursorY); + drawnCurrentBall.attr({ + y: cursorY + }); + } + + function cursorEnd(event) { + event.preventDefault(); + if (dragged) { + if (event.originalEvent.touches && event.originalEvent.touches.length) { + event = event.originalEvent.touches[0]; + } else if (event.originalEvent.changedTouches && event.originalEvent.changedTouches.length) { + event = event.originalEvent.changedTouches[0]; + } + dragged = false; + Mousetrap.unbind('up'); + Mousetrap.unbind('down'); + Mousetrap.unbind(['enter', 'space']); + $('#play .playzone').off('mousedown touchstart'); + $('#play .playzone').off('mousemove touchmove'); + $('#play .playzone').off('mouseup touchend'); + cursorY = Math.min(Math.max(pixelsToSvgY(event.pageY) - 16, cursorMaxY), cursorMinY); + currentPosY = svgToY(cursorY); + drawnCurrentBall.attr({ + y: yToSvg(currentPosY) + }); + moveCount = 0; + oldPosX = currentPosX; + oldPosY = currentPosY; + + gameStatus.levelReplay.sequence.push({ + 'ball': gameStatus.currentBall, + 'position': currentPosY + }); + + playSound('throw'); + playUserChoice(); + } + } + + function playUserChoice() { + moveCount++; + if (currentPosY == 1 && currentDirY == -1) { + // Against the floor, no more possible move + if (oldPosY != 1) { + animStackMove(drawnCurrentBall, (oldPosY - currentPosY) * ESVIJI.settings.durationMove, 'y', yToSvg(oldPosY), yToSvg(currentPosY)); + } + $('#anim' + lastStackedAnimation)[0].addEventListener('beginEvent', function(event) { + playSound('hit-floor'); + }); + endOfMove(); + } else { + if (currentPosX == 1 && currentDirX == -1) { + // Against the left wall, should now go down + currentDirX = 0; + currentDirY = -1; + animStackMove(drawnCurrentBall, (oldPosX - currentPosX) * ESVIJI.settings.durationMove, 'x', xToSvg(oldPosX), xToSvg(currentPosX)); + $('#anim' + lastStackedAnimation)[0].addEventListener('endEvent', function(event) { + playSound('hit-wall'); + }, false); + oldPosX = currentPosX; + playUserChoice(); + } else { + // Neither floor nor wall, so what is it? + nextBall = gameStatus.currentBalls[currentPosX + currentDirX][currentPosY + currentDirY]; + switch (nextBall) { + case ESVIJI.settings.rockId: + // A rock... + if (currentDirX == -1) { + // ...at our left, should now go down + currentDirX = 0; + currentDirY = -1; + animStackMove(drawnCurrentBall, (oldPosX - currentPosX) * ESVIJI.settings.durationMove, 'x', xToSvg(oldPosX), xToSvg(currentPosX)); + oldPosX = currentPosX; + $('#anim' + lastStackedAnimation)[0].addEventListener('endEvent', function(event) { + playSound('hit-wall'); + }, false); + playUserChoice(); + } else { + // ...under us, no more possible move + if (oldPosY != currentPosY) { + animStackMove(drawnCurrentBall, (oldPosY - currentPosY) * ESVIJI.settings.durationMove, 'y', yToSvg(oldPosY), yToSvg(currentPosY)); + } + $('#anim' + lastStackedAnimation)[0].addEventListener('endEvent', function(event) { + playSound('hit-floor'); + }, false); + endOfMove(); + } + break; + case ESVIJI.settings.emptyId: + // Nothing can stop us + currentPosX += currentDirX; + currentPosY += currentDirY; + playUserChoice(); + break; + case gameStatus.currentBall: + // Same ball, let's destroy it! + currentPosXBefore = currentPosX; + currentPosYBefore = currentPosY; + currentPosX += currentDirX; + currentPosY += currentDirY; + gameStatus.currentBalls[currentPosX][currentPosY] = ESVIJI.settings.emptyId; + if (currentPosXBefore != oldPosX) { + animStackMove(drawnCurrentBall, (oldPosX - currentPosXBefore) * ESVIJI.settings.durationMove, 'x', xToSvg(oldPosX), xToSvg(currentPosXBefore)); + oldPosX = currentPosXBefore; + } else if (currentPosYBefore != oldPosY) { + animStackMove(drawnCurrentBall, (oldPosY - currentPosYBefore) * ESVIJI.settings.durationMove, 'y', yToSvg(oldPosY), yToSvg(currentPosYBefore)); + oldPosY = currentPosYBefore; + } + animStackDestroy(drawnCurrentBalls[currentPosX][currentPosY]); + scoreThisTurn++; + playSound('hit-same-ball'); + playUserChoice(); + break; + default: + lastHitBall = nextBall; + if (currentPosX != oldPosX) { + animStackMove(drawnCurrentBall, (oldPosX - currentPosX) * ESVIJI.settings.durationMove, 'x', xToSvg(oldPosX), xToSvg(currentPosX)); + } else if (currentPosY != oldPosY) { + animStackMove(drawnCurrentBall, (oldPosY - currentPosY) * ESVIJI.settings.durationMove, 'y', yToSvg(oldPosY), yToSvg(currentPosY)); + } + if (scoreThisTurn > 0) { + gameStatus.currentBall = nextBall; + if (currentPosX != oldPosX) { + animStackMorph(drawnCurrentBall, nextBall, xToSvg(currentPosX), yToSvg(currentPosY), 'x', xToSvg(currentPosX), xToSvg(currentPosX + currentDirX)); + } else { + animStackMorph(drawnCurrentBall, nextBall, xToSvg(currentPosX), yToSvg(currentPosY), 'y', yToSvg(currentPosY), yToSvg(currentPosY + currentDirY)); + } + } + endOfMove(); + } + } + } + } + + function endOfTurn() { + if (scoreThisTurn === 0) { + if (lastHitBall != ESVIJI.settings.rockId) { + removeLife(); + } + } else { + addScore(scoreThisTurn); + } + stackedAnimationToStart = lastStackedAnimation + 1; + startNewTurn(); + } + + function svgAnimate(settings, type) { + var anim = document.createElementNS("http://www.w3.org/2000/svg", type || "animate"); + anim.setAttributeNS(null, "attributeType", "xml"); + for (var key in settings) { + anim.setAttributeNS(null, key, settings[key]); + } + return anim; + } + + function svgAnimateTransform(settings) { + return svgAnimate(settings, 'animateTransform'); + } + + function animStackMove(ball, duration, attribute, from, to, begin) { + if (begin === undefined) { + if (lastStackedAnimation === (stackedAnimationToStart - 1)) { + begin = 'indefinite'; + } else { + begin = 'anim' + lastStackedAnimation + '.end'; + } + } + + lastStackedAnimation++; + + anim = svgAnimate({ + "attributeName": attribute, + "from": from, + "to": to, + "begin": begin, + "dur": duration + "s", + "fill": "freeze", + "id": "anim" + lastStackedAnimation + }); + anim.attribute = attribute; + anim.attributeTo = to; + anim.addEventListener('endEvent', function (event) { + // Set new attribute value at the end of the animation + $(event.currentTarget.parentElement).attr(event.currentTarget.attribute, event.currentTarget.attributeTo); + // Remove the animation + $(event.currentTarget).remove(); + }, false); + ball.append(anim); + } + + function animStackMorph(ballFrom, ballToId, x, y, attribute, from, to) { + var ballTo = svgUse("ball" + ballToId, "morph"); + ballTo.attr({ + x: x, + y: y, + opacity: 0 + }); + $("#play").append(ballTo); + + // opacity from + animOpacityFrom = svgAnimate({ + "attributeName": "opacity", + "to": "0", + "begin": "anim" + lastStackedAnimation + ".end", + "dur": ESVIJI.settings.durationMorph + "s", + "fill": "freeze", + "id": "anim" + (lastStackedAnimation + 1) + }); + ballFrom.append(animOpacityFrom); + + // move + animMoveFrom = svgAnimate({ + "attributeName": attribute, + "from": from, + "to": to, + "begin": "anim" + lastStackedAnimation + ".end", + "dur": ESVIJI.settings.durationMorph + "s", + "fill": "freeze", + "id": "anim" + (lastStackedAnimation + 2) + }); + ballFrom.append(animMoveFrom); + + // opacity to + animOpacityTo = svgAnimate({ + "attributeName": "opacity", + "to": "1", + "begin": "anim" + lastStackedAnimation + ".end", + "dur": ESVIJI.settings.durationMorph + "s", + "fill": "freeze", + "id": "anim" + (lastStackedAnimation + 3) + }); + ballTo.append(animOpacityTo); + + // move + animMoveTo = svgAnimate({ + "attributeName": attribute, + "from": from, + "to": to, + "begin": "anim" + lastStackedAnimation + ".end", + "dur": ESVIJI.settings.durationMorph + "s", + "fill": "freeze", + "id": "anim" + (lastStackedAnimation + 4) + }); + animMoveTo.addEventListener('beginEvent', function(event) { + playSound('hit-other-ball-ok'); + }, false); + ballTo.append(animMoveTo); + + lastStackedAnimation += 4; + } + + function animStackDestroy(ball, begin) { + begin = begin || ((lastStackedAnimation === 0) ? "indefinite" : ("anim" + lastStackedAnimation + ".end")); + + // rotate + var centerX = parseInt(ball.attr('x'), 10) + 16, + centerY = parseInt(ball.attr('y'), 10) + 16, + animRotate = svgAnimateTransform({ + "attributeName": "transform", + "type": "rotate", + "from": "0 " + centerX + " " + centerY, + "to": "360 " + centerX + " " + centerY, + "begin": begin, + "dur": ESVIJI.settings.durationMove * 2 + "s", + "fill": "freeze", + "id": "anim" + (lastStackedAnimation + 1) + }); + animRotate.addEventListener('beginEvent', function(event) { + playSound('hit-same-ball'); + }, false); + ball.append(animRotate); + + // opacity + var animOpacity = svgAnimate({ + "attributeName": "opacity", + "to": "0", + "begin": "anim" + (lastStackedAnimation + 1) + ".begin", + "dur": ESVIJI.settings.durationMove * 2 + "s", + "fill": "freeze", + "id": "anim" + (lastStackedAnimation + 2) + }); + animOpacity.addEventListener('endEvent', function(event) { + // Remove the ball after the animation + $(event.currentTarget.parentElement).remove(); + }, false); + ball.append(animOpacity); + + lastStackedAnimation += 2; + } + + function endOfMove() { + $('#anim' + lastStackedAnimation)[0].addEventListener('endEvent', function(event) { + drawnCurrentBall.remove(); + $('#morph').remove(); + if (scoreThisTurn === 0) { + playSound('hit-other-ball-ko'); + } + drawnCurrentBall = drawBall(xToSvg(ESVIJI.settings.turn.posX), yToSvg(ESVIJI.settings.turn.posY), ESVIJI.settings.balls[gameStatus.currentBall - 1], 'playable'); + }); + + makeBallsFall(); + } + + function makeBallsFall() { + var aboveBalls; + + lastStackedAnimationBeforeFall = lastStackedAnimation; + for (var x = 1; x <= 7; x++) { + aboveBalls = 0; + for (var y = 1; y <= 6; y++) { + // No need to check if there is a hole in the top line, no ball upper to make fall + if (gameStatus.currentBalls[x][y] === ESVIJI.settings.emptyId) { + // There's a hole, let's see if there are balls above + for (var z = y + 1; z <= 7; z++) { + switch (gameStatus.currentBalls[x][z]) { + case ESVIJI.settings.rockId: + // It's a rock, we can bypass it + y = z; + z = 8; + break; + case ESVIJI.settings.emptyId: + // It's empty + if (z === 7) { + // Only empty places, no need to test further this column + y = 7; + } + break; + default: + // Neither rock nor empty, so there's a ball + aboveBalls++; + gameStatus.currentBalls[x][y] = gameStatus.currentBalls[x][z]; + drawnCurrentBalls[x][y] = drawnCurrentBalls[x][z]; + for (var a = y + 1; a <= z; a++) { + gameStatus.currentBalls[x][a] = ESVIJI.settings.emptyId; + drawnCurrentBalls[x][a] = null; + } + dur = ESVIJI.settings.durationMove * (z - y); + // Follow through and overlapping action: http://uxdesign.smashingmagazine.com/2012/10/30/motion-animation-new-mobile-ux-design-material/ + dur = dur * (1 + aboveBalls / 3); + // TODO: add an easing to the fall animation + animStackMove(drawnCurrentBalls[x][y], dur, 'y', yToSvg(z), yToSvg(y), 'anim' + lastStackedAnimationBeforeFall + '.end'); + // TODO: make the sound later as for piles of falling balls + $('#anim' + lastStackedAnimation)[0].addEventListener('beginEvent', function(event) { + playSound('fall'); + }); + // Let's try again to see if there are new balls above that have to fall + y = 1; + z = 8; + } + } + } + } + } + + if (lastStackedAnimation >= stackedAnimationToStart) { + $('#anim' + lastStackedAnimation)[0].addEventListener('endEvent', function(event) { + endOfTurn(); + }, false); + // Launch the animation + $('#anim' + stackedAnimationToStart)[0].beginElement(); + } else { + endOfTurn(); + } + } + + function makeEverythingFall() { + var ballsUnder; + + stackedAnimationToStart = 1; + lastStackedAnimation = 0; + + for (x = 1; x <= 7; x++) { + ballsUnder = 0; + for (y = 1; y <= 7; y++) { + if (gameStatus.currentBalls[x][y] != ESVIJI.settings.emptyId) { + dur = ESVIJI.settings.durationMove * (1 + ballsUnder / 3); + if (lastStackedAnimation === 0) { + animStackMove(drawnCurrentBalls[x][y], dur * 7, 'y', yToSvg(y), yToSvg(y - 7)); + } else { + animStackMove(drawnCurrentBalls[x][y], dur * 7, 'y', yToSvg(y), yToSvg(y - 7), 'anim' + stackedAnimationToStart + '.begin'); + } + drawnCurrentBalls[x][y] = ESVIJI.settings.emptyId; + ballsUnder++; + } else { + ballsUnder = 0; + } + } + } + + if (lastStackedAnimation >= stackedAnimationToStart) { + $('#anim' + lastStackedAnimation)[0].addEventListener('endEvent', function(event) { + nextLevel(); + }, false); + $('#anim' + stackedAnimationToStart)[0].beginElement(); + } else { + nextLevel(); + } + } + + function initBalls(thisLevel) { + thisLevel = thisLevel || gameStatus.level; + nbBalls = ESVIJI.settings.difficulties[gameStatus.preferences.difficulty].balls(thisLevel); + gameStatus.currentBalls = []; + + for (x = 1; x <= ESVIJI.settings.board.xMax; x++) { + gameStatus.currentBalls[x] = []; + for (y = 1; y <= ESVIJI.settings.board.yMax; y++) { + if (y - 7 > x) { + // put the "stair" rocks + gameStatus.currentBalls[x][y] = ESVIJI.settings.rockId; + } else { + if ((x <= ESVIJI.settings.difficulties[gameStatus.preferences.difficulty].columns(thisLevel)) && (y <= ESVIJI.settings.difficulties[gameStatus.preferences.difficulty].rows(thisLevel))) { + // a ball + gameStatus.currentBalls[x][y] = 1 + Math.floor(Math.random() * nbBalls); + } else { + // empty + gameStatus.currentBalls[x][y] = ESVIJI.settings.emptyId; + } + } + } + } + // add rocks + nbRocks = ESVIJI.settings.difficulties[gameStatus.preferences.difficulty].rocks(thisLevel); + positionedRocks = 0; + while (positionedRocks < nbRocks) { + rock_x = 1 + Math.floor(Math.random() * ESVIJI.settings.difficulties[gameStatus.preferences.difficulty].rows(thisLevel)); + rock_y = 1 + Math.floor(Math.random() * ESVIJI.settings.difficulties[gameStatus.preferences.difficulty].columns(thisLevel)); + if (gameStatus.currentBalls[rock_x][rock_y] !== ESVIJI.settings.rockId) { + gameStatus.currentBalls[rock_x][rock_y] = ESVIJI.settings.rockId; + positionedRocks++; + } + } + } + + function drawBall(x, y, ballType, ballId) { + var ball = svgUse(ballType, ballId); + ball.attr({ + x: x, + y: y + }); + $("#play").append(ball); + return ball; + } + + function svgUse(refId, useId) { + var use = $(document.createElementNS("http://www.w3.org/2000/svg", "use")); + if (useId !== undefined) { + use.attr({ + id: useId + }); + } + use.get(0).setAttributeNS("http://www.w3.org/1999/xlink", "href", "#" + refId); + return use; + } + + function drawBalls() { + drawnCurrentBalls = []; + for (x = 1; x <= 7; x++) { + drawnCurrentBalls[x] = []; + for (y = 1; y <= 7; y++) { + if (gameStatus.currentBalls[x][y] == ESVIJI.settings.emptyId) { + drawnCurrentBalls[x][y] = null; + } else { + ball_x = xToSvg(x); + ball_y = yToSvg(y); + if (gameStatus.currentBalls[x][y] == ESVIJI.settings.rockId) { + rockId = 1 + Math.floor(Math.random() * ESVIJI.settings.rocks.length); + drawnCurrentBalls[x][y] = drawBall(ball_x, ball_y, ESVIJI.settings.rocks[rockId - 1]); + } else { + drawnCurrentBalls[x][y] = drawBall(ball_x, ball_y, ESVIJI.settings.balls[gameStatus.currentBalls[x][y] - 1]); + } + } + } + } + } + + function eraseBalls() { + $('#play use').remove(); + } + + function getValidBalls() { + var x, y, dir_x, dir_y, found; + + validBalls = []; + + for (y_start = 1; y_start <= 13; y_start++) { + x = 10; + y = y_start; + dir_x = -1; + dir_y = 0; + found = false; + while (!found) { + if (y == 1 && dir_y == -1) { + found = true; + } else { + if (x == 1 && dir_x == -1) { + dir_x = 0; + dir_y = -1; + } else { + nextBall = gameStatus.currentBalls[x + dir_x][y + dir_y]; + if (nextBall == ESVIJI.settings.rockId) { + if (dir_x == -1) { + dir_x = 0; + dir_y = -1; + } else { + found = true; + } + } else { + if (nextBall == ESVIJI.settings.emptyId) { + x += dir_x; + y += dir_y; + } else { + drawnCurrentBalls[x + dir_x][y + dir_y].attr('data-valid', 'true'); + if (validBalls.indexOf(nextBall) == -1) { + validBalls.push(nextBall); + } + found = true; + } + } + } + } + } + } + } + + function gameOver() { + var l = highScores[gameStatus.preferences.difficulty].length, + positioned = false; + + // Google Analytics tracking of level and score at the end of the game + offlineAnalytics.push({ name: 'level', value: gameStatus.level }); + offlineAnalytics.push({ name: 'score', value: gameStatus.score }); + + lastGameDate = Date(); + showPanel('gameOver'); + + $('#gameOver').find('.score').text('Score: ' + gameStatus.score); + for (i = 0; i < l; i++) { + if (!positioned && (highScores[gameStatus.preferences.difficulty][i] === undefined || highScores[gameStatus.preferences.difficulty][i].score <= gameStatus.score)) { + for (j = l; j > i; j--) { + highScores[gameStatus.preferences.difficulty][j] = highScores[gameStatus.preferences.difficulty][j - 1]; + } + highScores[gameStatus.preferences.difficulty][i] = { 'score': gameStatus.score, 'date': lastGameDate}; + positioned = true; + } + } + if (!positioned) { + highScores[gameStatus.preferences.difficulty][l] = { 'score': gameStatus.score, 'date': lastGameDate}; + } + storeSet('highScores', highScores); + gameStatus.playing = false; + storeSet('gameStatus', { + 'playing': false + }); + + // buttons + $('#gameOver .scores').one(clickType, function() { + hidePanel('gameOver'); + hidePanel('play'); + showPanel('main'); + startScores(); + }); + $('#gameOver .playagain').one(clickType, function() { + hidePanel('gameOver'); + startPlaying(); + }); + $('#gameOver .exit').one(clickType, function() { + hidePanel('gameOver'); + stopPlaying(); + }); + } + + function removeLife() { + gameStatus.lives--; + gameStatus.levelLostLives++; + playSound('life-down'); + vibrate(500); + drawLives(); + $('#play .lives').attr('class', 'lives changeDown'); + window.setTimeout(function() { $('#play .lives').attr('class', 'lives'); }, 2000); + if (gameStatus.lives === 0) { + gameOver(); + } + } + + function addLives(nbLives) { + gameStatus.lives += nbLives; + playSound('life-up'); + drawLives(); + $('#play .lives').attr('class', 'lives changeUp'); + window.setTimeout(function() { $('#play .lives').attr('class', 'lives'); }, 2000); + } + + function addScore(scoreToAdd) { + oldScore = gameStatus.score; + gameStatus.score += ESVIJI.settings.difficulties[gameStatus.preferences.difficulty].points(scoreToAdd); + increaseScore(); + $('#play .score').attr('class', 'score changeUp'); + window.setTimeout(function() { $('#play .score').attr('class', 'score'); }, 2000); + hundreds = Math.floor(gameStatus.score / ESVIJI.settings.difficulties[gameStatus.preferences.difficulty].extraLifePoints) - Math.floor(oldScore / ESVIJI.settings.difficulties[gameStatus.preferences.difficulty].extraLifePoints); + if (hundreds > 0) { + addLives(hundreds); + } + } + + function increaseScore() { + currentDrawnScore = parseInt($('#play .score').text(), 10); + if (currentDrawnScore < gameStatus.score) { + $('#play .score').text(currentDrawnScore + Math.ceil((gameStatus.score - currentDrawnScore) / 3)); + window.setTimeout(increaseScore, 100); + } + } + + function drawScore() { + $('#play .score').text(gameStatus.score); + } + + function drawLevel() { + $('#play .level').text(gameStatus.level); + } + + function drawLives() { + $('#play .lives').text(gameStatus.lives); + } + + function xToSvg(x) { + return (x - 1) * 32; + } + + function yToSvg(y) { + return ESVIJI.settings.board.height - 32 * y; + } + + function svgToX(coordX) { + return coordX / 32 + 1; + } + + function svgToY(coordY) { + return Math.round((ESVIJI.settings.board.height - coordY) / 32); + } + + function pixelsToSvgY(coordY) { + return (coordY - boardOffsetY) * ESVIJI.settings.board.height / boardHeight; + } + + function playSound(type) { + if (gameStatus.preferences.sound && sounds._loaded) { + sounds.play(type); + } + } + + function vibrate(duration) { + if (Modernizr.testProp('vibrate') && gameStatus.preferences.vibration) { + navigator.vibrate = navigator.vibrate || navigator.mozVibrate || navigator.webkitVibrate; + navigator.vibrate(duration); + } + } + + function install() { + var manifestUrl = location.href.substring(0, location.href.lastIndexOf('/')) + '/manifest.webapp'; + var request = window.navigator.mozApps.install(manifestUrl); + request.onsuccess = function() { + // var appRecord = this.result; + alert('Installation successful!'); + $('#installButton').css('display', 'none'); + }; + request.onerror = function() { + // Display the error information from the DOMError object + console.error('Install failed, error: ' + this.error.name); + }; + } + + function showInstall() { + if (undefined !== navigator.mozApps) { + var request = navigator.mozApps.getSelf(); + request.onsuccess = function() { + if (request.result) { + // we're installed, nothing to do + } else { + $('#installButton').css('display', 'block').one(clickType, install); + } + }; + request.onerror = function() { + console.error('Error checking installation status: ' + this.error.message); + }; + } + } + + return { + init: init, + viewportOptimize: viewportOptimize + }; +})(); + +document.addEventListener('DOMContentLoaded', function() { + ESVIJI.game.init(); +}); + +window.addEventListener('resize', ESVIJI.game.viewportOptimize); +window.addEventListener('orientationchange', ESVIJI.game.viewportOptimize); + +/*************************************************************************************** + * appcache + ***************************************************************************************/ + +// Check if a new cache is available +if (window.applicationCache) { + window.applicationCache.addEventListener('updateready', function(e) { + if (window.applicationCache.status == window.applicationCache.UPDATEREADY) { + // Browser downloaded a new app cache + // Swap it in and reload the page to get the new version + window.applicationCache.swapCache(); + window.location.reload(); + } + }, false); +} diff --git a/sources/esviji/js/offlineGoogleAnalytics.js b/sources/esviji/js/offlineGoogleAnalytics.js new file mode 100644 index 0000000..74a0d47 --- /dev/null +++ b/sources/esviji/js/offlineGoogleAnalytics.js @@ -0,0 +1,54 @@ +// Put Google Analytics events in localStorage when offline, sync when back online + +var offlineAnalytics = { + isOnline: function () { + return (navigator.onLine || !('onLine' in navigator)) && (typeof window.ga === "function"); + }, + + push: function(arr) { + if(this.isOnline()) { + var l = arr.length; + for (var i = 0; i < l; i++) { + var elt = arr[i]; + switch (elt.name) { + case 'version': + ga('set', 'dimension1', elt.value); + break; + case 'level': + ga('set', 'dimension2', elt.value); + break; + case 'score': + ga('set', 'dimension3', elt.value); + break; + case 'view': + console.log(elt.value); + ga('send', 'pageview', elt.value); + break; + } + } + } else { + this.store(arr); + } + }, + + store: function(arr) { + var stored = store.get('offlineAnalytics') || []; + stored.push(arr); + store.set('offlineAnalytics', stored); + this.sync(); + }, + + sync: function() { + if(this.isOnline()) { + var stored = store.get('offlineAnalytics') || []; + store.remove('offlineAnalytics'); + this.push(stored); + } else { + window.setTimeout(offlineAnalytics.sync, 1000 * 60); + } + } +}; + +$(window).bind('online', function() { + offlineAnalytics.sync(); +}); diff --git a/sources/esviji/js/vendor/SVGEventListener-0.2.3.js b/sources/esviji/js/vendor/SVGEventListener-0.2.3.js new file mode 100644 index 0000000..82d737f --- /dev/null +++ b/sources/esviji/js/vendor/SVGEventListener-0.2.3.js @@ -0,0 +1,294 @@ +// SVGEventListener.js +// Version - 0.2.3 +// +// by MAD - @madsgraphics - ecrire[at]madsgraphics[dot]com +// +// https://github.com/madsgraphics/SVGEventListener/ +// +// Tri-license - WTFPL | MIT | BSD +// +// Please minify before use. + +( function ( undefined ) { + + 'use strict'; + + var legacy, + svgns, + isArray, + supportedEvents; + + legacy = { + addEventListener : Element.prototype.addEventListener, + svgAnimateBeginElement : SVGAnimateElement.prototype.beginElement, + svgAnimateTransformBeginElement : SVGAnimateTransformElement.prototype.beginElement + }; + + svgns = 'http://www.w3.org/2000/svg'; + + // helper functions + function isString( s ) { + return typeof s === 'string'; + }; + isArray = Array.isArray || function ( obj ) { + return {}.toString.call( obj ) === '[object Array]'; + }; + function isUndefined( obj ) { + return obj === undefined; + }; + // String prototyping to add `contains` + String.prototype.contains = function(pattern) { + return (this.indexOf(pattern) !== -1); + }; + + // Cache events support + supportedEvents = {}; + function isEventSupported( eventName ) { + // early return if the event is in cache + if ( supportedEvents[eventName] !== undefined ) { + return supportedEvents[eventName]; + } + + // initiliaze the support at false for detection + supportedEvents[eventName] = false; + // create svg (and childs) nodes + var svg = document.createElementNS( svgns, 'svg' ), + element = document.createElementNS( svgns, 'rect'), + animate = document.createElementNS( svgns, 'animate' ); + + // set duration to 1ms to detect endEvent + animate.setAttributeNS(null, 'dur', '1ms'); + animate.setAttributeNS(null, 'attributeName', 'x'); + // append elements + element.appendChild(animate); + svg.appendChild(element); + + // attach a listener to the event that update the events cache + legacy.addEventListener.call(animate, eventName + 'Event', function() { + supportedEvents[eventName] = true; + }, false); + + // attach svg to the DOM (else it doesn't detect anything) but cache it + svg.setAttributeNS(null, 'style', 'display:none'); + document.body.appendChild(svg); + // Set a timeout to remove the dummy SVG element + // It is setted to 50 to leave the DOM breath and get the SVG event + // result before removing it :) + setTimeout(function() { document.body.removeChild(svg); }, 50); + + // Return the current event support status + return supportedEvents[eventName]; + }; + + ////////////////////////////////////////////////////////////////////////////// + // Clocker.js + // Convert a legal clock string value (in SMIL definition) to milliseconds + // + // Originaly released here: https://github.com/madsgraphics/clocker.js + function clocker( timestr ) { + var time, + times = timestr.split( ':' ); + + // Timecount-value + // = Formats without ':' + if ( times.length === 1 ) { + time = times[0]; + // Time already given in milliseconds (250ms) + if ( time.lastIndexOf('ms') !== -1 ) { + return +(time); + } + // Othermetrics + else { + // minutes + if( time.lastIndexOf('min') !== -1 ) { + time = parseFloat(time) * 60; + } + // hours + else if( time.lastIndexOf('h') !== -1 ) { + time = parseFloat(time) * 3600; + } + // Time is now in seconds. + // If time is without metric, then assume in seconds, + // maybe float (2.05 == 2050ms) + // So convert in ms… + return parseFloat(time) * 1000; + } + } + // Full-clock-value || Partial-clock-value + else { + // Reverse order to iterate from seconds to hours + times.reverse(); + // Init time + time = 0; + for ( var t in times ) { + // Value * 60^t (hours / minutes to seconds) * 1000 (s to ms) + time += times[t]*Math.pow(60, t)*1000; + } + + return time; + } + } + + ////////////////////////////////////////////////////////////////////////////// + // Event Listener + // + // Custom Event listener + // Implements Observer pattern + + // Create custom listener object with private property to store listeners + // + // initially inspired by: + // http://www.nczonline.net/blog/2010/03/09/custom-events-in-javascript/ + function EventListener( element ) { + // store SVG node + this.el = element; + // Initialize events stack + this._listeners = {}; + // constructs stack + this._init(); + } + + // Extends it to add and fire events + EventListener.prototype = { + constructor: EventListener, + _delayEvent: function (eventName, duration) { + var that = this, + dur = clocker( duration ); + return function () { + window.setTimeout( function () { + that.fire( eventName + 'Event' ); + }, dur); + }; + }, + + _attachEvent: function (eventName, id) { + var that = this, + previousAnimate = document.getElementById( id ); + // Early exit if there is no previousAnimate element available + if (previousAnimate == null) { return; } + // Add an endEvent that launch the next animation + previousAnimate.addEventListener( eventName + 'Event', function () { + that.fire( 'beginEvent' ); + }); + }, + // initializer + _init: function () { + var that = this, + begin = this.el.getAttribute('begin'), + dur = this.el.getAttribute('dur'), + index; + + // End event + // --------- + // Add a delayed at duration time + this.add('beginEvent', this._delayEvent('end', dur)); + + // Begin event + // ----------- + // Begin event delayed + if ( begin !== 'indefinite' && !begin.contains('.end') && !begin.contains('.begin') ) { + this._delayEvent('begin', begin); + } + // if the launch depends of the **end** of another animation + else if ( begin.contains('.end') ) { + this._attachEvent('end', begin.replace('.end', '')); + } + // if the launch depends of the **begin** of another animation + else if ( begin.contains('.begin') ) { + this._attachEvent('begin', begin.replace('.begin', '')); + } + }, + // add new event to listeners + add: function addListener( type, listener ) { + // if there is no triggers already defined for this events, + // init an a-empty array + if ( isUndefined( this._listeners[type] ) ) { + this._listeners[type] = []; + } + // add trigger to the event + this._listeners[type].push( listener ); + }, + // fire the event + fire: function fireListeners( event ) { + var name; + + // if called only by event name (useful), build a correct object + if ( isString( event ) ) { + event = { + type: event, + bubbles: false, + cancelable: false, + defaultPrevented: false, + currentTarget : null, + }; + } + + // Early return at fire if the event is already supported + name = event.type.substr(0, event.type.indexOf('Event')); + if (isEventSupported( name )) { return; } + + // set target if unavailable + if ( !event.target ) { + event.target = event.currentTarget = this.el; + } + // if there is no event given, throw an error + if ( !event.type ) { + throw new Error( 'Event object missing "type" property.' ); + } + // If the type has associated triggers, then launch them + if ( isArray( this._listeners[event.type] ) ) { + var listeners = this._listeners[event.type]; + for ( var l in listeners ) { + listeners[l].call( this.el, event ); + } + } + } + }; + + // Overwrite Element.addEventListener method for transparency fallback + // + // Inpired by: + // http://stackoverflow.com/questions/7220515/extending-node-addeventlistener-method-with-the-same-name#7220628 + Element.prototype.addEventListener = function ( type, listener, useCapture ) { + if ( this instanceof SVGAnimateElement + || this instanceof SVGAnimateTransformElement ) { + // *** + // Attach a new event listeners stack if it doesn't exists + if ( isUndefined( this.listeners ) ) + { + this.listeners = new EventListener( this ); + } + // *** + // check event name and support for endEvent + if ( type === 'endEvent' && !isEventSupported( 'end' ) ) { + // Add listener to the endEvent stack + this.listeners.add( type, listener ); + } + // *** + // check event name and suport for beginEvent + if ( type === 'beginEvent' && !isEventSupported( 'begin' ) ) { + // Add listener to the endEvent stack + this.listeners.add( type, listener ); + } + } + // *** + // call the original method for fallback + return legacy.addEventListener.call( this, type, listener, useCapture ); + }; + + // Overwrite Element.beginElement method to trigger begin event + SVGAnimateElement.prototype.beginElement = function() { + if ( !isEventSupported( 'begin' ) && this.listeners !== undefined) { + this.listeners.fire('beginEvent'); + } + return legacy.svgAnimateBeginElement.call(this); + }; + + SVGAnimateTransformElement.prototype.beginElement = function() { + if ( !isEventSupported( 'begin' ) && this.listeners !== undefined) { + this.listeners.fire('beginEvent'); + } + return legacy.svgAnimateTransformBeginElement.call(this); + }; + +})(); diff --git a/sources/esviji/js/vendor/analytics.js b/sources/esviji/js/vendor/analytics.js new file mode 100644 index 0000000..8c52758 --- /dev/null +++ b/sources/esviji/js/vendor/analytics.js @@ -0,0 +1,39 @@ +(function(){var aa=encodeURIComponent,f=window,ba=setTimeout,n=Math,ea=RegExp;function fa(a,b){return a.name=b}function Pc(a,b){return a.href=b} +var p="push",h="hash",ha="slice",Qc="replace",q="data",r="cookie",t="indexOf",m="match",ia="defaultValue",xc="send",ja="port",u="createElement",id="setAttribute",v="name",da="getTime",x="host",y="length",z="prototype",la="clientWidth",A="split",B="location",ma="hostname",ga="search",jd="target",C="call",E="protocol",na="clientHeight",Ab="href",F="substring",kd="action",G="apply",oa="navigator",Ub="parentNode",H="join",I="toLowerCase";var pa=new function(){var a=[];this.set=function(b){a[b]=!0};this.M=function(){for(var b=[],c=0;c=a[y])wc(a,b);else if(8192>=a[y]){var c=b;if(0<=O[oa].userAgent[t]("Firefox")&&![].reduce)throw new Ea(a[y]);wd(a,c)||xd(a,c)||Fa(a,c)}else throw new Da(a[y]);},wc=function(a,b){var c=Ca(oc()+"/collect?"+a);c.onload=c.onerror=function(){c.onload=null;c.onerror=null; +b()}},xd=function(a,b){var c;c=O.XDomainRequest;if(!c)return!1;c=new c;c.open("POST",oc()+"/collect");c.onerror=function(){b()};c.onload=b;c[xc](a);return!0},wd=function(a,b){var c=O.XMLHttpRequest;if(!c)return!1;var d=new c;if(!("withCredentials"in d))return!1;d.open("POST",oc()+"/collect",!0);d.setRequestHeader("Content-Type","text/plain");d.onreadystatechange=function(){4==d.readyState&&(b(),d=null)};d[xc](a);return!0},Fa=function(a,b){if(M.body){a=aa(a);try{var c=M[u]('')}catch(d){c= +M[u]("iframe"),fa(c,a)}c.height="0";c.width="0";c.style.display="none";c.style.visibility="hidden";var e=M[B],e=oc()+"/analytics_iframe.html#"+aa(e[E]+"//"+e[x]+"/favicon.ico"),g=function(){c.src="";c[Ub]&&c[Ub].removeChild(c)};ta(O,"beforeunload",g);var ca=!1,l=0,k=function(){if(!ca){try{if(9=100*R(a,Ka))throw"abort";}function Ma(a){if(xa(P(a,Na)))throw"abort";}function Oa(){var a=M[B][E];if("http:"!=a&&"https:"!=a)throw"abort";} +function Pa(a){a.set(Ac,R(a,Ac)+1);var b=[];Qa.map(function(c,d){if(d.p){var e=a.get(c);void 0!=e&&e!=d[ia]&&("boolean"==typeof e&&(e*=1),b[p](d.p+"="+sa(""+e)))}});b[p]("z="+ra());a.set(Ra,b[H]("&"),!0)}function Sa(a){Ga(P(a,Ra),a.get(Ia));a.set(Ia,L,!0)}function Hc(a){var b=O.gaData;b&&(b.expId&&a.set(Nc,b.expId),b.expVar&&a.set(Oc,b.expVar))}function cd(){if(O[oa]&&"preview"==O[oa].loadPurpose)throw"abort";}function yd(a){var b=O.gaDevIds;vd(b)&&0!=b[y]&&a.set("&did",b[H](","),!0)};function Ta(a){var b=R(a,Ua);500<=b&&J(15);var c=P(a,Va);if("transaction"!=c&&"item"!=c){var c=R(a,Wa),d=(new Date)[da](),e=R(a,Xa);0==e&&a.set(Xa,d);e=n.round(2*(d-e)/1E3);0=c)throw"abort";a.set(Wa,--c)}a.set(Ua,++b)};var Ya=function(){this.data=new N},Qa=new N,Za=[];Ya[z].get=function(a){var b=$a(a),c=this[q].get(a);b&&void 0==c&&(c=K(b[ia])?b[ia]():b[ia]);return b&&b.n?b.n(this,a,c):c};var P=function(a,b){var c=a.get(b);return void 0==c?"":""+c},R=function(a,b){var c=a.get(b);return void 0==c||""===c?0:1*c};Ya[z].set=function(a,b,c){if(a)if("object"==typeof a)for(var d in a)a.hasOwnProperty(d)&&ab(this,d,a[d],c);else ab(this,a,b,c)}; +var ab=function(a,b,c,d){var e=$a(b);e&&e.o?e.o(a,b,c,d):a[q].set(b,c,d)},bb=function(a,b,c,d,e){fa(this,a);this.p=b;this.n=d;this.o=e;this.defaultValue=c},$a=function(a){var b=Qa.get(a);if(!b)for(var c=0;c=c)&&(c={},Ec(c)||Fc(c))){var d=c[Eb];void 0==d||Infinity==d||isNaN(d)||(0c)a[b]=void 0};var hc=!1,mc=function(a){if("cookie"==P(a,ac)){var b=P(a,U),c=nd(a),d=kc(P(a,Yb)),e=lc(P(a,W)),g=1E3*R(a,Zb),ca=P(a,Na);if("auto"!=e)zc(b,c,d,e,ca,g)&&(hc=!0);else{J(32);var l;t:{c=[];e=eb()[A](".");if(4==e[y]&&(l=e[e[y]-1],parseInt(l,10)==l)){l=["none"];break t}for(l=e[y]-2;0<=l;l--)c[p](e[ha](l)[H]("."));c[p]("none");l=c}for(var k=0;k=a&&d[p]({hash:ca[0],R:e[g],O:ca})}return 0==d[y]?void 0:1==d[y]?d[0]:Zc(b,d)||Zc(c,d)||Zc(null,d)||d[0]}function Zc(a,b){var c,d;null==a?c=d=1:(c=La(a),d=La(0==a[t](".")?a[F](1):"."+a));for(var e=0;ed[y])){c=[];for(var e=0;e=ca[0]||0>=ca[1]?"":ca[H]("x");a.set(rb,c);a.set(tb,fc());a.set(ob,M.characterSet||M.charset);a.set(sb,b&&"function"===typeof b.javaEnabled&&b.javaEnabled()||!1);a.set(nb,(b&&(b.language||b.browserLanguage)||"")[I]());if(d&&a.get(cc)&&(b=M[B][h])){b=b[F](1);b=b[A]("&");d=[];for(c=0;carguments[y])){var b,c;"string"===typeof arguments[0]?(b=arguments[0],c=[][ha][C](arguments,1)):(b=arguments[0]&&arguments[0][Va],c=arguments);b&&(c=wa(qc[b]||[],c),c[Va]=b,this.b.set(c,void 0,!0),this.filters.D(this.b),"pageview"==b&&Lc(this),this.b[q].m={})}};var Lc=function(a){a.I||(a.I=!0,gc(a.b,function(b){a[xc]("timing",b)}))};var rc=function(a){if("prerender"==M.webkitVisibilityState)return!1;a();return!0},Mc=function(a){if(!rc(a)){J(16);var b=!1,c=function(){!b&&rc(a)&&(b=!0,ua(M,"webkitvisibilitychange",c))};ta(M,"webkitvisibilitychange",c)}};var td=/^(?:(\w+)\.)?(?:(\w+):)?(\w+)$/,sc=function(a){if(K(a[0]))this.u=a[0];else{var b=td.exec(a[0]);null!=b&&4==b[y]&&(this.c=b[1]||"t0",this.e=b[2]||"",this.d=b[3],this.a=[][ha][C](a,1),this.e||(this.A="create"==this.d,this.i="require"==this.d,this.g="provide"==this.d));b=a[1];a=a[2];if(!this.d)throw"abort";if(this.i&&(!qa(b)||""==b))throw"abort";if(this.g&&(!qa(b)||""==b||!K(a)))throw"abort";if(ud(this.c)||ud(this.e))throw"abort";if(this.g&&"t0"!=this.c)throw"abort";}}; +function ud(a){return 0<=a[t](".")||0<=a[t](":")};var Z={F:"/plugins/ua/"};Z.k=new N;Z.f=[];Z.B=function(a,b,c){var d=Z.k.get(a);if(!K(d))return!1;b.plugins_=b.plugins_||new N;b.plugins_.set(a,new d(b,c||{}));return!0};Z.C=function(a,b){Z.k.set(a,b)};Z.D=function(a){var b=Z.J[G](Z,arguments),b=Z.f.concat(b);for(Z.f=[];0a[A]("/")[0][t](":")&&(a=ca+e[2][F](0,e[2].lastIndexOf("/"))+"/"+a):a=ca+e[2]+(a||g);Pc(c,a);d=b(c);return{protocol:(c[E]||"")[I](),host:d[0],port:d[1], +path:d[2],G:c[ga]||"",url:a||""}};var $=function(a){J(1);Z.D[G](Z,[arguments])};$.h={};$.P=[];$.L=0;$.answer=42;var uc=[Na,W,V];$.create=function(a){var b=wa(uc,[][ha][C](arguments));b[V]||(b[V]="t0");var c=""+b[V];if($.h[c])return $.h[c];b=new pc(b);$.h[c]=b;$.P[p](b);return b};$.j=function(a){return $.h[a]};$.K=function(){return $.P[ha](0)};$.N=function(){var a=O[gb];if(!a||42!=a.answer){$.L=a&&a.l;$.loaded=!0;O[gb]=$;Cc();var b=a&&a.q;vd(b)&&Mc(function(){Z.D[G]($,b)})}};$.N();function La(a){var b=1,c=0,d;if(a)for(b=0,d=a[y]-1;0<=d;d--)c=a.charCodeAt(d),b=(b<<6&268435455)+c+(c<<14),c=b&266338304,b=0!=c?b^c>>21:b;return b};})(window); diff --git a/sources/esviji/js/vendor/howler-1.1.11.js b/sources/esviji/js/vendor/howler-1.1.11.js new file mode 100644 index 0000000..d021e62 --- /dev/null +++ b/sources/esviji/js/vendor/howler-1.1.11.js @@ -0,0 +1,1181 @@ +/*! + * howler.js v1.1.11 + * howlerjs.com + * + * (c) 2013, James Simpson of GoldFire Studios + * goldfirestudios.com + * + * MIT License + */ + +(function() { + // setup + var cache = {}; + + // setup the audio context + var ctx = null, + usingWebAudio = true, + noAudio = false; + if (typeof AudioContext !== 'undefined') { + ctx = new AudioContext(); + } else if (typeof webkitAudioContext !== 'undefined') { + ctx = new webkitAudioContext(); + } else if (typeof Audio !== 'undefined') { + usingWebAudio = false; + } else { + usingWebAudio = false; + noAudio = true; + } + + // create a master gain node + if (usingWebAudio) { + var masterGain = (typeof ctx.createGain === 'undefined') ? ctx.createGainNode() : ctx.createGain(); + masterGain.gain.value = 1; + masterGain.connect(ctx.destination); + } + + // create global controller + var HowlerGlobal = function() { + this._volume = 1; + this._muted = false; + this.usingWebAudio = usingWebAudio; + this._howls = []; + }; + HowlerGlobal.prototype = { + /** + * Get/set the global volume for all sounds. + * @param {Float} vol Volume from 0.0 to 1.0. + * @return {Howler/Float} Returns self or current volume. + */ + volume: function(vol) { + var self = this; + + // make sure volume is a number + vol = parseFloat(vol); + + if (vol && vol >= 0 && vol <= 1) { + self._volume = vol; + + if (usingWebAudio) { + masterGain.gain.value = vol; + } + + // loop through cache and change volume of all nodes that are using HTML5 Audio + for (var key in self._howls) { + if (self._howls.hasOwnProperty(key) && self._howls[key]._webAudio === false) { + // loop through the audio nodes + for (var i=0; i= 2) ? ext[1] : self._urls[i].toLowerCase().match(/data\:audio\/([^?]+);/)[1]; + } + + if (canPlay[ext]) { + url = self._urls[i]; + break; + } + } + + if (!url) { + self.on('loaderror'); + return; + } + + self._src = url; + + if (self._webAudio) { + loadBuffer(self, url); + } else { + var newNode = new Audio(); + self._audioNode.push(newNode); + + // setup the new audio node + newNode.src = url; + newNode._pos = 0; + newNode.preload = 'auto'; + newNode.volume = (Howler._muted) ? 0 : self._volume * Howler.volume(); + + // add this sound to the cache + cache[url] = self; + + // setup the event listener to start playing the sound + // as soon as it has buffered enough + var listener = function() { + self._duration = newNode.duration; + + // setup a sprite if none is defined + if (Object.getOwnPropertyNames(self._sprite).length === 0) { + self._sprite = {_default: [0, self._duration * 1000]}; + } + + if (!self._loaded) { + self._loaded = true; + self.on('load'); + } + + if (self._autoplay) { + self.play(); + } + + // clear the event listener + newNode.removeEventListener('canplaythrough', listener, false); + }; + newNode.addEventListener('canplaythrough', listener, false); + newNode.load(); + } + + return self; + }, + + /** + * Get/set the URLs to be pulled from to play in this source. + * @param {Array} urls Arry of URLs to load from + * @return {Howl} Returns self or the current URLs + */ + urls: function(urls) { + var self = this; + + if (urls) { + self.stop(); + self._urls = (typeof urls === 'string') ? [urls] : urls; + self._loaded = false; + self.load(); + + return self; + } else { + return self._urls; + } + }, + + /** + * Play a sound from the current time (0 by default). + * @param {String} sprite (optional) Plays from the specified position in the sound sprite definition. + * @param {Function} callback (optional) Returns the unique playback id for this sound instance. + * @return {Howl} + */ + play: function(sprite, callback) { + var self = this; + + // if no sprite was passed but a callback was, update the variables + if (typeof sprite === 'function') { + callback = sprite; + } + + // use the default sprite if none is passed + if (!sprite || typeof sprite === 'function') { + sprite = '_default'; + } + + // if the sound hasn't been loaded, add it to the event queue + if (!self._loaded) { + self.on('load', function() { + self.play(sprite, callback); + }); + + return self; + } + + // if the sprite doesn't exist, play nothing + if (!self._sprite[sprite]) { + if (typeof callback === 'function') callback(); + return self; + } + + // get the node to playback + self._inactiveNode(function(node) { + // persist the sprite being played + node._sprite = sprite; + + // determine where to start playing from + var pos = (node._pos > 0) ? node._pos : self._sprite[sprite][0] / 1000, + duration = self._sprite[sprite][1] / 1000 - node._pos; + + // determine if this sound should be looped + var loop = !!(self._loop || self._sprite[sprite][2]); + + // set timer to fire the 'onend' event + var soundId = (typeof callback === 'string') ? callback : Math.round(Date.now() * Math.random()) + '', + timerId; + (function() { + var data = { + id: soundId, + sprite: sprite, + loop: loop + }; + timerId = setTimeout(function() { + // if looping, restart the track + if (!self._webAudio && loop) { + self.stop(data.id, data.timer).play(sprite, data.id); + } + + // set web audio node to paused at end + if (self._webAudio && !loop) { + self._nodeById(data.id).paused = true; + } + + // end the track if it is HTML audio and a sprite + if (!self._webAudio && !loop) { + self.stop(data.id, data.timer); + } + + // fire ended event + self.on('end', soundId); + }, duration * 1000); + + // store the reference to the timer + self._onendTimer.push(timerId); + + // remember which timer to cancel + data.timer = self._onendTimer[self._onendTimer.length - 1]; + })(); + + if (self._webAudio) { + var loopStart = self._sprite[sprite][0] / 1000, + loopEnd = self._sprite[sprite][1] / 1000; + + // set the play id to this node and load into context + node.id = soundId; + node.paused = false; + refreshBuffer(self, [loop, loopStart, loopEnd], soundId); + self._playStart = ctx.currentTime; + node.gain.value = self._volume; + + if (typeof node.bufferSource.start === 'undefined') { + node.bufferSource.noteGrainOn(0, pos, duration); + } else { + node.bufferSource.start(0, pos, duration); + } + } else { + if (node.readyState === 4) { + node.id = soundId; + node.currentTime = pos; + node.muted = Howler._muted; + node.volume = self._volume * Howler.volume(); + setTimeout(function() { node.play(); }, 0); + } else { + self._clearEndTimer(timerId); + + (function(){ + var sound = self, + playSprite = sprite, + fn = callback, + newNode = node; + var listener = function() { + sound.play(playSprite, fn); + + // clear the event listener + newNode.removeEventListener('canplaythrough', listener, false); + }; + newNode.addEventListener('canplaythrough', listener, false); + })(); + + return self; + } + } + + // fire the play event and send the soundId back in the callback + self.on('play'); + if (typeof callback === 'function') callback(soundId); + + return self; + }); + + return self; + }, + + /** + * Pause playback and save the current position. + * @param {String} id (optional) The play instance ID. + * @param {String} timerId (optional) Clear the correct timeout ID. + * @return {Howl} + */ + pause: function(id, timerId) { + var self = this; + + // if the sound hasn't been loaded, add it to the event queue + if (!self._loaded) { + self.on('play', function() { + self.pause(id); + }); + + return self; + } + + // clear 'onend' timer + self._clearEndTimer(timerId || 0); + + var activeNode = (id) ? self._nodeById(id) : self._activeNode(); + if (activeNode) { + activeNode._pos = self.pos(null, id); + + if (self._webAudio) { + // make sure the sound has been created + if (!activeNode.bufferSource) { + return self; + } + + activeNode.paused = true; + if (typeof activeNode.bufferSource.stop === 'undefined') { + activeNode.bufferSource.noteOff(0); + } else { + activeNode.bufferSource.stop(0); + } + } else { + activeNode.pause(); + } + } + + self.on('pause'); + + return self; + }, + + /** + * Stop playback and reset to start. + * @param {String} id (optional) The play instance ID. + * @param {String} timerId (optional) Clear the correct timeout ID. + * @return {Howl} + */ + stop: function(id, timerId) { + var self = this; + + // if the sound hasn't been loaded, add it to the event queue + if (!self._loaded) { + self.on('play', function() { + self.stop(id); + }); + + return self; + } + + // clear 'onend' timer + self._clearEndTimer(timerId || 0); + + var activeNode = (id) ? self._nodeById(id) : self._activeNode(); + if (activeNode) { + activeNode._pos = 0; + + if (self._webAudio) { + // make sure the sound has been created + if (!activeNode.bufferSource) { + return self; + } + + activeNode.paused = true; + + if (typeof activeNode.bufferSource.stop === 'undefined') { + activeNode.bufferSource.noteOff(0); + } else { + activeNode.bufferSource.stop(0); + } + } else { + activeNode.pause(); + activeNode.currentTime = 0; + } + } + + return self; + }, + + /** + * Mute this sound. + * @param {String} id (optional) The play instance ID. + * @return {Howl} + */ + mute: function(id) { + var self = this; + + // if the sound hasn't been loaded, add it to the event queue + if (!self._loaded) { + self.on('play', function() { + self.mute(id); + }); + + return self; + } + + var activeNode = (id) ? self._nodeById(id) : self._activeNode(); + if (activeNode) { + if (self._webAudio) { + activeNode.gain.value = 0; + } else { + activeNode.volume = 0; + } + } + + return self; + }, + + /** + * Unmute this sound. + * @param {String} id (optional) The play instance ID. + * @return {Howl} + */ + unmute: function(id) { + var self = this; + + // if the sound hasn't been loaded, add it to the event queue + if (!self._loaded) { + self.on('play', function() { + self.unmute(id); + }); + + return self; + } + + var activeNode = (id) ? self._nodeById(id) : self._activeNode(); + if (activeNode) { + if (self._webAudio) { + activeNode.gain.value = self._volume; + } else { + activeNode.volume = self._volume; + } + } + + return self; + }, + + /** + * Get/set volume of this sound. + * @param {Float} vol Volume from 0.0 to 1.0. + * @param {String} id (optional) The play instance ID. + * @return {Howl/Float} Returns self or current volume. + */ + volume: function(vol, id) { + var self = this; + + // make sure volume is a number + vol = parseFloat(vol); + + if (vol >= 0 && vol <= 1) { + self._volume = vol; + + // if the sound hasn't been loaded, add it to the event queue + if (!self._loaded) { + self.on('play', function() { + self.volume(vol, id); + }); + + return self; + } + + var activeNode = (id) ? self._nodeById(id) : self._activeNode(); + if (activeNode) { + if (self._webAudio) { + activeNode.gain.value = vol; + } else { + activeNode.volume = vol * Howler.volume(); + } + } + + return self; + } else { + return self._volume; + } + }, + + /** + * Get/set whether to loop the sound. + * @param {Boolean} loop To loop or not to loop, that is the question. + * @return {Howl/Boolean} Returns self or current looping value. + */ + loop: function(loop) { + var self = this; + + if (typeof loop === 'boolean') { + self._loop = loop; + + return self; + } else { + return self._loop; + } + }, + + /** + * Get/set sound sprite definition. + * @param {Object} sprite Example: {spriteName: [offset, duration, loop]} + * @param {Integer} offset Where to begin playback in milliseconds + * @param {Integer} duration How long to play in milliseconds + * @param {Boolean} loop (optional) Set true to loop this sprite + * @return {Howl} Returns current sprite sheet or self. + */ + sprite: function(sprite) { + var self = this; + + if (typeof sprite === 'object') { + self._sprite = sprite; + + return self; + } else { + return self._sprite; + } + }, + + /** + * Get/set the position of playback. + * @param {Float} pos The position to move current playback to. + * @param {String} id (optional) The play instance ID. + * @return {Howl/Float} Returns self or current playback position. + */ + pos: function(pos, id) { + var self = this; + + // if the sound hasn't been loaded, add it to the event queue + if (!self._loaded) { + self.on('load', function() { + self.pos(pos); + }); + + return typeof pos === 'number' ? self : self._pos || 0; + } + + // make sure we are dealing with a number for pos + pos = parseFloat(pos); + + var activeNode = (id) ? self._nodeById(id) : self._activeNode(); + if (activeNode) { + if (self._webAudio) { + if (pos >= 0) { + activeNode._pos = pos; + self.pause(id).play(activeNode._sprite, id); + + return self; + } else { + return activeNode._pos + (ctx.currentTime - self._playStart); + } + } else { + if (pos >= 0) { + activeNode.currentTime = pos; + + return self; + } else { + return activeNode.currentTime; + } + } + } else if (pos >= 0) { + return self; + } else { + // find the first inactive node to return the pos for + for (var i=0; i= 0 || x < 0) { + if (self._webAudio) { + var activeNode = (id) ? self._nodeById(id) : self._activeNode(); + if (activeNode) { + self._pos3d = [x, y, z]; + activeNode.panner.setPosition(x, y, z); + } + } + } else { + return self._pos3d; + } + + return self; + }, + + /** + * Fade a currently playing sound between two volumes. + * @param {Number} from The volume to fade from (0.0 to 1.0). + * @param {Number} to The volume to fade to (0.0 to 1.0). + * @param {Number} len Time in milliseconds to fade. + * @param {Function} callback (optional) Fired when the fade is complete. + * @param {String} id (optional) The play instance ID. + * @return {Howl} + */ + fade: function(from, to, len, callback, id) { + var self = this, + diff = Math.abs(from - to), + dir = from > to ? 'down' : 'up', + steps = diff / 0.01, + stepTime = len / steps; + + // if the sound hasn't been loaded, add it to the event queue + if (!self._loaded) { + self.on('load', function() { + self.fade(from, to, len, callback, id); + }); + + return self; + } + + // set the volume to the start position + self.volume(from, id); + + for (var i=1; i<=steps; i++) { + (function() { + var change = self._volume + (dir === 'up' ? 0.01 : -0.01) * i, + vol = Math.round(1000 * change) / 1000, + toVol = to; + + setTimeout(function() { + self.volume(vol, id); + + if (vol === toVol) { + if (callback) callback(); + } + }, stepTime * i); + })(); + } + }, + + /** + * [DEPRECATED] Fade in the current sound. + * @param {Float} to Volume to fade to (0.0 to 1.0). + * @param {Number} len Time in milliseconds to fade. + * @param {Function} callback + * @return {Howl} + */ + fadeIn: function(to, len, callback) { + return this.volume(0).play().fade(0, to, len, callback); + }, + + /** + * [DEPRECATED] Fade out the current sound and pause when finished. + * @param {Float} to Volume to fade to (0.0 to 1.0). + * @param {Number} len Time in milliseconds to fade. + * @param {Function} callback + * @param {String} id (optional) The play instance ID. + * @return {Howl} + */ + fadeOut: function(to, len, callback, id) { + var self = this; + + return self.fade(self._volume, to, len, function() { + if (callback) callback(); + self.pause(id); + + // fire ended event + self.on('end'); + }, id); + }, + + /** + * Get an audio node by ID. + * @return {Howl} Audio node. + */ + _nodeById: function(id) { + var self = this, + node = self._audioNode[0]; + + // find the node with this ID + for (var i=0; i=0; i--) { + if (inactive <= 5) { + break; + } + + if (self._audioNode[i].paused) { + // disconnect the audio source if using Web Audio + if (self._webAudio) { + self._audioNode[i].disconnect(0); + } + + inactive--; + self._audioNode.splice(i, 1); + } + } + }, + + /** + * Clear 'onend' timeout before it ends. + * @param {Number} timerId The ID of the sound to be cancelled. + */ + _clearEndTimer: function(timerId) { + var self = this, + timer = self._onendTimer.indexOf(timerId); + + // make sure the timer gets cleared + timer = timer >= 0 ? timer : 0; + + if (self._onendTimer[timer]) { + clearTimeout(self._onendTimer[timer]); + self._onendTimer.splice(timer, 1); + } + }, + + /** + * Setup the gain node and panner for a Web Audio instance. + * @return {Object} The new audio node. + */ + _setupAudioNode: function() { + var self = this, + node = self._audioNode, + index = self._audioNode.length; + + // create gain node + node[index] = (typeof ctx.createGain === 'undefined') ? ctx.createGainNode() : ctx.createGain(); + node[index].gain.value = self._volume; + node[index].paused = true; + node[index]._pos = 0; + node[index].readyState = 4; + node[index].connect(masterGain); + + // create the panner + node[index].panner = ctx.createPanner(); + node[index].panner.setPosition(self._pos3d[0], self._pos3d[1], self._pos3d[2]); + node[index].panner.connect(node[index]); + + return node[index]; + }, + + /** + * Call/set custom events. + * @param {String} event Event type. + * @param {Function} fn Function to call. + * @return {Howl} + */ + on: function(event, fn) { + var self = this, + events = self['_on' + event]; + + if (typeof fn === "function") { + events.push(fn); + } else { + for (var i=0; i type pairs + class2type = {}, + + // List of deleted data cache ids, so we can reuse them + core_deletedIds = [], + + core_version = "1.10.2", + + // Save a reference to some core methods + core_concat = core_deletedIds.concat, + core_push = core_deletedIds.push, + core_slice = core_deletedIds.slice, + core_indexOf = core_deletedIds.indexOf, + core_toString = class2type.toString, + core_hasOwn = class2type.hasOwnProperty, + core_trim = core_version.trim, + + // Define a local copy of jQuery + jQuery = function( selector, context ) { + // The jQuery object is actually just the init constructor 'enhanced' + return new jQuery.fn.init( selector, context, rootjQuery ); + }, + + // Used for matching numbers + core_pnum = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source, + + // Used for splitting on whitespace + core_rnotwhite = /\S+/g, + + // Make sure we trim BOM and NBSP (here's looking at you, Safari 5.0 and IE) + rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, + + // A simple way to check for HTML strings + // Prioritize #id over to avoid XSS via location.hash (#9521) + // Strict HTML recognition (#11290: must start with <) + rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/, + + // Match a standalone tag + rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>|)$/, + + // JSON RegExp + rvalidchars = /^[\],:{}\s]*$/, + rvalidbraces = /(?:^|:|,)(?:\s*\[)+/g, + rvalidescape = /\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g, + rvalidtokens = /"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g, + + // Matches dashed string for camelizing + rmsPrefix = /^-ms-/, + rdashAlpha = /-([\da-z])/gi, + + // Used by jQuery.camelCase as callback to replace() + fcamelCase = function( all, letter ) { + return letter.toUpperCase(); + }, + + // The ready event handler + completed = function( event ) { + + // readyState === "complete" is good enough for us to call the dom ready in oldIE + if ( document.addEventListener || event.type === "load" || document.readyState === "complete" ) { + detach(); + jQuery.ready(); + } + }, + // Clean-up method for dom ready events + detach = function() { + if ( document.addEventListener ) { + document.removeEventListener( "DOMContentLoaded", completed, false ); + window.removeEventListener( "load", completed, false ); + + } else { + document.detachEvent( "onreadystatechange", completed ); + window.detachEvent( "onload", completed ); + } + }; + +jQuery.fn = jQuery.prototype = { + // The current version of jQuery being used + jquery: core_version, + + constructor: jQuery, + init: function( selector, context, rootjQuery ) { + var match, elem; + + // HANDLE: $(""), $(null), $(undefined), $(false) + if ( !selector ) { + return this; + } + + // Handle HTML strings + if ( typeof selector === "string" ) { + if ( selector.charAt(0) === "<" && selector.charAt( selector.length - 1 ) === ">" && selector.length >= 3 ) { + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [ null, selector, null ]; + + } else { + match = rquickExpr.exec( selector ); + } + + // Match html or make sure no context is specified for #id + if ( match && (match[1] || !context) ) { + + // HANDLE: $(html) -> $(array) + if ( match[1] ) { + context = context instanceof jQuery ? context[0] : context; + + // scripts is true for back-compat + jQuery.merge( this, jQuery.parseHTML( + match[1], + context && context.nodeType ? context.ownerDocument || context : document, + true + ) ); + + // HANDLE: $(html, props) + if ( rsingleTag.test( match[1] ) && jQuery.isPlainObject( context ) ) { + for ( match in context ) { + // Properties of context are called as methods if possible + if ( jQuery.isFunction( this[ match ] ) ) { + this[ match ]( context[ match ] ); + + // ...and otherwise set as attributes + } else { + this.attr( match, context[ match ] ); + } + } + } + + return this; + + // HANDLE: $(#id) + } else { + elem = document.getElementById( match[2] ); + + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + if ( elem && elem.parentNode ) { + // Handle the case where IE and Opera return items + // by name instead of ID + if ( elem.id !== match[2] ) { + return rootjQuery.find( selector ); + } + + // Otherwise, we inject the element directly into the jQuery object + this.length = 1; + this[0] = elem; + } + + this.context = document; + this.selector = selector; + return this; + } + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return ( context || rootjQuery ).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor( context ).find( selector ); + } + + // HANDLE: $(DOMElement) + } else if ( selector.nodeType ) { + this.context = this[0] = selector; + this.length = 1; + return this; + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( jQuery.isFunction( selector ) ) { + return rootjQuery.ready( selector ); + } + + if ( selector.selector !== undefined ) { + this.selector = selector.selector; + this.context = selector.context; + } + + return jQuery.makeArray( selector, this ); + }, + + // Start with an empty selector + selector: "", + + // The default length of a jQuery object is 0 + length: 0, + + toArray: function() { + return core_slice.call( this ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + return num == null ? + + // Return a 'clean' array + this.toArray() : + + // Return just the object + ( num < 0 ? this[ this.length + num ] : this[ num ] ); + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems ) { + + // Build a new jQuery matched element set + var ret = jQuery.merge( this.constructor(), elems ); + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + ret.context = this.context; + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + // (You can seed the arguments with an array of args, but this is + // only used internally.) + each: function( callback, args ) { + return jQuery.each( this, callback, args ); + }, + + ready: function( fn ) { + // Add the callback + jQuery.ready.promise().done( fn ); + + return this; + }, + + slice: function() { + return this.pushStack( core_slice.apply( this, arguments ) ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + eq: function( i ) { + var len = this.length, + j = +i + ( i < 0 ? len : 0 ); + return this.pushStack( j >= 0 && j < len ? [ this[j] ] : [] ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map(this, function( elem, i ) { + return callback.call( elem, i, elem ); + })); + }, + + end: function() { + return this.prevObject || this.constructor(null); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: core_push, + sort: [].sort, + splice: [].splice +}; + +// Give the init function the jQuery prototype for later instantiation +jQuery.fn.init.prototype = jQuery.fn; + +jQuery.extend = jQuery.fn.extend = function() { + var src, copyIsArray, copy, name, options, clone, + target = arguments[0] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + target = arguments[1] || {}; + // skip the boolean and the target + i = 2; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !jQuery.isFunction(target) ) { + target = {}; + } + + // extend jQuery itself if only one argument is passed + if ( length === i ) { + target = this; + --i; + } + + for ( ; i < length; i++ ) { + // Only deal with non-null/undefined values + if ( (options = arguments[ i ]) != null ) { + // Extend the base object + for ( name in options ) { + src = target[ name ]; + copy = options[ name ]; + + // Prevent never-ending loop + if ( target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) { + if ( copyIsArray ) { + copyIsArray = false; + clone = src && jQuery.isArray(src) ? src : []; + + } else { + clone = src && jQuery.isPlainObject(src) ? src : {}; + } + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend({ + // Unique for each copy of jQuery on the page + // Non-digits removed to match rinlinejQuery + expando: "jQuery" + ( core_version + Math.random() ).replace( /\D/g, "" ), + + noConflict: function( deep ) { + if ( window.$ === jQuery ) { + window.$ = _$; + } + + if ( deep && window.jQuery === jQuery ) { + window.jQuery = _jQuery; + } + + return jQuery; + }, + + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + // Hold (or release) the ready event + holdReady: function( hold ) { + if ( hold ) { + jQuery.readyWait++; + } else { + jQuery.ready( true ); + } + }, + + // Handle when the DOM is ready + ready: function( wait ) { + + // Abort if there are pending holds or we're already ready + if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { + return; + } + + // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443). + if ( !document.body ) { + return setTimeout( jQuery.ready ); + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + readyList.resolveWith( document, [ jQuery ] ); + + // Trigger any bound ready events + if ( jQuery.fn.trigger ) { + jQuery( document ).trigger("ready").off("ready"); + } + }, + + // See test/unit/core.js for details concerning isFunction. + // Since version 1.3, DOM methods and functions like alert + // aren't supported. They return false on IE (#2968). + isFunction: function( obj ) { + return jQuery.type(obj) === "function"; + }, + + isArray: Array.isArray || function( obj ) { + return jQuery.type(obj) === "array"; + }, + + isWindow: function( obj ) { + /* jshint eqeqeq: false */ + return obj != null && obj == obj.window; + }, + + isNumeric: function( obj ) { + return !isNaN( parseFloat(obj) ) && isFinite( obj ); + }, + + type: function( obj ) { + if ( obj == null ) { + return String( obj ); + } + return typeof obj === "object" || typeof obj === "function" ? + class2type[ core_toString.call(obj) ] || "object" : + typeof obj; + }, + + isPlainObject: function( obj ) { + var key; + + // Must be an Object. + // Because of IE, we also have to check the presence of the constructor property. + // Make sure that DOM nodes and window objects don't pass through, as well + if ( !obj || jQuery.type(obj) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) { + return false; + } + + try { + // Not own constructor property must be Object + if ( obj.constructor && + !core_hasOwn.call(obj, "constructor") && + !core_hasOwn.call(obj.constructor.prototype, "isPrototypeOf") ) { + return false; + } + } catch ( e ) { + // IE8,9 Will throw exceptions on certain host objects #9897 + return false; + } + + // Support: IE<9 + // Handle iteration over inherited properties before own properties. + if ( jQuery.support.ownLast ) { + for ( key in obj ) { + return core_hasOwn.call( obj, key ); + } + } + + // Own properties are enumerated firstly, so to speed up, + // if last one is own, then all properties are own. + for ( key in obj ) {} + + return key === undefined || core_hasOwn.call( obj, key ); + }, + + isEmptyObject: function( obj ) { + var name; + for ( name in obj ) { + return false; + } + return true; + }, + + error: function( msg ) { + throw new Error( msg ); + }, + + // data: string of html + // context (optional): If specified, the fragment will be created in this context, defaults to document + // keepScripts (optional): If true, will include scripts passed in the html string + parseHTML: function( data, context, keepScripts ) { + if ( !data || typeof data !== "string" ) { + return null; + } + if ( typeof context === "boolean" ) { + keepScripts = context; + context = false; + } + context = context || document; + + var parsed = rsingleTag.exec( data ), + scripts = !keepScripts && []; + + // Single tag + if ( parsed ) { + return [ context.createElement( parsed[1] ) ]; + } + + parsed = jQuery.buildFragment( [ data ], context, scripts ); + if ( scripts ) { + jQuery( scripts ).remove(); + } + return jQuery.merge( [], parsed.childNodes ); + }, + + parseJSON: function( data ) { + // Attempt to parse using the native JSON parser first + if ( window.JSON && window.JSON.parse ) { + return window.JSON.parse( data ); + } + + if ( data === null ) { + return data; + } + + if ( typeof data === "string" ) { + + // Make sure leading/trailing whitespace is removed (IE can't handle it) + data = jQuery.trim( data ); + + if ( data ) { + // Make sure the incoming data is actual JSON + // Logic borrowed from http://json.org/json2.js + if ( rvalidchars.test( data.replace( rvalidescape, "@" ) + .replace( rvalidtokens, "]" ) + .replace( rvalidbraces, "")) ) { + + return ( new Function( "return " + data ) )(); + } + } + } + + jQuery.error( "Invalid JSON: " + data ); + }, + + // Cross-browser xml parsing + parseXML: function( data ) { + var xml, tmp; + if ( !data || typeof data !== "string" ) { + return null; + } + try { + if ( window.DOMParser ) { // Standard + tmp = new DOMParser(); + xml = tmp.parseFromString( data , "text/xml" ); + } else { // IE + xml = new ActiveXObject( "Microsoft.XMLDOM" ); + xml.async = "false"; + xml.loadXML( data ); + } + } catch( e ) { + xml = undefined; + } + if ( !xml || !xml.documentElement || xml.getElementsByTagName( "parsererror" ).length ) { + jQuery.error( "Invalid XML: " + data ); + } + return xml; + }, + + noop: function() {}, + + // Evaluates a script in a global context + // Workarounds based on findings by Jim Driscoll + // http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context + globalEval: function( data ) { + if ( data && jQuery.trim( data ) ) { + // We use execScript on Internet Explorer + // We use an anonymous function so that context is window + // rather than jQuery in Firefox + ( window.execScript || function( data ) { + window[ "eval" ].call( window, data ); + } )( data ); + } + }, + + // Convert dashed to camelCase; used by the css and data modules + // Microsoft forgot to hump their vendor prefix (#9572) + camelCase: function( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); + }, + + nodeName: function( elem, name ) { + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + }, + + // args is for internal usage only + each: function( obj, callback, args ) { + var value, + i = 0, + length = obj.length, + isArray = isArraylike( obj ); + + if ( args ) { + if ( isArray ) { + for ( ; i < length; i++ ) { + value = callback.apply( obj[ i ], args ); + + if ( value === false ) { + break; + } + } + } else { + for ( i in obj ) { + value = callback.apply( obj[ i ], args ); + + if ( value === false ) { + break; + } + } + } + + // A special, fast, case for the most common use of each + } else { + if ( isArray ) { + for ( ; i < length; i++ ) { + value = callback.call( obj[ i ], i, obj[ i ] ); + + if ( value === false ) { + break; + } + } + } else { + for ( i in obj ) { + value = callback.call( obj[ i ], i, obj[ i ] ); + + if ( value === false ) { + break; + } + } + } + } + + return obj; + }, + + // Use native String.trim function wherever possible + trim: core_trim && !core_trim.call("\uFEFF\xA0") ? + function( text ) { + return text == null ? + "" : + core_trim.call( text ); + } : + + // Otherwise use our own trimming functionality + function( text ) { + return text == null ? + "" : + ( text + "" ).replace( rtrim, "" ); + }, + + // results is for internal usage only + makeArray: function( arr, results ) { + var ret = results || []; + + if ( arr != null ) { + if ( isArraylike( Object(arr) ) ) { + jQuery.merge( ret, + typeof arr === "string" ? + [ arr ] : arr + ); + } else { + core_push.call( ret, arr ); + } + } + + return ret; + }, + + inArray: function( elem, arr, i ) { + var len; + + if ( arr ) { + if ( core_indexOf ) { + return core_indexOf.call( arr, elem, i ); + } + + len = arr.length; + i = i ? i < 0 ? Math.max( 0, len + i ) : i : 0; + + for ( ; i < len; i++ ) { + // Skip accessing in sparse arrays + if ( i in arr && arr[ i ] === elem ) { + return i; + } + } + } + + return -1; + }, + + merge: function( first, second ) { + var l = second.length, + i = first.length, + j = 0; + + if ( typeof l === "number" ) { + for ( ; j < l; j++ ) { + first[ i++ ] = second[ j ]; + } + } else { + while ( second[j] !== undefined ) { + first[ i++ ] = second[ j++ ]; + } + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, inv ) { + var retVal, + ret = [], + i = 0, + length = elems.length; + inv = !!inv; + + // Go through the array, only saving the items + // that pass the validator function + for ( ; i < length; i++ ) { + retVal = !!callback( elems[ i ], i ); + if ( inv !== retVal ) { + ret.push( elems[ i ] ); + } + } + + return ret; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var value, + i = 0, + length = elems.length, + isArray = isArraylike( elems ), + ret = []; + + // Go through the array, translating each of the items to their + if ( isArray ) { + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret[ ret.length ] = value; + } + } + + // Go through every key on the object, + } else { + for ( i in elems ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret[ ret.length ] = value; + } + } + } + + // Flatten any nested arrays + return core_concat.apply( [], ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // Bind a function to a context, optionally partially applying any + // arguments. + proxy: function( fn, context ) { + var args, proxy, tmp; + + if ( typeof context === "string" ) { + tmp = fn[ context ]; + context = fn; + fn = tmp; + } + + // Quick check to determine if target is callable, in the spec + // this throws a TypeError, but we will just return undefined. + if ( !jQuery.isFunction( fn ) ) { + return undefined; + } + + // Simulated bind + args = core_slice.call( arguments, 2 ); + proxy = function() { + return fn.apply( context || this, args.concat( core_slice.call( arguments ) ) ); + }; + + // Set the guid of unique handler to the same of original handler, so it can be removed + proxy.guid = fn.guid = fn.guid || jQuery.guid++; + + return proxy; + }, + + // Multifunctional method to get and set values of a collection + // The value/s can optionally be executed if it's a function + access: function( elems, fn, key, value, chainable, emptyGet, raw ) { + var i = 0, + length = elems.length, + bulk = key == null; + + // Sets many values + if ( jQuery.type( key ) === "object" ) { + chainable = true; + for ( i in key ) { + jQuery.access( elems, fn, i, key[i], true, emptyGet, raw ); + } + + // Sets one value + } else if ( value !== undefined ) { + chainable = true; + + if ( !jQuery.isFunction( value ) ) { + raw = true; + } + + if ( bulk ) { + // Bulk operations run against the entire set + if ( raw ) { + fn.call( elems, value ); + fn = null; + + // ...except when executing function values + } else { + bulk = fn; + fn = function( elem, key, value ) { + return bulk.call( jQuery( elem ), value ); + }; + } + } + + if ( fn ) { + for ( ; i < length; i++ ) { + fn( elems[i], key, raw ? value : value.call( elems[i], i, fn( elems[i], key ) ) ); + } + } + } + + return chainable ? + elems : + + // Gets + bulk ? + fn.call( elems ) : + length ? fn( elems[0], key ) : emptyGet; + }, + + now: function() { + return ( new Date() ).getTime(); + }, + + // A method for quickly swapping in/out CSS properties to get correct calculations. + // Note: this method belongs to the css module but it's needed here for the support module. + // If support gets modularized, this method should be moved back to the css module. + swap: function( elem, options, callback, args ) { + var ret, name, + old = {}; + + // Remember the old values, and insert the new ones + for ( name in options ) { + old[ name ] = elem.style[ name ]; + elem.style[ name ] = options[ name ]; + } + + ret = callback.apply( elem, args || [] ); + + // Revert the old values + for ( name in options ) { + elem.style[ name ] = old[ name ]; + } + + return ret; + } +}); + +jQuery.ready.promise = function( obj ) { + if ( !readyList ) { + + readyList = jQuery.Deferred(); + + // Catch cases where $(document).ready() is called after the browser event has already occurred. + // we once tried to use readyState "interactive" here, but it caused issues like the one + // discovered by ChrisS here: http://bugs.jquery.com/ticket/12282#comment:15 + if ( document.readyState === "complete" ) { + // Handle it asynchronously to allow scripts the opportunity to delay ready + setTimeout( jQuery.ready ); + + // Standards-based browsers support DOMContentLoaded + } else if ( document.addEventListener ) { + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", completed, false ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", completed, false ); + + // If IE event model is used + } else { + // Ensure firing before onload, maybe late but safe also for iframes + document.attachEvent( "onreadystatechange", completed ); + + // A fallback to window.onload, that will always work + window.attachEvent( "onload", completed ); + + // If IE and not a frame + // continually check to see if the document is ready + var top = false; + + try { + top = window.frameElement == null && document.documentElement; + } catch(e) {} + + if ( top && top.doScroll ) { + (function doScrollCheck() { + if ( !jQuery.isReady ) { + + try { + // Use the trick by Diego Perini + // http://javascript.nwbox.com/IEContentLoaded/ + top.doScroll("left"); + } catch(e) { + return setTimeout( doScrollCheck, 50 ); + } + + // detach all dom ready events + detach(); + + // and execute any waiting functions + jQuery.ready(); + } + })(); + } + } + } + return readyList.promise( obj ); +}; + +// Populate the class2type map +jQuery.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function(i, name) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +}); + +function isArraylike( obj ) { + var length = obj.length, + type = jQuery.type( obj ); + + if ( jQuery.isWindow( obj ) ) { + return false; + } + + if ( obj.nodeType === 1 && length ) { + return true; + } + + return type === "array" || type !== "function" && + ( length === 0 || + typeof length === "number" && length > 0 && ( length - 1 ) in obj ); +} + +// All jQuery objects should point back to these +rootjQuery = jQuery(document); +/*! + * Sizzle CSS Selector Engine v1.10.2 + * http://sizzlejs.com/ + * + * Copyright 2013 jQuery Foundation, Inc. and other contributors + * Released under the MIT license + * http://jquery.org/license + * + * Date: 2013-07-03 + */ +(function( window, undefined ) { + +var i, + support, + cachedruns, + Expr, + getText, + isXML, + compile, + outermostContext, + sortInput, + + // Local document vars + setDocument, + document, + docElem, + documentIsHTML, + rbuggyQSA, + rbuggyMatches, + matches, + contains, + + // Instance-specific data + expando = "sizzle" + -(new Date()), + preferredDoc = window.document, + dirruns = 0, + done = 0, + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + hasDuplicate = false, + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + return 0; + } + return 0; + }, + + // General-purpose constants + strundefined = typeof undefined, + MAX_NEGATIVE = 1 << 31, + + // Instance methods + hasOwn = ({}).hasOwnProperty, + arr = [], + pop = arr.pop, + push_native = arr.push, + push = arr.push, + slice = arr.slice, + // Use a stripped-down indexOf if we can't use a native one + indexOf = arr.indexOf || function( elem ) { + var i = 0, + len = this.length; + for ( ; i < len; i++ ) { + if ( this[i] === elem ) { + return i; + } + } + return -1; + }, + + booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", + + // Regular expressions + + // Whitespace characters http://www.w3.org/TR/css3-selectors/#whitespace + whitespace = "[\\x20\\t\\r\\n\\f]", + // http://www.w3.org/TR/css3-syntax/#characters + characterEncoding = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+", + + // Loosely modeled on CSS identifier characters + // An unquoted value should be a CSS identifier http://www.w3.org/TR/css3-selectors/#attribute-selectors + // Proper syntax: http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier + identifier = characterEncoding.replace( "w", "w#" ), + + // Acceptable operators http://www.w3.org/TR/selectors/#attribute-selectors + attributes = "\\[" + whitespace + "*(" + characterEncoding + ")" + whitespace + + "*(?:([*^$|!~]?=)" + whitespace + "*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|(" + identifier + ")|)|)" + whitespace + "*\\]", + + // Prefer arguments quoted, + // then not containing pseudos/brackets, + // then attribute selectors/non-parenthetical expressions, + // then anything else + // These preferences are here to reduce the number of selectors + // needing tokenize in the PSEUDO preFilter + pseudos = ":(" + characterEncoding + ")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|" + attributes.replace( 3, 8 ) + ")*)|.*)\\)|)", + + // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ), + + rsibling = new RegExp( whitespace + "*[+~]" ), + rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*)" + whitespace + "*\\]", "g" ), + + rpseudo = new RegExp( pseudos ), + ridentifier = new RegExp( "^" + identifier + "$" ), + + matchExpr = { + "ID": new RegExp( "^#(" + characterEncoding + ")" ), + "CLASS": new RegExp( "^\\.(" + characterEncoding + ")" ), + "TAG": new RegExp( "^(" + characterEncoding.replace( "w", "w*" ) + ")" ), + "ATTR": new RegExp( "^" + attributes ), + "PSEUDO": new RegExp( "^" + pseudos ), + "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), + // For use in libraries implementing .is() + // We use this for POS matching in `select` + "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + + whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) + }, + + rnative = /^[^{]+\{\s*\[native \w/, + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + + rinputs = /^(?:input|select|textarea|button)$/i, + rheader = /^h\d$/i, + + rescape = /'|\\/g, + + // CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters + runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ), + funescape = function( _, escaped, escapedWhitespace ) { + var high = "0x" + escaped - 0x10000; + // NaN means non-codepoint + // Support: Firefox + // Workaround erroneous numeric interpretation of +"0x" + return high !== high || escapedWhitespace ? + escaped : + // BMP codepoint + high < 0 ? + String.fromCharCode( high + 0x10000 ) : + // Supplemental Plane codepoint (surrogate pair) + String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); + }; + +// Optimize for push.apply( _, NodeList ) +try { + push.apply( + (arr = slice.call( preferredDoc.childNodes )), + preferredDoc.childNodes + ); + // Support: Android<4.0 + // Detect silently failing push.apply + arr[ preferredDoc.childNodes.length ].nodeType; +} catch ( e ) { + push = { apply: arr.length ? + + // Leverage slice if possible + function( target, els ) { + push_native.apply( target, slice.call(els) ); + } : + + // Support: IE<9 + // Otherwise append directly + function( target, els ) { + var j = target.length, + i = 0; + // Can't trust NodeList.length + while ( (target[j++] = els[i++]) ) {} + target.length = j - 1; + } + }; +} + +function Sizzle( selector, context, results, seed ) { + var match, elem, m, nodeType, + // QSA vars + i, groups, old, nid, newContext, newSelector; + + if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { + setDocument( context ); + } + + context = context || document; + results = results || []; + + if ( !selector || typeof selector !== "string" ) { + return results; + } + + if ( (nodeType = context.nodeType) !== 1 && nodeType !== 9 ) { + return []; + } + + if ( documentIsHTML && !seed ) { + + // Shortcuts + if ( (match = rquickExpr.exec( selector )) ) { + // Speed-up: Sizzle("#ID") + if ( (m = match[1]) ) { + if ( nodeType === 9 ) { + elem = context.getElementById( m ); + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + if ( elem && elem.parentNode ) { + // Handle the case where IE, Opera, and Webkit return items + // by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { + return results; + } + } else { + // Context is not a document + if ( context.ownerDocument && (elem = context.ownerDocument.getElementById( m )) && + contains( context, elem ) && elem.id === m ) { + results.push( elem ); + return results; + } + } + + // Speed-up: Sizzle("TAG") + } else if ( match[2] ) { + push.apply( results, context.getElementsByTagName( selector ) ); + return results; + + // Speed-up: Sizzle(".CLASS") + } else if ( (m = match[3]) && support.getElementsByClassName && context.getElementsByClassName ) { + push.apply( results, context.getElementsByClassName( m ) ); + return results; + } + } + + // QSA path + if ( support.qsa && (!rbuggyQSA || !rbuggyQSA.test( selector )) ) { + nid = old = expando; + newContext = context; + newSelector = nodeType === 9 && selector; + + // qSA works strangely on Element-rooted queries + // We can work around this by specifying an extra ID on the root + // and working up from there (Thanks to Andrew Dupont for the technique) + // IE 8 doesn't work on object elements + if ( nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) { + groups = tokenize( selector ); + + if ( (old = context.getAttribute("id")) ) { + nid = old.replace( rescape, "\\$&" ); + } else { + context.setAttribute( "id", nid ); + } + nid = "[id='" + nid + "'] "; + + i = groups.length; + while ( i-- ) { + groups[i] = nid + toSelector( groups[i] ); + } + newContext = rsibling.test( selector ) && context.parentNode || context; + newSelector = groups.join(","); + } + + if ( newSelector ) { + try { + push.apply( results, + newContext.querySelectorAll( newSelector ) + ); + return results; + } catch(qsaError) { + } finally { + if ( !old ) { + context.removeAttribute("id"); + } + } + } + } + } + + // All others + return select( selector.replace( rtrim, "$1" ), context, results, seed ); +} + +/** + * Create key-value caches of limited size + * @returns {Function(string, Object)} Returns the Object data after storing it on itself with + * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) + * deleting the oldest entry + */ +function createCache() { + var keys = []; + + function cache( key, value ) { + // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) + if ( keys.push( key += " " ) > Expr.cacheLength ) { + // Only keep the most recent entries + delete cache[ keys.shift() ]; + } + return (cache[ key ] = value); + } + return cache; +} + +/** + * Mark a function for special use by Sizzle + * @param {Function} fn The function to mark + */ +function markFunction( fn ) { + fn[ expando ] = true; + return fn; +} + +/** + * Support testing using an element + * @param {Function} fn Passed the created div and expects a boolean result + */ +function assert( fn ) { + var div = document.createElement("div"); + + try { + return !!fn( div ); + } catch (e) { + return false; + } finally { + // Remove from its parent by default + if ( div.parentNode ) { + div.parentNode.removeChild( div ); + } + // release memory in IE + div = null; + } +} + +/** + * Adds the same handler for all of the specified attrs + * @param {String} attrs Pipe-separated list of attributes + * @param {Function} handler The method that will be applied + */ +function addHandle( attrs, handler ) { + var arr = attrs.split("|"), + i = attrs.length; + + while ( i-- ) { + Expr.attrHandle[ arr[i] ] = handler; + } +} + +/** + * Checks document order of two siblings + * @param {Element} a + * @param {Element} b + * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b + */ +function siblingCheck( a, b ) { + var cur = b && a, + diff = cur && a.nodeType === 1 && b.nodeType === 1 && + ( ~b.sourceIndex || MAX_NEGATIVE ) - + ( ~a.sourceIndex || MAX_NEGATIVE ); + + // Use IE sourceIndex if available on both nodes + if ( diff ) { + return diff; + } + + // Check if b follows a + if ( cur ) { + while ( (cur = cur.nextSibling) ) { + if ( cur === b ) { + return -1; + } + } + } + + return a ? 1 : -1; +} + +/** + * Returns a function to use in pseudos for input types + * @param {String} type + */ +function createInputPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for buttons + * @param {String} type + */ +function createButtonPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for positionals + * @param {Function} fn + */ +function createPositionalPseudo( fn ) { + return markFunction(function( argument ) { + argument = +argument; + return markFunction(function( seed, matches ) { + var j, + matchIndexes = fn( [], seed.length, argument ), + i = matchIndexes.length; + + // Match elements found at the specified indexes + while ( i-- ) { + if ( seed[ (j = matchIndexes[i]) ] ) { + seed[j] = !(matches[j] = seed[j]); + } + } + }); + }); +} + +/** + * Detect xml + * @param {Element|Object} elem An element or a document + */ +isXML = Sizzle.isXML = function( elem ) { + // documentElement is verified for cases where it doesn't yet exist + // (such as loading iframes in IE - #4833) + var documentElement = elem && (elem.ownerDocument || elem).documentElement; + return documentElement ? documentElement.nodeName !== "HTML" : false; +}; + +// Expose support vars for convenience +support = Sizzle.support = {}; + +/** + * Sets document-related variables once based on the current document + * @param {Element|Object} [doc] An element or document object to use to set the document + * @returns {Object} Returns the current document + */ +setDocument = Sizzle.setDocument = function( node ) { + var doc = node ? node.ownerDocument || node : preferredDoc, + parent = doc.defaultView; + + // If no document and documentElement is available, return + if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) { + return document; + } + + // Set our document + document = doc; + docElem = doc.documentElement; + + // Support tests + documentIsHTML = !isXML( doc ); + + // Support: IE>8 + // If iframe document is assigned to "document" variable and if iframe has been reloaded, + // IE will throw "permission denied" error when accessing "document" variable, see jQuery #13936 + // IE6-8 do not support the defaultView property so parent will be undefined + if ( parent && parent.attachEvent && parent !== parent.top ) { + parent.attachEvent( "onbeforeunload", function() { + setDocument(); + }); + } + + /* Attributes + ---------------------------------------------------------------------- */ + + // Support: IE<8 + // Verify that getAttribute really returns attributes and not properties (excepting IE8 booleans) + support.attributes = assert(function( div ) { + div.className = "i"; + return !div.getAttribute("className"); + }); + + /* getElement(s)By* + ---------------------------------------------------------------------- */ + + // Check if getElementsByTagName("*") returns only elements + support.getElementsByTagName = assert(function( div ) { + div.appendChild( doc.createComment("") ); + return !div.getElementsByTagName("*").length; + }); + + // Check if getElementsByClassName can be trusted + support.getElementsByClassName = assert(function( div ) { + div.innerHTML = "
"; + + // Support: Safari<4 + // Catch class over-caching + div.firstChild.className = "i"; + // Support: Opera<10 + // Catch gEBCN failure to find non-leading classes + return div.getElementsByClassName("i").length === 2; + }); + + // Support: IE<10 + // Check if getElementById returns elements by name + // The broken getElementById methods don't pick up programatically-set names, + // so use a roundabout getElementsByName test + support.getById = assert(function( div ) { + docElem.appendChild( div ).id = expando; + return !doc.getElementsByName || !doc.getElementsByName( expando ).length; + }); + + // ID find and filter + if ( support.getById ) { + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== strundefined && documentIsHTML ) { + var m = context.getElementById( id ); + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + return m && m.parentNode ? [m] : []; + } + }; + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + return elem.getAttribute("id") === attrId; + }; + }; + } else { + // Support: IE6/7 + // getElementById is not reliable as a find shortcut + delete Expr.find["ID"]; + + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + var node = typeof elem.getAttributeNode !== strundefined && elem.getAttributeNode("id"); + return node && node.value === attrId; + }; + }; + } + + // Tag + Expr.find["TAG"] = support.getElementsByTagName ? + function( tag, context ) { + if ( typeof context.getElementsByTagName !== strundefined ) { + return context.getElementsByTagName( tag ); + } + } : + function( tag, context ) { + var elem, + tmp = [], + i = 0, + results = context.getElementsByTagName( tag ); + + // Filter out possible comments + if ( tag === "*" ) { + while ( (elem = results[i++]) ) { + if ( elem.nodeType === 1 ) { + tmp.push( elem ); + } + } + + return tmp; + } + return results; + }; + + // Class + Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) { + if ( typeof context.getElementsByClassName !== strundefined && documentIsHTML ) { + return context.getElementsByClassName( className ); + } + }; + + /* QSA/matchesSelector + ---------------------------------------------------------------------- */ + + // QSA and matchesSelector support + + // matchesSelector(:active) reports false when true (IE9/Opera 11.5) + rbuggyMatches = []; + + // qSa(:focus) reports false when true (Chrome 21) + // We allow this because of a bug in IE8/9 that throws an error + // whenever `document.activeElement` is accessed on an iframe + // So, we allow :focus to pass through QSA all the time to avoid the IE error + // See http://bugs.jquery.com/ticket/13378 + rbuggyQSA = []; + + if ( (support.qsa = rnative.test( doc.querySelectorAll )) ) { + // Build QSA regex + // Regex strategy adopted from Diego Perini + assert(function( div ) { + // Select is set to empty string on purpose + // This is to test IE's treatment of not explicitly + // setting a boolean content attribute, + // since its presence should be enough + // http://bugs.jquery.com/ticket/12359 + div.innerHTML = ""; + + // Support: IE8 + // Boolean attributes and "value" are not treated correctly + if ( !div.querySelectorAll("[selected]").length ) { + rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); + } + + // Webkit/Opera - :checked should return selected option elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + // IE8 throws error here and will not see later tests + if ( !div.querySelectorAll(":checked").length ) { + rbuggyQSA.push(":checked"); + } + }); + + assert(function( div ) { + + // Support: Opera 10-12/IE8 + // ^= $= *= and empty values + // Should not select anything + // Support: Windows 8 Native Apps + // The type attribute is restricted during .innerHTML assignment + var input = doc.createElement("input"); + input.setAttribute( "type", "hidden" ); + div.appendChild( input ).setAttribute( "t", "" ); + + if ( div.querySelectorAll("[t^='']").length ) { + rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); + } + + // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) + // IE8 throws error here and will not see later tests + if ( !div.querySelectorAll(":enabled").length ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Opera 10-11 does not throw on post-comma invalid pseudos + div.querySelectorAll("*,:x"); + rbuggyQSA.push(",.*:"); + }); + } + + if ( (support.matchesSelector = rnative.test( (matches = docElem.webkitMatchesSelector || + docElem.mozMatchesSelector || + docElem.oMatchesSelector || + docElem.msMatchesSelector) )) ) { + + assert(function( div ) { + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9) + support.disconnectedMatch = matches.call( div, "div" ); + + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( div, "[s!='']:x" ); + rbuggyMatches.push( "!=", pseudos ); + }); + } + + rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") ); + rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") ); + + /* Contains + ---------------------------------------------------------------------- */ + + // Element contains another + // Purposefully does not implement inclusive descendent + // As in, an element does not contain itself + contains = rnative.test( docElem.contains ) || docElem.compareDocumentPosition ? + function( a, b ) { + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b && b.parentNode; + return a === bup || !!( bup && bup.nodeType === 1 && ( + adown.contains ? + adown.contains( bup ) : + a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 + )); + } : + function( a, b ) { + if ( b ) { + while ( (b = b.parentNode) ) { + if ( b === a ) { + return true; + } + } + } + return false; + }; + + /* Sorting + ---------------------------------------------------------------------- */ + + // Document order sorting + sortOrder = docElem.compareDocumentPosition ? + function( a, b ) { + + // Flag for duplicate removal + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + var compare = b.compareDocumentPosition && a.compareDocumentPosition && a.compareDocumentPosition( b ); + + if ( compare ) { + // Disconnected nodes + if ( compare & 1 || + (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) { + + // Choose the first element that is related to our preferred document + if ( a === doc || contains(preferredDoc, a) ) { + return -1; + } + if ( b === doc || contains(preferredDoc, b) ) { + return 1; + } + + // Maintain original order + return sortInput ? + ( indexOf.call( sortInput, a ) - indexOf.call( sortInput, b ) ) : + 0; + } + + return compare & 4 ? -1 : 1; + } + + // Not directly comparable, sort on existence of method + return a.compareDocumentPosition ? -1 : 1; + } : + function( a, b ) { + var cur, + i = 0, + aup = a.parentNode, + bup = b.parentNode, + ap = [ a ], + bp = [ b ]; + + // Exit early if the nodes are identical + if ( a === b ) { + hasDuplicate = true; + return 0; + + // Parentless nodes are either documents or disconnected + } else if ( !aup || !bup ) { + return a === doc ? -1 : + b === doc ? 1 : + aup ? -1 : + bup ? 1 : + sortInput ? + ( indexOf.call( sortInput, a ) - indexOf.call( sortInput, b ) ) : + 0; + + // If the nodes are siblings, we can do a quick check + } else if ( aup === bup ) { + return siblingCheck( a, b ); + } + + // Otherwise we need full lists of their ancestors for comparison + cur = a; + while ( (cur = cur.parentNode) ) { + ap.unshift( cur ); + } + cur = b; + while ( (cur = cur.parentNode) ) { + bp.unshift( cur ); + } + + // Walk down the tree looking for a discrepancy + while ( ap[i] === bp[i] ) { + i++; + } + + return i ? + // Do a sibling check if the nodes have a common ancestor + siblingCheck( ap[i], bp[i] ) : + + // Otherwise nodes in our document sort first + ap[i] === preferredDoc ? -1 : + bp[i] === preferredDoc ? 1 : + 0; + }; + + return doc; +}; + +Sizzle.matches = function( expr, elements ) { + return Sizzle( expr, null, null, elements ); +}; + +Sizzle.matchesSelector = function( elem, expr ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + // Make sure that attribute selectors are quoted + expr = expr.replace( rattributeQuotes, "='$1']" ); + + if ( support.matchesSelector && documentIsHTML && + ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && + ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { + + try { + var ret = matches.call( elem, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || support.disconnectedMatch || + // As well, disconnected nodes are said to be in a document + // fragment in IE 9 + elem.document && elem.document.nodeType !== 11 ) { + return ret; + } + } catch(e) {} + } + + return Sizzle( expr, document, null, [elem] ).length > 0; +}; + +Sizzle.contains = function( context, elem ) { + // Set document vars if needed + if ( ( context.ownerDocument || context ) !== document ) { + setDocument( context ); + } + return contains( context, elem ); +}; + +Sizzle.attr = function( elem, name ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + var fn = Expr.attrHandle[ name.toLowerCase() ], + // Don't get fooled by Object.prototype properties (jQuery #13807) + val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? + fn( elem, name, !documentIsHTML ) : + undefined; + + return val === undefined ? + support.attributes || !documentIsHTML ? + elem.getAttribute( name ) : + (val = elem.getAttributeNode(name)) && val.specified ? + val.value : + null : + val; +}; + +Sizzle.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +/** + * Document sorting and removing duplicates + * @param {ArrayLike} results + */ +Sizzle.uniqueSort = function( results ) { + var elem, + duplicates = [], + j = 0, + i = 0; + + // Unless we *know* we can detect duplicates, assume their presence + hasDuplicate = !support.detectDuplicates; + sortInput = !support.sortStable && results.slice( 0 ); + results.sort( sortOrder ); + + if ( hasDuplicate ) { + while ( (elem = results[i++]) ) { + if ( elem === results[ i ] ) { + j = duplicates.push( i ); + } + } + while ( j-- ) { + results.splice( duplicates[ j ], 1 ); + } + } + + return results; +}; + +/** + * Utility function for retrieving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ +getText = Sizzle.getText = function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( !nodeType ) { + // If no nodeType, this is expected to be an array + for ( ; (node = elem[i]); i++ ) { + // Do not traverse comment nodes + ret += getText( node ); + } + } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + // Use textContent for elements + // innerText usage removed for consistency of new lines (see #11153) + if ( typeof elem.textContent === "string" ) { + return elem.textContent; + } else { + // Traverse its children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + ret += getText( elem ); + } + } + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + // Do not include comment or processing instruction nodes + + return ret; +}; + +Expr = Sizzle.selectors = { + + // Can be adjusted by the user + cacheLength: 50, + + createPseudo: markFunction, + + match: matchExpr, + + attrHandle: {}, + + find: {}, + + relative: { + ">": { dir: "parentNode", first: true }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: true }, + "~": { dir: "previousSibling" } + }, + + preFilter: { + "ATTR": function( match ) { + match[1] = match[1].replace( runescape, funescape ); + + // Move the given value to match[3] whether quoted or unquoted + match[3] = ( match[4] || match[5] || "" ).replace( runescape, funescape ); + + if ( match[2] === "~=" ) { + match[3] = " " + match[3] + " "; + } + + return match.slice( 0, 4 ); + }, + + "CHILD": function( match ) { + /* matches from matchExpr["CHILD"] + 1 type (only|nth|...) + 2 what (child|of-type) + 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) + 4 xn-component of xn+y argument ([+-]?\d*n|) + 5 sign of xn-component + 6 x of xn-component + 7 sign of y-component + 8 y of y-component + */ + match[1] = match[1].toLowerCase(); + + if ( match[1].slice( 0, 3 ) === "nth" ) { + // nth-* requires argument + if ( !match[3] ) { + Sizzle.error( match[0] ); + } + + // numeric x and y parameters for Expr.filter.CHILD + // remember that false/true cast respectively to 0/1 + match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) ); + match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" ); + + // other types prohibit arguments + } else if ( match[3] ) { + Sizzle.error( match[0] ); + } + + return match; + }, + + "PSEUDO": function( match ) { + var excess, + unquoted = !match[5] && match[2]; + + if ( matchExpr["CHILD"].test( match[0] ) ) { + return null; + } + + // Accept quoted arguments as-is + if ( match[3] && match[4] !== undefined ) { + match[2] = match[4]; + + // Strip excess characters from unquoted arguments + } else if ( unquoted && rpseudo.test( unquoted ) && + // Get excess from tokenize (recursively) + (excess = tokenize( unquoted, true )) && + // advance to the next closing parenthesis + (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { + + // excess is a negative index + match[0] = match[0].slice( 0, excess ); + match[2] = unquoted.slice( 0, excess ); + } + + // Return only captures needed by the pseudo filter method (type and argument) + return match.slice( 0, 3 ); + } + }, + + filter: { + + "TAG": function( nodeNameSelector ) { + var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); + return nodeNameSelector === "*" ? + function() { return true; } : + function( elem ) { + return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; + }; + }, + + "CLASS": function( className ) { + var pattern = classCache[ className + " " ]; + + return pattern || + (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) && + classCache( className, function( elem ) { + return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== strundefined && elem.getAttribute("class") || "" ); + }); + }, + + "ATTR": function( name, operator, check ) { + return function( elem ) { + var result = Sizzle.attr( elem, name ); + + if ( result == null ) { + return operator === "!="; + } + if ( !operator ) { + return true; + } + + result += ""; + + return operator === "=" ? result === check : + operator === "!=" ? result !== check : + operator === "^=" ? check && result.indexOf( check ) === 0 : + operator === "*=" ? check && result.indexOf( check ) > -1 : + operator === "$=" ? check && result.slice( -check.length ) === check : + operator === "~=" ? ( " " + result + " " ).indexOf( check ) > -1 : + operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : + false; + }; + }, + + "CHILD": function( type, what, argument, first, last ) { + var simple = type.slice( 0, 3 ) !== "nth", + forward = type.slice( -4 ) !== "last", + ofType = what === "of-type"; + + return first === 1 && last === 0 ? + + // Shortcut for :nth-*(n) + function( elem ) { + return !!elem.parentNode; + } : + + function( elem, context, xml ) { + var cache, outerCache, node, diff, nodeIndex, start, + dir = simple !== forward ? "nextSibling" : "previousSibling", + parent = elem.parentNode, + name = ofType && elem.nodeName.toLowerCase(), + useCache = !xml && !ofType; + + if ( parent ) { + + // :(first|last|only)-(child|of-type) + if ( simple ) { + while ( dir ) { + node = elem; + while ( (node = node[ dir ]) ) { + if ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) { + return false; + } + } + // Reverse direction for :only-* (if we haven't yet done so) + start = dir = type === "only" && !start && "nextSibling"; + } + return true; + } + + start = [ forward ? parent.firstChild : parent.lastChild ]; + + // non-xml :nth-child(...) stores cache data on `parent` + if ( forward && useCache ) { + // Seek `elem` from a previously-cached index + outerCache = parent[ expando ] || (parent[ expando ] = {}); + cache = outerCache[ type ] || []; + nodeIndex = cache[0] === dirruns && cache[1]; + diff = cache[0] === dirruns && cache[2]; + node = nodeIndex && parent.childNodes[ nodeIndex ]; + + while ( (node = ++nodeIndex && node && node[ dir ] || + + // Fallback to seeking `elem` from the start + (diff = nodeIndex = 0) || start.pop()) ) { + + // When found, cache indexes on `parent` and break + if ( node.nodeType === 1 && ++diff && node === elem ) { + outerCache[ type ] = [ dirruns, nodeIndex, diff ]; + break; + } + } + + // Use previously-cached element index if available + } else if ( useCache && (cache = (elem[ expando ] || (elem[ expando ] = {}))[ type ]) && cache[0] === dirruns ) { + diff = cache[1]; + + // xml :nth-child(...) or :nth-last-child(...) or :nth(-last)?-of-type(...) + } else { + // Use the same loop as above to seek `elem` from the start + while ( (node = ++nodeIndex && node && node[ dir ] || + (diff = nodeIndex = 0) || start.pop()) ) { + + if ( ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) && ++diff ) { + // Cache the index of each encountered element + if ( useCache ) { + (node[ expando ] || (node[ expando ] = {}))[ type ] = [ dirruns, diff ]; + } + + if ( node === elem ) { + break; + } + } + } + } + + // Incorporate the offset, then check against cycle size + diff -= last; + return diff === first || ( diff % first === 0 && diff / first >= 0 ); + } + }; + }, + + "PSEUDO": function( pseudo, argument ) { + // pseudo-class names are case-insensitive + // http://www.w3.org/TR/selectors/#pseudo-classes + // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters + // Remember that setFilters inherits from pseudos + var args, + fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || + Sizzle.error( "unsupported pseudo: " + pseudo ); + + // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as Sizzle does + if ( fn[ expando ] ) { + return fn( argument ); + } + + // But maintain support for old signatures + if ( fn.length > 1 ) { + args = [ pseudo, pseudo, "", argument ]; + return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? + markFunction(function( seed, matches ) { + var idx, + matched = fn( seed, argument ), + i = matched.length; + while ( i-- ) { + idx = indexOf.call( seed, matched[i] ); + seed[ idx ] = !( matches[ idx ] = matched[i] ); + } + }) : + function( elem ) { + return fn( elem, 0, args ); + }; + } + + return fn; + } + }, + + pseudos: { + // Potentially complex pseudos + "not": markFunction(function( selector ) { + // Trim the selector passed to compile + // to avoid treating leading and trailing + // spaces as combinators + var input = [], + results = [], + matcher = compile( selector.replace( rtrim, "$1" ) ); + + return matcher[ expando ] ? + markFunction(function( seed, matches, context, xml ) { + var elem, + unmatched = matcher( seed, null, xml, [] ), + i = seed.length; + + // Match elements unmatched by `matcher` + while ( i-- ) { + if ( (elem = unmatched[i]) ) { + seed[i] = !(matches[i] = elem); + } + } + }) : + function( elem, context, xml ) { + input[0] = elem; + matcher( input, null, xml, results ); + return !results.pop(); + }; + }), + + "has": markFunction(function( selector ) { + return function( elem ) { + return Sizzle( selector, elem ).length > 0; + }; + }), + + "contains": markFunction(function( text ) { + return function( elem ) { + return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1; + }; + }), + + // "Whether an element is represented by a :lang() selector + // is based solely on the element's language value + // being equal to the identifier C, + // or beginning with the identifier C immediately followed by "-". + // The matching of C against the element's language value is performed case-insensitively. + // The identifier C does not have to be a valid language name." + // http://www.w3.org/TR/selectors/#lang-pseudo + "lang": markFunction( function( lang ) { + // lang value must be a valid identifier + if ( !ridentifier.test(lang || "") ) { + Sizzle.error( "unsupported lang: " + lang ); + } + lang = lang.replace( runescape, funescape ).toLowerCase(); + return function( elem ) { + var elemLang; + do { + if ( (elemLang = documentIsHTML ? + elem.lang : + elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) { + + elemLang = elemLang.toLowerCase(); + return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; + } + } while ( (elem = elem.parentNode) && elem.nodeType === 1 ); + return false; + }; + }), + + // Miscellaneous + "target": function( elem ) { + var hash = window.location && window.location.hash; + return hash && hash.slice( 1 ) === elem.id; + }, + + "root": function( elem ) { + return elem === docElem; + }, + + "focus": function( elem ) { + return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); + }, + + // Boolean properties + "enabled": function( elem ) { + return elem.disabled === false; + }, + + "disabled": function( elem ) { + return elem.disabled === true; + }, + + "checked": function( elem ) { + // In CSS3, :checked should return both checked and selected elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + var nodeName = elem.nodeName.toLowerCase(); + return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); + }, + + "selected": function( elem ) { + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + // Contents + "empty": function( elem ) { + // http://www.w3.org/TR/selectors/#empty-pseudo + // :empty is only affected by element nodes and content nodes(including text(3), cdata(4)), + // not comment, processing instructions, or others + // Thanks to Diego Perini for the nodeName shortcut + // Greater than "@" means alpha characters (specifically not starting with "#" or "?") + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + if ( elem.nodeName > "@" || elem.nodeType === 3 || elem.nodeType === 4 ) { + return false; + } + } + return true; + }, + + "parent": function( elem ) { + return !Expr.pseudos["empty"]( elem ); + }, + + // Element/input types + "header": function( elem ) { + return rheader.test( elem.nodeName ); + }, + + "input": function( elem ) { + return rinputs.test( elem.nodeName ); + }, + + "button": function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === "button" || name === "button"; + }, + + "text": function( elem ) { + var attr; + // IE6 and 7 will map elem.type to 'text' for new HTML5 types (search, etc) + // use getAttribute instead to test this case + return elem.nodeName.toLowerCase() === "input" && + elem.type === "text" && + ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === elem.type ); + }, + + // Position-in-collection + "first": createPositionalPseudo(function() { + return [ 0 ]; + }), + + "last": createPositionalPseudo(function( matchIndexes, length ) { + return [ length - 1 ]; + }), + + "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { + return [ argument < 0 ? argument + length : argument ]; + }), + + "even": createPositionalPseudo(function( matchIndexes, length ) { + var i = 0; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "odd": createPositionalPseudo(function( matchIndexes, length ) { + var i = 1; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; --i >= 0; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; ++i < length; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }) + } +}; + +Expr.pseudos["nth"] = Expr.pseudos["eq"]; + +// Add button/input type pseudos +for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { + Expr.pseudos[ i ] = createInputPseudo( i ); +} +for ( i in { submit: true, reset: true } ) { + Expr.pseudos[ i ] = createButtonPseudo( i ); +} + +// Easy API for creating new setFilters +function setFilters() {} +setFilters.prototype = Expr.filters = Expr.pseudos; +Expr.setFilters = new setFilters(); + +function tokenize( selector, parseOnly ) { + var matched, match, tokens, type, + soFar, groups, preFilters, + cached = tokenCache[ selector + " " ]; + + if ( cached ) { + return parseOnly ? 0 : cached.slice( 0 ); + } + + soFar = selector; + groups = []; + preFilters = Expr.preFilter; + + while ( soFar ) { + + // Comma and first run + if ( !matched || (match = rcomma.exec( soFar )) ) { + if ( match ) { + // Don't consume trailing commas as valid + soFar = soFar.slice( match[0].length ) || soFar; + } + groups.push( tokens = [] ); + } + + matched = false; + + // Combinators + if ( (match = rcombinators.exec( soFar )) ) { + matched = match.shift(); + tokens.push({ + value: matched, + // Cast descendant combinators to space + type: match[0].replace( rtrim, " " ) + }); + soFar = soFar.slice( matched.length ); + } + + // Filters + for ( type in Expr.filter ) { + if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || + (match = preFilters[ type ]( match ))) ) { + matched = match.shift(); + tokens.push({ + value: matched, + type: type, + matches: match + }); + soFar = soFar.slice( matched.length ); + } + } + + if ( !matched ) { + break; + } + } + + // Return the length of the invalid excess + // if we're just parsing + // Otherwise, throw an error or return tokens + return parseOnly ? + soFar.length : + soFar ? + Sizzle.error( selector ) : + // Cache the tokens + tokenCache( selector, groups ).slice( 0 ); +} + +function toSelector( tokens ) { + var i = 0, + len = tokens.length, + selector = ""; + for ( ; i < len; i++ ) { + selector += tokens[i].value; + } + return selector; +} + +function addCombinator( matcher, combinator, base ) { + var dir = combinator.dir, + checkNonElements = base && dir === "parentNode", + doneName = done++; + + return combinator.first ? + // Check against closest ancestor/preceding element + function( elem, context, xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + return matcher( elem, context, xml ); + } + } + } : + + // Check against all ancestor/preceding elements + function( elem, context, xml ) { + var data, cache, outerCache, + dirkey = dirruns + " " + doneName; + + // We can't set arbitrary data on XML nodes, so they don't benefit from dir caching + if ( xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + if ( matcher( elem, context, xml ) ) { + return true; + } + } + } + } else { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + outerCache = elem[ expando ] || (elem[ expando ] = {}); + if ( (cache = outerCache[ dir ]) && cache[0] === dirkey ) { + if ( (data = cache[1]) === true || data === cachedruns ) { + return data === true; + } + } else { + cache = outerCache[ dir ] = [ dirkey ]; + cache[1] = matcher( elem, context, xml ) || cachedruns; + if ( cache[1] === true ) { + return true; + } + } + } + } + } + }; +} + +function elementMatcher( matchers ) { + return matchers.length > 1 ? + function( elem, context, xml ) { + var i = matchers.length; + while ( i-- ) { + if ( !matchers[i]( elem, context, xml ) ) { + return false; + } + } + return true; + } : + matchers[0]; +} + +function condense( unmatched, map, filter, context, xml ) { + var elem, + newUnmatched = [], + i = 0, + len = unmatched.length, + mapped = map != null; + + for ( ; i < len; i++ ) { + if ( (elem = unmatched[i]) ) { + if ( !filter || filter( elem, context, xml ) ) { + newUnmatched.push( elem ); + if ( mapped ) { + map.push( i ); + } + } + } + } + + return newUnmatched; +} + +function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { + if ( postFilter && !postFilter[ expando ] ) { + postFilter = setMatcher( postFilter ); + } + if ( postFinder && !postFinder[ expando ] ) { + postFinder = setMatcher( postFinder, postSelector ); + } + return markFunction(function( seed, results, context, xml ) { + var temp, i, elem, + preMap = [], + postMap = [], + preexisting = results.length, + + // Get initial elements from seed or context + elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ), + + // Prefilter to get matcher input, preserving a map for seed-results synchronization + matcherIn = preFilter && ( seed || !selector ) ? + condense( elems, preMap, preFilter, context, xml ) : + elems, + + matcherOut = matcher ? + // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, + postFinder || ( seed ? preFilter : preexisting || postFilter ) ? + + // ...intermediate processing is necessary + [] : + + // ...otherwise use results directly + results : + matcherIn; + + // Find primary matches + if ( matcher ) { + matcher( matcherIn, matcherOut, context, xml ); + } + + // Apply postFilter + if ( postFilter ) { + temp = condense( matcherOut, postMap ); + postFilter( temp, [], context, xml ); + + // Un-match failing elements by moving them back to matcherIn + i = temp.length; + while ( i-- ) { + if ( (elem = temp[i]) ) { + matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); + } + } + } + + if ( seed ) { + if ( postFinder || preFilter ) { + if ( postFinder ) { + // Get the final matcherOut by condensing this intermediate into postFinder contexts + temp = []; + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) ) { + // Restore matcherIn since elem is not yet a final match + temp.push( (matcherIn[i] = elem) ); + } + } + postFinder( null, (matcherOut = []), temp, xml ); + } + + // Move matched elements from seed to results to keep them synchronized + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) && + (temp = postFinder ? indexOf.call( seed, elem ) : preMap[i]) > -1 ) { + + seed[temp] = !(results[temp] = elem); + } + } + } + + // Add elements to results, through postFinder if defined + } else { + matcherOut = condense( + matcherOut === results ? + matcherOut.splice( preexisting, matcherOut.length ) : + matcherOut + ); + if ( postFinder ) { + postFinder( null, results, matcherOut, xml ); + } else { + push.apply( results, matcherOut ); + } + } + }); +} + +function matcherFromTokens( tokens ) { + var checkContext, matcher, j, + len = tokens.length, + leadingRelative = Expr.relative[ tokens[0].type ], + implicitRelative = leadingRelative || Expr.relative[" "], + i = leadingRelative ? 1 : 0, + + // The foundational matcher ensures that elements are reachable from top-level context(s) + matchContext = addCombinator( function( elem ) { + return elem === checkContext; + }, implicitRelative, true ), + matchAnyContext = addCombinator( function( elem ) { + return indexOf.call( checkContext, elem ) > -1; + }, implicitRelative, true ), + matchers = [ function( elem, context, xml ) { + return ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( + (checkContext = context).nodeType ? + matchContext( elem, context, xml ) : + matchAnyContext( elem, context, xml ) ); + } ]; + + for ( ; i < len; i++ ) { + if ( (matcher = Expr.relative[ tokens[i].type ]) ) { + matchers = [ addCombinator(elementMatcher( matchers ), matcher) ]; + } else { + matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); + + // Return special upon seeing a positional matcher + if ( matcher[ expando ] ) { + // Find the next relative operator (if any) for proper handling + j = ++i; + for ( ; j < len; j++ ) { + if ( Expr.relative[ tokens[j].type ] ) { + break; + } + } + return setMatcher( + i > 1 && elementMatcher( matchers ), + i > 1 && toSelector( + // If the preceding token was a descendant combinator, insert an implicit any-element `*` + tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" }) + ).replace( rtrim, "$1" ), + matcher, + i < j && matcherFromTokens( tokens.slice( i, j ) ), + j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), + j < len && toSelector( tokens ) + ); + } + matchers.push( matcher ); + } + } + + return elementMatcher( matchers ); +} + +function matcherFromGroupMatchers( elementMatchers, setMatchers ) { + // A counter to specify which element is currently being matched + var matcherCachedRuns = 0, + bySet = setMatchers.length > 0, + byElement = elementMatchers.length > 0, + superMatcher = function( seed, context, xml, results, expandContext ) { + var elem, j, matcher, + setMatched = [], + matchedCount = 0, + i = "0", + unmatched = seed && [], + outermost = expandContext != null, + contextBackup = outermostContext, + // We must always have either seed elements or context + elems = seed || byElement && Expr.find["TAG"]( "*", expandContext && context.parentNode || context ), + // Use integer dirruns iff this is the outermost matcher + dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1); + + if ( outermost ) { + outermostContext = context !== document && context; + cachedruns = matcherCachedRuns; + } + + // Add elements passing elementMatchers directly to results + // Keep `i` a string if there are no elements so `matchedCount` will be "00" below + for ( ; (elem = elems[i]) != null; i++ ) { + if ( byElement && elem ) { + j = 0; + while ( (matcher = elementMatchers[j++]) ) { + if ( matcher( elem, context, xml ) ) { + results.push( elem ); + break; + } + } + if ( outermost ) { + dirruns = dirrunsUnique; + cachedruns = ++matcherCachedRuns; + } + } + + // Track unmatched elements for set filters + if ( bySet ) { + // They will have gone through all possible matchers + if ( (elem = !matcher && elem) ) { + matchedCount--; + } + + // Lengthen the array for every element, matched or not + if ( seed ) { + unmatched.push( elem ); + } + } + } + + // Apply set filters to unmatched elements + matchedCount += i; + if ( bySet && i !== matchedCount ) { + j = 0; + while ( (matcher = setMatchers[j++]) ) { + matcher( unmatched, setMatched, context, xml ); + } + + if ( seed ) { + // Reintegrate element matches to eliminate the need for sorting + if ( matchedCount > 0 ) { + while ( i-- ) { + if ( !(unmatched[i] || setMatched[i]) ) { + setMatched[i] = pop.call( results ); + } + } + } + + // Discard index placeholder values to get only actual matches + setMatched = condense( setMatched ); + } + + // Add matches to results + push.apply( results, setMatched ); + + // Seedless set matches succeeding multiple successful matchers stipulate sorting + if ( outermost && !seed && setMatched.length > 0 && + ( matchedCount + setMatchers.length ) > 1 ) { + + Sizzle.uniqueSort( results ); + } + } + + // Override manipulation of globals by nested matchers + if ( outermost ) { + dirruns = dirrunsUnique; + outermostContext = contextBackup; + } + + return unmatched; + }; + + return bySet ? + markFunction( superMatcher ) : + superMatcher; +} + +compile = Sizzle.compile = function( selector, group /* Internal Use Only */ ) { + var i, + setMatchers = [], + elementMatchers = [], + cached = compilerCache[ selector + " " ]; + + if ( !cached ) { + // Generate a function of recursive functions that can be used to check each element + if ( !group ) { + group = tokenize( selector ); + } + i = group.length; + while ( i-- ) { + cached = matcherFromTokens( group[i] ); + if ( cached[ expando ] ) { + setMatchers.push( cached ); + } else { + elementMatchers.push( cached ); + } + } + + // Cache the compiled function + cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); + } + return cached; +}; + +function multipleContexts( selector, contexts, results ) { + var i = 0, + len = contexts.length; + for ( ; i < len; i++ ) { + Sizzle( selector, contexts[i], results ); + } + return results; +} + +function select( selector, context, results, seed ) { + var i, tokens, token, type, find, + match = tokenize( selector ); + + if ( !seed ) { + // Try to minimize operations if there is only one group + if ( match.length === 1 ) { + + // Take a shortcut and set the context if the root selector is an ID + tokens = match[0] = match[0].slice( 0 ); + if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && + support.getById && context.nodeType === 9 && documentIsHTML && + Expr.relative[ tokens[1].type ] ) { + + context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0]; + if ( !context ) { + return results; + } + selector = selector.slice( tokens.shift().value.length ); + } + + // Fetch a seed set for right-to-left matching + i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length; + while ( i-- ) { + token = tokens[i]; + + // Abort if we hit a combinator + if ( Expr.relative[ (type = token.type) ] ) { + break; + } + if ( (find = Expr.find[ type ]) ) { + // Search, expanding context for leading sibling combinators + if ( (seed = find( + token.matches[0].replace( runescape, funescape ), + rsibling.test( tokens[0].type ) && context.parentNode || context + )) ) { + + // If seed is empty or no tokens remain, we can return early + tokens.splice( i, 1 ); + selector = seed.length && toSelector( tokens ); + if ( !selector ) { + push.apply( results, seed ); + return results; + } + + break; + } + } + } + } + } + + // Compile and execute a filtering function + // Provide `match` to avoid retokenization if we modified the selector above + compile( selector, match )( + seed, + context, + !documentIsHTML, + results, + rsibling.test( selector ) + ); + return results; +} + +// One-time assignments + +// Sort stability +support.sortStable = expando.split("").sort( sortOrder ).join("") === expando; + +// Support: Chrome<14 +// Always assume duplicates if they aren't passed to the comparison function +support.detectDuplicates = hasDuplicate; + +// Initialize against the default document +setDocument(); + +// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) +// Detached nodes confoundingly follow *each other* +support.sortDetached = assert(function( div1 ) { + // Should return 1, but returns 4 (following) + return div1.compareDocumentPosition( document.createElement("div") ) & 1; +}); + +// Support: IE<8 +// Prevent attribute/property "interpolation" +// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx +if ( !assert(function( div ) { + div.innerHTML = ""; + return div.firstChild.getAttribute("href") === "#" ; +}) ) { + addHandle( "type|href|height|width", function( elem, name, isXML ) { + if ( !isXML ) { + return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); + } + }); +} + +// Support: IE<9 +// Use defaultValue in place of getAttribute("value") +if ( !support.attributes || !assert(function( div ) { + div.innerHTML = ""; + div.firstChild.setAttribute( "value", "" ); + return div.firstChild.getAttribute( "value" ) === ""; +}) ) { + addHandle( "value", function( elem, name, isXML ) { + if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { + return elem.defaultValue; + } + }); +} + +// Support: IE<9 +// Use getAttributeNode to fetch booleans when getAttribute lies +if ( !assert(function( div ) { + return div.getAttribute("disabled") == null; +}) ) { + addHandle( booleans, function( elem, name, isXML ) { + var val; + if ( !isXML ) { + return (val = elem.getAttributeNode( name )) && val.specified ? + val.value : + elem[ name ] === true ? name.toLowerCase() : null; + } + }); +} + +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; +jQuery.expr[":"] = jQuery.expr.pseudos; +jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; + + +})( window ); +// String to Object options format cache +var optionsCache = {}; + +// Convert String-formatted options into Object-formatted ones and store in cache +function createOptions( options ) { + var object = optionsCache[ options ] = {}; + jQuery.each( options.match( core_rnotwhite ) || [], function( _, flag ) { + object[ flag ] = true; + }); + return object; +} + +/* + * Create a callback list using the following parameters: + * + * options: an optional list of space-separated options that will change how + * the callback list behaves or a more traditional option object + * + * By default a callback list will act like an event callback list and can be + * "fired" multiple times. + * + * Possible options: + * + * once: will ensure the callback list can only be fired once (like a Deferred) + * + * memory: will keep track of previous values and will call any callback added + * after the list has been fired right away with the latest "memorized" + * values (like a Deferred) + * + * unique: will ensure a callback can only be added once (no duplicate in the list) + * + * stopOnFalse: interrupt callings when a callback returns false + * + */ +jQuery.Callbacks = function( options ) { + + // Convert options from String-formatted to Object-formatted if needed + // (we check in cache first) + options = typeof options === "string" ? + ( optionsCache[ options ] || createOptions( options ) ) : + jQuery.extend( {}, options ); + + var // Flag to know if list is currently firing + firing, + // Last fire value (for non-forgettable lists) + memory, + // Flag to know if list was already fired + fired, + // End of the loop when firing + firingLength, + // Index of currently firing callback (modified by remove if needed) + firingIndex, + // First callback to fire (used internally by add and fireWith) + firingStart, + // Actual callback list + list = [], + // Stack of fire calls for repeatable lists + stack = !options.once && [], + // Fire callbacks + fire = function( data ) { + memory = options.memory && data; + fired = true; + firingIndex = firingStart || 0; + firingStart = 0; + firingLength = list.length; + firing = true; + for ( ; list && firingIndex < firingLength; firingIndex++ ) { + if ( list[ firingIndex ].apply( data[ 0 ], data[ 1 ] ) === false && options.stopOnFalse ) { + memory = false; // To prevent further calls using add + break; + } + } + firing = false; + if ( list ) { + if ( stack ) { + if ( stack.length ) { + fire( stack.shift() ); + } + } else if ( memory ) { + list = []; + } else { + self.disable(); + } + } + }, + // Actual Callbacks object + self = { + // Add a callback or a collection of callbacks to the list + add: function() { + if ( list ) { + // First, we save the current length + var start = list.length; + (function add( args ) { + jQuery.each( args, function( _, arg ) { + var type = jQuery.type( arg ); + if ( type === "function" ) { + if ( !options.unique || !self.has( arg ) ) { + list.push( arg ); + } + } else if ( arg && arg.length && type !== "string" ) { + // Inspect recursively + add( arg ); + } + }); + })( arguments ); + // Do we need to add the callbacks to the + // current firing batch? + if ( firing ) { + firingLength = list.length; + // With memory, if we're not firing then + // we should call right away + } else if ( memory ) { + firingStart = start; + fire( memory ); + } + } + return this; + }, + // Remove a callback from the list + remove: function() { + if ( list ) { + jQuery.each( arguments, function( _, arg ) { + var index; + while( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { + list.splice( index, 1 ); + // Handle firing indexes + if ( firing ) { + if ( index <= firingLength ) { + firingLength--; + } + if ( index <= firingIndex ) { + firingIndex--; + } + } + } + }); + } + return this; + }, + // Check if a given callback is in the list. + // If no argument is given, return whether or not list has callbacks attached. + has: function( fn ) { + return fn ? jQuery.inArray( fn, list ) > -1 : !!( list && list.length ); + }, + // Remove all callbacks from the list + empty: function() { + list = []; + firingLength = 0; + return this; + }, + // Have the list do nothing anymore + disable: function() { + list = stack = memory = undefined; + return this; + }, + // Is it disabled? + disabled: function() { + return !list; + }, + // Lock the list in its current state + lock: function() { + stack = undefined; + if ( !memory ) { + self.disable(); + } + return this; + }, + // Is it locked? + locked: function() { + return !stack; + }, + // Call all callbacks with the given context and arguments + fireWith: function( context, args ) { + if ( list && ( !fired || stack ) ) { + args = args || []; + args = [ context, args.slice ? args.slice() : args ]; + if ( firing ) { + stack.push( args ); + } else { + fire( args ); + } + } + return this; + }, + // Call all the callbacks with the given arguments + fire: function() { + self.fireWith( this, arguments ); + return this; + }, + // To know if the callbacks have already been called at least once + fired: function() { + return !!fired; + } + }; + + return self; +}; +jQuery.extend({ + + Deferred: function( func ) { + var tuples = [ + // action, add listener, listener list, final state + [ "resolve", "done", jQuery.Callbacks("once memory"), "resolved" ], + [ "reject", "fail", jQuery.Callbacks("once memory"), "rejected" ], + [ "notify", "progress", jQuery.Callbacks("memory") ] + ], + state = "pending", + promise = { + state: function() { + return state; + }, + always: function() { + deferred.done( arguments ).fail( arguments ); + return this; + }, + then: function( /* fnDone, fnFail, fnProgress */ ) { + var fns = arguments; + return jQuery.Deferred(function( newDefer ) { + jQuery.each( tuples, function( i, tuple ) { + var action = tuple[ 0 ], + fn = jQuery.isFunction( fns[ i ] ) && fns[ i ]; + // deferred[ done | fail | progress ] for forwarding actions to newDefer + deferred[ tuple[1] ](function() { + var returned = fn && fn.apply( this, arguments ); + if ( returned && jQuery.isFunction( returned.promise ) ) { + returned.promise() + .done( newDefer.resolve ) + .fail( newDefer.reject ) + .progress( newDefer.notify ); + } else { + newDefer[ action + "With" ]( this === promise ? newDefer.promise() : this, fn ? [ returned ] : arguments ); + } + }); + }); + fns = null; + }).promise(); + }, + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + return obj != null ? jQuery.extend( obj, promise ) : promise; + } + }, + deferred = {}; + + // Keep pipe for back-compat + promise.pipe = promise.then; + + // Add list-specific methods + jQuery.each( tuples, function( i, tuple ) { + var list = tuple[ 2 ], + stateString = tuple[ 3 ]; + + // promise[ done | fail | progress ] = list.add + promise[ tuple[1] ] = list.add; + + // Handle state + if ( stateString ) { + list.add(function() { + // state = [ resolved | rejected ] + state = stateString; + + // [ reject_list | resolve_list ].disable; progress_list.lock + }, tuples[ i ^ 1 ][ 2 ].disable, tuples[ 2 ][ 2 ].lock ); + } + + // deferred[ resolve | reject | notify ] + deferred[ tuple[0] ] = function() { + deferred[ tuple[0] + "With" ]( this === deferred ? promise : this, arguments ); + return this; + }; + deferred[ tuple[0] + "With" ] = list.fireWith; + }); + + // Make the deferred a promise + promise.promise( deferred ); + + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + + // All done! + return deferred; + }, + + // Deferred helper + when: function( subordinate /* , ..., subordinateN */ ) { + var i = 0, + resolveValues = core_slice.call( arguments ), + length = resolveValues.length, + + // the count of uncompleted subordinates + remaining = length !== 1 || ( subordinate && jQuery.isFunction( subordinate.promise ) ) ? length : 0, + + // the master Deferred. If resolveValues consist of only a single Deferred, just use that. + deferred = remaining === 1 ? subordinate : jQuery.Deferred(), + + // Update function for both resolve and progress values + updateFunc = function( i, contexts, values ) { + return function( value ) { + contexts[ i ] = this; + values[ i ] = arguments.length > 1 ? core_slice.call( arguments ) : value; + if( values === progressValues ) { + deferred.notifyWith( contexts, values ); + } else if ( !( --remaining ) ) { + deferred.resolveWith( contexts, values ); + } + }; + }, + + progressValues, progressContexts, resolveContexts; + + // add listeners to Deferred subordinates; treat others as resolved + if ( length > 1 ) { + progressValues = new Array( length ); + progressContexts = new Array( length ); + resolveContexts = new Array( length ); + for ( ; i < length; i++ ) { + if ( resolveValues[ i ] && jQuery.isFunction( resolveValues[ i ].promise ) ) { + resolveValues[ i ].promise() + .done( updateFunc( i, resolveContexts, resolveValues ) ) + .fail( deferred.reject ) + .progress( updateFunc( i, progressContexts, progressValues ) ); + } else { + --remaining; + } + } + } + + // if we're not waiting on anything, resolve the master + if ( !remaining ) { + deferred.resolveWith( resolveContexts, resolveValues ); + } + + return deferred.promise(); + } +}); +jQuery.support = (function( support ) { + + var all, a, input, select, fragment, opt, eventName, isSupported, i, + div = document.createElement("div"); + + // Setup + div.setAttribute( "className", "t" ); + div.innerHTML = "
a"; + + // Finish early in limited (non-browser) environments + all = div.getElementsByTagName("*") || []; + a = div.getElementsByTagName("a")[ 0 ]; + if ( !a || !a.style || !all.length ) { + return support; + } + + // First batch of tests + select = document.createElement("select"); + opt = select.appendChild( document.createElement("option") ); + input = div.getElementsByTagName("input")[ 0 ]; + + a.style.cssText = "top:1px;float:left;opacity:.5"; + + // Test setAttribute on camelCase class. If it works, we need attrFixes when doing get/setAttribute (ie6/7) + support.getSetAttribute = div.className !== "t"; + + // IE strips leading whitespace when .innerHTML is used + support.leadingWhitespace = div.firstChild.nodeType === 3; + + // Make sure that tbody elements aren't automatically inserted + // IE will insert them into empty tables + support.tbody = !div.getElementsByTagName("tbody").length; + + // Make sure that link elements get serialized correctly by innerHTML + // This requires a wrapper element in IE + support.htmlSerialize = !!div.getElementsByTagName("link").length; + + // Get the style information from getAttribute + // (IE uses .cssText instead) + support.style = /top/.test( a.getAttribute("style") ); + + // Make sure that URLs aren't manipulated + // (IE normalizes it by default) + support.hrefNormalized = a.getAttribute("href") === "/a"; + + // Make sure that element opacity exists + // (IE uses filter instead) + // Use a regex to work around a WebKit issue. See #5145 + support.opacity = /^0.5/.test( a.style.opacity ); + + // Verify style float existence + // (IE uses styleFloat instead of cssFloat) + support.cssFloat = !!a.style.cssFloat; + + // Check the default checkbox/radio value ("" on WebKit; "on" elsewhere) + support.checkOn = !!input.value; + + // Make sure that a selected-by-default option has a working selected property. + // (WebKit defaults to false instead of true, IE too, if it's in an optgroup) + support.optSelected = opt.selected; + + // Tests for enctype support on a form (#6743) + support.enctype = !!document.createElement("form").enctype; + + // Makes sure cloning an html5 element does not cause problems + // Where outerHTML is undefined, this still works + support.html5Clone = document.createElement("nav").cloneNode( true ).outerHTML !== "<:nav>"; + + // Will be defined later + support.inlineBlockNeedsLayout = false; + support.shrinkWrapBlocks = false; + support.pixelPosition = false; + support.deleteExpando = true; + support.noCloneEvent = true; + support.reliableMarginRight = true; + support.boxSizingReliable = true; + + // Make sure checked status is properly cloned + input.checked = true; + support.noCloneChecked = input.cloneNode( true ).checked; + + // Make sure that the options inside disabled selects aren't marked as disabled + // (WebKit marks them as disabled) + select.disabled = true; + support.optDisabled = !opt.disabled; + + // Support: IE<9 + try { + delete div.test; + } catch( e ) { + support.deleteExpando = false; + } + + // Check if we can trust getAttribute("value") + input = document.createElement("input"); + input.setAttribute( "value", "" ); + support.input = input.getAttribute( "value" ) === ""; + + // Check if an input maintains its value after becoming a radio + input.value = "t"; + input.setAttribute( "type", "radio" ); + support.radioValue = input.value === "t"; + + // #11217 - WebKit loses check when the name is after the checked attribute + input.setAttribute( "checked", "t" ); + input.setAttribute( "name", "t" ); + + fragment = document.createDocumentFragment(); + fragment.appendChild( input ); + + // Check if a disconnected checkbox will retain its checked + // value of true after appended to the DOM (IE6/7) + support.appendChecked = input.checked; + + // WebKit doesn't clone checked state correctly in fragments + support.checkClone = fragment.cloneNode( true ).cloneNode( true ).lastChild.checked; + + // Support: IE<9 + // Opera does not clone events (and typeof div.attachEvent === undefined). + // IE9-10 clones events bound via attachEvent, but they don't trigger with .click() + if ( div.attachEvent ) { + div.attachEvent( "onclick", function() { + support.noCloneEvent = false; + }); + + div.cloneNode( true ).click(); + } + + // Support: IE<9 (lack submit/change bubble), Firefox 17+ (lack focusin event) + // Beware of CSP restrictions (https://developer.mozilla.org/en/Security/CSP) + for ( i in { submit: true, change: true, focusin: true }) { + div.setAttribute( eventName = "on" + i, "t" ); + + support[ i + "Bubbles" ] = eventName in window || div.attributes[ eventName ].expando === false; + } + + div.style.backgroundClip = "content-box"; + div.cloneNode( true ).style.backgroundClip = ""; + support.clearCloneStyle = div.style.backgroundClip === "content-box"; + + // Support: IE<9 + // Iteration over object's inherited properties before its own. + for ( i in jQuery( support ) ) { + break; + } + support.ownLast = i !== "0"; + + // Run tests that need a body at doc ready + jQuery(function() { + var container, marginDiv, tds, + divReset = "padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;", + body = document.getElementsByTagName("body")[0]; + + if ( !body ) { + // Return for frameset docs that don't have a body + return; + } + + container = document.createElement("div"); + container.style.cssText = "border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px"; + + body.appendChild( container ).appendChild( div ); + + // Support: IE8 + // Check if table cells still have offsetWidth/Height when they are set + // to display:none and there are still other visible table cells in a + // table row; if so, offsetWidth/Height are not reliable for use when + // determining if an element has been hidden directly using + // display:none (it is still safe to use offsets if a parent element is + // hidden; don safety goggles and see bug #4512 for more information). + div.innerHTML = "
t
"; + tds = div.getElementsByTagName("td"); + tds[ 0 ].style.cssText = "padding:0;margin:0;border:0;display:none"; + isSupported = ( tds[ 0 ].offsetHeight === 0 ); + + tds[ 0 ].style.display = ""; + tds[ 1 ].style.display = "none"; + + // Support: IE8 + // Check if empty table cells still have offsetWidth/Height + support.reliableHiddenOffsets = isSupported && ( tds[ 0 ].offsetHeight === 0 ); + + // Check box-sizing and margin behavior. + div.innerHTML = ""; + div.style.cssText = "box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;"; + + // Workaround failing boxSizing test due to offsetWidth returning wrong value + // with some non-1 values of body zoom, ticket #13543 + jQuery.swap( body, body.style.zoom != null ? { zoom: 1 } : {}, function() { + support.boxSizing = div.offsetWidth === 4; + }); + + // Use window.getComputedStyle because jsdom on node.js will break without it. + if ( window.getComputedStyle ) { + support.pixelPosition = ( window.getComputedStyle( div, null ) || {} ).top !== "1%"; + support.boxSizingReliable = ( window.getComputedStyle( div, null ) || { width: "4px" } ).width === "4px"; + + // Check if div with explicit width and no margin-right incorrectly + // gets computed margin-right based on width of container. (#3333) + // Fails in WebKit before Feb 2011 nightlies + // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right + marginDiv = div.appendChild( document.createElement("div") ); + marginDiv.style.cssText = div.style.cssText = divReset; + marginDiv.style.marginRight = marginDiv.style.width = "0"; + div.style.width = "1px"; + + support.reliableMarginRight = + !parseFloat( ( window.getComputedStyle( marginDiv, null ) || {} ).marginRight ); + } + + if ( typeof div.style.zoom !== core_strundefined ) { + // Support: IE<8 + // Check if natively block-level elements act like inline-block + // elements when setting their display to 'inline' and giving + // them layout + div.innerHTML = ""; + div.style.cssText = divReset + "width:1px;padding:1px;display:inline;zoom:1"; + support.inlineBlockNeedsLayout = ( div.offsetWidth === 3 ); + + // Support: IE6 + // Check if elements with layout shrink-wrap their children + div.style.display = "block"; + div.innerHTML = "
"; + div.firstChild.style.width = "5px"; + support.shrinkWrapBlocks = ( div.offsetWidth !== 3 ); + + if ( support.inlineBlockNeedsLayout ) { + // Prevent IE 6 from affecting layout for positioned elements #11048 + // Prevent IE from shrinking the body in IE 7 mode #12869 + // Support: IE<8 + body.style.zoom = 1; + } + } + + body.removeChild( container ); + + // Null elements to avoid leaks in IE + container = div = tds = marginDiv = null; + }); + + // Null elements to avoid leaks in IE + all = select = fragment = opt = a = input = null; + + return support; +})({}); + +var rbrace = /(?:\{[\s\S]*\}|\[[\s\S]*\])$/, + rmultiDash = /([A-Z])/g; + +function internalData( elem, name, data, pvt /* Internal Use Only */ ){ + if ( !jQuery.acceptData( elem ) ) { + return; + } + + var ret, thisCache, + internalKey = jQuery.expando, + + // We have to handle DOM nodes and JS objects differently because IE6-7 + // can't GC object references properly across the DOM-JS boundary + isNode = elem.nodeType, + + // Only DOM nodes need the global jQuery cache; JS object data is + // attached directly to the object so GC can occur automatically + cache = isNode ? jQuery.cache : elem, + + // Only defining an ID for JS objects if its cache already exists allows + // the code to shortcut on the same path as a DOM node with no cache + id = isNode ? elem[ internalKey ] : elem[ internalKey ] && internalKey; + + // Avoid doing any more work than we need to when trying to get data on an + // object that has no data at all + if ( (!id || !cache[id] || (!pvt && !cache[id].data)) && data === undefined && typeof name === "string" ) { + return; + } + + if ( !id ) { + // Only DOM nodes need a new unique ID for each element since their data + // ends up in the global cache + if ( isNode ) { + id = elem[ internalKey ] = core_deletedIds.pop() || jQuery.guid++; + } else { + id = internalKey; + } + } + + if ( !cache[ id ] ) { + // Avoid exposing jQuery metadata on plain JS objects when the object + // is serialized using JSON.stringify + cache[ id ] = isNode ? {} : { toJSON: jQuery.noop }; + } + + // An object can be passed to jQuery.data instead of a key/value pair; this gets + // shallow copied over onto the existing cache + if ( typeof name === "object" || typeof name === "function" ) { + if ( pvt ) { + cache[ id ] = jQuery.extend( cache[ id ], name ); + } else { + cache[ id ].data = jQuery.extend( cache[ id ].data, name ); + } + } + + thisCache = cache[ id ]; + + // jQuery data() is stored in a separate object inside the object's internal data + // cache in order to avoid key collisions between internal data and user-defined + // data. + if ( !pvt ) { + if ( !thisCache.data ) { + thisCache.data = {}; + } + + thisCache = thisCache.data; + } + + if ( data !== undefined ) { + thisCache[ jQuery.camelCase( name ) ] = data; + } + + // Check for both converted-to-camel and non-converted data property names + // If a data property was specified + if ( typeof name === "string" ) { + + // First Try to find as-is property data + ret = thisCache[ name ]; + + // Test for null|undefined property data + if ( ret == null ) { + + // Try to find the camelCased property + ret = thisCache[ jQuery.camelCase( name ) ]; + } + } else { + ret = thisCache; + } + + return ret; +} + +function internalRemoveData( elem, name, pvt ) { + if ( !jQuery.acceptData( elem ) ) { + return; + } + + var thisCache, i, + isNode = elem.nodeType, + + // See jQuery.data for more information + cache = isNode ? jQuery.cache : elem, + id = isNode ? elem[ jQuery.expando ] : jQuery.expando; + + // If there is already no cache entry for this object, there is no + // purpose in continuing + if ( !cache[ id ] ) { + return; + } + + if ( name ) { + + thisCache = pvt ? cache[ id ] : cache[ id ].data; + + if ( thisCache ) { + + // Support array or space separated string names for data keys + if ( !jQuery.isArray( name ) ) { + + // try the string as a key before any manipulation + if ( name in thisCache ) { + name = [ name ]; + } else { + + // split the camel cased version by spaces unless a key with the spaces exists + name = jQuery.camelCase( name ); + if ( name in thisCache ) { + name = [ name ]; + } else { + name = name.split(" "); + } + } + } else { + // If "name" is an array of keys... + // When data is initially created, via ("key", "val") signature, + // keys will be converted to camelCase. + // Since there is no way to tell _how_ a key was added, remove + // both plain key and camelCase key. #12786 + // This will only penalize the array argument path. + name = name.concat( jQuery.map( name, jQuery.camelCase ) ); + } + + i = name.length; + while ( i-- ) { + delete thisCache[ name[i] ]; + } + + // If there is no data left in the cache, we want to continue + // and let the cache object itself get destroyed + if ( pvt ? !isEmptyDataObject(thisCache) : !jQuery.isEmptyObject(thisCache) ) { + return; + } + } + } + + // See jQuery.data for more information + if ( !pvt ) { + delete cache[ id ].data; + + // Don't destroy the parent cache unless the internal data object + // had been the only thing left in it + if ( !isEmptyDataObject( cache[ id ] ) ) { + return; + } + } + + // Destroy the cache + if ( isNode ) { + jQuery.cleanData( [ elem ], true ); + + // Use delete when supported for expandos or `cache` is not a window per isWindow (#10080) + /* jshint eqeqeq: false */ + } else if ( jQuery.support.deleteExpando || cache != cache.window ) { + /* jshint eqeqeq: true */ + delete cache[ id ]; + + // When all else fails, null + } else { + cache[ id ] = null; + } +} + +jQuery.extend({ + cache: {}, + + // The following elements throw uncatchable exceptions if you + // attempt to add expando properties to them. + noData: { + "applet": true, + "embed": true, + // Ban all objects except for Flash (which handle expandos) + "object": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" + }, + + hasData: function( elem ) { + elem = elem.nodeType ? jQuery.cache[ elem[jQuery.expando] ] : elem[ jQuery.expando ]; + return !!elem && !isEmptyDataObject( elem ); + }, + + data: function( elem, name, data ) { + return internalData( elem, name, data ); + }, + + removeData: function( elem, name ) { + return internalRemoveData( elem, name ); + }, + + // For internal use only. + _data: function( elem, name, data ) { + return internalData( elem, name, data, true ); + }, + + _removeData: function( elem, name ) { + return internalRemoveData( elem, name, true ); + }, + + // A method for determining if a DOM node can handle the data expando + acceptData: function( elem ) { + // Do not set data on non-element because it will not be cleared (#8335). + if ( elem.nodeType && elem.nodeType !== 1 && elem.nodeType !== 9 ) { + return false; + } + + var noData = elem.nodeName && jQuery.noData[ elem.nodeName.toLowerCase() ]; + + // nodes accept data unless otherwise specified; rejection can be conditional + return !noData || noData !== true && elem.getAttribute("classid") === noData; + } +}); + +jQuery.fn.extend({ + data: function( key, value ) { + var attrs, name, + data = null, + i = 0, + elem = this[0]; + + // Special expections of .data basically thwart jQuery.access, + // so implement the relevant behavior ourselves + + // Gets all values + if ( key === undefined ) { + if ( this.length ) { + data = jQuery.data( elem ); + + if ( elem.nodeType === 1 && !jQuery._data( elem, "parsedAttrs" ) ) { + attrs = elem.attributes; + for ( ; i < attrs.length; i++ ) { + name = attrs[i].name; + + if ( name.indexOf("data-") === 0 ) { + name = jQuery.camelCase( name.slice(5) ); + + dataAttr( elem, name, data[ name ] ); + } + } + jQuery._data( elem, "parsedAttrs", true ); + } + } + + return data; + } + + // Sets multiple values + if ( typeof key === "object" ) { + return this.each(function() { + jQuery.data( this, key ); + }); + } + + return arguments.length > 1 ? + + // Sets one value + this.each(function() { + jQuery.data( this, key, value ); + }) : + + // Gets one value + // Try to fetch any internally stored data first + elem ? dataAttr( elem, key, jQuery.data( elem, key ) ) : null; + }, + + removeData: function( key ) { + return this.each(function() { + jQuery.removeData( this, key ); + }); + } +}); + +function dataAttr( elem, key, data ) { + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + + var name = "data-" + key.replace( rmultiDash, "-$1" ).toLowerCase(); + + data = elem.getAttribute( name ); + + if ( typeof data === "string" ) { + try { + data = data === "true" ? true : + data === "false" ? false : + data === "null" ? null : + // Only convert to a number if it doesn't change the string + +data + "" === data ? +data : + rbrace.test( data ) ? jQuery.parseJSON( data ) : + data; + } catch( e ) {} + + // Make sure we set the data so it isn't changed later + jQuery.data( elem, key, data ); + + } else { + data = undefined; + } + } + + return data; +} + +// checks a cache object for emptiness +function isEmptyDataObject( obj ) { + var name; + for ( name in obj ) { + + // if the public data object is empty, the private is still empty + if ( name === "data" && jQuery.isEmptyObject( obj[name] ) ) { + continue; + } + if ( name !== "toJSON" ) { + return false; + } + } + + return true; +} +jQuery.extend({ + queue: function( elem, type, data ) { + var queue; + + if ( elem ) { + type = ( type || "fx" ) + "queue"; + queue = jQuery._data( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !queue || jQuery.isArray(data) ) { + queue = jQuery._data( elem, type, jQuery.makeArray(data) ); + } else { + queue.push( data ); + } + } + return queue || []; + } + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + startLength = queue.length, + fn = queue.shift(), + hooks = jQuery._queueHooks( elem, type ), + next = function() { + jQuery.dequeue( elem, type ); + }; + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + startLength--; + } + + if ( fn ) { + + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift( "inprogress" ); + } + + // clear up the last queue stop function + delete hooks.stop; + fn.call( elem, next, hooks ); + } + + if ( !startLength && hooks ) { + hooks.empty.fire(); + } + }, + + // not intended for public consumption - generates a queueHooks object, or returns the current one + _queueHooks: function( elem, type ) { + var key = type + "queueHooks"; + return jQuery._data( elem, key ) || jQuery._data( elem, key, { + empty: jQuery.Callbacks("once memory").add(function() { + jQuery._removeData( elem, type + "queue" ); + jQuery._removeData( elem, key ); + }) + }); + } +}); + +jQuery.fn.extend({ + queue: function( type, data ) { + var setter = 2; + + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + setter--; + } + + if ( arguments.length < setter ) { + return jQuery.queue( this[0], type ); + } + + return data === undefined ? + this : + this.each(function() { + var queue = jQuery.queue( this, type, data ); + + // ensure a hooks for this queue + jQuery._queueHooks( this, type ); + + if ( type === "fx" && queue[0] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + }); + }, + dequeue: function( type ) { + return this.each(function() { + jQuery.dequeue( this, type ); + }); + }, + // Based off of the plugin by Clint Helfers, with permission. + // http://blindsignals.com/index.php/2009/07/jquery-delay/ + delay: function( time, type ) { + time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; + type = type || "fx"; + + return this.queue( type, function( next, hooks ) { + var timeout = setTimeout( next, time ); + hooks.stop = function() { + clearTimeout( timeout ); + }; + }); + }, + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + }, + // Get a promise resolved when queues of a certain type + // are emptied (fx is the type by default) + promise: function( type, obj ) { + var tmp, + count = 1, + defer = jQuery.Deferred(), + elements = this, + i = this.length, + resolve = function() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + }; + + if ( typeof type !== "string" ) { + obj = type; + type = undefined; + } + type = type || "fx"; + + while( i-- ) { + tmp = jQuery._data( elements[ i ], type + "queueHooks" ); + if ( tmp && tmp.empty ) { + count++; + tmp.empty.add( resolve ); + } + } + resolve(); + return defer.promise( obj ); + } +}); +var nodeHook, boolHook, + rclass = /[\t\r\n\f]/g, + rreturn = /\r/g, + rfocusable = /^(?:input|select|textarea|button|object)$/i, + rclickable = /^(?:a|area)$/i, + ruseDefault = /^(?:checked|selected)$/i, + getSetAttribute = jQuery.support.getSetAttribute, + getSetInput = jQuery.support.input; + +jQuery.fn.extend({ + attr: function( name, value ) { + return jQuery.access( this, jQuery.attr, name, value, arguments.length > 1 ); + }, + + removeAttr: function( name ) { + return this.each(function() { + jQuery.removeAttr( this, name ); + }); + }, + + prop: function( name, value ) { + return jQuery.access( this, jQuery.prop, name, value, arguments.length > 1 ); + }, + + removeProp: function( name ) { + name = jQuery.propFix[ name ] || name; + return this.each(function() { + // try/catch handles cases where IE balks (such as removing a property on window) + try { + this[ name ] = undefined; + delete this[ name ]; + } catch( e ) {} + }); + }, + + addClass: function( value ) { + var classes, elem, cur, clazz, j, + i = 0, + len = this.length, + proceed = typeof value === "string" && value; + + if ( jQuery.isFunction( value ) ) { + return this.each(function( j ) { + jQuery( this ).addClass( value.call( this, j, this.className ) ); + }); + } + + if ( proceed ) { + // The disjunction here is for better compressibility (see removeClass) + classes = ( value || "" ).match( core_rnotwhite ) || []; + + for ( ; i < len; i++ ) { + elem = this[ i ]; + cur = elem.nodeType === 1 && ( elem.className ? + ( " " + elem.className + " " ).replace( rclass, " " ) : + " " + ); + + if ( cur ) { + j = 0; + while ( (clazz = classes[j++]) ) { + if ( cur.indexOf( " " + clazz + " " ) < 0 ) { + cur += clazz + " "; + } + } + elem.className = jQuery.trim( cur ); + + } + } + } + + return this; + }, + + removeClass: function( value ) { + var classes, elem, cur, clazz, j, + i = 0, + len = this.length, + proceed = arguments.length === 0 || typeof value === "string" && value; + + if ( jQuery.isFunction( value ) ) { + return this.each(function( j ) { + jQuery( this ).removeClass( value.call( this, j, this.className ) ); + }); + } + if ( proceed ) { + classes = ( value || "" ).match( core_rnotwhite ) || []; + + for ( ; i < len; i++ ) { + elem = this[ i ]; + // This expression is here for better compressibility (see addClass) + cur = elem.nodeType === 1 && ( elem.className ? + ( " " + elem.className + " " ).replace( rclass, " " ) : + "" + ); + + if ( cur ) { + j = 0; + while ( (clazz = classes[j++]) ) { + // Remove *all* instances + while ( cur.indexOf( " " + clazz + " " ) >= 0 ) { + cur = cur.replace( " " + clazz + " ", " " ); + } + } + elem.className = value ? jQuery.trim( cur ) : ""; + } + } + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + var type = typeof value; + + if ( typeof stateVal === "boolean" && type === "string" ) { + return stateVal ? this.addClass( value ) : this.removeClass( value ); + } + + if ( jQuery.isFunction( value ) ) { + return this.each(function( i ) { + jQuery( this ).toggleClass( value.call(this, i, this.className, stateVal), stateVal ); + }); + } + + return this.each(function() { + if ( type === "string" ) { + // toggle individual class names + var className, + i = 0, + self = jQuery( this ), + classNames = value.match( core_rnotwhite ) || []; + + while ( (className = classNames[ i++ ]) ) { + // check each className given, space separated list + if ( self.hasClass( className ) ) { + self.removeClass( className ); + } else { + self.addClass( className ); + } + } + + // Toggle whole class name + } else if ( type === core_strundefined || type === "boolean" ) { + if ( this.className ) { + // store className if set + jQuery._data( this, "__className__", this.className ); + } + + // If the element has a class name or if we're passed "false", + // then remove the whole classname (if there was one, the above saved it). + // Otherwise bring back whatever was previously saved (if anything), + // falling back to the empty string if nothing was stored. + this.className = this.className || value === false ? "" : jQuery._data( this, "__className__" ) || ""; + } + }); + }, + + hasClass: function( selector ) { + var className = " " + selector + " ", + i = 0, + l = this.length; + for ( ; i < l; i++ ) { + if ( this[i].nodeType === 1 && (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) >= 0 ) { + return true; + } + } + + return false; + }, + + val: function( value ) { + var ret, hooks, isFunction, + elem = this[0]; + + if ( !arguments.length ) { + if ( elem ) { + hooks = jQuery.valHooks[ elem.type ] || jQuery.valHooks[ elem.nodeName.toLowerCase() ]; + + if ( hooks && "get" in hooks && (ret = hooks.get( elem, "value" )) !== undefined ) { + return ret; + } + + ret = elem.value; + + return typeof ret === "string" ? + // handle most common string cases + ret.replace(rreturn, "") : + // handle cases where value is null/undef or number + ret == null ? "" : ret; + } + + return; + } + + isFunction = jQuery.isFunction( value ); + + return this.each(function( i ) { + var val; + + if ( this.nodeType !== 1 ) { + return; + } + + if ( isFunction ) { + val = value.call( this, i, jQuery( this ).val() ); + } else { + val = value; + } + + // Treat null/undefined as ""; convert numbers to string + if ( val == null ) { + val = ""; + } else if ( typeof val === "number" ) { + val += ""; + } else if ( jQuery.isArray( val ) ) { + val = jQuery.map(val, function ( value ) { + return value == null ? "" : value + ""; + }); + } + + hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; + + // If set returns undefined, fall back to normal setting + if ( !hooks || !("set" in hooks) || hooks.set( this, val, "value" ) === undefined ) { + this.value = val; + } + }); + } +}); + +jQuery.extend({ + valHooks: { + option: { + get: function( elem ) { + // Use proper attribute retrieval(#6932, #12072) + var val = jQuery.find.attr( elem, "value" ); + return val != null ? + val : + elem.text; + } + }, + select: { + get: function( elem ) { + var value, option, + options = elem.options, + index = elem.selectedIndex, + one = elem.type === "select-one" || index < 0, + values = one ? null : [], + max = one ? index + 1 : options.length, + i = index < 0 ? + max : + one ? index : 0; + + // Loop through all the selected options + for ( ; i < max; i++ ) { + option = options[ i ]; + + // oldIE doesn't update selected after form reset (#2551) + if ( ( option.selected || i === index ) && + // Don't return options that are disabled or in a disabled optgroup + ( jQuery.support.optDisabled ? !option.disabled : option.getAttribute("disabled") === null ) && + ( !option.parentNode.disabled || !jQuery.nodeName( option.parentNode, "optgroup" ) ) ) { + + // Get the specific value for the option + value = jQuery( option ).val(); + + // We don't need an array for one selects + if ( one ) { + return value; + } + + // Multi-Selects return an array + values.push( value ); + } + } + + return values; + }, + + set: function( elem, value ) { + var optionSet, option, + options = elem.options, + values = jQuery.makeArray( value ), + i = options.length; + + while ( i-- ) { + option = options[ i ]; + if ( (option.selected = jQuery.inArray( jQuery(option).val(), values ) >= 0) ) { + optionSet = true; + } + } + + // force browsers to behave consistently when non-matching value is set + if ( !optionSet ) { + elem.selectedIndex = -1; + } + return values; + } + } + }, + + attr: function( elem, name, value ) { + var hooks, ret, + nType = elem.nodeType; + + // don't get/set attributes on text, comment and attribute nodes + if ( !elem || nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + // Fallback to prop when attributes are not supported + if ( typeof elem.getAttribute === core_strundefined ) { + return jQuery.prop( elem, name, value ); + } + + // All attributes are lowercase + // Grab necessary hook if one is defined + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + name = name.toLowerCase(); + hooks = jQuery.attrHooks[ name ] || + ( jQuery.expr.match.bool.test( name ) ? boolHook : nodeHook ); + } + + if ( value !== undefined ) { + + if ( value === null ) { + jQuery.removeAttr( elem, name ); + + } else if ( hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ) { + return ret; + + } else { + elem.setAttribute( name, value + "" ); + return value; + } + + } else if ( hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== null ) { + return ret; + + } else { + ret = jQuery.find.attr( elem, name ); + + // Non-existent attributes return null, we normalize to undefined + return ret == null ? + undefined : + ret; + } + }, + + removeAttr: function( elem, value ) { + var name, propName, + i = 0, + attrNames = value && value.match( core_rnotwhite ); + + if ( attrNames && elem.nodeType === 1 ) { + while ( (name = attrNames[i++]) ) { + propName = jQuery.propFix[ name ] || name; + + // Boolean attributes get special treatment (#10870) + if ( jQuery.expr.match.bool.test( name ) ) { + // Set corresponding property to false + if ( getSetInput && getSetAttribute || !ruseDefault.test( name ) ) { + elem[ propName ] = false; + // Support: IE<9 + // Also clear defaultChecked/defaultSelected (if appropriate) + } else { + elem[ jQuery.camelCase( "default-" + name ) ] = + elem[ propName ] = false; + } + + // See #9699 for explanation of this approach (setting first, then removal) + } else { + jQuery.attr( elem, name, "" ); + } + + elem.removeAttribute( getSetAttribute ? name : propName ); + } + } + }, + + attrHooks: { + type: { + set: function( elem, value ) { + if ( !jQuery.support.radioValue && value === "radio" && jQuery.nodeName(elem, "input") ) { + // Setting the type on a radio button after the value resets the value in IE6-9 + // Reset value to default in case type is set after value during creation + var val = elem.value; + elem.setAttribute( "type", value ); + if ( val ) { + elem.value = val; + } + return value; + } + } + } + }, + + propFix: { + "for": "htmlFor", + "class": "className" + }, + + prop: function( elem, name, value ) { + var ret, hooks, notxml, + nType = elem.nodeType; + + // don't get/set properties on text, comment and attribute nodes + if ( !elem || nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + notxml = nType !== 1 || !jQuery.isXMLDoc( elem ); + + if ( notxml ) { + // Fix name and attach hooks + name = jQuery.propFix[ name ] || name; + hooks = jQuery.propHooks[ name ]; + } + + if ( value !== undefined ) { + return hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ? + ret : + ( elem[ name ] = value ); + + } else { + return hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== null ? + ret : + elem[ name ]; + } + }, + + propHooks: { + tabIndex: { + get: function( elem ) { + // elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set + // http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + // Use proper attribute retrieval(#12072) + var tabindex = jQuery.find.attr( elem, "tabindex" ); + + return tabindex ? + parseInt( tabindex, 10 ) : + rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName ) && elem.href ? + 0 : + -1; + } + } + } +}); + +// Hooks for boolean attributes +boolHook = { + set: function( elem, value, name ) { + if ( value === false ) { + // Remove boolean attributes when set to false + jQuery.removeAttr( elem, name ); + } else if ( getSetInput && getSetAttribute || !ruseDefault.test( name ) ) { + // IE<8 needs the *property* name + elem.setAttribute( !getSetAttribute && jQuery.propFix[ name ] || name, name ); + + // Use defaultChecked and defaultSelected for oldIE + } else { + elem[ jQuery.camelCase( "default-" + name ) ] = elem[ name ] = true; + } + + return name; + } +}; +jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) { + var getter = jQuery.expr.attrHandle[ name ] || jQuery.find.attr; + + jQuery.expr.attrHandle[ name ] = getSetInput && getSetAttribute || !ruseDefault.test( name ) ? + function( elem, name, isXML ) { + var fn = jQuery.expr.attrHandle[ name ], + ret = isXML ? + undefined : + /* jshint eqeqeq: false */ + (jQuery.expr.attrHandle[ name ] = undefined) != + getter( elem, name, isXML ) ? + + name.toLowerCase() : + null; + jQuery.expr.attrHandle[ name ] = fn; + return ret; + } : + function( elem, name, isXML ) { + return isXML ? + undefined : + elem[ jQuery.camelCase( "default-" + name ) ] ? + name.toLowerCase() : + null; + }; +}); + +// fix oldIE attroperties +if ( !getSetInput || !getSetAttribute ) { + jQuery.attrHooks.value = { + set: function( elem, value, name ) { + if ( jQuery.nodeName( elem, "input" ) ) { + // Does not return so that setAttribute is also used + elem.defaultValue = value; + } else { + // Use nodeHook if defined (#1954); otherwise setAttribute is fine + return nodeHook && nodeHook.set( elem, value, name ); + } + } + }; +} + +// IE6/7 do not support getting/setting some attributes with get/setAttribute +if ( !getSetAttribute ) { + + // Use this for any attribute in IE6/7 + // This fixes almost every IE6/7 issue + nodeHook = { + set: function( elem, value, name ) { + // Set the existing or create a new attribute node + var ret = elem.getAttributeNode( name ); + if ( !ret ) { + elem.setAttributeNode( + (ret = elem.ownerDocument.createAttribute( name )) + ); + } + + ret.value = value += ""; + + // Break association with cloned elements by also using setAttribute (#9646) + return name === "value" || value === elem.getAttribute( name ) ? + value : + undefined; + } + }; + jQuery.expr.attrHandle.id = jQuery.expr.attrHandle.name = jQuery.expr.attrHandle.coords = + // Some attributes are constructed with empty-string values when not defined + function( elem, name, isXML ) { + var ret; + return isXML ? + undefined : + (ret = elem.getAttributeNode( name )) && ret.value !== "" ? + ret.value : + null; + }; + jQuery.valHooks.button = { + get: function( elem, name ) { + var ret = elem.getAttributeNode( name ); + return ret && ret.specified ? + ret.value : + undefined; + }, + set: nodeHook.set + }; + + // Set contenteditable to false on removals(#10429) + // Setting to empty string throws an error as an invalid value + jQuery.attrHooks.contenteditable = { + set: function( elem, value, name ) { + nodeHook.set( elem, value === "" ? false : value, name ); + } + }; + + // Set width and height to auto instead of 0 on empty string( Bug #8150 ) + // This is for removals + jQuery.each([ "width", "height" ], function( i, name ) { + jQuery.attrHooks[ name ] = { + set: function( elem, value ) { + if ( value === "" ) { + elem.setAttribute( name, "auto" ); + return value; + } + } + }; + }); +} + + +// Some attributes require a special call on IE +// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx +if ( !jQuery.support.hrefNormalized ) { + // href/src property should get the full normalized URL (#10299/#12915) + jQuery.each([ "href", "src" ], function( i, name ) { + jQuery.propHooks[ name ] = { + get: function( elem ) { + return elem.getAttribute( name, 4 ); + } + }; + }); +} + +if ( !jQuery.support.style ) { + jQuery.attrHooks.style = { + get: function( elem ) { + // Return undefined in the case of empty string + // Note: IE uppercases css property names, but if we were to .toLowerCase() + // .cssText, that would destroy case senstitivity in URL's, like in "background" + return elem.style.cssText || undefined; + }, + set: function( elem, value ) { + return ( elem.style.cssText = value + "" ); + } + }; +} + +// Safari mis-reports the default selected property of an option +// Accessing the parent's selectedIndex property fixes it +if ( !jQuery.support.optSelected ) { + jQuery.propHooks.selected = { + get: function( elem ) { + var parent = elem.parentNode; + + if ( parent ) { + parent.selectedIndex; + + // Make sure that it also works with optgroups, see #5701 + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + return null; + } + }; +} + +jQuery.each([ + "tabIndex", + "readOnly", + "maxLength", + "cellSpacing", + "cellPadding", + "rowSpan", + "colSpan", + "useMap", + "frameBorder", + "contentEditable" +], function() { + jQuery.propFix[ this.toLowerCase() ] = this; +}); + +// IE6/7 call enctype encoding +if ( !jQuery.support.enctype ) { + jQuery.propFix.enctype = "encoding"; +} + +// Radios and checkboxes getter/setter +jQuery.each([ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = { + set: function( elem, value ) { + if ( jQuery.isArray( value ) ) { + return ( elem.checked = jQuery.inArray( jQuery(elem).val(), value ) >= 0 ); + } + } + }; + if ( !jQuery.support.checkOn ) { + jQuery.valHooks[ this ].get = function( elem ) { + // Support: Webkit + // "" is returned instead of "on" if a value isn't specified + return elem.getAttribute("value") === null ? "on" : elem.value; + }; + } +}); +var rformElems = /^(?:input|select|textarea)$/i, + rkeyEvent = /^key/, + rmouseEvent = /^(?:mouse|contextmenu)|click/, + rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, + rtypenamespace = /^([^.]*)(?:\.(.+)|)$/; + +function returnTrue() { + return true; +} + +function returnFalse() { + return false; +} + +function safeActiveElement() { + try { + return document.activeElement; + } catch ( err ) { } +} + +/* + * Helper functions for managing events -- not part of the public interface. + * Props to Dean Edwards' addEvent library for many of the ideas. + */ +jQuery.event = { + + global: {}, + + add: function( elem, types, handler, data, selector ) { + var tmp, events, t, handleObjIn, + special, eventHandle, handleObj, + handlers, type, namespaces, origType, + elemData = jQuery._data( elem ); + + // Don't attach events to noData or text/comment nodes (but allow plain objects) + if ( !elemData ) { + return; + } + + // Caller can pass in an object of custom data in lieu of the handler + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + selector = handleObjIn.selector; + } + + // Make sure that the handler has a unique ID, used to find/remove it later + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure and main handler, if this is the first + if ( !(events = elemData.events) ) { + events = elemData.events = {}; + } + if ( !(eventHandle = elemData.handle) ) { + eventHandle = elemData.handle = function( e ) { + // Discard the second event of a jQuery.event.trigger() and + // when an event is called after a page has unloaded + return typeof jQuery !== core_strundefined && (!e || jQuery.event.triggered !== e.type) ? + jQuery.event.dispatch.apply( eventHandle.elem, arguments ) : + undefined; + }; + // Add elem as a property of the handle fn to prevent a memory leak with IE non-native events + eventHandle.elem = elem; + } + + // Handle multiple events separated by a space + types = ( types || "" ).match( core_rnotwhite ) || [""]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[t] ) || []; + type = origType = tmp[1]; + namespaces = ( tmp[2] || "" ).split( "." ).sort(); + + // There *must* be a type, no attaching namespace-only handlers + if ( !type ) { + continue; + } + + // If event changes its type, use the special event handlers for the changed type + special = jQuery.event.special[ type ] || {}; + + // If selector defined, determine special event api type, otherwise given type + type = ( selector ? special.delegateType : special.bindType ) || type; + + // Update special based on newly reset type + special = jQuery.event.special[ type ] || {}; + + // handleObj is passed to all event handlers + handleObj = jQuery.extend({ + type: type, + origType: origType, + data: data, + handler: handler, + guid: handler.guid, + selector: selector, + needsContext: selector && jQuery.expr.match.needsContext.test( selector ), + namespace: namespaces.join(".") + }, handleObjIn ); + + // Init the event handler queue if we're the first + if ( !(handlers = events[ type ]) ) { + handlers = events[ type ] = []; + handlers.delegateCount = 0; + + // Only use addEventListener/attachEvent if the special events handler returns false + if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + // Bind the global event handler to the element + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle, false ); + + } else if ( elem.attachEvent ) { + elem.attachEvent( "on" + type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add to the element's handler list, delegates in front + if ( selector ) { + handlers.splice( handlers.delegateCount++, 0, handleObj ); + } else { + handlers.push( handleObj ); + } + + // Keep track of which events have ever been used, for event optimization + jQuery.event.global[ type ] = true; + } + + // Nullify elem to prevent memory leaks in IE + elem = null; + }, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, selector, mappedTypes ) { + var j, handleObj, tmp, + origCount, t, events, + special, handlers, type, + namespaces, origType, + elemData = jQuery.hasData( elem ) && jQuery._data( elem ); + + if ( !elemData || !(events = elemData.events) ) { + return; + } + + // Once for each type.namespace in types; type may be omitted + types = ( types || "" ).match( core_rnotwhite ) || [""]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[t] ) || []; + type = origType = tmp[1]; + namespaces = ( tmp[2] || "" ).split( "." ).sort(); + + // Unbind all events (on this namespace, if provided) for the element + if ( !type ) { + for ( type in events ) { + jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); + } + continue; + } + + special = jQuery.event.special[ type ] || {}; + type = ( selector ? special.delegateType : special.bindType ) || type; + handlers = events[ type ] || []; + tmp = tmp[2] && new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" ); + + // Remove matching events + origCount = j = handlers.length; + while ( j-- ) { + handleObj = handlers[ j ]; + + if ( ( mappedTypes || origType === handleObj.origType ) && + ( !handler || handler.guid === handleObj.guid ) && + ( !tmp || tmp.test( handleObj.namespace ) ) && + ( !selector || selector === handleObj.selector || selector === "**" && handleObj.selector ) ) { + handlers.splice( j, 1 ); + + if ( handleObj.selector ) { + handlers.delegateCount--; + } + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + } + + // Remove generic event handler if we removed something and no more handlers exist + // (avoids potential for endless recursion during removal of special event handlers) + if ( origCount && !handlers.length ) { + if ( !special.teardown || special.teardown.call( elem, namespaces, elemData.handle ) === false ) { + jQuery.removeEvent( elem, type, elemData.handle ); + } + + delete events[ type ]; + } + } + + // Remove the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + delete elemData.handle; + + // removeData also checks for emptiness and clears the expando if empty + // so use it instead of delete + jQuery._removeData( elem, "events" ); + } + }, + + trigger: function( event, data, elem, onlyHandlers ) { + var handle, ontype, cur, + bubbleType, special, tmp, i, + eventPath = [ elem || document ], + type = core_hasOwn.call( event, "type" ) ? event.type : event, + namespaces = core_hasOwn.call( event, "namespace" ) ? event.namespace.split(".") : []; + + cur = tmp = elem = elem || document; + + // Don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + // focus/blur morphs to focusin/out; ensure we're not firing them right now + if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { + return; + } + + if ( type.indexOf(".") >= 0 ) { + // Namespaced trigger; create a regexp to match event type in handle() + namespaces = type.split("."); + type = namespaces.shift(); + namespaces.sort(); + } + ontype = type.indexOf(":") < 0 && "on" + type; + + // Caller can pass in a jQuery.Event object, Object, or just an event type string + event = event[ jQuery.expando ] ? + event : + new jQuery.Event( type, typeof event === "object" && event ); + + // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) + event.isTrigger = onlyHandlers ? 2 : 3; + event.namespace = namespaces.join("."); + event.namespace_re = event.namespace ? + new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" ) : + null; + + // Clean up the event in case it is being reused + event.result = undefined; + if ( !event.target ) { + event.target = elem; + } + + // Clone any incoming data and prepend the event, creating the handler arg list + data = data == null ? + [ event ] : + jQuery.makeArray( data, [ event ] ); + + // Allow special events to draw outside the lines + special = jQuery.event.special[ type ] || {}; + if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { + return; + } + + // Determine event propagation path in advance, per W3C events spec (#9951) + // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) + if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) { + + bubbleType = special.delegateType || type; + if ( !rfocusMorph.test( bubbleType + type ) ) { + cur = cur.parentNode; + } + for ( ; cur; cur = cur.parentNode ) { + eventPath.push( cur ); + tmp = cur; + } + + // Only add window if we got to document (e.g., not plain obj or detached DOM) + if ( tmp === (elem.ownerDocument || document) ) { + eventPath.push( tmp.defaultView || tmp.parentWindow || window ); + } + } + + // Fire handlers on the event path + i = 0; + while ( (cur = eventPath[i++]) && !event.isPropagationStopped() ) { + + event.type = i > 1 ? + bubbleType : + special.bindType || type; + + // jQuery handler + handle = ( jQuery._data( cur, "events" ) || {} )[ event.type ] && jQuery._data( cur, "handle" ); + if ( handle ) { + handle.apply( cur, data ); + } + + // Native handler + handle = ontype && cur[ ontype ]; + if ( handle && jQuery.acceptData( cur ) && handle.apply && handle.apply( cur, data ) === false ) { + event.preventDefault(); + } + } + event.type = type; + + // If nobody prevented the default action, do it now + if ( !onlyHandlers && !event.isDefaultPrevented() ) { + + if ( (!special._default || special._default.apply( eventPath.pop(), data ) === false) && + jQuery.acceptData( elem ) ) { + + // Call a native DOM method on the target with the same name name as the event. + // Can't use an .isFunction() check here because IE6/7 fails that test. + // Don't do default actions on window, that's where global variables be (#6170) + if ( ontype && elem[ type ] && !jQuery.isWindow( elem ) ) { + + // Don't re-trigger an onFOO event when we call its FOO() method + tmp = elem[ ontype ]; + + if ( tmp ) { + elem[ ontype ] = null; + } + + // Prevent re-triggering of the same event, since we already bubbled it above + jQuery.event.triggered = type; + try { + elem[ type ](); + } catch ( e ) { + // IE<9 dies on focus/blur to hidden element (#1486,#12518) + // only reproducible on winXP IE8 native, not IE9 in IE8 mode + } + jQuery.event.triggered = undefined; + + if ( tmp ) { + elem[ ontype ] = tmp; + } + } + } + } + + return event.result; + }, + + dispatch: function( event ) { + + // Make a writable jQuery.Event from the native event object + event = jQuery.event.fix( event ); + + var i, ret, handleObj, matched, j, + handlerQueue = [], + args = core_slice.call( arguments ), + handlers = ( jQuery._data( this, "events" ) || {} )[ event.type ] || [], + special = jQuery.event.special[ event.type ] || {}; + + // Use the fix-ed jQuery.Event rather than the (read-only) native event + args[0] = event; + event.delegateTarget = this; + + // Call the preDispatch hook for the mapped type, and let it bail if desired + if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { + return; + } + + // Determine handlers + handlerQueue = jQuery.event.handlers.call( this, event, handlers ); + + // Run delegates first; they may want to stop propagation beneath us + i = 0; + while ( (matched = handlerQueue[ i++ ]) && !event.isPropagationStopped() ) { + event.currentTarget = matched.elem; + + j = 0; + while ( (handleObj = matched.handlers[ j++ ]) && !event.isImmediatePropagationStopped() ) { + + // Triggered event must either 1) have no namespace, or + // 2) have namespace(s) a subset or equal to those in the bound event (both can have no namespace). + if ( !event.namespace_re || event.namespace_re.test( handleObj.namespace ) ) { + + event.handleObj = handleObj; + event.data = handleObj.data; + + ret = ( (jQuery.event.special[ handleObj.origType ] || {}).handle || handleObj.handler ) + .apply( matched.elem, args ); + + if ( ret !== undefined ) { + if ( (event.result = ret) === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + } + } + + // Call the postDispatch hook for the mapped type + if ( special.postDispatch ) { + special.postDispatch.call( this, event ); + } + + return event.result; + }, + + handlers: function( event, handlers ) { + var sel, handleObj, matches, i, + handlerQueue = [], + delegateCount = handlers.delegateCount, + cur = event.target; + + // Find delegate handlers + // Black-hole SVG instance trees (#13180) + // Avoid non-left-click bubbling in Firefox (#3861) + if ( delegateCount && cur.nodeType && (!event.button || event.type !== "click") ) { + + /* jshint eqeqeq: false */ + for ( ; cur != this; cur = cur.parentNode || this ) { + /* jshint eqeqeq: true */ + + // Don't check non-elements (#13208) + // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) + if ( cur.nodeType === 1 && (cur.disabled !== true || event.type !== "click") ) { + matches = []; + for ( i = 0; i < delegateCount; i++ ) { + handleObj = handlers[ i ]; + + // Don't conflict with Object.prototype properties (#13203) + sel = handleObj.selector + " "; + + if ( matches[ sel ] === undefined ) { + matches[ sel ] = handleObj.needsContext ? + jQuery( sel, this ).index( cur ) >= 0 : + jQuery.find( sel, this, null, [ cur ] ).length; + } + if ( matches[ sel ] ) { + matches.push( handleObj ); + } + } + if ( matches.length ) { + handlerQueue.push({ elem: cur, handlers: matches }); + } + } + } + } + + // Add the remaining (directly-bound) handlers + if ( delegateCount < handlers.length ) { + handlerQueue.push({ elem: this, handlers: handlers.slice( delegateCount ) }); + } + + return handlerQueue; + }, + + fix: function( event ) { + if ( event[ jQuery.expando ] ) { + return event; + } + + // Create a writable copy of the event object and normalize some properties + var i, prop, copy, + type = event.type, + originalEvent = event, + fixHook = this.fixHooks[ type ]; + + if ( !fixHook ) { + this.fixHooks[ type ] = fixHook = + rmouseEvent.test( type ) ? this.mouseHooks : + rkeyEvent.test( type ) ? this.keyHooks : + {}; + } + copy = fixHook.props ? this.props.concat( fixHook.props ) : this.props; + + event = new jQuery.Event( originalEvent ); + + i = copy.length; + while ( i-- ) { + prop = copy[ i ]; + event[ prop ] = originalEvent[ prop ]; + } + + // Support: IE<9 + // Fix target property (#1925) + if ( !event.target ) { + event.target = originalEvent.srcElement || document; + } + + // Support: Chrome 23+, Safari? + // Target should not be a text node (#504, #13143) + if ( event.target.nodeType === 3 ) { + event.target = event.target.parentNode; + } + + // Support: IE<9 + // For mouse/key events, metaKey==false if it's undefined (#3368, #11328) + event.metaKey = !!event.metaKey; + + return fixHook.filter ? fixHook.filter( event, originalEvent ) : event; + }, + + // Includes some event props shared by KeyEvent and MouseEvent + props: "altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "), + + fixHooks: {}, + + keyHooks: { + props: "char charCode key keyCode".split(" "), + filter: function( event, original ) { + + // Add which for key events + if ( event.which == null ) { + event.which = original.charCode != null ? original.charCode : original.keyCode; + } + + return event; + } + }, + + mouseHooks: { + props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "), + filter: function( event, original ) { + var body, eventDoc, doc, + button = original.button, + fromElement = original.fromElement; + + // Calculate pageX/Y if missing and clientX/Y available + if ( event.pageX == null && original.clientX != null ) { + eventDoc = event.target.ownerDocument || document; + doc = eventDoc.documentElement; + body = eventDoc.body; + + event.pageX = original.clientX + ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) - ( doc && doc.clientLeft || body && body.clientLeft || 0 ); + event.pageY = original.clientY + ( doc && doc.scrollTop || body && body.scrollTop || 0 ) - ( doc && doc.clientTop || body && body.clientTop || 0 ); + } + + // Add relatedTarget, if necessary + if ( !event.relatedTarget && fromElement ) { + event.relatedTarget = fromElement === event.target ? original.toElement : fromElement; + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + // Note: button is not normalized, so don't use it + if ( !event.which && button !== undefined ) { + event.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) ); + } + + return event; + } + }, + + special: { + load: { + // Prevent triggered image.load events from bubbling to window.load + noBubble: true + }, + focus: { + // Fire native event if possible so blur/focus sequence is correct + trigger: function() { + if ( this !== safeActiveElement() && this.focus ) { + try { + this.focus(); + return false; + } catch ( e ) { + // Support: IE<9 + // If we error on focus to hidden element (#1486, #12518), + // let .trigger() run the handlers + } + } + }, + delegateType: "focusin" + }, + blur: { + trigger: function() { + if ( this === safeActiveElement() && this.blur ) { + this.blur(); + return false; + } + }, + delegateType: "focusout" + }, + click: { + // For checkbox, fire native event so checked state will be right + trigger: function() { + if ( jQuery.nodeName( this, "input" ) && this.type === "checkbox" && this.click ) { + this.click(); + return false; + } + }, + + // For cross-browser consistency, don't fire native .click() on links + _default: function( event ) { + return jQuery.nodeName( event.target, "a" ); + } + }, + + beforeunload: { + postDispatch: function( event ) { + + // Even when returnValue equals to undefined Firefox will still show alert + if ( event.result !== undefined ) { + event.originalEvent.returnValue = event.result; + } + } + } + }, + + simulate: function( type, elem, event, bubble ) { + // Piggyback on a donor event to simulate a different one. + // Fake originalEvent to avoid donor's stopPropagation, but if the + // simulated event prevents default then we do the same on the donor. + var e = jQuery.extend( + new jQuery.Event(), + event, + { + type: type, + isSimulated: true, + originalEvent: {} + } + ); + if ( bubble ) { + jQuery.event.trigger( e, null, elem ); + } else { + jQuery.event.dispatch.call( elem, e ); + } + if ( e.isDefaultPrevented() ) { + event.preventDefault(); + } + } +}; + +jQuery.removeEvent = document.removeEventListener ? + function( elem, type, handle ) { + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle, false ); + } + } : + function( elem, type, handle ) { + var name = "on" + type; + + if ( elem.detachEvent ) { + + // #8545, #7054, preventing memory leaks for custom events in IE6-8 + // detachEvent needed property on element, by name of that event, to properly expose it to GC + if ( typeof elem[ name ] === core_strundefined ) { + elem[ name ] = null; + } + + elem.detachEvent( name, handle ); + } + }; + +jQuery.Event = function( src, props ) { + // Allow instantiation without the 'new' keyword + if ( !(this instanceof jQuery.Event) ) { + return new jQuery.Event( src, props ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = ( src.defaultPrevented || src.returnValue === false || + src.getPreventDefault && src.getPreventDefault() ) ? returnTrue : returnFalse; + + // Event type + } else { + this.type = src; + } + + // Put explicitly provided properties onto the event object + if ( props ) { + jQuery.extend( this, props ); + } + + // Create a timestamp if incoming event doesn't have one + this.timeStamp = src && src.timeStamp || jQuery.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse, + + preventDefault: function() { + var e = this.originalEvent; + + this.isDefaultPrevented = returnTrue; + if ( !e ) { + return; + } + + // If preventDefault exists, run it on the original event + if ( e.preventDefault ) { + e.preventDefault(); + + // Support: IE + // Otherwise set the returnValue property of the original event to false + } else { + e.returnValue = false; + } + }, + stopPropagation: function() { + var e = this.originalEvent; + + this.isPropagationStopped = returnTrue; + if ( !e ) { + return; + } + // If stopPropagation exists, run it on the original event + if ( e.stopPropagation ) { + e.stopPropagation(); + } + + // Support: IE + // Set the cancelBubble property of the original event to true + e.cancelBubble = true; + }, + stopImmediatePropagation: function() { + this.isImmediatePropagationStopped = returnTrue; + this.stopPropagation(); + } +}; + +// Create mouseenter/leave events using mouseover/out and event-time checks +jQuery.each({ + mouseenter: "mouseover", + mouseleave: "mouseout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + delegateType: fix, + bindType: fix, + + handle: function( event ) { + var ret, + target = this, + related = event.relatedTarget, + handleObj = event.handleObj; + + // For mousenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if ( !related || (related !== target && !jQuery.contains( target, related )) ) { + event.type = handleObj.origType; + ret = handleObj.handler.apply( this, arguments ); + event.type = fix; + } + return ret; + } + }; +}); + +// IE submit delegation +if ( !jQuery.support.submitBubbles ) { + + jQuery.event.special.submit = { + setup: function() { + // Only need this for delegated form submit events + if ( jQuery.nodeName( this, "form" ) ) { + return false; + } + + // Lazy-add a submit handler when a descendant form may potentially be submitted + jQuery.event.add( this, "click._submit keypress._submit", function( e ) { + // Node name check avoids a VML-related crash in IE (#9807) + var elem = e.target, + form = jQuery.nodeName( elem, "input" ) || jQuery.nodeName( elem, "button" ) ? elem.form : undefined; + if ( form && !jQuery._data( form, "submitBubbles" ) ) { + jQuery.event.add( form, "submit._submit", function( event ) { + event._submit_bubble = true; + }); + jQuery._data( form, "submitBubbles", true ); + } + }); + // return undefined since we don't need an event listener + }, + + postDispatch: function( event ) { + // If form was submitted by the user, bubble the event up the tree + if ( event._submit_bubble ) { + delete event._submit_bubble; + if ( this.parentNode && !event.isTrigger ) { + jQuery.event.simulate( "submit", this.parentNode, event, true ); + } + } + }, + + teardown: function() { + // Only need this for delegated form submit events + if ( jQuery.nodeName( this, "form" ) ) { + return false; + } + + // Remove delegated handlers; cleanData eventually reaps submit handlers attached above + jQuery.event.remove( this, "._submit" ); + } + }; +} + +// IE change delegation and checkbox/radio fix +if ( !jQuery.support.changeBubbles ) { + + jQuery.event.special.change = { + + setup: function() { + + if ( rformElems.test( this.nodeName ) ) { + // IE doesn't fire change on a check/radio until blur; trigger it on click + // after a propertychange. Eat the blur-change in special.change.handle. + // This still fires onchange a second time for check/radio after blur. + if ( this.type === "checkbox" || this.type === "radio" ) { + jQuery.event.add( this, "propertychange._change", function( event ) { + if ( event.originalEvent.propertyName === "checked" ) { + this._just_changed = true; + } + }); + jQuery.event.add( this, "click._change", function( event ) { + if ( this._just_changed && !event.isTrigger ) { + this._just_changed = false; + } + // Allow triggered, simulated change events (#11500) + jQuery.event.simulate( "change", this, event, true ); + }); + } + return false; + } + // Delegated event; lazy-add a change handler on descendant inputs + jQuery.event.add( this, "beforeactivate._change", function( e ) { + var elem = e.target; + + if ( rformElems.test( elem.nodeName ) && !jQuery._data( elem, "changeBubbles" ) ) { + jQuery.event.add( elem, "change._change", function( event ) { + if ( this.parentNode && !event.isSimulated && !event.isTrigger ) { + jQuery.event.simulate( "change", this.parentNode, event, true ); + } + }); + jQuery._data( elem, "changeBubbles", true ); + } + }); + }, + + handle: function( event ) { + var elem = event.target; + + // Swallow native change events from checkbox/radio, we already triggered them above + if ( this !== elem || event.isSimulated || event.isTrigger || (elem.type !== "radio" && elem.type !== "checkbox") ) { + return event.handleObj.handler.apply( this, arguments ); + } + }, + + teardown: function() { + jQuery.event.remove( this, "._change" ); + + return !rformElems.test( this.nodeName ); + } + }; +} + +// Create "bubbling" focus and blur events +if ( !jQuery.support.focusinBubbles ) { + jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) { + + // Attach a single capturing handler while someone wants focusin/focusout + var attaches = 0, + handler = function( event ) { + jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ), true ); + }; + + jQuery.event.special[ fix ] = { + setup: function() { + if ( attaches++ === 0 ) { + document.addEventListener( orig, handler, true ); + } + }, + teardown: function() { + if ( --attaches === 0 ) { + document.removeEventListener( orig, handler, true ); + } + } + }; + }); +} + +jQuery.fn.extend({ + + on: function( types, selector, data, fn, /*INTERNAL*/ one ) { + var type, origFn; + + // Types can be a map of types/handlers + if ( typeof types === "object" ) { + // ( types-Object, selector, data ) + if ( typeof selector !== "string" ) { + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + for ( type in types ) { + this.on( type, selector, data, types[ type ], one ); + } + return this; + } + + if ( data == null && fn == null ) { + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if ( fn == null ) { + if ( typeof selector === "string" ) { + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if ( fn === false ) { + fn = returnFalse; + } else if ( !fn ) { + return this; + } + + if ( one === 1 ) { + origFn = fn; + fn = function( event ) { + // Can use an empty set, since event contains the info + jQuery().off( event ); + return origFn.apply( this, arguments ); + }; + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); + } + return this.each( function() { + jQuery.event.add( this, types, fn, data, selector ); + }); + }, + one: function( types, selector, data, fn ) { + return this.on( types, selector, data, fn, 1 ); + }, + off: function( types, selector, fn ) { + var handleObj, type; + if ( types && types.preventDefault && types.handleObj ) { + // ( event ) dispatched jQuery.Event + handleObj = types.handleObj; + jQuery( types.delegateTarget ).off( + handleObj.namespace ? handleObj.origType + "." + handleObj.namespace : handleObj.origType, + handleObj.selector, + handleObj.handler + ); + return this; + } + if ( typeof types === "object" ) { + // ( types-object [, selector] ) + for ( type in types ) { + this.off( type, selector, types[ type ] ); + } + return this; + } + if ( selector === false || typeof selector === "function" ) { + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + if ( fn === false ) { + fn = returnFalse; + } + return this.each(function() { + jQuery.event.remove( this, types, fn, selector ); + }); + }, + + trigger: function( type, data ) { + return this.each(function() { + jQuery.event.trigger( type, data, this ); + }); + }, + triggerHandler: function( type, data ) { + var elem = this[0]; + if ( elem ) { + return jQuery.event.trigger( type, data, elem, true ); + } + } +}); +var isSimple = /^.[^:#\[\.,]*$/, + rparentsprev = /^(?:parents|prev(?:Until|All))/, + rneedsContext = jQuery.expr.match.needsContext, + // methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + +jQuery.fn.extend({ + find: function( selector ) { + var i, + ret = [], + self = this, + len = self.length; + + if ( typeof selector !== "string" ) { + return this.pushStack( jQuery( selector ).filter(function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( self[ i ], this ) ) { + return true; + } + } + }) ); + } + + for ( i = 0; i < len; i++ ) { + jQuery.find( selector, self[ i ], ret ); + } + + // Needed because $( selector, context ) becomes $( context ).find( selector ) + ret = this.pushStack( len > 1 ? jQuery.unique( ret ) : ret ); + ret.selector = this.selector ? this.selector + " " + selector : selector; + return ret; + }, + + has: function( target ) { + var i, + targets = jQuery( target, this ), + len = targets.length; + + return this.filter(function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( this, targets[i] ) ) { + return true; + } + } + }); + }, + + not: function( selector ) { + return this.pushStack( winnow(this, selector || [], true) ); + }, + + filter: function( selector ) { + return this.pushStack( winnow(this, selector || [], false) ); + }, + + is: function( selector ) { + return !!winnow( + this, + + // If this is a positional/relative selector, check membership in the returned set + // so $("p:first").is("p:last") won't return true for a doc with two "p". + typeof selector === "string" && rneedsContext.test( selector ) ? + jQuery( selector ) : + selector || [], + false + ).length; + }, + + closest: function( selectors, context ) { + var cur, + i = 0, + l = this.length, + ret = [], + pos = rneedsContext.test( selectors ) || typeof selectors !== "string" ? + jQuery( selectors, context || this.context ) : + 0; + + for ( ; i < l; i++ ) { + for ( cur = this[i]; cur && cur !== context; cur = cur.parentNode ) { + // Always skip document fragments + if ( cur.nodeType < 11 && (pos ? + pos.index(cur) > -1 : + + // Don't pass non-elements to Sizzle + cur.nodeType === 1 && + jQuery.find.matchesSelector(cur, selectors)) ) { + + cur = ret.push( cur ); + break; + } + } + } + + return this.pushStack( ret.length > 1 ? jQuery.unique( ret ) : ret ); + }, + + // Determine the position of an element within + // the matched set of elements + index: function( elem ) { + + // No argument, return index in parent + if ( !elem ) { + return ( this[0] && this[0].parentNode ) ? this.first().prevAll().length : -1; + } + + // index in selector + if ( typeof elem === "string" ) { + return jQuery.inArray( this[0], jQuery( elem ) ); + } + + // Locate the position of the desired element + return jQuery.inArray( + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[0] : elem, this ); + }, + + add: function( selector, context ) { + var set = typeof selector === "string" ? + jQuery( selector, context ) : + jQuery.makeArray( selector && selector.nodeType ? [ selector ] : selector ), + all = jQuery.merge( this.get(), set ); + + return this.pushStack( jQuery.unique(all) ); + }, + + addBack: function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter(selector) + ); + } +}); + +function sibling( cur, dir ) { + do { + cur = cur[ dir ]; + } while ( cur && cur.nodeType !== 1 ); + + return cur; +} + +jQuery.each({ + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return jQuery.dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, i, until ) { + return jQuery.dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return sibling( elem, "nextSibling" ); + }, + prev: function( elem ) { + return sibling( elem, "previousSibling" ); + }, + nextAll: function( elem ) { + return jQuery.dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return jQuery.dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, i, until ) { + return jQuery.dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, i, until ) { + return jQuery.dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return jQuery.sibling( ( elem.parentNode || {} ).firstChild, elem ); + }, + children: function( elem ) { + return jQuery.sibling( elem.firstChild ); + }, + contents: function( elem ) { + return jQuery.nodeName( elem, "iframe" ) ? + elem.contentDocument || elem.contentWindow.document : + jQuery.merge( [], elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var ret = jQuery.map( this, fn, until ); + + if ( name.slice( -5 ) !== "Until" ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + ret = jQuery.filter( selector, ret ); + } + + if ( this.length > 1 ) { + // Remove duplicates + if ( !guaranteedUnique[ name ] ) { + ret = jQuery.unique( ret ); + } + + // Reverse order for parents* and prev-derivatives + if ( rparentsprev.test( name ) ) { + ret = ret.reverse(); + } + } + + return this.pushStack( ret ); + }; +}); + +jQuery.extend({ + filter: function( expr, elems, not ) { + var elem = elems[ 0 ]; + + if ( not ) { + expr = ":not(" + expr + ")"; + } + + return elems.length === 1 && elem.nodeType === 1 ? + jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [] : + jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { + return elem.nodeType === 1; + })); + }, + + dir: function( elem, dir, until ) { + var matched = [], + cur = elem[ dir ]; + + while ( cur && cur.nodeType !== 9 && (until === undefined || cur.nodeType !== 1 || !jQuery( cur ).is( until )) ) { + if ( cur.nodeType === 1 ) { + matched.push( cur ); + } + cur = cur[dir]; + } + return matched; + }, + + sibling: function( n, elem ) { + var r = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + r.push( n ); + } + } + + return r; + } +}); + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, not ) { + if ( jQuery.isFunction( qualifier ) ) { + return jQuery.grep( elements, function( elem, i ) { + /* jshint -W018 */ + return !!qualifier.call( elem, i, elem ) !== not; + }); + + } + + if ( qualifier.nodeType ) { + return jQuery.grep( elements, function( elem ) { + return ( elem === qualifier ) !== not; + }); + + } + + if ( typeof qualifier === "string" ) { + if ( isSimple.test( qualifier ) ) { + return jQuery.filter( qualifier, elements, not ); + } + + qualifier = jQuery.filter( qualifier, elements ); + } + + return jQuery.grep( elements, function( elem ) { + return ( jQuery.inArray( elem, qualifier ) >= 0 ) !== not; + }); +} +function createSafeFragment( document ) { + var list = nodeNames.split( "|" ), + safeFrag = document.createDocumentFragment(); + + if ( safeFrag.createElement ) { + while ( list.length ) { + safeFrag.createElement( + list.pop() + ); + } + } + return safeFrag; +} + +var nodeNames = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|" + + "header|hgroup|mark|meter|nav|output|progress|section|summary|time|video", + rinlinejQuery = / jQuery\d+="(?:null|\d+)"/g, + rnoshimcache = new RegExp("<(?:" + nodeNames + ")[\\s/>]", "i"), + rleadingWhitespace = /^\s+/, + rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi, + rtagName = /<([\w:]+)/, + rtbody = /\s*$/g, + + // We have to close these tags to support XHTML (#13200) + wrapMap = { + option: [ 1, "" ], + legend: [ 1, "
", "
" ], + area: [ 1, "", "" ], + param: [ 1, "", "" ], + thead: [ 1, "", "
" ], + tr: [ 2, "", "
" ], + col: [ 2, "", "
" ], + td: [ 3, "", "
" ], + + // IE6-8 can't serialize link, script, style, or any html5 (NoScope) tags, + // unless wrapped in a div with non-breaking characters in front of it. + _default: jQuery.support.htmlSerialize ? [ 0, "", "" ] : [ 1, "X
", "
" ] + }, + safeFragment = createSafeFragment( document ), + fragmentDiv = safeFragment.appendChild( document.createElement("div") ); + +wrapMap.optgroup = wrapMap.option; +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + +jQuery.fn.extend({ + text: function( value ) { + return jQuery.access( this, function( value ) { + return value === undefined ? + jQuery.text( this ) : + this.empty().append( ( this[0] && this[0].ownerDocument || document ).createTextNode( value ) ); + }, null, value, arguments.length ); + }, + + append: function() { + return this.domManip( arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.appendChild( elem ); + } + }); + }, + + prepend: function() { + return this.domManip( arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.insertBefore( elem, target.firstChild ); + } + }); + }, + + before: function() { + return this.domManip( arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this ); + } + }); + }, + + after: function() { + return this.domManip( arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this.nextSibling ); + } + }); + }, + + // keepData is for internal use only--do not document + remove: function( selector, keepData ) { + var elem, + elems = selector ? jQuery.filter( selector, this ) : this, + i = 0; + + for ( ; (elem = elems[i]) != null; i++ ) { + + if ( !keepData && elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem ) ); + } + + if ( elem.parentNode ) { + if ( keepData && jQuery.contains( elem.ownerDocument, elem ) ) { + setGlobalEval( getAll( elem, "script" ) ); + } + elem.parentNode.removeChild( elem ); + } + } + + return this; + }, + + empty: function() { + var elem, + i = 0; + + for ( ; (elem = this[i]) != null; i++ ) { + // Remove element nodes and prevent memory leaks + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + } + + // Remove any remaining nodes + while ( elem.firstChild ) { + elem.removeChild( elem.firstChild ); + } + + // If this is a select, ensure that it displays empty (#12336) + // Support: IE<9 + if ( elem.options && jQuery.nodeName( elem, "select" ) ) { + elem.options.length = 0; + } + } + + return this; + }, + + clone: function( dataAndEvents, deepDataAndEvents ) { + dataAndEvents = dataAndEvents == null ? false : dataAndEvents; + deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; + + return this.map( function () { + return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); + }); + }, + + html: function( value ) { + return jQuery.access( this, function( value ) { + var elem = this[0] || {}, + i = 0, + l = this.length; + + if ( value === undefined ) { + return elem.nodeType === 1 ? + elem.innerHTML.replace( rinlinejQuery, "" ) : + undefined; + } + + // See if we can take a shortcut and just use innerHTML + if ( typeof value === "string" && !rnoInnerhtml.test( value ) && + ( jQuery.support.htmlSerialize || !rnoshimcache.test( value ) ) && + ( jQuery.support.leadingWhitespace || !rleadingWhitespace.test( value ) ) && + !wrapMap[ ( rtagName.exec( value ) || ["", ""] )[1].toLowerCase() ] ) { + + value = value.replace( rxhtmlTag, "<$1>" ); + + try { + for (; i < l; i++ ) { + // Remove element nodes and prevent memory leaks + elem = this[i] || {}; + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + elem.innerHTML = value; + } + } + + elem = 0; + + // If using innerHTML throws an exception, use the fallback method + } catch(e) {} + } + + if ( elem ) { + this.empty().append( value ); + } + }, null, value, arguments.length ); + }, + + replaceWith: function() { + var + // Snapshot the DOM in case .domManip sweeps something relevant into its fragment + args = jQuery.map( this, function( elem ) { + return [ elem.nextSibling, elem.parentNode ]; + }), + i = 0; + + // Make the changes, replacing each context element with the new content + this.domManip( arguments, function( elem ) { + var next = args[ i++ ], + parent = args[ i++ ]; + + if ( parent ) { + // Don't use the snapshot next if it has moved (#13810) + if ( next && next.parentNode !== parent ) { + next = this.nextSibling; + } + jQuery( this ).remove(); + parent.insertBefore( elem, next ); + } + // Allow new content to include elements from the context set + }, true ); + + // Force removal if there was no new content (e.g., from empty arguments) + return i ? this : this.remove(); + }, + + detach: function( selector ) { + return this.remove( selector, true ); + }, + + domManip: function( args, callback, allowIntersection ) { + + // Flatten any nested arrays + args = core_concat.apply( [], args ); + + var first, node, hasScripts, + scripts, doc, fragment, + i = 0, + l = this.length, + set = this, + iNoClone = l - 1, + value = args[0], + isFunction = jQuery.isFunction( value ); + + // We can't cloneNode fragments that contain checked, in WebKit + if ( isFunction || !( l <= 1 || typeof value !== "string" || jQuery.support.checkClone || !rchecked.test( value ) ) ) { + return this.each(function( index ) { + var self = set.eq( index ); + if ( isFunction ) { + args[0] = value.call( this, index, self.html() ); + } + self.domManip( args, callback, allowIntersection ); + }); + } + + if ( l ) { + fragment = jQuery.buildFragment( args, this[ 0 ].ownerDocument, false, !allowIntersection && this ); + first = fragment.firstChild; + + if ( fragment.childNodes.length === 1 ) { + fragment = first; + } + + if ( first ) { + scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); + hasScripts = scripts.length; + + // Use the original fragment for the last item instead of the first because it can end up + // being emptied incorrectly in certain situations (#8070). + for ( ; i < l; i++ ) { + node = fragment; + + if ( i !== iNoClone ) { + node = jQuery.clone( node, true, true ); + + // Keep references to cloned scripts for later restoration + if ( hasScripts ) { + jQuery.merge( scripts, getAll( node, "script" ) ); + } + } + + callback.call( this[i], node, i ); + } + + if ( hasScripts ) { + doc = scripts[ scripts.length - 1 ].ownerDocument; + + // Reenable scripts + jQuery.map( scripts, restoreScript ); + + // Evaluate executable scripts on first document insertion + for ( i = 0; i < hasScripts; i++ ) { + node = scripts[ i ]; + if ( rscriptType.test( node.type || "" ) && + !jQuery._data( node, "globalEval" ) && jQuery.contains( doc, node ) ) { + + if ( node.src ) { + // Hope ajax is available... + jQuery._evalUrl( node.src ); + } else { + jQuery.globalEval( ( node.text || node.textContent || node.innerHTML || "" ).replace( rcleanScript, "" ) ); + } + } + } + } + + // Fix #11809: Avoid leaking memory + fragment = first = null; + } + } + + return this; + } +}); + +// Support: IE<8 +// Manipulating tables requires a tbody +function manipulationTarget( elem, content ) { + return jQuery.nodeName( elem, "table" ) && + jQuery.nodeName( content.nodeType === 1 ? content : content.firstChild, "tr" ) ? + + elem.getElementsByTagName("tbody")[0] || + elem.appendChild( elem.ownerDocument.createElement("tbody") ) : + elem; +} + +// Replace/restore the type attribute of script elements for safe DOM manipulation +function disableScript( elem ) { + elem.type = (jQuery.find.attr( elem, "type" ) !== null) + "/" + elem.type; + return elem; +} +function restoreScript( elem ) { + var match = rscriptTypeMasked.exec( elem.type ); + if ( match ) { + elem.type = match[1]; + } else { + elem.removeAttribute("type"); + } + return elem; +} + +// Mark scripts as having already been evaluated +function setGlobalEval( elems, refElements ) { + var elem, + i = 0; + for ( ; (elem = elems[i]) != null; i++ ) { + jQuery._data( elem, "globalEval", !refElements || jQuery._data( refElements[i], "globalEval" ) ); + } +} + +function cloneCopyEvent( src, dest ) { + + if ( dest.nodeType !== 1 || !jQuery.hasData( src ) ) { + return; + } + + var type, i, l, + oldData = jQuery._data( src ), + curData = jQuery._data( dest, oldData ), + events = oldData.events; + + if ( events ) { + delete curData.handle; + curData.events = {}; + + for ( type in events ) { + for ( i = 0, l = events[ type ].length; i < l; i++ ) { + jQuery.event.add( dest, type, events[ type ][ i ] ); + } + } + } + + // make the cloned public data object a copy from the original + if ( curData.data ) { + curData.data = jQuery.extend( {}, curData.data ); + } +} + +function fixCloneNodeIssues( src, dest ) { + var nodeName, e, data; + + // We do not need to do anything for non-Elements + if ( dest.nodeType !== 1 ) { + return; + } + + nodeName = dest.nodeName.toLowerCase(); + + // IE6-8 copies events bound via attachEvent when using cloneNode. + if ( !jQuery.support.noCloneEvent && dest[ jQuery.expando ] ) { + data = jQuery._data( dest ); + + for ( e in data.events ) { + jQuery.removeEvent( dest, e, data.handle ); + } + + // Event data gets referenced instead of copied if the expando gets copied too + dest.removeAttribute( jQuery.expando ); + } + + // IE blanks contents when cloning scripts, and tries to evaluate newly-set text + if ( nodeName === "script" && dest.text !== src.text ) { + disableScript( dest ).text = src.text; + restoreScript( dest ); + + // IE6-10 improperly clones children of object elements using classid. + // IE10 throws NoModificationAllowedError if parent is null, #12132. + } else if ( nodeName === "object" ) { + if ( dest.parentNode ) { + dest.outerHTML = src.outerHTML; + } + + // This path appears unavoidable for IE9. When cloning an object + // element in IE9, the outerHTML strategy above is not sufficient. + // If the src has innerHTML and the destination does not, + // copy the src.innerHTML into the dest.innerHTML. #10324 + if ( jQuery.support.html5Clone && ( src.innerHTML && !jQuery.trim(dest.innerHTML) ) ) { + dest.innerHTML = src.innerHTML; + } + + } else if ( nodeName === "input" && manipulation_rcheckableType.test( src.type ) ) { + // IE6-8 fails to persist the checked state of a cloned checkbox + // or radio button. Worse, IE6-7 fail to give the cloned element + // a checked appearance if the defaultChecked value isn't also set + + dest.defaultChecked = dest.checked = src.checked; + + // IE6-7 get confused and end up setting the value of a cloned + // checkbox/radio button to an empty string instead of "on" + if ( dest.value !== src.value ) { + dest.value = src.value; + } + + // IE6-8 fails to return the selected option to the default selected + // state when cloning options + } else if ( nodeName === "option" ) { + dest.defaultSelected = dest.selected = src.defaultSelected; + + // IE6-8 fails to set the defaultValue to the correct value when + // cloning other types of input fields + } else if ( nodeName === "input" || nodeName === "textarea" ) { + dest.defaultValue = src.defaultValue; + } +} + +jQuery.each({ + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" +}, function( name, original ) { + jQuery.fn[ name ] = function( selector ) { + var elems, + i = 0, + ret = [], + insert = jQuery( selector ), + last = insert.length - 1; + + for ( ; i <= last; i++ ) { + elems = i === last ? this : this.clone(true); + jQuery( insert[i] )[ original ]( elems ); + + // Modern browsers can apply jQuery collections as arrays, but oldIE needs a .get() + core_push.apply( ret, elems.get() ); + } + + return this.pushStack( ret ); + }; +}); + +function getAll( context, tag ) { + var elems, elem, + i = 0, + found = typeof context.getElementsByTagName !== core_strundefined ? context.getElementsByTagName( tag || "*" ) : + typeof context.querySelectorAll !== core_strundefined ? context.querySelectorAll( tag || "*" ) : + undefined; + + if ( !found ) { + for ( found = [], elems = context.childNodes || context; (elem = elems[i]) != null; i++ ) { + if ( !tag || jQuery.nodeName( elem, tag ) ) { + found.push( elem ); + } else { + jQuery.merge( found, getAll( elem, tag ) ); + } + } + } + + return tag === undefined || tag && jQuery.nodeName( context, tag ) ? + jQuery.merge( [ context ], found ) : + found; +} + +// Used in buildFragment, fixes the defaultChecked property +function fixDefaultChecked( elem ) { + if ( manipulation_rcheckableType.test( elem.type ) ) { + elem.defaultChecked = elem.checked; + } +} + +jQuery.extend({ + clone: function( elem, dataAndEvents, deepDataAndEvents ) { + var destElements, node, clone, i, srcElements, + inPage = jQuery.contains( elem.ownerDocument, elem ); + + if ( jQuery.support.html5Clone || jQuery.isXMLDoc(elem) || !rnoshimcache.test( "<" + elem.nodeName + ">" ) ) { + clone = elem.cloneNode( true ); + + // IE<=8 does not properly clone detached, unknown element nodes + } else { + fragmentDiv.innerHTML = elem.outerHTML; + fragmentDiv.removeChild( clone = fragmentDiv.firstChild ); + } + + if ( (!jQuery.support.noCloneEvent || !jQuery.support.noCloneChecked) && + (elem.nodeType === 1 || elem.nodeType === 11) && !jQuery.isXMLDoc(elem) ) { + + // We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2 + destElements = getAll( clone ); + srcElements = getAll( elem ); + + // Fix all IE cloning issues + for ( i = 0; (node = srcElements[i]) != null; ++i ) { + // Ensure that the destination node is not null; Fixes #9587 + if ( destElements[i] ) { + fixCloneNodeIssues( node, destElements[i] ); + } + } + } + + // Copy the events from the original to the clone + if ( dataAndEvents ) { + if ( deepDataAndEvents ) { + srcElements = srcElements || getAll( elem ); + destElements = destElements || getAll( clone ); + + for ( i = 0; (node = srcElements[i]) != null; i++ ) { + cloneCopyEvent( node, destElements[i] ); + } + } else { + cloneCopyEvent( elem, clone ); + } + } + + // Preserve script evaluation history + destElements = getAll( clone, "script" ); + if ( destElements.length > 0 ) { + setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); + } + + destElements = srcElements = node = null; + + // Return the cloned set + return clone; + }, + + buildFragment: function( elems, context, scripts, selection ) { + var j, elem, contains, + tmp, tag, tbody, wrap, + l = elems.length, + + // Ensure a safe fragment + safe = createSafeFragment( context ), + + nodes = [], + i = 0; + + for ( ; i < l; i++ ) { + elem = elems[ i ]; + + if ( elem || elem === 0 ) { + + // Add nodes directly + if ( jQuery.type( elem ) === "object" ) { + jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); + + // Convert non-html into a text node + } else if ( !rhtml.test( elem ) ) { + nodes.push( context.createTextNode( elem ) ); + + // Convert html into DOM nodes + } else { + tmp = tmp || safe.appendChild( context.createElement("div") ); + + // Deserialize a standard representation + tag = ( rtagName.exec( elem ) || ["", ""] )[1].toLowerCase(); + wrap = wrapMap[ tag ] || wrapMap._default; + + tmp.innerHTML = wrap[1] + elem.replace( rxhtmlTag, "<$1>" ) + wrap[2]; + + // Descend through wrappers to the right content + j = wrap[0]; + while ( j-- ) { + tmp = tmp.lastChild; + } + + // Manually add leading whitespace removed by IE + if ( !jQuery.support.leadingWhitespace && rleadingWhitespace.test( elem ) ) { + nodes.push( context.createTextNode( rleadingWhitespace.exec( elem )[0] ) ); + } + + // Remove IE's autoinserted from table fragments + if ( !jQuery.support.tbody ) { + + // String was a , *may* have spurious + elem = tag === "table" && !rtbody.test( elem ) ? + tmp.firstChild : + + // String was a bare or + wrap[1] === "
" && !rtbody.test( elem ) ? + tmp : + 0; + + j = elem && elem.childNodes.length; + while ( j-- ) { + if ( jQuery.nodeName( (tbody = elem.childNodes[j]), "tbody" ) && !tbody.childNodes.length ) { + elem.removeChild( tbody ); + } + } + } + + jQuery.merge( nodes, tmp.childNodes ); + + // Fix #12392 for WebKit and IE > 9 + tmp.textContent = ""; + + // Fix #12392 for oldIE + while ( tmp.firstChild ) { + tmp.removeChild( tmp.firstChild ); + } + + // Remember the top-level container for proper cleanup + tmp = safe.lastChild; + } + } + } + + // Fix #11356: Clear elements from fragment + if ( tmp ) { + safe.removeChild( tmp ); + } + + // Reset defaultChecked for any radios and checkboxes + // about to be appended to the DOM in IE 6/7 (#8060) + if ( !jQuery.support.appendChecked ) { + jQuery.grep( getAll( nodes, "input" ), fixDefaultChecked ); + } + + i = 0; + while ( (elem = nodes[ i++ ]) ) { + + // #4087 - If origin and destination elements are the same, and this is + // that element, do not do anything + if ( selection && jQuery.inArray( elem, selection ) !== -1 ) { + continue; + } + + contains = jQuery.contains( elem.ownerDocument, elem ); + + // Append to fragment + tmp = getAll( safe.appendChild( elem ), "script" ); + + // Preserve script evaluation history + if ( contains ) { + setGlobalEval( tmp ); + } + + // Capture executables + if ( scripts ) { + j = 0; + while ( (elem = tmp[ j++ ]) ) { + if ( rscriptType.test( elem.type || "" ) ) { + scripts.push( elem ); + } + } + } + } + + tmp = null; + + return safe; + }, + + cleanData: function( elems, /* internal */ acceptData ) { + var elem, type, id, data, + i = 0, + internalKey = jQuery.expando, + cache = jQuery.cache, + deleteExpando = jQuery.support.deleteExpando, + special = jQuery.event.special; + + for ( ; (elem = elems[i]) != null; i++ ) { + + if ( acceptData || jQuery.acceptData( elem ) ) { + + id = elem[ internalKey ]; + data = id && cache[ id ]; + + if ( data ) { + if ( data.events ) { + for ( type in data.events ) { + if ( special[ type ] ) { + jQuery.event.remove( elem, type ); + + // This is a shortcut to avoid jQuery.event.remove's overhead + } else { + jQuery.removeEvent( elem, type, data.handle ); + } + } + } + + // Remove cache only if it was not already removed by jQuery.event.remove + if ( cache[ id ] ) { + + delete cache[ id ]; + + // IE does not allow us to delete expando properties from nodes, + // nor does it have a removeAttribute function on Document nodes; + // we must handle all of these cases + if ( deleteExpando ) { + delete elem[ internalKey ]; + + } else if ( typeof elem.removeAttribute !== core_strundefined ) { + elem.removeAttribute( internalKey ); + + } else { + elem[ internalKey ] = null; + } + + core_deletedIds.push( id ); + } + } + } + } + }, + + _evalUrl: function( url ) { + return jQuery.ajax({ + url: url, + type: "GET", + dataType: "script", + async: false, + global: false, + "throws": true + }); + } +}); +jQuery.fn.extend({ + wrapAll: function( html ) { + if ( jQuery.isFunction( html ) ) { + return this.each(function(i) { + jQuery(this).wrapAll( html.call(this, i) ); + }); + } + + if ( this[0] ) { + // The elements to wrap the target around + var wrap = jQuery( html, this[0].ownerDocument ).eq(0).clone(true); + + if ( this[0].parentNode ) { + wrap.insertBefore( this[0] ); + } + + wrap.map(function() { + var elem = this; + + while ( elem.firstChild && elem.firstChild.nodeType === 1 ) { + elem = elem.firstChild; + } + + return elem; + }).append( this ); + } + + return this; + }, + + wrapInner: function( html ) { + if ( jQuery.isFunction( html ) ) { + return this.each(function(i) { + jQuery(this).wrapInner( html.call(this, i) ); + }); + } + + return this.each(function() { + var self = jQuery( this ), + contents = self.contents(); + + if ( contents.length ) { + contents.wrapAll( html ); + + } else { + self.append( html ); + } + }); + }, + + wrap: function( html ) { + var isFunction = jQuery.isFunction( html ); + + return this.each(function(i) { + jQuery( this ).wrapAll( isFunction ? html.call(this, i) : html ); + }); + }, + + unwrap: function() { + return this.parent().each(function() { + if ( !jQuery.nodeName( this, "body" ) ) { + jQuery( this ).replaceWith( this.childNodes ); + } + }).end(); + } +}); +var iframe, getStyles, curCSS, + ralpha = /alpha\([^)]*\)/i, + ropacity = /opacity\s*=\s*([^)]*)/, + rposition = /^(top|right|bottom|left)$/, + // swappable if display is none or starts with table except "table", "table-cell", or "table-caption" + // see here for display values: https://developer.mozilla.org/en-US/docs/CSS/display + rdisplayswap = /^(none|table(?!-c[ea]).+)/, + rmargin = /^margin/, + rnumsplit = new RegExp( "^(" + core_pnum + ")(.*)$", "i" ), + rnumnonpx = new RegExp( "^(" + core_pnum + ")(?!px)[a-z%]+$", "i" ), + rrelNum = new RegExp( "^([+-])=(" + core_pnum + ")", "i" ), + elemdisplay = { BODY: "block" }, + + cssShow = { position: "absolute", visibility: "hidden", display: "block" }, + cssNormalTransform = { + letterSpacing: 0, + fontWeight: 400 + }, + + cssExpand = [ "Top", "Right", "Bottom", "Left" ], + cssPrefixes = [ "Webkit", "O", "Moz", "ms" ]; + +// return a css property mapped to a potentially vendor prefixed property +function vendorPropName( style, name ) { + + // shortcut for names that are not vendor prefixed + if ( name in style ) { + return name; + } + + // check for vendor prefixed names + var capName = name.charAt(0).toUpperCase() + name.slice(1), + origName = name, + i = cssPrefixes.length; + + while ( i-- ) { + name = cssPrefixes[ i ] + capName; + if ( name in style ) { + return name; + } + } + + return origName; +} + +function isHidden( elem, el ) { + // isHidden might be called from jQuery#filter function; + // in that case, element will be second argument + elem = el || elem; + return jQuery.css( elem, "display" ) === "none" || !jQuery.contains( elem.ownerDocument, elem ); +} + +function showHide( elements, show ) { + var display, elem, hidden, + values = [], + index = 0, + length = elements.length; + + for ( ; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + + values[ index ] = jQuery._data( elem, "olddisplay" ); + display = elem.style.display; + if ( show ) { + // Reset the inline display of this element to learn if it is + // being hidden by cascaded rules or not + if ( !values[ index ] && display === "none" ) { + elem.style.display = ""; + } + + // Set elements which have been overridden with display: none + // in a stylesheet to whatever the default browser style is + // for such an element + if ( elem.style.display === "" && isHidden( elem ) ) { + values[ index ] = jQuery._data( elem, "olddisplay", css_defaultDisplay(elem.nodeName) ); + } + } else { + + if ( !values[ index ] ) { + hidden = isHidden( elem ); + + if ( display && display !== "none" || !hidden ) { + jQuery._data( elem, "olddisplay", hidden ? display : jQuery.css( elem, "display" ) ); + } + } + } + } + + // Set the display of most of the elements in a second loop + // to avoid the constant reflow + for ( index = 0; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + if ( !show || elem.style.display === "none" || elem.style.display === "" ) { + elem.style.display = show ? values[ index ] || "" : "none"; + } + } + + return elements; +} + +jQuery.fn.extend({ + css: function( name, value ) { + return jQuery.access( this, function( elem, name, value ) { + var len, styles, + map = {}, + i = 0; + + if ( jQuery.isArray( name ) ) { + styles = getStyles( elem ); + len = name.length; + + for ( ; i < len; i++ ) { + map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); + } + + return map; + } + + return value !== undefined ? + jQuery.style( elem, name, value ) : + jQuery.css( elem, name ); + }, name, value, arguments.length > 1 ); + }, + show: function() { + return showHide( this, true ); + }, + hide: function() { + return showHide( this ); + }, + toggle: function( state ) { + if ( typeof state === "boolean" ) { + return state ? this.show() : this.hide(); + } + + return this.each(function() { + if ( isHidden( this ) ) { + jQuery( this ).show(); + } else { + jQuery( this ).hide(); + } + }); + } +}); + +jQuery.extend({ + // Add in style property hooks for overriding the default + // behavior of getting and setting a style property + cssHooks: { + opacity: { + get: function( elem, computed ) { + if ( computed ) { + // We should always get a number back from opacity + var ret = curCSS( elem, "opacity" ); + return ret === "" ? "1" : ret; + } + } + } + }, + + // Don't automatically add "px" to these possibly-unitless properties + cssNumber: { + "columnCount": true, + "fillOpacity": true, + "fontWeight": true, + "lineHeight": true, + "opacity": true, + "order": true, + "orphans": true, + "widows": true, + "zIndex": true, + "zoom": true + }, + + // Add in properties whose names you wish to fix before + // setting or getting the value + cssProps: { + // normalize float css property + "float": jQuery.support.cssFloat ? "cssFloat" : "styleFloat" + }, + + // Get and set the style property on a DOM Node + style: function( elem, name, value, extra ) { + // Don't set styles on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { + return; + } + + // Make sure that we're working with the right name + var ret, type, hooks, + origName = jQuery.camelCase( name ), + style = elem.style; + + name = jQuery.cssProps[ origName ] || ( jQuery.cssProps[ origName ] = vendorPropName( style, origName ) ); + + // gets hook for the prefixed version + // followed by the unprefixed version + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // Check if we're setting a value + if ( value !== undefined ) { + type = typeof value; + + // convert relative number strings (+= or -=) to relative numbers. #7345 + if ( type === "string" && (ret = rrelNum.exec( value )) ) { + value = ( ret[1] + 1 ) * ret[2] + parseFloat( jQuery.css( elem, name ) ); + // Fixes bug #9237 + type = "number"; + } + + // Make sure that NaN and null values aren't set. See: #7116 + if ( value == null || type === "number" && isNaN( value ) ) { + return; + } + + // If a number was passed in, add 'px' to the (except for certain CSS properties) + if ( type === "number" && !jQuery.cssNumber[ origName ] ) { + value += "px"; + } + + // Fixes #8908, it can be done more correctly by specifing setters in cssHooks, + // but it would mean to define eight (for every problematic property) identical functions + if ( !jQuery.support.clearCloneStyle && value === "" && name.indexOf("background") === 0 ) { + style[ name ] = "inherit"; + } + + // If a hook was provided, use that value, otherwise just set the specified value + if ( !hooks || !("set" in hooks) || (value = hooks.set( elem, value, extra )) !== undefined ) { + + // Wrapped to prevent IE from throwing errors when 'invalid' values are provided + // Fixes bug #5509 + try { + style[ name ] = value; + } catch(e) {} + } + + } else { + // If a hook was provided get the non-computed value from there + if ( hooks && "get" in hooks && (ret = hooks.get( elem, false, extra )) !== undefined ) { + return ret; + } + + // Otherwise just get the value from the style object + return style[ name ]; + } + }, + + css: function( elem, name, extra, styles ) { + var num, val, hooks, + origName = jQuery.camelCase( name ); + + // Make sure that we're working with the right name + name = jQuery.cssProps[ origName ] || ( jQuery.cssProps[ origName ] = vendorPropName( elem.style, origName ) ); + + // gets hook for the prefixed version + // followed by the unprefixed version + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // If a hook was provided get the computed value from there + if ( hooks && "get" in hooks ) { + val = hooks.get( elem, true, extra ); + } + + // Otherwise, if a way to get the computed value exists, use that + if ( val === undefined ) { + val = curCSS( elem, name, styles ); + } + + //convert "normal" to computed value + if ( val === "normal" && name in cssNormalTransform ) { + val = cssNormalTransform[ name ]; + } + + // Return, converting to number if forced or a qualifier was provided and val looks numeric + if ( extra === "" || extra ) { + num = parseFloat( val ); + return extra === true || jQuery.isNumeric( num ) ? num || 0 : val; + } + return val; + } +}); + +// NOTE: we've included the "window" in window.getComputedStyle +// because jsdom on node.js will break without it. +if ( window.getComputedStyle ) { + getStyles = function( elem ) { + return window.getComputedStyle( elem, null ); + }; + + curCSS = function( elem, name, _computed ) { + var width, minWidth, maxWidth, + computed = _computed || getStyles( elem ), + + // getPropertyValue is only needed for .css('filter') in IE9, see #12537 + ret = computed ? computed.getPropertyValue( name ) || computed[ name ] : undefined, + style = elem.style; + + if ( computed ) { + + if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) { + ret = jQuery.style( elem, name ); + } + + // A tribute to the "awesome hack by Dean Edwards" + // Chrome < 17 and Safari 5.0 uses "computed value" instead of "used value" for margin-right + // Safari 5.1.7 (at least) returns percentage for a larger set of values, but width seems to be reliably pixels + // this is against the CSSOM draft spec: http://dev.w3.org/csswg/cssom/#resolved-values + if ( rnumnonpx.test( ret ) && rmargin.test( name ) ) { + + // Remember the original values + width = style.width; + minWidth = style.minWidth; + maxWidth = style.maxWidth; + + // Put in the new values to get a computed value out + style.minWidth = style.maxWidth = style.width = ret; + ret = computed.width; + + // Revert the changed values + style.width = width; + style.minWidth = minWidth; + style.maxWidth = maxWidth; + } + } + + return ret; + }; +} else if ( document.documentElement.currentStyle ) { + getStyles = function( elem ) { + return elem.currentStyle; + }; + + curCSS = function( elem, name, _computed ) { + var left, rs, rsLeft, + computed = _computed || getStyles( elem ), + ret = computed ? computed[ name ] : undefined, + style = elem.style; + + // Avoid setting ret to empty string here + // so we don't default to auto + if ( ret == null && style && style[ name ] ) { + ret = style[ name ]; + } + + // From the awesome hack by Dean Edwards + // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291 + + // If we're not dealing with a regular pixel number + // but a number that has a weird ending, we need to convert it to pixels + // but not position css attributes, as those are proportional to the parent element instead + // and we can't measure the parent instead because it might trigger a "stacking dolls" problem + if ( rnumnonpx.test( ret ) && !rposition.test( name ) ) { + + // Remember the original values + left = style.left; + rs = elem.runtimeStyle; + rsLeft = rs && rs.left; + + // Put in the new values to get a computed value out + if ( rsLeft ) { + rs.left = elem.currentStyle.left; + } + style.left = name === "fontSize" ? "1em" : ret; + ret = style.pixelLeft + "px"; + + // Revert the changed values + style.left = left; + if ( rsLeft ) { + rs.left = rsLeft; + } + } + + return ret === "" ? "auto" : ret; + }; +} + +function setPositiveNumber( elem, value, subtract ) { + var matches = rnumsplit.exec( value ); + return matches ? + // Guard against undefined "subtract", e.g., when used as in cssHooks + Math.max( 0, matches[ 1 ] - ( subtract || 0 ) ) + ( matches[ 2 ] || "px" ) : + value; +} + +function augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) { + var i = extra === ( isBorderBox ? "border" : "content" ) ? + // If we already have the right measurement, avoid augmentation + 4 : + // Otherwise initialize for horizontal or vertical properties + name === "width" ? 1 : 0, + + val = 0; + + for ( ; i < 4; i += 2 ) { + // both box models exclude margin, so add it if we want it + if ( extra === "margin" ) { + val += jQuery.css( elem, extra + cssExpand[ i ], true, styles ); + } + + if ( isBorderBox ) { + // border-box includes padding, so remove it if we want content + if ( extra === "content" ) { + val -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + } + + // at this point, extra isn't border nor margin, so remove border + if ( extra !== "margin" ) { + val -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } else { + // at this point, extra isn't content, so add padding + val += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + + // at this point, extra isn't content nor padding, so add border + if ( extra !== "padding" ) { + val += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } + } + + return val; +} + +function getWidthOrHeight( elem, name, extra ) { + + // Start with offset property, which is equivalent to the border-box value + var valueIsBorderBox = true, + val = name === "width" ? elem.offsetWidth : elem.offsetHeight, + styles = getStyles( elem ), + isBorderBox = jQuery.support.boxSizing && jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; + + // some non-html elements return undefined for offsetWidth, so check for null/undefined + // svg - https://bugzilla.mozilla.org/show_bug.cgi?id=649285 + // MathML - https://bugzilla.mozilla.org/show_bug.cgi?id=491668 + if ( val <= 0 || val == null ) { + // Fall back to computed then uncomputed css if necessary + val = curCSS( elem, name, styles ); + if ( val < 0 || val == null ) { + val = elem.style[ name ]; + } + + // Computed unit is not pixels. Stop here and return. + if ( rnumnonpx.test(val) ) { + return val; + } + + // we need the check for style in case a browser which returns unreliable values + // for getComputedStyle silently falls back to the reliable elem.style + valueIsBorderBox = isBorderBox && ( jQuery.support.boxSizingReliable || val === elem.style[ name ] ); + + // Normalize "", auto, and prepare for extra + val = parseFloat( val ) || 0; + } + + // use the active box-sizing model to add/subtract irrelevant styles + return ( val + + augmentWidthOrHeight( + elem, + name, + extra || ( isBorderBox ? "border" : "content" ), + valueIsBorderBox, + styles + ) + ) + "px"; +} + +// Try to determine the default display value of an element +function css_defaultDisplay( nodeName ) { + var doc = document, + display = elemdisplay[ nodeName ]; + + if ( !display ) { + display = actualDisplay( nodeName, doc ); + + // If the simple way fails, read from inside an iframe + if ( display === "none" || !display ) { + // Use the already-created iframe if possible + iframe = ( iframe || + jQuery("
+
+

2048

+
+
0
+
0
+
+
+

Reliez les nombres et obtenez la tuile 2048 !

+ +
+ + +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+ +
+
+ +

+ Comment jouer : Utilisez les flèches du clavier pour déplacer les tuiles. Quand deux tuiles avec le même nombre se touchent, elles fusionnent ! +

+
+

+ Note : Framasoft héberge une instance du jeu créé par Gabriele Cirulli. sous licence libre MIT. +

+
+
+

2048 Frama

+
+
0
+
0
+
+
+

Assemble les tuiles identiques pour réussir à découvrir !

+ +
+ + +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+ +
+
+ +

+ Comment jouer : Utilisez les flèches du clavier pour déplacer les tuiles. Quand deux tuiles avec le même dessin se touchent, elles fusionnent ! +

+
+

+ Note : Framasoft héberge une version personnalisée du jeu créé par Gabriele Cirulli. sous licence libre MIT. +

+