From eb66d6e7c379a1bf9cd79418cc99f8ad09dcf578 Mon Sep 17 00:00:00 2001 From: sork Date: Mon, 3 Oct 2011 17:41:25 +0200 Subject: [PATCH] Add browserquest files --- bin/build.sh | 30 + bin/r.js | 8623 ++++++++++++++++++ client/config/config_build.json-dist | 4 + client/config/config_local.json-dist | 4 + client/css/achievements.css | 307 + client/css/ie.css | 5 + client/css/main.css | 1091 +++ client/fonts/graphicpixel-webfont.eot | Bin 0 -> 11434 bytes client/fonts/graphicpixel-webfont.svg | 161 + client/fonts/graphicpixel-webfont.ttf | Bin 0 -> 52060 bytes client/fonts/graphicpixel-webfont.woff | Bin 0 -> 12412 bytes client/img/1/achievements.png | Bin 0 -> 13313 bytes client/img/1/agent.png | Bin 0 -> 643 bytes client/img/1/axe.png | Bin 0 -> 5334 bytes client/img/1/barsheet.png | Bin 0 -> 9223 bytes client/img/1/bat.png | Bin 0 -> 5320 bytes client/img/1/beachnpc.png | Bin 0 -> 697 bytes client/img/1/bluesword.png | Bin 0 -> 4703 bytes client/img/1/border.png | Bin 0 -> 956 bytes client/img/1/boss.png | Bin 0 -> 17275 bytes client/img/1/chest.png | Bin 0 -> 337 bytes client/img/1/clotharmor.png | Bin 0 -> 4782 bytes client/img/1/crab.png | Bin 0 -> 8315 bytes client/img/1/death.png | Bin 0 -> 2181 bytes client/img/1/desertnpc.png | Bin 0 -> 697 bytes client/img/1/eye.png | Bin 0 -> 10159 bytes client/img/1/firefox.png | Bin 0 -> 6413 bytes client/img/1/forestnpc.png | Bin 0 -> 690 bytes client/img/1/goblin.png | Bin 0 -> 5243 bytes client/img/1/goldenarmor.png | Bin 0 -> 7234 bytes client/img/1/goldensword.png | Bin 0 -> 5537 bytes client/img/1/guard.png | Bin 0 -> 856 bytes client/img/1/hand.png | Bin 0 -> 329 bytes client/img/1/item-axe.png | Bin 0 -> 524 bytes client/img/1/item-bluesword.png | Bin 0 -> 525 bytes client/img/1/item-burger.png | Bin 0 -> 720 bytes client/img/1/item-cake.png | Bin 0 -> 1088 bytes client/img/1/item-clotharmor.png | Bin 0 -> 297 bytes client/img/1/item-firepotion.png | Bin 0 -> 422 bytes client/img/1/item-flask.png | Bin 0 -> 412 bytes client/img/1/item-goldenarmor.png | Bin 0 -> 732 bytes client/img/1/item-goldensword.png | Bin 0 -> 526 bytes client/img/1/item-leatherarmor.png | Bin 0 -> 514 bytes client/img/1/item-mailarmor.png | Bin 0 -> 453 bytes client/img/1/item-morningstar.png | Bin 0 -> 503 bytes client/img/1/item-platearmor.png | Bin 0 -> 617 bytes client/img/1/item-redarmor.png | Bin 0 -> 751 bytes client/img/1/item-redsword.png | Bin 0 -> 498 bytes client/img/1/item-sword1.png | Bin 0 -> 358 bytes client/img/1/item-sword2.png | Bin 0 -> 519 bytes client/img/1/king.png | Bin 0 -> 1046 bytes client/img/1/lavanpc.png | Bin 0 -> 687 bytes client/img/1/leatherarmor.png | Bin 0 -> 5419 bytes client/img/1/loot.png | Bin 0 -> 360 bytes client/img/1/mailarmor.png | Bin 0 -> 5196 bytes client/img/1/morningstar.png | Bin 0 -> 4072 bytes client/img/1/nyan.png | Bin 0 -> 1182 bytes client/img/1/octocat.png | Bin 0 -> 925 bytes client/img/1/ogre.png | Bin 0 -> 12687 bytes client/img/1/platearmor.png | Bin 0 -> 6343 bytes client/img/1/priest.png | Bin 0 -> 713 bytes client/img/1/rat.png | Bin 0 -> 6948 bytes client/img/1/redarmor.png | Bin 0 -> 6205 bytes client/img/1/redsword.png | Bin 0 -> 4724 bytes client/img/1/rick.png | Bin 0 -> 978 bytes client/img/1/scientist.png | Bin 0 -> 619 bytes client/img/1/shadow16.png | Bin 0 -> 225 bytes client/img/1/skeleton.png | Bin 0 -> 7789 bytes client/img/1/skeleton2.png | Bin 0 -> 8594 bytes client/img/1/snake.png | Bin 0 -> 3872 bytes client/img/1/sorcerer.png | Bin 0 -> 1190 bytes client/img/1/sparks.png | Bin 0 -> 333 bytes client/img/1/spectre.png | Bin 0 -> 6778 bytes client/img/1/spritesheet.png | Bin 0 -> 38977 bytes client/img/1/sword.png | Bin 0 -> 254 bytes client/img/1/sword1.png | Bin 0 -> 3261 bytes client/img/1/sword2.png | Bin 0 -> 4480 bytes client/img/1/talk.png | Bin 0 -> 266 bytes client/img/1/target.png | Bin 0 -> 385 bytes client/img/1/tilesheet.png | Bin 0 -> 243792 bytes client/img/1/villagegirl.png | Bin 0 -> 703 bytes client/img/1/villager.png | Bin 0 -> 693 bytes client/img/1/wizard.png | Bin 0 -> 7225 bytes client/img/1/wood.png | Bin 0 -> 1078 bytes client/img/1/wood2.png | Bin 0 -> 181 bytes client/img/1/wood3.png | Bin 0 -> 471 bytes client/img/2/achievements.png | Bin 0 -> 18199 bytes client/img/2/agent.png | Bin 0 -> 788 bytes client/img/2/axe.png | Bin 0 -> 7801 bytes client/img/2/barsheet.png | Bin 0 -> 11831 bytes client/img/2/bat.png | Bin 0 -> 10335 bytes client/img/2/beachnpc.png | Bin 0 -> 884 bytes client/img/2/bluesword.png | Bin 0 -> 7242 bytes client/img/2/border.png | Bin 0 -> 1906 bytes client/img/2/boss.png | Bin 0 -> 24970 bytes client/img/2/chest.png | Bin 0 -> 374 bytes client/img/2/clotharmor.png | Bin 0 -> 8056 bytes client/img/2/crab.png | Bin 0 -> 11757 bytes client/img/2/death.png | Bin 0 -> 2675 bytes client/img/2/desertnpc.png | Bin 0 -> 880 bytes client/img/2/eye.png | Bin 0 -> 16171 bytes client/img/2/firefox.png | Bin 0 -> 9725 bytes client/img/2/forestnpc.png | Bin 0 -> 884 bytes client/img/2/goblin.png | Bin 0 -> 8198 bytes client/img/2/goldenarmor.png | Bin 0 -> 11682 bytes client/img/2/goldensword.png | Bin 0 -> 7989 bytes client/img/2/guard.png | Bin 0 -> 1027 bytes client/img/2/hand.png | Bin 0 -> 356 bytes client/img/2/item-axe.png | Bin 0 -> 640 bytes client/img/2/item-bluesword.png | Bin 0 -> 715 bytes client/img/2/item-burger.png | Bin 0 -> 818 bytes client/img/2/item-cake.png | Bin 0 -> 1363 bytes client/img/2/item-clotharmor.png | Bin 0 -> 381 bytes client/img/2/item-firepotion.png | Bin 0 -> 504 bytes client/img/2/item-flask.png | Bin 0 -> 485 bytes client/img/2/item-goldenarmor.png | Bin 0 -> 840 bytes client/img/2/item-goldensword.png | Bin 0 -> 661 bytes client/img/2/item-leatherarmor.png | Bin 0 -> 622 bytes client/img/2/item-mailarmor.png | Bin 0 -> 539 bytes client/img/2/item-morningstar.png | Bin 0 -> 657 bytes client/img/2/item-platearmor.png | Bin 0 -> 689 bytes client/img/2/item-redarmor.png | Bin 0 -> 933 bytes client/img/2/item-redsword.png | Bin 0 -> 691 bytes client/img/2/item-sword1.png | Bin 0 -> 458 bytes client/img/2/item-sword2.png | Bin 0 -> 645 bytes client/img/2/king.png | Bin 0 -> 1344 bytes client/img/2/lavanpc.png | Bin 0 -> 884 bytes client/img/2/leatherarmor.png | Bin 0 -> 9503 bytes client/img/2/loot.png | Bin 0 -> 400 bytes client/img/2/mailarmor.png | Bin 0 -> 8585 bytes client/img/2/morningstar.png | Bin 0 -> 6709 bytes client/img/2/nyan.png | Bin 0 -> 1615 bytes client/img/2/octocat.png | Bin 0 -> 1207 bytes client/img/2/ogre.png | Bin 0 -> 17166 bytes client/img/2/platearmor.png | Bin 0 -> 9999 bytes client/img/2/priest.png | Bin 0 -> 893 bytes client/img/2/rat.png | Bin 0 -> 10491 bytes client/img/2/redarmor.png | Bin 0 -> 10596 bytes client/img/2/redsword.png | Bin 0 -> 7091 bytes client/img/2/rick.png | Bin 0 -> 1207 bytes client/img/2/scientist.png | Bin 0 -> 800 bytes client/img/2/shadow16.png | Bin 0 -> 258 bytes client/img/2/skeleton.png | Bin 0 -> 10378 bytes client/img/2/skeleton2.png | Bin 0 -> 11354 bytes client/img/2/snake.png | Bin 0 -> 6430 bytes client/img/2/sorcerer.png | Bin 0 -> 1627 bytes client/img/2/sparks.png | Bin 0 -> 400 bytes client/img/2/spectre.png | Bin 0 -> 10543 bytes client/img/2/spritesheet.png | Bin 0 -> 53353 bytes client/img/2/sword.png | Bin 0 -> 324 bytes client/img/2/sword1.png | Bin 0 -> 4907 bytes client/img/2/sword2.png | Bin 0 -> 6866 bytes client/img/2/talk.png | Bin 0 -> 287 bytes client/img/2/target.png | Bin 0 -> 558 bytes client/img/2/tilesheet.png | Bin 0 -> 319724 bytes client/img/2/villagegirl.png | Bin 0 -> 859 bytes client/img/2/villager.png | Bin 0 -> 884 bytes client/img/2/wizard.png | Bin 0 -> 10161 bytes client/img/2/wood.png | Bin 0 -> 1754 bytes client/img/2/wood2.png | Bin 0 -> 198 bytes client/img/2/wood3.png | Bin 0 -> 649 bytes client/img/3/achievements.png | Bin 0 -> 22376 bytes client/img/3/agent.png | Bin 0 -> 902 bytes client/img/3/axe.png | Bin 0 -> 11835 bytes client/img/3/barsheet.png | Bin 0 -> 14467 bytes client/img/3/bat.png | Bin 0 -> 13653 bytes client/img/3/beachnpc.png | Bin 0 -> 998 bytes client/img/3/bluesword.png | Bin 0 -> 11070 bytes client/img/3/border.png | Bin 0 -> 3028 bytes client/img/3/boss.png | Bin 0 -> 35649 bytes client/img/3/chest.png | Bin 0 -> 425 bytes client/img/3/clotharmor.png | Bin 0 -> 9960 bytes client/img/3/crab.png | Bin 0 -> 15347 bytes client/img/3/death.png | Bin 0 -> 3115 bytes client/img/3/desertnpc.png | Bin 0 -> 998 bytes client/img/3/eye.png | Bin 0 -> 22672 bytes client/img/3/firefox.png | Bin 0 -> 12642 bytes client/img/3/forestnpc.png | Bin 0 -> 998 bytes client/img/3/goblin.png | Bin 0 -> 9992 bytes client/img/3/goldenarmor.png | Bin 0 -> 14227 bytes client/img/3/goldensword.png | Bin 0 -> 12084 bytes client/img/3/guard.png | Bin 0 -> 1166 bytes client/img/3/hand.png | Bin 0 -> 395 bytes client/img/3/item-axe.png | Bin 0 -> 745 bytes client/img/3/item-bluesword.png | Bin 0 -> 816 bytes client/img/3/item-burger.png | Bin 0 -> 965 bytes client/img/3/item-cake.png | Bin 0 -> 1535 bytes client/img/3/item-clotharmor.png | Bin 0 -> 455 bytes client/img/3/item-firepotion.png | Bin 0 -> 570 bytes client/img/3/item-flask.png | Bin 0 -> 556 bytes client/img/3/item-goldenarmor.png | Bin 0 -> 975 bytes client/img/3/item-goldensword.png | Bin 0 -> 784 bytes client/img/3/item-leatherarmor.png | Bin 0 -> 729 bytes client/img/3/item-mailarmor.png | Bin 0 -> 648 bytes client/img/3/item-morningstar.png | Bin 0 -> 765 bytes client/img/3/item-platearmor.png | Bin 0 -> 825 bytes client/img/3/item-redarmor.png | Bin 0 -> 1058 bytes client/img/3/item-redsword.png | Bin 0 -> 764 bytes client/img/3/item-sword1.png | Bin 0 -> 527 bytes client/img/3/item-sword2.png | Bin 0 -> 754 bytes client/img/3/king.png | Bin 0 -> 1534 bytes client/img/3/lavanpc.png | Bin 0 -> 998 bytes client/img/3/leatherarmor.png | Bin 0 -> 11639 bytes client/img/3/loot.png | Bin 0 -> 447 bytes client/img/3/mailarmor.png | Bin 0 -> 10624 bytes client/img/3/morningstar.png | Bin 0 -> 9721 bytes client/img/3/nyan.png | Bin 0 -> 1899 bytes client/img/3/octocat.png | Bin 0 -> 1468 bytes client/img/3/ogre.png | Bin 0 -> 21772 bytes client/img/3/platearmor.png | Bin 0 -> 12313 bytes client/img/3/priest.png | Bin 0 -> 1008 bytes client/img/3/rat.png | Bin 0 -> 14323 bytes client/img/3/redarmor.png | Bin 0 -> 12976 bytes client/img/3/redsword.png | Bin 0 -> 10928 bytes client/img/3/rick.png | Bin 0 -> 1461 bytes client/img/3/scientist.png | Bin 0 -> 901 bytes client/img/3/shadow16.png | Bin 0 -> 291 bytes client/img/3/skeleton.png | Bin 0 -> 14095 bytes client/img/3/skeleton2.png | Bin 0 -> 15319 bytes client/img/3/snake.png | Bin 0 -> 8111 bytes client/img/3/sorcerer.png | Bin 0 -> 1947 bytes client/img/3/sparks.png | Bin 0 -> 453 bytes client/img/3/spectre.png | Bin 0 -> 13966 bytes client/img/3/spritesheet.png | Bin 0 -> 65789 bytes client/img/3/sword.png | Bin 0 -> 360 bytes client/img/3/sword1.png | Bin 0 -> 6739 bytes client/img/3/sword2.png | Bin 0 -> 10612 bytes client/img/3/talk.png | Bin 0 -> 318 bytes client/img/3/target.png | Bin 0 -> 818 bytes client/img/3/tilesheet.png | Bin 0 -> 370826 bytes client/img/3/villagegirl.png | Bin 0 -> 986 bytes client/img/3/villager.png | Bin 0 -> 998 bytes client/img/3/wizard.png | Bin 0 -> 12562 bytes client/img/3/wood.png | Bin 0 -> 2298 bytes client/img/3/wood2.png | Bin 0 -> 220 bytes client/img/3/wood3.png | Bin 0 -> 778 bytes client/img/common/empty.cur | Bin 0 -> 1133 bytes client/img/common/favicon.png | Bin 0 -> 398 bytes client/img/common/loading-error.png | Bin 0 -> 845 bytes client/img/common/loading.png | Bin 0 -> 834 bytes client/img/common/screenshot.jpg | Bin 0 -> 34355 bytes client/img/common/spinner.gif | Bin 0 -> 8787 bytes client/img/common/thingy.png | Bin 0 -> 1168 bytes client/index.html | 291 + client/js/animation.js | 66 + client/js/app.js | 459 + client/js/area.js | 25 + client/js/audio.js | 226 + client/js/bubble.js | 96 + client/js/build.js | 35 + client/js/camera.js | 70 + client/js/character.js | 546 ++ client/js/chest.js | 29 + client/js/config.js | 20 + client/js/detect.js | 20 + client/js/entity.js | 235 + client/js/entityfactory.js | 204 + client/js/exceptions.js | 14 + client/js/game.js | 2096 +++++ client/js/gameclient.js | 504 ++ client/js/home.js | 4 + client/js/infomanager.js | 109 + client/js/item.js | 36 + client/js/items.js | 117 + client/js/lib/astar.js | 151 + client/js/lib/bison.js | 252 + client/js/lib/class.js | 68 + client/js/lib/css3-mediaqueries.js | 779 ++ client/js/lib/log.js | 33 + client/js/lib/modernizr.js | 4 + client/js/lib/require-jquery.js | 11065 +++++++++++++++++++++++ client/js/lib/stacktrace.js | 356 + client/js/lib/underscore.min.js | 27 + client/js/main.js | 347 + client/js/map.js | 294 + client/js/mapworker.js | 68 + client/js/mob.js | 14 + client/js/mobs.js | 131 + client/js/npc.js | 168 + client/js/npcs.js | 100 + client/js/pathfinder.js | 100 + client/js/player.js | 205 + client/js/renderer.js | 661 ++ client/js/sprite.js | 161 + client/js/sprites.js | 80 + client/js/storage.js | 168 + client/js/text.js | 11 + client/js/tile.js | 34 + client/js/timer.js | 22 + client/js/transition.js | 65 + client/js/updater.js | 231 + client/js/util.js | 25 + client/js/warrior.js | 11 + client/maps/world_client.js | 1 + client/maps/world_client.json | 1 + client/sprites/agent.json | 1 + client/sprites/arrow.json | 11 + client/sprites/axe.json | 1 + client/sprites/bat.json | 1 + client/sprites/beachnpc.json | 1 + client/sprites/bluesword.json | 1 + client/sprites/boss.json | 1 + client/sprites/chest.json | 1 + client/sprites/clotharmor.json | 1 + client/sprites/crab.json | 1 + client/sprites/death.json | 1 + client/sprites/desertnpc.json | 1 + client/sprites/eye.json | 1 + client/sprites/firefox.json | 1 + client/sprites/forestnpc.json | 1 + client/sprites/goblin.json | 1 + client/sprites/goldenarmor.json | 1 + client/sprites/goldensword.json | 1 + client/sprites/guard.json | 1 + client/sprites/hand.json | 1 + client/sprites/impact.json | 1 + client/sprites/item-axe.json | 1 + client/sprites/item-bluesword.json | 1 + client/sprites/item-burger.json | 1 + client/sprites/item-cake.json | 1 + client/sprites/item-clotharmor.json | 1 + client/sprites/item-firepotion.json | 1 + client/sprites/item-flask.json | 1 + client/sprites/item-goldenarmor.json | 1 + client/sprites/item-goldensword.json | 1 + client/sprites/item-leatherarmor.json | 1 + client/sprites/item-mailarmor.json | 1 + client/sprites/item-morningstar.json | 1 + client/sprites/item-platearmor.json | 1 + client/sprites/item-redarmor.json | 1 + client/sprites/item-redsword.json | 1 + client/sprites/item-sword1.json | 1 + client/sprites/item-sword2.json | 1 + client/sprites/king.json | 1 + client/sprites/lavanpc.json | 1 + client/sprites/leatherarmor.json | 1 + client/sprites/loot.json | 1 + client/sprites/mailarmor.json | 1 + client/sprites/morningstar.json | 1 + client/sprites/nyan.json | 1 + client/sprites/octocat.json | 1 + client/sprites/ogre.json | 1 + client/sprites/platearmor.json | 1 + client/sprites/priest.json | 1 + client/sprites/rat.json | 1 + client/sprites/redarmor.json | 1 + client/sprites/redsword.json | 1 + client/sprites/rick.json | 1 + client/sprites/scientist.json | 1 + client/sprites/shadow16.json | 1 + client/sprites/skeleton.json | 1 + client/sprites/skeleton2.json | 1 + client/sprites/snake.json | 1 + client/sprites/sorcerer.json | 1 + client/sprites/sparks.json | 1 + client/sprites/spectre.json | 1 + client/sprites/sword.json | 1 + client/sprites/sword1.json | 1 + client/sprites/sword2.json | 1 + client/sprites/talk.json | 1 + client/sprites/target.json | 1 + client/sprites/villagegirl.json | 1 + client/sprites/villager.json | 1 + client/sprites/wizard.json | 1 + server/config.json | 7 + server/config_local.json-dist | 7 + server/js/area.js | 70 + server/js/character.js | 94 + server/js/checkpoint.js | 23 + server/js/chest.js | 23 + server/js/chestarea.js | 24 + server/js/entity.js | 66 + server/js/formulas.js | 26 + server/js/item.js | 43 + server/js/lib/class.js | 68 + server/js/main.js | 73 + server/js/map.js | 218 + server/js/message.js | 208 + server/js/mob.js | 163 + server/js/mobarea.js | 72 + server/js/npc.js | 6 + server/js/player.js | 325 + server/js/properties.js | 162 + server/js/utils.js | 68 + server/js/worldserver.js | 831 ++ server/js/ws.js | 274 + server/maps/world_server.json | 1 + shared/js/gametypes.js | 298 + tools/loadtest/README | 16 + tools/loadtest/class.js | 68 + tools/loadtest/config.json | 7 + tools/loadtest/gameclient.js | 90 + tools/loadtest/gametypes.js | 105 + tools/loadtest/main.js | 128 + 394 files changed, 34703 insertions(+) create mode 100755 bin/build.sh create mode 100644 bin/r.js create mode 100644 client/config/config_build.json-dist create mode 100644 client/config/config_local.json-dist create mode 100644 client/css/achievements.css create mode 100644 client/css/ie.css create mode 100644 client/css/main.css create mode 100644 client/fonts/graphicpixel-webfont.eot create mode 100644 client/fonts/graphicpixel-webfont.svg create mode 100644 client/fonts/graphicpixel-webfont.ttf create mode 100644 client/fonts/graphicpixel-webfont.woff create mode 100644 client/img/1/achievements.png create mode 100644 client/img/1/agent.png create mode 100644 client/img/1/axe.png create mode 100644 client/img/1/barsheet.png create mode 100644 client/img/1/bat.png create mode 100644 client/img/1/beachnpc.png create mode 100644 client/img/1/bluesword.png create mode 100644 client/img/1/border.png create mode 100644 client/img/1/boss.png create mode 100644 client/img/1/chest.png create mode 100644 client/img/1/clotharmor.png create mode 100644 client/img/1/crab.png create mode 100644 client/img/1/death.png create mode 100644 client/img/1/desertnpc.png create mode 100644 client/img/1/eye.png create mode 100644 client/img/1/firefox.png create mode 100644 client/img/1/forestnpc.png create mode 100644 client/img/1/goblin.png create mode 100644 client/img/1/goldenarmor.png create mode 100644 client/img/1/goldensword.png create mode 100644 client/img/1/guard.png create mode 100644 client/img/1/hand.png create mode 100644 client/img/1/item-axe.png create mode 100644 client/img/1/item-bluesword.png create mode 100644 client/img/1/item-burger.png create mode 100644 client/img/1/item-cake.png create mode 100644 client/img/1/item-clotharmor.png create mode 100644 client/img/1/item-firepotion.png create mode 100644 client/img/1/item-flask.png create mode 100644 client/img/1/item-goldenarmor.png create mode 100644 client/img/1/item-goldensword.png create mode 100644 client/img/1/item-leatherarmor.png create mode 100644 client/img/1/item-mailarmor.png create mode 100644 client/img/1/item-morningstar.png create mode 100644 client/img/1/item-platearmor.png create mode 100644 client/img/1/item-redarmor.png create mode 100644 client/img/1/item-redsword.png create mode 100644 client/img/1/item-sword1.png create mode 100644 client/img/1/item-sword2.png create mode 100644 client/img/1/king.png create mode 100644 client/img/1/lavanpc.png create mode 100644 client/img/1/leatherarmor.png create mode 100644 client/img/1/loot.png create mode 100644 client/img/1/mailarmor.png create mode 100644 client/img/1/morningstar.png create mode 100644 client/img/1/nyan.png create mode 100644 client/img/1/octocat.png create mode 100644 client/img/1/ogre.png create mode 100644 client/img/1/platearmor.png create mode 100644 client/img/1/priest.png create mode 100644 client/img/1/rat.png create mode 100644 client/img/1/redarmor.png create mode 100644 client/img/1/redsword.png create mode 100644 client/img/1/rick.png create mode 100644 client/img/1/scientist.png create mode 100644 client/img/1/shadow16.png create mode 100644 client/img/1/skeleton.png create mode 100644 client/img/1/skeleton2.png create mode 100644 client/img/1/snake.png create mode 100644 client/img/1/sorcerer.png create mode 100644 client/img/1/sparks.png create mode 100644 client/img/1/spectre.png create mode 100644 client/img/1/spritesheet.png create mode 100644 client/img/1/sword.png create mode 100644 client/img/1/sword1.png create mode 100644 client/img/1/sword2.png create mode 100644 client/img/1/talk.png create mode 100644 client/img/1/target.png create mode 100644 client/img/1/tilesheet.png create mode 100644 client/img/1/villagegirl.png create mode 100644 client/img/1/villager.png create mode 100644 client/img/1/wizard.png create mode 100644 client/img/1/wood.png create mode 100644 client/img/1/wood2.png create mode 100644 client/img/1/wood3.png create mode 100644 client/img/2/achievements.png create mode 100644 client/img/2/agent.png create mode 100644 client/img/2/axe.png create mode 100644 client/img/2/barsheet.png create mode 100644 client/img/2/bat.png create mode 100644 client/img/2/beachnpc.png create mode 100644 client/img/2/bluesword.png create mode 100644 client/img/2/border.png create mode 100644 client/img/2/boss.png create mode 100644 client/img/2/chest.png create mode 100644 client/img/2/clotharmor.png create mode 100644 client/img/2/crab.png create mode 100644 client/img/2/death.png create mode 100644 client/img/2/desertnpc.png create mode 100644 client/img/2/eye.png create mode 100644 client/img/2/firefox.png create mode 100644 client/img/2/forestnpc.png create mode 100644 client/img/2/goblin.png create mode 100644 client/img/2/goldenarmor.png create mode 100644 client/img/2/goldensword.png create mode 100644 client/img/2/guard.png create mode 100644 client/img/2/hand.png create mode 100644 client/img/2/item-axe.png create mode 100644 client/img/2/item-bluesword.png create mode 100644 client/img/2/item-burger.png create mode 100644 client/img/2/item-cake.png create mode 100644 client/img/2/item-clotharmor.png create mode 100644 client/img/2/item-firepotion.png create mode 100644 client/img/2/item-flask.png create mode 100644 client/img/2/item-goldenarmor.png create mode 100644 client/img/2/item-goldensword.png create mode 100644 client/img/2/item-leatherarmor.png create mode 100644 client/img/2/item-mailarmor.png create mode 100644 client/img/2/item-morningstar.png create mode 100644 client/img/2/item-platearmor.png create mode 100644 client/img/2/item-redarmor.png create mode 100644 client/img/2/item-redsword.png create mode 100644 client/img/2/item-sword1.png create mode 100644 client/img/2/item-sword2.png create mode 100644 client/img/2/king.png create mode 100644 client/img/2/lavanpc.png create mode 100644 client/img/2/leatherarmor.png create mode 100644 client/img/2/loot.png create mode 100644 client/img/2/mailarmor.png create mode 100644 client/img/2/morningstar.png create mode 100644 client/img/2/nyan.png create mode 100644 client/img/2/octocat.png create mode 100644 client/img/2/ogre.png create mode 100644 client/img/2/platearmor.png create mode 100644 client/img/2/priest.png create mode 100644 client/img/2/rat.png create mode 100644 client/img/2/redarmor.png create mode 100644 client/img/2/redsword.png create mode 100644 client/img/2/rick.png create mode 100644 client/img/2/scientist.png create mode 100644 client/img/2/shadow16.png create mode 100644 client/img/2/skeleton.png create mode 100644 client/img/2/skeleton2.png create mode 100644 client/img/2/snake.png create mode 100644 client/img/2/sorcerer.png create mode 100644 client/img/2/sparks.png create mode 100644 client/img/2/spectre.png create mode 100644 client/img/2/spritesheet.png create mode 100644 client/img/2/sword.png create mode 100644 client/img/2/sword1.png create mode 100644 client/img/2/sword2.png create mode 100644 client/img/2/talk.png create mode 100644 client/img/2/target.png create mode 100644 client/img/2/tilesheet.png create mode 100644 client/img/2/villagegirl.png create mode 100644 client/img/2/villager.png create mode 100644 client/img/2/wizard.png create mode 100644 client/img/2/wood.png create mode 100644 client/img/2/wood2.png create mode 100644 client/img/2/wood3.png create mode 100644 client/img/3/achievements.png create mode 100644 client/img/3/agent.png create mode 100644 client/img/3/axe.png create mode 100644 client/img/3/barsheet.png create mode 100644 client/img/3/bat.png create mode 100644 client/img/3/beachnpc.png create mode 100644 client/img/3/bluesword.png create mode 100644 client/img/3/border.png create mode 100644 client/img/3/boss.png create mode 100644 client/img/3/chest.png create mode 100644 client/img/3/clotharmor.png create mode 100644 client/img/3/crab.png create mode 100644 client/img/3/death.png create mode 100644 client/img/3/desertnpc.png create mode 100644 client/img/3/eye.png create mode 100644 client/img/3/firefox.png create mode 100644 client/img/3/forestnpc.png create mode 100644 client/img/3/goblin.png create mode 100644 client/img/3/goldenarmor.png create mode 100644 client/img/3/goldensword.png create mode 100644 client/img/3/guard.png create mode 100644 client/img/3/hand.png create mode 100644 client/img/3/item-axe.png create mode 100644 client/img/3/item-bluesword.png create mode 100644 client/img/3/item-burger.png create mode 100644 client/img/3/item-cake.png create mode 100644 client/img/3/item-clotharmor.png create mode 100644 client/img/3/item-firepotion.png create mode 100644 client/img/3/item-flask.png create mode 100644 client/img/3/item-goldenarmor.png create mode 100644 client/img/3/item-goldensword.png create mode 100644 client/img/3/item-leatherarmor.png create mode 100644 client/img/3/item-mailarmor.png create mode 100644 client/img/3/item-morningstar.png create mode 100644 client/img/3/item-platearmor.png create mode 100644 client/img/3/item-redarmor.png create mode 100644 client/img/3/item-redsword.png create mode 100644 client/img/3/item-sword1.png create mode 100644 client/img/3/item-sword2.png create mode 100644 client/img/3/king.png create mode 100644 client/img/3/lavanpc.png create mode 100644 client/img/3/leatherarmor.png create mode 100644 client/img/3/loot.png create mode 100644 client/img/3/mailarmor.png create mode 100644 client/img/3/morningstar.png create mode 100644 client/img/3/nyan.png create mode 100644 client/img/3/octocat.png create mode 100644 client/img/3/ogre.png create mode 100644 client/img/3/platearmor.png create mode 100644 client/img/3/priest.png create mode 100644 client/img/3/rat.png create mode 100644 client/img/3/redarmor.png create mode 100644 client/img/3/redsword.png create mode 100644 client/img/3/rick.png create mode 100644 client/img/3/scientist.png create mode 100644 client/img/3/shadow16.png create mode 100644 client/img/3/skeleton.png create mode 100644 client/img/3/skeleton2.png create mode 100644 client/img/3/snake.png create mode 100644 client/img/3/sorcerer.png create mode 100644 client/img/3/sparks.png create mode 100644 client/img/3/spectre.png create mode 100644 client/img/3/spritesheet.png create mode 100644 client/img/3/sword.png create mode 100644 client/img/3/sword1.png create mode 100644 client/img/3/sword2.png create mode 100644 client/img/3/talk.png create mode 100644 client/img/3/target.png create mode 100644 client/img/3/tilesheet.png create mode 100644 client/img/3/villagegirl.png create mode 100644 client/img/3/villager.png create mode 100644 client/img/3/wizard.png create mode 100644 client/img/3/wood.png create mode 100644 client/img/3/wood2.png create mode 100644 client/img/3/wood3.png create mode 100644 client/img/common/empty.cur create mode 100644 client/img/common/favicon.png create mode 100644 client/img/common/loading-error.png create mode 100644 client/img/common/loading.png create mode 100644 client/img/common/screenshot.jpg create mode 100644 client/img/common/spinner.gif create mode 100644 client/img/common/thingy.png create mode 100644 client/index.html create mode 100644 client/js/animation.js create mode 100644 client/js/app.js create mode 100644 client/js/area.js create mode 100644 client/js/audio.js create mode 100644 client/js/bubble.js create mode 100644 client/js/build.js create mode 100644 client/js/camera.js create mode 100644 client/js/character.js create mode 100644 client/js/chest.js create mode 100644 client/js/config.js create mode 100644 client/js/detect.js create mode 100644 client/js/entity.js create mode 100644 client/js/entityfactory.js create mode 100644 client/js/exceptions.js create mode 100644 client/js/game.js create mode 100644 client/js/gameclient.js create mode 100644 client/js/home.js create mode 100644 client/js/infomanager.js create mode 100644 client/js/item.js create mode 100644 client/js/items.js create mode 100644 client/js/lib/astar.js create mode 100644 client/js/lib/bison.js create mode 100644 client/js/lib/class.js create mode 100644 client/js/lib/css3-mediaqueries.js create mode 100644 client/js/lib/log.js create mode 100644 client/js/lib/modernizr.js create mode 100644 client/js/lib/require-jquery.js create mode 100644 client/js/lib/stacktrace.js create mode 100644 client/js/lib/underscore.min.js create mode 100644 client/js/main.js create mode 100644 client/js/map.js create mode 100644 client/js/mapworker.js create mode 100644 client/js/mob.js create mode 100644 client/js/mobs.js create mode 100644 client/js/npc.js create mode 100644 client/js/npcs.js create mode 100644 client/js/pathfinder.js create mode 100644 client/js/player.js create mode 100644 client/js/renderer.js create mode 100644 client/js/sprite.js create mode 100644 client/js/sprites.js create mode 100644 client/js/storage.js create mode 100644 client/js/text.js create mode 100644 client/js/tile.js create mode 100644 client/js/timer.js create mode 100644 client/js/transition.js create mode 100644 client/js/updater.js create mode 100644 client/js/util.js create mode 100644 client/js/warrior.js create mode 100644 client/maps/world_client.js create mode 100644 client/maps/world_client.json create mode 100644 client/sprites/agent.json create mode 100644 client/sprites/arrow.json create mode 100644 client/sprites/axe.json create mode 100644 client/sprites/bat.json create mode 100644 client/sprites/beachnpc.json create mode 100644 client/sprites/bluesword.json create mode 100644 client/sprites/boss.json create mode 100644 client/sprites/chest.json create mode 100644 client/sprites/clotharmor.json create mode 100644 client/sprites/crab.json create mode 100644 client/sprites/death.json create mode 100644 client/sprites/desertnpc.json create mode 100644 client/sprites/eye.json create mode 100644 client/sprites/firefox.json create mode 100644 client/sprites/forestnpc.json create mode 100644 client/sprites/goblin.json create mode 100644 client/sprites/goldenarmor.json create mode 100644 client/sprites/goldensword.json create mode 100644 client/sprites/guard.json create mode 100644 client/sprites/hand.json create mode 100644 client/sprites/impact.json create mode 100644 client/sprites/item-axe.json create mode 100644 client/sprites/item-bluesword.json create mode 100644 client/sprites/item-burger.json create mode 100644 client/sprites/item-cake.json create mode 100644 client/sprites/item-clotharmor.json create mode 100644 client/sprites/item-firepotion.json create mode 100644 client/sprites/item-flask.json create mode 100644 client/sprites/item-goldenarmor.json create mode 100644 client/sprites/item-goldensword.json create mode 100644 client/sprites/item-leatherarmor.json create mode 100644 client/sprites/item-mailarmor.json create mode 100644 client/sprites/item-morningstar.json create mode 100644 client/sprites/item-platearmor.json create mode 100644 client/sprites/item-redarmor.json create mode 100644 client/sprites/item-redsword.json create mode 100644 client/sprites/item-sword1.json create mode 100644 client/sprites/item-sword2.json create mode 100644 client/sprites/king.json create mode 100644 client/sprites/lavanpc.json create mode 100644 client/sprites/leatherarmor.json create mode 100644 client/sprites/loot.json create mode 100644 client/sprites/mailarmor.json create mode 100644 client/sprites/morningstar.json create mode 100644 client/sprites/nyan.json create mode 100644 client/sprites/octocat.json create mode 100644 client/sprites/ogre.json create mode 100644 client/sprites/platearmor.json create mode 100644 client/sprites/priest.json create mode 100644 client/sprites/rat.json create mode 100644 client/sprites/redarmor.json create mode 100644 client/sprites/redsword.json create mode 100644 client/sprites/rick.json create mode 100644 client/sprites/scientist.json create mode 100644 client/sprites/shadow16.json create mode 100644 client/sprites/skeleton.json create mode 100644 client/sprites/skeleton2.json create mode 100644 client/sprites/snake.json create mode 100644 client/sprites/sorcerer.json create mode 100644 client/sprites/sparks.json create mode 100644 client/sprites/spectre.json create mode 100644 client/sprites/sword.json create mode 100644 client/sprites/sword1.json create mode 100644 client/sprites/sword2.json create mode 100644 client/sprites/talk.json create mode 100644 client/sprites/target.json create mode 100644 client/sprites/villagegirl.json create mode 100644 client/sprites/villager.json create mode 100644 client/sprites/wizard.json create mode 100644 server/config.json create mode 100644 server/config_local.json-dist create mode 100644 server/js/area.js create mode 100644 server/js/character.js create mode 100644 server/js/checkpoint.js create mode 100644 server/js/chest.js create mode 100644 server/js/chestarea.js create mode 100644 server/js/entity.js create mode 100644 server/js/formulas.js create mode 100644 server/js/item.js create mode 100644 server/js/lib/class.js create mode 100644 server/js/main.js create mode 100644 server/js/map.js create mode 100644 server/js/message.js create mode 100644 server/js/mob.js create mode 100644 server/js/mobarea.js create mode 100644 server/js/npc.js create mode 100644 server/js/player.js create mode 100644 server/js/properties.js create mode 100644 server/js/utils.js create mode 100644 server/js/worldserver.js create mode 100644 server/js/ws.js create mode 100644 server/maps/world_server.json create mode 100644 shared/js/gametypes.js create mode 100644 tools/loadtest/README create mode 100644 tools/loadtest/class.js create mode 100644 tools/loadtest/config.json create mode 100644 tools/loadtest/gameclient.js create mode 100644 tools/loadtest/gametypes.js create mode 100755 tools/loadtest/main.js diff --git a/bin/build.sh b/bin/build.sh new file mode 100755 index 000000000..3e9762c99 --- /dev/null +++ b/bin/build.sh @@ -0,0 +1,30 @@ +#!/bin/bash + +# Script to generate an optimized client build of BrowserQuest + +BUILDDIR="../client-build" +PROJECTDIR="../client/js" +CURDIR=$(pwd) + + +echo "Deleting previous build directory" +rm -rf $BUILDDIR + +echo "Building client with RequireJS" +cd $PROJECTDIR +node ../../bin/r.js -o build.js +cd $CURDIR + +echo "Removing unnecessary js files from the build directory" +find $BUILDDIR/js -type f -not \( -name "game.js" -o -name "home.js" -o -name "log.js" -o -name "require-jquery.js" -o -name "mapworker.js" -o -name "detect.js" -o -name "underscore.min.js" -o -name "text.js" \) -delete + +echo "Removing sprites directory" +rm -rf $BUILDDIR/sprites + +echo "Removing config directory" +rm -rf $BUILDDIR/config + +echo "Moving build.txt to current dir" +mv $BUILDDIR/build.txt $CURDIR + +echo "Build complete" \ No newline at end of file diff --git a/bin/r.js b/bin/r.js new file mode 100644 index 000000000..d2a1c4407 --- /dev/null +++ b/bin/r.js @@ -0,0 +1,8623 @@ +/** + * @license r.js 0.26.0 Copyright (c) 2010-2011, The Dojo Foundation All Rights Reserved. + * Available via the MIT or new BSD license. + * see: http://github.com/jrburke/requirejs for details + */ + +/* + * This is a bootstrap script to allow running RequireJS in the command line + * in either a Java/Rhino or Node environment. It is modified by the top-level + * dist.js file to inject other files to completely enable this file. It is + * the shell of the r.js file. + */ + +/*jslint strict: false, evil: true, nomen: false */ +/*global readFile: true, process: false, Packages: false, print: false, +console: false, java: false, module: false */ + +var requirejs, require, define; +(function (console, args, readFileFunc) { + + var fileName, env, fs, vm, path, exec, rhinoContext, dir, nodeRequire, + nodeDefine, exists, reqMain, loadedOptimizedLib, + version = '0.26.0', + jsSuffixRegExp = /\.js$/, + commandOption = '', + //Used by jslib/rhino/args.js + rhinoArgs = args, + readFile = typeof readFileFunc !== 'undefined' ? readFileFunc : null; + + function showHelp() { + console.log('See https://github.com/jrburke/r.js for usage.'); + } + + if (typeof Packages !== 'undefined') { + env = 'rhino'; + + fileName = args[0]; + + if (fileName && fileName.indexOf('-') === 0) { + commandOption = fileName.substring(1); + fileName = args[1]; + } + + //Set up execution context. + rhinoContext = Packages.org.mozilla.javascript.ContextFactory.getGlobal().enterContext(); + + exec = function (string, name) { + return rhinoContext.evaluateString(this, string, name, 0, null); + }; + + exists = function (fileName) { + return (new java.io.File(fileName)).exists(); + }; + + //Define a console.log for easier logging. Don't + //get fancy though. + if (typeof console === 'undefined') { + console = { + log: function () { + print.apply(undefined, arguments); + } + }; + } + } else if (typeof process !== 'undefined') { + env = 'node'; + + //Get the fs module via Node's require before it + //gets replaced. Used in require/node.js + fs = require('fs'); + vm = require('vm'); + path = require('path'); + nodeRequire = require; + nodeDefine = define; + reqMain = require.main; + + //Temporarily hide require and define to allow require.js to define + //them. + require = undefined; + define = undefined; + + readFile = function (path) { + return fs.readFileSync(path, 'utf8'); + }; + + exec = function (string, name) { + return vm.runInThisContext(this.requirejsVars.require.makeNodeWrapper(string), + name ? fs.realpathSync(name) : ''); + }; + + exists = function (fileName) { + return path.existsSync(fileName); + }; + + + fileName = process.argv[2]; + + if (fileName && fileName.indexOf('-') === 0) { + commandOption = fileName.substring(1); + fileName = process.argv[3]; + } + } + + /** vim: et:ts=4:sw=4:sts=4 + * @license RequireJS 0.26.0 Copyright (c) 2010-2011, The Dojo Foundation All Rights Reserved. + * Available via the MIT or new BSD license. + * see: http://github.com/jrburke/requirejs for details + */ +/*jslint strict: false, plusplus: false */ +/*global window: false, navigator: false, document: false, importScripts: false, + jQuery: false, clearInterval: false, setInterval: false, self: false, + setTimeout: false, opera: false */ + + +(function () { + //Change this version number for each release. + var version = "0.26.0", + commentRegExp = /(\/\*([\s\S]*?)\*\/|\/\/(.*)$)/mg, + cjsRequireRegExp = /require\(\s*["']([^'"\s]+)["']\s*\)/g, + currDirRegExp = /^\.\//, + jsSuffixRegExp = /\.js$/, + ostring = Object.prototype.toString, + ap = Array.prototype, + aps = ap.slice, + apsp = ap.splice, + isBrowser = !!(typeof window !== "undefined" && navigator && document), + isWebWorker = !isBrowser && typeof importScripts !== "undefined", + //PS3 indicates loaded and complete, but need to wait for complete + //specifically. Sequence is "loading", "loaded", execution, + // then "complete". The UA check is unfortunate, but not sure how + //to feature test w/o causing perf issues. + readyRegExp = isBrowser && navigator.platform === 'PLAYSTATION 3' ? + /^complete$/ : /^(complete|loaded)$/, + defContextName = "_", + //Oh the tragedy, detecting opera. See the usage of isOpera for reason. + isOpera = typeof opera !== "undefined" && opera.toString() === "[object Opera]", + reqWaitIdPrefix = "_r@@", + empty = {}, + contexts = {}, + globalDefQueue = [], + interactiveScript = null, + isDone = false, + checkLoadedDepth = 0, + useInteractive = false, + req, cfg = {}, currentlyAddingScript, s, head, baseElement, scripts, script, + src, subPath, mainScript, dataMain, i, scrollIntervalId, setReadyState, ctx, + jQueryCheck, checkLoadedTimeoutId; + + function isFunction(it) { + return ostring.call(it) === "[object Function]"; + } + + function isArray(it) { + return ostring.call(it) === "[object Array]"; + } + + /** + * Simple function to mix in properties from source into target, + * but only if target does not already have a property of the same name. + * This is not robust in IE for transferring methods that match + * Object.prototype names, but the uses of mixin here seem unlikely to + * trigger a problem related to that. + */ + function mixin(target, source, force) { + for (var prop in source) { + if (!(prop in empty) && (!(prop in target) || force)) { + target[prop] = source[prop]; + } + } + return req; + } + + /** + * Constructs an error with a pointer to an URL with more information. + * @param {String} id the error ID that maps to an ID on a web page. + * @param {String} message human readable error. + * @param {Error} [err] the original error, if there is one. + * + * @returns {Error} + */ + function makeError(id, msg, err) { + var e = new Error(msg + '\nhttp://requirejs.org/docs/errors.html#' + id); + if (err) { + e.originalError = err; + } + return e; + } + + /** + * Used to set up package paths from a packagePaths or packages config object. + * @param {Object} pkgs the object to store the new package config + * @param {Array} currentPackages an array of packages to configure + * @param {String} [dir] a prefix dir to use. + */ + function configurePackageDir(pkgs, currentPackages, dir) { + var i, location, pkgObj; + + for (i = 0; (pkgObj = currentPackages[i]); i++) { + pkgObj = typeof pkgObj === "string" ? { name: pkgObj } : pkgObj; + location = pkgObj.location; + + //Add dir to the path, but avoid paths that start with a slash + //or have a colon (indicates a protocol) + if (dir && (!location || (location.indexOf("/") !== 0 && location.indexOf(":") === -1))) { + location = dir + "/" + (location || pkgObj.name); + } + + //Create a brand new object on pkgs, since currentPackages can + //be passed in again, and config.pkgs is the internal transformed + //state for all package configs. + pkgs[pkgObj.name] = { + name: pkgObj.name, + location: location || pkgObj.name, + //Remove leading dot in main, so main paths are normalized, + //and remove any trailing .js, since different package + //envs have different conventions: some use a module name, + //some use a file name. + main: (pkgObj.main || "main") + .replace(currDirRegExp, '') + .replace(jsSuffixRegExp, '') + }; + } + } + + /** + * jQuery 1.4.3-1.5.x use a readyWait/ready() pairing to hold DOM + * ready callbacks, but jQuery 1.6 supports a holdReady() API instead. + * At some point remove the readyWait/ready() support and just stick + * with using holdReady. + */ + function jQueryHoldReady($, shouldHold) { + if ($.holdReady) { + $.holdReady(shouldHold); + } else if (shouldHold) { + $.readyWait += 1; + } else { + $.ready(true); + } + } + + if (typeof define !== "undefined") { + //If a define is already in play via another AMD loader, + //do not overwrite. + return; + } + + if (typeof requirejs !== "undefined") { + if (isFunction(requirejs)) { + //Do not overwrite and existing requirejs instance. + return; + } else { + cfg = requirejs; + requirejs = undefined; + } + } + + //Allow for a require config object + if (typeof require !== "undefined" && !isFunction(require)) { + //assume it is a config object. + cfg = require; + require = undefined; + } + + /** + * Creates a new context for use in require and define calls. + * Handle most of the heavy lifting. Do not want to use an object + * with prototype here to avoid using "this" in require, in case it + * needs to be used in more super secure envs that do not want this. + * Also there should not be that many contexts in the page. Usually just + * one for the default context, but could be extra for multiversion cases + * or if a package needs a special context for a dependency that conflicts + * with the standard context. + */ + function newContext(contextName) { + var context, resume, + config = { + waitSeconds: 7, + baseUrl: s.baseUrl || "./", + paths: {}, + pkgs: {}, + catchError: {} + }, + defQueue = [], + specified = { + "require": true, + "exports": true, + "module": true + }, + urlMap = {}, + defined = {}, + loaded = {}, + waiting = {}, + waitAry = [], + waitIdCounter = 0, + managerCallbacks = {}, + plugins = {}, + pluginsQueue = {}, + resumeDepth = 0, + normalizedWaiting = {}; + + /** + * Trims the . and .. from an array of path segments. + * It will keep a leading path segment if a .. will become + * the first path segment, to help with module name lookups, + * which act like paths, but can be remapped. But the end result, + * all paths that use this function should look normalized. + * NOTE: this method MODIFIES the input array. + * @param {Array} ary the array of path segments. + */ + function trimDots(ary) { + var i, part; + for (i = 0; (part = ary[i]); i++) { + if (part === ".") { + ary.splice(i, 1); + i -= 1; + } else if (part === "..") { + if (i === 1 && (ary[2] === '..' || ary[0] === '..')) { + //End of the line. Keep at least one non-dot + //path segment at the front so it can be mapped + //correctly to disk. Otherwise, there is likely + //no path mapping for a path starting with '..'. + //This can still fail, but catches the most reasonable + //uses of .. + break; + } else if (i > 0) { + ary.splice(i - 1, 2); + i -= 2; + } + } + } + } + + /** + * Given a relative module name, like ./something, normalize it to + * a real name that can be mapped to a path. + * @param {String} name the relative name + * @param {String} baseName a real name that the name arg is relative + * to. + * @returns {String} normalized name + */ + function normalize(name, baseName) { + var pkgName, pkgConfig; + + //Adjust any relative paths. + if (name && name.charAt(0) === ".") { + //If have a base name, try to normalize against it, + //otherwise, assume it is a top-level require that will + //be relative to baseUrl in the end. + if (baseName) { + if (config.pkgs[baseName]) { + //If the baseName is a package name, then just treat it as one + //name to concat the name with. + baseName = [baseName]; + } else { + //Convert baseName to array, and lop off the last part, + //so that . matches that "directory" and not name of the baseName's + //module. For instance, baseName of "one/two/three", maps to + //"one/two/three.js", but we want the directory, "one/two" for + //this normalization. + baseName = baseName.split("/"); + baseName = baseName.slice(0, baseName.length - 1); + } + + name = baseName.concat(name.split("/")); + trimDots(name); + + //Some use of packages may use a . path to reference the + //"main" module name, so normalize for that. + pkgConfig = config.pkgs[(pkgName = name[0])]; + name = name.join("/"); + if (pkgConfig && name === pkgName + '/' + pkgConfig.main) { + name = pkgName; + } + } + } + return name; + } + + /** + * Creates a module mapping that includes plugin prefix, module + * name, and path. If parentModuleMap is provided it will + * also normalize the name via require.normalize() + * + * @param {String} name the module name + * @param {String} [parentModuleMap] parent module map + * for the module name, used to resolve relative names. + * + * @returns {Object} + */ + function makeModuleMap(name, parentModuleMap) { + var index = name ? name.indexOf("!") : -1, + prefix = null, + parentName = parentModuleMap ? parentModuleMap.name : null, + originalName = name, + normalizedName, url, pluginModule; + + if (index !== -1) { + prefix = name.substring(0, index); + name = name.substring(index + 1, name.length); + } + + if (prefix) { + prefix = normalize(prefix, parentName); + } + + //Account for relative paths if there is a base name. + if (name) { + if (prefix) { + pluginModule = defined[prefix]; + if (pluginModule) { + //Plugin is loaded, use its normalize method, otherwise, + //normalize name as usual. + if (pluginModule.normalize) { + normalizedName = pluginModule.normalize(name, function (name) { + return normalize(name, parentName); + }); + } else { + normalizedName = normalize(name, parentName); + } + } else { + //Plugin is not loaded yet, so do not normalize + //the name, wait for plugin to load to see if + //it has a normalize method. To avoid possible + //ambiguity with relative names loaded from another + //plugin, use the parent's name as part of this name. + normalizedName = '__$p' + parentName + '@' + (name || ''); + } + } else { + normalizedName = normalize(name, parentName); + } + + url = urlMap[normalizedName]; + if (!url) { + //Calculate url for the module, if it has a name. + if (req.toModuleUrl) { + //Special logic required for a particular engine, + //like Node. + url = req.toModuleUrl(context, normalizedName, parentModuleMap); + } else { + url = context.nameToUrl(normalizedName, null, parentModuleMap); + } + + //Store the URL mapping for later. + urlMap[normalizedName] = url; + } + } + + return { + prefix: prefix, + name: normalizedName, + parentMap: parentModuleMap, + url: url, + originalName: originalName, + fullName: prefix ? prefix + "!" + (normalizedName || '') : normalizedName + }; + } + + /** + * Determine if priority loading is done. If so clear the priorityWait + */ + function isPriorityDone() { + var priorityDone = true, + priorityWait = config.priorityWait, + priorityName, i; + if (priorityWait) { + for (i = 0; (priorityName = priorityWait[i]); i++) { + if (!loaded[priorityName]) { + priorityDone = false; + break; + } + } + if (priorityDone) { + delete config.priorityWait; + } + } + return priorityDone; + } + + /** + * Helper function that creates a setExports function for a "module" + * CommonJS dependency. Do this here to avoid creating a closure that + * is part of a loop. + */ + function makeSetExports(moduleObj) { + return function (exports) { + moduleObj.exports = exports; + }; + } + + function makeContextModuleFunc(func, relModuleMap, enableBuildCallback) { + return function () { + //A version of a require function that passes a moduleName + //value for items that may need to + //look up paths relative to the moduleName + var args = [].concat(aps.call(arguments, 0)), lastArg; + if (enableBuildCallback && + isFunction((lastArg = args[args.length - 1]))) { + lastArg.__requireJsBuild = true; + } + args.push(relModuleMap); + return func.apply(null, args); + }; + } + + /** + * Helper function that creates a require function object to give to + * modules that ask for it as a dependency. It needs to be specific + * per module because of the implication of path mappings that may + * need to be relative to the module name. + */ + function makeRequire(relModuleMap, enableBuildCallback) { + var modRequire = makeContextModuleFunc(context.require, relModuleMap, enableBuildCallback); + + mixin(modRequire, { + nameToUrl: makeContextModuleFunc(context.nameToUrl, relModuleMap), + toUrl: makeContextModuleFunc(context.toUrl, relModuleMap), + defined: makeContextModuleFunc(context.requireDefined, relModuleMap), + specified: makeContextModuleFunc(context.requireSpecified, relModuleMap), + ready: req.ready, + isBrowser: req.isBrowser + }); + //Something used by node. + if (req.paths) { + modRequire.paths = req.paths; + } + return modRequire; + } + + /** + * Used to update the normalized name for plugin-based dependencies + * after a plugin loads, since it can have its own normalization structure. + * @param {String} pluginName the normalized plugin module name. + */ + function updateNormalizedNames(pluginName) { + + var oldFullName, oldModuleMap, moduleMap, fullName, callbacks, + i, j, k, depArray, existingCallbacks, + maps = normalizedWaiting[pluginName]; + + if (maps) { + for (i = 0; (oldModuleMap = maps[i]); i++) { + oldFullName = oldModuleMap.fullName; + moduleMap = makeModuleMap(oldModuleMap.originalName, oldModuleMap.parentMap); + fullName = moduleMap.fullName; + //Callbacks could be undefined if the same plugin!name was + //required twice in a row, so use empty array in that case. + callbacks = managerCallbacks[oldFullName] || []; + existingCallbacks = managerCallbacks[fullName]; + + if (fullName !== oldFullName) { + //Update the specified object, but only if it is already + //in there. In sync environments, it may not be yet. + if (oldFullName in specified) { + delete specified[oldFullName]; + specified[fullName] = true; + } + + //Update managerCallbacks to use the correct normalized name. + //If there are already callbacks for the normalized name, + //just add to them. + if (existingCallbacks) { + managerCallbacks[fullName] = existingCallbacks.concat(callbacks); + } else { + managerCallbacks[fullName] = callbacks; + } + delete managerCallbacks[oldFullName]; + + //In each manager callback, update the normalized name in the depArray. + for (j = 0; j < callbacks.length; j++) { + depArray = callbacks[j].depArray; + for (k = 0; k < depArray.length; k++) { + if (depArray[k] === oldFullName) { + depArray[k] = fullName; + } + } + } + } + } + } + + delete normalizedWaiting[pluginName]; + } + + /* + * Queues a dependency for checking after the loader is out of a + * "paused" state, for example while a script file is being loaded + * in the browser, where it may have many modules defined in it. + * + * depName will be fully qualified, no relative . or .. path. + */ + function queueDependency(dep) { + //Make sure to load any plugin and associate the dependency + //with that plugin. + var prefix = dep.prefix, + fullName = dep.fullName; + + //Do not bother if the depName is already in transit + if (specified[fullName] || fullName in defined) { + return; + } + + if (prefix && !plugins[prefix]) { + //Queue up loading of the dependency, track it + //via context.plugins. Mark it as a plugin so + //that the build system will know to treat it + //special. + plugins[prefix] = undefined; + + //Remember this dep that needs to have normaliztion done + //after the plugin loads. + (normalizedWaiting[prefix] || (normalizedWaiting[prefix] = [])) + .push(dep); + + //Register an action to do once the plugin loads, to update + //all managerCallbacks to use a properly normalized module + //name. + (managerCallbacks[prefix] || + (managerCallbacks[prefix] = [])).push({ + onDep: function (name, value) { + if (name === prefix) { + updateNormalizedNames(prefix); + } + } + }); + + queueDependency(makeModuleMap(prefix)); + } + + context.paused.push(dep); + } + + function execManager(manager) { + var i, ret, waitingCallbacks, err, errFile, + cb = manager.callback, + fullName = manager.fullName, + args = [], + ary = manager.depArray; + + //Call the callback to define the module, if necessary. + if (cb && isFunction(cb)) { + //Pull out the defined dependencies and pass the ordered + //values to the callback. + if (ary) { + for (i = 0; i < ary.length; i++) { + args.push(manager.deps[ary[i]]); + } + } + + if (config.catchError.define) { + try { + ret = req.execCb(fullName, manager.callback, args, defined[fullName]); + } catch (e) { + err = e; + } + } else { + ret = req.execCb(fullName, manager.callback, args, defined[fullName]); + } + + if (fullName) { + //If setting exports via "module" is in play, + //favor that over return value and exports. After that, + //favor a non-undefined return value over exports use. + if (manager.cjsModule && manager.cjsModule.exports !== undefined) { + ret = defined[fullName] = manager.cjsModule.exports; + } else if (ret === undefined && manager.usingExports) { + //exports already set the defined value. + ret = defined[fullName]; + } else { + //Use the return value from the function. + defined[fullName] = ret; + } + } + } else if (fullName) { + //May just be an object definition for the module. Only + //worry about defining if have a module name. + ret = defined[fullName] = cb; + } + + //Clean up waiting. Do this before error calls, and before + //calling back waitingCallbacks, so that bookkeeping is correct + //in the event of an error and error is reported in correct order, + //since the waitingCallbacks will likely have errors if the + //onError function does not throw. + if (waiting[manager.waitId]) { + delete waiting[manager.waitId]; + manager.isDone = true; + context.waitCount -= 1; + if (context.waitCount === 0) { + //Clear the wait array used for cycles. + waitAry = []; + } + } + + if (err) { + errFile = (fullName ? makeModuleMap(fullName).url : '') || + err.fileName || err.sourceURL; + err = makeError('defineerror', 'Error evaluating ' + + 'module "' + fullName + '" at location "' + + errFile + '":\n' + + err + '\nfileName:' + errFile + + '\nlineNumber: ' + (err.lineNumber || err.line), err); + err.moduleName = fullName; + return req.onError(err); + } + + if (fullName) { + //If anything was waiting for this module to be defined, + //notify them now. + waitingCallbacks = managerCallbacks[fullName]; + if (waitingCallbacks) { + for (i = 0; i < waitingCallbacks.length; i++) { + waitingCallbacks[i].onDep(fullName, ret); + } + delete managerCallbacks[fullName]; + } + } + + return undefined; + } + + function main(inName, depArray, callback, relModuleMap) { + var moduleMap = makeModuleMap(inName, relModuleMap), + name = moduleMap.name, + fullName = moduleMap.fullName, + uniques = {}, + manager = { + //Use a wait ID because some entries are anon + //async require calls. + waitId: name || reqWaitIdPrefix + (waitIdCounter++), + depCount: 0, + depMax: 0, + prefix: moduleMap.prefix, + name: name, + fullName: fullName, + deps: {}, + depArray: depArray, + callback: callback, + onDep: function (depName, value) { + if (!(depName in manager.deps)) { + manager.deps[depName] = value; + manager.depCount += 1; + if (manager.depCount === manager.depMax) { + //All done, execute! + execManager(manager); + } + } + } + }, + i, depArg, depName, cjsMod; + + if (fullName) { + //If module already defined for context, or already loaded, + //then leave. Also leave if jQuery is registering but it does + //not match the desired version number in the config. + if (fullName in defined || loaded[fullName] === true || + (fullName === "jquery" && config.jQuery && + config.jQuery !== callback().fn.jquery)) { + return; + } + + //Set specified/loaded here for modules that are also loaded + //as part of a layer, where onScriptLoad is not fired + //for those cases. Do this after the inline define and + //dependency tracing is done. + specified[fullName] = true; + loaded[fullName] = true; + + //If module is jQuery set up delaying its dom ready listeners. + if (fullName === "jquery" && callback) { + jQueryCheck(callback()); + } + } + + //Add the dependencies to the deps field, and register for callbacks + //on the dependencies. + for (i = 0; i < depArray.length; i++) { + depArg = depArray[i]; + //There could be cases like in IE, where a trailing comma will + //introduce a null dependency, so only treat a real dependency + //value as a dependency. + if (depArg) { + //Split the dependency name into plugin and name parts + depArg = makeModuleMap(depArg, (name ? moduleMap : relModuleMap)); + depName = depArg.fullName; + + //Fix the name in depArray to be just the name, since + //that is how it will be called back later. + depArray[i] = depName; + + //Fast path CommonJS standard dependencies. + if (depName === "require") { + manager.deps[depName] = makeRequire(moduleMap); + } else if (depName === "exports") { + //CommonJS module spec 1.1 + manager.deps[depName] = defined[fullName] = {}; + manager.usingExports = true; + } else if (depName === "module") { + //CommonJS module spec 1.1 + manager.cjsModule = cjsMod = manager.deps[depName] = { + id: name, + uri: name ? context.nameToUrl(name, null, relModuleMap) : undefined, + exports: defined[fullName] + }; + cjsMod.setExports = makeSetExports(cjsMod); + } else if (depName in defined && !(depName in waiting)) { + //Module already defined, no need to wait for it. + manager.deps[depName] = defined[depName]; + } else if (!uniques[depName]) { + + //A dynamic dependency. + manager.depMax += 1; + + queueDependency(depArg); + + //Register to get notification when dependency loads. + (managerCallbacks[depName] || + (managerCallbacks[depName] = [])).push(manager); + + uniques[depName] = true; + } + } + } + + //Do not bother tracking the manager if it is all done. + if (manager.depCount === manager.depMax) { + //All done, execute! + execManager(manager); + } else { + waiting[manager.waitId] = manager; + waitAry.push(manager); + context.waitCount += 1; + } + } + + /** + * Convenience method to call main for a define call that was put on + * hold in the defQueue. + */ + function callDefMain(args) { + main.apply(null, args); + //Mark the module loaded. Must do it here in addition + //to doing it in define in case a script does + //not call define + loaded[args[0]] = true; + } + + /** + * jQuery 1.4.3+ supports ways to hold off calling + * calling jQuery ready callbacks until all scripts are loaded. Be sure + * to track it if the capability exists.. Also, since jQuery 1.4.3 does + * not register as a module, need to do some global inference checking. + * Even if it does register as a module, not guaranteed to be the precise + * name of the global. If a jQuery is tracked for this context, then go + * ahead and register it as a module too, if not already in process. + */ + jQueryCheck = function (jqCandidate) { + if (!context.jQuery) { + var $ = jqCandidate || (typeof jQuery !== "undefined" ? jQuery : null); + + if ($) { + //If a specific version of jQuery is wanted, make sure to only + //use this jQuery if it matches. + if (config.jQuery && $.fn.jquery !== config.jQuery) { + return; + } + + if ("holdReady" in $ || "readyWait" in $) { + context.jQuery = $; + + //Manually create a "jquery" module entry if not one already + //or in process. Note this could trigger an attempt at + //a second jQuery registration, but does no harm since + //the first one wins, and it is the same value anyway. + callDefMain(["jquery", [], function () { + return jQuery; + }]); + + //Ask jQuery to hold DOM ready callbacks. + if (context.scriptCount) { + jQueryHoldReady($, true); + context.jQueryIncremented = true; + } + } + } + } + }; + + function forceExec(manager, traced) { + if (manager.isDone) { + return undefined; + } + + var fullName = manager.fullName, + depArray = manager.depArray, + depName, i; + if (fullName) { + if (traced[fullName]) { + return defined[fullName]; + } + + traced[fullName] = true; + } + + //forceExec all of its dependencies. + for (i = 0; i < depArray.length; i++) { + //Some array members may be null, like if a trailing comma + //IE, so do the explicit [i] access and check if it has a value. + depName = depArray[i]; + if (depName) { + if (!manager.deps[depName] && waiting[depName]) { + manager.onDep(depName, forceExec(waiting[depName], traced)); + } + } + } + + return fullName ? defined[fullName] : undefined; + } + + /** + * Checks if all modules for a context are loaded, and if so, evaluates the + * new ones in right dependency order. + * + * @private + */ + function checkLoaded() { + var waitInterval = config.waitSeconds * 1000, + //It is possible to disable the wait interval by using waitSeconds of 0. + expired = waitInterval && (context.startTime + waitInterval) < new Date().getTime(), + noLoads = "", hasLoadedProp = false, stillLoading = false, prop, + err, manager; + + //If there are items still in the paused queue processing wait. + //This is particularly important in the sync case where each paused + //item is processed right away but there may be more waiting. + if (context.pausedCount > 0) { + return undefined; + } + + //Determine if priority loading is done. If so clear the priority. If + //not, then do not check + if (config.priorityWait) { + if (isPriorityDone()) { + //Call resume, since it could have + //some waiting dependencies to trace. + resume(); + } else { + return undefined; + } + } + + //See if anything is still in flight. + for (prop in loaded) { + if (!(prop in empty)) { + hasLoadedProp = true; + if (!loaded[prop]) { + if (expired) { + noLoads += prop + " "; + } else { + stillLoading = true; + break; + } + } + } + } + + //Check for exit conditions. + if (!hasLoadedProp && !context.waitCount) { + //If the loaded object had no items, then the rest of + //the work below does not need to be done. + return undefined; + } + if (expired && noLoads) { + //If wait time expired, throw error of unloaded modules. + err = makeError("timeout", "Load timeout for modules: " + noLoads); + err.requireType = "timeout"; + err.requireModules = noLoads; + return req.onError(err); + } + if (stillLoading || context.scriptCount) { + //Something is still waiting to load. Wait for it, but only + //if a timeout is not already in effect. + if ((isBrowser || isWebWorker) && !checkLoadedTimeoutId) { + checkLoadedTimeoutId = setTimeout(function () { + checkLoadedTimeoutId = 0; + checkLoaded(); + }, 50); + } + return undefined; + } + + //If still have items in the waiting cue, but all modules have + //been loaded, then it means there are some circular dependencies + //that need to be broken. + //However, as a waiting thing is fired, then it can add items to + //the waiting cue, and those items should not be fired yet, so + //make sure to redo the checkLoaded call after breaking a single + //cycle, if nothing else loaded then this logic will pick it up + //again. + if (context.waitCount) { + //Cycle through the waitAry, and call items in sequence. + for (i = 0; (manager = waitAry[i]); i++) { + forceExec(manager, {}); + } + + //Only allow this recursion to a certain depth. Only + //triggered by errors in calling a module in which its + //modules waiting on it cannot finish loading, or some circular + //dependencies that then may add more dependencies. + //The value of 5 is a bit arbitrary. Hopefully just one extra + //pass, or two for the case of circular dependencies generating + //more work that gets resolved in the sync node case. + if (checkLoadedDepth < 5) { + checkLoadedDepth += 1; + checkLoaded(); + } + } + + checkLoadedDepth = 0; + + //Check for DOM ready, and nothing is waiting across contexts. + req.checkReadyState(); + + return undefined; + } + + function callPlugin(pluginName, dep) { + var name = dep.name, + fullName = dep.fullName, + load; + + //Do not bother if plugin is already defined or being loaded. + if (fullName in defined || fullName in loaded) { + return; + } + + if (!plugins[pluginName]) { + plugins[pluginName] = defined[pluginName]; + } + + //Only set loaded to false for tracking if it has not already been set. + if (!loaded[fullName]) { + loaded[fullName] = false; + } + + load = function (ret) { + //Allow the build process to register plugin-loaded dependencies. + if (req.onPluginLoad) { + req.onPluginLoad(context, pluginName, name, ret); + } + + execManager({ + prefix: dep.prefix, + name: dep.name, + fullName: dep.fullName, + callback: function () { + return ret; + } + }); + loaded[fullName] = true; + }; + + //Allow plugins to load other code without having to know the + //context or how to "complete" the load. + load.fromText = function (moduleName, text) { + /*jslint evil: true */ + var hasInteractive = useInteractive; + + //Indicate a the module is in process of loading. + context.loaded[moduleName] = false; + context.scriptCount += 1; + + //Turn off interactive script matching for IE for any define + //calls in the text, then turn it back on at the end. + if (hasInteractive) { + useInteractive = false; + } + + req.exec(text); + + if (hasInteractive) { + useInteractive = true; + } + + //Support anonymous modules. + context.completeLoad(moduleName); + }; + + //Use parentName here since the plugin's name is not reliable, + //could be some weird string with no path that actually wants to + //reference the parentName's path. + plugins[pluginName].load(name, makeRequire(dep.parentMap, true), load, config); + } + + function loadPaused(dep) { + //Renormalize dependency if its name was waiting on a plugin + //to load, which as since loaded. + if (dep.prefix && dep.name && dep.name.indexOf('__$p') === 0 && defined[dep.prefix]) { + dep = makeModuleMap(dep.originalName, dep.parentMap); + } + + var pluginName = dep.prefix, + fullName = dep.fullName, + urlFetched = context.urlFetched; + + //Do not bother if the dependency has already been specified. + if (specified[fullName] || loaded[fullName]) { + return; + } else { + specified[fullName] = true; + } + + if (pluginName) { + //If plugin not loaded, wait for it. + //set up callback list. if no list, then register + //managerCallback for that plugin. + if (defined[pluginName]) { + callPlugin(pluginName, dep); + } else { + if (!pluginsQueue[pluginName]) { + pluginsQueue[pluginName] = []; + (managerCallbacks[pluginName] || + (managerCallbacks[pluginName] = [])).push({ + onDep: function (name, value) { + if (name === pluginName) { + var i, oldModuleMap, ary = pluginsQueue[pluginName]; + + //Now update all queued plugin actions. + for (i = 0; i < ary.length; i++) { + oldModuleMap = ary[i]; + //Update the moduleMap since the + //module name may be normalized + //differently now. + callPlugin(pluginName, + makeModuleMap(oldModuleMap.originalName, oldModuleMap.parentMap)); + } + delete pluginsQueue[pluginName]; + } + } + }); + } + pluginsQueue[pluginName].push(dep); + } + } else { + if (!urlFetched[dep.url]) { + req.load(context, fullName, dep.url); + urlFetched[dep.url] = true; + } + } + } + + /** + * Resumes tracing of dependencies and then checks if everything is loaded. + */ + resume = function () { + var args, i, p; + + resumeDepth += 1; + + if (context.scriptCount <= 0) { + //Synchronous envs will push the number below zero with the + //decrement above, be sure to set it back to zero for good measure. + //require() calls that also do not end up loading scripts could + //push the number negative too. + context.scriptCount = 0; + } + + //Make sure any remaining defQueue items get properly processed. + while (defQueue.length) { + args = defQueue.shift(); + if (args[0] === null) { + return req.onError(makeError('mismatch', 'Mismatched anonymous define() module: ' + args[args.length - 1])); + } else { + callDefMain(args); + } + } + + //Skip the resume of paused dependencies + //if current context is in priority wait. + if (!config.priorityWait || isPriorityDone()) { + while (context.paused.length) { + p = context.paused; + context.pausedCount += p.length; + //Reset paused list + context.paused = []; + + for (i = 0; (args = p[i]); i++) { + loadPaused(args); + } + //Move the start time for timeout forward. + context.startTime = (new Date()).getTime(); + context.pausedCount -= p.length; + } + } + + //Only check if loaded when resume depth is 1. It is likely that + //it is only greater than 1 in sync environments where a factory + //function also then calls the callback-style require. In those + //cases, the checkLoaded should not occur until the resume + //depth is back at the top level. + if (resumeDepth === 1) { + checkLoaded(); + } + + resumeDepth -= 1; + + return undefined; + }; + + //Define the context object. Many of these fields are on here + //just to make debugging easier. + context = { + contextName: contextName, + config: config, + defQueue: defQueue, + waiting: waiting, + waitCount: 0, + specified: specified, + loaded: loaded, + urlMap: urlMap, + scriptCount: 0, + urlFetched: {}, + defined: defined, + paused: [], + pausedCount: 0, + plugins: plugins, + managerCallbacks: managerCallbacks, + makeModuleMap: makeModuleMap, + normalize: normalize, + /** + * Set a configuration for the context. + * @param {Object} cfg config object to integrate. + */ + configure: function (cfg) { + var paths, prop, packages, pkgs, packagePaths, requireWait; + + //Make sure the baseUrl ends in a slash. + if (cfg.baseUrl) { + if (cfg.baseUrl.charAt(cfg.baseUrl.length - 1) !== "/") { + cfg.baseUrl += "/"; + } + } + + //Save off the paths and packages since they require special processing, + //they are additive. + paths = config.paths; + packages = config.packages; + pkgs = config.pkgs; + + //Mix in the config values, favoring the new values over + //existing ones in context.config. + mixin(config, cfg, true); + + //Adjust paths if necessary. + if (cfg.paths) { + for (prop in cfg.paths) { + if (!(prop in empty)) { + paths[prop] = cfg.paths[prop]; + } + } + config.paths = paths; + } + + packagePaths = cfg.packagePaths; + if (packagePaths || cfg.packages) { + //Convert packagePaths into a packages config. + if (packagePaths) { + for (prop in packagePaths) { + if (!(prop in empty)) { + configurePackageDir(pkgs, packagePaths[prop], prop); + } + } + } + + //Adjust packages if necessary. + if (cfg.packages) { + configurePackageDir(pkgs, cfg.packages); + } + + //Done with modifications, assing packages back to context config + config.pkgs = pkgs; + } + + //If priority loading is in effect, trigger the loads now + if (cfg.priority) { + //Hold on to requireWait value, and reset it after done + requireWait = context.requireWait; + + //Allow tracing some require calls to allow the fetching + //of the priority config. + context.requireWait = false; + + //But first, call resume to register any defined modules that may + //be in a data-main built file before the priority config + //call. Also grab any waiting define calls for this context. + context.takeGlobalQueue(); + resume(); + + context.require(cfg.priority); + + //Trigger a resume right away, for the case when + //the script with the priority load is done as part + //of a data-main call. In that case the normal resume + //call will not happen because the scriptCount will be + //at 1, since the script for data-main is being processed. + resume(); + + //Restore previous state. + context.requireWait = requireWait; + config.priorityWait = cfg.priority; + } + + //If a deps array or a config callback is specified, then call + //require with those args. This is useful when require is defined as a + //config object before require.js is loaded. + if (cfg.deps || cfg.callback) { + context.require(cfg.deps || [], cfg.callback); + } + + //Set up ready callback, if asked. Useful when require is defined as a + //config object before require.js is loaded. + if (cfg.ready) { + req.ready(cfg.ready); + } + }, + + requireDefined: function (moduleName, relModuleMap) { + return makeModuleMap(moduleName, relModuleMap).fullName in defined; + }, + + requireSpecified: function (moduleName, relModuleMap) { + return makeModuleMap(moduleName, relModuleMap).fullName in specified; + }, + + require: function (deps, callback, relModuleMap) { + var moduleName, fullName, moduleMap; + if (typeof deps === "string") { + //Synchronous access to one module. If require.get is + //available (as in the Node adapter), prefer that. + //In this case deps is the moduleName and callback is + //the relModuleMap + if (req.get) { + return req.get(context, deps, callback); + } + + //Just return the module wanted. In this scenario, the + //second arg (if passed) is just the relModuleMap. + moduleName = deps; + relModuleMap = callback; + + //Normalize module name, if it contains . or .. + moduleMap = makeModuleMap(moduleName, relModuleMap); + fullName = moduleMap.fullName; + + if (!(fullName in defined)) { + return req.onError(makeError("notloaded", "Module name '" + + moduleMap.fullName + + "' has not been loaded yet for context: " + + contextName)); + } + return defined[fullName]; + } + + main(null, deps, callback, relModuleMap); + + //If the require call does not trigger anything new to load, + //then resume the dependency processing. + if (!context.requireWait) { + while (!context.scriptCount && context.paused.length) { + //For built layers, there can be some defined + //modules waiting for intake into the context, + //in particular module plugins. Take them. + context.takeGlobalQueue(); + resume(); + } + } + return context.require; + }, + + /** + * Internal method to transfer globalQueue items to this context's + * defQueue. + */ + takeGlobalQueue: function () { + //Push all the globalDefQueue items into the context's defQueue + if (globalDefQueue.length) { + //Array splice in the values since the context code has a + //local var ref to defQueue, so cannot just reassign the one + //on context. + apsp.apply(context.defQueue, + [context.defQueue.length - 1, 0].concat(globalDefQueue)); + globalDefQueue = []; + } + }, + + /** + * Internal method used by environment adapters to complete a load event. + * A load event could be a script load or just a load pass from a synchronous + * load call. + * @param {String} moduleName the name of the module to potentially complete. + */ + completeLoad: function (moduleName) { + var args; + + context.takeGlobalQueue(); + + while (defQueue.length) { + args = defQueue.shift(); + + if (args[0] === null) { + args[0] = moduleName; + break; + } else if (args[0] === moduleName) { + //Found matching define call for this script! + break; + } else { + //Some other named define call, most likely the result + //of a build layer that included many define calls. + callDefMain(args); + args = null; + } + } + if (args) { + callDefMain(args); + } else { + //A script that does not call define(), so just simulate + //the call for it. Special exception for jQuery dynamic load. + callDefMain([moduleName, [], + moduleName === "jquery" && typeof jQuery !== "undefined" ? + function () { + return jQuery; + } : null]); + } + + //Mark the script as loaded. Note that this can be different from a + //moduleName that maps to a define call. This line is important + //for traditional browser scripts. + loaded[moduleName] = true; + + //If a global jQuery is defined, check for it. Need to do it here + //instead of main() since stock jQuery does not register as + //a module via define. + jQueryCheck(); + + //Doing this scriptCount decrement branching because sync envs + //need to decrement after resume, otherwise it looks like + //loading is complete after the first dependency is fetched. + //For browsers, it works fine to decrement after, but it means + //the checkLoaded setTimeout 50 ms cost is taken. To avoid + //that cost, decrement beforehand. + if (req.isAsync) { + context.scriptCount -= 1; + } + resume(); + if (!req.isAsync) { + context.scriptCount -= 1; + } + }, + + /** + * Converts a module name + .extension into an URL path. + * *Requires* the use of a module name. It does not support using + * plain URLs like nameToUrl. + */ + toUrl: function (moduleNamePlusExt, relModuleMap) { + var index = moduleNamePlusExt.lastIndexOf("."), + ext = null; + + if (index !== -1) { + ext = moduleNamePlusExt.substring(index, moduleNamePlusExt.length); + moduleNamePlusExt = moduleNamePlusExt.substring(0, index); + } + + return context.nameToUrl(moduleNamePlusExt, ext, relModuleMap); + }, + + /** + * Converts a module name to a file path. Supports cases where + * moduleName may actually be just an URL. + */ + nameToUrl: function (moduleName, ext, relModuleMap) { + var paths, pkgs, pkg, pkgPath, syms, i, parentModule, url, + config = context.config; + + //Normalize module name if have a base relative module name to work from. + moduleName = normalize(moduleName, relModuleMap && relModuleMap.fullName); + + //If a colon is in the URL, it indicates a protocol is used and it is just + //an URL to a file, or if it starts with a slash or ends with .js, it is just a plain file. + //The slash is important for protocol-less URLs as well as full paths. + if (req.jsExtRegExp.test(moduleName)) { + //Just a plain path, not module name lookup, so just return it. + //Add extension if it is included. This is a bit wonky, only non-.js things pass + //an extension, this method probably needs to be reworked. + url = moduleName + (ext ? ext : ""); + } else { + //A module that needs to be converted to a path. + paths = config.paths; + pkgs = config.pkgs; + + syms = moduleName.split("/"); + //For each module name segment, see if there is a path + //registered for it. Start with most specific name + //and work up from it. + for (i = syms.length; i > 0; i--) { + parentModule = syms.slice(0, i).join("/"); + if (paths[parentModule]) { + syms.splice(0, i, paths[parentModule]); + break; + } else if ((pkg = pkgs[parentModule])) { + //If module name is just the package name, then looking + //for the main module. + if (moduleName === pkg.name) { + pkgPath = pkg.location + '/' + pkg.main; + } else { + pkgPath = pkg.location; + } + syms.splice(0, i, pkgPath); + break; + } + } + + //Join the path parts together, then figure out if baseUrl is needed. + url = syms.join("/") + (ext || ".js"); + url = (url.charAt(0) === '/' || url.match(/^\w+:/) ? "" : config.baseUrl) + url; + } + + return config.urlArgs ? url + + ((url.indexOf('?') === -1 ? '?' : '&') + + config.urlArgs) : url; + } + }; + + //Make these visible on the context so can be called at the very + //end of the file to bootstrap + context.jQueryCheck = jQueryCheck; + context.resume = resume; + + return context; + } + + /** + * Main entry point. + * + * If the only argument to require is a string, then the module that + * is represented by that string is fetched for the appropriate context. + * + * If the first argument is an array, then it will be treated as an array + * of dependency string names to fetch. An optional function callback can + * be specified to execute when all of those dependencies are available. + * + * Make a local req variable to help Caja compliance (it assumes things + * on a require that are not standardized), and to give a short + * name for minification/local scope use. + */ + req = requirejs = function (deps, callback) { + + //Find the right context, use default + var contextName = defContextName, + context, config; + + // Determine if have config object in the call. + if (!isArray(deps) && typeof deps !== "string") { + // deps is a config object + config = deps; + if (isArray(callback)) { + // Adjust args if there are dependencies + deps = callback; + callback = arguments[2]; + } else { + deps = []; + } + } + + if (config && config.context) { + contextName = config.context; + } + + context = contexts[contextName] || + (contexts[contextName] = newContext(contextName)); + + if (config) { + context.configure(config); + } + + return context.require(deps, callback); + }; + + /** + * Support require.config() to make it easier to cooperate with other + * AMD loaders on globally agreed names. + */ + req.config = function (config) { + return req(config); + }; + + /** + * Export require as a global, but only if it does not already exist. + */ + if (typeof require === "undefined") { + require = req; + } + + /** + * Global require.toUrl(), to match global require, mostly useful + * for debugging/work in the global space. + */ + req.toUrl = function (moduleNamePlusExt) { + return contexts[defContextName].toUrl(moduleNamePlusExt); + }; + + req.version = version; + req.isArray = isArray; + req.isFunction = isFunction; + req.mixin = mixin; + //Used to filter out dependencies that are already paths. + req.jsExtRegExp = /^\/|:|\?|\.js$/; + s = req.s = { + contexts: contexts, + //Stores a list of URLs that should not get async script tag treatment. + skipAsync: {}, + isPageLoaded: !isBrowser, + readyCalls: [] + }; + + req.isAsync = req.isBrowser = isBrowser; + if (isBrowser) { + head = s.head = document.getElementsByTagName("head")[0]; + //If BASE tag is in play, using appendChild is a problem for IE6. + //When that browser dies, this can be removed. Details in this jQuery bug: + //http://dev.jquery.com/ticket/2709 + baseElement = document.getElementsByTagName("base")[0]; + if (baseElement) { + head = s.head = baseElement.parentNode; + } + } + + /** + * Any errors that require explicitly generates will be passed to this + * function. Intercept/override it if you want custom error handling. + * @param {Error} err the error object. + */ + req.onError = function (err) { + throw err; + }; + + /** + * Does the request to load a module for the browser case. + * Make this a separate function to allow other environments + * to override it. + * + * @param {Object} context the require context to find state. + * @param {String} moduleName the name of the module. + * @param {Object} url the URL to the module. + */ + req.load = function (context, moduleName, url) { + var loaded = context.loaded; + + isDone = false; + + //Only set loaded to false for tracking if it has not already been set. + if (!loaded[moduleName]) { + loaded[moduleName] = false; + } + + context.scriptCount += 1; + req.attach(url, context, moduleName); + + //If tracking a jQuery, then make sure its ready callbacks + //are put on hold to prevent its ready callbacks from + //triggering too soon. + if (context.jQuery && !context.jQueryIncremented) { + jQueryHoldReady(context.jQuery, true); + context.jQueryIncremented = true; + } + }; + + function getInteractiveScript() { + var scripts, i, script; + if (interactiveScript && interactiveScript.readyState === 'interactive') { + return interactiveScript; + } + + scripts = document.getElementsByTagName('script'); + for (i = scripts.length - 1; i > -1 && (script = scripts[i]); i--) { + if (script.readyState === 'interactive') { + return (interactiveScript = script); + } + } + + return null; + } + + /** + * The function that handles definitions of modules. Differs from + * require() in that a string for the module should be the first argument, + * and the function to execute after dependencies are loaded should + * return a value to define the module corresponding to the first argument's + * name. + */ + define = req.def = function (name, deps, callback) { + var node, context; + + //Allow for anonymous functions + if (typeof name !== 'string') { + //Adjust args appropriately + callback = deps; + deps = name; + name = null; + } + + //This module may not have dependencies + if (!req.isArray(deps)) { + callback = deps; + deps = []; + } + + //If no name, and callback is a function, then figure out if it a + //CommonJS thing with dependencies. + if (!name && !deps.length && req.isFunction(callback)) { + //Remove comments from the callback string, + //look for require calls, and pull them into the dependencies, + //but only if there are function args. + if (callback.length) { + callback + .toString() + .replace(commentRegExp, "") + .replace(cjsRequireRegExp, function (match, dep) { + deps.push(dep); + }); + + //May be a CommonJS thing even without require calls, but still + //could use exports, and module. Avoid doing exports and module + //work though if it just needs require. + //REQUIRES the function to expect the CommonJS variables in the + //order listed below. + deps = (callback.length === 1 ? ["require"] : ["require", "exports", "module"]).concat(deps); + } + } + + //If in IE 6-8 and hit an anonymous define() call, do the interactive + //work. + if (useInteractive) { + node = currentlyAddingScript || getInteractiveScript(); + if (node) { + if (!name) { + name = node.getAttribute("data-requiremodule"); + } + context = contexts[node.getAttribute("data-requirecontext")]; + } + } + + //Always save off evaluating the def call until the script onload handler. + //This allows multiple modules to be in a file without prematurely + //tracing dependencies, and allows for anonymous module support, + //where the module name is not known until the script onload event + //occurs. If no context, use the global queue, and get it processed + //in the onscript load callback. + (context ? context.defQueue : globalDefQueue).push([name, deps, callback]); + + return undefined; + }; + + define.amd = { + multiversion: true, + plugins: true, + jQuery: true + }; + + /** + * Executes the text. Normally just uses eval, but can be modified + * to use a more environment specific call. + * @param {String} text the text to execute/evaluate. + */ + req.exec = function (text) { + return eval(text); + }; + + /** + * Executes a module callack function. Broken out as a separate function + * solely to allow the build system to sequence the files in the built + * layer in the right sequence. + * + * @private + */ + req.execCb = function (name, callback, args, exports) { + return callback.apply(exports, args); + }; + + /** + * callback for script loads, used to check status of loading. + * + * @param {Event} evt the event from the browser for the script + * that was loaded. + * + * @private + */ + req.onScriptLoad = function (evt) { + //Using currentTarget instead of target for Firefox 2.0's sake. Not + //all old browsers will be supported, but this one was easy enough + //to support and still makes sense. + var node = evt.currentTarget || evt.srcElement, contextName, moduleName, + context; + + if (evt.type === "load" || readyRegExp.test(node.readyState)) { + //Reset interactive script so a script node is not held onto for + //to long. + interactiveScript = null; + + //Pull out the name of the module and the context. + contextName = node.getAttribute("data-requirecontext"); + moduleName = node.getAttribute("data-requiremodule"); + context = contexts[contextName]; + + contexts[contextName].completeLoad(moduleName); + + //Clean up script binding. Favor detachEvent because of IE9 + //issue, see attachEvent/addEventListener comment elsewhere + //in this file. + if (node.detachEvent && !isOpera) { + //Probably IE. If not it will throw an error, which will be + //useful to know. + node.detachEvent("onreadystatechange", req.onScriptLoad); + } else { + node.removeEventListener("load", req.onScriptLoad, false); + } + } + }; + + /** + * Attaches the script represented by the URL to the current + * environment. Right now only supports browser loading, + * but can be redefined in other environments to do the right thing. + * @param {String} url the url of the script to attach. + * @param {Object} context the context that wants the script. + * @param {moduleName} the name of the module that is associated with the script. + * @param {Function} [callback] optional callback, defaults to require.onScriptLoad + * @param {String} [type] optional type, defaults to text/javascript + */ + req.attach = function (url, context, moduleName, callback, type) { + var node, loaded; + if (isBrowser) { + //In the browser so use a script tag + callback = callback || req.onScriptLoad; + node = context && context.config && context.config.xhtml ? + document.createElementNS("http://www.w3.org/1999/xhtml", "html:script") : + document.createElement("script"); + node.type = type || "text/javascript"; + node.charset = "utf-8"; + //Use async so Gecko does not block on executing the script if something + //like a long-polling comet tag is being run first. Gecko likes + //to evaluate scripts in DOM order, even for dynamic scripts. + //It will fetch them async, but only evaluate the contents in DOM + //order, so a long-polling script tag can delay execution of scripts + //after it. But telling Gecko we expect async gets us the behavior + //we want -- execute it whenever it is finished downloading. Only + //Helps Firefox 3.6+ + //Allow some URLs to not be fetched async. Mostly helps the order! + //plugin + node.async = !s.skipAsync[url]; + + if (context) { + node.setAttribute("data-requirecontext", context.contextName); + } + node.setAttribute("data-requiremodule", moduleName); + + //Set up load listener. Test attachEvent first because IE9 has + //a subtle issue in its addEventListener and script onload firings + //that do not match the behavior of all other browsers with + //addEventListener support, which fire the onload event for a + //script right after the script execution. See: + //https://connect.microsoft.com/IE/feedback/details/648057/script-onload-event-is-not-fired-immediately-after-script-execution + //UNFORTUNATELY Opera implements attachEvent but does not follow the script + //script execution mode. + if (node.attachEvent && !isOpera) { + //Probably IE. IE (at least 6-8) do not fire + //script onload right after executing the script, so + //we cannot tie the anonymous define call to a name. + //However, IE reports the script as being in "interactive" + //readyState at the time of the define call. + useInteractive = true; + node.attachEvent("onreadystatechange", callback); + } else { + node.addEventListener("load", callback, false); + } + node.src = url; + + //For some cache cases in IE 6-8, the script executes before the end + //of the appendChild execution, so to tie an anonymous define + //call to the module name (which is stored on the node), hold on + //to a reference to this node, but clear after the DOM insertion. + currentlyAddingScript = node; + if (baseElement) { + head.insertBefore(node, baseElement); + } else { + head.appendChild(node); + } + currentlyAddingScript = null; + return node; + } else if (isWebWorker) { + //In a web worker, use importScripts. This is not a very + //efficient use of importScripts, importScripts will block until + //its script is downloaded and evaluated. However, if web workers + //are in play, the expectation that a build has been done so that + //only one script needs to be loaded anyway. This may need to be + //reevaluated if other use cases become common. + loaded = context.loaded; + loaded[moduleName] = false; + + importScripts(url); + + //Account for anonymous modules + context.completeLoad(moduleName); + } + return null; + }; + + //Look for a data-main script attribute, which could also adjust the baseUrl. + if (isBrowser) { + //Figure out baseUrl. Get it from the script tag with require.js in it. + scripts = document.getElementsByTagName("script"); + + for (i = scripts.length - 1; i > -1 && (script = scripts[i]); i--) { + //Set the "head" where we can append children by + //using the script's parent. + if (!head) { + head = script.parentNode; + } + + //Look for a data-main attribute to set main script for the page + //to load. If it is there, the path to data main becomes the + //baseUrl, if it is not already set. + if ((dataMain = script.getAttribute('data-main'))) { + if (!cfg.baseUrl) { + //Pull off the directory of data-main for use as the + //baseUrl. + src = dataMain.split('/'); + mainScript = src.pop(); + subPath = src.length ? src.join('/') + '/' : './'; + + //Set final config. + cfg.baseUrl = subPath; + //Strip off any trailing .js since dataMain is now + //like a module name. + dataMain = mainScript.replace(jsSuffixRegExp, ''); + } + + //Put the data-main script in the files to load. + cfg.deps = cfg.deps ? cfg.deps.concat(dataMain) : [dataMain]; + + break; + } + } + } + + //Set baseUrl based on config. + s.baseUrl = cfg.baseUrl; + + //****** START page load functionality **************** + /** + * Sets the page as loaded and triggers check for all modules loaded. + */ + req.pageLoaded = function () { + if (!s.isPageLoaded) { + s.isPageLoaded = true; + if (scrollIntervalId) { + clearInterval(scrollIntervalId); + } + + //Part of a fix for FF < 3.6 where readyState was not set to + //complete so libraries like jQuery that check for readyState + //after page load where not getting initialized correctly. + //Original approach suggested by Andrea Giammarchi: + //http://webreflection.blogspot.com/2009/11/195-chars-to-help-lazy-loading.html + //see other setReadyState reference for the rest of the fix. + if (setReadyState) { + document.readyState = "complete"; + } + + req.callReady(); + } + }; + + //See if there is nothing waiting across contexts, and if not, trigger + //callReady. + req.checkReadyState = function () { + var contexts = s.contexts, prop; + for (prop in contexts) { + if (!(prop in empty)) { + if (contexts[prop].waitCount) { + return; + } + } + } + s.isDone = true; + req.callReady(); + }; + + /** + * Internal function that calls back any ready functions. If you are + * integrating RequireJS with another library without require.ready support, + * you can define this method to call your page ready code instead. + */ + req.callReady = function () { + var callbacks = s.readyCalls, i, callback, contexts, context, prop; + + if (s.isPageLoaded && s.isDone) { + if (callbacks.length) { + s.readyCalls = []; + for (i = 0; (callback = callbacks[i]); i++) { + callback(); + } + } + + //If jQuery with DOM ready delayed, release it now. + contexts = s.contexts; + for (prop in contexts) { + if (!(prop in empty)) { + context = contexts[prop]; + if (context.jQueryIncremented) { + jQueryHoldReady(context.jQuery, false); + context.jQueryIncremented = false; + } + } + } + } + }; + + /** + * Registers functions to call when the page is loaded + */ + req.ready = function (callback) { + if (s.isPageLoaded && s.isDone) { + callback(); + } else { + s.readyCalls.push(callback); + } + return req; + }; + + if (isBrowser) { + if (document.addEventListener) { + //Standards. Hooray! Assumption here that if standards based, + //it knows about DOMContentLoaded. + document.addEventListener("DOMContentLoaded", req.pageLoaded, false); + window.addEventListener("load", req.pageLoaded, false); + //Part of FF < 3.6 readystate fix (see setReadyState refs for more info) + if (!document.readyState) { + setReadyState = true; + document.readyState = "loading"; + } + } else if (window.attachEvent) { + window.attachEvent("onload", req.pageLoaded); + + //DOMContentLoaded approximation, as found by Diego Perini: + //http://javascript.nwbox.com/IEContentLoaded/ + if (self === self.top) { + scrollIntervalId = setInterval(function () { + try { + //From this ticket: + //http://bugs.dojotoolkit.org/ticket/11106, + //In IE HTML Application (HTA), such as in a selenium test, + //javascript in the iframe can't see anything outside + //of it, so self===self.top is true, but the iframe is + //not the top window and doScroll will be available + //before document.body is set. Test document.body + //before trying the doScroll trick. + if (document.body) { + document.documentElement.doScroll("left"); + req.pageLoaded(); + } + } catch (e) {} + }, 30); + } + } + + //Check if document already complete, and if so, just trigger page load + //listeners. NOTE: does not work with Firefox before 3.6. To support + //those browsers, manually call require.pageLoaded(). + if (document.readyState === "complete") { + req.pageLoaded(); + } + } + //****** END page load functionality **************** + + //Set up default context. If require was a configuration object, use that as base config. + req(cfg); + + //If modules are built into require.js, then need to make sure dependencies are + //traced. Use a setTimeout in the browser world, to allow all the modules to register + //themselves. In a non-browser env, assume that modules are not built into require.js, + //which seems odd to do on the server. + if (req.isAsync && typeof setTimeout !== "undefined") { + ctx = s.contexts[(cfg.context || defContextName)]; + //Indicate that the script that includes require() is still loading, + //so that require()'d dependencies are not traced until the end of the + //file is parsed (approximated via the setTimeout call). + ctx.requireWait = true; + setTimeout(function () { + ctx.requireWait = false; + + //Any modules included with the require.js file will be in the + //global queue, assign them to this context. + ctx.takeGlobalQueue(); + + //Allow for jQuery to be loaded/already in the page, and if jQuery 1.4.3, + //make sure to hold onto it for readyWait triggering. + ctx.jQueryCheck(); + + if (!ctx.scriptCount) { + ctx.resume(); + } + req.checkReadyState(); + }, 0); + } +}()); + + + if (env === 'rhino') { + /** + * @license RequireJS rhino Copyright (c) 2010-2011, The Dojo Foundation All Rights Reserved. + * Available via the MIT or new BSD license. + * see: http://github.com/jrburke/requirejs for details + */ + +/*jslint strict: false */ +/*global require: false, java: false, load: false */ + +(function () { + + require.load = function (context, moduleName, url) { + //isDone is used by require.ready() + require.s.isDone = false; + + //Indicate a the module is in process of loading. + context.loaded[moduleName] = false; + context.scriptCount += 1; + + load(url); + + //Support anonymous modules. + context.completeLoad(moduleName); + }; + +}()); + } else if (env === 'node') { + this.requirejsVars = { + require: require, + define: define, + nodeRequire: nodeRequire + }; + require.nodeRequire = nodeRequire; + + /** + * @license RequireJS node Copyright (c) 2010-2011, The Dojo Foundation All Rights Reserved. + * Available via the MIT or new BSD license. + * see: http://github.com/jrburke/requirejs for details + */ + +/*jslint regexp: false, strict: false */ +/*global require: false, define: false, requirejsVars: false, process: false */ + +/** + * This adapter assumes that x.js has loaded it and set up + * some variables. This adapter just allows limited RequireJS + * usage from within the requirejs directory. The general + * node adapater is r.js. + */ + +(function () { + var nodeReq = requirejsVars.nodeRequire, + req = requirejsVars.require, + def = requirejsVars.define, + fs = nodeReq('fs'), + path = nodeReq('path'), + vm = nodeReq('vm'); + + //Supply an implementation that allows synchronous get of a module. + req.get = function (context, moduleName, relModuleMap) { + if (moduleName === "require" || moduleName === "exports" || moduleName === "module") { + req.onError(new Error("Explicit require of " + moduleName + " is not allowed.")); + } + + var ret, + moduleMap = context.makeModuleMap(moduleName, relModuleMap); + + //Normalize module name, if it contains . or .. + moduleName = moduleMap.fullName; + + if (moduleName in context.defined) { + ret = context.defined[moduleName]; + } else { + if (ret === undefined) { + //Try to dynamically fetch it. + req.load(context, moduleName, moduleMap.url); + //The above call is sync, so can do the next thing safely. + ret = context.defined[moduleName]; + } + } + + return ret; + }; + + //Add wrapper around the code so that it gets the requirejs + //API instead of the Node API, and it is done lexically so + //that it survives later execution. + req.makeNodeWrapper = function (contents) { + return '(function (require, define) { ' + + contents + + '\n}(requirejsVars.require, requirejsVars.define));'; + }; + + req.load = function (context, moduleName, url) { + var contents, err; + + //isDone is used by require.ready() + req.s.isDone = false; + + //Indicate a the module is in process of loading. + context.loaded[moduleName] = false; + context.scriptCount += 1; + + if (path.existsSync(url)) { + contents = fs.readFileSync(url, 'utf8'); + + contents = req.makeNodeWrapper(contents); + try { + vm.runInThisContext(contents, fs.realpathSync(url)); + } catch (e) { + err = new Error('Evaluating ' + url + ' as module "' + + moduleName + '" failed with error: ' + e); + err.originalError = e; + err.moduleName = moduleName; + err.fileName = url; + return req.onError(err); + } + } else { + def(moduleName, function () { + try { + return (context.config.nodeRequire || req.nodeRequire)(moduleName); + } catch (e) { + err = new Error('Calling node\'s require("' + + moduleName + '") failed with error: ' + e); + err.originalError = e; + err.moduleName = moduleName; + return req.onError(err); + } + }); + } + + //Support anonymous modules. + context.completeLoad(moduleName); + + return undefined; + }; + + //Override to provide the function wrapper for define/require. + req.exec = function (text) { + /*jslint evil: true */ + text = req.makeNodeWrapper(text); + return eval(text); + }; +}()); + + } + + //Support a default file name to execute. Useful for hosted envs + //like Joyent where it defaults to a server.js as the only executed + //script. But only do it if this is not an optimization run. + if (commandOption !== 'o' && (!fileName || !jsSuffixRegExp.test(fileName))) { + fileName = 'main.js'; + } + + /** + * Loads the library files that can be used for the optimizer, or for other + * tasks. + */ + function loadLib() { + /** + * @license Copyright (c) 2010-2011, The Dojo Foundation All Rights Reserved. + * Available via the MIT or new BSD license. + * see: http://github.com/jrburke/requirejs for details + */ + +/*jslint strict: false */ +/*global Packages: false, process: false, window: false, navigator: false, + document: false, define: false */ + +/** + * A plugin that modifies any /env/ path to be the right path based on + * the host environment. Right now only works for Node, Rhino and browser. + */ +(function () { + var pathRegExp = /(\/|^)env\/|\{env\}/, + env = 'unknown'; + + if (typeof Packages !== 'undefined') { + env = 'rhino'; + } else if (typeof process !== 'undefined') { + env = 'node'; + } else if (typeof window !== "undefined" && navigator && document) { + env = 'browser'; + } + + define('env', { + load: function (name, req, load, config) { + //Allow override in the config. + if (config.env) { + env = config.env; + } + + name = name.replace(pathRegExp, function (match, prefix) { + if (match.indexOf('{') === -1) { + return prefix + env + '/'; + } else { + return env; + } + }); + + req([name], function (mod) { + load(mod); + }); + } + }); +}()); +if(env === 'node') { +/** + * @license Copyright (c) 2010-2011, The Dojo Foundation All Rights Reserved. + * Available via the MIT or new BSD license. + * see: http://github.com/jrburke/requirejs for details + */ + +/*jslint strict: false */ +/*global define: false, process: false */ + +define('node/args', function () { + //Do not return the "node" or "r.js" arguments + var args = process.argv.slice(2); + + //Ignore any command option used for rq.js + if (args[0] && args[0].indexOf('-' === 0)) { + args = args.slice(1); + } + + return args; +}); + +} + +if(env === 'rhino') { +/** + * @license Copyright (c) 2010-2011, The Dojo Foundation All Rights Reserved. + * Available via the MIT or new BSD license. + * see: http://github.com/jrburke/requirejs for details + */ + +/*jslint strict: false */ +/*global define: false, process: false */ + +var jsLibRhinoArgs = (typeof rhinoArgs !== 'undefined' && rhinoArgs) || [].concat(Array.prototype.slice.call(arguments, 0)); + +define('rhino/args', function () { + var args = jsLibRhinoArgs; + + //Ignore any command option used for rq.js + if (args[0] && args[0].indexOf('-' === 0)) { + args = args.slice(1); + } + + return args; +}); + +} + +if(env === 'node') { +/** + * @license RequireJS Copyright (c) 2010-2011, The Dojo Foundation All Rights Reserved. + * Available via the MIT or new BSD license. + * see: http://github.com/jrburke/requirejs for details + */ + +/*jslint strict: false */ +/*global define: false, console: false */ + +define('node/load', ['fs'], function (fs) { + function load(fileName) { + var contents = fs.readFileSync(fileName, 'utf8'); + process.compile(contents, fileName); + } + + return load; +}); + +} + +if(env === 'rhino') { +/** + * @license RequireJS Copyright (c) 2010-2011, The Dojo Foundation All Rights Reserved. + * Available via the MIT or new BSD license. + * see: http://github.com/jrburke/requirejs for details + */ + +/*jslint strict: false */ +/*global define: false, load: false */ + +define('rhino/load', function () { + return load; +}); + +} + +if(env === 'node') { +/** + * @license Copyright (c) 2010-2011, The Dojo Foundation All Rights Reserved. + * Available via the MIT or new BSD license. + * see: http://github.com/jrburke/requirejs for details + */ + +/*jslint plusplus: false, octal:false, strict: false */ +/*global define: false, process: false */ + +define('node/file', ['fs', 'path'], function (fs, path) { + + var isWindows = process.platform === 'win32', + file; + + function frontSlash(path) { + return path.replace(/\\/g, '/'); + } + + function exists(path) { + if (isWindows && path.charAt(path.length - 1) === '/' && + path.charAt(path.length - 2) !== ':') { + path = path.substring(0, path.length - 1); + } + + try { + fs.statSync(path); + return true; + } catch (e) { + return false; + } + } + + function mkDir(dir) { + if (!exists(dir)) { + fs.mkdirSync(dir, 0777); + } + } + + function mkFullDir(dir) { + var parts = dir.split('/'), + currDir = '', + first = true; + + parts.forEach(function (part) { + //First part may be empty string if path starts with a slash. + currDir += part + '/'; + first = false; + + if (part) { + mkDir(currDir); + } + }); + } + + file = { + backSlashRegExp: /\\/g, + getLineSeparator: function () { + return '/'; + }, + + exists: function (fileName) { + return exists(fileName); + }, + + parent: function (fileName) { + var parts = fileName.split('/'); + parts.pop(); + return parts.join('/'); + }, + + /** + * Gets the absolute file path as a string, normalized + * to using front slashes for path separators. + * @param {String} fileName + */ + absPath: function (fileName) { + return frontSlash(path.normalize(frontSlash(fs.realpathSync(fileName)))); + }, + + normalize: function (fileName) { + return frontSlash(path.normalize(fileName)); + }, + + isFile: function (path) { + return fs.statSync(path).isFile(); + }, + + isDirectory: function (path) { + return fs.statSync(path).isDirectory(); + }, + + getFilteredFileList: function (/*String*/startDir, /*RegExp*/regExpFilters, /*boolean?*/makeUnixPaths) { + //summary: Recurses startDir and finds matches to the files that match regExpFilters.include + //and do not match regExpFilters.exclude. Or just one regexp can be passed in for regExpFilters, + //and it will be treated as the "include" case. + //Ignores files/directories that start with a period (.). + var files = [], topDir, regExpInclude, regExpExclude, dirFileArray, + i, stat, filePath, ok, dirFiles, fileName; + + topDir = startDir; + + regExpInclude = regExpFilters.include || regExpFilters; + regExpExclude = regExpFilters.exclude || null; + + if (file.exists(topDir)) { + dirFileArray = fs.readdirSync(topDir); + for (i = 0; i < dirFileArray.length; i++) { + fileName = dirFileArray[i]; + filePath = path.join(topDir, fileName); + stat = fs.statSync(filePath); + if (stat.isFile()) { + if (makeUnixPaths) { + //Make sure we have a JS string. + if (filePath.indexOf("/") === -1) { + filePath = frontSlash(filePath); + } + } + + ok = true; + if (regExpInclude) { + ok = filePath.match(regExpInclude); + } + if (ok && regExpExclude) { + ok = !filePath.match(regExpExclude); + } + + if (ok && !fileName.match(/^\./)) { + files.push(filePath); + } + } else if (stat.isDirectory() && !fileName.match(/^\./)) { + dirFiles = this.getFilteredFileList(filePath, regExpFilters, makeUnixPaths); + files.push.apply(files, dirFiles); + } + } + } + + return files; //Array + }, + + copyDir: function (/*String*/srcDir, /*String*/destDir, /*RegExp?*/regExpFilter, /*boolean?*/onlyCopyNew) { + //summary: copies files from srcDir to destDir using the regExpFilter to determine if the + //file should be copied. Returns a list file name strings of the destinations that were copied. + regExpFilter = regExpFilter || /\w/; + + var fileNames = file.getFilteredFileList(srcDir, regExpFilter, true), + copiedFiles = [], i, srcFileName, destFileName; + + for (i = 0; i < fileNames.length; i++) { + srcFileName = fileNames[i]; + destFileName = srcFileName.replace(srcDir, destDir); + + if (file.copyFile(srcFileName, destFileName, onlyCopyNew)) { + copiedFiles.push(destFileName); + } + } + + return copiedFiles.length ? copiedFiles : null; //Array or null + }, + + copyFile: function (/*String*/srcFileName, /*String*/destFileName, /*boolean?*/onlyCopyNew) { + //summary: copies srcFileName to destFileName. If onlyCopyNew is set, it only copies the file if + //srcFileName is newer than destFileName. Returns a boolean indicating if the copy occurred. + var parentDir; + + //logger.trace("Src filename: " + srcFileName); + //logger.trace("Dest filename: " + destFileName); + + //If onlyCopyNew is true, then compare dates and only copy if the src is newer + //than dest. + if (onlyCopyNew) { + if (file.exists(destFileName) && fs.statSync(destFileName).mtime.getTime() >= fs.statSync(srcFileName).mtime.getTime()) { + return false; //Boolean + } + } + + //Make sure destination dir exists. + parentDir = path.dirname(destFileName); + if (!file.exists(parentDir)) { + mkFullDir(parentDir); + } + + fs.writeFileSync(destFileName, fs.readFileSync(srcFileName, 'binary'), 'binary'); + + return true; //Boolean + }, + + /** + * Reads a *text* file. + */ + readFile: function (/*String*/path, /*String?*/encoding) { + if (encoding === 'utf-8') { + encoding = 'utf8'; + } + if (!encoding) { + encoding = 'utf8'; + } + + var text = fs.readFileSync(path, encoding); + + //Looks like a weird bug in the native node.exe for windows, + //at least in 0.5.3, where UTF-8 BOM is being fed back. + //May be able to remove this after more node releases. + if (isWindows && text.indexOf('\uFEFF') === 0) { + text = text.substring(1, text.length); + } + + return text; + }, + + saveUtf8File: function (/*String*/fileName, /*String*/fileContents) { + //summary: saves a *text* file using UTF-8 encoding. + file.saveFile(fileName, fileContents, "utf8"); + }, + + saveFile: function (/*String*/fileName, /*String*/fileContents, /*String?*/encoding) { + //summary: saves a *text* file. + var parentDir; + + if (encoding === 'utf-8') { + encoding = 'utf8'; + } + if (!encoding) { + encoding = 'utf8'; + } + + //Make sure destination directories exist. + parentDir = path.dirname(fileName); + if (!file.exists(parentDir)) { + mkFullDir(parentDir); + } + + fs.writeFileSync(fileName, fileContents, encoding); + }, + + deleteFile: function (/*String*/fileName) { + //summary: deletes a file or directory if it exists. + var files, i, stat; + if (file.exists(fileName)) { + stat = fs.statSync(fileName); + if (stat.isDirectory()) { + files = fs.readdirSync(fileName); + for (i = 0; i < files.length; i++) { + this.deleteFile(path.join(fileName, files[i])); + } + fs.rmdirSync(fileName); + } else { + fs.unlinkSync(fileName); + } + } + } + }; + + return file; + +}); + +} + +if(env === 'rhino') { +/** + * @license RequireJS Copyright (c) 2010-2011, The Dojo Foundation All Rights Reserved. + * Available via the MIT or new BSD license. + * see: http://github.com/jrburke/requirejs for details + */ +//Helper functions to deal with file I/O. + +/*jslint plusplus: false, strict: false */ +/*global java: false, define: false */ + +define('rhino/file', function () { + var file = { + backSlashRegExp: /\\/g, + + getLineSeparator: function () { + return file.lineSeparator; + }, + + lineSeparator: java.lang.System.getProperty("line.separator"), //Java String + + exists: function (fileName) { + return (new java.io.File(fileName)).exists(); + }, + + parent: function (fileName) { + return file.absPath((new java.io.File(fileName)).getParentFile()); + }, + + normalize: function (fileName) { + return file.absPath(fileName); + }, + + isFile: function (path) { + return (new java.io.File(path)).isFile(); + }, + + isDirectory: function (path) { + return (new java.io.File(path)).isDirectory(); + }, + + /** + * Gets the absolute file path as a string, normalized + * to using front slashes for path separators. + * @param {java.io.File||String} file + */ + absPath: function (fileObj) { + if (typeof fileObj === "string") { + fileObj = new java.io.File(fileObj); + } + return (fileObj.getAbsolutePath() + "").replace(file.backSlashRegExp, "/"); + }, + + getFilteredFileList: function (/*String*/startDir, /*RegExp*/regExpFilters, /*boolean?*/makeUnixPaths, /*boolean?*/startDirIsJavaObject) { + //summary: Recurses startDir and finds matches to the files that match regExpFilters.include + //and do not match regExpFilters.exclude. Or just one regexp can be passed in for regExpFilters, + //and it will be treated as the "include" case. + //Ignores files/directories that start with a period (.). + var files = [], topDir, regExpInclude, regExpExclude, dirFileArray, + i, fileObj, filePath, ok, dirFiles; + + topDir = startDir; + if (!startDirIsJavaObject) { + topDir = new java.io.File(startDir); + } + + regExpInclude = regExpFilters.include || regExpFilters; + regExpExclude = regExpFilters.exclude || null; + + if (topDir.exists()) { + dirFileArray = topDir.listFiles(); + for (i = 0; i < dirFileArray.length; i++) { + fileObj = dirFileArray[i]; + if (fileObj.isFile()) { + filePath = fileObj.getPath(); + if (makeUnixPaths) { + //Make sure we have a JS string. + filePath = String(filePath); + if (filePath.indexOf("/") === -1) { + filePath = filePath.replace(/\\/g, "/"); + } + } + + ok = true; + if (regExpInclude) { + ok = filePath.match(regExpInclude); + } + if (ok && regExpExclude) { + ok = !filePath.match(regExpExclude); + } + + if (ok && !fileObj.getName().match(/^\./)) { + files.push(filePath); + } + } else if (fileObj.isDirectory() && !fileObj.getName().match(/^\./)) { + dirFiles = this.getFilteredFileList(fileObj, regExpFilters, makeUnixPaths, true); + files.push.apply(files, dirFiles); + } + } + } + + return files; //Array + }, + + copyDir: function (/*String*/srcDir, /*String*/destDir, /*RegExp?*/regExpFilter, /*boolean?*/onlyCopyNew) { + //summary: copies files from srcDir to destDir using the regExpFilter to determine if the + //file should be copied. Returns a list file name strings of the destinations that were copied. + regExpFilter = regExpFilter || /\w/; + + var fileNames = file.getFilteredFileList(srcDir, regExpFilter, true), + copiedFiles = [], i, srcFileName, destFileName; + + for (i = 0; i < fileNames.length; i++) { + srcFileName = fileNames[i]; + destFileName = srcFileName.replace(srcDir, destDir); + + if (file.copyFile(srcFileName, destFileName, onlyCopyNew)) { + copiedFiles.push(destFileName); + } + } + + return copiedFiles.length ? copiedFiles : null; //Array or null + }, + + copyFile: function (/*String*/srcFileName, /*String*/destFileName, /*boolean?*/onlyCopyNew) { + //summary: copies srcFileName to destFileName. If onlyCopyNew is set, it only copies the file if + //srcFileName is newer than destFileName. Returns a boolean indicating if the copy occurred. + var destFile = new java.io.File(destFileName), srcFile, parentDir, + srcChannel, destChannel; + + //logger.trace("Src filename: " + srcFileName); + //logger.trace("Dest filename: " + destFileName); + + //If onlyCopyNew is true, then compare dates and only copy if the src is newer + //than dest. + if (onlyCopyNew) { + srcFile = new java.io.File(srcFileName); + if (destFile.exists() && destFile.lastModified() >= srcFile.lastModified()) { + return false; //Boolean + } + } + + //Make sure destination dir exists. + parentDir = destFile.getParentFile(); + if (!parentDir.exists()) { + if (!parentDir.mkdirs()) { + throw "Could not create directory: " + parentDir.getAbsolutePath(); + } + } + + //Java's version of copy file. + srcChannel = new java.io.FileInputStream(srcFileName).getChannel(); + destChannel = new java.io.FileOutputStream(destFileName).getChannel(); + destChannel.transferFrom(srcChannel, 0, srcChannel.size()); + srcChannel.close(); + destChannel.close(); + + return true; //Boolean + }, + + readFile: function (/*String*/path, /*String?*/encoding) { + //A file read function that can deal with BOMs + encoding = encoding || "utf-8"; + var fileObj = new java.io.File(path), + input = new java.io.BufferedReader(new java.io.InputStreamReader(new java.io.FileInputStream(fileObj), encoding)), + stringBuffer, line; + try { + stringBuffer = new java.lang.StringBuffer(); + line = input.readLine(); + + // Byte Order Mark (BOM) - The Unicode Standard, version 3.0, page 324 + // http://www.unicode.org/faq/utf_bom.html + + // Note that when we use utf-8, the BOM should appear as "EF BB BF", but it doesn't due to this bug in the JDK: + // http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4508058 + if (line && line.length() && line.charAt(0) === 0xfeff) { + // Eat the BOM, since we've already found the encoding on this file, + // and we plan to concatenating this buffer with others; the BOM should + // only appear at the top of a file. + line = line.substring(1); + } + while (line !== null) { + stringBuffer.append(line); + stringBuffer.append(file.lineSeparator); + line = input.readLine(); + } + //Make sure we return a JavaScript string and not a Java string. + return String(stringBuffer.toString()); //String + } finally { + input.close(); + } + }, + + saveUtf8File: function (/*String*/fileName, /*String*/fileContents) { + //summary: saves a file using UTF-8 encoding. + file.saveFile(fileName, fileContents, "utf-8"); + }, + + saveFile: function (/*String*/fileName, /*String*/fileContents, /*String?*/encoding) { + //summary: saves a file. + var outFile = new java.io.File(fileName), outWriter, parentDir, os; + + parentDir = outFile.getAbsoluteFile().getParentFile(); + if (!parentDir.exists()) { + if (!parentDir.mkdirs()) { + throw "Could not create directory: " + parentDir.getAbsolutePath(); + } + } + + if (encoding) { + outWriter = new java.io.OutputStreamWriter(new java.io.FileOutputStream(outFile), encoding); + } else { + outWriter = new java.io.OutputStreamWriter(new java.io.FileOutputStream(outFile)); + } + + os = new java.io.BufferedWriter(outWriter); + try { + os.write(fileContents); + } finally { + os.close(); + } + }, + + deleteFile: function (/*String*/fileName) { + //summary: deletes a file or directory if it exists. + var fileObj = new java.io.File(fileName), files, i; + if (fileObj.exists()) { + if (fileObj.isDirectory()) { + files = fileObj.listFiles(); + for (i = 0; i < files.length; i++) { + this.deleteFile(files[i]); + } + } + fileObj["delete"](); + } + } + }; + + return file; +}); + +} +/** + * @license Copyright (c) 2010-2011, The Dojo Foundation All Rights Reserved. + * Available via the MIT or new BSD license. + * see: http://github.com/jrburke/requirejs for details + */ + +/*jslint plusplus: false, strict: false */ +/*global define: false */ + +define('lang', function () { + var lang = { + backSlashRegExp: /\\/g, + ostring: Object.prototype.toString, + + isArray: Array.isArray ? Array.isArray : function (it) { + return lang.ostring.call(it) === "[object Array]"; + }, + + /** + * Simple function to mix in properties from source into target, + * but only if target does not already have a property of the same name. + */ + mixin: function (target, source, override) { + //Use an empty object to avoid other bad JS code that modifies + //Object.prototype. + var empty = {}, prop; + for (prop in source) { + if (override || !(prop in target)) { + target[prop] = source[prop]; + } + } + }, + + delegate: (function () { + // boodman/crockford delegation w/ cornford optimization + function TMP() {} + return function (obj, props) { + TMP.prototype = obj; + var tmp = new TMP(); + TMP.prototype = null; + if (props) { + lang.mixin(tmp, props); + } + return tmp; // Object + }; + }()) + }; + return lang; +}); + +if(env === 'node') { +/** + * @license RequireJS Copyright (c) 2010-2011, The Dojo Foundation All Rights Reserved. + * Available via the MIT or new BSD license. + * see: http://github.com/jrburke/requirejs for details + */ + +/*jslint strict: false */ +/*global define: false, console: false */ + +define('node/print', function () { + function print(msg) { + console.log(msg); + } + + return print; +}); + +} + +if(env === 'rhino') { +/** + * @license RequireJS Copyright (c) 2010-2011, The Dojo Foundation All Rights Reserved. + * Available via the MIT or new BSD license. + * see: http://github.com/jrburke/requirejs for details + */ + +/*jslint strict: false */ +/*global define: false, print: false */ + +define('rhino/print', function () { + return print; +}); + +} +/** + * @license RequireJS Copyright (c) 2010-2011, The Dojo Foundation All Rights Reserved. + * Available via the MIT or new BSD license. + * see: http://github.com/jrburke/requirejs for details + */ + +/*jslint nomen: false, strict: false */ +/*global define: false */ + +define('logger', ['env!env/print'], function (print) { + var logger = { + TRACE: 0, + INFO: 1, + WARN: 2, + ERROR: 3, + SILENT: 4, + level: 0, + logPrefix: "", + + logLevel: function( level ) { + this.level = level; + }, + + trace: function (message) { + if (this.level <= this.TRACE) { + this._print(message); + } + }, + + info: function (message) { + if (this.level <= this.INFO) { + this._print(message); + } + }, + + warn: function (message) { + if (this.level <= this.WARN) { + this._print(message); + } + }, + + error: function (message) { + if (this.level <= this.ERROR) { + this._print(message); + } + }, + + _print: function (message) { + this._sysPrint((this.logPrefix ? (this.logPrefix + " ") : "") + message); + }, + + _sysPrint: function (message) { + print(message); + } + }; + + return logger; +}); +//Just a blank file to use when building the optimizer with the optimizer, +//so that the build does not attempt to inline some env modules, +//like Node's fs and path. + +//Just a blank file to use when building the optimizer with the optimizer, +//so that the build does not attempt to inline some env modules, +//like Node's fs and path. + +define('uglifyjs/parse-js', ["require", "exports", "module"], function(require, exports, module) { + +/*********************************************************************** + + A JavaScript tokenizer / parser / beautifier / compressor. + + This version is suitable for Node.js. With minimal changes (the + exports stuff) it should work on any JS platform. + + This file contains the tokenizer/parser. It is a port to JavaScript + of parse-js [1], a JavaScript parser library written in Common Lisp + by Marijn Haverbeke. Thank you Marijn! + + [1] http://marijn.haverbeke.nl/parse-js/ + + Exported functions: + + - tokenizer(code) -- returns a function. Call the returned + function to fetch the next token. + + - parse(code) -- returns an AST of the given JavaScript code. + + -------------------------------- (C) --------------------------------- + + Author: Mihai Bazon + + http://mihai.bazon.net/blog + + Distributed under the BSD license: + + Copyright 2010 (c) Mihai Bazon + Based on parse-js (http://marijn.haverbeke.nl/parse-js/). + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + * Redistributions of source code must retain the above + copyright notice, this list of conditions and the following + disclaimer. + + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials + provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY + EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, + OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR + TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF + THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + + ***********************************************************************/ + +/* -----[ Tokenizer (constants) ]----- */ + +var KEYWORDS = array_to_hash([ + "break", + "case", + "catch", + "const", + "continue", + "default", + "delete", + "do", + "else", + "finally", + "for", + "function", + "if", + "in", + "instanceof", + "new", + "return", + "switch", + "throw", + "try", + "typeof", + "var", + "void", + "while", + "with" +]); + +var RESERVED_WORDS = array_to_hash([ + "abstract", + "boolean", + "byte", + "char", + "class", + "debugger", + "double", + "enum", + "export", + "extends", + "final", + "float", + "goto", + "implements", + "import", + "int", + "interface", + "long", + "native", + "package", + "private", + "protected", + "public", + "short", + "static", + "super", + "synchronized", + "throws", + "transient", + "volatile" +]); + +var KEYWORDS_BEFORE_EXPRESSION = array_to_hash([ + "return", + "new", + "delete", + "throw", + "else", + "case" +]); + +var KEYWORDS_ATOM = array_to_hash([ + "false", + "null", + "true", + "undefined" +]); + +var OPERATOR_CHARS = array_to_hash(characters("+-*&%=<>!?|~^")); + +var RE_HEX_NUMBER = /^0x[0-9a-f]+$/i; +var RE_OCT_NUMBER = /^0[0-7]+$/; +var RE_DEC_NUMBER = /^\d*\.?\d*(?:e[+-]?\d*(?:\d\.?|\.?\d)\d*)?$/i; + +var OPERATORS = array_to_hash([ + "in", + "instanceof", + "typeof", + "new", + "void", + "delete", + "++", + "--", + "+", + "-", + "!", + "~", + "&", + "|", + "^", + "*", + "/", + "%", + ">>", + "<<", + ">>>", + "<", + ">", + "<=", + ">=", + "==", + "===", + "!=", + "!==", + "?", + "=", + "+=", + "-=", + "/=", + "*=", + "%=", + ">>=", + "<<=", + ">>>=", + "|=", + "^=", + "&=", + "&&", + "||" +]); + +var WHITESPACE_CHARS = array_to_hash(characters(" \u00a0\n\r\t\f\v\u200b")); + +var PUNC_BEFORE_EXPRESSION = array_to_hash(characters("[{}(,.;:")); + +var PUNC_CHARS = array_to_hash(characters("[]{}(),;:")); + +var REGEXP_MODIFIERS = array_to_hash(characters("gmsiy")); + +/* -----[ Tokenizer ]----- */ + +// regexps adapted from http://xregexp.com/plugins/#unicode +var UNICODE = { + letter: new RegExp("[\\u0041-\\u005A\\u0061-\\u007A\\u00AA\\u00B5\\u00BA\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u0523\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0621-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971\\u0972\\u097B-\\u097F\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C33\\u0C35-\\u0C39\\u0C3D\\u0C58\\u0C59\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D28\\u0D2A-\\u0D39\\u0D3D\\u0D60\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC\\u0EDD\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8B\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10D0-\\u10FA\\u10FC\\u1100-\\u1159\\u115F-\\u11A2\\u11A8-\\u11F9\\u1200-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u1676\\u1681-\\u169A\\u16A0-\\u16EA\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u1900-\\u191C\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19A9\\u19C1-\\u19C7\\u1A00-\\u1A16\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u2094\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2183\\u2184\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2C6F\\u2C71-\\u2C7D\\u2C80-\\u2CE4\\u2D00-\\u2D25\\u2D30-\\u2D65\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005\\u3006\\u3031-\\u3035\\u303B\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31B7\\u31F0-\\u31FF\\u3400\\u4DB5\\u4E00\\u9FC3\\uA000-\\uA48C\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA65F\\uA662-\\uA66E\\uA67F-\\uA697\\uA717-\\uA71F\\uA722-\\uA788\\uA78B\\uA78C\\uA7FB-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA90A-\\uA925\\uA930-\\uA946\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAC00\\uD7A3\\uF900-\\uFA2D\\uFA30-\\uFA6A\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]"), + non_spacing_mark: new RegExp("[\\u0300-\\u036F\\u0483-\\u0487\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u0610-\\u061A\\u064B-\\u065E\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7\\u06E8\\u06EA-\\u06ED\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07EB-\\u07F3\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0900-\\u0902\\u093C\\u0941-\\u0948\\u094D\\u0951-\\u0955\\u0962\\u0963\\u0981\\u09BC\\u09C1-\\u09C4\\u09CD\\u09E2\\u09E3\\u0A01\\u0A02\\u0A3C\\u0A41\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A70\\u0A71\\u0A75\\u0A81\\u0A82\\u0ABC\\u0AC1-\\u0AC5\\u0AC7\\u0AC8\\u0ACD\\u0AE2\\u0AE3\\u0B01\\u0B3C\\u0B3F\\u0B41-\\u0B44\\u0B4D\\u0B56\\u0B62\\u0B63\\u0B82\\u0BC0\\u0BCD\\u0C3E-\\u0C40\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C62\\u0C63\\u0CBC\\u0CBF\\u0CC6\\u0CCC\\u0CCD\\u0CE2\\u0CE3\\u0D41-\\u0D44\\u0D4D\\u0D62\\u0D63\\u0DCA\\u0DD2-\\u0DD4\\u0DD6\\u0E31\\u0E34-\\u0E3A\\u0E47-\\u0E4E\\u0EB1\\u0EB4-\\u0EB9\\u0EBB\\u0EBC\\u0EC8-\\u0ECD\\u0F18\\u0F19\\u0F35\\u0F37\\u0F39\\u0F71-\\u0F7E\\u0F80-\\u0F84\\u0F86\\u0F87\\u0F90-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102D-\\u1030\\u1032-\\u1037\\u1039\\u103A\\u103D\\u103E\\u1058\\u1059\\u105E-\\u1060\\u1071-\\u1074\\u1082\\u1085\\u1086\\u108D\\u109D\\u135F\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17B7-\\u17BD\\u17C6\\u17C9-\\u17D3\\u17DD\\u180B-\\u180D\\u18A9\\u1920-\\u1922\\u1927\\u1928\\u1932\\u1939-\\u193B\\u1A17\\u1A18\\u1A56\\u1A58-\\u1A5E\\u1A60\\u1A62\\u1A65-\\u1A6C\\u1A73-\\u1A7C\\u1A7F\\u1B00-\\u1B03\\u1B34\\u1B36-\\u1B3A\\u1B3C\\u1B42\\u1B6B-\\u1B73\\u1B80\\u1B81\\u1BA2-\\u1BA5\\u1BA8\\u1BA9\\u1C2C-\\u1C33\\u1C36\\u1C37\\u1CD0-\\u1CD2\\u1CD4-\\u1CE0\\u1CE2-\\u1CE8\\u1CED\\u1DC0-\\u1DE6\\u1DFD-\\u1DFF\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2CEF-\\u2CF1\\u2DE0-\\u2DFF\\u302A-\\u302F\\u3099\\u309A\\uA66F\\uA67C\\uA67D\\uA6F0\\uA6F1\\uA802\\uA806\\uA80B\\uA825\\uA826\\uA8C4\\uA8E0-\\uA8F1\\uA926-\\uA92D\\uA947-\\uA951\\uA980-\\uA982\\uA9B3\\uA9B6-\\uA9B9\\uA9BC\\uAA29-\\uAA2E\\uAA31\\uAA32\\uAA35\\uAA36\\uAA43\\uAA4C\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uABE5\\uABE8\\uABED\\uFB1E\\uFE00-\\uFE0F\\uFE20-\\uFE26]"), + space_combining_mark: new RegExp("[\\u0903\\u093E-\\u0940\\u0949-\\u094C\\u094E\\u0982\\u0983\\u09BE-\\u09C0\\u09C7\\u09C8\\u09CB\\u09CC\\u09D7\\u0A03\\u0A3E-\\u0A40\\u0A83\\u0ABE-\\u0AC0\\u0AC9\\u0ACB\\u0ACC\\u0B02\\u0B03\\u0B3E\\u0B40\\u0B47\\u0B48\\u0B4B\\u0B4C\\u0B57\\u0BBE\\u0BBF\\u0BC1\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCC\\u0BD7\\u0C01-\\u0C03\\u0C41-\\u0C44\\u0C82\\u0C83\\u0CBE\\u0CC0-\\u0CC4\\u0CC7\\u0CC8\\u0CCA\\u0CCB\\u0CD5\\u0CD6\\u0D02\\u0D03\\u0D3E-\\u0D40\\u0D46-\\u0D48\\u0D4A-\\u0D4C\\u0D57\\u0D82\\u0D83\\u0DCF-\\u0DD1\\u0DD8-\\u0DDF\\u0DF2\\u0DF3\\u0F3E\\u0F3F\\u0F7F\\u102B\\u102C\\u1031\\u1038\\u103B\\u103C\\u1056\\u1057\\u1062-\\u1064\\u1067-\\u106D\\u1083\\u1084\\u1087-\\u108C\\u108F\\u109A-\\u109C\\u17B6\\u17BE-\\u17C5\\u17C7\\u17C8\\u1923-\\u1926\\u1929-\\u192B\\u1930\\u1931\\u1933-\\u1938\\u19B0-\\u19C0\\u19C8\\u19C9\\u1A19-\\u1A1B\\u1A55\\u1A57\\u1A61\\u1A63\\u1A64\\u1A6D-\\u1A72\\u1B04\\u1B35\\u1B3B\\u1B3D-\\u1B41\\u1B43\\u1B44\\u1B82\\u1BA1\\u1BA6\\u1BA7\\u1BAA\\u1C24-\\u1C2B\\u1C34\\u1C35\\u1CE1\\u1CF2\\uA823\\uA824\\uA827\\uA880\\uA881\\uA8B4-\\uA8C3\\uA952\\uA953\\uA983\\uA9B4\\uA9B5\\uA9BA\\uA9BB\\uA9BD-\\uA9C0\\uAA2F\\uAA30\\uAA33\\uAA34\\uAA4D\\uAA7B\\uABE3\\uABE4\\uABE6\\uABE7\\uABE9\\uABEA\\uABEC]"), + connector_punctuation: new RegExp("[\\u005F\\u203F\\u2040\\u2054\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFF3F]") +}; + +function is_letter(ch) { + return UNICODE.letter.test(ch); +}; + +function is_digit(ch) { + ch = ch.charCodeAt(0); + return ch >= 48 && ch <= 57; //XXX: find out if "UnicodeDigit" means something else than 0..9 +}; + +function is_alphanumeric_char(ch) { + return is_digit(ch) || is_letter(ch); +}; + +function is_unicode_combining_mark(ch) { + return UNICODE.non_spacing_mark.test(ch) || UNICODE.space_combining_mark.test(ch); +}; + +function is_unicode_connector_punctuation(ch) { + return UNICODE.connector_punctuation.test(ch); +}; + +function is_identifier_start(ch) { + return ch == "$" || ch == "_" || is_letter(ch); +}; + +function is_identifier_char(ch) { + return is_identifier_start(ch) + || is_unicode_combining_mark(ch) + || is_digit(ch) + || is_unicode_connector_punctuation(ch) + || ch == "\u200c" // zero-width non-joiner + || ch == "\u200d" // zero-width joiner (in my ECMA-262 PDF, this is also 200c) + ; +}; + +function parse_js_number(num) { + if (RE_HEX_NUMBER.test(num)) { + return parseInt(num.substr(2), 16); + } else if (RE_OCT_NUMBER.test(num)) { + return parseInt(num.substr(1), 8); + } else if (RE_DEC_NUMBER.test(num)) { + return parseFloat(num); + } +}; + +function JS_Parse_Error(message, line, col, pos) { + this.message = message; + this.line = line; + this.col = col; + this.pos = pos; + /* + try { + ({})(); + } catch(ex) { + this.stack = ex.stack; + }; + */ +}; + +JS_Parse_Error.prototype.toString = function() { + return this.message + " (line: " + this.line + ", col: " + this.col + ", pos: " + this.pos + ")" + "\n\n" + this.stack; +}; + +function js_error(message, line, col, pos) { + throw new JS_Parse_Error(message, line, col, pos); +}; + +function is_token(token, type, val) { + return token.type == type && (val == null || token.value == val); +}; + +var EX_EOF = {}; + +function tokenizer($TEXT) { + + var S = { + text : $TEXT.replace(/\r\n?|[\n\u2028\u2029]/g, "\n").replace(/^\uFEFF/, ''), + pos : 0, + tokpos : 0, + line : 0, + tokline : 0, + col : 0, + tokcol : 0, + newline_before : false, + regex_allowed : false, + comments_before : [] + }; + + function peek() { return S.text.charAt(S.pos); }; + + function next(signal_eof) { + var ch = S.text.charAt(S.pos++); + if (signal_eof && !ch) + throw EX_EOF; + if (ch == "\n") { + S.newline_before = true; + ++S.line; + S.col = 0; + } else { + ++S.col; + } + return ch; + }; + + function eof() { + return !S.peek(); + }; + + function find(what, signal_eof) { + var pos = S.text.indexOf(what, S.pos); + if (signal_eof && pos == -1) throw EX_EOF; + return pos; + }; + + function start_token() { + S.tokline = S.line; + S.tokcol = S.col; + S.tokpos = S.pos; + }; + + function token(type, value, is_comment) { + S.regex_allowed = ((type == "operator" && !HOP(UNARY_POSTFIX, value)) || + (type == "keyword" && HOP(KEYWORDS_BEFORE_EXPRESSION, value)) || + (type == "punc" && HOP(PUNC_BEFORE_EXPRESSION, value))); + var ret = { + type : type, + value : value, + line : S.tokline, + col : S.tokcol, + pos : S.tokpos, + nlb : S.newline_before + }; + if (!is_comment) { + ret.comments_before = S.comments_before; + S.comments_before = []; + } + S.newline_before = false; + return ret; + }; + + function skip_whitespace() { + while (HOP(WHITESPACE_CHARS, peek())) + next(); + }; + + function read_while(pred) { + var ret = "", ch = peek(), i = 0; + while (ch && pred(ch, i++)) { + ret += next(); + ch = peek(); + } + return ret; + }; + + function parse_error(err) { + js_error(err, S.tokline, S.tokcol, S.tokpos); + }; + + function read_num(prefix) { + var has_e = false, after_e = false, has_x = false, has_dot = prefix == "."; + var num = read_while(function(ch, i){ + if (ch == "x" || ch == "X") { + if (has_x) return false; + return has_x = true; + } + if (!has_x && (ch == "E" || ch == "e")) { + if (has_e) return false; + return has_e = after_e = true; + } + if (ch == "-") { + if (after_e || (i == 0 && !prefix)) return true; + return false; + } + if (ch == "+") return after_e; + after_e = false; + if (ch == ".") { + if (!has_dot && !has_x) + return has_dot = true; + return false; + } + return is_alphanumeric_char(ch); + }); + if (prefix) + num = prefix + num; + var valid = parse_js_number(num); + if (!isNaN(valid)) { + return token("num", valid); + } else { + parse_error("Invalid syntax: " + num); + } + }; + + function read_escaped_char() { + var ch = next(true); + switch (ch) { + case "n" : return "\n"; + case "r" : return "\r"; + case "t" : return "\t"; + case "b" : return "\b"; + case "v" : return "\v"; + case "f" : return "\f"; + case "0" : return "\0"; + case "x" : return String.fromCharCode(hex_bytes(2)); + case "u" : return String.fromCharCode(hex_bytes(4)); + default : return ch; + } + }; + + function hex_bytes(n) { + var num = 0; + for (; n > 0; --n) { + var digit = parseInt(next(true), 16); + if (isNaN(digit)) + parse_error("Invalid hex-character pattern in string"); + num = (num << 4) | digit; + } + return num; + }; + + function read_string() { + return with_eof_error("Unterminated string constant", function(){ + var quote = next(), ret = ""; + for (;;) { + var ch = next(true); + if (ch == "\\") { + // read OctalEscapeSequence (XXX: deprecated if "strict mode") + // https://github.com/mishoo/UglifyJS/issues/178 + var octal_len = 0, first = null; + ch = read_while(function(ch){ + if (ch >= "0" && ch <= "7") { + if (!first) { + first = ch; + return ++octal_len; + } + else if (first <= "3" && octal_len <= 2) return ++octal_len; + else if (first >= "4" && octal_len <= 1) return ++octal_len; + } + return false; + }); + if (octal_len > 0) ch = String.fromCharCode(parseInt(ch, 8)); + else ch = read_escaped_char(); + } + else if (ch == quote) break; + ret += ch; + } + return token("string", ret); + }); + }; + + function read_line_comment() { + next(); + var i = find("\n"), ret; + if (i == -1) { + ret = S.text.substr(S.pos); + S.pos = S.text.length; + } else { + ret = S.text.substring(S.pos, i); + S.pos = i; + } + return token("comment1", ret, true); + }; + + function read_multiline_comment() { + next(); + return with_eof_error("Unterminated multiline comment", function(){ + var i = find("*/", true), + text = S.text.substring(S.pos, i), + tok = token("comment2", text, true); + S.pos = i + 2; + S.line += text.split("\n").length - 1; + S.newline_before = text.indexOf("\n") >= 0; + + // https://github.com/mishoo/UglifyJS/issues/#issue/100 + if (/^@cc_on/i.test(text)) { + warn("WARNING: at line " + S.line); + warn("*** Found \"conditional comment\": " + text); + warn("*** UglifyJS DISCARDS ALL COMMENTS. This means your code might no longer work properly in Internet Explorer."); + } + + return tok; + }); + }; + + function read_name() { + var backslash = false, name = "", ch; + while ((ch = peek()) != null) { + if (!backslash) { + if (ch == "\\") backslash = true, next(); + else if (is_identifier_char(ch)) name += next(); + else break; + } + else { + if (ch != "u") parse_error("Expecting UnicodeEscapeSequence -- uXXXX"); + ch = read_escaped_char(); + if (!is_identifier_char(ch)) parse_error("Unicode char: " + ch.charCodeAt(0) + " is not valid in identifier"); + name += ch; + backslash = false; + } + } + return name; + }; + + function read_regexp() { + return with_eof_error("Unterminated regular expression", function(){ + var prev_backslash = false, regexp = "", ch, in_class = false; + while ((ch = next(true))) if (prev_backslash) { + regexp += "\\" + ch; + prev_backslash = false; + } else if (ch == "[") { + in_class = true; + regexp += ch; + } else if (ch == "]" && in_class) { + in_class = false; + regexp += ch; + } else if (ch == "/" && !in_class) { + break; + } else if (ch == "\\") { + prev_backslash = true; + } else { + regexp += ch; + } + var mods = read_name(); + return token("regexp", [ regexp, mods ]); + }); + }; + + function read_operator(prefix) { + function grow(op) { + if (!peek()) return op; + var bigger = op + peek(); + if (HOP(OPERATORS, bigger)) { + next(); + return grow(bigger); + } else { + return op; + } + }; + return token("operator", grow(prefix || next())); + }; + + function handle_slash() { + next(); + var regex_allowed = S.regex_allowed; + switch (peek()) { + case "/": + S.comments_before.push(read_line_comment()); + S.regex_allowed = regex_allowed; + return next_token(); + case "*": + S.comments_before.push(read_multiline_comment()); + S.regex_allowed = regex_allowed; + return next_token(); + } + return S.regex_allowed ? read_regexp() : read_operator("/"); + }; + + function handle_dot() { + next(); + return is_digit(peek()) + ? read_num(".") + : token("punc", "."); + }; + + function read_word() { + var word = read_name(); + return !HOP(KEYWORDS, word) + ? token("name", word) + : HOP(OPERATORS, word) + ? token("operator", word) + : HOP(KEYWORDS_ATOM, word) + ? token("atom", word) + : token("keyword", word); + }; + + function with_eof_error(eof_error, cont) { + try { + return cont(); + } catch(ex) { + if (ex === EX_EOF) parse_error(eof_error); + else throw ex; + } + }; + + function next_token(force_regexp) { + if (force_regexp) + return read_regexp(); + skip_whitespace(); + start_token(); + var ch = peek(); + if (!ch) return token("eof"); + if (is_digit(ch)) return read_num(); + if (ch == '"' || ch == "'") return read_string(); + if (HOP(PUNC_CHARS, ch)) return token("punc", next()); + if (ch == ".") return handle_dot(); + if (ch == "/") return handle_slash(); + if (HOP(OPERATOR_CHARS, ch)) return read_operator(); + if (ch == "\\" || is_identifier_start(ch)) return read_word(); + parse_error("Unexpected character '" + ch + "'"); + }; + + next_token.context = function(nc) { + if (nc) S = nc; + return S; + }; + + return next_token; + +}; + +/* -----[ Parser (constants) ]----- */ + +var UNARY_PREFIX = array_to_hash([ + "typeof", + "void", + "delete", + "--", + "++", + "!", + "~", + "-", + "+" +]); + +var UNARY_POSTFIX = array_to_hash([ "--", "++" ]); + +var ASSIGNMENT = (function(a, ret, i){ + while (i < a.length) { + ret[a[i]] = a[i].substr(0, a[i].length - 1); + i++; + } + return ret; +})( + ["+=", "-=", "/=", "*=", "%=", ">>=", "<<=", ">>>=", "|=", "^=", "&="], + { "=": true }, + 0 +); + +var PRECEDENCE = (function(a, ret){ + for (var i = 0, n = 1; i < a.length; ++i, ++n) { + var b = a[i]; + for (var j = 0; j < b.length; ++j) { + ret[b[j]] = n; + } + } + return ret; +})( + [ + ["||"], + ["&&"], + ["|"], + ["^"], + ["&"], + ["==", "===", "!=", "!=="], + ["<", ">", "<=", ">=", "in", "instanceof"], + [">>", "<<", ">>>"], + ["+", "-"], + ["*", "/", "%"] + ], + {} +); + +var STATEMENTS_WITH_LABELS = array_to_hash([ "for", "do", "while", "switch" ]); + +var ATOMIC_START_TOKEN = array_to_hash([ "atom", "num", "string", "regexp", "name" ]); + +/* -----[ Parser ]----- */ + +function NodeWithToken(str, start, end) { + this.name = str; + this.start = start; + this.end = end; +}; + +NodeWithToken.prototype.toString = function() { return this.name; }; + +function parse($TEXT, exigent_mode, embed_tokens) { + + var S = { + input : typeof $TEXT == "string" ? tokenizer($TEXT, true) : $TEXT, + token : null, + prev : null, + peeked : null, + in_function : 0, + in_loop : 0, + labels : [] + }; + + S.token = next(); + + function is(type, value) { + return is_token(S.token, type, value); + }; + + function peek() { return S.peeked || (S.peeked = S.input()); }; + + function next() { + S.prev = S.token; + if (S.peeked) { + S.token = S.peeked; + S.peeked = null; + } else { + S.token = S.input(); + } + return S.token; + }; + + function prev() { + return S.prev; + }; + + function croak(msg, line, col, pos) { + var ctx = S.input.context(); + js_error(msg, + line != null ? line : ctx.tokline, + col != null ? col : ctx.tokcol, + pos != null ? pos : ctx.tokpos); + }; + + function token_error(token, msg) { + croak(msg, token.line, token.col); + }; + + function unexpected(token) { + if (token == null) + token = S.token; + token_error(token, "Unexpected token: " + token.type + " (" + token.value + ")"); + }; + + function expect_token(type, val) { + if (is(type, val)) { + return next(); + } + token_error(S.token, "Unexpected token " + S.token.type + ", expected " + type); + }; + + function expect(punc) { return expect_token("punc", punc); }; + + function can_insert_semicolon() { + return !exigent_mode && ( + S.token.nlb || is("eof") || is("punc", "}") + ); + }; + + function semicolon() { + if (is("punc", ";")) next(); + else if (!can_insert_semicolon()) unexpected(); + }; + + function as() { + return slice(arguments); + }; + + function parenthesised() { + expect("("); + var ex = expression(); + expect(")"); + return ex; + }; + + function add_tokens(str, start, end) { + return str instanceof NodeWithToken ? str : new NodeWithToken(str, start, end); + }; + + function maybe_embed_tokens(parser) { + if (embed_tokens) return function() { + var start = S.token; + var ast = parser.apply(this, arguments); + ast[0] = add_tokens(ast[0], start, prev()); + return ast; + }; + else return parser; + }; + + var statement = maybe_embed_tokens(function() { + if (is("operator", "/")) { + S.peeked = null; + S.token = S.input(true); // force regexp + } + switch (S.token.type) { + case "num": + case "string": + case "regexp": + case "operator": + case "atom": + return simple_statement(); + + case "name": + return is_token(peek(), "punc", ":") + ? labeled_statement(prog1(S.token.value, next, next)) + : simple_statement(); + + case "punc": + switch (S.token.value) { + case "{": + return as("block", block_()); + case "[": + case "(": + return simple_statement(); + case ";": + next(); + return as("block"); + default: + unexpected(); + } + + case "keyword": + switch (prog1(S.token.value, next)) { + case "break": + return break_cont("break"); + + case "continue": + return break_cont("continue"); + + case "debugger": + semicolon(); + return as("debugger"); + + case "do": + return (function(body){ + expect_token("keyword", "while"); + return as("do", prog1(parenthesised, semicolon), body); + })(in_loop(statement)); + + case "for": + return for_(); + + case "function": + return function_(true); + + case "if": + return if_(); + + case "return": + if (S.in_function == 0) + croak("'return' outside of function"); + return as("return", + is("punc", ";") + ? (next(), null) + : can_insert_semicolon() + ? null + : prog1(expression, semicolon)); + + case "switch": + return as("switch", parenthesised(), switch_block_()); + + case "throw": + return as("throw", prog1(expression, semicolon)); + + case "try": + return try_(); + + case "var": + return prog1(var_, semicolon); + + case "const": + return prog1(const_, semicolon); + + case "while": + return as("while", parenthesised(), in_loop(statement)); + + case "with": + return as("with", parenthesised(), statement()); + + default: + unexpected(); + } + } + }); + + function labeled_statement(label) { + S.labels.push(label); + var start = S.token, stat = statement(); + if (exigent_mode && !HOP(STATEMENTS_WITH_LABELS, stat[0])) + unexpected(start); + S.labels.pop(); + return as("label", label, stat); + }; + + function simple_statement() { + return as("stat", prog1(expression, semicolon)); + }; + + function break_cont(type) { + var name; + if (!can_insert_semicolon()) { + name = is("name") ? S.token.value : null; + } + if (name != null) { + next(); + if (!member(name, S.labels)) + croak("Label " + name + " without matching loop or statement"); + } + else if (S.in_loop == 0) + croak(type + " not inside a loop or switch"); + semicolon(); + return as(type, name); + }; + + function for_() { + expect("("); + var init = null; + if (!is("punc", ";")) { + init = is("keyword", "var") + ? (next(), var_(true)) + : expression(true, true); + if (is("operator", "in")) + return for_in(init); + } + return regular_for(init); + }; + + function regular_for(init) { + expect(";"); + var test = is("punc", ";") ? null : expression(); + expect(";"); + var step = is("punc", ")") ? null : expression(); + expect(")"); + return as("for", init, test, step, in_loop(statement)); + }; + + function for_in(init) { + var lhs = init[0] == "var" ? as("name", init[1][0]) : init; + next(); + var obj = expression(); + expect(")"); + return as("for-in", init, lhs, obj, in_loop(statement)); + }; + + var function_ = maybe_embed_tokens(function(in_statement) { + var name = is("name") ? prog1(S.token.value, next) : null; + if (in_statement && !name) + unexpected(); + expect("("); + return as(in_statement ? "defun" : "function", + name, + // arguments + (function(first, a){ + while (!is("punc", ")")) { + if (first) first = false; else expect(","); + if (!is("name")) unexpected(); + a.push(S.token.value); + next(); + } + next(); + return a; + })(true, []), + // body + (function(){ + ++S.in_function; + var loop = S.in_loop; + S.in_loop = 0; + var a = block_(); + --S.in_function; + S.in_loop = loop; + return a; + })()); + }); + + function if_() { + var cond = parenthesised(), body = statement(), belse; + if (is("keyword", "else")) { + next(); + belse = statement(); + } + return as("if", cond, body, belse); + }; + + function block_() { + expect("{"); + var a = []; + while (!is("punc", "}")) { + if (is("eof")) unexpected(); + a.push(statement()); + } + next(); + return a; + }; + + var switch_block_ = curry(in_loop, function(){ + expect("{"); + var a = [], cur = null; + while (!is("punc", "}")) { + if (is("eof")) unexpected(); + if (is("keyword", "case")) { + next(); + cur = []; + a.push([ expression(), cur ]); + expect(":"); + } + else if (is("keyword", "default")) { + next(); + expect(":"); + cur = []; + a.push([ null, cur ]); + } + else { + if (!cur) unexpected(); + cur.push(statement()); + } + } + next(); + return a; + }); + + function try_() { + var body = block_(), bcatch, bfinally; + if (is("keyword", "catch")) { + next(); + expect("("); + if (!is("name")) + croak("Name expected"); + var name = S.token.value; + next(); + expect(")"); + bcatch = [ name, block_() ]; + } + if (is("keyword", "finally")) { + next(); + bfinally = block_(); + } + if (!bcatch && !bfinally) + croak("Missing catch/finally blocks"); + return as("try", body, bcatch, bfinally); + }; + + function vardefs(no_in) { + var a = []; + for (;;) { + if (!is("name")) + unexpected(); + var name = S.token.value; + next(); + if (is("operator", "=")) { + next(); + a.push([ name, expression(false, no_in) ]); + } else { + a.push([ name ]); + } + if (!is("punc", ",")) + break; + next(); + } + return a; + }; + + function var_(no_in) { + return as("var", vardefs(no_in)); + }; + + function const_() { + return as("const", vardefs()); + }; + + function new_() { + var newexp = expr_atom(false), args; + if (is("punc", "(")) { + next(); + args = expr_list(")"); + } else { + args = []; + } + return subscripts(as("new", newexp, args), true); + }; + + var expr_atom = maybe_embed_tokens(function(allow_calls) { + if (is("operator", "new")) { + next(); + return new_(); + } + if (is("punc")) { + switch (S.token.value) { + case "(": + next(); + return subscripts(prog1(expression, curry(expect, ")")), allow_calls); + case "[": + next(); + return subscripts(array_(), allow_calls); + case "{": + next(); + return subscripts(object_(), allow_calls); + } + unexpected(); + } + if (is("keyword", "function")) { + next(); + return subscripts(function_(false), allow_calls); + } + if (HOP(ATOMIC_START_TOKEN, S.token.type)) { + var atom = S.token.type == "regexp" + ? as("regexp", S.token.value[0], S.token.value[1]) + : as(S.token.type, S.token.value); + return subscripts(prog1(atom, next), allow_calls); + } + unexpected(); + }); + + function expr_list(closing, allow_trailing_comma, allow_empty) { + var first = true, a = []; + while (!is("punc", closing)) { + if (first) first = false; else expect(","); + if (allow_trailing_comma && is("punc", closing)) break; + if (is("punc", ",") && allow_empty) { + a.push([ "atom", "undefined" ]); + } else { + a.push(expression(false)); + } + } + next(); + return a; + }; + + function array_() { + return as("array", expr_list("]", !exigent_mode, true)); + }; + + function object_() { + var first = true, a = []; + while (!is("punc", "}")) { + if (first) first = false; else expect(","); + if (!exigent_mode && is("punc", "}")) + // allow trailing comma + break; + var type = S.token.type; + var name = as_property_name(); + if (type == "name" && (name == "get" || name == "set") && !is("punc", ":")) { + a.push([ as_name(), function_(false), name ]); + } else { + expect(":"); + a.push([ name, expression(false) ]); + } + } + next(); + return as("object", a); + }; + + function as_property_name() { + switch (S.token.type) { + case "num": + case "string": + return prog1(S.token.value, next); + } + return as_name(); + }; + + function as_name() { + switch (S.token.type) { + case "name": + case "operator": + case "keyword": + case "atom": + return prog1(S.token.value, next); + default: + unexpected(); + } + }; + + function subscripts(expr, allow_calls) { + if (is("punc", ".")) { + next(); + return subscripts(as("dot", expr, as_name()), allow_calls); + } + if (is("punc", "[")) { + next(); + return subscripts(as("sub", expr, prog1(expression, curry(expect, "]"))), allow_calls); + } + if (allow_calls && is("punc", "(")) { + next(); + return subscripts(as("call", expr, expr_list(")")), true); + } + return expr; + }; + + function maybe_unary(allow_calls) { + if (is("operator") && HOP(UNARY_PREFIX, S.token.value)) { + return make_unary("unary-prefix", + prog1(S.token.value, next), + maybe_unary(allow_calls)); + } + var val = expr_atom(allow_calls); + while (is("operator") && HOP(UNARY_POSTFIX, S.token.value) && !S.token.nlb) { + val = make_unary("unary-postfix", S.token.value, val); + next(); + } + return val; + }; + + function make_unary(tag, op, expr) { + if ((op == "++" || op == "--") && !is_assignable(expr)) + croak("Invalid use of " + op + " operator"); + return as(tag, op, expr); + }; + + function expr_op(left, min_prec, no_in) { + var op = is("operator") ? S.token.value : null; + if (op && op == "in" && no_in) op = null; + var prec = op != null ? PRECEDENCE[op] : null; + if (prec != null && prec > min_prec) { + next(); + var right = expr_op(maybe_unary(true), prec, no_in); + return expr_op(as("binary", op, left, right), min_prec, no_in); + } + return left; + }; + + function expr_ops(no_in) { + return expr_op(maybe_unary(true), 0, no_in); + }; + + function maybe_conditional(no_in) { + var expr = expr_ops(no_in); + if (is("operator", "?")) { + next(); + var yes = expression(false); + expect(":"); + return as("conditional", expr, yes, expression(false, no_in)); + } + return expr; + }; + + function is_assignable(expr) { + if (!exigent_mode) return true; + switch (expr[0]) { + case "dot": + case "sub": + case "new": + case "call": + return true; + case "name": + return expr[1] != "this"; + } + }; + + function maybe_assign(no_in) { + var left = maybe_conditional(no_in), val = S.token.value; + if (is("operator") && HOP(ASSIGNMENT, val)) { + if (is_assignable(left)) { + next(); + return as("assign", ASSIGNMENT[val], left, maybe_assign(no_in)); + } + croak("Invalid assignment"); + } + return left; + }; + + var expression = maybe_embed_tokens(function(commas, no_in) { + if (arguments.length == 0) + commas = true; + var expr = maybe_assign(no_in); + if (commas && is("punc", ",")) { + next(); + return as("seq", expr, expression(true, no_in)); + } + return expr; + }); + + function in_loop(cont) { + try { + ++S.in_loop; + return cont(); + } finally { + --S.in_loop; + } + }; + + return as("toplevel", (function(a){ + while (!is("eof")) + a.push(statement()); + return a; + })([])); + +}; + +/* -----[ Utilities ]----- */ + +function curry(f) { + var args = slice(arguments, 1); + return function() { return f.apply(this, args.concat(slice(arguments))); }; +}; + +function prog1(ret) { + if (ret instanceof Function) + ret = ret(); + for (var i = 1, n = arguments.length; --n > 0; ++i) + arguments[i](); + return ret; +}; + +function array_to_hash(a) { + var ret = {}; + for (var i = 0; i < a.length; ++i) + ret[a[i]] = true; + return ret; +}; + +function slice(a, start) { + return Array.prototype.slice.call(a, start == null ? 0 : start); +}; + +function characters(str) { + return str.split(""); +}; + +function member(name, array) { + for (var i = array.length; --i >= 0;) + if (array[i] === name) + return true; + return false; +}; + +function HOP(obj, prop) { + return Object.prototype.hasOwnProperty.call(obj, prop); +}; + +var warn = function() {}; + +/* -----[ Exports ]----- */ + +exports.tokenizer = tokenizer; +exports.parse = parse; +exports.slice = slice; +exports.curry = curry; +exports.member = member; +exports.array_to_hash = array_to_hash; +exports.PRECEDENCE = PRECEDENCE; +exports.KEYWORDS_ATOM = KEYWORDS_ATOM; +exports.RESERVED_WORDS = RESERVED_WORDS; +exports.KEYWORDS = KEYWORDS; +exports.ATOMIC_START_TOKEN = ATOMIC_START_TOKEN; +exports.OPERATORS = OPERATORS; +exports.is_alphanumeric_char = is_alphanumeric_char; +exports.set_logger = function(logger) { + warn = logger; +}; + + +}); +define('uglifyjs/squeeze-more', ["require", "exports", "module", "./parse-js", "./process"], function(require, exports, module) { + +var jsp = require("./parse-js"), + pro = require("./process"), + slice = jsp.slice, + member = jsp.member, + PRECEDENCE = jsp.PRECEDENCE, + OPERATORS = jsp.OPERATORS; + +function ast_squeeze_more(ast) { + var w = pro.ast_walker(), walk = w.walk; + return w.with_walkers({ + "call": function(expr, args) { + if (expr[0] == "dot" && expr[2] == "toString" && args.length == 0) { + // foo.toString() ==> foo+"" + return [ "binary", "+", expr[1], [ "string", "" ]]; + } + } + }, function() { + return walk(ast); + }); +}; + +exports.ast_squeeze_more = ast_squeeze_more; + +});define('uglifyjs/process', ["require", "exports", "module", "./parse-js", "./squeeze-more"], function(require, exports, module) { + +/*********************************************************************** + + A JavaScript tokenizer / parser / beautifier / compressor. + + This version is suitable for Node.js. With minimal changes (the + exports stuff) it should work on any JS platform. + + This file implements some AST processors. They work on data built + by parse-js. + + Exported functions: + + - ast_mangle(ast, options) -- mangles the variable/function names + in the AST. Returns an AST. + + - ast_squeeze(ast) -- employs various optimizations to make the + final generated code even smaller. Returns an AST. + + - gen_code(ast, options) -- generates JS code from the AST. Pass + true (or an object, see the code for some options) as second + argument to get "pretty" (indented) code. + + -------------------------------- (C) --------------------------------- + + Author: Mihai Bazon + + http://mihai.bazon.net/blog + + Distributed under the BSD license: + + Copyright 2010 (c) Mihai Bazon + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + * Redistributions of source code must retain the above + copyright notice, this list of conditions and the following + disclaimer. + + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials + provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY + EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, + OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR + TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF + THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + + ***********************************************************************/ + +var jsp = require("./parse-js"), + slice = jsp.slice, + member = jsp.member, + PRECEDENCE = jsp.PRECEDENCE, + OPERATORS = jsp.OPERATORS; + +/* -----[ helper for AST traversal ]----- */ + +function ast_walker(ast) { + function _vardefs(defs) { + return [ this[0], MAP(defs, function(def){ + var a = [ def[0] ]; + if (def.length > 1) + a[1] = walk(def[1]); + return a; + }) ]; + }; + function _block(statements) { + var out = [ this[0] ]; + if (statements != null) + out.push(MAP(statements, walk)); + return out; + }; + var walkers = { + "string": function(str) { + return [ this[0], str ]; + }, + "num": function(num) { + return [ this[0], num ]; + }, + "name": function(name) { + return [ this[0], name ]; + }, + "toplevel": function(statements) { + return [ this[0], MAP(statements, walk) ]; + }, + "block": _block, + "splice": _block, + "var": _vardefs, + "const": _vardefs, + "try": function(t, c, f) { + return [ + this[0], + MAP(t, walk), + c != null ? [ c[0], MAP(c[1], walk) ] : null, + f != null ? MAP(f, walk) : null + ]; + }, + "throw": function(expr) { + return [ this[0], walk(expr) ]; + }, + "new": function(ctor, args) { + return [ this[0], walk(ctor), MAP(args, walk) ]; + }, + "switch": function(expr, body) { + return [ this[0], walk(expr), MAP(body, function(branch){ + return [ branch[0] ? walk(branch[0]) : null, + MAP(branch[1], walk) ]; + }) ]; + }, + "break": function(label) { + return [ this[0], label ]; + }, + "continue": function(label) { + return [ this[0], label ]; + }, + "conditional": function(cond, t, e) { + return [ this[0], walk(cond), walk(t), walk(e) ]; + }, + "assign": function(op, lvalue, rvalue) { + return [ this[0], op, walk(lvalue), walk(rvalue) ]; + }, + "dot": function(expr) { + return [ this[0], walk(expr) ].concat(slice(arguments, 1)); + }, + "call": function(expr, args) { + return [ this[0], walk(expr), MAP(args, walk) ]; + }, + "function": function(name, args, body) { + return [ this[0], name, args.slice(), MAP(body, walk) ]; + }, + "defun": function(name, args, body) { + return [ this[0], name, args.slice(), MAP(body, walk) ]; + }, + "if": function(conditional, t, e) { + return [ this[0], walk(conditional), walk(t), walk(e) ]; + }, + "for": function(init, cond, step, block) { + return [ this[0], walk(init), walk(cond), walk(step), walk(block) ]; + }, + "for-in": function(vvar, key, hash, block) { + return [ this[0], walk(vvar), walk(key), walk(hash), walk(block) ]; + }, + "while": function(cond, block) { + return [ this[0], walk(cond), walk(block) ]; + }, + "do": function(cond, block) { + return [ this[0], walk(cond), walk(block) ]; + }, + "return": function(expr) { + return [ this[0], walk(expr) ]; + }, + "binary": function(op, left, right) { + return [ this[0], op, walk(left), walk(right) ]; + }, + "unary-prefix": function(op, expr) { + return [ this[0], op, walk(expr) ]; + }, + "unary-postfix": function(op, expr) { + return [ this[0], op, walk(expr) ]; + }, + "sub": function(expr, subscript) { + return [ this[0], walk(expr), walk(subscript) ]; + }, + "object": function(props) { + return [ this[0], MAP(props, function(p){ + return p.length == 2 + ? [ p[0], walk(p[1]) ] + : [ p[0], walk(p[1]), p[2] ]; // get/set-ter + }) ]; + }, + "regexp": function(rx, mods) { + return [ this[0], rx, mods ]; + }, + "array": function(elements) { + return [ this[0], MAP(elements, walk) ]; + }, + "stat": function(stat) { + return [ this[0], walk(stat) ]; + }, + "seq": function() { + return [ this[0] ].concat(MAP(slice(arguments), walk)); + }, + "label": function(name, block) { + return [ this[0], name, walk(block) ]; + }, + "with": function(expr, block) { + return [ this[0], walk(expr), walk(block) ]; + }, + "atom": function(name) { + return [ this[0], name ]; + } + }; + + var user = {}; + var stack = []; + function walk(ast) { + if (ast == null) + return null; + try { + stack.push(ast); + var type = ast[0]; + var gen = user[type]; + if (gen) { + var ret = gen.apply(ast, ast.slice(1)); + if (ret != null) + return ret; + } + gen = walkers[type]; + return gen.apply(ast, ast.slice(1)); + } finally { + stack.pop(); + } + }; + + function with_walkers(walkers, cont){ + var save = {}, i; + for (i in walkers) if (HOP(walkers, i)) { + save[i] = user[i]; + user[i] = walkers[i]; + } + var ret = cont(); + for (i in save) if (HOP(save, i)) { + if (!save[i]) delete user[i]; + else user[i] = save[i]; + } + return ret; + }; + + return { + walk: walk, + with_walkers: with_walkers, + parent: function() { + return stack[stack.length - 2]; // last one is current node + }, + stack: function() { + return stack; + } + }; +}; + +/* -----[ Scope and mangling ]----- */ + +function Scope(parent) { + this.names = {}; // names defined in this scope + this.mangled = {}; // mangled names (orig.name => mangled) + this.rev_mangled = {}; // reverse lookup (mangled => orig.name) + this.cname = -1; // current mangled name + this.refs = {}; // names referenced from this scope + this.uses_with = false; // will become TRUE if with() is detected in this or any subscopes + this.uses_eval = false; // will become TRUE if eval() is detected in this or any subscopes + this.parent = parent; // parent scope + this.children = []; // sub-scopes + if (parent) { + this.level = parent.level + 1; + parent.children.push(this); + } else { + this.level = 0; + } +}; + +var base54 = (function(){ + var DIGITS = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$_"; + return function(num) { + var ret = ""; + do { + ret = DIGITS.charAt(num % 54) + ret; + num = Math.floor(num / 54); + } while (num > 0); + return ret; + }; +})(); + +Scope.prototype = { + has: function(name) { + for (var s = this; s; s = s.parent) + if (HOP(s.names, name)) + return s; + }, + has_mangled: function(mname) { + for (var s = this; s; s = s.parent) + if (HOP(s.rev_mangled, mname)) + return s; + }, + toJSON: function() { + return { + names: this.names, + uses_eval: this.uses_eval, + uses_with: this.uses_with + }; + }, + + next_mangled: function() { + // we must be careful that the new mangled name: + // + // 1. doesn't shadow a mangled name from a parent + // scope, unless we don't reference the original + // name from this scope OR from any sub-scopes! + // This will get slow. + // + // 2. doesn't shadow an original name from a parent + // scope, in the event that the name is not mangled + // in the parent scope and we reference that name + // here OR IN ANY SUBSCOPES! + // + // 3. doesn't shadow a name that is referenced but not + // defined (possibly global defined elsewhere). + for (;;) { + var m = base54(++this.cname), prior; + + // case 1. + prior = this.has_mangled(m); + if (prior && this.refs[prior.rev_mangled[m]] === prior) + continue; + + // case 2. + prior = this.has(m); + if (prior && prior !== this && this.refs[m] === prior && !prior.has_mangled(m)) + continue; + + // case 3. + if (HOP(this.refs, m) && this.refs[m] == null) + continue; + + // I got "do" once. :-/ + if (!is_identifier(m)) + continue; + + return m; + } + }, + set_mangle: function(name, m) { + this.rev_mangled[m] = name; + return this.mangled[name] = m; + }, + get_mangled: function(name, newMangle) { + if (this.uses_eval || this.uses_with) return name; // no mangle if eval or with is in use + var s = this.has(name); + if (!s) return name; // not in visible scope, no mangle + if (HOP(s.mangled, name)) return s.mangled[name]; // already mangled in this scope + if (!newMangle) return name; // not found and no mangling requested + return s.set_mangle(name, s.next_mangled()); + }, + define: function(name) { + if (name != null) + return this.names[name] = name; + } +}; + +function ast_add_scope(ast) { + + var current_scope = null; + var w = ast_walker(), walk = w.walk; + var having_eval = []; + + function with_new_scope(cont) { + current_scope = new Scope(current_scope); + var ret = current_scope.body = cont(); + ret.scope = current_scope; + current_scope = current_scope.parent; + return ret; + }; + + function define(name) { + return current_scope.define(name); + }; + + function reference(name) { + current_scope.refs[name] = true; + }; + + function _lambda(name, args, body) { + var is_defun = this[0] == "defun"; + return [ this[0], is_defun ? define(name) : name, args, with_new_scope(function(){ + if (!is_defun) define(name); + MAP(args, define); + return MAP(body, walk); + })]; + }; + + return with_new_scope(function(){ + // process AST + var ret = w.with_walkers({ + "function": _lambda, + "defun": _lambda, + "with": function(expr, block) { + for (var s = current_scope; s; s = s.parent) + s.uses_with = true; + }, + "var": function(defs) { + MAP(defs, function(d){ define(d[0]) }); + }, + "const": function(defs) { + MAP(defs, function(d){ define(d[0]) }); + }, + "try": function(t, c, f) { + if (c != null) return [ + this[0], + MAP(t, walk), + [ define(c[0]), MAP(c[1], walk) ], + f != null ? MAP(f, walk) : null + ]; + }, + "name": function(name) { + if (name == "eval") + having_eval.push(current_scope); + reference(name); + } + }, function(){ + return walk(ast); + }); + + // the reason why we need an additional pass here is + // that names can be used prior to their definition. + + // scopes where eval was detected and their parents + // are marked with uses_eval, unless they define the + // "eval" name. + MAP(having_eval, function(scope){ + if (!scope.has("eval")) while (scope) { + scope.uses_eval = true; + scope = scope.parent; + } + }); + + // for referenced names it might be useful to know + // their origin scope. current_scope here is the + // toplevel one. + function fixrefs(scope, i) { + // do children first; order shouldn't matter + for (i = scope.children.length; --i >= 0;) + fixrefs(scope.children[i]); + for (i in scope.refs) if (HOP(scope.refs, i)) { + // find origin scope and propagate the reference to origin + for (var origin = scope.has(i), s = scope; s; s = s.parent) { + s.refs[i] = origin; + if (s === origin) break; + } + } + }; + fixrefs(current_scope); + + return ret; + }); + +}; + +/* -----[ mangle names ]----- */ + +function ast_mangle(ast, options) { + var w = ast_walker(), walk = w.walk, scope; + options = options || {}; + + function get_mangled(name, newMangle) { + if (!options.toplevel && !scope.parent) return name; // don't mangle toplevel + if (options.except && member(name, options.except)) + return name; + return scope.get_mangled(name, newMangle); + }; + + function get_define(name) { + if (options.defines) { + // we always lookup a defined symbol for the current scope FIRST, so declared + // vars trump a DEFINE symbol, but if no such var is found, then match a DEFINE value + if (!scope.has(name)) { + if (HOP(options.defines, name)) { + return options.defines[name]; + } + } + return null; + } + }; + + function _lambda(name, args, body) { + var is_defun = this[0] == "defun", extra; + if (name) { + if (is_defun) name = get_mangled(name); + else { + extra = {}; + if (!(scope.uses_eval || scope.uses_with)) + name = extra[name] = scope.next_mangled(); + else + extra[name] = name; + } + } + body = with_scope(body.scope, function(){ + args = MAP(args, function(name){ return get_mangled(name) }); + return MAP(body, walk); + }, extra); + return [ this[0], name, args, body ]; + }; + + function with_scope(s, cont, extra) { + var _scope = scope; + scope = s; + if (extra) for (var i in extra) if (HOP(extra, i)) { + s.set_mangle(i, extra[i]); + } + for (var i in s.names) if (HOP(s.names, i)) { + get_mangled(i, true); + } + var ret = cont(); + ret.scope = s; + scope = _scope; + return ret; + }; + + function _vardefs(defs) { + return [ this[0], MAP(defs, function(d){ + return [ get_mangled(d[0]), walk(d[1]) ]; + }) ]; + }; + + return w.with_walkers({ + "function": _lambda, + "defun": function() { + // move function declarations to the top when + // they are not in some block. + var ast = _lambda.apply(this, arguments); + switch (w.parent()[0]) { + case "toplevel": + case "function": + case "defun": + return MAP.at_top(ast); + } + return ast; + }, + "var": _vardefs, + "const": _vardefs, + "name": function(name) { + return get_define(name) || [ this[0], get_mangled(name) ]; + }, + "try": function(t, c, f) { + return [ this[0], + MAP(t, walk), + c != null ? [ get_mangled(c[0]), MAP(c[1], walk) ] : null, + f != null ? MAP(f, walk) : null ]; + }, + "toplevel": function(body) { + var self = this; + return with_scope(self.scope, function(){ + return [ self[0], MAP(body, walk) ]; + }); + } + }, function() { + return walk(ast_add_scope(ast)); + }); +}; + +/* -----[ + - compress foo["bar"] into foo.bar, + - remove block brackets {} where possible + - join consecutive var declarations + - various optimizations for IFs: + - if (cond) foo(); else bar(); ==> cond?foo():bar(); + - if (cond) foo(); ==> cond&&foo(); + - if (foo) return bar(); else return baz(); ==> return foo?bar():baz(); // also for throw + - if (foo) return bar(); else something(); ==> {if(foo)return bar();something()} + ]----- */ + +var warn = function(){}; + +function best_of(ast1, ast2) { + return gen_code(ast1).length > gen_code(ast2[0] == "stat" ? ast2[1] : ast2).length ? ast2 : ast1; +}; + +function last_stat(b) { + if (b[0] == "block" && b[1] && b[1].length > 0) + return b[1][b[1].length - 1]; + return b; +} + +function aborts(t) { + if (t) { + t = last_stat(t); + if (t[0] == "return" || t[0] == "break" || t[0] == "continue" || t[0] == "throw") + return true; + } +}; + +function boolean_expr(expr) { + return ( (expr[0] == "unary-prefix" + && member(expr[1], [ "!", "delete" ])) || + + (expr[0] == "binary" + && member(expr[1], [ "in", "instanceof", "==", "!=", "===", "!==", "<", "<=", ">=", ">" ])) || + + (expr[0] == "binary" + && member(expr[1], [ "&&", "||" ]) + && boolean_expr(expr[2]) + && boolean_expr(expr[3])) || + + (expr[0] == "conditional" + && boolean_expr(expr[2]) + && boolean_expr(expr[3])) || + + (expr[0] == "assign" + && expr[1] === true + && boolean_expr(expr[3])) || + + (expr[0] == "seq" + && boolean_expr(expr[expr.length - 1])) + ); +}; + +function make_conditional(c, t, e) { + var make_real_conditional = function() { + if (c[0] == "unary-prefix" && c[1] == "!") { + return e ? [ "conditional", c[2], e, t ] : [ "binary", "||", c[2], t ]; + } else { + return e ? [ "conditional", c, t, e ] : [ "binary", "&&", c, t ]; + } + }; + // shortcut the conditional if the expression has a constant value + return when_constant(c, function(ast, val){ + warn_unreachable(val ? e : t); + return (val ? t : e); + }, make_real_conditional); +}; + +function empty(b) { + return !b || (b[0] == "block" && (!b[1] || b[1].length == 0)); +}; + +function is_string(node) { + return (node[0] == "string" || + node[0] == "unary-prefix" && node[1] == "typeof" || + node[0] == "binary" && node[1] == "+" && + (is_string(node[2]) || is_string(node[3]))); +}; + +var when_constant = (function(){ + + var $NOT_CONSTANT = {}; + + // this can only evaluate constant expressions. If it finds anything + // not constant, it throws $NOT_CONSTANT. + function evaluate(expr) { + switch (expr[0]) { + case "string": + case "num": + return expr[1]; + case "name": + case "atom": + switch (expr[1]) { + case "true": return true; + case "false": return false; + } + break; + case "unary-prefix": + switch (expr[1]) { + case "!": return !evaluate(expr[2]); + case "typeof": return typeof evaluate(expr[2]); + case "~": return ~evaluate(expr[2]); + case "-": return -evaluate(expr[2]); + case "+": return +evaluate(expr[2]); + } + break; + case "binary": + var left = expr[2], right = expr[3]; + switch (expr[1]) { + case "&&" : return evaluate(left) && evaluate(right); + case "||" : return evaluate(left) || evaluate(right); + case "|" : return evaluate(left) | evaluate(right); + case "&" : return evaluate(left) & evaluate(right); + case "^" : return evaluate(left) ^ evaluate(right); + case "+" : return evaluate(left) + evaluate(right); + case "*" : return evaluate(left) * evaluate(right); + case "/" : return evaluate(left) / evaluate(right); + case "-" : return evaluate(left) - evaluate(right); + case "<<" : return evaluate(left) << evaluate(right); + case ">>" : return evaluate(left) >> evaluate(right); + case ">>>" : return evaluate(left) >>> evaluate(right); + case "==" : return evaluate(left) == evaluate(right); + case "===" : return evaluate(left) === evaluate(right); + case "!=" : return evaluate(left) != evaluate(right); + case "!==" : return evaluate(left) !== evaluate(right); + case "<" : return evaluate(left) < evaluate(right); + case "<=" : return evaluate(left) <= evaluate(right); + case ">" : return evaluate(left) > evaluate(right); + case ">=" : return evaluate(left) >= evaluate(right); + case "in" : return evaluate(left) in evaluate(right); + case "instanceof" : return evaluate(left) instanceof evaluate(right); + } + } + throw $NOT_CONSTANT; + }; + + return function(expr, yes, no) { + try { + var val = evaluate(expr), ast; + switch (typeof val) { + case "string": ast = [ "string", val ]; break; + case "number": ast = [ "num", val ]; break; + case "boolean": ast = [ "name", String(val) ]; break; + default: throw new Error("Can't handle constant of type: " + (typeof val)); + } + return yes.call(expr, ast, val); + } catch(ex) { + if (ex === $NOT_CONSTANT) { + if (expr[0] == "binary" + && (expr[1] == "===" || expr[1] == "!==") + && ((is_string(expr[2]) && is_string(expr[3])) + || (boolean_expr(expr[2]) && boolean_expr(expr[3])))) { + expr[1] = expr[1].substr(0, 2); + } + else if (no && expr[0] == "binary" + && (expr[1] == "||" || expr[1] == "&&")) { + // the whole expression is not constant but the lval may be... + try { + var lval = evaluate(expr[2]); + expr = ((expr[1] == "&&" && (lval ? expr[3] : lval)) || + (expr[1] == "||" && (lval ? lval : expr[3])) || + expr); + } catch(ex2) { + // IGNORE... lval is not constant + } + } + return no ? no.call(expr, expr) : null; + } + else throw ex; + } + }; + +})(); + +function warn_unreachable(ast) { + if (!empty(ast)) + warn("Dropping unreachable code: " + gen_code(ast, true)); +}; + +function prepare_ifs(ast) { + var w = ast_walker(), walk = w.walk; + // In this first pass, we rewrite ifs which abort with no else with an + // if-else. For example: + // + // if (x) { + // blah(); + // return y; + // } + // foobar(); + // + // is rewritten into: + // + // if (x) { + // blah(); + // return y; + // } else { + // foobar(); + // } + function redo_if(statements) { + statements = MAP(statements, walk); + + for (var i = 0; i < statements.length; ++i) { + var fi = statements[i]; + if (fi[0] != "if") continue; + + if (fi[3] && walk(fi[3])) continue; + + var t = walk(fi[2]); + if (!aborts(t)) continue; + + var conditional = walk(fi[1]); + + var e_body = statements.slice(i + 1); + var e; + if (e_body.length == 1) e = e_body[0]; + else e = [ "block", e_body ]; + + var ret = statements.slice(0, i).concat([ [ + fi[0], // "if" + conditional, // conditional + t, // then + e // else + ] ]); + + return redo_if(ret); + } + + return statements; + }; + + function redo_if_lambda(name, args, body) { + body = redo_if(body); + return [ this[0], name, args.slice(), body ]; + }; + + function redo_if_block(statements) { + var out = [ this[0] ]; + if (statements != null) + out.push(redo_if(statements)); + return out; + }; + + return w.with_walkers({ + "defun": redo_if_lambda, + "function": redo_if_lambda, + "block": redo_if_block, + "splice": redo_if_block, + "toplevel": function(statements) { + return [ this[0], redo_if(statements) ]; + }, + "try": function(t, c, f) { + return [ + this[0], + redo_if(t), + c != null ? [ c[0], redo_if(c[1]) ] : null, + f != null ? redo_if(f) : null + ]; + } + }, function() { + return walk(ast); + }); +}; + +function ast_squeeze(ast, options) { + options = defaults(options, { + make_seqs : true, + dead_code : true, + keep_comps : true, + no_warnings : false + }); + + var w = ast_walker(), walk = w.walk, scope; + + function negate(c) { + var not_c = [ "unary-prefix", "!", c ]; + switch (c[0]) { + case "unary-prefix": + return c[1] == "!" && boolean_expr(c[2]) ? c[2] : not_c; + case "seq": + c = slice(c); + c[c.length - 1] = negate(c[c.length - 1]); + return c; + case "conditional": + return best_of(not_c, [ "conditional", c[1], negate(c[2]), negate(c[3]) ]); + case "binary": + var op = c[1], left = c[2], right = c[3]; + if (!options.keep_comps) switch (op) { + case "<=" : return [ "binary", ">", left, right ]; + case "<" : return [ "binary", ">=", left, right ]; + case ">=" : return [ "binary", "<", left, right ]; + case ">" : return [ "binary", "<=", left, right ]; + } + switch (op) { + case "==" : return [ "binary", "!=", left, right ]; + case "!=" : return [ "binary", "==", left, right ]; + case "===" : return [ "binary", "!==", left, right ]; + case "!==" : return [ "binary", "===", left, right ]; + case "&&" : return best_of(not_c, [ "binary", "||", negate(left), negate(right) ]); + case "||" : return best_of(not_c, [ "binary", "&&", negate(left), negate(right) ]); + } + break; + } + return not_c; + }; + + function with_scope(s, cont) { + var _scope = scope; + scope = s; + var ret = cont(); + ret.scope = s; + scope = _scope; + return ret; + }; + + function rmblock(block) { + if (block != null && block[0] == "block" && block[1]) { + if (block[1].length == 1) + block = block[1][0]; + else if (block[1].length == 0) + block = [ "block" ]; + } + return block; + }; + + function _lambda(name, args, body) { + var is_defun = this[0] == "defun"; + body = with_scope(body.scope, function(){ + var ret = tighten(MAP(body, walk), "lambda"); + if (!is_defun && name && !HOP(scope.refs, name)) + name = null; + return ret; + }); + return [ this[0], name, args, body ]; + }; + + // we get here for blocks that have been already transformed. + // this function does a few things: + // 1. discard useless blocks + // 2. join consecutive var declarations + // 3. remove obviously dead code + // 4. transform consecutive statements using the comma operator + // 5. if block_type == "lambda" and it detects constructs like if(foo) return ... - rewrite like if (!foo) { ... } + function tighten(statements, block_type) { + statements = statements.reduce(function(a, stat){ + if (stat[0] == "block") { + if (stat[1]) { + a.push.apply(a, stat[1]); + } + } else { + a.push(stat); + } + return a; + }, []); + + statements = (function(a, prev){ + statements.forEach(function(cur){ + if (prev && ((cur[0] == "var" && prev[0] == "var") || + (cur[0] == "const" && prev[0] == "const"))) { + prev[1] = prev[1].concat(cur[1]); + } else { + a.push(cur); + prev = cur; + } + }); + return a; + })([]); + + if (options.dead_code) statements = (function(a, has_quit){ + statements.forEach(function(st){ + if (has_quit) { + if (member(st[0], [ "function", "defun" , "var", "const" ])) { + a.push(st); + } + else if (!options.no_warnings) + warn_unreachable(st); + } + else { + a.push(st); + if (member(st[0], [ "return", "throw", "break", "continue" ])) + has_quit = true; + } + }); + return a; + })([]); + + if (options.make_seqs) statements = (function(a, prev) { + statements.forEach(function(cur){ + if (prev && prev[0] == "stat" && cur[0] == "stat") { + prev[1] = [ "seq", prev[1], cur[1] ]; + } else { + a.push(cur); + prev = cur; + } + }); + return a; + })([]); + + if (block_type == "lambda") statements = (function(i, a, stat){ + while (i < statements.length) { + stat = statements[i++]; + if (stat[0] == "if" && !stat[3]) { + if (stat[2][0] == "return" && stat[2][1] == null) { + a.push(make_if(negate(stat[1]), [ "block", statements.slice(i) ])); + break; + } + var last = last_stat(stat[2]); + if (last[0] == "return" && last[1] == null) { + a.push(make_if(stat[1], [ "block", stat[2][1].slice(0, -1) ], [ "block", statements.slice(i) ])); + break; + } + } + a.push(stat); + } + return a; + })(0, []); + + return statements; + }; + + function make_if(c, t, e) { + return when_constant(c, function(ast, val){ + if (val) { + warn_unreachable(e); + return t; + } else { + warn_unreachable(t); + return e; + } + }, function() { + return make_real_if(c, t, e); + }); + }; + + function make_real_if(c, t, e) { + c = walk(c); + t = walk(t); + e = walk(e); + + if (empty(t)) { + c = negate(c); + t = e; + e = null; + } else if (empty(e)) { + e = null; + } else { + // if we have both else and then, maybe it makes sense to switch them? + (function(){ + var a = gen_code(c); + var n = negate(c); + var b = gen_code(n); + if (b.length < a.length) { + var tmp = t; + t = e; + e = tmp; + c = n; + } + })(); + } + if (empty(e) && empty(t)) + return [ "stat", c ]; + var ret = [ "if", c, t, e ]; + if (t[0] == "if" && empty(t[3]) && empty(e)) { + ret = best_of(ret, walk([ "if", [ "binary", "&&", c, t[1] ], t[2] ])); + } + else if (t[0] == "stat") { + if (e) { + if (e[0] == "stat") { + ret = best_of(ret, [ "stat", make_conditional(c, t[1], e[1]) ]); + } + } + else { + ret = best_of(ret, [ "stat", make_conditional(c, t[1]) ]); + } + } + else if (e && t[0] == e[0] && (t[0] == "return" || t[0] == "throw") && t[1] && e[1]) { + ret = best_of(ret, [ t[0], make_conditional(c, t[1], e[1] ) ]); + } + else if (e && aborts(t)) { + ret = [ [ "if", c, t ] ]; + if (e[0] == "block") { + if (e[1]) ret = ret.concat(e[1]); + } + else { + ret.push(e); + } + ret = walk([ "block", ret ]); + } + else if (t && aborts(e)) { + ret = [ [ "if", negate(c), e ] ]; + if (t[0] == "block") { + if (t[1]) ret = ret.concat(t[1]); + } else { + ret.push(t); + } + ret = walk([ "block", ret ]); + } + return ret; + }; + + function _do_while(cond, body) { + return when_constant(cond, function(cond, val){ + if (!val) { + warn_unreachable(body); + return [ "block" ]; + } else { + return [ "for", null, null, null, walk(body) ]; + } + }); + }; + + ast = prepare_ifs(ast); + ast = ast_add_scope(ast); + + return w.with_walkers({ + "sub": function(expr, subscript) { + if (subscript[0] == "string") { + var name = subscript[1]; + if (is_identifier(name)) + return [ "dot", walk(expr), name ]; + else if (/^[1-9][0-9]*$/.test(name) || name === "0") + return [ "sub", walk(expr), [ "num", parseInt(name, 10) ] ]; + } + }, + "if": make_if, + "toplevel": function(body) { + return [ "toplevel", with_scope(this.scope, function(){ + return tighten(MAP(body, walk)); + }) ]; + }, + "switch": function(expr, body) { + var last = body.length - 1; + return [ "switch", walk(expr), MAP(body, function(branch, i){ + var block = tighten(MAP(branch[1], walk)); + if (i == last && block.length > 0) { + var node = block[block.length - 1]; + if (node[0] == "break" && !node[1]) + block.pop(); + } + return [ branch[0] ? walk(branch[0]) : null, block ]; + }) ]; + }, + "function": _lambda, + "defun": _lambda, + "block": function(body) { + if (body) return rmblock([ "block", tighten(MAP(body, walk)) ]); + }, + "binary": function(op, left, right) { + return when_constant([ "binary", op, walk(left), walk(right) ], function yes(c){ + return best_of(walk(c), this); + }, function no() { + return this; + }); + }, + "conditional": function(c, t, e) { + return make_conditional(walk(c), walk(t), walk(e)); + }, + "try": function(t, c, f) { + return [ + "try", + tighten(MAP(t, walk)), + c != null ? [ c[0], tighten(MAP(c[1], walk)) ] : null, + f != null ? tighten(MAP(f, walk)) : null + ]; + }, + "unary-prefix": function(op, expr) { + expr = walk(expr); + var ret = [ "unary-prefix", op, expr ]; + if (op == "!") + ret = best_of(ret, negate(expr)); + return when_constant(ret, function(ast, val){ + return walk(ast); // it's either true or false, so minifies to !0 or !1 + }, function() { return ret }); + }, + "name": function(name) { + switch (name) { + case "true": return [ "unary-prefix", "!", [ "num", 0 ]]; + case "false": return [ "unary-prefix", "!", [ "num", 1 ]]; + } + }, + "new": function(ctor, args) { + if (ctor[0] == "name" && ctor[1] == "Array" && !scope.has("Array")) { + if (args.length != 1) { + return [ "array", args ]; + } else { + return [ "call", [ "name", "Array" ], args ]; + } + } + }, + "call": function(expr, args) { + if (expr[0] == "name" && expr[1] == "Array" && args.length != 1 && !scope.has("Array")) { + return [ "array", args ]; + } + }, + "while": _do_while + }, function() { + return walk(ast); + }); +}; + +/* -----[ re-generate code from the AST ]----- */ + +var DOT_CALL_NO_PARENS = jsp.array_to_hash([ + "name", + "array", + "object", + "string", + "dot", + "sub", + "call", + "regexp" +]); + +function make_string(str, ascii_only) { + var dq = 0, sq = 0; + str = str.replace(/[\\\b\f\n\r\t\x22\x27\u2028\u2029]/g, function(s){ + switch (s) { + case "\\": return "\\\\"; + case "\b": return "\\b"; + case "\f": return "\\f"; + case "\n": return "\\n"; + case "\r": return "\\r"; + case "\t": return "\\t"; + case "\u2028": return "\\u2028"; + case "\u2029": return "\\u2029"; + case '"': ++dq; return '"'; + case "'": ++sq; return "'"; + } + return s; + }); + if (ascii_only) str = to_ascii(str); + if (dq > sq) return "'" + str.replace(/\x27/g, "\\'") + "'"; + else return '"' + str.replace(/\x22/g, '\\"') + '"'; +}; + +function to_ascii(str) { + return str.replace(/[\u0080-\uffff]/g, function(ch) { + var code = ch.charCodeAt(0).toString(16); + while (code.length < 4) code = "0" + code; + return "\\u" + code; + }); +}; + +var SPLICE_NEEDS_BRACKETS = jsp.array_to_hash([ "if", "while", "do", "for", "for-in", "with" ]); + +function gen_code(ast, options) { + options = defaults(options, { + indent_start : 0, + indent_level : 4, + quote_keys : false, + space_colon : false, + beautify : false, + ascii_only : false, + inline_script: false + }); + var beautify = !!options.beautify; + var indentation = 0, + newline = beautify ? "\n" : "", + space = beautify ? " " : ""; + + function encode_string(str) { + var ret = make_string(str, options.ascii_only); + if (options.inline_script) + ret = ret.replace(/<\x2fscript([>/\t\n\f\r ])/gi, "<\\/script$1"); + return ret; + }; + + function make_name(name) { + name = name.toString(); + if (options.ascii_only) + name = to_ascii(name); + return name; + }; + + function indent(line) { + if (line == null) + line = ""; + if (beautify) + line = repeat_string(" ", options.indent_start + indentation * options.indent_level) + line; + return line; + }; + + function with_indent(cont, incr) { + if (incr == null) incr = 1; + indentation += incr; + try { return cont.apply(null, slice(arguments, 1)); } + finally { indentation -= incr; } + }; + + function add_spaces(a) { + if (beautify) + return a.join(" "); + var b = []; + for (var i = 0; i < a.length; ++i) { + var next = a[i + 1]; + b.push(a[i]); + if (next && + ((/[a-z0-9_\x24]$/i.test(a[i].toString()) && /^[a-z0-9_\x24]/i.test(next.toString())) || + (/[\+\-]$/.test(a[i].toString()) && /^[\+\-]/.test(next.toString())))) { + b.push(" "); + } + } + return b.join(""); + }; + + function add_commas(a) { + return a.join("," + space); + }; + + function parenthesize(expr) { + var gen = make(expr); + for (var i = 1; i < arguments.length; ++i) { + var el = arguments[i]; + if ((el instanceof Function && el(expr)) || expr[0] == el) + return "(" + gen + ")"; + } + return gen; + }; + + function best_of(a) { + if (a.length == 1) { + return a[0]; + } + if (a.length == 2) { + var b = a[1]; + a = a[0]; + return a.length <= b.length ? a : b; + } + return best_of([ a[0], best_of(a.slice(1)) ]); + }; + + function needs_parens(expr) { + if (expr[0] == "function" || expr[0] == "object") { + // dot/call on a literal function requires the + // function literal itself to be parenthesized + // only if it's the first "thing" in a + // statement. This means that the parent is + // "stat", but it could also be a "seq" and + // we're the first in this "seq" and the + // parent is "stat", and so on. Messy stuff, + // but it worths the trouble. + var a = slice($stack), self = a.pop(), p = a.pop(); + while (p) { + if (p[0] == "stat") return true; + if (((p[0] == "seq" || p[0] == "call" || p[0] == "dot" || p[0] == "sub" || p[0] == "conditional") && p[1] === self) || + ((p[0] == "binary" || p[0] == "assign" || p[0] == "unary-postfix") && p[2] === self)) { + self = p; + p = a.pop(); + } else { + return false; + } + } + } + return !HOP(DOT_CALL_NO_PARENS, expr[0]); + }; + + function make_num(num) { + var str = num.toString(10), a = [ str.replace(/^0\./, ".") ], m; + if (Math.floor(num) === num) { + a.push("0x" + num.toString(16).toLowerCase(), // probably pointless + "0" + num.toString(8)); // same. + if ((m = /^(.*?)(0+)$/.exec(num))) { + a.push(m[1] + "e" + m[2].length); + } + } else if ((m = /^0?\.(0+)(.*)$/.exec(num))) { + a.push(m[2] + "e-" + (m[1].length + m[2].length), + str.substr(str.indexOf("."))); + } + return best_of(a); + }; + + var generators = { + "string": encode_string, + "num": make_num, + "name": make_name, + "toplevel": function(statements) { + return make_block_statements(statements) + .join(newline + newline); + }, + "splice": function(statements) { + var parent = $stack[$stack.length - 2][0]; + if (HOP(SPLICE_NEEDS_BRACKETS, parent)) { + // we need block brackets in this case + return make_block.apply(this, arguments); + } else { + return MAP(make_block_statements(statements, true), + function(line, i) { + // the first line is already indented + return i > 0 ? indent(line) : line; + }).join(newline); + } + }, + "block": make_block, + "var": function(defs) { + return "var " + add_commas(MAP(defs, make_1vardef)) + ";"; + }, + "const": function(defs) { + return "const " + add_commas(MAP(defs, make_1vardef)) + ";"; + }, + "try": function(tr, ca, fi) { + var out = [ "try", make_block(tr) ]; + if (ca) out.push("catch", "(" + ca[0] + ")", make_block(ca[1])); + if (fi) out.push("finally", make_block(fi)); + return add_spaces(out); + }, + "throw": function(expr) { + return add_spaces([ "throw", make(expr) ]) + ";"; + }, + "new": function(ctor, args) { + args = args.length > 0 ? "(" + add_commas(MAP(args, make)) + ")" : ""; + return add_spaces([ "new", parenthesize(ctor, "seq", "binary", "conditional", "assign", function(expr){ + var w = ast_walker(), has_call = {}; + try { + w.with_walkers({ + "call": function() { throw has_call }, + "function": function() { return this } + }, function(){ + w.walk(expr); + }); + } catch(ex) { + if (ex === has_call) + return true; + throw ex; + } + }) + args ]); + }, + "switch": function(expr, body) { + return add_spaces([ "switch", "(" + make(expr) + ")", make_switch_block(body) ]); + }, + "break": function(label) { + var out = "break"; + if (label != null) + out += " " + make_name(label); + return out + ";"; + }, + "continue": function(label) { + var out = "continue"; + if (label != null) + out += " " + make_name(label); + return out + ";"; + }, + "conditional": function(co, th, el) { + return add_spaces([ parenthesize(co, "assign", "seq", "conditional"), "?", + parenthesize(th, "seq"), ":", + parenthesize(el, "seq") ]); + }, + "assign": function(op, lvalue, rvalue) { + if (op && op !== true) op += "="; + else op = "="; + return add_spaces([ make(lvalue), op, parenthesize(rvalue, "seq") ]); + }, + "dot": function(expr) { + var out = make(expr), i = 1; + if (expr[0] == "num") { + if (!/\./.test(expr[1])) + out += "."; + } else if (needs_parens(expr)) + out = "(" + out + ")"; + while (i < arguments.length) + out += "." + make_name(arguments[i++]); + return out; + }, + "call": function(func, args) { + var f = make(func); + if (needs_parens(func)) + f = "(" + f + ")"; + return f + "(" + add_commas(MAP(args, function(expr){ + return parenthesize(expr, "seq"); + })) + ")"; + }, + "function": make_function, + "defun": make_function, + "if": function(co, th, el) { + var out = [ "if", "(" + make(co) + ")", el ? make_then(th) : make(th) ]; + if (el) { + out.push("else", make(el)); + } + return add_spaces(out); + }, + "for": function(init, cond, step, block) { + var out = [ "for" ]; + init = (init != null ? make(init) : "").replace(/;*\s*$/, ";" + space); + cond = (cond != null ? make(cond) : "").replace(/;*\s*$/, ";" + space); + step = (step != null ? make(step) : "").replace(/;*\s*$/, ""); + var args = init + cond + step; + if (args == "; ; ") args = ";;"; + out.push("(" + args + ")", make(block)); + return add_spaces(out); + }, + "for-in": function(vvar, key, hash, block) { + return add_spaces([ "for", "(" + + (vvar ? make(vvar).replace(/;+$/, "") : make(key)), + "in", + make(hash) + ")", make(block) ]); + }, + "while": function(condition, block) { + return add_spaces([ "while", "(" + make(condition) + ")", make(block) ]); + }, + "do": function(condition, block) { + return add_spaces([ "do", make(block), "while", "(" + make(condition) + ")" ]) + ";"; + }, + "return": function(expr) { + var out = [ "return" ]; + if (expr != null) out.push(make(expr)); + return add_spaces(out) + ";"; + }, + "binary": function(operator, lvalue, rvalue) { + var left = make(lvalue), right = make(rvalue); + // XXX: I'm pretty sure other cases will bite here. + // we need to be smarter. + // adding parens all the time is the safest bet. + if (member(lvalue[0], [ "assign", "conditional", "seq" ]) || + lvalue[0] == "binary" && PRECEDENCE[operator] > PRECEDENCE[lvalue[1]]) { + left = "(" + left + ")"; + } + if (member(rvalue[0], [ "assign", "conditional", "seq" ]) || + rvalue[0] == "binary" && PRECEDENCE[operator] >= PRECEDENCE[rvalue[1]] && + !(rvalue[1] == operator && member(operator, [ "&&", "||", "*" ]))) { + right = "(" + right + ")"; + } + else if (!beautify && options.inline_script && (operator == "<" || operator == "<<") + && rvalue[0] == "regexp" && /^script/i.test(rvalue[1])) { + right = " " + right; + } + return add_spaces([ left, operator, right ]); + }, + "unary-prefix": function(operator, expr) { + var val = make(expr); + if (!(expr[0] == "num" || (expr[0] == "unary-prefix" && !HOP(OPERATORS, operator + expr[1])) || !needs_parens(expr))) + val = "(" + val + ")"; + return operator + (jsp.is_alphanumeric_char(operator.charAt(0)) ? " " : "") + val; + }, + "unary-postfix": function(operator, expr) { + var val = make(expr); + if (!(expr[0] == "num" || (expr[0] == "unary-postfix" && !HOP(OPERATORS, operator + expr[1])) || !needs_parens(expr))) + val = "(" + val + ")"; + return val + operator; + }, + "sub": function(expr, subscript) { + var hash = make(expr); + if (needs_parens(expr)) + hash = "(" + hash + ")"; + return hash + "[" + make(subscript) + "]"; + }, + "object": function(props) { + if (props.length == 0) + return "{}"; + return "{" + newline + with_indent(function(){ + return MAP(props, function(p){ + if (p.length == 3) { + // getter/setter. The name is in p[0], the arg.list in p[1][2], the + // body in p[1][3] and type ("get" / "set") in p[2]. + return indent(make_function(p[0], p[1][2], p[1][3], p[2])); + } + var key = p[0], val = make(p[1]); + if (options.quote_keys) { + key = encode_string(key); + } else if ((typeof key == "number" || !beautify && +key + "" == key) + && parseFloat(key) >= 0) { + key = make_num(+key); + } else if (!is_identifier(key)) { + key = encode_string(key); + } + return indent(add_spaces(beautify && options.space_colon + ? [ key, ":", val ] + : [ key + ":", val ])); + }).join("," + newline); + }) + newline + indent("}"); + }, + "regexp": function(rx, mods) { + return "/" + rx + "/" + mods; + }, + "array": function(elements) { + if (elements.length == 0) return "[]"; + return add_spaces([ "[", add_commas(MAP(elements, function(el){ + if (!beautify && el[0] == "atom" && el[1] == "undefined") return ""; + return parenthesize(el, "seq"); + })), "]" ]); + }, + "stat": function(stmt) { + return make(stmt).replace(/;*\s*$/, ";"); + }, + "seq": function() { + return add_commas(MAP(slice(arguments), make)); + }, + "label": function(name, block) { + return add_spaces([ make_name(name), ":", make(block) ]); + }, + "with": function(expr, block) { + return add_spaces([ "with", "(" + make(expr) + ")", make(block) ]); + }, + "atom": function(name) { + return make_name(name); + } + }; + + // The squeezer replaces "block"-s that contain only a single + // statement with the statement itself; technically, the AST + // is correct, but this can create problems when we output an + // IF having an ELSE clause where the THEN clause ends in an + // IF *without* an ELSE block (then the outer ELSE would refer + // to the inner IF). This function checks for this case and + // adds the block brackets if needed. + function make_then(th) { + if (th[0] == "do") { + // https://github.com/mishoo/UglifyJS/issues/#issue/57 + // IE croaks with "syntax error" on code like this: + // if (foo) do ... while(cond); else ... + // we need block brackets around do/while + return make([ "block", [ th ]]); + } + var b = th; + while (true) { + var type = b[0]; + if (type == "if") { + if (!b[3]) + // no else, we must add the block + return make([ "block", [ th ]]); + b = b[3]; + } + else if (type == "while" || type == "do") b = b[2]; + else if (type == "for" || type == "for-in") b = b[4]; + else break; + } + return make(th); + }; + + function make_function(name, args, body, keyword) { + var out = keyword || "function"; + if (name) { + out += " " + make_name(name); + } + out += "(" + add_commas(MAP(args, make_name)) + ")"; + return add_spaces([ out, make_block(body) ]); + }; + + function make_block_statements(statements, noindent) { + for (var a = [], last = statements.length - 1, i = 0; i <= last; ++i) { + var stat = statements[i]; + var code = make(stat); + if (code != ";") { + if (!beautify && i == last) { + if ((stat[0] == "while" && empty(stat[2])) || + (member(stat[0], [ "for", "for-in"] ) && empty(stat[4])) || + (stat[0] == "if" && empty(stat[2]) && !stat[3]) || + (stat[0] == "if" && stat[3] && empty(stat[3]))) { + code = code.replace(/;*\s*$/, ";"); + } else { + code = code.replace(/;+\s*$/, ""); + } + } + a.push(code); + } + } + return noindent ? a : MAP(a, indent); + }; + + function make_switch_block(body) { + var n = body.length; + if (n == 0) return "{}"; + return "{" + newline + MAP(body, function(branch, i){ + var has_body = branch[1].length > 0, code = with_indent(function(){ + return indent(branch[0] + ? add_spaces([ "case", make(branch[0]) + ":" ]) + : "default:"); + }, 0.5) + (has_body ? newline + with_indent(function(){ + return make_block_statements(branch[1]).join(newline); + }) : ""); + if (!beautify && has_body && i < n - 1) + code += ";"; + return code; + }).join(newline) + newline + indent("}"); + }; + + function make_block(statements) { + if (!statements) return ";"; + if (statements.length == 0) return "{}"; + return "{" + newline + with_indent(function(){ + return make_block_statements(statements).join(newline); + }) + newline + indent("}"); + }; + + function make_1vardef(def) { + var name = def[0], val = def[1]; + if (val != null) + name = add_spaces([ make_name(name), "=", parenthesize(val, "seq") ]); + return name; + }; + + var $stack = []; + + function make(node) { + var type = node[0]; + var gen = generators[type]; + if (!gen) + throw new Error("Can't find generator for \"" + type + "\""); + $stack.push(node); + var ret = gen.apply(type, node.slice(1)); + $stack.pop(); + return ret; + }; + + return make(ast); +}; + +function split_lines(code, max_line_length) { + var splits = [ 0 ]; + jsp.parse(function(){ + var next_token = jsp.tokenizer(code); + var last_split = 0; + var prev_token; + function current_length(tok) { + return tok.pos - last_split; + }; + function split_here(tok) { + last_split = tok.pos; + splits.push(last_split); + }; + function custom(){ + var tok = next_token.apply(this, arguments); + out: { + if (prev_token) { + if (prev_token.type == "keyword") break out; + } + if (current_length(tok) > max_line_length) { + switch (tok.type) { + case "keyword": + case "atom": + case "name": + case "punc": + split_here(tok); + break out; + } + } + } + prev_token = tok; + return tok; + }; + custom.context = function() { + return next_token.context.apply(this, arguments); + }; + return custom; + }()); + return splits.map(function(pos, i){ + return code.substring(pos, splits[i + 1] || code.length); + }).join("\n"); +}; + +/* -----[ Utilities ]----- */ + +function repeat_string(str, i) { + if (i <= 0) return ""; + if (i == 1) return str; + var d = repeat_string(str, i >> 1); + d += d; + if (i & 1) d += str; + return d; +}; + +function defaults(args, defs) { + var ret = {}; + if (args === true) + args = {}; + for (var i in defs) if (HOP(defs, i)) { + ret[i] = (args && HOP(args, i)) ? args[i] : defs[i]; + } + return ret; +}; + +function is_identifier(name) { + return /^[a-z_$][a-z0-9_$]*$/i.test(name) + && name != "this" + && !HOP(jsp.KEYWORDS_ATOM, name) + && !HOP(jsp.RESERVED_WORDS, name) + && !HOP(jsp.KEYWORDS, name); +}; + +function HOP(obj, prop) { + return Object.prototype.hasOwnProperty.call(obj, prop); +}; + +// some utilities + +var MAP; + +(function(){ + MAP = function(a, f, o) { + var ret = []; + for (var i = 0; i < a.length; ++i) { + var val = f.call(o, a[i], i); + if (val instanceof AtTop) ret.unshift(val.v); + else ret.push(val); + } + return ret; + }; + MAP.at_top = function(val) { return new AtTop(val) }; + function AtTop(val) { this.v = val }; +})(); + +/* -----[ Exports ]----- */ + +exports.ast_walker = ast_walker; +exports.ast_mangle = ast_mangle; +exports.ast_squeeze = ast_squeeze; +exports.gen_code = gen_code; +exports.ast_add_scope = ast_add_scope; +exports.set_logger = function(logger) { warn = logger }; +exports.make_string = make_string; +exports.split_lines = split_lines; +exports.MAP = MAP; + +// keep this last! +exports.ast_squeeze_more = require("./squeeze-more").ast_squeeze_more; + +}); +define('uglifyjs/index', ["require", "exports", "module", "./parse-js", "./process"], function(require, exports, module) { + + +//convienence function(src, [options]); +function uglify(orig_code, options){ + options || (options = {}); + var jsp = uglify.parser; + var pro = uglify.uglify; + + var ast = jsp.parse(orig_code, options.strict_semicolons); // parse code and get the initial AST + ast = pro.ast_mangle(ast, options.mangle_options); // get a new AST with mangled names + ast = pro.ast_squeeze(ast, options.squeeze_options); // get an AST with compression optimizations + var final_code = pro.gen_code(ast, options.gen_options); // compressed code here + return final_code; +}; + +uglify.parser = require("./parse-js"); +uglify.uglify = require("./process"); + +module.exports = uglify + + +}); +/** + * @license Copyright (c) 2010-2011, The Dojo Foundation All Rights Reserved. + * Available via the MIT or new BSD license. + * see: http://github.com/jrburke/requirejs for details + */ + +/*jslint plusplus: false, strict: false */ +/*global define: false */ + +define('parse', ['uglifyjs/index'], function (uglify) { + var parser = uglify.parser, + processor = uglify.uglify, + ostring = Object.prototype.toString, + isArray; + + if (Array.isArray) { + isArray = Array.isArray; + } else { + isArray = function (it) { + return ostring.call(it) === "[object Array]"; + }; + } + + /** + * Determines if the AST node is an array literal + */ + function isArrayLiteral(node) { + return node[0] === 'array'; + } + + /** + * Determines if the AST node is an object literal + */ + function isObjectLiteral(node) { + return node[0] === 'object'; + } + + /** + * Converts a regular JS array of strings to an AST node that + * represents that array. + * @param {Array} ary + * @param {Node} an AST node that represents an array of strings. + */ + function toAstArray(ary) { + var output = [ + 'array', + [] + ], + i, item; + + for (i = 0; (item = ary[i]); i++) { + output[1].push([ + 'string', + item + ]); + } + + return output; + } + + /** + * Validates a node as being an object literal (like for i18n bundles) + * or an array literal with just string members. If an array literal, + * only return array members that are full strings. So the caller of + * this function should use the return value as the new value for the + * node. + * + * This function does not need to worry about comments, they are not + * present in this AST. + * + * @param {Node} node an AST node. + * + * @returns {Node} an AST node to use for the valid dependencies. + * If null is returned, then it means the input node was not a valid + * dependency. + */ + function validateDeps(node) { + var newDeps = ['array', []], + arrayArgs, i, dep; + + if (!node) { + return null; + } + + if (isObjectLiteral(node) || node[0] === 'function') { + return node; + } + + //Dependencies can be an object literal or an array. + if (!isArrayLiteral(node)) { + return null; + } + + arrayArgs = node[1]; + + for (i = 0; i < arrayArgs.length; i++) { + dep = arrayArgs[i]; + if (dep[0] === 'string') { + newDeps[1].push(dep); + } + } + return newDeps[1].length ? newDeps : null; + } + + /** + * Main parse function. Returns a string of any valid require or define/require.def + * calls as part of one JavaScript source string. + * @param {String} fileName + * @param {String} fileContents + * @returns {String} JS source string or null, if no require or define/require.def + * calls are found. + */ + function parse(fileName, fileContents) { + //Set up source input + var matches = [], result = null, + astRoot = parser.parse(fileContents); + + parse.recurse(astRoot, function () { + var parsed = parse.callToString.apply(parse, arguments); + if (parsed) { + matches.push(parsed); + } + }); + + if (matches.length) { + result = matches.join("\n"); + } + + return result; + } + + //Add some private methods to object for use in derived objects. + parse.isArray = isArray; + parse.isObjectLiteral = isObjectLiteral; + parse.isArrayLiteral = isArrayLiteral; + + /** + * Handles parsing a file recursively for require calls. + * @param {Array} parentNode the AST node to start with. + * @param {Function} onMatch function to call on a parse match. + */ + parse.recurse = function (parentNode, onMatch) { + var i, node; + if (isArray(parentNode)) { + for (i = 0; i < parentNode.length; i++) { + node = parentNode[i]; + if (isArray(node)) { + this.parseNode(node, onMatch); + this.recurse(node, onMatch); + } + } + } + }; + + /** + * Determines if the file defines require(). + * @param {String} fileName + * @param {String} fileContents + * @returns {Boolean} + */ + parse.definesRequire = function (fileName, fileContents) { + var astRoot = parser.parse(fileContents); + return this.nodeHasRequire(astRoot); + }; + + /** + * Finds require("") calls inside a CommonJS anonymous module wrapped in a + * define/require.def(function(require, exports, module){}) wrapper. These dependencies + * will be added to a modified define() call that lists the dependencies + * on the outside of the function. + * @param {String} fileName + * @param {String} fileContents + * @returns {Array} an array of module names that are dependencies. Always + * returns an array, but could be of length zero. + */ + parse.getAnonDeps = function (fileName, fileContents) { + var astRoot = parser.parse(fileContents), + defFunc = this.findAnonRequireDefCallback(astRoot); + + return parse.getAnonDepsFromNode(defFunc); + }; + + /** + * Finds require("") calls inside a CommonJS anonymous module wrapped + * in a define function, given an AST node for the definition function. + * @param {Node} node the AST node for the definition function. + * @returns {Array} and array of dependency names. Can be of zero length. + */ + parse.getAnonDepsFromNode = function (node) { + var deps = [], + funcArgLength; + + if (node) { + this.findRequireDepNames(node, deps); + + //If no deps, still add the standard CommonJS require, exports, module, + //in that order, to the deps, but only if specified as function args. + //In particular, if exports is used, it is favored over the return + //value of the function, so only add it if asked. + funcArgLength = node[2] && node[2].length; + if (funcArgLength) { + deps = (funcArgLength > 1 ? ["require", "exports", "module"] : + ["require"]).concat(deps); + } + } + return deps; + }; + + /** + * Finds the function in require.def or define(function (require, exports, module){}); + * @param {Array} node + * @returns {Boolean} + */ + parse.findAnonRequireDefCallback = function (node) { + var callback, i, n, call, args; + + if (isArray(node)) { + if (node[0] === 'call') { + call = node[1]; + args = node[2]; + if ((call[0] === 'name' && call[1] === 'define') || + (call[0] === 'dot' && call[1][1] === 'require' && call[2] === 'def')) { + + //There should only be one argument and it should be a function. + if (args.length === 1 && args[0][0] === 'function') { + return args[0]; + } + + } + } + + //Check child nodes + for (i = 0; i < node.length; i++) { + n = node[i]; + if ((callback = this.findAnonRequireDefCallback(n))) { + return callback; + } + } + } + + return null; + }; + + /** + * Finds all dependencies specified in dependency arrays and inside + * simplified commonjs wrappers. + * @param {String} fileName + * @param {String} fileContents + * + * @returns {Array} an array of dependency strings. The dependencies + * have not been normalized, they may be relative IDs. + */ + parse.findDependencies = function (fileName, fileContents) { + //This is a litle bit inefficient, it ends up with two uglifyjs parser + //calls. Can revisit later, but trying to build out larger functional + //pieces first. + var dependencies = parse.getAnonDeps(fileName, fileContents), + astRoot = parser.parse(fileContents), + i, dep; + + parse.recurse(astRoot, function (callName, config, name, deps) { + //Normalize the input args. + if (name && isArrayLiteral(name)) { + deps = name; + name = null; + } + + if (!(deps = validateDeps(deps)) || !isArrayLiteral(deps)) { + return; + } + + for (i = 0; (dep = deps[1][i]); i++) { + dependencies.push(dep[1]); + } + }); + + return dependencies; + }; + + parse.findRequireDepNames = function (node, deps) { + var moduleName, i, n, call, args; + + if (isArray(node)) { + if (node[0] === 'call') { + call = node[1]; + args = node[2]; + + if (call[0] === 'name' && call[1] === 'require') { + moduleName = args[0]; + if (moduleName[0] === 'string') { + deps.push(moduleName[1]); + } + } + + + } + + //Check child nodes + for (i = 0; i < node.length; i++) { + n = node[i]; + this.findRequireDepNames(n, deps); + } + } + }; + + /** + * Determines if a given node contains a require() definition. + * @param {Array} node + * @returns {Boolean} + */ + parse.nodeHasRequire = function (node) { + if (this.isDefineNode(node)) { + return true; + } + + if (isArray(node)) { + for (var i = 0, n; i < node.length; i++) { + n = node[i]; + if (this.nodeHasRequire(n)) { + return true; + } + } + } + + return false; + }; + + /** + * Is the given node the actual definition of define(). Actually uses + * the definition of define.amd to find require. + * @param {Array} node + * @returns {Boolean} + */ + parse.isDefineNode = function (node) { + //Actually look for the define.amd = assignment, since + //that is more indicative of RequireJS vs a plain require definition. + var assign; + if (!node) { + return null; + } + + if (node[0] === 'assign' && node[1] === true) { + assign = node[2]; + if (assign[0] === 'dot' && assign[1][0] === 'name' && + assign[1][1] === 'define' && assign[2] === 'amd') { + return true; + } + } + return false; + }; + + function optionalString(node) { + var str = null; + if (node) { + str = parse.nodeToString(node); + } + return str; + } + + /** + * Convert a require/require.def/define call to a string if it is a valid + * call via static analysis of dependencies. + * @param {String} callName the name of call (require or define) + * @param {Array} the config node inside the call + * @param {Array} the name node inside the call + * @param {Array} the deps node inside the call + */ + parse.callToString = function (callName, config, name, deps) { + //If name is an array, it means it is an anonymous module, + //so adjust args appropriately. An anonymous module could + //have a FUNCTION as the name type, but just ignore those + //since we just want to find dependencies. + var configString, nameString, depString; + if (name && isArrayLiteral(name)) { + deps = name; + name = null; + } + + if (!(deps = validateDeps(deps))) { + return null; + } + + //Only serialize the call name, config, module name and dependencies, + //otherwise could get local variable names for module value. + configString = config && isObjectLiteral(config) && optionalString(config); + nameString = optionalString(name); + depString = optionalString(deps); + + return callName + "(" + + (configString ? configString : "") + + (nameString ? (configString ? "," : "") + nameString : "") + + (depString ? (configString || nameString ? "," : "") + depString : "") + + ");"; + }; + + /** + * Determines if a specific node is a valid require or define/require.def call. + * @param {Array} node + * @param {Function} onMatch a function to call when a match is found. + * It is passed the match name, and the config, name, deps possible args. + * The config, name and deps args are not normalized. + * + * @returns {String} a JS source string with the valid require/define call. + * Otherwise null. + */ + parse.parseNode = function (node, onMatch) { + var call, name, config, deps, args, cjsDeps; + + if (!isArray(node)) { + return null; + } + + if (node[0] === 'call') { + call = node[1]; + args = node[2]; + + if (call) { + if (call[0] === 'name' && call[1] === 'require') { + + //It is a plain require() call. + config = args[0]; + deps = args[1]; + if (isArrayLiteral(config)) { + deps = config; + config = null; + } + + if (!(deps = validateDeps(deps))) { + return null; + } + + return onMatch("require", null, null, deps); + + } else if ((call[0] === 'name' && call[1] === 'define') || + (call[0] === 'dot' && call[1][1] === 'require' && + call[2] === 'def')) { + + //A define or require.def call + name = args[0]; + deps = args[1]; + //Only allow define calls that match what is expected + //in an AMD call: + //* first arg should be string, array, function or object + //* second arg optional, or array, function or object. + //This helps weed out calls to a non-AMD define, but it is + //not completely robust. Someone could create a define + //function that still matches this shape, but this is the + //best that is possible, and at least allows UglifyJS, + //which does create its own internal define in one file, + //to be inlined. + if (((name[0] === 'string' || isArrayLiteral(name) || + name[0] === 'function' || isObjectLiteral(name))) && + (!deps || isArrayLiteral(deps) || + deps[0] === 'function' || isObjectLiteral(deps))) { + + //If first arg is a function, could be a commonjs wrapper, + //look inside for commonjs dependencies. + if (name && name[0] === 'function') { + cjsDeps = parse.getAnonDepsFromNode(name); + if (cjsDeps.length) { + name = toAstArray(cjsDeps); + } + } + + return onMatch("define", null, name, deps); + } + } + } + } + + return null; + }; + + /** + * Converts an AST node into a JS source string. Does not maintain formatting + * or even comments from original source, just returns valid JS source. + * @param {Array} node + * @returns {String} a JS source string. + */ + parse.nodeToString = function (node) { + return processor.gen_code(node, true); + }; + + return parse; +}); +/** + * @license Copyright (c) 2010-2011, The Dojo Foundation All Rights Reserved. + * Available via the MIT or new BSD license. + * see: http://github.com/jrburke/requirejs for details + */ + +/*jslint regexp: false, strict: false */ +/*global define: false */ + +define('pragma', function () { + + function Temp() {} + + function create(obj, mixin) { + Temp.prototype = obj; + var temp = new Temp(), prop; + + //Avoid any extra memory hanging around + Temp.prototype = null; + + if (mixin) { + for (prop in mixin) { + if (mixin.hasOwnProperty(prop) && !(prop in temp)) { + temp[prop] = mixin[prop]; + } + } + } + + return temp; // Object + } + + var pragma = { + conditionalRegExp: /(exclude|include)Start\s*\(\s*["'](\w+)["']\s*,(.*)\)/, + useStrictRegExp: /['"]use strict['"];/g, + hasRegExp: /has\s*\(\s*['"]([^'"]+)['"]\)/g, + nsRegExp: /(^|[^\.])(requirejs|require|define)\s*\(/, + apiDefRegExp: /var requirejs, require, define;/, + + removeStrict: function (contents, config) { + return config.useStrict ? contents : contents.replace(pragma.useStrictRegExp, ''); + }, + + namespace: function (fileContents, ns, onLifecycleName) { + if (ns) { + //Namespace require/define calls + fileContents = fileContents.replace(pragma.nsRegExp, '$1' + ns + '.$2('); + + //Check for require.js with the require/define definitions + if (pragma.apiDefRegExp.test(fileContents) && + fileContents.indexOf("if (typeof " + ns + " === 'undefined')") === -1) { + //Wrap the file contents in a typeof check, and a function + //to contain the API globals. + fileContents = "var " + ns + ";(function () { if (typeof " + + ns + " === 'undefined') {\n" + + ns + ' = {};\n' + + fileContents + + "\n}\n" + + ns + ".requirejs = requirejs;" + + ns + ".require = require;" + + ns + ".define = define;\n" + + "}());"; + } + } + + return fileContents; + }, + + /** + * processes the fileContents for some //>> conditional statements + */ + process: function (fileName, fileContents, config, onLifecycleName) { + /*jslint evil: true */ + var foundIndex = -1, startIndex = 0, lineEndIndex, conditionLine, + matches, type, marker, condition, isTrue, endRegExp, endMatches, + endMarkerIndex, shouldInclude, startLength, lifecycleHas, + lifecyclePragmas, pragmas = config.pragmas, hasConfig = config.has, + //Legacy arg defined to help in dojo conversion script. Remove later + //when dojo no longer needs conversion: + kwArgs = pragmas; + + //Mix in a specific lifecycle scoped object, to allow targeting + //some pragmas/has tests to only when files are saved, or at different + //lifecycle events. Do not bother with kwArgs in this section, since + //the old dojo kwArgs were for all points in the build lifecycle. + if (onLifecycleName) { + lifecyclePragmas = config['pragmas' + onLifecycleName]; + lifecycleHas = config['has' + onLifecycleName]; + + if (lifecyclePragmas) { + pragmas = create(pragmas || {}, lifecyclePragmas); + } + + if (lifecycleHas) { + hasConfig = create(hasConfig || {}, lifecycleHas); + } + } + + //Replace has references if desired + if (hasConfig) { + fileContents = fileContents.replace(pragma.hasRegExp, function (match, test) { + if (test in hasConfig) { + return !!hasConfig[test]; + } + return match; + }); + } + + //Do namespacing + if (onLifecycleName === 'OnSave' && config.namespace) { + fileContents = pragma.namespace(fileContents, config.namespace, onLifecycleName); + } + + //If pragma work is not desired, skip it. + if (config.skipPragmas) { + return pragma.removeStrict(fileContents, config); + } + + while ((foundIndex = fileContents.indexOf("//>>", startIndex)) !== -1) { + //Found a conditional. Get the conditional line. + lineEndIndex = fileContents.indexOf("\n", foundIndex); + if (lineEndIndex === -1) { + lineEndIndex = fileContents.length - 1; + } + + //Increment startIndex past the line so the next conditional search can be done. + startIndex = lineEndIndex + 1; + + //Break apart the conditional. + conditionLine = fileContents.substring(foundIndex, lineEndIndex + 1); + matches = conditionLine.match(pragma.conditionalRegExp); + if (matches) { + type = matches[1]; + marker = matches[2]; + condition = matches[3]; + isTrue = false; + //See if the condition is true. + try { + isTrue = !!eval("(" + condition + ")"); + } catch (e) { + throw "Error in file: " + + fileName + + ". Conditional comment: " + + conditionLine + + " failed with this error: " + e; + } + + //Find the endpoint marker. + endRegExp = new RegExp('\\/\\/\\>\\>\\s*' + type + 'End\\(\\s*[\'"]' + marker + '[\'"]\\s*\\)', "g"); + endMatches = endRegExp.exec(fileContents.substring(startIndex, fileContents.length)); + if (endMatches) { + endMarkerIndex = startIndex + endRegExp.lastIndex - endMatches[0].length; + + //Find the next line return based on the match position. + lineEndIndex = fileContents.indexOf("\n", endMarkerIndex); + if (lineEndIndex === -1) { + lineEndIndex = fileContents.length - 1; + } + + //Should we include the segment? + shouldInclude = ((type === "exclude" && !isTrue) || (type === "include" && isTrue)); + + //Remove the conditional comments, and optionally remove the content inside + //the conditional comments. + startLength = startIndex - foundIndex; + fileContents = fileContents.substring(0, foundIndex) + + (shouldInclude ? fileContents.substring(startIndex, endMarkerIndex) : "") + + fileContents.substring(lineEndIndex + 1, fileContents.length); + + //Move startIndex to foundIndex, since that is the new position in the file + //where we need to look for more conditionals in the next while loop pass. + startIndex = foundIndex; + } else { + throw "Error in file: " + + fileName + + ". Cannot find end marker for conditional comment: " + + conditionLine; + + } + } + } + + return pragma.removeStrict(fileContents, config); + } + }; + + return pragma; +}); +if(env === 'node') { +/** + * @license Copyright (c) 2010-2011, The Dojo Foundation All Rights Reserved. + * Available via the MIT or new BSD license. + * see: http://github.com/jrburke/requirejs for details + */ + +/*jslint strict: false */ +/*global define: false */ + +define('node/optimize', {}); + +} + +if(env === 'rhino') { +/** + * @license Copyright (c) 2010-2011, The Dojo Foundation All Rights Reserved. + * Available via the MIT or new BSD license. + * see: http://github.com/jrburke/requirejs for details + */ + +/*jslint strict: false, plusplus: false */ +/*global define: false, java: false, Packages: false */ + +define('rhino/optimize', ['logger'], function (logger) { + + //Add .reduce to Rhino so UglifyJS can run in Rhino, + //inspired by https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/reduce + //but rewritten for brevity, and to be good enough for use by UglifyJS. + if (!Array.prototype.reduce) { + Array.prototype.reduce = function (fn /*, initialValue */) { + var i = 0, + length = this.length, + accumulator; + + if (arguments.length >= 2) { + accumulator = arguments[1]; + } else { + do { + if (i in this) { + accumulator = this[i++]; + break; + } + } + while (true); + } + + for (; i < length; i++) { + if (i in this) { + accumulator = fn.call(undefined, accumulator, this[i], i, this); + } + } + + return accumulator; + }; + } + + var JSSourceFilefromCode, optimize; + + //Bind to Closure compiler, but if it is not available, do not sweat it. + try { + JSSourceFilefromCode = java.lang.Class.forName('com.google.javascript.jscomp.JSSourceFile').getMethod('fromCode', [java.lang.String, java.lang.String]); + } catch (e) {} + + //Helper for closure compiler, because of weird Java-JavaScript interactions. + function closurefromCode(filename, content) { + return JSSourceFilefromCode.invoke(null, [filename, content]); + } + + optimize = { + closure: function (fileName, fileContents, keepLines, config) { + config = config || {}; + var jscomp = Packages.com.google.javascript.jscomp, + flags = Packages.com.google.common.flags, + //Fake extern + externSourceFile = closurefromCode("fakeextern.js", " "), + //Set up source input + jsSourceFile = closurefromCode(String(fileName), String(fileContents)), + options, option, FLAG_compilation_level, compiler, + Compiler = Packages.com.google.javascript.jscomp.Compiler, + result; + + logger.trace("Minifying file: " + fileName); + + //Set up options + options = new jscomp.CompilerOptions(); + for (option in config.CompilerOptions) { + // options are false by default and jslint wanted an if statement in this for loop + if (config.CompilerOptions[option]) { + options[option] = config.CompilerOptions[option]; + } + + } + options.prettyPrint = keepLines || options.prettyPrint; + + FLAG_compilation_level = jscomp.CompilationLevel[config.CompilationLevel || 'SIMPLE_OPTIMIZATIONS']; + FLAG_compilation_level.setOptionsForCompilationLevel(options); + + //Trigger the compiler + Compiler.setLoggingLevel(Packages.java.util.logging.Level[config.loggingLevel || 'WARNING']); + compiler = new Compiler(); + + result = compiler.compile(externSourceFile, jsSourceFile, options); + if (!result.success) { + logger.error('Cannot closure compile file: ' + fileName + '. Skipping it.'); + } else { + fileContents = compiler.toSource(); + } + + return fileContents; + } + }; + + return optimize; +}); +} +/** + * @license Copyright (c) 2010-2011, The Dojo Foundation All Rights Reserved. + * Available via the MIT or new BSD license. + * see: http://github.com/jrburke/requirejs for details + */ + +/*jslint plusplus: false, nomen: false, regexp: false, strict: false */ +/*global define: false */ + +define('optimize', [ 'lang', 'logger', 'env!env/optimize', 'env!env/file', 'parse', + 'pragma', 'uglifyjs/index'], +function (lang, logger, envOptimize, file, parse, + pragma, uglify) { + + var optimize, + cssImportRegExp = /\@import\s+(url\()?\s*([^);]+)\s*(\))?([\w, ]*)(;)?/g, + cssUrlRegExp = /\url\(\s*([^\)]+)\s*\)?/g; + + /** + * If an URL from a CSS url value contains start/end quotes, remove them. + * This is not done in the regexp, since my regexp fu is not that strong, + * and the CSS spec allows for ' and " in the URL if they are backslash escaped. + * @param {String} url + */ + function cleanCssUrlQuotes(url) { + //Make sure we are not ending in whitespace. + //Not very confident of the css regexps above that there will not be ending + //whitespace. + url = url.replace(/\s+$/, ""); + + if (url.charAt(0) === "'" || url.charAt(0) === "\"") { + url = url.substring(1, url.length - 1); + } + + return url; + } + + /** + * Inlines nested stylesheets that have @import calls in them. + * @param {String} fileName + * @param {String} fileContents + * @param {String} [cssImportIgnore] + */ + function flattenCss(fileName, fileContents, cssImportIgnore) { + //Find the last slash in the name. + fileName = fileName.replace(lang.backSlashRegExp, "/"); + var endIndex = fileName.lastIndexOf("/"), + //Make a file path based on the last slash. + //If no slash, so must be just a file name. Use empty string then. + filePath = (endIndex !== -1) ? fileName.substring(0, endIndex + 1) : ""; + + //Make sure we have a delimited ignore list to make matching faster + if (cssImportIgnore && cssImportIgnore.charAt(cssImportIgnore.length - 1) !== ",") { + cssImportIgnore += ","; + } + + return fileContents.replace(cssImportRegExp, function (fullMatch, urlStart, importFileName, urlEnd, mediaTypes) { + //Only process media type "all" or empty media type rules. + if (mediaTypes && ((mediaTypes.replace(/^\s\s*/, '').replace(/\s\s*$/, '')) !== "all")) { + return fullMatch; + } + + importFileName = cleanCssUrlQuotes(importFileName); + + //Ignore the file import if it is part of an ignore list. + if (cssImportIgnore && cssImportIgnore.indexOf(importFileName + ",") !== -1) { + return fullMatch; + } + + //Make sure we have a unix path for the rest of the operation. + importFileName = importFileName.replace(lang.backSlashRegExp, "/"); + + try { + //if a relative path, then tack on the filePath. + //If it is not a relative path, then the readFile below will fail, + //and we will just skip that import. + var fullImportFileName = importFileName.charAt(0) === "/" ? importFileName : filePath + importFileName, + importContents = file.readFile(fullImportFileName), i, + importEndIndex, importPath, fixedUrlMatch, colonIndex, parts; + + //Make sure to flatten any nested imports. + importContents = flattenCss(fullImportFileName, importContents); + + //Make the full import path + importEndIndex = importFileName.lastIndexOf("/"); + + //Make a file path based on the last slash. + //If no slash, so must be just a file name. Use empty string then. + importPath = (importEndIndex !== -1) ? importFileName.substring(0, importEndIndex + 1) : ""; + + //Modify URL paths to match the path represented by this file. + importContents = importContents.replace(cssUrlRegExp, function (fullMatch, urlMatch) { + fixedUrlMatch = cleanCssUrlQuotes(urlMatch); + fixedUrlMatch = fixedUrlMatch.replace(lang.backSlashRegExp, "/"); + + //Only do the work for relative URLs. Skip things that start with / or have + //a protocol. + colonIndex = fixedUrlMatch.indexOf(":"); + if (fixedUrlMatch.charAt(0) !== "/" && (colonIndex === -1 || colonIndex > fixedUrlMatch.indexOf("/"))) { + //It is a relative URL, tack on the path prefix + urlMatch = importPath + fixedUrlMatch; + } else { + logger.trace(importFileName + "\n URL not a relative URL, skipping: " + urlMatch); + } + + //Collapse .. and . + parts = urlMatch.split("/"); + for (i = parts.length - 1; i > 0; i--) { + if (parts[i] === ".") { + parts.splice(i, 1); + } else if (parts[i] === "..") { + if (i !== 0 && parts[i - 1] !== "..") { + parts.splice(i - 1, 2); + i -= 1; + } + } + } + + return "url(" + parts.join("/") + ")"; + }); + + return importContents; + } catch (e) { + logger.trace(fileName + "\n Cannot inline css import, skipping: " + importFileName); + return fullMatch; + } + }); + } + + optimize = { + /** + * Optimizes a file that contains JavaScript content. Optionally collects + * plugin resources mentioned in a file, and then passes the content + * through an minifier if one is specified via config.optimize. + * + * @param {String} fileName the name of the file to optimize + * @param {String} outFileName the name of the file to use for the + * saved optimized content. + * @param {Object} config the build config object. + * @param {String} [moduleName] the module name to use for the file. + * Used for plugin resource collection. + * @param {Array} [pluginCollector] storage for any plugin resources + * found. + */ + jsFile: function (fileName, outFileName, config, moduleName, pluginCollector) { + var parts = (config.optimize + "").split('.'), + optimizerName = parts[0], + keepLines = parts[1] === 'keepLines', + fileContents, optFunc, deps, i, dep; + + fileContents = file.readFile(fileName); + + //Apply pragmas/namespace renaming + fileContents = pragma.process(fileName, fileContents, config, 'OnSave'); + + //If there is a plugin collector, scan the file for plugin resources. + if (config.optimizeAllPluginResources && pluginCollector) { + try { + deps = parse.findDependencies(fileName, fileContents); + if (deps.length) { + for (i = 0; (dep = deps[i]); i++) { + if (dep.indexOf('!') !== -1) { + (pluginCollector[moduleName] || + (pluginCollector[moduleName] = [])).push(dep); + } + } + } + } catch (e) { + logger.error('Parse error looking for plugin resources in ' + + fileName + ', skipping.'); + } + } + + //Optimize the JS files if asked. + if (optimizerName && optimizerName !== 'none') { + optFunc = envOptimize[optimizerName] || optimize.optimizers[optimizerName]; + if (!optFunc) { + throw new Error('optimizer with name of "' + + optimizerName + + '" not found for this environment'); + } + fileContents = optFunc(fileName, fileContents, keepLines, + config[optimizerName]); + } + + file.saveUtf8File(outFileName, fileContents); + }, + + /** + * Optimizes one CSS file, inlining @import calls, stripping comments, and + * optionally removes line returns. + * @param {String} fileName the path to the CSS file to optimize + * @param {String} outFileName the path to save the optimized file. + * @param {Object} config the config object with the optimizeCss and + * cssImportIgnore options. + */ + cssFile: function (fileName, outFileName, config) { + //Read in the file. Make sure we have a JS string. + var originalFileContents = file.readFile(fileName), + fileContents = flattenCss(fileName, originalFileContents, config.cssImportIgnore), + startIndex, endIndex; + + //Do comment removal. + try { + startIndex = -1; + //Get rid of comments. + while ((startIndex = fileContents.indexOf("/*")) !== -1) { + endIndex = fileContents.indexOf("*/", startIndex + 2); + if (endIndex === -1) { + throw "Improper comment in CSS file: " + fileName; + } + fileContents = fileContents.substring(0, startIndex) + fileContents.substring(endIndex + 2, fileContents.length); + } + //Get rid of newlines. + if (config.optimizeCss.indexOf(".keepLines") === -1) { + fileContents = fileContents.replace(/[\r\n]/g, ""); + fileContents = fileContents.replace(/\s+/g, " "); + fileContents = fileContents.replace(/\{\s/g, "{"); + fileContents = fileContents.replace(/\s\}/g, "}"); + } else { + //Remove multiple empty lines. + fileContents = fileContents.replace(/(\r\n)+/g, "\r\n"); + fileContents = fileContents.replace(/(\n)+/g, "\n"); + } + } catch (e) { + fileContents = originalFileContents; + logger.error("Could not optimized CSS file: " + fileName + ", error: " + e); + } + + file.saveUtf8File(outFileName, fileContents); + }, + + /** + * Optimizes CSS files, inlining @import calls, stripping comments, and + * optionally removes line returns. + * @param {String} startDir the path to the top level directory + * @param {Object} config the config object with the optimizeCss and + * cssImportIgnore options. + */ + css: function (startDir, config) { + if (config.optimizeCss.indexOf("standard") !== -1) { + var i, fileName, + fileList = file.getFilteredFileList(startDir, /\.css$/, true); + if (fileList) { + for (i = 0; i < fileList.length; i++) { + fileName = fileList[i]; + logger.trace("Optimizing (" + config.optimizeCss + ") CSS file: " + fileName); + optimize.cssFile(fileName, fileName, config); + } + } + } + }, + + optimizers: { + uglify: function (fileName, fileContents, keepLines, config) { + var parser = uglify.parser, + processor = uglify.uglify, + ast, genCodeConfig; + + config = config || {}; + genCodeConfig = config.gen_codeOptions || keepLines; + + logger.trace("Uglifying file: " + fileName); + + try { + ast = parser.parse(fileContents, config.strict_semicolons); + ast = processor.ast_mangle(ast, config.do_toplevel); + ast = processor.ast_squeeze(ast, config.ast_squeezeOptions); + + fileContents = processor.gen_code(ast, genCodeConfig); + } catch (e) { + logger.error('Cannot uglify file: ' + fileName + '. Skipping it. Error is:\n' + e.toString()); + } + return fileContents; + } + } + }; + + return optimize; +});/** + * @license RequireJS Copyright (c) 2010-2011, The Dojo Foundation All Rights Reserved. + * Available via the MIT or new BSD license. + * see: http://github.com/jrburke/requirejs for details + */ +/* + * This file patches require.js to communicate with the build system. + */ + +/*jslint nomen: false, plusplus: false, regexp: false, strict: false */ +/*global require: false, define: true */ + +//NOT asking for require as a dependency since the goal is to modify the +//global require below +define('requirePatch', [ 'env!env/file', 'pragma', 'parse'], +function (file, pragma, parse) { + + var allowRun = true; + + //This method should be called when the patches to require should take hold. + return function () { + if (!allowRun) { + return; + } + allowRun = false; + + var layer, + pluginBuilderRegExp = /(["']?)pluginBuilder(["']?)\s*[=\:]\s*["']([^'"\s]+)["']/, + oldDef, + cachedFileContents = {}; + + /** Reset state for each build layer pass. */ + require._buildReset = function () { + var oldContext = require.s.contexts._; + + //Clear up the existing context. + delete require.s.contexts._; + + //Set up new context, so the layer object can hold onto it. + require({}); + + layer = require._layer = { + buildPathMap: {}, + buildFileToModule: {}, + buildFilePaths: [], + loadedFiles: {}, + modulesWithNames: {}, + existingRequireUrl: "", + context: require.s.contexts._ + }; + + //Set up a per-context list of plugins/pluginBuilders. + layer.context.pluginBuilders = {}; + layer.context._plugins = {}; + + //Return the previous context in case it is needed, like for + //the basic config object. + return oldContext; + }; + + require._buildReset(); + + /** + * Makes sure the URL is something that can be supported by the + * optimization tool. + * @param {String} url + * @returns {Boolean} + */ + require._isSupportedBuildUrl = function (url) { + //Ignore URLs with protocols or question marks, means either network + //access is needed to fetch it or it is too dynamic. Note that + //on Windows, full paths are used for some urls, which include + //the drive, like c:/something, so need to test for something other + //than just a colon. + return url.indexOf("://") === -1 && url.indexOf("?") === -1 && + url.indexOf('empty:') !== 0; + }; + + //Override require.def to catch modules that just define an object, so that + //a dummy require.def call is not put in the build file for them. They do + //not end up getting defined via require.execCb, so we need to catch them + //at the require.def call. + oldDef = require.def; + + //This function signature does not have to be exact, just match what we + //are looking for. + define = require.def = function (name, obj) { + if (typeof name === "string") { + layer.modulesWithNames[name] = true; + } + return oldDef.apply(require, arguments); + }; + + //Add some utilities for plugins/pluginBuilders + require._readFile = file.readFile; + require._fileExists = function (path) { + return file.exists(path); + }; + + //Override load so that the file paths can be collected. + require.load = function (context, moduleName, url) { + /*jslint evil: true */ + var contents, pluginBuilderMatch, builderName; + + //Adjust the URL if it was not transformed to use baseUrl. + if (require.jsExtRegExp.test(moduleName)) { + url = context.config.dirBaseUrl + url; + } + + context.loaded[moduleName] = false; + context.scriptCount += 1; + + //Only handle urls that can be inlined, so that means avoiding some + //URLs like ones that require network access or may be too dynamic, + //like JSONP + if (require._isSupportedBuildUrl(url)) { + //Save the module name to path and path to module name mappings. + layer.buildPathMap[moduleName] = url; + layer.buildFileToModule[url] = moduleName; + + if (moduleName in context.plugins) { + //plugins need to have their source evaled as-is. + context._plugins[moduleName] = true; + } + + try { + if (url in cachedFileContents) { + contents = cachedFileContents[url]; + } else { + //Load the file contents, process for conditionals, then + //evaluate it. + contents = file.readFile(url); + contents = pragma.process(url, contents, context.config, 'OnExecute'); + + //Find out if the file contains a require() definition. Need to know + //this so we can inject plugins right after it, but before they are needed, + //and to make sure this file is first, so that require.def calls work. + //This situation mainly occurs when the build is done on top of the output + //of another build, where the first build may include require somewhere in it. + if (!layer.existingRequireUrl && parse.definesRequire(url, contents)) { + layer.existingRequireUrl = url; + } + + if (moduleName in context.plugins) { + //This is a loader plugin, check to see if it has a build extension, + //otherwise the plugin will act as the plugin builder too. + pluginBuilderMatch = pluginBuilderRegExp.exec(contents); + if (pluginBuilderMatch) { + //Load the plugin builder for the plugin contents. + builderName = context.normalize(pluginBuilderMatch[3], moduleName); + contents = file.readFile(context.nameToUrl(builderName)); + } + } + + //Parse out the require and define calls. + //Do this even for plugins in case they have their own + //dependencies that may be separate to how the pluginBuilder works. + if (!context._plugins[moduleName]) { + contents = parse(url, contents); + } + + cachedFileContents[url] = contents; + } + + if (contents) { + eval(contents); + + //Support anonymous modules. + context.completeLoad(moduleName); + } + + } catch (e) { + e.fileName = url; + e.lineNumber = e.line; + throw e; + } + + // remember the list of dependencies for this layer. + layer.buildFilePaths.push(url); + } + + //Mark the module loaded. + context.loaded[moduleName] = true; + + //Get a handle on the pluginBuilder + if (context._plugins[moduleName]) { + context.pluginBuilders[moduleName] = context.defined[moduleName]; + } + }; + + //This method is called when a plugin specifies a loaded value. Use + //this to track dependencies that do not go through require.load. + require.onPluginLoad = function (context, pluginName, name, value) { + var registeredName = pluginName + '!' + (name || ''); + layer.buildFilePaths.push(registeredName); + //For plugins the real path is not knowable, use the name + //for both module to file and file to module mappings. + layer.buildPathMap[registeredName] = registeredName; + layer.buildFileToModule[registeredName] = registeredName; + layer.modulesWithNames[registeredName] = true; + }; + + //Marks the module as part of the loaded set, and puts + //it in the right position for output in the build layer, + //since require() already did the dependency checks and should have + //called this method already for those dependencies. + require.execCb = function (name, cb, args, exports) { + var url = name && layer.buildPathMap[name]; + if (url && !layer.loadedFiles[url]) { + layer.loadedFiles[url] = true; + layer.modulesWithNames[name] = true; + } + if (cb.__requireJsBuild || layer.context._plugins[name]) { + return cb.apply(exports, args); + } + return undefined; + }; + }; +}); +/** + * @license RequireJS Copyright (c) 2010-2011, The Dojo Foundation All Rights Reserved. + * Available via the MIT or new BSD license. + * see: http://github.com/jrburke/requirejs for details + */ + +/*jslint plusplus: false, regexp: false, strict: false */ +/*global define: false, console: false */ + +define('commonJs', ['env!env/file', 'uglifyjs/index'], function (file, uglify) { + var commonJs = { + depRegExp: /require\s*\(\s*["']([\w-_\.\/]+)["']\s*\)/g, + + //Set this to false in non-rhino environments. If rhino, then it uses + //rhino's decompiler to remove comments before looking for require() calls, + //otherwise, it will use a crude regexp approach to remove comments. The + //rhino way is more robust, but he regexp is more portable across environments. + useRhino: true, + + //Set to false if you do not want this file to log. Useful in environments + //like node where you want the work to happen without noise. + useLog: true, + + convertDir: function (commonJsPath, savePath) { + var fileList, i, + jsFileRegExp = /\.js$/, + fileName, convertedFileName, fileContents; + + //Get list of files to convert. + fileList = file.getFilteredFileList(commonJsPath, /\w/, true); + + //Normalize on front slashes and make sure the paths do not end in a slash. + commonJsPath = commonJsPath.replace(/\\/g, "/"); + savePath = savePath.replace(/\\/g, "/"); + if (commonJsPath.charAt(commonJsPath.length - 1) === "/") { + commonJsPath = commonJsPath.substring(0, commonJsPath.length - 1); + } + if (savePath.charAt(savePath.length - 1) === "/") { + savePath = savePath.substring(0, savePath.length - 1); + } + + //Cycle through all the JS files and convert them. + if (!fileList || !fileList.length) { + if (commonJs.useLog) { + if (commonJsPath === "convert") { + //A request just to convert one file. + console.log('\n\n' + commonJs.convert(savePath, file.readFile(savePath))); + } else { + console.log("No files to convert in directory: " + commonJsPath); + } + } + } else { + for (i = 0; (fileName = fileList[i]); i++) { + convertedFileName = fileName.replace(commonJsPath, savePath); + + //Handle JS files. + if (jsFileRegExp.test(fileName)) { + fileContents = file.readFile(fileName); + fileContents = commonJs.convert(fileName, fileContents); + file.saveUtf8File(convertedFileName, fileContents); + } else { + //Just copy the file over. + file.copyFile(fileName, convertedFileName, true); + } + } + } + }, + + /** + * Removes the comments from a string. + * + * @param {String} fileContents + * @param {String} fileName mostly used for informative reasons if an error. + * + * @returns {String} a string of JS with comments removed. + */ + removeComments: function (fileContents, fileName) { + //Uglify's ast generation removes comments, so just convert to ast, + //then back to source code to get rid of comments. + return uglify.uglify.gen_code(uglify.parser.parse(fileContents), true); + }, + + /** + * Regexp for testing if there is already a require.def call in the file, + * in which case do not try to convert it. + */ + defRegExp: /(require\s*\.\s*def|define)\s*\(/, + + /** + * Regexp for testing if there is a require([]) or require(function(){}) + * call, indicating the file is already in requirejs syntax. + */ + rjsRegExp: /require\s*\(\s*(\[|function)/, + + /** + * Does the actual file conversion. + * + * @param {String} fileName the name of the file. + * + * @param {String} fileContents the contents of a file :) + * + * @param {Boolean} skipDeps if true, require("") dependencies + * will not be searched, but the contents will just be wrapped in the + * standard require, exports, module dependencies. Only usable in sync + * environments like Node where the require("") calls can be resolved on + * the fly. + * + * @returns {String} the converted contents + */ + convert: function (fileName, fileContents, skipDeps) { + //Strip out comments. + try { + var deps = [], depName, match, + //Remove comments + tempContents = commonJs.removeComments(fileContents, fileName); + + //First see if the module is not already RequireJS-formatted. + if (commonJs.defRegExp.test(tempContents) || commonJs.rjsRegExp.test(tempContents)) { + return fileContents; + } + + //Reset the regexp to start at beginning of file. Do this + //since the regexp is reused across files. + commonJs.depRegExp.lastIndex = 0; + + if (!skipDeps) { + //Find dependencies in the code that was not in comments. + while ((match = commonJs.depRegExp.exec(tempContents))) { + depName = match[1]; + if (depName) { + deps.push('"' + depName + '"'); + } + } + } + + //Construct the wrapper boilerplate. + fileContents = 'define(["require", "exports", "module"' + + (deps.length ? ', ' + deps.join(",") : '') + '], ' + + 'function(require, exports, module) {\n' + + fileContents + + '\n});\n'; + } catch (e) { + console.log("COULD NOT CONVERT: " + fileName + ", so skipping it. Error was: " + e); + return fileContents; + } + + return fileContents; + } + }; + + return commonJs; +}); +/** + * @license Copyright (c) 2010-2011, The Dojo Foundation All Rights Reserved. + * Available via the MIT or new BSD license. + * see: http://github.com/jrburke/requirejs for details + */ + +/*jslint regexp: false, plusplus: false, nomen: false, strict: false */ +/*global define: false, require: false */ + + +define('build', [ 'lang', 'logger', 'env!env/file', 'parse', 'optimize', 'pragma', + 'env!env/load', 'requirePatch'], +function (lang, logger, file, parse, optimize, pragma, + load, requirePatch) { + var build, buildBaseConfig; + + buildBaseConfig = { + appDir: "", + pragmas: {}, + paths: {}, + optimize: "uglify", + optimizeCss: "standard.keepLines", + inlineText: true, + isBuild: true, + optimizeAllPluginResources: false + }; + + /** + * If the path looks like an URL, throw an error. This is to prevent + * people from using URLs with protocols in the build config, since + * the optimizer is not set up to do network access. However, be + * sure to allow absolute paths on Windows, like C:\directory. + */ + function disallowUrls(path) { + if (path.indexOf('://') !== -1 && path !== 'empty:') { + throw new Error('Path is not supported: ' + path + + '\nOptimizer can only handle' + + ' local paths. Download the locally if necessary' + + ' and update the config to use a local path.'); + } + } + + function endsWithSlash(dirName) { + if (dirName.charAt(dirName.length - 1) !== "/") { + dirName += "/"; + } + disallowUrls(dirName); + return dirName; + } + + //Method used by plugin writeFile calls, defined up here to avoid + //jslint warning about "making a function in a loop". + function writeFile(name, contents) { + logger.trace('Saving plugin-optimized file: ' + name); + file.saveUtf8File(name, contents); + } + + /** + * Main API entry point into the build. The args argument can either be + * an array of arguments (like the onese passed on a command-line), + * or it can be a JavaScript object that has the format of a build profile + * file. + * + * If it is an object, then in addition to the normal properties allowed in + * a build profile file, the object should contain one other property: + * + * The object could also contain a "buildFile" property, which is a string + * that is the file path to a build profile that contains the rest + * of the build profile directives. + * + * This function does not return a status, it should throw an error if + * there is a problem completing the build. + */ + build = function (args) { + var buildFile, cmdConfig; + + if (!args || lang.isArray(args)) { + if (!args || args.length < 1) { + logger.error("build.js buildProfile.js\n" + + "where buildProfile.js is the name of the build file (see example.build.js for hints on how to make a build file)."); + return undefined; + } + + //Next args can include a build file path as well as other build args. + //build file path comes first. If it does not contain an = then it is + //a build file path. Otherwise, just all build args. + if (args[0].indexOf("=") === -1) { + buildFile = args[0]; + args.splice(0, 1); + } + + //Remaining args are options to the build + cmdConfig = build.convertArrayToObject(args); + cmdConfig.buildFile = buildFile; + } else { + cmdConfig = args; + } + + return build._run(cmdConfig); + }; + + build._run = function (cmdConfig) { + var buildFileContents = "", + pluginCollector = {}, + buildPaths, fileName, fileNames, + prop, paths, i, + baseConfig, config, + modules, builtModule, srcPath, buildContext, + destPath, moduleName, moduleMap, parentModuleMap, context, + resources, resource, pluginProcessed = {}, plugin; + + //Can now run the patches to require.js to allow it to be used for + //build generation. Do it here instead of at the top of the module + //because we want normal require behavior to load the build tool + //then want to switch to build mode. + requirePatch(); + + config = build.createConfig(cmdConfig); + paths = config.paths; + + if (config.logLevel) { + logger.logLevel(config.logLevel); + } + + if (!config.out && !config.cssIn) { + //This is not just a one-off file build but a full build profile, with + //lots of files to process. + + //First copy all the baseUrl content + file.copyDir((config.appDir || config.baseUrl), config.dir, /\w/, true); + + //Adjust baseUrl if config.appDir is in play, and set up build output paths. + buildPaths = {}; + if (config.appDir) { + //All the paths should be inside the appDir + buildPaths = paths; + } else { + //If no appDir, then make sure to copy the other paths to this directory. + for (prop in paths) { + if (paths.hasOwnProperty(prop)) { + //Set up build path for each path prefix. + buildPaths[prop] = paths[prop] === 'empty:' ? 'empty:' : prop.replace(/\./g, "/"); + + //Make sure source path is fully formed with baseUrl, + //if it is a relative URL. + srcPath = paths[prop]; + if (srcPath.indexOf('/') !== 0 && srcPath.indexOf(':') === -1) { + srcPath = config.baseUrl + srcPath; + } + + destPath = config.dirBaseUrl + buildPaths[prop]; + + //Skip empty: paths + if (srcPath !== 'empty:') { + //If the srcPath is a directory, copy the whole directory. + if (file.exists(srcPath) && file.isDirectory(srcPath)) { + //Copy files to build area. Copy all files (the /\w/ regexp) + file.copyDir(srcPath, destPath, /\w/, true); + } else { + //Try a .js extension + srcPath += '.js'; + destPath += '.js'; + file.copyFile(srcPath, destPath); + } + } + } + } + } + } + + //Figure out source file location for each module layer. Do this by seeding require + //with source area configuration. This is needed so that later the module layers + //can be manually copied over to the source area, since the build may be + //require multiple times and the above copyDir call only copies newer files. + require({ + baseUrl: config.baseUrl, + paths: paths, + packagePaths: config.packagePaths, + packages: config.packages + }); + buildContext = require.s.contexts._; + modules = config.modules; + + if (modules) { + modules.forEach(function (module) { + if (module.name) { + module._sourcePath = buildContext.nameToUrl(module.name); + //If the module does not exist, and this is not a "new" module layer, + //as indicated by a true "create" property on the module, and + //it is not a plugin-loaded resource, then throw an error. + if (!file.exists(module._sourcePath) && !module.create && + module.name.indexOf('!') === -1) { + throw new Error("ERROR: module path does not exist: " + + module._sourcePath + " for module named: " + module.name + + ". Path is relative to: " + file.absPath('.')); + } + } + }); + } + + if (config.out) { + //Just set up the _buildPath for the module layer. + require(config); + if (!config.cssIn) { + config.modules[0]._buildPath = config.out; + } + } else if (!config.cssIn) { + //Now set up the config for require to use the build area, and calculate the + //build file locations. Pass along any config info too. + baseConfig = { + baseUrl: config.dirBaseUrl, + paths: buildPaths + }; + + lang.mixin(baseConfig, config); + require(baseConfig); + + if (modules) { + modules.forEach(function (module) { + if (module.name) { + module._buildPath = buildContext.nameToUrl(module.name, null); + if (!module.create) { + file.copyFile(module._sourcePath, module._buildPath); + } + } + }); + } + } + + //Run CSS optimizations before doing JS module tracing, to allow + //things like text loader plugins loading CSS to get the optimized + //CSS. + if (config.optimizeCss && config.optimizeCss !== "none") { + optimize.css(config.dir, config); + } + + if (modules) { + //For each module layer, call require to calculate dependencies. + modules.forEach(function (module) { + module.layer = build.traceDependencies(module, config); + }); + + //Now build up shadow layers for anything that should be excluded. + //Do this after tracing dependencies for each module, in case one + //of those modules end up being one of the excluded values. + modules.forEach(function (module) { + if (module.exclude) { + module.excludeLayers = []; + module.exclude.forEach(function (exclude, i) { + //See if it is already in the list of modules. + //If not trace dependencies for it. + module.excludeLayers[i] = build.findBuildModule(exclude, modules) || + {layer: build.traceDependencies({name: exclude}, config)}; + }); + } + }); + + modules.forEach(function (module) { + if (module.exclude) { + //module.exclude is an array of module names. For each one, + //get the nested dependencies for it via a matching entry + //in the module.excludeLayers array. + module.exclude.forEach(function (excludeModule, i) { + var excludeLayer = module.excludeLayers[i].layer, map = excludeLayer.buildPathMap, prop; + for (prop in map) { + if (map.hasOwnProperty(prop)) { + build.removeModulePath(prop, map[prop], module.layer); + } + } + }); + } + if (module.excludeShallow) { + //module.excludeShallow is an array of module names. + //shallow exclusions are just that module itself, and not + //its nested dependencies. + module.excludeShallow.forEach(function (excludeShallowModule) { + var path = module.layer.buildPathMap[excludeShallowModule]; + if (path) { + build.removeModulePath(excludeShallowModule, path, module.layer); + } + }); + } + + //Flatten them and collect the build output for each module. + builtModule = build.flattenModule(module, module.layer, config); + file.saveUtf8File(module._buildPath, builtModule.text); + buildFileContents += builtModule.buildText; + }); + } + + //Do other optimizations. + if (config.out && !config.cssIn) { + //Just need to worry about one JS file. + fileName = config.modules[0]._buildPath; + optimize.jsFile(fileName, fileName, config); + } else if (!config.cssIn) { + //Normal optimizations across modules. + + //JS optimizations. + fileNames = file.getFilteredFileList(config.dir, /\.js$/, true); + for (i = 0; (fileName = fileNames[i]); i++) { + //Generate the module name from the config.dir root. + moduleName = fileName.replace(config.dir, ''); + //Get rid of the extension + moduleName = moduleName.substring(0, moduleName.length - 3); + optimize.jsFile(fileName, fileName, config, moduleName, pluginCollector); + } + + //Normalize all the plugin resources. + context = require.s.contexts._; + + for (moduleName in pluginCollector) { + if (pluginCollector.hasOwnProperty(moduleName)) { + parentModuleMap = context.makeModuleMap(moduleName); + resources = pluginCollector[moduleName]; + for (i = 0; (resource = resources[i]); i++) { + moduleMap = context.makeModuleMap(resource, parentModuleMap); + if (!context.plugins[moduleMap.prefix]) { + //Set the value in context.plugins so it + //will be evaluated as a full plugin. + context.plugins[moduleMap.prefix] = true; + + //Do not bother if the plugin is not available. + if (!file.exists(require.toUrl(moduleMap.prefix + '.js'))) { + continue; + } + + //Rely on the require in the build environment + //to be synchronous + context.require([moduleMap.prefix]); + + //Now that the plugin is loaded, redo the moduleMap + //since the plugin will need to normalize part of the path. + moduleMap = context.makeModuleMap(resource, parentModuleMap); + } + + //Only bother with plugin resources that can be handled + //processed by the plugin, via support of the writeFile + //method. + if (!pluginProcessed[moduleMap.fullName]) { + //Only do the work if the plugin was really loaded. + //Using an internal access because the file may + //not really be loaded. + plugin = context.defined[moduleMap.prefix]; + if (plugin && plugin.writeFile) { + plugin.writeFile( + moduleMap.prefix, + moduleMap.name, + require, + writeFile, + context.config + ); + } + + pluginProcessed[moduleMap.fullName] = true; + } + } + + } + } + + //console.log('PLUGIN COLLECTOR: ' + JSON.stringify(pluginCollector, null, " ")); + + + //All module layers are done, write out the build.txt file. + file.saveUtf8File(config.dir + "build.txt", buildFileContents); + } + + //If just have one CSS file to optimize, do that here. + if (config.cssIn) { + optimize.cssFile(config.cssIn, config.out, config); + } + + //Print out what was built into which layers. + if (buildFileContents) { + logger.info(buildFileContents); + return buildFileContents; + } + + return ''; + }; + + /** + * Converts an array that has String members of "name=value" + * into an object, where the properties on the object are the names in the array. + * Also converts the strings "true" and "false" to booleans for the values. + * member name/value pairs, and converts some comma-separated lists into + * arrays. + * @param {Array} ary + */ + build.convertArrayToObject = function (ary) { + var result = {}, i, separatorIndex, prop, value, + needArray = { + "include": true, + "exclude": true, + "excludeShallow": true + }; + + for (i = 0; i < ary.length; i++) { + separatorIndex = ary[i].indexOf("="); + if (separatorIndex === -1) { + throw "Malformed name/value pair: [" + ary[i] + "]. Format should be name=value"; + } + + value = ary[i].substring(separatorIndex + 1, ary[i].length); + if (value === "true") { + value = true; + } else if (value === "false") { + value = false; + } + + prop = ary[i].substring(0, separatorIndex); + + //Convert to array if necessary + if (needArray[prop]) { + value = value.split(","); + } + + if (prop.indexOf("paths.") === 0) { + //Special handling of paths properties. paths.foo=bar is transformed + //to data.paths = {foo: 'bar'} + if (!result.paths) { + result.paths = {}; + } + prop = prop.substring("paths.".length, prop.length); + result.paths[prop] = value; + } else { + result[prop] = value; + } + } + return result; //Object + }; + + build.makeAbsPath = function (path, absFilePath) { + //Add abspath if necessary. If path starts with a slash or has a colon, + //then already is an abolute path. + if (path.indexOf('/') !== 0 && path.indexOf(':') === -1) { + path = absFilePath + + (absFilePath.charAt(absFilePath.length - 1) === '/' ? '' : '/') + + path; + path = file.normalize(path); + } + return path.replace(lang.backSlashRegExp, '/'); + }; + + /** + * Creates a config object for an optimization build. + * It will also read the build profile if it is available, to create + * the configuration. + * + * @param {Object} cfg config options that take priority + * over defaults and ones in the build file. These options could + * be from a command line, for instance. + * + * @param {Object} the created config object. + */ + build.createConfig = function (cfg) { + /*jslint evil: true */ + var config = {}, buildFileContents, buildFileConfig, + paths, props, i, prop, buildFile, absFilePath, originalBaseUrl; + + lang.mixin(config, buildBaseConfig); + lang.mixin(config, cfg, true); + + if (config.buildFile) { + //A build file exists, load it to get more config. + buildFile = file.absPath(config.buildFile); + + //Find the build file, and make sure it exists, if this is a build + //that has a build profile, and not just command line args with an in=path + if (!file.exists(buildFile)) { + throw new Error("ERROR: build file does not exist: " + buildFile); + } + + absFilePath = config.baseUrl = file.absPath(file.parent(buildFile)); + config.dir = config.baseUrl + "/build/"; + + //Load build file options. + buildFileContents = file.readFile(buildFile); + try { + buildFileConfig = eval("(" + buildFileContents + ")"); + } catch (e) { + throw new Error("Build file " + buildFile + " is malformed: " + e); + } + lang.mixin(config, buildFileConfig, true); + + //Re-apply the override config values, things like command line + //args should take precedence over build file values. + lang.mixin(config, cfg, true); + } else { + if (!config.out && !config.cssIn) { + throw new Error("ERROR: 'out' or 'cssIn' option missing."); + } + if (!config.out) { + throw new Error("ERROR: 'out' option missing."); + } else { + config.out = config.out.replace(lang.backSlashRegExp, "/"); + } + + if (!config.cssIn && !cfg.baseUrl) { + throw new Error("ERROR: 'baseUrl' option missing."); + } + + //In this scenario, the absFile path is current directory + absFilePath = file.absPath('.'); + } + + if (config.out && !config.cssIn) { + //Just one file to optimize. + + //Set up dummy module layer to build. + config.modules = [ + { + name: config.name, + out: config.out, + include: config.include, + exclude: config.exclude, + excludeShallow: config.excludeShallow + } + ]; + + //Does not have a build file, so set up some defaults. + //Optimizing CSS should not be allowed, unless explicitly + //asked for on command line. In that case the only task is + //to optimize a CSS file. + if (!cfg.optimizeCss) { + config.optimizeCss = "none"; + } + } + + //Adjust the path properties as appropriate. + //First make sure build paths use front slashes and end in a slash, + //and make sure they are aboslute paths. + props = ["appDir", "dir", "baseUrl"]; + for (i = 0; (prop = props[i]); i++) { + if (config[prop]) { + config[prop] = config[prop].replace(lang.backSlashRegExp, "/"); + + //Add abspath if necessary. + if (prop === "baseUrl") { + originalBaseUrl = config.baseUrl; + if (config.appDir) { + //If baseUrl with an appDir, the baseUrl is relative to + //the appDir, *not* the absFilePath. appDir and dir are + //made absolute before baseUrl, so this will work. + config.baseUrl = build.makeAbsPath(originalBaseUrl, config.appDir); + //Set up dir output baseUrl. + config.dirBaseUrl = build.makeAbsPath(originalBaseUrl, config.dir); + } else { + //The dir output baseUrl is same as regular baseUrl, both + //relative to the absFilePath. + config.baseUrl = build.makeAbsPath(config[prop], absFilePath); + config.dirBaseUrl = config.dir || config.baseUrl; + } + + //Make sure dirBaseUrl ends in a slash, since it is + //concatenated with other strings. + config.dirBaseUrl = endsWithSlash(config.dirBaseUrl); + } else { + config[prop] = build.makeAbsPath(config[prop], absFilePath); + } + + config[prop] = endsWithSlash(config[prop]); + } + } + + //Do not allow URLs for paths resources. + if (config.paths) { + for (prop in config.paths) { + if (config.paths.hasOwnProperty(prop)) { + config.paths[prop] = config.paths[prop].replace(lang.backSlashRegExp, "/"); + disallowUrls(config.paths[prop]); + } + } + } + + //Make sure some other paths are absolute. + props = ["out", "cssIn"]; + for (i = 0; (prop = props[i]); i++) { + if (config[prop]) { + config[prop] = build.makeAbsPath(config[prop], absFilePath); + } + } + + //Do final input verification + if (config.context) { + throw new Error('The build argument "context" is not supported' + + ' in a build. It should only be used in web' + + ' pages.'); + } + + return config; + }; + + /** + * finds the module being built/optimized with the given moduleName, + * or returns null. + * @param {String} moduleName + * @param {Array} modules + * @returns {Object} the module object from the build profile, or null. + */ + build.findBuildModule = function (moduleName, modules) { + var i, module; + for (i = 0; (module = modules[i]); i++) { + if (module.name === moduleName) { + return module; + } + } + return null; + }; + + /** + * Removes a module name and path from a layer, if it is supposed to be + * excluded from the layer. + * @param {String} moduleName the name of the module + * @param {String} path the file path for the module + * @param {Object} layer the layer to remove the module/path from + */ + build.removeModulePath = function (module, path, layer) { + var index = layer.buildFilePaths.indexOf(path); + if (index !== -1) { + layer.buildFilePaths.splice(index, 1); + } + + //Take it out of the specified modules. Specified modules are mostly + //used to find require modifiers. + delete layer.specified[module]; + }; + + /** + * Uses the module build config object to trace the dependencies for the + * given module. + * + * @param {Object} module the module object from the build config info. + * @param {Object} the build config object. + * + * @returns {Object} layer information about what paths and modules should + * be in the flattened module. + */ + build.traceDependencies = function (module, config) { + var include, override, layer, context, baseConfig, oldContext; + + //Reset some state set up in requirePatch.js, and clean up require's + //current context. + oldContext = require._buildReset(); + + //Grab the reset layer and context after the reset, but keep the + //old config to reuse in the new context. + baseConfig = oldContext.config; + layer = require._layer; + context = layer.context; + + //Put back basic config, use a fresh object for it. + //WARNING: probably not robust for paths and packages/packagePaths, + //since those property's objects can be modified. But for basic + //config clone it works out. + require(lang.delegate(baseConfig)); + + logger.trace("\nTracing dependencies for: " + (module.name || module.out)); + include = module.name && !module.create ? [module.name] : []; + if (module.include) { + include = include.concat(module.include); + } + + //If there are overrides to basic config, set that up now.; + if (module.override) { + override = lang.delegate(baseConfig); + lang.mixin(override, module.override, true); + require(override); + } + + //Figure out module layer dependencies by calling require to do the work. + require(include); + + //Pull out the layer dependencies. + layer.specified = context.specified; + + //Reset config + if (module.override) { + require(baseConfig); + } + + return layer; + }; + + /** + * Uses the module build config object to create an flattened version + * of the module, with deep dependencies included. + * + * @param {Object} module the module object from the build config info. + * + * @param {Object} layer the layer object returned from build.traceDependencies. + * + * @param {Object} the build config object. + * + * @returns {Object} with two properties: "text", the text of the flattened + * module, and "buildText", a string of text representing which files were + * included in the flattened module text. + */ + build.flattenModule = function (module, layer, config) { + var buildFileContents = "", + namespace = config.namespace ? config.namespace + '.' : '', + context = layer.context, + path, reqIndex, fileContents, currContents, + i, moduleName, + parts, builder, writeApi; + + //Use override settings, particularly for pragmas + if (module.override) { + config = lang.delegate(config); + lang.mixin(config, module.override, true); + } + + //Start build output for the module. + buildFileContents += "\n" + + (config.dir ? module._buildPath.replace(config.dir, "") : module._buildPath) + + "\n----------------\n"; + + //If there was an existing file with require in it, hoist to the top. + if (layer.existingRequireUrl) { + reqIndex = layer.buildFilePaths.indexOf(layer.existingRequireUrl); + if (reqIndex !== -1) { + layer.buildFilePaths.splice(reqIndex, 1); + layer.buildFilePaths.unshift(layer.existingRequireUrl); + } + } + + //Write the built module to disk, and build up the build output. + fileContents = ""; + for (i = 0; (path = layer.buildFilePaths[i]); i++) { + moduleName = layer.buildFileToModule[path]; + + //Figure out if the module is a result of a build plugin, and if so, + //then delegate to that plugin. + parts = context.makeModuleMap(moduleName); + builder = parts.prefix && context.pluginBuilders[parts.prefix]; + if (builder) { + if (builder.write) { + writeApi = function (input) { + fileContents += input; + }; + writeApi.asModule = function (moduleName, input) { + fileContents += "\n" + build.toTransport(namespace, moduleName, path, input, layer); + }; + builder.write(parts.prefix, parts.name, writeApi); + } + } else { + currContents = file.readFile(path); + + if (config.namespace) { + currContents = pragma.namespace(currContents, config.namespace); + } + + currContents = build.toTransport(namespace, moduleName, path, currContents, layer); + + fileContents += "\n" + currContents; + } + + buildFileContents += path.replace(config.dir, "") + "\n"; + //Some files may not have declared a require module, and if so, + //put in a placeholder call so the require does not try to load them + //after the module is processed. + //If we have a name, but no defined module, then add in the placeholder. + if (moduleName && !layer.modulesWithNames[moduleName] && !config.skipModuleInsertion) { + //If including jquery, register the module correctly, otherwise + //register an empty function. For jquery, make sure jQuery is + //a real object, and perhaps not some other file mapping, like + //to zepto. + if (moduleName === 'jquery') { + fileContents += '\n(function () {\n' + + 'var jq = typeof jQuery !== "undefined" && jQuery;\n' + + namespace + + 'define("jquery", [], function () { return jq; });\n' + + '}());\n'; + } else { + fileContents += '\n' + namespace + 'define("' + moduleName + '", function(){});\n'; + } + } + } + + return { + text: fileContents, + buildText: buildFileContents + }; + }; + + //This regexp is not bullet-proof, and it has one optional part to + //avoid issues with some Dojo transition modules that use a + //define(\n//begin v1.x content + //for a comment. + build.anonDefRegExp = /(^|[^\.])(require\s*\.\s*def|define)\s*\(\s*(\/\/[^\n\r]*[\r\n])?(\[|f|\{)/; + + build.toTransport = function (namespace, moduleName, path, contents, layer) { + //If anonymous module, insert the module name. + return contents.replace(build.anonDefRegExp, function (match, start, callName, possibleComment, suffix) { + layer.modulesWithNames[moduleName] = true; + + //Look for CommonJS require calls inside the function if this is + //an anonymous define/require.def call that just has a function registered. + var deps = null; + if (suffix.indexOf('f') !== -1) { + deps = parse.getAnonDeps(path, contents); + + if (deps.length) { + deps = deps.map(function (dep) { + return "'" + dep + "'"; + }); + } else { + deps = []; + } + } + + return start + namespace + "define('" + moduleName + "'," + + (deps ? ('[' + deps.toString() + '],') : '') + + suffix; + }); + + }; + + return build; +}); + + } + + + /** + * Sets the default baseUrl for requirejs to be directory of top level + * script. + */ + function setBaseUrl(fileName) { + //Use the file name's directory as the baseUrl if available. + dir = fileName.replace(/\\/g, '/'); + if (dir.indexOf('/') !== -1) { + dir = dir.split('/'); + dir.pop(); + dir = dir.join('/'); + exec("require({baseUrl: '" + dir + "'});"); + } + } + + //If in Node, and included via a require('requirejs'), just export and + //THROW IT ON THE GROUND! + if (env === 'node' && reqMain !== module) { + setBaseUrl(path.resolve(reqMain ? reqMain.filename : '.')); + + //Create a method that will run the optimzer given an object + //config. + requirejs.optimize = function (config, callback) { + if (!loadedOptimizedLib) { + loadLib(); + loadedOptimizedLib = true; + } + + //Create the function that will be called once build modules + //have been loaded. + var runBuild = function (build, logger) { + //Make sure config has a log level, and if not, + //make it "silent" by default. + config.logLevel = config.logLevel || logger.SILENT; + + var result = build(config); + + //Reset build internals on each run. + requirejs._buildReset(); + + callback(result); + }; + + //Enable execution of this callback in a build setting. + //Normally, once requirePatch is run, by default it will + //not execute callbacks, unless this property is set on + //the callback. + runBuild.__requireJsBuild = true; + + requirejs({ + context: 'build' + }, ['build', 'logger'], runBuild); + }; + + module.exports = requirejs; + return; + } + + if (commandOption === 'o') { + //Do the optimizer work. + loadLib(); + + /** + * @license Copyright (c) 2010-2011, The Dojo Foundation All Rights Reserved. + * Available via the MIT or new BSD license. + * see: http://github.com/jrburke/requirejs for details + */ + +/* + * Create a build.js file that has the build options you want and pass that + * build file to this file to do the build. See example.build.js for more information. + */ + +/*jslint strict: false, nomen: false */ +/*global require: false */ + +require({ + baseUrl: require.s.contexts._.config.baseUrl, + //Use a separate context than the default context so that the + //build can use the default context. + context: 'build' +}, ['env!env/args', 'build'], +function (args, build) { + build(args); +}); + + + } else if (commandOption === 'v') { + console.log('r.js: ' + version + ', RequireJS: ' + this.requirejsVars.require.version); + } else if (commandOption === 'convert') { + loadLib(); + + this.requirejsVars.require(['env!env/args', 'commonJs', 'env!env/print'], + function (args, commonJs, print) { + + var srcDir, outDir; + srcDir = args[0]; + outDir = args[1]; + + if (!srcDir || !outDir) { + print('Usage: path/to/commonjs/modules output/dir'); + return; + } + + commonJs.convertDir(args[0], args[1]); + }); + } else { + //Just run an app + + //Load the bundled libraries for use in the app. + if (commandOption === 'lib') { + loadLib(); + } + + setBaseUrl(fileName); + + if (exists(fileName)) { + exec(readFile(fileName), fileName); + } else { + showHelp(); + } + } + +}((typeof console !== 'undefined' ? console : undefined), + (typeof Packages !== 'undefined' ? Array.prototype.slice.call(arguments, 0) : []), + (typeof readFile !== 'undefined' ? readFile : undefined))); diff --git a/client/config/config_build.json-dist b/client/config/config_build.json-dist new file mode 100644 index 000000000..0e6358259 --- /dev/null +++ b/client/config/config_build.json-dist @@ -0,0 +1,4 @@ +{ + "host": "Set production websocket host here", + "port": 8000 +} diff --git a/client/config/config_local.json-dist b/client/config/config_local.json-dist new file mode 100644 index 000000000..92cc7b2ab --- /dev/null +++ b/client/config/config_local.json-dist @@ -0,0 +1,4 @@ +{ + "host": "Set local dev websocket host here", + "port": 8000 +} diff --git a/client/css/achievements.css b/client/css/achievements.css new file mode 100644 index 000000000..e1ddedc2c --- /dev/null +++ b/client/css/achievements.css @@ -0,0 +1,307 @@ +#achievements-wrapper {overflow:hidden;} +#achievements ul:first-child {margin-left:0;} +#lists {-moz-transition:0.5s left ease-in-out;-webkit-transition:0.5s left ease-in-out;-o-transition:0.5s left ease-in-out;-ms-transition:0.5s left ease-in-out;transition:0.5s left ease-in-out;position:relative;} +#achievements-count {float:right;color:#fff;} +#achievements-count div {display:inline-block;} +#achievement-notification #coinsparks, .upscaled #achievement-notification #coinsparks {-moz-animation:none;-webkit-animation:none;-o-animation:none;-ms-animation:none;} +#achievement-notification .coin {-moz-transition:0.2s opacity linear;-webkit-transition:0.2s opacity linear;-o-transition:0.2s opacity linear;-ms-transition:0.2s opacity linear;transition:0.2s opacity linear;} +.upscaled #achievements li {bacground-position:inherit;} + +@media screen and (min-width: 1501px) { + .coin {width:72px;height:78px;} + .achievement1 .coin {background-position:0 -666px;} + .achievement2 .coin {background-position:-72px -666px;} + .achievement3 .coin {background-position:-144px -666px;} + .achievement4 .coin {background-position:-216px -666px;} + .achievement5 .coin {background-position:-288px -666px;} + .achievement6 .coin {background-position:-360px -666px;} + .achievement7 .coin {background-position:-432px -666px;} + .achievement8 .coin {background-position:-504px -666px;} + .achievement9 .coin {background-position:-576px -666px;} + .achievement10 .coin {background-position:-648px -666px;} + .achievement11 .coin {background-position:-720px -666px;} + .achievement12 .coin {background-position:-792px -666px;} + .achievement13 .coin {background-position:-864px -666px;} + .achievement14 .coin {background-position:-936px -666px;} + .achievement15 .coin {background-position:-1008px -666px;} + .achievement16 .coin {background-position:-1080px -666px;} + .achievement17 .coin {background-position:-1152px -666px;} + .achievement18 .coin {background-position:-648px -822px;} + .achievement19 .coin {background-position:-720px -822px;} + .achievement20 .coin {background-position:-792px -822px;} + + #achievements-wrapper {height:387px;width:1116px;margin:60px 0 30px 60px;} + #achievements ul {float:left;margin-left:60px;} + #achievements nav {height:66px;width:202px;margin:0 auto;} + #previous, #next {height:66px;width:102px;display:inline-block;} + .page1 #previous, .upscaled .page1 #previous {background-position:0px -846px;} + .page5 #next, .upscaled .page5 #next {background-position:-99px -846px;} + #previous, .upscaled #previous {background-position:-201px -846px;} + #previous:active, .upscaled #previous:active {background-position:-402px -846px;} + #next, .upscaled #next {margin-left:-15px;background-position:-300px -846px;} + #next:active, .upscaled #next:active {background-position:-501px -846px;} + + .page1 #previous:hover, .page1 #previous:active {background-position:0px -846px;} + .page5 #next:hover, .page5 #next:active {background-position:-99px -846px} + + #lists {width:6000px;} + #achievements.page1 #lists {left:0;} + #achievements.page2 #lists {left:-1176px;} + #achievements.page3 #lists {left:-2352px;} + #achievements.page4 #lists {left:-3528px;} + #achievements.page5 #lists {left:-4704px;} + + #achievements-count {margin:18px 72px 0 0;} + + #achievements, #achievements li, #achievements .coin, #achievement-notification, #achievement-notification .coin, #coinsparks, .achievement-sharing a, #previous, #next {background-size:1248px;} + #achievements {height:588px;width:1248px;margin-left:-624px;margin-top:-324px;font-size:30px;} + #achievements li, .upscaled #achievements li {height:78px;width:1116px;background-position:0 -588px;margin:15px 0;} + #achievements li .coin {margin-right:45px;} + #achievements li span {padding-top:27px;} + .achievement-sharing {right:24px;top:24px;} + .achievement-sharing .facebook {height:33px;width:15px;background-position:-1116px -588px;} + .achievement-sharing .facebook:hover {background-position:-1116px -621px;} + .achievement-sharing .twitter, .upscaled .achievement-sharing .twitter {height:33px;width:48px;background-position:-1131px -588px;margin-left:15px;} + .achievement-sharing .twitter:hover, .upscaled .achievement-sharing .twitter:hover {background-position:-1131px -621px;} + + #achievement-notification, .upscaled #achievement-notification {width:648px;bottom:66px;height:0;margin-left:-324px;background-position:0 -744px;} + #achievement-notification.active {height:102px;} + #achievement-notification .coin {position:absolute;top:-60px;left:50%;margin-left:-36px;opacity:0;} + #achievement-notification.active .coin {opacity:1;} + #achievement-notification.active #coinsparks, .upscaled #achievement-notification.active #coinsparks {height:78px;width:72px;-moz-animation:coinsparks3 0.8s steps(6, end) 7;-webkit-animation:coinsparks3 0.8s steps(6, end) 7;-o-animation:coinsparks3 0.8s steps(6, end) 7;-ms-animation:coinsparks3 0.8s steps(6, end) 7;} + #achievement-notification .title {color:#fce045;font-size:20px;margin:27px 0 9px 0;} + #achievement-notification .name {color:#eee;font-size:30px;margin:9px 0;} +} + +@media screen and (max-width: 1500px) { + .coin {width:48px;height:52px;} + .achievement1 .coin {background-position:0 -444px;} + .achievement2 .coin {background-position:-48px -444px;} + .achievement3 .coin {background-position:-96px -444px;} + .achievement4 .coin {background-position:-144px -444px;} + .achievement5 .coin {background-position:-192px -444px;} + .achievement6 .coin {background-position:-240px -444px;} + .achievement7 .coin {background-position:-288px -444px;} + .achievement8 .coin {background-position:-336px -444px;} + .achievement9 .coin {background-position:-384px -444px;} + .achievement10 .coin {background-position:-432px -444px;} + .achievement11 .coin {background-position:-480px -444px;} + .achievement12 .coin {background-position:-528px -444px;} + .achievement13 .coin {background-position:-576px -444px;} + .achievement14 .coin {background-position:-624px -444px;} + .achievement15 .coin {background-position:-672px -444px;} + .achievement16 .coin {background-position:-720px -444px;} + .achievement17 .coin {background-position:-768px -444px;} + .achievement18 .coin {background-position:-432px -548px;} + .achievement19 .coin {background-position:-480px -548px;} + .achievement20 .coin {background-position:-528px -548px;} + + #achievements-wrapper {height:258px;width:744px;margin:40px 0 20px 40px;} + #achievements ul {float:left;margin-left:40px;} + #achievements nav {height:44px;width:134px;margin:0 auto;} + #previous, #next {height:44px;width:68px;display:inline-block;} + .page1 #previous, .upscaled .page1 #previous {background-position:0px -564px;} + .page5 #next, .upscaled .page5 #next {background-position:-66px -564px;} + #previous, .upscaled #previous {background-position:-134px -564px;} + #previous:active, .upscaled #previous:active {background-position:-268px -564px;} + #next, .upscaled #next {margin-left:-10px;background-position:-200px -564px;} + #next:active, .upscaled #next:active {background-position:-334px -564px;} + + .page1 #previous:hover, .page1 #previous:active {background-position:0px -564px;} + .page5 #next:hover, .page5 #next:active {background-position:-66px -564px} + + #lists {width:4000px;} + #achievements.page1 #lists {left:0;} + #achievements.page2 #lists {left:-784px;} + #achievements.page3 #lists {left:-1568px;} + #achievements.page4 #lists {left:-2352px;} + #achievements.page5 #lists {left:-3136px;} + + #achievements-count {margin:12px 48px 0 0;} + + #achievements, #achievements li, #achievements .coin, #achievement-notification, #achievement-notification .coin, #coinsparks, .upscaled #coinsparks, .achievement-sharing a, #previous, #next {background-size:832px;} + #achievements {height:392px;width:832px;margin-left:-416px;margin-top:-216px;font-size:20px;} + #achievements li, .upscaled #achievements li {height:52px;width:744px;background-position:0 -392px;margin:10px 0;} + #achievements li .coin {margin-right:30px;} + #achievements li span {padding-top:18px;} + .achievement-sharing {right:16px;top:16px;} + .achievement-sharing .facebook {height:22px;width:10px;background-position:-744px -392px;} + .achievement-sharing .facebook:hover {background-position:-744px -414px;} + .achievement-sharing .twitter, .upscaled .achievement-sharing .twitter {height:22px;width:32px;background-position:-754px -392px;margin-left:10px;} + .achievement-sharing .twitter:hover, .upscaled .achievement-sharing .twitter:hover {background-position:-754px -414px;} + + #achievement-notification, .upscaled #achievement-notification {width:432px;bottom:44px;height:0;margin-left:-216px;background-position:0 -496px;} + #achievement-notification.active {height:68px;} + #achievement-notification .coin {position:absolute;top:-40px;left:50%;margin-left:-24px;opacity:0;} + #achievement-notification.active .coin {opacity:1;} + #achievement-notification.active #coinsparks, .upscaled #achievement-notification.active #coinsparks {height:52px;width:48px;-moz-animation:coinsparks2 0.8s steps(6, end) 7;-webkit-animation:coinsparks2 0.8s steps(6, end) 7;-o-animation:coinsparks2 0.8s steps(6, end) 7;-ms-animation:coinsparks2 0.8s steps(6, end) 7;} + #achievement-notification .title {color:#fce045;font-size:14px;margin:18px 0 6px 0;} + #achievement-notification .name {color:#eee;font-size:20px;margin:6px 0;} +} + +@media screen and (max-height: 850px) { + .coin {width:48px;height:52px;} + .achievement1 .coin {background-position:0 -444px;} + .achievement2 .coin {background-position:-48px -444px;} + .achievement3 .coin {background-position:-96px -444px;} + .achievement4 .coin {background-position:-144px -444px;} + .achievement5 .coin {background-position:-192px -444px;} + .achievement6 .coin {background-position:-240px -444px;} + .achievement7 .coin {background-position:-288px -444px;} + .achievement8 .coin {background-position:-336px -444px;} + .achievement9 .coin {background-position:-384px -444px;} + .achievement10 .coin {background-position:-432px -444px;} + .achievement11 .coin {background-position:-480px -444px;} + .achievement12 .coin {background-position:-528px -444px;} + .achievement13 .coin {background-position:-576px -444px;} + .achievement14 .coin {background-position:-624px -444px;} + .achievement15 .coin {background-position:-672px -444px;} + .achievement16 .coin {background-position:-720px -444px;} + .achievement17 .coin {background-position:-768px -444px;} + .achievement18 .coin {background-position:-432px -548px;} + .achievement19 .coin {background-position:-480px -548px;} + .achievement20 .coin {background-position:-528px -548px;} + + #achievements-wrapper {height:258px;width:744px;margin:40px 0 20px 40px;} + #achievements ul {float:left;margin-left:40px;} + #achievements nav {height:44px;width:134px;margin:0 auto;} + #previous, #next {height:44px;width:68px;display:inline-block;} + .page1 #previous, .upscaled .page1 #previous {background-position:0px -564px;} + .page5 #next, .upscaled .page5 #next {background-position:-66px -564px;} + #previous, .upscaled #previous {background-position:-134px -564px;} + #previous:active, .upscaled #previous:active {background-position:-268px -564px;} + #next, .upscaled #next {margin-left:-10px;background-position:-200px -564px;} + #next:active, .upscaled #next:active {background-position:-334px -564px;} + + .page1 #previous:hover, .page1 #previous:active {background-position:0px -564px;} + .page5 #next:hover, .page5 #next:active {background-position:-66px -564px} + + #lists {width:4000px;} + #achievements.page1 #lists {left:0;} + #achievements.page2 #lists {left:-784px;} + #achievements.page3 #lists {left:-1568px;} + #achievements.page4 #lists {left:-2352px;} + #achievements.page5 #lists {left:-3136px;} + + #achievements-count {margin:12px 48px 0 0;} + + #achievements, #achievements li, #achievements .coin, #achievement-notification, #achievement-notification .coin, #coinsparks, .upscaled #coinsparks, .achievement-sharing a, #previous, #next {background-size:832px;} + #achievements {height:392px;width:832px;margin-left:-416px;margin-top:-216px;font-size:20px;} + #achievements li, .upscaled #achievements li {height:52px;width:744px;background-position:0 -392px;margin:10px 0;} + #achievements li .coin {margin-right:30px;} + #achievements li span {padding-top:18px;} + .achievement-sharing {right:16px;top:16px;} + .achievement-sharing .facebook {height:22px;width:10px;background-position:-744px -392px;} + .achievement-sharing .facebook:hover {background-position:-744px -414px;} + .achievement-sharing .twitter, .upscaled .achievement-sharing .twitter {height:22px;width:32px;background-position:-754px -392px;margin-left:10px;} + .achievement-sharing .twitter:hover, .upscaled .achievement-sharing .twitter:hover {background-position:-754px -414px;} + + #achievement-notification, .upscaled #achievement-notification {width:432px;bottom:44px;height:0;margin-left:-216px;background-position:0 -496px;} + #achievement-notification.active {height:68px;} + #achievement-notification .coin {position:absolute;top:-40px;left:50%;margin-left:-24px;opacity:0;} + #achievement-notification.active .coin {opacity:1;} + #achievement-notification.active #coinsparks, .upscaled #achievement-notification.active #coinsparks {height:52px;width:48px;-moz-animation:coinsparks2 0.8s steps(6, end) 7;-webkit-animation:coinsparks2 0.8s steps(6, end) 7;-o-animation:coinsparks2 0.8s steps(6, end) 7;-ms-animation:coinsparks2 0.8s steps(6, end) 7;} + #achievement-notification .title {color:#fce045;font-size:14px;margin:18px 0 6px 0;} + #achievement-notification .name {color:#eee;font-size:20px;margin:6px 0;} +} + +@media screen and (max-width: 1000px) { + .coin {width:24px;height:26px;} + .achievement1 .coin {background-position:0 -222px;} + .achievement2 .coin {background-position:-24px -222px;} + .achievement3 .coin {background-position:-48px -222px;} + .achievement4 .coin {background-position:-72px -222px;} + .achievement5 .coin {background-position:-96px -222px;} + .achievement6 .coin {background-position:-120px -222px;} + .achievement7 .coin {background-position:-144px -222px;} + .achievement8 .coin {background-position:-168px -222px;} + .achievement9 .coin {background-position:-192px -222px;} + .achievement10 .coin {background-position:-216px -222px;} + .achievement11 .coin {background-position:-240px -222px;} + .achievement12 .coin {background-position:-264px -222px;} + .achievement13 .coin {background-position:-288px -222px;} + .achievement14 .coin {background-position:-312px -222px;} + .achievement15 .coin {background-position:-336px -222px;} + .achievement16 .coin {background-position:-360px -222px;} + .achievement17 .coin {background-position:-384px -222px;} + .achievement18 .coin {background-position:-216px -274px;} + .achievement19 .coin {background-position:-240px -274px;} + .achievement20 .coin {background-position:-264px -274px;} + + #achievements-wrapper {height:129px;width:372px;margin:20px 0 10px 20px;} + #achievements ul {float:left;margin-left:20px;} + #achievements nav {height:22px;width:67px;margin:0 auto;} + #previous, #next {height:22px;width:34px;display:inline-block;} + .page1 #previous, .upscaled .page1 #previous {background-position:0px -282px;} + .page5 #next, .upscaled .page5 #next {background-position:-33px -282px;} + #previous, .upscaled #previous {background-position:-67px -282px;} + #previous:active, .upscaled #previous:active {background-position:-134px -282px;} + #next, .upscaled #next {margin-left:-5px;background-position:-100px -282px;} + #next:active, .upscaled #next:active {background-position:-167px -282px;} + + .page1 #previous:hover, .page1 #previous:active {background-position:0px -282px;} + .page5 #next:hover, .page5 #next:active {background-position:-33px -282px} + + #lists {width:2000px;} + #achievements.page1 #lists {left:0;} + #achievements.page2 #lists {left:-392px;} + #achievements.page3 #lists {left:-784px;} + #achievements.page4 #lists {left:-1176px;} + #achievements.page5 #lists {left:-1568px;} + + #achievements-count {margin:6px 24px 0 0;} + + #achievements, #achievements li, #achievements .coin, #achievement-notification, #achievement-notification .coin, #coinsparks, .achievement-sharing a, #previous, #next {background-size:416px;} + #achievements {height:196px;width:416px;margin-left:-208px;margin-top:-108px;font-size:10px;} + #achievements li, .upscaled #achievements li {height:26px;width:372px;background-position:0 -196px;margin:5px 0;} + #achievements li .coin {margin-right:15px;} + #achievements li span {padding-top:9px;} + .achievement-sharing {right:8px;top:8px;} + .achievement-sharing .facebook {height:11px;width:5px;background-position:-372px -196px;} + .achievement-sharing .facebook:hover {background-position:-372px -207px;} + .achievement-sharing .twitter, .upscaled .achievement-sharing .twitter {height:11px;width:16px;background-position:-377px -196px;margin-left:5px;} + .achievement-sharing .twitter:hover, .upscaled .achievement-sharing .twitter:hover {background-position:-377px -207px;} + + #achievement-notification, .upscaled #achievement-notification {width:216px;bottom:22px;height:0;margin-left:-108px;background-position:0 -248px;} + #achievement-notification.active {height:34px;} + #achievement-notification .coin {position:absolute;top:-20px;left:50%;margin-left:-12px;opacity:0;} + #achievement-notification.active .coin {opacity:1;} + #achievement-notification.active #coinsparks, .upscaled #achievement-notification.active #coinsparks {height:26px;width:24px;-moz-animation:coinsparks1 0.8s steps(6, end) 7;-webkit-animation:coinsparks1 0.8s steps(6, end) 7;-o-animation:coinsparks1 0.8s steps(6, end) 7;-ms-animation:coinsparks1 0.8s steps(6, end) 7;} + #achievement-notification .title {color:#fce045;font-size:10px;margin:9px 0 3px 0;} + #achievement-notification .name {color:#eee;font-size:10px;margin:3px 0;} +} + +@media screen and (max-width: 600px) { + #achievement-notification .coin {width:48px;height:52px;} + #achievement-notification.achievement1 .coin {background-position:0 -444px;} + #achievement-notification.achievement2 .coin {background-position:-48px -444px;} + #achievement-notification.achievement3 .coin {background-position:-96px -444px;} + #achievement-notification.achievement4 .coin {background-position:-144px -444px;} + #achievement-notification.achievement5 .coin {background-position:-192px -444px;} + #achievement-notification.achievement6 .coin {background-position:-240px -444px;} + #achievement-notification.achievement7 .coin {background-position:-288px -444px;} + #achievement-notification.achievement8 .coin {background-position:-336px -444px;} + #achievement-notification.achievement9 .coin {background-position:-384px -444px;} + #achievement-notification.achievement10 .coin {background-position:-432px -444px;} + #achievement-notification.achievement11 .coin {background-position:-480px -444px;} + #achievement-notification.achievement12 .coin {background-position:-528px -444px;} + #achievement-notification.achievement13 .coin {background-position:-576px -444px;} + #achievement-notification.achievement14 .coin {background-position:-624px -444px;} + #achievement-notification.achievement15 .coin {background-position:-672px -444px;} + #achievement-notification.achievement16 .coin {background-position:-720px -444px;} + #achievement-notification.achievement17 .coin {background-position:-768px -444px;} + #achievement-notification.achievement18 .coin {background-position:-432px -548px;} + #achievement-notification.achievement19 .coin {background-position:-480px -548px;} + #achievement-notification.achievement20 .coin {background-position:-528px -548px;} + + #achievement-notification, #achievement-notification .coin, #coinsparks {background-size:832px;} + #achievement-notification, .upscaled #achievement-notification {width:432px;bottom:34px;height:0;margin-left:-216px;background-position:0 -496px;} + #achievement-notification.active {height:68px;} + #achievement-notification .coin {position:absolute;top:-40px;left:50%;margin-left:-24px;opacity:0;} + #achievement-notification.active .coin {opacity:1;} + #achievement-notification.active #coinsparks {display:none;} + #achievement-notification .title {color:#fce045;font-size:14px;margin:18px 0 6px 0;} + #achievement-notification .name {color:#eee;font-size:20px;margin:6px 0;} + + #achievements li.unlocked .achievement-sharing {display:block;} +} \ No newline at end of file diff --git a/client/css/ie.css b/client/css/ie.css new file mode 100644 index 000000000..d4341bee9 --- /dev/null +++ b/client/css/ie.css @@ -0,0 +1,5 @@ +/*IE stylesheet*/ + +#container {display:none;} +body {background:url('../img/2/wood.png') repeat;} +.no-opacity #credits, .no-opacity #loadcharacter, .no-opacity #createcharacter, .no-opacity #death, .no-opacity #confirmation {display:none;} diff --git a/client/css/main.css b/client/css/main.css new file mode 100644 index 000000000..25e2fb294 --- /dev/null +++ b/client/css/main.css @@ -0,0 +1,1091 @@ +/* Eric Meyer's CSS reset */ + +html, body, div, span, applet, object, iframe, +h1, h2, h3, h4, h5, h6, p, blockquote, pre, +a, abbr, acronym, address, big, cite, code, +del, dfn, em, font, img, ins, kbd, q, s, samp, +small, strike, strong, sub, sup, tt, var, +b, u, i, center, +dl, dt, dd, ol, ul, li, +fieldset, form, label, legend, +table, caption, tbody, tfoot, thead, tr, th, td { + margin: 0; + padding: 0; + border: 0; + outline: 0; + font-size: 100%; + vertical-align: baseline; + background: transparent; +} +body { + line-height: 1; +} +ol, ul { + list-style: none; +} +blockquote, q { + quotes: none; +} +blockquote:before, blockquote:after, +q:before, q:after { + content: ''; + content: none; +} + +/* remember to define focus styles! */ +:focus { + outline: 0; +} + +/* remember to highlight inserts somehow! */ +ins { + text-decoration: none; +} +del { + text-decoration: line-through; +} + +/* tables still need 'cellspacing="0"' in the markup */ +table { + border-collapse: collapse; + border-spacing: 0; +} + +/* HTML5 display-role reset for older browsers */ +article, aside, details, figcaption, figure, +footer, header, hgroup, menu, nav, section { + display: block; +} + +/* Typography*/ + + @font-face { + font-family: 'GraphicPixel'; + src: url('../fonts/graphicpixel-webfont.eot'); + src: url('../fonts/graphicpixel-webfont.eot?#iefix') format('embedded-opentype'), + url('../fonts/graphicpixel-webfont.woff') format('woff'), + url('../fonts/graphicpixel-webfont.ttf') format('truetype'), + url('../fonts/graphicpixel-webfont.svg#GraphicPixelRegular') format('svg'); + font-weight: normal; + font-style: normal; + + } + + .gp {font-family: 'GraphicPixel', sans-serif;} + +/* General Layout */ + + + html, body {height:100%;} + + body {padding:0;margin:0;background:#111;overflow:hidden;image-rendering:-moz-crisp-edges; image-rendering:-webkit-optimize-contrast;border-top:2px solid #707070;} + + canvas { position:absolute;image-rendering:optimizeSpeed;} + #background { background:url('../img/common/loading.png') no-repeat center center, #000;} + .error #background { background:url('../img/common/loading-error.png') no-repeat center center, #000;} + + #background, #foreground { margin:0; padding:0;} + + #achievements nav::selection {background:transparent;text-decoration:none;color:transparent;} + #canvas {-moz-user-select:none;-webkit-user-select:none;-o-user-select:none;-ms-user-select:none;cursor:none;} + + #foreground { + -webkit-tap-highlight-color:rgba(0,0,0,0); + /* -webkit-touch-callout:none; */ + /* margin:0 auto; + display:block;*/ + } + + + @media screen and (max-width: 600px) { + + #entities { + cursor: default; + } + } + + h1 {font-weight:normal;} + + .preload {display:none;} + +/* Common rules */ + + body.upscaled.game {background:#000;} + .game #logo {display:none;-moz-animation:none;-webkit-animation:none;-o-animation:none;-ms-animation:none;animation:none;} + + #logo, #logosparks, .left-ornament, .right-ornament, #character, #character div, .button, .button div, #respawn, #scroll, #instructions, .icon, #tilt, .parchment-left, .parchment-middle, .parchment-right, .avatar, .facebook, .twitter, .close, #note {background:url('../img/1/spritesheet.png');image-rendering:-moz-crisp-edges; image-rendering:-webkit-optimize-contrast;} + + #moztab {height:49px;width:118px;position:fixed;top:0;right:15%;background:url('../img/1/spritesheet.png') no-repeat -229px -204px;z-index:10000;display:block;} + + #vignetting {height:100%;width:100%;position:absolute;top:0;left:0;pointer-events:none;} + #logosparks {display:block;position:absolute;top:0;left:0;} + #parchment, #parchment input {font-family:'GraphicPixel';} + #parchment input {width:50%;background:rgba(0,0,0,0.05);text-align:center;-moz-animation:glow 0.5s linear infinite alternate;-webkit-animation:glow 0.5s linear infinite alternate;-o-animation:glow 0.5s linear infinite alternate;-ms-animation:glow 0.5s linear infinite alternate;color:#eee;} + #parchment input:focus {-moz-animation:none;-webkit-animation:none;-o-animation:none;-ms-animation:none;animation:none;color:#fff;background:rgba(0,0,0,0.1);border-color:rgba(0,0,0,0.3);} + + #character div {-moz-transition:0.4s opacity linear;-webkit-transition:0.4s opacity linear;-o-transition:0.4s opacity linear;-ms-transition:0.4s opacity linear;transition:0.4s opacity linear;} + + .play div {position:absolute;top:0;left:0;opacity:1;-moz-transition:0.4s linear opacity;-webkit-transition:0.4s linear opacity;-o-transition:0.4s linear opacity;-ms-transition:0.4s linear opacity;transition:0.4s linear opacity} + .play.disabled div {opacity:0;pointer-events:none;} + .play img {display:none;} + .play.loading img {display:block;position:absolute;top:54%;left:50%;} + + #mask {height:100%;width:100%;position:fixed;top:0;left:0;background:rgba(20,20,20,1);opacity:1;z-index:20;-moz-transition:0.5s opacity linear;-webkit-transition:0.5s opacity linear;-o-transition:0.5s opacity linear;-ms-transition:0.5s opacity linear;transition:0.5s opacity linear;pointer-events:none;} + + #bar-container {background:url('../img/1/barsheet.png');image-rendering:-moz-crisp-edges;position:relative;width:100%;z-index:10;} + #healthbar {background:url('../img/1/barsheet.png');image-rednering:-moz-crisp-edges;position:absolute;} + #hitpoints {background:#d83939;-moz-transition:.5s width ease;-webkit-transition:.5s width ease;-o-transition:.5s width ease;-ms-transition:.5s width ease;transition:.5s width ease;} + #hitpoints.white {-moz-animation:flash 0.5s linear 1;-webkit-animation:flash 0.5s linear 1;-o-animation:flash 0.5s linear 1;-ms-animation:flash 0.5s linear 1;animation:flash 0.5s linear 1;} + #hitpoints.invincible {-moz-animation:invincible 0.3s steps(3, end) alternate infinite;-webkit-animation:invincible 0.3s steps(3, end) alternate infinite;-o-animation:invincible 0.3s steps(3, end) alternate infinite;-ms-animation:invincible 0.3s steps(3, end) alternate infinite;} + + #notifications {position:absolute;left:50%;text-align:center;font-family:'GraphicPixel';overflow:hidden;} + #notifications div {position:absolute;-moz-transition:none;-webkit-transition:none;top:0;width:100%;} + #notifications div.top {-moz-transition:0.5s top ease;-webkit-transition:0.5s top ease;-o-transition:0.5s top ease;-ms-transition:0.5s top ease;transition:0.5s top ease;} + #notifications div.top #message1 {opacity:0;-moz-transition:0.2s opacity linear;-webkit-transition:0.2s opacity linear;-o-transition:0.2s opacity linear;-ms-transition:0.2s opacity linear;transition:0.2s opacity linear;} + #notifications span {display:block;text-align:center;width:100%;opacity:1;} + + #playercount {font-family:'GraphicPixel';color:#e3e3e3;position:absolute;} + + .barbutton {background:url('../img/1/barsheet.png');image-rendering:-moz-crispt-edges;position:absolute;} + + #chatbox {background:url('../img/1/barsheet.png');image-rendering:-moz-crisp-edges;position:absolute;left:50%;z-index:5;-moz-transition:0.2s bottom ease;-webkit-transition:0.2s bottom ease;-o-transition:0.2s bottom ease;-ms-transition:0.2s bottom ease;transition:0.2s bottom ease;} + + #instructions {position:absolute;top:50%;left:50%;z-index:1000;font-family:'GraphicPixel';pointer-events:none;opacity:0;-moz-transition:0.25s opacity linear;-webkit-transition:0.4s top ease, 0.4s opacity linear;-o-transition:0.4s top ease, 0.4s opacity linear;-ms-transition:0.4s top ease, 0.4s opacity linear;transition:0.4s top ease, 0.4s opacity linear;} + #instructions.active, #achievements.active {opacity:1;pointer-events:auto;} + + #weapon, #armor {image-rendering:-moz-crisp-edges;} + + #achievements, #achievements li, .coin, #achievement-notification, #coinsparks, .achievement-sharing a, #previous, #next {background:url('../img/1/achievements.png');image-rendering:-moz-crisp-edges;} + #achievements {font-family:'GraphicPixel'; position:absolute;top:50%;left:50%;z-index:1000;opacity:0;pointer-events:none;-moz-transition:0.25s opacity linear;-webkit-transition:0.4s top ease, 0.4s opacity linear;-o-transition:0.4s top ease, 0.4s opacity linear;-ms-transition:0.4s top ease, 0.4s opacity linear;transition:0.4s top ease, 0.4s opacity linear;} + #achievements li {clear:both;position:relative;} + #achievements li .coin, #achievements li .achievement-name {float:left;} + #achievements li .coin {opacity:0;} + #achievements li.unlocked .achievement-name {color:#fce045;} + #achievements li.unlocked .coin {opacity:1;} + #achievements .achievement-name {color:#fff;} + #achievements .achievement-description {float:right;width:65%;} + #achievement-notification {position:absolute;z-index:8;bottom:0;left:50%;text-align:center;font-family:'GraphicPixel';pointer-events:none;-moz-transition:0.3s height ease;-webkit-transition:0.3s height ease;-o-transition:0.3s height ease;-ms-transition:0.3s height ease;} + #achievement-notification .name, #achievement-notification .title {opacity:0;-moz-transition:0.3s opacity linear;-webkit-transition:0.3s opacity linear;-o-transition:0.3s opacity linear;-ms-transition:0.3s opacity linear;transition:0.3s opacity linear;} + #achievement-notification.active .name, #achievement-notification.active .title {opacity:1;} + #achievement-info {overflow:hidden;height:100%;} + .achievement-sharing {position:absolute;display:none;} + #achievements li.unlocked:hover .achievement-sharing {display:block;} + .achievement-sharing a {display:block;float:left;} + + #bubbles a {pointer-events:auto;text-decoration:none;color:#fcda5c;} + + #create-new span:hover, #cancel span:hover {cursor:pointer;color:#d83939;} + #create-new span span {color:#b2af9b;} + #create-new span span:hover {color:#b2af9b;} + #playername {color:#fff;} + + #credits, #loadcharacter, #confirmation, #death, #error {position:absolute;left:50%;text-align:center;font-family:'GraphicPixel', sans-serif;z-index:1000;} + + #playerimage {image-rendering: -moz-crisp-edges; image-rendering: -webkit-optimize-contrast;} + + #parchment p {font-family:'GraphicPixel';} + + #credits, #death {top:50%;} + .intro #credits {top:55%;} + #credits h1 a {color:#fcda5c;text-decoration:none;} + #authors div a {display:block;color:#fff;text-decoration:none;} + #authors div a:hover {color:#fcda5c;} + #seb {clear:both;} + + #portrait {display:none;} + + footer {font-family:'GraphicPixel';position:absolute;bottom:5%;left:0;text-align:center;width:100%;z-index:20000;} + + .intro footer {color:#c6c0a3;opacity:1;} + footer {color:#8b8b8b;opacity:0.7;-moz-transition:0.2s opacity linear;-webkit-transition:0.2s opacity linear;-o-transition:0.2s opacity linear;-ms-transition:0.2s opacity linear;transition:0.2s opacity linear;} + footer:hover {opacity:1;} + footer div {display:inline-block;} + #sharing a {display:block;float:right;background-size:844px;position:relative;top:-2px;} + #sharing .facebook {height:22px;width:10px;background-position:-802px -202px;margin:0 12px 0 16px;} + .intro #sharing .facebook {background-position:-760px -202px;} + #sharing .facebook:hover {background-position:-760px -224px;} + #sharing .twitter {height:22px;width:32px;background-position:-812px -202px;margin:0 12px 0 0;} + .intro #sharing .twitter {background-position:-770px -202px;} + #sharing .twitter:hover {background-position:-770px -224px;} + #credits-link span {display:inline-block;margin-left:12px;} + #credits-link span:hover {color:#fcda5c;cursor:pointer;} + + .close {position:absolute;z-index:20000;} + .close:hover {cursor:pointer;} + + .bubble {background:rgba(45,45,45,0.8);padding:0px 12px 0px 12px;border-radius:8px;color:rgba(255,255,255,0.8);display:inline-block;text-align:center;position:absolute;} + .thingy {height:10px;width:11px;background:url('../img/common/thingy.png');margin:0 auto;margin-top:-10px;top:10px;position:relative;} + + #noscript {height:50px;background:#d83939;width:100%;color:#eee;font-size:20px;font-family:'GraphicPixel', arial, sans-serif;text-align:center;line-height:50px;border-bottom:1px solid #000;} + +/* Magic Parchment */ + + .parchment-left {position:absolute;top:0;left:0%;} + .parchment-right {position:absolute;top:0;right:0%;} + .parchment-middle {position:absolute;left:50%;top:0;} + .animate .parchment-left {-moz-animation:parchleft 1s ease 1;-webkit-animation:parchleft 1s ease 1;-o-animation:parchleft 1s ease 1;-ms-animation:parchleft 1s ease 1;animation:parchleft 1s ease 1;} + .animate .parchment-right {-moz-animation:parchright 1s ease 1;-webkit-animation:parchright 1s ease 1;-o-animation:parchright 1s ease 1;-ms-animation:parchright 1s ease 1;animation:parchright 1s ease 1;} + + #credits, #createcharacter, #loadcharacter, #confirmation, #death, #error {opacity:0;pointer-events:none;-moz-transition:none;-webkit-transition:none;-o-transition:none;-ms-transition:none;transition:none;} + .credits #credits, .createcharacter #createcharacter, .loadcharacter #loadcharacter, .confirmation #confirmation, .death #death, .error #error {opacity:1;pointer-events:auto;-moz-transition:0.5s opacity linear;-webkit-transition:0.5s opacity linear;-o-transition:0.5s opacity linear;-ms-transition:0.5s opacity linear;transition:0.5s opacity linear;} + +/* States & Transitions */ + + #intro {-moz-transition:0.4s opacity linear;-webkit-transition:0.4s opacity linear;-o-transition:0.4s opacity linear;-ms-transition:0.4s opacity linear;transition:0.4s opacity linear;} + #mask, #logo, #parchment {opacity:0;} + .intro #logo, .intro #parchment {opacity:1;} + + .game #confirmation, .game #loadcharacter, .game #createcharacter, .game #error {display:none;} + + .game #parchment {z-index:0;-moz-transition:0.5s opacity linear 0.5s, 0s z-index linear 1s;-webkit-transition:0.5s opacity linear 0.5s, 0s z-index linear 1s;-o-transition:0.5s opacity linear 0.5s, 0s z-index linear 1s;-ms-transition:0.5s opacity linear 0.5s, 0s z-index linear 1s;transition:0.5s opacity linear 0.5s, 0s z-index linear 1s;top:50%;} + .game #credits, .game #death {opacity:0;-moz-transition:0s opacity linear 0s;-webkit-transition:0s opacity linear 0s;-o-transition:0s opacity linear 0s;-ms-transition:0s opacity linear 0s;transition:0s opacity linear 0s;} + .game.credits #credits, .game.death #death {opacity:1;-moz-transition:0.5s opacity linear 0.5s;-webkit-transition:0.5s opacity linear 0.5s;-o-transition:0.5s opacity linear 0.5s;-ms-transition:0.5s opacity linear 0.5s;transition:0.5s opacity linear 0.5s;} + .game.credits #parchment, .game.death #parchment {opacity:1;-moz-transition:0.5s opacity linear 0s, 0s z-index linear 0s;-webkit-transition:0.5s opacity linear 0s, 0s z-index linear 0s;-o-transition:0.5s opacity linear 0s, 0s z-index linear 0s;-ms-transition:0.5s opacity linear 0s, 0s z-index linear 0s;transition:0.5s opacity linear 0s, 0s z-index linear 0s;z-index:200;} + .game .parchment-left {-moz-transition:0.5s left ease;-webkit-transition:0.5s left ease;-o-transition:0.5s left ease;-ms-transition:0.5s left ease;transition:0.5s left ease;left:41%;} + .game .parchment-right {-moz-transition:0.5s right ease;-webkit-transition:0.5s right ease;-o-transition:0.5s right ease;-ms-transition:0.5s right ease;transition:0.5s right ease;right:41%;} + .game .parchment-middle {-moz-transition:0.5s width ease, 0.5s margin-left ease, 0.5s background-position ease;-webkit-transition:0.5s width ease, 0.5s margin-left ease, 0.5s background-position ease;-o-transition:0.5s width ease, 0.5s margin-left ease, 0.5s background-position ease;-ms-transition:0.5s width ease, 0.5s margin-left ease, 0.5s background-position ease;transition:0.5s width ease, 0.5s margin-left ease, 0.5s background-position ease;width:0px;margin-left:0px;} + .game.credits .parchment-left, .game.death .parchment-left {left:0%;} + .game.credits .parchment-right, .game.death .parchment-right {right:0%;} + + #container {z-index:100;background:rgba(0,0,0,0.2);-moz-transition:1s opacity linear 0.5s;-webkit-transition:1s opacity linear 0.5s;-o-transition:1s opacity linear 0.5s;-ms-transition:1s opacity linear 0.5s;transition:1s opacity linear 0.5s;} + .intro #container {opacity:0;pointer-events:none;} + .game #container {opacity:1;} + + #logo, #parchment {-moz-transition:0.5s opacity linear;-webkit-transition:0.5s opacity linear;-o-transition:0.5s opacity linear;-ms-transition:0.5s opacity linear;transition:0.5s opacity linear;} + + @-moz-keyframes flash { 0% {background:#ffa2a2;} 100% {background:#e22525; }} + @-webkit-keyframes flash { 0% {background:#ffa2a2;} 100% {background:#e22525; }} + @-o-keyframes flash { 0% {background:#ffa2a2;} 100% {background:#e22525; }} + @-ms-keyframes flash { 0% {background:#ffa2a2;} 100% {background:#e22525; }} + + @-moz-keyframes glow { from {color:#fcda5c;} to {color:#fff;} } + @-webkit-keyframes glow { from {color:#fcda5c;} to {color:#fff;} } + @-o-keyframes glow { from {color:#fcda5c;} to {color:#fff;} } + @-ms-keyframes glow { from {color:#fcda5c;} to {color:#fff;} } + + @-moz-keyframes logo1 { from { background-position: 0 -42px; } to { background-position: 0 -294px; }} + @-webkit-keyframes logo1 { from { background-position: 0 -42px; } to { background-position: 0 -294px; }} + @-o-keyframes logo1 { from { background-position: 0 -42px; } to { background-position: 0 -294px; }} + @-ms-keyframes logo1 { from { background-position: 0 -42px; } to { background-position: 0 -294px; }} + @-moz-keyframes logo2 { from { background-position: 0 -84px; } to { background-position: 0 -588px; }} + @-webkit-keyframes logo2 { from { background-position: 0 -84px; } to { background-position: 0 -588px; }} + @-o-keyframes logo2 { from { background-position: 0 -84px; } to { background-position: 0 -588px; }} + @-ms-keyframes logo2 { from { background-position: 0 -84px; } to { background-position: 0 -588px; }} + @-moz-keyframes logo3 { from { background-position: 0 -126px; } to { background-position: 0 -882px; }} + @-webkit-keyframes logo3 { from { background-position: 0 -126px; } to { background-position: 0 -882px; }} + @-o-keyframes logo3 { from { background-position: 0 -126px; } to { background-position: 0 -882px; }} + @-ms-keyframes logo3 { from { background-position: 0 -126px; } to { background-position: 0 -882px; }} + + @-moz-keyframes parchleft { 0% { left:0%; } 45% { left:41%; } 55% { left:41%; } 100% { left:0%; }} + @-webkit-keyframes parchleft { 0% { left:0%; } 45% { left:41%; } 55% { left:41%; } 100% { left:0%; }} + @-o-keyframes parchleft { 0% { left:0%; } 45% { left:41%; } 55% { left:41%; } 100% { left:0%; }} + @-ms-keyframes parchleft { 0% { left:0%; } 45% { left:41%; } 55% { left:41%; } 100% { left:0%; }} + @-moz-keyframes parchright { 0% {right:0%; } 45% { right:41%; } 55% { right:41%; } 100% { right:0%; }} + @-webkit-keyframes parchright { 0% {right:0%; } 45% { right:41%; } 55% { right:41%; } 100% { right:0%; }} + @-o-keyframes parchright { 0% {right:0%; } 45% { right:41%; } 55% { right:41%; } 100% { right:0%; }} + @-ms-keyframes parchright { 0% {right:0%; } 45% { right:41%; } 55% { right:41%; } 100% { right:0%; }} + + @-moz-keyframes parchmiddle3 { + 0% {width:1038px;margin-left:-519px;background-position:-114px -882px;} + 45% {width:0px;margin-left:0px;background-position: -633px -882px;} + 55% {width:0px;margin-left:0px;background-position: -633px -882px;} + 100% {width:1038px;margin-left:-519px;background-position: -114px -882px;} + } + @-webkit-keyframes parchmiddle3 { + 0% {width:1038px;margin-left:-519px;background-position:-114px -882px;} + 45% {width:0px;margin-left:0px;background-position: -633px -882px;} + 55% {width:0px;margin-left:0px;background-position: -633px -882px;} + 100% {width:1038px;margin-left:-519px;background-position: -114px -882px;} + } + @-o-keyframes parchmiddle3 { + 0% {width:1038px;margin-left:-519px;background-position:-114px -882px;} + 45% {width:0px;margin-left:0px;background-position: -633px -882px;} + 55% {width:0px;margin-left:0px;background-position: -633px -882px;} + 100% {width:1038px;margin-left:-519px;background-position: -114px -882px;} + } + @-ms-keyframes parchmiddle3 { + 0% {width:1038px;margin-left:-519px;background-position:-114px -882px;} + 45% {width:0px;margin-left:0px;background-position: -633px -882px;} + 55% {width:0px;margin-left:0px;background-position: -633px -882px;} + 100% {width:1038px;margin-left:-519px;background-position: -114px -882px;} + } + + @-moz-keyframes parchmiddle2 { + 0% {width:692px;margin-left:-346px;background-position:-76px -588px;} + 45% {width:0px;margin-left:0px;background-position: -422px -588px;} + 55% {width:0px;margin-left:0px;background-position: -422px -588px;} + 100% {width:692px;margin-left:-346px;background-position:-76px -588px;} + } + @-webkit-keyframes parchmiddle2 { + 0% {width:692px;margin-left:-346px;background-position:-76px -588px;} + 45% {width:0px;margin-left:0px;background-position: -422px -588px;} + 55% {width:0px;margin-left:0px;background-position: -422px -588px;} + 100% {width:692px;margin-left:-346px;background-position:-76px -588px;} + } + @-o-keyframes parchmiddle2 { + 0% {width:692px;margin-left:-346px;background-position:-76px -588px;} + 45% {width:0px;margin-left:0px;background-position: -422px -588px;} + 55% {width:0px;margin-left:0px;background-position: -422px -588px;} + 100% {width:692px;margin-left:-346px;background-position:-76px -588px;} + } + @-ms-keyframes parchmiddle2 { + 0% {width:692px;margin-left:-346px;background-position:-76px -588px;} + 45% {width:0px;margin-left:0px;background-position: -422px -588px;} + 55% {width:0px;margin-left:0px;background-position: -422px -588px;} + 100% {width:692px;margin-left:-346px;background-position:-76px -588px;} + } + + @-moz-keyframes parchmiddle1 { + 0% {width:346px;margin-left:-173px;background-position:-38px -294px;} + 45% {width:0px;margin-left:0px;background-position: -211px -294px;} + 55% {width:0px;margin-left:0px;background-position: -211px -294px;} + 100% {width:346px;margin-left:-173px;background-position:-38px -294px;} + } + @-webkit-keyframes parchmiddle1 { + 0% {width:346px;margin-left:-173px;background-position:-38px -294px;} + 45% {width:0px;margin-left:0px;background-position: -211px -294px;} + 55% {width:0px;margin-left:0px;background-position: -211px -294px;} + 100% {width:346px;margin-left:-173px;background-position:-38px -294px;} + } + @-o-keyframes parchmiddle1 { + 0% {width:346px;margin-left:-173px;background-position:-38px -294px;} + 45% {width:0px;margin-left:0px;background-position: -211px -294px;} + 55% {width:0px;margin-left:0px;background-position: -211px -294px;} + 100% {width:346px;margin-left:-173px;background-position:-38px -294px;} + } + @-ms-keyframes parchmiddle1 { + 0% {width:346px;margin-left:-173px;background-position:-38px -294px;} + 45% {width:0px;margin-left:0px;background-position: -211px -294px;} + 55% {width:0px;margin-left:0px;background-position: -211px -294px;} + 100% {width:346px;margin-left:-173px;background-position:-38px -294px;} + } + + + @-moz-keyframes coinsparks1 { from { background-position: -216px -248px; } to { background-position: -360px -248px; }} + @-webkit-keyframes coinsparks1 { from { background-position: -216px -248px; } to { background-position: -360px -248px; }} + @-o-keyframes coinsparks1 { from { background-position: -216px -248px; } to { background-position: -360px -248px; }} + @-ms-keyframes coinsparks1 { from { background-position: -216px -248px; } to { background-position: -360px -248px; }} + @-moz-keyframes coinsparks2 { from { background-position: -432px -496px; } to { background-position: -720px -496px; }} + @-webkit-keyframes coinsparks2 { from { background-position: -432px -496px; } to { background-position: -720px -496px; }} + @-o-keyframes coinsparks2 { from { background-position: -432px -496px; } to { background-position: -720px -496px; }} + @-ms-keyframes coinsparks2 { from { background-position: -432px -496px; } to { background-position: -720px -496px; }} + @-moz-keyframes coinsparks3 { from { background-position: -648px -744px; } to { background-position: -1080px -744px; }} + @-webkit-keyframes coinsparks3 { from { background-position: -648px -744px; } to { background-position: -1080px -744px; }} + @-o-keyframes coinsparks3 { from { background-position: -648px -744px; } to { background-position: -1080px -744px; }} + @-ms-keyframes coinsparks3 { from { background-position: -648px -744px; } to { background-position: -1080px -744px; }} + + @-moz-keyframes invincible { from {background:#fa6a00;} to {background:#fabc00;} } + @-webkit-keyframes invincible { from {background:#fa6a00;} to {background:#fabc00;} } + @-o-keyframes invincible { from {background:#fa6a00;} to {background:#fabc00;} } + @-ms-keyframes invincible { from {background:#fa6a00;} to {background:#fabc00;} } + + + + @media screen and (min-width: 1501px) { + + .upscaled #logo, .upscaled #logosparks, .upscaled .left-ornament, .upscaled .right-ornament, .upscaled #character, .upscaled #character div, .upscaled .button, .upscaled .button div, .upscaled #respawn, .upscaled #scroll, .upscaled #instructions, .upscaled .icon, .upscaled #tilt, .upscaled .parchment-left, .upscaled .parchment-middle, .upscaled .parchment-right, .upscaled .avatar, .upscaled .facebook, .upscaled .twitter, .upscaled .close {background-image:url('../img/3/spritesheet.png');} + .upscaled #bar-container, .upscaled #healthbar, .upscaled .barbutton, .upscaled #chatbox {background-image:url('../img/3/barsheet.png');} + .upscaled #achievements, .upscaled #achievements li, .upscaled .coin, .upscaled #achievement-notification, .upscaled #coinsparks, .upscaled .achievement-sharing a, .upscaled #previous, .upscaled #next {background:url('../img/3/achievements.png');} + + + body {background:-moz-radial-gradient(rgba(0,0,0,0) 40%,rgba(0,0,0,1) 125%), url('../img/1/wood2.png') no-repeat 1587px 138px, url('../img/1/wood2.png') no-repeat 51px 519px, url('../img/1/wood3.png') no-repeat 228px 219px, url('../img/1/wood.png') repeat, #000; background-size:auto, 15px auto, 15px auto, 60px auto, 384px;} + body {background:-webkit-gradient(radial, center center, 360, center center, 1200, from(rgba(0,0,0,0)), to(rgba(0,0,0,1))), url('../img/3/wood2.png') no-repeat 1587px 138px, url('../img/3/wood2.png') no-repeat 51px 519px, url('../img/3/wood3.png') no-repeat 228px 219px, url('../img/3/wood.png') repeat, #000; background-size:auto, 15px auto, 15px auto, 60px auto, 384px;} + #logo, #logosparks, .left-ornament, .right-ornament, #character, #character div, .button, .button div, #respawn, #scroll, #instructions, .icon, .avatar, .close, #note {background-size:1266px auto;} + #logo {height:126px;width:687px;position:absolute;top:10%;left:50%;margin-left:-344px;z-index:3;} + #logosparks {width:687px;height:126px;z-index:4;-moz-animation:logo3 .8s steps(6, end) infinite;-webkit-animation:logo3 .8s steps(6, end) infinite;-o-animation:logo3 .8s steps(6, end) infinite;-ms-animation:logo3 .8s steps(6, end) infinite;} + #parchment, #loadcharacter, #confirmation, #error {width:1266px;height:546px;position:absolute;top:55%;left:50%;margin-left:-633px;margin-top:-273px;font-size:30px;text-align:center;z-index:2;} + #parchment h1 {margin-top:60px;font-weight:normal;} + .left-ornament, .right-ornament {height:36px;width:93px;display:inline-block;margin:0 20px;position:relative;top:12px;} + .left-ornament {background-position:-1062px 0;} + .right-ornament {background-position:-1155px 0;} + #character {height:63px;width:36px;margin:0 auto;background-position:-1062px -36px;margin-top:45px;position:relative;} + #character div {height:63px;width:36px;position:absolute;top:0;left:0;background-position:-1098px -36px;opacity:1;} + #character.disabled div {opacity:0;pointer-events:none;} + #parchment input {margin-top:30px; padding:0 15px; border:3px dashed #b2af9b; font-size:30px;border-radius:9px;height:61px;} + .button {height:153px;width:375px;background-position:-687px -306px;margin:30px auto 0 auto;position:relative;} + .play div {height:153px;width:375px;background-position:-687px 0px;} + .play div:active {background-position:-687px -459px;} + .play.loading div {background-position:-681px -2178px;} + .play.loading img {margin-top:-16px;margin-left:-16px;height:32px;width:32px;} + .stroke, .achievement-name {text-shadow:3px 3px 0 #373737, 3px -3px 0 #373737, 0 3px 0 #373737, 3px 0 0 #373737, -3px 3px 0 #373737, -3px -3px 0 #373737, 0 -3px 0 #373737, 0 3px 0 #373737, -3px 0 0 #373737;} + + #loadcharacter h1, #confirmation h1, #error h1 {margin-top:30px;} + #playername {margin-top:15px;} + .loadcharacter .play, .confirmation .delete {margin:15px auto 15px auto;} + #confirmation p, #error p {font-size:30px;margin-top:60px;line-height:40px;} + #error p {width:70%;margin:60px auto 0;} + .button.delete {background-position:-687px -153px;} + .button.delete:active {background-position:0 -2178px;} + + #container {width:1470px;margin:0 auto;position:absolute;top:50%;margin-top:-378px;left:50%;margin-left:-735px;} + #canvasborder {padding:15px;background:url('../img/3/border.png') no-repeat;} + #canvas {width:100%;height:672px;} + #fade {width:1440px;height:672px;top:15px;left:15px;} + + #instructions {height:516px;width:1251px;background-position:0 -1581px;margin-left:-624px;margin-top:-279px;color:#373737;} + #instructions h1 {font-size:40px;text-align:center;margin:50px 0;} + #instructions ul {font-size:30px;margin-top:30px;} + #instructions ul li {margin:20px 0; clear:left;} + #instructions li:nth-child(1) span {height:87px;width:45px;background-position:-1134px -36px; display:block;float:left;margin: 0 30px 9px 60px;position: relative;top: -39px;} + #instructions li:nth-child(2) span {height:48px;width:39px;background-position:-1179px -36px; display:block;float:left;margin: 0 36px 42px 60px;position: relative;top: -9px;} + #instructions li:nth-child(3) span {height:63px;width:48px;background-position:-1218px -36px; display:block;float:left;margin: 0 27px 0 60px;position: relative;top: -18px;} + #instructions p {text-align:center;font-family:'GraphicPixel';font-size:20px;clear:left;margin-top:50px;} + + #playerimage {height: 96px; width: 96px;} + + .close {height:48px;width:48px;top:-12px;right:-15px;background-position:-1062px -378px;} + .close:hover {background-position:-1110px -378px;} + .close:active {background-position:-1158px -378px;} + + /*Death & Respawn*/ + #death p {font-size:30px;margin-top:140px;} + #respawn {width:375px;height:153px;margin:60px auto 0 auto;background-position: 0 -1428px;} + #respawn:active {background-position:-375px -1428px;} + + + /*Bubbles*/ + #bubbles {width:1440px;height:672px;margin-bottom:-672px;position:relative;top:-672px;pointer-events:none;} + p {font-family:arial, sans-serif;font-size:12px;margin:0;padding:12px 0} + .bubble p {font-family:"GraphicPixel"; font-size:18px;line-height:24px;} + + /*GUI Bar*/ + #bar-container {height:51px;top:-3px;background-size:1440px;} + + #healthbar {height:39px;background-position:0 -51px;width:306px;top:9px;background-size:1440px;z-index:20;} + #hitpoints {width:0px;height:33px;top:12px;left:33px;z-index:10;position:absolute;} + + #armor, #weapon {width:48px;height:48px;position:absolute;background-size:288px;background-position:-96px;} + #weapon {left:312px;top:3px;background-size:288px;} + #armor {left:363px;top:3px;} + + #notifications {width:588px;margin-left:-294px;font-size:20px;color:#eee;top:6px;height:45px;} + #notifications div.top {top:-45px;} + #notifications span {line-height:45px;height:45px;} + + #playercount {font-size:20px;left:1076px;top:18px;width:172px;text-align:center;} + + .barbutton {background-size:1440px;height:45px;width:42px;} + #chatbutton {background-position:-306px -51px;top:3px;left:1260px;} + #chatbutton:hover {background-position:-348px -51px;} + #chatbutton.active {background-position:-390px -51px;} + #achievementsbutton {background-position:-432px -51px;top:3px;left:1305px;} + #achievementsbutton:hover, #achievementsbutton.blink:hover {background-position:-474px -51px;} + #achievementsbutton.blink {background-position:-864px -51px;} + #achievementsbutton.active {background-position:-516px -51px;} + #helpbutton {background-position:-558px -51px;top:3px;left:1350px;} + #helpbutton:hover {background-position:-600px -51px;} + #helpbutton.active {background-position:-642px -51px;} + #mutebutton {background-position:-684px -51px;top:3px;left:1395px;} + #mutebutton:hover {background-position:-726px -51px;} + #mutebutton.active {background-position:-768px -51px;} + + #chatbox {height:48px;width:1182px;background-size:1440px;background-position:0 -96px;margin-left:-591px;bottom:18px;} + #chatbox.active {bottom:66px;} + #chatbox input {font-size:20px;color:#eee;background:none;width:90%;border:0;margin-left:2%;padding:16px 0;} + + /*Credits*/ + #credits, #death {width:1266px;height:546px;margin-left:-633px;margin-top:-273px;font-size:30px;} + .parchment-left, .parchment-right, .parchment-middle {background-size:1266px;} + .parchment-left {width:114px;height:546px;background-position:0 -882px;} + .parchment-right {width:114px;height:546px;background-position:-1152px -882px;} + .parchment-middle {height:546px;background-position:-114px -882px;width:1038px;margin-left:-519px;} + + #credits h1 {margin-top:35px;font-weight:normal;} + #credits h1 span.title {max-width:300px;display:inline-block;line-height:39px;margin-top:-90px;position:relative;top:36px;} + #authors {clear:both;margin-top:100px;} + #guillaume, #franck {width:47%;line-height:36px;} + #guillaume {float:left;text-align:right;} + #franck {float:right;text-align:left;} + .avatar {height:75px;width:39px;} + #guillaume .avatar {float:right;background-position:-1062px -303px;margin-left:60px;} + #franck .avatar {float:left;background-position:-1101px -303px;margin-right:60px;} + #seb {margin:270px auto 0 auto;width:38%;color:#373737;} + #seb a {color:#373737;text-decoration:none;} + #seb a:hover {color:#397cd8;} + #note {float:left;background-position:-1203px -336px;height:33px;width:30px;} + #close-credits {margin:45px auto 0 auto;text-align:center;clear:both;font-size:20px;color:#373737;} + #sharing {width:222px;} + + .animate .parchment-middle {-moz-animation:parchmiddle3 1s ease 1;-webkit-animation:parchmiddle3 1s ease 1;-o-animation:parchmiddle3 1s ease 1;-ms-animation:parchmiddle3 1s ease 1;} + + .game .parchment-middle {background-position: -633px -882px;} + .game.credits .parchment-middle, .game.death .parchment-middle {width:1038px;margin-left:-519px;background-position: -114px -882px;} + + footer {font-size:20px;} + } + + @media screen and (max-width: 1500px) { + + .upscaled #logo, .upscaled #logosparks, .upscaled .left-ornament, .upscaled .right-ornament, .upscaled #character, .upscaled #character div, .upscaled .button, .upscaled .button div, .upscaled #respawn, .upscaled #scroll, .upscaled #instructions, .upscaled .icon, .upscaled #tilt, .upscaled .parchment-left, .upscaled .parchment-middle, .upscaled .parchment-right, .upscaled .avatar, .upscaled .facebook, .upscaled .twitter, .upscaled .close {background-image:url('../img/2/spritesheet.png');} + .upscaled #bar-container, .upscaled #healthbar, .upscaled .barbutton, .upscaled #chatbox {background-image:url('../img/2/barsheet.png');} + .upscaled #achievements, .upscaled #achievements li, .upscaled .coin, .upscaled #achievement-notification, .upscaled #coinsparks, .upscaled .achievement-sharing a, .upscaled #previous, .upscaled #next {background:url('../img/2/achievements.png');} + + body {background:-moz-radial-gradient(rgba(0,0,0,0) 40%,rgba(0,0,0,1) 125%), url('../img/1/wood.png') repeat, #000; background-size:auto, 256px;} + body {background:-webkit-gradient(radial, center center, 240, center center, 800, from(rgba(0,0,0,0)), to(rgba(0,0,0,1))), url('../img/2/wood.png') repeat, #000; background-size:auto, 256px;} + #logo, #logosparks, .left-ornament, .right-ornament, #character, #character div, .button, .button div, #respawn, #scroll, #instructions, .icon, .avatar, .close, #note {background-size:844px auto;} + #logo {height:84px;width:458px;position:absolute;top:10%;left:50%;margin-left:-229px;z-index:3;} + #logosparks {width:458px;height:84px;z-index:4;-moz-animation:logo2 .8s steps(6, end) infinite;-webkit-animation:logo2 .8s steps(6, end) infinite;-o-animation:logo2 .8s steps(6, end) infinite;-ms-animation:logo2 .8s steps(6, end) infinite;} + #parchment, #loadcharacter, #confirmation, #error {width:844px;height:364px;position:absolute;top:55%;left:50%;margin-left:-422px;margin-top:-182px;font-size:20px;text-align:center; z-index:2;} + #parchment h1 {margin-top:40px;font-weight:normal;} + .left-ornament, .right-ornament {height:24px;width:62px;display:inline-block;margin:0 15px;position:relative;top:7px;} + .left-ornament {background-position:-708px 0;} + .right-ornament {background-position:-770px 0;} + #character {height:42px;width:24px;margin:0 auto;background-position:-708px -24px;margin-top:30px;position:relative;} + #character div {height:42px;width:24px;position:absolute;top:0;left:0;background-position:-732px -24px;opacity:1;} + #character.disabled div {opacity:0;pointer-events:none;} + #parchment input {margin-top:20px; padding:0 10px; border:2px dashed #b2af9b; font-size:20px;border-radius:6px;height:41px;} + .button {height:102px;width:250px;background-position:-458px -204px;margin:20px auto 0 auto;position:relative;} + .play div {height:102px;width:250px;background-position:-458px 0px;} + .play div:active {background-position:-458px -306px;} + .play.loading div {background-position:-454px -1452px;} + .play.loading img {margin-top:-12px;margin-left:-12px;height:24px;width:24px;} + .stroke, .achievement-name {text-shadow:2px 2px 0 #373737, 2px -2px 0 #373737, 0 2px 0 #373737, 2px 0 0 #373737, -2px 2px 0 #373737, -2px -2px 0 #373737, 0 -2px 0 #373737, 0 2px 0 #373737, -2px 0 0 #373737;} + + #loadcharacter h1, #confirmation h1, #error h1 {margin-top:20px;} + #playername {margin-top:10px;} + .loadcharacter .play, .confirmation .delete {margin:10px auto 10px auto;} + #confirmation p, #error p {font-size:20px;margin-top:40px;line-height:30px;} + #error p {width:70%;margin:40px auto 0;} + .button.delete {background-position:-458px -102px;} + .button.delete:active {background-position:0 -1452px;} + + #container {width:980px;margin:0 auto;position:absolute;top:50%;margin-top:-252px;left:50%;margin-left:-490px;} + #canvasborder {padding:10px;background:url('../img/2/border.png') no-repeat;} + #canvas {width:100%;height:448px;} + #fade {width:960px;height:448px;top:10px;left:10px;} + + #instructions {height:344px;width:834px;background-position:0 -1054px;margin-left:-416px;margin-top:-186px;color:#373737;} + #instructions h1 {font-size:30px;text-align:center;margin:40px 0;} + #instructions ul {font-size:20px;margin-top:40px;} + #instructions ul li {margin:20px 0; clear:left;} + #instructions li:nth-child(1) span {height:58px;width:30px;background-position:-756px -24px; display:block;float:left;margin: 0 20px 6px 40px;position: relative;top: -26px;} + #instructions li:nth-child(2) span {height:32px;width:26px;background-position:-786px -24px; display:block;float:left;margin: 0 24px 28px 40px;position: relative;top: -6px;} + #instructions li:nth-child(3) span {height:42px;width:32px;background-position:-812px -24px; display:block;float:left;margin: 0 18px 0 40px;position: relative;top: -12px;} + #instructions p {text-align:center;font-family:'GraphicPixel';font-size:20px;clear:left;margin-top:20px;} + + #playerimage {height: 64px; width: 64px;} + + .close {height:32px;width:32px;top:-8px;right:-10px;background-position:-708px -252px;} + .close:hover {background-position:-740px -252px;} + .close:active {background-position:-772px -252px;} + + /*Death & Respawn*/ + #death p {font-size:20px;margin-top:90px;} + #respawn {width:250px;height:102px;margin:40px auto 0 auto;background-position: 0 -952px;} + #respawn:active {background-position:-250px -952px;} + + /*Bubbles*/ + #bubbles {width:960px;height:448px;margin-bottom:-448px;position:relative;top:-448px;pointer-events:none;} + p {font-family:arial, sans-serif;font-size:12px;margin:0;padding:0;line-height:35px;} + .bubble p {font-family:"GraphicPixel"; font-size:14px;} + + /*GUI Bar*/ + #bar-container {height:34px;top:-2px;background-size:960px;} + + #healthbar {height:26px;background-position:0 -34px;width:204px;top:6px;background-size:960px;z-index:20;} + #hitpoints {width:0px;height:22px;top:8px;left:22px;z-index:10;position:absolute;} + + #armor, #weapon {width:32px;height:32px;position:absolute;background-size:192px;background-position:-64px;} + #weapon {left:208px;top:2px;} + #armor {left:242px;top:2px;} + + #notifications {width:392px;margin-left:-196px;font-size:16px;color:#eee;top:2px;height:30px;} + #notifications div.top {top:-30px;} + #notifications span {line-height:30px;height:30px;} + + #playercount {font-size:16px;left:717px;top:10px;width:114px;text-align:center;} + + .barbutton {background-size:960px;height:30px;width:28px;} + #chatbutton {background-position:-204px -34px;top:2px;left:840px;} + #chatbutton:hover {background-position:-232px -34px;} + #chatbutton.active {background-position:-260px -34px;} + #achievementsbutton {background-position:-288px -34px;top:2px;left:870px;} + #achievementsbutton:hover, #achievementsbutton.blink:hover {background-position:-316px -34px;} + #achievementsbutton.blink {background-position:-576px -34px;} + #achievementsbutton.active {background-position:-344px -34px;} + #helpbutton {background-position:-372px -34px;top:2px;left:900px;} + #helpbutton:hover {background-position:-400px -34px;} + #helpbutton.active {background-position:-428px -34px;} + #mutebutton {background-position:-456px -34px;top:2px;left:930px;} + #mutebutton:hover {background-position:-484px -34px;} + #mutebutton.active {background-position:-512px -34px;} + + #chatbox {height:32px;width:788px;background-size:960px;background-position:0 -64px;margin-left:-394px;bottom:12px;} + #chatbox.active {bottom:44px;} + #chatbox input {font-size:20px;color:#eee;background:none;width:90%;border:0;margin-left:2%;padding:7px 0;} + + /*Credits*/ + #credits, #death {width:844px;height:364px;margin-left:-422px;margin-top:-182px;font-size:20px;} + .parchment-left, .parchment-right, .parchment-middle {background-size:844px;} + .parchment-left {width:76px;height:364px;background-position:0 -588px;} + .parchment-right {width:76px;height:364px;background-position:-768px -588px;} + .parchment-middle {height:364px;background-position:-76px -588px;width:692px;margin-left:-346px;} + + #credits h1 {margin-top:25px;font-weight:normal;} + #credits h1 span.title {max-width:200px;display:inline-block;line-height:26px;margin-top:-60px;position:relative;top:24px;} + #authors {clear:both;margin-top:70px;} + #guillaume, #franck {width:47%;line-height:26px;} + #guillaume {float:left;text-align:right;} + #franck {float:right;text-align:left;} + .avatar {height:50px;width:26px;} + #guillaume .avatar {float:right;background-position:-708px -202px;margin-left:40px;} + #franck .avatar {float:left;background-position:-734px -202px;margin-right:40px;} + #seb {margin:180px auto 0 auto;width:38%;color:#373737;font-size:20px;} + #seb a {color:#373737;text-decoration:none;} + #seb a:hover {color:#397cd8;} + #note {float:left;background-position:-802px -224px;height:22px;width:20px;} + #close-credits {margin:20px auto 0 auto;text-align:center;clear:both;font-size:14px;} + #sharing {width:194px;} + + .animate .parchment-middle {-moz-animation:parchmiddle2 1s ease 1;-webkit-animation:parchmiddle2 1s ease 1;-o-animation:parchmiddle2 1s ease 1;-ms-animation:parchmiddle2 1s ease 1;} + + .game .parchment-middle {background-position: -422px -588px;} + .game.credits .parchment-middle, .game.death .parchment-middle {width:692px;margin-left:-346px;background-position: -76px -588px;} + + footer {font-size:16px;} + } + + @media screen and (max-height: 850px) { + + .upscaled #logo, .upscaled #logosparks, .upscaled .left-ornament, .upscaled .right-ornament, .upscaled #character, .upscaled #character div, .upscaled .button, .upscaled .button div, .upscaled #respawn, .upscaled #scroll, .upscaled #instructions, .upscaled .icon, .upscaled #tilt, .upscaled .parchment-left, .upscaled .parchment-middle, .upscaled .parchment-right, .upscaled .avatar, .upscaled .facebook, .upscaled .twitter, .upscaled .close {background-image:url('../img/2/spritesheet.png');} + .upscaled #bar-container, .upscaled #healthbar, .upscaled .barbutton, .upscaled #chatbox {background-image:url('../img/2/barsheet.png');} + .upscaled #achievements, .upscaled #achievements li, .upscaled .coin, .upscaled #achievement-notification, .upscaled #coinsparks, .upscaled .achievement-sharing a, .upscaled #previous, .upscaled #next {background:url('../img/2/achievements.png');} + + body {background:-moz-radial-gradient(rgba(0,0,0,0) 40%,rgba(0,0,0,1) 125%), url('../img/1/wood.png') repeat, #000; background-size:auto, 256px;} + body {background:-webkit-gradient(radial, center center, 240, center center, 800, from(rgba(0,0,0,0)), to(rgba(0,0,0,1))), url('../img/2/wood.png') repeat, #000; background-size:auto, 256px;} + #logo, #logosparks, .left-ornament, .right-ornament, #character, #character div, .button, .button div, #respawn, #scroll, #instructions, .icon, .avatar, .close, #note {background-size:844px auto;} + #logo {height:84px;width:458px;position:absolute;top:10%;left:50%;margin-left:-229px;z-index:3;} + #logosparks {width:458px;height:84px;z-index:4;-moz-animation:logo2 .8s steps(6, end) infinite;-webkit-animation:logo2 .8s steps(6, end) infinite;-o-animation:logo2 .8s steps(6, end) infinite;-ms-animation:logo2 .8s steps(6, end) infinite;} + #parchment, #loadcharacter, #confirmation, #error {width:844px;height:364px;position:absolute;top:55%;left:50%;margin-left:-422px;margin-top:-182px;font-size:20px;text-align:center; z-index:2;} + #parchment h1 {margin-top:40px;font-weight:normal;} + .left-ornament, .right-ornament {height:24px;width:62px;display:inline-block;margin:0 15px;position:relative;top:7px;} + .left-ornament {background-position:-708px 0;} + .right-ornament {background-position:-770px 0;} + #character {height:42px;width:24px;margin:0 auto;background-position:-708px -24px;margin-top:30px;position:relative;} + #character div {height:42px;width:24px;position:absolute;top:0;left:0;background-position:-732px -24px;opacity:1;} + #character.disabled div {opacity:0;pointer-events:none;} + #parchment input {margin-top:20px; padding:0 10px; border:2px dashed #b2af9b; font-size:20px;border-radius:6px;height:41px;} + .button {height:102px;width:250px;background-position:-458px -204px;margin:20px auto 0 auto;position:relative;} + .play div {height:102px;width:250px;background-position:-458px 0px;} + .play div:active {background-position:-458px -306px;} + .play.loading div {background-position:-454px -1452px;} + .play.loading img {margin-top:-12px;margin-left:-12px;height:24px;width:24px;} + .stroke, .achievement-name {text-shadow:2px 2px 0 #373737, 2px -2px 0 #373737, 0 2px 0 #373737, 2px 0 0 #373737, -2px 2px 0 #373737, -2px -2px 0 #373737, 0 -2px 0 #373737, 0 2px 0 #373737, -2px 0 0 #373737;} + + #loadcharacter h1, #confirmation h1, #error h1 {margin-top:20px;} + #playername {margin-top:10px;} + .loadcharacter .play, .confirmation .delete {margin:10px auto 10px auto;} + #confirmation p, #error p {font-size:20px;margin-top:40px;line-height:30px;} + #error p {width:70%;margin:40px auto 0;} + .button.delete {background-position:-458px -102px;} + .button.delete:active {background-position:0 -1452px;} + + #container {width:980px;margin:0 auto;position:absolute;top:50%;margin-top:-252px;left:50%;margin-left:-490px;} + #canvasborder {padding:10px;background:url('../img/2/border.png') no-repeat;} + #canvas {width:100%;height:448px;} + #fade {width:960px;height:448px;top:10px;left:10px;} + + #instructions {height:344px;width:834px;background-position:0 -1054px;margin-left:-416px;margin-top:-186px;color:#373737;} + #instructions h1 {font-size:30px;text-align:center;margin:40px 0;} + #instructions ul {font-size:20px;margin-top:40px;} + #instructions ul li {margin:20px 0; clear:left;} + #instructions li:nth-child(1) span {height:58px;width:30px;background-position:-756px -24px; display:block;float:left;margin: 0 20px 6px 40px;position: relative;top: -26px;} + #instructions li:nth-child(2) span {height:32px;width:26px;background-position:-786px -24px; display:block;float:left;margin: 0 24px 28px 40px;position: relative;top: -6px;} + #instructions li:nth-child(3) span {height:42px;width:32px;background-position:-812px -24px; display:block;float:left;margin: 0 18px 0 40px;position: relative;top: -12px;} + #instructions p {text-align:center;font-family:'GraphicPixel';font-size:20px;clear:left;margin-top:20px;} + + #playerimage {height: 64px; width: 64px;} + + .close {height:32px;width:32px;top:-8px;right:-10px;background-position:-708px -252px;} + .close:hover {background-position:-740px -252px;} + .close:active {background-position:-772px -252px;} + + /*Death & Respawn*/ + #death p {font-size:20px;margin-top:90px;} + #respawn {width:250px;height:102px;margin:40px auto 0 auto;background-position: 0 -952px;} + #respawn:active {background-position:-250px -952px;} + + /*Bubbles*/ + #bubbles {width:960px;height:448px;margin-bottom:-448px;position:relative;top:-448px;pointer-events:none;} + p {font-family:arial, sans-serif;font-size:12px;margin:0;padding:0;} + .bubble p {font-family:"GraphicPixel"; font-size:14px;line-height:35px;} + + /*GUI Bar*/ + #bar-container {height:34px;top:-2px;background-size:960px;} + + #healthbar {height:26px;background-position:0 -34px;width:204px;top:6px;background-size:960px;z-index:20;} + #hitpoints {width:0px;height:22px;top:8px;left:22px;z-index:10;position:absolute;} + + #armor, #weapon {width:32px;height:32px;position:absolute;background-size:192px;background-position:-64px;} + #weapon {left:208px;top:2px;} + #armor {left:242px;top:2px;} + + #notifications {width:392px;margin-left:-196px;font-size:16px;color:#eee;top:2px;height:30px;} + #notifications div.top {top:-30px;} + #notifications span {line-height:30px;height:30px;} + + #playercount {font-size:16px;left:717px;top:10px;width:114px;text-align:center;} + + .barbutton {background-size:960px;height:30px;width:28px;} + #chatbutton {background-position:-204px -34px;top:2px;left:840px;} + #chatbutton:hover {background-position:-232px -34px;} + #chatbutton.active {background-position:-260px -34px;} + #achievementsbutton {background-position:-288px -34px;top:2px;left:870px;} + #achievementsbutton:hover, #achievementsbutton.blink:hover {background-position:-316px -34px;} + #achievementsbutton.blink {background-position:-576px -34px;} + #achievementsbutton.active {background-position:-344px -34px;} + #helpbutton {background-position:-372px -34px;top:2px;left:900px;} + #helpbutton:hover {background-position:-400px -34px;} + #helpbutton.active {background-position:-428px -34px;} + #mutebutton {background-position:-456px -34px;top:2px;left:930px;} + #mutebutton:hover {background-position:-484px -34px;} + #mutebutton.active {background-position:-512px -34px;} + + #chatbox {height:32px;width:788px;background-size:960px;background-position:0 -64px;margin-left:-394px;bottom:12px;} + #chatbox.active {bottom:44px;} + #chatbox input {font-size:20px;color:#eee;background:none;width:90%;border:0;margin-left:2%;padding:7px 0;} + + /*Credits*/ + #credits, #death {width:844px;height:364px;margin-left:-422px;margin-top:-182px;font-size:20px;} + .parchment-left, .parchment-right, .parchment-middle {background-size:844px;} + .parchment-left {width:76px;height:364px;background-position:0 -588px;} + .parchment-right {width:76px;height:364px;background-position:-768px -588px;} + .parchment-middle {height:364px;background-position:-76px -588px;width:692px;margin-left:-346px;} + + #credits h1 {margin-top:25px;font-weight:normal;} + #credits h1 span.title {max-width:200px;display:inline-block;line-height:26px;margin-top:-60px;position:relative;top:24px;} + #authors {clear:both;margin-top:70px;} + #guillaume, #franck {width:47%;line-height:26px;} + #guillaume {float:left;text-align:right;} + #franck {float:right;text-align:left;} + .avatar {height:50px;width:26px;} + #guillaume .avatar {float:right;background-position:-708px -202px;margin-left:40px;} + #franck .avatar {float:left;background-position:-734px -202px;margin-right:40px;} + #seb {margin:180px auto 0 auto;width:38%;color:#373737;font-size:20px;} + #seb a {color:#373737;text-decoration:none;} + #seb a:hover {color:#397cd8;} + #note {float:left;background-position:-802px -224px;height:22px;width:20px;} + #close-credits {margin:20px auto 0 auto;text-align:center;clear:both;font-size:14px;} + #sharing {width:194px;} + + .animate .parchment-middle {-moz-animation:parchmiddle2 1s ease 1;-webkit-animation:parchmiddle2 1s ease 1;-o-animation:parchmiddle2 1s ease 1;-ms-animation:parchmiddle2 1s ease 1;} + + .game .parchment-middle {background-position: -422px -588px;} + .game.credits .parchment-middle, .game.death .parchment-middle {width:692px;margin-left:-346px;background-position: -76px -588px;} + + footer {font-size:16px;} + } + + @media screen and (max-width: 1000px) { + + canvas {image-rendering:optimizeSpeed;} + body {background:-moz-radial-gradient(rgba(0,0,0,0) 40%,rgba(0,0,0,1) 125%), url('../img/1/wood.png') repeat, #000; background-size:auto, 128px;} + body {background:-webkit-gradient(radial, center center, 200, center center, 600, from(rgba(0,0,0,0)), to(rgba(0,0,0,1))), url('../img/1/wood.png') repeat, #000; background-size:auto, 128px;} + #logo, #logosparks, .left-ornament, .right-ornament, #character, #character div, .button, .button div, #respawn, #scroll, #instructions, .icon, .avatar, .close, #note {background-size:422px auto;} + #logo {height:42px;width:229px;position:absolute;top:10%;left:50%;margin-left:-114px;z-index:3;} + #logosparks {width:229px;height:42px;z-index:4;-moz-animation:logo1 .8s steps(6, end) infinite;-webkit-animation:logo1 .8s steps(6, end) infinite;-o-animation:logo1 .8s steps(6, end) infinite;-ms-animation:logo1 .8s steps(6, end) infinite;} + #parchment, #loadcharacter, #confirmation, #error {width:422px;height:182px;position:absolute;top:50%;left:50%;margin-left:-211px;margin-top:-91px;font-size:10px;text-align:center;z-index:2;} + #parchment h1, #instructions h1 {margin-top:20px;font-weight:normal;} + .left-ornament, .right-ornament {height:12px;width:31px;display:inline-block;margin:0 10px;position:relative;top:3px;} + .left-ornament {background-position:-354px 0;} + .right-ornament {background-position:-385px 0;} + #character {height:21px;width:12px;margin:0 auto;background-position:-354px -12px;margin-top:15px;position:relative;} + #character div {height:21px;width:12px;position:absolute;top:0;left:0;background-position:-366px -12px;opacity:1;} + #character.disabled div {opacity:0;pointer-events:none;} + #parchment input {margin-top:10px; padding:0 5px; border:1px dashed #b2af9b; font-size:10px;border-radius:3px;height:21px;} + .button {height:51px;width:125px;background-position:-229px -102px;margin:10px auto 0 auto;position:relative;} + .play div {height:51px;width:125px;background-position:-229px 0px;} + .play div:active {background-position:-229px -153px;} + .play.loading div {background-position:-227px -726px;} + .play.loading img {margin-top:-8px;margin-left:-8px;height:16px;width:16px;} + .stroke, .achievement-name {text-shadow:1px 1px 0 #373737, 1px -1px 0 #373737, 0 1px 0 #373737, 1px 0 0 #373737, -1px 1px 0 #373737, -1px -1px 0 #373737, 0 -1px 0 #373737, 0 1px 0 #373737, -1px 0 0 #373737;} + + #loadcharacter h1, #confirmation h1, #error h1 {margin-top:20px;} + #playername {margin-top:5px;} + .loadcharacter .play, .confirmation .delete {margin:5px auto 5px auto;} + #confirmation p, #error p {font-size:10px;margin-top:20px;line-height:20px;} + #error p {width:70%;margin:40px auto 0;} + .button.delete {background-position:-229px -51px;} + .button.delete:active {background-position:0 -726px;} + + #container {width:490px;margin:0 auto;position:absolute;top:50%;margin-top:-126px;left:50%;margin-left:-245px;} + #canvasborder {padding:5px;background:url('../img/1/border.png') no-repeat;} + #canvas {width:100%;height:224px;} + #fade {width:480px;height:224px;top:5px;left:5px;} + + #instructions {height:172px;width:417px;background-position:0 -527px;margin-left:-208px;margin-top:-93px;color:#373737;} + #instructions h1 {font-size:20px;text-align:center;margin-bottom:0;} + #instructions ul {font-size:10px;margin-top:10px;} + #instructions ul li {margin:10px 0; clear:left;} + #instructions li:nth-child(1) span {height:29px;width:15px;background-position:-378px -12px; display:block;float:left;margin: 0 10px 3px 20px;position: relative;top: -13px;} + #instructions li:nth-child(2) span {height:16px;width:13px;background-position:-393px -12px; display:block;float:left;margin: 0 12px 14px 20px;position: relative;top: -3px;} + #instructions li:nth-child(3) span {height:21px;width:16px;background-position:-406px -12px; display:block;float:left;margin: 0 9px 0 20px;position: relative;top: -6px;} + #instructions p {text-align:center;font-family:'GraphicPixel';font-size:10px;clear:left;margin:0;} + + #foreground { cursor: default; } + + #playerimage {height: 32px; width: 32px;} + + .close {height:16px;width:16px;top:-4px;right:-5px;background-position:-354px -126px;} + .close:hover {background-position:-370px -126px;} + .close:active {background-position:-386px -126px;} + + /*Death & Respawn*/ + #death p {font-size:10px;margin-top:45px;} + #respawn {width:125px;height:51px;margin:21px auto 0 auto;background-position: 0 -476px;} + #respawn:active {background-position:-125px -476px;} + + /*Bubbles*/ + #bubbles {width:480px;height:224px;margin-bottom:-224px;position:relative;top:-224px;pointer-events:none;} + p {font-family:arial, sans-serif;font-size:12px;margin:0;padding:0;line-height:35px;} + .bubble p {font-family:"GraphicPixel"; font-size:10px;} + + /*GUI Bar*/ + #bar-container {height:17px;top:-1px;background-size:480px;} + + #healthbar {height:13px;background-position:0 -17px;width:102px;top:3px;background-size:480px;z-index:20;} + #hitpoints {width:0px;height:11px;top:4px;left:11px;z-index:10;position:absolute;} + + #armor, #weapon {width:16px;height:16px;position:absolute;background-size:96px;background-position:-32px;} + #weapon {left:104px;top:1px;} + #armor {left:121px;top:1px;} + + #notifications {width:196px;margin-left:-98px;font-size:10px;color:#eee;top:2px;height:15px;} + #notifications div.top {top:-15px;} + #notifications span {line-height:15px;height:15px;} + + #playercount {font-size:10px;left:358px;top:4px;width:57px;text-align:center;} + + .barbutton {background-size:480px;height:15px;width:14px;} + #chatbutton {background-position:-102px -17px;top:1px;left:420px;} + #chatbutton:hover {background-position:-116px -17px;} + #chatbutton.active {background-position:-130px -17px;} + #achievementsbutton {background-position:-144px -17px;top:1px;left:435px;} + #achievementsbutton:hover, #achievementsbutton.blink:hover {background-position:-158px -17px;} + #achievementsbutton.blink {background-position:-288px -17px;} + #achievementsbutton.active {background-position:-172px -17px;} + #helpbutton {background-position:-186px -17px;top:1px;left:450px;} + #helpbutton:hover {background-position:-200px -17px;} + #helpbutton.active {background-position:-214px -17px;} + #mutebutton {background-position:-228px -17px;top:1px;left:465px;} + #mutebutton:hover {background-position:-242px -17px;} + #mutebutton.active {background-position:-256px -17px;} + + #chatbox {height:16px;width:394px;background-size:480px;background-position:0 -32px;margin-left:-197px;bottom:6px;} + #chatbox.active {bottom:22px;} + #chatbox input {font-size:10px;color:#eee;background:none;width:90%;border:0;margin-left:2%;padding:0;} + + /*Credits*/ + #credits, #death {width:422px;height:182px;top:50%;margin-left:-211px;margin-top:-91px;font-size:10px;} + .parchment-left, .parchment-right, .parchment-middle {background-size:422px;} + .parchment-left {width:38px;height:182px;background-position:0 -294px;} + .parchment-right {width:38px;height:182px;background-position:-384px -294px;} + .parchment-middle {height:182px;background-position:-38px -294px;width:346px;margin-left:-173px;} + + #credits h1 {margin-top:12px;font-weight:normal;} + #credits h1 span.title {max-width:100px;display:inline-block;line-height:13px;margin-top:-30px;position:relative;top:12px;} + #authors {clear:both;margin-top:36px;} + #guillaume, #franck {width:47%;line-height:13px;} + #guillaume {float:left;text-align:right;} + #franck {float:right;text-align:left;} + .avatar {height:25px;width:13px;} + #guillaume .avatar {float:right;background-position:-354px -101px;margin-left:20px;} + #franck .avatar {float:left;background-position:-367px -101px;margin-right:20px;} + #seb {margin:90px auto 0 auto;width:38%;color:#373737;font-size:10px;} + #seb a {color:#373737;text-decoration:none;} + #seb a:hover {color:#397cd8;} + #note {float:left;background-position:-401px -112px;height:11px;width:10px;} + #close-credits {margin:12px auto 0 auto;text-align:center;clear:both;font-size:10px;} + #sharing {width:194px;} + + .animate .parchment-middle {-moz-animation:parchmiddle1 1s ease 1;-webkit-animation:parchmiddle1 1s ease 1;-o-animation:parchmiddle1 1s ease 1;-ms-animation:parchmiddle1 1s ease 1;} + + .game .parchment-middle {background-position: -211px -294px;} + .game.credits .parchment-middle, .game.death .parchment-middle {width:346px;margin-left:-173px;background-position: -38px -294px;} + + } + + @media screen and (max-width: 800px) { + #canvasborder {padding:5px;background:none;} + #oarchment {position:relative;} + #parchment input {-moz-animation:none;-webkit-animation:none;-o-animation:none;-ms-animation:none;#eee} + #logosparks {display:none;} + + #foreground { cursor: default; } + + /*Death & Respawn*/ + + #respawn {width:204px;height:54px;margin:30px auto 0 auto;background-position: -204px -1398px;background-size:844px;} + #respawn:active {background-position:-408px -1398px;} + + /*GUI Bar*/ + #healthbar {height:26px;background-position:0 -34px;width:204px;top:6px;background-size:960px;z-index:20;} + #hitpoints {width:0px;height:22px;top:8px;left:22px;z-index:10;position:absolute;} + + #armor, #weapon {width:32px;height:32px;position:absolute;background-size:192px;background-position:-64px;} + #weapon {left:208px;top:2px;} + #armor {left:242px;top:2px;} + + #notifications {display:none;} + + #playercount {font-size:20px;left:270px;top:8px;width:114px;text-align:center;} + #playercount span {display:none;} + #playercount span.count {display:inline;} + + .barbutton {background-size:960px;height:30px;width:28px;} + #chatbutton {background-position:-204px -34px;top:2px;left:360px;} + #chatbutton:hover {background-position:-232px -34px;} + #chatbutton.active {background-position:-260px -34px;} + #achievementsbutton {background-position:-288px -34px;top:2px;left:390px;} + #achievementsbutton:hover, #achievementsbutton.blink {background-position:-316px -34px;} + #achievementsbutton.active {background-position:-344px -34px;} + #helpbutton {background-position:-372px -34px;top:2px;left:420px;} + #helpbutton:hover {background-position:-400px -34px;} + #helpbutton.active {background-position:-428px -34px;} + #mutebutton {background-position:-456px -34px;top:2px;left:450px;} + #mutebutton:hover {background-position:-484px -34px;} + #mutebutton.active {background-position:-512px -34px;} + + #chatbox {height:32px;width:480px;background-size:960px;background-position:0 -64px;margin-left:-240px;bottom:2px;} + #chatbox.active {bottom:34px;} + #chatbox input {font-size:20px;color:#eee;background:none;width:90%;border:0;margin-left:2%;padding:7px 0;} + } + + @media screen and (max-width: 600px) { + + body {border-top:0px;} + .intro #container, .game #logo, .game #parchment {display:none;} + .game #container {display:block;padding:0;} + #mask, #fade {display:none;} + .game.death #parchment {display:block;} + .game .createcharacter #createcharacter, .game .loadcharacter #loadcharacter, .game .confirmation #confirmation, .game .error #error {display:none;} + + canvas {image-rendering:optimizeSpeed;} + #moztab {display:none;} + body.intro {background:-moz-radial-gradient(rgba(0,0,0,0) 40%,rgba(0,0,0,1) 125%), url('../img/1/wood.png') repeat, #000; background-size:auto, 128px;} + body.intro {background:-webkit-gradient(radial, center center, 120, center center, 400, from(rgba(0,0,0,0)), to(rgba(0,0,0,1))), url('../img/1/wood.png') repeat, #000; background-size:auto, 128px;} + body {background:#000;} + #logosparks {-moz-animation:none;-webkit-animation:none;-o-animation:none;-ms-animation:none;display:none;} + #container {height:258px;width:480px;position:relative;left:50%;top:50%;margin:-128px auto 0 -240px;} + #canvasborder {background:none;padding:0;} + + #parchment, #logosparks, .left-ornament, .right-ornament, #character, #character div, .button, .button div, #respawn, #scroll, #instructions, .icon {background-size:422px auto;} + #parchment {background:none;} + #logo {height:84px;width:458px;position:absolute;top:10%;left:50%;margin-left:-229px;z-index:3;background-size:844px;} + #parchment {width:100%;height:auto;position:absolute;left:0;top:125px;margin-left:0;margin-top:0;font-size:10px;text-align:center;z-index:2;color:#eee;} + #parchment h1, #instructions h1 {margin-top:0px;font-weight:normal;} + .left-ornament, .right-ornament {height:12px;width:31px;display:inline-block;margin:0 10px;position:relative;top:3px;} + .left-ornament {background-position:-354px 0;} + .right-ornament {background-position:-385px 0;} + #character {height:21px;width:12px;margin:0 auto;background-position:-354px -12px;margin-top:15px;position:relative;display:none;} + #character div {height:21px;width:12px;position:absolute;top:0;left:0;background-position:-366px -12px;opacity:1;} + #character.disabled div {opacity:0;pointer-events:none;} + #parchment input {margin-top:10px; padding-bottom:5px; border-bottom:1px dashed #b2af9b; font-size:20px;-moz-animation:none;-webkit-animation:none;-o-animation:none;-ms-animation:none;color:#eee;} + .button {height:54px;width:204px;background-position:-500px -952px;margin:20px auto 0 auto;position:relative;background-size:844px;} + .play div {height:54px;width:204px;background-position:-458px -512px; background-size:844px;} + .play div:active {background-position:0px -1398px;} + .stroke {text-shadow:2px 2px 0 #373737, 2px -2px 0 #373737, 0 2px 0 #373737, 2px 0 0 #373737, -2px 2px 0 #373737, -2px -2px 0 #373737, 0 -2px 0 #373737, 0 2px 0 #373737, -2px 0 0 #373737;} + + #instructions {height:172px;width:417px;background-position:0 -527px;margin-left:-208px;margin-top:-93px;color:#373737;} + #instructions h1 {font-size:20px;text-align:center;margin-bottom:0;} + #instructions ul {font-size:10px;margin-top:10px;} + #instructions ul li {margin:10px 0; clear:left;} + #instructions li:nth-child(1) span {height:29px;width:15px;background-position:-378px -12px; display:block;float:left;margin: 0 10px 3px 20px;position: relative;top: -13px;} + #instructions li:nth-child(2) span {height:16px;width:13px;background-position:-393px -12px; display:block;float:left;margin: 0 12px 14px 20px;position: relative;top: -3px;} + #instructions li:nth-child(3) span {height:21px;width:16px;background-position:-406px -12px; display:block;float:left;margin: 0 9px 0 20px;position: relative;top: -6px;} + #instructions p {text-align:center;font-family:'GraphicPixel';font-size:10px;clear:left;margin:0;} + + #foreground { cursor: default; } + + #parchment.animate {-moz-animation:none;-webkit-animation:none;-o-animation:none;-webkit-animation:none;} + + #loadcharacter, #confirmation, #createcharacter, #error {display:none;margin-top:0;margin-left:0;left:0;width:auto;} + .loadcharacter #loadcharacter, .confirmation #confirmation, .createcharacter #createcharacter, .error #error {display:block;width:100%;} + + #loadcharacter h1, #confirmation h1, #error h1 {font-size:12px;font-weight:normal;} + + #loadcharacter, #confirmation, #error {height:auto;} + + #loadcharacter h1, #confirmation h1, #createcharacter h1, #error h1 {font-size:12px;} + #createcharacter{padding-bottom:20px;} + #playername {font-size:20px;margin:10px 0px;} + #create-new {margin:20px 0px;font-size:16px;} + .button.delete {background-position:-612px -1398px;} + .button.delete:active {background-position:-250px -1452px;} + #confirmation, #error {top:70%;} + #confirmation p, #error p {margin:10px 0;line-height:12px;font-size:12px;} + #cancel {font-size:20px;margin:20px 0;} + + #playerimage {display:none;} + + /*GUI Bar*/ + #bar-container {height:34px;top:-2px;background-size:960px;background-position:0 -96px;} + + #healthbar {height:26px;background-position:0 -34px;width:204px;top:6px;background-size:960px;z-index:20;} + #hitpoints {width:0px;height:22px;top:8px;left:22px;z-index:10;position:absolute;} + + #armor, #weapon {width:32px;height:32px;position:absolute;background-size:192px;background-position:-64px;} + #weapon {left:208px;top:2px;} + #armor {left:242px;top:2px;} + + #notifications {display:none;} + + #playercount {font-size:20px;left:270px;top:10px;width:114px;text-align:center;} + #playercount span {display:none;} + #playercount span.count {display:inline;} + + .barbutton {background-size:960px;height:30px;width:28px;} + #chatbutton {background-position:-204px -34px;top:2px;left:360px;} + #chatbutton:hover {background-position:-232px -34px;} + #chatbutton.active {background-position:-260px -34px;} + #achievementsbutton {background-position:-288px -34px;top:2px;left:390px;} + #achievementsbutton:hover, #achievementsbutton.blink {background-position:-316px -34px;} + #achievementsbutton.active {background-position:-344px -34px;} + #helpbutton {background-position:-372px -34px;top:2px;left:420px;} + #helpbutton:hover {background-position:-400px -34px;} + #helpbutton.active {background-position:-428px -34px;} + #mutebutton {background-position:-456px -34px;top:2px;left:450px;} + #mutebutton:hover {background-position:-484px -34px;} + #mutebutton.active {background-position:-512px -34px;} + + #chatbox {height:32px;width:480px;background-size:960px;background-position:0 -64px;margin-left:-240px;bottom:2px;} + #chatbox.active {bottom:34px;} + #chatbox input {font-size:20px;color:#eee;background:none;width:90%;border:0;margin-left:2%;padding:0px 0;} + + /*Credits*/ + .parchment-left, .upscaled .parchment-left, .parchment-middle, .upscaled .parchment-middle, .parchment-right, .upscaled .parchment-right {background:none;} + .parchment-left, .parchment-right {display:none;} + .parchment-middle {width:100%;left:0px;margin-left:0px;height:auto;position:relative;} + #toggle-credits, #credits {display:none;} + + .game.death #parchment {background:url('../img/spritesheet.png') 0 -294px;height:182px;width:422px;position:absolute;top:50%;left:50%;margin-top:-91px;margin-left:-211px;} + .game.death .parchment-middle {width:100%;position:relative;top:0;left:0;margin-left:0;margin-top:0;} + .game.death #death {position:relative;top:0;left:0;margin-top:0;margin-left:0;width:100%;} + .game.death #death p {margin-top:20px;color:#373737;font-size:20px;} + + footer {display:none;} + } + + @media screen and (max-width: 800px) and (orientation: portrait) { + #portrait {display:block;height:300px;width:300px;position:absolute;top:55%; left:50%; margin:-150px 0 0 -150px;} + #parchment {display:none;} + #container, .game #container {display:none;} + + #logo {height:84px;width:458px;position:absolute;top:10%;left:50%;margin-left:-229px;z-index:3;background-size:844px;} + #portrait p {color:#eee;font-family:'GraphicPixel', sans-serif;font-size:20px;text-align:center;} + + #tilt {height:120px;width:132px;background-position:-710px -82px;background-size:844px;margin:25px auto 0 auto;} + } + + @media screen and (max-width: 640px) and (orientation: portrait) { + #portrait {display:block;height:300px;width:300px;position:absolute;top:70%; left:50%; margin:-150px 0 0 -150px;} + + #logo {height:42px;width:229px;position:absolute;top:10%;left:50%;margin-left:-114px;z-index:3;background-size:422px;} + } + +/* Tablet mode */ + + .tablet .animate .parchment-left, .tablet .animate .parchment-right, .tablet .animate .parchment-middle {-webkit-animation:none;-moz-animation:none;-o-animation:none;-ms-animation:none;} + .tablet #instructions, .tablet #achievements, .tablet #lists {-webkit-transition:none;-moz-transition:none;-o-transition:none;-ms-transition:none;transition:none;} + .tablet #achievements li.unlocked .achievement-sharing {display:block;} + .tablet #coinsparks {display:none;} \ No newline at end of file diff --git a/client/fonts/graphicpixel-webfont.eot b/client/fonts/graphicpixel-webfont.eot new file mode 100644 index 0000000000000000000000000000000000000000..a8ebc2b91e96d3152771e50dcb7d4c0f77ac9c8e GIT binary patch literal 11434 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 Mb5YUEJ6I3+KNkacbpQYW literal 0 HcmV?d00001 diff --git a/client/fonts/graphicpixel-webfont.svg b/client/fonts/graphicpixel-webfont.svg new file mode 100644 index 000000000..e8ec459f8 --- /dev/null +++ b/client/fonts/graphicpixel-webfont.svg @@ -0,0 +1,161 @@ + + + + +This is a custom SVG webfont generated by Font Squirrel. +Copyright : C GiorgioCat + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/client/fonts/graphicpixel-webfont.ttf b/client/fonts/graphicpixel-webfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..331d0a518d57ad36fb295b79a5f1ce7ff00636b3 GIT binary patch literal 52060 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 XE;T0&IH_;cCn>*Ce}2|)>sS95wq=ng literal 0 HcmV?d00001 diff --git a/client/fonts/graphicpixel-webfont.woff b/client/fonts/graphicpixel-webfont.woff new file mode 100644 index 0000000000000000000000000000000000000000..9823073e1c8240287030853800a17692c8858b2d GIT binary patch literal 12412 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 literal 0 HcmV?d00001 diff --git a/client/img/1/achievements.png b/client/img/1/achievements.png new file mode 100644 index 0000000000000000000000000000000000000000..b1336948ef28f617ca5d30d21169e4b8349c3498 GIT binary patch literal 13313 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 literal 0 HcmV?d00001 diff --git a/client/img/1/axe.png b/client/img/1/axe.png new file mode 100644 index 0000000000000000000000000000000000000000..d89de7c019f96bd9037e8f5af132e424629fa2c7 GIT binary patch literal 5334 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 R2@jP3HL#Xag@Vxl{ literal 0 HcmV?d00001 diff --git a/client/img/1/barsheet.png b/client/img/1/barsheet.png new file mode 100644 index 0000000000000000000000000000000000000000..8ee877118e551b575f3273b97dfa9e21aed3f93f GIT binary patch literal 9223 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 Q&mKHYRb7=jCA*0K181vu;Q#;t literal 0 HcmV?d00001 diff --git a/client/img/1/bat.png b/client/img/1/bat.png new file mode 100644 index 0000000000000000000000000000000000000000..727f64034a0f72c40b374e612919ca2867618130 GIT binary patch literal 5320 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 literal 0 HcmV?d00001 diff --git a/client/img/1/beachnpc.png b/client/img/1/beachnpc.png new file mode 100644 index 0000000000000000000000000000000000000000..e3b03769c8766b690282d5f338c608ddc9bf80d2 GIT binary patch literal 697 zcmV;q0!ICbP)Fo=tbGrWBH5-7WvK}td#tOgi5nGln11%+B`BmANc9A@%qN(MK?Z>E!VUYuhQer=ILL5H0Hx;R^#DvW zh@Rl72#QWPO{v4FWXDFtyCb8v_N~?=u|E zx5p^k*hX zR+9tMwi6GMU6~<;I6?FARb+%pq5nLUiZFw~1|u5|lEYJr5)E*fPf=3>R8D^|_{$*8 z$;ZF|@_MrP5KNV zPr)1yk^`wBw-yEm5YS9q=EL~-Vwqq?26Eujx{HwZ3DCjXK}KLUNQ?rF`kG{_A=v#^>E6k~*`A-5QXcV?iOi2<37r=vqk zWrovyLM0H103g5s;Pw*w>Z>6100000NkvXXu0mjf3>YAo literal 0 HcmV?d00001 diff --git a/client/img/1/bluesword.png b/client/img/1/bluesword.png new file mode 100644 index 0000000000000000000000000000000000000000..9d9d0e93e4b297328230907c8faaca28ff13aa34 GIT binary patch literal 4703 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 Av;Y7A literal 0 HcmV?d00001 diff --git a/client/img/1/border.png b/client/img/1/border.png new file mode 100644 index 0000000000000000000000000000000000000000..35ec8d199217e258fb5c48abbf80d39563501139 GIT binary patch literal 956 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 DhzpHO literal 0 HcmV?d00001 diff --git a/client/img/1/death.png b/client/img/1/death.png new file mode 100644 index 0000000000000000000000000000000000000000..fe1909c63963519d19a5377dce8989b6bfcb7c4f GIT binary patch literal 2181 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 literal 0 HcmV?d00001 diff --git a/client/img/1/eye.png b/client/img/1/eye.png new file mode 100644 index 0000000000000000000000000000000000000000..d32a75596258d731ce6dc42c40852da3cec3e344 GIT binary patch literal 10159 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 OXL`l*a>*r^-~SKuzE{Bj literal 0 HcmV?d00001 diff --git a/client/img/1/firefox.png b/client/img/1/firefox.png new file mode 100644 index 0000000000000000000000000000000000000000..2d2eb98b5bdaeb231e12930250885bc406d10b83 GIT binary patch literal 6413 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 literal 0 HcmV?d00001 diff --git a/client/img/1/forestnpc.png b/client/img/1/forestnpc.png new file mode 100644 index 0000000000000000000000000000000000000000..1035f664f863462bb3710b8327974e9a6461ec10 GIT binary patch literal 690 zcmV;j0!{siP)&lP9qhCw??Y`RVa~($d;WVh#0VaB`N!<8e|f7J2V3X>W^*G2A=0 zMg;N?PxD$MsOk`-=K%r&lgRS^_9n`g*CKd|RBJ?7{J=vD0Ql`391AFx*bZP0e~$YJ(MCqHo5c@5mxs~kp#!sNEm$W3c!omh0L$8hjr+) zRX!}f(g69;J`eWdWBpPCbfDs$zKv2Gk_dW434#|um%a8xL z@qlBf)e2l^CP-obQYZ?*#CksgqfmM1gE6*QSU89?ReXHbt#V)@0|lQ~@;~1vT;bHr zkf=kOgYsn#Qt?e3q%{BzmAn@L4p4dT;=ywo6^2LJ#7 literal 0 HcmV?d00001 diff --git a/client/img/1/goblin.png b/client/img/1/goblin.png new file mode 100644 index 0000000000000000000000000000000000000000..5b24f9ec3d347bcc218a1ab9883d4557ee8b992c GIT binary patch literal 5243 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 B?BxIe literal 0 HcmV?d00001 diff --git a/client/img/1/goldenarmor.png b/client/img/1/goldenarmor.png new file mode 100644 index 0000000000000000000000000000000000000000..bb4a936ad5560e8b165e6aba28440ec4dcc1b2a1 GIT binary patch literal 7234 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 bUjYUHHsooeK@dlv00000NkvXXu0mjf6q<-- literal 0 HcmV?d00001 diff --git a/client/img/1/item-axe.png b/client/img/1/item-axe.png new file mode 100644 index 0000000000000000000000000000000000000000..91d370f81acbae405ee6861069fe9a9003e59684 GIT binary patch literal 524 zcmV+n0`vWeP)AHIP0000PbVXQnQ*UN; zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBUzu1Q2eRCwClm_cfVFc5}K5V|fNpeN|w zD-?J21`i57QbCkn!0x<*`<|c&kgmH*o#4p4F>2z2n3sS&%`;yz|34;1p_EEuD0!aK zOCFTq_xF7t#JJN~1*HFvY-M7EU|<@HfV@9w({Wgn`oZ_JaV({BginfX}xVJP%dC zO)exAHIP0000PbVXQnQ*UN; zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBUzuSrBfRCwBA{Qv(y!*Bo=78b}JVI-vf z#EBDw!rd&xDFBNX9b;I3?E}NT4zK^jm@yb4kY%_8AP9i;25Jc~tgqNcmKg&PflSB- zz%Vuqzatrm@_-W1^FTmWxdsbBGRGFbqJBgvYIS!Ss?PONM$R{3l=@ zT_XX#2*Mc&HJ1dyYV`H>2YUeGHRH%U$w3u?Ojs%syg5NvS9d4`AXYO#dTo-P6V*zg zR|GQQsLe49fHut-X3w6Dv!yi10uaTFz(2tZw{AaRpd=^KA_AH4G^sEQuw7+7)B+Ih zX^_21?d%NmDu0q%B+@hjnFzFNheH4&yO|MW#$bv-l%8;?8WY34d-vcKE(icqKFEOo zfj~z<3?SbFAiW?D06judPZK%Pp?XOf8ek;Ar;7dL`kxVfFb+KeK!J~x@?i#mo2_VF zahwi7^Z0*QvzK8Q0doD%NN6+^slsIhr7{?QxCP)q0mk7n96eM4K!5=N9#ScxV3EdM P00000NkvXXu0mjflRL}x literal 0 HcmV?d00001 diff --git a/client/img/1/item-burger.png b/client/img/1/item-burger.png new file mode 100644 index 0000000000000000000000000000000000000000..a5c45d3828257cc659b864dec9b0c44e759d549f GIT binary patch literal 720 zcmV;>0x$iEP)AHIP0000PbVXQnQ*UN; zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBU!a!Eu%RCwCdSTSoGF%*7sG2OoY&>>_p6fY$dx^(DVO6U&=rex0G#SlUl6Yyk0>0mNx>X4yX0v!^XEp+f| zu6mN*MY`UdZJnJ{1eYMa_kFteee#`jERJKSxZRUnXP8oQRW`$_djzFMKT|0f#FqDo#8Jm%-tMIiVWp zgJ*OOpqH%Zf6|fhr6!XvE*oeSz*4(_7{%F{Ou*r>#W5nA92+0Q@pBOMA8`Aosm6%M zHV0ed}K-JE^Z^P%qbKN=KaDy#<(_cSs%D?CE z-yXYK1HJJ)5CIjR#Kst3d(wdR?#Kz^?&0_KE%9gW#Va(>8_z=$kT~whON z8R&&~A3;)B31qL{bu&N4QO=SDoVx{N;N19s0t^5$#=!SHik7RCwC#nOjH{Q5eU+S=aS~wswOp zkd!WNX#21hY(>RJ7qA{8BM7@dL4^5aQAAXrh!kNjVGTJf?$Ky2enWt z4D7PdMOSUT?K;hOoO3)oJ2QJ}ml*JaVaBuP`+eX1&o^hz90gGnVZpRbNK~LHzok6O zHrx2eMM@9< zQP?Mo6qlJ24B!*Kh(xG#BrhH7h2_2}KpsWlUs}IsZqE0nw@==Un&<1(;yI|<$ zoH$y1oodp}f81RM*2-oWh><_fH>rt(s=KS}$aR0)ZE_S?tt=2;Bb*tRgv=22lGozT z3Jwr5onVnBiFELj$=|FLhgY44^7e7?GdZs*E+VB%{aj5?h;O6Jl&VNjCZ8(4Vx-f? zk9fog9G^Yei4TC#9LEo^E?LIlw9iN&5H%8NW<Aq0hWo zRQno{Z{j}81S~BKLX{+H#xP|+TAnIfASvameR!vXPd_!tmn(`y=OP-2OjtTb`zhxh zjXff~iGSk9*!D;{->lq{kl-W;ZFfLWH-HRfzHw}xCC!g>Pbj5)Guu}Y1K`@cmpI^! zV*A~WZni(9v$0J?;ol(f+ys}P7;oSI!50?(?W1ph1sDLbD?qk#(Iij+0000AHIP0000PbVXQnQ*UN; zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBUy%Sl8*RCwC#n9U7?Fbsv83Z}>ooO9~{ z*(2BPlXZH@BAFvikQ@bS7x#oz-n#%+J|pquA7M%u;Ev*nGM5s1tMiFS-iP4&m18ck5IeC}v(3 v?fVUF0L)4TehlJY5M}@jfMCF7^%h_N59g@C36=e{00000NkvXXu0mjfi>H3> literal 0 HcmV?d00001 diff --git a/client/img/1/item-firepotion.png b/client/img/1/item-firepotion.png new file mode 100644 index 0000000000000000000000000000000000000000..9db57ef1e47c931f2f8e387d70cc7e319773dcfe GIT binary patch literal 422 zcmV;X0a^ZuP)AHIP0000PbVXQnQ*UN; zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBUzNJ&INRCwBA{Qv(y!zdUyz%txCWMN?e zVD1KSgHHBLbO*X#m0j$PAEKgEaz~aMl4x27vfTwfkTX zKt@=(Eo=AK!L!(U`|Q^ z{y!YU0M*ApP5?3j^^n^LpoaZK`=4dF1t3yg#YjOBO1B7PL>~)+7BxTvPQt}N1_1et ztT}{Bk)bveFwh-QtPuch|H36efe)gIiGWc+Vpba+4INm(G#Ug03jhKP0J!)Uu<^oB QlmGw#07*qoM6N<$f?Tel;Q#;t literal 0 HcmV?d00001 diff --git a/client/img/1/item-flask.png b/client/img/1/item-flask.png new file mode 100644 index 0000000000000000000000000000000000000000..d0dc2c7b614419bc43435e815023f9034c3dc456 GIT binary patch literal 412 zcmV;N0b~A&P)AHIP0000PbVXQnQ*UN; zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBUzK1oDDRCwBA{Qv(y!zdUyz%txCWMN?e zVZp!~>8jfF2RZgiR0__#gxJ!!U?Xt_KDP{0G@BIbkxxYI$k& z;()FZNC+?yYXF^F5R?QUSnu~!#~5z#Ffz!lTuZhY^oT&F;TeGc7#O~N0kc46{C@m^ zVX#IZ6RtV{*#Hn9sdgXi0mvA5;w+fKrlJPMQU6#;tcU0qfh@QJA7+5Ym;Vf_!-E+@ zA3i0aB1ZK9o1PJn#Y##5{$B_#;{DGu+yW4(u41I12&G#D zvJBGzBpc8>0vXW<AHIP0000PbVXQnQ*UN; zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBU!en~_@RCwC#Sj|gYK@gu!mWEL9CZ(4` zuiiZMU6h83EeI_XJb4qro2RN2Jt{$(KcGVK)=LkC76NS%6m!TE1aE=rLGU8#K`BVc zY5Qj0PS~t3@#Q7>wxI(HZ+AX+<~Osm$qJ~ijCs8 z9xc4P0?->N3_u5=EFRniAQA$|AjSj`0fMjJx8d2;JMdmsXy7-lAukT~uz%O_XKe6M zNCVwsz~Z?EpyI&L-~DolhW~Sn2G6;oP5HDFDEoYb$w_oL44_179Kdq9)CoXf0B4J# z9D+xMq3wjcT-4D9U0qF(NO$1^epjoo_2D7u;jrcUwSUt1Wl{s!mW&>rHh=zMg0r;1wqS>&Noc z_Tc!SL6z8vde}cv{E{;nWN{Dx6l*6{KA(qry&fw77hWU#{T9}3{LKWg5#5SZn@SV#pZZFF1sDMAF#dTRk-a|v O0000AHIP0000PbVXQnQ*UN; zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBUzut`KgRCwCdm_JU#FcijZlNE+;42Y2< zkRjZGjw}on2S8%x01Qa%QII;8b5J!G0I4G^Y^j(jdgK{7a#A}^nm@K9rKuzRKH1;1 z{hUVufcSoeVOSjmZOW!;YLyRk13+P44B*e@f^65fB$|C;6WVCl}!y3=( z1oF00AW0H_J7j>+pdI@#I?tp;hKZM&f@yrY2x<-f!ZM8 z|BIJ%h~wB*1B@CC0y`SdRJ17wE)8H04gS7EAA04Pj;;wpA)rgtju=3C*wO~)Sskqk zf@=fVQ^OganP^QAd@%szRl_wNj>tUA#1|{I&6fjka7u!cJNax5^0reIz*Cds29#C} zGV9ffd~P<4BRDi4>=1`h{_|K85D6Fs=Goi7z+}?60~UD<9LTFCni0;*In5>?bQu69 zVZ$o0Z9t)+_~?TcTi{?ktt&@kL9SY@6o!j;*ltj`14X5?H{Rz``kw#;0BD=!+@UbN Q#sB~S07*qoM6N<$f>4Fv>i_@% literal 0 HcmV?d00001 diff --git a/client/img/1/item-leatherarmor.png b/client/img/1/item-leatherarmor.png new file mode 100644 index 0000000000000000000000000000000000000000..c3b1ea7a11f4318323634233b0cf75311669a270 GIT binary patch literal 514 zcmV+d0{#7oP)AHIP0000PbVXQnQ*UN; zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBUzq)9|URCwC#SW8ZXKoG4an)r!{v(klU zU<*s*mP5GW5S)NRu<{0M*gCUh%^6(iYD|ou#AI3?p|FNPh8fgmVpr0kn|`mFdIi;h z(pr->bLLnH%-X@e2jKgD-&Fh2R$ZVx&y8NcGF^hk3MjBj@^1ahHNai|*!H6b`26(* zj!wV?1k_oUQ4jfQ z7Enb|L}{8>aR3E0^|nFu8|KO+K;eG6&rZGWD?Dgg)rWn~)&B}dKYbAAep2{^Iu zkgelidky71V2Fc#7j7!1?7txUFUTgqnoYpJwJ!k%0D;!-C?epb4gdfE07*qoM6N<$ Eg2tlX>Hq)$ literal 0 HcmV?d00001 diff --git a/client/img/1/item-mailarmor.png b/client/img/1/item-mailarmor.png new file mode 100644 index 0000000000000000000000000000000000000000..6872f852c54750ce9624ac2f5f843ef3d6f9a3fe GIT binary patch literal 453 zcmV;$0XqJPP)AHIP0000PbVXQnQ*UN; zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBUzXGugsRCwC#SkVoGAP@zEgE)Zyj^mGW z80YZEEnLBW2XGYHBb>PsKrn3~#7i1-z2o7%hk$S?B`d+YuCx7(#c?yRZCe)4Eea)2 z^_!-N9mm0zWpU!97EqKzAnn`tJ!_gq^@SGwaU5kR#=iutE=ZO77pn&hETI4>9{te1 z&KZ!ILTkvmDP2vTJ&QuZjK*af8`^d0)U@6foh^)ZriqO-*?rbAA<330V^B% zE`R_Lk`hRBv9H-eJSPDw8~Hu}j|iy=JaguGR%@)wcUcMng|X}e0YL7%ApT1NDW>VW zHgJ;5^+qRk?&Zo>Lw?dps1jOTI}^W~d>==wRm vj3Y~o7r=G`dhDL@Qf@;Z0Uo<$F98MsBIuUK=~<)O00000NkvXXu0mjf@Mgr6 literal 0 HcmV?d00001 diff --git a/client/img/1/item-morningstar.png b/client/img/1/item-morningstar.png new file mode 100644 index 0000000000000000000000000000000000000000..1e852214b0139796772acacefa10eeb815d2766f GIT binary patch literal 503 zcmVAHIP0000PbVXQnQ*UN; zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBUznMp)JRCwCtSj&-wAP@!0H1uu;X5h^z zylFUkGYW5JU(%^0LUV^kRORajJYTZs9f{|3(pS45L`f}BVPu9XIJtg5lEr`zVF!o zSbEUHGrYH0N}>qJbmZ#*EH<6k1Y#fX8-{_@b&VFrw`@@aWa_eG0yvkWi`fvHz!!|B zX)p#TB*3z);NSwX#0Y%JMZ`>fLB$6sW61wqi3}wmQ_rTy(sK#Ww(Tbn zsKo;e5kG&5fa)fUq=N`zAE5A)0e-3eClRQ{aEL#MfK=pU?ZV0{P9mmA4Wfc>EvvQ`2qe tDFOs`PFrFBqyqnIqp4g+e`@;@U;x!p6M4J?YBK-;002ovPDHLkV1mTT)I$IO literal 0 HcmV?d00001 diff --git a/client/img/1/item-platearmor.png b/client/img/1/item-platearmor.png new file mode 100644 index 0000000000000000000000000000000000000000..71dde3f62d89408ae4b0c6d5d35a6b7898fc177d GIT binary patch literal 617 zcmV-v0+#)WP)AHIP0000PbVXQnQ*UN; zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBU!3rR#lRCwC#SfP@_Fc96~uzUgn2No2@|D0eaz@a(6q^X`Af6WZ&yHZ4@HHCtIh} z@pajWDVNjXaELm86Oa$-I8ah0ycr ziz=WYKpp^>0FepQR;^ZXI2=0Hu;p?Ix7+REw|mh78Uo}2a0pNa0x6z+(9@@qK6nye zsDQ?wFpKaEAgL6!+wGix!bKApx)tDAHIP0000PbVXQnQ*UN; zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBU!kx4{BRCwClSUqUlKoowb1d1tS4x}_| zh9+a|C6Ll)iR(2(M}r}ohtR>$vCyG}t_2s59Xc6|v!um^QsQJP&XSDIl+6%oOhUs| z-$i$v#7VLuqLceT=%n}FclW;U?)1Yr=QPV!DwU$#vN#qN(C_!Hj-S~UAT5DWxj(B_ z(b#CU?v3%#0?y9}fjkC7_lrJzi;K#M_Vdfj;8RuT zFVojgTpVcYKExs?4+1*cOjol$3?LZiwQUo~8jS|E+ikV&$lRwNS7@>`qE_QtVIT&v z$dOxvO#vMcDK9+oV*&J>JP?R;v)QEYhley*EQ%X{hBtJ6bVL`Uk(x;GAqKH}u1x`* z|A0Vc?^ajwuodm<`$u&9;V~_Jej?g1_z+`y8?+@LE8ca;Yqc7^?sUX#*8wmH6oMik z00!};QW1l2g<$1!S*?t>r>FE{YfBW0PUqf?MFElobdCZ%5?I7@L>Mq6nI_VL`RG3= z2rT6OgY=)YejxzfWwEU!0dR9zuh)}G=7K=ELVsLc8Q&B(7Z%hE&5MBQLrm`f(*i(% zzHPM#&++%*K&|em+^hxk36KQ9B!FcCg%t_~-Z?u{do~Ptu*!7k zA75Du=o26bfI)yf5Qu!l@DLw!eH4?QserzJK~jV`0Cz>OSL3nqQ#@+|)BcMwj6YKW zS-oCYMPRGhUtf;|*gH94a%;lig9KzvVBY@5CaqtrfQ#REMDOe}A%aV=5dbqE=e1wY hRQ#+HXxsh?FaY0+muxPvEHMB8002ovPDHLkV1fckRMG$d literal 0 HcmV?d00001 diff --git a/client/img/1/item-redsword.png b/client/img/1/item-redsword.png new file mode 100644 index 0000000000000000000000000000000000000000..df7f739afb623ba55b7dbed1c717cd7c72a180ae GIT binary patch literal 498 zcmVAHIP0000PbVXQnQ*UN; zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBUzlu1NERCwClm@#gHFcgO0vr={KnnNH) z7|0!}Y+W*-s(0uKy7d4>Ffnz=C6WQI&PrE-!_|4GtJv2?k4+g2emn|Nk6g zK+ZV~z4^W`nn0DBEX%Bz`(!KuuEHE(2{8NexT=N?04HMzaMy}jm=`+BTuY-bfUFV_ zx)ua7u)4|Vr{11c1*oTiMQ~;sX5(x7XEK593qq~mq1^$RY4iq=$pmJJCl!d}c-Jiq zux|+3wd|CD48r33-sS)Y2|?U~lpv&OI&=uUMem{znD|6if#ABX?EyAwtdpr#0GZ@z z-Uz{QoFN1#)u7rS{8T+EUIZXJaipq4c>jYCMG-$b_u3lZKMf3S;cfE)CjZ290Avm4 z+B$?+Z)gGTP1CsH(={ZIKV7%PvjSu-FBfA7P@FT8hD`wXpCYav4w~ENL%zkzCjq_= zrlo+s0jebfg^^CL`y%wRw##=JY`Hcb-^4$*eGR4kURe2+0GUSNp2i6r8Runa2qS4G o{*?e!0<_Yq>oEn`XZsak0EMF4BAH~g1^@s607*qoM6N<$f*1_cyZ`_I literal 0 HcmV?d00001 diff --git a/client/img/1/item-sword1.png b/client/img/1/item-sword1.png new file mode 100644 index 0000000000000000000000000000000000000000..fe7cc51d2bd690ca3cf3446b5b21b5f78d85c7ce GIT binary patch literal 358 zcmV-s0h#`ZP)AHIP0000PbVXQnQ*UN; zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBUz2uVaiRCwC#m@y8*AQXllgrsM1?I{?% zglorM##=b{Bo3UwK^HeKVS>eg(F9s~SRSeTQ0lKc!A&-&(inRr3)V6JsM^1p;XYgi%k||&m+QS8i^kC!qlROgV zj~dHE1}PAz15EVD3Xo43AR$l(NDU!sEcfhD9|miIa6D{^gunwIisB$30(|Ly+QIp9 zg%SY)OPIb+<`Wi0bWt_ z$JQ_YAiyZ)2FSiSjC0!$=IO7Rp;J#oX;n`{iS-a*06InPL|qEZP5=M^07*qoM6N<$ Eg5y7vl>h($ literal 0 HcmV?d00001 diff --git a/client/img/1/item-sword2.png b/client/img/1/item-sword2.png new file mode 100644 index 0000000000000000000000000000000000000000..f47dbb4b570d9f7cbbd8eb06b77bce7813da95ef GIT binary patch literal 519 zcmV+i0{H!jP)AHIP0000PbVXQnQ*UN; zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBUzsYygZRCwCln6XZTFc`ARIm!Y(-H4RkIAf<6y8k+qp)lX#vkXDi;#v7=qF$+L?OrURFEvvMe*%z_}qP<6|E@O_^PIF7Rf1BDu|4_8(0 zZnx8g@UH-Adsh}gz&9b!bE$p65Ci{cTp#Y??fnCECc&uyQc-r9&=H8Dh{bUXqOT-F z4dfb|?I&#GHDKRi7)pI6P6bd1;PRYwAfNz3SeSvl=sI`g_)iY-=s~OjfuZ?70&7(R z8RqI3h*29@{*E~)k>B?1|C9CKSAXwG80jH|O?5If+rWXV0W#*4Iwe3dbQyRJmm1#!3;@fo=+4sn@lF5$002ov JPDHLkV1gex;@AKH literal 0 HcmV?d00001 diff --git a/client/img/1/king.png b/client/img/1/king.png new file mode 100644 index 0000000000000000000000000000000000000000..b5cf1212c332e37bf992f5f2cd9e7fe68fdbdd1e GIT binary patch literal 1046 zcmV+x1nK*UP)T&%Du}3Hu~p1L!ApDaQn8SO5CjogvC@cWX>K+L zwcw#btcSLuMb>?@`O|5-*=(|ti^+#!cP4-4{r_j?&zp^5nkH4V1gOfT7JzCGK%Jk? z;c%D}h>=RAv>RuQUra^fyD7QZ7AVEpT#@x>k4-{>A!@r47@cA&4vV^q@1mz~3n0CmQ1pIsEs z>%+|w7>20r>iEU>pvN3gG5k8OM!X!i2kDH2Wz^dq?50msQ#3NvL_Gt|j(WOQK)Lu@ za)9N8fdQvyf6~FOD{`p;d~RVu>ftx&N zg2AAUW3ViI-&;VH_|YA7U}qa`?7q9kKn7SD?V}H~a};~=S@ub%(-etBv@C;i@U@%* z0LUjLsK2??Q83$cUH3`g6<_Nq0O>z@-yHukCV)~myKUebqqeh39mYhqAE$w*mwo4e zSS%)kxi5H#X0j8e7ko?Cuyp05#pChvSAb=N$`Y9LMRjxbp}`2SS~aBx+HO5 zmGD4-g&-8dS0}(X58xTx);TRm2408MVzQ@KE9i7*#Te&LXGXzckYOILcV=p5lamP?@l_p&wq6Soba6{z&8&-0>l{% zS^l+TXWhLU);WhKGiQYtJjm!GfC?Jq&~ zM8m5(l-0BBRs395m-w9Jts__BqYaGFE51?AA0u!ue`!0lRq&&z6Vofm{(RpC2L}hK zx3^b3A<<}b9gx*l$9ifXonm3Q*)7`=iG=>k(Elp6e}-xSs0E<9<(~ip0H*7dN7d}< QRsaA107*qoM6N<$f*h6X3IG5A literal 0 HcmV?d00001 diff --git a/client/img/1/lavanpc.png b/client/img/1/lavanpc.png new file mode 100644 index 0000000000000000000000000000000000000000..cac582cd0e2b5e8a37226c47d15b9a6275457b1c GIT binary patch literal 687 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 DN4*D* literal 0 HcmV?d00001 diff --git a/client/img/1/loot.png b/client/img/1/loot.png new file mode 100644 index 0000000000000000000000000000000000000000..914b4a9969c5017c46f4be5be23ac868bde9b962 GIT binary patch literal 360 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

p|wqEl8*#+_-C2 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 literal 0 HcmV?d00001 diff --git a/client/img/1/nyan.png b/client/img/1/nyan.png new file mode 100644 index 0000000000000000000000000000000000000000..2a1c012306896d6b9d694c097333d11cf3f08489 GIT binary patch literal 1182 zcmV;P1Y!G$P)2s zAG`D8-QG^_ePOxXy_dcB*_rp9-MzV_jIo47B9WS;l#Gc)B9SqXNF)*&6NyA3Vmc6Na|QWU5T4 zGEM*(eeD+Fer>%>&fL77tzTWgoV;Ftm$a6K@|9NVc$L8d-!F|TV*n0~iMg88R2UjI zKsd+oVjzaN7{A4r7Y>pq$l zgSefa_(>x)iJ>Xx8WcwiQ7~ZCgL1{xTGhDbp2l6JxV7&8TeqD%hf1ujn6rKB8%eL% zE5yQf4&)_Y22)%qgOoQG$21t~Fjq03kbDbq17e7cA+#RarX;H%bmAwlGydS+;ZXsi z>^3fcrc}66f^C-(0)qj}mCJ?!n**yIOr5C-<{A=54D~W(^)Se5!IA;19v0*s9mbSJ zCtVCbar}eD0@s0nx@S)%zh68nB)`4Aoo(~?d=r|Uys@}qWZ?Y=mRK2}9$Xl(>R|y3qV@c+U`{#!c^w2Jf&A)Q$RP~;vuzpV1_|ZB zF6xtDuA>_lqGS*UxmX#X9$XnP>Or|;`t;_rvgo9X;~)StDfXpd0YF?I{`{LQy5wQM zkLqNY7Kbkb??AB3!d!jMxhXDYhFK4CSnY6hch{K#qaL!E--}zvsMEifAFoZ;%jP}s zZyrn!_Hq#G=>pgcB1hHS4J-}}2A(tI0-XW!m%rlG-9qRJ03O7S8PdAi0XSl2F!iI8 z%pi04)`Mb9{a2^egI)Who+Lw@SQsG>?BL;;k1>TZm3 zJ?A=8>RjBL@WjL*$ITN1aD>!DW=tYPsCe>HLGwhIF!~jK@*$1_e8#sNXKPHD3?Uq* zIM>dE%~6-RVlY4fa8rtvp`tI%BSYaTuZlr=#`NInximjW%GdL4ox4urAXapCxp+0j zoNY^xh3#)2zJxTOyg0{cI8sBSlyc0HLA(vntQY=9+V4BrH8|hgkh1s0f(Xbzt(yVj zbOr61f9woy$9ou~m?31d1 zpX;A}{`<~xQcy}2+0wO1c0m?Ewk&{bsaiSaOUva_+&Jv_dl=i1s!f;beH#~Re%05^ zcNG9m{B$}s2?G$I2gV2MVT1hh`K(+WkvhM0UG05v{9DzDx}!wV5Mt1-{4uK{MZQ%8 zSS%Lx^>jKJ>*`L-=kxmChr=O=>@z-7W_*mwL=a;VV+1<7BT8({?qb1DPXl)wI@is-A*6p0-gl^{`Iq%RUxMiJv;}oa$Ofg7d{{0ZJSQL zD#hwLfXAC-`As{vr(?JA$u-&n@{l>3|}L#TRb_8=yKKk6H+dcYv;Ls$`!xf`kc2rz^n$ zFvc0SY~=CljrcU=w<3tepGct_f%IBA0ceVlj71GE51vmAo%im8=foi zzvN3Pp#4a2dOIj>AlW`3)X$ETbUS7-=*)LH3YNssOe}rNx6_#>Vziy2A_$ZYih)6a z;1r)1Fp}d#{%v5|mVX(P1&}QZAX~EbM}PqUEOJSyf$H)%00000NkvXXu0mjf6FasV literal 0 HcmV?d00001 diff --git a/client/img/1/ogre.png b/client/img/1/ogre.png new file mode 100644 index 0000000000000000000000000000000000000000..5f242c991a3c2d23cf254d869489561c15150281 GIT binary patch literal 12687 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 literal 0 HcmV?d00001 diff --git a/client/img/1/platearmor.png b/client/img/1/platearmor.png new file mode 100644 index 0000000000000000000000000000000000000000..be64c10ee8b946b5e5ad29c8272afca0d6ef1b73 GIT binary patch literal 6343 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 literal 0 HcmV?d00001 diff --git a/client/img/1/priest.png b/client/img/1/priest.png new file mode 100644 index 0000000000000000000000000000000000000000..d2977a225f8f3dbc827ec157173e9c148ffa0cd6 GIT binary patch literal 713 zcmV;)0yh1LP)73T*;MSCI%S*!V5R-2OA2bVd7B3$p(~~ zkJSS(pTabQ=n0;Rpy-6tlscSR=Htx+Aj1l_--mnXuv$69gZ0bdNdcyY96$~8@g^aV z#>4sc7)2k94U!|*@zgS(30LW3UNIAqq#7f^A%PrnATbyKsl`)QU@d(}H6K@9fh!3y zp6o~mTVmUh4iBZXw;q9MV>LN2Z9DNG*l?g)5KT%^O0xO5ic%&5mVgZa83Z$!3XX>Z zV$CNx6N54pEJ@Va$}luBKtc)`fD8x8d3S&v0;y~QNNZMrLjDs0^ZCBp!#zlHDFm{> z*4vw5>(;FdeM0LPzPx)47UvNXWhl~SXYdBffz<#lAg4_P0(`r=80y^0u$m8&qqsE+ zav;c|AOk@LqdT4w07~;9&*L&5BnQhEWO)E)0WLs{1%!%GnczH}@*p{~iqWpFE|M+4 z(nKZ*@R?1l8YWs>FyKA1Cu=8>B}Xiv)O@TSC@U)iH;-WkL~ApHGZhSg*dQ^OC1myo zh&G?({s6Y71;~-Gx&g*Ub~q>x5L=Yu=u$EwH5V9>#7OT_!ZPu?b?d;IU=Brga8OVX vie4a}l9a@VOhe6Lfw=*%#-To}0uW#To3gJ}cKa0!00000NkvXXu0mjfvL_?I literal 0 HcmV?d00001 diff --git a/client/img/1/rat.png b/client/img/1/rat.png new file mode 100644 index 0000000000000000000000000000000000000000..bbced91efb9c82985fd3f15aa95ad3752299994c GIT binary patch literal 6948 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�Y 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 Ujw8{${vQBPSJqZ4SFi~FA7g@+uK)l5 literal 0 HcmV?d00001 diff --git a/client/img/1/redsword.png b/client/img/1/redsword.png new file mode 100644 index 0000000000000000000000000000000000000000..b20086dc22cbbe5863567d32dc50b8f3d356efb0 GIT binary patch literal 4724 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 hF0JufSb&&N7j8NRqN;gF@Qozoi+ zw%{VTWKf(`H0Y2)>^~6WWT}!)BGRcCN(IF8_?q+r@B;9o;055#3&5KffQ=Q4 z#rPNH`uaMQY={|m?ciYEp!sBF$hh;vCjRc#uVU)hLFL={^g}E>KNM)9GJ}Ed%OPn% zc9Hl-9(Ue0`2W z;&<_agtT#U zY=g$$HtxJ_^3}Q#Ub!SiYl-oU`hr9-kV6I*FfJv*T=R`2AWtDpp(T#JEq;Dj5(L(0 z%&B&@x+Gkf$)QrIsM+6ce}g7J%>+P+fMVk+&}=qGGWJ6WfJzMo`g7rd_Uws#S((XU zZu3Kwd|d`J6<<~pfMRR6r&X*Z_@yJq|9b3m!;pwh#Tv`%lk^Nd5GDsQniYm$W`R%Q z<4KS~?2>Wx9%m$DZ&Lvzm9|i6QkOWfQJsw{fSwgmAJiZ)HYvV7@mp~)H$dfbS)j4w z;uBYHLq%Z3BwMXkv>Z|F^$8*FeCfu|V*sfDw6o*{Kd#RzFe<(Dp|xzkAW|A{HO^)u>}L-$1VYDYfpQUkkqc#Y8|s5QUpou&^lQxLyqt} zDe&zSZTpij^QU0^s+Z(Lo&&^ZWFMbEodcx72Vtkex52jF1agASL?`*sWjI!5Wfq&i z-H7jh6+GtV1>gnX1>gnX%?rSr7l5}hv_Aq20LbpQPpR@Y6951J07*qoM6N<$f~i`` A%K!iX literal 0 HcmV?d00001 diff --git a/client/img/1/scientist.png b/client/img/1/scientist.png new file mode 100644 index 0000000000000000000000000000000000000000..03c878183a087a20c1cbf07329d4dc8e19a515c3 GIT binary patch literal 619 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 literal 0 HcmV?d00001 diff --git a/client/img/1/snake.png b/client/img/1/snake.png new file mode 100644 index 0000000000000000000000000000000000000000..932e711673fe7bef0fe7d4c486a8ada6da859f83 GIT binary patch literal 3872 zcmaJ^c{mho*Ow(*Gl(7$gDhjG5|hTh6Ej(oP?D{(3`1rNC1lHEFoZA>VI+H&G4{km zMzWOM4A~h=jI7_hz3+Q{|9sc?$9>Lq?)zNloa>z5^}Eg;2e&c-a0zoUF);zmObx9W zI-7BpIZiXAeTQN)LkR^M-43+z^9T&SAK=cU=jP|?E^g*?-_zaN{k|L8{~vcK6BDrA z%uvr3HMZ(pSt8YSZVd#=@|AgBnN%6E&A@u4vJF4q%Sd z6RU_zS!j*(pAjrgPP+ZISKaO#-m%>8J+TN=*jTi_R5HHM+S)uChOG6?A=Z@?S=mjh zSsL-m4he|pwec~8fI@v^W25v5^q6O)qlMJcGHvOJjvcrBya_mUuo`MW^tk2}~%^<#e zPS{-Svzd6uFNJb!E%A8;z4ock7I8VgCRt8G+F0BE?&Sz9|Mc?lt~$DK^zEN_pI0+( zojU_!+UreVos)f)mbJcV<#)c$gu5(qSKFoA2GhUztb;(M5i#->h0qJ1d~#+C#Zw|q zj*D7$j*|}$J88#6NKkpGqIKOVO|;Hy)0i0tmCc*(a(pm#|EwnS;nH6NS=b=--H*My zcZ_E<77LPzV_f+qmXm7_a3Rr)#&7h@IE(LsOdemSnt%iq0b>p2A+HHlYGbuAG06Ab zmgqB74=|(;(REs*!_&ZoG87p@k_gf{s31_2rKzNYt-MUWimCkP1W&m2BQmSsreti} zf*SF1Dko+lv9k7~(A$T-)`?KUtcOkv#=BES$Z~;yt2)+_xeysCVd%AWCy8i+o(l_8 z<28PK0s32GpZ<8k;sJDDpt)ChyVv>^lylbO4P{P8`h*gU&9|CAiydB3hC8>uWsem! z9&o61o{KY&VqI<2xcA|8cK=Ty?eoq*YFANZ30XoR<2b38OB@d^yfgyFXw;CF3GLi7 z?h^9nf=K$JSsk6woA4}%*TD2uNe7pa_PMkDUv?9K__knz!$v{;1zUuV?jwNpcIO@k?Y2%ZhO(Nvuiq8`6GX;ZZ z8wVqKqa903F5}~P&x|1>CbBmjxPj*&<@!mAnyvtE+4=S&UHyW5OZvKy zk2qKSkp5Tu_FYy(>N48MW*a3>kjtT0-^$*<-lap=l#|AWmW4i*ipQZTX;A8{&s+j; z+#7AkQ<=5>!(rSae{GT54Ncnn9pKi>bodvwUxhPE?%qdX&aqP7{X^Nd&sxmdW&;LP zc^&tvJz^;GTk+cp%WO0adpu5JepTi;%pp7>FaS3LP1Mw$SKL1wg8H)78FJj817b6) zy4yKX(fa3|U&uUy0lcu-6m#DHXS94TIDqbOnSMI^vam(L2#KjEG@zl`!c#Tn|=i)<4@+usnD_kp2!4YpdR)7VxB9) zJjb>>H$QJDUfs?_MnBGhgJ(E1F6$S~#VKE2|BYsJm_J)%;iy=$IhaPu>(FVA#FGzd z4W7)9bTSoy^Kb&nO5WfRC|!CuZ(BQb{fuN_K+H*0(jw`eTvSRn9r?7Yozmhyv86)z z54ag9XEXWJ7zsX|Gb85{jzZTA>;+&CA*+G80Bp@0D7Bdv?~16luk17#&0k$A8;jsBo(Zkq3k{jJ>0CQRE7r`Od3hcYORaZpsB|EFU zsJIC&K5i?w{$RlyQoz-9MOQ|5Gq;c<*2th-t-E*G1Nv2}Q5z?^%#3z9itI*w{T7b@ zV&Pb7fxW~-dgda1bx-(?MC_$buH1h@7iBjE4Ws9XE}+{d;;e$TMiv#W5>gR_CjX>Hm)HKjg%w0gSpQuw=H=W5*Q`FeN!Td$*y=M45~! zz)UElUue@id}|6Tu~&vkpQ8#IiK@A>F*V^8&l#DPZ%*xmHBD|@)E8~a|5ZQas=KM@_l13UdyBI9TM^< z{fqs39}A4J`cE?F|MI&;%bt9qEHxPq2(xluD-m}3(K!B^_`~oD;)$RbL{#_Jg}HP} z5_#Pvn7?c{)6PZ}#+SIKXdyo~s^k=VF6SzYlVJ)1bUlOV@9K80$uQwBiflG03qP78 zK#R{ty}rn+pb~6Q3TkRtA8^96#vqa~fgOYBdjo^I|3`n=QZd=k16|+XDO}gJs)lVm zRKSV-Uw4WGQTV$5mTJci^9v#&6MDTL!TiUUjFA090NQY?pe^_x0}`{s#zV0M^RUrb zn8+9@SpUxxaxc#u*0ODF6AT&3S?+Ee=X2_*T<}C#2m;{jzjKijh_y*m+=p$@Pojzc zKv;|G08>Cxz7yS4nMkuIQ(S-nb8RZ(4CDQc96Ek-0~0*Gut=h>Mo%{#;PIy;A|z!Y z5v?4`0b)5&>)3^hoX%Er|0H=1+Lfq%-olt{33RaVi>zMP+nVc(&_|2)Vb-R6QW|Dful-Xsmso(S38Tjyk0h4@m_ z)_d!28P28M3h}pT>r=56caM(6au#j9_wj56zr;&1vUt4{f$K4msl=1R?dkgm zi5xfR$187s(h@+TpWar;j;n%{2$A$E>*@Qxt-SA)r>^WC{@&gYUbVMSW*!wFT#y9x zsHd9j8&RcHej^hHlN_Ya*)6NNT&$?`n~qM8SEBH7<{@hyxK=vG3U}J{Oa$LDGfLCs zOnLH6uufxmvcn*quNek?^Gz;d-%ttEk&6o4XxZELBOb?2W6}mb_jgRRo-%j-!KdJE zqV4$U$urD&T7GJO8eHg9CqI}~X)+pl57YMC+?hAkjTs&H!!YpMC7&n7HlD02a?J7U z5PD~-tu4VO>P)ae<||s4yw6v-4XXh5%)Xz|Z56Ce4L1%VF&F4MSUQMv6H?I&p$*a_ zdDRX~m#uQb#uNo*+Hd)mbk!o&B#XNlF$H)uB{I?(0blaz7@Goy1WtWo$vS8^moFLW ztbj(cr180e;)VxZ!hDj^%e&!^ZtGW&5zem$tvx3)G(+y%Ifkl>O9nzKdE19R$!>dL zQYB3kr;Y+YL0C2xQ=dEkqICOSsQIyic-hNKi0f zIbX4I5~*-QEgvv8eoi|od4}WPsLGw;5PW&s86wc&wK0PKhNz|n2R^u8wbsk8K*9B^ zpViyiO{iH}^`x0iymxZ^tX{L1!ED+@9|6H4BI}7pOhl9EdK~FvSK17`Y#m`i<_%x`T|rd}9g&NtfSh&fCfO1}A;hzsF=yb|fnw6-Mfezm8t z(OGwHjzshC?%fc-Fqe02gC)egAHk8Y^zF+^S})AZ=*MId`zY#XfFvYp;ID`C43cA> z4^0<7eqQj5^VQg-D|^b!@$u6gC)PGfPOn|G!H>!C^`~`CzPAV*j-ubbaM#fE8c1%C zs1Lx0^G0LznOk~1$a>#6F?LIn52sgOE2(oNUQ#{^{W+L%8xhw{#c^9B8(w$F@ftf8 zWNMI$LtckVCpj7QQv%hP6Kb`9E30Kru@Crav>HHdN$$~ur7qcMBASO<&#cxz)k5kY zVJr|_R@FRI*;8AqL23WHc%*{s|EBrE)?>vsZmicUrFy3H7C-xIMSS5p?ZY+bln%Ce z<>{q+Bf(RSNEGQADC`=|y4i_FikTcw?B+0KQA=8xyJN-OrngQCo~Ib@-&>gwJ&w65 z*{$h=A&G&O82s{qa%~kNIRxxK(6x&hhBjQIO>TWb`3XWDCK*MYK(8?rUUb7PXh92o zxa~Ge0{3g9st{8+Po4j|Fg&pVgletvk6^)tFf6#h<9fR0c=de@!;J^6D7xw0U%U1X z8C@>PPqFsIY^*sDXY0mOF5k!_1b3%&fnn+liuDwO22SDFdkh$Pa-lVxXW@S+d9U+? c?L3p_!+((9BE`K^h%>$^<2fZE1O#BvE*7zA(=bMB&I0>a`Pxo?}VQH5>=QSr<-p z5vNf2NsjOt#3YJsb#09#kD`-u_|B;~F8+C8aa6)KoF*$Anx1}1jw>tg>MHRNY7&^X z#fYO4w&6GlE|*%v4?eD={*60iaNr1^Z5X*O^N`CO9VGEEH$jSwL$Ci~b6$=7VjS>2 zaFoKP9P9cL(Uz56>o0 z@8K--5h}4dx4OD~#oClpnCnJo_Mfif6y{235N!p<$v)p}PnK@fUmdFB+$)sO-K{Nj zyb=rt-#mgQ?MeCg;%<~p=ScqYTZAU>|0bNNO0@b@4Pbndbc0T^>DQoCfRqO={rBgm znc##~4(o0Nd*#&5!CqI<7IPX5#6~&UdH6fml3jd_{_Hp>p(=#P0~GtCQX!uKlCc4h zQs-`yJSc-YUZTjDa)_{XIX?HwBF9MxKSkhLz`&vs3Zn)93gOGR&{(HaapN=yTbJW^ z0!59ZT;XWsLGCx~>+_r8VLN(RA$d>w`bZv>dEB~)6Gtj+9ZnDvC`z1!{(VSVE6@M^ zPV_na7C|#k5ECd$9Hrp+Z4cf+)gl<`de|$ACCABRoK{#na}r{d3Ck$m5|Jr+Y;3F! z!VhB2*NN)l#!(7e#R+l(MSMI*%UFYd6&O_^1-r8C1&AtsgQ+DeNYkz$Q=> zIF5ol|L6ttX*eu1Rhe6h35N+)ljC~=MTz6MEyDj)MfYH6qtqAnUR-s8i-O|7k(%K& zTC!OM5Fv<D*kOy{l zaWSx2q~Zi=hO;xAx)tuqKrhOrK;7h~5pyrd;BvWa*@>yR#68RI=0zHD774RL$?>|P zg~XAv4M%9eye8<~93FV^JispAriv`b2+mlj_D_HT05>8Zsj))MVE_OC07*qoM6N<$ Ef*7VQNdN!< literal 0 HcmV?d00001 diff --git a/client/img/1/sparks.png b/client/img/1/sparks.png new file mode 100644 index 0000000000000000000000000000000000000000..1b386120e574c7bb8588a830f4146048639565cf GIT binary patch literal 333 zcmV-T0kZyyP)AHIP0000PbVXQnQ*UN; zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBUy?@2^KRCwC#SlbQ5APnS~pkJMZW!Z;W z`qd3wwN;wjVH3$-PlB8ybeSW^&H7IfUR2mSQdFW&J-q&Wv_F!B;DzNQkAThJN^ztd;hXUI! z1O74-LKrbKXL^_FBCJ)cAaJm5I;~oqqBgWe7Mz)n^|`4|XZEXRQ?d(sJXO0koR|kw zr;VgeAJs|e0MPx0njmOXTvE=4lc38{Tw%>xi9M_V>vu%wFX2m3e8vEb(5J5ebS#os f0a$2;mjD9*l@(PI_W{fT00000NkvXXu0mjfjHiiG literal 0 HcmV?d00001 diff --git a/client/img/1/spectre.png b/client/img/1/spectre.png new file mode 100644 index 0000000000000000000000000000000000000000..52fa6952ec238761d7446c20c4dbbca8ff1ac6cc GIT binary patch literal 6778 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 EUuuNJsQ>@~ literal 0 HcmV?d00001 diff --git a/client/img/1/sword2.png b/client/img/1/sword2.png new file mode 100644 index 0000000000000000000000000000000000000000..9daeb03cd2e355cba20d2c6af3e65c8c6407afde GIT binary patch literal 4480 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 literal 0 HcmV?d00001 diff --git a/client/img/1/talk.png b/client/img/1/talk.png new file mode 100644 index 0000000000000000000000000000000000000000..2932a41d93bbe22b5bed0e7c4b094228e190fbc4 GIT binary patch literal 266 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xa$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWw1GYdl>XLn?0d1Rdl(pullu+2S1y`m)Dt=Nz<^Ikvo$IWl9_ z!WCOpyd3n(8!kx%AI+Gg9^|$D#{unQ8hgI$ERptzkWh1Wm~vr zSw4SfrT2ACa(rhLxL}?O%Po{N1~Ok)eB4)|&-gaSMU& OX7F_Nb6Mw<&;$UQm~4yy literal 0 HcmV?d00001 diff --git a/client/img/1/target.png b/client/img/1/target.png new file mode 100644 index 0000000000000000000000000000000000000000..711aa0bbc85d064a19548cfd9ba91a79347c5324 GIT binary patch literal 385 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

M@Rv90``crkB1ijM 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

swM$KIRGi$i@5}+VZA#w{bW| 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 E07Xv_VgLXD literal 0 HcmV?d00001 diff --git a/client/img/1/villagegirl.png b/client/img/1/villagegirl.png new file mode 100644 index 0000000000000000000000000000000000000000..13b595d7e62f8a937a6671a718810bc4f20ca5d4 GIT binary patch literal 703 zcmV;w0zmzVP)hDo)$nAz0oYKG;ajJeF(}FkP@EAdF(0o7K%oON9Aq#Iz%1EyOr62a zik~8fQ^S0`9)S4%BZGQoADI7l*JLm~G4mam&W{peNDmi)mn@`~NTisL3ozkI|FtnM zaTa}8ia}BxPqO(Wc>ptm~FC9BqnbFtxOTD*(zf zfaDQuk}5Q+nU6OUgEh)BFdVkG2U{}1QxPm)u>C$*jDf+P!S>)mvYRnrPY`E5BT0Dx zmLWl*0y2PAU7g`XS{m435C*Y9Vjww?8ggr463qWkRwjmd!eZ7eh{u2igD|+H0E!_y zo}5MbsN2IN3k8wV7nFaTqt zt04!#0s))(!~_t*{s5?a2W2Q^3t*uH%V4A?AEb&3Y&ik*;hC7M{s0Jo3_6TOj2ay( zkS7S3Pkw&@2BNi@F&qpMTYB{`Rl0?gm`^YhgVHz1AfSPa4&vWHp#i30Vw99Vun>ki llo1&tiH&yZ2Q>f)FaQ@#tB9vY*WdsE002ovPDHLkV1h&DAJhN< literal 0 HcmV?d00001 diff --git a/client/img/1/villager.png b/client/img/1/villager.png new file mode 100644 index 0000000000000000000000000000000000000000..97e07529dd3dcc109579b18306ab9342c8a58c77 GIT binary patch literal 693 zcmV;m0!safP)Fo=tbGrWBH5-7WvK}td#tOgi5I}JCulytii}Vx^q;3v5oQqBU}VEVa(HS{q5&@Ri2*G5%IOaVe;K4X`4|{L zo@hrk5af7%pxhIn8VV}2|1h(#ng6BzK1>ZGS;gpOdnbmg>&}543Nlc-NuL4aDVXCy zav(M2*23Tb0-A}-d>9{JEEBBAKn{FbcM;M)0XkSa$Oy~^iBaHqlmNnIJ~07=*8`wT zg`5^ahJy@6PP?#-M~NqJnNLgr;qw3^s0>C<+sGjVD{7(TG+B)~^Z-IPpO^q5sz0ES zVftU-0yByjC~e-DahmL=G^~gQxdCVvR`Y>kj4(Ci7NhXa3^X$_AhYpwbV#YpaGFo3 z1R}}qx=V>(&QsWt!Pcc@#8O8P>{2q0j!FzL b00=MuGdvsY@`Q?$00000NkvXXu0mjfzz`Lr literal 0 HcmV?d00001 diff --git a/client/img/1/wizard.png b/client/img/1/wizard.png new file mode 100644 index 0000000000000000000000000000000000000000..ea634f9f7d8eb9d89ee0bc93b8a82fc34bb6a159 GIT binary patch literal 7225 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 literal 0 HcmV?d00001 diff --git a/client/img/1/wood.png b/client/img/1/wood.png new file mode 100644 index 0000000000000000000000000000000000000000..21d06695d60245a4bbc0509e2e31d75f0facf96c GIT binary patch literal 1078 zcmV-61j+k}P)-n)Nekfq~MUSlMIXR?Z8Zu9IfLuLc8 zKmY&$0OXUByn3B5JY)XV;G5}y#idkJjF(XY*&l++qb-hHbASAEdrQKCKND@L zpKk5My-q)h0N{)RSdgL^K;gT`Z@>0>@rqq{2TjTW4Vplc*&dQG4nTDZp}(fYC#?YJ z6Y-Th00xQyurfuv96%*X5_S^6{K^y=6FA-k-~d|yxSRGLaxOMZ)z zu-HeY-T~YYHZlb1pB`*p7v#vjHj*#^0Du4h00aO4=vawbKU0JQ0N}R5cK%HfNxTj- zLW%&)CKaZ;jyxC;f&d^Xh0hLL@ECQmJz_Wj2S`Y_{i^x+I0(F2CcpuWMWMUbF1+}# z+lf04IpF2T?;FEGn&bzW`nxw`naKtR=(A~4VC#y(05-SxipxJsb5%Dl%P1t7hXVN# zIGYBjg1jg1cH(ZN{5p^^L1^yTFM6MnLGh_J7CAi?ar??SqeCKZ)CK@k5!RT19Dtkw zFzfr3w_}O{xY>)9N8Jc=LJ%QHPTD>{%?SWS0>A-^WpoDicxIgPx`QOF_{swSIRF3_ zBmi^!K^y=814|(82|MWkUZ<@^2zvGD$HQBflQe6@hUI%orrS3FfP^Iz8)^f%bM^eA wH($DOq)FvhE)807*qoM6N<$f=w^X6aWAK literal 0 HcmV?d00001 diff --git a/client/img/1/wood2.png b/client/img/1/wood2.png new file mode 100644 index 0000000000000000000000000000000000000000..2b7cbd3d897ace8a4842d1572406945da984da04 GIT binary patch literal 181 zcmeAS@N?(olHy`uVBq!ia0vp^tUxTt!3HEnHPSMGlw^r(L`iUdT1k0gQ7VIDN`6wR zf@f}GdTLN=VoGJ<$y6JlqHs?a$B>F!Nk9Jow`aE2{#>t+#<0$h8BK`$GQ!(%;z2@{)&4*!oS;=hm{QWHaR&FVr c4Ghc-A9hH{&4~DS1!x6>r>mdKI;Vst04&Qr`~Uy| literal 0 HcmV?d00001 diff --git a/client/img/1/wood3.png b/client/img/1/wood3.png new file mode 100644 index 0000000000000000000000000000000000000000..83ed733ab81da350e56f4002d4921eae1b2a97ed GIT binary patch literal 471 zcmV;|0Vw{7P)C zfe{#ksThSdC@CrE4Ze#xVP*2 z5x_RG^Y*fJ7ys>~97{cxiSOX^Y6xAFeSm!kMZNn8Ivn>}lH^-8+ zZ8Dga1G^L~ve8(Q6fQR;(81j%Wl2c5DU*!l543=oS1w;%*cOHy=-1r1Axrv{^vunn z4B15_hQ)+i-J1$(P%F#noVq-ye-4WvY+Hl0ih7Up#8pcQI|E}Gld^Hm-H&P%QtCkj zb~T6gW&+I=Viy*Js+_XY6hoza<=WQRncN0FrVtYvq8c$J1gb<0RRpYMS?$=GVhB0r zj&`j;^i0Ms*P9^=TIDwA5!l4A26UF|t*JQEGqmP$Ij>n9dhdG*FaQKU5D?(mBVzyn N002ovPDHLkV1mRd$Qu9v literal 0 HcmV?d00001 diff --git a/client/img/2/achievements.png b/client/img/2/achievements.png new file mode 100644 index 0000000000000000000000000000000000000000..e85a889f40a946a4925db227fc47adf7fbb19f70 GIT binary patch literal 18199 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 literal 0 HcmV?d00001 diff --git a/client/img/2/agent.png b/client/img/2/agent.png new file mode 100644 index 0000000000000000000000000000000000000000..544b7335b30c10f33a40999798c0f40ed4029640 GIT binary patch literal 788 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 jrb4=PFk>-&L6*m?kLDe5|Nj2~G%KsB literal 0 HcmV?d00001 diff --git a/client/img/2/barsheet.png b/client/img/2/barsheet.png new file mode 100644 index 0000000000000000000000000000000000000000..f9a82f3f515598cba60212e7fdc7ebad646234c0 GIT binary patch literal 11831 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 F{{r3Mt=<3t literal 0 HcmV?d00001 diff --git a/client/img/2/beachnpc.png b/client/img/2/beachnpc.png new file mode 100644 index 0000000000000000000000000000000000000000..feb520709504672b2218e8eb252f66cf8ac9ac74 GIT binary patch literal 884 zcmV-)1B?8LP) z-8*+aXYO|ImYJRG_lg_lc4v5d^WL}Le7h&YFbo*(aDsmVUI1PIhC7_fYNAS|lJ;gI z{(jVIHLDjK@iZOki$6u$>tP4@?f@wNc6m(pC$3%Xdj8huFS1?V-U+)Y$s(NcX9xJ| z04V?7ok`h0H##cY;i1#Ay>a)xY)hq*Y@5wyd*mzmd48;<%oD{<;X?U?@_+MwV<0E6 z0~|x7-3il}4R(_<`NS?gb)@0~BwvZS8 z>;PXKfE8a`oY5-7^gWb@TWx_ueA=m+h$bz7pGml%b zvAVpfWCxlUsVE2IelIt2@nj6VlJd_A>;T^!fb3^)>PYr43=Ovq5GR-b<&U(-eQ(d> z;K^91S8VlI_L0aqah*r&_nRBUT*T z;SD6@Kk{r+IexZ&vM(pF13b=xR0S`o*$tEdh3y|6$o9ultFFGeIP3Jnse>a0r{WI> z4eDTafUgd~PSI2chjM5PrTMg}_F~%!RKdOYV;t`T3g`gQR=$$A)9R=xhQ?|pbez?l za4!e<;-8g+*#V9rvigtMl?T&dJex29*~8bDADq;FXcZUEi+H8tADt(3^Kdn^X#0Rp z44?W>AzJ0oaSq;!4#+(xG$_0)|3Pa&?11Cq004P1s)SV8P<*GFSa0O&hoJnavQg{F znm;?>xMV>|W4i0upWt7Ty?Av!kF%hnI)K6V0A2tFFMxOWBftO*(zFI!Mnrx90000< KMNUMnLSTX{ZKNsy literal 0 HcmV?d00001 diff --git a/client/img/2/bluesword.png b/client/img/2/bluesword.png new file mode 100644 index 0000000000000000000000000000000000000000..3e0b4927049f8b53aba2a4890921349ba9d6e921 GIT binary patch literal 7242 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 My85}Sb4q9e0RO8PH2?qr literal 0 HcmV?d00001 diff --git a/client/img/2/boss.png b/client/img/2/boss.png new file mode 100644 index 0000000000000000000000000000000000000000..71cbf90a4afc1f776856aff7928edb765e792cdf GIT binary patch literal 24970 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 Q;yz%W`zU)0JOaP^52i?`=Kufz literal 0 HcmV?d00001 diff --git a/client/img/2/chest.png b/client/img/2/chest.png new file mode 100644 index 0000000000000000000000000000000000000000..6199751377e6a75fecc2edda41d0151e85da850f GIT binary patch literal 374 zcmV-+0g3*JP)_|*YSH$GUl@?>f!RCoA%IIlLV%mPHbFxG9SnE~ zj5+|G25fXuB}^10Q21x=zo1Bb{>7JA?HP@NQ3nj(k`Ncza{ew#*$x9QK0wNNA4BC~ z5(3#9F5=ZVyZ8qRKeZQD>!Ip{<^RDS0{34qWAzy>klM?EH$-p&m_36p1kim%2uz(i z6*WY%vxj&&5MuWeOy9Z2k5|KmH;}kqv}h4lc>@vrA*rJE5lpW+#6HME;2-OIFfGX~ zj8}ssH>9<^{p3j$abjE1FnfTl&Ourda;n@RN@I}9FsTh0M||H99s(n_MFbFF0NE>D U9I2FZvH$=807*qoM6N<$g5*Vy+5i9m literal 0 HcmV?d00001 diff --git a/client/img/2/clotharmor.png b/client/img/2/clotharmor.png new file mode 100644 index 0000000000000000000000000000000000000000..cad21b6f8f51d79b95eee46c062f8154048f2d4b GIT binary patch literal 8056 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 CL{8HH literal 0 HcmV?d00001 diff --git a/client/img/2/crab.png b/client/img/2/crab.png new file mode 100644 index 0000000000000000000000000000000000000000..e3c277c1bc35aa1d69ca2bc7db745ae2806133c4 GIT binary patch literal 11757 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 literal 0 HcmV?d00001 diff --git a/client/img/2/death.png b/client/img/2/death.png new file mode 100644 index 0000000000000000000000000000000000000000..52c4de1a9e93fb9ad483bd0dbe3b8137d66941bf GIT binary patch literal 2675 zcmV-(3XJuMP)`MzKo_vBi=oirrn%*joe@vBiP~v0z116qP3+3iw38 z5tDNgJmGTh%-(tX_W7MZIC<>M-0#lL&i?lM?!A+wY1&|_o#xG(mvtA{8nnL@N>-e?m$N%6u@~Jy~9r!Hx9QcxI4$kx4$!-BAlc`o($xcDtC=Gl)$$7ja zaJ#JSgpy90F|MfnSPns~3_l%y348&(AAD}4_qUIHCR^bP;Xf8kY>n_e;QPX-!*_r` z3V$I+qeeg`lgS9k)Mfq%~73;50O@8K7~_Y_}{GyOq=+7;eQ&chY(Kj3e`SB`WY ztpaD&i#eu`;nO9q7h_(;MnEQ$$q1;1N+a)=M2@d0g7A@n=4u89_A|}cZYeTx~! zBOsH>WCT>Fq?5Ouq@egh3BvVv;)qY%FF6Pzv|kk=j*@5pO2Oyd*N;cwo562~uM1~Y ztQr0={H2@(G)c{m8Z75qclK9=Un`~DdG4EXe%$7R)Qk>flr6lYa%Klr!O{x7os25`

{oISgK9ud0`kRIcJ!~5^Z4aR@B5wbR=K{fS(en7>K1sjzzdTPT+A#JVW5D7HtSW(Lq32)l>SrhV^g=gJ7kWHQwy0c|ON^A5?C(>QYU3it@eH`gu&_c5)}cGbq4jM-KsUj@UHE>s-N*IV+CWVKs_Xt=>X1 z6CKCd1@_Qp7lgU)~1VkMIzZ|~5yw0rodh(n20QoIh zE0W2Y({bf!(#Y}Y>}?(A6FQg6M@BvZ;s2ikADNSc%AWWKw=vOFOLC#_J6B5NNNXJt zJl3%v$%C`ZpN8KAA1>Q37INYEALed2*NZuzMo-+Vn)QPB6tYU>9&(D19OuYA2R{z} zK75=JkjZ4KdjjG(AZGFTw16++7sLC)Il`1x0Is)kOdIz-jkJG~^Yu{q#`%;TgybWL zvV*XEBcomI_{b+T{?J^HkKA0_y^-;K;#$ey2w_|Zzs#{8M^4X>|KAQi+wnTZ6$LTYypKG=)d~G2lBOsH>RKEoD9{haxMexq@ zx{ga=_P<9vI~P8ZNdrkI7FjiT2%zl9q4gV9V^N@GMdT9JfmB;nTM{=Eo$eF`o z)t1#H=00D8k9V}EIi4jBl2Eale5eqU>wV?88;&<(m3p9@SLS5Ca@-5LN_-22bXJnr z7s=*~Wc#5lh~=Qb`-f z?<1eQgykci#L<4}{#oOXJ$Eg1?deW(eUfxol^P}l(3&xhDS_Ml2Ism&9IrFYbH3h$ z^GT}A^?W9-akD=M3;B>-`pe&3LwdgBp2BK4=b}9hZ!rQgnM`$0K)gfq+1Z?n!m8NO zvi)uFPv9rRM-|-1*t6U7J`EzaLZ4Dm_H3`Or-AJz1;?-PWqlUCZ*6ELF^=G6_3Cwa z4eYvS|2z7QheT&tTip5K{) z*KJ?v2Xnfto^cM>r$U6ig@pLahO^?|k-r;^fJ`P+`=Ww0O*?c4m-F8NU_@Z zvaW^ftNMhl4P9Chp=ke>=}%fv{Js&KLm{oV&%@=X}yHXLVmHB(MkkC-@9c`y4mKaYCGH zwyqG=WAgs|Qqc7@NA3k23C+1(oMSds2$6H*?t?GM)3_0k$z(DDGUX--pGJ0&_^bhaLOP7|1|hMd;3pUSJ}~FQ=k;+88FNyLrC%JG&6y3a zRnxc;kjZ2+0y243?RrCbtADO%%C}YgzPLkIfXph6dto)`9LHyd1aTd_#dBQdfVeUs zb3I(|hgGEyg+PiHpIS3UNT*TaBe_k9(WnuS$z-bCw`xZp3EkdR#R%3=aw$|fs*EO+ h5s=Abs=fXZU;s?pqbzK_PuKte002ovPDHLkV1iZ9JvRUV literal 0 HcmV?d00001 diff --git a/client/img/2/desertnpc.png b/client/img/2/desertnpc.png new file mode 100644 index 0000000000000000000000000000000000000000..b05bdcdba527f038ff771f12553688b118a84c5a GIT binary patch literal 880 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 IWyE*?2Tg5qxBvhE literal 0 HcmV?d00001 diff --git a/client/img/2/firefox.png b/client/img/2/firefox.png new file mode 100644 index 0000000000000000000000000000000000000000..44f7e2400ddd47b09fb7ccbc967416752f7af644 GIT binary patch literal 9725 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 J!o6-+{s;7>PeA|x literal 0 HcmV?d00001 diff --git a/client/img/2/forestnpc.png b/client/img/2/forestnpc.png new file mode 100644 index 0000000000000000000000000000000000000000..feb520709504672b2218e8eb252f66cf8ac9ac74 GIT binary patch literal 884 zcmV-)1B?8LP) z-8*+aXYO|ImYJRG_lg_lc4v5d^WL}Le7h&YFbo*(aDsmVUI1PIhC7_fYNAS|lJ;gI z{(jVIHLDjK@iZOki$6u$>tP4@?f@wNc6m(pC$3%Xdj8huFS1?V-U+)Y$s(NcX9xJ| z04V?7ok`h0H##cY;i1#Ay>a)xY)hq*Y@5wyd*mzmd48;<%oD{<;X?U?@_+MwV<0E6 z0~|x7-3il}4R(_<`NS?gb)@0~BwvZS8 z>;PXKfE8a`oY5-7^gWb@TWx_ueA=m+h$bz7pGml%b zvAVpfWCxlUsVE2IelIt2@nj6VlJd_A>;T^!fb3^)>PYr43=Ovq5GR-b<&U(-eQ(d> z;K^91S8VlI_L0aqah*r&_nRBUT*T z;SD6@Kk{r+IexZ&vM(pF13b=xR0S`o*$tEdh3y|6$o9ultFFGeIP3Jnse>a0r{WI> z4eDTafUgd~PSI2chjM5PrTMg}_F~%!RKdOYV;t`T3g`gQR=$$A)9R=xhQ?|pbez?l za4!e<;-8g+*#V9rvigtMl?T&dJex29*~8bDADq;FXcZUEi+H8tADt(3^Kdn^X#0Rp z44?W>AzJ0oaSq;!4#+(xG$_0)|3Pa&?11Cq004P1s)SV8P<*GFSa0O&hoJnavQg{F znm;?>xMV>|W4i0upWt7Ty?Av!kF%hnI)K6V0A2tFFMxOWBftO*(zFI!Mnrx90000< KMNUMnLSTX{ZKNsy literal 0 HcmV?d00001 diff --git a/client/img/2/goblin.png b/client/img/2/goblin.png new file mode 100644 index 0000000000000000000000000000000000000000..7d4b8a6e4e0737613e8b54e41b6a35ee49a7745b GIT binary patch literal 8198 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 literal 0 HcmV?d00001 diff --git a/client/img/2/goldenarmor.png b/client/img/2/goldenarmor.png new file mode 100644 index 0000000000000000000000000000000000000000..81fd3e27aa0653b3dddb7bfefa9dcdb665b6486e GIT binary patch literal 11682 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 literal 0 HcmV?d00001 diff --git a/client/img/2/goldensword.png b/client/img/2/goldensword.png new file mode 100644 index 0000000000000000000000000000000000000000..354aa93590480eb71c385579c09af1b01af52911 GIT binary patch literal 7989 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

b*XSiEmagJM_dlXOBZmY-(+AY9G20Yi?IDT zWylBz$mohLotViW3xo^0czh^IWJl{=n2s5Wxdb3ZYfxSiDQ|#za$?%*PJ)x;i8ygl z6YXi7Elg0I@cD!WsAXfnKlNm#l~G=111|x>+v#A6sd88#be=%E!Wf5BZFLL?e)lI zRf-bs_P!U>p)>kVY{m=ebxA_iFwb=(C~;84)Z^C6LN;#u#udux#GN5Qb5$Ajb#xUyw gUyclk6|_LuiSHJz{W-nBcW{v7fusA2e}X0cHz$)!EdT%j literal 0 HcmV?d00001 diff --git a/client/img/2/guard.png b/client/img/2/guard.png new file mode 100644 index 0000000000000000000000000000000000000000..2268dbd6ee1f15b92eb0c8b62d35bc9afc6c077b GIT binary patch literal 1027 zcmV+e1pNDnP)nou~K4@ z;<_Zo6{ZnMor8pcg%GfifSs|DRALp3ASs1_;57n=}^2K21;%40Zt#S#xuF zIP)@JyO~Wkd+%S|-0bac_9gE(@4cDHdA{%Ok>aB>^cKWR=Um^gSS-S?CiJ}HAEVJI zs@HcVD?5TpWj7I$6hgog;geqU1y33dhuZ7Q<+6`FT1pIloee0I9qST9gv3*(` zqtR%vHk-||HlNQ6=a0u@)=nl9*7kZmJhpmkK93VJ*0sY#3dNAqmSurQfxvUH@Nu|K z;$d6Sw(TH7;u=G6EHKpxaDKbp)_RhyV61MnT0$(D&1S5hPN$=aA(7gliX{|7b~T1T z-p$nsRuwgPMor|c&o?9xF!dBK^nCEe22gQ)2#SkC?#_k0v()s|$9M#xesZ@mi zU@)-F%R|j|!En@HJ+9TY>7R);`V1D?haA^pT(+`7ox^Y@+$$D7Tj(C>D;LjTX( zC#=0avhyHY;pgY(oU}2;wH*{g5=4k68-q>xKUAnk^OODqG!}n)bVr&!0Rczz{pEf3 zBdOSJNr{UcL`aOYENS*(k*)Z=hvC^#?m8zj%?9HYOH4Xmf3dYgCC#ia&GsgW5KSJ= zPI#ER$~v#U{*u-Si%OcESFhKFi@{^wUz=(lBy*r&mnnX{8I+Kqq%);bDXkq*lTL)h zy$<2l$gSp#;5=weo^<)mSd|XRk3YS>_9(z-R~+d$+hYAfp`f+H73q{^?Rurok>c?l zC5a_Wxm+$#HZi|1W-sZ3t?i)n!`KlO=|sq`5MnD>uYeUY$m6Tks(M98iYVu~d|1|~(df`&ax=~>UdZ}g48&kv-SRsvmahJd(T7FHgm zB4rb^6G2Es+IvC0%7l)T9$3F;nR8hjcof3&(B0-~Y`Yf89Fi{}DoJ02w~c*6P9 z!y8f$Gws)M^$jZ9y#%(Tb$U7o&#C!blg*akDYd%5Fs&C1pmoF xP_0(Oht4ju&A&nJLxd0^q%a~vVy1rr3;=ao9bYJ&1&06t002ovPDHLkV1hD9<9z@C literal 0 HcmV?d00001 diff --git a/client/img/2/hand.png b/client/img/2/hand.png new file mode 100644 index 0000000000000000000000000000000000000000..7010f66ca4f8887d492a63ba50ec01d3327a2a90 GIT binary patch literal 356 zcmV-q0h|7bP)Fts1aD(2>|Vjbi)1zMAr485u$cMH1Ovf0fATd~O6e@1Wm)pm%Tz5Li4lz5(JQ=6tabpYBs5k;DW5R&!=h<&70 zRhcS;xJ8YjWbiBwrzuCSEQ`6G)N3@eaSP9BmEAF?R$200008Q=mfp9 zLX}&y0TEJ1s)U5PKzhp#xp#sNfO_tUA|y+;WgA0m3i$gkCc@Ix&HNfWs)V`F$E}P-7^K-a$wu}ecs)aJRlGRKxlmgNZox(iK;WbZ1OX5P@N}eE6*$9@Qg>iQVxIN!ig-4M47JwYJAohof&iAayyE_44OIPeY9Rh^5_5C{SwOs>gzo$SyAU^ZL-c1Gv`#I3{~-W^03j<=@AgPf;W#i_oge^$00>b42qmaL a0R{k~WP;}+YW)5H0000H$-zaz z!PUVa7MvWM45HxDp>=lMXmyTI2YznaZyP;} zx4NXT0~2Q+mN)G>R3Q)u0D%A^9mvRF9rx|P)n2UE>wU+o)hZl#FzQf>Kp+4F0)*+n zm?dn zt(H(hR$liZp*lpJAZQ!VcAONJaNYInvf(T#)toArMkU3l;>+n8~7iu2@`d_6z{~!Pa0>tcC xZU?e^S@(H3Fq9>M01yZOK_CDGDX1R-1^~O}rn1R-MqB^@002ovPDHLkV1m4jHdg=u literal 0 HcmV?d00001 diff --git a/client/img/2/item-burger.png b/client/img/2/item-burger.png new file mode 100644 index 0000000000000000000000000000000000000000..ea4e3a68bdad708f56d2bdd4ffdd8d24be11af06 GIT binary patch literal 818 zcmV-21I_%2P)!m5fTJJyG64O7;UGKTCIkI?tpr52q2%;hXl^&SK6CP zEnM8KhMn{W1Ofpd$bAAdk}Awd7TTI!E@Kmse)K*d8grz~x;_Qr|OAFjkW zB|qK{2;`A#A$ugfDsxvV7Teq4o%I&1%Zo_(=; zM`C~K*!Ts1+rPgle-Hq|8o-e`u#muoIDsot0%y%>bqP$q6IgdWnhN{NQhnaO)E`-L z`KIFJC;IE)w#V<(8pxDC2mpZqsyVQS2`uRPav|DoAKi*O&L+|;E{REVusI$7b(^^! z^PE6d{6PQ+1V92OlepmjVE=1enYBjYoe}?7p=~eE3uBRbAB#;$<5C8%Jkigmf zNRCIX;%-%)Y#sV~L?A2vAOHjce2L!~3xeQR5~x;wW^apF8ge~>Q|rt9$tvHiuZILO z>JI`yAb?6O@Av5{fp|ODryCv31x+Pzj`tT)!@rSl1TyLm0ze>uaupsYcH@kT&Y;<~ wW1=F0jvR73e>j1S2n4d@4+215>r;RM0D8IxDX{2+lmGw#07*qoM6N<$f=gv>_W%F@ literal 0 HcmV?d00001 diff --git a/client/img/2/item-cake.png b/client/img/2/item-cake.png new file mode 100644 index 0000000000000000000000000000000000000000..66882fd57442749cb219d9f5f46d233f3dc5ffef GIT binary patch literal 1363 zcmV-Z1+4msP)f5Ni_`;6fY`x@W2xZX%jps(gq=_H1X4x zx~*z^-Okx*?wrna@9v%5doSmEIlJ54nXi*`zH?@FJM{&FL4!bWiX<8WLNplUb_c(k zQfKwrwCv8OZuaB%`?a+5;MOyIX`^W?!!IscJu|9)s;jHL;y=r@Pu<{83Pgxc1>(w+ zRND1~T{va<5^QWZ|0}(=r=)MFDiezT)owQaJsXl|%an*}Ai_Ue12NC{eGGb93+am7 z5T-Kzqk(^N$seXfM{_1sCKCUU@)+TnU|VCp)=WSOM2M{dg=P=JLeiAn0JGv1)0o|V`JUH`6xsM2z`tYiF=hwX9AdV3B`AGcOSTsNq(FqI z;In!cW~DfVWjEpA#S5rmE*^(kXzdD6o*ke(uZng-M7NF+o^S8?Eu4oU!jMITl_CwW zl530q^QvNIr>&R=4{zPT?9Xyo;cd8oLHIo)<&R-wCEC&W&&h0rhpWyB{OfPrbu|7e z{-i(zcWNN6JlNwoh73*5J|W{f9Z9h-xG)@U%|GD+<4p*4z72<#e|Pzl0ukJ)f%;}=TMod1xl&nOvffrCSOMo=T>axnunXevE`L%Wf?fq`_ypgR zp zc?-{Z^TW92Zz#U;PE`J+Km@%t5YENTKjAM;CuEP3dMJ(vyTI-7emGiwwMSGt5dYZl zCj}z7qd?sAc_h4R`X=>IRnCkQxINxaf27)Km-u_bpA?9oSAoKI%YfN{5s>FZO|WVY zSN{?0;^8x&i%b5I%#0I>KPeDFj{@Py?x#fNx&+V7c(&jaxIL?N9~--wijf>6{)Y42 zIue3EDG)(#4TK{+fDG-^lvs zE*CtMD*{Kwy=O*vjpP(~k3`iwAYG9xiNK&6?fx(PNr4E_c_00^9s(&4A!hh1zyP;! VPsaKz#;gDU002ovPDHLkV1fy1rIY{w literal 0 HcmV?d00001 diff --git a/client/img/2/item-clotharmor.png b/client/img/2/item-clotharmor.png new file mode 100644 index 0000000000000000000000000000000000000000..92f9514312011a77245a4afd9852913347083484 GIT binary patch literal 381 zcmeAS@N?(olHy`uVBq!ia0vp^2Y^_CgAGW!%qVXKQj#UE5hcO-X(i=}MX3yqDfvmM z3ZA)%>8U}fi7AzZCsS=07#QU}T^vIyZoRpEFt^!&f%QVr*5D1!=k8cBR2RIpyVuNF zl_>aZf$pTGS9~Wpe_-8T-YKNBPhURSWmalr+=8%PrUeWL7*NT$Yu#?kgjvhd&hK!) zYyJNHoyqS%J++_n|CN-(*?UFoZ31SqXUfU9J-pC)&tiYgPygr9j2oDqWZW*>Jn`kn z#V4o7E8XXExVlNc`B?S8LK*YpUu)}6y!)^9{k)#NxxJn0kD2W?Kf@SqY-Qh(^NG!{pPJ8lfNO%X-Sztw z*7>4N5y$t&>$#sVwax#k0eBeWDGkeme7TF(AX|Uv&>Ke0uw(^vPKtU~n=p Nc)I$ztaD0e0s!gOp}YV9 literal 0 HcmV?d00001 diff --git a/client/img/2/item-firepotion.png b/client/img/2/item-firepotion.png new file mode 100644 index 0000000000000000000000000000000000000000..626aaddb6e4090caa2dc9aa97ef948a413a92250 GIT binary patch literal 504 zcmVEuU}5RtR*8e$$SI8!*U9JimZ(V^|Ea#;OPVy= zTB`tZ<$@`IoVjEQhD}iv%~fs6*8U4)43mce05E`*1h#I!cP;(2p?+W>3;-}*1LU5- z&GC8d936iIL>dSK00!t-ktA@M1U|q#UsvOP`aV~aA`OHA00VSMeiArY0uKr)2EqV< z0ZyuTV~$p!x19uzc?|5vt?u8dc~B4aJj6DzNCRO2zyN(#px}E@QYG*~yW7u?a=Ce* zl*^l!pCtW|Vjv6v7=Q#GMFI!;T2}p--u}8ZGbMEVQNDi+02tsD{;mVGRbb;fK#%7F zxhJsp$F*9hMtc?W*O^Lj3_f-PVF17YU6P*!PL{yhwR7$(;i3(M0RRJ#z{5@8z`0ba z-`PbP2m?UY=>MJz3oMQ@deYAT00008U}fi7AzZCsS=07#Q0jGiHd98C!`A6 zTs?H};ITu|9szH*Z~efwXzpSkA&;g&=Dx{)p6^X7m~y85%=^?y0`Zzp8FzR!Ycfp# znZUKmSAgZ`Dy7ulFZmNCj4CA<7??dg6GY|9V=nlYu9lbJU}m^-onf7NL0!$tvUh#= z8I*Wi7#WzS#7tD#Fqh@r2A+K-mYnAAvx1g18Zaa@7@hQIiuQisrFhgqg2CW`am?iZ z@3?$w{h6d~*!_7!qwr`zw|o5|d5BEZJL^Wl`J#t%u6XwEsA-?zlQ{Ip-# z)Yw8p`|pG#1s(>829|ZsO!F5%syJ~)?QaIJd!g^;$(D7-|Ls9Kc}`xPzese(e*O=K z_BOoceB)ldcCFlXn{_!~f6bIXd(QX#8_OL&%!$CzPMtKLW!uyP7YozhzT5r2rP~Z- zvjbDOd1L;Yr8%+b;+as(T$!RBcL9B3(fj|!*@8XO*;JZ=zGX;YU=U+q;AS`=smH{_ Zu>b%z1jc( literal 0 HcmV?d00001 diff --git a/client/img/2/item-goldenarmor.png b/client/img/2/item-goldenarmor.png new file mode 100644 index 0000000000000000000000000000000000000000..f65f0ba03ba33fd2bcd68512a0fdf8020beb010d GIT binary patch literal 840 zcmV-O1GoH%P)PbXFRCwC#T+d4zK@`qtX$XbhM7#)I zbL+{yv=}N{5EKfYdK1B0Pg;?Btc0R}fI{i5mmUfg1eHRIIV6IRTR?jdyp))OB9xHR zHq7p$JL6=3WxG4geBb3^GVjfg=lj0dNixi~?HrIjEX(Tk7A1)Fcs&>JK2rs))oNJu zE{3oKfXR4(CD4|Ex&QHZr`=4+68ihN(GeOimGi>;3O@z~f&u`5o(f<(0|(*#-XXW^ zD=)Y$PECsq$`zqq0x&{>pa1|AAfPgBw_=!7smcnZ%98zbXCMt3n8wfT)LqZU4`+RctG~Iuy18+ftVOBJ3x4&BTS2*lnAbD~f&u_g z0M#i^(iNzP4+i#ur@a80*VdbkyN4a&_U(tqLOUAoY4~R$BNYe=06+o2z*;b{JU-ta zYRLUXh?~=N{+Z+-3IG@lM!yJ?zvDv{NT)hffwZ?DUXv=YEHVLA;LG`GWd+KoKtA6w zQetcQE-oVm^&e>*aTz#l|BBO$P*C{A>OX_|r<#8#0Dxxz?13XO=|A<8@vG&;`Mmp( z+wqBKzU{9rPq_Vg))Dr^ago9NQ_VjV0DuB`_e9;j7#LU&2IlMa?$apG!)C7O#ytq- z?8y)NPv@UX{-FQ>6hQTKO$?G$1ybCxk!W#DXJGR0#vb(J^C0T2Xm>A-1HdL@DO1T?;_!>eQ*4t~`U;12;1@c{wR&aCA=s zImq}JUrQZcNuZh2!K>8Ec@-yS)Uw}vOM(} v+vY1g3zD@fleOEjmj0+2K>(y$KLQK@8M}q94BC^v00000NkvXXu0mjf^O_(> literal 0 HcmV?d00001 diff --git a/client/img/2/item-leatherarmor.png b/client/img/2/item-leatherarmor.png new file mode 100644 index 0000000000000000000000000000000000000000..fd66086d0891fc2a3422891a35c7fe8687bd333a GIT binary patch literal 622 zcmV-!0+IcRP)k3;H8KmPfMc>E^j^(O&<1Xw$~4LNvWeIo@H5~Hjh4qP}7!{N}4 zXD}FSY+QVQt?pHij<*_zzh9D^y5I45?Ak2Lg7^Mf6Nm%=-3cI$>?^~co!M1^QV$2t z%I;0gdb=CP&E-c)y=F+Ax_-4L5D5UPF}+^TDR49zxfR`Rw^D(E%tzNLvrK_Y#|b)t zIFLAnIGFE1b%+B!zN{R`ubY(57Y7}9S7aQ?_Vd(jzo2Q8U}fi7AzZCsS=07#R0@x;TbZ+czbk3huAb6k5q$oWSxSwDZfE6;9OX4aO^Hs-gg>eodb59VoMWMFPl`4`3d zs(QzEPLBs0N+o{pFne#nbFTEp+Z&}ecO4`c3=T|u@_nttUHwBWi-aq3W2*1%-S+PN z?)O1p-9J?J=d-fSaHwLkKAt%%t$1$r^V<36JPkp%Kk)juS^L6u7L^b43wvv;`^_UC zTb*xLItntBfwSg5OCKw9ZoEBEr32G_^G4b0i_7Mvot>|J+US+l5(y4w1~!YJ#&4Hr z9}S*+_Or@{@1-m5*Yf{;eeK4-MPR!p9Qf|}U~Ba)h7ccnO}0Y}3R0>6;}vS(=Y>yj zH_H8X|F>$zN570W(sA?al6n0eT)q#oYC}-x@~{V;`5laN*nnJy21W)A1_mw$2OfJS a9)>=@Wt9gu<+cH1o59o7&t;ucLK6UR0^P;{ literal 0 HcmV?d00001 diff --git a/client/img/2/item-morningstar.png b/client/img/2/item-morningstar.png new file mode 100644 index 0000000000000000000000000000000000000000..e0473cbd3562864a8d03a42e746191ce21b05561 GIT binary patch literal 657 zcmV;C0&e|@P)Y$s4$=WP zdO+d^<-m<9xX}R}aHo+hikOvSC3qYhXA{4FL1tH(vAy%(*oxLvRaKz>qp~c0zakrE z`aJ)Bzq81eepmvOvlcADWE{ATdp@7*!QpWDDh~(*0TB9s1jyZiyW+0b>w0j#UJHBt zcs!EkF*gE100aR7E3|r7lF?Lh#GWrV2X4eY9*;8b!d{2d>6A2&xe*8gAP5lR{8E8k zBvABlIBiW1V4o&EMxh0r6Y& zSgls|=kxh&jAeZy#vg0`N%tQDAPA760<|Q-flF0yZmn};AAEU0AP9iaM*<8|fjtO- z1AoY)<@uE+4+sPS5K<8!Y6b51`^F~@+&jK1zpgwW5ClNzPYYkKwA<~>yT`BE&I0aj z(5nI)4&ihB5L&(CwmOi+?aCu2H9viyFpol$hphkQa*374So0rb{~-W^0GeLxbp~+X zQBhUk%XtPNLB=9Wx#xfqP(tX9F&*FxmvA)#?^EJfdCK)@N#0!Ie6~#S{2B|g99`3 z;2vjD+)%l3a`R&4l}aEG0Fq6B;cy5Cj_bheT@IR$vg0euOJa_f%`1&SAOHjcz=6NQ zf!VtrMbAm5)2a3Ta5%90F?ZvF@=GBQ2mpyEK$Hs1h@cAA9B|-FoleKQQ?J*v-rw(c z@BV3;fkO<(3FWrH?Ycluwi!0Cbn1AJMI)Oj{2n65=@Tm$6C4gWDw$yI7%{b=s zxp$4_uF-b8ooS!XXRY7eH=RHr00aVX1o%`11`q%aZ0Dyqx?(@|>es57ztIE&0U!{7 zlS_iS6_~9lOa-1!r&b^VL^yEle?sjk%_(9vMX=Am>jbS!u%rE9^(V}?!v<19&Wp@cY@inAo6Gi3{e7}HXt zswX|Hdz@lfvU{!W`7rkId!l`M zd1*};7iSjzObdZP0LW-9CU9NKAg>DZ`MfBldc7_V(Qz}hzV2N07m;)2>nzbKZ+}8uyfj>Qv@{{wC1HWBco0L~MXAKkegG70wyz?me zH9WtT_YVR<#uGqG1-eAAgQS52tDiqif#F~7x z95|4lucf|TUr+U7pDZsc*J2uiU9Mfz^DW;*nuTwG8xg2*4deKd||wMC*>oRR=r)i;c%Gfd-rK4 z5C{N)04f5^s{$hs01hnYr#Q}(_u2k^R>J(LCJ+b!fdDFT5+toaca0z_@cCe1MI?X` z4y^nC;zSt#R1*jUfXpU9wOUm=5$)={UtdpDfv-+ZY}Kw2InN{qOuGY{F5LtI0U)da z{^;Vn?CA9Uejaa9~KMKmf>S{T5&V^0>1j^PU(=00000NkvXX Hu0mjfhTyOF literal 0 HcmV?d00001 diff --git a/client/img/2/item-redsword.png b/client/img/2/item-redsword.png new file mode 100644 index 0000000000000000000000000000000000000000..442d4deccd99fb396823741a8cf3ab36bb353e89 GIT binary patch literal 691 zcmV;k0!;mhP)5C#_$2NoZI0S5XCI%r&6T@6D`Xpgj|E!Xz?2k-M;4tj*& zuh;y(pX+hdbY0g#^~&oBLjc_!cq2cqapmVTbt=t6Hv&Nb1Oa3!u&TM6#tv)-dXyqSAbzGivN}Q1YF14AQu4?VUuhnDbpDlG ze+YmeK(GSED$r)mpOpj=0$jdcc!y`RtOUS;)#Twu;+qf%0w5G7fY53fE~LyPh!EiR z>t@{!27|l=z<~?ov6vjM+cW!HRs4TNAP9i8*3R9a!r3<@NLrs2{U_mjf^N5~j8=Z7 zXI&?D;KT3ld7mGRMy}tc&H-^? zHF=1*Z||ReciX5U?!FQT0w4&GMbadA!GTM5;Lz&G_BeZSCwIT=*1m6-wRdT+2?PNU z1jwUZB*1|ybKul*4#b5(5CEYa1ZZ8y8^-D(zHsLq2M1Q*zy(oWQES4?59o*Ws&yFaTfxlMbvU5eY1#4zCS_0RRJx=|GDnkeBGU3_P9xr2CHn00Wq?b`uCn z;GcE)&NmEf&f9eZVF17YW9Tx0?m*j5jD1aDgS#kdq4$u}2EqV<0Z3q{6L?m9HxLE@ z(M@~07*qoM6N<$f*nw? AegFUf literal 0 HcmV?d00001 diff --git a/client/img/2/item-sword2.png b/client/img/2/item-sword2.png new file mode 100644 index 0000000000000000000000000000000000000000..4128491eafd908e4d7dfe904e811cb6137f68b56 GIT binary patch literal 645 zcmV;00($+4P)RCwC#oWD-OKpe+8W8!3D987!& z(iIbyZYCzK>=GWrC+I^Ej4N>?Y2wCW0?(j}o12RdP|3kh57I)9{^96-zRS@T?)PiU z@B6ts8dQ=bE#!_mole#bQDyW$pU=6-hEBKy$Y-5$3EXtx=a-poFVC0T_qR7mnR!4U z2!N1#1n}K~MH2V>XW33(XSL?x3xOa2f&exZnB}00&*^qB7_9B@_xnfXKn^&tGUG_x zy7TabKo9^yfHEpj$dE+>9QbJR@QOeX0C_F7`Ae|O0X8e&Ab~i(uE5b~lseWA!%(-= z>C|==Kwjp`!`2CQtpXYGE6HPz_@(A?MCV`2{f7XEIlw++Kp{mO$Eg(<1Oa1lH}WW& zSEJ`55CB1djIom1HYbqnyHy3s`$g?`8wW1Ofvxg*d%D(b_u)$)ACJd+yVvU-iUdv* z2m&Aoux*x{mjrS=iX#2~;c%F`I)npPlZV88|M*-TKC9|G(1OaT6MFJf7unuhWziU4Pf&d8ZNdS>NjVC1N{;j{_z(pLmz$%%t+z){u0PuBNpsbfGK7`Y?}fFJ-u f5C9<$^((*t&!=i@OISR700000NkvXXu0mjf!9W>5 literal 0 HcmV?d00001 diff --git a/client/img/2/king.png b/client/img/2/king.png new file mode 100644 index 0000000000000000000000000000000000000000..dc224f22b876e51476e43a4ef68d48826512cb93 GIT binary patch literal 1344 zcmV-G1;6@k7RCwC#TtR3PK@{DnwbZs3Lsd{j z4^dIDpcHe{fD}dOq1a+YdQeb7!GPLQK|}>hTg4m{^k5ENDn@b;f?9-DtQZk3%|Wmp zw1pm8Nh{b^R3ygP{g@eNlTCJ$o!a*f`D}JFyMK89&HuBL^`ufM4OqDFfB+x>Mgar> zKmY&)06+i$1OPyQ62R~Gix>9%`H08k^J3uA_iwigssDwd&~aOY7+Ba?QtHU2^Y?G@ z&65ACsvyPo z9|`~kC=O;ue;5p2Dm^bUTAUNbel)FInuV)cH5A)_C;*_=I)EhmXSjT1hC4ogr%E%) zg0r@l-MbTYu!HLW^U{AP0CE6lBcZRKXJUQ8FP-bwUf;y*`Q9u{g{2fW8WEOU&XF+SuHVtY}_ZE&Bz$D!ABpZ*GVK2%mxAhr3SWC{v!tfl&J!8&5hjo z=cjf`zt1(7iRV>+Cg8OHPyj&9DuB>&;2P_&|5Joxbo^oq&-e?yd}N!Pr^pDbYht$Z z-f1P)0fNDxRGDhMyO140Jx9?q$43Eo4ZalOfZ{FCOJma zvB-Ge$s1ffPwl9mn-3!f^CRL8BafX3C<0Q&@PF`ymddscfE)mDM*%4E|9!r_(qL{6 zvsdn(L^vj6KIYeHtu^>jqb;`#%H$t*R%oY_3SDF z6aWffTLHMIfPdGx`L*qHt-KQWd_L~H$b1p>6fI-T+|_>)iPtsT;X@$5ND1=w-%J6K z0|4$SfH()QsUKptuUD8r-0!O%}^}e4{@)bRsX5K znNdxufKULyT?G(95l@jT?ueNfe4=N;o9}bK`}wY!V?O;(?AL6LRRyGggdK?ohF`k> z;T5~{@_$YJeyIXt9RN^M0SL60jUrz}`RpM+0)+GQyP<~Nd1d2nLsURBzFO#qzNhtrT>Ys2{NGFgt@>|O0ighZy&Bf; zegIkl6zlxCZ?oL7ck5zHkxNRFO#I@$Usl2Io2NB*x84{c?t&Kmr~4!2D%5{cJhT2a zn=7JF0OSDnBA<5Z5T?F<=9o)p-J-9A9SxK*EAE4*6|eEhr+Pgc=l>&DTcJn5^6DC9 z1JzC3eYl_mS^X!_IN0@{Ao}0`DPn7%02BZUU=OtSPf{IlPYE~H>2o-(;E56Y_w8ZE z8#V68`_YnW4WOC-84)S*7HG00aO)000C4KmY&)06+i$1OPw);J?Rj0R{k}k-))+tL;z#0000 z-8*+aXYO|ImYJRG_lg_lc4v5d^WL}Le7h&YFbo*(aDsmVUI1PIhC7_fYNAS|lJ;gI z{(jVIHLDjK@iZOki$6u$>tP4@?f@wNc6m(pC$3%Xdj8huFS1?V-U+)Y$s(NcX9xJ| z04V?7ok`h0H##cY;i1#Ay>a)xY)hq*Y@5wyd*mzmd48;<%oD{<;X?U?@_+MwV<0E6 z0~|x7-3il}4R(_<`NS?gb)@0~BwvZS8 z>;PXKfE8a`oY5-7^gWb@TWx_ueA=m+h$bz7pGml%b zvAVpfWCxlUsVE2IelIt2@nj6VlJd_A>;T^!fb3^)>PYr43=Ovq5GR-b<&U(-eQ(d> z;K^91S8VlI_L0aqah*r&_nRBUT*T z;SD6@Kk{r+IexZ&vM(pF13b=xR0S`o*$tEdh3y|6$o9ultFFGeIP3Jnse>a0r{WI> z4eDTafUgd~PSI2chjM5PrTMg}_F~%!RKdOYV;t`T3g`gQR=$$A)9R=xhQ?|pbez?l za4!e<;-8g+*#V9rvigtMl?T&dJex29*~8bDADq;FXcZUEi+H8tADt(3^Kdn^X#0Rp z44?W>AzJ0oaSq;!4#+(xG$_0)|3Pa&?11Cq004P1s)SV8P<*GFSa0O&hoJnavQg{F znm;?>xMV>|W4i0upWt7Ty?Av!kF%hnI)K6V0A2tFFMxOWBftO*(zFI!Mnrx90000< KMNUMnLSTX{ZKNsy literal 0 HcmV?d00001 diff --git a/client/img/2/leatherarmor.png b/client/img/2/leatherarmor.png new file mode 100644 index 0000000000000000000000000000000000000000..98831c1a8c1bb9e208424d6770c9efb585bed9d8 GIT binary patch literal 9503 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 literal 0 HcmV?d00001 diff --git a/client/img/2/morningstar.png b/client/img/2/morningstar.png new file mode 100644 index 0000000000000000000000000000000000000000..7226dc67fe88f7229dff2d10f47a53ed0d9820f0 GIT binary patch literal 6709 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 literal 0 HcmV?d00001 diff --git a/client/img/2/nyan.png b/client/img/2/nyan.png new file mode 100644 index 0000000000000000000000000000000000000000..cf2d500a8b96b093fb483ff5c70ec3028a622eb5 GIT binary patch literal 1615 zcma)-X;_k36vy8(Bb~%XKeQpqOruVll{Jd5OQsBIYG#?1D~V+pE-d2iOjfj~nY&1< zjF!0LZaL;4reUcdpfr{E;*yLZI+Ebf^2|IlpXST|+zI9jJBZdJ^_^9Jyrmh6s$uRFQ96mmV z8)gRpy3?*MPKV<}lf#u)z71Q$nKm)Te6_i*Wy(&i!^(9#XyfTO7*HER4cTlFfeNo4 zh+Tf3pxcy2XugJsLs%RObE@!>>pM*jjq5A%Yj31m`(FaAGt=(=B#XZ#tJ@TIhALDX1VKWTlI1{>zfnb6 z@>8RdD7CwOUMzXUr9%odb~o?@H2dfW{JCCVhca+r+3PHZ#@l15h;NnoU_Gm1d;GVab>^Cvh*)Vjv4tnJl*yp1{F_4I@Q2O&; zRt9Nyl$6c!=uxY4EL%T#j!i^uXsN7Un38ciq_VD~(z)`M6Ppwbq2ZM}E0pT8aYBAt zxATq$ef#)vAGmwKTfP-|if9TWuE=TcqgW12LMlSLp6#s;s!R0dUwK|0P2z)x%`Iwa%z~E zSTWqncK&4uo$gG5yQ_>!upd(;|D?9fuPc6GASLA)-r`-e9e?N1B|lrxvgqaG3v&I2 z<+8Y#nCNIPe_u%}|3z%+1R|d=wt;aHnAzB1;+n4eJhnq6UvNx*4$=8DVlTAn!@ny! zop(JsRfv*+iHF4vr$N8@!kP?d-gDT~NrD_lj~^zcXF9a|!b_kG(R44_oO9nY(w=Ba zLqQd`j)fN$XCZ_)=(ruX6ab>5TQ8h?+-skMen!4lz%Cl=^`O;Tzo1Nte1!*s5>jI3 z<<`N1*it5w`9Rz=M^U>K`=L82(^+Xrb;pC>U(8BlONv3+;ZG*kwu%x)R++)XBZ=fW z6xziGIWjM#!b|8Ia$3x!-ND>CfvZ_#D$|F|!es(H0h>@gO}!x5z>Pi0-gs!;l_aXe3>DQA;v1M8B5!<~EXM8%Wo z?E{vxr>TR^j2R)H^Fbcpo?y0`DEom%U?eeP?d(*)OWrS<%*OqV18Q?N&u2=~VBxKC zB7lSrCf0W+L$80vvW7*exKj6ZH$*C5~> z@^0K^x^v$p>?_5-tu&#fwVR+P0(QY+3~W``Uz|>i6r-PU+cXn~n-nOT4aWez(h8P` zee}g1T1?;bY62vxk+=)n0#ElK_t3N3fy)MrN_{#PPr)ZW`h)-^$nkt@jNLCtZ~|ocHNzZ5H8u=D{t^ zvcc<7j@iMMfpzwEDtBgz!u5!tEx)lU2t#9_W0$f#t^6gA2S;WdQ#CCUk80?o7Z`gC zlBHDUbJ(LH1<{>JD%&xVx-hUzE{e$7S$S_;X>9-HfTZ$NwgI{`fvvpp#|H)`WdTKl zf997$!yK&8|H;(6v}7j;c6e5W*Y|A^^(+2l-R|f6HyPh()cD_WemQXfF1?h_QRd7Y x@^~JXgV0XXkk2#Z6PmprFYzDQIGMUc`#*HyJ#?3M-qRumxMDnASbIax{slA^8G`@- literal 0 HcmV?d00001 diff --git a/client/img/2/octocat.png b/client/img/2/octocat.png new file mode 100644 index 0000000000000000000000000000000000000000..35b05c600f2d4a42d465ad3ba147fa63a8701eae GIT binary patch literal 1207 zcmZvce>Br;9LJw&gmlZ$t?ryr#I2L!-g5oOgthG^N!FT-xeUo7!?=arER}oeDnD|H zh$FvZTun14>*kcwZ7j6T#A4MpV#l$e@!jrs`S<$Yh5*$kb7rk_nD?P> zY)zEMW}UU~j`Kg-`ZisTz2rmkCe~vY)!AjKhg_z4FPG0dSE@NBX$Ua?(G-IKu$|2S z&;Ve={#JwFYq#pg6L}G))YLYa8i&CU_K6~?m!nc|;PSLxH5kYVfEVRJQz(pdi?zw$ z>s6kXe5+&8zeF#eb3Gi6)C`=$S^ze(DCI0>>Vhu2)Mh_=WG{ZY+rxGwI;r)FK3nO6 z07YQ3OCU%>WBvSgsK{OupFYv$+TMx14I5C95>uOt0>Hw-zOiE9Eq9g^xCYJ@f6LMM zB8g00f{qCSomq4GhP6 zR`s}DsK`u&rLn8hkIbGw?~KOhM`NWvS@W&uvdDat61ps!D7cU9JfN#@sX_vOlNaQ# zYMGGnuv@Pm`oc+2bny06BGcDqkS^X+9o2rV&Xekh05|~x$)dm`L{kfk0Nv)vvt|j! z>~?dsrZ!LXZ3Ejt;YyyLFPh2p$zY8SMMHPld4`qTvSzM|!i5uaLOF|KY(V=;Dp018oB=|XL&rh-tCCB-ng9NeC%(W5d z*Xw$dgtLh?4AIc!7qAMtU%i)6AP0?9-O8kCuq_P6qtT(c_zp_>^}{Oz_lM!5($+r_){y(2 zmLLTuaxWyRFQ zgkz#x+^Bsh6UBS}AxXCV@7G-icKSCA;YkI<0xDBxG3_aOtd)!yZ~+H!8W@-O;1_Oe za&Hsr9a^kR++7;=kQ6038${MPp&~4(@{lC~<47H;>Wtm{Y8fl?_(+wr`*%1a?E8SB zf837Lo@2lNVNRo0_1$EvQXx5vTiE@%Cvbbd{+M;sH<$?CF8z;_b`8k;1)B!%ZQC@W z-irT=#l;z}7|RpDY!@HzQB*eXGoxr;*sWO9MlOXa)PkyA_KI2zBwht6)kvQ5Nk%%Zvowc) OB0$821hodxF8&A4t~C(= literal 0 HcmV?d00001 diff --git a/client/img/2/ogre.png b/client/img/2/ogre.png new file mode 100644 index 0000000000000000000000000000000000000000..71eaa8e747035d7eb80f1670e074e50ad3908f8e GIT binary patch literal 17166 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 Vd;4oRY=D42M*3!YH5Z*9{4W(UnOXn< literal 0 HcmV?d00001 diff --git a/client/img/2/platearmor.png b/client/img/2/platearmor.png new file mode 100644 index 0000000000000000000000000000000000000000..1aa4afec1b25de120361cc6ee6b6fd87db6ee0ae GIT binary patch literal 9999 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 Y^@>?j`FC?SLBJp4jLqpvGq05Y0UNi&)c^nh literal 0 HcmV?d00001 diff --git a/client/img/2/priest.png b/client/img/2/priest.png new file mode 100644 index 0000000000000000000000000000000000000000..009aa921ab6e5e3c820da9baad9520af098e2302 GIT binary patch literal 893 zcmV-@1A_dCP)g};K(6| zU=z?3hbWjPT8M%K5%-;T-$z0x7VZRK1*vKtM%Kw zg6=(&u1dslbYWcLCk5E50L=L6&9hQwsJ;i&aJ;qr#>j<_OZ=n&TNHqr&FMQ&nE!6+ zI-eu&U*&S5D(9lz$@&rQIL0lpHl!u~aNJb2AyR-v_W(CK!`@rFIstRBZ`n8uF`RZZ5+_xpb^dC9nul&llA0P$Tx)a{s3AWqJcDr3>A69*4 ze-6KK?GIL`nZ4E6zs3AfKXFH?>pdZ$^2*y{^o7M#@uOc}kOFK~z>Z4jPjl^5%r^zB z^S7&*BLyanU)&*+0wzrX|1l^fkn{60C@T>6?ByHGZajaSsz3TIr0houuvGz`=V@V( zSa&ZAIDb*&Y-CgdDZtiyz_>8Tc8~&W-v?x6F8URvBwOPr1sH~#^?$-*RrFe8FSAek zznMMf`CR+giydh@0MCHSS_P?|XA~8`BRmPC=K;H20V+jAm>eh=9{bjVMg^!8;mQ;u z`JVnIIng^|-}kwh78$K#c&F2eJ!g2_ST>0BBXLd1eg|3wP5M26Knk!De*_o+tOUt@ Tl$JO300000NkvXXu0mjfca*3f literal 0 HcmV?d00001 diff --git a/client/img/2/rat.png b/client/img/2/rat.png new file mode 100644 index 0000000000000000000000000000000000000000..8a96fa18c44bbce0461381dc14248f51248637a0 GIT binary patch literal 10491 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 C20yU? literal 0 HcmV?d00001 diff --git a/client/img/2/redsword.png b/client/img/2/redsword.png new file mode 100644 index 0000000000000000000000000000000000000000..28b7423fd1a51306c9fa602b75aea1c9cd55d06c GIT binary patch literal 7091 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 dYu7?9)OZZ%obMhgHHoR z)J1iyN(AoC$vWz|a_QVTR-)d48zQWC?wtDS!Go|VmyU+6;ahan@xsHONBEK+XWz3{ z-Fat^{Y&q&C;#qS_|iKsuKFD3{?EIotJDdw$T95b>}Oz5U|?tfI*y5ffdhk+8>}^T z)?df^&&N-l>Uwn~>~W6SlBG5(3vKOPowN7u){t%3{pQ}wzWVo{winzkPpQwj^XmEh zhh?9RHXaDL;$*?JnR&~s_AqOfxf7}$0}YqwbFkX4F+V|T!Or_K@`Wr>a~<42FF4A% z<5|s?Ytrlt4a_%op46Hww+c1*EgW2-a*r>5-uf%wlyy(lBd5b3mj%tUz8T!%vU?VLxa@*yAO{pM z+)UKEzw&YW>^Xw+{|{>)vwgqr*}>4~i?f=hjy1dyeqc3?p zzE-P^xxkcvot3;U#1^abKNp9u`TaC=!x^NuhFk=IobuoX2WteK)M#|3!&pM%JTRVml{F8D~EJ(pi5LsHfQRbl&k6cx7g+8+pZ}E^J>;Bsc%?oBhqj{Y<}O3eq~Mg-JjM^8Maz7uAIG7%)s7${_59q zpjbR17kO30^}lK5eTj{yt=46zJWVWlyLjto_poN}w>4eQ7?$Qu^{QX9?$L)dKH1Yp zOZ%A_4lt&yZ&9l)=6__ZcQ^NjX7?pQq0a^u60^0VK6DH0XXXodCF1f}bGq=WfAiN@ zgM7c>GndBdZK0~&wPIoJ?;@-nQr2bsmCK!bpeK4t?XK_nI{cpH4ZOU(m98DuYniV! zE%i&36B85LvqE`-mG|A{)!FRF_Z@qkAIA=i`V;$^Csa>kXIppN>foCa-;a5{SEtmM zoUN-%i3te5_U`Q4M~|$pcKS)zPkr~REcSEEjh^}q`<`9Y@elf+rG8cH|Gi(|%1`~; z49x4lt}!@Gn?AoS`t!>TDy@_Msy%-E`1RIYL!o z9VRUQp_9#8H>)tpU_O7ofqP#0oF}U93)6-6FWO-(W&fU;fx$MLA&ou%n@#=d$0oaU zoFD$p?NhFMbexf)p~)0j!T|Fwu&7~SU=YB`u{veX$i~p7#>|_k`lk@6fx*+&&t;uc GLK6UkF%`i8 literal 0 HcmV?d00001 diff --git a/client/img/2/scientist.png b/client/img/2/scientist.png new file mode 100644 index 0000000000000000000000000000000000000000..4ea1ccb700ae4eb1bf2b49d5044afbf4ef6f6396 GIT binary patch literal 800 zcmV+*1K<3KP)*!D@C^}U)SM5|mD0JvrSBK&(f^^WOR48^33jHe_V!Y%@?%KQjXnL1x z-#3^h_rsUu``)|vt~G7jHW2EthK~SW0KNc(I%JZXs8}pU4JPK_pI)yg^@bfgc}=nG zXA$*&PyxCt0GQuwHpzJ|mlO6MkH_R#tyXOjlO#f^{ip!NFyrO{QJF7b68KIjO7O*i zMD33o(@+7r#Q+}jfe`?fQM`7T2j-QagoW52HzuG0bYBGlGxEbnx?xD4=9zH=<2V%$ zK(+m-0NoV;%=!4DedOLY?L(*94R_pNN39Z6+m8y+T><~Aqmy&@!`41I{B*A9_M49T zVf5yLFAgamdHMWJT?ZW8zmQ|&Xp{1>a2>GdJRoiMqXKk` z0q}-dCIKTFoN+93SU4G_tg5K#&xn(<--uZiMFr><1AM-es;#g-GiY56zS9{;n6qBK zle5~H-VvM2ewO)I4PBu;fH0@q?YfMxENb<@^Oe9H-#E7lT2{L==2K)S`;!7HK-W9~ z7|g=*l)yvKI0<>cOa;fa-`5{^#8xc^2pLkTRH*B%Rx2&{EL3n*`=P((#WDkT#8y-R zr?;QfdD~-5zu(v5L8!7H6`-pEMh|D?2-QQLPvrqt4^U%KjrR4flK+be&`<%U$9!P| z0lu?PCDM)H29HihN`;$^IDnR2^(9F7eRFq1k4JH#_c=jJg!C?UkGH^dYPnh%m zN|N0f17FJXp=_;1*0-X4_Rh?V!*CX-339)v3UQ31Lufc=(4 zkWZKRJAg>5B8SnTs+nQ?p#qjw0rh&FI}1{rUgj{;&g+S{ozVVm^t|11p%_WDQ<51hV&7 zC0tas4ZB|sF2{+o$bXaKINH{HfOH-Fn;hg%g9q0fw&c>Oo#Nj_d}ym%-E3&t;ucLK6Uj CrCpl< literal 0 HcmV?d00001 diff --git a/client/img/2/skeleton.png b/client/img/2/skeleton.png new file mode 100644 index 0000000000000000000000000000000000000000..5b6d69e6867a0996de442973f0b3b83446cec98c GIT binary patch literal 10378 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 literal 0 HcmV?d00001 diff --git a/client/img/2/sorcerer.png b/client/img/2/sorcerer.png new file mode 100644 index 0000000000000000000000000000000000000000..e2a28ff5ebfc8cefbf52bebc9fcf52b8444dc70a GIT binary patch literal 1627 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 a#aC6@fu7N2b^+#*PhZDayZFl8Xa5HqPO#4a literal 0 HcmV?d00001 diff --git a/client/img/2/sword.png b/client/img/2/sword.png new file mode 100644 index 0000000000000000000000000000000000000000..87447eb377cd4894e3bdb4beac658c7597dbc64d GIT binary patch literal 324 zcmV-K0lWT*P)Ii1p9lxucNl2;zISXx#+Zhkpa;8HPYkry$;2=W z?hMj$gi5Jc+qO-JbCX_97tOHLP|3jiBxZvW+aVup6B}z9wLPs;m&FZf6l|bHxMQB z9boH@phNW%(gcC%zXF+G55jtrhQ3p~#f|pJIxo8>^>X)cDQ=N(=at?z#m?bJfB^uO WU4uKNk_^}Y0000;hCG#03#WS!59jA=o0wj_ivNK#GzGSR!OZ zHd!r@MZknTEQJbD5Euju5CX=CKmvh~1VYj`*3f9N75D1J0fgor(S)fJ~NihL__Jmqo3B4S6BQ(O}mM7@s^}uVM znpXZEUY_=z9@nFSdp%Jgkn&rrGbbG)KP*g|`+e&b-QjUW=@Prnb8RLU3YqFk%L{;c zWFYLf`Xu5k(WY%6`x-y}U750UXMqmx*Wc(IVhAfCfYK$-|^T!LW_FyeGLqB%5?{l+U8D69mVf zZt}a%C~4xZ_h*0*T1s_LmFOy=xr!% z%3z*NyH%AaXBW=xn1&-VBIx#_1=YhLu`P#M2ucWj@d-QaT;s*$T5&WHxwgh`bf@7% zOjT97hIpxf$&H|Fu&S$xWWD#)TDX>gOOc3uBocvcXm{W#vf$#W9eQXqnAE`_wyaR{ zQYzQ)2GldcdicCii6g>X^fqu|a)0)_Kr@(<<{ZTO^VF1YhCnqte|CdLp}D^KrJQpj zqPcROGni9go}T^l<|o5HuK}uTU=nF|jL-P}65kag`T>dt1;5@1=d8gEM)>ATU(UKPWo-!;3`U3U(c=b8L>m!@-IJehj?|BAN4% zZ=R*vb?hBMS%GYdpxq3O8Y|hp6Igu$Tg79N_2TUYCkeB${io&B0}gl)+%ly|`xz8h z>5vb{C_L@GZjar)T^6oUGeJF3t<(8jx@I&L7Bs26po0cM-cQ*GI=9CA-tk!nGO^P&ptuNyI{6mmEJa3Ey6F9t@Gy#DnE< zAjob!=-({rEna~x-uHAFwlSzs<)S#QF@+$o3eGZ%Y4XUr4_-X@dM}`VAt+Ou(uu>R zN%yD=xS6~X&UAK(ufk}!(Zy?l(gr4WX4|G{@7ZcB0qsNY z`{LgL?Z4};-j(iH>sF`lyZ*BU?^HhPwyz=(SyQ+z*r;U^pjoTo-n4}tK;x@eJnZTC zqWX5(HLNWjG>PnRfP2p^R_E%4agacy**kF+&=L`l-X+fXJ{w^IMCM#6C=*erdN`xT z_#Sr)RPMetxD1P~!4C8>Gp7>Tz5ymW0R4|>@cv)bvuDC#O4I59p2sQzwE-Ba`8c4X z@@YBJAbLt8^7ownr)6zX(zG&l0#6Vq=?L>w1jU6#aGcUB|Hw0xQsTPa_F_+rq2&r? z&D6>8$*Ne{jq>G)H1b1JGX$hfCGoT{d8V>;tFx%J)E zF8ZBzGZu~PIMULxKJ_J$D&3jtX=kgj$Gp6}7;A5f=!QQSZH%lMODK`IrA(>A3Yk%H zDDwjvjv24FRTX#*@?zvK81h0KpUB0lRh2W2yMG+jP-w0*o7uenzEXFaeMe3&I#vb{IdXBw;ZEh;>c%)9GNWC;X>?*4+nYn-&wL}0=^IBAZu;Wc%3eCk^yxfivP`8~a}l?m@_Mbf!u_1+(i zC>7yTNK0ySgiId$u`Mu>jCTt`88dI<0F^7**a)$UjQURVB24LbOv*nc|3A8zKWy+X zH~gJhr(cFYOALQq=QmQWG6Ijv=T{lgG^9CfT7lx)9LnT&d4FGb)-N8|*{@*ln(i|# z#htkOzbN=_l(%i})I?W6$5wwFV}$(aLWU^o$a&tBIn8`=u?7UT*XwZTPd>_}iAfYG zXsy(D>=*jS(*O`3bOD}(E2xN%XMna#sz2w$mthnVr3x5)$N8qYVJzri&m%lCC77-Ij zx|>yC0k4;$?8jSk1VG?7xI=i>@`Jy*rJeI$#<>=7%ph}|sloV3Jb@}gNFsx|jjc-R z8W93!fF9PWiOxyh&v9ueK)I4Ap=p3Q!@1^)#O1eyA7?AKjEEUg<@9=-e0R)t6T5KN4dc2_sLxj(z2Sl^;QA=smsH8bx> z9F294ac!ozxvi{UvXhGb+?P;W)zwti7lO$6M9fgj#x9H-?;G!K$+`|LwfQ%Rf~;I3 z3Q^@>HkuU_7&G8`sd$LMaddP1A%5xyW$P@dad-7)V5XI4(D?GdGSFm+V1ArL+ z3f}G5jN8LERjJnvcTe!6BkM2D+bp95V&Gpz;voxtJ2W%hjz$*)ELYa=xTL-uux|a6d#V?iculDNb!_i$JD)9l$gAVa z%?SyweEn~1xMlz+q46$2{Qr~EfW!Xx0~O#|K6m(ri_;lr9xXCy1w|R8v@~ui@;2kX zmq;j4KhoNuW;sZ@AlL#7@jFKW65v6d0LK%KdT!4 zdbo>>dX=r)@KTwvfXuir(Ct#!UgrF36A-kqSw?!lK?E#7m41;d^r;NcwqdxxjDpjq z05=*dzTvJ-*G?@PX+IH*R#eX~0Y=QW!$R#sP#R4UxQ}2$7LdCJ0&3Ej#nM?qv9mD= zm&q^nPDRXwZP~&C*+~x);KSyB{A!)JD^bOPaQAZGf7uhi1GxPHSy@~RsA!$)K3Lzjf0Rl##f)EBF2{Gh;NjyErww`A6-u>^sjXPq7Fj>QhX8MX@B;eASZZnieitlD3Vx=+KDXruHKxZILyvol3w>UtWI|ZT_ai0tSgMIut$nI?#5@fU2ri+mVjE z-i;}?&&(=5Z|#wweQ@F>0YOUqsrMM6JaqDS_9{Q1$DpTp_kV$yrzFoefs#Q=An*pz zxh72mznXK`(Haz11RpgGAc$bPt;s?x==5r$*DRL=|%oFP|aUx&5Ai;a7Pp-hKXIYv^kd0$ zG2Iyqr467kX45cYCyRi9p727Z!N-pA5(oLu5}gFyBuqDlhaTFOqH0APyfSkESe$Vx z!hfw~V!SCvIj;r`_}(eYtG5S88?#&ORX zUCy#59yL>UtAcZTFoD^2B-Gr%kZ~97=Uw?d^wyl4dDF45)B^rFM(9Qcw`n;%f(a@D zQ*yWxNz!pXJ7vNecIrXiloyH0Mg&lZ1unIi6c_VXlT%%7LTzu$_MnE4cb?A$UGJ)a zGeXUEI>OSd9C&_vNO$6TN|f|aFmyR`f(Pe4#cBZ#g9p~1jAbmD_c0`;{23^J=!PQ+ z(Gz*_wy6Dt6{bdwMA(^+>o=2DfFa3BZAeuMeyI#4||rhURU7N#6eZ*Cay z8*w-c9OA@{2xhh8s?agCc(t4%VSA${ zXK7%lN;!~}Lu2S8#!kK@qRXvMH*Be-(pwv5Uz8Wg_CMju7P}$(cCMowkiOnim`#C7 znn8&2qngPGwVlhINpy1sUiS-K2tE0%24|pi}{Hm zeNBWkHa18{lU7>9d`@G;6Mxo7i(i*%%Mz7%#SdcRA;$PyF6Y}1*mAV)jOE;n!ii^1%BD)N+tFu#G1I_J*~m`H5^S9z`B zrhdY#zjr<#%QYI}Md~L#1QN9MP*PtqxPM2mFC=rzMRLqn1(OPs$-pFlYX1PTj}Bx= z2`mGU62QCP4gL%a{R7hELt&WCZ1Ke z{V1gC#*7Vs!(^9oC_z9_Qw-)3{iEo4EP?Qsrn&%5(<&|j$PNG}OIfYuQHTJsO|$%- zj?RSnhczxIW$cmrhpg4i6$Z5&gp3 zHNG(S>ba03CCOec0_W#pb7HQ$F}~@L9PwrK0VeI_(2Rt6Q0o0m;|g>LV#fShS&EE4 zoWuCk=SjH2V&LRHFOnMubE42vR3nfT%nolq_svdV07O1YQvH7(ll^Z|_#h-7=S{`T zM|e}gs50LC18WLKWiAiy{iN+cPRI|dVV(SDOLn=_7C8%gK{)HiX@vp4ImUg|8#+3> zl%16RJ~4{tauMdToDO3``;i&q`OY+$dQ}5N9*>B?W<41>!UNUXXb_oamyy5zi$(>i zMPA{p%7|vX0j~^fX$$FPB0mhS{Iw!*L}31HU2Yde|12Y5K>n;6Q+a#$Rgy66wD;Ck zueT9s-t)zw5wPqia@&8+jroIEF^k`9TjQm=G!l{%;zpnD8BrdO!`@Q3#mlX3B)cOa zpJLX!)cnk@lcJ(NF;A-=HU)ycV^p(pl}zwgsv(Y93DAW~q*)1e+y0K3hf$qtJzB_Asx z?7SWqGeelbYH%iv@Vd>@S(+_3xbZzqFhS1^dtB+zbyX(^rm;Amzg-Pk zXN9?f_T@M1weEU5_SxAPg8yLW{IY#_3Xf-QY5h1uWb#d;oF7KjVf6df9u`kS)!0Mc z-FH^n+dTTdP2{u>!Hb(YU%@H$H&2FnOid?YzoaJ#Q|?(a$^dP|$&FyBY6WPnT0d&g z8#butG91_*S(%=Iqw4Fy$~X63(k}4qH1mV)HN-7N{EYtPj3(nz%@@v^!FvzzT(rl2 z$ZG#4_bxl({0w0XIOx!2;+|9dQa~w|@^-bL;@v``C|J_ioeU0i z(TT33zD}LErLxBlc9P=QD#X`?Ifd?Lm4R#ZSpqwPh?gP#s--8Ur(}H5fmf-9X~efL z`F0tk18$BOOh%0LXrPAA!+8-qq29yi^V0LZt-Yrt3nK?@@)!e$XJ>8NPbEZAvd?Ta zWn6|v8?Pia zDQnw(ir~f=-Cv~J3_w99C8DjhVU4^-h7X`0cJ_P!%=K>nY@-|Hsu-rM14(`+d7H~N zT6q}lv@E$!k#D7<7JHQqUup~hov_P0XfSO3IlE22z}Iv~836WPEx^~8kIuctl#*gc zWDmZ*%T<g_-o{`)fZ!$rT=tbf40zYWv}3G-(} z?R~lY&!&H;B|lJ^3SrqFxu3JF-u_R)rpoFFz`ce)vIOs5*7!bboEhr3_`-Z2Y;?mX za@w7{hvZ89Ahqi`KWVR%6WnMViVH-U)mqoG6RRxK(H+T%0FHbo_$cu}*Lt`aOG~jY z>{98LFyHj?zi+l?3$$;+0s;nssFXq>Wo6^e2{C!`@*DzlkOD{HG zZ*n9jpwK5&l`YD;e6crjr#NU+_FV%zh9No9A1vTTB zrP60LZ^ChlYA&=%a&*X6mwup91R|6?jvNgfagk9sa0O13fZ24}n=%_ObfU}Y73^Bs znAs-WVFE%=Ro%DN=}zH3PVfRMe@gv|X07}dd3zFI!`(+>-KDB^vkT(c1!bSL6IFVZ z)D=DHO_j6>@v@)rzOs*1to#z1$8@bdaWJfL$w71V7AGa(Ad67WFm;xt+cx6%wmTeq z=sb1!b_BybDYSFm`*mM}cuvApyn1J#zGUh7cTO8jT&*yTGj=4}+kl-)UGr1>=Rdj5C zM1_w!(otQBZ}FkU^)rQzkDh3sfjw%lI;|v$J!IIMkmn^#{Q9mi(fqd1Vq?o|txldU zMSdXF8?PI=l2VT*|8rQ}b=@Q9qOPgG#3$s$`kLb7tuTMP>-0GEPTqN&sK%*;!)&oS ziqKfri+Fy&u9$}+MmcqD0tm7QyvJ)GtO>zgOcxVU^X68up%URC!-8AxPx|_ss6{D! z<;q*!JznXvIEU%aXI%8Vg*{>`N^b)-02BFxN=v-3U{F7_^S|fG(WYNoN4UePvSJhD zLA3nANEbDoM(afLF4LMEi15m2}BCp?*)H-*GtiSqn^;e^Z2X zwe}S!ma4EF_T#V5I!^lxryykg0WEII#bbuEXQD2HdD;QN>Y*AdzN)SWZg+-7fitcr zL$pHWI*568A%|f3p23{M@I03?6*nVY>b!W_*r#5B@f2@EbkIv9T{!F7E==Uzc|Bw% z$~`#Tfis3?H3ttxFy>>AYluTytB^0|b;)yr;c*JksH+zV0q_UE{)Th|Kat5&IpV-RYww@Tf$_qo|~v1uJUOzu7U@`SUsDY zB`fu{mJHehJ-BJhCEl9%6Re{%dXwg}^%qOWY0VR?SeLAnhlV4xDkR z*!TQMSGnyjeQ92#G7l#u`1YGAv`u&w>qyeQnLwbek*V6UR*oEKas;ZYFl_%eK;7_u z#>-l<5jbsb>Z`=q@}SZ4v5N~q4=pVlYV_Vn>$846huZb|G<=e{YPdms;nN!FeluOI z_a?BT8Pdt-rJ~}v0V!U7LNseOXU=*w=qeHRHJ=)MqhBg(=hWX-a0MVmK0-ks%zVH{ zza9MN;`m>h{{P4==JWo%J|I{pcFf*$T}X&4;GC2xJ?47kXpv~D#&?!~zBemtTvQd%xP$UTQgUCoh$?E zyV^CRvlsZXsz@IE1!B+IOu9ft)=U9d;@Fz7eIW%Rb2WNZ@~fCRa2N~YIeK=##R-=eFYB2lk^_1<-OP?k?Ec&SYva5xf=(Ky&tq17pBHu8oIl3>hNAcT zF5`Q8$}MhQvs0cF>OQ~I7?S6;{)EIy$2I-R^Yj$goIGbE<-68~|FUQP>OEez`mX06 zF8^ia{L41fRuU_p&h+R;YvS6s``W`(KH1*kY?!=h>n?Y%&Youz jDyt@2{)y&~XX0UC`XBl)XD+W3&@&94u6{1-oD!M`g$h+b9qU1?#1%8@%s1ff8JQ% za`JXcJ{qlm*LizMAk8bM;D_0`QqLy$aL^=xIKyfHWAWZ+<89uI&)*tv|K0ff>XbBF z_vY5;eQou3b6 z5&)hOz}rI0Z}=2^50-`mAOUay=j~aup{}DK5`YAVwNStT00#)gdlVA=BoYUJx&wHR z!$W7o0ulfR031M>u4Y3?01`lZHY~tFZ~(voaDcc`$U*`@)d9YLH$JSd4KBt#{OEEy z8+J4P-nwF}{mX`n%zr$NY3Ke}jE&CogaZH$uwxYBkl%AOHXW literal 0 HcmV?d00001 diff --git a/client/img/2/tilesheet.png b/client/img/2/tilesheet.png new file mode 100644 index 0000000000000000000000000000000000000000..0b36047b1f07b483061b33103e15485da1a9b5ff GIT binary patch literal 319724 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≈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�P=y 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 literal 0 HcmV?d00001 diff --git a/client/img/2/villagegirl.png b/client/img/2/villagegirl.png new file mode 100644 index 0000000000000000000000000000000000000000..699d886b66224110d848d36a22d5c13b4011c866 GIT binary patch literal 859 zcmV-h1El2dG@1qn7O+q&<*%RSh$7z6GZRc# zl%%7GpF6e!OgAqP|4&Rxq5~LE_mAd)p_&6=DSuw&PcZ-e;~jX_!%~iS&MByf8Hzc; zGLvy2Qa+{br!*&w=76D=1JG0c{l_0r_mAd)p_&6=WhX4vsyP5r_CZpRdS)Mr{NG)ZQTP)x-=XmHqlCb8dbj}AF&kQs5z)&1qd8!> z<^Whby*B10R73!mIxu~-DVnU5O~aH=7x$0mfRWY;f`KOsD#7%c3`eZ$Vd5}#=;qYM zFwnI}Oe^=3+9Mv#0YfbZz}n5|?O;hMDHQ(c z6@j#>07b)LdwUdhwg(S_=?R{SDB=a%@8eaEo>HmZ-o~;j;y;z$&qz*xW;6#3l^lTH zBZifgu(I<+S{kalS+h`kxH#m|&7ngM7*y^b%>hHTCkz9y6kt&|3nitXrx;u*hmK=G z_;biC(%e5f7Brdz7|_c;F!+7*CYWYbSH~)jt`ApEpcgv9w=w&H-50cicA6z|Q z^d3DK?jP+5kLXqq`k2UJBGnCs+>e|SC~*Ji{(#XO00hz6%tWPdn7XA`{|>5v7%2CT z=76Ez3PNuU0aFOLOnmz0Gg$n z-8*+aXYO|ImYJRG_lg_lc4v5d^WL}Le7h&YFbo*(aDsmVUI1PIhC7_fYNAS|lJ;gI z{(jVIHLDjK@iZOki$6u$>tP4@?f@wNc6m(pC$3%Xdj8huFS1?V-U+)Y$s(NcX9xJ| z04V?7ok`h0H##cY;i1#Ay>a)xY)hq*Y@5wyd*mzmd48;<%oD{<;X?U?@_+MwV<0E6 z0~|x7-3il}4R(_<`NS?gb)@0~BwvZS8 z>;PXKfE8a`oY5-7^gWb@TWx_ueA=m+h$bz7pGml%b zvAVpfWCxlUsVE2IelIt2@nj6VlJd_A>;T^!fb3^)>PYr43=Ovq5GR-b<&U(-eQ(d> z;K^91S8VlI_L0aqah*r&_nRBUT*T z;SD6@Kk{r+IexZ&vM(pF13b=xR0S`o*$tEdh3y|6$o9ultFFGeIP3Jnse>a0r{WI> z4eDTafUgd~PSI2chjM5PrTMg}_F~%!RKdOYV;t`T3g`gQR=$$A)9R=xhQ?|pbez?l za4!e<;-8g+*#V9rvigtMl?T&dJex29*~8bDADq;FXcZUEi+H8tADt(3^Kdn^X#0Rp z44?W>AzJ0oaSq;!4#+(xG$_0)|3Pa&?11Cq004P1s)SV8P<*GFSa0O&hoJnavQg{F znm;?>xMV>|W4i0upWt7Ty?Av!kF%hnI)K6V0A2tFFMxOWBftO*(zFI!Mnrx90000< KMNUMnLSTX{ZKNsy literal 0 HcmV?d00001 diff --git a/client/img/2/wizard.png b/client/img/2/wizard.png new file mode 100644 index 0000000000000000000000000000000000000000..2b6c766fecb2160b0015f7d3fc29dcb9d85ea45a GIT binary patch literal 10161 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 literal 0 HcmV?d00001 diff --git a/client/img/2/wood.png b/client/img/2/wood.png new file mode 100644 index 0000000000000000000000000000000000000000..a8c899841a3ce831ca47e3acbb0f5815072847a7 GIT binary patch literal 1754 zcmZ`)eKgeh8h?H>V+dp2MAl5qU4=bTWQ_HeQC=&(DAk^JF?kz`NkgG9y=>}6rX_FJ zWV}=^C%aNR>tzr-VlNtb*^E$Qmt+_d8H36F(cW{g)mQsl6|7+;h}z^ z^pJ#@_E2X4{6!ykwa_}@+^D2YS7O~R= z65Uci?s)Vj1%0VYb#oV%4F7@X?2X@$`++{`qY}RaTB7jum@-4V!$%97IdaRu})TvW=e$i&DX0jJcJyL)lS{*Rp8mFZwE%?Z7wtx11L~xkU}_) zW#h@;-B6@BR;?VMpqJcp&bws}B6*38YJ^!{kwSnkjd(p1Urkf4;%P7z6K`amXMiq=s0}`Jl zGd3QO>q6Ti42;2)B_ct%}UGbv7s;y04WQ}NG5kT0~4&+)(QE)n*y_Lwzm!&9Mn8Nm) zW=|QBjc3nOX_?`e`T6cOU4nFA{QSJ0Tc5$eN|l#q@k9~6X^W_SK+A*$ZBCE~1V}$R z`YpMRUX0Md?8LXzmHFm8^oaIaT=pCj=g9T3z4V1}kUor~t!W*k!|^N6gNS=We?5YI zymu9A{=Mz=7$vs4R!k!NSxoC^JzTZFJ5PhMxB@3ZPw zMh_JW{fD$_mtMyhGQX*bU7THcjyv6U{>lr^dKg3Ufu zs(1DigVqHu74ncQR4J564=#3}#AqV{Fn{8Zd#%=n*$EvHh)VH>$DV063Gcnn=&=;f z>?_k>Pk@^PAU{tl>&lsmC%&u+#IoUkqe=UsXbt+R2 zbpH<+nlfxbrptH#=2io?W*r?;D?b-$k^SpaV>br0l_0JBh%>3ipGJ+ki=~VNWdFTA zeW#6odN{M3UsGk!TKAc8s=W2i-W6kkxIwQ3IkOJ8>f~RlC3Rupj)qwk_8V^<=(Ze+ z_O(UOvDl8CiQC_1Dn_(N?Ok2I+&``6KcY=l2ZG38g1np`M#l`y-JT*f)NefDQ$PS)uF262YH@ed#5UA3aB`0wvls2bF==_2NMDvL1-8U5EjU>Sf3$F(jhCzv zbF&Uxgaq9t1}*;ZX6!U8*eXq7yfe-MU4?Q!VBu+uXoNtU=qlmzFem6RtIr7}3C~a#`bw~?mn*;`sp1p5WKtO upuqK(M-`vGd8aIsD~X@<)~$honW52N<)OaHowGnY89ZJ6T-G@yGywqDBuH%l literal 0 HcmV?d00001 diff --git a/client/img/2/wood3.png b/client/img/2/wood3.png new file mode 100644 index 0000000000000000000000000000000000000000..8bab21a72815f3f80a2723636bb9ff965bf081e2 GIT binary patch literal 649 zcmV;40(Sk0P)h6<>bufPOpeEx?aPYrZM{zI}DJ~#KaW!lH zc;5awD9u(jx|lX}(7irA6zN}(rEqn#h>Lo4P@1j85hIw#h1XNuN3V{HxR24}Aei!A z&)N9;1{cTBK^WNGzBpIka=qE)60b4~4$Z-$8V>ht>v$XtVl!f~$iP-eqM;1~uN_&i#4zyMdWa>4fiSS) jt}gD`+4v&oSAYQk^C5nfe!gYp00000NkvXXu0mjfmh?BR literal 0 HcmV?d00001 diff --git a/client/img/3/achievements.png b/client/img/3/achievements.png new file mode 100644 index 0000000000000000000000000000000000000000..1dccc7dde56081ca65f71e1735907df4d350dd48 GIT binary patch literal 22376 zcmbrmXIN8d7d9GabaZems1&IRDhdWfiu710DndY-bOezSiu6t_qf.lp;a2p}LW z5ir0=i3$=SKeaL7?9sZ2JRv=Yh^n2=HTnpx%{0GvDihAy@rfL1(V{I=ddY;CeL6^+xo@n{9vn`TJX`DLwL7*o1wi!=miL>%U!pyu0bv@w0;DyR+M$ybo2(bvo3R zeDLehga5RD)!jYk?mok;3B=QT!%CtpsCa61z2_)Z$D*i9-GXtW5kEgYH`-97>7qVz z%T_}oNn{fU^ii6i?6Emj*i(C2p>7Pg5zubjZ({2|H`ia}k{h@aq#*d~3N{SRE>s48zndRJ@3Z+u(i&Cf+dXn(hP)opp` z;BzQr6R7!PSjj#>2Iv2YFKq@0tupj|_TrM2ssAy<+$sq<$%lvNnjb&ZNc^~pT@ivK=71yt4aKH5r9KZMl0{jF? zL&zy2_{W`Y|9-~jHw#S0UA*j+uz1nyhFJUc2Hm!Qgm3X`@z8C)K-Z1|#8JuiZDl7M zz0cL~5yb=26n|6aS#I(MV{VjCz+Gs^NP39hycd)15inpV*KOz`I3(UQB<9{W#RWhVBmk>lsnFFWG0r%>U`ty-ni6%O2K_9A4LWRsdi5*1$a`**wlY0OZIGued~;z6f( z`<7-z%?(`)CK<`{Deo+aM{}#mTtQZwhZJ{sbTRIxLsk*fEwJnkcbBjZx`2n@e9M*mu1ZxKi1kcl zgb0kXV}!+Y+HfdSmKEKZf@D1@5c5Vn^`y;X=(DyfrQQj;aE=4xh|Bvc^fi~~eUb8< z&2g32wc0CrZcz&L_g;vdRlMy#-pE2d+4JR^Q2E$f&s7*D%|V)VFd=RI<&xvY$kwGN zV2F&fyvUQvkE^)41f~Ag2jq=r^*UDab^Y?tMQtiWKGr9;l%Wl!FgvrNYb`}HT72DV z(sQCOLy=GD>UFE=K>4q0C%Wo%A^6bfX0bUt|Jna_q6gb#PrLkF%P?WLl|o`?ub^Hm z>O6|?lUg3DdOFp`2G&UPm=nL+XzwrIjaTAl@1MNGb1E8H#zpafM-|3%$%(#@9?uW^ zE5#T0FG|whE}Luh=1f8+m1<^|D#n^t=5geO8&eycImp6<01l8b(o^s^&Bmg48|dD@ zh%cbL>Dks@B8aanf*ouu;y!n+V8uiamt&<2v0V{TPUOxACKOI1jjN|hKzEQ>;cR33 z*cKz-7d-kOltmTSNR`NMvD|c%dRl91_|9IA;WG=9fE1`1FGgJ4`(f|! zXf34EbT~MqQrz=F{ND+JeQy&D$d4`CpHok}�TQl3I8?0RZ#&Gsh%U&h{E6%n)om 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 Xs&rq7V8!&kAe%g0{an^LB{Ts5*yNVv literal 0 HcmV?d00001 diff --git a/client/img/3/agent.png b/client/img/3/agent.png new file mode 100644 index 0000000000000000000000000000000000000000..99240b7f4fc3676bfbf841347e523c00c1f6306a GIT binary patch literal 902 zcmV;119|+3P)}{_oiV1*&(nCOifB*pj0s;gC5V3#;gF&d1_5KZp z!(kGIF0b8XTJZX4gsR&ieun@7L1!FpGq&D5yJDU5=*hAf-@kjSa?R_vHwquSj+~_H zg98Bqg3KaJ#@5QxZ*zRK`_^k6ZT`xV{aj^dkxHDkR-c;>k2V@-I1nHp=#F4F61CXc z-u-Ev|9Em9Xp|tCXSmP|$`rtr-fFQFjZ28qUule)mu9@-L<~w26 zzGps_MA37q4-Nzf2r`Q>&3^0HbxskMQ+;qCKtPaLgnjzj7vt?3EA_K1dQSDhfdBzP z#$DLQJD1J)($f#ouGtl-*9Qjz1OypGnA{%V`}~)*T*(3KH|8CQ^0Q@A9~=k}5Oip( zO+4DX?=jw@%8EaK*|8pO_8e6k7GuAoZ_x7yOlT%anZe?pL z+BnlXQ+ZvII`tW|PVkNu2Lc2H-OZ%!^c(Gw!=f}eTFI;-CxLA3v z$f=BYNvQhBnwJqD{F^#(AV5HnS%ih^ytEEW>o`(Di+FjBb?PG{vgwG&fdBzPW)b#s z;k@;@(+;`|XPaF=;y81{p+0SPrZ^BFAjl)adLl}^{=p`1h`FFeRoR^-@io7`5$s!^ zHX|Mf0t5uz(dzrcZp_V@lhxU-@OpjS8dZPR?wRqC`NvTeTHDT{U1Od4jQLr%a{v(r zbYWiBUAc`xvs`T#qV|H7*ka42W0i5H?X>i*kG2aD2Ld7th_E2IJkKSgO0)M|afzXF zPUrQ(fdBzPhuuJ%Hxlc-o-)x_TguPxGOf<0cdwu2Mj{YlK!gDTLO_6k009940t5u$ c!(Rag0BFs77!B(60{{R307*qoM6N<$g0b?d(f|Me literal 0 HcmV?d00001 diff --git a/client/img/3/axe.png b/client/img/3/axe.png new file mode 100644 index 0000000000000000000000000000000000000000..e0cd012ff38d1d10b78a2f95eb6b70c15516c7dc GIT binary patch literal 11835 zcmeHtXIN8NyY@y@L`O2iCE|t*!6#n3Trn-*eV^YoTz^FKQHgzfH11r8Xg2-5s;=FvsYdiv6ZN6pnN9Mt1M@Kn9>Rz7 z?5bDD9%0W!?>R4mODR(RIh6;{i2zr}BMJZ;-2i~|!0w+Pe|zuW-(LHC)4EC49<#*= ztqEJQ-l6x)YT5keXPx6$b2kI65QM{qzl2L}lZFbP*`ep();aD!hPyD;UNci}PdmO` z+S*?fI7t}hjhK3`!wWD>$UU{y zxK^w*41?OwlPazZ9)u+LosI;0Q0;En3}I#l&tH?qY&gv2;nZX`K;9^+Rj7f~#5@?9^S>e{@KSIr$~_ zIJiK}X(+}J_Y%4Ps{O^y-w*hWF28}kp4o&#&%*4WSFt=Rf0d>!N_MU6Q;|qHxi6Ne zkWIdPVQlG64lM(XG%}jY<&%cayWev|2oi~DOwA(gC`PaIro0CnJwwdj%377ssq|y* zbj+!$7Ob>?*8xUKx2JV+R{NElxFA_b+tUX6sTfpE<-MY>if#R6hi9WX-%CS98m4bX zy^uezetxu~{r5gdS6abO>BGFi@4{%j5d2h0!B}AP(*_Ut%MSc8;g!-av^4QXILoKB z>@Y_~#%hP`@;ejo<@Zca8{Viy$qU8g(XvzK9ULBN`@+L}>49Uo_)6bIW>zk~Y-u*0 zTfR@9Xrml>L_LAi?TzF8s?Xw4mNZzRcjeSBT@3UER9hgQNg8%#F0$~nkQTmS=*rl+ z7*u#WX8i&Nj^e5;_e_=i(x{Tze#PlgPkZ5xEV-VM3SM3L#V)gEp7d5M#3(vLR4g%C zONkeBiw&Tud``Q@n^((|A?hXJZ61HU-aK~Drz_CctDIbCF?D8wH@h(9X$dOE7b`Z- z>l*%a>nz8_J+e^#+$Nw5l`XF9E~;CH{eaC8ht=FIJS(4r ze#A$Y9UQSr$zEEE7M@iBUQ1S%J<-y3*BNR>_$V-DvR-jQGkEBLTP~8nW?T_!Cf^gN z=G`eA{6V#bx$r=a+EuA;kR$I(jPxfYE;K&8`aJ_ppLxv#Ky%xtwiXx0=F#5noQujE zh8Fly!81B4HRqUQ2PewWg9r-EqxIZp2@IT#%@Cyz?r$G0a?e8d59~XVfU1w8JwYRF z6%%8bt_E;}&_%f-Y8K1n!8&2MlfCe?CivaAd*^C*WQccq&@@lQd({`F?1|M4@gKvd zuG4jGK~Bcv**j)EJJZa(3^v(J6FR04S%tA>_9mXCqc#u`bpM|m4ag1xfN8cI)li|k zG)SRTW~xRIc1N%{=uI;={D^iZxnXS!#8i0`8y+CS)NbnGhq42W=t?h*phFK*`rhRwfpMw8&7mTeX`y|X zm8v}gdGUz*)hw!%@MSA|JMqJF)eV=-#81YfPG(sMw=X!Yw83Wi)FRfsJSZjnS*5E} zl~Xok`wHCDCcv1-FcEe4xg6v6?I?#^Mjubtgoa)aUtv&OHL{QaSg>kh2c`oi1q2u+ z4qQ&HfXnxqE<$6ovu(vzg~_vd?laFn6Hw-ryNhhyFMzp|M0*kEuh8?SNuGMRwbKRT z>V)%i!j!mz*LVXT7tZ$+uaTk>zQ+X4HL8eCo*gUx?7pJJ8i6eFLTlIjBuWt5K67iE z=?BcvA&<_&?aULaO5iedv^dk;^T84HBz#|a#gMU`e7~_rG2A;tszJ&JK7Sf7UN(JH z@OmMV1qff}u3}Ure0g?ZT44jt+<^iq2`L9|g6j84;hgAC?+X2Pg0A<^g)+$stgwGj zD1*NKBR2v=@Q-{C{U2d#2;y5{`R`WaVDe7Awl76__@{pb17R2-@RcC_{agzJ{rF8i zh`ym&(hGCJnm$Kp=S7z4l)@l@niMCi8mmngZfr4HdjCD9*K5ly^F%0fR{@k+`B$iE zt(Ojpr>9v*mc)R+EZ)y?b44U7{B3?y%e1TulMghD{CMd=(>&{biw8|Ev6G;~Pc6d~ zq$B`r*0t{u{*BX_gpAzQ57=QEK@i)qi0sz1lNX95TF@4$NNK3*C(IZ=Wx3gCE@RZs zt~jbLjl~Pda2%jc5h`PCpNVkzJuX8uTYTq`poZ!}D`T^{2d82E)_h=f0b|Tb1ClWA z4Vu;oYGj$uJvay>+wkGR{62>GxafuM5B&O798i0>E(E#qC%>F~uy8BMFoh=~l;caX zgKFDNzJ8uk_F9V8;ssnCxqOm12Cx^3Er{|02a9e0qBD4I++cr*tqZ;o@75*_h;Scx3afHe^^qQj zAd`8JG&cuxT$4+lTzWly!RH29koruJsCp{wh;z9Edh9NJWz=s>;LcbS#iA-`;%-dC zV~e0a3Lif@?5#BAFK(h5t+a^R&Fg^UcAwsRDwQHn65c4pkmDD;=-PtRl}~g{;yF_+ z)2raD#>9ATHtI2+HJ3jn-v(B@%cfX$L_Mp!@U+U5Tm2~#RH>iPiM6|#k*!r_T+~9~ z%BuoP-k~GgD2Fb&!w=nPyzQ0HSnlqH{&?1ZA|-nUKQ)d30kh$ml98xLA5;GtK>_rA z8B#on*FrA4ur$!2yXRatluj}m3e%Dyd{A+ksG`vCa)-FcM;~1hBgH+ZF+J95)6-_lzlzM2^zF4L$; zc~NlhAw7*+|C3Mi`zvfKJ<2X|QzIuTeTp7z&JR=WQzeQ-F*5aF%bK$p`HC=~e7gi& zm*VtL0dwm#O+;G@9{v7-%xW#C*6@w@Ijp578Lq5)qn*ZHG>8}L;WLWNnbF}RbEi}Kd<7&v zs3V>UdI4BfH#$Po&-Ze9TYq7!Wy$-bD{Ne?!^e(4em)(FQ1y2Tav*O*F9t2BpwC6u z)4Ly*##EeXaqqoNIrjGFR%L3ap>bo9>cH->;*vUjr!O}rwNWnJyNT$fpE#@7?A$#W zQ&M1=KCZgkDO;b3x`uXt*eCdb8JGxy^x2kYu#?fh0JupqS*7x_pPUp{9lt%Qj?hBh zhhoFG2mv-M7#UEShZx3tg)V(9aqnS9Jk%DPtiE>^sBJQIetqb+jM$884vw;mBUPaL z`W_aNhJ_Y4<%!{sEDlqa#|BDa+F~uGhrxJmOASpueJZPWR|_UQJWn7K-9PdW&b|K$ zMd(MrfH9r}#nhXsQzi6CVoOI+RUaGxrrKXQi)A0WY1yrB!;xpYC>c-i#pdOoibsJ! zX{I8<>oBRn{*96G?;N^9!zGyfYX5n$Mz~g`4FHrreHQ}4^RO-O7ak=VJy{^6cTtlsm8Y=~Ai$n-lXsMpq3I8Pb$3wd^Dd2*0r@FY=0^4m z6vzZ87J{rRenDS3X-VHf<(y)oOwg*RNgjyJAb+218k{Wh~~XpJ)}$=6l;P$E2)RORnWkYa`e8PX_9G{VkVuq5J~3~;4aJz;y~f*PZIFC zT3<)&dd3FY8$BjuVwrq5wRd3#e&hJbJs*erh{LFe97O2iLe0?y&`qnu_A~B+lw>CC z5{UC0SFVb37j=qtst-rU2Atc=4jjMS-2uYcR|~vR>-59klEqxCzPf}<8p4r1zK&X> z90JFyhfKGeOFT8l!(Pz(qP3X_O4zGa`vKK;Cysovoi%UGAOW zq7jFA39yJBjwZg<+#o98t_is+zdW$D@o)9tUk@t5R?*)K=U)#d<$hQ`7Ulj&*ms)y z|B4!2!TwZdqF=SrcaCTSFkr}OV8s|DrrP8b#;Obp@!h-blW`B=`5Ofh6zePo_N(Zh z-(D76Rr6Ww>P$2T->SXHfiJRyWjDVuMbmp}7t%jd1eVR8Y}^81UAgLOgSd`_&I4fX zFQ`5%FKTjR$h;;=$or0t0b zr}kLRQ&U@8HTgHFfCUX-iUY|GD#xF|e*n<;WbDFxg1vlVBZ0zp6XKnpDp9j{xeXEk z_(*2nW^4u~{~SoIcvZU3rmTNK=4aTQJ0!0?3GN-1>Yh)GkBvY${%EWQ0Edjf*T~w{ zRl$z$c5)J%lB~&v*^R)6Ba0mSShj{0psoctSN2&?zP&tc!q_?~cP;E+8MI?DRwHnD zWxdsoxb*w|X4Pz_PECXgk@yl(AhDvoUUxS$k zQFO^!CF%y2n~MKM{p2!&t0l^$sm^OLh|&gtB z7)>SmVp-fslyZ{IeiyGUuC7>oWP!}~Bj?IOO5Dq~qm+93DYrN~9Peif6{Z+{c6#ic zLt@)66sksBCY4*uZ*t`_0)vCLJMUV3sWA^i7J~36V|CF+cydZgZe-oy3-?a+>Y3&? z7`(<=8-Z+=D>6vaGzB~6xdW->VHJF*bNj+7^*$y?>FSJ0Y(X~VQ9V4Q`*ylEw-B`y zf^<0u?}`zZRg*z#Fqh$X^f{?mT4ETgSwvx#lpD+lu?YoYUbqCGd{#;K)r+o}uR1qh z%FUmf7Z20vCWMhbhobPSiJaro_UmKkA+cG;*#Bkw1#OC*PernZJ8ZcDf0C-%=%E0%OSeX(5_P}8u7OCPYlSfpEi z@8%Ijt4pPnt7;(u7l-yW_+kU1DVS}OW^M?F8WzX5(ymda840Kp>gdTAD*;YSsRXZj z#B7#C;jaOk@0(_2Yo+6O1+l@UJ&Gc*D^n`C`Q+pw%~cG)P9xtiZj6OJ9)cQIEwH}S7Dy9{(d(XF z-qlm^WGsSgfPYj#@oKYkwmHz8Rsw|Jk9=BkD_ zHKDzqtTJEF#CwF1jHe`LzJpswgVsYgi$SRbFhVNk=T)`d%Zds_5qtBIZY|8rKHS2Y zc+B4B=nQf67`GRp2P2YiG`^xs?KgYwnO?AWPjR}*ql~c*-Y~a(hEHr^1DvjXWa?|{ zhnxm@daFb!c=JY_IagD(DBf*Wa=W5AJ49(J5HpImG$N=cW|FzBAfnMDG{V$D)Kv3N zsp1*^F(w?J2Wc~mcZYuc4T~IFkVCG7xWye0p(th+%U^f5C@C<)DNhCBdK^n**PT7@ zk~0EsU>TCC-#x1}Yam~D|Kz@qmeZQ|ouaJ34X0@u7uif%SCZRFG)h&22QhkF!x*=! ziPT7j1$e%gg{&iy`DSgL;C!9_cz0)&SZdbEeRr#A7CnO(ae=v3F)euCZE-3Hq=tWz zsyOBoS&&GUCJ|TUQ#lkF*rI*@6ED<*$a|zB0p+LAV`%HI(X3m^m;U4lx)J_Cw#b4V z>W{G8=yn4D=QP3QEKa8}W3?kfy(_@9u`sq=o#)oy0`5N|fFGfWAEJW)*STvSV?8s! zvDWdq;DH<-f^2Gxsv^kYvjM=Z23r%g8;{*kcAXHvuhXA`t3UDP8FsSTzpy^_qf%E# z*f7_uma9uBvAi;9r-*2fwjo=)w05Y1@noK%6vhuCXW7*4oMaOwKlq|b&$v9l<;nM& z!14mvG*sF;!nuDyEH_b;M<4~&r~KLQx&~cv_Hc=&-@q3U%y0TUGMrRMxm4+MwtvWS zNPs^(gVA-`ee?2?R4E9nmA0z=u~tFEo!2mIm==ORS$hASAIUp_8o^66N!D0p-2UHrfX}5E4yEt^mUSW`me1x9^`B#vQUF8OpJN_C&tsEpX6O? z6#`x`n6`a%-rm07IEnlw5|U@~e05^dME!iooth`B4*pW#5cS3f?}_qDqA!0%HTc^#-tyK$7cf1ZDebpFE=P{x+>0wdQO*Zl=RE3VNmD zh99+Air9Aqe*nsV@R*IhxBa~(!~yRL+?^uMW44(82;-tW{(IC&-PZaI1dQ{22LTcw z>X6}r0iaWqt$_gh;7Slw17RGVCOu9X`teS%d`n<>xVHveG5r8l@}sKxtO$^Lfa54s z#X-Z#TQ34e*|$R_QcSa~?BRS6;|L()JtxgMcnV|1O{nqRo}U&-4VT)w7>+TIvOsiN zrpB46I`Ecpuas1AhlI%ychP`z110-GpsdJczD_CH4mq9_5L#O;j}CwI<_|FC|M_dm zMBl6ENSz%KgIiQ?9rrEe6EiZ}|2Aao);&k>I!UJ;vm#D4w4xUxDpze6L|`Hjn(%K| zH$W>?Vn__iYALqhnUeUfOS4^?&zp!UQ>7lkuPBR$nqPIWjBbJ|@lacPKj&f>Er#!5 z=7S|GB#u%?$|*u0ZdRIGYV0Ks-PaFEEpuI}IjvplRk@g4fB^s*wriyF0FneVeKlW` z{xe5P(Qng(;s!7=zeoZDTX1au0PjOY?3&{tTNF2tR?K$_yW-B%e@{LVLfE7U)b3cD zLO*P%B|)M%j-aBZxo|wKn?4F9IN>{Js#K t?*aiHaQ9o-mvsL}4-Aa=Z}6xC$JMQ@Ve*w?Dd7l6P literal 0 HcmV?d00001 diff --git a/client/img/3/barsheet.png b/client/img/3/barsheet.png new file mode 100644 index 0000000000000000000000000000000000000000..3bd2bfba03a5a5c80c30904a96dcf9119ce840b0 GIT binary patch literal 14467 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

>3QjN>$hTnLcecl*s+`Uc~j|`Nf_*m^5 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 XTd(XlsQCl}{+v5=;q>cMmm~idrJW`F literal 0 HcmV?d00001 diff --git a/client/img/3/beachnpc.png b/client/img/3/beachnpc.png new file mode 100644 index 0000000000000000000000000000000000000000..656289ce6637e3cd0547f947e204030c7f71a9ee GIT binary patch literal 998 zcmeAS@N?(olHy`uVBq!ia0vp^6M)!*gAGVZYS;V%Q6;VsCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+m^(aO978H@y_vf^TO?4VJ-tSR(bMECo2cUiSKdiKnsTo> z98l_Qo%)ZxY@_h(4ztXyo40T9PD~cRV8U&8LtxRQG{=xlzBLLFCoOu*&+C0ZbEhy} z{`;@mt51!p-=91A@cZeRw&mu2lT?^~gntucQfO>oVG`o-P-sY!k$9H2HEQjeN&5e+ zGfbr7SgiJzPe1L|-|rS#=nPcW)S&Bg>)O&+Ju~OqRxi6?b^HCj*&koey}P6%rr$E| zI6EuQ9Hz|%nbFtRotgPl`SRs78_U8AJ?G>1CLWvWb+qU9+iekFJ0)f3u8jEZrOh4x zCMV-#<+q~Z1!ZkajGQcsmGxH7bzZ$~$sDgGF}pvM=AXCvpSoRlb$>?8Tb(OE7C1OC zIVOb8P+K@@i&aO?)DE-tYn4-Py4UpcbFruhu%smhnWY|8d@ipy*W~f-^XA3RRf~M( zIW_Gx1SU8L%xEn=opZWptKN>@SF*2b9^VUoz30ul%ipBZox0%qwall97o}c%Dy8}U z)30BP#qY7&E`iv~Af|SkdCTYc-rweHuQqybRf@0PSmm_4ZjQCk(`sqY8YL?sM(*YX z9qb=jgKdvjOx~0A=g1KR(B}&x~K!&h~%N0*8iH#?XjuI`X@2uM~N; zS~hcP(cD1Oh}6h+Ka01Do-s_X?EiZN7?e6Z8#XKoZQD30|MUK{e>QfWJm=aqcc(&b zw%3}Uo^PIBG<>e|Uha3Nf7a_;aW)<-AmusR#Kg}2xN~cl&dZBG9$-erxEW4s=F8<)T{3uXCp)sN4$l*U%pIzRr zH~Z`pXJhdvhd1)~$5&pjTp?>RVcYC`$(kQMZn7N<% Sc?Fnp89ZJ6T-G@yGywn?)x=f+ literal 0 HcmV?d00001 diff --git a/client/img/3/bluesword.png b/client/img/3/bluesword.png new file mode 100644 index 0000000000000000000000000000000000000000..2b04024a475c52a79384baa2fde59166611a49e3 GIT binary patch literal 11070 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 j-}!I%A@<=G9su`p#3=Zq2pas^C!nLHrt literal 0 HcmV?d00001 diff --git a/client/img/3/border.png b/client/img/3/border.png new file mode 100644 index 0000000000000000000000000000000000000000..f4ddd1dd35ce8d60b32c6bf823aa32b7012d9a35 GIT binary patch literal 3028 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 literal 0 HcmV?d00001 diff --git a/client/img/3/chest.png b/client/img/3/chest.png new file mode 100644 index 0000000000000000000000000000000000000000..8067b019bf0f123f8caa1690e375bec5874e0209 GIT binary patch literal 425 zcmV;a0apHrP)_`@#Btjneqq4oHe@%CCZPdOLc}PN5a1pd z*C8dLVH*RZ9vJn&XeopQY;>_JGEtPkDt_kv3!18#fAJ+jw~Z#DQ4frIVAKPn9vH32 zr~}Ddje@2tgkV``M zUoaC)2E>5WUJjCy7BK+XZKFwOFabt$b91VXNKc(Q6?@!lKCoHAK~mZhuBAx(BMo$|5)F{*^=DCBpD>hjhF=4e)1$% zHIz)0AiIr$L1Hus4gTgdr^+3&4GmHmje!x=78;$YA5B73OhTg`81(?@03g5sIi+La Tp_vj+00000NkvXXu0mjfr2wfZ literal 0 HcmV?d00001 diff --git a/client/img/3/clotharmor.png b/client/img/3/clotharmor.png new file mode 100644 index 0000000000000000000000000000000000000000..a9467fefc9c1293e8a3c8260118807aa209e66c1 GIT binary patch literal 9960 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 ZnI=Ew(HN2|_;d~Nn~8;S?yoMF{};KJ7q|cb literal 0 HcmV?d00001 diff --git a/client/img/3/crab.png b/client/img/3/crab.png new file mode 100644 index 0000000000000000000000000000000000000000..448d57312c724014fc150452a87e8374017b547f GIT binary patch literal 15347 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 Vj9(q@RV&=T5;`E*pW_>w^FM}Z@@xPA literal 0 HcmV?d00001 diff --git a/client/img/3/desertnpc.png b/client/img/3/desertnpc.png new file mode 100644 index 0000000000000000000000000000000000000000..656289ce6637e3cd0547f947e204030c7f71a9ee GIT binary patch literal 998 zcmeAS@N?(olHy`uVBq!ia0vp^6M)!*gAGVZYS;V%Q6;VsCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+m^(aO978H@y_vf^TO?4VJ-tSR(bMECo2cUiSKdiKnsTo> z98l_Qo%)ZxY@_h(4ztXyo40T9PD~cRV8U&8LtxRQG{=xlzBLLFCoOu*&+C0ZbEhy} z{`;@mt51!p-=91A@cZeRw&mu2lT?^~gntucQfO>oVG`o-P-sY!k$9H2HEQjeN&5e+ zGfbr7SgiJzPe1L|-|rS#=nPcW)S&Bg>)O&+Ju~OqRxi6?b^HCj*&koey}P6%rr$E| zI6EuQ9Hz|%nbFtRotgPl`SRs78_U8AJ?G>1CLWvWb+qU9+iekFJ0)f3u8jEZrOh4x zCMV-#<+q~Z1!ZkajGQcsmGxH7bzZ$~$sDgGF}pvM=AXCvpSoRlb$>?8Tb(OE7C1OC zIVOb8P+K@@i&aO?)DE-tYn4-Py4UpcbFruhu%smhnWY|8d@ipy*W~f-^XA3RRf~M( zIW_Gx1SU8L%xEn=opZWptKN>@SF*2b9^VUoz30ul%ipBZox0%qwall97o}c%Dy8}U z)30BP#qY7&E`iv~Af|SkdCTYc-rweHuQqybRf@0PSmm_4ZjQCk(`sqY8YL?sM(*YX z9qb=jgKdvjOx~0A=g1KR(B}&x~K!&h~%N0*8iH#?XjuI`X@2uM~N; zS~hcP(cD1Oh}6h+Ka01Do-s_X?EiZN7?e6Z8#XKoZQD30|MUK{e>QfWJm=aqcc(&b zw%3}Uo^PIBG<>e|Uha3Nf7a_;aW)<-AmusR#Kg}2xN~cl&dZBG9$-erxEW4s=F8<)T{3uXCp)sN4$l*U%pIzRr zH~Z`pXJhdvhd1)~$5&pjTp?>RVcYC`$(kQMZn7N<% Sc?Fnp89ZJ6T-G@yGywn?)x=f+ literal 0 HcmV?d00001 diff --git a/client/img/3/eye.png b/client/img/3/eye.png new file mode 100644 index 0000000000000000000000000000000000000000..ee66ca27a81c09862a94088200914ac070404a16 GIT binary patch literal 22672 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 literal 0 HcmV?d00001 diff --git a/client/img/3/firefox.png b/client/img/3/firefox.png new file mode 100644 index 0000000000000000000000000000000000000000..6c18770e5c25d35aff6857560e0136a6071f3e0f GIT binary patch literal 12642 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 literal 0 HcmV?d00001 diff --git a/client/img/3/forestnpc.png b/client/img/3/forestnpc.png new file mode 100644 index 0000000000000000000000000000000000000000..656289ce6637e3cd0547f947e204030c7f71a9ee GIT binary patch literal 998 zcmeAS@N?(olHy`uVBq!ia0vp^6M)!*gAGVZYS;V%Q6;VsCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+m^(aO978H@y_vf^TO?4VJ-tSR(bMECo2cUiSKdiKnsTo> z98l_Qo%)ZxY@_h(4ztXyo40T9PD~cRV8U&8LtxRQG{=xlzBLLFCoOu*&+C0ZbEhy} z{`;@mt51!p-=91A@cZeRw&mu2lT?^~gntucQfO>oVG`o-P-sY!k$9H2HEQjeN&5e+ zGfbr7SgiJzPe1L|-|rS#=nPcW)S&Bg>)O&+Ju~OqRxi6?b^HCj*&koey}P6%rr$E| zI6EuQ9Hz|%nbFtRotgPl`SRs78_U8AJ?G>1CLWvWb+qU9+iekFJ0)f3u8jEZrOh4x zCMV-#<+q~Z1!ZkajGQcsmGxH7bzZ$~$sDgGF}pvM=AXCvpSoRlb$>?8Tb(OE7C1OC zIVOb8P+K@@i&aO?)DE-tYn4-Py4UpcbFruhu%smhnWY|8d@ipy*W~f-^XA3RRf~M( zIW_Gx1SU8L%xEn=opZWptKN>@SF*2b9^VUoz30ul%ipBZox0%qwall97o}c%Dy8}U z)30BP#qY7&E`iv~Af|SkdCTYc-rweHuQqybRf@0PSmm_4ZjQCk(`sqY8YL?sM(*YX z9qb=jgKdvjOx~0A=g1KR(B}&x~K!&h~%N0*8iH#?XjuI`X@2uM~N; zS~hcP(cD1Oh}6h+Ka01Do-s_X?EiZN7?e6Z8#XKoZQD30|MUK{e>QfWJm=aqcc(&b zw%3}Uo^PIBG<>e|Uha3Nf7a_;aW)<-AmusR#Kg}2xN~cl&dZBG9$-erxEW4s=F8<)T{3uXCp)sN4$l*U%pIzRr zH~Z`pXJhdvhd1)~$5&pjTp?>RVcYC`$(kQMZn7N<% Sc?Fnp89ZJ6T-G@yGywn?)x=f+ literal 0 HcmV?d00001 diff --git a/client/img/3/goblin.png b/client/img/3/goblin.png new file mode 100644 index 0000000000000000000000000000000000000000..a79bb49dac78c5ebbe67585cedf8f9e827d66ca3 GIT binary patch literal 9992 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

6_*VF zc9i}e1jE<$(9tr;3wV4a<4ente7TrIVR@)|ybK+8gb+54f6YGuK{Nah`bm~BOG_1K zG@+Fs$y7O*wFuwV>YX+BaP7nBmZ(d>pPH49r1!o6OsL)BIepkuJDu2#X{1 z+uww43FdF`cnMqP)ikt9Nm@Y@1`YdjvtmxEQN1?>1=JOgJTY2dHim(8&1M z)G)(GG3OpN(Of+JB^1I7Z}3;}Hy9aVG9@fT>T29Y%?x~RS<@D`6S+iH zYhw5{7Dy2}Pvqcyy|Ik%I7`j>F=~$*0wdQi;~ia2-e?Z}Q5(U9lp5rO+&4cal$@9RRvCBM;>^P$>FWin2fd|lj(N$ti7_4hP~qfW+nh8m7G zh3^$p^!0SWq)83V-Ul6)BcbYuPDAyi*$V^HjzC;o^9-Vwg*Rft zYdW|VZ)MfmcVaSpHESBj8pby^Vb{>iOaj-%(Jn~1svZmoOId4C!(oD;4qi}MDUXkP z3r_+4)}h)X>QuCh->0KA9?KKhm&e{2gnFB;SsxL186huTreckG6&Q6TAp#*ZkFgyC z>MLi^8c!bFuHB5^$IF2B$_0I73r{Sn`3zddwh!K#bh=YAE?=dz3gij32qQ7x%!ow8 zfeKd8E3{m1%_6f5ZcHfVUb8AsXR*4B9(3F46)#( z$^z)j2F=mwE#tj46_E$olA*5cPVhWC9hu;NDGmU`BFbU+-NC8bKUz?TTVx1IGl)4rAs1 z3KUcb1YK4nN=h8_q2=~OP`Ck!T{8UD9+A~vlPW{|Xa_+mknnn(4;;^N{KIDaz9#io zQ&H0t_zprh`(Ld!acS)LbV8O!@{=^@YcPJVXFMJ_csPe|t#eUHK_+Ek3NRyj;x*5w)O;35x zM*mZXDN`OSye%@$mT#LrLaDCmy4LRN`T4^5K&jwlc2zTZ#mlR2k@Pf;(@!iqHIGWc#K9Cule%G@a&VFQNdBNhb!U zf}QL@Y0e*{HGRXP4fh7kn*1qFch!pmnq+eW?3cou+BXZb+3Xbe^T*Aun|R3gEAdA<-Ht4N1RC-UNr-X#fU1p`3+htsAGpFG~^e*5}$ z(7sC?A$y}wQ;}XX(c8BblH8lt>m-5)nRSvkkMqqdB=8q4iW(0HuXQh|ZGIJ%m+;xL rgXQKeaSNEj2Sedk#otLy4|l!cL4z`yG%+E?=~-wOO+?x;|- literal 0 HcmV?d00001 diff --git a/client/img/3/goldensword.png b/client/img/3/goldensword.png new file mode 100644 index 0000000000000000000000000000000000000000..3ca4993f928224241488e519c20049fa3b93e05e GIT binary patch literal 12084 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 Uj!l-Jr~;flb>U>zAC|ZO3r|T5zW@LL literal 0 HcmV?d00001 diff --git a/client/img/3/guard.png b/client/img/3/guard.png new file mode 100644 index 0000000000000000000000000000000000000000..c817c65d42a51fdbe143d0571a55c17fe65a7de7 GIT binary patch literal 1166 zcmV;91abR`P)&MYa zqu1+|;r$m$=2(ToCFUp=V1+Q@Rw!*k%I0yuQO5W7_PoYlSXhV^OR`#|_TEZJ@K_Do zB2g^B3Za@r!@fbP+27jQTGF1GnMvBSv$Mu=`u%>=-rwI(+S}XPTICWA`EwO!f5VQI zuPss)0#*oAg_)6(E|GGrp&cW~93b_Tqw29jv49H;Dq0n46fsSv3O0V{+FsS4#YsnoN%%u`mR{DzWxIi`zkNxNyc z+d(W$OB+Ict|DWFVgXhNRE4q0=42&xY>UQfOREZfE2*WWC1d~Y?ymK<1FSjtj8pj; zQ)z>*EtWP`RE2;Q!h~0a5_uz0%6`i7tP=X-)`g^f?%s3bG3)E=#{R9XEo1+mw@;Gx z?Ot~2&Vv@8)a*^KYH?JtLa_iV1gtQ!RXx7X*W^@>Cv5&fYg|U;k)=k+af?q8?^P0d1B>) ztjd-)pjdzvLUovO$^0`c95C(%Bip_*e(6o$evr$}+o#uto?Zz1 z)6xd*W@*wtH#g@Mt0L0|6brCIm=G%*V2hDS(g#$C3C(8H>s%T~_sus6>+_Y|T09ON zt1_ewC>CIaFlJVm2f2<1zcD# z##ZQCAxitxY|&-uwRe~oFVD*{Of-Y zgbBC80rp{Ce(tix_kgAA#&Hf7uUnKSRr7AP`njdSy@@p{&n`G(d~BshBy~i2v{Ltg#aiP gaACn1@lSvO0HPWlj~Em>AOHXW07*qoM6N<$f=q%hw*UYD literal 0 HcmV?d00001 diff --git a/client/img/3/hand.png b/client/img/3/hand.png new file mode 100644 index 0000000000000000000000000000000000000000..01122fbc1bb78027a0755d80816f07acfe8cbe3c GIT binary patch literal 395 zcmV;60d)R}P)O>DsE_eM`Cx7ol&XqBdE7=1WzJyrQAG*sYI8pn}qUYO{A zY=BE;yT#Kq83P}Mdl-GN=&4(bxGA|H?z#@cU)d6d(H~axsJ4%3;9>(R0em|Eqd&6d zS=&CUswywszBXX=XEl5;OJFj%)W5cE1yL^_jQ;Sq{*PWhoAEDTMrlP%oyF)wKyTF= p#N6;h4t%eNU`=8$`aSg)U;r04V|O&9ipu~1002ovPDHLkV1miVszU$( literal 0 HcmV?d00001 diff --git a/client/img/3/item-axe.png b/client/img/3/item-axe.png new file mode 100644 index 0000000000000000000000000000000000000000..6226bc5ffb834ea6d8f0bd8737d23a1c4941066e GIT binary patch literal 745 zcmVW-vSNRcJLJ+j!Cci&>hsZ5L45 za=9FGS?=a*#*XKFK6_Fs^uZDUUVwnvd9eg4Obr!g$m4fw(w3Nu^_PGEyZ`|zm{&+k_f4*L?YpY`_ zqyz-0U;tBAFcn6H$=w^N+P>LrqW3)<4$<2aRCpC~g8eT60V)`vg5^f*;t{T3v{qpr zTVbNYy^&hyaGXOb!@a4H_uKyx5TJqqDp+sS3~SdtB3yU-`uMxu?t0C3yH#PHw89LL z8uPc$AFsE6{{H*$cTrWyvin~G0#qO>E5H zzkIr0@Z;B?st&cPkP;A}f&mn)V5K5lSJPCOc~+R-xePhj7LIv>xu}p6?0*ReP{Dxt zX;NR!oQj>7%OzUD21d9ra)%MOcc8fkpKczrcP^{dYLSSSsR+HuiKG8H{@%I#)!to5TJqqDp;ygjgD~PI}u$}%ZhN}^&<3hRhS2U^>*`wzlXD}kP;A}f&ufBJcyW5 z>VR3Qc1?Vc>>ft{Gk+-MS@ypK1gKzu3N~5HOC2)2Imo2KfCL2K1qe{V03;y53lKoQ bHvt9!#J_+Gw%PHiEBhjaDG}zd16s2gJVj5 zQmTSyZen_BP-4VGmBG>szuD0?&v&hHZJpAQ7gcq)L zm5rWg>Fvt39~VaCKj7gf++G%lYTpK3?4(erU)2_s`>Q zRGjntKebx-^O1{d(hvSK{vUKL=)#}wh|?O0|9rpiulgOvxSz&iWY)qnF1`t0A% zTHbf`x{drip2xrA-?tTRzpcBdX{Eu{l?L4Lr`zWSC)QN{zHRh;z0;}$pd$iYSi8># zA3t{8e0k`GAFf9#&jHnLU2U-Q`lWxh$*<--zJFRsYXjHJsSIolOiWv+y6^n&c)mjwzdu%8eFimHAo9k2*6w(tp4Snx9{-iy811nYp>zV&*u)$FO*$ZyG8o`p&J_x+C$-hH<7WO0^-OxwrB=cSG7&FnreJ+#KJ_2jQdF|)V=E_~HW>4d0F z_`1Z3TkLey!8XZwBO8&2k38akMXs6>Sg)9VGeNHO=6@l91x<`v5rTmQX)WFMhMv3P pS{b2w%PHiEBhjaDG}zd16s2gJVj5 zQmTSyZen_BP-n18J*|SuXPrTBf}mmS1`p|LtIPIH{&{0& zN`CpXXO*kY-o5w6y7=@*JDuGpPj5P-z|*y8$EoAB`%nDY#6HVMttRpU$Mpy%h6n5% z43i#PaS6{o6j99gO}>)%(tYXazUR4HS)>FQJ}|Q|T$t5#_SN?A)_GSS+zGoIz2f*m ztsd{RnZ)dMR$pGfweqRv+WI$KlF4;I-3t;J8k%le+8LPU zm*4Pc4V(J*$AOUDyYqv>B&wg87T$S3f9?9ybBf|_{VS4X`yE+b?5KD<=tsim%MA<+ ztjr7|XV!T;?G}q&_*^tU;_6QC7};p4)|sc(;=`}qS6zPkANR#LkxksKJZAR191H;l z3=Ri-xH?ydX!xjeB}eQ{-gdtJ+VhZo+{^zy-6+M>`sT@>ekHidfEf&;%U^|{M&uuhhFk)1D-!!Alk?E zc+&kfKOfpo&ixv_wf0-d-CvRMv6C!S_v)*wo&TBq`PjLBpC{+1m;7D(Gui&X^ErQJ zCI%56hD(QEYDKt&C$8bTEX-vbBy#NgtIqC2DWAC>7sdPM-K}5IqyJgs^Q8;NW;$nt zKP%G@dh=TT_fPp)Xz)+i(UcjU7%=0S$gxuwud84E_WFD9Z@>20bE*>X!^E~`S)Li-u^px-T#rrnnd#pz6q^fF>#Ml<1k}eu;Rd`vS!~{VcKU{9RIXXNwT*BfSDI%YF iwV=`M(O=KR!=SN?&GWLrwUxkp$>8bg=d#Wzp$Py|^0$Hj literal 0 HcmV?d00001 diff --git a/client/img/3/item-cake.png b/client/img/3/item-cake.png new file mode 100644 index 0000000000000000000000000000000000000000..67c78c69442a02be7669cd65c9bd9be9dfd04885 GIT binary patch literal 1535 zcmYjRdpy$%6#pUCL*(ABJjZ8VACZ!|UTxPj&*Zhl=PohZ$Q0!@$#CMn@Qf!iqe|bCv9Y6clWB#=l*fd`RAO^Ip_QRoGJGJo5}fh`M~an6BpsOYdbA|?h8AaK#4czyRvm~gxw9)r7jr5Aq!02C|T zk%%*i6N_a*7j*nJGQ&|N+c(>X&yt;9`9(sgh~G2(eJM;Qu~W`&Ke3Z@*8JftNNA6` zsd`^ww_i;KH3^IC5IA4ETXC^#jmf%I;b-ZhKq%nEZx-Q#GRnU!CBZ*>CL}aDY@P^s z!{_r$uM%nN(c*9 zhtWm?dp04OCV1gPP{Q6;E;nne`9J>2e3u@X~WSr?)e#oD!4an5+j6-s-j8YW(l;mv0d@b9|^t@9mLR+ z;_d%whkYtQVwulS_Xd-fm`8JogoWOq581oeVbqS4{r|Ch(Ss^C{37jo; zS{1?Ef{$j5JGhieIGz(%hi*i5@Q0=Y*f!$qm6f_8fvxn5Nxh`BE$k7i2s}j)&Rkm> zy@5j2`VWFY3i=TFArn?L5$a04KCQqQ1G(nWk8dtV-iu1TTtLl0Uo`*5{-~)Kdq%a+SsOq^)};OV1c%7lj3n7LRCSL2I_nhh6ok$D;!% zTi@C&VNo`4Q45MOkhk8Gvi((%{vY7NpX)4`IT`fAQ?w&Nvz&M_3O*PH5>=i)V5g>F zn5x5oib?$)7=~bxlRx(f1YPLQp38bLsPPDXeEvgB%fj$#d52-_Vl2@-=M+Q#u@~04 zpMjd5^ekJ}tZ%4)`Y|sLE+a@yO&_B+V4^OGOLWPciFurWx7W3|ZR4x*Quh9)rD>wn zVjqyt^9$3tPlv~{EF7NqJUBhAlYB|Y$g^R?o0GTSh5$%p+AbuL5hxgZ_qicj4~p(g z>htH@R#L47rTMWh9d2WbTAv`PF!y1el?BtA^1ZK|n(v+GBZ~A6Ng$WAf)DB}u_t{J z`k+VGtgT^7GsQd{-mXGbveQ6`LZ;X9GB}Ix`WLO^{{pvwe_?p}o@)S+UhS}CXbU0W zz^T3P14ZlMo8a7@&c04|E}{Sjb3WCt)1G3X-2(>G$7JWETR|I z+|Wh5ul-wHzK(jL&ja5_F^8OQ488hrdLOQ;x~A9TZqs}08+u{nfHN3-In?;|u>lY% z`Ct9Y4pB^ztQ=l-4QaQ4A8M~04NjS9OBQYFnI!>B3nTVLo%N(}L1bQOeHlZ#QK`+M zB#-$>c7dfH>2T@r4|$$%eegW0_kC|EYm~#@+kB=^GUqf|r&EFx)(x&9y7?NC3hy(d z%d%61I9@kka^fS_dB)qy&1V=xM!4Sn4UR;oWRH-Hc<-Kp8LT2|wxw+;rq4wmC=5n9+mv4JtVK_{+M ztB6gl)S0R(N{+}~Zs(CAil-u)IMIw%PHiEBhjaDG}zd16s2gJVj5 zQmTSyZen_BP-*D2eDnX{Jj z_wybO$gO=BHZ5g`cj|=rx}WA}@|l>{Bs7TXcylObpYfKxUm82H`@eGkpHHX%xBXF5 zIKaggad6X>(z&L$miFnp*8O~{Kl?rlOT@v3$1AVxnPRu^_SNsT*LLRKJ~#jSzt2~l zpZ$2P_S65O{PuU(mG=MnG`oR8Tf*Ux_W7o_R$}jLo0!xT7+6^}6dV{CH548&Ynkv#kRN9#LGfBt9w`Skx0m}Ab6xs&yz{(tx9=8TMC1`jI2_VzI!U;&yBwgf?dtpgH!j;?25W+?f4{PNP2 Sd3?Z_VeoYIb6Mw<&;$VJ>%aE^ literal 0 HcmV?d00001 diff --git a/client/img/3/item-firepotion.png b/client/img/3/item-firepotion.png new file mode 100644 index 0000000000000000000000000000000000000000..5b7474eff366d90318f3c24e0f1a2c873c712485 GIT binary patch literal 570 zcmeAS@N?(olHy`uVBq!ia0y~yU{nCI4LI0<w%PHiEBhjaDG}zd16s2gJVj5 zQmTSyZen_BP-*5ztv_XHgCy4d;0(MR8@Y(6o%jvxeg7y z92*!9s-1oQdD-%7I|V-Pk{5GLOcdUl&dDGxu%Y;yZez<#gG8qip6A(fsxz#`U*|J1 zZD3>+@;T%&LoHE-N9Ym@i-$o&ui6cx-B!H?Q?E-efO@m#OWdbYvVEB&8(;r`6 z|6*oj+TY9j|M@yJurRAcsPEs$z3m*w^$)QdCfW;5Hn^v8pYnsw%0PP0JXyih8`tyuD_ z_0(LR#e(m)el342nD_J7RgUrkVK?iC_21UdRDAjRKFFUAO{G!~waV>s{yGKnBnYW(uH?{#wT(!Ekz}OV2H?KOVruz~JfX=d#Wzp$Pz2_2)(a literal 0 HcmV?d00001 diff --git a/client/img/3/item-flask.png b/client/img/3/item-flask.png new file mode 100644 index 0000000000000000000000000000000000000000..8e635feb41917084ff107ae5249308e88e85583a GIT binary patch literal 556 zcmeAS@N?(olHy`uVBq!ia0y~yU{nCI4LI0<w%PHiEBhjaDG}zd16s2gJVj5 zQmTSyZen_BP-;_1Lguw^aqZ>vp-hmjW)C8D`d<`0R6V+XR_I535(^x+}JDEZ|j^7D!-b z%5m7>UnrAbwcLrhpL<=n$%2e!7yUQhb#>%d^9 z;LzkL!MVBE_WHTCSAK2xa0=V=-`Ammg;^zH>P5dp9y6l$9J&7Tqsh$jpCPJCI5{RH zF!-uPl&MTM5MtxZWMWd0I1nfNMt`?gZ$b8Xb0^_X*ZzEYXlPrvZ@+KC=r?S$4R${N^ZDB>xq6xPes7ZmtIBmjN^UeTNckCXDkpYDuH)M; zzVrNvxYJKQX?;FnvFYF6{V+Fa-mJINF*=m{ODE#+`wq_;Wx{H<3o}2>TlX;d8Rz89 zpYMpDoA!7G^GzkiY?wc8?BDDS^oQ1UBWtUdr>`&cI3e}EURXfkAOojbqRN@L+{)vd z`{(ygnxF;@3r3R(2|{j%c&4?OFft19EO^8r=A`kpNjF~Y{_*)~Y(5SRyc`QobFzWM m8W?&9*jRu}tM}mzj0_v^IObh`q|*+Jeg;ohKbLh*2~7ZouH&`< literal 0 HcmV?d00001 diff --git a/client/img/3/item-goldenarmor.png b/client/img/3/item-goldenarmor.png new file mode 100644 index 0000000000000000000000000000000000000000..3c0fa7108e329887f9837c56e085098a85a01ffe GIT binary patch literal 975 zcmeAS@N?(olHy`uVBq!ia0y~yU{nCI4LI0<w%PHiEBhjaDG}zd16s2gJVj5 zQmTSyZen_BP-T*yS=IZ?ANG~+ ze6sgW?7PZk(~G{}`+l#+)87AG5$7R;HH<$N+|1$IJku=3;E37QDYw}@Sxa`u#;s{8 zXi;TgxYxk2phzZ_Ghha%M$gRpx5ZoDKMlJa^?Y^v?`xjZZk4|NW?0O&#-5Xdp}|~% z!Qo)Q49(CPTWo4S9_*37voGsdvH0`1)?3Wi{PtrIFBWwU$KTfr2{0^3 zU}$Jk&6<8p_iyzrj^(GG%`#S&bxzzAJmZMISXREy*0;ys*4gC0cRpSzJ8$#6SBrtR z-iO;N!PR`IB2eOL*7aZ3+50}<=Gk9r6*%{NU-auMg|{9rn(*@*$Rhy;K!0#aKm4*P z@=W>4fEhKSY7^c%&(6!{|MH~t{x6}ghkc&Um&||v*7d(``PSIi*DTHV|KC`rGa)QG z;Ka!lb4L5n(JRe|L}C)BG*+&8A*FZ!{`CJ7HmCi0@s#uRzFmBKKd$pw zG(q?s)NcWWtj>u6Gv@7|t@X7g`0tN7tIru`uLw=}>wW#d3MhCP7F4nPx_oBca;dDA z%hDXChh9!yGqbvn&~jXSzPb!aJHLjIPqz8{pNt?EnllGr|XEM&H0s_ z7bQJ&hUMPt@r%CdyZ)ctz`(%D-0;fqO8LPZT#wD2(w9iL&boYb{oNN4`SawBA74(_ zTQV#C_w!wn|9`CVe{g2oKcThtn!o0=urO#yFoeV$WUE`v-RhXQXMdl6+zevXB!wb-B|VkjsVL96R*-e={6sVaRTV2B2RKNDDCd=>KPxU|@~=QOIuc?gB7}GI+ZBxvXw%PHiEBhjaDG}zd16s2gJVj5 zQmTSyZen_BP-|tnK{s=*Gs+agWZY7ip{i+V`x# z?!Hx7*CrkH3+*>^u6;WhvgF*J2%RVXFZ!nQKH%k$n41}|Tw=ksisA7Z2JQX-e{H-K z_pc%}cmBRV!tcVKZ4vwF>(Ic(w&6L~w$mKt!Sb6{CA+=Ya_G$E z{(er54{R(e66U(^*ifdsfBy@)7dO?FzX(3z-`qOWe2waAD@~x1fP)Nefi2IQj@ogQ zmwsGP*3vCIcjwLhpE<(!{fx=IzdPsq&OQ4+y)S0D`>eTxeM=QH+SqLSMExPN{=ozKJ+V&K5K`uqFz9F^C5`_|5#9AtgysNVO)7P}pP zoYyS<2x|G&?(8yG}+0uEY* zZ`k*0hG5h`x$8y~?ce`VQ*dBqK9+8EWbU#4tgZVj$~I+b)!Y47yOF5-DSh637GPL4 za7~MrHFoMZuD@BSn=c=7`~Ckq?rTBy_MeuYg}Jf(`^mSwa{Je9o4)^iR{8yBlcaX{ z6l^R8I>CLi{hANG=T~pgYMWUf8-M>@NztSytZM(CL97nhkoMibS^iwlf=~PlKYr3N z)DAT~vFG9YfD`lepuzb@!EMKf-6z?sl+s%KX74Z5z5Ql?m~rsj$7=uEZqEXFOJe@p zbsaY@nZ>`B+5E8SbL!=P%&~%cS1MV0?|z%{sTmyS7oO~AU}oSJXg$X-#hVID;tZay KelF{r5}E+U>2eYP literal 0 HcmV?d00001 diff --git a/client/img/3/item-leatherarmor.png b/client/img/3/item-leatherarmor.png new file mode 100644 index 0000000000000000000000000000000000000000..fd2d0349231dd19e4709f597bf83f5cb319415fc GIT binary patch literal 729 zcmeAS@N?(olHy`uVBq!ia0y~yU{nCI4LI0<w%PHiEBhjaDG}zd16s2gJVj5 zQmTSyZen_BP-jUGD;|k3s3{y^VM$Ms*gjhpszU7dqqgN`r@cXPkfj za7Wta$d|{y*Vozq`C9$$&&A`Ds?O?EOHK=09U2j*H$C#|*Tqg{^?$t`8o1baHZ&c* zswO%)DE^yuX-oI_)rVqoS~X+$-?x)F-M-yE`^|RQkNalzMYg{A2lGdbja)m&_6VIr z{BDZ_7juYrzki)6_4$>{j@poQJ&Oxl`W|P?TnrZ6wbH^V{=SXNiz^bFs=i+g37Zkz z-LGo>?%w?3y9GB+&8RNWQa zp$<$;28@i%D-#%m1b~qbWUDDK2xBtSzlJw3GVI=VHhS5Wy`sRh%HZkh=d#Wzp$Pyg CC`kVR literal 0 HcmV?d00001 diff --git a/client/img/3/item-mailarmor.png b/client/img/3/item-mailarmor.png new file mode 100644 index 0000000000000000000000000000000000000000..db23b6079b855405b757baf63ded43a7eda96a0f GIT binary patch literal 648 zcmeAS@N?(olHy`uVBq!ia0y~yU{nCI4LI0<w%PHiEBhjaDG}zd16s2gJVj5 zQmTSyZen_BP-&cRkof#QNh z?yv{v7;~xrp5kOQ*dZv6w=Y&?bTcG&`$g5jFy=OiET2@uVxf)Z~v{oHBBXD@7H`L zCKU;VgY(X<3sR0bC^OmMvYOBP_f~TKkRm;<|)T?kQ*SqW71*>gsF za>u@9-|yd6>s$E!r>Vz@s@L~fSUe0Inmi>qgTMZ|{_NNO>%YuFuAPt|s z+n2q!vVT!mw*7YK-Y}s}_h9mo$}z9bHuC2yoT=K^@^eN@W|L{~($DD%+0 zLq{myF}k3ne){@F&%F1XhFP`O((DfXG|{h#su{ c!)d?}xMA7M=e*a~0+SYlr>mdKI;Vst0JJJ0(f|Me literal 0 HcmV?d00001 diff --git a/client/img/3/item-morningstar.png b/client/img/3/item-morningstar.png new file mode 100644 index 0000000000000000000000000000000000000000..18f7d137efe738bd817f4288faf4ba7ab453f8cd GIT binary patch literal 765 zcmeAS@N?(olHy`uVBq!ia0y~yU{nCI4LI0<w%PHiEBhjaDG}zd16s2gJVj5 zQmTSyZen_BP-v>12RD9?lz?*+ z0$C+xFECp6ZV-+PKN0t*{cq3t&Iv~|?$z2Xd@pUBa{hTSV{P>M>%R3Wa!1y@|9U6S zT;Hqd-wmb%(gFt7^|_5)#!0Q3*J`Zhc6GNOezwpQ?fbD|5&Oy@~H7ABA1}kZvCv8Zx6WT{HIc$BLfneHzue zb#--WhTUA6jEq_m2N*!H{-Cn#cySKgNL$B1Q)pOOMJ#&}7>WdILA9Oh~ zDlsY*9(vQ*mC=A*ACJDw)=rbUu_qvSB}X{$&K2&E9}CCXWM};-g!>P`T9$> z^PV-+TyIA{`e`};yz@DuqkrZ9!W_7C)xSmao>yMoes61E!TybvU#ylL>Iq7$n)x*K zEcfsE-(VrL>wd?L)B3BsvN~%ftm$6Gv6tiZd7-%ampXx$zxv<3^1WW`c|0hj6Y8Yu z1vYx0iPoFGbfQk(??t-}-fBHpPn&7{+x`s9u&DBbuU4!|HavA~f0w)d^}DT%(6qtm j;m}~N(2)0!(|}>^rP*myCuzw%PHiEBhjaDG}zd16s2gJVj5 zQmTSyZen_BP-A?Y5nLClu)zr+~=P;rWZ@Bw#J4BJ-!v_Atb<1 zz{te#V?9^fA(M3mogvQ0eso>UTDq-z@4Q=beC?0^eg7SsyFX5U>)!kCi=Urbq3fhL z`*l4~+kym!hNhh_{9kfB|KwTc#;f6D%eDAM-u5KkU;nDks(sn|;)Ut#3)dH2U$ee; z^UW!7%3LqE|MzqNYGQOaEvj>Mri%Z>e{X^_TTagqZ{>7PJW`x!waqoF;GoI%`Nb;N zdYrD^|F5FJ;Bb&(K`WP;RBwQU$T8PMpN_2LYMb2bYbPzv?KE9H;p-QBP7a0u1BQ&9 zO$!Y)dKMq*`1)F;vMk?hcIW!}e#`HCPx}*`{qk4fiC4eov#>B|NHA;(KDbZs(9$e1 z&#I0?Eh`NQWuo_Py#Ky?z5RUu)rI%on;*CT@K2qQk%5biK{wps^5$?wmmOQoL?5oZ zzFPCyLIXyvo|ordeysR%$^P@tn3}yu=DLe)dIr}KVsP19Y1Y27#Va|MYeyWc3Yd{5 zs#dP+I#1pt@WW20_drM2{f0VaLBgV@R)L2x!05?zNp#tDcU{!!q>TdKH`Y%3P++m* z?fK`yFZ0tDVrcNvkl+&TJM`k~>tfY;$9lFHT8m!qcdB{=kC(`o5myEE`jSN->P`1P z?sza@MwiI3r|Dar7r6XiFhLGs|4tvZ$zIAaR?E5yPCxy0-~B~?xP*gZEIh0N4qkh` z^;fciM2EGl9RFmyiq3+}9ua#>{h;%C+aK#NO=w_X*ulVfV7tbQx3LBc4AAtXae6%i aGlN9haoLG0#It~Tfx*+&&t;ucLK6Urnq?CJ literal 0 HcmV?d00001 diff --git a/client/img/3/item-redarmor.png b/client/img/3/item-redarmor.png new file mode 100644 index 0000000000000000000000000000000000000000..2604f5d691723cee016879ce1e84238ecd9def58 GIT binary patch literal 1058 zcmV+-1l{|IP)9ZJ=ezISeT4tdcQ)>DICKEwQYw|wnAX&kZqgTOx7$3#3388H004Xd z0YL6>Q7{z75>(CKD;4btPn*rmtp$Z70RaFXKmY*OnMPr9r7**k*D}id+I!oYpAVf} zp7Z?tJnAzV+uFx@|FhozBp?7l!2kdSOG=AEBbiR*_6QT(^mE z0hJr&x+si23ZtGyyIyzG0=KERyXB+yp$ZKuy?5Oe9 z)|M02KPcq*`=0~^04Nv$F-U_j&Sn2D2%lVqdo4OuL^q5?Wz-AtgiZJ zi$3|?`>U<_?BYU=A3C$zi%u1bYW(%!z_0mwAG&w+{%2YtNk9OAf&oDOaEryF%3F;_ zL;XXcP)Iz&z1nai&0~siUQ`Z^qcTFj-re;h^zm`*2t5!Hy3)9>U5nI#?Q%J)!e~`= z)1WX?b({4+ehqK0^a}I&k+yyr`=!FXTUv@*v$p=I$hAmh&2f4?Zv7d$|C#H55)c5O zU;vO$1VOw0Dyu4K+YA+^tV?wL^!WD72#T~ zmO38T5kp}tR2b8a=eNttM4I^7+?@7!;00F{(!%~H0RaFC1^_u!Fw<8v-|!#HPb9)g z1q;-P!q}-Wp=*&lp3`e9~3gd{wDze015^GIaIJ(tri-mF8q8@1|4S4IvH zWvcK{Bqk2P0T>d*9XJ6S2WUtJ79@r)93VqGBv*g|HdYu>2D8O~BAeK8oY?jAOm1aW z-|zm7-nVhxI8D#{h!|aEhcCar$WEEhD=j9R|3CI# zOPx4c=I`c8&VQ1%G&Fw`Ye@^{k6r)v?SBafP{DxyIV*}utD88tMs3uw2HqVT4u_4` z&LCcTN2z3mIl_7mvX=YVllAAXN55SEmhXQF2vEU*o>#Ck4pzsW=GU>oV4%YEr@|a$ zE%(=jGk5OBzrIyS2?$WZ02S6?%wNu`?%w<25^@0)n2c%=whGV1UBP;{vIv(~x&F98867@&eR uTEU7UT=?!u(fKM2NI(EyfPn7%C%^y~n4QsXY}UU30000UAS_Nzu$G8L(a&RBLEB_;Bc-TfeN!#g=yRN^15l7VeY*+e+dY{ z00LAn5&Ga2CR9~b)_YMQr{8}G2vETQ73|*;?i{_!+%~VmY@+<`E``xOm%XTv5)hz* z0jyBLViE33oK|5}n7!^rg_M8*6%1gj3KolSiPtd|#$K#Bku^&|fC>g2&!i_J#v)wb z_hE!9QmSL;HOJl>wU<~NUHZFVKdgV2y(F^!U-$CR0R|9Y067J~00ImkfK_}5FaRd-h&xqu RF75yT002ovPDHLkV1mCu)-V77 literal 0 HcmV?d00001 diff --git a/client/img/3/item-sword2.png b/client/img/3/item-sword2.png new file mode 100644 index 0000000000000000000000000000000000000000..f90c619ff336ad2fe28b8f043aed5ad0cc444a82 GIT binary patch literal 754 zcmeAS@N?(olHy`uVBq!ia0y~yU{nCI4LI0<w%PHiEBhjaDG}zd16s2gJVj5 zQmTSyZen_BP->Vr9{!1Ipo>>@YH2LSgEQz)^)tmDVzd!Ds zw)t*eIkT^HuUo2ESlPOdIoqT6PZ6tnB*t*Bq2XTTE3p*@E49x&*DwG1@$~cW&+qTA z-MsrqOo#_3#{p@91x=k7!ow05Sv<3^f8W2qZue`T)QOVU@k~r11`e#NWgngj>G_-e z?D*!JZ(f*Qei_oTua9f8taP+Yarm=EPF@ZTTxR3rzOcUv zj}HFOx0}v(ynf=&FMs}RFZ=5aGXBf?2`rOgJpy$sf zRrQs9QBiPUW%dX;SX3Ck`pmlsoBw()JAPPQOfU#Y{1u!iHS_d$|Mj0A-{#-{`E~f} z(7HOKnI#+hzOI5eenrB@GSj%@kG_8XX;VMN7HGNi1jz-PE7b>#`%_IN!V@5idKtwS1OqpE?7vuRujru)6~fuDWI@>el*m{_lE&d8@AP z_^%uDUkDg6j9L-OkDS*g%kHlI@K;du*(`0JMf`nfys?X&wxvLW#{c1e)@-jodEvbr z;>xvQAD^rBF77|_FV<1@q>lNyrP?q@c+0Z(|JzXe)@mpBfOmSLrI^`ofsECs*Id#%}Er#+{HfBs=<)h`hR+^lypJgsz3=n<^FGi0-p_r%X`aWNH)#B#0RX@T zl#7!$7+-)JudW83ZZDEVVAvXm#Kid!!{QQyV?qJ@5aP*DLsV2SA=EoGIOIY!C-e{i zs8Uf*_Q%ijW=cIyZ$GiUozOs@dY*B|_w+6jMn@Iudgg5WowdlR9o&;hQWZ5N1!8UN z@RN?_QJq-Ns??8Tv|N{s4xSm5^gR0YYZCiM`jJrEhPnrM|6U`p(ZU!0WD9#}hCNbR z*dv@5&v&s|&pFxB0vqD!D;ddFW#?{IjtUh3b^?F~kgNjyH%(SN+MV&I{`T#0d+_PY zTD$XHgNfmA#GU3(9}#PJNOoxe7(>9^vz-5P6e4N(^0ZQSys6=9;C*DEAZ27RA<7*q z_lPMy%QM})Qhf>rt*okS+Vgxt7`J)p`8ty6~lZ@@f%vkKwMQEBO}|LeDP_8H?xOru#`WU)ljqe12!f zEZ%qKtyMi?!a#N9ElT);ImIo@ql-ToS#@ZtG?=SYE}1ChGk!1+JwATiQLxQNWW%Vp z^Wz{i06Pc}(yzkgreSJwdi(DhBn9(kNaH79WSg(_G#MnlLqdxfbZ1-h@Uv*f({sv1 zn89V`Ug;ah?(1za6cF7bJ3#dwU#oS#+)Q#le8y5d=P1yt-SgP>)9`Rf+B!8gt7spX z1-!>ei8bH1+ON_n$UL>|l0qMbh><417>Ca_>`6;RO?2H%J*s#qcQetKE6`Hz!-0os zos%&Z%j(|_EQ7OB1t@Ev{dEWrtT23$7&tl`^-hv`r8=p1bffr$(raay)aF+$-@FxE zA8BEh(DDt2R{!}Uq`CiDbl=%in;OuC79U!AUJ1(Cxy4L7I2;~W%sMsZ1uL&ErGGVA zzOna}l^Vmgtfa&V0%{}qmil36KSj_)3>#}}LAwW357hKMXvcYDNuo6{ag&}cdhy$* z`mH%5TL<$qqg~cZcE|#S%Wqg-xg(XUXbdy9xI|@NL=^5Z%4m02bhk77jN|7-teU}S zjwHLjx$R3N>bJ5y#3M1G`tDRs=K&4}S6uv*bbdihm1kGH8;!o!cw{GlzXEdnk2yt# zT)=+VUH2R{|INNx4^-v*FBU`bcPvRPcGoRYPi@odk`OmXWNcN!&RT`(W9oOxyr2_B z$f5lW_;DY{EK4WXP#D$x0GUL9b^);1slSD(kQCivcw)%1m5}-mI($dhu(6btC(ky0ngpI&HIzdJP)I z695j>+tFK+UB!t-7{o1VJNfBcOPXa+l*Wv&a}e*ype~b-?)|ciI%)q0hiv)-VXO9~ zAVZwWtUo_i&?9~?Sfe%a>?F1#q1tz;ofo!raM7lAK57@PyHqE@z$kh$h|J)%YRl2p zg&~K$#%Q8de$!nkeuhljrX_0KLOapd@A$^U+<>gbfD6nt+=q%jT4Mp@a_Bf*XA#|* zSQFv;Nw0W+@e}r$av3Y+?~TknGE$11Qkc;dJwdnEHzjKS_#h19galo>u29M!Dxvin zcUYKJ2#*;Ay;Eevl+P;s4-?PjDp(jOQHk@d48FmZ55~r$rvoQJ7n^I_d5MPBS>?Xv zXu2OE5c@i?{sq$^Y9_LwZTeRsAXB2=0h?A66BGAC2M>nZ(lxcT7?^|Gg!Ip{;*dxr zHK$seY%m&2AP~O$!g*e1t_>OlbUS!?^NN}NH+>>UCqsZX)hy@V3*=S+xKPMrPIL!+ F%D=sT)bRiS literal 0 HcmV?d00001 diff --git a/client/img/3/lavanpc.png b/client/img/3/lavanpc.png new file mode 100644 index 0000000000000000000000000000000000000000..656289ce6637e3cd0547f947e204030c7f71a9ee GIT binary patch literal 998 zcmeAS@N?(olHy`uVBq!ia0vp^6M)!*gAGVZYS;V%Q6;VsCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+m^(aO978H@y_vf^TO?4VJ-tSR(bMECo2cUiSKdiKnsTo> z98l_Qo%)ZxY@_h(4ztXyo40T9PD~cRV8U&8LtxRQG{=xlzBLLFCoOu*&+C0ZbEhy} z{`;@mt51!p-=91A@cZeRw&mu2lT?^~gntucQfO>oVG`o-P-sY!k$9H2HEQjeN&5e+ zGfbr7SgiJzPe1L|-|rS#=nPcW)S&Bg>)O&+Ju~OqRxi6?b^HCj*&koey}P6%rr$E| zI6EuQ9Hz|%nbFtRotgPl`SRs78_U8AJ?G>1CLWvWb+qU9+iekFJ0)f3u8jEZrOh4x zCMV-#<+q~Z1!ZkajGQcsmGxH7bzZ$~$sDgGF}pvM=AXCvpSoRlb$>?8Tb(OE7C1OC zIVOb8P+K@@i&aO?)DE-tYn4-Py4UpcbFruhu%smhnWY|8d@ipy*W~f-^XA3RRf~M( zIW_Gx1SU8L%xEn=opZWptKN>@SF*2b9^VUoz30ul%ipBZox0%qwall97o}c%Dy8}U z)30BP#qY7&E`iv~Af|SkdCTYc-rweHuQqybRf@0PSmm_4ZjQCk(`sqY8YL?sM(*YX z9qb=jgKdvjOx~0A=g1KR(B}&x~K!&h~%N0*8iH#?XjuI`X@2uM~N; zS~hcP(cD1Oh}6h+Ka01Do-s_X?EiZN7?e6Z8#XKoZQD30|MUK{e>QfWJm=aqcc(&b zw%3}Uo^PIBG<>e|Uha3Nf7a_;aW)<-AmusR#Kg}2xN~cl&dZBG9$-erxEW4s=F8<)T{3uXCp)sN4$l*U%pIzRr zH~Z`pXJhdvhd1)~$5&pjTp?>RVcYC`$(kQMZn7N<% Sc?Fnp89ZJ6T-G@yGywn?)x=f+ literal 0 HcmV?d00001 diff --git a/client/img/3/leatherarmor.png b/client/img/3/leatherarmor.png new file mode 100644 index 0000000000000000000000000000000000000000..f86ef8b2dffb6a8956c8938481e90b1fdb58efe2 GIT binary patch literal 11639 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 e=av{iy8Nq#V;#J*z$uv9{{{Rdkz z8{SjDM|xk0wU^dKR)o8z{eUbQoY{58es^p4#WPK?{J$(5F8{1>hazUaN7XCRtw_1q zv-$?k@Ir4X*SnO(s_FHG7bI-}fQuJ;U$|Qy_RnI==7+E?mgV09--g38Z%_W8sc$W7VD_zk8SH)h1AxDprk9*kM?z(t;%8Ml=^QGibSdi8{lq)hqYiZ zYhW~FQk42}ce1FU&!~WQ$hx~-0;v28jCpbkQc~p^Fwk#G{?tg3F!!n#JB1TBfAp8{ zC!(v<=W!mH4-eoKE?_xgxWqaL*WDZ}DP0_?9I^p`Wa5nuA=;EwAh`DL)TiH+Xw7Y! zNQF7eBr~cM6(I<@>T8N_G&C<;bJ?gGEj4gl)*j7W*Z=kG(b#PWpHMbm!7S#*3&`!+ z%gw7;j(@v)%WfLQF@TCMal=^$k420eb46h&W7P#a0N_*NdKG<+vwj6vkIu#60{U+! zWSx?AZuC0adQViw1i4(UM02pL@~Tkxkl1EiRx_j`e++JJHwNCdNoM=q-92&6!Rf~x z@tnq454SJiU0`2SfHH@`qM;oP^?xJ@(Xi0r7WQ`fu9vS0m)cClvZH=kT68X~j-F1F zEN^EAz<9mR+VK=&`*j3wA@BC@Q1h|k1A^p+nI0)aTy+^aSiYWu6OMD~_ujgH*a1M1 zqqQ3@j+{8%k*TMC?Lc+$j}PR(=)}vE-mj)te?x2NsgmV;FXfcSDyaAA-gxznBooxb zCdIV^(czcwj%%zey)jE3!Aa_6+9eRR6|Eo}Id4#&>P!AypteURr|MR&-<(&7zj0gA z?^o;1ef%{IqfLsEo3u0wKAHM29Wx6jlU5y%qU{r}}I;Dq=?i=20CrZf6G8=WY z?~%cx%6-||GA-1_w_?eYK7w6vYWBgjR{VS|FfNeTFx&~BdQ^|su5AzccDXP~I&2 zaC2;KF=4mzX_8D7y4D_d--*m2ehAWqAmXRf$k2&X5I6>|xMXN*wDg+y)~KNpM2tfZ zvNg|Sfy35RY_CD(6!Bbxy&Km1d(bN4oxbI9%_~Y%0%hy+Llf<>IsI0Kj&rRVJ1q}l z(agqIJPpspFU!@f8pkBLNg7tG1}x?lN#21DU zmJQ@Vi+ISv+}De%&jNIhb4iEBFzbq~LRsBoXr#_Qwk|Nk#6s2gUx=(8zlD#(Lk%P4 z&iXNUlNWFAi8*fn{R|q7=GCuxA}lLuLJId>vSw$|!N+Vp&p4HLPY!nRdd~&$ATZeE z5qc5t3L>l2(;}*@)gH?eCPavs(HP{ru!ohCAlI(tR~IT%OVH@<`K3ov#s{)f+Nc7; z)L@7xcD9BWUCIgUa!TPa^Fr|5!Kc)i>hvB#0{hqulXeA7;s>p1AMjYEZn(xz1c+g* z7FVG35Ubv`jpzB#qQDk-cL*Eo?Ad4%M{4Y5mAa2(Z811?sybu9q10k^U}vAtB}6{6 z2}<_rYD5VTS-Ys`@h|@s6!+YZ-0Dy_w|e)=aD?q^3+z5B z*-i|XPOlki*+0AGMSbs@kc6xw!HvVena5SzBXR$s;nLnAc3|^;o7b?(fneLjec&;};?VNV7iMR#kN6U^ zCwoyFO~)=tA+S*41c?(-4#myIa3;%ZpJY=+{2bT4Z!JA={NzTfqgc)O%_s9e{+HPK c1RGl*lbf77_APzPatT0(9|;qDcIK=90-_0f%>V!Z literal 0 HcmV?d00001 diff --git a/client/img/3/octocat.png b/client/img/3/octocat.png new file mode 100644 index 0000000000000000000000000000000000000000..16f8a9505d47c2ce55035693fd8fafabb2cea17b GIT binary patch literal 1468 zcmaJ>X;9Ng9Nm;dWCRsYC?dsza+!*Q3PcV?A;c06IphjgWK0M_LqHS=LMy_Epa_4t z1TAN110q2sgjAiP1c6RSKn}?$i7^C5NuYp){2RuR_LDpNcK5@Zo%i9dyZUfVoKfP3yu}*}fEfE3O3BVQG==BYx#yF0! z;F7Yfj2TeVmRB-aqmBz0?J;+!f@9`ciGru2 zM7fomEiz)gfYJAhGqF$T^(BT50L*SWLoAVj=cgvOHHKlV0xduKRFjhKY#AMrPLlkEw z+lja0IMj;F`ycJc?X&JJZOQ4MmvVeL!>pZ7ej(SC%O&lnJL$Y~$P zgzz*Y20g=d=npB$9<_=%w`+o+@>g|=kg%<|838o$0BBNev*xG#a~{o&{AVGll(has z->~qN>MfM0zxoub^hf}H>iXThn#E$#WkeGblYVTIgGqseR*zkWSy>(s!a?^$-Fe7_ z$DZQpzkDxN%o+Phw`ob^q(x|KrI5%G)(eSHT1kKew;Xn&G)!+n(|oCyRj-tUi28U>Rz;vGmFm31xLgaVQygRlI z)*I+kE3~GzdUCo_k4z0X)q4jXy|E=V)lDVGg|BrPyFFXmRpVPf fo4O9GAHkYC!QgDXJ4$ku4b%gD!rPs3EHdj~-Y3L# literal 0 HcmV?d00001 diff --git a/client/img/3/ogre.png b/client/img/3/ogre.png new file mode 100644 index 0000000000000000000000000000000000000000..9296df06eb25c7e11c7632ff496a9b3dc3cf476c GIT binary patch literal 21772 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 m3$dRr2LbBCmno~$i9pf&oXWez{KdC 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 literal 0 HcmV?d00001 diff --git a/client/img/3/redarmor.png b/client/img/3/redarmor.png new file mode 100644 index 0000000000000000000000000000000000000000..88e0b55adc60f6d474335516a7dc9a7ba86e0db2 GIT binary patch literal 12976 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 CIl6xU literal 0 HcmV?d00001 diff --git a/client/img/3/rick.png b/client/img/3/rick.png new file mode 100644 index 0000000000000000000000000000000000000000..55be26c3ab1690d320eb34b4b713468f8dcef3d9 GIT binary patch literal 1461 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 literal 0 HcmV?d00001 diff --git a/client/img/3/snake.png b/client/img/3/snake.png new file mode 100644 index 0000000000000000000000000000000000000000..cec3c9bb356880fae63a55f6405a3c013226f521 GIT binary patch literal 8111 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 literal 0 HcmV?d00001 diff --git a/client/img/3/sorcerer.png b/client/img/3/sorcerer.png new file mode 100644 index 0000000000000000000000000000000000000000..6871f84435a6d6ae3e1041a92274c76fe9165a36 GIT binary patch literal 1947 zcmY*ac|4oh8vb;yrlVKQOmC|-N@wO4LrblhuPR}xRg|i&Dk^BvRz!WNon*K}7r*Lg zZ56vg2{nG2M5GdTP)&5GPGid_hHOPcZLvmfxYN7*bI$qWec$su?|Yu--1TsG($vt= z002PK`K+TS0I0oHo!xisRIQI2qzct`@YZR+TV7FNx8j1KP{848R7mJy=g8pjP|wid zs|nGZ(31dwuyb~F@QxpOKk9HNVCfLz19H+JwyD)<;Im6d1AXteiE`9)zexLR%HhYw z!|%$^ewt_F>ByBE8%;QzGxq#35SspHSLU-JBL|J?^28=%%xj&rBVAw6-0rwVRD*5H zWU<0>R>pd~+V@^cSeuowqXfxu79=8jbvCJu$i@NyzuEOKK#+qvu-h2$^HAH`Ze2H} z@AVH1d^#HYoJJdPef5A~5Yr1f=8rrbonA|AY{T517WPk16x6~qSgbyV;)u6&-pbY32ONC@9QTnF<_K!s zd9#WBmlfe)*0JH~_b(6m_mZOJICESt)q>3vW?iDdf_UM0fpgT5Ig=atySdn=jiH&s zA}`Vsbr~Etysix$Qi;XQMynPy!ODsQ!| z)q?E|l9Gum`MRMg7SGc-&^#jL+t9ym+U<@XmB?qZN%=yaC4I1Ds1m*61fmw#Cs+Dl zAIiyGjPfEjM_7Yp)yTuKt6ep`K9m`Yk*92Hp-)o=|e7w5-gq9#{g*$@eldd zaj?9!ypi76QB?8Ll%7rFdNESMH_7FUE->Gdop~saJjfq_Y*XHO#*-*fxuw1D6>jMo zzLD)B^xv9 z;I~?vThWIk3bC;CHmvugSXrsh^2)*knQe9oe>*~JMe&Uf zzUJ3u_Qq7kRHo$uD54enCPd<+kx{sDLEK;$l>GZVl4?i@FIdQzqD;EA%}A6&tCmyo zVbDS%-yhG6y~s>Bug|jL{a>pPBWz8a@q(+#m*eY6^0&QrBL&P^7z4re7 z)oa?1xW_hwS32mZ*T!_7r4Ro0y&lU_KI^p{L}A6Te@u=0GTK`G#rx4AEmAH{GLW>H zBwpcs=zld^vKE^wEBObt8(ep=CeBkEBM2DA#FAvm*Djx8xwu*V{kG;r!DV75&3804 zB_V+!Yg)tD-Sz7&C4G=C5d^jeSvTTrOIn2VUAD}Lh2kY)(_G%oT4uZS93J9VyZeiUuOjnMAwQ8}Zzb2?E zQ{5j6@i`)!q%EOu1H1NiJ`z$0WOqW>`zxJ#=I-tkCqIfEs|JP7OX^_JK+h7I#P?k_ zg7}~6o4<^diat)Ny!kRqWiUAn4f;yCmU#IJGyZQAF^8{!`ca_vW!qAih^Wo`!x1vE zz+d1-K2gcYDF?GBf$N4Z{+}9oQMiTb&IrrcB?RM>!K9*obVWWHK4JCD2PJ_Mp-24s z{{~;^LCzGoT^4;sL{mHD>FGB%xo1KQ{fzp^Fw0QS@|4@mHT0tUoGR%%l@UT-M9+{mr~5Ksk-?USpDR({ z2b?&LtVIZzaZzC4t|J?3Yl*Urs;VmJ`RB1|#b^>s7d_80v{df?@-*Hybt`Y%I5oC! zyYJ6BkB*N6Q7yJJ?{!*I&cnZ9ddHqoXxc9G#EO%RquDVHqVuD96pm0*7V8wyk3)={ zCG-@*1_d7>sOkhwxyXoYGxdV6=PK`KjL^8vZ+P8E6}Kk@6)}6nmPe}{!vY@VJAP2% f4SS(fKLDi34Dzow1&*nHTfq6WyW`XEgVO#5T($Kd literal 0 HcmV?d00001 diff --git a/client/img/3/sparks.png b/client/img/3/sparks.png new file mode 100644 index 0000000000000000000000000000000000000000..cd4a4a63816bfb3fe5e47875bafc290f403189ba GIT binary patch literal 453 zcmeAS@N?(olHy`uVBq!ia0y~yU{nCI4LI0<w%PHiEBhjaDG}zd16s2gJVj5 zQmTSyZen_BP-O)9~E(f4}*4HiL$SS0xi~uZ&%^fcVD*1*8bvBKa|+x@8>)r+Ed%Qfz_u6(}d zul2J#^So~a?*8^hn~_mV;=nVmX+Y4t- zcTrI|z`zu;A#~pQ^ZWX%4LvW&+CFFJm>G;Sk^}e7$~gm!7Y0vPKbLh*2~7ZH471Gu literal 0 HcmV?d00001 diff --git a/client/img/3/spectre.png b/client/img/3/spectre.png new file mode 100644 index 0000000000000000000000000000000000000000..8e738cc849120587752d26f9e685bcffd03236b3 GIT binary patch literal 13966 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 literal 0 HcmV?d00001 diff --git a/client/img/3/spritesheet.png b/client/img/3/spritesheet.png new file mode 100644 index 0000000000000000000000000000000000000000..978104280ff74bd37b49bf3fbf3094a8c168f721 GIT binary patch literal 65789 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�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 BPc{Gm literal 0 HcmV?d00001 diff --git a/client/img/3/sword.png b/client/img/3/sword.png new file mode 100644 index 0000000000000000000000000000000000000000..563abddbae90972425e86b127444105e0498b38d GIT binary patch literal 360 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 F{tclVam4@t literal 0 HcmV?d00001 diff --git a/client/img/3/talk.png b/client/img/3/talk.png new file mode 100644 index 0000000000000000000000000000000000000000..12079682b95ba5930000ec71322e3762183ae322 GIT binary patch literal 318 zcmV-E0m1%>P)lkBR zTWe|AjxV|#`bOM=tkcM30Q!*9SrsW%OPegyg& z?iLsSG6>-M+tG)Hy1nA)z)1k0pKaFv>sgmW;n>e1FQo+fsb>99+;II$=vksIffN4i zfuB|6H_V+Po~;1Ffd*5ba4!+xb^1l#oXHlBCG)`UkFV-o{)AbV5V|%MDh}; z!@l*iu4zbLZ1S@EB=etT)5Cx*9p#QQzu4TpCttsPUQNyHQ+rbT_M2Rrr~G&GyC3_b zmu`Ey$LzwqcKgfv!aQdf5;EdT9fN}s|Ex%TyYz4hkFAmags2L80hTfJg|HQYjt_d*y97#0{XJ>9SO<^P$>b9Vpy zB(r4w^#_6(+C2_h3=#|iwoHYqu4Mj>{=M(QDy9ZThI+RJ8sg?)}gUE0%Z4vNR}pLLA@`_ShN_F1bSo| zi#BWQuM5tstA8_L_E`^g`SZG`_KEHD&(zeny>GiYDD(Jz_g}Ay9_;bb<&BY^KW{zM z%vW7I7HNIG^b>4K);`~x@(j`bc5%C+i(X!<*?OyZN&UAoBDqsr4>%mB zMlRU4Q3|7tG?BM-u=e01ESnl}$S0a9Ui}!E;c361l?0EE$ZMioq zh}D6GNpMANY~ES(ue+_cgTkr9;ZO5gO>MUTQ3gQ{w?2o!yp)oirt%=K252({hEIuH zaLJc5Dp`z!hhayz!^Qe!Zcq?CXykB-4a|Gu`rm4Mqymty$MkiVlID>`ZyW?YKw)gv z?Xbap`fQ;UAZHe_Y|_}B*V19sy%ZE(b6piIgdRHOdo5s6U^;k0P{X`?lgPgCJTv9F zH8$Hden=w?2NKxNnz?#rhy`=Ih6nKVJ>e(6LKt-3qV0CHp{ux%ijj a0ftR;+ajBeZrlgV1Pq?8elF{r5}E)|+Ehva literal 0 HcmV?d00001 diff --git a/client/img/3/tilesheet.png b/client/img/3/tilesheet.png new file mode 100644 index 0000000000000000000000000000000000000000..965358111960953eab9ab3f00cc944465346d8eb GIT binary patch literal 370826 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

)J1@y||QSj1jrEu@J@<)}M+oHUYi5!*5 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∾VfpBEr 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 D4P)RCwC#oxf{SQ544;e=IH*mtdho z7c)33u~KRmLHq**+rh=wilT^v9a=#bha!qnFks1G!9j2kQ8HOVV^nZ+sDmATGgr@3++<9nVh~qU3M~-yw(s1q6}U)lJ)ax-h2pxi$a5#MiD) zseRs89-H{)qioQwTsugr^Me8b1q7a1n6$0MnLnoe`})h4=8>{|^1@s3%3<|bwbevg z?5u0~iQCRlAfSN20}Hd+*4p|HwSTGdvo%>>e3o`QOFTbu*cl206cBi}3bSF85ARKN(tXMg z3Ir4ocxGYsXZ~9fotwU`_TMbsQ`_%Oe^c8po!)2SsZ;tYL+%E2ZP%g;`9XmI3xgiF zFnRB3c49-k(jR85iC1oncie^?u`Orwg8~5-2CTwVY+DpQ7iUcT z3J4OE*eDN}YIuN>I#GFaR2@6Aylmn-Cx+BMmtU;4G>^?blDbc{%>$-_gz}@>77v&L zEDU$VN;vfU=jlDa== z!L^HrVYYKfV#<%2tA^7L6bP^|=;c*d7^Jk8BaHRo)IqbenDWE_g#i`@SXgw%5AJN+ zlH}N>51U?o7-`H83Ir4oB)A%g`$D2bUR10}u2~&?`TEQBd9|^}#K*F~WxG1|;=>hZ zle^7@L>o~a`qcJVE+hgL23QzSKmZgFP(VNd0R;rmjDG?Q01vp{#KeA~xc~qF07*qo IM6N<$f)l01=Kufz literal 0 HcmV?d00001 diff --git a/client/img/3/villager.png b/client/img/3/villager.png new file mode 100644 index 0000000000000000000000000000000000000000..656289ce6637e3cd0547f947e204030c7f71a9ee GIT binary patch literal 998 zcmeAS@N?(olHy`uVBq!ia0vp^6M)!*gAGVZYS;V%Q6;VsCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+m^(aO978H@y_vf^TO?4VJ-tSR(bMECo2cUiSKdiKnsTo> z98l_Qo%)ZxY@_h(4ztXyo40T9PD~cRV8U&8LtxRQG{=xlzBLLFCoOu*&+C0ZbEhy} z{`;@mt51!p-=91A@cZeRw&mu2lT?^~gntucQfO>oVG`o-P-sY!k$9H2HEQjeN&5e+ zGfbr7SgiJzPe1L|-|rS#=nPcW)S&Bg>)O&+Ju~OqRxi6?b^HCj*&koey}P6%rr$E| zI6EuQ9Hz|%nbFtRotgPl`SRs78_U8AJ?G>1CLWvWb+qU9+iekFJ0)f3u8jEZrOh4x zCMV-#<+q~Z1!ZkajGQcsmGxH7bzZ$~$sDgGF}pvM=AXCvpSoRlb$>?8Tb(OE7C1OC zIVOb8P+K@@i&aO?)DE-tYn4-Py4UpcbFruhu%smhnWY|8d@ipy*W~f-^XA3RRf~M( zIW_Gx1SU8L%xEn=opZWptKN>@SF*2b9^VUoz30ul%ipBZox0%qwall97o}c%Dy8}U z)30BP#qY7&E`iv~Af|SkdCTYc-rweHuQqybRf@0PSmm_4ZjQCk(`sqY8YL?sM(*YX z9qb=jgKdvjOx~0A=g1KR(B}&x~K!&h~%N0*8iH#?XjuI`X@2uM~N; zS~hcP(cD1Oh}6h+Ka01Do-s_X?EiZN7?e6Z8#XKoZQD30|MUK{e>QfWJm=aqcc(&b zw%3}Uo^PIBG<>e|Uha3Nf7a_;aW)<-AmusR#Kg}2xN~cl&dZBG9$-erxEW4s=F8<)T{3uXCp)sN4$l*U%pIzRr zH~Z`pXJhdvhd1)~$5&pjTp?>RVcYC`$(kQMZn7N<% Sc?Fnp89ZJ6T-G@yGywn?)x=f+ literal 0 HcmV?d00001 diff --git a/client/img/3/wizard.png b/client/img/3/wizard.png new file mode 100644 index 0000000000000000000000000000000000000000..18cf1a5c63bdc1c53ef07f68ca0be6d4161fe9fb GIT binary patch literal 12562 zcma)ic~p{H+rFJn`8KHUIhB?}o>SRmXgT3*C!0;p22DxL%2^;KQ4+OIrA=sQ&Qq3} zWoRZsI6!4;3X1atLQYsth~$8R{x*j8t#5sQ{94Nu3-+_0z3<_=uj}6X{%M z%E-vboj88@jEu~R78#k9>;JPFd^6N)FAM(La{b7K>t~T3*Mr;w+-3f`ioERp*9o|r zr~4Uqx2qWc8h29}nf-(lhyOVj+%?i2>gWF5S^Zi_wXO*p>icC!{SFn|gpIN1Q=*=0 zJa9YIsCYyUV^`^A7YBLev^zKZ(&6nIYJ1nNdg5l6w>xLknJ1?!X~aWr_J1(-H2(EU zvGGyP@%rnJYnJbni`*_J?oSFWYA-D!Ram9Z3Am~p6whpsg{l{0=WmRZPtULmGWf`h z40Q`n3Wvv7ArqVAaC*hTe^$w?+9b2_oXoFJr%$hteg{4s{0HCI)zx)e+Y5z4u}Od2 z^e#Q}yUep^za89u3O|t2-c|m##P|pKWk@-l;k)qLrMqio*6x*|6P;j`BVA<)Bw~ci zV1MmN4rMbR&W5COemX*;wCj%C6 z$)Kfc0taWy1_d<-Z#U&q&c19i9P2U*5#N|Pa%C>azcFaz($I+3#i8G7*)GaTMl{mB z;Ae+p8I$Eg<4ALlu(0t71;Y?bi)GTW+J29S`C^$1nZMoqcdZQ0;RFrJ6R~#(wIf#W zg8Nj83WTq0v-#xg?EEl>PLX)LJ4hk4*Yaj z?=7-GQq6FTQ2xU%s*HW^qG@+MZJVfLcFuWqU{p4F3%H}dM`dWgOMz}pZ+O0P?U{6S z%w%5ku7z=$t4$w6)R~dZ9}QwXsiKPMy56E>C6~=ubHZIJe?S{Lx8lvBlW*21PeEY(u);w=)ACcKK^EiCN(qbRR5rOq&A}1>=^`h`ydF}bx{G(;3gHM&= zVSn(GA#qO4)7==)+5VU5H}>Kd&Trv~yf;bPumy*tH3VoZABo17>hhE9^}Ltolt`?E9u>l`rgtx<3O#kCKW)ODWY=3C``F07X| z#O^blPWTkXAq}WLK= zO4W(a1*LxkiEPGi_&mPxra*qQEqp3lJDX2kFRNc>tomtu*u=zJWa&1|JNdre#)~=M z+|VVa_N)@&u2eV8Bve4yl;L%*iL+6hIrfj7le+2^4XW~kgj(43C_QOH5ZbaJoED~& z>%|e|UT1Vl~zYrWSThT53)ls}O!zFeRRF#TG&!wR8iXcH~Mk7sY^54Fa6H zSqHn5UctCS6y{y#X5O72?jc7<*kjUzOvMCd&#g^+7xM?Vms7PRh{+wD!PUD^U25BX zUTEJ@?Cp7be|qJy=p0_NLL`eK`gAFS*WE+5-Q*Rw;AgmDCaNOxY=PidpM1|XtM?I` zySU<#@nqgQINRbsgTrHY+NOOiLqxoYDI|7~_BVrZr)}0^eS3Jgml6;4?Qw>V#M8TT zWlq0%B_0TqMGx9TCS4Z3jrX*?5FPijplo)EdRc)fS}6T+Ykh_szMDCnVaC);g0o%! z1OD#AhxUgZ3!mXP4OYykR0wM@6#pP7Zu(HYMIxuGxJU`4u>_QT&iT@y$Z90}%5yt) z&Vlb{^Fz)-<%yF*Wcbi4y6RT)aQ+Bo5T_!5hw$d)PjrO4_;W)r*Tces8PJiZVb{Zg zcSLhJil=>-CRDyealN!_hs10WC2g$*%@s)LEcPZa^GQ(;vci~PB8h4fKYdV_3U*9|&KJ%^dM@_7zCSM%Y z@?3A1F6SX@DWT(ZV3efM+J^~RxX_P_@KaG8mCauPFSjRYLDA@wHSpECr!LPOC^+J6 zqqs1w36;LLD<{U8QmB939jT48RW;I?(!WB>&AV)mxtf?2|MhlhX%bxUnuC;`p!*4` zh?q@0f5myom7i|jZx&0$>cZfKffz}AGhC?YRWFEI?Mh0r>LX+Fp=KxuOJj3Ut?r44 zMhX!|C#G$wkHqLSiT~sKrD)ScSJ|);?+8MQ4tnRkOR<8kGE}BokU)?G>9reBQ!QlI z$2T5_x4zTa7X!CiXrS0(h#GnC&(3P#+c9KGr~^+m?948fJb8Y1KAgLAyI> z=$vxK*rbm71_rU%#0eqIk)qXSkhxa?g4q=4|?$Q8>GMd?@ zEijcO7^nDU!H98jFsq_ZKN0NGNgudSvGbM5P<^YHVi(ojeJ19O$ja~_9bQ4M4p{k< z9z1JQCefe;#U{5QwJqy z8SNLAJBaN>`;*|U+ejsv+tQ~)+>yu@GL#eNcMP6lo2Vi+@1t!0QtU&PjV3YLIOnPJ zE6f)3n^6No9ju>q<-wrQ38tzvqleC%r$LKCuXA3V^}d)Dsy8HVuTM3Ktr}!xSZthc z#;p!lI9cPf8f67yCUzvMey;dXwfvuZ%HihQmxJI^9B(2mD|90>PIlxpuGj6E34G4u zX|ZKsTYyRTaJIjr=hRWz{Aa_&UOI8dCl~16bc42hus>)tns?bo^ropBoSq_AaBqy9swM;+?M-^M!bdv2&Y!GKN1065h z7r46AV|zQV`4UsMaGlT2DM?4yoVm7M(e1fFuuMczW+*#SzHb}9w`TTZC`hj?Oyy zM-}rq+ob_pXMdg+Gz58X2YV*>H)+i#Z|ACN`oIV_%CYWK!KMivdTfg4t!hGO)DrUe zNrKLP-B@q7Ri}2YM))NyQh@HGo!$;doqe3S<(x9LGK`?;Ua0IN!|@eTW5igGPQjl5 zQ`Mfy3UthJcFY=03NZ*+$4s1)U%%(tX-k*%BU=@ura8a2Xdnf%`=9Mj*XnkX{sb#h z^mahMKa#|SWp;P3@*0#_NP>Yo;zlOw;2PGiR*@*-?e13?_HoSPC%v8HTl4*Bst*6gr!g z+uZsaNu)XKu!f(E=!{tM%U)_IY}4oq$G=FumxpzT1rJlNnAS{ZXX9zY$LB3HHJ9pB z5g?poIH_Sg1zup@O|%O3VL}`tK>cDW2Crg!xT&oY+lz zEl6EAxI?Mt^zcL;d}L(3`DVVudJLw@H{YaV$)aoHFmEl{Ti!Zd3rJaur}0%S(E9{} z7wP(GL22Y}XA4Z>PsGcm17&pzY&Ec{MD@gMYlWn|nK0DljZ!Z<)|4GDQ|q}c6uv+5 zm(=)iuZjoqR_!7wdpXA^x)HP)F36E#iG4s49*i6E68e0sfe&ptTEr@0u~_@eY?pQ$ zb2piq4m^A^GjNSGw5}%crssfq{wXy7m%LoW<3*vln76wNpXKB6=f%krE~mefSjppx zmjdz}k8H6|W)j~0HZ+LPU0i|gzEgZ(PhywWn|u%Rnd=1(pl21Jgesmf6wu&ZH~KOPaa0r;pKsvWU!9-}VTXYe%~h17cyC6OTrs zs-!ij%cpx_ZoKh@H`rhupB{`3|JyXEAtz*}qfjsGS`aCgvxAKD zj4=S*Ox|k&eZRYLDcB_3{|WlXKyhQ(XfaSEX4+J9SZ-x~*%84S@J|tj} z;iE;JN#TeYeUma1Wode@PV`DZ`pK4OWyg}QjDKgaiACeP0fh2L_ z%RPpXdqa%)jV8^(p@pgT!lPbsR7Alf*?n;zoRR=v?y7L3Q-iua<$7P{!Xyi`W( z0*uGuGy8hbmoWJwqjKi|foF8&Uu3sGS2YynN3K@KUW3dfL;fax-!s)GyfrDEaA8A&RHaK`-nrLkhM!}=xm#xR6%2pf>0 z{s%@Im|w_h9l4OSP)O}>Yh9>oOx6t8=g+^LE=In*z6w8)Pt?p1vcCTHgdCD?Q^5$G z09v|#f=?eb=a=$dXnVM#5a{skr97KFY0~jG@l!pQP}!?qSzYalrNLG!&305bjgOV` zZ2A;9A-u1%J;Uk$iQM|xf{mn&KJPb(p~Jo&;p;1T*Vwo0MZU|#PZ)CM=k6xFyG&l9WYrC==(}|4OOi>J-923OXzu=5!LD6-N=a@}o(Fdz6g{U!F~ zw@$-Fvj}JOT6SyjUpR{&nF`tdPtfig88o;d8TU7-JFVH~P0@MwReqpL+Sk)hwy@OX zr0%oYckX)k`yziY72SgDsa?qMxi_H}{r3AaPIUFzY2YW~d6)61AiZVi%p67jRS>$- zg4&pgPG!ZEt=w=%)35+;aw4xRd$jgxD?q$G8IjRyG?9yIP0i~EKNA!bkkiCA61ESY z^MG(*Fxj8@nq?dhOL$jX8V5VqHs-ZN8DV$`=e^b2H*F0oNOy-$Jv@U5$omB5#PBp? zS6*0xzuTbk8n$HOYJlb8Rr&h*;%>mLL(J?%D#yA^IK9IwRt44)G^+(6Or|&XLw%^l?yB5_EQSp6Huw$a(0=MBEw7hrZE=;yEeF$jVB~ zL-|!gVz`!Ya)or^ao*N6C{cq^{MOkhv&H5SoB_mtUCULR=N}H;^JyQ2ZH(FeTmghw zJzZF|#Nm@$8YdvxaeB9Pm}Ty1(aG&iBWDm?X20V=9cf!>wG^-}DFYuwb)VdOxveYi zKpsnAhw4u!CsT(5D4OIXWaWUn{t!0h?wh52C)NfD<6BQYkoVFEa)7KI(x#`qjm6>v{+A|K7YjVfh0sG&KH?+q`mcL5BGWt7h6Qj@=MYfl1j40Pd1fz zJkg_ z-2fq7t*^*P95q@Z=PO&fC)B#oA>xSu?gj<|`BKu%FY`se!s`+0LPTGle1uMn_vlgd z34Jd9eMglSX3m0!Keb#?pH$a?H8IREw2l9yS_=0+fa@#R)N9%@U%A8x0r!n+L7R}@ z>HPS&sBIqS2#HLKw{jB|PqSi$tZHr0lUMo_*sJdvMIN_1`o|Gb@7IDK)on%DUGkHj#g8dBNzQeRD`BucH)q7;ip|c z$J$z?Vd@+&QE>aKKbdaP&wKevL|9G?@7&^n(gHl8C{~yV2=f)!qLs51TdzsFVuMuC zK&H|o$om-<`I^@7ih|76$W4jJSVkeNLR3Q=vU1y6-=(^Qi5N-hwAd$WzFnz1Mo7I& zJi|81^;cDIW^~?HE~@o)K!2s57vLj|(A&8CLs09bz#E^7P2lCiv&o$ZXZcW9J4D2G z^BgNWba_ChK{1nbM3-$p6g?4Udq)uRkf16^hh=4VqPfhE$~x7m6H5sCs@6|vKo0DD zKy13(+Nwth{@(P}qMwxm(XJ?~?hiFjM}@vZCjYiV=WqrtQL zs-xV)%y}2vgkj;|0=KfdyQiOOaXl#FI9<>Be(_5}agbOfBot5gyf`M{c0l^-Tgl?Z zA}!g)-m|{6pq93Q-1hGmV0(()K*6#$V|7H)P*S(jXfFlf7m*aXVqHH)OXU4C2y#mdgnzAngcs%)9TBfV7qAH^X?wSI<8t?(Z&^o|5 zN#9>$RB$F;33Nd&FZK@r0Pcsc(+@AF+c#0#So7$C?kfG$Vg zzQ271=;7HKeV!@^f4L+TY7Rp<0Bzs7RG%u2*hz=Syg|^fA#_bRRj2zMem0FHLhlIx zXv)U_aVEQbIvWET@b9$Zrg8hk3gcF$mu{i!3cI)|Mn_eICO<{umYv2l5)Pl0n+?yV zV}ATxXu?f5#hjVq;+T{4p^3IO*4t_peLpW*M~_2aB5THyrk4GgBaV`? z|814K7bR)Qde@!RAg=hVHP$ibf!6)H%Jl!4#)8*6+(Gz$bOCMMelSQ^}v zB{uV61auZs+E11&YH8k$UiT!1SXfHc3m)_I98P)KZag;w%Q)FLZHh5n63LAwMFmOC z6kij()$)rvK_oy6;(quRls~EBVT7Zd(f9FL4DQ7uF+OYlt?XwabB-e5>&^c-#!eN^ z@Pe7h9KI!LdcDs2(f2D|Eb|mJcQr1i@aQJA{FTkCAi)_YJ5#rRLz#5cbomLUG6k-~F5tGtN>~e+$S&)l_}62`QVu zJ=4s@PIC|8YyDWAz2+W|VsV|tV{xLb=+sQ^9I39>*O^p1@NRgGf0S)+8V6_N-1ZyyZRQ)rfYQ#t7eMN>2Nq^2 z^oKl};C3|5cxg44F1r)4)d-Ec;NgI8nZF-#x;i(p=PzEel08r&*9#i)HUjt|3}^U0 zm$||Aky+$m>hMD;q^$us3Ok{>=a{ThLJc66Ieeg#yj2;|I7szFB!>32Mt$yrGCOp- z+gsEV!n5ux>hVpJXjl|N8wnq9@903M3JuO#3t5A8Gz0v!3cIfS2^vvkj-~XOkZM+{uTh5ItdKWm^1^E=18z z?b!DZ^?3(|jqr^#LfjVSEu(dSW9F=@yY=?0vBx{0@C`>kQO`jG z4@_1=*Ak+Q8%k0Y3dpWis~!@%FKZSYk3h+p|6YOB42r5GAE;5)d|tC$^U%qJ0oaYw zfOBx9Gk3s9sUDA${o`q?4>RcfKkEblmXfZZmIa3MS?))9rxTlul;*F^16tLou$EW; z#jzNizPnSbQ52lvwDJBWzk1!j??eGCZ_8|=V36^$ux;SDPLN0uLtU7k;p>IX3kQ#h zopA1y^9f9A(%tnLYExkf>gJ-$iC0OF5~I_~rF#2Z&TDX*3yHfz(y9gumJ&xOD@(1i z`a8p=01DkFkoN>{MtFV}qIM4-$ji(79@}o25*iZ1w1r9S<6{RJ&fm~A|Ke#^t6(Pt zJ>n@8drtIrP?0s-3ACUbs^H5N1lMRC_3{!2{ix_Oe*?U*IOYMB6GRcDVHWm`(aR24 zIRa*mo6WlwoLH6GrnMw*3^=^$Y#FtwW(#q1tZC@Cf;BEp6Oc*?HB|*;0C$zS(m1hL z9l@Cpz};URN(tVA@4U|b^OGbWacMYCy5~b9KMROWVf7oFM8J&&!HV3J7qW{-Y#tX9 zd)wlwduOv~v~l6dbu0>;8?vYF zu|V&VT!Zf+JN~?qQU@B7P?S+P=sFf^2Tyht>xD`BjOOHbeHvwAY)c{^ymz%$)!T3b=2=Z= zlrzf1%0=$;y_Z#}>We$vNs8xs{JhMgXE^{)C*uXEo@gIrn0e8r{WR%>qqWNu*1{+l z8bV; z|3${^Q&xXl4NFQAJrX@=q^|7HAYjw82ZkVo%l5#CO*0zdE!t3W;7+KtMY=_~kVbl* z9Xhyh?*bygH#xCp*wSA1aSF>gcG(GdqYk%6*=C?EV|j5=(^gpaw>2)m$xG}=aoPrc z)fKa+(8}s>i%Qh1(D}9a)@AQB)W#RY1E;l};-~h%KWiKow%s($nRyYR_G{;D1Z?qP zU=S&|UrID~qKMzvx?FI!?gMgFXajtxMuQZvt3u=h_U<|$< zvK8wO+$lH!vi5|mYpO-K3nBoV$^DGsgSzJ^;7))Mm1l5ayYaKpwj|wi13O6uTty~A zwm;tHqalh*j{<9rTi#)A*+581yHy`9t+sSy8u@NK__dW)52U7_J%Sg?3jxpD4=#Dj z5*+z;%%6l8ZX>;a5PsP8^Tb4evi4nPmvWZ^+^8XWG0I_9sO12RVv=x#HxkXMKEP)( znMr-}zyXrjDBiua&%bG7VN~r^lB|<*n_r(mgf8qZN+0|WG3>D}xonh1!)VzX_FlLq((FWVM04b;4i!UNphzpe7jS{`8cYd{H& z^d%p^trw+mfg2PdO=RJ6sOf`J2`tL9ul#yZ+Z_DXFk_+``A z@yPIwm5W{M-EWID$G&z=vnngM6=XsNU1}v@0PA73wY3GHm@L*)Se@WkVggEmQtqqI zGmMH(q6zz0?^7Afk8#t*UB{&>$zNVcV%I41Im>cO^tH7YP3z^|5n zz_IC{Pdg_@qu=eY@b5p)9eg;_@_+$(NAu0U3;6>);3MS*&^XqFi)AeE4+zoIe*@lr zazDW0>aYpdjP1fr;y3P-fRZ0A;Zg*fZ@*8~?gf|nCgP`Ft%Bl_3Nn z>ecHV(qN`9Ccza#j|eC#B_V~?^;oi+ryxRZ{&}hdl#r&db1$@d1fSc-W73?hJ8l6; zv98DLDdWKCN(Mw2{xx39NryrZuqvm~MskokjhB;>>J$FMdV{7x(cYy(HG zZ2K|Wds%rf?Y>hWf}h%o>o8C#09N+3TK2o-ik@><$ zVkwlB-?fbWf1d_=U6Rya+MF#$d$*v?6jVChNjXU>11!r@#qFV#U8 zxr5F{d7~hl7qe=4-N~6z@x0?SA-G^9SN`=8;h416L4F~=Q;^W+T`D7lzJeyImm=Q( zu%+ZWi(`F(widXGdd1T-%l=@(7d(q)KHv7TY350_%M&3Bxe#w*-8W}pyo;1FYk@Vw zg^#Z+pkc>k!@nu4W`t5%bP^v`I?$%nJTr$Rn+eDZ{JWmYlgrT(v3Tt^j)$?FY6=qv zt?pwPc-SzDMkfLu;u-x~9l}tFN|1AnUQBpt4bD^Gqf=q{)zYtRxvm-%IRfi`y*LkVC=o-NF=1 zmMp$JBg(i~9ytE-%EL4|WQ>c0u&9BIW^e3Z7mmIz|4ucQyURSI%9f|9Z0fZj?` zCAAIo1ntAG0ON#jo}Vhf2#%A@COZBi%?+ZBGnn@qrW{>W`==t5sDW9m`R47nS-l0D zT}bV9EG{Qp2S+s#`EVWPD;xhI9%Dbnq~RB!o5QCWV;)>Int|2jtmX|=%8P%|GCDwT z)~>1n(G+yy;M5g!zHZM8_KpI)H#i~$<@O$&UB&z$W_QhOX^^PqqvczZ$0Ft*Dnl^ez#v-EeR$f*I(B zn5A273379moIyq}{LeE;q;iIw>-1qmSsnJDT0E_B>+Mi->!mDvOd2`xyTkgQ<>Mz{ z?>jZTu37_gksCeBasKD0{0s} z!utt8e?$z+BZ*a#uAcJAE*ZIIbx+4s>-CtPC)dFD z?(~jxc*5K#dhidT=ob@o-#YTRy=%xpxVqQqu{EL? z)frI8VYgi!Q&Ur?LcuxTBGlE{9914zP_A$YtDMq8p)??gK#^lPlsg7pKtQan z$SvUz5e$S-sUVODSz9?2Ee4lU5bTBk8^S3dJ2M$Y_t~d^H zc6$^5QGHgvqB2@9OX+6VCEc@CEjWv)Nz(N8G>KnU7A)T=SX~fxa3%yVkFcwn1X~uF z$*>J{6!LJ;5M+svK&j4B#1TURP9YIk~_FIwXfv^ z=QD&y#ox^cMRx?`m|~5Im0JY9P_H_m@yS6Y^Pr+t)qFBLw$Zn2A*^ei6^N^keR@k) z2K2RTO~D4(Js+{b_w)A~$Jx>W8MO}=tQvF=tHwQ4vrQT{Yb?onCUj*RZR9;4?d3K1 z#@PZgpb5j2rKwkMK3(KP5QS^}Sx5)4Y80&Qo1)0sweh{oox3^K`Ey1|T53c(pgUX{ z7xA#?l~>M_`RgC=7!tNyMYqi_7(SX`{+$kBuxcZq(_va#PfT*`m$-?Y*E+bNZw_$I z_=(c(r18Gz{@%@uXPEX6+dacz;Os?w0C|*4;f5%T-Dk=|^-{31mraH?x=BUpnrPg& z_h!Of7b^1;Jy{!)(y7^NDj(lBc|4*;~k*^?s&Z6S$8Gr6WfA5D=UdG_acz_bWDx=Cn)FOD$dE;r$w*ANN zXEHGtFEErd$-T0cL?|(yC-f}myk5B0WzTN?$#m6BKQKTJeL}k>9tq+kUHJ-u2i1v% z1$G+E0&`;O>ecVQc5Nh*ixn&Xx?T8bd(|vUP^GWZsD&=sEr&W?{f}F56Hko zLIw?15HYBJ2`>cIKWoj#Q;?XqnPzWATC3@9)X0uR&cUUa4Ko)OpnYG`(GtNh-lj3^qvpm*FS27!NR;W|~O-hgZfYF1;b* zGB|?b6clj3dl|uK<`-E{Lw7xE>oeLHHrEy|rXJJN|0v!Tahcg)Lz8PPqx-`-3TQ}8 z%|O5L6^%N)%87Ir4r*a-$in5cXk&TAj3Det8L%QDY@b6*y$qt(E>L7gIu4aT-PNZI z`5roHsymF$NySFQ*Q`HYB1G1@Q##Ow_&Pj~^+o=UR{xBqXR7moKb#Rz#VFw)?1JNa zodHAP!Ks0Cl!>3}Iz#)~%Lk=Bx2KxA^B)VG)%=P_oFvV_vg7B~0klU-Ye(y4&?Xt$ zzi4FyA^`C`g9a9^SNNiN&kuQbs8>3#k>w#Nxu8?qt+nJ24797*AMChKVhvMeeWGgD z7*J0kIztF{JE>4rUfuXqJaw6Q8`m|P`e4fzP6v%L(p6PopTw7n?>C}th=>ux8rUGD z_mNjV?`^iY+xKlm6zlwym?!ZV?K*urB_`RE#6pxqlN1u#DFKc@v{;cpO4^=!(Nj`Y zP!-?q%i~98{u{O`o<~1lGL+q8Y?Ee=v)NkJ!Odj%M2-tE(5L})@pbFswJtJyBv6$f z7MQ!Iv8|k# zVr0xGkWk-cComr$8OpqmnvQ)=+xoDg;|9q$KD>fv_^vDpW2vlb$gknJ3U$Ds681gx z`sc5=x?9QOm(P18o&V%{qVmNss}~a?-k|11#~H~SLMr>wJgh221VeB+fM{t>1q>4eDl}qXK*#HaG|Ab!sMr-ZR zR&0%yPMT?FlQHYO;~nQAvp{Kd@g5~N-c0O4&c2(lNOAP#&l1%Jbt$Hj&WI1B#RfdU zux|#Q8(uGSct6g>Txncx?o0rP^7Z9_d-~Si3sKgaMBGk!0(r2B>^D=#xn~3Np(UTalYmB>})V+72zfW0qGw9sjc;q2Ebqd#IPD+a(NjwB|&yP$#jQg%W1GWvo yzDT(}7<5SWd<_+zeD38P%V7vc?r(4QQUE^gtW8VdRWInz4B+DE=D@P2F#Zd=rC?A1 literal 0 HcmV?d00001 diff --git a/client/img/3/wood2.png b/client/img/3/wood2.png new file mode 100644 index 0000000000000000000000000000000000000000..86ae133ae888821de051bebfddc8918d42bdf64c GIT binary patch literal 220 zcmeAS@N?(olHy`uVBq!ia0vp^{6K8X!3HEf@`C07DajJoh?3y^w370~qErUQl>DSr z1<%~X^wgl##FWaylc_d9MRlGojv*DdlK%YvZ_mtAuwkQu1rJY;!Lk1MdWj8;YHVB# zuCpRPoH)35!t0gC8_rrYKYtT=cJVAuCbum*ou;|U%^~S)FJ4&Y<=GT-VPWf^jD|ql zEf-hKzQ`bb)n`M|@u(NPeW&KOhAi(>6Y_GJedSW}r*GcP2D!$3y%*Rx3>f+!h)Xsq Sw0{7)gu&C*&t;ucLK6U{?NcHE literal 0 HcmV?d00001 diff --git a/client/img/3/wood3.png b/client/img/3/wood3.png new file mode 100644 index 0000000000000000000000000000000000000000..e08cb9da3eb0ab665e187d4a0a55633a6c7b2f76 GIT binary patch literal 778 zcmV+l1NHogP)UjF}{`um5 z{QPzKtNHH_U%!3d^qMcG2OAFuJddpOmyhqBFYe9jS5t)Elm-kKFkrxd0RsjcG+rL1 ze^z0@fB^#r3|Qk4-fXBa;Daii-7~8&V8DQ-^ih(T(v&`##*_vO7_gLXN#@lyr0Lpo zOIwvx7;uu(jT&Dnx~MSVJ1HHg@$O;2G~h<1N1N`cFyIco^wwm)Oxizh85IVct@H>D zh6)32R61MZtv#>`1Ky$Z$QrK}^p=ZjcJ>f(&tAHu*=qOQtipg}#y=;-Yf^gabnk}7 zH3`4_dP>(o>C>ll_M%+njSEy5a8ycv{_r-We_k!bW%T4BiA`y}^pw9SSDN~*{?>f$ zFjRWHDl}4vh`S5a>6Kpf zrQNigD)wxsFyO&^>7IwYO0Prdvyb98YGvG)qh$~F)>Nmol)j>SW)pI+ljD@ucm#YB z6sD8m)4-ay38f!a>7;vWY&vqAaZe9QKWs0Zot8I7_}_A>MM@`)nwt{1+Y;bDDIK1o z*=H4<5SP-O$GvV!MrkSCnAk1r)ltbzX(=5zN_#?jYD{TLS5EOd?+H<1z$5q4J(HQz zl-`%vo0jV8DQ-^vHcRr2zv53>Yxrb59TdJ5`)~l_%h^@mqia0CI|Pv8)!;2><{907*qo IM6N<$fj zzrw&DU|?oIqAMF>U}R!LDtBpOiXg(0eII(B=l%A1`|!!;#_bJF(>7cCq$Agx>RrDf zzxVcy3%P8GMo%2^ftb>iY4w2j8E8dx$U2M$v(pc3SJT$Mh25U$c?a0%kx3QC%%eoI zHEnk_IPa*(lsUOWD!cVb?!9@oRy;_XzCfSPDc; zP>@ICIK#Q4&vmift7}UKbBH)`^ed-&UK_YPWuRdk1nmH!2owib74!K9DO82f-P%0oto2<$(aCax1}Z%BbLJm-F#5 z>CIf_D&ZeY(reC-iJum;0o&TARNs8hC*!H zxLo@KDoY(AZ}!;^;CoGYkVvTo<|((rh%z zLxf1PZo^8mxdY`2Yt?dn$tB#Ms46VELBVanm0Z=&s!o`&G+(vDfZ7(bClAH+vRIC6Drd6{KR%OleYZvG-TZU^=jG+z oTJ7ces{{DvwEMMvv3~1VoBdeZdj93p9rXifH4e$!$H%XK0d1IB{{R30 literal 0 HcmV?d00001 diff --git a/client/img/common/favicon.png b/client/img/common/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..a1783aac9903d3eed7aaed16713514300cd2f939 GIT binary patch literal 398 zcmV;90df9`P)46-b9FK-9;{&{fFVT+fy2OKcK5|@(g>{R4qFLHbTXfo0_ z!v_qorUWnR%Zp7U)!fUO7ow*UYD literal 0 HcmV?d00001 diff --git a/client/img/common/loading-error.png b/client/img/common/loading-error.png new file mode 100644 index 0000000000000000000000000000000000000000..dbf9c712fb65e9303394f76533e7a8d0263dbada GIT binary patch literal 845 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 jYF@As_SxOj$X(siRe?AMi5PY-uwp)`X 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 r5=0LnV#nz2^ewVDU42KPHITvJUxc{C; literal 0 HcmV?d00001 diff --git a/client/img/common/thingy.png b/client/img/common/thingy.png new file mode 100644 index 0000000000000000000000000000000000000000..4356b02788ff95b3fb8d41aa97f3927fe39f5715 GIT binary patch literal 1168 zcmah}J8aWH7&f3H6x0b8m`*N&fhIoNdDN$xKH`){s;erAM8;n1OJX(l8T&$({4K7gLfXO_x`# z3SZCiH+AMT|2BR;xx<$WtW;-J+GIT(5oyV#4FbwOZjlPXZvW;!nU|zf-@IC#)$KLp zP(OnOCX@IfXG_xjLK0$Ui!jh2EiW+TA1_|Yz;jLcM$U$ISR`$4bvq)}?e&_oz2z9L zyl@T7Cx{F9gkg~QoghYuDGziJ-;3Xh3FF67wG`Db456WE zX^u$8{ea;l9mF#u1&hQ^EZO!LeyptTkI^x!ki*!HMaQ*%NR$eRX*Y6sk()EZ ztq>I>f*Fl!ly*iL-)K`t<2DUJv6=%mcDz8GkKl=g88Ky%{q!L9HC0F29Li>|LY3Fx z0BTd$Yxe(vY7jvK>2rTUdFfru@PEOsgPJt*G0(pzx>X5-*1(!=qjC^495|$GnKBP8 z<9RO18@iD%ELl*~p{kZ3-x0~>`QSXSK-bmqC1at>*yCB0kIv=9zTqymjrxdBR-qcsfxH4 z7RuIAEqUL_Y8raIcxm%w + + + + + + + + + + + + + + + + + + BrowserQuest + + + +

+ + +
+

+ + + +

+
+

+ Please tilt your device in landscape mode +

+
+
+
+
+
+
+

+ + A Massively Multiplayer Adventure + +

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

+ + Load your character + +

+ +
+
+
+
+ +
+
+ or create a new character +
+
+
+

+ + Delete your character? + +

+

+ All your items and achievements will be lost.
+ Are you sure you wish to continue? +

+
+
+ cancel +
+
+ +
+

You are dead...

+
+
+
+

+ + Your browser cannot run BrowserQuest! + +

+

+ We're sorry, but your browser does not support WebSockets.
+ In order to play, we recommend using the latest version of Firefox, Chrome or Safari. +

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

+ + How to play + +

+
    +
  • Left click or tap to move, attack and pick up items.
  • +
  • Press ENTER to chat.
  • +
  • Your character is automatically saved as you play.
  • +
+

- click anywhere to close -

+
+
+
+
+
+
+
+
+ Completed +
+ 0 + / + +
+
+ +
+
+ + + +
+
+
+
+
+
+
+
+
New Achievement Unlocked!
+
+
+
+
+
+
+
+
+
+
+
+
+ + +
+
+
+ 0 online +
+
+
+
+
+
+
+
+
+
+ +
+
+
+
+
+
+ Share this on + + +
+ +
+ + +
    + +
+ + + + + + + + + \ No newline at end of file diff --git a/client/js/animation.js b/client/js/animation.js new file mode 100644 index 000000000..cb97805b0 --- /dev/null +++ b/client/js/animation.js @@ -0,0 +1,66 @@ + +define(function() { + + var Animation = Class.extend({ + init: function(name, length, row, width, height) { + this.name = name; + this.length = length; + this.row = row; + this.width = width; + this.height = height; + this.reset(); + }, + + tick: function() { + var i = this.currentFrame.index; + + i = (i < this.length - 1) ? i + 1 : 0; + + if(this.count > 0) { + if(i === 0) { + this.count -= 1; + if(this.count === 0) { + this.currentFrame.index = 0; + this.endcount_callback(); + return; + } + } + } + + this.currentFrame.x = this.width * i; + this.currentFrame.y = this.height * this.row; + this.currentFrame.index = i; + }, + + setSpeed: function(speed) { + this.speed = speed; + }, + + setCount: function(count, onEndCount) { + this.count = count; + this.endcount_callback = onEndCount; + }, + + isTimeToAnimate: function(time) { + return (time - this.lastTime) > this.speed; + }, + + update: function(time) { + if(this.lastTime === 0 && this.name.substr(0, 3) === "atk") { + this.lastTime = time; + } + + if(this.isTimeToAnimate(time)) { + this.lastTime = time; + this.tick(); + } + }, + + reset: function() { + this.lastTime = 0; + this.currentFrame = { index: 0, x: 0, y: this.row * this.height }; + } + }); + + return Animation; +}); \ No newline at end of file diff --git a/client/js/app.js b/client/js/app.js new file mode 100644 index 000000000..d84f393ca --- /dev/null +++ b/client/js/app.js @@ -0,0 +1,459 @@ + +define(['jquery', 'storage'], function($, Storage) { + + var App = Class.extend({ + init: function() { + this.currentPage = 1; + this.blinkInterval = null; + this.previousState = null; + this.isParchmentReady = true; + this.ready = false; + this.storage = new Storage(); + this.watchNameInputInterval = setInterval(this.toggleButton.bind(this), 100); + this.$playButton = $('.play'), + this.$playDiv = $('.play div'); + }, + + setGame: function(game) { + this.game = game; + this.isMobile = this.game.renderer.mobile; + this.isTablet = this.game.renderer.tablet; + this.isDesktop = !(this.isMobile || this.isTablet); + this.supportsWorkers = !!window.Worker; + this.ready = true; + }, + + center: function() { + window.scrollTo(0, 1); + }, + + canStartGame: function() { + if(this.isDesktop) { + return (this.game && this.game.map && this.game.map.isLoaded); + } else { + return this.game; + } + }, + + tryStartingGame: function(username, starting_callback) { + var self = this, + $play = this.$playButton; + + if(username !== '') { + if(!this.ready || !this.canStartGame()) { + if(!this.isMobile) { + // on desktop and tablets, add a spinner to the play button + $play.addClass('loading'); + } + this.$playDiv.unbind('click'); + var watchCanStart = setInterval(function() { + log.debug("waiting..."); + if(self.canStartGame()) { + setTimeout(function() { + if(!self.isMobile) { + $play.removeClass('loading'); + } + }, 1500); + clearInterval(watchCanStart); + self.startGame(username, starting_callback); + } + }, 100); + } else { + this.$playDiv.unbind('click'); + this.startGame(username, starting_callback); + } + } + }, + + startGame: function(username, starting_callback) { + var self = this; + + if(starting_callback) { + starting_callback(); + } + this.hideIntro(function() { + if(!self.isDesktop) { + // On mobile and tablet we load the map after the player has clicked + // on the PLAY button instead of loading it in a web worker. + self.game.loadMap(); + } + self.start(username); + }); + }, + + start: function(username) { + var self = this, + firstTimePlaying = !self.storage.hasAlreadyPlayed(); + + if(username && !this.game.started) { + var optionsSet = false, + config = this.config; + + //>>includeStart("devHost", pragmas.devHost); + if(config.local) { + log.debug("Starting game with local dev config."); + this.game.setServerOptions(config.local.host, config.local.port, username); + } else { + log.debug("Starting game with default dev config."); + this.game.setServerOptions(config.dev.host, config.dev.port, username); + } + optionsSet = true; + //>>includeEnd("devHost"); + + //>>includeStart("prodHost", pragmas.prodHost); + if(!optionsSet) { + log.debug("Starting game with build config."); + this.game.setServerOptions(config.build.host, config.build.port, username); + } + //>>includeEnd("prodHost"); + + this.center(); + this.game.run(function() { + if(firstTimePlaying) { + self.toggleInstructions(); + } + }); + } + }, + + setMouseCoordinates: function(event) { + var gamePos = $('#container').offset(), + scale = this.game.renderer.getScaleFactor(), + width = this.game.renderer.getWidth(), + height = this.game.renderer.getHeight(), + mouse = this.game.mouse; + + mouse.x = event.pageX - gamePos.left - (5 * scale); + mouse.y = event.pageY - gamePos.top - (7 * scale); + + if(mouse.x <= 0) { + mouse.x = 0; + } else if(mouse.x >= width) { + mouse.x = width - 1; + } + + if(mouse.y <= 0) { + mouse.y = 0; + } else if(mouse.y >= height) { + mouse.y = height - 1; + } + }, + + initHealthBar: function() { + var scale = this.game.renderer.getScaleFactor(), + healthMaxWidth = $("#healthbar").width() - (12 * scale); + + this.game.onPlayerHealthChange(function(hp, maxHp) { + var barWidth = Math.round((healthMaxWidth / maxHp) * (hp > 0 ? hp : 0)); + $("#hitpoints").css('width', barWidth + "px"); + }); + + this.game.onPlayerHurt(this.blinkHealthBar.bind(this)); + }, + + blinkHealthBar: function() { + var $hitpoints = $('#hitpoints'); + + $hitpoints.addClass('white'); + setTimeout(function() { + $hitpoints.removeClass('white'); + }, 500) + }, + + toggleButton: function() { + var name = $('#parchment input').val(), + $play = $('#createcharacter .play'); + + if(name && name.length > 0) { + $play.removeClass('disabled'); + $('#character').removeClass('disabled'); + } else { + $play.addClass('disabled'); + $('#character').addClass('disabled'); + } + }, + + hideIntro: function(hidden_callback) { + clearInterval(this.watchNameInputInterval); + $('body').removeClass('intro'); + setTimeout(function() { + $('body').addClass('game'); + hidden_callback(); + }, 1000); + }, + + showChat: function() { + if(this.game.started) { + $('#chatbox').addClass('active'); + $('#chatinput').focus(); + $('#chatbutton').addClass('active'); + } + }, + + hideChat: function() { + if(this.game.started) { + $('#chatbox').removeClass('active'); + $('#chatinput').blur(); + $('#chatbutton').removeClass('active'); + } + }, + + toggleInstructions: function() { + if($('#achievements').hasClass('active')) { + this.toggleAchievements(); + $('#achievementsbutton').removeClass('active'); + } + $('#instructions').toggleClass('active'); + }, + + toggleAchievements: function() { + if($('#instructions').hasClass('active')) { + this.toggleInstructions(); + $('#helpbutton').removeClass('active'); + } + this.resetPage(); + $('#achievements').toggleClass('active'); + }, + + resetPage: function() { + var self = this, + $achievements = $('#achievements'); + + if($achievements.hasClass('active')) { + $achievements.bind(TRANSITIONEND, function() { + $achievements.removeClass('page' + self.currentPage).addClass('page1'); + self.currentPage = 1; + $achievements.unbind(TRANSITIONEND); + }); + } + }, + + initEquipmentIcons: function() { + var scale = this.game.renderer.getScaleFactor(); + var getIconPath = function(spriteName) { + return 'img/'+ scale +'/item-' + spriteName + '.png'; + }, + weapon = getIconPath(this.game.player.getWeaponName()), + armor = getIconPath(this.game.player.getSpriteName()); + + $('#weapon').css('background-image', 'url("' + weapon + '")'); + $('#armor').css('background-image', 'url("' + armor + '")'); + }, + + hideWindows: function() { + if($('#achievements').hasClass('active')) { + this.toggleAchievements(); + $('#achievementsbutton').removeClass('active'); + } + if($('#instructions').hasClass('active')) { + this.toggleInstructions(); + $('#helpbutton').removeClass('active'); + } + }, + + showAchievementNotification: function(id, name) { + var $notif = $('#achievement-notification'), + $name = $notif.find('.name'), + $button = $('#achievementsbutton'); + + $notif.removeClass().addClass('active achievement' + id); + $name.text(name); + if(this.game.storage.getAchievementCount() === 1) { + this.blinkInterval = setInterval(function() { + $button.toggleClass('blink'); + }, 500); + } + setTimeout(function() { + $notif.removeClass('active'); + $button.removeClass('blink'); + }, 5000); + }, + + displayUnlockedAchievement: function(id) { + var $achievement = $('#achievements li.achievement' + id); + + var achievement = this.game.getAchievementById(id); + if(achievement && achievement.hidden) { + this.setAchievementData($achievement, achievement.name, achievement.desc); + } + $achievement.addClass('unlocked'); + }, + + unlockAchievement: function(id, name) { + this.showAchievementNotification(id, name); + this.displayUnlockedAchievement(id); + + var nb = parseInt($('#unlocked-achievements').text()); + $('#unlocked-achievements').text(nb + 1); + }, + + initAchievementList: function(achievements) { + var self = this, + $lists = $('#lists'), + $page = $('#page-tmpl'), + $achievement = $('#achievement-tmpl'), + page = 0, + count = 0, + $p = null; + + _.each(achievements, function(achievement) { + count++; + + var $a = $achievement.clone(); + $a.removeAttr('id'); + $a.addClass('achievement'+count); + if(!achievement.hidden) { + self.setAchievementData($a, achievement.name, achievement.desc); + } + $a.find('.twitter').attr('href', 'http://twitter.com/share?url=http%3A%2F%2Fbrowserquest.mozilla.org&text=I%20unlocked%20the%20%27'+ achievement.name +'%27%20achievement%20on%20Mozilla%27s%20%23BrowserQuest%21&related=glecollinet:Creators%20of%20BrowserQuest%2Cwhatthefranck'); + $a.show(); + $a.find('a').click(function() { + var url = $(this).attr('href'); + + self.openPopup('twitter', url); + return false; + }); + + if((count - 1) % 4 === 0) { + page++; + $p = $page.clone(); + $p.attr('id', 'page'+page); + $p.show(); + $lists.append($p); + } + $p.append($a); + }); + + $('#total-achievements').text($('#achievements').find('li').length); + }, + + initUnlockedAchievements: function(ids) { + var self = this; + + _.each(ids, function(id) { + self.displayUnlockedAchievement(id); + }); + $('#unlocked-achievements').text(ids.length); + }, + + setAchievementData: function($el, name, desc) { + $el.find('.achievement-name').html(name); + $el.find('.achievement-description').html(desc); + }, + + toggleCredits: function() { + var currentState = $('#parchment').attr('class'); + + if(this.game.started) { + $('#parchment').removeClass().addClass('credits'); + $('body').toggleClass('credits'); + if(!this.game.player) { + $('body').toggleClass('death'); + } + } else { + if(currentState !== 'animate') { + if(currentState === 'credits') { + this.animateParchment(currentState, this.previousState); + } else { + this.animateParchment(currentState, 'credits'); + this.previousState = currentState; + } + } + } + }, + + closeInGameCredits: function() { + $('body').removeClass('credits'); + if(!this.game.player) { + $('body').addClass('death'); + } + }, + + openPopup: function(type, url) { + var h = $(window).height(), + w = $(window).width(), + popupHeight, + popupWidth, + top, + left; + + switch(type) { + case 'twitter': + popupHeight = 450; + popupWidth = 550; + break; + case 'facebook': + popupHeight = 400; + popupWidth = 580; + break; + } + + top = (h / 2) - (popupHeight / 2); + left = (w / 2) - (popupWidth / 2); + + newwindow = window.open(url,'name','height=' + popupHeight + ',width=' + popupWidth + ',top=' + top + ',left=' + left); + if (window.focus) {newwindow.focus()} + }, + + animateParchment: function(origin, destination) { + var self = this, + $parchment = $('#parchment'), + duration = 1; + + if(this.isMobile) { + $parchment.removeClass(origin).addClass(destination); + } else { + if(this.isParchmentReady) { + this.isParchmentReady = !this.isParchmentReady; + + $parchment.toggleClass('animate'); + $parchment.removeClass(origin); + + setTimeout(function() { + $('#parchment').toggleClass('animate'); + $parchment.addClass(destination); + }, duration * 1000); + + setTimeout(function() { + self.isParchmentReady = !self.isParchmentReady; + }, duration * 1000); + } + } + }, + + animateMessages: function() { + var $messages = $('#notifications div'); + + $messages.addClass('top'); + }, + + resetMessagesPosition: function() { + var message = $('#message2').text(); + + $('#notifications div').removeClass('top'); + $('#message2').text(''); + $('#message1').text(message); + }, + + showMessage: function(message) { + var $wrapper = $('#notifications div'), + $message = $('#notifications #message2'); + + this.animateMessages(); + $message.text(message); + if(this.messageTimer) { + this.resetMessageTimer(); + } + + this.messageTimer = setTimeout(function() { + $wrapper.addClass('top'); + }, 5000); + }, + + resetMessageTimer: function() { + clearTimeout(this.messageTimer); + } + }); + + return App; +}); \ No newline at end of file diff --git a/client/js/area.js b/client/js/area.js new file mode 100644 index 000000000..eaca1e2cb --- /dev/null +++ b/client/js/area.js @@ -0,0 +1,25 @@ + +define(function() { + + var Area = Class.extend({ + init: function(x, y, width, height) { + this.x = x; + this.y = y; + this.width = width; + this.height = height; + }, + + contains: function(entity) { + if(entity) { + return entity.gridX >= this.x + && entity.gridY >= this.y + && entity.gridX < this.x + this.width + && entity.gridY < this.y + this.height; + } else { + return false; + } + } + }); + + return Area; +}); \ No newline at end of file diff --git a/client/js/audio.js b/client/js/audio.js new file mode 100644 index 000000000..59f52484f --- /dev/null +++ b/client/js/audio.js @@ -0,0 +1,226 @@ + +define(['area'], function(Area) { + + var AudioManager = Class.extend({ + init: function(game) { + var self = this; + + this.enabled = true; + this.extension = "ogg"; + this.sounds = {}; + this.game = game; + this.currentMusic = null; + this.areas = []; + this.musicNames = ["village", "forest", "desert", "cave"]; + this.soundNames = ["loot", "hit", "hurt", "heal", "chat", "revive", "death", "firefox", "achievement", "kill", "noloot", "teleport", "chest"]; + + var handleLoaded = function(path, e) { + if(e.type === "canplaythrough") { + log.debug(path + " starts loading."); + } else if(e.type === "error") { + log.error("Error: "+ path +" could not be loaded."); + self.sounds[name] = null; + } else { + log.info("loadSound: "+ e.type+": "+e.detail); + } + }; + + log.info("Loading audio files..."); + _.each(this.musicNames, function(name) { self.loadMusic(name, handleLoaded) }); + _.each(this.soundNames, function(name) { self.loadSound(name, handleLoaded) }); + }, + + toggle: function() { + if(this.enabled) { + this.enabled = false; + + if(this.currentMusic) { + this.resetMusic(this.currentMusic); + } + } else { + this.enabled = true; + + if(this.currentMusic) { + this.currentMusic = null; + } + this.updateMusic(); + } + }, + + load: function (basePath, name, loaded_callback, channels) { + var path = basePath + name + "." + this.extension, + sound = document.createElement('audio'), + self = this; + + if(loaded_callback) { + sound.addEventListener('canplaythrough', function (e) { + this.removeEventListener('canplaythrough', arguments.callee, false) + loaded_callback(path, e); + }, false); + sound.addEventListener('error', function (e) { + loaded_callback(path, e); + }, false); + } + + sound.preload = "auto"; + sound.autobuffer = true; + sound.src = path; + sound.load(); + + this.sounds[name] = [sound]; + _.times(channels - 1, function() { + self.sounds[name].push(sound.cloneNode(true)); + }); + }, + + loadSound: function(name, handleLoaded) { + this.load("audio/sounds/", name, handleLoaded, 4); + }, + + loadMusic: function(name, handleLoaded) { + this.load("audio/music/", name, handleLoaded, 1); + var music = this.sounds[name][0]; + music.loop = true; + music.addEventListener('ended', function() { music.play() }, false); + }, + + /* + isLoaded: function() { + var self = this; + if(_.any(this.musicNames, function(name) { return !_.include(_.keys(self.sounds), name) })) { + return false; + } + return true; + },*/ + + getSound: function(name) { + var sound = _.detect(this.sounds[name], function(sound) { + return sound.ended || sound.paused; + }); + if(sound && sound.ended) { + sound.currentTime = 0; + } else { + sound = this.sounds[name][0]; + } + return sound; + }, + + playSound: function(name) { + var sound = this.enabled && this.getSound(name); + if(sound) { + sound.play(); + } + }, + + addArea: function(x, y, width, height, musicName) { + var area = new Area(x, y, width, height); + area.musicName = musicName; + this.areas.push(area); + }, + + getSurroundingMusic: function(entity) { + var music = null, + area = _.detect(this.areas, function(area) { + return area.contains(entity); + }); + + if(area) { + music = { sound: this.getSound(area.musicName), name: area.musicName }; + } + return music; + }, + + updateMusic: function() { + if(this.enabled) { + var music = this.getSurroundingMusic(this.game.player); + + if(music) { + if(!this.isCurrentMusic(music)) { + this.playMusic(music); + } + } else { + this.fadeOutCurrentMusic(); + } + } + }, + + isCurrentMusic: function(music) { + return this.currentMusic && (music.name === this.currentMusic.name); + }, + + playMusic: function(music) { + if(this.enabled && music && music.sound) { + if(music.sound.fadingOut) { + this.fadeInMusic(music); + } else { + music.sound.volume = 1; + music.sound.play(); + } + this.currentMusic = music; + } + }, + + resetMusic: function(music) { + if(music && music.sound && music.sound.readyState > 0) { + music.sound.pause(); + music.sound.currentTime = 0; + } + }, + + fadeOutMusic: function(music, ended_callback) { + var self = this; + if(music && !music.sound.fadingOut) { + music.sound.fadingOut = setInterval(function() { + var step = 0.01; + volume = music.sound.volume - step; + + if(self.enabled && volume >= step) { + music.sound.volume = volume; + } else { + music.sound.volume = 0; + self.clearFadeOut(music); + ended_callback(music); + } + }, 50); + } + }, + + fadeInMusic: function(music) { + var self = this; + if(music && !music.sound.fadingIn) { + this.clearFadeOut(music); + music.sound.fadingIn = setInterval(function() { + var step = 0.01; + volume = music.sound.volume + step; + + if(self.enabled && volume < 1 - step) { + music.sound.volume = volume; + } else { + music.sound.volume = 1; + clearInterval(music.sound.fadingIn); + music.sound.fadingIn = null; + } + }, 30); + } + }, + + clearFadeOut: function(music) { + if(music.sound.fadingOut) { + clearInterval(music.sound.fadingOut); + music.sound.fadingOut = null; + } + }, + + fadeOutCurrentMusic : function() { + var self = this; + if(this.currentMusic) { + this.fadeOutMusic(this.currentMusic, function(music) { + self.resetMusic(music); + }); + this.currentMusic = null; + } + } + }); + + return AudioManager; +}); diff --git a/client/js/bubble.js b/client/js/bubble.js new file mode 100644 index 000000000..cf9e2af69 --- /dev/null +++ b/client/js/bubble.js @@ -0,0 +1,96 @@ + +define(['jquery', 'timer'], function($, Timer) { + + var Bubble = Class.extend({ + init: function(id, element, time) { + this.id = id; + this.element = element; + this.timer = new Timer(5000, time); + }, + + isOver: function(time) { + if(this.timer.isOver(time)) { + return true; + } + return false; + }, + + destroy: function() { + $(this.element).remove(); + }, + + reset: function(time) { + this.timer.lastTime = time; + } + }); + + var BubbleManager = Class.extend({ + init: function(container) { + this.container = container; + this.bubbles = {}; + }, + + getBubbleById: function(id) { + if(id in this.bubbles) { + return this.bubbles[id]; + } + return null; + }, + + create: function(id, message, time) { + if(this.bubbles[id]) { + this.bubbles[id].reset(time); + $("#"+id+" p").html(message); + } + else { + var el = $("

"+message+"

"); //.attr('id', id); + $(el).appendTo(this.container); + + this.bubbles[id] = new Bubble(id, el, time); + } + }, + + update: function(time) { + var self = this, + bubblesToDelete = []; + + _.each(this.bubbles, function(bubble) { + if(bubble.isOver(time)) { + bubble.destroy(); + bubblesToDelete.push(bubble.id); + } + }); + + _.each(bubblesToDelete, function(id) { + delete self.bubbles[id]; + }); + }, + + clean: function() { + var self = this, + bubblesToDelete = []; + + _.each(this.bubbles, function(bubble) { + bubble.destroy(); + bubblesToDelete.push(bubble.id); + }); + + _.each(bubblesToDelete, function(id) { + delete self.bubbles[id]; + }); + + this.bubbles = {}; + }, + + destroyBubble: function(id) { + var bubble = this.getBubbleById(id); + + if(bubble) { + bubble.destroy(); + delete this.bubbles[id]; + } + } + }); + + return BubbleManager; +}); diff --git a/client/js/build.js b/client/js/build.js new file mode 100644 index 000000000..a676b49b5 --- /dev/null +++ b/client/js/build.js @@ -0,0 +1,35 @@ +({ + appDir: "../", + baseUrl: "js/", + dir: "../../client-build", + optimize: "uglify", + optimizeCss: "standard.keepLines", + + paths: { + "jquery": "lib/require-jquery" + }, + + modules: [ + //Optimize the require-jquery.js file by applying any minification + //that is desired via the optimize: setting above. + { + name: "jquery" + }, + + { + name: "game", + exclude: ["jquery"] + }, + + { + name: "home", + // Exclude the jquery module since it is included already in require-jquery.js + exclude: ["jquery", "game"] + } + ], + + pragmas: { + devHost: false, + prodHost: true + } +}) \ No newline at end of file diff --git a/client/js/camera.js b/client/js/camera.js new file mode 100644 index 000000000..c0beefdee --- /dev/null +++ b/client/js/camera.js @@ -0,0 +1,70 @@ + +define(function() { + + var Camera = Class.extend({ + init: function(renderer) { + this.renderer = renderer; + this.x = 0; + this.y = 0; + this.gridX = 0; + this.gridY = 0; + this.offset = 0.5; + this.rescale(); + }, + + rescale: function() { + var factor = this.renderer.mobile ? 1 : 2; + + this.gridW = 15 * factor; + this.gridH = 7 * factor; + + log.debug("---------"); + log.debug("Factor:"+factor); + log.debug("W:"+this.gridW + " H:" + this.gridH); + }, + + setPosition: function(x, y) { + this.x = x; + this.y = y; + + this.gridX = Math.floor( x / 16 ); + this.gridY = Math.floor( y / 16 ); + }, + + setGridPosition: function(x, y) { + this.gridX = x; + this.gridY = y; + + this.x = this.gridX * 16; + this.y = this.gridY * 16; + }, + + lookAt: function(entity) { + var r = this.renderer, + x = Math.round( entity.x - (Math.floor(this.gridW / 2) * r.tilesize) ), + y = Math.round( entity.y - (Math.floor(this.gridH / 2) * r.tilesize) ); + + this.setPosition(x, y); + }, + + forEachVisiblePosition: function(callback, extra) { + var extra = extra || 0; + for(var y=this.gridY-extra, maxY=this.gridY+this.gridH+(extra*2); y < maxY; y += 1) { + for(var x=this.gridX-extra, maxX=this.gridX+this.gridW+(extra*2); x < maxX; x += 1) { + callback(x, y); + } + } + }, + + focusEntity: function(entity) { + var w = this.gridW - 2, + h = this.gridH - 2, + x = Math.floor((entity.gridX - 1) / w) * w, + y = Math.floor((entity.gridY - 1) / h) * h; + + this.setGridPosition(x, y); + } + }); + + return Camera; +}); diff --git a/client/js/character.js b/client/js/character.js new file mode 100644 index 000000000..a7e9203ec --- /dev/null +++ b/client/js/character.js @@ -0,0 +1,546 @@ + +define(['entity', 'transition', 'timer'], function(Entity, Transition, Timer) { + + var Character = Entity.extend({ + init: function(id, kind) { + var self = this; + + this._super(id, kind); + + // Position and orientation + this.nextGridX = -1; + this.nextGridY = -1; + this.orientation = Types.Orientations.DOWN; + + // Speeds + this.atkSpeed = 50; + this.moveSpeed = 120; + this.walkSpeed = 100; + this.idleSpeed = 450; + this.setAttackRate(800); + + // Pathing + this.movement = new Transition(); + this.path = null; + this.newDestination = null; + + // Combat + this.target = null; + this.unconfirmedTarget = null; + this.attackers = {}; + + // Health + this.hitPoints = 0; + this.maxHitPoints = 0; + + // Modes + this.isDead = false; + this.attackingMode = false; + this.followingMode = false; + }, + + clean: function() { + this.forEachAttacker(function(attacker) { + attacker.disengage(); + attacker.idle(); + }); + }, + + setMaxHitPoints: function(hp) { + this.maxHitPoints = hp; + this.hitPoints = hp; + }, + + setDefaultAnimation: function() { + this.idle(); + }, + + hasWeapon: function() { + return false; + }, + + hasShadow: function() { + return true; + }, + + animate: function(animation, speed, count, onEndCount) { + var oriented = ['atk', 'walk', 'idle']; + o = this.orientation; + + this.flipSpriteX = false; + this.flipSpriteY = false; + + if(_.indexOf(oriented, animation) >= 0) { + animation += "_" + (o === Types.Orientations.LEFT ? "right" : Types.getOrientationAsString(o)); + this.flipSpriteX = (this.orientation === Types.Orientations.LEFT) ? true : false; + } + + this.setAnimation(animation, speed, count, onEndCount); + }, + + turnTo: function(orientation) { + this.orientation = orientation; + this.idle(); + }, + + setOrientation: function(orientation) { + if(orientation) { + this.orientation = orientation; + } + }, + + idle: function(orientation) { + this.setOrientation(orientation); + this.animate("idle", this.idleSpeed); + }, + + hit: function(orientation) { + this.setOrientation(orientation); + this.animate("atk", this.atkSpeed, 1); + }, + + walk: function(orientation) { + this.setOrientation(orientation); + this.animate("walk", this.walkSpeed); + }, + + moveTo_: function(x, y) { + this.destination = { gridX: x, gridY: y }; + + if(this.isMoving()) { + this.continueTo(x, y); + } + else { + var path = this.requestPathfindingTo(x, y); + + this.followPath(path); + } + }, + + requestPathfindingTo: function(x, y) { + if(this.request_path_callback) { + return this.request_path_callback(x, y); + } else { + log.error(this.id + " couldn't request pathfinding to "+x+", "+y); + return []; + } + }, + + onRequestPath: function(callback) { + this.request_path_callback = callback; + }, + + onStartPathing: function(callback) { + this.start_pathing_callback = callback; + }, + + onStopPathing: function(callback) { + this.stop_pathing_callback = callback; + }, + + followPath: function(path) { + if(path.length > 1) { // Length of 1 means the player has clicked on himself + this.path = path; + this.step = 0; + + if(this.followingMode) { // following a character + path.pop(); + } + + if(this.start_pathing_callback) { + this.start_pathing_callback(path); + } + this.nextStep(); + } + }, + + continueTo: function(x, y) { + this.newDestination = { x: x, y: y }; + }, + + updateMovement: function() { + var p = this.path, + i = this.step; + + if(p[i][0] < p[i-1][0]) { + this.walk(Types.Orientations.LEFT); + } + if(p[i][0] > p[i-1][0]) { + this.walk(Types.Orientations.RIGHT); + } + if(p[i][1] < p[i-1][1]) { + this.walk(Types.Orientations.UP); + } + if(p[i][1] > p[i-1][1]) { + this.walk(Types.Orientations.DOWN); + } + }, + + updatePositionOnGrid: function() { + this.setGridPosition(this.path[this.step][0], this.path[this.step][1]); + }, + + nextStep: function() { + var stop = false, + x, y, path; + + if(this.isMoving()) { + if(this.before_step_callback) { + this.before_step_callback(); + } + + this.updatePositionOnGrid(); + this.checkAggro(); + + if(this.interrupted) { // if Character.stop() has been called + stop = true; + this.interrupted = false; + } + else { + if(this.hasNextStep()) { + this.nextGridX = this.path[this.step+1][0]; + this.nextGridY = this.path[this.step+1][1]; + } + + if(this.step_callback) { + this.step_callback(); + } + + if(this.hasChangedItsPath()) { + x = this.newDestination.x; + y = this.newDestination.y; + path = this.requestPathfindingTo(x, y); + + this.newDestination = null; + if(path.length < 2) { + stop = true; + } + else { + this.followPath(path); + } + } + else if(this.hasNextStep()) { + this.step += 1; + this.updateMovement(); + } + else { + stop = true; + } + } + + if(stop) { // Path is complete or has been interrupted + this.path = null; + this.idle(); + + if(this.stop_pathing_callback) { + this.stop_pathing_callback(this.gridX, this.gridY); + } + } + } + }, + + onBeforeStep: function(callback) { + this.before_step_callback = callback; + }, + + onStep: function(callback) { + this.step_callback = callback; + }, + + /* + onBlocked: function(callback) { + this.blocked_callback = callback; + },*/ + + isMoving: function() { + return !(this.path === null); + }, + + hasNextStep: function() { + return (this.path.length - 1 > this.step); + }, + + hasChangedItsPath: function() { + return !(this.newDestination === null); + }, + + isNear: function(character, distance) { + var dx, dy, near = false; + + dx = Math.abs(this.gridX - character.gridX); + dy = Math.abs(this.gridY - character.gridY); + + if(dx <= distance && dy <= distance) { + near = true; + } + return near; + }, + + onAggro: function(callback) { + this.aggro_callback = callback; + }, + + onCheckAggro: function(callback) { + this.checkaggro_callback = callback; + }, + + checkAggro: function() { + if(this.checkaggro_callback) { + this.checkaggro_callback(); + } + }, + + aggro: function(character) { + if(this.aggro_callback) { + this.aggro_callback(character); + } + }, + + onDeath: function(callback) { + this.death_callback = callback; + }, + + /** + * Changes the character's orientation so that it is facing its target. + */ + lookAtTarget: function() { + if(this.target) { + this.turnTo(this.getOrientationTo(this.target)); + } + }, + + /** + * + */ + go: function(x, y) { + if(this.isAttacking()) { + this.disengage(); + } + else if(this.followingMode) { + this.followingMode = false; + this.target = null; + } + this.moveTo_(x, y); + }, + + /** + * Makes the character follow another one. + */ + follow: function(followed) { + this.followingMode = true; + this.moveTo_(followed.gridX, followed.gridY); + }, + + /** + * Stops a moving character. + */ + stop: function() { + if(this.isMoving()) { + this.interrupted = true; + } + }, + + /** + * Makes the character attack another character. Same as Character.follow but with an auto-attacking behavior. + * @see Character.follow + */ + engage: function(character) { + this.attackingMode = true; + this.setTarget(character); + this.follow(character); + }, + + disengage: function() { + log.debug(this.id + " has disengaged from the fight."); + this.attackingMode = false; + this.followingMode = false; + this.removeTarget(); + }, + + /** + * Returns true if the character is currently attacking. + */ + isAttacking: function() { + return this.attackingMode; + }, + + /** + * Gets the right orientation to face a target character from the current position. + * Note: + * In order to work properly, this method should be used in the following + * situation : + * S + * S T S + * S + * (where S is self, T is target character) + * + * @param {Character} character The character to face. + * @returns {String} The orientation. + */ + getOrientationTo: function(character) { + if(this.gridX < character.gridX) { + return Types.Orientations.RIGHT; + } else if(this.gridX > character.gridX) { + return Types.Orientations.LEFT; + } else if(this.gridY > character.gridY) { + return Types.Orientations.UP; + } else { + return Types.Orientations.DOWN; + } + }, + + /** + * Returns true if this character is currently attacked by a given character. + * @param {Character} character The attacking character. + * @returns {Boolean} Whether this is an attacker of this character. + */ + isAttackedBy: function(character) { + return (character.id in this.attackers); + }, + + /** + * Registers a character as a current attacker of this one. + * @param {Character} character The attacking character. + */ + addAttacker: function(character) { + if(!this.isAttackedBy(character)) { + this.attackers[character.id] = character; + } else { + log.error(this.id + " is already attacked by " + character.id); + } + }, + + /** + * Unregisters a character as a current attacker of this one. + * @param {Character} character The attacking character. + */ + removeAttacker: function(character) { + if(this.isAttackedBy(character)) { + delete this.attackers[character.id]; + } else { + log.error(this.id + " is not attacked by " + character.id); + } + }, + + /** + * Loops through all the characters currently attacking this one. + * @param {Function} callback Function which must accept one character argument. + */ + forEachAttacker: function(callback) { + _.each(this.attackers, function(attacker) { + callback(attacker); + }); + }, + + /** + * Sets this character's attack target. It can only have one target at any time. + * @param {Character} character The target character. + */ + setTarget: function(character) { + if(this.target !== character) { // If it's not already set as the target + if(this.hasTarget()) { + this.removeTarget(); // Cleanly remove the previous one + } + this.unconfirmedTarget = null; + this.target = character; + } else { + log.debug(character.id + " is already the target of " + this.id); + } + }, + + /** + * Removes the current attack target. + */ + removeTarget: function() { + var self = this; + + if(this.target) { + if(this.target instanceof Character) { + this.target.removeAttacker(this); + } + this.target = null; + } else { + log.debug(this.id + " has no target"); + } + }, + + /** + * Returns true if this character has a current attack target. + * @returns {Boolean} Whether this character has a target. + */ + hasTarget: function() { + return !(this.target === null); + }, + + /** + * Marks this character as waiting to attack a target. + * By sending an "attack" message, the server will later confirm (or not) + * that this character is allowed to acquire this target. + * + * @param {Character} character The target character + */ + waitToAttack: function(character) { + this.unconfirmedTarget = character; + }, + + /** + * Returns true if this character is currently waiting to attack the target character. + * @param {Character} character The target character. + * @returns {Boolean} Whether this character is waiting to attack. + */ + isWaitingToAttack: function(character) { + return (this.unconfirmedTarget === character); + }, + + /** + * + */ + canAttack: function(time) { + if(this.hasTarget() && this.isAdjacentNonDiagonal(this.target) && this.attackCooldown.isOver(time)) { + return true; + } + return false; + }, + + /** + * + */ + die: function() { + this.removeTarget(); + this.isDead = true; + + if(this.death_callback) { + this.death_callback(); + } + }, + + onHasMoved: function(callback) { + this.hasmoved_callback = callback; + }, + + hasMoved: function() { + if(this.hasmoved_callback) { + this.hasmoved_callback(this); + } + }, + + hurt: function() { + var self = this; + + this.stopHurting(); + this.sprite = this.hurtSprite; + this.hurting = setTimeout(this.stopHurting.bind(this), 75); + }, + + stopHurting: function() { + this.sprite = this.normalSprite; + clearTimeout(this.hurting); + }, + + setAttackRate: function(rate) { + this.attackCooldown = new Timer(rate); + } + }); + + return Character; +}); \ No newline at end of file diff --git a/client/js/chest.js b/client/js/chest.js new file mode 100644 index 000000000..6e7642122 --- /dev/null +++ b/client/js/chest.js @@ -0,0 +1,29 @@ + +define(['entity'], function(Entity) { + + var Chest = Entity.extend({ + init: function(id, kind) { + this._super(id, Types.Entities.CHEST); + }, + + getSpriteName: function() { + return "chest"; + }, + + isMoving: function() { + return false; + }, + + open: function() { + if(this.open_callback) { + this.open_callback(); + } + }, + + onOpen: function(callback) { + this.open_callback = callback; + } + }); + + return Chest; +}); \ No newline at end of file diff --git a/client/js/config.js b/client/js/config.js new file mode 100644 index 000000000..0a8ecaeec --- /dev/null +++ b/client/js/config.js @@ -0,0 +1,20 @@ + +define(['text!../config/config_build.json'], +function(build) { + var config = { + dev: { host: "localhost", port: 8000 }, + build: JSON.parse(build) + }; + + //>>excludeStart("prodHost", pragmas.prodHost); + require(['text!../config/config_local.json'], function(local) { + try { + config.local = JSON.parse(local); + } catch(e) { + // Exception triggered when config_local.json does not exist. Nothing to do here. + } + }); + //>>excludeEnd("prodHost"); + + return config; +}); \ No newline at end of file diff --git a/client/js/detect.js b/client/js/detect.js new file mode 100644 index 000000000..4f6f7e9fe --- /dev/null +++ b/client/js/detect.js @@ -0,0 +1,20 @@ + +var Detect = {}; + +Detect.supportsWebSocket = function() { + return window.WebSocket || window.MozWebSocket; +}; + +Detect.userAgentContains = function(string) { + return navigator.userAgent.indexOf(string) != -1; +}; + +Detect.isTablet = function(screenWidth) { + if(screenWidth > 640) { + if((Detect.userAgentContains('Android') && Detect.userAgentContains('Firefox')) + || Detect.userAgentContains('Mobile')) { + return true; + } + } + return false; +}; \ No newline at end of file diff --git a/client/js/entity.js b/client/js/entity.js new file mode 100644 index 000000000..5b996f085 --- /dev/null +++ b/client/js/entity.js @@ -0,0 +1,235 @@ + +define(function() { + + var Entity = Class.extend({ + init: function(id, kind) { + var self = this; + + this.id = id; + this.kind = kind; + + // Renderer + this.sprite = null; + this.flipSpriteX = false; + this.flipSpriteY = false; + this.animations = null; + this.currentAnimation = null; + this.shadowOffsetY = 0; + + // Position + this.setGridPosition(0, 0); + + // Modes + this.isLoaded = false; + this.isHighlighted = false; + this.visible = true; + this.isFading = false; + }, + + setName: function(name) { + this.name = name; + }, + + setPosition: function(x, y) { + this.x = x; + this.y = y; + }, + + setGridPosition: function(x, y) { + this.gridX = x; + this.gridY = y; + + this.setPosition(x * 16, y * 16); + }, + + setSprite: function(sprite) { + if(!sprite) { + log.error(this.id + " : sprite is null", true); + throw "Error"; + } + + if(this.sprite && this.sprite.name === sprite.name) { + return; + } + + this.sprite = sprite; + this.normalSprite = this.sprite; + + if(Types.isMob(this.kind) || Types.isPlayer(this.kind)) { + this.hurtSprite = sprite.getHurtSprite(); + } + + this.animations = sprite.createAnimations(); + + this.isLoaded = true; + if(this.ready_func) { + this.ready_func(); + } + }, + + getSprite: function() { + return this.sprite; + }, + + getSpriteName: function() { + return Types.getKindAsString(this.kind); + }, + + getAnimationByName: function(name) { + var animation = null; + + if(name in this.animations) { + animation = this.animations[name]; + } + else { + log.error("No animation called "+ name); + } + return animation; + }, + + setAnimation: function(name, speed, count, onEndCount) { + var self = this; + + if(this.isLoaded) { + if(this.currentAnimation && this.currentAnimation.name === name) { + return; + } + + var s = this.sprite, + a = this.getAnimationByName(name); + + if(a) { + this.currentAnimation = a; + if(name.substr(0, 3) === "atk") { + this.currentAnimation.reset(); + } + this.currentAnimation.setSpeed(speed); + this.currentAnimation.setCount(count ? count : 0, onEndCount || function() { + self.idle(); + }); + } + } + else { + this.log_error("Not ready for animation"); + } + }, + + hasShadow: function() { + return false; + }, + + ready: function(f) { + this.ready_func = f; + }, + + clean: function() { + this.stopBlinking(); + }, + + log_info: function(message) { + log.info("["+this.id+"] " + message); + }, + + log_error: function(message) { + log.error("["+this.id+"] " + message); + }, + + setHighlight: function(value) { + if(value === true) { + this.sprite = this.sprite.silhouetteSprite; + this.isHighlighted = true; + } + else { + this.sprite = this.normalSprite; + this.isHighlighted = false; + } + }, + + setVisible: function(value) { + this.visible = value; + }, + + isVisible: function() { + return this.visible; + }, + + toggleVisibility: function() { + if(this.visible) { + this.setVisible(false); + } else { + this.setVisible(true); + } + }, + + /** + * + */ + getDistanceToEntity: function(entity) { + var distX = Math.abs(entity.gridX - this.gridX); + var distY = Math.abs(entity.gridY - this.gridY); + + return (distX > distY) ? distX : distY; + }, + + isCloseTo: function(entity) { + var dx, dy, d, close = false; + if(entity) { + dx = Math.abs(entity.gridX - this.gridX); + dy = Math.abs(entity.gridY - this.gridY); + + if(dx < 30 && dy < 14) { + close = true; + } + } + return close; + }, + + /** + * Returns true if the entity is adjacent to the given one. + * @returns {Boolean} Whether these two entities are adjacent. + */ + isAdjacent: function(entity) { + var adjacent = false; + + if(entity) { + adjacent = this.getDistanceToEntity(entity) > 1 ? false : true; + } + return adjacent; + }, + + /** + * + */ + isAdjacentNonDiagonal: function(entity) { + var result = false; + + if(this.isAdjacent(entity) && !(this.gridX !== entity.gridX && this.gridY !== entity.gridY)) { + result = true; + } + + return result; + }, + + fadeIn: function(currentTime) { + this.isFading = true; + this.startFadingTime = currentTime; + }, + + blink: function(speed, callback) { + var self = this; + + this.blinking = setInterval(function() { + self.toggleVisibility(); + }, speed); + }, + + stopBlinking: function() { + if(this.blinking) { + clearInterval(this.blinking); + } + this.setVisible(true); + } + }); + + return Entity; +}); diff --git a/client/js/entityfactory.js b/client/js/entityfactory.js new file mode 100644 index 000000000..b00df6b5e --- /dev/null +++ b/client/js/entityfactory.js @@ -0,0 +1,204 @@ + +define(['mobs', 'items', 'npcs', 'warrior', 'chest'], function(Mobs, Items, NPCs, Warrior, Chest) { + + var EntityFactory = {}; + + EntityFactory.createEntity = function(kind, id, name) { + if(!kind) { + log.error("kind is undefined", true); + return; + } + + if(!_.isFunction(EntityFactory.builders[kind])) { + throw Error(kind + " is not a valid Entity type"); + } + + return EntityFactory.builders[kind](id, name); + }; + + //===== mobs ====== + + EntityFactory.builders = []; + + EntityFactory.builders[Types.Entities.WARRIOR] = function(id, name) { + return new Warrior(id, name); + }; + + EntityFactory.builders[Types.Entities.RAT] = function(id) { + return new Mobs.Rat(id); + }; + + EntityFactory.builders[Types.Entities.SKELETON] = function(id) { + return new Mobs.Skeleton(id); + }; + + EntityFactory.builders[Types.Entities.SKELETON2] = function(id) { + return new Mobs.Skeleton2(id); + }; + + EntityFactory.builders[Types.Entities.SPECTRE] = function(id) { + return new Mobs.Spectre(id); + }; + + EntityFactory.builders[Types.Entities.GOBLIN] = function(id) { + return new Mobs.Goblin(id); + }; + + EntityFactory.builders[Types.Entities.OGRE] = function(id) { + return new Mobs.Ogre(id); + }; + + EntityFactory.builders[Types.Entities.CRAB] = function(id) { + return new Mobs.Crab(id); + }; + + EntityFactory.builders[Types.Entities.SNAKE] = function(id) { + return new Mobs.Snake(id); + }; + + EntityFactory.builders[Types.Entities.EYE] = function(id) { + return new Mobs.Eye(id); + }; + + EntityFactory.builders[Types.Entities.BAT] = function(id) { + return new Mobs.Bat(id); + }; + + EntityFactory.builders[Types.Entities.WIZARD] = function(id) { + return new Mobs.Wizard(id); + }; + + EntityFactory.builders[Types.Entities.BOSS] = function(id) { + return new Mobs.Boss(id); + }; + + //===== items ====== + + EntityFactory.builders[Types.Entities.SWORD2] = function(id) { + return new Items.Sword2(id); + }; + + EntityFactory.builders[Types.Entities.AXE] = function(id) { + return new Items.Axe(id); + }; + + EntityFactory.builders[Types.Entities.REDSWORD] = function(id) { + return new Items.RedSword(id); + }; + + EntityFactory.builders[Types.Entities.BLUESWORD] = function(id) { + return new Items.BlueSword(id); + }; + + EntityFactory.builders[Types.Entities.GOLDENSWORD] = function(id) { + return new Items.GoldenSword(id); + }; + + EntityFactory.builders[Types.Entities.MORNINGSTAR] = function(id) { + return new Items.MorningStar(id); + }; + + EntityFactory.builders[Types.Entities.MAILARMOR] = function(id) { + return new Items.MailArmor(id); + }; + + EntityFactory.builders[Types.Entities.LEATHERARMOR] = function(id) { + return new Items.LeatherArmor(id); + }; + + EntityFactory.builders[Types.Entities.PLATEARMOR] = function(id) { + return new Items.PlateArmor(id); + }; + + EntityFactory.builders[Types.Entities.REDARMOR] = function(id) { + return new Items.RedArmor(id); + }; + + EntityFactory.builders[Types.Entities.GOLDENARMOR] = function(id) { + return new Items.GoldenArmor(id); + }; + + EntityFactory.builders[Types.Entities.FLASK] = function(id) { + return new Items.Flask(id); + }; + + EntityFactory.builders[Types.Entities.FIREPOTION] = function(id) { + return new Items.FirePotion(id); + }; + + EntityFactory.builders[Types.Entities.BURGER] = function(id) { + return new Items.Burger(id); + }; + + EntityFactory.builders[Types.Entities.CAKE] = function(id) { + return new Items.Cake(id); + }; + + EntityFactory.builders[Types.Entities.CHEST] = function(id) { + return new Chest(id); + }; + + //====== NPCs ====== + + EntityFactory.builders[Types.Entities.GUARD] = function(id) { + return new NPCs.Guard(id); + }; + + EntityFactory.builders[Types.Entities.KING] = function(id) { + return new NPCs.King(id); + }; + + EntityFactory.builders[Types.Entities.VILLAGEGIRL] = function(id) { + return new NPCs.VillageGirl(id); + }; + + EntityFactory.builders[Types.Entities.VILLAGER] = function(id) { + return new NPCs.Villager(id); + }; + + EntityFactory.builders[Types.Entities.AGENT] = function(id) { + return new NPCs.Agent(id); + }; + + EntityFactory.builders[Types.Entities.RICK] = function(id) { + return new NPCs.Rick(id); + }; + + EntityFactory.builders[Types.Entities.SCIENTIST] = function(id) { + return new NPCs.Scientist(id); + }; + + EntityFactory.builders[Types.Entities.NYAN] = function(id) { + return new NPCs.Nyan(id); + }; + + EntityFactory.builders[Types.Entities.PRIEST] = function(id) { + return new NPCs.Priest(id); + }; + + EntityFactory.builders[Types.Entities.SORCERER] = function(id) { + return new NPCs.Sorcerer(id); + }; + + EntityFactory.builders[Types.Entities.OCTOCAT] = function(id) { + return new NPCs.Octocat(id); + }; + + EntityFactory.builders[Types.Entities.BEACHNPC] = function(id) { + return new NPCs.BeachNpc(id); + }; + + EntityFactory.builders[Types.Entities.FORESTNPC] = function(id) { + return new NPCs.ForestNpc(id); + }; + + EntityFactory.builders[Types.Entities.DESERTNPC] = function(id) { + return new NPCs.DesertNpc(id); + }; + + EntityFactory.builders[Types.Entities.LAVANPC] = function(id) { + return new NPCs.LavaNpc(id); + }; + + return EntityFactory; +}); diff --git a/client/js/exceptions.js b/client/js/exceptions.js new file mode 100644 index 000000000..46bb9e22d --- /dev/null +++ b/client/js/exceptions.js @@ -0,0 +1,14 @@ + +define(function() { + + var Exceptions = { + + LootException: Class.extend({ + init: function(message) { + this.message = message; + } + }) + }; + + return Exceptions; +}); \ No newline at end of file diff --git a/client/js/game.js b/client/js/game.js new file mode 100644 index 000000000..6616d042b --- /dev/null +++ b/client/js/game.js @@ -0,0 +1,2096 @@ + +define(['infomanager', 'bubble', 'renderer', 'map', 'animation', 'sprite', 'tile', + 'warrior', 'gameclient', 'audio', 'updater', 'transition', 'pathfinder', + 'item', 'mob', 'npc', 'player', 'character', 'chest', 'mobs', 'exceptions', 'config', '../../shared/js/gametypes'], +function(InfoManager, BubbleManager, Renderer, Map, Animation, Sprite, AnimatedTile, + Warrior, GameClient, AudioManager, Updater, Transition, Pathfinder, + Item, Mob, Npc, Player, Character, Chest, Mobs, Exceptions, config) { + + var Game = Class.extend({ + init: function(app) { + this.app = app; + this.app.config = config; + this.ready = false; + this.started = false; + this.hasNeverStarted = true; + + this.renderer = null; + this.updater = null; + this.pathfinder = null; + this.chatinput = null; + this.bubbleManager = null; + this.audioManager = null; + + // Player + this.player = new Warrior("player", ""); + + // Game state + this.entities = {}; + this.deathpositions = {}; + this.entityGrid = null; + this.pathingGrid = null; + this.renderingGrid = null; + this.itemGrid = null; + this.currentCursor = null; + this.mouse = { x: 0, y: 0 }; + + this.selectedX = 0; + this.selectedY = 0; + this.selectedCellVisible = false; + this.targetColor = "rgba(255, 255, 255, 0.5)"; + this.targetCellVisible = true; + this.hoveringTarget = false; + this.hoveringMob = false; + this.hoveringItem = false; + this.hoveringCollidingTile = false; + + // combat + this.infoManager = new InfoManager(this); + + // zoning + this.currentZoning = null; + + this.cursors = {}; + + this.sprites = {}; + + // tile animation + this.animatedTiles = null; + + // debug + this.debugPathing = false; + + // sprites + this.spriteNames = ["hand", "sword", "loot", "target", "talk", "sparks", "shadow16", "rat", "skeleton", "skeleton2", "spectre", "boss", + "ogre", "crab", "snake", "eye", "bat", "goblin", "wizard", "guard", "king", "villagegirl", "villager", "agent", "rick", "scientist", "nyan", "priest", + "sorcerer", "octocat", "beachnpc", "forestnpc", "desertnpc", "lavanpc", "clotharmor", "leatherarmor", "mailarmor", + "platearmor", "redarmor", "goldenarmor", "firefox", "death", "sword1", "axe", "chest", + "sword2", "redsword", "bluesword", "goldensword", "item-sword2", "item-axe", "item-redsword", "item-bluesword", "item-goldensword", "item-leatherarmor", "item-mailarmor", + "item-platearmor", "item-redarmor", "item-goldenarmor", "item-flask", "item-cake", "item-burger", "morningstar", "item-morningstar", "item-firepotion"]; + }, + + setup: function($bubbleContainer, canvas, background, foreground, input) { + this.setBubbleManager(new BubbleManager($bubbleContainer)); + this.setRenderer(new Renderer(this, canvas, background, foreground)); + this.setChatInput(input); + }, + + setStorage: function(storage) { + this.storage = storage; + }, + + setRenderer: function(renderer) { + this.renderer = renderer; + }, + + setUpdater: function(updater) { + this.updater = updater; + }, + + setPathfinder: function(pathfinder) { + this.pathfinder = pathfinder; + }, + + setChatInput: function(element) { + this.chatinput = element; + }, + + setBubbleManager: function(bubbleManager) { + this.bubbleManager = bubbleManager; + }, + + loadMap: function() { + var self = this; + + this.map = new Map(!this.renderer.upscaledRendering, this); + + this.map.ready(function() { + log.info("Map loaded."); + var tilesetIndex = self.renderer.upscaledRendering ? 0 : self.renderer.scale - 1; + self.renderer.setTileset(self.map.tilesets[tilesetIndex]); + }); + }, + + initPlayer: function() { + if(this.storage.hasAlreadyPlayed()) { + this.player.setSpriteName(this.storage.data.player.armor); + this.player.setWeaponName(this.storage.data.player.weapon); + } + + this.player.setSprite(this.sprites[this.player.getSpriteName()]); + this.player.idle(); + + log.debug("Finished initPlayer"); + }, + + initShadows: function() { + this.shadows = {}; + this.shadows["small"] = this.sprites["shadow16"]; + }, + + initCursors: function() { + this.cursors["hand"] = this.sprites["hand"]; + this.cursors["sword"] = this.sprites["sword"]; + this.cursors["loot"] = this.sprites["loot"]; + this.cursors["target"] = this.sprites["target"]; + this.cursors["arrow"] = this.sprites["arrow"]; + this.cursors["talk"] = this.sprites["talk"]; + }, + + initAnimations: function() { + this.targetAnimation = new Animation("idle_down", 4, 0, 16, 16); + this.targetAnimation.setSpeed(50); + + this.sparksAnimation = new Animation("idle_down", 6, 0, 16, 16); + this.sparksAnimation.setSpeed(120); + }, + + initHurtSprites: function() { + var self = this; + + Types.forEachArmorKind(function(kind, kindName) { + self.sprites[kindName].createHurtSprite(); + }); + }, + + initSilhouettes: function() { + var self = this; + + Types.forEachMobOrNpcKind(function(kind, kindName) { + self.sprites[kindName].createSilhouette(); + }); + self.sprites["chest"].createSilhouette(); + self.sprites["item-cake"].createSilhouette(); + }, + + initAchievements: function() { + var self = this; + + this.achievements = { + A_TRUE_WARRIOR: { + id: 1, + name: "A True Warrior", + desc: "Find a new weapon" + }, + INTO_THE_WILD: { + id: 2, + name: "Into the Wild", + desc: "Venture outside the village" + }, + ANGRY_RATS: { + id: 3, + name: "Angry Rats", + desc: "Kill 10 rats", + isCompleted: function() { + return self.storage.getRatCount() >= 10; + } + }, + SMALL_TALK: { + id: 4, + name: "Small Talk", + desc: "Talk to a non-player character" + }, + FAT_LOOT: { + id: 5, + name: "Fat Loot", + desc: "Get a new armor set" + }, + UNDERGROUND: { + id: 6, + name: "Underground", + desc: "Explore at least one cave" + }, + AT_WORLDS_END: { + id: 7, + name: "At World's End", + desc: "Reach the south shore" + }, + COWARD: { + id: 8, + name: "Coward", + desc: "Succesfully escape an enemy" + }, + TOMB_RAIDER: { + id: 9, + name: "Tomb Raider", + desc: "Find the graveyard" + }, + SKULL_COLLECTOR: { + id: 10, + name: "Skull Collector", + desc: "Kill 10 skeletons", + isCompleted: function() { + return self.storage.getSkeletonCount() >= 10; + } + }, + NINJA_LOOT: { + id: 11, + name: "Ninja Loot", + desc: "Get hold of an item you didn't fight for" + }, + NO_MANS_LAND: { + id: 12, + name: "No Man's Land", + desc: "Travel through the desert" + }, + HUNTER: { + id: 13, + name: "Hunter", + desc: "Kill 50 enemies", + isCompleted: function() { + return self.storage.getTotalKills() >= 50; + } + }, + STILL_ALIVE: { + id: 14, + name: "Still Alive", + desc: "Revive your character five times", + isCompleted: function() { + return self.storage.getTotalRevives() >= 5; + } + }, + MEATSHIELD: { + id: 15, + name: "Meatshield", + desc: "Take 5,000 points of damage", + isCompleted: function() { + return self.storage.getTotalDamageTaken() >= 5000; + } + }, + HOT_SPOT: { + id: 16, + name: "Hot Spot", + desc: "Enter the volcanic mountains" + }, + HERO: { + id: 17, + name: "Hero", + desc: "Defeat the final boss" + }, + FOXY: { + id: 18, + name: "Foxy", + desc: "Find the Firefox costume", + hidden: true + }, + FOR_SCIENCE: { + id: 19, + name: "For Science", + desc: "Enter into a portal", + hidden: true + }, + RICKROLLD: { + id: 20, + name: "Rickroll'd", + desc: "Take some singing lessons", + hidden: true + } + }; + + _.each(this.achievements, function(obj) { + if(!obj.isCompleted) { + obj.isCompleted = function() { return true; } + } + if(!obj.hidden) { + obj.hidden = false; + } + }); + + this.app.initAchievementList(this.achievements); + + if(this.storage.hasAlreadyPlayed()) { + this.app.initUnlockedAchievements(this.storage.data.achievements.unlocked); + } + }, + + getAchievementById: function(id) { + var found = null; + _.each(this.achievements, function(achievement, key) { + if(achievement.id === parseInt(id)) { + found = achievement; + } + }); + return found; + }, + + loadSprite: function(name) { + if(this.renderer.upscaledRendering) { + this.spritesets[0][name] = new Sprite(name, 1); + } else { + this.spritesets[1][name] = new Sprite(name, 2); + if(!this.renderer.mobile && !this.renderer.tablet) { + this.spritesets[2][name] = new Sprite(name, 3); + } + } + }, + + setSpriteScale: function(scale) { + if(this.renderer.upscaledRendering) { + this.sprites = this.spritesets[0]; + } else { + this.sprites = this.spritesets[scale - 1]; + } + }, + + loadSprites: function() { + log.info("Loading sprites..."); + this.spritesets = []; + this.spritesets[0] = {}; + this.spritesets[1] = {}; + this.spritesets[2] = {}; + _.map(this.spriteNames, this.loadSprite, this); + }, + + spritesLoaded: function() { + if(_.any(this.sprites, function(sprite) { return !sprite.isLoaded; })) { + return false; + } + return true; + }, + + setCursor: function(name, orientation) { + if(name in this.cursors) { + this.currentCursor = this.cursors[name]; + this.currentCursorOrientation = orientation; + } else { + log.error("Unknown cursor name :"+name); + } + }, + + updateCursorLogic: function() { + if(this.hoveringCollidingTile && this.started) { + this.targetColor = "rgba(255, 50, 50, 0.5)"; + } + else { + this.targetColor = "rgba(255, 255, 255, 0.5)"; + } + + if(this.hoveringMob && this.started) { + this.setCursor("sword"); + this.hoveringTarget = false; + this.targetCellVisible = false; + } + else if(this.hoveringNpc && this.started) { + this.setCursor("talk"); + this.hoveringTarget = false; + this.targetCellVisible = false; + } + else if((this.hoveringItem || this.hoveringChest) && this.started) { + this.setCursor("loot"); + this.hoveringTarget = false; + this.targetCellVisible = true; + } + else { + this.setCursor("hand"); + this.hoveringTarget = false; + this.targetCellVisible = true; + } + }, + + focusPlayer: function() { + this.renderer.camera.lookAt(this.player); + }, + + addEntity: function(entity) { + if(this.entities[entity.id] === undefined) { + this.entities[entity.id] = entity; + this.registerEntityPosition(entity); + if(!(entity instanceof Item && entity.wasDropped)) { + entity.fadeIn(this.currentTime); + } + } + else { + log.error("This entity already exists : " + entity.id + " ("+entity.kind+")"); + } + }, + + removeEntity: function(entity) { + if(entity.id in this.entities) { + this.unregisterEntityPosition(entity); + delete this.entities[entity.id]; + } + else { + log.error("Cannot remove entity. Unknown ID : " + entity.id); + } + }, + + addItem: function(item, x, y) { + item.setSprite(this.sprites[item.getSpriteName()]); + item.setGridPosition(x, y); + item.setAnimation("idle", 150); + this.addEntity(item); + }, + + removeItem: function(item) { + if(item) { + this.itemGrid[item.gridY][item.gridX] = null; + this.removeFromRenderingGrid(item, item.gridX, item.gridY); + delete this.entities[item.id]; + } else { + log.error("Cannot remove item. Unknown ID : " + item.id); + } + }, + + initPathingGrid: function() { + this.pathingGrid = []; + for(var i=0; i < this.map.height; i += 1) { + this.pathingGrid[i] = []; + for(var j=0; j < this.map.width; j += 1) { + this.pathingGrid[i][j] = this.map.grid[i][j]; + } + } + log.info("Initialized the pathing grid with static colliding cells."); + }, + + initEntityGrid: function() { + this.entityGrid = []; + for(var i=0; i < this.map.height; i += 1) { + this.entityGrid[i] = []; + for(var j=0; j < this.map.width; j += 1) { + this.entityGrid[i][j] = null; + } + } + log.info("Initialized the entity grid."); + }, + + initRenderingGrid: function() { + this.renderingGrid = []; + for(var i=0; i < this.map.height; i += 1) { + this.renderingGrid[i] = []; + for(var j=0; j < this.map.width; j += 1) { + this.renderingGrid[i][j] = {}; + } + } + log.info("Initialized the rendering grid."); + }, + + initItemGrid: function() { + this.itemGrid = []; + for(var i=0; i < this.map.height; i += 1) { + this.itemGrid[i] = []; + for(var j=0; j < this.map.width; j += 1) { + this.itemGrid[i][j] = null; + } + } + log.info("Initialized the item grid."); + }, + + /** + * + */ + initAnimatedTiles: function() { + var self = this, + m = this.map; + + this.animatedTiles = []; + this.forEachVisibleTile(function (id, index) { + if(m.isAnimatedTile(id)) { + self.animatedTiles.push(new AnimatedTile(id, m.getTileAnimationLength(id), m.getTileAnimationDelay(id), index)); + } + }); + //log.info("Initialized animated tiles."); + }, + + addToRenderingGrid: function(entity, x, y) { + if(!this.map.isOutOfBounds(x, y)) { + this.renderingGrid[y][x][entity.id] = entity; + } + }, + + removeFromRenderingGrid: function(entity, x, y) { + if(entity && this.renderingGrid[y][x] && entity.id in this.renderingGrid[y][x]) { + delete this.renderingGrid[y][x][entity.id]; + } + }, + + removeFromEntityGrid: function(x, y) { + this.entityGrid[y][x] = null; + }, + + removeFromPathingGrid: function(x, y) { + this.pathingGrid[y][x] = 0; + }, + + /** + * Registers the entity at two adjacent positions on the grid at the same time. + * This situation is temporary and should only occur when the entity is moving. + * This is useful for the hit testing algorithm used when hovering entities with the mouse cursor. + * + * @param {Entity} entity The moving entity + */ + registerEntityDualPosition: function(entity) { + if(entity) { + this.entityGrid[entity.gridY][entity.gridX] = entity; + + this.addToRenderingGrid(entity, entity.gridX, entity.gridY); + + if(entity.nextGridX >= 0 && entity.nextGridY >= 0) { + this.entityGrid[entity.nextGridY][entity.nextGridX] = entity; + if(!(entity instanceof Player)) { + this.pathingGrid[entity.nextGridY][entity.nextGridX] = 1; + } + } + } + }, + + /** + * Clears the position(s) of this entity in the entity grid. + * + * @param {Entity} entity The moving entity + */ + unregisterEntityPosition: function(entity) { + if(entity) { + this.removeFromEntityGrid(entity.gridX, entity.gridY); + this.removeFromPathingGrid(entity.gridX, entity.gridY); + + this.removeFromRenderingGrid(entity, entity.gridX, entity.gridY); + + if(entity.nextGridX >= 0 && entity.nextGridY >= 0) { + this.removeFromEntityGrid(entity.nextGridX, entity.nextGridY); + this.removeFromPathingGrid(entity.nextGridX, entity.nextGridY); + } + } + }, + + registerEntityPosition: function(entity) { + var x = entity.gridX, + y = entity.gridY; + + if(entity) { + if(entity instanceof Character || entity instanceof Chest) { + this.entityGrid[y][x] = entity; + if(!(entity instanceof Player)) { + this.pathingGrid[y][x] = 1; + } + } + if(entity instanceof Item) { + this.itemGrid[y][x] = entity; + } + + this.addToRenderingGrid(entity, x, y); + } + }, + + setServerOptions: function(host, port, username) { + this.host = host; + this.port = port; + this.username = username; + }, + + loadAudio: function() { + this.audioManager = new AudioManager(this); + }, + + initMusicAreas: function() { + var self = this; + _.each(this.map.musicAreas, function(area) { + self.audioManager.addArea(area.x, area.y, area.w, area.h, area.id); + }); + }, + + run: function(started_callback) { + var self = this; + + this.loadSprites(); + this.loadAudio(); + this.setUpdater(new Updater(this)); + this.camera = this.renderer.camera; + + this.setSpriteScale(this.renderer.scale); + + var wait = setInterval(function() { + if(self.map.isLoaded && self.spritesLoaded()) { + self.ready = true; + log.debug('All sprites loaded.'); + + self.initMusicAreas(); + self.initAchievements(); + self.initCursors(); + self.initAnimations(); + self.initShadows(); + self.initHurtSprites(); + + if(!self.renderer.mobile + && !self.renderer.tablet + && self.renderer.upscaledRendering) { + self.initSilhouettes(); + } + + self.initEntityGrid(); + self.initItemGrid(); + self.initPathingGrid(); + self.initRenderingGrid(); + + self.setPathfinder(new Pathfinder(self.map.width, self.map.height)); + + self.initPlayer(); + self.setCursor("hand"); + + self.connect(started_callback); + + clearInterval(wait); + } + }, 100); + }, + + tick: function() { + this.currentTime = new Date().getTime(); + + if(this.started) { + this.updateCursorLogic(); + this.updater.update(); + this.renderer.renderFrame(); + } + + if(!this.isStopped) { + requestAnimFrame(this.tick.bind(this)); + } + }, + + start: function() { + this.tick(); + this.hasNeverStarted = false; + log.info("Game loop started."); + }, + + stop: function() { + log.info("Game stopped."); + this.isStopped = true; + }, + + entityIdExists: function(id) { + return id in this.entities; + }, + + getEntityById: function(id) { + if(id in this.entities) { + return this.entities[id]; + } + else { + log.error("Unknown entity id : " + id, true); + } + }, + + connect: function(started_callback) { + var self = this; + + this.client = new GameClient(this.host, this.port); + this.client.connect(); + + this.client.onConnected(function() { + log.info("Connected to server "+self.client.host+":"+self.client.port); + + self.player.name = self.username; + self.started = true; + + self.sendHello(self.player); + }); + + this.client.onEntityList(function(list) { + var entityIds = _.pluck(self.entities, 'id'), + knownIds = _.intersection(entityIds, list), + newIds = _.difference(list, knownIds); + + self.obsoleteEntities = _.reject(self.entities, function(entity) { + return _.include(knownIds, entity.id) || entity.id === self.player.id; + }); + + /* + log.debug("list ("+_.size(list)+"): "+list); + log.debug("entityIds ("+_.size(entityIds)+"): "+entityIds); + log.debug("knownIds ("+_.size(knownIds)+"): "+knownIds); + log.debug("obsolete ("+_.size(self.obsoleteEntities)+"): "+_.pluck(self.obsoleteEntities, 'id')); + log.debug("newIds ("+_.size(newIds)+"): "+newIds);*/ + + // Destroy entities outside of the player's zone group + self.removeObsoleteEntities(); + + // Ask the server for spawn information about unknown entities + if(newIds) { + self.client.sendWho(newIds); + } + }); + + this.client.onWelcome(function(id, name, x, y, hp) { + log.info("Received player ID from server : "+ id); + self.player.id = id; + self.playerId = id; + // Always accept name received from the server which will + // sanitize and shorten names exceeding the allowed length. + self.player.name = name; + self.player.setGridPosition(x, y); + self.player.setMaxHitPoints(hp); + + self.updateBars(); + self.resetCamera(); + self.updatePlateauMode(); + self.audioManager.updateMusic(); + + self.addEntity(self.player); + + setTimeout(function() { + self.tryUnlockingAchievement("STILL_ALIVE"); + }, 1500); + + if(!self.storage.hasAlreadyPlayed()) { + self.storage.initPlayer(self.player.name); + self.storage.savePlayer(self.renderer.getPlayerImage(), + self.player.getSpriteName(), + self.player.getWeaponName()); + self.showNotification("Welcome to BrowserQuest!"); + } else { + self.showNotification("Welcome back to BrowserQuest!"); + self.storage.setPlayerName(name); + } + + self.player.onStartPathing(function(path) { + var i = path.length - 1, + x = path[i][0], + y = path[i][1]; + + if(self.player.isMovingToLoot()) { + self.player.isLootMoving = false; + } + else if(!self.player.isAttacking()) { + self.client.sendMove(x, y); + } + + // Target cursor position + self.selectedX = x; + self.selectedY = y; + self.selectedCellVisible = true; + }); + + self.player.onCheckAggro(function() { + self.forEachMob(function(mob) { + if(mob.isAggressive && !mob.isAttacking() && self.player.isNear(mob, mob.aggroRange)) { + self.player.aggro(mob); + } + }); + }); + + self.player.onAggro(function(mob) { + if(!mob.isWaitingToAttack(self.player) && !self.player.isAttackedBy(mob)) { + self.player.log_info("Aggroed by " + mob.id + " at ("+self.player.gridX+", "+self.player.gridY+")"); + self.client.sendAggro(mob); + mob.waitToAttack(self.player); + } + }); + + self.player.onBeforeStep(function() { + var blockingEntity = self.getEntityAt(self.player.nextGridX, self.player.nextGridY); + if(blockingEntity && blockingEntity.id !== self.playerId) { + log.debug("Blocked by " + blockingEntity.id); + } + self.unregisterEntityPosition(self.player); + }); + + self.player.onStep(function() { + if(self.player.hasNextStep()) { + self.registerEntityDualPosition(self.player); + } + + if(self.isZoningTile(self.player.gridX, self.player.gridY)) { + if(!self.isZoning()) { + self.startZoningFrom(self.player.gridX, self.player.gridY); + } + } + + self.player.forEachAttacker(function(attacker) { + if(attacker.isAdjacent(attacker.target)) { + attacker.lookAtTarget(); + } else { + attacker.follow(self.player); + } + }); + + if(self.player.gridX <= 85 && self.player.gridY <= 177 && self.player.gridY > 176) { + self.tryUnlockingAchievement("INTO_THE_WILD"); + } + + if(self.player.gridX <= 85 && self.player.gridY <= 293 && self.player.gridY > 292) { + self.tryUnlockingAchievement("AT_WORLDS_END"); + } + + if(self.player.gridX <= 85 && self.player.gridY <= 100 && self.player.gridY > 99) { + self.tryUnlockingAchievement("NO_MANS_LAND"); + } + + if(self.player.gridX <= 85 && self.player.gridY <= 51 && self.player.gridY > 50) { + self.tryUnlockingAchievement("HOT_SPOT"); + } + + if(self.player.gridX <= 27 && self.player.gridY <= 123 && self.player.gridY > 112) { + self.tryUnlockingAchievement("TOMB_RAIDER"); + } + + self.updatePlayerCheckpoint(); + + self.audioManager.updateMusic(); + }); + + /* + self.player.onBlocked(function(entity) { + log.debug("Player blocked by "+entity.id); + });*/ + + self.player.onStopPathing(function(x, y) { + if(self.player.hasTarget()) { + self.player.lookAtTarget(); + } + + self.selectedCellVisible = false; + + if(self.isItemAt(x, y)) { + var item = self.getItemAt(x, y); + + try { + self.player.loot(item); + self.client.sendLoot(item); // Notify the server that this item has been looted + self.removeItem(item); + if(self.equipment_callback) { + self.equipment_callback(); + } + self.showNotification(item.getLootMessage()); + + if(item.type === "armor") { + self.tryUnlockingAchievement("FAT_LOOT"); + } + + if(item.type === "weapon") { + self.tryUnlockingAchievement("A_TRUE_WARRIOR"); + } + + if(item.kind === Types.Entities.CAKE) { + self.tryUnlockingAchievement("FOR_SCIENCE"); + } + + if(item.kind === Types.Entities.FIREPOTION) { + self.tryUnlockingAchievement("FOXY"); + self.audioManager.playSound("firefox"); + } + + if(Types.isHealingItem(item.kind)) { + self.audioManager.playSound("heal"); + } else { + self.audioManager.playSound("loot"); + } + + if(item.wasDropped && !_(item.playersInvolved).include(self.playerId)) { + self.tryUnlockingAchievement("NINJA_LOOT"); + } + } catch(e) { + if(e instanceof Exceptions.LootException) { + self.showNotification(e.message); + self.audioManager.playSound("noloot"); + } else { + throw e; + } + } + } + + if(self.map.isDoor(x, y)) { + var dest = self.map.getDoorDestination(x, y); + + self.player.setGridPosition(dest.x, dest.y); + self.player.turnTo(dest.orientation); + self.client.sendTeleport(dest.x, dest.y); + if(self.renderer.mobile && dest.cameraX && dest.cameraY) { + self.camera.setGridPosition(dest.cameraX, dest.cameraY); + } else { + self.camera.focusEntity(self.player); + } + self.resetZone(); + + if(_.size(self.player.attackers) > 0) { + setTimeout(function() { self.tryUnlockingAchievement("COWARD"); }, 500); + } + self.player.forEachAttacker(function(attacker) { + attacker.disengage(); + attacker.idle(); + }); + + self.updatePlateauMode(); + + self.checkUndergroundAchievement(); + + if(self.renderer.mobile || self.renderer.tablet) { + // When rendering with dirty rects, clear the whole screen on entering a door. + self.renderer.clearScreen(self.renderer.context); + } + + //play the teleport sound + if((self.player.gridX === 77 && self.player.gridY === 237) || (self.player.gridX === 82 && self.player.gridY === 234)) { + self.audioManager.playSound("teleport"); + } + + self.audioManager.fadeOutCurrentMusic(); + } + + if(self.player.target instanceof Npc) { + self.makeNpcTalk(self.player.target); + } else if(self.player.target instanceof Chest) { + self.client.sendOpen(self.player.target); + self.audioManager.playSound("chest"); + } + + self.unregisterEntityPosition(self.player); + self.registerEntityPosition(self.player); + }); + + self.player.onRequestPath(function(x, y) { + var ignored = [self.player]; // Always ignore self + + if(self.player.hasTarget()) { + ignored.push(self.player.target); + } + return self.findPath(self.player, x, y, ignored); + }); + + self.player.onDeath(function() { + log.info(self.playerId + " is dead"); + + self.player.stopBlinking(); + self.player.setSprite(self.sprites["death"]); + self.player.animate("death", 120, 1, function() { + log.info(self.playerId + " was removed"); + + self.removeEntity(self.player); + self.removeFromRenderingGrid(self.player, self.player.gridX, self.player.gridY); + + self.player = null; + self.client.disable(); + + setTimeout(function() { + self.playerdeath_callback(); + }, 1000); + }); + + self.player.forEachAttacker(function(attacker) { + attacker.disengage(); + attacker.idle(); + }); + + self.audioManager.fadeOutCurrentMusic(); + self.audioManager.playSound("death"); + }); + + self.player.onHasMoved(function(player) { + self.assignBubbleTo(player); + }); + + self.player.onArmorLoot(function(armorName) { + self.player.switchArmor(self.sprites[armorName]); + }); + + self.player.onSwitchItem(function() { + if(self.player.getSpriteName() !== "firefox") { + self.storage.savePlayer(self.renderer.getPlayerImage(), + self.player.getSpriteName(), + self.player.getWeaponName()); + } + }); + + self.player.onInvincible(function() { + self.invincible_callback(); + self.player.switchArmor(self.sprites["firefox"]); + }); + + self.client.onSpawnItem(function(item, x, y) { + log.info("Spawned " + Types.getKindAsString(item.kind) + " (" + item.id + ") at "+x+", "+y); + self.addItem(item, x, y); + }); + + self.client.onSpawnChest(function(chest, x, y) { + log.info("Spawned chest (" + chest.id + ") at "+x+", "+y); + chest.setSprite(self.sprites[chest.getSpriteName()]); + chest.setGridPosition(x, y); + chest.setAnimation("idle_down", 150); + self.addEntity(chest, x, y); + + chest.onOpen(function() { + chest.stopBlinking(); + chest.setSprite(self.sprites["death"]); + chest.setAnimation("death", 120, 1, function() { + log.info(chest.id + " was removed"); + self.removeEntity(chest); + self.removeFromRenderingGrid(chest, chest.gridX, chest.gridY); + }); + }); + }); + + self.client.onSpawnCharacter(function(entity, x, y, orientation, targetId) { + if(!self.entityIdExists(entity.id)) { + try { + if(entity.id !== self.playerId) { + entity.setSprite(self.sprites[entity.getSpriteName()]); + entity.setGridPosition(x, y); + entity.setOrientation(orientation); + entity.idle(); + + self.addEntity(entity); + + log.info("Spawned " + Types.getKindAsString(entity.kind) + " (" + entity.id + ") at "+entity.gridX+", "+entity.gridY); + + if(entity instanceof Character) { + entity.onBeforeStep(function() { + self.unregisterEntityPosition(entity); + + if(self.player && self.player.target && (entity.id === self.player.target.id) && entity.getDistanceToEntity(self.player) <= 3) { + log.debug(entity.id + " interrupted its path"); + entity.stop(); + self.player.stop(); + } + + /* + if(self.player.target === entity) { + self.makePlayerAttack(entity); + + if(entity.getDistanceToEntity(self.player) <= 2) { + log.debug(entity.id + " interrupted its path"); + //entity.stop(); + } + }*/ + }); + + entity.onStep(function() { + self.registerEntityDualPosition(entity); + + entity.forEachAttacker(function(attacker) { + if(!attacker.isAdjacent(attacker.target)) { + attacker.follow(entity); + } + }); + }); + + entity.onStopPathing(function(x, y) { + if(entity.hasTarget() && entity.isAdjacent(entity.target)) { + entity.lookAtTarget(); + } + + if(entity instanceof Player) { + var gridX = entity.destination.gridX, + gridY = entity.destination.gridY; + + if(self.map.isDoor(gridX, gridY)) { + var dest = self.map.getDoorDestination(gridX, gridY); + entity.setGridPosition(dest.x, dest.y); + } + } + + self.unregisterEntityPosition(entity); + self.registerEntityPosition(entity); + }); + + entity.onRequestPath(function(x, y) { + var ignored = [entity]; // Always ignore self + + if(entity.hasTarget()) { + ignored.push(entity.target); + } + + return self.findPath(entity, x, y, ignored); + }); + + entity.onDeath(function() { + log.info(entity.id + " is dead"); + + if(entity instanceof Mob) { + // Keep track of where mobs die in order to spawn their dropped items + // at the right position later. + self.deathpositions[entity.id] = {x: entity.gridX, y: entity.gridY}; + } + + entity.setSprite(self.sprites[entity instanceof Mobs.Rat ? "rat" : "death"]); + entity.animate("death", 120, 1, function() { + log.info(entity.id + " was removed"); + + self.removeEntity(entity); + self.removeFromRenderingGrid(entity, entity.gridX, entity.gridY); + }); + + entity.forEachAttacker(function(attacker) { + attacker.disengage(); + attacker.idle(); + }); + + // Upon death, this entity is removed from both grids, allowing the player + // to click very fast in order to loot the dropped item and not be blocked. + // The entity is completely removed only after the death animation has ended. + self.removeFromEntityGrid(entity.gridX, entity.gridY); + self.removeFromPathingGrid(entity.gridX, entity.gridY); + + self.updateCursor(); + }); + + entity.onHasMoved(function(entity) { + self.assignBubbleTo(entity); // Make chat bubbles follow moving entities + }); + + if(entity instanceof Mob) { + if(targetId) { + var player = self.getEntityById(targetId); + if(player) { + self.createAttackLink(entity, player); + } + } + } + } + } + } + catch(e) { + log.error(e); + } + } else { + log.debug("Character "+entity.id+" already exists. Don't respawn."); + } + }); + + self.client.onDespawnEntity(function(entityId) { + var entity = self.getEntityById(entityId); + + if(entity) { + log.info("Despawning " + Types.getKindAsString(entity.kind) + " (" + entity.id+ ")"); + if(entity instanceof Item) { + self.removeItem(entity); + } else if(entity instanceof Character) { + entity.die(); + } else if(entity instanceof Chest) { + entity.open(); + } + entity.clean(); + } + }); + + self.client.onItemBlink(function(id) { + var item = self.getEntityById(id); + + if(item) { + item.blink(150); + } + }); + + self.client.onEntityMove(function(id, x, y) { + var entity = null; + + if(id !== self.playerId) { + entity = self.getEntityById(id); + + if(entity) { + if(self.player.isAttackedBy(entity)) { + self.tryUnlockingAchievement("COWARD"); + } + entity.disengage(); + entity.idle(); + self.makeCharacterGoTo(entity, x, y); + } + } + }); + + self.client.onEntityDestroy(function(id) { + var entity = self.getEntityById(id); + if(entity) { + if(entity instanceof Item) { + self.removeItem(entity); + } else { + self.removeEntity(entity); + } + log.debug("Entity was destroyed: "+entity.id); + } + }); + + self.client.onPlayerMoveToItem(function(playerId, itemId) { + var player, item; + + if(playerId !== self.playerId) { + player = self.getEntityById(playerId); + item = self.getEntityById(itemId); + + if(player && item) { + self.makeCharacterGoTo(player, item.gridX, item.gridY); + } + } + }); + + self.client.onEntityAttack(function(attackerId, targetId) { + var attacker = self.getEntityById(attackerId), + target = self.getEntityById(targetId); + + if(attacker && target && attacker.id !== self.playerId) { + log.debug(attacker.id + " attacks " + target.id); + self.createAttackLink(attacker, target); + } + }); + + self.client.onPlayerDamageMob(function(mobId, points) { + var mob = self.getEntityById(mobId); + if(mob && points) { + self.infoManager.addDamageInfo(points, mob.x, mob.y - 15, "inflicted"); + } + }); + + self.client.onPlayerKillMob(function(kind) { + self.showNotification("You killed a " + Types.getKindAsString(kind)); + + self.storage.incrementTotalKills(); + self.tryUnlockingAchievement("HUNTER"); + + if(kind === Types.Entities.RAT) { + self.storage.incrementRatCount(); + self.tryUnlockingAchievement("ANGRY_RATS"); + } + + if(kind === Types.Entities.SKELETON || kind === Types.Entities.SKELETON2) { + self.storage.incrementSkeletonCount(); + self.tryUnlockingAchievement("SKULL_COLLECTOR"); + } + + if(kind === Types.Entities.BOSS) { + self.tryUnlockingAchievement("HERO"); + } + + self.audioManager.playSound("kill"); + }); + + self.client.onPlayerChangeHealth(function(points, isRegen) { + var player = self.player, + diff, + isHurt; + + if(player && !player.isDead && !player.invincible) { + isHurt = points <= player.hitPoints; + diff = points - player.hitPoints; + player.hitPoints = points; + + if(player.hitPoints <= 0) { + player.die(); + } + if(isHurt) { + player.hurt(); + self.infoManager.addDamageInfo(diff, player.x, player.y - 15, "received"); + self.audioManager.playSound("hurt"); + self.storage.addDamage(-diff); + self.tryUnlockingAchievement("MEATSHIELD"); + if(self.playerhurt_callback) { + self.playerhurt_callback(); + } + } else if(!isRegen){ + self.infoManager.addDamageInfo("+"+diff, player.x, player.y - 15, "healed"); + } + self.updateBars(); + } + }); + + self.client.onPlayerChangeMaxHitPoints(function(hp) { + self.player.maxHitPoints = hp; + self.player.hitPoints = hp; + self.updateBars(); + }); + + self.client.onPlayerEquipItem(function(playerId, itemKind) { + var player = self.getEntityById(playerId), + itemName = Types.getKindAsString(itemKind); + + if(player) { + if(Types.isArmor(itemKind)) { + player.setSprite(self.sprites[itemName]); + } else if(Types.isWeapon(itemKind)) { + player.setWeaponName(itemName); + } + } + }); + + self.client.onPlayerTeleport(function(id, x, y) { + var entity = null, + currentOrientation; + + if(id !== self.playerId) { + entity = self.getEntityById(id); + + if(entity) { + currentOrientation = entity.orientation; + + self.makeCharacterTeleportTo(entity, x, y); + entity.setOrientation(currentOrientation); + + entity.forEachAttacker(function(attacker) { + attacker.disengage(); + attacker.idle(); + attacker.stop(); + }); + } + } + }); + + self.client.onDropItem(function(item, mobId) { + var pos = self.getDeadMobPosition(mobId); + + if(pos) { + self.addItem(item, pos.x, pos.y); + self.updateCursor(); + } + }); + + self.client.onChatMessage(function(entityId, message) { + var entity = self.getEntityById(entityId); + self.createBubble(entityId, message); + self.assignBubbleTo(entity); + self.audioManager.playSound("chat"); + }); + + self.client.onPopulationChange(function(population) { + if(self.nbplayers_callback) { + self.nbplayers_callback(population); + } + }); + + self.gamestart_callback(); + + if(self.hasNeverStarted) { + self.start(); + started_callback(); + } + }); + }, + + /** + * Links two entities in an attacker<-->target relationship. + * This is just a utility method to wrap a set of instructions. + * + * @param {Entity} attacker The attacker entity + * @param {Entity} target The target entity + */ + createAttackLink: function(attacker, target) { + if(attacker.hasTarget()) { + attacker.removeTarget(); + } + attacker.engage(target); + target.addAttacker(attacker); + }, + + /** + * Sends a "hello" message to the server, as a way of initiating the player connection handshake. + * @see GameClient.sendHello + */ + sendHello: function() { + this.client.sendHello(this.player); + }, + + /** + * Converts the current mouse position on the screen to world grid coordinates. + * @returns {Object} An object containing x and y properties. + */ + getMouseGridPosition: function() { + var mx = this.mouse.x, + my = this.mouse.y, + c = this.renderer.camera, + s = this.renderer.scale, + ts = this.renderer.tilesize, + offsetX = mx % (ts * s), + offsetY = my % (ts * s), + x = ((mx - offsetX) / (ts * s)) + c.gridX, + y = ((my - offsetY) / (ts * s)) + c.gridY; + + return { x: x, y: y }; + }, + + /** + * Moves a character to a given location on the world grid. + * + * @param {Number} x The x coordinate of the target location. + * @param {Number} y The y coordinate of the target location. + */ + makeCharacterGoTo: function(character, x, y) { + if(!this.map.isOutOfBounds(x, y)) { + character.go(x, y); + } + }, + + /** + * + */ + makeCharacterTeleportTo: function(character, x, y) { + if(!this.map.isOutOfBounds(x, y)) { + this.unregisterEntityPosition(character); + + character.setGridPosition(x, y); + + this.registerEntityPosition(character); + } else { + log.debug("Teleport out of bounds: "+x+", "+y); + } + }, + + /** + * Moves the current player to a given target location. + * @see makeCharacterGoTo + */ + makePlayerGoTo: function(x, y) { + this.makeCharacterGoTo(this.player, x, y); + }, + + /** + * Moves the current player towards a specific item. + * @see makeCharacterGoTo + */ + makePlayerGoToItem: function(item) { + if(item) { + this.player.isLootMoving = true; + this.makePlayerGoTo(item.gridX, item.gridY); + this.client.sendLootMove(item, item.gridX, item.gridY); + } + }, + + /** + * + */ + makePlayerTalkTo: function(npc) { + if(npc) { + this.player.setTarget(npc); + this.player.follow(npc); + } + }, + + makePlayerOpenChest: function(chest) { + if(chest) { + this.player.setTarget(chest); + this.player.follow(chest); + } + }, + + /** + * + */ + makePlayerAttack: function(mob) { + this.createAttackLink(this.player, mob); + this.client.sendAttack(mob); + }, + + /** + * + */ + makeNpcTalk: function(npc) { + var msg; + + if(npc) { + msg = npc.talk(); + if(msg) { + this.createBubble(npc.id, msg); + this.assignBubbleTo(npc); + } else { + this.destroyBubble(npc.id); + } + this.tryUnlockingAchievement("SMALL_TALK"); + + if(npc.kind === Types.Entities.RICK) { + this.tryUnlockingAchievement("RICKROLLD"); + } + } + }, + + /** + * Loops through all the entities currently present in the game. + * @param {Function} callback The function to call back (must accept one entity argument). + */ + forEachEntity: function(callback) { + _.each(this.entities, function(entity) { + callback(entity); + }); + }, + + /** + * Same as forEachEntity but only for instances of the Mob subclass. + * @see forEachEntity + */ + forEachMob: function(callback) { + _.each(this.entities, function(entity) { + if(entity instanceof Mob) { + callback(entity); + } + }); + }, + + /** + * Loops through all entities visible by the camera and sorted by depth : + * Lower 'y' value means higher depth. + * Note: This is used by the Renderer to know in which order to render entities. + */ + forEachVisibleEntityByDepth: function(callback) { + var self = this, + m = this.map; + + this.camera.forEachVisiblePosition(function(x, y) { + if(!m.isOutOfBounds(x, y)) { + if(self.renderingGrid[y][x]) { + _.each(self.renderingGrid[y][x], function(entity) { + callback(entity); + }); + } + } + }, 2); + }, + + /** + * + */ + forEachVisibleTileIndex: function(callback) { + var m = this.map; + + this.camera.forEachVisiblePosition(function(x, y) { + if(!m.isOutOfBounds(x, y)) { + callback(m.GridPositionToTileIndex(x, y) - 1); + } + }); + }, + + /** + * + */ + forEachVisibleTile: function(callback) { + var self = this, + m = this.map; + + if(m.isLoaded) { + this.forEachVisibleTileIndex(function(tileIndex) { + if(_.isArray(m.data[tileIndex])) { + _.each(m.data[tileIndex], function(id) { + callback(id-1, tileIndex); + }); + } + else { + if(_.isNaN(m.data[tileIndex]-1)) { + throw Error("Tile number for x:"+x+" y:"+y+" is NaN"); + } + callback(m.data[tileIndex]-1, tileIndex); + } + }); + } + }, + + /** + * + */ + forEachAnimatedTile: function(callback) { + if(this.animatedTiles) { + _.each(this.animatedTiles, function(tile) { + callback(tile); + }); + } + }, + + /** + * Returns the entity located at the given position on the world grid. + * @returns {Entity} the entity located at (x, y) or null if there is none. + */ + getEntityAt: function(x, y) { + if(this.map.isOutOfBounds(x, y) || !this.entityGrid) { + return null; + } + + var entity = this.entityGrid[y][x]; + if(!entity) { + entity = this.itemGrid[y][x]; + } + return entity; + }, + + getMobAt: function(x, y) { + var entity = this.getEntityAt(x, y); + if(entity && (entity instanceof Mob)) { + return entity; + } + return null; + }, + + getNpcAt: function(x, y) { + var entity = this.getEntityAt(x, y); + if(entity && (entity instanceof Npc)) { + return entity; + } + return null; + }, + + getChestAt: function(x, y) { + var entity = this.getEntityAt(x, y); + if(entity && (entity instanceof Chest)) { + return entity; + } + return null; + }, + + getItemAt: function(x, y) { + if(this.map.isOutOfBounds(x, y) || !this.itemGrid) { + return null; + } + return this.itemGrid[y][x]; + }, + + /** + * Returns true if an entity is located at the given position on the world grid. + * @returns {Boolean} Whether an entity is at (x, y). + */ + isEntityAt: function(x, y) { + return !_.isNull(this.getEntityAt(x, y)); + }, + + isMobAt: function(x, y) { + return !_.isNull(this.getMobAt(x, y)); + }, + + isItemAt: function(x, y) { + return !_.isNull(this.getItemAt(x, y)); + }, + + isNpcAt: function(x, y) { + return !_.isNull(this.getNpcAt(x, y)); + }, + + isChestAt: function(x, y) { + return !_.isNull(this.getChestAt(x, y)); + }, + + /** + * Finds a path to a grid position for the specified character. + * The path will pass through any entity present in the ignore list. + */ + findPath: function(character, x, y, ignoreList) { + var self = this, + grid = this.pathingGrid; + path = [], + isPlayer = (character === this.player); + + if(this.map.isColliding(x, y)) { + return path; + } + + if(this.pathfinder && character) { + if(ignoreList) { + _.each(ignoreList, function(entity) { + self.pathfinder.ignoreEntity(entity); + }); + } + + path = this.pathfinder.findPath(grid, character, x, y, false); + + if(ignoreList) { + this.pathfinder.clearIgnoreList(); + } + } else { + log.error("Error while finding the path to "+x+", "+y+" for "+character.id); + } + return path; + }, + + /** + * Toggles the visibility of the pathing grid for debugging purposes. + */ + togglePathingGrid: function() { + if(this.debugPathing) { + this.debugPathing = false; + } else { + this.debugPathing = true; + } + }, + + /** + * Toggles the visibility of the FPS counter and other debugging info. + */ + toggleDebugInfo: function() { + if(this.renderer && this.renderer.isDebugInfoVisible) { + this.renderer.isDebugInfoVisible = false; + } else { + this.renderer.isDebugInfoVisible = true; + } + }, + + /** + * + */ + movecursor: function() { + var mouse = this.getMouseGridPosition(), + x = mouse.x, + y = mouse.y; + + this.hoveringCollidingTile = this.map.isColliding(x, y); + this.hoveringPlateauTile = this.player.isOnPlateau ? !this.map.isPlateau(x, y) : this.map.isPlateau(x, y); + this.hoveringMob = this.isMobAt(x, y); + this.hoveringItem = this.isItemAt(x, y); + this.hoveringNpc = this.isNpcAt(x, y); + this.hoveringChest = this.isChestAt(x, y); + + if(this.hoveringMob || this.hoveringNpc || this.hoveringChest) { + var entity = this.getEntityAt(x, y); + + if(!entity.isHighlighted && this.renderer.supportsSilhouettes) { + if(this.lastHovered) { + this.lastHovered.setHighlight(false); + } + this.lastHovered = entity; + entity.setHighlight(true); + } + } + else if(this.lastHovered) { + this.lastHovered.setHighlight(false); + this.lastHovered = null; + } + }, + + /** + * Processes game logic when the user triggers a click/touch event during the game. + */ + click: function() { + var pos = this.getMouseGridPosition(), + entity; + + if(this.started + && !this.isZoning() + && !this.player.isDead + && !this.hoveringCollidingTile + && !this.hoveringPlateauTile) { + + entity = this.getEntityAt(pos.x, pos.y); + + if(entity instanceof Mob) { + this.makePlayerAttack(entity); + } + else if(entity instanceof Item) { + this.makePlayerGoToItem(entity); + } + else if(entity instanceof Npc) { + if(this.player.isAdjacentNonDiagonal(entity) === false) { + this.makePlayerTalkTo(entity); + } else { + this.makeNpcTalk(entity); + } + } + else if(entity instanceof Chest) { + this.makePlayerOpenChest(entity); + } + else { + this.makePlayerGoTo(pos.x, pos.y); + } + } + }, + + /** + * + */ + onCharacterUpdate: function(character) { + var time = this.currentTime; + + if(character.isAttacking() && character.canAttack(time)) { + character.hit(); + if(character.id === this.playerId) { + this.client.sendHit(character.target); + this.audioManager.playSound("hit"); + } + if(character.hasTarget() && character.target.id === this.playerId && !this.player.invincible) { + this.client.sendHurt(character); + } + } + }, + + /** + * + */ + isZoningTile: function(x, y) { + var c = this.camera; + + x = x - c.gridX; + y = y - c.gridY; + + if(x === 0 || y === 0 || x === c.gridW-1 || y === c.gridH-1) { + return true; + } + return false; + }, + + /** + * + */ + getZoningOrientation: function(x, y) { + var orientation = "", + c = this.camera; + + x = x - c.gridX; + y = y - c.gridY; + + if(x === 0) { + orientation = Types.Orientations.LEFT; + } + else if(y === 0) { + orientation = Types.Orientations.UP; + } + else if(x === c.gridW-1) { + orientation = Types.Orientations.RIGHT; + } + else if(y === c.gridH-1) { + orientation = Types.Orientations.DOWN; + } + + return orientation; + }, + + startZoningFrom: function(x, y) { + this.zoningOrientation = this.getZoningOrientation(x, y); + + if(this.renderer.mobile || this.renderer.tablet) { + var z = this.zoningOrientation, + c = this.camera, + ts = this.renderer.tilesize, + x = c.x, + y = c.y, + xoffset = (c.gridW - 2) * ts, + yoffset = (c.gridH - 2) * ts; + + if(z === Types.Orientations.LEFT || z === Types.Orientations.RIGHT) { + x = (z === Types.Orientations.LEFT) ? c.x - xoffset : c.x + xoffset; + } else if(z === Types.Orientations.UP || z === Types.Orientations.DOWN) { + y = (z === Types.Orientations.UP) ? c.y - yoffset : c.y + yoffset; + } + c.setPosition(x, y); + + this.renderer.clearScreen(this.renderer.context); + this.endZoning(); + } + else { + this.currentZoning = new Transition(); + } + this.bubbleManager.clean(); + this.client.sendZone(); + }, + + endZoning: function() { + this.currentZoning = null; + this.resetZone(); + }, + + isZoning: function() { + return !_.isNull(this.currentZoning); + }, + + resetZone: function() { + this.initAnimatedTiles(); + this.renderer.renderStaticCanvases(); + }, + + resetCamera: function() { + this.camera.focusEntity(this.player); + this.resetZone(); + }, + + say: function(message) { + this.client.sendChat(message); + }, + + createBubble: function(id, message) { + this.bubbleManager.create(id, message, this.currentTime); + }, + + destroyBubble: function(id) { + this.bubbleManager.destroyBubble(id); + }, + + assignBubbleTo: function(character) { + var bubble = this.bubbleManager.getBubbleById(character.id); + + if(bubble) { + var s = this.renderer.scale, + t = 16 * s, // tile size + x = ((character.x - this.camera.x) * s), + w = parseInt(bubble.element.css('width')) + 24, + offset = (w / 2) - (t / 2), + offsetY, + y; + + if(character instanceof Npc) { + offsetY = 0; + } else { + if(s === 2) { + if(this.renderer.mobile) { + offsetY = 0; + } else { + offsetY = 15; + } + } else { + offsetY = 12; + } + } + + y = ((character.y - this.camera.y) * s) - (t * 2) - offsetY; + + bubble.element.css('left', x - offset + 'px'); + bubble.element.css('top', y + 'px'); + } + }, + + restart: function() { + log.debug("Beginning restart"); + + this.entities = {}; + this.initEntityGrid(); + this.initPathingGrid(); + this.initRenderingGrid(); + + this.player = new Warrior("player", this.username); + this.initPlayer(); + + this.started = true; + this.client.enable(); + this.sendHello(this.player); + + this.storage.incrementRevives(); + + log.debug("Finished restart"); + }, + + onGameStart: function(callback) { + this.gamestart_callback = callback; + }, + + onPlayerDeath: function(callback) { + this.playerdeath_callback = callback; + }, + + onPlayerHealthChange: function(callback) { + this.playerhp_callback = callback; + }, + + onPlayerHurt: function(callback) { + this.playerhurt_callback = callback; + }, + + onPlayerEquipmentChange: function(callback) { + this.equipment_callback = callback; + }, + + onNbPlayersChange: function(callback) { + this.nbplayers_callback = callback; + }, + + onNotification: function(callback) { + this.notification_callback = callback; + }, + + onPlayerInvincible: function(callback) { + this.invincible_callback = callback + }, + + resize: function() { + var x = this.camera.x, + y = this.camera.y, + currentScale = this.renderer.scale, + newScale = this.renderer.getScaleFactor(); + + if(currentScale !== newScale || this.renderer.mobile) { + this.renderer.rescale(newScale); + this.camera = this.renderer.camera; + this.camera.setPosition(x, y); + + this.renderer.renderStaticCanvases(); + } + }, + + updateBars: function() { + if(this.player && this.playerhp_callback) { + this.playerhp_callback(this.player.hitPoints, this.player.maxHitPoints); + } + }, + + getDeadMobPosition: function(mobId) { + var position; + + if(mobId in this.deathpositions) { + position = this.deathpositions[mobId]; + delete this.deathpositions[mobId]; + } + + return position; + }, + + onAchievementUnlock: function(callback) { + this.unlock_callback = callback; + }, + + tryUnlockingAchievement: function(name) { + var achievement = null; + if(name in this.achievements) { + achievement = this.achievements[name]; + + if(achievement.isCompleted() && this.storage.unlockAchievement(achievement.id)) { + if(this.unlock_callback) { + this.unlock_callback(achievement.id, achievement.name, achievement.desc); + this.audioManager.playSound("achievement"); + } + } + } + }, + + showNotification: function(message) { + if(this.notification_callback) { + this.notification_callback(message); + } + }, + + removeObsoleteEntities: function() { + var nb = _.size(this.obsoleteEntities), + self = this; + + if(nb > 0) { + _.each(this.obsoleteEntities, function(entity) { + if(entity.id != self.player.id) { // never remove yourself + self.removeEntity(entity); + } + }); + log.debug("Removed "+nb+" entities: "+_.pluck(_.reject(this.obsoleteEntities, function(id) { return id === self.player.id }), 'id')); + this.obsoleteEntities = null; + } + }, + + /** + * Fake a mouse move event in order to update the cursor. + * + * For instance, to get rid of the sword cursor in case the mouse is still hovering over a dying mob. + * Also useful when the mouse is hovering a tile where an item is appearing. + */ + updateCursor: function() { + this.movecursor(); + this.updateCursorLogic(); + }, + + /** + * Change player plateau mode when necessary + */ + updatePlateauMode: function() { + if(this.map.isPlateau(this.player.gridX, this.player.gridY)) { + this.player.isOnPlateau = true; + } else { + this.player.isOnPlateau = false; + } + }, + + updatePlayerCheckpoint: function() { + var checkpoint = this.map.getCurrentCheckpoint(this.player); + + if(checkpoint) { + var lastCheckpoint = this.player.lastCheckpoint; + if(!lastCheckpoint || (lastCheckpoint && lastCheckpoint.id !== checkpoint.id)) { + this.player.lastCheckpoint = checkpoint; + this.client.sendCheck(checkpoint.id); + } + } + }, + + checkUndergroundAchievement: function() { + var music = this.audioManager.getSurroundingMusic(this.player); + + if(music) { + if(music.name === 'cave') { + this.tryUnlockingAchievement("UNDERGROUND"); + } + } + } + }); + + return Game; +}); diff --git a/client/js/gameclient.js b/client/js/gameclient.js new file mode 100644 index 000000000..14e8be8ef --- /dev/null +++ b/client/js/gameclient.js @@ -0,0 +1,504 @@ + +define(['player', 'entityfactory', 'lib/bison'], function(Player, EntityFactory, BISON) { + + var GameClient = Class.extend({ + init: function(host, port) { + this.connection = null; + this.host = host; + this.port = port; + + this.connected_callback = null; + this.spawn_callback = null; + this.movement_callback = null; + + this.handlers = []; + this.handlers[Types.Messages.WELCOME] = this.receiveWelcome; + this.handlers[Types.Messages.MOVE] = this.receiveMove; + this.handlers[Types.Messages.LOOTMOVE] = this.receiveLootMove; + this.handlers[Types.Messages.ATTACK] = this.receiveAttack; + this.handlers[Types.Messages.SPAWN] = this.receiveSpawn; + this.handlers[Types.Messages.DESPAWN] = this.receiveDespawn; + this.handlers[Types.Messages.SPAWN_BATCH] = this.receiveSpawnBatch; + this.handlers[Types.Messages.HEALTH] = this.receiveHealth; + this.handlers[Types.Messages.CHAT] = this.receiveChat; + this.handlers[Types.Messages.EQUIP] = this.receiveEquipItem; + this.handlers[Types.Messages.DROP] = this.receiveDrop; + this.handlers[Types.Messages.TELEPORT] = this.receiveTeleport; + this.handlers[Types.Messages.DAMAGE] = this.receiveDamage; + this.handlers[Types.Messages.POPULATION] = this.receivePopulation; + this.handlers[Types.Messages.LIST] = this.receiveList; + this.handlers[Types.Messages.DESTROY] = this.receiveDestroy; + this.handlers[Types.Messages.KILL] = this.receiveKill; + this.handlers[Types.Messages.HP] = this.receiveHitPoints; + this.handlers[Types.Messages.BLINK] = this.receiveBlink; + + this.useBison = false; + this.enable(); + }, + + enable: function() { + this.isListening = true; + }, + + disable: function() { + this.isListening = false; + }, + + connect: function() { + var url = "ws://"+ this.host +":"+ this.port +"/", + self = this; + + log.info("Trying to connect to server : "+url); + + if(window.MozWebSocket) { + this.connection = new MozWebSocket(url); + } else { + this.connection = new WebSocket(url); + } + + this.connection.onopen = function(e) { + if(self.connected_callback) { + self.connected_callback(); + } + }; + + this.connection.onmessage = function(e) { + self.receiveMessage(e.data); + }; + + this.connection.onerror = function(e) { + log.error(e, true); + }; + + this.connection.onclose = function() { + log.debug("Connection closed"); + $('#container').addClass('error'); + }; + }, + + sendMessage: function(json) { + var data; + if(this.connection.readyState === 1) { + if(this.useBison) { + data = BISON.encode(json); + } else { + data = JSON.stringify(json); + } + this.connection.send(data); + } + }, + + receiveMessage: function(message) { + var data, action; + + if(this.isListening) { + if(this.useBison) { + data = BISON.decode(message); + } else { + data = JSON.parse(message); + } + + log.debug("data: " + message); + + if(data instanceof Array) { + if(data[0] instanceof Array) { + // Multiple actions received + this.receiveActionBatch(data); + } else { + // Only one action received + this.receiveAction(data); + } + } + } + }, + + receiveAction: function(data) { + var action = data[0]; + if(this.handlers[action] && _.isFunction(this.handlers[action])) { + this.handlers[action].call(this, data); + } + else { + log.error("Unknown action : " + action); + } + }, + + receiveActionBatch: function(actions) { + var self = this; + + _.each(actions, function(action) { + self.receiveAction(action); + }); + }, + + receiveWelcome: function(data) { + var id = data[1], + name = data[2], + x = data[3], + y = data[4], + hp = data[5]; + + if(this.welcome_callback) { + this.welcome_callback(id, name, x, y, hp); + } + }, + + receiveMove: function(data) { + var id = data[1], + x = data[2], + y = data[3]; + + if(this.move_callback) { + this.move_callback(id, x, y); + } + }, + + receiveLootMove: function(data) { + var id = data[1], + item = data[2]; + + if(this.lootmove_callback) { + this.lootmove_callback(id, item); + } + }, + + receiveAttack: function(data) { + var attacker = data[1], + target = data[2]; + + if(this.attack_callback) { + this.attack_callback(attacker, target); + } + }, + + receiveSpawn: function(data) { + var id = data[1], + kind = data[2], + x = data[3], + y = data[4]; + + if(Types.isItem(kind)) { + var item = EntityFactory.createEntity(kind, id); + + if(this.spawn_item_callback) { + this.spawn_item_callback(item, x, y); + } + } else if(Types.isChest(kind)) { + var item = EntityFactory.createEntity(kind, id); + + if(this.spawn_chest_callback) { + this.spawn_chest_callback(item, x, y); + } + } else { + var name, orientation, target, weapon, armor; + + if(Types.isPlayer(kind)) { + name = data[5]; + orientation = data[6]; + armor = data[7]; + weapon = data[8]; + if(data.length > 9) { + target = data[9]; + } + } + else if(Types.isMob(kind)) { + orientation = data[5]; + if(data.length > 6) { + target = data[6]; + } + } + + var character = EntityFactory.createEntity(kind, id, name); + + if(character instanceof Player) { + character.weaponName = Types.getKindAsString(weapon); + character.spriteName = Types.getKindAsString(armor); + } + + if(this.spawn_character_callback) { + this.spawn_character_callback(character, x, y, orientation, target); + } + } + }, + + receiveDespawn: function(data) { + var id = data[1]; + + if(this.despawn_callback) { + this.despawn_callback(id); + } + }, + + receiveHealth: function(data) { + var points = data[1], + isRegen = false; + + if(data[2]) { + isRegen = true; + } + + if(this.health_callback) { + this.health_callback(points, isRegen); + } + }, + + receiveChat: function(data) { + var id = data[1], + text = data[2]; + + if(this.chat_callback) { + this.chat_callback(id, text); + } + }, + + receiveEquipItem: function(data) { + var id = data[1], + itemKind = data[2]; + + if(this.equip_callback) { + this.equip_callback(id, itemKind); + } + }, + + receiveDrop: function(data) { + var mobId = data[1], + id = data[2], + kind = data[3]; + + var item = EntityFactory.createEntity(kind, id); + item.wasDropped = true; + item.playersInvolved = data[4]; + + if(this.drop_callback) { + this.drop_callback(item, mobId); + } + }, + + receiveTeleport: function(data) { + var id = data[1], + x = data[2], + y = data[3]; + + if(this.teleport_callback) { + this.teleport_callback(id, x, y); + } + }, + + receiveDamage: function(data) { + var id = data[1], + dmg = data[2]; + + if(this.dmg_callback) { + this.dmg_callback(id, dmg); + } + }, + + receivePopulation: function(data) { + var population = data[1]; + + if(this.population_callback) { + this.population_callback(population); + } + }, + + receiveKill: function(data) { + var mobKind = data[1]; + + if(this.kill_callback) { + this.kill_callback(mobKind); + } + }, + + receiveList: function(data) { + data.shift(); + + if(this.list_callback) { + this.list_callback(data); + } + }, + + receiveDestroy: function(data) { + var id = data[1]; + + if(this.destroy_callback) { + this.destroy_callback(id); + } + }, + + receiveHitPoints: function(data) { + var maxHp = data[1]; + + if(this.hp_callback) { + this.hp_callback(maxHp); + } + }, + + receiveBlink: function(data) { + var id = data[1]; + + if(this.blink_callback) { + this.blink_callback(id); + } + }, + + onConnected: function(callback) { + this.connected_callback = callback; + }, + + onWelcome: function(callback) { + this.welcome_callback = callback; + }, + + onSpawnCharacter: function(callback) { + this.spawn_character_callback = callback; + }, + + onSpawnItem: function(callback) { + this.spawn_item_callback = callback; + }, + + onSpawnChest: function(callback) { + this.spawn_chest_callback = callback; + }, + + onDespawnEntity: function(callback) { + this.despawn_callback = callback; + }, + + onEntityMove: function(callback) { + this.move_callback = callback; + }, + + onEntityAttack: function(callback) { + this.attack_callback = callback; + }, + + onPlayerChangeHealth: function(callback) { + this.health_callback = callback; + }, + + onPlayerEquipItem: function(callback) { + this.equip_callback = callback; + }, + + onPlayerMoveToItem: function(callback) { + this.lootmove_callback = callback; + }, + + onPlayerTeleport: function(callback) { + this.teleport_callback = callback; + }, + + onChatMessage: function(callback) { + this.chat_callback = callback; + }, + + onDropItem: function(callback) { + this.drop_callback = callback; + }, + + onPlayerDamageMob: function(callback) { + this.dmg_callback = callback; + }, + + onPlayerKillMob: function(callback) { + this.kill_callback = callback; + }, + + onPopulationChange: function(callback) { + this.population_callback = callback; + }, + + onEntityList: function(callback) { + this.list_callback = callback; + }, + + onEntityDestroy: function(callback) { + this.destroy_callback = callback; + }, + + onPlayerChangeMaxHitPoints: function(callback) { + this.hp_callback = callback; + }, + + onItemBlink: function(callback) { + this.blink_callback = callback; + }, + + sendHello: function(player) { + this.sendMessage([Types.Messages.HELLO, + player.name, + Types.getKindFromString(player.getSpriteName()), + Types.getKindFromString(player.getWeaponName())]); + }, + + sendMove: function(x, y) { + this.sendMessage([Types.Messages.MOVE, + x, + y]); + }, + + sendLootMove: function(item, x, y) { + this.sendMessage([Types.Messages.LOOTMOVE, + x, + y, + item.id]); + }, + + sendAggro: function(mob) { + this.sendMessage([Types.Messages.AGGRO, + mob.id]); + }, + + sendAttack: function(mob) { + this.sendMessage([Types.Messages.ATTACK, + mob.id]); + }, + + sendHit: function(mob) { + this.sendMessage([Types.Messages.HIT, + mob.id]); + }, + + sendHurt: function(mob) { + this.sendMessage([Types.Messages.HURT, + mob.id]); + }, + + sendChat: function(text) { + this.sendMessage([Types.Messages.CHAT, + text]); + }, + + sendLoot: function(item) { + this.sendMessage([Types.Messages.LOOT, + item.id]); + }, + + sendTeleport: function(x, y) { + this.sendMessage([Types.Messages.TELEPORT, + x, + y]); + }, + + sendWho: function(ids) { + ids.unshift(Types.Messages.WHO); + this.sendMessage(ids); + }, + + sendZone: function() { + this.sendMessage([Types.Messages.ZONE]); + }, + + sendOpen: function(chest) { + this.sendMessage([Types.Messages.OPEN, + chest.id]); + }, + + sendCheck: function(id) { + this.sendMessage([Types.Messages.CHECK, + id]); + } + }); + + return GameClient; +}); \ No newline at end of file diff --git a/client/js/home.js b/client/js/home.js new file mode 100644 index 000000000..d3b7d8d72 --- /dev/null +++ b/client/js/home.js @@ -0,0 +1,4 @@ + +define(['lib/class', 'lib/underscore.min', 'lib/stacktrace', 'util'], function() { + require(["main"]); +}); \ No newline at end of file diff --git a/client/js/infomanager.js b/client/js/infomanager.js new file mode 100644 index 000000000..594d2695e --- /dev/null +++ b/client/js/infomanager.js @@ -0,0 +1,109 @@ + +define(function() { + + var InfoManager = Class.extend({ + init: function(game) { + this.game = game; + this.infos = {}; + this.destroyQueue = []; + }, + + addDamageInfo: function(value, x, y, type) { + var time = this.game.currentTime, + id = time+""+Math.abs(value)+""+x+""+y, + self = this, + info = new DamageInfo(id, value, x, y, DamageInfo.DURATION, type); + + info.onDestroy(function(id) { + self.destroyQueue.push(id); + }); + this.infos[id] = info; + }, + + forEachInfo: function(callback) { + var self = this; + + _.each(this.infos, function(info, id) { + callback(info); + }); + }, + + update: function(time) { + var self = this; + + this.forEachInfo(function(info) { + info.update(time); + }); + + _.each(this.destroyQueue, function(id) { + delete self.infos[id]; + }); + this.destroyQueue = []; + } + }); + + + var damageInfoColors = { + "received": { + fill: "rgb(255, 50, 50)", + stroke: "rgb(255, 180, 180)" + }, + "inflicted": { + fill: "white", + stroke: "#373737" + }, + "healed": { + fill: "rgb(80, 255, 80)", + stroke: "rgb(50, 120, 50)" + } + }; + + + var DamageInfo = Class.extend({ + DURATION: 1000, + + init: function(id, value, x, y, duration, type) { + this.id = id; + this.value = value; + this.duration = duration; + this.x = x; + this.y = y; + this.opacity = 1.0; + this.lastTime = 0; + this.speed = 100; + this.fillColor = damageInfoColors[type].fill; + this.strokeColor = damageInfoColors[type].stroke; + }, + + isTimeToAnimate: function(time) { + return (time - this.lastTime) > this.speed; + }, + + update: function(time) { + if(this.isTimeToAnimate(time)) { + this.lastTime = time; + this.tick(); + } + }, + + tick: function() { + this.y -= 1; + this.opacity -= 0.07; + if(this.opacity < 0) { + this.destroy(); + } + }, + + onDestroy: function(callback) { + this.destroy_callback = callback; + }, + + destroy: function() { + if(this.destroy_callback) { + this.destroy_callback(this.id); + } + } + }); + + return InfoManager; +}); diff --git a/client/js/item.js b/client/js/item.js new file mode 100644 index 000000000..b603ae7c2 --- /dev/null +++ b/client/js/item.js @@ -0,0 +1,36 @@ + +define(['entity'], function(Entity) { + + var Item = Entity.extend({ + init: function(id, kind, type) { + this._super(id, kind); + + this.itemKind = Types.getKindAsString(kind); + this.type = type; + this.wasDropped = false; + }, + + hasShadow: function() { + return true; + }, + + onLoot: function(player) { + if(this.type === "weapon") { + player.switchWeapon(this.itemKind); + } + else if(this.type === "armor") { + player.armorloot_callback(this.itemKind); + } + }, + + getSpriteName: function() { + return "item-"+ this.itemKind; + }, + + getLootMessage: function() { + return this.lootMessage; + } + }); + + return Item; +}); \ No newline at end of file diff --git a/client/js/items.js b/client/js/items.js new file mode 100644 index 000000000..baddb20b0 --- /dev/null +++ b/client/js/items.js @@ -0,0 +1,117 @@ + +define(['item'], function(Item) { + + var Items = { + + Sword2: Item.extend({ + init: function(id) { + this._super(id, Types.Entities.SWORD2, "weapon"); + this.lootMessage = "You pick up a steel sword"; + }, + }), + + Axe: Item.extend({ + init: function(id) { + this._super(id, Types.Entities.AXE, "weapon"); + this.lootMessage = "You pick up an axe"; + }, + }), + + RedSword: Item.extend({ + init: function(id) { + this._super(id, Types.Entities.REDSWORD, "weapon"); + this.lootMessage = "You pick up a blazing sword"; + }, + }), + + BlueSword: Item.extend({ + init: function(id) { + this._super(id, Types.Entities.BLUESWORD, "weapon"); + this.lootMessage = "You pick up a magic sword"; + }, + }), + + GoldenSword: Item.extend({ + init: function(id) { + this._super(id, Types.Entities.GOLDENSWORD, "weapon"); + this.lootMessage = "You pick up the ultimate sword"; + }, + }), + + MorningStar: Item.extend({ + init: function(id) { + this._super(id, Types.Entities.MORNINGSTAR, "weapon"); + this.lootMessage = "You pick up a morning star"; + }, + }), + + LeatherArmor: Item.extend({ + init: function(id) { + this._super(id, Types.Entities.LEATHERARMOR, "armor"); + this.lootMessage = "You equip a leather armor"; + }, + }), + + MailArmor: Item.extend({ + init: function(id) { + this._super(id, Types.Entities.MAILARMOR, "armor"); + this.lootMessage = "You equip a mail armor"; + }, + }), + + PlateArmor: Item.extend({ + init: function(id) { + this._super(id, Types.Entities.PLATEARMOR, "armor"); + this.lootMessage = "You equip a plate armor"; + }, + }), + + RedArmor: Item.extend({ + init: function(id) { + this._super(id, Types.Entities.REDARMOR, "armor"); + this.lootMessage = "You equip a ruby armor"; + }, + }), + + GoldenArmor: Item.extend({ + init: function(id) { + this._super(id, Types.Entities.GOLDENARMOR, "armor"); + this.lootMessage = "You equip a golden armor"; + }, + }), + + Flask: Item.extend({ + init: function(id) { + this._super(id, Types.Entities.FLASK, "object"); + this.lootMessage = "You drink a health potion"; + }, + }), + + Cake: Item.extend({ + init: function(id) { + this._super(id, Types.Entities.CAKE, "object"); + this.lootMessage = "You eat a cake"; + }, + }), + + Burger: Item.extend({ + init: function(id) { + this._super(id, Types.Entities.BURGER, "object"); + this.lootMessage = "You can has rat burger"; + }, + }), + + FirePotion: Item.extend({ + init: function(id) { + this._super(id, Types.Entities.FIREPOTION, "object"); + this.lootMessage = "You feel the power of Firefox!"; + }, + + onLoot: function(player) { + player.startInvincibility(); + }, + }), + }; + + return Items; +}); diff --git a/client/js/lib/astar.js b/client/js/lib/astar.js new file mode 100644 index 000000000..0603e6a59 --- /dev/null +++ b/client/js/lib/astar.js @@ -0,0 +1,151 @@ + +define(function() { + + var AStar = (function () { + + /** + * A* (A-Star) algorithm for a path finder + * @author Andrea Giammarchi + * @license Mit Style License + */ + + function diagonalSuccessors($N, $S, $E, $W, N, S, E, W, grid, rows, cols, result, i) { + if($N) { + $E && !grid[N][E] && (result[i++] = {x:E, y:N}); + $W && !grid[N][W] && (result[i++] = {x:W, y:N}); + } + if($S){ + $E && !grid[S][E] && (result[i++] = {x:E, y:S}); + $W && !grid[S][W] && (result[i++] = {x:W, y:S}); + } + return result; + } + + function diagonalSuccessorsFree($N, $S, $E, $W, N, S, E, W, grid, rows, cols, result, i) { + $N = N > -1; + $S = S < rows; + $E = E < cols; + $W = W > -1; + if($E) { + $N && !grid[N][E] && (result[i++] = {x:E, y:N}); + $S && !grid[S][E] && (result[i++] = {x:E, y:S}); + } + if($W) { + $N && !grid[N][W] && (result[i++] = {x:W, y:N}); + $S && !grid[S][W] && (result[i++] = {x:W, y:S}); + } + return result; + } + + function nothingToDo($N, $S, $E, $W, N, S, E, W, grid, rows, cols, result, i) { + return result; + } + + function successors(find, x, y, grid, rows, cols){ + var + N = y - 1, + S = y + 1, + E = x + 1, + W = x - 1, + $N = N > -1 && !grid[N][x], + $S = S < rows && !grid[S][x], + $E = E < cols && !grid[y][E], + $W = W > -1 && !grid[y][W], + result = [], + i = 0 + ; + $N && (result[i++] = {x:x, y:N}); + $E && (result[i++] = {x:E, y:y}); + $S && (result[i++] = {x:x, y:S}); + $W && (result[i++] = {x:W, y:y}); + return find($N, $S, $E, $W, N, S, E, W, grid, rows, cols, result, i); + } + + function diagonal(start, end, f1, f2) { + return f2(f1(start.x - end.x), f1(start.y - end.y)); + } + + function euclidean(start, end, f1, f2) { + var + x = start.x - end.x, + y = start.y - end.y + ; + return f2(x * x + y * y); + } + + function manhattan(start, end, f1, f2) { + return f1(start.x - end.x) + f1(start.y - end.y); + } + + function AStar(grid, start, end, f) { + var + cols = grid[0].length, + rows = grid.length, + limit = cols * rows, + f1 = Math.abs, + f2 = Math.max, + list = {}, + result = [], + open = [{x:start[0], y:start[1], f:0, g:0, v:start[0]+start[1]*cols}], + length = 1, + adj, distance, find, i, j, max, min, current, next + ; + end = {x:end[0], y:end[1], v:end[0]+end[1]*cols}; + switch (f) { + case "Diagonal": + find = diagonalSuccessors; + case "DiagonalFree": + distance = diagonal; + break; + case "Euclidean": + find = diagonalSuccessors; + case "EuclideanFree": + f2 = Math.sqrt; + distance = euclidean; + break; + default: + distance = manhattan; + find = nothingToDo; + break; + } + find || (find = diagonalSuccessorsFree); + do { + max = limit; + min = 0; + for(i = 0; i < length; ++i) { + if((f = open[i].f) < max) { + max = f; + min = i; + } + }; + current = open.splice(min, 1)[0]; + if (current.v != end.v) { + --length; + next = successors(find, current.x, current.y, grid, rows, cols); + for(i = 0, j = next.length; i < j; ++i){ + (adj = next[i]).p = current; + adj.f = adj.g = 0; + adj.v = adj.x + adj.y * cols; + if(!(adj.v in list)){ + adj.f = (adj.g = current.g + distance(adj, current, f1, f2)) + distance(adj, end, f1, f2); + open[length++] = adj; + list[adj.v] = 1; + } + } + } else { + i = length = 0; + do { + result[i++] = [current.x, current.y]; + } while (current = current.p); + result.reverse(); + } + } while (length); + return result; + } + + return AStar; + + }()); + + return AStar; +}); \ No newline at end of file diff --git a/client/js/lib/bison.js b/client/js/lib/bison.js new file mode 100644 index 000000000..86a3af2bd --- /dev/null +++ b/client/js/lib/bison.js @@ -0,0 +1,252 @@ +/* + Copyright (c) 2010-2011 Ivo Wetzel. + + 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. +*/ + +(function(undefined) { + var chr = String.fromCharCode; + var tok = new Array(65536); + for (var i = 0; i < 65536; i++) { + tok[i] = chr(i); + } + + var enc = ''; + function _encode(data, top) { + if (typeof data === 'number') { + + // Floats + var m = data | 0; + if (m !== data) { + var add = 0, r = (data - m) * 100; + if (r < 0) { + add = (r + 1 | 0) - r; + r = (add >= 1.0 && add <= 1.5) ? r | 0 : r - 1 | 0; + + } else { + add = r | 0; + r = r - add >= 0.5 ? r + 1 | 0 : add; + } + + add = 0; + if (data < 0) { + m = 0 - m; + r = 0 - r; + add = 1; + } + + if (m < 65536) { + if (m === 0) { + enc += tok[13 + add] + tok[r + 128]; + + } else { + enc += tok[13 + add] + tok[r] + tok[m]; + } + + } else { + enc += tok[15 + add] + tok[m >> 16 & 0xffff] + + tok[m & 0xffff] + tok[r]; + } + + // Fixed + } else { + var add = 0; + if (data <= 0) { + data = 0 - data; + add = 1; + + } else { + data--; + } + + if (data < 116) { + enc += tok[17 + data + add * 116]; + + } else if (data < 65536) { + enc += tok[1 + add] + tok[data]; + + } else { + enc += tok[3 + add] + tok[data >> 16 & 0xffff] + + tok[data & 0xffff]; + } + } + + // Strings + } else if (typeof data === 'string') { + var l = data.length; + enc += tok[7]; + while (l >= 65535) { + l -= 65535; + enc += tok[65535]; + } + enc += tok[l] + data; + + // Booleans + } else if (data === true) { + enc += tok[5]; + + } else if (data === false) { + enc += tok[6]; + + // Null + } else if (data === null) { + enc += tok[0]; + + // Arrays + } else if (data instanceof Array) { + enc += tok[8]; + for (var i = 0, l = data.length; i < l; i++) { + _encode(data[i], false); + } + if (!top) { + enc += tok[9]; + } + + // Objects + } else if (data instanceof Object) { + enc += tok[10]; + for (var e in data) { + enc += tok[17 + e.length] + e; + _encode(data[e], false); + } + if (!top) { + enc += tok[11]; + } + } + } + + function encode(data) { + enc = ''; + _encode(data, true); + return enc; + } + + function decode(data) { + var p = 0, l = data.length; + var stack = [], dec = undefined, f = null, t = 0, i = -1; + var dict = false, set = false; + var key = '', e = null, r = 0; + while (p < l) { + t = data.charCodeAt(p++); + f = stack[i]; + + // Keys + if (dict && set && t > 16) { + key = data.substring(p, p + t - 17); + p += t - 17; + set = false; + + // Array / Objects + } else if (t === 8 || t === 10) { + e = t === 8 ? new Array() : new Object(); + set = dict = t === 10; + dec !== undefined ? f instanceof Array ? f.push(e) + : f[key] = e : dec = e; + + stack.push(e); + i++; + + } else if (t === 11 || t === 9) { + stack.pop(); + set = dict = !(stack[--i] instanceof Array); + + // Fixed + } else if (t > 16) { + t = t - 17; + t = t > 115 ? (0 - t + 116) : t + 1; + f instanceof Array ? f.push(t) : f[key] = t; + set = true; + + } else if (t > 0 && t < 5) { + if (((t - 1) / 2 | 0) === 0) { + e = data.charCodeAt(p); + p++; + + } else { + e = (data.charCodeAt(p) << 16) + data.charCodeAt(p + 1); + p += 2; + } + e = t % 2 ? e + 1 : 0 - e; + f instanceof Array ? f.push(e) : f[key] = e; + set = true; + + // Floats + } else if (t > 12 && t < 17) { + if (((t - 13) / 2 | 0) === 0) { + r = data.charCodeAt(p); + if (r > 127) { + e = 0; + r -= 128; + p++; + + } else { + e = data.charCodeAt(p + 1); + p += 2; + } + + } else { + e = (data.charCodeAt(p) << 16) + data.charCodeAt(p + 1); + r = data.charCodeAt(p + 2); + p += 3; + } + + e = t % 2 ? e + r * 0.01 : 0 - (e + r * 0.01); + f instanceof Array ? f.push(e) : f[key] = e; + set = true; + + // Booleans + } else if (t > 4 && t < 7) { + f instanceof Array ? f.push(t === 5) : f[key] = t === 5; + set = true; + + // Null + } else if (t === 0) { + f instanceof Array ? f.push(null) : f[key] = null; + set = true; + + // Strings + } else if (t === 7) { + e = 0; + while (data.charCodeAt(p) === 65535) { + e += 65535; + p++; + } + e += data.charCodeAt(p++); + f instanceof Array ? f.push(data.substr(p, e)) + : f[key] = data.substr(p, e); + + p += e; + set = true; + } + } + return dec; + } + + if (typeof window === 'undefined') { + exports.encode = encode; + exports.decode = decode; + + } else { + window.BISON = { + encode: encode, + decode: decode + }; + } +})(); + diff --git a/client/js/lib/class.js b/client/js/lib/class.js new file mode 100644 index 000000000..1c7323186 --- /dev/null +++ b/client/js/lib/class.js @@ -0,0 +1,68 @@ + +/* Simple JavaScript Inheritance + * By John Resig http://ejohn.org/ + * MIT Licensed. + */ +// Inspired by base2 and Prototype +var initializing = false, fnTest = /xyz/.test(function(){xyz;}) ? /\b_super\b/ : /.*/; + +// The base Class implementation (does nothing) +Class = function() {}; + +// Create a new Class that inherits from this class +Class.extend = function(prop) { + var _super = this.prototype; + + // Instantiate a base class (but only create the instance, + // don't run the init constructor) + initializing = true; + var prototype = new this(); + initializing = false; + + // Copy the properties over onto the new prototype + for (var name in prop) { + // Check if we're overwriting an existing function + prototype[name] = typeof prop[name] == "function" && + typeof _super[name] == "function" && fnTest.test(prop[name]) ? + (function(name, fn){ + return function() { + var tmp = this._super; + + // Add a new ._super() method that is the same method + // but on the super-class + this._super = _super[name]; + + // The method only need to be bound temporarily, so we + // remove it when we're done executing + var ret = fn.apply(this, arguments); + this._super = tmp; + + return ret; + }; + })(name, prop[name]) : + prop[name]; + } + + // The dummy class constructor + Class = function () { + // All construction is actually done in the init method + if ( !initializing && this.init ) + this.init.apply(this, arguments); + } + + // Populate our constructed prototype object + Class.prototype = prototype; + + // Enforce the constructor to be what we expect + Class.constructor = Class; + + // And make this class extendable + Class.extend = arguments.callee; + + return Class; +}; + +if(!(typeof exports === 'undefined')) { + exports.Class = Class; +} + diff --git a/client/js/lib/css3-mediaqueries.js b/client/js/lib/css3-mediaqueries.js new file mode 100644 index 000000000..1ea806dd7 --- /dev/null +++ b/client/js/lib/css3-mediaqueries.js @@ -0,0 +1,779 @@ +if(typeof Object.create!=="function"){ +Object.create=function(o){ +function F(){ +}; +F.prototype=o; +return new F(); +}; +} +var ua={toString:function(){ +return navigator.userAgent; +},test:function(s){ +return this.toString().toLowerCase().indexOf(s.toLowerCase())>-1; +}}; +ua.version=(ua.toString().toLowerCase().match(/[\s\S]+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[])[1]; +ua.webkit=ua.test("webkit"); +ua.gecko=ua.test("gecko")&&!ua.webkit; +ua.opera=ua.test("opera"); +ua.ie=ua.test("msie")&&!ua.opera; +ua.ie6=ua.ie&&document.compatMode&&typeof document.documentElement.style.maxHeight==="undefined"; +ua.ie7=ua.ie&&document.documentElement&&typeof document.documentElement.style.maxHeight!=="undefined"&&typeof XDomainRequest==="undefined"; +ua.ie8=ua.ie&&typeof XDomainRequest!=="undefined"; +var domReady=function(){ +var _1=[]; +var _2=function(){ +if(!arguments.callee.done){ +arguments.callee.done=true; +for(var i=0;i<_1.length;i++){ +_1[i](); +} +} +}; +if(document.addEventListener){ +document.addEventListener("DOMContentLoaded",_2,false); +} +if(ua.ie){ +(function(){ +try{ +document.documentElement.doScroll("left"); +} +catch(e){ +setTimeout(arguments.callee,50); +return; +} +_2(); +})(); +document.onreadystatechange=function(){ +if(document.readyState==="complete"){ +document.onreadystatechange=null; +_2(); +} +}; +} +if(ua.webkit&&document.readyState){ +(function(){ +if(document.readyState!=="loading"){ +_2(); +}else{ +setTimeout(arguments.callee,10); +} +})(); +} +window.onload=_2; +return function(fn){ +if(typeof fn==="function"){ +_1[_1.length]=fn; +} +return fn; +}; +}(); +var cssHelper=function(){ +var _3={BLOCKS:/[^\s{][^{]*\{(?:[^{}]*\{[^{}]*\}[^{}]*|[^{}]*)*\}/g,BLOCKS_INSIDE:/[^\s{][^{]*\{[^{}]*\}/g,DECLARATIONS:/[a-zA-Z\-]+[^;]*:[^;]+;/g,RELATIVE_URLS:/url\(['"]?([^\/\)'"][^:\)'"]+)['"]?\)/g,REDUNDANT_COMPONENTS:/(?:\/\*([^*\\\\]|\*(?!\/))+\*\/|@import[^;]+;)/g,REDUNDANT_WHITESPACE:/\s*(,|:|;|\{|\})\s*/g,MORE_WHITESPACE:/\s{2,}/g,FINAL_SEMICOLONS:/;\}/g,NOT_WHITESPACE:/\S+/g}; +var _4,_5=false; +var _6=[]; +var _7=function(fn){ +if(typeof fn==="function"){ +_6[_6.length]=fn; +} +}; +var _8=function(){ +for(var i=0;i<_6.length;i++){ +_6[i](_4); +} +}; +var _9={}; +var _a=function(n,v){ +if(_9[n]){ +var _b=_9[n].listeners; +if(_b){ +for(var i=0;i<_b.length;i++){ +_b[i](v); +} +} +} +}; +var _c=function(_d,_e,_f){ +if(ua.ie&&!window.XMLHttpRequest){ +window.XMLHttpRequest=function(){ +return new ActiveXObject("Microsoft.XMLHTTP"); +}; +} +if(!XMLHttpRequest){ +return ""; +} +var r=new XMLHttpRequest(); +try{ +r.open("get",_d,true); +r.setRequestHeader("X_REQUESTED_WITH","XMLHttpRequest"); +} +catch(e){ +_f(); +return; +} +var _10=false; +setTimeout(function(){ +_10=true; +},5000); +document.documentElement.style.cursor="progress"; +r.onreadystatechange=function(){ +if(r.readyState===4&&!_10){ +if(!r.status&&location.protocol==="file:"||(r.status>=200&&r.status<300)||r.status===304||navigator.userAgent.indexOf("Safari")>-1&&typeof r.status==="undefined"){ +_e(r.responseText); +}else{ +_f(); +} +document.documentElement.style.cursor=""; +r=null; +} +}; +r.send(""); +}; +var _11=function(_12){ +_12=_12.replace(_3.REDUNDANT_COMPONENTS,""); +_12=_12.replace(_3.REDUNDANT_WHITESPACE,"$1"); +_12=_12.replace(_3.MORE_WHITESPACE," "); +_12=_12.replace(_3.FINAL_SEMICOLONS,"}"); +return _12; +}; +var _13={mediaQueryList:function(s){ +var o={}; +var idx=s.indexOf("{"); +var lt=s.substring(0,idx); +s=s.substring(idx+1,s.length-1); +var mqs=[],rs=[]; +var qts=lt.toLowerCase().substring(7).split(","); +for(var i=0;i-1&&_23.href&&_23.href.length!==0&&!_23.disabled){ +_1f[_1f.length]=_23; +} +} +if(_1f.length>0){ +var c=0; +var _24=function(){ +c++; +if(c===_1f.length){ +_20(); +} +}; +var _25=function(_26){ +var _27=_26.href; +_c(_27,function(_28){ +_28=_11(_28).replace(_3.RELATIVE_URLS,"url("+_27.substring(0,_27.lastIndexOf("/"))+"/$1)"); +_26.cssHelperText=_28; +_24(); +},_24); +}; +for(i=0;i<_1f.length;i++){ +_25(_1f[i]); +} +}else{ +_20(); +} +}; +var _29={mediaQueryLists:"array",rules:"array",selectors:"object",declarations:"array",properties:"object"}; +var _2a={mediaQueryLists:null,rules:null,selectors:null,declarations:null,properties:null}; +var _2b=function(_2c,v){ +if(_2a[_2c]!==null){ +if(_29[_2c]==="array"){ +return (_2a[_2c]=_2a[_2c].concat(v)); +}else{ +var c=_2a[_2c]; +for(var n in v){ +if(v.hasOwnProperty(n)){ +if(!c[n]){ +c[n]=v[n]; +}else{ +c[n]=c[n].concat(v[n]); +} +} +} +return c; +} +} +}; +var _2d=function(_2e){ +_2a[_2e]=(_29[_2e]==="array")?[]:{}; +for(var i=0;i<_4.length;i++){ +_2b(_2e,_4[i].cssHelperParsed[_2e]); +} +return _2a[_2e]; +}; +domReady(function(){ +var els=document.body.getElementsByTagName("*"); +for(var i=0;i=_44)||(max&&_46<_44)||(!min&&!max&&_46===_44)); +}else{ +return false; +} +}else{ +return _46>0; +} +}else{ +if("device-height"===_41.substring(l-13,l)){ +_47=screen.height; +if(_42!==null){ +if(_43==="length"){ +return ((min&&_47>=_44)||(max&&_47<_44)||(!min&&!max&&_47===_44)); +}else{ +return false; +} +}else{ +return _47>0; +} +}else{ +if("width"===_41.substring(l-5,l)){ +_46=document.documentElement.clientWidth||document.body.clientWidth; +if(_42!==null){ +if(_43==="length"){ +return ((min&&_46>=_44)||(max&&_46<_44)||(!min&&!max&&_46===_44)); +}else{ +return false; +} +}else{ +return _46>0; +} +}else{ +if("height"===_41.substring(l-6,l)){ +_47=document.documentElement.clientHeight||document.body.clientHeight; +if(_42!==null){ +if(_43==="length"){ +return ((min&&_47>=_44)||(max&&_47<_44)||(!min&&!max&&_47===_44)); +}else{ +return false; +} +}else{ +return _47>0; +} +}else{ +if("device-aspect-ratio"===_41.substring(l-19,l)){ +return _43==="aspect-ratio"&&screen.width*_44[1]===screen.height*_44[0]; +}else{ +if("color-index"===_41.substring(l-11,l)){ +var _48=Math.pow(2,screen.colorDepth); +if(_42!==null){ +if(_43==="absolute"){ +return ((min&&_48>=_44)||(max&&_48<_44)||(!min&&!max&&_48===_44)); +}else{ +return false; +} +}else{ +return _48>0; +} +}else{ +if("color"===_41.substring(l-5,l)){ +var _49=screen.colorDepth; +if(_42!==null){ +if(_43==="absolute"){ +return ((min&&_49>=_44)||(max&&_49<_44)||(!min&&!max&&_49===_44)); +}else{ +return false; +} +}else{ +return _49>0; +} +}else{ +if("resolution"===_41.substring(l-10,l)){ +var res; +if(_45==="dpcm"){ +res=_3d("1cm"); +}else{ +res=_3d("1in"); +} +if(_42!==null){ +if(_43==="resolution"){ +return ((min&&res>=_44)||(max&&res<_44)||(!min&&!max&&res===_44)); +}else{ +return false; +} +}else{ +return res>0; +} +}else{ +return false; +} +} +} +} +} +} +} +} +}; +var _4a=function(mq){ +var _4b=mq.getValid(); +var _4c=mq.getExpressions(); +var l=_4c.length; +if(l>0){ +for(var i=0;i0){ +s[c++]=","; +} +s[c++]=n; +} +} +if(s.length>0){ +_39[_39.length]=cssHelper.addStyle("@media "+s.join("")+"{"+mql.getCssText()+"}",false); +} +}; +var _4e=function(_4f){ +for(var i=0;i<_4f.length;i++){ +_4d(_4f[i]); +} +if(ua.ie){ +document.documentElement.style.display="block"; +setTimeout(function(){ +document.documentElement.style.display=""; +},0); +setTimeout(function(){ +cssHelper.broadcast("cssMediaQueriesTested"); +},100); +}else{ +cssHelper.broadcast("cssMediaQueriesTested"); +} +}; +var _50=function(){ +for(var i=0;i<_39.length;i++){ +cssHelper.removeStyle(_39[i]); +} +_39=[]; +cssHelper.mediaQueryLists(_4e); +}; +var _51=0; +var _52=function(){ +var _53=cssHelper.getViewportWidth(); +var _54=cssHelper.getViewportHeight(); +if(ua.ie){ +var el=document.createElement("div"); +el.style.position="absolute"; +el.style.top="-9999em"; +el.style.overflow="scroll"; +document.body.appendChild(el); +_51=el.offsetWidth-el.clientWidth; +document.body.removeChild(el); +} +var _55; +var _56=function(){ +var vpw=cssHelper.getViewportWidth(); +var vph=cssHelper.getViewportHeight(); +if(Math.abs(vpw-_53)>_51||Math.abs(vph-_54)>_51){ +_53=vpw; +_54=vph; +clearTimeout(_55); +_55=setTimeout(function(){ +if(!_3a()){ +_50(); +}else{ +cssHelper.broadcast("cssMediaQueriesTested"); +} +},500); +} +}; +window.onresize=function(){ +var x=window.onresize||function(){ +}; +return function(){ +x(); +_56(); +}; +}(); +}; +var _57=document.documentElement; +_57.style.marginLeft="-32767px"; +setTimeout(function(){ +_57.style.marginTop=""; +},20000); +return function(){ +if(!_3a()){ +cssHelper.addListener("newStyleParsed",function(el){ +_4e(el.cssHelperParsed.mediaQueryLists); +}); +cssHelper.addListener("cssMediaQueriesTested",function(){ +if(ua.ie){ +_57.style.width="1px"; +} +setTimeout(function(){ +_57.style.width=""; +_57.style.marginLeft=""; +},0); +cssHelper.removeListener("cssMediaQueriesTested",arguments.callee); +}); +_3c(); +_50(); +}else{ +_57.style.marginLeft=""; +} +_52(); +}; +}()); +try{ +document.execCommand("BackgroundImageCache",false,true); +} +catch(e){ +} + diff --git a/client/js/lib/log.js b/client/js/lib/log.js new file mode 100644 index 000000000..cca343065 --- /dev/null +++ b/client/js/lib/log.js @@ -0,0 +1,33 @@ + +var Logger = function(level) { + this.level = level; +}; + +Logger.prototype.info = function(message) { + if(this.level === "info") { + if(window.console) { + console.info(message); + } + } +}; + +Logger.prototype.debug = function(message) { + if(this.level === "info" || this.level === "debug") { + if(window.console) { + console.log(message); + } + } +}; + +Logger.prototype.error = function(message, stacktrace) { + if(window.console) { + console.error(message); + if(stacktrace !== undefined && stacktrace === true) { + var trace = printStackTrace(); + console.error(trace.join('\n\n')); + console.error('-----------------------------'); + } + } +}; + +log = new Logger("info"); \ No newline at end of file diff --git a/client/js/lib/modernizr.js b/client/js/lib/modernizr.js new file mode 100644 index 000000000..6650ae068 --- /dev/null +++ b/client/js/lib/modernizr.js @@ -0,0 +1,4 @@ +/* Modernizr 2.0.6 (Custom Build) | MIT & BSD + * Build: http://www.modernizr.com/download/#-borderimage-borderradius-boxshadow-flexbox-hsla-multiplebgs-opacity-rgba-textshadow-cssanimations-csscolumns-generatedcontent-cssgradients-cssreflections-csstransforms-csstransforms3d-csstransitions-applicationcache-canvas-canvastext-draganddrop-hashchange-history-audio-video-indexeddb-input-inputtypes-localstorage-postmessage-sessionstorage-websockets-websqldatabase-webworkers-iepp-mq-cssclasses-teststyles-testprop-testallprops-hasevent-prefixes-domprefixes-load + */ +;window.Modernizr=function(a,b,c){function H(){e.input=function(a){for(var b=0,c=a.length;b",a,""].join(""),k.id=i,k.innerHTML+=f,g.appendChild(k),h=c(k,a),k.parentNode.removeChild(k);return!!h},v=function(b){if(a.matchMedia)return matchMedia(b).matches;var c;u("@media "+b+" { #"+i+" { position: absolute; } }",function(b){c=(a.getComputedStyle?getComputedStyle(b,null):b.currentStyle).position=="absolute"});return c},w=function(){function d(d,e){e=e||b.createElement(a[d]||"div"),d="on"+d;var f=d in e;f||(e.setAttribute||(e=b.createElement("div")),e.setAttribute&&e.removeAttribute&&(e.setAttribute(d,""),f=C(e[d],"function"),C(e[d],c)||(e[d]=c),e.removeAttribute(d))),e=null;return f}var a={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return d}(),x,y={}.hasOwnProperty,z;!C(y,c)&&!C(y.call,c)?z=function(a,b){return y.call(a,b)}:z=function(a,b){return b in a&&C(a.constructor.prototype[b],c)};var G=function(a,c){var d=a.join(""),f=c.length;u(d,function(a,c){var d=b.styleSheets[b.styleSheets.length-1],g=d.cssRules&&d.cssRules[0]?d.cssRules[0].cssText:d.cssText||"",h=a.childNodes,i={};while(f--)i[h[f].id]=h[f];e.csstransforms3d=i.csstransforms3d.offsetLeft===9,e.generatedcontent=i.generatedcontent.offsetHeight>=1},f,c)}([,["@media (",o.join("transform-3d),("),i,")","{#csstransforms3d{left:9px;position:absolute}}"].join(""),['#generatedcontent:after{content:"',m,'";visibility:hidden}'].join("")],[,"csstransforms3d","generatedcontent"]);q.flexbox=function(){function c(a,b,c,d){a.style.cssText=o.join(b+":"+c+";")+(d||"")}function a(a,b,c,d){b+=":",a.style.cssText=(b+o.join(c+";"+b)).slice(0,-b.length)+(d||"")}var d=b.createElement("div"),e=b.createElement("div");a(d,"display","box","width:42px;padding:0;"),c(e,"box-flex","1","width:10px;"),d.appendChild(e),g.appendChild(d);var f=e.offsetWidth===42;d.removeChild(e),g.removeChild(d);return f},q.canvas=function(){var a=b.createElement("canvas");return!!a.getContext&&!!a.getContext("2d")},q.canvastext=function(){return!!e.canvas&&!!C(b.createElement("canvas").getContext("2d").fillText,"function")},q.postmessage=function(){return!!a.postMessage},q.websqldatabase=function(){var b=!!a.openDatabase;return b},q.indexedDB=function(){for(var b=-1,c=p.length;++b7)},q.history=function(){return!!a.history&&!!history.pushState},q.draganddrop=function(){return w("dragstart")&&w("drop")},q.websockets=function(){for(var b=-1,c=p.length;++b";return a.childNodes.length!==1}()&&function(a,b){function s(a){var b=-1;while(++b 0) { + ary.splice(i - 1, 2); + i -= 2; + } + } + } + } + + /** + * Given a relative module name, like ./something, normalize it to + * a real name that can be mapped to a path. + * @param {String} name the relative name + * @param {String} baseName a real name that the name arg is relative + * to. + * @returns {String} normalized name + */ + function normalize(name, baseName) { + var pkgName, pkgConfig; + + //Adjust any relative paths. + if (name && name.charAt(0) === ".") { + //If have a base name, try to normalize against it, + //otherwise, assume it is a top-level require that will + //be relative to baseUrl in the end. + if (baseName) { + if (config.pkgs[baseName]) { + //If the baseName is a package name, then just treat it as one + //name to concat the name with. + baseName = [baseName]; + } else { + //Convert baseName to array, and lop off the last part, + //so that . matches that "directory" and not name of the baseName's + //module. For instance, baseName of "one/two/three", maps to + //"one/two/three.js", but we want the directory, "one/two" for + //this normalization. + baseName = baseName.split("/"); + baseName = baseName.slice(0, baseName.length - 1); + } + + name = baseName.concat(name.split("/")); + trimDots(name); + + //Some use of packages may use a . path to reference the + //"main" module name, so normalize for that. + pkgConfig = config.pkgs[(pkgName = name[0])]; + name = name.join("/"); + if (pkgConfig && name === pkgName + '/' + pkgConfig.main) { + name = pkgName; + } + } + } + return name; + } + + /** + * Creates a module mapping that includes plugin prefix, module + * name, and path. If parentModuleMap is provided it will + * also normalize the name via require.normalize() + * + * @param {String} name the module name + * @param {String} [parentModuleMap] parent module map + * for the module name, used to resolve relative names. + * + * @returns {Object} + */ + function makeModuleMap(name, parentModuleMap) { + var index = name ? name.indexOf("!") : -1, + prefix = null, + parentName = parentModuleMap ? parentModuleMap.name : null, + originalName = name, + normalizedName, url, pluginModule; + + if (index !== -1) { + prefix = name.substring(0, index); + name = name.substring(index + 1, name.length); + } + + if (prefix) { + prefix = normalize(prefix, parentName); + } + + //Account for relative paths if there is a base name. + if (name) { + if (prefix) { + pluginModule = defined[prefix]; + if (pluginModule) { + //Plugin is loaded, use its normalize method, otherwise, + //normalize name as usual. + if (pluginModule.normalize) { + normalizedName = pluginModule.normalize(name, function (name) { + return normalize(name, parentName); + }); + } else { + normalizedName = normalize(name, parentName); + } + } else { + //Plugin is not loaded yet, so do not normalize + //the name, wait for plugin to load to see if + //it has a normalize method. To avoid possible + //ambiguity with relative names loaded from another + //plugin, use the parent's name as part of this name. + normalizedName = '__$p' + parentName + '@' + (name || ''); + } + } else { + normalizedName = normalize(name, parentName); + } + + url = urlMap[normalizedName]; + if (!url) { + //Calculate url for the module, if it has a name. + if (req.toModuleUrl) { + //Special logic required for a particular engine, + //like Node. + url = req.toModuleUrl(context, normalizedName, parentModuleMap); + } else { + url = context.nameToUrl(normalizedName, null, parentModuleMap); + } + + //Store the URL mapping for later. + urlMap[normalizedName] = url; + } + } + + return { + prefix: prefix, + name: normalizedName, + parentMap: parentModuleMap, + url: url, + originalName: originalName, + fullName: prefix ? prefix + "!" + (normalizedName || '') : normalizedName + }; + } + + /** + * Determine if priority loading is done. If so clear the priorityWait + */ + function isPriorityDone() { + var priorityDone = true, + priorityWait = config.priorityWait, + priorityName, i; + if (priorityWait) { + for (i = 0; (priorityName = priorityWait[i]); i++) { + if (!loaded[priorityName]) { + priorityDone = false; + break; + } + } + if (priorityDone) { + delete config.priorityWait; + } + } + return priorityDone; + } + + /** + * Helper function that creates a setExports function for a "module" + * CommonJS dependency. Do this here to avoid creating a closure that + * is part of a loop. + */ + function makeSetExports(moduleObj) { + return function (exports) { + moduleObj.exports = exports; + }; + } + + function makeContextModuleFunc(func, relModuleMap, enableBuildCallback) { + return function () { + //A version of a require function that passes a moduleName + //value for items that may need to + //look up paths relative to the moduleName + var args = [].concat(aps.call(arguments, 0)), lastArg; + if (enableBuildCallback && + isFunction((lastArg = args[args.length - 1]))) { + lastArg.__requireJsBuild = true; + } + args.push(relModuleMap); + return func.apply(null, args); + }; + } + + /** + * Helper function that creates a require function object to give to + * modules that ask for it as a dependency. It needs to be specific + * per module because of the implication of path mappings that may + * need to be relative to the module name. + */ + function makeRequire(relModuleMap, enableBuildCallback) { + var modRequire = makeContextModuleFunc(context.require, relModuleMap, enableBuildCallback); + + mixin(modRequire, { + nameToUrl: makeContextModuleFunc(context.nameToUrl, relModuleMap), + toUrl: makeContextModuleFunc(context.toUrl, relModuleMap), + defined: makeContextModuleFunc(context.requireDefined, relModuleMap), + specified: makeContextModuleFunc(context.requireSpecified, relModuleMap), + ready: req.ready, + isBrowser: req.isBrowser + }); + //Something used by node. + if (req.paths) { + modRequire.paths = req.paths; + } + return modRequire; + } + + /** + * Used to update the normalized name for plugin-based dependencies + * after a plugin loads, since it can have its own normalization structure. + * @param {String} pluginName the normalized plugin module name. + */ + function updateNormalizedNames(pluginName) { + + var oldFullName, oldModuleMap, moduleMap, fullName, callbacks, + i, j, k, depArray, existingCallbacks, + maps = normalizedWaiting[pluginName]; + + if (maps) { + for (i = 0; (oldModuleMap = maps[i]); i++) { + oldFullName = oldModuleMap.fullName; + moduleMap = makeModuleMap(oldModuleMap.originalName, oldModuleMap.parentMap); + fullName = moduleMap.fullName; + //Callbacks could be undefined if the same plugin!name was + //required twice in a row, so use empty array in that case. + callbacks = managerCallbacks[oldFullName] || []; + existingCallbacks = managerCallbacks[fullName]; + + if (fullName !== oldFullName) { + //Update the specified object, but only if it is already + //in there. In sync environments, it may not be yet. + if (oldFullName in specified) { + delete specified[oldFullName]; + specified[fullName] = true; + } + + //Update managerCallbacks to use the correct normalized name. + //If there are already callbacks for the normalized name, + //just add to them. + if (existingCallbacks) { + managerCallbacks[fullName] = existingCallbacks.concat(callbacks); + } else { + managerCallbacks[fullName] = callbacks; + } + delete managerCallbacks[oldFullName]; + + //In each manager callback, update the normalized name in the depArray. + for (j = 0; j < callbacks.length; j++) { + depArray = callbacks[j].depArray; + for (k = 0; k < depArray.length; k++) { + if (depArray[k] === oldFullName) { + depArray[k] = fullName; + } + } + } + } + } + } + + delete normalizedWaiting[pluginName]; + } + + /* + * Queues a dependency for checking after the loader is out of a + * "paused" state, for example while a script file is being loaded + * in the browser, where it may have many modules defined in it. + * + * depName will be fully qualified, no relative . or .. path. + */ + function queueDependency(dep) { + //Make sure to load any plugin and associate the dependency + //with that plugin. + var prefix = dep.prefix, + fullName = dep.fullName; + + //Do not bother if the depName is already in transit + if (specified[fullName] || fullName in defined) { + return; + } + + if (prefix && !plugins[prefix]) { + //Queue up loading of the dependency, track it + //via context.plugins. Mark it as a plugin so + //that the build system will know to treat it + //special. + plugins[prefix] = undefined; + + //Remember this dep that needs to have normaliztion done + //after the plugin loads. + (normalizedWaiting[prefix] || (normalizedWaiting[prefix] = [])) + .push(dep); + + //Register an action to do once the plugin loads, to update + //all managerCallbacks to use a properly normalized module + //name. + (managerCallbacks[prefix] || + (managerCallbacks[prefix] = [])).push({ + onDep: function (name, value) { + if (name === prefix) { + updateNormalizedNames(prefix); + } + } + }); + + queueDependency(makeModuleMap(prefix)); + } + + context.paused.push(dep); + } + + function execManager(manager) { + var i, ret, waitingCallbacks, err, errFile, + cb = manager.callback, + fullName = manager.fullName, + args = [], + ary = manager.depArray; + + //Call the callback to define the module, if necessary. + if (cb && isFunction(cb)) { + //Pull out the defined dependencies and pass the ordered + //values to the callback. + if (ary) { + for (i = 0; i < ary.length; i++) { + args.push(manager.deps[ary[i]]); + } + } + + if (config.catchError.define) { + try { + ret = req.execCb(fullName, manager.callback, args, defined[fullName]); + } catch (e) { + err = e; + } + } else { + ret = req.execCb(fullName, manager.callback, args, defined[fullName]); + } + + if (fullName) { + //If setting exports via "module" is in play, + //favor that over return value and exports. After that, + //favor a non-undefined return value over exports use. + if (manager.cjsModule && manager.cjsModule.exports !== undefined) { + ret = defined[fullName] = manager.cjsModule.exports; + } else if (ret === undefined && manager.usingExports) { + //exports already set the defined value. + ret = defined[fullName]; + } else { + //Use the return value from the function. + defined[fullName] = ret; + } + } + } else if (fullName) { + //May just be an object definition for the module. Only + //worry about defining if have a module name. + ret = defined[fullName] = cb; + } + + //Clean up waiting. Do this before error calls, and before + //calling back waitingCallbacks, so that bookkeeping is correct + //in the event of an error and error is reported in correct order, + //since the waitingCallbacks will likely have errors if the + //onError function does not throw. + if (waiting[manager.waitId]) { + delete waiting[manager.waitId]; + manager.isDone = true; + context.waitCount -= 1; + if (context.waitCount === 0) { + //Clear the wait array used for cycles. + waitAry = []; + } + } + + if (err) { + errFile = (fullName ? makeModuleMap(fullName).url : '') || + err.fileName || err.sourceURL; + err = makeError('defineerror', 'Error evaluating ' + + 'module "' + fullName + '" at location "' + + errFile + '":\n' + + err + '\nfileName:' + errFile + + '\nlineNumber: ' + (err.lineNumber || err.line), err); + err.moduleName = fullName; + return req.onError(err); + } + + if (fullName) { + //If anything was waiting for this module to be defined, + //notify them now. + waitingCallbacks = managerCallbacks[fullName]; + if (waitingCallbacks) { + for (i = 0; i < waitingCallbacks.length; i++) { + waitingCallbacks[i].onDep(fullName, ret); + } + delete managerCallbacks[fullName]; + } + } + + return undefined; + } + + function main(inName, depArray, callback, relModuleMap) { + var moduleMap = makeModuleMap(inName, relModuleMap), + name = moduleMap.name, + fullName = moduleMap.fullName, + uniques = {}, + manager = { + //Use a wait ID because some entries are anon + //async require calls. + waitId: name || reqWaitIdPrefix + (waitIdCounter++), + depCount: 0, + depMax: 0, + prefix: moduleMap.prefix, + name: name, + fullName: fullName, + deps: {}, + depArray: depArray, + callback: callback, + onDep: function (depName, value) { + if (!(depName in manager.deps)) { + manager.deps[depName] = value; + manager.depCount += 1; + if (manager.depCount === manager.depMax) { + //All done, execute! + execManager(manager); + } + } + } + }, + i, depArg, depName, cjsMod; + + if (fullName) { + //If module already defined for context, or already loaded, + //then leave. Also leave if jQuery is registering but it does + //not match the desired version number in the config. + if (fullName in defined || loaded[fullName] === true || + (fullName === "jquery" && config.jQuery && + config.jQuery !== callback().fn.jquery)) { + return; + } + + //Set specified/loaded here for modules that are also loaded + //as part of a layer, where onScriptLoad is not fired + //for those cases. Do this after the inline define and + //dependency tracing is done. + specified[fullName] = true; + loaded[fullName] = true; + + //If module is jQuery set up delaying its dom ready listeners. + if (fullName === "jquery" && callback) { + jQueryCheck(callback()); + } + } + + //Add the dependencies to the deps field, and register for callbacks + //on the dependencies. + for (i = 0; i < depArray.length; i++) { + depArg = depArray[i]; + //There could be cases like in IE, where a trailing comma will + //introduce a null dependency, so only treat a real dependency + //value as a dependency. + if (depArg) { + //Split the dependency name into plugin and name parts + depArg = makeModuleMap(depArg, (name ? moduleMap : relModuleMap)); + depName = depArg.fullName; + + //Fix the name in depArray to be just the name, since + //that is how it will be called back later. + depArray[i] = depName; + + //Fast path CommonJS standard dependencies. + if (depName === "require") { + manager.deps[depName] = makeRequire(moduleMap); + } else if (depName === "exports") { + //CommonJS module spec 1.1 + manager.deps[depName] = defined[fullName] = {}; + manager.usingExports = true; + } else if (depName === "module") { + //CommonJS module spec 1.1 + manager.cjsModule = cjsMod = manager.deps[depName] = { + id: name, + uri: name ? context.nameToUrl(name, null, relModuleMap) : undefined, + exports: defined[fullName] + }; + cjsMod.setExports = makeSetExports(cjsMod); + } else if (depName in defined && !(depName in waiting)) { + //Module already defined, no need to wait for it. + manager.deps[depName] = defined[depName]; + } else if (!uniques[depName]) { + + //A dynamic dependency. + manager.depMax += 1; + + queueDependency(depArg); + + //Register to get notification when dependency loads. + (managerCallbacks[depName] || + (managerCallbacks[depName] = [])).push(manager); + + uniques[depName] = true; + } + } + } + + //Do not bother tracking the manager if it is all done. + if (manager.depCount === manager.depMax) { + //All done, execute! + execManager(manager); + } else { + waiting[manager.waitId] = manager; + waitAry.push(manager); + context.waitCount += 1; + } + } + + /** + * Convenience method to call main for a define call that was put on + * hold in the defQueue. + */ + function callDefMain(args) { + main.apply(null, args); + //Mark the module loaded. Must do it here in addition + //to doing it in define in case a script does + //not call define + loaded[args[0]] = true; + } + + /** + * jQuery 1.4.3+ supports ways to hold off calling + * calling jQuery ready callbacks until all scripts are loaded. Be sure + * to track it if the capability exists.. Also, since jQuery 1.4.3 does + * not register as a module, need to do some global inference checking. + * Even if it does register as a module, not guaranteed to be the precise + * name of the global. If a jQuery is tracked for this context, then go + * ahead and register it as a module too, if not already in process. + */ + jQueryCheck = function (jqCandidate) { + if (!context.jQuery) { + var $ = jqCandidate || (typeof jQuery !== "undefined" ? jQuery : null); + + if ($) { + //If a specific version of jQuery is wanted, make sure to only + //use this jQuery if it matches. + if (config.jQuery && $.fn.jquery !== config.jQuery) { + return; + } + + if ("holdReady" in $ || "readyWait" in $) { + context.jQuery = $; + + //Manually create a "jquery" module entry if not one already + //or in process. Note this could trigger an attempt at + //a second jQuery registration, but does no harm since + //the first one wins, and it is the same value anyway. + callDefMain(["jquery", [], function () { + return jQuery; + }]); + + //Ask jQuery to hold DOM ready callbacks. + if (context.scriptCount) { + jQueryHoldReady($, true); + context.jQueryIncremented = true; + } + } + } + } + }; + + function forceExec(manager, traced) { + if (manager.isDone) { + return undefined; + } + + var fullName = manager.fullName, + depArray = manager.depArray, + depName, i; + if (fullName) { + if (traced[fullName]) { + return defined[fullName]; + } + + traced[fullName] = true; + } + + //forceExec all of its dependencies. + for (i = 0; i < depArray.length; i++) { + //Some array members may be null, like if a trailing comma + //IE, so do the explicit [i] access and check if it has a value. + depName = depArray[i]; + if (depName) { + if (!manager.deps[depName] && waiting[depName]) { + manager.onDep(depName, forceExec(waiting[depName], traced)); + } + } + } + + return fullName ? defined[fullName] : undefined; + } + + /** + * Checks if all modules for a context are loaded, and if so, evaluates the + * new ones in right dependency order. + * + * @private + */ + function checkLoaded() { + var waitInterval = config.waitSeconds * 1000, + //It is possible to disable the wait interval by using waitSeconds of 0. + expired = waitInterval && (context.startTime + waitInterval) < new Date().getTime(), + noLoads = "", hasLoadedProp = false, stillLoading = false, prop, + err, manager; + + //If there are items still in the paused queue processing wait. + //This is particularly important in the sync case where each paused + //item is processed right away but there may be more waiting. + if (context.pausedCount > 0) { + return undefined; + } + + //Determine if priority loading is done. If so clear the priority. If + //not, then do not check + if (config.priorityWait) { + if (isPriorityDone()) { + //Call resume, since it could have + //some waiting dependencies to trace. + resume(); + } else { + return undefined; + } + } + + //See if anything is still in flight. + for (prop in loaded) { + if (!(prop in empty)) { + hasLoadedProp = true; + if (!loaded[prop]) { + if (expired) { + noLoads += prop + " "; + } else { + stillLoading = true; + break; + } + } + } + } + + //Check for exit conditions. + if (!hasLoadedProp && !context.waitCount) { + //If the loaded object had no items, then the rest of + //the work below does not need to be done. + return undefined; + } + if (expired && noLoads) { + //If wait time expired, throw error of unloaded modules. + err = makeError("timeout", "Load timeout for modules: " + noLoads); + err.requireType = "timeout"; + err.requireModules = noLoads; + return req.onError(err); + } + if (stillLoading || context.scriptCount) { + //Something is still waiting to load. Wait for it, but only + //if a timeout is not already in effect. + if ((isBrowser || isWebWorker) && !checkLoadedTimeoutId) { + checkLoadedTimeoutId = setTimeout(function () { + checkLoadedTimeoutId = 0; + checkLoaded(); + }, 50); + } + return undefined; + } + + //If still have items in the waiting cue, but all modules have + //been loaded, then it means there are some circular dependencies + //that need to be broken. + //However, as a waiting thing is fired, then it can add items to + //the waiting cue, and those items should not be fired yet, so + //make sure to redo the checkLoaded call after breaking a single + //cycle, if nothing else loaded then this logic will pick it up + //again. + if (context.waitCount) { + //Cycle through the waitAry, and call items in sequence. + for (i = 0; (manager = waitAry[i]); i++) { + forceExec(manager, {}); + } + + //Only allow this recursion to a certain depth. Only + //triggered by errors in calling a module in which its + //modules waiting on it cannot finish loading, or some circular + //dependencies that then may add more dependencies. + //The value of 5 is a bit arbitrary. Hopefully just one extra + //pass, or two for the case of circular dependencies generating + //more work that gets resolved in the sync node case. + if (checkLoadedDepth < 5) { + checkLoadedDepth += 1; + checkLoaded(); + } + } + + checkLoadedDepth = 0; + + //Check for DOM ready, and nothing is waiting across contexts. + req.checkReadyState(); + + return undefined; + } + + function callPlugin(pluginName, dep) { + var name = dep.name, + fullName = dep.fullName, + load; + + //Do not bother if plugin is already defined or being loaded. + if (fullName in defined || fullName in loaded) { + return; + } + + if (!plugins[pluginName]) { + plugins[pluginName] = defined[pluginName]; + } + + //Only set loaded to false for tracking if it has not already been set. + if (!loaded[fullName]) { + loaded[fullName] = false; + } + + load = function (ret) { + //Allow the build process to register plugin-loaded dependencies. + if (req.onPluginLoad) { + req.onPluginLoad(context, pluginName, name, ret); + } + + execManager({ + prefix: dep.prefix, + name: dep.name, + fullName: dep.fullName, + callback: function () { + return ret; + } + }); + loaded[fullName] = true; + }; + + //Allow plugins to load other code without having to know the + //context or how to "complete" the load. + load.fromText = function (moduleName, text) { + /*jslint evil: true */ + var hasInteractive = useInteractive; + + //Indicate a the module is in process of loading. + context.loaded[moduleName] = false; + context.scriptCount += 1; + + //Turn off interactive script matching for IE for any define + //calls in the text, then turn it back on at the end. + if (hasInteractive) { + useInteractive = false; + } + + req.exec(text); + + if (hasInteractive) { + useInteractive = true; + } + + //Support anonymous modules. + context.completeLoad(moduleName); + }; + + //Use parentName here since the plugin's name is not reliable, + //could be some weird string with no path that actually wants to + //reference the parentName's path. + plugins[pluginName].load(name, makeRequire(dep.parentMap, true), load, config); + } + + function loadPaused(dep) { + //Renormalize dependency if its name was waiting on a plugin + //to load, which as since loaded. + if (dep.prefix && dep.name && dep.name.indexOf('__$p') === 0 && defined[dep.prefix]) { + dep = makeModuleMap(dep.originalName, dep.parentMap); + } + + var pluginName = dep.prefix, + fullName = dep.fullName, + urlFetched = context.urlFetched; + + //Do not bother if the dependency has already been specified. + if (specified[fullName] || loaded[fullName]) { + return; + } else { + specified[fullName] = true; + } + + if (pluginName) { + //If plugin not loaded, wait for it. + //set up callback list. if no list, then register + //managerCallback for that plugin. + if (defined[pluginName]) { + callPlugin(pluginName, dep); + } else { + if (!pluginsQueue[pluginName]) { + pluginsQueue[pluginName] = []; + (managerCallbacks[pluginName] || + (managerCallbacks[pluginName] = [])).push({ + onDep: function (name, value) { + if (name === pluginName) { + var i, oldModuleMap, ary = pluginsQueue[pluginName]; + + //Now update all queued plugin actions. + for (i = 0; i < ary.length; i++) { + oldModuleMap = ary[i]; + //Update the moduleMap since the + //module name may be normalized + //differently now. + callPlugin(pluginName, + makeModuleMap(oldModuleMap.originalName, oldModuleMap.parentMap)); + } + delete pluginsQueue[pluginName]; + } + } + }); + } + pluginsQueue[pluginName].push(dep); + } + } else { + if (!urlFetched[dep.url]) { + req.load(context, fullName, dep.url); + urlFetched[dep.url] = true; + } + } + } + + /** + * Resumes tracing of dependencies and then checks if everything is loaded. + */ + resume = function () { + var args, i, p; + + resumeDepth += 1; + + if (context.scriptCount <= 0) { + //Synchronous envs will push the number below zero with the + //decrement above, be sure to set it back to zero for good measure. + //require() calls that also do not end up loading scripts could + //push the number negative too. + context.scriptCount = 0; + } + + //Make sure any remaining defQueue items get properly processed. + while (defQueue.length) { + args = defQueue.shift(); + if (args[0] === null) { + return req.onError(makeError('mismatch', 'Mismatched anonymous define() module: ' + args[args.length - 1])); + } else { + callDefMain(args); + } + } + + //Skip the resume of paused dependencies + //if current context is in priority wait. + if (!config.priorityWait || isPriorityDone()) { + while (context.paused.length) { + p = context.paused; + context.pausedCount += p.length; + //Reset paused list + context.paused = []; + + for (i = 0; (args = p[i]); i++) { + loadPaused(args); + } + //Move the start time for timeout forward. + context.startTime = (new Date()).getTime(); + context.pausedCount -= p.length; + } + } + + //Only check if loaded when resume depth is 1. It is likely that + //it is only greater than 1 in sync environments where a factory + //function also then calls the callback-style require. In those + //cases, the checkLoaded should not occur until the resume + //depth is back at the top level. + if (resumeDepth === 1) { + checkLoaded(); + } + + resumeDepth -= 1; + + return undefined; + }; + + //Define the context object. Many of these fields are on here + //just to make debugging easier. + context = { + contextName: contextName, + config: config, + defQueue: defQueue, + waiting: waiting, + waitCount: 0, + specified: specified, + loaded: loaded, + urlMap: urlMap, + scriptCount: 0, + urlFetched: {}, + defined: defined, + paused: [], + pausedCount: 0, + plugins: plugins, + managerCallbacks: managerCallbacks, + makeModuleMap: makeModuleMap, + normalize: normalize, + /** + * Set a configuration for the context. + * @param {Object} cfg config object to integrate. + */ + configure: function (cfg) { + var paths, prop, packages, pkgs, packagePaths, requireWait; + + //Make sure the baseUrl ends in a slash. + if (cfg.baseUrl) { + if (cfg.baseUrl.charAt(cfg.baseUrl.length - 1) !== "/") { + cfg.baseUrl += "/"; + } + } + + //Save off the paths and packages since they require special processing, + //they are additive. + paths = config.paths; + packages = config.packages; + pkgs = config.pkgs; + + //Mix in the config values, favoring the new values over + //existing ones in context.config. + mixin(config, cfg, true); + + //Adjust paths if necessary. + if (cfg.paths) { + for (prop in cfg.paths) { + if (!(prop in empty)) { + paths[prop] = cfg.paths[prop]; + } + } + config.paths = paths; + } + + packagePaths = cfg.packagePaths; + if (packagePaths || cfg.packages) { + //Convert packagePaths into a packages config. + if (packagePaths) { + for (prop in packagePaths) { + if (!(prop in empty)) { + configurePackageDir(pkgs, packagePaths[prop], prop); + } + } + } + + //Adjust packages if necessary. + if (cfg.packages) { + configurePackageDir(pkgs, cfg.packages); + } + + //Done with modifications, assing packages back to context config + config.pkgs = pkgs; + } + + //If priority loading is in effect, trigger the loads now + if (cfg.priority) { + //Hold on to requireWait value, and reset it after done + requireWait = context.requireWait; + + //Allow tracing some require calls to allow the fetching + //of the priority config. + context.requireWait = false; + + //But first, call resume to register any defined modules that may + //be in a data-main built file before the priority config + //call. Also grab any waiting define calls for this context. + context.takeGlobalQueue(); + resume(); + + context.require(cfg.priority); + + //Trigger a resume right away, for the case when + //the script with the priority load is done as part + //of a data-main call. In that case the normal resume + //call will not happen because the scriptCount will be + //at 1, since the script for data-main is being processed. + resume(); + + //Restore previous state. + context.requireWait = requireWait; + config.priorityWait = cfg.priority; + } + + //If a deps array or a config callback is specified, then call + //require with those args. This is useful when require is defined as a + //config object before require.js is loaded. + if (cfg.deps || cfg.callback) { + context.require(cfg.deps || [], cfg.callback); + } + + //Set up ready callback, if asked. Useful when require is defined as a + //config object before require.js is loaded. + if (cfg.ready) { + req.ready(cfg.ready); + } + }, + + requireDefined: function (moduleName, relModuleMap) { + return makeModuleMap(moduleName, relModuleMap).fullName in defined; + }, + + requireSpecified: function (moduleName, relModuleMap) { + return makeModuleMap(moduleName, relModuleMap).fullName in specified; + }, + + require: function (deps, callback, relModuleMap) { + var moduleName, fullName, moduleMap; + if (typeof deps === "string") { + //Synchronous access to one module. If require.get is + //available (as in the Node adapter), prefer that. + //In this case deps is the moduleName and callback is + //the relModuleMap + if (req.get) { + return req.get(context, deps, callback); + } + + //Just return the module wanted. In this scenario, the + //second arg (if passed) is just the relModuleMap. + moduleName = deps; + relModuleMap = callback; + + //Normalize module name, if it contains . or .. + moduleMap = makeModuleMap(moduleName, relModuleMap); + fullName = moduleMap.fullName; + + if (!(fullName in defined)) { + return req.onError(makeError("notloaded", "Module name '" + + moduleMap.fullName + + "' has not been loaded yet for context: " + + contextName)); + } + return defined[fullName]; + } + + main(null, deps, callback, relModuleMap); + + //If the require call does not trigger anything new to load, + //then resume the dependency processing. + if (!context.requireWait) { + while (!context.scriptCount && context.paused.length) { + //For built layers, there can be some defined + //modules waiting for intake into the context, + //in particular module plugins. Take them. + context.takeGlobalQueue(); + resume(); + } + } + return context.require; + }, + + /** + * Internal method to transfer globalQueue items to this context's + * defQueue. + */ + takeGlobalQueue: function () { + //Push all the globalDefQueue items into the context's defQueue + if (globalDefQueue.length) { + //Array splice in the values since the context code has a + //local var ref to defQueue, so cannot just reassign the one + //on context. + apsp.apply(context.defQueue, + [context.defQueue.length - 1, 0].concat(globalDefQueue)); + globalDefQueue = []; + } + }, + + /** + * Internal method used by environment adapters to complete a load event. + * A load event could be a script load or just a load pass from a synchronous + * load call. + * @param {String} moduleName the name of the module to potentially complete. + */ + completeLoad: function (moduleName) { + var args; + + context.takeGlobalQueue(); + + while (defQueue.length) { + args = defQueue.shift(); + + if (args[0] === null) { + args[0] = moduleName; + break; + } else if (args[0] === moduleName) { + //Found matching define call for this script! + break; + } else { + //Some other named define call, most likely the result + //of a build layer that included many define calls. + callDefMain(args); + args = null; + } + } + if (args) { + callDefMain(args); + } else { + //A script that does not call define(), so just simulate + //the call for it. Special exception for jQuery dynamic load. + callDefMain([moduleName, [], + moduleName === "jquery" && typeof jQuery !== "undefined" ? + function () { + return jQuery; + } : null]); + } + + //Mark the script as loaded. Note that this can be different from a + //moduleName that maps to a define call. This line is important + //for traditional browser scripts. + loaded[moduleName] = true; + + //If a global jQuery is defined, check for it. Need to do it here + //instead of main() since stock jQuery does not register as + //a module via define. + jQueryCheck(); + + //Doing this scriptCount decrement branching because sync envs + //need to decrement after resume, otherwise it looks like + //loading is complete after the first dependency is fetched. + //For browsers, it works fine to decrement after, but it means + //the checkLoaded setTimeout 50 ms cost is taken. To avoid + //that cost, decrement beforehand. + if (req.isAsync) { + context.scriptCount -= 1; + } + resume(); + if (!req.isAsync) { + context.scriptCount -= 1; + } + }, + + /** + * Converts a module name + .extension into an URL path. + * *Requires* the use of a module name. It does not support using + * plain URLs like nameToUrl. + */ + toUrl: function (moduleNamePlusExt, relModuleMap) { + var index = moduleNamePlusExt.lastIndexOf("."), + ext = null; + + if (index !== -1) { + ext = moduleNamePlusExt.substring(index, moduleNamePlusExt.length); + moduleNamePlusExt = moduleNamePlusExt.substring(0, index); + } + + return context.nameToUrl(moduleNamePlusExt, ext, relModuleMap); + }, + + /** + * Converts a module name to a file path. Supports cases where + * moduleName may actually be just an URL. + */ + nameToUrl: function (moduleName, ext, relModuleMap) { + var paths, pkgs, pkg, pkgPath, syms, i, parentModule, url, + config = context.config; + + //Normalize module name if have a base relative module name to work from. + moduleName = normalize(moduleName, relModuleMap && relModuleMap.fullName); + + //If a colon is in the URL, it indicates a protocol is used and it is just + //an URL to a file, or if it starts with a slash or ends with .js, it is just a plain file. + //The slash is important for protocol-less URLs as well as full paths. + if (req.jsExtRegExp.test(moduleName)) { + //Just a plain path, not module name lookup, so just return it. + //Add extension if it is included. This is a bit wonky, only non-.js things pass + //an extension, this method probably needs to be reworked. + url = moduleName + (ext ? ext : ""); + } else { + //A module that needs to be converted to a path. + paths = config.paths; + pkgs = config.pkgs; + + syms = moduleName.split("/"); + //For each module name segment, see if there is a path + //registered for it. Start with most specific name + //and work up from it. + for (i = syms.length; i > 0; i--) { + parentModule = syms.slice(0, i).join("/"); + if (paths[parentModule]) { + syms.splice(0, i, paths[parentModule]); + break; + } else if ((pkg = pkgs[parentModule])) { + //If module name is just the package name, then looking + //for the main module. + if (moduleName === pkg.name) { + pkgPath = pkg.location + '/' + pkg.main; + } else { + pkgPath = pkg.location; + } + syms.splice(0, i, pkgPath); + break; + } + } + + //Join the path parts together, then figure out if baseUrl is needed. + url = syms.join("/") + (ext || ".js"); + url = (url.charAt(0) === '/' || url.match(/^\w+:/) ? "" : config.baseUrl) + url; + } + + return config.urlArgs ? url + + ((url.indexOf('?') === -1 ? '?' : '&') + + config.urlArgs) : url; + } + }; + + //Make these visible on the context so can be called at the very + //end of the file to bootstrap + context.jQueryCheck = jQueryCheck; + context.resume = resume; + + return context; + } + + /** + * Main entry point. + * + * If the only argument to require is a string, then the module that + * is represented by that string is fetched for the appropriate context. + * + * If the first argument is an array, then it will be treated as an array + * of dependency string names to fetch. An optional function callback can + * be specified to execute when all of those dependencies are available. + * + * Make a local req variable to help Caja compliance (it assumes things + * on a require that are not standardized), and to give a short + * name for minification/local scope use. + */ + req = requirejs = function (deps, callback) { + + //Find the right context, use default + var contextName = defContextName, + context, config; + + // Determine if have config object in the call. + if (!isArray(deps) && typeof deps !== "string") { + // deps is a config object + config = deps; + if (isArray(callback)) { + // Adjust args if there are dependencies + deps = callback; + callback = arguments[2]; + } else { + deps = []; + } + } + + if (config && config.context) { + contextName = config.context; + } + + context = contexts[contextName] || + (contexts[contextName] = newContext(contextName)); + + if (config) { + context.configure(config); + } + + return context.require(deps, callback); + }; + + /** + * Support require.config() to make it easier to cooperate with other + * AMD loaders on globally agreed names. + */ + req.config = function (config) { + return req(config); + }; + + /** + * Export require as a global, but only if it does not already exist. + */ + if (typeof require === "undefined") { + require = req; + } + + /** + * Global require.toUrl(), to match global require, mostly useful + * for debugging/work in the global space. + */ + req.toUrl = function (moduleNamePlusExt) { + return contexts[defContextName].toUrl(moduleNamePlusExt); + }; + + req.version = version; + req.isArray = isArray; + req.isFunction = isFunction; + req.mixin = mixin; + //Used to filter out dependencies that are already paths. + req.jsExtRegExp = /^\/|:|\?|\.js$/; + s = req.s = { + contexts: contexts, + //Stores a list of URLs that should not get async script tag treatment. + skipAsync: {}, + isPageLoaded: !isBrowser, + readyCalls: [] + }; + + req.isAsync = req.isBrowser = isBrowser; + if (isBrowser) { + head = s.head = document.getElementsByTagName("head")[0]; + //If BASE tag is in play, using appendChild is a problem for IE6. + //When that browser dies, this can be removed. Details in this jQuery bug: + //http://dev.jquery.com/ticket/2709 + baseElement = document.getElementsByTagName("base")[0]; + if (baseElement) { + head = s.head = baseElement.parentNode; + } + } + + /** + * Any errors that require explicitly generates will be passed to this + * function. Intercept/override it if you want custom error handling. + * @param {Error} err the error object. + */ + req.onError = function (err) { + throw err; + }; + + /** + * Does the request to load a module for the browser case. + * Make this a separate function to allow other environments + * to override it. + * + * @param {Object} context the require context to find state. + * @param {String} moduleName the name of the module. + * @param {Object} url the URL to the module. + */ + req.load = function (context, moduleName, url) { + var loaded = context.loaded; + + isDone = false; + + //Only set loaded to false for tracking if it has not already been set. + if (!loaded[moduleName]) { + loaded[moduleName] = false; + } + + context.scriptCount += 1; + req.attach(url, context, moduleName); + + //If tracking a jQuery, then make sure its ready callbacks + //are put on hold to prevent its ready callbacks from + //triggering too soon. + if (context.jQuery && !context.jQueryIncremented) { + jQueryHoldReady(context.jQuery, true); + context.jQueryIncremented = true; + } + }; + + function getInteractiveScript() { + var scripts, i, script; + if (interactiveScript && interactiveScript.readyState === 'interactive') { + return interactiveScript; + } + + scripts = document.getElementsByTagName('script'); + for (i = scripts.length - 1; i > -1 && (script = scripts[i]); i--) { + if (script.readyState === 'interactive') { + return (interactiveScript = script); + } + } + + return null; + } + + /** + * The function that handles definitions of modules. Differs from + * require() in that a string for the module should be the first argument, + * and the function to execute after dependencies are loaded should + * return a value to define the module corresponding to the first argument's + * name. + */ + define = req.def = function (name, deps, callback) { + var node, context; + + //Allow for anonymous functions + if (typeof name !== 'string') { + //Adjust args appropriately + callback = deps; + deps = name; + name = null; + } + + //This module may not have dependencies + if (!req.isArray(deps)) { + callback = deps; + deps = []; + } + + //If no name, and callback is a function, then figure out if it a + //CommonJS thing with dependencies. + if (!name && !deps.length && req.isFunction(callback)) { + //Remove comments from the callback string, + //look for require calls, and pull them into the dependencies, + //but only if there are function args. + if (callback.length) { + callback + .toString() + .replace(commentRegExp, "") + .replace(cjsRequireRegExp, function (match, dep) { + deps.push(dep); + }); + + //May be a CommonJS thing even without require calls, but still + //could use exports, and module. Avoid doing exports and module + //work though if it just needs require. + //REQUIRES the function to expect the CommonJS variables in the + //order listed below. + deps = (callback.length === 1 ? ["require"] : ["require", "exports", "module"]).concat(deps); + } + } + + //If in IE 6-8 and hit an anonymous define() call, do the interactive + //work. + if (useInteractive) { + node = currentlyAddingScript || getInteractiveScript(); + if (node) { + if (!name) { + name = node.getAttribute("data-requiremodule"); + } + context = contexts[node.getAttribute("data-requirecontext")]; + } + } + + //Always save off evaluating the def call until the script onload handler. + //This allows multiple modules to be in a file without prematurely + //tracing dependencies, and allows for anonymous module support, + //where the module name is not known until the script onload event + //occurs. If no context, use the global queue, and get it processed + //in the onscript load callback. + (context ? context.defQueue : globalDefQueue).push([name, deps, callback]); + + return undefined; + }; + + define.amd = { + multiversion: true, + plugins: true, + jQuery: true + }; + + /** + * Executes the text. Normally just uses eval, but can be modified + * to use a more environment specific call. + * @param {String} text the text to execute/evaluate. + */ + req.exec = function (text) { + return eval(text); + }; + + /** + * Executes a module callack function. Broken out as a separate function + * solely to allow the build system to sequence the files in the built + * layer in the right sequence. + * + * @private + */ + req.execCb = function (name, callback, args, exports) { + return callback.apply(exports, args); + }; + + /** + * callback for script loads, used to check status of loading. + * + * @param {Event} evt the event from the browser for the script + * that was loaded. + * + * @private + */ + req.onScriptLoad = function (evt) { + //Using currentTarget instead of target for Firefox 2.0's sake. Not + //all old browsers will be supported, but this one was easy enough + //to support and still makes sense. + var node = evt.currentTarget || evt.srcElement, contextName, moduleName, + context; + + if (evt.type === "load" || readyRegExp.test(node.readyState)) { + //Reset interactive script so a script node is not held onto for + //to long. + interactiveScript = null; + + //Pull out the name of the module and the context. + contextName = node.getAttribute("data-requirecontext"); + moduleName = node.getAttribute("data-requiremodule"); + context = contexts[contextName]; + + contexts[contextName].completeLoad(moduleName); + + //Clean up script binding. Favor detachEvent because of IE9 + //issue, see attachEvent/addEventListener comment elsewhere + //in this file. + if (node.detachEvent && !isOpera) { + //Probably IE. If not it will throw an error, which will be + //useful to know. + node.detachEvent("onreadystatechange", req.onScriptLoad); + } else { + node.removeEventListener("load", req.onScriptLoad, false); + } + } + }; + + /** + * Attaches the script represented by the URL to the current + * environment. Right now only supports browser loading, + * but can be redefined in other environments to do the right thing. + * @param {String} url the url of the script to attach. + * @param {Object} context the context that wants the script. + * @param {moduleName} the name of the module that is associated with the script. + * @param {Function} [callback] optional callback, defaults to require.onScriptLoad + * @param {String} [type] optional type, defaults to text/javascript + */ + req.attach = function (url, context, moduleName, callback, type) { + var node, loaded; + if (isBrowser) { + //In the browser so use a script tag + callback = callback || req.onScriptLoad; + node = context && context.config && context.config.xhtml ? + document.createElementNS("http://www.w3.org/1999/xhtml", "html:script") : + document.createElement("script"); + node.type = type || "text/javascript"; + node.charset = "utf-8"; + //Use async so Gecko does not block on executing the script if something + //like a long-polling comet tag is being run first. Gecko likes + //to evaluate scripts in DOM order, even for dynamic scripts. + //It will fetch them async, but only evaluate the contents in DOM + //order, so a long-polling script tag can delay execution of scripts + //after it. But telling Gecko we expect async gets us the behavior + //we want -- execute it whenever it is finished downloading. Only + //Helps Firefox 3.6+ + //Allow some URLs to not be fetched async. Mostly helps the order! + //plugin + node.async = !s.skipAsync[url]; + + if (context) { + node.setAttribute("data-requirecontext", context.contextName); + } + node.setAttribute("data-requiremodule", moduleName); + + //Set up load listener. Test attachEvent first because IE9 has + //a subtle issue in its addEventListener and script onload firings + //that do not match the behavior of all other browsers with + //addEventListener support, which fire the onload event for a + //script right after the script execution. See: + //https://connect.microsoft.com/IE/feedback/details/648057/script-onload-event-is-not-fired-immediately-after-script-execution + //UNFORTUNATELY Opera implements attachEvent but does not follow the script + //script execution mode. + if (node.attachEvent && !isOpera) { + //Probably IE. IE (at least 6-8) do not fire + //script onload right after executing the script, so + //we cannot tie the anonymous define call to a name. + //However, IE reports the script as being in "interactive" + //readyState at the time of the define call. + useInteractive = true; + node.attachEvent("onreadystatechange", callback); + } else { + node.addEventListener("load", callback, false); + } + node.src = url; + + //For some cache cases in IE 6-8, the script executes before the end + //of the appendChild execution, so to tie an anonymous define + //call to the module name (which is stored on the node), hold on + //to a reference to this node, but clear after the DOM insertion. + currentlyAddingScript = node; + if (baseElement) { + head.insertBefore(node, baseElement); + } else { + head.appendChild(node); + } + currentlyAddingScript = null; + return node; + } else if (isWebWorker) { + //In a web worker, use importScripts. This is not a very + //efficient use of importScripts, importScripts will block until + //its script is downloaded and evaluated. However, if web workers + //are in play, the expectation that a build has been done so that + //only one script needs to be loaded anyway. This may need to be + //reevaluated if other use cases become common. + loaded = context.loaded; + loaded[moduleName] = false; + + importScripts(url); + + //Account for anonymous modules + context.completeLoad(moduleName); + } + return null; + }; + + //Look for a data-main script attribute, which could also adjust the baseUrl. + if (isBrowser) { + //Figure out baseUrl. Get it from the script tag with require.js in it. + scripts = document.getElementsByTagName("script"); + + for (i = scripts.length - 1; i > -1 && (script = scripts[i]); i--) { + //Set the "head" where we can append children by + //using the script's parent. + if (!head) { + head = script.parentNode; + } + + //Look for a data-main attribute to set main script for the page + //to load. If it is there, the path to data main becomes the + //baseUrl, if it is not already set. + if ((dataMain = script.getAttribute('data-main'))) { + if (!cfg.baseUrl) { + //Pull off the directory of data-main for use as the + //baseUrl. + src = dataMain.split('/'); + mainScript = src.pop(); + subPath = src.length ? src.join('/') + '/' : './'; + + //Set final config. + cfg.baseUrl = subPath; + //Strip off any trailing .js since dataMain is now + //like a module name. + dataMain = mainScript.replace(jsSuffixRegExp, ''); + } + + //Put the data-main script in the files to load. + cfg.deps = cfg.deps ? cfg.deps.concat(dataMain) : [dataMain]; + + break; + } + } + } + + //Set baseUrl based on config. + s.baseUrl = cfg.baseUrl; + + //****** START page load functionality **************** + /** + * Sets the page as loaded and triggers check for all modules loaded. + */ + req.pageLoaded = function () { + if (!s.isPageLoaded) { + s.isPageLoaded = true; + if (scrollIntervalId) { + clearInterval(scrollIntervalId); + } + + //Part of a fix for FF < 3.6 where readyState was not set to + //complete so libraries like jQuery that check for readyState + //after page load where not getting initialized correctly. + //Original approach suggested by Andrea Giammarchi: + //http://webreflection.blogspot.com/2009/11/195-chars-to-help-lazy-loading.html + //see other setReadyState reference for the rest of the fix. + if (setReadyState) { + document.readyState = "complete"; + } + + req.callReady(); + } + }; + + //See if there is nothing waiting across contexts, and if not, trigger + //callReady. + req.checkReadyState = function () { + var contexts = s.contexts, prop; + for (prop in contexts) { + if (!(prop in empty)) { + if (contexts[prop].waitCount) { + return; + } + } + } + s.isDone = true; + req.callReady(); + }; + + /** + * Internal function that calls back any ready functions. If you are + * integrating RequireJS with another library without require.ready support, + * you can define this method to call your page ready code instead. + */ + req.callReady = function () { + var callbacks = s.readyCalls, i, callback, contexts, context, prop; + + if (s.isPageLoaded && s.isDone) { + if (callbacks.length) { + s.readyCalls = []; + for (i = 0; (callback = callbacks[i]); i++) { + callback(); + } + } + + //If jQuery with DOM ready delayed, release it now. + contexts = s.contexts; + for (prop in contexts) { + if (!(prop in empty)) { + context = contexts[prop]; + if (context.jQueryIncremented) { + jQueryHoldReady(context.jQuery, false); + context.jQueryIncremented = false; + } + } + } + } + }; + + /** + * Registers functions to call when the page is loaded + */ + req.ready = function (callback) { + if (s.isPageLoaded && s.isDone) { + callback(); + } else { + s.readyCalls.push(callback); + } + return req; + }; + + if (isBrowser) { + if (document.addEventListener) { + //Standards. Hooray! Assumption here that if standards based, + //it knows about DOMContentLoaded. + document.addEventListener("DOMContentLoaded", req.pageLoaded, false); + window.addEventListener("load", req.pageLoaded, false); + //Part of FF < 3.6 readystate fix (see setReadyState refs for more info) + if (!document.readyState) { + setReadyState = true; + document.readyState = "loading"; + } + } else if (window.attachEvent) { + window.attachEvent("onload", req.pageLoaded); + + //DOMContentLoaded approximation, as found by Diego Perini: + //http://javascript.nwbox.com/IEContentLoaded/ + if (self === self.top) { + scrollIntervalId = setInterval(function () { + try { + //From this ticket: + //http://bugs.dojotoolkit.org/ticket/11106, + //In IE HTML Application (HTA), such as in a selenium test, + //javascript in the iframe can't see anything outside + //of it, so self===self.top is true, but the iframe is + //not the top window and doScroll will be available + //before document.body is set. Test document.body + //before trying the doScroll trick. + if (document.body) { + document.documentElement.doScroll("left"); + req.pageLoaded(); + } + } catch (e) {} + }, 30); + } + } + + //Check if document already complete, and if so, just trigger page load + //listeners. NOTE: does not work with Firefox before 3.6. To support + //those browsers, manually call require.pageLoaded(). + if (document.readyState === "complete") { + req.pageLoaded(); + } + } + //****** END page load functionality **************** + + //Set up default context. If require was a configuration object, use that as base config. + req(cfg); + + //If modules are built into require.js, then need to make sure dependencies are + //traced. Use a setTimeout in the browser world, to allow all the modules to register + //themselves. In a non-browser env, assume that modules are not built into require.js, + //which seems odd to do on the server. + if (req.isAsync && typeof setTimeout !== "undefined") { + ctx = s.contexts[(cfg.context || defContextName)]; + //Indicate that the script that includes require() is still loading, + //so that require()'d dependencies are not traced until the end of the + //file is parsed (approximated via the setTimeout call). + ctx.requireWait = true; + setTimeout(function () { + ctx.requireWait = false; + + //Any modules included with the require.js file will be in the + //global queue, assign them to this context. + ctx.takeGlobalQueue(); + + //Allow for jQuery to be loaded/already in the page, and if jQuery 1.4.3, + //make sure to hold onto it for readyWait triggering. + ctx.jQueryCheck(); + + if (!ctx.scriptCount) { + ctx.resume(); + } + req.checkReadyState(); + }, 0); + } +}()); +/*! + * jQuery JavaScript Library v1.6.4 + * http://jquery.com/ + * + * Copyright 2011, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Mon Sep 12 18:54:48 2011 -0400 + */ +(function( window, undefined ) { + +// Use the correct document accordingly with window argument (sandbox) +var document = window.document, + navigator = window.navigator, + location = window.location; +var jQuery = (function() { + +// Define a local copy of jQuery +var jQuery = function( selector, context ) { + // The jQuery object is actually just the init constructor 'enhanced' + return new jQuery.fn.init( selector, context, rootjQuery ); + }, + + // Map over jQuery in case of overwrite + _jQuery = window.jQuery, + + // Map over the $ in case of overwrite + _$ = window.$, + + // A central reference to the root jQuery(document) + rootjQuery, + + // A simple way to check for HTML strings or ID strings + // Prioritize #id over to avoid XSS via location.hash (#9521) + quickExpr = /^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/, + + // Check if a string has a non-whitespace character in it + rnotwhite = /\S/, + + // Used for trimming whitespace + trimLeft = /^\s+/, + trimRight = /\s+$/, + + // Check for digits + rdigit = /\d/, + + // Match a standalone tag + rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>)?$/, + + // JSON RegExp + rvalidchars = /^[\],:{}\s]*$/, + rvalidescape = /\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, + rvalidtokens = /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, + rvalidbraces = /(?:^|:|,)(?:\s*\[)+/g, + + // Useragent RegExp + rwebkit = /(webkit)[ \/]([\w.]+)/, + ropera = /(opera)(?:.*version)?[ \/]([\w.]+)/, + rmsie = /(msie) ([\w.]+)/, + rmozilla = /(mozilla)(?:.*? rv:([\w.]+))?/, + + // Matches dashed string for camelizing + rdashAlpha = /-([a-z]|[0-9])/ig, + rmsPrefix = /^-ms-/, + + // Used by jQuery.camelCase as callback to replace() + fcamelCase = function( all, letter ) { + return ( letter + "" ).toUpperCase(); + }, + + // Keep a UserAgent string for use with jQuery.browser + userAgent = navigator.userAgent, + + // For matching the engine and version of the browser + browserMatch, + + // The deferred used on DOM ready + readyList, + + // The ready event handler + DOMContentLoaded, + + // Save a reference to some core methods + toString = Object.prototype.toString, + hasOwn = Object.prototype.hasOwnProperty, + push = Array.prototype.push, + slice = Array.prototype.slice, + trim = String.prototype.trim, + indexOf = Array.prototype.indexOf, + + // [[Class]] -> type pairs + class2type = {}; + +jQuery.fn = jQuery.prototype = { + constructor: jQuery, + init: function( selector, context, rootjQuery ) { + var match, elem, ret, doc; + + // Handle $(""), $(null), or $(undefined) + if ( !selector ) { + return this; + } + + // Handle $(DOMElement) + if ( selector.nodeType ) { + this.context = this[0] = selector; + this.length = 1; + return this; + } + + // The body element only exists once, optimize finding it + if ( selector === "body" && !context && document.body ) { + this.context = document; + this[0] = document.body; + this.selector = selector; + this.length = 1; + return this; + } + + // Handle HTML strings + if ( typeof selector === "string" ) { + // Are we dealing with HTML string or an ID? + 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 = quickExpr.exec( selector ); + } + + // Verify a match, and that no context was specified for #id + if ( match && (match[1] || !context) ) { + + // HANDLE: $(html) -> $(array) + if ( match[1] ) { + context = context instanceof jQuery ? context[0] : context; + doc = (context ? context.ownerDocument || context : document); + + // If a single string is passed in and it's a single tag + // just do a createElement and skip the rest + ret = rsingleTag.exec( selector ); + + if ( ret ) { + if ( jQuery.isPlainObject( context ) ) { + selector = [ document.createElement( ret[1] ) ]; + jQuery.fn.attr.call( selector, context, true ); + + } else { + selector = [ doc.createElement( ret[1] ) ]; + } + + } else { + ret = jQuery.buildFragment( [ match[1] ], [ doc ] ); + selector = (ret.cacheable ? jQuery.clone(ret.fragment) : ret.fragment).childNodes; + } + + return jQuery.merge( this, selector ); + + // 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: $(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 current version of jQuery being used + jquery: "1.6.4", + + // The default length of a jQuery object is 0 + length: 0, + + // The number of elements contained in the matched element set + size: function() { + return this.length; + }, + + toArray: function() { + return slice.call( this, 0 ); + }, + + // 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, name, selector ) { + // Build a new jQuery matched element set + var ret = this.constructor(); + + if ( jQuery.isArray( elems ) ) { + push.apply( ret, elems ); + + } else { + jQuery.merge( ret, elems ); + } + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + + ret.context = this.context; + + if ( name === "find" ) { + ret.selector = this.selector + (this.selector ? " " : "") + selector; + } else if ( name ) { + ret.selector = this.selector + "." + name + "(" + selector + ")"; + } + + // 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 ) { + // Attach the listeners + jQuery.bindReady(); + + // Add the callback + readyList.done( fn ); + + return this; + }, + + eq: function( i ) { + return i === -1 ? + this.slice( i ) : + this.slice( i, +i + 1 ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + slice: function() { + return this.pushStack( slice.apply( this, arguments ), + "slice", slice.call(arguments).join(",") ); + }, + + 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: 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 options, name, src, copy, copyIsArray, 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({ + 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 ) { + // Either a released hold or an DOMready/load event and not yet ready + if ( (wait === true && !--jQuery.readyWait) || (wait !== true && !jQuery.isReady) ) { + // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443). + if ( !document.body ) { + return setTimeout( jQuery.ready, 1 ); + } + + // 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" ).unbind( "ready" ); + } + } + }, + + bindReady: function() { + if ( readyList ) { + return; + } + + readyList = jQuery._Deferred(); + + // Catch cases where $(document).ready() is called after the + // browser event has already occurred. + if ( document.readyState === "complete" ) { + // Handle it asynchronously to allow scripts the opportunity to delay ready + return setTimeout( jQuery.ready, 1 ); + } + + // Mozilla, Opera and webkit nightlies currently support this event + if ( document.addEventListener ) { + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", DOMContentLoaded, false ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", jQuery.ready, false ); + + // If IE event model is used + } else if ( document.attachEvent ) { + // ensure firing before onload, + // maybe late but safe also for iframes + document.attachEvent( "onreadystatechange", DOMContentLoaded ); + + // A fallback to window.onload, that will always work + window.attachEvent( "onload", jQuery.ready ); + + // If IE and not a frame + // continually check to see if the document is ready + var toplevel = false; + + try { + toplevel = window.frameElement == null; + } catch(e) {} + + if ( document.documentElement.doScroll && toplevel ) { + doScrollCheck(); + } + } + }, + + // 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"; + }, + + // A crude way of determining if an object is a window + isWindow: function( obj ) { + return obj && typeof obj === "object" && "setInterval" in obj; + }, + + isNaN: function( obj ) { + return obj == null || !rdigit.test( obj ) || isNaN( obj ); + }, + + type: function( obj ) { + return obj == null ? + String( obj ) : + class2type[ toString.call(obj) ] || "object"; + }, + + isPlainObject: function( obj ) { + // 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 && + !hasOwn.call(obj, "constructor") && + !hasOwn.call(obj.constructor.prototype, "isPrototypeOf") ) { + return false; + } + } catch ( e ) { + // IE8,9 Will throw exceptions on certain host objects #9897 + return false; + } + + // Own properties are enumerated firstly, so to speed up, + // if last one is own, then all properties are own. + + var key; + for ( key in obj ) {} + + return key === undefined || hasOwn.call( obj, key ); + }, + + isEmptyObject: function( obj ) { + for ( var name in obj ) { + return false; + } + return true; + }, + + error: function( msg ) { + throw msg; + }, + + parseJSON: function( data ) { + if ( typeof data !== "string" || !data ) { + return null; + } + + // Make sure leading/trailing whitespace is removed (IE can't handle it) + data = jQuery.trim( data ); + + // Attempt to parse using the native JSON parser first + if ( window.JSON && window.JSON.parse ) { + return window.JSON.parse( 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; + 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 && rnotwhite.test( 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.toUpperCase() === name.toUpperCase(); + }, + + // args is for internal usage only + each: function( object, callback, args ) { + var name, i = 0, + length = object.length, + isObj = length === undefined || jQuery.isFunction( object ); + + if ( args ) { + if ( isObj ) { + for ( name in object ) { + if ( callback.apply( object[ name ], args ) === false ) { + break; + } + } + } else { + for ( ; i < length; ) { + if ( callback.apply( object[ i++ ], args ) === false ) { + break; + } + } + } + + // A special, fast, case for the most common use of each + } else { + if ( isObj ) { + for ( name in object ) { + if ( callback.call( object[ name ], name, object[ name ] ) === false ) { + break; + } + } + } else { + for ( ; i < length; ) { + if ( callback.call( object[ i ], i, object[ i++ ] ) === false ) { + break; + } + } + } + } + + return object; + }, + + // Use native String.trim function wherever possible + trim: trim ? + function( text ) { + return text == null ? + "" : + trim.call( text ); + } : + + // Otherwise use our own trimming functionality + function( text ) { + return text == null ? + "" : + text.toString().replace( trimLeft, "" ).replace( trimRight, "" ); + }, + + // results is for internal usage only + makeArray: function( array, results ) { + var ret = results || []; + + if ( array != null ) { + // The window, strings (and functions) also have 'length' + // The extra typeof function check is to prevent crashes + // in Safari 2 (See: #3039) + // Tweaked logic slightly to handle Blackberry 4.7 RegExp issues #6930 + var type = jQuery.type( array ); + + if ( array.length == null || type === "string" || type === "function" || type === "regexp" || jQuery.isWindow( array ) ) { + push.call( ret, array ); + } else { + jQuery.merge( ret, array ); + } + } + + return ret; + }, + + inArray: function( elem, array ) { + if ( !array ) { + return -1; + } + + if ( indexOf ) { + return indexOf.call( array, elem ); + } + + for ( var i = 0, length = array.length; i < length; i++ ) { + if ( array[ i ] === elem ) { + return i; + } + } + + return -1; + }, + + merge: function( first, second ) { + var i = first.length, + j = 0; + + if ( typeof second.length === "number" ) { + for ( var l = second.length; 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 ret = [], retVal; + inv = !!inv; + + // Go through the array, only saving the items + // that pass the validator function + for ( var i = 0, length = elems.length; 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, key, ret = [], + i = 0, + length = elems.length, + // jquery objects are treated as arrays + isArray = elems instanceof jQuery || length !== undefined && typeof length === "number" && ( ( length > 0 && elems[ 0 ] && elems[ length -1 ] ) || length === 0 || jQuery.isArray( elems ) ) ; + + // 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 ( key in elems ) { + value = callback( elems[ key ], key, arg ); + + if ( value != null ) { + ret[ ret.length ] = value; + } + } + } + + // Flatten any nested arrays + return ret.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 ) { + if ( typeof context === "string" ) { + var 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 + var args = slice.call( arguments, 2 ), + proxy = function() { + return fn.apply( context, args.concat( 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 || proxy.guid || jQuery.guid++; + + return proxy; + }, + + // Mutifunctional method to get and set values to a collection + // The value/s can optionally be executed if it's a function + access: function( elems, key, value, exec, fn, pass ) { + var length = elems.length; + + // Setting many attributes + if ( typeof key === "object" ) { + for ( var k in key ) { + jQuery.access( elems, k, key[k], exec, fn, value ); + } + return elems; + } + + // Setting one attribute + if ( value !== undefined ) { + // Optionally, function values get executed if exec is true + exec = !pass && exec && jQuery.isFunction(value); + + for ( var i = 0; i < length; i++ ) { + fn( elems[i], key, exec ? value.call( elems[i], i, fn( elems[i], key ) ) : value, pass ); + } + + return elems; + } + + // Getting an attribute + return length ? fn( elems[0], key ) : undefined; + }, + + now: function() { + return (new Date()).getTime(); + }, + + // Use of jQuery.browser is frowned upon. + // More details: http://docs.jquery.com/Utilities/jQuery.browser + uaMatch: function( ua ) { + ua = ua.toLowerCase(); + + var match = rwebkit.exec( ua ) || + ropera.exec( ua ) || + rmsie.exec( ua ) || + ua.indexOf("compatible") < 0 && rmozilla.exec( ua ) || + []; + + return { browser: match[1] || "", version: match[2] || "0" }; + }, + + sub: function() { + function jQuerySub( selector, context ) { + return new jQuerySub.fn.init( selector, context ); + } + jQuery.extend( true, jQuerySub, this ); + jQuerySub.superclass = this; + jQuerySub.fn = jQuerySub.prototype = this(); + jQuerySub.fn.constructor = jQuerySub; + jQuerySub.sub = this.sub; + jQuerySub.fn.init = function init( selector, context ) { + if ( context && context instanceof jQuery && !(context instanceof jQuerySub) ) { + context = jQuerySub( context ); + } + + return jQuery.fn.init.call( this, selector, context, rootjQuerySub ); + }; + jQuerySub.fn.init.prototype = jQuerySub.fn; + var rootjQuerySub = jQuerySub(document); + return jQuerySub; + }, + + browser: {} +}); + +// Populate the class2type map +jQuery.each("Boolean Number String Function Array Date RegExp Object".split(" "), function(i, name) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +}); + +browserMatch = jQuery.uaMatch( userAgent ); +if ( browserMatch.browser ) { + jQuery.browser[ browserMatch.browser ] = true; + jQuery.browser.version = browserMatch.version; +} + +// Deprecated, use jQuery.browser.webkit instead +if ( jQuery.browser.webkit ) { + jQuery.browser.safari = true; +} + +// IE doesn't match non-breaking spaces with \s +if ( rnotwhite.test( "\xA0" ) ) { + trimLeft = /^[\s\xA0]+/; + trimRight = /[\s\xA0]+$/; +} + +// All jQuery objects should point back to these +rootjQuery = jQuery(document); + +// Cleanup functions for the document ready method +if ( document.addEventListener ) { + DOMContentLoaded = function() { + document.removeEventListener( "DOMContentLoaded", DOMContentLoaded, false ); + jQuery.ready(); + }; + +} else if ( document.attachEvent ) { + DOMContentLoaded = function() { + // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443). + if ( document.readyState === "complete" ) { + document.detachEvent( "onreadystatechange", DOMContentLoaded ); + jQuery.ready(); + } + }; +} + +// The DOM ready check for Internet Explorer +function doScrollCheck() { + if ( jQuery.isReady ) { + return; + } + + try { + // If IE is used, use the trick by Diego Perini + // http://javascript.nwbox.com/IEContentLoaded/ + document.documentElement.doScroll("left"); + } catch(e) { + setTimeout( doScrollCheck, 1 ); + return; + } + + // and execute any waiting functions + jQuery.ready(); +} + +return jQuery; + +})(); + + +var // Promise methods + promiseMethods = "done fail isResolved isRejected promise then always pipe".split( " " ), + // Static reference to slice + sliceDeferred = [].slice; + +jQuery.extend({ + // Create a simple deferred (one callbacks list) + _Deferred: function() { + var // callbacks list + callbacks = [], + // stored [ context , args ] + fired, + // to avoid firing when already doing so + firing, + // flag to know if the deferred has been cancelled + cancelled, + // the deferred itself + deferred = { + + // done( f1, f2, ...) + done: function() { + if ( !cancelled ) { + var args = arguments, + i, + length, + elem, + type, + _fired; + if ( fired ) { + _fired = fired; + fired = 0; + } + for ( i = 0, length = args.length; i < length; i++ ) { + elem = args[ i ]; + type = jQuery.type( elem ); + if ( type === "array" ) { + deferred.done.apply( deferred, elem ); + } else if ( type === "function" ) { + callbacks.push( elem ); + } + } + if ( _fired ) { + deferred.resolveWith( _fired[ 0 ], _fired[ 1 ] ); + } + } + return this; + }, + + // resolve with given context and args + resolveWith: function( context, args ) { + if ( !cancelled && !fired && !firing ) { + // make sure args are available (#8421) + args = args || []; + firing = 1; + try { + while( callbacks[ 0 ] ) { + callbacks.shift().apply( context, args ); + } + } + finally { + fired = [ context, args ]; + firing = 0; + } + } + return this; + }, + + // resolve with this as context and given arguments + resolve: function() { + deferred.resolveWith( this, arguments ); + return this; + }, + + // Has this deferred been resolved? + isResolved: function() { + return !!( firing || fired ); + }, + + // Cancel + cancel: function() { + cancelled = 1; + callbacks = []; + return this; + } + }; + + return deferred; + }, + + // Full fledged deferred (two callbacks list) + Deferred: function( func ) { + var deferred = jQuery._Deferred(), + failDeferred = jQuery._Deferred(), + promise; + // Add errorDeferred methods, then and promise + jQuery.extend( deferred, { + then: function( doneCallbacks, failCallbacks ) { + deferred.done( doneCallbacks ).fail( failCallbacks ); + return this; + }, + always: function() { + return deferred.done.apply( deferred, arguments ).fail.apply( this, arguments ); + }, + fail: failDeferred.done, + rejectWith: failDeferred.resolveWith, + reject: failDeferred.resolve, + isRejected: failDeferred.isResolved, + pipe: function( fnDone, fnFail ) { + return jQuery.Deferred(function( newDefer ) { + jQuery.each( { + done: [ fnDone, "resolve" ], + fail: [ fnFail, "reject" ] + }, function( handler, data ) { + var fn = data[ 0 ], + action = data[ 1 ], + returned; + if ( jQuery.isFunction( fn ) ) { + deferred[ handler ](function() { + returned = fn.apply( this, arguments ); + if ( returned && jQuery.isFunction( returned.promise ) ) { + returned.promise().then( newDefer.resolve, newDefer.reject ); + } else { + newDefer[ action + "With" ]( this === deferred ? newDefer : this, [ returned ] ); + } + }); + } else { + deferred[ handler ]( newDefer[ action ] ); + } + }); + }).promise(); + }, + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + if ( obj == null ) { + if ( promise ) { + return promise; + } + promise = obj = {}; + } + var i = promiseMethods.length; + while( i-- ) { + obj[ promiseMethods[i] ] = deferred[ promiseMethods[i] ]; + } + return obj; + } + }); + // Make sure only one callback list will be used + deferred.done( failDeferred.cancel ).fail( deferred.cancel ); + // Unexpose cancel + delete deferred.cancel; + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + return deferred; + }, + + // Deferred helper + when: function( firstParam ) { + var args = arguments, + i = 0, + length = args.length, + count = length, + deferred = length <= 1 && firstParam && jQuery.isFunction( firstParam.promise ) ? + firstParam : + jQuery.Deferred(); + function resolveFunc( i ) { + return function( value ) { + args[ i ] = arguments.length > 1 ? sliceDeferred.call( arguments, 0 ) : value; + if ( !( --count ) ) { + // Strange bug in FF4: + // Values changed onto the arguments object sometimes end up as undefined values + // outside the $.when method. Cloning the object into a fresh array solves the issue + deferred.resolveWith( deferred, sliceDeferred.call( args, 0 ) ); + } + }; + } + if ( length > 1 ) { + for( ; i < length; i++ ) { + if ( args[ i ] && jQuery.isFunction( args[ i ].promise ) ) { + args[ i ].promise().then( resolveFunc(i), deferred.reject ); + } else { + --count; + } + } + if ( !count ) { + deferred.resolveWith( deferred, args ); + } + } else if ( deferred !== firstParam ) { + deferred.resolveWith( deferred, length ? [ firstParam ] : [] ); + } + return deferred.promise(); + } +}); + + + +jQuery.support = (function() { + + var div = document.createElement( "div" ), + documentElement = document.documentElement, + all, + a, + select, + opt, + input, + marginDiv, + support, + fragment, + body, + testElementParent, + testElement, + testElementStyle, + tds, + events, + eventName, + i, + isSupported; + + // Preliminary tests + div.setAttribute("className", "t"); + div.innerHTML = "
a"; + + + all = div.getElementsByTagName( "*" ); + a = div.getElementsByTagName( "a" )[ 0 ]; + + // Can't get basic test support + if ( !all || !all.length || !a ) { + return {}; + } + + // First batch of supports tests + select = document.createElement( "select" ); + opt = select.appendChild( document.createElement("option") ); + input = div.getElementsByTagName( "input" )[ 0 ]; + + support = { + // IE strips leading whitespace when .innerHTML is used + leadingWhitespace: ( div.firstChild.nodeType === 3 ), + + // Make sure that tbody elements aren't automatically inserted + // IE will insert them into empty tables + tbody: !div.getElementsByTagName( "tbody" ).length, + + // Make sure that link elements get serialized correctly by innerHTML + // This requires a wrapper element in IE + htmlSerialize: !!div.getElementsByTagName( "link" ).length, + + // Get the style information from getAttribute + // (IE uses .cssText instead) + style: /top/.test( a.getAttribute("style") ), + + // Make sure that URLs aren't manipulated + // (IE normalizes it by default) + 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 + opacity: /^0.55$/.test( a.style.opacity ), + + // Verify style float existence + // (IE uses styleFloat instead of cssFloat) + cssFloat: !!a.style.cssFloat, + + // Make sure that if no value is specified for a checkbox + // that it defaults to "on". + // (WebKit defaults to "" instead) + checkOn: ( input.value === "on" ), + + // 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) + optSelected: opt.selected, + + // Test setAttribute on camelCase class. If it works, we need attrFixes when doing get/setAttribute (ie6/7) + getSetAttribute: div.className !== "t", + + // Will be defined later + submitBubbles: true, + changeBubbles: true, + focusinBubbles: false, + deleteExpando: true, + noCloneEvent: true, + inlineBlockNeedsLayout: false, + shrinkWrapBlocks: false, + reliableMarginRight: 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; + + // Test to see if it's possible to delete an expando from an element + // Fails in Internet Explorer + try { + delete div.test; + } catch( e ) { + support.deleteExpando = false; + } + + if ( !div.addEventListener && div.attachEvent && div.fireEvent ) { + div.attachEvent( "onclick", function() { + // Cloning a node shouldn't copy over any + // bound event handlers (IE does this) + support.noCloneEvent = false; + }); + div.cloneNode( true ).fireEvent( "onclick" ); + } + + // Check if a radio maintains it's value + // after being appended to the DOM + input = document.createElement("input"); + input.value = "t"; + input.setAttribute("type", "radio"); + support.radioValue = input.value === "t"; + + input.setAttribute("checked", "checked"); + div.appendChild( input ); + fragment = document.createDocumentFragment(); + fragment.appendChild( div.firstChild ); + + // WebKit doesn't clone checked state correctly in fragments + support.checkClone = fragment.cloneNode( true ).cloneNode( true ).lastChild.checked; + + div.innerHTML = ""; + + // Figure out if the W3C box model works as expected + div.style.width = div.style.paddingLeft = "1px"; + + body = document.getElementsByTagName( "body" )[ 0 ]; + // We use our own, invisible, body unless the body is already present + // in which case we use a div (#9239) + testElement = document.createElement( body ? "div" : "body" ); + testElementStyle = { + visibility: "hidden", + width: 0, + height: 0, + border: 0, + margin: 0, + background: "none" + }; + if ( body ) { + jQuery.extend( testElementStyle, { + position: "absolute", + left: "-1000px", + top: "-1000px" + }); + } + for ( i in testElementStyle ) { + testElement.style[ i ] = testElementStyle[ i ]; + } + testElement.appendChild( div ); + testElementParent = body || documentElement; + testElementParent.insertBefore( testElement, testElementParent.firstChild ); + + // Check if a disconnected checkbox will retain its checked + // value of true after appended to the DOM (IE6/7) + support.appendChecked = input.checked; + + support.boxModel = div.offsetWidth === 2; + + if ( "zoom" in div.style ) { + // Check if natively block-level elements act like inline-block + // elements when setting their display to 'inline' and giving + // them layout + // (IE < 8 does this) + div.style.display = "inline"; + div.style.zoom = 1; + support.inlineBlockNeedsLayout = ( div.offsetWidth === 2 ); + + // Check if elements with layout shrink-wrap their children + // (IE 6 does this) + div.style.display = ""; + div.innerHTML = "
"; + support.shrinkWrapBlocks = ( div.offsetWidth !== 2 ); + } + + div.innerHTML = "
t
"; + tds = div.getElementsByTagName( "td" ); + + // 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). + // (only IE 8 fails this test) + isSupported = ( tds[ 0 ].offsetHeight === 0 ); + + tds[ 0 ].style.display = ""; + tds[ 1 ].style.display = "none"; + + // Check if empty table cells still have offsetWidth/Height + // (IE < 8 fail this test) + support.reliableHiddenOffsets = isSupported && ( tds[ 0 ].offsetHeight === 0 ); + div.innerHTML = ""; + + // Check if div with explicit width and no margin-right incorrectly + // gets computed margin-right based on width of container. For more + // info see bug #3333 + // Fails in WebKit before Feb 2011 nightlies + // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right + if ( document.defaultView && document.defaultView.getComputedStyle ) { + marginDiv = document.createElement( "div" ); + marginDiv.style.width = "0"; + marginDiv.style.marginRight = "0"; + div.appendChild( marginDiv ); + support.reliableMarginRight = + ( parseInt( ( document.defaultView.getComputedStyle( marginDiv, null ) || { marginRight: 0 } ).marginRight, 10 ) || 0 ) === 0; + } + + // Remove the body element we added + testElement.innerHTML = ""; + testElementParent.removeChild( testElement ); + + // Technique from Juriy Zaytsev + // http://thinkweb2.com/projects/prototype/detecting-event-support-without-browser-sniffing/ + // We only care about the case where non-standard event systems + // are used, namely in IE. Short-circuiting here helps us to + // avoid an eval call (in setAttribute) which can cause CSP + // to go haywire. See: https://developer.mozilla.org/en/Security/CSP + if ( div.attachEvent ) { + for( i in { + submit: 1, + change: 1, + focusin: 1 + } ) { + eventName = "on" + i; + isSupported = ( eventName in div ); + if ( !isSupported ) { + div.setAttribute( eventName, "return;" ); + isSupported = ( typeof div[ eventName ] === "function" ); + } + support[ i + "Bubbles" ] = isSupported; + } + } + + // Null connected elements to avoid leaks in IE + testElement = fragment = select = opt = body = marginDiv = div = input = null; + + return support; +})(); + +// Keep track of boxModel +jQuery.boxModel = jQuery.support.boxModel; + + + + +var rbrace = /^(?:\{.*\}|\[.*\])$/, + rmultiDash = /([A-Z])/g; + +jQuery.extend({ + cache: {}, + + // Please use with caution + uuid: 0, + + // Unique for each copy of jQuery on the page + // Non-digits removed to match rinlinejQuery + expando: "jQuery" + ( jQuery.fn.jquery + Math.random() ).replace( /\D/g, "" ), + + // The following elements throw uncatchable exceptions if you + // attempt to add expando properties to them. + noData: { + "embed": true, + // Ban all objects except for Flash (which handle expandos) + "object": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000", + "applet": true + }, + + hasData: function( elem ) { + elem = elem.nodeType ? jQuery.cache[ elem[jQuery.expando] ] : elem[ jQuery.expando ]; + + return !!elem && !isEmptyDataObject( elem ); + }, + + data: function( elem, name, data, pvt /* Internal Use Only */ ) { + if ( !jQuery.acceptData( elem ) ) { + return; + } + + var thisCache, ret, + internalKey = jQuery.expando, + getByName = typeof name === "string", + + // 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[ jQuery.expando ] : elem[ jQuery.expando ] && jQuery.expando; + + // 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 || (pvt && id && (cache[ id ] && !cache[ id ][ internalKey ]))) && getByName && data === undefined ) { + 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 ) { + elem[ jQuery.expando ] = id = ++jQuery.uuid; + } else { + id = jQuery.expando; + } + } + + if ( !cache[ id ] ) { + cache[ id ] = {}; + + // TODO: This is a hack for 1.5 ONLY. Avoids exposing jQuery + // metadata on plain JS objects when the object is serialized using + // JSON.stringify + if ( !isNode ) { + cache[ id ].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 ][ internalKey ] = jQuery.extend(cache[ id ][ internalKey ], name); + } else { + cache[ id ] = jQuery.extend(cache[ id ], name); + } + } + + thisCache = cache[ id ]; + + // Internal jQuery data is stored in a separate object inside the object's data + // cache in order to avoid key collisions between internal data and user-defined + // data + if ( pvt ) { + if ( !thisCache[ internalKey ] ) { + thisCache[ internalKey ] = {}; + } + + thisCache = thisCache[ internalKey ]; + } + + if ( data !== undefined ) { + thisCache[ jQuery.camelCase( name ) ] = data; + } + + // TODO: This is a hack for 1.5 ONLY. It will be removed in 1.6. Users should + // not attempt to inspect the internal events object using jQuery.data, as this + // internal data object is undocumented and subject to change. + if ( name === "events" && !thisCache[name] ) { + return thisCache[ internalKey ] && thisCache[ internalKey ].events; + } + + // Check for both converted-to-camel and non-converted data property names + // If a data property was specified + if ( getByName ) { + + // 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; + }, + + removeData: function( elem, name, pvt /* Internal Use Only */ ) { + if ( !jQuery.acceptData( elem ) ) { + return; + } + + var thisCache, + + // Reference to internal data cache key + internalKey = jQuery.expando, + + isNode = elem.nodeType, + + // See jQuery.data for more information + cache = isNode ? jQuery.cache : elem, + + // See jQuery.data for more information + 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 ][ internalKey ] : cache[ id ]; + + if ( thisCache ) { + + // Support interoperable removal of hyphenated or camelcased keys + if ( !thisCache[ name ] ) { + name = jQuery.camelCase( name ); + } + + delete thisCache[ name ]; + + // If there is no data left in the cache, we want to continue + // and let the cache object itself get destroyed + if ( !isEmptyDataObject(thisCache) ) { + return; + } + } + } + + // See jQuery.data for more information + if ( pvt ) { + delete cache[ id ][ internalKey ]; + + // Don't destroy the parent cache unless the internal data object + // had been the only thing left in it + if ( !isEmptyDataObject(cache[ id ]) ) { + return; + } + } + + var internalCache = cache[ id ][ internalKey ]; + + // Browsers that fail expando deletion also refuse to delete expandos on + // the window, but it will allow it on all other JS objects; other browsers + // don't care + // Ensure that `cache` is not a window object #10080 + if ( jQuery.support.deleteExpando || !cache.setInterval ) { + delete cache[ id ]; + } else { + cache[ id ] = null; + } + + // We destroyed the entire user cache at once because it's faster than + // iterating through each key, but we need to continue to persist internal + // data if it existed + if ( internalCache ) { + cache[ id ] = {}; + // TODO: This is a hack for 1.5 ONLY. Avoids exposing jQuery + // metadata on plain JS objects when the object is serialized using + // JSON.stringify + if ( !isNode ) { + cache[ id ].toJSON = jQuery.noop; + } + + cache[ id ][ internalKey ] = internalCache; + + // Otherwise, we need to eliminate the expando on the node to avoid + // false lookups in the cache for entries that no longer exist + } else if ( isNode ) { + // 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 ( jQuery.support.deleteExpando ) { + delete elem[ jQuery.expando ]; + } else if ( elem.removeAttribute ) { + elem.removeAttribute( jQuery.expando ); + } else { + elem[ jQuery.expando ] = null; + } + } + }, + + // For internal use only. + _data: function( elem, name, data ) { + return jQuery.data( elem, name, data, true ); + }, + + // A method for determining if a DOM node can handle the data expando + acceptData: function( elem ) { + if ( elem.nodeName ) { + var match = jQuery.noData[ elem.nodeName.toLowerCase() ]; + + if ( match ) { + return !(match === true || elem.getAttribute("classid") !== match); + } + } + + return true; + } +}); + +jQuery.fn.extend({ + data: function( key, value ) { + var data = null; + + if ( typeof key === "undefined" ) { + if ( this.length ) { + data = jQuery.data( this[0] ); + + if ( this[0].nodeType === 1 ) { + var attr = this[0].attributes, name; + for ( var i = 0, l = attr.length; i < l; i++ ) { + name = attr[i].name; + + if ( name.indexOf( "data-" ) === 0 ) { + name = jQuery.camelCase( name.substring(5) ); + + dataAttr( this[0], name, data[ name ] ); + } + } + } + } + + return data; + + } else if ( typeof key === "object" ) { + return this.each(function() { + jQuery.data( this, key ); + }); + } + + var parts = key.split("."); + parts[1] = parts[1] ? "." + parts[1] : ""; + + if ( value === undefined ) { + data = this.triggerHandler("getData" + parts[1] + "!", [parts[0]]); + + // Try to fetch any internally stored data first + if ( data === undefined && this.length ) { + data = jQuery.data( this[0], key ); + data = dataAttr( this[0], key, data ); + } + + return data === undefined && parts[1] ? + this.data( parts[0] ) : + data; + + } else { + return this.each(function() { + var $this = jQuery( this ), + args = [ parts[0], value ]; + + $this.triggerHandler( "setData" + parts[1] + "!", args ); + jQuery.data( this, key, value ); + $this.triggerHandler( "changeData" + parts[1] + "!", args ); + }); + } + }, + + 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 : + !jQuery.isNaN( data ) ? parseFloat( 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; +} + +// TODO: This is a hack for 1.5 ONLY to allow objects with a single toJSON +// property to be considered empty objects; this property always exists in +// order to make sure JSON.stringify does not expose internal metadata +function isEmptyDataObject( obj ) { + for ( var name in obj ) { + if ( name !== "toJSON" ) { + return false; + } + } + + return true; +} + + + + +function handleQueueMarkDefer( elem, type, src ) { + var deferDataKey = type + "defer", + queueDataKey = type + "queue", + markDataKey = type + "mark", + defer = jQuery.data( elem, deferDataKey, undefined, true ); + if ( defer && + ( src === "queue" || !jQuery.data( elem, queueDataKey, undefined, true ) ) && + ( src === "mark" || !jQuery.data( elem, markDataKey, undefined, true ) ) ) { + // Give room for hard-coded callbacks to fire first + // and eventually mark/queue something else on the element + setTimeout( function() { + if ( !jQuery.data( elem, queueDataKey, undefined, true ) && + !jQuery.data( elem, markDataKey, undefined, true ) ) { + jQuery.removeData( elem, deferDataKey, true ); + defer.resolve(); + } + }, 0 ); + } +} + +jQuery.extend({ + + _mark: function( elem, type ) { + if ( elem ) { + type = (type || "fx") + "mark"; + jQuery.data( elem, type, (jQuery.data(elem,type,undefined,true) || 0) + 1, true ); + } + }, + + _unmark: function( force, elem, type ) { + if ( force !== true ) { + type = elem; + elem = force; + force = false; + } + if ( elem ) { + type = type || "fx"; + var key = type + "mark", + count = force ? 0 : ( (jQuery.data( elem, key, undefined, true) || 1 ) - 1 ); + if ( count ) { + jQuery.data( elem, key, count, true ); + } else { + jQuery.removeData( elem, key, true ); + handleQueueMarkDefer( elem, type, "mark" ); + } + } + }, + + queue: function( elem, type, data ) { + if ( elem ) { + type = (type || "fx") + "queue"; + var q = jQuery.data( elem, type, undefined, true ); + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !q || jQuery.isArray(data) ) { + q = jQuery.data( elem, type, jQuery.makeArray(data), true ); + } else { + q.push( data ); + } + } + return q || []; + } + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + fn = queue.shift(), + defer; + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + } + + if ( fn ) { + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift("inprogress"); + } + + fn.call(elem, function() { + jQuery.dequeue(elem, type); + }); + } + + if ( !queue.length ) { + jQuery.removeData( elem, type + "queue", true ); + handleQueueMarkDefer( elem, type, "queue" ); + } + } +}); + +jQuery.fn.extend({ + queue: function( type, data ) { + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + } + + if ( data === undefined ) { + return jQuery.queue( this[0], type ); + } + return this.each(function() { + var queue = jQuery.queue( this, type, data ); + + 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() { + var elem = this; + setTimeout(function() { + jQuery.dequeue( elem, type ); + }, time ); + }); + }, + 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, object ) { + if ( typeof type !== "string" ) { + object = type; + type = undefined; + } + type = type || "fx"; + var defer = jQuery.Deferred(), + elements = this, + i = elements.length, + count = 1, + deferDataKey = type + "defer", + queueDataKey = type + "queue", + markDataKey = type + "mark", + tmp; + function resolve() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + } + while( i-- ) { + if (( tmp = jQuery.data( elements[ i ], deferDataKey, undefined, true ) || + ( jQuery.data( elements[ i ], queueDataKey, undefined, true ) || + jQuery.data( elements[ i ], markDataKey, undefined, true ) ) && + jQuery.data( elements[ i ], deferDataKey, jQuery._Deferred(), true ) )) { + count++; + tmp.done( resolve ); + } + } + resolve(); + return defer.promise(); + } +}); + + + + +var rclass = /[\n\t\r]/g, + rspace = /\s+/, + rreturn = /\r/g, + rtype = /^(?:button|input)$/i, + rfocusable = /^(?:button|input|object|select|textarea)$/i, + rclickable = /^a(?:rea)?$/i, + rboolean = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i, + nodeHook, boolHook; + +jQuery.fn.extend({ + attr: function( name, value ) { + return jQuery.access( this, name, value, true, jQuery.attr ); + }, + + removeAttr: function( name ) { + return this.each(function() { + jQuery.removeAttr( this, name ); + }); + }, + + prop: function( name, value ) { + return jQuery.access( this, name, value, true, jQuery.prop ); + }, + + 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 classNames, i, l, elem, + setClass, c, cl; + + if ( jQuery.isFunction( value ) ) { + return this.each(function( j ) { + jQuery( this ).addClass( value.call(this, j, this.className) ); + }); + } + + if ( value && typeof value === "string" ) { + classNames = value.split( rspace ); + + for ( i = 0, l = this.length; i < l; i++ ) { + elem = this[ i ]; + + if ( elem.nodeType === 1 ) { + if ( !elem.className && classNames.length === 1 ) { + elem.className = value; + + } else { + setClass = " " + elem.className + " "; + + for ( c = 0, cl = classNames.length; c < cl; c++ ) { + if ( !~setClass.indexOf( " " + classNames[ c ] + " " ) ) { + setClass += classNames[ c ] + " "; + } + } + elem.className = jQuery.trim( setClass ); + } + } + } + } + + return this; + }, + + removeClass: function( value ) { + var classNames, i, l, elem, className, c, cl; + + if ( jQuery.isFunction( value ) ) { + return this.each(function( j ) { + jQuery( this ).removeClass( value.call(this, j, this.className) ); + }); + } + + if ( (value && typeof value === "string") || value === undefined ) { + classNames = (value || "").split( rspace ); + + for ( i = 0, l = this.length; i < l; i++ ) { + elem = this[ i ]; + + if ( elem.nodeType === 1 && elem.className ) { + if ( value ) { + className = (" " + elem.className + " ").replace( rclass, " " ); + for ( c = 0, cl = classNames.length; c < cl; c++ ) { + className = className.replace(" " + classNames[ c ] + " ", " "); + } + elem.className = jQuery.trim( className ); + + } else { + elem.className = ""; + } + } + } + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + var type = typeof value, + isBool = typeof stateVal === "boolean"; + + 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 ), + state = stateVal, + classNames = value.split( rspace ); + + while ( (className = classNames[ i++ ]) ) { + // check each className given, space seperated list + state = isBool ? state : !self.hasClass( className ); + self[ state ? "addClass" : "removeClass" ]( className ); + } + + } else if ( type === "undefined" || type === "boolean" ) { + if ( this.className ) { + // store className if set + jQuery._data( this, "__className__", this.className ); + } + + // toggle whole className + this.className = this.className || value === false ? "" : jQuery._data( this, "__className__" ) || ""; + } + }); + }, + + hasClass: function( selector ) { + var className = " " + selector + " "; + for ( var i = 0, l = this.length; i < l; i++ ) { + if ( this[i].nodeType === 1 && (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) > -1 ) { + return true; + } + } + + return false; + }, + + val: function( value ) { + var hooks, ret, + elem = this[0]; + + if ( !arguments.length ) { + if ( elem ) { + hooks = jQuery.valHooks[ elem.nodeName.toLowerCase() ] || jQuery.valHooks[ elem.type ]; + + 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 undefined; + } + + var isFunction = jQuery.isFunction( value ); + + return this.each(function( i ) { + var self = jQuery(this), val; + + if ( this.nodeType !== 1 ) { + return; + } + + if ( isFunction ) { + val = value.call( this, i, self.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.nodeName.toLowerCase() ] || jQuery.valHooks[ this.type ]; + + // 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 ) { + // attributes.value is undefined in Blackberry 4.7 but + // uses .value. See #6932 + var val = elem.attributes.value; + return !val || val.specified ? elem.value : elem.text; + } + }, + select: { + get: function( elem ) { + var value, + index = elem.selectedIndex, + values = [], + options = elem.options, + one = elem.type === "select-one"; + + // Nothing was selected + if ( index < 0 ) { + return null; + } + + // Loop through all the selected options + for ( var i = one ? index : 0, max = one ? index + 1 : options.length; i < max; i++ ) { + var option = options[ i ]; + + // Don't return options that are disabled or in a disabled optgroup + if ( option.selected && (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 ); + } + } + + // Fixes Bug #2551 -- select.val() broken in IE after form.reset() + if ( one && !values.length && options.length ) { + return jQuery( options[ index ] ).val(); + } + + return values; + }, + + set: function( elem, value ) { + var values = jQuery.makeArray( value ); + + jQuery(elem).find("option").each(function() { + this.selected = jQuery.inArray( jQuery(this).val(), values ) >= 0; + }); + + if ( !values.length ) { + elem.selectedIndex = -1; + } + return values; + } + } + }, + + attrFn: { + val: true, + css: true, + html: true, + text: true, + data: true, + width: true, + height: true, + offset: true + }, + + attrFix: { + // Always normalize to ensure hook usage + tabindex: "tabIndex" + }, + + attr: function( elem, name, value, pass ) { + var nType = elem.nodeType; + + // don't get/set attributes on text, comment and attribute nodes + if ( !elem || nType === 3 || nType === 8 || nType === 2 ) { + return undefined; + } + + if ( pass && name in jQuery.attrFn ) { + return jQuery( elem )[ name ]( value ); + } + + // Fallback to prop when attributes are not supported + if ( !("getAttribute" in elem) ) { + return jQuery.prop( elem, name, value ); + } + + var ret, hooks, + notxml = nType !== 1 || !jQuery.isXMLDoc( elem ); + + // Normalize the name if needed + if ( notxml ) { + name = jQuery.attrFix[ name ] || name; + + hooks = jQuery.attrHooks[ name ]; + + if ( !hooks ) { + // Use boolHook for boolean attributes + if ( rboolean.test( name ) ) { + hooks = boolHook; + + // Use nodeHook if available( IE6/7 ) + } else if ( nodeHook ) { + hooks = nodeHook; + } + } + } + + if ( value !== undefined ) { + + if ( value === null ) { + jQuery.removeAttr( elem, name ); + return undefined; + + } else if ( hooks && "set" in hooks && notxml && (ret = hooks.set( elem, value, name )) !== undefined ) { + return ret; + + } else { + elem.setAttribute( name, "" + value ); + return value; + } + + } else if ( hooks && "get" in hooks && notxml && (ret = hooks.get( elem, name )) !== null ) { + return ret; + + } else { + + ret = elem.getAttribute( name ); + + // Non-existent attributes return null, we normalize to undefined + return ret === null ? + undefined : + ret; + } + }, + + removeAttr: function( elem, name ) { + var propName; + if ( elem.nodeType === 1 ) { + name = jQuery.attrFix[ name ] || name; + + jQuery.attr( elem, name, "" ); + elem.removeAttribute( name ); + + // Set corresponding property to false for boolean attributes + if ( rboolean.test( name ) && (propName = jQuery.propFix[ name ] || name) in elem ) { + elem[ propName ] = false; + } + } + }, + + attrHooks: { + type: { + set: function( elem, value ) { + // We can't allow the type property to be changed (since it causes problems in IE) + if ( rtype.test( elem.nodeName ) && elem.parentNode ) { + jQuery.error( "type property can't be changed" ); + } else 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 it's default in case type is set after value + // This is for element creation + var val = elem.value; + elem.setAttribute( "type", value ); + if ( val ) { + elem.value = val; + } + return value; + } + } + }, + // Use the value property for back compat + // Use the nodeHook for button elements in IE6/7 (#1954) + value: { + get: function( elem, name ) { + if ( nodeHook && jQuery.nodeName( elem, "button" ) ) { + return nodeHook.get( elem, name ); + } + return name in elem ? + elem.value : + null; + }, + set: function( elem, value, name ) { + if ( nodeHook && jQuery.nodeName( elem, "button" ) ) { + return nodeHook.set( elem, value, name ); + } + // Does not return so that setAttribute is also used + elem.value = value; + } + } + }, + + propFix: { + tabindex: "tabIndex", + readonly: "readOnly", + "for": "htmlFor", + "class": "className", + maxlength: "maxLength", + cellspacing: "cellSpacing", + cellpadding: "cellPadding", + rowspan: "rowSpan", + colspan: "colSpan", + usemap: "useMap", + frameborder: "frameBorder", + contenteditable: "contentEditable" + }, + + prop: function( elem, name, value ) { + var nType = elem.nodeType; + + // don't get/set properties on text, comment and attribute nodes + if ( !elem || nType === 3 || nType === 8 || nType === 2 ) { + return undefined; + } + + var ret, hooks, + 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 ) { + if ( hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ) { + return ret; + + } else { + return (elem[ name ] = value); + } + + } else { + if ( hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== null ) { + return ret; + + } else { + return 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/ + var attributeNode = elem.getAttributeNode("tabindex"); + + return attributeNode && attributeNode.specified ? + parseInt( attributeNode.value, 10 ) : + rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName ) && elem.href ? + 0 : + undefined; + } + } + } +}); + +// Add the tabindex propHook to attrHooks for back-compat +jQuery.attrHooks.tabIndex = jQuery.propHooks.tabIndex; + +// Hook for boolean attributes +boolHook = { + get: function( elem, name ) { + // Align boolean attributes with corresponding properties + // Fall back to attribute presence where some booleans are not supported + var attrNode; + return jQuery.prop( elem, name ) === true || ( attrNode = elem.getAttributeNode( name ) ) && attrNode.nodeValue !== false ? + name.toLowerCase() : + undefined; + }, + set: function( elem, value, name ) { + var propName; + if ( value === false ) { + // Remove boolean attributes when set to false + jQuery.removeAttr( elem, name ); + } else { + // value is true since we know at this point it's type boolean and not false + // Set boolean attributes to the same name and set the DOM property + propName = jQuery.propFix[ name ] || name; + if ( propName in elem ) { + // Only set the IDL specifically if it already exists on the element + elem[ propName ] = true; + } + + elem.setAttribute( name, name.toLowerCase() ); + } + return name; + } +}; + +// IE6/7 do not support getting/setting some attributes with get/setAttribute +if ( !jQuery.support.getSetAttribute ) { + + // Use this for any attribute in IE6/7 + // This fixes almost every IE6/7 issue + nodeHook = jQuery.valHooks.button = { + get: function( elem, name ) { + var ret; + ret = elem.getAttributeNode( name ); + // Return undefined if nodeValue is empty string + return ret && ret.nodeValue !== "" ? + ret.nodeValue : + undefined; + }, + set: function( elem, value, name ) { + // Set the existing or create a new attribute node + var ret = elem.getAttributeNode( name ); + if ( !ret ) { + ret = document.createAttribute( name ); + elem.setAttributeNode( ret ); + } + return (ret.nodeValue = value + ""); + } + }; + + // 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 ] = jQuery.extend( jQuery.attrHooks[ name ], { + set: function( elem, value ) { + if ( value === "" ) { + elem.setAttribute( name, "auto" ); + return value; + } + } + }); + }); +} + + +// Some attributes require a special call on IE +if ( !jQuery.support.hrefNormalized ) { + jQuery.each([ "href", "src", "width", "height" ], function( i, name ) { + jQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], { + get: function( elem ) { + var ret = elem.getAttribute( name, 2 ); + return ret === null ? undefined : ret; + } + }); + }); +} + +if ( !jQuery.support.style ) { + jQuery.attrHooks.style = { + get: function( elem ) { + // Return undefined in the case of empty string + // Normalize to lowercase since IE uppercases css property names + return elem.style.cssText.toLowerCase() || 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 = jQuery.extend( 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; + } + }); +} + +// Radios and checkboxes getter/setter +if ( !jQuery.support.checkOn ) { + jQuery.each([ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = { + get: function( elem ) { + // Handle the case where in Webkit "" is returned instead of "on" if a value isn't specified + return elem.getAttribute("value") === null ? "on" : elem.value; + } + }; + }); +} +jQuery.each([ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = jQuery.extend( jQuery.valHooks[ this ], { + set: function( elem, value ) { + if ( jQuery.isArray( value ) ) { + return (elem.checked = jQuery.inArray( jQuery(elem).val(), value ) >= 0); + } + } + }); +}); + + + + +var rnamespaces = /\.(.*)$/, + rformElems = /^(?:textarea|input|select)$/i, + rperiod = /\./g, + rspaces = / /g, + rescape = /[^\w\s.|`]/g, + fcleanup = function( nm ) { + return nm.replace(rescape, "\\$&"); + }; + +/* + * A number of helper functions used for managing events. + * Many of the ideas behind this code originated from + * Dean Edwards' addEvent library. + */ +jQuery.event = { + + // Bind an event to an element + // Original by Dean Edwards + add: function( elem, types, handler, data ) { + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + if ( handler === false ) { + handler = returnFalse; + } else if ( !handler ) { + // Fixes bug #7229. Fix recommended by jdalton + return; + } + + var handleObjIn, handleObj; + + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + } + + // Make sure that the function being executed has a unique ID + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure + var elemData = jQuery._data( elem ); + + // If no elemData is found then we must be trying to bind to one of the + // banned noData elements + if ( !elemData ) { + return; + } + + var events = elemData.events, + eventHandle = elemData.handle; + + if ( !events ) { + elemData.events = events = {}; + } + + if ( !eventHandle ) { + elemData.handle = eventHandle = 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 !== "undefined" && (!e || jQuery.event.triggered !== e.type) ? + jQuery.event.handle.apply( eventHandle.elem, arguments ) : + undefined; + }; + } + + // Add elem as a property of the handle function + // This is to prevent a memory leak with non-native events in IE. + eventHandle.elem = elem; + + // Handle multiple events separated by a space + // jQuery(...).bind("mouseover mouseout", fn); + types = types.split(" "); + + var type, i = 0, namespaces; + + while ( (type = types[ i++ ]) ) { + handleObj = handleObjIn ? + jQuery.extend({}, handleObjIn) : + { handler: handler, data: data }; + + // Namespaced event handlers + if ( type.indexOf(".") > -1 ) { + namespaces = type.split("."); + type = namespaces.shift(); + handleObj.namespace = namespaces.slice(0).sort().join("."); + + } else { + namespaces = []; + handleObj.namespace = ""; + } + + handleObj.type = type; + if ( !handleObj.guid ) { + handleObj.guid = handler.guid; + } + + // Get the current list of functions bound to this event + var handlers = events[ type ], + special = jQuery.event.special[ type ] || {}; + + // Init the event handler queue + if ( !handlers ) { + handlers = events[ type ] = []; + + // Check for a special event handler + // 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 the function to the element's handler list + handlers.push( handleObj ); + + // Keep track of which events have been used, for event optimization + jQuery.event.global[ type ] = true; + } + + // Nullify elem to prevent memory leaks in IE + elem = null; + }, + + global: {}, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, pos ) { + // don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + if ( handler === false ) { + handler = returnFalse; + } + + var ret, type, fn, j, i = 0, all, namespaces, namespace, special, eventType, handleObj, origType, + elemData = jQuery.hasData( elem ) && jQuery._data( elem ), + events = elemData && elemData.events; + + if ( !elemData || !events ) { + return; + } + + // types is actually an event object here + if ( types && types.type ) { + handler = types.handler; + types = types.type; + } + + // Unbind all events for the element + if ( !types || typeof types === "string" && types.charAt(0) === "." ) { + types = types || ""; + + for ( type in events ) { + jQuery.event.remove( elem, type + types ); + } + + return; + } + + // Handle multiple events separated by a space + // jQuery(...).unbind("mouseover mouseout", fn); + types = types.split(" "); + + while ( (type = types[ i++ ]) ) { + origType = type; + handleObj = null; + all = type.indexOf(".") < 0; + namespaces = []; + + if ( !all ) { + // Namespaced event handlers + namespaces = type.split("."); + type = namespaces.shift(); + + namespace = new RegExp("(^|\\.)" + + jQuery.map( namespaces.slice(0).sort(), fcleanup ).join("\\.(?:.*\\.)?") + "(\\.|$)"); + } + + eventType = events[ type ]; + + if ( !eventType ) { + continue; + } + + if ( !handler ) { + for ( j = 0; j < eventType.length; j++ ) { + handleObj = eventType[ j ]; + + if ( all || namespace.test( handleObj.namespace ) ) { + jQuery.event.remove( elem, origType, handleObj.handler, j ); + eventType.splice( j--, 1 ); + } + } + + continue; + } + + special = jQuery.event.special[ type ] || {}; + + for ( j = pos || 0; j < eventType.length; j++ ) { + handleObj = eventType[ j ]; + + if ( handler.guid === handleObj.guid ) { + // remove the given handler for the given type + if ( all || namespace.test( handleObj.namespace ) ) { + if ( pos == null ) { + eventType.splice( j--, 1 ); + } + + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + + if ( pos != null ) { + break; + } + } + } + + // remove generic event handler if no more handlers exist + if ( eventType.length === 0 || pos != null && eventType.length === 1 ) { + if ( !special.teardown || special.teardown.call( elem, namespaces ) === false ) { + jQuery.removeEvent( elem, type, elemData.handle ); + } + + ret = null; + delete events[ type ]; + } + } + + // Remove the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + var handle = elemData.handle; + if ( handle ) { + handle.elem = null; + } + + delete elemData.events; + delete elemData.handle; + + if ( jQuery.isEmptyObject( elemData ) ) { + jQuery.removeData( elem, undefined, true ); + } + } + }, + + // Events that are safe to short-circuit if no handlers are attached. + // Native DOM events should not be added, they may have inline handlers. + customEvent: { + "getData": true, + "setData": true, + "changeData": true + }, + + trigger: function( event, data, elem, onlyHandlers ) { + // Event object or event type + var type = event.type || event, + namespaces = [], + exclusive; + + if ( type.indexOf("!") >= 0 ) { + // Exclusive events trigger only for the exact event (no namespaces) + type = type.slice(0, -1); + exclusive = true; + } + + if ( type.indexOf(".") >= 0 ) { + // Namespaced trigger; create a regexp to match event type in handle() + namespaces = type.split("."); + type = namespaces.shift(); + namespaces.sort(); + } + + if ( (!elem || jQuery.event.customEvent[ type ]) && !jQuery.event.global[ type ] ) { + // No jQuery handlers for this event type, and it can't have inline handlers + return; + } + + // Caller can pass in an Event, Object, or just an event type string + event = typeof event === "object" ? + // jQuery.Event object + event[ jQuery.expando ] ? event : + // Object literal + new jQuery.Event( type, event ) : + // Just the event type (string) + new jQuery.Event( type ); + + event.type = type; + event.exclusive = exclusive; + event.namespace = namespaces.join("."); + event.namespace_re = new RegExp("(^|\\.)" + namespaces.join("\\.(?:.*\\.)?") + "(\\.|$)"); + + // triggerHandler() and global events don't bubble or run the default action + if ( onlyHandlers || !elem ) { + event.preventDefault(); + event.stopPropagation(); + } + + // Handle a global trigger + if ( !elem ) { + // TODO: Stop taunting the data cache; remove global events and always attach to document + jQuery.each( jQuery.cache, function() { + // internalKey variable is just used to make it easier to find + // and potentially change this stuff later; currently it just + // points to jQuery.expando + var internalKey = jQuery.expando, + internalCache = this[ internalKey ]; + if ( internalCache && internalCache.events && internalCache.events[ type ] ) { + jQuery.event.trigger( event, data, internalCache.handle.elem ); + } + }); + return; + } + + // Don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + // Clean up the event in case it is being reused + event.result = undefined; + event.target = elem; + + // Clone any incoming data and prepend the event, creating the handler arg list + data = data != null ? jQuery.makeArray( data ) : []; + data.unshift( event ); + + var cur = elem, + // IE doesn't like method names with a colon (#3533, #8272) + ontype = type.indexOf(":") < 0 ? "on" + type : ""; + + // Fire event on the current element, then bubble up the DOM tree + do { + var handle = jQuery._data( cur, "handle" ); + + event.currentTarget = cur; + if ( handle ) { + handle.apply( cur, data ); + } + + // Trigger an inline bound script + if ( ontype && jQuery.acceptData( cur ) && cur[ ontype ] && cur[ ontype ].apply( cur, data ) === false ) { + event.result = false; + event.preventDefault(); + } + + // Bubble up to document, then to window + cur = cur.parentNode || cur.ownerDocument || cur === event.target.ownerDocument && window; + } while ( cur && !event.isPropagationStopped() ); + + // If nobody prevented the default action, do it now + if ( !event.isDefaultPrevented() ) { + var old, + special = jQuery.event.special[ type ] || {}; + + if ( (!special._default || special._default.call( elem.ownerDocument, event ) === false) && + !(type === "click" && jQuery.nodeName( elem, "a" )) && 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. + // IE<9 dies on focus to hidden element (#1486), may want to revisit a try/catch. + try { + if ( ontype && elem[ type ] ) { + // Don't re-trigger an onFOO event when we call its FOO() method + old = elem[ ontype ]; + + if ( old ) { + elem[ ontype ] = null; + } + + jQuery.event.triggered = type; + elem[ type ](); + } + } catch ( ieError ) {} + + if ( old ) { + elem[ ontype ] = old; + } + + jQuery.event.triggered = undefined; + } + } + + return event.result; + }, + + handle: function( event ) { + event = jQuery.event.fix( event || window.event ); + // Snapshot the handlers list since a called handler may add/remove events. + var handlers = ((jQuery._data( this, "events" ) || {})[ event.type ] || []).slice(0), + run_all = !event.exclusive && !event.namespace, + args = Array.prototype.slice.call( arguments, 0 ); + + // Use the fix-ed Event rather than the (read-only) native event + args[0] = event; + event.currentTarget = this; + + for ( var j = 0, l = handlers.length; j < l; j++ ) { + var handleObj = handlers[ j ]; + + // Triggered event must 1) be non-exclusive and have no namespace, or + // 2) have namespace(s) a subset or equal to those in the bound event. + if ( run_all || event.namespace_re.test( handleObj.namespace ) ) { + // Pass in a reference to the handler function itself + // So that we can later remove it + event.handler = handleObj.handler; + event.data = handleObj.data; + event.handleObj = handleObj; + + var ret = handleObj.handler.apply( this, args ); + + if ( ret !== undefined ) { + event.result = ret; + if ( ret === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + + if ( event.isImmediatePropagationStopped() ) { + break; + } + } + } + return event.result; + }, + + props: "altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "), + + fix: function( event ) { + if ( event[ jQuery.expando ] ) { + return event; + } + + // store a copy of the original event object + // and "clone" to set read-only properties + var originalEvent = event; + event = jQuery.Event( originalEvent ); + + for ( var i = this.props.length, prop; i; ) { + prop = this.props[ --i ]; + event[ prop ] = originalEvent[ prop ]; + } + + // Fix target property, if necessary + if ( !event.target ) { + // Fixes #1925 where srcElement might not be defined either + event.target = event.srcElement || document; + } + + // check if target is a textnode (safari) + if ( event.target.nodeType === 3 ) { + event.target = event.target.parentNode; + } + + // Add relatedTarget, if necessary + if ( !event.relatedTarget && event.fromElement ) { + event.relatedTarget = event.fromElement === event.target ? event.toElement : event.fromElement; + } + + // Calculate pageX/Y if missing and clientX/Y available + if ( event.pageX == null && event.clientX != null ) { + var eventDocument = event.target.ownerDocument || document, + doc = eventDocument.documentElement, + body = eventDocument.body; + + event.pageX = event.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc && doc.clientLeft || body && body.clientLeft || 0); + event.pageY = event.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc && doc.clientTop || body && body.clientTop || 0); + } + + // Add which for key events + if ( event.which == null && (event.charCode != null || event.keyCode != null) ) { + event.which = event.charCode != null ? event.charCode : event.keyCode; + } + + // Add metaKey to non-Mac browsers (use ctrl for PC's and Meta for Macs) + if ( !event.metaKey && event.ctrlKey ) { + event.metaKey = event.ctrlKey; + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + // Note: button is not normalized, so don't use it + if ( !event.which && event.button !== undefined ) { + event.which = (event.button & 1 ? 1 : ( event.button & 2 ? 3 : ( event.button & 4 ? 2 : 0 ) )); + } + + return event; + }, + + // Deprecated, use jQuery.guid instead + guid: 1E8, + + // Deprecated, use jQuery.proxy instead + proxy: jQuery.proxy, + + special: { + ready: { + // Make sure the ready event is setup + setup: jQuery.bindReady, + teardown: jQuery.noop + }, + + live: { + add: function( handleObj ) { + jQuery.event.add( this, + liveConvert( handleObj.origType, handleObj.selector ), + jQuery.extend({}, handleObj, {handler: liveHandler, guid: handleObj.handler.guid}) ); + }, + + remove: function( handleObj ) { + jQuery.event.remove( this, liveConvert( handleObj.origType, handleObj.selector ), handleObj ); + } + }, + + beforeunload: { + setup: function( data, namespaces, eventHandle ) { + // We only want to do this special case on windows + if ( jQuery.isWindow( this ) ) { + this.onbeforeunload = eventHandle; + } + }, + + teardown: function( namespaces, eventHandle ) { + if ( this.onbeforeunload === eventHandle ) { + this.onbeforeunload = null; + } + } + } + } +}; + +jQuery.removeEvent = document.removeEventListener ? + function( elem, type, handle ) { + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle, false ); + } + } : + function( elem, type, handle ) { + if ( elem.detachEvent ) { + elem.detachEvent( "on" + type, handle ); + } + }; + +jQuery.Event = function( src, props ) { + // Allow instantiation without the 'new' keyword + if ( !this.preventDefault ) { + 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 ); + } + + // timeStamp is buggy for some events on Firefox(#3843) + // So we won't rely on the native value + this.timeStamp = jQuery.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +function returnFalse() { + return false; +} +function returnTrue() { + return 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 = { + preventDefault: function() { + this.isDefaultPrevented = returnTrue; + + var e = this.originalEvent; + if ( !e ) { + return; + } + + // if preventDefault exists run it on the original event + if ( e.preventDefault ) { + e.preventDefault(); + + // otherwise set the returnValue property of the original event to false (IE) + } else { + e.returnValue = false; + } + }, + stopPropagation: function() { + this.isPropagationStopped = returnTrue; + + var e = this.originalEvent; + if ( !e ) { + return; + } + // if stopPropagation exists run it on the original event + if ( e.stopPropagation ) { + e.stopPropagation(); + } + // otherwise set the cancelBubble property of the original event to true (IE) + e.cancelBubble = true; + }, + stopImmediatePropagation: function() { + this.isImmediatePropagationStopped = returnTrue; + this.stopPropagation(); + }, + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse +}; + +// Checks if an event happened on an element within another element +// Used in jQuery.event.special.mouseenter and mouseleave handlers +var withinElement = function( event ) { + + // Check if mouse(over|out) are still within the same parent element + var related = event.relatedTarget, + inside = false, + eventType = event.type; + + event.type = event.data; + + if ( related !== this ) { + + if ( related ) { + inside = jQuery.contains( this, related ); + } + + if ( !inside ) { + + jQuery.event.handle.apply( this, arguments ); + + event.type = eventType; + } + } +}, + +// In case of event delegation, we only need to rename the event.type, +// liveHandler will take care of the rest. +delegate = function( event ) { + event.type = event.data; + jQuery.event.handle.apply( this, arguments ); +}; + +// Create mouseenter and mouseleave events +jQuery.each({ + mouseenter: "mouseover", + mouseleave: "mouseout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + setup: function( data ) { + jQuery.event.add( this, fix, data && data.selector ? delegate : withinElement, orig ); + }, + teardown: function( data ) { + jQuery.event.remove( this, fix, data && data.selector ? delegate : withinElement ); + } + }; +}); + +// submit delegation +if ( !jQuery.support.submitBubbles ) { + + jQuery.event.special.submit = { + setup: function( data, namespaces ) { + if ( !jQuery.nodeName( this, "form" ) ) { + jQuery.event.add(this, "click.specialSubmit", function( e ) { + // Avoid triggering error on non-existent type attribute in IE VML (#7071) + var elem = e.target, + type = jQuery.nodeName( elem, "input" ) || jQuery.nodeName( elem, "button" ) ? elem.type : ""; + + if ( (type === "submit" || type === "image") && jQuery( elem ).closest("form").length ) { + trigger( "submit", this, arguments ); + } + }); + + jQuery.event.add(this, "keypress.specialSubmit", function( e ) { + var elem = e.target, + type = jQuery.nodeName( elem, "input" ) || jQuery.nodeName( elem, "button" ) ? elem.type : ""; + + if ( (type === "text" || type === "password") && jQuery( elem ).closest("form").length && e.keyCode === 13 ) { + trigger( "submit", this, arguments ); + } + }); + + } else { + return false; + } + }, + + teardown: function( namespaces ) { + jQuery.event.remove( this, ".specialSubmit" ); + } + }; + +} + +// change delegation, happens here so we have bind. +if ( !jQuery.support.changeBubbles ) { + + var changeFilters, + + getVal = function( elem ) { + var type = jQuery.nodeName( elem, "input" ) ? elem.type : "", + val = elem.value; + + if ( type === "radio" || type === "checkbox" ) { + val = elem.checked; + + } else if ( type === "select-multiple" ) { + val = elem.selectedIndex > -1 ? + jQuery.map( elem.options, function( elem ) { + return elem.selected; + }).join("-") : + ""; + + } else if ( jQuery.nodeName( elem, "select" ) ) { + val = elem.selectedIndex; + } + + return val; + }, + + testChange = function testChange( e ) { + var elem = e.target, data, val; + + if ( !rformElems.test( elem.nodeName ) || elem.readOnly ) { + return; + } + + data = jQuery._data( elem, "_change_data" ); + val = getVal(elem); + + // the current data will be also retrieved by beforeactivate + if ( e.type !== "focusout" || elem.type !== "radio" ) { + jQuery._data( elem, "_change_data", val ); + } + + if ( data === undefined || val === data ) { + return; + } + + if ( data != null || val ) { + e.type = "change"; + e.liveFired = undefined; + jQuery.event.trigger( e, arguments[1], elem ); + } + }; + + jQuery.event.special.change = { + filters: { + focusout: testChange, + + beforedeactivate: testChange, + + click: function( e ) { + var elem = e.target, type = jQuery.nodeName( elem, "input" ) ? elem.type : ""; + + if ( type === "radio" || type === "checkbox" || jQuery.nodeName( elem, "select" ) ) { + testChange.call( this, e ); + } + }, + + // Change has to be called before submit + // Keydown will be called before keypress, which is used in submit-event delegation + keydown: function( e ) { + var elem = e.target, type = jQuery.nodeName( elem, "input" ) ? elem.type : ""; + + if ( (e.keyCode === 13 && !jQuery.nodeName( elem, "textarea" ) ) || + (e.keyCode === 32 && (type === "checkbox" || type === "radio")) || + type === "select-multiple" ) { + testChange.call( this, e ); + } + }, + + // Beforeactivate happens also before the previous element is blurred + // with this event you can't trigger a change event, but you can store + // information + beforeactivate: function( e ) { + var elem = e.target; + jQuery._data( elem, "_change_data", getVal(elem) ); + } + }, + + setup: function( data, namespaces ) { + if ( this.type === "file" ) { + return false; + } + + for ( var type in changeFilters ) { + jQuery.event.add( this, type + ".specialChange", changeFilters[type] ); + } + + return rformElems.test( this.nodeName ); + }, + + teardown: function( namespaces ) { + jQuery.event.remove( this, ".specialChange" ); + + return rformElems.test( this.nodeName ); + } + }; + + changeFilters = jQuery.event.special.change.filters; + + // Handle when the input is .focus()'d + changeFilters.focus = changeFilters.beforeactivate; +} + +function trigger( type, elem, args ) { + // 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. + // Don't pass args or remember liveFired; they apply to the donor event. + var event = jQuery.extend( {}, args[ 0 ] ); + event.type = type; + event.originalEvent = {}; + event.liveFired = undefined; + jQuery.event.handle.call( elem, event ); + if ( event.isDefaultPrevented() ) { + args[ 0 ].preventDefault(); + } +} + +// 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; + + jQuery.event.special[ fix ] = { + setup: function() { + if ( attaches++ === 0 ) { + document.addEventListener( orig, handler, true ); + } + }, + teardown: function() { + if ( --attaches === 0 ) { + document.removeEventListener( orig, handler, true ); + } + } + }; + + function handler( donor ) { + // Donor event is always a native one; fix it and switch its type. + // Let focusin/out handler cancel the donor focus/blur event. + var e = jQuery.event.fix( donor ); + e.type = fix; + e.originalEvent = {}; + jQuery.event.trigger( e, null, e.target ); + if ( e.isDefaultPrevented() ) { + donor.preventDefault(); + } + } + }); +} + +jQuery.each(["bind", "one"], function( i, name ) { + jQuery.fn[ name ] = function( type, data, fn ) { + var handler; + + // Handle object literals + if ( typeof type === "object" ) { + for ( var key in type ) { + this[ name ](key, data, type[key], fn); + } + return this; + } + + if ( arguments.length === 2 || data === false ) { + fn = data; + data = undefined; + } + + if ( name === "one" ) { + handler = function( event ) { + jQuery( this ).unbind( event, handler ); + return fn.apply( this, arguments ); + }; + handler.guid = fn.guid || jQuery.guid++; + } else { + handler = fn; + } + + if ( type === "unload" && name !== "one" ) { + this.one( type, data, fn ); + + } else { + for ( var i = 0, l = this.length; i < l; i++ ) { + jQuery.event.add( this[i], type, handler, data ); + } + } + + return this; + }; +}); + +jQuery.fn.extend({ + unbind: function( type, fn ) { + // Handle object literals + if ( typeof type === "object" && !type.preventDefault ) { + for ( var key in type ) { + this.unbind(key, type[key]); + } + + } else { + for ( var i = 0, l = this.length; i < l; i++ ) { + jQuery.event.remove( this[i], type, fn ); + } + } + + return this; + }, + + delegate: function( selector, types, data, fn ) { + return this.live( types, data, fn, selector ); + }, + + undelegate: function( selector, types, fn ) { + if ( arguments.length === 0 ) { + return this.unbind( "live" ); + + } else { + return this.die( types, null, fn, selector ); + } + }, + + trigger: function( type, data ) { + return this.each(function() { + jQuery.event.trigger( type, data, this ); + }); + }, + + triggerHandler: function( type, data ) { + if ( this[0] ) { + return jQuery.event.trigger( type, data, this[0], true ); + } + }, + + toggle: function( fn ) { + // Save reference to arguments for access in closure + var args = arguments, + guid = fn.guid || jQuery.guid++, + i = 0, + toggler = function( event ) { + // Figure out which function to execute + var lastToggle = ( jQuery.data( this, "lastToggle" + fn.guid ) || 0 ) % i; + jQuery.data( this, "lastToggle" + fn.guid, lastToggle + 1 ); + + // Make sure that clicks stop + event.preventDefault(); + + // and execute the function + return args[ lastToggle ].apply( this, arguments ) || false; + }; + + // link all the functions, so any of them can unbind this click handler + toggler.guid = guid; + while ( i < args.length ) { + args[ i++ ].guid = guid; + } + + return this.click( toggler ); + }, + + hover: function( fnOver, fnOut ) { + return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); + } +}); + +var liveMap = { + focus: "focusin", + blur: "focusout", + mouseenter: "mouseover", + mouseleave: "mouseout" +}; + +jQuery.each(["live", "die"], function( i, name ) { + jQuery.fn[ name ] = function( types, data, fn, origSelector /* Internal Use Only */ ) { + var type, i = 0, match, namespaces, preType, + selector = origSelector || this.selector, + context = origSelector ? this : jQuery( this.context ); + + if ( typeof types === "object" && !types.preventDefault ) { + for ( var key in types ) { + context[ name ]( key, data, types[key], selector ); + } + + return this; + } + + if ( name === "die" && !types && + origSelector && origSelector.charAt(0) === "." ) { + + context.unbind( origSelector ); + + return this; + } + + if ( data === false || jQuery.isFunction( data ) ) { + fn = data || returnFalse; + data = undefined; + } + + types = (types || "").split(" "); + + while ( (type = types[ i++ ]) != null ) { + match = rnamespaces.exec( type ); + namespaces = ""; + + if ( match ) { + namespaces = match[0]; + type = type.replace( rnamespaces, "" ); + } + + if ( type === "hover" ) { + types.push( "mouseenter" + namespaces, "mouseleave" + namespaces ); + continue; + } + + preType = type; + + if ( liveMap[ type ] ) { + types.push( liveMap[ type ] + namespaces ); + type = type + namespaces; + + } else { + type = (liveMap[ type ] || type) + namespaces; + } + + if ( name === "live" ) { + // bind live handler + for ( var j = 0, l = context.length; j < l; j++ ) { + jQuery.event.add( context[j], "live." + liveConvert( type, selector ), + { data: data, selector: selector, handler: fn, origType: type, origHandler: fn, preType: preType } ); + } + + } else { + // unbind live handler + context.unbind( "live." + liveConvert( type, selector ), fn ); + } + } + + return this; + }; +}); + +function liveHandler( event ) { + var stop, maxLevel, related, match, handleObj, elem, j, i, l, data, close, namespace, ret, + elems = [], + selectors = [], + events = jQuery._data( this, "events" ); + + // Make sure we avoid non-left-click bubbling in Firefox (#3861) and disabled elements in IE (#6911) + if ( event.liveFired === this || !events || !events.live || event.target.disabled || event.button && event.type === "click" ) { + return; + } + + if ( event.namespace ) { + namespace = new RegExp("(^|\\.)" + event.namespace.split(".").join("\\.(?:.*\\.)?") + "(\\.|$)"); + } + + event.liveFired = this; + + var live = events.live.slice(0); + + for ( j = 0; j < live.length; j++ ) { + handleObj = live[j]; + + if ( handleObj.origType.replace( rnamespaces, "" ) === event.type ) { + selectors.push( handleObj.selector ); + + } else { + live.splice( j--, 1 ); + } + } + + match = jQuery( event.target ).closest( selectors, event.currentTarget ); + + for ( i = 0, l = match.length; i < l; i++ ) { + close = match[i]; + + for ( j = 0; j < live.length; j++ ) { + handleObj = live[j]; + + if ( close.selector === handleObj.selector && (!namespace || namespace.test( handleObj.namespace )) && !close.elem.disabled ) { + elem = close.elem; + related = null; + + // Those two events require additional checking + if ( handleObj.preType === "mouseenter" || handleObj.preType === "mouseleave" ) { + event.type = handleObj.preType; + related = jQuery( event.relatedTarget ).closest( handleObj.selector )[0]; + + // Make sure not to accidentally match a child element with the same selector + if ( related && jQuery.contains( elem, related ) ) { + related = elem; + } + } + + if ( !related || related !== elem ) { + elems.push({ elem: elem, handleObj: handleObj, level: close.level }); + } + } + } + } + + for ( i = 0, l = elems.length; i < l; i++ ) { + match = elems[i]; + + if ( maxLevel && match.level > maxLevel ) { + break; + } + + event.currentTarget = match.elem; + event.data = match.handleObj.data; + event.handleObj = match.handleObj; + + ret = match.handleObj.origHandler.apply( match.elem, arguments ); + + if ( ret === false || event.isPropagationStopped() ) { + maxLevel = match.level; + + if ( ret === false ) { + stop = false; + } + if ( event.isImmediatePropagationStopped() ) { + break; + } + } + } + + return stop; +} + +function liveConvert( type, selector ) { + return (type && type !== "*" ? type + "." : "") + selector.replace(rperiod, "`").replace(rspaces, "&"); +} + +jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblclick " + + "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + + "change select submit keydown keypress keyup error").split(" "), function( i, name ) { + + // Handle event binding + jQuery.fn[ name ] = function( data, fn ) { + if ( fn == null ) { + fn = data; + data = null; + } + + return arguments.length > 0 ? + this.bind( name, data, fn ) : + this.trigger( name ); + }; + + if ( jQuery.attrFn ) { + jQuery.attrFn[ name ] = true; + } +}); + + + +/*! + * Sizzle CSS Selector Engine + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * More information: http://sizzlejs.com/ + */ +(function(){ + +var chunker = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g, + done = 0, + toString = Object.prototype.toString, + hasDuplicate = false, + baseHasDuplicate = true, + rBackslash = /\\/g, + rNonWord = /\W/; + +// Here we check if the JavaScript engine is using some sort of +// optimization where it does not always call our comparision +// function. If that is the case, discard the hasDuplicate value. +// Thus far that includes Google Chrome. +[0, 0].sort(function() { + baseHasDuplicate = false; + return 0; +}); + +var Sizzle = function( selector, context, results, seed ) { + results = results || []; + context = context || document; + + var origContext = context; + + if ( context.nodeType !== 1 && context.nodeType !== 9 ) { + return []; + } + + if ( !selector || typeof selector !== "string" ) { + return results; + } + + var m, set, checkSet, extra, ret, cur, pop, i, + prune = true, + contextXML = Sizzle.isXML( context ), + parts = [], + soFar = selector; + + // Reset the position of the chunker regexp (start from head) + do { + chunker.exec( "" ); + m = chunker.exec( soFar ); + + if ( m ) { + soFar = m[3]; + + parts.push( m[1] ); + + if ( m[2] ) { + extra = m[3]; + break; + } + } + } while ( m ); + + if ( parts.length > 1 && origPOS.exec( selector ) ) { + + if ( parts.length === 2 && Expr.relative[ parts[0] ] ) { + set = posProcess( parts[0] + parts[1], context ); + + } else { + set = Expr.relative[ parts[0] ] ? + [ context ] : + Sizzle( parts.shift(), context ); + + while ( parts.length ) { + selector = parts.shift(); + + if ( Expr.relative[ selector ] ) { + selector += parts.shift(); + } + + set = posProcess( selector, set ); + } + } + + } else { + // Take a shortcut and set the context if the root selector is an ID + // (but not if it'll be faster if the inner selector is an ID) + if ( !seed && parts.length > 1 && context.nodeType === 9 && !contextXML && + Expr.match.ID.test(parts[0]) && !Expr.match.ID.test(parts[parts.length - 1]) ) { + + ret = Sizzle.find( parts.shift(), context, contextXML ); + context = ret.expr ? + Sizzle.filter( ret.expr, ret.set )[0] : + ret.set[0]; + } + + if ( context ) { + ret = seed ? + { expr: parts.pop(), set: makeArray(seed) } : + Sizzle.find( parts.pop(), parts.length === 1 && (parts[0] === "~" || parts[0] === "+") && context.parentNode ? context.parentNode : context, contextXML ); + + set = ret.expr ? + Sizzle.filter( ret.expr, ret.set ) : + ret.set; + + if ( parts.length > 0 ) { + checkSet = makeArray( set ); + + } else { + prune = false; + } + + while ( parts.length ) { + cur = parts.pop(); + pop = cur; + + if ( !Expr.relative[ cur ] ) { + cur = ""; + } else { + pop = parts.pop(); + } + + if ( pop == null ) { + pop = context; + } + + Expr.relative[ cur ]( checkSet, pop, contextXML ); + } + + } else { + checkSet = parts = []; + } + } + + if ( !checkSet ) { + checkSet = set; + } + + if ( !checkSet ) { + Sizzle.error( cur || selector ); + } + + if ( toString.call(checkSet) === "[object Array]" ) { + if ( !prune ) { + results.push.apply( results, checkSet ); + + } else if ( context && context.nodeType === 1 ) { + for ( i = 0; checkSet[i] != null; i++ ) { + if ( checkSet[i] && (checkSet[i] === true || checkSet[i].nodeType === 1 && Sizzle.contains(context, checkSet[i])) ) { + results.push( set[i] ); + } + } + + } else { + for ( i = 0; checkSet[i] != null; i++ ) { + if ( checkSet[i] && checkSet[i].nodeType === 1 ) { + results.push( set[i] ); + } + } + } + + } else { + makeArray( checkSet, results ); + } + + if ( extra ) { + Sizzle( extra, origContext, results, seed ); + Sizzle.uniqueSort( results ); + } + + return results; +}; + +Sizzle.uniqueSort = function( results ) { + if ( sortOrder ) { + hasDuplicate = baseHasDuplicate; + results.sort( sortOrder ); + + if ( hasDuplicate ) { + for ( var i = 1; i < results.length; i++ ) { + if ( results[i] === results[ i - 1 ] ) { + results.splice( i--, 1 ); + } + } + } + } + + return results; +}; + +Sizzle.matches = function( expr, set ) { + return Sizzle( expr, null, null, set ); +}; + +Sizzle.matchesSelector = function( node, expr ) { + return Sizzle( expr, null, null, [node] ).length > 0; +}; + +Sizzle.find = function( expr, context, isXML ) { + var set; + + if ( !expr ) { + return []; + } + + for ( var i = 0, l = Expr.order.length; i < l; i++ ) { + var match, + type = Expr.order[i]; + + if ( (match = Expr.leftMatch[ type ].exec( expr )) ) { + var left = match[1]; + match.splice( 1, 1 ); + + if ( left.substr( left.length - 1 ) !== "\\" ) { + match[1] = (match[1] || "").replace( rBackslash, "" ); + set = Expr.find[ type ]( match, context, isXML ); + + if ( set != null ) { + expr = expr.replace( Expr.match[ type ], "" ); + break; + } + } + } + } + + if ( !set ) { + set = typeof context.getElementsByTagName !== "undefined" ? + context.getElementsByTagName( "*" ) : + []; + } + + return { set: set, expr: expr }; +}; + +Sizzle.filter = function( expr, set, inplace, not ) { + var match, anyFound, + old = expr, + result = [], + curLoop = set, + isXMLFilter = set && set[0] && Sizzle.isXML( set[0] ); + + while ( expr && set.length ) { + for ( var type in Expr.filter ) { + if ( (match = Expr.leftMatch[ type ].exec( expr )) != null && match[2] ) { + var found, item, + filter = Expr.filter[ type ], + left = match[1]; + + anyFound = false; + + match.splice(1,1); + + if ( left.substr( left.length - 1 ) === "\\" ) { + continue; + } + + if ( curLoop === result ) { + result = []; + } + + if ( Expr.preFilter[ type ] ) { + match = Expr.preFilter[ type ]( match, curLoop, inplace, result, not, isXMLFilter ); + + if ( !match ) { + anyFound = found = true; + + } else if ( match === true ) { + continue; + } + } + + if ( match ) { + for ( var i = 0; (item = curLoop[i]) != null; i++ ) { + if ( item ) { + found = filter( item, match, i, curLoop ); + var pass = not ^ !!found; + + if ( inplace && found != null ) { + if ( pass ) { + anyFound = true; + + } else { + curLoop[i] = false; + } + + } else if ( pass ) { + result.push( item ); + anyFound = true; + } + } + } + } + + if ( found !== undefined ) { + if ( !inplace ) { + curLoop = result; + } + + expr = expr.replace( Expr.match[ type ], "" ); + + if ( !anyFound ) { + return []; + } + + break; + } + } + } + + // Improper expression + if ( expr === old ) { + if ( anyFound == null ) { + Sizzle.error( expr ); + + } else { + break; + } + } + + old = expr; + } + + return curLoop; +}; + +Sizzle.error = function( msg ) { + throw "Syntax error, unrecognized expression: " + msg; +}; + +var Expr = Sizzle.selectors = { + order: [ "ID", "NAME", "TAG" ], + + match: { + ID: /#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/, + CLASS: /\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/, + NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/, + ATTR: /\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/, + TAG: /^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/, + CHILD: /:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/, + POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/, + PSEUDO: /:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/ + }, + + leftMatch: {}, + + attrMap: { + "class": "className", + "for": "htmlFor" + }, + + attrHandle: { + href: function( elem ) { + return elem.getAttribute( "href" ); + }, + type: function( elem ) { + return elem.getAttribute( "type" ); + } + }, + + relative: { + "+": function(checkSet, part){ + var isPartStr = typeof part === "string", + isTag = isPartStr && !rNonWord.test( part ), + isPartStrNotTag = isPartStr && !isTag; + + if ( isTag ) { + part = part.toLowerCase(); + } + + for ( var i = 0, l = checkSet.length, elem; i < l; i++ ) { + if ( (elem = checkSet[i]) ) { + while ( (elem = elem.previousSibling) && elem.nodeType !== 1 ) {} + + checkSet[i] = isPartStrNotTag || elem && elem.nodeName.toLowerCase() === part ? + elem || false : + elem === part; + } + } + + if ( isPartStrNotTag ) { + Sizzle.filter( part, checkSet, true ); + } + }, + + ">": function( checkSet, part ) { + var elem, + isPartStr = typeof part === "string", + i = 0, + l = checkSet.length; + + if ( isPartStr && !rNonWord.test( part ) ) { + part = part.toLowerCase(); + + for ( ; i < l; i++ ) { + elem = checkSet[i]; + + if ( elem ) { + var parent = elem.parentNode; + checkSet[i] = parent.nodeName.toLowerCase() === part ? parent : false; + } + } + + } else { + for ( ; i < l; i++ ) { + elem = checkSet[i]; + + if ( elem ) { + checkSet[i] = isPartStr ? + elem.parentNode : + elem.parentNode === part; + } + } + + if ( isPartStr ) { + Sizzle.filter( part, checkSet, true ); + } + } + }, + + "": function(checkSet, part, isXML){ + var nodeCheck, + doneName = done++, + checkFn = dirCheck; + + if ( typeof part === "string" && !rNonWord.test( part ) ) { + part = part.toLowerCase(); + nodeCheck = part; + checkFn = dirNodeCheck; + } + + checkFn( "parentNode", part, doneName, checkSet, nodeCheck, isXML ); + }, + + "~": function( checkSet, part, isXML ) { + var nodeCheck, + doneName = done++, + checkFn = dirCheck; + + if ( typeof part === "string" && !rNonWord.test( part ) ) { + part = part.toLowerCase(); + nodeCheck = part; + checkFn = dirNodeCheck; + } + + checkFn( "previousSibling", part, doneName, checkSet, nodeCheck, isXML ); + } + }, + + find: { + ID: function( match, context, isXML ) { + if ( typeof context.getElementById !== "undefined" && !isXML ) { + var m = context.getElementById(match[1]); + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + return m && m.parentNode ? [m] : []; + } + }, + + NAME: function( match, context ) { + if ( typeof context.getElementsByName !== "undefined" ) { + var ret = [], + results = context.getElementsByName( match[1] ); + + for ( var i = 0, l = results.length; i < l; i++ ) { + if ( results[i].getAttribute("name") === match[1] ) { + ret.push( results[i] ); + } + } + + return ret.length === 0 ? null : ret; + } + }, + + TAG: function( match, context ) { + if ( typeof context.getElementsByTagName !== "undefined" ) { + return context.getElementsByTagName( match[1] ); + } + } + }, + preFilter: { + CLASS: function( match, curLoop, inplace, result, not, isXML ) { + match = " " + match[1].replace( rBackslash, "" ) + " "; + + if ( isXML ) { + return match; + } + + for ( var i = 0, elem; (elem = curLoop[i]) != null; i++ ) { + if ( elem ) { + if ( not ^ (elem.className && (" " + elem.className + " ").replace(/[\t\n\r]/g, " ").indexOf(match) >= 0) ) { + if ( !inplace ) { + result.push( elem ); + } + + } else if ( inplace ) { + curLoop[i] = false; + } + } + } + + return false; + }, + + ID: function( match ) { + return match[1].replace( rBackslash, "" ); + }, + + TAG: function( match, curLoop ) { + return match[1].replace( rBackslash, "" ).toLowerCase(); + }, + + CHILD: function( match ) { + if ( match[1] === "nth" ) { + if ( !match[2] ) { + Sizzle.error( match[0] ); + } + + match[2] = match[2].replace(/^\+|\s*/g, ''); + + // parse equations like 'even', 'odd', '5', '2n', '3n+2', '4n-1', '-n+6' + var test = /(-?)(\d*)(?:n([+\-]?\d*))?/.exec( + match[2] === "even" && "2n" || match[2] === "odd" && "2n+1" || + !/\D/.test( match[2] ) && "0n+" + match[2] || match[2]); + + // calculate the numbers (first)n+(last) including if they are negative + match[2] = (test[1] + (test[2] || 1)) - 0; + match[3] = test[3] - 0; + } + else if ( match[2] ) { + Sizzle.error( match[0] ); + } + + // TODO: Move to normal caching system + match[0] = done++; + + return match; + }, + + ATTR: function( match, curLoop, inplace, result, not, isXML ) { + var name = match[1] = match[1].replace( rBackslash, "" ); + + if ( !isXML && Expr.attrMap[name] ) { + match[1] = Expr.attrMap[name]; + } + + // Handle if an un-quoted value was used + match[4] = ( match[4] || match[5] || "" ).replace( rBackslash, "" ); + + if ( match[2] === "~=" ) { + match[4] = " " + match[4] + " "; + } + + return match; + }, + + PSEUDO: function( match, curLoop, inplace, result, not ) { + if ( match[1] === "not" ) { + // If we're dealing with a complex expression, or a simple one + if ( ( chunker.exec(match[3]) || "" ).length > 1 || /^\w/.test(match[3]) ) { + match[3] = Sizzle(match[3], null, null, curLoop); + + } else { + var ret = Sizzle.filter(match[3], curLoop, inplace, true ^ not); + + if ( !inplace ) { + result.push.apply( result, ret ); + } + + return false; + } + + } else if ( Expr.match.POS.test( match[0] ) || Expr.match.CHILD.test( match[0] ) ) { + return true; + } + + return match; + }, + + POS: function( match ) { + match.unshift( true ); + + return match; + } + }, + + filters: { + enabled: function( elem ) { + return elem.disabled === false && elem.type !== "hidden"; + }, + + disabled: function( elem ) { + return elem.disabled === true; + }, + + checked: function( elem ) { + return elem.checked === true; + }, + + 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; + }, + + parent: function( elem ) { + return !!elem.firstChild; + }, + + empty: function( elem ) { + return !elem.firstChild; + }, + + has: function( elem, i, match ) { + return !!Sizzle( match[3], elem ).length; + }, + + header: function( elem ) { + return (/h\d/i).test( elem.nodeName ); + }, + + text: function( elem ) { + var attr = elem.getAttribute( "type" ), type = elem.type; + // 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" && "text" === type && ( attr === type || attr === null ); + }, + + radio: function( elem ) { + return elem.nodeName.toLowerCase() === "input" && "radio" === elem.type; + }, + + checkbox: function( elem ) { + return elem.nodeName.toLowerCase() === "input" && "checkbox" === elem.type; + }, + + file: function( elem ) { + return elem.nodeName.toLowerCase() === "input" && "file" === elem.type; + }, + + password: function( elem ) { + return elem.nodeName.toLowerCase() === "input" && "password" === elem.type; + }, + + submit: function( elem ) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && "submit" === elem.type; + }, + + image: function( elem ) { + return elem.nodeName.toLowerCase() === "input" && "image" === elem.type; + }, + + reset: function( elem ) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && "reset" === elem.type; + }, + + button: function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && "button" === elem.type || name === "button"; + }, + + input: function( elem ) { + return (/input|select|textarea|button/i).test( elem.nodeName ); + }, + + focus: function( elem ) { + return elem === elem.ownerDocument.activeElement; + } + }, + setFilters: { + first: function( elem, i ) { + return i === 0; + }, + + last: function( elem, i, match, array ) { + return i === array.length - 1; + }, + + even: function( elem, i ) { + return i % 2 === 0; + }, + + odd: function( elem, i ) { + return i % 2 === 1; + }, + + lt: function( elem, i, match ) { + return i < match[3] - 0; + }, + + gt: function( elem, i, match ) { + return i > match[3] - 0; + }, + + nth: function( elem, i, match ) { + return match[3] - 0 === i; + }, + + eq: function( elem, i, match ) { + return match[3] - 0 === i; + } + }, + filter: { + PSEUDO: function( elem, match, i, array ) { + var name = match[1], + filter = Expr.filters[ name ]; + + if ( filter ) { + return filter( elem, i, match, array ); + + } else if ( name === "contains" ) { + return (elem.textContent || elem.innerText || Sizzle.getText([ elem ]) || "").indexOf(match[3]) >= 0; + + } else if ( name === "not" ) { + var not = match[3]; + + for ( var j = 0, l = not.length; j < l; j++ ) { + if ( not[j] === elem ) { + return false; + } + } + + return true; + + } else { + Sizzle.error( name ); + } + }, + + CHILD: function( elem, match ) { + var type = match[1], + node = elem; + + switch ( type ) { + case "only": + case "first": + while ( (node = node.previousSibling) ) { + if ( node.nodeType === 1 ) { + return false; + } + } + + if ( type === "first" ) { + return true; + } + + node = elem; + + case "last": + while ( (node = node.nextSibling) ) { + if ( node.nodeType === 1 ) { + return false; + } + } + + return true; + + case "nth": + var first = match[2], + last = match[3]; + + if ( first === 1 && last === 0 ) { + return true; + } + + var doneName = match[0], + parent = elem.parentNode; + + if ( parent && (parent.sizcache !== doneName || !elem.nodeIndex) ) { + var count = 0; + + for ( node = parent.firstChild; node; node = node.nextSibling ) { + if ( node.nodeType === 1 ) { + node.nodeIndex = ++count; + } + } + + parent.sizcache = doneName; + } + + var diff = elem.nodeIndex - last; + + if ( first === 0 ) { + return diff === 0; + + } else { + return ( diff % first === 0 && diff / first >= 0 ); + } + } + }, + + ID: function( elem, match ) { + return elem.nodeType === 1 && elem.getAttribute("id") === match; + }, + + TAG: function( elem, match ) { + return (match === "*" && elem.nodeType === 1) || elem.nodeName.toLowerCase() === match; + }, + + CLASS: function( elem, match ) { + return (" " + (elem.className || elem.getAttribute("class")) + " ") + .indexOf( match ) > -1; + }, + + ATTR: function( elem, match ) { + var name = match[1], + result = Expr.attrHandle[ name ] ? + Expr.attrHandle[ name ]( elem ) : + elem[ name ] != null ? + elem[ name ] : + elem.getAttribute( name ), + value = result + "", + type = match[2], + check = match[4]; + + return result == null ? + type === "!=" : + type === "=" ? + value === check : + type === "*=" ? + value.indexOf(check) >= 0 : + type === "~=" ? + (" " + value + " ").indexOf(check) >= 0 : + !check ? + value && result !== false : + type === "!=" ? + value !== check : + type === "^=" ? + value.indexOf(check) === 0 : + type === "$=" ? + value.substr(value.length - check.length) === check : + type === "|=" ? + value === check || value.substr(0, check.length + 1) === check + "-" : + false; + }, + + POS: function( elem, match, i, array ) { + var name = match[2], + filter = Expr.setFilters[ name ]; + + if ( filter ) { + return filter( elem, i, match, array ); + } + } + } +}; + +var origPOS = Expr.match.POS, + fescape = function(all, num){ + return "\\" + (num - 0 + 1); + }; + +for ( var type in Expr.match ) { + Expr.match[ type ] = new RegExp( Expr.match[ type ].source + (/(?![^\[]*\])(?![^\(]*\))/.source) ); + Expr.leftMatch[ type ] = new RegExp( /(^(?:.|\r|\n)*?)/.source + Expr.match[ type ].source.replace(/\\(\d+)/g, fescape) ); +} + +var makeArray = function( array, results ) { + array = Array.prototype.slice.call( array, 0 ); + + if ( results ) { + results.push.apply( results, array ); + return results; + } + + return array; +}; + +// Perform a simple check to determine if the browser is capable of +// converting a NodeList to an array using builtin methods. +// Also verifies that the returned array holds DOM nodes +// (which is not the case in the Blackberry browser) +try { + Array.prototype.slice.call( document.documentElement.childNodes, 0 )[0].nodeType; + +// Provide a fallback method if it does not work +} catch( e ) { + makeArray = function( array, results ) { + var i = 0, + ret = results || []; + + if ( toString.call(array) === "[object Array]" ) { + Array.prototype.push.apply( ret, array ); + + } else { + if ( typeof array.length === "number" ) { + for ( var l = array.length; i < l; i++ ) { + ret.push( array[i] ); + } + + } else { + for ( ; array[i]; i++ ) { + ret.push( array[i] ); + } + } + } + + return ret; + }; +} + +var sortOrder, siblingCheck; + +if ( document.documentElement.compareDocumentPosition ) { + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + if ( !a.compareDocumentPosition || !b.compareDocumentPosition ) { + return a.compareDocumentPosition ? -1 : 1; + } + + return a.compareDocumentPosition(b) & 4 ? -1 : 1; + }; + +} else { + sortOrder = function( a, b ) { + // The nodes are identical, we can exit early + if ( a === b ) { + hasDuplicate = true; + return 0; + + // Fallback to using sourceIndex (in IE) if it's available on both nodes + } else if ( a.sourceIndex && b.sourceIndex ) { + return a.sourceIndex - b.sourceIndex; + } + + var al, bl, + ap = [], + bp = [], + aup = a.parentNode, + bup = b.parentNode, + cur = aup; + + // If the nodes are siblings (or identical) we can do a quick check + if ( aup === bup ) { + return siblingCheck( a, b ); + + // If no parents were found then the nodes are disconnected + } else if ( !aup ) { + return -1; + + } else if ( !bup ) { + return 1; + } + + // Otherwise they're somewhere else in the tree so we need + // to build up a full list of the parentNodes for comparison + while ( cur ) { + ap.unshift( cur ); + cur = cur.parentNode; + } + + cur = bup; + + while ( cur ) { + bp.unshift( cur ); + cur = cur.parentNode; + } + + al = ap.length; + bl = bp.length; + + // Start walking down the tree looking for a discrepancy + for ( var i = 0; i < al && i < bl; i++ ) { + if ( ap[i] !== bp[i] ) { + return siblingCheck( ap[i], bp[i] ); + } + } + + // We ended someplace up the tree so do a sibling check + return i === al ? + siblingCheck( a, bp[i], -1 ) : + siblingCheck( ap[i], b, 1 ); + }; + + siblingCheck = function( a, b, ret ) { + if ( a === b ) { + return ret; + } + + var cur = a.nextSibling; + + while ( cur ) { + if ( cur === b ) { + return -1; + } + + cur = cur.nextSibling; + } + + return 1; + }; +} + +// Utility function for retreiving the text value of an array of DOM nodes +Sizzle.getText = function( elems ) { + var ret = "", elem; + + for ( var i = 0; elems[i]; i++ ) { + elem = elems[i]; + + // Get the text from text nodes and CDATA nodes + if ( elem.nodeType === 3 || elem.nodeType === 4 ) { + ret += elem.nodeValue; + + // Traverse everything else, except comment nodes + } else if ( elem.nodeType !== 8 ) { + ret += Sizzle.getText( elem.childNodes ); + } + } + + return ret; +}; + +// Check to see if the browser returns elements by name when +// querying by getElementById (and provide a workaround) +(function(){ + // We're going to inject a fake input element with a specified name + var form = document.createElement("div"), + id = "script" + (new Date()).getTime(), + root = document.documentElement; + + form.innerHTML = ""; + + // Inject it into the root element, check its status, and remove it quickly + root.insertBefore( form, root.firstChild ); + + // The workaround has to do additional checks after a getElementById + // Which slows things down for other browsers (hence the branching) + if ( document.getElementById( id ) ) { + Expr.find.ID = function( match, context, isXML ) { + if ( typeof context.getElementById !== "undefined" && !isXML ) { + var m = context.getElementById(match[1]); + + return m ? + m.id === match[1] || typeof m.getAttributeNode !== "undefined" && m.getAttributeNode("id").nodeValue === match[1] ? + [m] : + undefined : + []; + } + }; + + Expr.filter.ID = function( elem, match ) { + var node = typeof elem.getAttributeNode !== "undefined" && elem.getAttributeNode("id"); + + return elem.nodeType === 1 && node && node.nodeValue === match; + }; + } + + root.removeChild( form ); + + // release memory in IE + root = form = null; +})(); + +(function(){ + // Check to see if the browser returns only elements + // when doing getElementsByTagName("*") + + // Create a fake element + var div = document.createElement("div"); + div.appendChild( document.createComment("") ); + + // Make sure no comments are found + if ( div.getElementsByTagName("*").length > 0 ) { + Expr.find.TAG = function( match, context ) { + var results = context.getElementsByTagName( match[1] ); + + // Filter out possible comments + if ( match[1] === "*" ) { + var tmp = []; + + for ( var i = 0; results[i]; i++ ) { + if ( results[i].nodeType === 1 ) { + tmp.push( results[i] ); + } + } + + results = tmp; + } + + return results; + }; + } + + // Check to see if an attribute returns normalized href attributes + div.innerHTML = ""; + + if ( div.firstChild && typeof div.firstChild.getAttribute !== "undefined" && + div.firstChild.getAttribute("href") !== "#" ) { + + Expr.attrHandle.href = function( elem ) { + return elem.getAttribute( "href", 2 ); + }; + } + + // release memory in IE + div = null; +})(); + +if ( document.querySelectorAll ) { + (function(){ + var oldSizzle = Sizzle, + div = document.createElement("div"), + id = "__sizzle__"; + + div.innerHTML = "

"; + + // Safari can't handle uppercase or unicode characters when + // in quirks mode. + if ( div.querySelectorAll && div.querySelectorAll(".TEST").length === 0 ) { + return; + } + + Sizzle = function( query, context, extra, seed ) { + context = context || document; + + // Only use querySelectorAll on non-XML documents + // (ID selectors don't work in non-HTML documents) + if ( !seed && !Sizzle.isXML(context) ) { + // See if we find a selector to speed up + var match = /^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec( query ); + + if ( match && (context.nodeType === 1 || context.nodeType === 9) ) { + // Speed-up: Sizzle("TAG") + if ( match[1] ) { + return makeArray( context.getElementsByTagName( query ), extra ); + + // Speed-up: Sizzle(".CLASS") + } else if ( match[2] && Expr.find.CLASS && context.getElementsByClassName ) { + return makeArray( context.getElementsByClassName( match[2] ), extra ); + } + } + + if ( context.nodeType === 9 ) { + // Speed-up: Sizzle("body") + // The body element only exists once, optimize finding it + if ( query === "body" && context.body ) { + return makeArray( [ context.body ], extra ); + + // Speed-up: Sizzle("#ID") + } else if ( match && match[3] ) { + var elem = context.getElementById( match[3] ); + + // 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[3] ) { + return makeArray( [ elem ], extra ); + } + + } else { + return makeArray( [], extra ); + } + } + + try { + return makeArray( context.querySelectorAll(query), extra ); + } catch(qsaError) {} + + // 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 + } else if ( context.nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) { + var oldContext = context, + old = context.getAttribute( "id" ), + nid = old || id, + hasParent = context.parentNode, + relativeHierarchySelector = /^\s*[+~]/.test( query ); + + if ( !old ) { + context.setAttribute( "id", nid ); + } else { + nid = nid.replace( /'/g, "\\$&" ); + } + if ( relativeHierarchySelector && hasParent ) { + context = context.parentNode; + } + + try { + if ( !relativeHierarchySelector || hasParent ) { + return makeArray( context.querySelectorAll( "[id='" + nid + "'] " + query ), extra ); + } + + } catch(pseudoError) { + } finally { + if ( !old ) { + oldContext.removeAttribute( "id" ); + } + } + } + } + + return oldSizzle(query, context, extra, seed); + }; + + for ( var prop in oldSizzle ) { + Sizzle[ prop ] = oldSizzle[ prop ]; + } + + // release memory in IE + div = null; + })(); +} + +(function(){ + var html = document.documentElement, + matches = html.matchesSelector || html.mozMatchesSelector || html.webkitMatchesSelector || html.msMatchesSelector; + + if ( matches ) { + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9 fails this) + var disconnectedMatch = !matches.call( document.createElement( "div" ), "div" ), + pseudoWorks = false; + + try { + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( document.documentElement, "[test!='']:sizzle" ); + + } catch( pseudoError ) { + pseudoWorks = true; + } + + Sizzle.matchesSelector = function( node, expr ) { + // Make sure that attribute selectors are quoted + expr = expr.replace(/\=\s*([^'"\]]*)\s*\]/g, "='$1']"); + + if ( !Sizzle.isXML( node ) ) { + try { + if ( pseudoWorks || !Expr.match.PSEUDO.test( expr ) && !/!=/.test( expr ) ) { + var ret = matches.call( node, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || !disconnectedMatch || + // As well, disconnected nodes are said to be in a document + // fragment in IE 9, so check for that + node.document && node.document.nodeType !== 11 ) { + return ret; + } + } + } catch(e) {} + } + + return Sizzle(expr, null, null, [node]).length > 0; + }; + } +})(); + +(function(){ + var div = document.createElement("div"); + + div.innerHTML = "
"; + + // Opera can't find a second classname (in 9.6) + // Also, make sure that getElementsByClassName actually exists + if ( !div.getElementsByClassName || div.getElementsByClassName("e").length === 0 ) { + return; + } + + // Safari caches class attributes, doesn't catch changes (in 3.2) + div.lastChild.className = "e"; + + if ( div.getElementsByClassName("e").length === 1 ) { + return; + } + + Expr.order.splice(1, 0, "CLASS"); + Expr.find.CLASS = function( match, context, isXML ) { + if ( typeof context.getElementsByClassName !== "undefined" && !isXML ) { + return context.getElementsByClassName(match[1]); + } + }; + + // release memory in IE + div = null; +})(); + +function dirNodeCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) { + for ( var i = 0, l = checkSet.length; i < l; i++ ) { + var elem = checkSet[i]; + + if ( elem ) { + var match = false; + + elem = elem[dir]; + + while ( elem ) { + if ( elem.sizcache === doneName ) { + match = checkSet[elem.sizset]; + break; + } + + if ( elem.nodeType === 1 && !isXML ){ + elem.sizcache = doneName; + elem.sizset = i; + } + + if ( elem.nodeName.toLowerCase() === cur ) { + match = elem; + break; + } + + elem = elem[dir]; + } + + checkSet[i] = match; + } + } +} + +function dirCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) { + for ( var i = 0, l = checkSet.length; i < l; i++ ) { + var elem = checkSet[i]; + + if ( elem ) { + var match = false; + + elem = elem[dir]; + + while ( elem ) { + if ( elem.sizcache === doneName ) { + match = checkSet[elem.sizset]; + break; + } + + if ( elem.nodeType === 1 ) { + if ( !isXML ) { + elem.sizcache = doneName; + elem.sizset = i; + } + + if ( typeof cur !== "string" ) { + if ( elem === cur ) { + match = true; + break; + } + + } else if ( Sizzle.filter( cur, [elem] ).length > 0 ) { + match = elem; + break; + } + } + + elem = elem[dir]; + } + + checkSet[i] = match; + } + } +} + +if ( document.documentElement.contains ) { + Sizzle.contains = function( a, b ) { + return a !== b && (a.contains ? a.contains(b) : true); + }; + +} else if ( document.documentElement.compareDocumentPosition ) { + Sizzle.contains = function( a, b ) { + return !!(a.compareDocumentPosition(b) & 16); + }; + +} else { + Sizzle.contains = function() { + return false; + }; +} + +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 : 0).documentElement; + + return documentElement ? documentElement.nodeName !== "HTML" : false; +}; + +var posProcess = function( selector, context ) { + var match, + tmpSet = [], + later = "", + root = context.nodeType ? [context] : context; + + // Position selectors must be done after the filter + // And so must :not(positional) so we move all PSEUDOs to the end + while ( (match = Expr.match.PSEUDO.exec( selector )) ) { + later += match[0]; + selector = selector.replace( Expr.match.PSEUDO, "" ); + } + + selector = Expr.relative[selector] ? selector + "*" : selector; + + for ( var i = 0, l = root.length; i < l; i++ ) { + Sizzle( selector, root[i], tmpSet ); + } + + return Sizzle.filter( later, tmpSet ); +}; + +// EXPOSE +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; +jQuery.expr[":"] = jQuery.expr.filters; +jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; + + +})(); + + +var runtil = /Until$/, + rparentsprev = /^(?:parents|prevUntil|prevAll)/, + // Note: This RegExp should be improved, or likely pulled from Sizzle + rmultiselector = /,/, + isSimple = /^.[^:#\[\.,]*$/, + slice = Array.prototype.slice, + POS = jQuery.expr.match.POS, + // 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 self = this, + i, l; + + if ( typeof selector !== "string" ) { + return jQuery( selector ).filter(function() { + for ( i = 0, l = self.length; i < l; i++ ) { + if ( jQuery.contains( self[ i ], this ) ) { + return true; + } + } + }); + } + + var ret = this.pushStack( "", "find", selector ), + length, n, r; + + for ( i = 0, l = this.length; i < l; i++ ) { + length = ret.length; + jQuery.find( selector, this[i], ret ); + + if ( i > 0 ) { + // Make sure that the results are unique + for ( n = length; n < ret.length; n++ ) { + for ( r = 0; r < length; r++ ) { + if ( ret[r] === ret[n] ) { + ret.splice(n--, 1); + break; + } + } + } + } + } + + return ret; + }, + + has: function( target ) { + var targets = jQuery( target ); + return this.filter(function() { + for ( var i = 0, l = targets.length; i < l; i++ ) { + if ( jQuery.contains( this, targets[i] ) ) { + return true; + } + } + }); + }, + + not: function( selector ) { + return this.pushStack( winnow(this, selector, false), "not", selector); + }, + + filter: function( selector ) { + return this.pushStack( winnow(this, selector, true), "filter", selector ); + }, + + is: function( selector ) { + return !!selector && ( typeof selector === "string" ? + jQuery.filter( selector, this ).length > 0 : + this.filter( selector ).length > 0 ); + }, + + closest: function( selectors, context ) { + var ret = [], i, l, cur = this[0]; + + // Array + if ( jQuery.isArray( selectors ) ) { + var match, selector, + matches = {}, + level = 1; + + if ( cur && selectors.length ) { + for ( i = 0, l = selectors.length; i < l; i++ ) { + selector = selectors[i]; + + if ( !matches[ selector ] ) { + matches[ selector ] = POS.test( selector ) ? + jQuery( selector, context || this.context ) : + selector; + } + } + + while ( cur && cur.ownerDocument && cur !== context ) { + for ( selector in matches ) { + match = matches[ selector ]; + + if ( match.jquery ? match.index( cur ) > -1 : jQuery( cur ).is( match ) ) { + ret.push({ selector: selector, elem: cur, level: level }); + } + } + + cur = cur.parentNode; + level++; + } + } + + return ret; + } + + // String + var pos = POS.test( selectors ) || typeof selectors !== "string" ? + jQuery( selectors, context || this.context ) : + 0; + + for ( i = 0, l = this.length; i < l; i++ ) { + cur = this[i]; + + while ( cur ) { + if ( pos ? pos.index(cur) > -1 : jQuery.find.matchesSelector(cur, selectors) ) { + ret.push( cur ); + break; + + } else { + cur = cur.parentNode; + if ( !cur || !cur.ownerDocument || cur === context || cur.nodeType === 11 ) { + break; + } + } + } + } + + ret = ret.length > 1 ? jQuery.unique( ret ) : ret; + + return this.pushStack( ret, "closest", selectors ); + }, + + // 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.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( isDisconnected( set[0] ) || isDisconnected( all[0] ) ? + all : + jQuery.unique( all ) ); + }, + + andSelf: function() { + return this.add( this.prevObject ); + } +}); + +// A painfully simple check to see if an element is disconnected +// from a document (should be improved, where feasible). +function isDisconnected( node ) { + return !node || !node.parentNode || node.parentNode.nodeType === 11; +} + +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 jQuery.nth( elem, 2, "nextSibling" ); + }, + prev: function( elem ) { + return jQuery.nth( elem, 2, "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.makeArray( elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var ret = jQuery.map( this, fn, until ), + // The variable 'args' was introduced in + // https://github.com/jquery/jquery/commit/52a0238 + // to work around a bug in Chrome 10 (Dev) and should be removed when the bug is fixed. + // http://code.google.com/p/v8/issues/detail?id=1050 + args = slice.call(arguments); + + if ( !runtil.test( name ) ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + ret = jQuery.filter( selector, ret ); + } + + ret = this.length > 1 && !guaranteedUnique[ name ] ? jQuery.unique( ret ) : ret; + + if ( (this.length > 1 || rmultiselector.test( selector )) && rparentsprev.test( name ) ) { + ret = ret.reverse(); + } + + return this.pushStack( ret, name, args.join(",") ); + }; +}); + +jQuery.extend({ + filter: function( expr, elems, not ) { + if ( not ) { + expr = ":not(" + expr + ")"; + } + + return elems.length === 1 ? + jQuery.find.matchesSelector(elems[0], expr) ? [ elems[0] ] : [] : + jQuery.find.matches(expr, elems); + }, + + 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; + }, + + nth: function( cur, result, dir, elem ) { + result = result || 1; + var num = 0; + + for ( ; cur; cur = cur[dir] ) { + if ( cur.nodeType === 1 && ++num === result ) { + break; + } + } + + return cur; + }, + + 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, keep ) { + + // Can't pass null or undefined to indexOf in Firefox 4 + // Set to 0 to skip string check + qualifier = qualifier || 0; + + if ( jQuery.isFunction( qualifier ) ) { + return jQuery.grep(elements, function( elem, i ) { + var retVal = !!qualifier.call( elem, i, elem ); + return retVal === keep; + }); + + } else if ( qualifier.nodeType ) { + return jQuery.grep(elements, function( elem, i ) { + return (elem === qualifier) === keep; + }); + + } else if ( typeof qualifier === "string" ) { + var filtered = jQuery.grep(elements, function( elem ) { + return elem.nodeType === 1; + }); + + if ( isSimple.test( qualifier ) ) { + return jQuery.filter(qualifier, filtered, !keep); + } else { + qualifier = jQuery.filter( qualifier, filtered ); + } + } + + return jQuery.grep(elements, function( elem, i ) { + return (jQuery.inArray( elem, qualifier ) >= 0) === keep; + }); +} + + + + +var rinlinejQuery = / jQuery\d+="(?:\d+|null)"/g, + rleadingWhitespace = /^\s+/, + rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig, + rtagName = /<([\w:]+)/, + rtbody = /", "" ], + legend: [ 1, "
", "
" ], + thead: [ 1, "", "
" ], + tr: [ 2, "", "
" ], + td: [ 3, "", "
" ], + col: [ 2, "", "
" ], + area: [ 1, "", "" ], + _default: [ 0, "", "" ] + }; + +wrapMap.optgroup = wrapMap.option; +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + +// IE can't serialize and