From 661d32917002dd4f2852c67b22f62c294e99bd8d Mon Sep 17 00:00:00 2001 From: Florian Rival Date: Sun, 19 Jul 2020 22:10:38 +0100 Subject: [PATCH] Upgrade game rendering to use Pixi.js 5.3.0, allowing games to run with WebGL 2 (#1824) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * This brings various upgrades and performance improvement to the internal rendering engine used by games, both in the editor and in exported games. * This also paves the way for adding new objects like Bitmap Text, Mesh or dynamic lights in the future. * Huge thanks to @Quarkstar for working on this task and making most of the necessary upgrades . * Thanks @Bouh for helping fixing/upgrading the Shape Painter object and @Silver-Streak as well as testers from the forum Don't show the rest in changelog: * Add a test game with all effects that can be used, to quickly verify they are working. Co-authored-by: Quarkstar Co-authored-by: AurĂ©lien Vivet --- Extensions/BBText/JsExtension.js | 2 +- .../bbtextruntimeobject-pixi-renderer.js | 2 +- .../BBText/pixi-multistyle-text/README.md | 70 +- .../dist/pixi-multistyle-text.umd.js | 2 +- .../dist/pixi-multistyle-text.umd.js.map | 1 - Extensions/Effects/JsExtension.js | 11 +- .../Effects/pixi-filters/filter-adjustment.js | 6 +- .../pixi-filters/filter-advanced-bloom.js | 6 +- .../Effects/pixi-filters/filter-alpha.js | 8 - .../Effects/pixi-filters/filter-ascii.js | 6 +- .../Effects/pixi-filters/filter-bevel.js | 6 +- .../pixi-filters/filter-bulge-pinch.js | 6 +- .../Effects/pixi-filters/filter-color-map.js | 4 +- .../pixi-filters/filter-color-replace.js | 6 +- Extensions/Effects/pixi-filters/filter-crt.js | 10 +- Extensions/Effects/pixi-filters/filter-dot.js | 6 +- .../pixi-filters/filter-drop-shadow.js | 6 +- .../Effects/pixi-filters/filter-glitch.js | 6 +- .../Effects/pixi-filters/filter-glow.js | 6 +- .../Effects/pixi-filters/filter-godray.js | 6 +- .../pixi-filters/filter-kawase-blur.js | 6 +- .../Effects/pixi-filters/filter-old-film.js | 6 +- .../Effects/pixi-filters/filter-outline.js | 6 +- .../Effects/pixi-filters/filter-pixelate.js | 4 +- .../pixi-filters/filter-radial-blur.js | 6 +- .../Effects/pixi-filters/filter-reflection.js | 6 +- .../Effects/pixi-filters/filter-rgb-split.js | 6 +- .../Effects/pixi-filters/filter-tilt-shift.js | 169 +- .../Effects/pixi-filters/filter-twist.js | 6 +- .../Effects/pixi-filters/filter-zoom-blur.js | 6 +- Extensions/Effects/twist-pixi-filter.js | 5 +- .../panelspriteruntimeobject-pixi-renderer.js | 2 +- Extensions/ParticleSystem/JsExtension.cpp | 2 +- .../pixi-particles-pixi-renderer.min.js | 3 +- ...shapepainterruntimeobject-pixi-renderer.js | 12 - .../shapepainterruntimeobject.js | 4 +- .../Bskeletonruntimeobject-pixi-renderer.js | 4 +- .../tiledspriteruntimeobject-pixi-renderer.js | 4 +- Extensions/Video/JsExtension.js | 5 +- .../Video/videoruntimeobject-pixi-renderer.js | 17 +- .../loadingscreen-pixi-renderer.js | 2 +- .../pixi-renderers/pixi-image-manager.js | 38 +- GDJS/Runtime/pixi-renderers/pixi.js | 22 +- .../runtimegame-pixi-renderer.js | 7 +- .../runtimescene-pixi-renderer.js | 2 +- .../effects/Assets/Map/tilebg/tile_bg (1).png | Bin 0 -> 3420 bytes .../Assets/Map/tilebg/tile_bg (10).png | Bin 0 -> 23917 bytes .../Assets/Map/tilebg/tile_bg (11).png | Bin 0 -> 12049 bytes .../Assets/Map/tilebg/tile_bg (12).png | Bin 0 -> 9901 bytes .../Assets/Map/tilebg/tile_bg (13).png | Bin 0 -> 32547 bytes .../Assets/Map/tilebg/tile_bg (14).png | Bin 0 -> 15196 bytes .../Assets/Map/tilebg/tile_bg (15).png | Bin 0 -> 12514 bytes .../Assets/Map/tilebg/tile_bg (16).png | Bin 0 -> 29355 bytes .../Assets/Map/tilebg/tile_bg (17).png | Bin 0 -> 28987 bytes .../Assets/Map/tilebg/tile_bg (18).png | Bin 0 -> 6321 bytes .../Assets/Map/tilebg/tile_bg (19).png | Bin 0 -> 23570 bytes .../effects/Assets/Map/tilebg/tile_bg (2).png | Bin 0 -> 16490 bytes .../Assets/Map/tilebg/tile_bg (20).png | Bin 0 -> 28189 bytes .../Assets/Map/tilebg/tile_bg (21).png | Bin 0 -> 22957 bytes .../Assets/Map/tilebg/tile_bg (22).png | Bin 0 -> 15816 bytes .../Assets/Map/tilebg/tile_bg (23).png | Bin 0 -> 18029 bytes .../Assets/Map/tilebg/tile_bg (24).png | Bin 0 -> 2843 bytes .../effects/Assets/Map/tilebg/tile_bg (3).png | Bin 0 -> 12747 bytes .../effects/Assets/Map/tilebg/tile_bg (4).png | Bin 0 -> 4169 bytes .../effects/Assets/Map/tilebg/tile_bg (5).png | Bin 0 -> 14230 bytes .../effects/Assets/Map/tilebg/tile_bg (6).png | Bin 0 -> 353 bytes .../effects/Assets/Map/tilebg/tile_bg (7).png | Bin 0 -> 21884 bytes .../effects/Assets/Map/tilebg/tile_bg (8).png | Bin 0 -> 25625 bytes .../effects/Assets/Map/tilebg/tile_bg (9).png | Bin 0 -> 27131 bytes .../Assets/Perso_GD/with_shadow/-X/-X0001.png | Bin 0 -> 9205 bytes .../Assets/Perso_GD/with_shadow/-X/-X0002.png | Bin 0 -> 9702 bytes .../Assets/Perso_GD/with_shadow/-X/-X0003.png | Bin 0 -> 9471 bytes .../Assets/Perso_GD/with_shadow/-X/-X0004.png | Bin 0 -> 9349 bytes .../Assets/Perso_GD/with_shadow/-X/-X0005.png | Bin 0 -> 9326 bytes .../Assets/Perso_GD/with_shadow/-X/-X0006.png | Bin 0 -> 9190 bytes .../Assets/Perso_GD/with_shadow/-X/-X0007.png | Bin 0 -> 9906 bytes .../Assets/Perso_GD/with_shadow/-X/-X0008.png | Bin 0 -> 9305 bytes .../Assets/Perso_GD/with_shadow/-X/-X0009.png | Bin 0 -> 9133 bytes .../Assets/Perso_GD/with_shadow/-X/-X0010.png | Bin 0 -> 8825 bytes .../Assets/Perso_GD/with_shadow/-X/-X0011.png | Bin 0 -> 9547 bytes .../Assets/Perso_GD/with_shadow/-X/-X0012.png | Bin 0 -> 9311 bytes .../Assets/Perso_GD/with_shadow/-X/-X0013.png | Bin 0 -> 9130 bytes .../Assets/Perso_GD/with_shadow/-X/-X0014.png | Bin 0 -> 9172 bytes .../Assets/Perso_GD/with_shadow/-X/-X0015.png | Bin 0 -> 9804 bytes .../Assets/Perso_GD/with_shadow/-X/-X0016.png | Bin 0 -> 9513 bytes .../Assets/Perso_GD/with_shadow/-X/-X0017.png | Bin 0 -> 9468 bytes .../Assets/Perso_GD/with_shadow/-X/-X0018.png | Bin 0 -> 9753 bytes .../Assets/Perso_GD/with_shadow/-X/-X0019.png | Bin 0 -> 9397 bytes .../Assets/Perso_GD/with_shadow/-X/-X0020.png | Bin 0 -> 8908 bytes .../Assets/Perso_GD/with_shadow/-X/-X0021.png | Bin 0 -> 9580 bytes .../Assets/Perso_GD/with_shadow/-X/-X0022.png | Bin 0 -> 8847 bytes .../Assets/Perso_GD/with_shadow/-X/-X0023.png | Bin 0 -> 8954 bytes .../Assets/Perso_GD/with_shadow/-X/-X0024.png | Bin 0 -> 8979 bytes .../Assets/Perso_GD/with_shadow/-X/-X0025.png | Bin 0 -> 8999 bytes .../Assets/Perso_GD/with_shadow/-X/-X0026.png | Bin 0 -> 9250 bytes .../Assets/Perso_GD/with_shadow/-X/-X0027.png | Bin 0 -> 9290 bytes .../Assets/Perso_GD/with_shadow/-X/-X0028.png | Bin 0 -> 9484 bytes .../Assets/Perso_GD/with_shadow/-X/-X0029.png | Bin 0 -> 9626 bytes .../Assets/Perso_GD/with_shadow/-X/-X0030.png | Bin 0 -> 9205 bytes .../Assets/Perso_GD/with_shadow/-Y/-Y0001.png | Bin 0 -> 9410 bytes .../Assets/Perso_GD/with_shadow/-Y/-Y0002.png | Bin 0 -> 9103 bytes .../Assets/Perso_GD/with_shadow/-Y/-Y0003.png | Bin 0 -> 9043 bytes .../Assets/Perso_GD/with_shadow/-Y/-Y0004.png | Bin 0 -> 9236 bytes .../Assets/Perso_GD/with_shadow/-Y/-Y0005.png | Bin 0 -> 8979 bytes .../Assets/Perso_GD/with_shadow/-Y/-Y0006.png | Bin 0 -> 9007 bytes .../Assets/Perso_GD/with_shadow/-Y/-Y0007.png | Bin 0 -> 8617 bytes .../Assets/Perso_GD/with_shadow/-Y/-Y0008.png | Bin 0 -> 9002 bytes .../Assets/Perso_GD/with_shadow/-Y/-Y0009.png | Bin 0 -> 8840 bytes .../Assets/Perso_GD/with_shadow/-Y/-Y0010.png | Bin 0 -> 8325 bytes .../Assets/Perso_GD/with_shadow/-Y/-Y0011.png | Bin 0 -> 9098 bytes .../Assets/Perso_GD/with_shadow/-Y/-Y0012.png | Bin 0 -> 9604 bytes .../Assets/Perso_GD/with_shadow/-Y/-Y0013.png | Bin 0 -> 8439 bytes .../Assets/Perso_GD/with_shadow/-Y/-Y0014.png | Bin 0 -> 8761 bytes .../Assets/Perso_GD/with_shadow/-Y/-Y0015.png | Bin 0 -> 9208 bytes .../Assets/Perso_GD/with_shadow/-Y/-Y0016.png | Bin 0 -> 9532 bytes .../Assets/Perso_GD/with_shadow/-Y/-Y0017.png | Bin 0 -> 8796 bytes .../Assets/Perso_GD/with_shadow/-Y/-Y0018.png | Bin 0 -> 9604 bytes .../Assets/Perso_GD/with_shadow/-Y/-Y0019.png | Bin 0 -> 9409 bytes .../Assets/Perso_GD/with_shadow/-Y/-Y0020.png | Bin 0 -> 9353 bytes .../Assets/Perso_GD/with_shadow/-Y/-Y0021.png | Bin 0 -> 8289 bytes .../Assets/Perso_GD/with_shadow/-Y/-Y0022.png | Bin 0 -> 8970 bytes .../Assets/Perso_GD/with_shadow/-Y/-Y0023.png | Bin 0 -> 8744 bytes .../Assets/Perso_GD/with_shadow/-Y/-Y0024.png | Bin 0 -> 9048 bytes .../Assets/Perso_GD/with_shadow/-Y/-Y0025.png | Bin 0 -> 8651 bytes .../Assets/Perso_GD/with_shadow/-Y/-Y0026.png | Bin 0 -> 8762 bytes .../Assets/Perso_GD/with_shadow/-Y/-Y0027.png | Bin 0 -> 9713 bytes .../Assets/Perso_GD/with_shadow/-Y/-Y0028.png | Bin 0 -> 8523 bytes .../Assets/Perso_GD/with_shadow/-Y/-Y0029.png | Bin 0 -> 8651 bytes .../Assets/Perso_GD/with_shadow/-Y/-Y0030.png | Bin 0 -> 9473 bytes .../Perso_GD/with_shadow/Down/down0001.png | Bin 0 -> 9189 bytes .../Perso_GD/with_shadow/Down/down0002.png | Bin 0 -> 9122 bytes .../Perso_GD/with_shadow/Down/down0003.png | Bin 0 -> 8917 bytes .../Perso_GD/with_shadow/Down/down0004.png | Bin 0 -> 9155 bytes .../Perso_GD/with_shadow/Down/down0005.png | Bin 0 -> 8915 bytes .../Perso_GD/with_shadow/Down/down0006.png | Bin 0 -> 8783 bytes .../Perso_GD/with_shadow/Down/down0007.png | Bin 0 -> 9478 bytes .../Perso_GD/with_shadow/Down/down0008.png | Bin 0 -> 9388 bytes .../Perso_GD/with_shadow/Down/down0009.png | Bin 0 -> 8876 bytes .../Perso_GD/with_shadow/Down/down0010.png | Bin 0 -> 9093 bytes .../Perso_GD/with_shadow/Down/down0011.png | Bin 0 -> 8991 bytes .../Perso_GD/with_shadow/Down/down0012.png | Bin 0 -> 9352 bytes .../Perso_GD/with_shadow/Down/down0013.png | Bin 0 -> 10154 bytes .../Perso_GD/with_shadow/Down/down0014.png | Bin 0 -> 9086 bytes .../Perso_GD/with_shadow/Down/down0015.png | Bin 0 -> 10392 bytes .../Perso_GD/with_shadow/Down/down0016.png | Bin 0 -> 8782 bytes .../Perso_GD/with_shadow/Down/down0017.png | Bin 0 -> 9453 bytes .../Perso_GD/with_shadow/Down/down0018.png | Bin 0 -> 9220 bytes .../Perso_GD/with_shadow/Down/down0019.png | Bin 0 -> 9060 bytes .../Perso_GD/with_shadow/Down/down0020.png | Bin 0 -> 9123 bytes .../Perso_GD/with_shadow/Down/down0021.png | Bin 0 -> 9056 bytes .../Perso_GD/with_shadow/Down/down0022.png | Bin 0 -> 9370 bytes .../Perso_GD/with_shadow/Down/down0023.png | Bin 0 -> 9168 bytes .../Perso_GD/with_shadow/Down/down0024.png | Bin 0 -> 8889 bytes .../Perso_GD/with_shadow/Down/down0025.png | Bin 0 -> 9013 bytes .../Perso_GD/with_shadow/Down/down0026.png | Bin 0 -> 9166 bytes .../Perso_GD/with_shadow/Down/down0027.png | Bin 0 -> 9047 bytes .../Perso_GD/with_shadow/Down/down0028.png | Bin 0 -> 8371 bytes .../Perso_GD/with_shadow/Down/down0029.png | Bin 0 -> 8620 bytes .../Perso_GD/with_shadow/Down/down0030.png | Bin 0 -> 8628 bytes .../Perso_GD/with_shadow/Left/left0001.png | Bin 0 -> 8748 bytes .../Perso_GD/with_shadow/Left/left0002.png | Bin 0 -> 9999 bytes .../Perso_GD/with_shadow/Left/left0003.png | Bin 0 -> 9698 bytes .../Perso_GD/with_shadow/Left/left0004.png | Bin 0 -> 9701 bytes .../Perso_GD/with_shadow/Left/left0005.png | Bin 0 -> 9196 bytes .../Perso_GD/with_shadow/Left/left0006.png | Bin 0 -> 9062 bytes .../Perso_GD/with_shadow/Left/left0007.png | Bin 0 -> 9352 bytes .../Perso_GD/with_shadow/Left/left0008.png | Bin 0 -> 9132 bytes .../Perso_GD/with_shadow/Left/left0009.png | Bin 0 -> 8839 bytes .../Perso_GD/with_shadow/Left/left0010.png | Bin 0 -> 9593 bytes .../Perso_GD/with_shadow/Left/left0011.png | Bin 0 -> 9047 bytes .../Perso_GD/with_shadow/Left/left0012.png | Bin 0 -> 9369 bytes .../Perso_GD/with_shadow/Left/left0013.png | Bin 0 -> 9031 bytes .../Perso_GD/with_shadow/Left/left0014.png | Bin 0 -> 9103 bytes .../Perso_GD/with_shadow/Left/left0015.png | Bin 0 -> 9007 bytes .../Perso_GD/with_shadow/Left/left0016.png | Bin 0 -> 8829 bytes .../Perso_GD/with_shadow/Left/left0017.png | Bin 0 -> 9367 bytes .../Perso_GD/with_shadow/Left/left0018.png | Bin 0 -> 9292 bytes .../Perso_GD/with_shadow/Left/left0019.png | Bin 0 -> 9195 bytes .../Perso_GD/with_shadow/Left/left0020.png | Bin 0 -> 9025 bytes .../Perso_GD/with_shadow/Left/left0021.png | Bin 0 -> 8928 bytes .../Perso_GD/with_shadow/Left/left0022.png | Bin 0 -> 9494 bytes .../Perso_GD/with_shadow/Left/left0023.png | Bin 0 -> 9011 bytes .../Perso_GD/with_shadow/Left/left0024.png | Bin 0 -> 8424 bytes .../Perso_GD/with_shadow/Left/left0025.png | Bin 0 -> 8596 bytes .../Perso_GD/with_shadow/Left/left0026.png | Bin 0 -> 9109 bytes .../Perso_GD/with_shadow/Left/left0027.png | Bin 0 -> 9312 bytes .../Perso_GD/with_shadow/Left/left0028.png | Bin 0 -> 9064 bytes .../Perso_GD/with_shadow/Left/left0029.png | Bin 0 -> 9607 bytes .../Perso_GD/with_shadow/Left/left0030.png | Bin 0 -> 8854 bytes .../Perso_GD/with_shadow/Right/right0001.png | Bin 0 -> 11005 bytes .../Perso_GD/with_shadow/Right/right0002.png | Bin 0 -> 9337 bytes .../Perso_GD/with_shadow/Right/right0003.png | Bin 0 -> 9897 bytes .../Perso_GD/with_shadow/Right/right0004.png | Bin 0 -> 9567 bytes .../Perso_GD/with_shadow/Right/right0005.png | Bin 0 -> 8667 bytes .../Perso_GD/with_shadow/Right/right0006.png | Bin 0 -> 9553 bytes .../Perso_GD/with_shadow/Right/right0007.png | Bin 0 -> 9414 bytes .../Perso_GD/with_shadow/Right/right0008.png | Bin 0 -> 8868 bytes .../Perso_GD/with_shadow/Right/right0009.png | Bin 0 -> 9018 bytes .../Perso_GD/with_shadow/Right/right0010.png | Bin 0 -> 9320 bytes .../Perso_GD/with_shadow/Right/right0011.png | Bin 0 -> 8781 bytes .../Perso_GD/with_shadow/Right/right0012.png | Bin 0 -> 8975 bytes .../Perso_GD/with_shadow/Right/right0013.png | Bin 0 -> 9065 bytes .../Perso_GD/with_shadow/Right/right0014.png | Bin 0 -> 9170 bytes .../Perso_GD/with_shadow/Right/right0015.png | Bin 0 -> 9491 bytes .../Perso_GD/with_shadow/Right/right0016.png | Bin 0 -> 9597 bytes .../Perso_GD/with_shadow/Right/right0017.png | Bin 0 -> 8938 bytes .../Perso_GD/with_shadow/Right/right0018.png | Bin 0 -> 8911 bytes .../Perso_GD/with_shadow/Right/right0019.png | Bin 0 -> 9252 bytes .../Perso_GD/with_shadow/Right/right0020.png | Bin 0 -> 8931 bytes .../Perso_GD/with_shadow/Right/right0021.png | Bin 0 -> 9206 bytes .../Perso_GD/with_shadow/Right/right0022.png | Bin 0 -> 9258 bytes .../Perso_GD/with_shadow/Right/right0023.png | Bin 0 -> 9383 bytes .../Perso_GD/with_shadow/Right/right0024.png | Bin 0 -> 9250 bytes .../Perso_GD/with_shadow/Right/right0025.png | Bin 0 -> 9181 bytes .../Perso_GD/with_shadow/Right/right0026.png | Bin 0 -> 9520 bytes .../Perso_GD/with_shadow/Right/right0027.png | Bin 0 -> 9163 bytes .../Perso_GD/with_shadow/Right/right0028.png | Bin 0 -> 9564 bytes .../Perso_GD/with_shadow/Right/right0029.png | Bin 0 -> 9329 bytes .../Perso_GD/with_shadow/Right/right0030.png | Bin 0 -> 9403 bytes .../Assets/Perso_GD/with_shadow/Up/up0001.png | Bin 0 -> 9305 bytes .../Assets/Perso_GD/with_shadow/Up/up0002.png | Bin 0 -> 10121 bytes .../Assets/Perso_GD/with_shadow/Up/up0003.png | Bin 0 -> 9947 bytes .../Assets/Perso_GD/with_shadow/Up/up0004.png | Bin 0 -> 9774 bytes .../Assets/Perso_GD/with_shadow/Up/up0005.png | Bin 0 -> 9733 bytes .../Assets/Perso_GD/with_shadow/Up/up0006.png | Bin 0 -> 9812 bytes .../Assets/Perso_GD/with_shadow/Up/up0007.png | Bin 0 -> 9682 bytes .../Assets/Perso_GD/with_shadow/Up/up0008.png | Bin 0 -> 9646 bytes .../Assets/Perso_GD/with_shadow/Up/up0009.png | Bin 0 -> 9602 bytes .../Assets/Perso_GD/with_shadow/Up/up0010.png | Bin 0 -> 9276 bytes .../Assets/Perso_GD/with_shadow/Up/up0011.png | Bin 0 -> 9732 bytes .../Assets/Perso_GD/with_shadow/Up/up0012.png | Bin 0 -> 9164 bytes .../Assets/Perso_GD/with_shadow/Up/up0013.png | Bin 0 -> 9274 bytes .../Assets/Perso_GD/with_shadow/Up/up0014.png | Bin 0 -> 9300 bytes .../Assets/Perso_GD/with_shadow/Up/up0015.png | Bin 0 -> 10321 bytes .../Assets/Perso_GD/with_shadow/Up/up0016.png | Bin 0 -> 9786 bytes .../Assets/Perso_GD/with_shadow/Up/up0017.png | Bin 0 -> 9370 bytes .../Assets/Perso_GD/with_shadow/Up/up0018.png | Bin 0 -> 9317 bytes .../Assets/Perso_GD/with_shadow/Up/up0019.png | Bin 0 -> 9992 bytes .../Assets/Perso_GD/with_shadow/Up/up0020.png | Bin 0 -> 9456 bytes .../Assets/Perso_GD/with_shadow/Up/up0021.png | Bin 0 -> 9270 bytes .../Assets/Perso_GD/with_shadow/Up/up0022.png | Bin 0 -> 9841 bytes .../Assets/Perso_GD/with_shadow/Up/up0023.png | Bin 0 -> 9827 bytes .../Assets/Perso_GD/with_shadow/Up/up0024.png | Bin 0 -> 9563 bytes .../Assets/Perso_GD/with_shadow/Up/up0025.png | Bin 0 -> 9479 bytes .../Assets/Perso_GD/with_shadow/Up/up0026.png | Bin 0 -> 9938 bytes .../Assets/Perso_GD/with_shadow/Up/up0027.png | Bin 0 -> 9106 bytes .../Assets/Perso_GD/with_shadow/Up/up0028.png | Bin 0 -> 9800 bytes .../Assets/Perso_GD/with_shadow/Up/up0029.png | Bin 0 -> 9869 bytes .../Assets/Perso_GD/with_shadow/Up/up0030.png | Bin 0 -> 9305 bytes .../Assets/Perso_GD/with_shadow/X/X0001.png | Bin 0 -> 8783 bytes .../Assets/Perso_GD/with_shadow/X/X0002.png | Bin 0 -> 8945 bytes .../Assets/Perso_GD/with_shadow/X/X0003.png | Bin 0 -> 9276 bytes .../Assets/Perso_GD/with_shadow/X/X0004.png | Bin 0 -> 8786 bytes .../Assets/Perso_GD/with_shadow/X/X0005.png | Bin 0 -> 9151 bytes .../Assets/Perso_GD/with_shadow/X/X0006.png | Bin 0 -> 9234 bytes .../Assets/Perso_GD/with_shadow/X/X0007.png | Bin 0 -> 9315 bytes .../Assets/Perso_GD/with_shadow/X/X0008.png | Bin 0 -> 8574 bytes .../Assets/Perso_GD/with_shadow/X/X0009.png | Bin 0 -> 8454 bytes .../Assets/Perso_GD/with_shadow/X/X0010.png | Bin 0 -> 8546 bytes .../Assets/Perso_GD/with_shadow/X/X0011.png | Bin 0 -> 8845 bytes .../Assets/Perso_GD/with_shadow/X/X0012.png | Bin 0 -> 9263 bytes .../Assets/Perso_GD/with_shadow/X/X0013.png | Bin 0 -> 8787 bytes .../Assets/Perso_GD/with_shadow/X/X0014.png | Bin 0 -> 8802 bytes .../Assets/Perso_GD/with_shadow/X/X0015.png | Bin 0 -> 8625 bytes .../Assets/Perso_GD/with_shadow/X/X0016.png | Bin 0 -> 8823 bytes .../Assets/Perso_GD/with_shadow/X/X0017.png | Bin 0 -> 8591 bytes .../Assets/Perso_GD/with_shadow/X/X0018.png | Bin 0 -> 9011 bytes .../Assets/Perso_GD/with_shadow/X/X0019.png | Bin 0 -> 9146 bytes .../Assets/Perso_GD/with_shadow/X/X0020.png | Bin 0 -> 9005 bytes .../Assets/Perso_GD/with_shadow/X/X0021.png | Bin 0 -> 9327 bytes .../Assets/Perso_GD/with_shadow/X/X0022.png | Bin 0 -> 9258 bytes .../Assets/Perso_GD/with_shadow/X/X0023.png | Bin 0 -> 9382 bytes .../Assets/Perso_GD/with_shadow/X/X0024.png | Bin 0 -> 8775 bytes .../Assets/Perso_GD/with_shadow/X/X0025.png | Bin 0 -> 9171 bytes .../Assets/Perso_GD/with_shadow/X/X0026.png | Bin 0 -> 8773 bytes .../Assets/Perso_GD/with_shadow/X/X0027.png | Bin 0 -> 9541 bytes .../Assets/Perso_GD/with_shadow/X/X0028.png | Bin 0 -> 9292 bytes .../Assets/Perso_GD/with_shadow/X/X0029.png | Bin 0 -> 8819 bytes .../Assets/Perso_GD/with_shadow/X/X0030.png | Bin 0 -> 8724 bytes .../Assets/Perso_GD/with_shadow/Y/Y0001.png | Bin 0 -> 9837 bytes .../Assets/Perso_GD/with_shadow/Y/Y0002.png | Bin 0 -> 9763 bytes .../Assets/Perso_GD/with_shadow/Y/Y0003.png | Bin 0 -> 9703 bytes .../Assets/Perso_GD/with_shadow/Y/Y0004.png | Bin 0 -> 9048 bytes .../Assets/Perso_GD/with_shadow/Y/Y0005.png | Bin 0 -> 9006 bytes .../Assets/Perso_GD/with_shadow/Y/Y0006.png | Bin 0 -> 8857 bytes .../Assets/Perso_GD/with_shadow/Y/Y0007.png | Bin 0 -> 9827 bytes .../Assets/Perso_GD/with_shadow/Y/Y0008.png | Bin 0 -> 9116 bytes .../Assets/Perso_GD/with_shadow/Y/Y0009.png | Bin 0 -> 9616 bytes .../Assets/Perso_GD/with_shadow/Y/Y0010.png | Bin 0 -> 9061 bytes .../Assets/Perso_GD/with_shadow/Y/Y0011.png | Bin 0 -> 9302 bytes .../Assets/Perso_GD/with_shadow/Y/Y0012.png | Bin 0 -> 9775 bytes .../Assets/Perso_GD/with_shadow/Y/Y0013.png | Bin 0 -> 9555 bytes .../Assets/Perso_GD/with_shadow/Y/Y0014.png | Bin 0 -> 9261 bytes .../Assets/Perso_GD/with_shadow/Y/Y0015.png | Bin 0 -> 9213 bytes .../Assets/Perso_GD/with_shadow/Y/Y0016.png | Bin 0 -> 10189 bytes .../Assets/Perso_GD/with_shadow/Y/Y0017.png | Bin 0 -> 9374 bytes .../Assets/Perso_GD/with_shadow/Y/Y0018.png | Bin 0 -> 9345 bytes .../Assets/Perso_GD/with_shadow/Y/Y0019.png | Bin 0 -> 9842 bytes .../Assets/Perso_GD/with_shadow/Y/Y0020.png | Bin 0 -> 8763 bytes .../Assets/Perso_GD/with_shadow/Y/Y0021.png | Bin 0 -> 9888 bytes .../Assets/Perso_GD/with_shadow/Y/Y0022.png | Bin 0 -> 9105 bytes .../Assets/Perso_GD/with_shadow/Y/Y0023.png | Bin 0 -> 9192 bytes .../Assets/Perso_GD/with_shadow/Y/Y0024.png | Bin 0 -> 9043 bytes .../Assets/Perso_GD/with_shadow/Y/Y0025.png | Bin 0 -> 8810 bytes .../Assets/Perso_GD/with_shadow/Y/Y0026.png | Bin 0 -> 9296 bytes .../Assets/Perso_GD/with_shadow/Y/Y0027.png | Bin 0 -> 9759 bytes .../Assets/Perso_GD/with_shadow/Y/Y0028.png | Bin 0 -> 9261 bytes .../Assets/Perso_GD/with_shadow/Y/Y0029.png | Bin 0 -> 9190 bytes .../Assets/Perso_GD/with_shadow/Y/Y0030.png | Bin 0 -> 9028 bytes .../Perso_GD/with_shadow/test_shadow.png | Bin 0 -> 17366 bytes .../games/effects/Assets/UI/avat-fullpng.png | Bin 0 -> 4200 bytes GDJS/tests/games/effects/NewFile-1.png | Bin 0 -> 186 bytes .../tests/games/effects/all effects demo.json | 5490 +++++++++++++++++ GDJS/tests/games/effects/android-icon-144.png | Bin 0 -> 6447 bytes GDJS/tests/games/effects/android-icon-192.png | Bin 0 -> 9251 bytes GDJS/tests/games/effects/android-icon-36.png | Bin 0 -> 1699 bytes GDJS/tests/games/effects/android-icon-48.png | Bin 0 -> 2130 bytes GDJS/tests/games/effects/android-icon-72.png | Bin 0 -> 3041 bytes GDJS/tests/games/effects/android-icon-96.png | Bin 0 -> 4097 bytes .../tests/games/effects/color-map-model-3.png | Bin 0 -> 5617 bytes GDJS/tests/games/effects/desktop-icon-512.png | Bin 0 -> 38925 bytes GDJS/tests/games/effects/displacement_map.png | Bin 0 -> 60254 bytes GDJS/tests/games/effects/ios-icon-100.png | Bin 0 -> 4220 bytes GDJS/tests/games/effects/ios-icon-114.png | Bin 0 -> 4839 bytes GDJS/tests/games/effects/ios-icon-120.png | Bin 0 -> 5236 bytes GDJS/tests/games/effects/ios-icon-144.png | Bin 0 -> 6447 bytes GDJS/tests/games/effects/ios-icon-152.png | Bin 0 -> 6783 bytes GDJS/tests/games/effects/ios-icon-167.png | Bin 0 -> 7735 bytes GDJS/tests/games/effects/ios-icon-180.png | Bin 0 -> 8177 bytes GDJS/tests/games/effects/ios-icon-29.png | Bin 0 -> 1284 bytes GDJS/tests/games/effects/ios-icon-40.png | Bin 0 -> 1814 bytes GDJS/tests/games/effects/ios-icon-50.png | Bin 0 -> 2155 bytes GDJS/tests/games/effects/ios-icon-57.png | Bin 0 -> 2439 bytes GDJS/tests/games/effects/ios-icon-58.png | Bin 0 -> 2445 bytes GDJS/tests/games/effects/ios-icon-60.png | Bin 0 -> 2552 bytes GDJS/tests/games/effects/ios-icon-72.png | Bin 0 -> 3041 bytes GDJS/tests/games/effects/ios-icon-76.png | Bin 0 -> 3174 bytes GDJS/tests/games/effects/ios-icon-80.png | Bin 0 -> 3272 bytes newIDE/app/flow-typed/npm/pixi.js_vx.x.x.js | 851 --- newIDE/app/package-lock.json | 564 +- newIDE/app/package.json | 2 +- .../load-image-from-url.json | 2 +- .../src/InstancesEditor/BackgroundColor.js | 2 +- newIDE/app/src/InstancesEditor/Grid.js | 4 +- .../InstancesEditor/HighlightedInstance.js | 4 +- .../InstancesRenderer/LayerRenderer.js | 2 +- .../InstancesRenderer/PixiDoubleClickEvent.js | 2 +- .../InstancesRenderer/index.js | 2 +- .../src/InstancesEditor/SelectedInstances.js | 8 +- .../src/InstancesEditor/SelectionRectangle.js | 4 +- newIDE/app/src/InstancesEditor/StatusBar.js | 2 +- .../app/src/InstancesEditor/ViewPosition.js | 2 +- .../app/src/InstancesEditor/WindowBorder.js | 4 +- newIDE/app/src/InstancesEditor/WindowMask.js | 4 +- newIDE/app/src/InstancesEditor/index.js | 12 +- .../ObjectsRenderingService.js | 75 +- .../ObjectsRendering/PixiResourcesLoader.js | 41 +- .../Renderers/RenderedIconInstance.js | 4 +- .../Renderers/RenderedPanelSpriteInstance.js | 6 +- .../RenderedParticleEmitterInstance.js | 2 +- .../Renderers/RenderedSpriteInstance.js | 4 +- .../Renderers/RenderedTextInstance.js | 2 +- .../Renderers/RenderedTiledSpriteInstance.js | 4 +- .../Renderers/RenderedUnknownInstance.js | 2 +- newIDE/app/src/Utils/PIXITicker.js | 6 +- .../load-image-from-url.json | 4 +- newIDE/app/yarn.lock | 524 +- 367 files changed, 6974 insertions(+), 1187 deletions(-) delete mode 100644 Extensions/BBText/pixi-multistyle-text/dist/pixi-multistyle-text.umd.js.map delete mode 100644 Extensions/Effects/pixi-filters/filter-alpha.js create mode 100755 GDJS/tests/games/effects/Assets/Map/tilebg/tile_bg (1).png create mode 100755 GDJS/tests/games/effects/Assets/Map/tilebg/tile_bg (10).png create mode 100755 GDJS/tests/games/effects/Assets/Map/tilebg/tile_bg (11).png create mode 100755 GDJS/tests/games/effects/Assets/Map/tilebg/tile_bg (12).png create mode 100755 GDJS/tests/games/effects/Assets/Map/tilebg/tile_bg (13).png create mode 100755 GDJS/tests/games/effects/Assets/Map/tilebg/tile_bg (14).png create mode 100755 GDJS/tests/games/effects/Assets/Map/tilebg/tile_bg (15).png create mode 100755 GDJS/tests/games/effects/Assets/Map/tilebg/tile_bg (16).png create mode 100755 GDJS/tests/games/effects/Assets/Map/tilebg/tile_bg (17).png create mode 100755 GDJS/tests/games/effects/Assets/Map/tilebg/tile_bg (18).png create mode 100755 GDJS/tests/games/effects/Assets/Map/tilebg/tile_bg (19).png create mode 100755 GDJS/tests/games/effects/Assets/Map/tilebg/tile_bg (2).png create mode 100755 GDJS/tests/games/effects/Assets/Map/tilebg/tile_bg (20).png create mode 100755 GDJS/tests/games/effects/Assets/Map/tilebg/tile_bg (21).png create mode 100755 GDJS/tests/games/effects/Assets/Map/tilebg/tile_bg (22).png create mode 100755 GDJS/tests/games/effects/Assets/Map/tilebg/tile_bg (23).png create mode 100755 GDJS/tests/games/effects/Assets/Map/tilebg/tile_bg (24).png create mode 100755 GDJS/tests/games/effects/Assets/Map/tilebg/tile_bg (3).png create mode 100755 GDJS/tests/games/effects/Assets/Map/tilebg/tile_bg (4).png create mode 100755 GDJS/tests/games/effects/Assets/Map/tilebg/tile_bg (5).png create mode 100755 GDJS/tests/games/effects/Assets/Map/tilebg/tile_bg (6).png create mode 100755 GDJS/tests/games/effects/Assets/Map/tilebg/tile_bg (7).png create mode 100755 GDJS/tests/games/effects/Assets/Map/tilebg/tile_bg (8).png create mode 100755 GDJS/tests/games/effects/Assets/Map/tilebg/tile_bg (9).png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-X/-X0001.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-X/-X0002.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-X/-X0003.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-X/-X0004.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-X/-X0005.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-X/-X0006.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-X/-X0007.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-X/-X0008.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-X/-X0009.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-X/-X0010.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-X/-X0011.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-X/-X0012.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-X/-X0013.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-X/-X0014.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-X/-X0015.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-X/-X0016.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-X/-X0017.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-X/-X0018.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-X/-X0019.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-X/-X0020.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-X/-X0021.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-X/-X0022.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-X/-X0023.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-X/-X0024.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-X/-X0025.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-X/-X0026.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-X/-X0027.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-X/-X0028.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-X/-X0029.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-X/-X0030.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-Y/-Y0001.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-Y/-Y0002.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-Y/-Y0003.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-Y/-Y0004.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-Y/-Y0005.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-Y/-Y0006.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-Y/-Y0007.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-Y/-Y0008.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-Y/-Y0009.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-Y/-Y0010.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-Y/-Y0011.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-Y/-Y0012.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-Y/-Y0013.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-Y/-Y0014.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-Y/-Y0015.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-Y/-Y0016.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-Y/-Y0017.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-Y/-Y0018.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-Y/-Y0019.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-Y/-Y0020.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-Y/-Y0021.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-Y/-Y0022.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-Y/-Y0023.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-Y/-Y0024.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-Y/-Y0025.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-Y/-Y0026.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-Y/-Y0027.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-Y/-Y0028.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-Y/-Y0029.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-Y/-Y0030.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Down/down0001.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Down/down0002.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Down/down0003.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Down/down0004.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Down/down0005.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Down/down0006.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Down/down0007.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Down/down0008.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Down/down0009.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Down/down0010.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Down/down0011.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Down/down0012.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Down/down0013.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Down/down0014.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Down/down0015.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Down/down0016.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Down/down0017.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Down/down0018.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Down/down0019.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Down/down0020.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Down/down0021.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Down/down0022.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Down/down0023.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Down/down0024.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Down/down0025.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Down/down0026.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Down/down0027.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Down/down0028.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Down/down0029.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Down/down0030.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Left/left0001.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Left/left0002.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Left/left0003.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Left/left0004.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Left/left0005.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Left/left0006.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Left/left0007.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Left/left0008.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Left/left0009.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Left/left0010.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Left/left0011.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Left/left0012.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Left/left0013.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Left/left0014.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Left/left0015.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Left/left0016.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Left/left0017.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Left/left0018.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Left/left0019.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Left/left0020.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Left/left0021.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Left/left0022.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Left/left0023.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Left/left0024.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Left/left0025.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Left/left0026.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Left/left0027.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Left/left0028.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Left/left0029.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Left/left0030.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Right/right0001.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Right/right0002.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Right/right0003.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Right/right0004.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Right/right0005.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Right/right0006.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Right/right0007.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Right/right0008.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Right/right0009.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Right/right0010.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Right/right0011.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Right/right0012.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Right/right0013.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Right/right0014.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Right/right0015.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Right/right0016.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Right/right0017.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Right/right0018.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Right/right0019.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Right/right0020.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Right/right0021.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Right/right0022.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Right/right0023.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Right/right0024.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Right/right0025.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Right/right0026.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Right/right0027.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Right/right0028.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Right/right0029.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Right/right0030.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Up/up0001.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Up/up0002.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Up/up0003.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Up/up0004.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Up/up0005.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Up/up0006.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Up/up0007.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Up/up0008.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Up/up0009.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Up/up0010.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Up/up0011.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Up/up0012.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Up/up0013.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Up/up0014.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Up/up0015.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Up/up0016.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Up/up0017.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Up/up0018.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Up/up0019.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Up/up0020.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Up/up0021.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Up/up0022.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Up/up0023.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Up/up0024.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Up/up0025.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Up/up0026.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Up/up0027.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Up/up0028.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Up/up0029.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Up/up0030.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/X/X0001.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/X/X0002.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/X/X0003.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/X/X0004.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/X/X0005.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/X/X0006.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/X/X0007.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/X/X0008.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/X/X0009.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/X/X0010.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/X/X0011.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/X/X0012.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/X/X0013.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/X/X0014.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/X/X0015.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/X/X0016.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/X/X0017.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/X/X0018.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/X/X0019.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/X/X0020.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/X/X0021.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/X/X0022.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/X/X0023.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/X/X0024.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/X/X0025.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/X/X0026.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/X/X0027.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/X/X0028.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/X/X0029.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/X/X0030.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Y/Y0001.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Y/Y0002.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Y/Y0003.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Y/Y0004.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Y/Y0005.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Y/Y0006.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Y/Y0007.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Y/Y0008.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Y/Y0009.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Y/Y0010.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Y/Y0011.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Y/Y0012.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Y/Y0013.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Y/Y0014.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Y/Y0015.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Y/Y0016.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Y/Y0017.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Y/Y0018.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Y/Y0019.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Y/Y0020.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Y/Y0021.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Y/Y0022.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Y/Y0023.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Y/Y0024.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Y/Y0025.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Y/Y0026.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Y/Y0027.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Y/Y0028.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Y/Y0029.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Y/Y0030.png create mode 100755 GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/test_shadow.png create mode 100755 GDJS/tests/games/effects/Assets/UI/avat-fullpng.png create mode 100755 GDJS/tests/games/effects/NewFile-1.png create mode 100644 GDJS/tests/games/effects/all effects demo.json create mode 100755 GDJS/tests/games/effects/android-icon-144.png create mode 100755 GDJS/tests/games/effects/android-icon-192.png create mode 100755 GDJS/tests/games/effects/android-icon-36.png create mode 100755 GDJS/tests/games/effects/android-icon-48.png create mode 100755 GDJS/tests/games/effects/android-icon-72.png create mode 100755 GDJS/tests/games/effects/android-icon-96.png create mode 100755 GDJS/tests/games/effects/color-map-model-3.png create mode 100755 GDJS/tests/games/effects/desktop-icon-512.png create mode 100644 GDJS/tests/games/effects/displacement_map.png create mode 100755 GDJS/tests/games/effects/ios-icon-100.png create mode 100755 GDJS/tests/games/effects/ios-icon-114.png create mode 100755 GDJS/tests/games/effects/ios-icon-120.png create mode 100755 GDJS/tests/games/effects/ios-icon-144.png create mode 100755 GDJS/tests/games/effects/ios-icon-152.png create mode 100755 GDJS/tests/games/effects/ios-icon-167.png create mode 100755 GDJS/tests/games/effects/ios-icon-180.png create mode 100755 GDJS/tests/games/effects/ios-icon-29.png create mode 100755 GDJS/tests/games/effects/ios-icon-40.png create mode 100755 GDJS/tests/games/effects/ios-icon-50.png create mode 100755 GDJS/tests/games/effects/ios-icon-57.png create mode 100755 GDJS/tests/games/effects/ios-icon-58.png create mode 100755 GDJS/tests/games/effects/ios-icon-60.png create mode 100755 GDJS/tests/games/effects/ios-icon-72.png create mode 100755 GDJS/tests/games/effects/ios-icon-76.png create mode 100755 GDJS/tests/games/effects/ios-icon-80.png delete mode 100644 newIDE/app/flow-typed/npm/pixi.js_vx.x.x.js diff --git a/Extensions/BBText/JsExtension.js b/Extensions/BBText/JsExtension.js index 69a9350c167e..0f77c6ac1627 100644 --- a/Extensions/BBText/JsExtension.js +++ b/Extensions/BBText/JsExtension.js @@ -506,7 +506,7 @@ module.exports = { const rawText = properties.get('text').getValue(); if (rawText !== this._pixiObject.text) { - this._pixiObject.setText(rawText); + this._pixiObject.text = rawText; } const opacity = properties.get('opacity').getValue(); diff --git a/Extensions/BBText/bbtextruntimeobject-pixi-renderer.js b/Extensions/BBText/bbtextruntimeobject-pixi-renderer.js index 74e99111faa8..5d994cc1ca4c 100644 --- a/Extensions/BBText/bbtextruntimeobject-pixi-renderer.js +++ b/Extensions/BBText/bbtextruntimeobject-pixi-renderer.js @@ -67,7 +67,7 @@ gdjs.BBTextRuntimeObjectPixiRenderer.prototype.updateWrappingWidth = function () }; gdjs.BBTextRuntimeObjectPixiRenderer.prototype.updateText = function () { - this._pixiObject.setText(this._object._text); + this._pixiObject.text = this._object._text; this.updatePosition(); }; diff --git a/Extensions/BBText/pixi-multistyle-text/README.md b/Extensions/BBText/pixi-multistyle-text/README.md index 8d5550a60d8b..27b6e037a67e 100644 --- a/Extensions/BBText/pixi-multistyle-text/README.md +++ b/Extensions/BBText/pixi-multistyle-text/README.md @@ -1,9 +1,67 @@ -This extension is using release version 0.8.0 (commit 336bed0b206043e2c3e81c373b7ca02094ecabe7) of the pixi-multistyle-text library: -https://github.com/tleunen/pixi-multistyle-text +# pixi-multistyle-text -The BBcode tag feature was especially added for Gdevelop and this extension (commit 2a7be2084598933502c76419d7a86c0e6cd11719) +[![NPM](https://nodei.co/npm/pixi-multistyle-text.png)](https://nodei.co/npm/pixi-multistyle-text/) -README: -Add a MultiStyleText object inside pixi.js to easily create text using different styles. +Add a `MultiStyleText` object inside [pixi.js](https://github.com/GoodBoyDigital/pixi.js) to easily create text using different styles. -License: MIT +## Example + +In the example below, we are defining 4 text styles. +`default` is the default style for the text, and the others matches the tags inside the text. + +```js +let text = new MultiStyleText("Let's make some multiline\nand multistyle text for\nPixi.js!", +{ + "default": { + fontFamily: "Arial", + fontSize: "24px", + fill: "#cccccc", + align: "center" + }, + "ml": { + fontStyle: "italic", + fill: "#ff8888" + }, + "ms": { + fontStyle: "italic", + fill: "#4488ff" + }, + "pixi": { + fontSize: "64px", + fill: "#efefef" + } +}); +``` +## Build instructions + +``` +$ yarn install +$ yarn build +``` + +## Usage + +### `text = new MultiStyleText(text, textStyles)` + +Creates a new `MultiStyleText` with the given text and styles. + +#### `textStyles` +Type: `{ [key: string]: ExtendedTextStyle }` + +Each key of this dictionary should match with a tag in the text. Use the key `default` for the default style. + +Each `ExtendedTextStyle` object can have [any of the properties of a standard PIXI text style](http://pixijs.download/release/docs/PIXI.TextStyle.html), in addition to a `valign` property that allows you to specify where text is rendered relative to larger text on the same line (`"top"`, `"middle"`, or `"bottom"`). + +The `align`, `wordWrap`, `wordWrapWidth`, and `breakWord` properties are ignored on all styles _except for the `default` style_, which controls those properties for the entire text object. + +If text is rendered without any value assigned to a given parameter, Pixi's defaults are used. + +## Demo +``` +$ yarn demo +``` + + +## License + +MIT, see [LICENSE.md](http://github.com/tleunen/pixi-multistyle-text/blob/master/LICENSE.md) for details. diff --git a/Extensions/BBText/pixi-multistyle-text/dist/pixi-multistyle-text.umd.js b/Extensions/BBText/pixi-multistyle-text/dist/pixi-multistyle-text.umd.js index d7104b3af453..27f6712048f9 100644 --- a/Extensions/BBText/pixi-multistyle-text/dist/pixi-multistyle-text.umd.js +++ b/Extensions/BBText/pixi-multistyle-text/dist/pixi-multistyle-text.umd.js @@ -1 +1 @@ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):t.MultiStyleText=e()}(this,function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(e,n)};var e=["pointerover","pointerenter","pointerdown","pointermove","pointerup","pointercancel","pointerout","pointerleave","gotpointercapture","lostpointercapture","mouseover","mouseenter","mousedown","mousemove","mouseup","mousecancel","mouseout","mouseleave","touchover","touchenter","touchdown","touchmove","touchup","touchcancel","touchout","touchleave"],n="bbcode",o={bbcode:["[","]"],xml:["<",">"]};return function(i){function s(t,n){var o=i.call(this,t)||this;return o.styles=n,e.forEach(function(t){o.on(t,function(t){return o.handleInteraction(t)})}),o}return function(e,n){function o(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(o.prototype=n.prototype,new o)}(s,i),s.prototype.handleInteraction=function(t){var e=t,n=t.data.getLocalPosition(this),o=this.hitboxes.reduce(function(t,e){return void 0!==t?t:e.hitbox.contains(n.x,n.y)?e:void 0},void 0);e.targetTag=void 0===o?void 0:o.tag},Object.defineProperty(s.prototype,"styles",{set:function(t){for(var e in this.textStyles={},this.textStyles.default=this.assign({},s.DEFAULT_TAG_STYLE),t)"default"===e?this.assign(this.textStyles.default,t[e]):this.textStyles[e]=this.assign({},t[e]);this.textStyles.default.tagStyle===n&&(this.textStyles.b=this.assign({},{fontStyle:"bold"}),this.textStyles.i=this.assign({},{fontStyle:"italic"}),this.textStyles.color=this.assign({},{fill:""}),this.textStyles.outline=this.assign({},{stroke:"",strokeThickness:6}),this.textStyles.font=this.assign({},{fontFamily:""}),this.textStyles.shadow=this.assign({},{dropShadowColor:"",dropShadow:!0,dropShadowBlur:3,dropShadowDistance:3,dropShadowAngle:2}),this.textStyles.size=this.assign({},{fontSize:"px"}),this.textStyles.spacing=this.assign({},{letterSpacing:""}),this.textStyles.align=this.assign({},{align:""})),this._style=new PIXI.TextStyle(this.textStyles.default),this.dirty=!0},enumerable:!0,configurable:!0}),s.prototype.setTagStyle=function(t,e){t in this.textStyles?this.assign(this.textStyles[t],e):this.textStyles[t]=this.assign({},e),this._style=new PIXI.TextStyle(this.textStyles.default),this.dirty=!0},s.prototype.deleteTagStyle=function(t){"default"===t?this.textStyles.default=this.assign({},s.DEFAULT_TAG_STYLE):delete this.textStyles[t],this._style=new PIXI.TextStyle(this.textStyles.default),this.dirty=!0},s.prototype.getTagRegex=function(t,e){var i=Object.keys(this.textStyles).join("|");i=t?"("+i+")":"(?:"+i+")";var s=this.textStyles.default.tagStyle===n?"\\"+o.bbcode[0]+i+"(?:\\=(?:[A-Za-z0-9_\\-\\#]+|'(?:[^']+|\\\\')*'))*\\s*\\"+o.bbcode[1]+"|\\"+o.bbcode[0]+"\\/"+i+"\\s*\\"+o.bbcode[1]:"\\"+o.xml[0]+i+"(?:\\s+[A-Za-z0-9_\\-]+=(?:\"(?:[^\"]+|\\\\\")*\"|'(?:[^']+|\\\\')*'))*\\s*\\"+o.xml[1]+"|\\"+o.xml[0]+"\\/"+i+"\\s*\\"+o.xml[1];return e&&(s="("+s+")"),new RegExp(s,"g")},s.prototype.getPropertyRegex=function(){return new RegExp("([A-Za-z0-9_\\-]+)=(?:\"((?:[^\"]+|\\\\\")*)\"|'((?:[^']+|\\\\')*)')","g")},s.prototype.getBBcodePropertyRegex=function(){return new RegExp("[A-Za-z0-9_\\-]+=([A-Za-z0-9_\\-\\#]+)","g")},s.prototype._getTextDataPerLine=function(t){for(var e=[],i=this.getTagRegex(!0,!1),s=[this.assign({},this.textStyles.default)],r=[{name:"default",properties:{}}],a=0;ax&&h.push(g.createTextData(t[a].substring(x,l[e].index),s[s.length-1],r[r.length-1])),"/"===l[e][0][1])s.length>1&&(s.pop(),r.pop());else{for(var o={},i=g.getPropertyRegex(),c=void 0;c=i.exec(l[e][0]);)o[c[1]]=c[2]||c[3];if(r.push({name:l[e][1],properties:o}),g.textStyles.default.tagStyle===n&&l[e][0].includes("=")&&g.textStyles[l[e][1]]){var d=g.getBBcodePropertyRegex().exec(l[e][0]),u={};Object.entries(g.textStyles[l[e][1]]).forEach(function(t){u[t[0]]="string"!=typeof t[1]?t[1]:d[1]+t[1]}),s.push(g.assign({},s[s.length-1],u))}else s.push(g.assign({},s[s.length-1],g.textStyles[l[e][1]]))}x=l[e].index+l[e][0].length},g=this,u=0;u0&&(x+=p.letterSpacing/2),u0||u>0)&&(T+=P.letterSpacing/2);var D=this.context.measureText(_.charAt(E)).width;m.push({text:_.charAt(E),style:P,x:T,y:F,width:D,ascent:I.ascent,descent:I.descent,tag:A}),T+=D,(E<_.length-1||ua){var u=x[d].split("");d>0&&(e+=" ",a-=this.context.measureText(" ").width);for(var p=0;pa?(e+="\n"+u[p],a=i-f):(e+=u[p],a-=f)}}else if(this._style.breakWords)e+=x[d],a-=g;else{var y=g+(d>0?this.context.measureText(" ").width:0);y>a?(l||(e+="\n"),e+=x[d],a=i-g):(a-=y,d>0&&(e+=" "),e+=x[d])}l=!1}r"]},s=function(s){function o(t,i){var o=this;s.call(this,t),this.styles=i,e.forEach(function(t){o.on(t,function(t){return o.handleInteraction(t)})})}s&&(o.__proto__=s),(o.prototype=Object.create(s&&s.prototype)).constructor=o;var n={styles:{configurable:!0}};return o.prototype.handleInteraction=function(t){var e=t,i=t.data.getLocalPosition(this),s=this.hitboxes.reduce(function(t,e){return void 0!==t?t:e.hitbox.contains(i.x,i.y)?e:void 0},void 0);e.targetTag=void 0===s?void 0:s.tag},n.styles.set=function(e){for(var i in this.textStyles={},this.textStyles.default=this.assign({},o.DEFAULT_TAG_STYLE),e)"default"===i?this.assign(this.textStyles.default,e[i]):this.textStyles[i]=this.assign({},e[i]);"bbcode"===this.textStyles.default.tagStyle&&(this.textStyles.b=this.assign({},{fontStyle:"bold"}),this.textStyles.i=this.assign({},{fontStyle:"italic"}),this.textStyles.color=this.assign({},{fill:""}),this.textStyles.outline=this.assign({},{stroke:"",strokeThickness:6}),this.textStyles.font=this.assign({},{fontFamily:""}),this.textStyles.shadow=this.assign({},{dropShadowColor:"",dropShadow:!0,dropShadowBlur:3,dropShadowDistance:3,dropShadowAngle:2}),this.textStyles.size=this.assign({},{fontSize:"px"}),this.textStyles.spacing=this.assign({},{letterSpacing:""}),this.textStyles.align=this.assign({},{align:""})),this.withPrivateMembers()._style=new t.TextStyle(this.textStyles.default),this.withPrivateMembers().dirty=!0},o.prototype.setTagStyle=function(e,i){e in this.textStyles?this.assign(this.textStyles[e],i):this.textStyles[e]=this.assign({},i),this.withPrivateMembers()._style=new t.TextStyle(this.textStyles.default),this.withPrivateMembers().dirty=!0},o.prototype.deleteTagStyle=function(e){"default"===e?this.textStyles.default=this.assign({},o.DEFAULT_TAG_STYLE):delete this.textStyles[e],this.withPrivateMembers()._style=new t.TextStyle(this.textStyles.default),this.withPrivateMembers().dirty=!0},o.prototype.getTagRegex=function(t,e){var s=Object.keys(this.textStyles).join("|");s=t?"("+s+")":"(?:"+s+")";var o="bbcode"===this.textStyles.default.tagStyle?"\\"+i.bbcode[0]+s+"(?:\\=(?:[A-Za-z0-9_\\-\\#]+|'(?:[^']+|\\\\')*'))*\\s*\\"+i.bbcode[1]+"|\\"+i.bbcode[0]+"\\/"+s+"\\s*\\"+i.bbcode[1]:"\\"+i.xml[0]+s+"(?:\\s+[A-Za-z0-9_\\-]+=(?:\"(?:[^\"]+|\\\\\")*\"|'(?:[^']+|\\\\')*'))*\\s*\\"+i.xml[1]+"|\\"+i.xml[0]+"\\/"+s+"\\s*\\"+i.xml[1];return e&&(o="("+o+")"),new RegExp(o,"g")},o.prototype.getPropertyRegex=function(){return new RegExp("([A-Za-z0-9_\\-]+)=(?:\"((?:[^\"]+|\\\\\")*)\"|'((?:[^']+|\\\\')*)')","g")},o.prototype.getBBcodePropertyRegex=function(){return new RegExp("[A-Za-z0-9_\\-]+=([A-Za-z0-9_\\-\\#]+)","g")},o.prototype._getTextDataPerLine=function(t){for(var e=[],s=this.getTagRegex(!0,!1),o=[this.assign({},this.textStyles.default)],n=[{name:"default",properties:{}}],r=0;rc&&a.push(this.createTextData(t[r].substring(c,h[x].index),o[o.length-1],n[n.length-1])),"/"===h[x][0][1])o.length>1&&(o.pop(),n.pop());else{for(var d={},g=this.getPropertyRegex(),p=void 0;p=g.exec(h[x][0]);)d[p[1]]=p[2]||p[3];if(n.push({name:h[x][1],properties:d}),"bbcode"===this.textStyles.default.tagStyle&&h[x][0].includes("=")&&this.textStyles[h[x][1]]){var u=this.getBBcodePropertyRegex().exec(h[x][0]),f={};Object.entries(this.textStyles[h[x][1]]).forEach(function(t){f[t[0]]="string"!=typeof t[1]?t[1]:u[1]+t[1]}),o.push(this.assign({},o[o.length-1],f))}else o.push(this.assign({},o[o.length-1],this.textStyles[h[x][1]]))}c=h[x].index+h[x][0].length}if(c0&&(d+=f.letterSpacing/2),u0||_>0)&&(k+=F.letterSpacing/2);var j=this.context.measureText(O.charAt(W)).width;w.push({text:O.charAt(W),style:F,x:k,y:B,width:j,ascent:A.ascent,descent:A.descent,tag:D}),k+=j,(Wa){var p=x[d].split("");d>0&&(e+=" ",a-=this.context.measureText(" ").width);for(var u=0;ua?(e+="\n"+p[u],a=o-f):(e+=p[u],a-=f)}}else if(this.withPrivateMembers()._style.breakWords)e+=x[d],a-=g;else{var y=g+(d>0?this.context.measureText(" ").width:0);y>a?(l||(e+="\n"),e+=x[d],a=o-g):(a-=y,d>0&&(e+=" "),e+=x[d])}l=!1}r0;)e[i]=arguments[i+1];for(var s=0,o=e;s\n\n\"use strict\";\n\nexport interface ExtendedTextStyle extends PIXI.TextStyleOptions {\n\tvalign?: \"top\" | \"middle\" | \"bottom\" | \"baseline\" | number;\n\tdebug?: boolean;\n\ttagStyle?: \"xml\" | \"bbcode\";\n}\n\nexport interface TextStyleSet {\n\t[key: string]: ExtendedTextStyle;\n}\n\ninterface FontProperties {\n\tascent: number;\n\tdescent: number;\n\tfontSize: number;\n}\n\ninterface TextData {\n\ttext: string;\n\tstyle: ExtendedTextStyle;\n\twidth: number;\n\theight: number;\n\tfontProperties: FontProperties;\n\ttag: TagData;\n}\n\ninterface TextDrawingData {\n\ttext: string;\n\tstyle: ExtendedTextStyle;\n\tx: number;\n\ty: number;\n\twidth: number;\n\tascent: number;\n\tdescent: number;\n\ttag: TagData;\n}\n\nexport interface MstDebugOptions {\n\tspans: {\n\t\tenabled?: boolean;\n\t\tbaseline?: string;\n\t\ttop?: string;\n\t\tbottom?: string;\n\t\tbounding?: string;\n\t\ttext?: boolean;\n\t};\n\tobjects: {\n\t\tenabled?: boolean;\n\t\tbounding?: string;\n\t\ttext?: boolean;\n\t}\n}\n\nexport interface TagData {\n\tname: string;\n\tproperties: { [key: string]: string };\n}\n\nexport interface MstInteractionEvent extends PIXI.interaction.InteractionEvent {\n\ttargetTag: TagData;\n}\n\nconst INTERACTION_EVENTS = [\n\t\"pointerover\",\n\t\"pointerenter\",\n\t\"pointerdown\",\n\t\"pointermove\",\n\t\"pointerup\",\n\t\"pointercancel\",\n\t\"pointerout\",\n\t\"pointerleave\",\n\t\"gotpointercapture\",\n\t\"lostpointercapture\",\n\t\"mouseover\",\n\t\"mouseenter\",\n\t\"mousedown\",\n\t\"mousemove\",\n\t\"mouseup\",\n\t\"mousecancel\",\n\t\"mouseout\",\n\t\"mouseleave\",\n\t\"touchover\",\n\t\"touchenter\",\n\t\"touchdown\",\n\t\"touchmove\",\n\t\"touchup\",\n\t\"touchcancel\",\n\t\"touchout\",\n\t\"touchleave\"\n];\n\nconst TAG_STYLE = {\n\tbbcode: \"bbcode\",\n\txml: \"xml\"\n};\n\nconst TAG = {\n\tbbcode: [\"[\", \"]\"],\n\txml: [\"<\", \">\"]\n};\n\nexport default class MultiStyleText extends PIXI.Text {\n\tprivate static DEFAULT_TAG_STYLE: ExtendedTextStyle = {\n\t\talign: \"left\",\n\t\tbreakWords: false,\n\t\t// debug intentionally not included\n\t\tdropShadow: false,\n\t\tdropShadowAngle: Math.PI / 6,\n\t\tdropShadowBlur: 0,\n\t\tdropShadowColor: \"#000000\",\n\t\tdropShadowDistance: 5,\n\t\tfill: \"black\",\n\t\tfillGradientType: PIXI.TEXT_GRADIENT.LINEAR_VERTICAL,\n\t\tfontFamily: \"Arial\",\n\t\tfontSize: 26,\n\t\tfontStyle: \"normal\",\n\t\tfontVariant: \"normal\",\n\t\tfontWeight: \"normal\",\n\t\tletterSpacing: 0,\n\t\tlineHeight: 0,\n\t\tlineJoin: \"miter\",\n\t\tmiterLimit: 10,\n\t\tpadding: 0,\n\t\tstroke: \"black\",\n\t\tstrokeThickness: 0,\n\t\ttextBaseline: \"alphabetic\",\n\t\tvalign: \"baseline\",\n\t\twordWrap: false,\n\t\twordWrapWidth: 100,\n\t\ttagStyle: \"xml\"\n\t};\n\n\tpublic static debugOptions: MstDebugOptions = {\n\t\tspans: {\n\t\t\tenabled: false,\n\t\t\tbaseline: \"#44BB44\",\n\t\t\ttop: \"#BB4444\",\n\t\t\tbottom: \"#4444BB\",\n\t\t\tbounding: \"rgba(255, 255, 255, 0.1)\",\n\t\t\ttext: true\n\t\t},\n\t\tobjects: {\n\t\t\tenabled: false,\n\t\t\tbounding: \"rgba(255, 255, 255, 0.05)\",\n\t\t\ttext: true\n\t\t}\n\t};\n\n\tprivate textStyles: TextStyleSet;\n\n\tprivate hitboxes: { tag: TagData, hitbox: PIXI.Rectangle }[];\n\n\tconstructor(text: string, styles: TextStyleSet) {\n\t\tsuper(text);\n\n\t\tthis.styles = styles;\n\n\t\tINTERACTION_EVENTS.forEach((event) => {\n\t\t\tthis.on(event, (e: PIXI.interaction.InteractionEvent) => this.handleInteraction(e));\n\t\t});\n\t}\n\n\tprivate handleInteraction(e: PIXI.interaction.InteractionEvent) {\n\t\tlet ev = e as MstInteractionEvent;\n\n\t\tlet localPoint = e.data.getLocalPosition(this);\n\t\tlet targetTag = this.hitboxes.reduce((prev, hitbox) => prev !== undefined ? prev : (hitbox.hitbox.contains(localPoint.x, localPoint.y) ? hitbox : undefined), undefined);\n\t\tev.targetTag = targetTag === undefined ? undefined : targetTag.tag;\n\t}\n\n\tpublic set styles(styles: TextStyleSet) {\n\t\tthis.textStyles = {};\n\n\t\tthis.textStyles[\"default\"] = this.assign({}, MultiStyleText.DEFAULT_TAG_STYLE);\n\n\t\tfor (let style in styles) {\n\t\t\tif (style === \"default\") {\n\t\t\t\tthis.assign(this.textStyles[\"default\"], styles[style]);\n\t\t\t} else {\n\t\t\t\tthis.textStyles[style] = this.assign({}, styles[style]);\n\t\t\t}\n\t\t}\n\t\tif (this.textStyles.default.tagStyle === TAG_STYLE.bbcode) {\n\t\t\t// when using bbcode parsing, register a bunch of standard bbcode tags and some cool pixi ones\n\t\t\tthis.textStyles.b = this.assign({}, {fontStyle: 'bold'});\n\t\t\tthis.textStyles.i = this.assign({}, {fontStyle: 'italic'});\n\t\t\tthis.textStyles.color = this.assign({}, {fill: ''}); // an array would result in gradients\n\t\t\tthis.textStyles.outline = this.assign({}, {stroke: '', strokeThickness: 6});\n\t\t\tthis.textStyles.font = this.assign({}, {fontFamily: ''});\n\t\t\tthis.textStyles.shadow = this.assign({}, {\n\t\t\t\tdropShadowColor: '', dropShadow: true, dropShadowBlur: 3, dropShadowDistance: 3, dropShadowAngle: 2,});\n\t\t\tthis.textStyles.size = this.assign({}, {fontSize: 'px'});\n\t\t\tthis.textStyles.spacing = this.assign({}, {letterSpacing: ''});\n\t\t\tthis.textStyles.align = this.assign({}, {align: ''});\n\t\t}\n\n\t\tthis._style = new PIXI.TextStyle(this.textStyles[\"default\"]);\n\t\tthis.dirty = true;\n\t}\n\n\tpublic setTagStyle(tag: string, style: ExtendedTextStyle): void {\n\t\tif (tag in this.textStyles) {\n\t\t\tthis.assign(this.textStyles[tag], style);\n\t\t} else {\n\t\t\tthis.textStyles[tag] = this.assign({}, style);\n\t\t}\n\n\t\tthis._style = new PIXI.TextStyle(this.textStyles[\"default\"]);\n\t\tthis.dirty = true;\n\t}\n\n\tpublic deleteTagStyle(tag: string): void {\n\t\tif (tag === \"default\") {\n\t\t\tthis.textStyles[\"default\"] = this.assign({}, MultiStyleText.DEFAULT_TAG_STYLE);\n\t\t} else {\n\t\t\tdelete this.textStyles[tag];\n\t\t}\n\n\t\tthis._style = new PIXI.TextStyle(this.textStyles[\"default\"]);\n\t\tthis.dirty = true;\n\t}\n\n\tprivate getTagRegex(captureName: boolean, captureMatch: boolean): RegExp {\n\t\tlet tagAlternation = Object.keys(this.textStyles).join(\"|\");\n\t\tconst { tagStyle } = this.textStyles.default;\n\n\t\tif (captureName) {\n\t\t\ttagAlternation = `(${tagAlternation})`;\n\t\t} else {\n\t\t\ttagAlternation = `(?:${tagAlternation})`;\n\t\t}\n\n\t\tlet reStr = tagStyle === TAG_STYLE.bbcode ? `\\\\${TAG.bbcode[0]}${tagAlternation}(?:\\\\=(?:[A-Za-z0-9_\\\\-\\\\#]+|'(?:[^']+|\\\\\\\\')*'))*\\\\s*\\\\${TAG.bbcode[1]}|\\\\${TAG.bbcode[0]}\\\\/${tagAlternation}\\\\s*\\\\${TAG.bbcode[1]}`\n\t\t: `\\\\${TAG.xml[0]}${tagAlternation}(?:\\\\s+[A-Za-z0-9_\\\\-]+=(?:\"(?:[^\"]+|\\\\\\\\\")*\"|'(?:[^']+|\\\\\\\\')*'))*\\\\s*\\\\${TAG.xml[1]}|\\\\${TAG.xml[0]}\\\\/${tagAlternation}\\\\s*\\\\${TAG.xml[1]}`;\n\n\t\tif (captureMatch) {\n\t\t\treStr = `(${reStr})`;\n\t\t}\n\n\t\treturn new RegExp(reStr, \"g\");\n\t}\n\n\tprivate getPropertyRegex(): RegExp {\n\t\treturn new RegExp(`([A-Za-z0-9_\\\\-]+)=(?:\"((?:[^\"]+|\\\\\\\\\")*)\"|'((?:[^']+|\\\\\\\\')*)')`, \"g\");\n\t}\n\n\tprivate getBBcodePropertyRegex(): RegExp {\n\t\treturn new RegExp(`[A-Za-z0-9_\\\\-]+=([A-Za-z0-9_\\\\-\\\\#]+)`, \"g\");\n\t}\n\n\tprivate _getTextDataPerLine (lines: string[]) {\n\t\tlet outputTextData: TextData[][] = [];\n\t\tlet re = this.getTagRegex(true, false);\n\n\t\tlet styleStack = [this.assign({}, this.textStyles[\"default\"])];\n\t\tlet tagStack: TagData[] = [{ name: \"default\", properties: {} }];\n\n\t\t// determine the group of word for each line\n\t\tfor (let i = 0; i < lines.length; i++) {\n\t\t\tlet lineTextData: TextData[] = [];\n\n\t\t\t// find tags inside the string\n\t\t\tlet matches: RegExpExecArray[] = [];\n\t\t\tlet matchArray: RegExpExecArray;\n\n\t\t\twhile (matchArray = re.exec(lines[i])) {\n\t\t\t\tmatches.push(matchArray);\n\t\t\t}\n\t\t\t// if there is no match, we still need to add the line with the default style\n\t\t\tif (matches.length === 0) {\n\t\t\t\tlineTextData.push(this.createTextData(lines[i], styleStack[styleStack.length - 1], tagStack[tagStack.length - 1]));\n\t\t\t}\n\t\t\telse {\n\t\t\t\t// We got a match! add the text with the needed style\n\t\t\t\tlet currentSearchIdx = 0;\n\t\t\t\tfor (let j = 0; j < matches.length; j++) {\n\t\t\t\t\t// if index > 0, it means we have characters before the match,\n\t\t\t\t\t// so we need to add it with the default style\n\t\t\t\t\tif (matches[j].index > currentSearchIdx) {\n\t\t\t\t\t\tlineTextData.push(this.createTextData(\n\t\t\t\t\t\t\tlines[i].substring(currentSearchIdx, matches[j].index),\n\t\t\t\t\t\t\tstyleStack[styleStack.length - 1],\n\t\t\t\t\t\t\ttagStack[tagStack.length - 1]\n\t\t\t\t\t\t));\n\t\t\t\t\t}\n\n\t\t\t\t\tif (matches[j][0][1] === \"/\") { // reset the style if end of tag\n\t\t\t\t\t\tif (styleStack.length > 1) {\n\t\t\t\t\t\t\tstyleStack.pop();\n\t\t\t\t\t\t\ttagStack.pop();\n\t\t\t\t\t\t}\n\t\t\t\t\t} else { // set the current style\n\t\t\t\t\t\tlet properties: { [key: string]: string } = {};\n\t\t\t\t\t\tlet propertyRegex = this.getPropertyRegex();\n\t\t\t\t\t\tlet propertyMatch: RegExpMatchArray;\n\n\t\t\t\t\t\twhile (propertyMatch = propertyRegex.exec(matches[j][0])) {\n\t\t\t\t\t\t\tproperties[propertyMatch[1]] = propertyMatch[2] || propertyMatch[3];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\ttagStack.push({ name: matches[j][1], properties });\n\n\t\t\t\t\t\tconst { tagStyle } = this.textStyles.default;\n\t\t\t\t\t\t// if using bbtag style, take styling information in a different way\n\t\t\t\t\t\tif (tagStyle === TAG_STYLE.bbcode && matches[j][0].includes('=') && this.textStyles[matches[j][1]]) {\n\t\t\t\t\t\t\tconst bbcodeRegex = this.getBBcodePropertyRegex();\n\t\t\t\t\t\t\tconst bbcodeTags = bbcodeRegex.exec(matches[j][0]);\n\t\t\t\t\t\t\tlet bbStyle:{ [key: string]: string } = {};\n\t\t\t\t\t\t\tObject.entries(this.textStyles[matches[j][1]]).forEach( style => {\n\t\t\t\t\t\t\t\tbbStyle[style[0]] = typeof style[1] !== 'string'? style[1] : bbcodeTags[1] + style[1];\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\tstyleStack.push(this.assign({}, styleStack[styleStack.length - 1], bbStyle));\n\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tstyleStack.push(this.assign({}, styleStack[styleStack.length - 1], this.textStyles[matches[j][1]]));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// update the current search index\n\t\t\t\t\tcurrentSearchIdx = matches[j].index + matches[j][0].length;\n\t\t\t\t}\n\n\t\t\t\t// is there any character left?\n\t\t\t\tif (currentSearchIdx < lines[i].length) {\n\t\t\t\t\tconst result = this.createTextData(\n\t\t\t\t\t\tcurrentSearchIdx ? lines[i].substring(currentSearchIdx) : lines[i],\n\t\t\t\t\t\tstyleStack[styleStack.length - 1],\n\t\t\t\t\t\ttagStack[tagStack.length - 1]\n\t\t\t\t\t)\n\t\t\t\t\tlineTextData.push(result);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\toutputTextData.push(lineTextData);\n\t\t}\n\n\t\t// don't display any incomplete tags at the end of text- good for scrolling text in games\n\t\tconst { tagStyle } = this.textStyles.default;\n\t\toutputTextData[outputTextData.length-1].map( data => {\n\t\t\tif (data.text.includes(TAG[tagStyle][0])) data.text = data.text.match(tagStyle === TAG_STYLE.bbcode ? /^(.*)\\[/ : /^(.*)\\ {\n\t\t\tlet { dropShadowDistance, dropShadowBlur } = this.textStyles[styleKey];\n\t\t\tmaxDistance = Math.max(maxDistance, dropShadowDistance || 0);\n\t\t\tmaxBlur = Math.max(maxBlur, dropShadowBlur || 0);\n\t\t});\n\n\t\treturn maxDistance + maxBlur;\n\t}\n\n\tpublic updateText(): void {\n\t\tif (!this.dirty) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.hitboxes = [];\n\n\t\tthis.texture.baseTexture.resolution = this.resolution;\n\t\tlet textStyles = this.textStyles;\n\t\tlet outputText = this.text;\n\n\t\tif(this._style.wordWrap) {\n\t\t\toutputText = this.wordWrap(this.text);\n\t\t}\n\n\t\t// split text into lines\n\t\tlet lines = outputText.split(/(?:\\r\\n|\\r|\\n)/);\n\n\t\t// get the text data with specific styles\n\t\tlet outputTextData = this._getTextDataPerLine(lines);\n\n\t\t// calculate text width and height\n\t\tlet lineWidths: number[] = [];\n\t\tlet lineYMins: number[] = [];\n\t\tlet lineYMaxs: number[] = [];\n\t\tlet baselines: number[] = [];\n\t\tlet maxLineWidth = 0;\n\n\t\tfor (let i = 0; i < lines.length; i++) {\n\t\t\tlet lineWidth = 0;\n\t\t\tlet lineYMin = 0;\n\t\t\tlet lineYMax = 0;\n\t\t\tlet baseline = 0;\n\t\t\tfor (let j = 0; j < outputTextData[i].length; j++) {\n\t\t\t\tlet sty = outputTextData[i][j].style;\n\n\t\t\t\tthis.context.font = this.getFontString(sty);\n\n\t\t\t\t// save the width\n\t\t\t\toutputTextData[i][j].width = this.context.measureText(outputTextData[i][j].text).width;\n\n\t\t\t\tif (outputTextData[i][j].text.length !== 0) {\n\t\t\t\t\toutputTextData[i][j].width += (outputTextData[i][j].text.length - 1) * sty.letterSpacing;\n\n\t\t\t\t\tif (j > 0) {\n\t\t\t\t\t\tlineWidth += sty.letterSpacing / 2; // spacing before first character\n\t\t\t\t\t}\n\n\t\t\t\t\tif (j < outputTextData[i].length - 1) {\n\t\t\t\t\t\tlineWidth += sty.letterSpacing / 2; // spacing after last character\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tlineWidth += outputTextData[i][j].width;\n\n\t\t\t\t// save the font properties\n\t\t\t\toutputTextData[i][j].fontProperties = PIXI.TextMetrics.measureFont(this.context.font);\n\n\t\t\t\t// save the height\n\t\t\t\toutputTextData[i][j].height = outputTextData[i][j].fontProperties.fontSize;\n\n\t\t\t\tif (typeof sty.valign === \"number\") {\n\t\t\t\t\tlineYMin =\n\t\t\t\t\t\tMath.min(\n\t\t\t\t\t\t\tlineYMin,\n\t\t\t\t\t\t\tsty.valign\n\t\t\t\t\t\t\t\t- outputTextData[i][j].fontProperties.descent);\n\t\t\t\t\tlineYMax =\n\t\t\t\t\t\tMath.max(\n\t\t\t\t\t\t\tlineYMax,\n\t\t\t\t\t\t\tsty.valign\n\t\t\t\t\t\t\t\t+ outputTextData[i][j].fontProperties.ascent);\n\t\t\t\t} else {\n\t\t\t\t\tlineYMin =\n\t\t\t\t\t\tMath.min(\n\t\t\t\t\t\t\tlineYMin,\n\t\t\t\t\t\t\t-outputTextData[i][j].fontProperties.descent);\n\t\t\t\t\tlineYMax =\n\t\t\t\t\t\tMath.max(\n\t\t\t\t\t\t\tlineYMax,\n\t\t\t\t\t\t\toutputTextData[i][j].fontProperties.ascent);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlineWidths[i] = lineWidth;\n\t\t\tlineYMins[i] = lineYMin;\n\t\t\tlineYMaxs[i] = lineYMax;\n\t\t\tmaxLineWidth = Math.max(maxLineWidth, lineWidth);\n\t\t}\n\n\t\t// transform styles in array\n\t\tlet stylesArray = Object.keys(textStyles).map((key) => textStyles[key]);\n\n\t\tlet maxStrokeThickness = stylesArray.reduce((prev, cur) => Math.max(prev, cur.strokeThickness || 0), 0);\n\n\t\tlet dropShadowPadding = this.getDropShadowPadding();\n\n\t\tlet totalHeight = lineYMaxs.reduce((prev, cur) => prev + cur, 0) - lineYMins.reduce((prev, cur) => prev + cur, 0);\n\n\t\t// define the right width and height\n\t\tlet width = maxLineWidth + 2 * maxStrokeThickness + 2 * dropShadowPadding;\n\t\tlet height = totalHeight + 2 * maxStrokeThickness + 2 * dropShadowPadding;\n\n\t\tthis.canvas.width = width * this.resolution;\n\t\tthis.canvas.height = height * this.resolution;\n\n\t\tthis.context.scale(this.resolution, this.resolution);\n\n\t\tthis.context.textBaseline = \"alphabetic\";\n\t\tthis.context.lineJoin = \"round\";\n\n\t\tlet basePositionY = dropShadowPadding + maxStrokeThickness;\n\n\t\tlet drawingData: TextDrawingData[] = [];\n\n\t\t// Compute the drawing data\n\t\tfor (let i = 0; i < outputTextData.length; i++) {\n\t\t\tlet line = outputTextData[i];\n\t\t\tlet linePositionX: number;\n\n\t\t\tswitch (this._style.align) {\n\t\t\t\tcase \"left\":\n\t\t\t\t\tlinePositionX = dropShadowPadding + maxStrokeThickness;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"center\":\n\t\t\t\t\tlinePositionX = dropShadowPadding + maxStrokeThickness + (maxLineWidth - lineWidths[i]) / 2;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"right\":\n\t\t\t\t\tlinePositionX = dropShadowPadding + maxStrokeThickness + maxLineWidth - lineWidths[i];\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tfor (let j = 0; j < line.length; j++) {\n\t\t\t\tlet { style, text, fontProperties, width, height, tag } = line[j];\n\n\t\t\t\tlet linePositionY = basePositionY + fontProperties.ascent;\n\n\t\t\t\tswitch (style.valign) {\n\t\t\t\t\tcase \"top\":\n\t\t\t\t\t\t// no need to do anything\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase \"baseline\":\n\t\t\t\t\t\tlinePositionY += lineYMaxs[i] - fontProperties.ascent;\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase \"middle\":\n\t\t\t\t\t\tlinePositionY += (lineYMaxs[i] - lineYMins[i] - fontProperties.ascent - fontProperties.descent) / 2;\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase \"bottom\":\n\t\t\t\t\t\tlinePositionY += lineYMaxs[i] - lineYMins[i] - fontProperties.ascent - fontProperties.descent;\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tdefault:\n\t\t\t\t\t\t// A number - offset from baseline, positive is higher\n\t\t\t\t\t\tlinePositionY += lineYMaxs[i] - fontProperties.ascent - style.valign;\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tif (style.letterSpacing === 0) {\n\t\t\t\t\tdrawingData.push({\n\t\t\t\t\t\ttext,\n\t\t\t\t\t\tstyle,\n\t\t\t\t\t\tx: linePositionX,\n\t\t\t\t\t\ty: linePositionY,\n\t\t\t\t\t\twidth,\n\t\t\t\t\t\tascent: fontProperties.ascent,\n\t\t\t\t\t\tdescent: fontProperties.descent,\n\t\t\t\t\t\ttag\n\t\t\t\t\t});\n\n\t\t\t\t\tlinePositionX += line[j].width;\n\t\t\t\t} else {\n\t\t\t\t\tthis.context.font = this.getFontString(line[j].style);\n\n\t\t\t\t\tfor (let k = 0; k < text.length; k++) {\n\t\t\t\t\t\tif (k > 0 || j > 0) {\n\t\t\t\t\t\t\tlinePositionX += style.letterSpacing / 2;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tlet charWidth = this.context.measureText(text.charAt(k)).width;\n\n\t\t\t\t\t\tdrawingData.push({\n\t\t\t\t\t\t\ttext: text.charAt(k),\n\t\t\t\t\t\t\tstyle,\n\t\t\t\t\t\t\tx: linePositionX,\n\t\t\t\t\t\t\ty: linePositionY,\n\t\t\t\t\t\t\twidth: charWidth,\n\t\t\t\t\t\t\tascent: fontProperties.ascent,\n\t\t\t\t\t\t\tdescent: fontProperties.descent,\n\t\t\t\t\t\t\ttag\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tlinePositionX += charWidth;\n\n\t\t\t\t\t\tif (k < text.length - 1 || j < line.length - 1) {\n\t\t\t\t\t\t\tlinePositionX += style.letterSpacing / 2;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tbasePositionY += lineYMaxs[i] - lineYMins[i];\n\t\t}\n\n\t\tthis.context.save();\n\n\t\t// First pass: draw the shadows only\n\t\tdrawingData.forEach(({ style, text, x, y }) => {\n\t\t\tif (!style.dropShadow) {\n\t\t\t\treturn; // This text doesn't have a shadow\n\t\t\t}\n\n\t\t\tthis.context.font = this.getFontString(style);\n\n\t\t\tlet dropFillStyle = style.dropShadowColor;\n\t\t\tif (typeof dropFillStyle === \"number\") {\n\t\t\t\tdropFillStyle = PIXI.utils.hex2string(dropFillStyle);\n\t\t\t}\n\t\t\tthis.context.shadowColor = dropFillStyle;\n\t\t\tthis.context.shadowBlur = style.dropShadowBlur;\n\t\t\tthis.context.shadowOffsetX = Math.cos(style.dropShadowAngle) * style.dropShadowDistance * this.resolution;\n\t\t\tthis.context.shadowOffsetY = Math.sin(style.dropShadowAngle) * style.dropShadowDistance * this.resolution;\n\n\t\t\tthis.context.fillText(text, x, y);\n\t\t});\n\n\t\tthis.context.restore();\n\n\t\t// Second pass: draw the strokes only\n\t\tdrawingData.forEach(({ style, text, x, y, width, ascent, descent, tag }) => {\n\t\t\tif (style.stroke === undefined || !style.strokeThickness) {\n\t\t\t\treturn; // Skip this step if we have no stroke\n\t\t\t}\n\n\t\t\tthis.context.font = this.getFontString(style);\n\n\t\t\tlet strokeStyle = style.stroke;\n\t\t\tif (typeof strokeStyle === \"number\") {\n\t\t\t\tstrokeStyle = PIXI.utils.hex2string(strokeStyle);\n\t\t\t}\n\n\t\t\tthis.context.strokeStyle = strokeStyle;\n\t\t\tthis.context.lineWidth = style.strokeThickness;\n\n\t\t\tthis.context.strokeText(text, x, y);\n\t\t});\n\n\t\t// Third pass: draw the fills only\n\t\tdrawingData.forEach(({ style, text, x, y, width, ascent, descent, tag }) => {\n\t\t\tif (style.fill === undefined) {\n\t\t\t\treturn; // Skip this step if we have no fill\n\t\t\t}\n\n\t\t\tthis.context.font = this.getFontString(style);\n\n\t\t\t// set canvas text styles\n\t\t\tlet fillStyle = style.fill;\n\t\t\tif (typeof fillStyle === \"number\") {\n\t\t\t\tfillStyle = PIXI.utils.hex2string(fillStyle);\n\t\t\t} else if (Array.isArray(fillStyle)) {\n\t\t\t\tfor (let i = 0; i < fillStyle.length; i++) {\n\t\t\t\t\tlet fill = fillStyle[i];\n\t\t\t\t\tif (typeof fill === \"number\") {\n\t\t\t\t\t\tfillStyle[i] = PIXI.utils.hex2string(fill);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.context.fillStyle = this._generateFillStyle(new PIXI.TextStyle(style), [text]) as string | CanvasGradient;\n\t\t\t// Typecast required for proper typechecking\n\n\t\t\tthis.context.fillText(text, x, y);\n\t\t});\n\n\t\t// Fourth pass: collect the bounding boxes and draw the debug information\n\t\tdrawingData.forEach(({ style, text, x, y, width, ascent, descent, tag }) => {\n\t\t\tlet offset = -this._style.padding - this.getDropShadowPadding();\n\n\t\t\tthis.hitboxes.push({\n\t\t\t\ttag,\n\t\t\t\thitbox: new PIXI.Rectangle(x + offset, y - ascent + offset, width, ascent + descent)\n\t\t\t});\n\n\t\t\tlet debugSpan = style.debug === undefined\n\t\t\t\t? MultiStyleText.debugOptions.spans.enabled\n\t\t\t\t: style.debug;\n\n\t\t\tif (debugSpan) {\n\t\t\t\tthis.context.lineWidth = 1;\n\n\t\t\t\tif (MultiStyleText.debugOptions.spans.bounding) {\n\t\t\t\t\tthis.context.fillStyle = MultiStyleText.debugOptions.spans.bounding;\n\t\t\t\t\tthis.context.strokeStyle = MultiStyleText.debugOptions.spans.bounding;\n\t\t\t\t\tthis.context.beginPath();\n\t\t\t\t\tthis.context.rect(x, y - ascent, width, ascent + descent);\n\t\t\t\t\tthis.context.fill();\n\t\t\t\t\tthis.context.stroke();\n\t\t\t\t\tthis.context.stroke(); // yes, twice\n\t\t\t\t}\n\n\t\t\t\tif (MultiStyleText.debugOptions.spans.baseline) {\n\t\t\t\t\tthis.context.strokeStyle = MultiStyleText.debugOptions.spans.baseline;\n\t\t\t\t\tthis.context.beginPath();\n\t\t\t\t\tthis.context.moveTo(x, y);\n\t\t\t\t\tthis.context.lineTo(x + width, y);\n\t\t\t\t\tthis.context.closePath();\n\t\t\t\t\tthis.context.stroke();\n\t\t\t\t}\n\n\t\t\t\tif (MultiStyleText.debugOptions.spans.top) {\n\t\t\t\t\tthis.context.strokeStyle = MultiStyleText.debugOptions.spans.top;\n\t\t\t\t\tthis.context.beginPath();\n\t\t\t\t\tthis.context.moveTo(x, y - ascent);\n\t\t\t\t\tthis.context.lineTo(x + width, y - ascent);\n\t\t\t\t\tthis.context.closePath();\n\t\t\t\t\tthis.context.stroke();\n\t\t\t\t}\n\n\t\t\t\tif (MultiStyleText.debugOptions.spans.bottom) {\n\t\t\t\t\tthis.context.strokeStyle = MultiStyleText.debugOptions.spans.bottom;\n\t\t\t\t\tthis.context.beginPath();\n\t\t\t\t\tthis.context.moveTo(x, y + descent);\n\t\t\t\t\tthis.context.lineTo(x + width, y + descent);\n\t\t\t\t\tthis.context.closePath();\n\t\t\t\t\tthis.context.stroke();\n\t\t\t\t}\n\n\t\t\t\tif (MultiStyleText.debugOptions.spans.text) {\n\t\t\t\t\tthis.context.fillStyle = \"#ffffff\";\n\t\t\t\t\tthis.context.strokeStyle = \"#000000\";\n\t\t\t\t\tthis.context.lineWidth = 2;\n\t\t\t\t\tthis.context.font = \"8px monospace\";\n\t\t\t\t\tthis.context.strokeText(tag.name, x, y - ascent + 8);\n\t\t\t\t\tthis.context.fillText(tag.name, x, y - ascent + 8);\n\t\t\t\t\tthis.context.strokeText(`${width.toFixed(2)}x${(ascent + descent).toFixed(2)}`, x, y - ascent + 16);\n\t\t\t\t\tthis.context.fillText(`${width.toFixed(2)}x${(ascent + descent).toFixed(2)}`, x, y - ascent + 16);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tif (MultiStyleText.debugOptions.objects.enabled) {\n\t\t\tif (MultiStyleText.debugOptions.objects.bounding) {\n\t\t\t\tthis.context.fillStyle = MultiStyleText.debugOptions.objects.bounding;\n\t\t\t\tthis.context.beginPath();\n\t\t\t\tthis.context.rect(0, 0, width, height);\n\t\t\t\tthis.context.fill();\n\t\t\t}\n\n\t\t\tif (MultiStyleText.debugOptions.objects.text) {\n\t\t\t\tthis.context.fillStyle = \"#ffffff\";\n\t\t\t\tthis.context.strokeStyle = \"#000000\";\n\t\t\t\tthis.context.lineWidth = 2;\n\t\t\t\tthis.context.font = \"8px monospace\";\n\t\t\t\tthis.context.strokeText(`${width.toFixed(2)}x${height.toFixed(2)}`, 0, 8, width);\n\t\t\t\tthis.context.fillText(`${width.toFixed(2)}x${height.toFixed(2)}`, 0, 8, width);\n\t\t\t}\n\t\t}\n\n\t\tthis.updateTexture();\n\t}\n\n\tprotected wordWrap(text: string): string {\n\t\t// Greedy wrapping algorithm that will wrap words as the line grows longer than its horizontal bounds.\n\t\tlet result = \"\";\n\t\tlet re = this.getTagRegex(true, true);\n\n\t\tconst lines = text.split(\"\\n\");\n\t\tconst wordWrapWidth = this._style.wordWrapWidth;\n\t\tlet styleStack = [this.assign({}, this.textStyles[\"default\"])];\n\t\tthis.context.font = this.getFontString(this.textStyles[\"default\"]);\n\n\t\tfor (let i = 0; i < lines.length; i++) {\n\t\t\tlet spaceLeft = wordWrapWidth;\n\t\t\tconst tagSplit = lines[i].split(re);\n\t\t\tlet firstWordOfLine = true;\n\n\t\t\tfor (let j = 0; j < tagSplit.length; j++) {\n\t\t\t\tif (re.test(tagSplit[j])) {\n\t\t\t\t\tresult += tagSplit[j];\n\t\t\t\t\tif (tagSplit[j][1] === \"/\") {\n\t\t\t\t\t\tj += 2;\n\t\t\t\t\t\tstyleStack.pop();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tj++;\n\t\t\t\t\t\tstyleStack.push(this.assign({}, styleStack[styleStack.length - 1], this.textStyles[tagSplit[j]]));\n\t\t\t\t\t\tj++;\n\t\t\t\t\t}\n\t\t\t\t\tthis.context.font = this.getFontString(styleStack[styleStack.length - 1]);\n\t\t\t\t} else {\n\t\t\t\t\tconst words = tagSplit[j].split(\" \");\n\n\t\t\t\t\tfor (let k = 0; k < words.length; k++) {\n\t\t\t\t\t\tconst wordWidth = this.context.measureText(words[k]).width;\n\n\t\t\t\t\t\tif (this._style.breakWords && wordWidth > spaceLeft) {\n\t\t\t\t\t\t\t// Part should be split in the middle\n\t\t\t\t\t\t\tconst characters = words[k].split('');\n\n\t\t\t\t\t\t\tif (k > 0) {\n\t\t\t\t\t\t\t\tresult += \" \";\n\t\t\t\t\t\t\t\tspaceLeft -= this.context.measureText(\" \").width;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tfor (let c = 0; c < characters.length; c++) {\n\t\t\t\t\t\t\t\tconst characterWidth = this.context.measureText(characters[c]).width;\n\n\t\t\t\t\t\t\t\tif (characterWidth > spaceLeft) {\n\t\t\t\t\t\t\t\t\tresult += `\\n${characters[c]}`;\n\t\t\t\t\t\t\t\t\tspaceLeft = wordWrapWidth - characterWidth;\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tresult += characters[c];\n\t\t\t\t\t\t\t\t\tspaceLeft -= characterWidth;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else if(this._style.breakWords) {\n\t\t\t\t\t\t\tresult += words[k];\n\t\t\t\t\t\t\tspaceLeft -= wordWidth;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst paddedWordWidth =\n\t\t\t\t\t\t\t\twordWidth + (k > 0 ? this.context.measureText(\" \").width : 0);\n\n\t\t\t\t\t\t\tif (paddedWordWidth > spaceLeft) {\n\t\t\t\t\t\t\t\t// Skip printing the newline if it's the first word of the line that is\n\t\t\t\t\t\t\t\t// greater than the word wrap width.\n\t\t\t\t\t\t\t\tif (!firstWordOfLine) {\n\t\t\t\t\t\t\t\t\tresult += \"\\n\";\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tresult += words[k];\n\t\t\t\t\t\t\t\tspaceLeft = wordWrapWidth - wordWidth;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tspaceLeft -= paddedWordWidth;\n\n\t\t\t\t\t\t\t\tif (k > 0) {\n\t\t\t\t\t\t\t\t\tresult += \" \";\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tresult += words[k];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tfirstWordOfLine = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (i < lines.length - 1) {\n\t\t\t\tresult += '\\n';\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t}\n\n\tprotected updateTexture() {\n\t\tconst texture = this._texture;\n\n\t\tlet dropShadowPadding = this.getDropShadowPadding();\n\n\t\ttexture.baseTexture.hasLoaded = true;\n\t\ttexture.baseTexture.resolution = this.resolution;\n\n\t\ttexture.baseTexture.realWidth = this.canvas.width;\n\t\ttexture.baseTexture.realHeight = this.canvas.height;\n\t\ttexture.baseTexture.width = this.canvas.width / this.resolution;\n\t\ttexture.baseTexture.height = this.canvas.height / this.resolution;\n\t\ttexture.trim.width = texture.frame.width = this.canvas.width / this.resolution;\n\t\ttexture.trim.height = texture.frame.height = this.canvas.height / this.resolution;\n\n\t\ttexture.trim.x = -this._style.padding - dropShadowPadding;\n\t\ttexture.trim.y = -this._style.padding - dropShadowPadding;\n\n\t\ttexture.orig.width = texture.frame.width - (this._style.padding + dropShadowPadding) * 2;\n\t\ttexture.orig.height = texture.frame.height - (this._style.padding + dropShadowPadding) * 2;\n\n\t\t// call sprite onTextureUpdate to update scale if _width or _height were set\n\t\tthis._onTextureUpdate();\n\n\t\ttexture.baseTexture.emit('update', texture.baseTexture);\n\n\t\tthis.dirty = false;\n\t}\n\n\t// Lazy fill for Object.assign\n\tprivate assign(destination: any, ...sources: any[]): any {\n\t\tfor (let source of sources) {\n\t\t\tfor (let key in source) {\n\t\t\t\tdestination[key] = source[key];\n\t\t\t}\n\t\t}\n\n\t\treturn destination;\n\t}\n}\n"],"names":["INTERACTION_EVENTS","TAG_STYLE","TAG","bbcode","xml","text","styles","_super","_this","forEach","event","on","e","handleInteraction","__extends","MultiStyleText","ev","localPoint","data","getLocalPosition","this","targetTag","hitboxes","reduce","prev","hitbox","undefined","contains","x","y","tag","Object","style","textStyles","assign","DEFAULT_TAG_STYLE","default","tagStyle","b","fontStyle","i","color","fill","outline","stroke","strokeThickness","font","fontFamily","shadow","dropShadowColor","dropShadow","dropShadowBlur","dropShadowDistance","dropShadowAngle","size","fontSize","spacing","letterSpacing","align","_style","PIXI","TextStyle","dirty","captureName","captureMatch","tagAlternation","keys","join","reStr","RegExp","lines","outputTextData","re","getTagRegex","styleStack","tagStack","name","properties","length","lineTextData","matches","matchArray","exec","push","createTextData","currentSearchIdx","j","index","this_1","substring","pop","propertyRegex","getPropertyRegex","propertyMatch","includes","bbcodeTags_1","getBBcodePropertyRegex","bbStyle_1","entries","result","map","match","toFontString","width","height","fontProperties","maxDistance","maxBlur","styleKey","_a","Math","max","texture","baseTexture","resolution","outputText","wordWrap","split","_getTextDataPerLine","lineWidths","lineYMins","lineYMaxs","maxLineWidth","lineWidth","lineYMin","lineYMax","sty","context","getFontString","measureText","TextMetrics","measureFont","valign","min","descent","ascent","maxStrokeThickness","key","cur","dropShadowPadding","getDropShadowPadding","canvas","scale","textBaseline","lineJoin","basePositionY","drawingData","line","linePositionX","width_1","linePositionY","k","charWidth","charAt","save","dropFillStyle","utils","hex2string","shadowColor","shadowBlur","shadowOffsetX","cos","shadowOffsetY","sin","fillText","restore","strokeStyle","strokeText","fillStyle","Array","isArray","_generateFillStyle","offset","padding","Rectangle","debug","debugOptions","spans","enabled","bounding","beginPath","rect","baseline","moveTo","lineTo","closePath","top","bottom","toFixed","objects","updateTexture","wordWrapWidth","spaceLeft","tagSplit","firstWordOfLine","test","words","wordWidth","breakWords","characters","c","characterWidth","paddedWordWidth","_texture","hasLoaded","realWidth","realHeight","trim","frame","orig","_onTextureUpdate","emit","destination","_i","sources","sources_1","source","PI","fillGradientType","TEXT_GRADIENT","LINEAR_VERTICAL","fontVariant","fontWeight","lineHeight","miterLimit","Text"],"mappings":"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"} \ No newline at end of file diff --git a/Extensions/Effects/JsExtension.js b/Extensions/Effects/JsExtension.js index cbdb36b304fa..1a8a233020de 100644 --- a/Extensions/Effects/JsExtension.js +++ b/Extensions/Effects/JsExtension.js @@ -200,7 +200,6 @@ module.exports = { .setDescription( _('Alter the rendered image with the specified blend mode.') ) - .addIncludeFile('Extensions/Effects/pixi-filters/filter-alpha.js') .addIncludeFile('Extensions/Effects/blending-mode-pixi-filter.js'); const blendingModeProperties = blendingModeEffect.getProperties(); blendingModeProperties @@ -240,7 +239,7 @@ module.exports = { .setLabel(_('Resolution')) .setType('number'); blurProperties - .getOrCreate('resolution') + .getOrCreate('kernelSize') .setValue('5') .setLabel(_('Kernel size (one of these values: 5, 7, 9, 11, 13, 15)')) .setType('number'); @@ -847,8 +846,8 @@ module.exports = { .setDescription( _("Applies a pixelate effect, making display objects appear 'blocky'.") ) - .addIncludeFile('Extensions/Effects/pixelate-pixi-filter.js') - .addIncludeFile('Extensions/Effects/pixi-filters/filter-pixelate.js'); + .addIncludeFile('Extensions/Effects/pixi-filters/filter-pixelate.js') + .addIncludeFile('Extensions/Effects/pixelate-pixi-filter.js'); const pixelateProperties = pixelateEffect.getProperties(); pixelateProperties .getOrCreate('size') @@ -901,8 +900,8 @@ module.exports = { 'Applies a reflection effect to simulate the reflection on water with waves.' ) ) - .addIncludeFile('Extensions/Effects/reflection-pixi-filter.js') - .addIncludeFile('Extensions/Effects/pixi-filters/filter-reflection.js'); + .addIncludeFile('Extensions/Effects/pixi-filters/filter-reflection.js') + .addIncludeFile('Extensions/Effects/reflection-pixi-filter.js'); const reflectionProperties = reflectionEffect.getProperties(); reflectionProperties .getOrCreate('mirror') diff --git a/Extensions/Effects/pixi-filters/filter-adjustment.js b/Extensions/Effects/pixi-filters/filter-adjustment.js index 3a95b679a50b..b16b33afecac 100644 --- a/Extensions/Effects/pixi-filters/filter-adjustment.js +++ b/Extensions/Effects/pixi-filters/filter-adjustment.js @@ -1,8 +1,8 @@ /*! - * @pixi/filter-adjustment - v2.5.0 - * Compiled Fri, 20 Dec 2019 18:59:17 UTC + * @pixi/filter-adjustment - v3.1.1 + * Compiled Wed, 08 Apr 2020 11:09:37 UTC * * @pixi/filter-adjustment is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license */ -!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("pixi.js")):"function"==typeof define&&define.amd?define(["exports","pixi.js"],n):n(t.__filters={},t.PIXI)}(this,function(t,n){"use strict";var r="attribute vec2 aVertexPosition;\nattribute vec2 aTextureCoord;\n\nuniform mat3 projectionMatrix;\n\nvarying vec2 vTextureCoord;\n\nvoid main(void)\n{\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\n vTextureCoord = aTextureCoord;\n}",e="varying vec2 vTextureCoord;\nuniform sampler2D uSampler;\n\nuniform float gamma;\nuniform float contrast;\nuniform float saturation;\nuniform float brightness;\nuniform float red;\nuniform float green;\nuniform float blue;\nuniform float alpha;\n\nvoid main(void)\n{\n vec4 c = texture2D(uSampler, vTextureCoord);\n\n if (c.a > 0.0) {\n c.rgb /= c.a;\n\n vec3 rgb = pow(c.rgb, vec3(1. / gamma));\n rgb = mix(vec3(.5), mix(vec3(dot(vec3(.2125, .7154, .0721), rgb)), rgb, saturation), contrast);\n rgb.r *= red;\n rgb.g *= green;\n rgb.b *= blue;\n c.rgb = rgb * brightness;\n\n c.rgb *= c.a;\n }\n\n gl_FragColor = c * alpha;\n}\n",i=function(t){function n(n){t.call(this,r,e),Object.assign(this,{gamma:1,saturation:1,contrast:1,brightness:1,red:1,green:1,blue:1,alpha:1},n)}return t&&(n.__proto__=t),n.prototype=Object.create(t&&t.prototype),n.prototype.constructor=n,n.prototype.apply=function(t,n,r,e){this.uniforms.gamma=Math.max(this.gamma,1e-4),this.uniforms.saturation=this.saturation,this.uniforms.contrast=this.contrast,this.uniforms.brightness=this.brightness,this.uniforms.red=this.red,this.uniforms.green=this.green,this.uniforms.blue=this.blue,this.uniforms.alpha=this.alpha,t.applyFilter(this,n,r,e)},n}(n.Filter);t.AdjustmentFilter=i,Object.defineProperty(t,"__esModule",{value:!0})}),Object.assign(PIXI.filters,this?this.__filters:__filters); +var __filters=function(t,r){"use strict";var n="attribute vec2 aVertexPosition;\nattribute vec2 aTextureCoord;\n\nuniform mat3 projectionMatrix;\n\nvarying vec2 vTextureCoord;\n\nvoid main(void)\n{\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\n vTextureCoord = aTextureCoord;\n}",i="varying vec2 vTextureCoord;\nuniform sampler2D uSampler;\n\nuniform float gamma;\nuniform float contrast;\nuniform float saturation;\nuniform float brightness;\nuniform float red;\nuniform float green;\nuniform float blue;\nuniform float alpha;\n\nvoid main(void)\n{\n vec4 c = texture2D(uSampler, vTextureCoord);\n\n if (c.a > 0.0) {\n c.rgb /= c.a;\n\n vec3 rgb = pow(c.rgb, vec3(1. / gamma));\n rgb = mix(vec3(.5), mix(vec3(dot(vec3(.2125, .7154, .0721), rgb)), rgb, saturation), contrast);\n rgb.r *= red;\n rgb.g *= green;\n rgb.b *= blue;\n c.rgb = rgb * brightness;\n\n c.rgb *= c.a;\n }\n\n gl_FragColor = c * alpha;\n}\n",e=function(t){function r(r){t.call(this,n,i),Object.assign(this,{gamma:1,saturation:1,contrast:1,brightness:1,red:1,green:1,blue:1,alpha:1},r)}return t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r,r.prototype.apply=function(t,r,n,i){this.uniforms.gamma=Math.max(this.gamma,1e-4),this.uniforms.saturation=this.saturation,this.uniforms.contrast=this.contrast,this.uniforms.brightness=this.brightness,this.uniforms.red=this.red,this.uniforms.green=this.green,this.uniforms.blue=this.blue,this.uniforms.alpha=this.alpha,t.applyFilter(this,r,n,i)},r}(r.Filter);return t.AdjustmentFilter=e,t}({},PIXI);Object.assign(PIXI.filters,__filters); diff --git a/Extensions/Effects/pixi-filters/filter-advanced-bloom.js b/Extensions/Effects/pixi-filters/filter-advanced-bloom.js index f6894cd406b8..5e1650e1d422 100644 --- a/Extensions/Effects/pixi-filters/filter-advanced-bloom.js +++ b/Extensions/Effects/pixi-filters/filter-advanced-bloom.js @@ -1,8 +1,8 @@ /*! - * @pixi/filter-advanced-bloom - v2.6.0 - * Compiled Fri, 20 Dec 2019 18:59:17 UTC + * @pixi/filter-advanced-bloom - v3.1.1 + * Compiled Wed, 08 Apr 2020 11:09:37 UTC * * @pixi/filter-advanced-bloom is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license */ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("pixi.js"),require("@pixi/filter-kawase-blur")):"function"==typeof define&&define.amd?define(["exports","pixi.js","@pixi/filter-kawase-blur"],t):t(e.__filters={},e.PIXI,e.PIXI.filters)}(this,function(e,t,r){"use strict";var o="attribute vec2 aVertexPosition;\nattribute vec2 aTextureCoord;\n\nuniform mat3 projectionMatrix;\n\nvarying vec2 vTextureCoord;\n\nvoid main(void)\n{\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\n vTextureCoord = aTextureCoord;\n}",i="\nuniform sampler2D uSampler;\nvarying vec2 vTextureCoord;\n\nuniform float threshold;\n\nvoid main() {\n vec4 color = texture2D(uSampler, vTextureCoord);\n\n // A simple & fast algorithm for getting brightness.\n // It's inaccuracy , but good enought for this feature.\n float _max = max(max(color.r, color.g), color.b);\n float _min = min(min(color.r, color.g), color.b);\n float brightness = (_max + _min) * 0.5;\n\n if(brightness > threshold) {\n gl_FragColor = color;\n } else {\n gl_FragColor = vec4(0.0, 0.0, 0.0, 0.0);\n }\n}\n",n=function(e){function t(t){void 0===t&&(t=.5),e.call(this,o,i),this.threshold=t}e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t;var r={threshold:{configurable:!0}};return r.threshold.get=function(){return this.uniforms.threshold},r.threshold.set=function(e){this.uniforms.threshold=e},Object.defineProperties(t.prototype,r),t}(t.Filter),l="uniform sampler2D uSampler;\nvarying vec2 vTextureCoord;\n\nuniform sampler2D bloomTexture;\nuniform float bloomScale;\nuniform float brightness;\n\nvoid main() {\n vec4 color = texture2D(uSampler, vTextureCoord);\n color.rgb *= brightness;\n vec4 bloomColor = vec4(texture2D(bloomTexture, vTextureCoord).rgb, 0.0);\n bloomColor.rgb *= bloomScale;\n gl_FragColor = color + bloomColor;\n}\n",s=function(e){function i(i){e.call(this,o,l),"number"==typeof i&&(i={threshold:i}),i=Object.assign({threshold:.5,bloomScale:1,brightness:1,kernels:null,blur:8,quality:4,pixelSize:1,resolution:t.settings.RESOLUTION},i),this.bloomScale=i.bloomScale,this.brightness=i.brightness;var s=i.kernels,u=i.blur,a=i.quality,c=i.pixelSize,h=i.resolution;this._extractFilter=new n(i.threshold),this._extractFilter.resolution=h,this._blurFilter=s?new r.KawaseBlurFilter(s):new r.KawaseBlurFilter(u,a),this.pixelSize=c,this.resolution=h}e&&(i.__proto__=e),i.prototype=Object.create(e&&e.prototype),i.prototype.constructor=i;var s={resolution:{configurable:!0},threshold:{configurable:!0},kernels:{configurable:!0},blur:{configurable:!0},quality:{configurable:!0},pixelSize:{configurable:!0}};return i.prototype.apply=function(e,t,r,o,i){var n=e.getRenderTarget(!0);this._extractFilter.apply(e,t,n,!0,i);var l=e.getRenderTarget(!0);this._blurFilter.apply(e,n,l,!0,i),this.uniforms.bloomScale=this.bloomScale,this.uniforms.brightness=this.brightness,this.uniforms.bloomTexture=l,e.applyFilter(this,t,r,o),e.returnRenderTarget(l),e.returnRenderTarget(n)},s.resolution.get=function(){return this._resolution},s.resolution.set=function(e){this._resolution=e,this._extractFilter&&(this._extractFilter.resolution=e),this._blurFilter&&(this._blurFilter.resolution=e)},s.threshold.get=function(){return this._extractFilter.threshold},s.threshold.set=function(e){this._extractFilter.threshold=e},s.kernels.get=function(){return this._blurFilter.kernels},s.kernels.set=function(e){this._blurFilter.kernels=e},s.blur.get=function(){return this._blurFilter.blur},s.blur.set=function(e){this._blurFilter.blur=e},s.quality.get=function(){return this._blurFilter.quality},s.quality.set=function(e){this._blurFilter.quality=e},s.pixelSize.get=function(){return this._blurFilter.pixelSize},s.pixelSize.set=function(e){this._blurFilter.pixelSize=e},Object.defineProperties(i.prototype,s),i}(t.Filter);e.AdvancedBloomFilter=s,Object.defineProperty(e,"__esModule",{value:!0})}),Object.assign(PIXI.filters,this?this.__filters:__filters); +var __filters=function(t,e,r,o){"use strict";var i="attribute vec2 aVertexPosition;\nattribute vec2 aTextureCoord;\n\nuniform mat3 projectionMatrix;\n\nvarying vec2 vTextureCoord;\n\nvoid main(void)\n{\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\n vTextureCoord = aTextureCoord;\n}",l="\nuniform sampler2D uSampler;\nvarying vec2 vTextureCoord;\n\nuniform float threshold;\n\nvoid main() {\n vec4 color = texture2D(uSampler, vTextureCoord);\n\n // A simple & fast algorithm for getting brightness.\n // It's inaccuracy , but good enought for this feature.\n float _max = max(max(color.r, color.g), color.b);\n float _min = min(min(color.r, color.g), color.b);\n float brightness = (_max + _min) * 0.5;\n\n if(brightness > threshold) {\n gl_FragColor = color;\n } else {\n gl_FragColor = vec4(0.0, 0.0, 0.0, 0.0);\n }\n}\n",n=function(t){function e(e){void 0===e&&(e=.5),t.call(this,i,l),this.threshold=e}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={threshold:{configurable:!0}};return r.threshold.get=function(){return this.uniforms.threshold},r.threshold.set=function(t){this.uniforms.threshold=t},Object.defineProperties(e.prototype,r),e}(e.Filter),s="uniform sampler2D uSampler;\nvarying vec2 vTextureCoord;\n\nuniform sampler2D bloomTexture;\nuniform float bloomScale;\nuniform float brightness;\n\nvoid main() {\n vec4 color = texture2D(uSampler, vTextureCoord);\n color.rgb *= brightness;\n vec4 bloomColor = vec4(texture2D(bloomTexture, vTextureCoord).rgb, 0.0);\n bloomColor.rgb *= bloomScale;\n gl_FragColor = color + bloomColor;\n}\n",u=function(t){function e(e){t.call(this,i,s),"number"==typeof e&&(e={threshold:e}),e=Object.assign({threshold:.5,bloomScale:1,brightness:1,kernels:null,blur:8,quality:4,pixelSize:1,resolution:o.settings.RESOLUTION},e),this.bloomScale=e.bloomScale,this.brightness=e.brightness;var l=e.kernels,u=e.blur,a=e.quality,c=e.pixelSize,h=e.resolution;this._extractFilter=new n(e.threshold),this._extractFilter.resolution=h,this._blurFilter=l?new r.KawaseBlurFilter(l):new r.KawaseBlurFilter(u,a),this.pixelSize=c,this.resolution=h}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var l={resolution:{configurable:!0},threshold:{configurable:!0},kernels:{configurable:!0},blur:{configurable:!0},quality:{configurable:!0},pixelSize:{configurable:!0}};return e.prototype.apply=function(t,e,r,o,i){var l=t.getFilterTexture();this._extractFilter.apply(t,e,l,1,i);var n=t.getFilterTexture();this._blurFilter.apply(t,l,n,1,i),this.uniforms.bloomScale=this.bloomScale,this.uniforms.brightness=this.brightness,this.uniforms.bloomTexture=n,t.applyFilter(this,e,r,o),t.returnFilterTexture(n),t.returnFilterTexture(l)},l.resolution.get=function(){return this._resolution},l.resolution.set=function(t){this._resolution=t,this._extractFilter&&(this._extractFilter.resolution=t),this._blurFilter&&(this._blurFilter.resolution=t)},l.threshold.get=function(){return this._extractFilter.threshold},l.threshold.set=function(t){this._extractFilter.threshold=t},l.kernels.get=function(){return this._blurFilter.kernels},l.kernels.set=function(t){this._blurFilter.kernels=t},l.blur.get=function(){return this._blurFilter.blur},l.blur.set=function(t){this._blurFilter.blur=t},l.quality.get=function(){return this._blurFilter.quality},l.quality.set=function(t){this._blurFilter.quality=t},l.pixelSize.get=function(){return this._blurFilter.pixelSize},l.pixelSize.set=function(t){this._blurFilter.pixelSize=t},Object.defineProperties(e.prototype,l),e}(e.Filter);return t.AdvancedBloomFilter=u,t}({},PIXI,PIXI.filters,PIXI);Object.assign(PIXI.filters,__filters); diff --git a/Extensions/Effects/pixi-filters/filter-alpha.js b/Extensions/Effects/pixi-filters/filter-alpha.js deleted file mode 100644 index c818a67623ee..000000000000 --- a/Extensions/Effects/pixi-filters/filter-alpha.js +++ /dev/null @@ -1,8 +0,0 @@ -/*! - * @pixi/filter-alpha - v5.2.1 - * Compiled Tue, 28 Jan 2020 23:33:11 UTC - * - * @pixi/filter-alpha is licensed under the MIT License. - * http://www.opensource.org/licenses/mit-license - */ -this.PIXI=this.PIXI||{},this.PIXI.filters=this.PIXI.filters||{};var _pixi_filter_alpha=function(t,r){"use strict";var e="varying vec2 vTextureCoord;\n\nuniform sampler2D uSampler;\nuniform float uAlpha;\n\nvoid main(void)\n{\n gl_FragColor = texture2D(uSampler, vTextureCoord) * uAlpha;\n}\n",i=function(t){function i(i){void 0===i&&(i=1),t.call(this,r.defaultVertex,e,{uAlpha:1}),this.alpha=i}t&&(i.__proto__=t),i.prototype=Object.create(t&&t.prototype),i.prototype.constructor=i;var a={alpha:{configurable:!0}};return a.alpha.get=function(){return this.uniforms.uAlpha},a.alpha.set=function(t){this.uniforms.uAlpha=t},Object.defineProperties(i.prototype,a),i}(r.Filter);return t.AlphaFilter=i,t}({},PIXI);Object.assign(this.PIXI.filters,_pixi_filter_alpha); diff --git a/Extensions/Effects/pixi-filters/filter-ascii.js b/Extensions/Effects/pixi-filters/filter-ascii.js index 09e421a2bf45..3bb83b13afe5 100644 --- a/Extensions/Effects/pixi-filters/filter-ascii.js +++ b/Extensions/Effects/pixi-filters/filter-ascii.js @@ -1,8 +1,8 @@ /*! - * @pixi/filter-ascii - v2.5.0 - * Compiled Fri, 20 Dec 2019 18:59:17 UTC + * @pixi/filter-ascii - v3.1.1 + * Compiled Wed, 08 Apr 2020 11:09:37 UTC * * @pixi/filter-ascii is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license */ -!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("pixi.js")):"function"==typeof define&&define.amd?define(["exports","pixi.js"],n):n(e.__filters={},e.PIXI)}(this,function(e,n){"use strict";var o="attribute vec2 aVertexPosition;\nattribute vec2 aTextureCoord;\n\nuniform mat3 projectionMatrix;\n\nvarying vec2 vTextureCoord;\n\nvoid main(void)\n{\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\n vTextureCoord = aTextureCoord;\n}",r="varying vec2 vTextureCoord;\n\nuniform vec4 filterArea;\nuniform float pixelSize;\nuniform sampler2D uSampler;\n\nvec2 mapCoord( vec2 coord )\n{\n coord *= filterArea.xy;\n coord += filterArea.zw;\n\n return coord;\n}\n\nvec2 unmapCoord( vec2 coord )\n{\n coord -= filterArea.zw;\n coord /= filterArea.xy;\n\n return coord;\n}\n\nvec2 pixelate(vec2 coord, vec2 size)\n{\n return floor( coord / size ) * size;\n}\n\nvec2 getMod(vec2 coord, vec2 size)\n{\n return mod( coord , size) / size;\n}\n\nfloat character(float n, vec2 p)\n{\n p = floor(p*vec2(4.0, -4.0) + 2.5);\n if (clamp(p.x, 0.0, 4.0) == p.x && clamp(p.y, 0.0, 4.0) == p.y)\n {\n if (int(mod(n/exp2(p.x + 5.0*p.y), 2.0)) == 1) return 1.0;\n }\n return 0.0;\n}\n\nvoid main()\n{\n vec2 coord = mapCoord(vTextureCoord);\n\n // get the rounded color..\n vec2 pixCoord = pixelate(coord, vec2(pixelSize));\n pixCoord = unmapCoord(pixCoord);\n\n vec4 color = texture2D(uSampler, pixCoord);\n\n // determine the character to use\n float gray = (color.r + color.g + color.b) / 3.0;\n\n float n = 65536.0; // .\n if (gray > 0.2) n = 65600.0; // :\n if (gray > 0.3) n = 332772.0; // *\n if (gray > 0.4) n = 15255086.0; // o\n if (gray > 0.5) n = 23385164.0; // &\n if (gray > 0.6) n = 15252014.0; // 8\n if (gray > 0.7) n = 13199452.0; // @\n if (gray > 0.8) n = 11512810.0; // #\n\n // get the mod..\n vec2 modd = getMod(coord, vec2(pixelSize));\n\n gl_FragColor = color * character( n, vec2(-1.0) + modd * 2.0);\n\n}",t=function(e){function n(n){void 0===n&&(n=8),e.call(this,o,r),this.size=n}e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n;var t={size:{configurable:!0}};return t.size.get=function(){return this.uniforms.pixelSize},t.size.set=function(e){this.uniforms.pixelSize=e},Object.defineProperties(n.prototype,t),n}(n.Filter);e.AsciiFilter=t,Object.defineProperty(e,"__esModule",{value:!0})}),Object.assign(PIXI.filters,this?this.__filters:__filters); +var __filters=function(n,e){"use strict";var o="attribute vec2 aVertexPosition;\nattribute vec2 aTextureCoord;\n\nuniform mat3 projectionMatrix;\n\nvarying vec2 vTextureCoord;\n\nvoid main(void)\n{\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\n vTextureCoord = aTextureCoord;\n}",r="varying vec2 vTextureCoord;\n\nuniform vec4 filterArea;\nuniform float pixelSize;\nuniform sampler2D uSampler;\n\nvec2 mapCoord( vec2 coord )\n{\n coord *= filterArea.xy;\n coord += filterArea.zw;\n\n return coord;\n}\n\nvec2 unmapCoord( vec2 coord )\n{\n coord -= filterArea.zw;\n coord /= filterArea.xy;\n\n return coord;\n}\n\nvec2 pixelate(vec2 coord, vec2 size)\n{\n return floor( coord / size ) * size;\n}\n\nvec2 getMod(vec2 coord, vec2 size)\n{\n return mod( coord , size) / size;\n}\n\nfloat character(float n, vec2 p)\n{\n p = floor(p*vec2(4.0, -4.0) + 2.5);\n\n if (clamp(p.x, 0.0, 4.0) == p.x)\n {\n if (clamp(p.y, 0.0, 4.0) == p.y)\n {\n if (int(mod(n/exp2(p.x + 5.0*p.y), 2.0)) == 1) return 1.0;\n }\n }\n return 0.0;\n}\n\nvoid main()\n{\n vec2 coord = mapCoord(vTextureCoord);\n\n // get the rounded color..\n vec2 pixCoord = pixelate(coord, vec2(pixelSize));\n pixCoord = unmapCoord(pixCoord);\n\n vec4 color = texture2D(uSampler, pixCoord);\n\n // determine the character to use\n float gray = (color.r + color.g + color.b) / 3.0;\n\n float n = 65536.0; // .\n if (gray > 0.2) n = 65600.0; // :\n if (gray > 0.3) n = 332772.0; // *\n if (gray > 0.4) n = 15255086.0; // o\n if (gray > 0.5) n = 23385164.0; // &\n if (gray > 0.6) n = 15252014.0; // 8\n if (gray > 0.7) n = 13199452.0; // @\n if (gray > 0.8) n = 11512810.0; // #\n\n // get the mod..\n vec2 modd = getMod(coord, vec2(pixelSize));\n\n gl_FragColor = color * character( n, vec2(-1.0) + modd * 2.0);\n\n}\n",t=function(n){function e(e){void 0===e&&(e=8),n.call(this,o,r),this.size=e}n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e;var t={size:{configurable:!0}};return t.size.get=function(){return this.uniforms.pixelSize},t.size.set=function(n){this.uniforms.pixelSize=n},Object.defineProperties(e.prototype,t),e}(e.Filter);return n.AsciiFilter=t,n}({},PIXI);Object.assign(PIXI.filters,__filters); diff --git a/Extensions/Effects/pixi-filters/filter-bevel.js b/Extensions/Effects/pixi-filters/filter-bevel.js index 7c592dd27b64..050d7b678ba7 100644 --- a/Extensions/Effects/pixi-filters/filter-bevel.js +++ b/Extensions/Effects/pixi-filters/filter-bevel.js @@ -1,8 +1,8 @@ /*! - * @pixi/filter-bevel - v2.6.0 - * Compiled Fri, 20 Dec 2019 18:59:17 UTC + * @pixi/filter-bevel - v3.1.1 + * Compiled Wed, 08 Apr 2020 11:09:37 UTC * * @pixi/filter-bevel is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license */ -!function(o,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("pixi.js")):"function"==typeof define&&define.amd?define(["exports","pixi.js"],t):t(o.__filters={},o.PIXI)}(this,function(o,t){"use strict";var r="attribute vec2 aVertexPosition;\nattribute vec2 aTextureCoord;\n\nuniform mat3 projectionMatrix;\n\nvarying vec2 vTextureCoord;\n\nvoid main(void)\n{\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\n vTextureCoord = aTextureCoord;\n}",i="precision mediump float;\n\nvarying vec2 vTextureCoord;\nuniform sampler2D uSampler;\nuniform vec4 filterArea;\n\nuniform float transformX;\nuniform float transformY;\nuniform vec3 lightColor;\nuniform float lightAlpha;\nuniform vec3 shadowColor;\nuniform float shadowAlpha;\n\nvoid main(void) {\n vec2 transform = vec2(1.0 / filterArea) * vec2(transformX, transformY);\n vec4 color = texture2D(uSampler, vTextureCoord);\n float light = texture2D(uSampler, vTextureCoord - transform).a;\n float shadow = texture2D(uSampler, vTextureCoord + transform).a;\n\n color.rgb = mix(color.rgb, lightColor, clamp((color.a - light) * lightAlpha, 0.0, 1.0));\n color.rgb = mix(color.rgb, shadowColor, clamp((color.a - shadow) * shadowAlpha, 0.0, 1.0));\n gl_FragColor = vec4(color.rgb * color.a, color.a);\n}\n",n=function(o){function n(t){void 0===t&&(t={}),o.call(this,r,i),this.uniforms.lightColor=new Float32Array(3),this.uniforms.shadowColor=new Float32Array(3),t=Object.assign({rotation:45,thickness:2,lightColor:16777215,lightAlpha:.7,shadowColor:0,shadowAlpha:.7},t),this.rotation=t.rotation,this.thickness=t.thickness,this.lightColor=t.lightColor,this.lightAlpha=t.lightAlpha,this.shadowColor=t.shadowColor,this.shadowAlpha=t.shadowAlpha}o&&(n.__proto__=o),n.prototype=Object.create(o&&o.prototype),n.prototype.constructor=n;var e={rotation:{configurable:!0},thickness:{configurable:!0},lightColor:{configurable:!0},lightAlpha:{configurable:!0},shadowColor:{configurable:!0},shadowAlpha:{configurable:!0}};return n.prototype._updateTransform=function(){this.uniforms.transformX=this._thickness*Math.cos(this._angle),this.uniforms.transformY=this._thickness*Math.sin(this._angle)},e.rotation.get=function(){return this._angle/t.DEG_TO_RAD},e.rotation.set=function(o){this._angle=o*t.DEG_TO_RAD,this._updateTransform()},e.thickness.get=function(){return this._thickness},e.thickness.set=function(o){this._thickness=o,this._updateTransform()},e.lightColor.get=function(){return t.utils.rgb2hex(this.uniforms.lightColor)},e.lightColor.set=function(o){t.utils.hex2rgb(o,this.uniforms.lightColor)},e.lightAlpha.get=function(){return this.uniforms.lightAlpha},e.lightAlpha.set=function(o){this.uniforms.lightAlpha=o},e.shadowColor.get=function(){return t.utils.rgb2hex(this.uniforms.shadowColor)},e.shadowColor.set=function(o){t.utils.hex2rgb(o,this.uniforms.shadowColor)},e.shadowAlpha.get=function(){return this.uniforms.shadowAlpha},e.shadowAlpha.set=function(o){this.uniforms.shadowAlpha=o},Object.defineProperties(n.prototype,e),n}(t.Filter);o.BevelFilter=n,Object.defineProperty(o,"__esModule",{value:!0})}),Object.assign(PIXI.filters,this?this.__filters:__filters); +var __filters=function(o,t,r,i){"use strict";var n="attribute vec2 aVertexPosition;\nattribute vec2 aTextureCoord;\n\nuniform mat3 projectionMatrix;\n\nvarying vec2 vTextureCoord;\n\nvoid main(void)\n{\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\n vTextureCoord = aTextureCoord;\n}",e="precision mediump float;\n\nvarying vec2 vTextureCoord;\nuniform sampler2D uSampler;\nuniform vec4 filterArea;\n\nuniform float transformX;\nuniform float transformY;\nuniform vec3 lightColor;\nuniform float lightAlpha;\nuniform vec3 shadowColor;\nuniform float shadowAlpha;\n\nvoid main(void) {\n vec2 transform = vec2(1.0 / filterArea) * vec2(transformX, transformY);\n vec4 color = texture2D(uSampler, vTextureCoord);\n float light = texture2D(uSampler, vTextureCoord - transform).a;\n float shadow = texture2D(uSampler, vTextureCoord + transform).a;\n\n color.rgb = mix(color.rgb, lightColor, clamp((color.a - light) * lightAlpha, 0.0, 1.0));\n color.rgb = mix(color.rgb, shadowColor, clamp((color.a - shadow) * shadowAlpha, 0.0, 1.0));\n gl_FragColor = vec4(color.rgb * color.a, color.a);\n}\n",a=function(o){function t(t){void 0===t&&(t={}),o.call(this,n,e),this.uniforms.lightColor=new Float32Array(3),this.uniforms.shadowColor=new Float32Array(3),t=Object.assign({rotation:45,thickness:2,lightColor:16777215,lightAlpha:.7,shadowColor:0,shadowAlpha:.7},t),this.rotation=t.rotation,this.thickness=t.thickness,this.lightColor=t.lightColor,this.lightAlpha=t.lightAlpha,this.shadowColor=t.shadowColor,this.shadowAlpha=t.shadowAlpha}o&&(t.__proto__=o),t.prototype=Object.create(o&&o.prototype),t.prototype.constructor=t;var a={rotation:{configurable:!0},thickness:{configurable:!0},lightColor:{configurable:!0},lightAlpha:{configurable:!0},shadowColor:{configurable:!0},shadowAlpha:{configurable:!0}};return t.prototype._updateTransform=function(){this.uniforms.transformX=this._thickness*Math.cos(this._angle),this.uniforms.transformY=this._thickness*Math.sin(this._angle)},a.rotation.get=function(){return this._angle/r.DEG_TO_RAD},a.rotation.set=function(o){this._angle=o*r.DEG_TO_RAD,this._updateTransform()},a.thickness.get=function(){return this._thickness},a.thickness.set=function(o){this._thickness=o,this._updateTransform()},a.lightColor.get=function(){return i.rgb2hex(this.uniforms.lightColor)},a.lightColor.set=function(o){i.hex2rgb(o,this.uniforms.lightColor)},a.lightAlpha.get=function(){return this.uniforms.lightAlpha},a.lightAlpha.set=function(o){this.uniforms.lightAlpha=o},a.shadowColor.get=function(){return i.rgb2hex(this.uniforms.shadowColor)},a.shadowColor.set=function(o){i.hex2rgb(o,this.uniforms.shadowColor)},a.shadowAlpha.get=function(){return this.uniforms.shadowAlpha},a.shadowAlpha.set=function(o){this.uniforms.shadowAlpha=o},Object.defineProperties(t.prototype,a),t}(t.Filter);return o.BevelFilter=a,o}({},PIXI,PIXI,PIXI.utils);Object.assign(PIXI.filters,__filters); diff --git a/Extensions/Effects/pixi-filters/filter-bulge-pinch.js b/Extensions/Effects/pixi-filters/filter-bulge-pinch.js index 6fa1b71ace7b..76bf8a40a771 100644 --- a/Extensions/Effects/pixi-filters/filter-bulge-pinch.js +++ b/Extensions/Effects/pixi-filters/filter-bulge-pinch.js @@ -1,8 +1,8 @@ /*! - * @pixi/filter-bulge-pinch - v2.7.0 - * Compiled Sun, 13 Jan 2019 22:51:52 UTC + * @pixi/filter-bulge-pinch - v3.1.1 + * Compiled Wed, 08 Apr 2020 11:09:37 UTC * * @pixi/filter-bulge-pinch is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license */ -!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("pixi.js")):"function"==typeof define&&define.amd?define(["exports","pixi.js"],n):n((e=e||self).__filters={},e.PIXI)}(this,function(e,n){"use strict";var t="attribute vec2 aVertexPosition;\nattribute vec2 aTextureCoord;\n\nuniform mat3 projectionMatrix;\n\nvarying vec2 vTextureCoord;\n\nvoid main(void)\n{\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\n vTextureCoord = aTextureCoord;\n}",r="uniform float radius;\nuniform float strength;\nuniform vec2 center;\nuniform sampler2D uSampler;\nvarying vec2 vTextureCoord;\n\nuniform vec4 filterArea;\nuniform vec4 filterClamp;\nuniform vec2 dimensions;\n\nvoid main()\n{\n vec2 coord = vTextureCoord * filterArea.xy;\n coord -= center * dimensions.xy;\n float distance = length(coord);\n if (distance < radius) {\n float percent = distance / radius;\n if (strength > 0.0) {\n coord *= mix(1.0, smoothstep(0.0, radius / distance, percent), strength * 0.75);\n } else {\n coord *= mix(1.0, pow(percent, 1.0 + strength * 0.75) * radius / distance, 1.0 - percent);\n }\n }\n coord += center * dimensions.xy;\n coord /= filterArea.xy;\n vec2 clampedCoord = clamp(coord, filterClamp.xy, filterClamp.zw);\n vec4 color = texture2D(uSampler, clampedCoord);\n if (coord != clampedCoord) {\n color *= max(0.0, 1.0 - length(coord - clampedCoord));\n }\n\n gl_FragColor = color;\n}\n",o=function(e){function n(n,o,i){e.call(this,t,r),this.uniforms.dimensions=new Float32Array(2),this.center=n||[.5,.5],this.radius="number"==typeof o?o:100,this.strength="number"==typeof i?i:1}e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n;var o={radius:{configurable:!0},strength:{configurable:!0},center:{configurable:!0}};return n.prototype.apply=function(e,n,t,r){this.uniforms.dimensions[0]=n.sourceFrame.width,this.uniforms.dimensions[1]=n.sourceFrame.height,e.applyFilter(this,n,t,r)},o.radius.get=function(){return this.uniforms.radius},o.radius.set=function(e){this.uniforms.radius=e},o.strength.get=function(){return this.uniforms.strength},o.strength.set=function(e){this.uniforms.strength=e},o.center.get=function(){return this.uniforms.center},o.center.set=function(e){this.uniforms.center=e},Object.defineProperties(n.prototype,o),n}(n.Filter);e.BulgePinchFilter=o,Object.defineProperty(e,"__esModule",{value:!0})}),Object.assign(PIXI.filters,this?this.__filters:__filters); +var __filters=function(e,r){"use strict";var n="attribute vec2 aVertexPosition;\nattribute vec2 aTextureCoord;\n\nuniform mat3 projectionMatrix;\n\nvarying vec2 vTextureCoord;\n\nvoid main(void)\n{\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\n vTextureCoord = aTextureCoord;\n}",t="uniform float radius;\nuniform float strength;\nuniform vec2 center;\nuniform sampler2D uSampler;\nvarying vec2 vTextureCoord;\n\nuniform vec4 filterArea;\nuniform vec4 filterClamp;\nuniform vec2 dimensions;\n\nvoid main()\n{\n vec2 coord = vTextureCoord * filterArea.xy;\n coord -= center * dimensions.xy;\n float distance = length(coord);\n if (distance < radius) {\n float percent = distance / radius;\n if (strength > 0.0) {\n coord *= mix(1.0, smoothstep(0.0, radius / distance, percent), strength * 0.75);\n } else {\n coord *= mix(1.0, pow(percent, 1.0 + strength * 0.75) * radius / distance, 1.0 - percent);\n }\n }\n coord += center * dimensions.xy;\n coord /= filterArea.xy;\n vec2 clampedCoord = clamp(coord, filterClamp.xy, filterClamp.zw);\n vec4 color = texture2D(uSampler, clampedCoord);\n if (coord != clampedCoord) {\n color *= max(0.0, 1.0 - length(coord - clampedCoord));\n }\n\n gl_FragColor = color;\n}\n",o=function(e){function r(r){if(e.call(this,n,t),"object"!=typeof r){var o=arguments[0],i=arguments[1],s=arguments[2];r={},void 0!==o&&(r.center=o),void 0!==i&&(r.radius=i),void 0!==s&&(r.strength=s)}this.uniforms.dimensions=new Float32Array(2),Object.assign(this,{center:[.5,.5],radius:100,strength:1},r)}e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r;var o={radius:{configurable:!0},strength:{configurable:!0},center:{configurable:!0}};return r.prototype.apply=function(e,r,n,t){this.uniforms.dimensions[0]=r.filterFrame.width,this.uniforms.dimensions[1]=r.filterFrame.height,e.applyFilter(this,r,n,t)},o.radius.get=function(){return this.uniforms.radius},o.radius.set=function(e){this.uniforms.radius=e},o.strength.get=function(){return this.uniforms.strength},o.strength.set=function(e){this.uniforms.strength=e},o.center.get=function(){return this.uniforms.center},o.center.set=function(e){this.uniforms.center=e},Object.defineProperties(r.prototype,o),r}(r.Filter);return e.BulgePinchFilter=o,e}({},PIXI);Object.assign(PIXI.filters,__filters); diff --git a/Extensions/Effects/pixi-filters/filter-color-map.js b/Extensions/Effects/pixi-filters/filter-color-map.js index 35ce973f16ee..4d4918ff393a 100644 --- a/Extensions/Effects/pixi-filters/filter-color-map.js +++ b/Extensions/Effects/pixi-filters/filter-color-map.js @@ -1,6 +1,6 @@ /*! - * @pixi/filter-color-map - v3.0.3 - * Compiled Wed, 29 May 2019 03:04:05 UTC + * @pixi/filter-color-map - v3.1.1 + * Compiled Wed, 08 Apr 2020 11:09:37 UTC * * @pixi/filter-color-map is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/Extensions/Effects/pixi-filters/filter-color-replace.js b/Extensions/Effects/pixi-filters/filter-color-replace.js index 11f571318185..171a8dc78e66 100644 --- a/Extensions/Effects/pixi-filters/filter-color-replace.js +++ b/Extensions/Effects/pixi-filters/filter-color-replace.js @@ -1,8 +1,8 @@ /*! - * @pixi/filter-color-replace - v2.7.0 - * Compiled Sun, 13 Jan 2019 22:51:52 UTC + * @pixi/filter-color-replace - v3.1.1 + * Compiled Wed, 08 Apr 2020 11:09:37 UTC * * @pixi/filter-color-replace is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license */ -!function(o,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("pixi.js")):"function"==typeof define&&define.amd?define(["exports","pixi.js"],r):r((o=o||self).__filters={},o.PIXI)}(this,function(o,r){"use strict";var e="attribute vec2 aVertexPosition;\nattribute vec2 aTextureCoord;\n\nuniform mat3 projectionMatrix;\n\nvarying vec2 vTextureCoord;\n\nvoid main(void)\n{\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\n vTextureCoord = aTextureCoord;\n}",i="varying vec2 vTextureCoord;\nuniform sampler2D uSampler;\nuniform vec3 originalColor;\nuniform vec3 newColor;\nuniform float epsilon;\nvoid main(void) {\n vec4 currentColor = texture2D(uSampler, vTextureCoord);\n vec3 colorDiff = originalColor - (currentColor.rgb / max(currentColor.a, 0.0000000001));\n float colorDistance = length(colorDiff);\n float doReplace = step(colorDistance, epsilon);\n gl_FragColor = vec4(mix(currentColor.rgb, (newColor + colorDiff) * currentColor.a, doReplace), currentColor.a);\n}\n",n=function(o){function n(r,n,t){void 0===r&&(r=16711680),void 0===n&&(n=0),void 0===t&&(t=.4),o.call(this,e,i),this.uniforms.originalColor=new Float32Array(3),this.uniforms.newColor=new Float32Array(3),this.originalColor=r,this.newColor=n,this.epsilon=t}o&&(n.__proto__=o),n.prototype=Object.create(o&&o.prototype),n.prototype.constructor=n;var t={originalColor:{configurable:!0},newColor:{configurable:!0},epsilon:{configurable:!0}};return t.originalColor.set=function(o){var e=this.uniforms.originalColor;"number"==typeof o?(r.utils.hex2rgb(o,e),this._originalColor=o):(e[0]=o[0],e[1]=o[1],e[2]=o[2],this._originalColor=r.utils.rgb2hex(e))},t.originalColor.get=function(){return this._originalColor},t.newColor.set=function(o){var e=this.uniforms.newColor;"number"==typeof o?(r.utils.hex2rgb(o,e),this._newColor=o):(e[0]=o[0],e[1]=o[1],e[2]=o[2],this._newColor=r.utils.rgb2hex(e))},t.newColor.get=function(){return this._newColor},t.epsilon.set=function(o){this.uniforms.epsilon=o},t.epsilon.get=function(){return this.uniforms.epsilon},Object.defineProperties(n.prototype,t),n}(r.Filter);o.ColorReplaceFilter=n,Object.defineProperty(o,"__esModule",{value:!0})}),Object.assign(PIXI.filters,this?this.__filters:__filters); +var __filters=function(o,r,n){"use strict";var e="attribute vec2 aVertexPosition;\nattribute vec2 aTextureCoord;\n\nuniform mat3 projectionMatrix;\n\nvarying vec2 vTextureCoord;\n\nvoid main(void)\n{\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\n vTextureCoord = aTextureCoord;\n}",i="varying vec2 vTextureCoord;\nuniform sampler2D uSampler;\nuniform vec3 originalColor;\nuniform vec3 newColor;\nuniform float epsilon;\nvoid main(void) {\n vec4 currentColor = texture2D(uSampler, vTextureCoord);\n vec3 colorDiff = originalColor - (currentColor.rgb / max(currentColor.a, 0.0000000001));\n float colorDistance = length(colorDiff);\n float doReplace = step(colorDistance, epsilon);\n gl_FragColor = vec4(mix(currentColor.rgb, (newColor + colorDiff) * currentColor.a, doReplace), currentColor.a);\n}\n",t=function(o){function r(r,n,t){void 0===r&&(r=16711680),void 0===n&&(n=0),void 0===t&&(t=.4),o.call(this,e,i),this.uniforms.originalColor=new Float32Array(3),this.uniforms.newColor=new Float32Array(3),this.originalColor=r,this.newColor=n,this.epsilon=t}o&&(r.__proto__=o),r.prototype=Object.create(o&&o.prototype),r.prototype.constructor=r;var t={originalColor:{configurable:!0},newColor:{configurable:!0},epsilon:{configurable:!0}};return t.originalColor.set=function(o){var r=this.uniforms.originalColor;"number"==typeof o?(n.hex2rgb(o,r),this._originalColor=o):(r[0]=o[0],r[1]=o[1],r[2]=o[2],this._originalColor=n.rgb2hex(r))},t.originalColor.get=function(){return this._originalColor},t.newColor.set=function(o){var r=this.uniforms.newColor;"number"==typeof o?(n.hex2rgb(o,r),this._newColor=o):(r[0]=o[0],r[1]=o[1],r[2]=o[2],this._newColor=n.rgb2hex(r))},t.newColor.get=function(){return this._newColor},t.epsilon.set=function(o){this.uniforms.epsilon=o},t.epsilon.get=function(){return this.uniforms.epsilon},Object.defineProperties(r.prototype,t),r}(r.Filter);return o.ColorReplaceFilter=t,o}({},PIXI,PIXI.utils);Object.assign(PIXI.filters,__filters); diff --git a/Extensions/Effects/pixi-filters/filter-crt.js b/Extensions/Effects/pixi-filters/filter-crt.js index 07a7ddb96c6f..e3fafcf84655 100644 --- a/Extensions/Effects/pixi-filters/filter-crt.js +++ b/Extensions/Effects/pixi-filters/filter-crt.js @@ -1,12 +1,8 @@ /*! - * @pixi/filter-crt - v3.0.3 - * Compiled Wed, 18 Dec 2019 19:58:07 UTC + * @pixi/filter-crt - v3.1.1 + * Compiled Wed, 08 Apr 2020 11:09:37 UTC * * @pixi/filter-crt is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license */ - - /** - * Modified the minified file to work on pixi4 by renaming filterFrame to sourceFrame below - */ -var __filters=function(n,i){"use strict";var t="attribute vec2 aVertexPosition;\nattribute vec2 aTextureCoord;\n\nuniform mat3 projectionMatrix;\n\nvarying vec2 vTextureCoord;\n\nvoid main(void)\n{\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\n vTextureCoord = aTextureCoord;\n}",e="varying vec2 vTextureCoord;\nuniform sampler2D uSampler;\n\nuniform vec4 filterArea;\nuniform vec2 dimensions;\n\nconst float SQRT_2 = 1.414213;\n\nconst float light = 1.0;\n\nuniform float curvature;\nuniform float lineWidth;\nuniform float lineContrast;\nuniform bool verticalLine;\nuniform float noise;\nuniform float noiseSize;\n\nuniform float vignetting;\nuniform float vignettingAlpha;\nuniform float vignettingBlur;\n\nuniform float seed;\nuniform float time;\n\nfloat rand(vec2 co) {\n return fract(sin(dot(co.xy, vec2(12.9898, 78.233))) * 43758.5453);\n}\n\nvoid main(void)\n{\n vec2 pixelCoord = vTextureCoord.xy * filterArea.xy;\n vec2 coord = pixelCoord / dimensions;\n\n vec2 dir = vec2(coord - vec2(0.5, 0.5));\n\n float _c = curvature > 0. ? curvature : 1.;\n float k = curvature > 0. ?(length(dir * dir) * 0.25 * _c * _c + 0.935 * _c) : 1.;\n vec2 uv = dir * k;\n\n gl_FragColor = texture2D(uSampler, vTextureCoord);\n vec3 rgb = gl_FragColor.rgb;\n\n\n if (noise > 0.0 && noiseSize > 0.0)\n {\n pixelCoord.x = floor(pixelCoord.x / noiseSize);\n pixelCoord.y = floor(pixelCoord.y / noiseSize);\n float _noise = rand(pixelCoord * noiseSize * seed) - 0.5;\n rgb += _noise * noise;\n }\n\n if (lineWidth > 0.0) {\n float v = (verticalLine ? uv.x * dimensions.x : uv.y * dimensions.y) * min(1.0, 2.0 / lineWidth ) / _c;\n float j = 1. + cos(v * 1.2 - time) * 0.5 * lineContrast;\n rgb *= j;\n float segment = verticalLine ? mod((dir.x + .5) * dimensions.x, 4.) : mod((dir.y + .5) * dimensions.y, 4.);\n rgb *= 0.99 + ceil(segment) * 0.015;\n }\n\n if (vignetting > 0.0)\n {\n float outter = SQRT_2 - vignetting * SQRT_2;\n float darker = clamp((outter - length(dir) * SQRT_2) / ( 0.00001 + vignettingBlur * SQRT_2), 0.0, 1.0);\n rgb *= darker + (1.0 - darker) * (1.0 - vignettingAlpha);\n }\n\n gl_FragColor.rgb = rgb;\n}\n",r=function(n){function i(i){n.call(this,t,e),this.uniforms.dimensions=new Float32Array(2),this.time=0,this.seed=0,Object.assign(this,{curvature:1,lineWidth:1,lineContrast:.25,verticalLine:!1,noise:0,noiseSize:1,seed:0,vignetting:.3,vignettingAlpha:1,vignettingBlur:.3,time:0},i)}n&&(i.__proto__=n),i.prototype=Object.create(n&&n.prototype),i.prototype.constructor=i;var r={curvature:{configurable:!0},lineWidth:{configurable:!0},lineContrast:{configurable:!0},verticalLine:{configurable:!0},noise:{configurable:!0},noiseSize:{configurable:!0},vignetting:{configurable:!0},vignettingAlpha:{configurable:!0},vignettingBlur:{configurable:!0}};return i.prototype.apply=function(n,i,t,e){this.uniforms.dimensions[0]=i.sourceFrame.width,this.uniforms.dimensions[1]=i.sourceFrame.height,this.uniforms.seed=this.seed,this.uniforms.time=this.time,n.applyFilter(this,i,t,e)},r.curvature.set=function(n){this.uniforms.curvature=n},r.curvature.get=function(){return this.uniforms.curvature},r.lineWidth.set=function(n){this.uniforms.lineWidth=n},r.lineWidth.get=function(){return this.uniforms.lineWidth},r.lineContrast.set=function(n){this.uniforms.lineContrast=n},r.lineContrast.get=function(){return this.uniforms.lineContrast},r.verticalLine.set=function(n){this.uniforms.verticalLine=n},r.verticalLine.get=function(){return this.uniforms.verticalLine},r.noise.set=function(n){this.uniforms.noise=n},r.noise.get=function(){return this.uniforms.noise},r.noiseSize.set=function(n){this.uniforms.noiseSize=n},r.noiseSize.get=function(){return this.uniforms.noiseSize},r.vignetting.set=function(n){this.uniforms.vignetting=n},r.vignetting.get=function(){return this.uniforms.vignetting},r.vignettingAlpha.set=function(n){this.uniforms.vignettingAlpha=n},r.vignettingAlpha.get=function(){return this.uniforms.vignettingAlpha},r.vignettingBlur.set=function(n){this.uniforms.vignettingBlur=n},r.vignettingBlur.get=function(){return this.uniforms.vignettingBlur},Object.defineProperties(i.prototype,r),i}(i.Filter);return n.CRTFilter=r,n}({},PIXI);Object.assign(PIXI.filters,__filters); +var __filters=function(n,i){"use strict";var t="attribute vec2 aVertexPosition;\nattribute vec2 aTextureCoord;\n\nuniform mat3 projectionMatrix;\n\nvarying vec2 vTextureCoord;\n\nvoid main(void)\n{\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\n vTextureCoord = aTextureCoord;\n}",e="varying vec2 vTextureCoord;\nuniform sampler2D uSampler;\n\nuniform vec4 filterArea;\nuniform vec2 dimensions;\n\nconst float SQRT_2 = 1.414213;\n\nconst float light = 1.0;\n\nuniform float curvature;\nuniform float lineWidth;\nuniform float lineContrast;\nuniform bool verticalLine;\nuniform float noise;\nuniform float noiseSize;\n\nuniform float vignetting;\nuniform float vignettingAlpha;\nuniform float vignettingBlur;\n\nuniform float seed;\nuniform float time;\n\nfloat rand(vec2 co) {\n return fract(sin(dot(co.xy, vec2(12.9898, 78.233))) * 43758.5453);\n}\n\nvoid main(void)\n{\n vec2 pixelCoord = vTextureCoord.xy * filterArea.xy;\n vec2 coord = pixelCoord / dimensions;\n\n vec2 dir = vec2(coord - vec2(0.5, 0.5));\n\n float _c = curvature > 0. ? curvature : 1.;\n float k = curvature > 0. ?(length(dir * dir) * 0.25 * _c * _c + 0.935 * _c) : 1.;\n vec2 uv = dir * k;\n\n gl_FragColor = texture2D(uSampler, vTextureCoord);\n vec3 rgb = gl_FragColor.rgb;\n\n\n if (noise > 0.0 && noiseSize > 0.0)\n {\n pixelCoord.x = floor(pixelCoord.x / noiseSize);\n pixelCoord.y = floor(pixelCoord.y / noiseSize);\n float _noise = rand(pixelCoord * noiseSize * seed) - 0.5;\n rgb += _noise * noise;\n }\n\n if (lineWidth > 0.0) {\n float v = (verticalLine ? uv.x * dimensions.x : uv.y * dimensions.y) * min(1.0, 2.0 / lineWidth ) / _c;\n float j = 1. + cos(v * 1.2 - time) * 0.5 * lineContrast;\n rgb *= j;\n float segment = verticalLine ? mod((dir.x + .5) * dimensions.x, 4.) : mod((dir.y + .5) * dimensions.y, 4.);\n rgb *= 0.99 + ceil(segment) * 0.015;\n }\n\n if (vignetting > 0.0)\n {\n float outter = SQRT_2 - vignetting * SQRT_2;\n float darker = clamp((outter - length(dir) * SQRT_2) / ( 0.00001 + vignettingBlur * SQRT_2), 0.0, 1.0);\n rgb *= darker + (1.0 - darker) * (1.0 - vignettingAlpha);\n }\n\n gl_FragColor.rgb = rgb;\n}\n",r=function(n){function i(i){n.call(this,t,e),this.uniforms.dimensions=new Float32Array(2),this.time=0,this.seed=0,Object.assign(this,{curvature:1,lineWidth:1,lineContrast:.25,verticalLine:!1,noise:0,noiseSize:1,seed:0,vignetting:.3,vignettingAlpha:1,vignettingBlur:.3,time:0},i)}n&&(i.__proto__=n),i.prototype=Object.create(n&&n.prototype),i.prototype.constructor=i;var r={curvature:{configurable:!0},lineWidth:{configurable:!0},lineContrast:{configurable:!0},verticalLine:{configurable:!0},noise:{configurable:!0},noiseSize:{configurable:!0},vignetting:{configurable:!0},vignettingAlpha:{configurable:!0},vignettingBlur:{configurable:!0}};return i.prototype.apply=function(n,i,t,e){this.uniforms.dimensions[0]=i.filterFrame.width,this.uniforms.dimensions[1]=i.filterFrame.height,this.uniforms.seed=this.seed,this.uniforms.time=this.time,n.applyFilter(this,i,t,e)},r.curvature.set=function(n){this.uniforms.curvature=n},r.curvature.get=function(){return this.uniforms.curvature},r.lineWidth.set=function(n){this.uniforms.lineWidth=n},r.lineWidth.get=function(){return this.uniforms.lineWidth},r.lineContrast.set=function(n){this.uniforms.lineContrast=n},r.lineContrast.get=function(){return this.uniforms.lineContrast},r.verticalLine.set=function(n){this.uniforms.verticalLine=n},r.verticalLine.get=function(){return this.uniforms.verticalLine},r.noise.set=function(n){this.uniforms.noise=n},r.noise.get=function(){return this.uniforms.noise},r.noiseSize.set=function(n){this.uniforms.noiseSize=n},r.noiseSize.get=function(){return this.uniforms.noiseSize},r.vignetting.set=function(n){this.uniforms.vignetting=n},r.vignetting.get=function(){return this.uniforms.vignetting},r.vignettingAlpha.set=function(n){this.uniforms.vignettingAlpha=n},r.vignettingAlpha.get=function(){return this.uniforms.vignettingAlpha},r.vignettingBlur.set=function(n){this.uniforms.vignettingBlur=n},r.vignettingBlur.get=function(){return this.uniforms.vignettingBlur},Object.defineProperties(i.prototype,r),i}(i.Filter);return n.CRTFilter=r,n}({},PIXI);Object.assign(PIXI.filters,__filters); diff --git a/Extensions/Effects/pixi-filters/filter-dot.js b/Extensions/Effects/pixi-filters/filter-dot.js index 67d5b55630fd..650692cd1358 100644 --- a/Extensions/Effects/pixi-filters/filter-dot.js +++ b/Extensions/Effects/pixi-filters/filter-dot.js @@ -1,8 +1,8 @@ /*! - * @pixi/filter-dot - v2.7.0 - * Compiled Sun, 13 Jan 2019 22:51:52 UTC + * @pixi/filter-dot - v3.1.1 + * Compiled Wed, 08 Apr 2020 11:09:37 UTC * * @pixi/filter-dot is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license */ -!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("pixi.js")):"function"==typeof define&&define.amd?define(["exports","pixi.js"],n):n((e=e||self).__filters={},e.PIXI)}(this,function(e,n){"use strict";var t="attribute vec2 aVertexPosition;\nattribute vec2 aTextureCoord;\n\nuniform mat3 projectionMatrix;\n\nvarying vec2 vTextureCoord;\n\nvoid main(void)\n{\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\n vTextureCoord = aTextureCoord;\n}",o="precision mediump float;\n\nvarying vec2 vTextureCoord;\nvarying vec4 vColor;\n\nuniform vec4 filterArea;\nuniform sampler2D uSampler;\n\nuniform float angle;\nuniform float scale;\n\nfloat pattern()\n{\n float s = sin(angle), c = cos(angle);\n vec2 tex = vTextureCoord * filterArea.xy;\n vec2 point = vec2(\n c * tex.x - s * tex.y,\n s * tex.x + c * tex.y\n ) * scale;\n return (sin(point.x) * sin(point.y)) * 4.0;\n}\n\nvoid main()\n{\n vec4 color = texture2D(uSampler, vTextureCoord);\n float average = (color.r + color.g + color.b) / 3.0;\n gl_FragColor = vec4(vec3(average * 10.0 - 5.0 + pattern()), color.a);\n}\n",r=function(e){function n(n,r){void 0===n&&(n=1),void 0===r&&(r=5),e.call(this,t,o),this.scale=n,this.angle=r}e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n;var r={scale:{configurable:!0},angle:{configurable:!0}};return r.scale.get=function(){return this.uniforms.scale},r.scale.set=function(e){this.uniforms.scale=e},r.angle.get=function(){return this.uniforms.angle},r.angle.set=function(e){this.uniforms.angle=e},Object.defineProperties(n.prototype,r),n}(n.Filter);e.DotFilter=r,Object.defineProperty(e,"__esModule",{value:!0})}),Object.assign(PIXI.filters,this?this.__filters:__filters); +var __filters=function(e,n){"use strict";var t="attribute vec2 aVertexPosition;\nattribute vec2 aTextureCoord;\n\nuniform mat3 projectionMatrix;\n\nvarying vec2 vTextureCoord;\n\nvoid main(void)\n{\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\n vTextureCoord = aTextureCoord;\n}",r="precision mediump float;\n\nvarying vec2 vTextureCoord;\nvarying vec4 vColor;\n\nuniform vec4 filterArea;\nuniform sampler2D uSampler;\n\nuniform float angle;\nuniform float scale;\n\nfloat pattern()\n{\n float s = sin(angle), c = cos(angle);\n vec2 tex = vTextureCoord * filterArea.xy;\n vec2 point = vec2(\n c * tex.x - s * tex.y,\n s * tex.x + c * tex.y\n ) * scale;\n return (sin(point.x) * sin(point.y)) * 4.0;\n}\n\nvoid main()\n{\n vec4 color = texture2D(uSampler, vTextureCoord);\n float average = (color.r + color.g + color.b) / 3.0;\n gl_FragColor = vec4(vec3(average * 10.0 - 5.0 + pattern()), color.a);\n}\n",o=function(e){function n(n,o){void 0===n&&(n=1),void 0===o&&(o=5),e.call(this,t,r),this.scale=n,this.angle=o}e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n;var o={scale:{configurable:!0},angle:{configurable:!0}};return o.scale.get=function(){return this.uniforms.scale},o.scale.set=function(e){this.uniforms.scale=e},o.angle.get=function(){return this.uniforms.angle},o.angle.set=function(e){this.uniforms.angle=e},Object.defineProperties(n.prototype,o),n}(n.Filter);return e.DotFilter=o,e}({},PIXI);Object.assign(PIXI.filters,__filters); diff --git a/Extensions/Effects/pixi-filters/filter-drop-shadow.js b/Extensions/Effects/pixi-filters/filter-drop-shadow.js index 014b9414fd4a..6a2776d3c8b1 100644 --- a/Extensions/Effects/pixi-filters/filter-drop-shadow.js +++ b/Extensions/Effects/pixi-filters/filter-drop-shadow.js @@ -1,8 +1,8 @@ /*! - * @pixi/filter-drop-shadow - v2.6.2 - * Compiled Fri, 20 Dec 2019 18:59:17 UTC + * @pixi/filter-drop-shadow - v3.1.1 + * Compiled Wed, 08 Apr 2020 11:09:37 UTC * * @pixi/filter-drop-shadow is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license */ -!function(t,i){"object"==typeof exports&&"undefined"!=typeof module?i(exports,require("@pixi/filter-kawase-blur"),require("pixi.js")):"function"==typeof define&&define.amd?define(["exports","@pixi/filter-kawase-blur","pixi.js"],i):i(t.__filters={},t.PIXI.filters,t.PIXI)}(this,function(t,i,e){"use strict";var r="attribute vec2 aVertexPosition;\nattribute vec2 aTextureCoord;\n\nuniform mat3 projectionMatrix;\n\nvarying vec2 vTextureCoord;\n\nvoid main(void)\n{\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\n vTextureCoord = aTextureCoord;\n}",n="varying vec2 vTextureCoord;\nuniform sampler2D uSampler;\nuniform float alpha;\nuniform vec3 color;\nvoid main(void){\n vec4 sample = texture2D(uSampler, vTextureCoord);\n\n // Un-premultiply alpha before applying the color\n if (sample.a > 0.0) {\n sample.rgb /= sample.a;\n }\n\n // Premultiply alpha again\n sample.rgb = color.rgb * sample.a;\n\n // alpha user alpha\n sample *= alpha;\n\n gl_FragColor = sample;\n}",o=function(t){function o(o){o&&o.constructor!==Object&&(console.warn("DropShadowFilter now uses options instead of (rotation, distance, blur, color, alpha)"),o={rotation:o},void 0!==arguments[1]&&(o.distance=arguments[1]),void 0!==arguments[2]&&(o.blur=arguments[2]),void 0!==arguments[3]&&(o.color=arguments[3]),void 0!==arguments[4]&&(o.alpha=arguments[4])),o=Object.assign({rotation:45,distance:5,color:0,alpha:.5,shadowOnly:!1,kernels:null,blur:2,quality:3,pixelSize:1,resolution:e.settings.RESOLUTION},o),t.call(this);var l=o.kernels,a=o.blur,s=o.quality,u=o.pixelSize,c=o.resolution;this._tintFilter=new e.Filter(r,n),this._tintFilter.uniforms.color=new Float32Array(4),this._tintFilter.resolution=c,this._blurFilter=l?new i.KawaseBlurFilter(l):new i.KawaseBlurFilter(a,s),this.pixelSize=u,this.resolution=c,this.targetTransform=new e.Matrix;var p=o.shadowOnly,h=o.rotation,f=o.distance,d=o.alpha,g=o.color;this.shadowOnly=p,this.rotation=h,this.distance=f,this.alpha=d,this.color=g,this._updatePadding()}t&&(o.__proto__=t),o.prototype=Object.create(t&&t.prototype),o.prototype.constructor=o;var l={resolution:{configurable:!0},distance:{configurable:!0},rotation:{configurable:!0},alpha:{configurable:!0},color:{configurable:!0},kernels:{configurable:!0},blur:{configurable:!0},quality:{configurable:!0},pixelSize:{configurable:!0}};return o.prototype.apply=function(t,i,e,r){var n=t.getRenderTarget();n.transform=this.targetTransform,this._tintFilter.apply(t,i,n,!0),n.transform=null,this._blurFilter.apply(t,n,e,r),!0!==this.shadowOnly&&t.applyFilter(this,i,e,!1),t.returnRenderTarget(n)},o.prototype._updatePadding=function(){this.padding=this.distance+2*this.blur},o.prototype._updateTargetTransform=function(){this.targetTransform.tx=this.distance*Math.cos(this.angle),this.targetTransform.ty=this.distance*Math.sin(this.angle)},l.resolution.get=function(){return this._resolution},l.resolution.set=function(t){this._resolution=t,this._tintFilter&&(this._tintFilter.resolution=t),this._blurFilter&&(this._blurFilter.resolution=t)},l.distance.get=function(){return this._distance},l.distance.set=function(t){this._distance=t,this._updatePadding(),this._updateTargetTransform()},l.rotation.get=function(){return this.angle/e.DEG_TO_RAD},l.rotation.set=function(t){this.angle=t*e.DEG_TO_RAD,this._updateTargetTransform()},l.alpha.get=function(){return this._tintFilter.uniforms.alpha},l.alpha.set=function(t){this._tintFilter.uniforms.alpha=t},l.color.get=function(){return e.utils.rgb2hex(this._tintFilter.uniforms.color)},l.color.set=function(t){e.utils.hex2rgb(t,this._tintFilter.uniforms.color)},l.kernels.get=function(){return this._blurFilter.kernels},l.kernels.set=function(t){this._blurFilter.kernels=t},l.blur.get=function(){return this._blurFilter.blur},l.blur.set=function(t){this._blurFilter.blur=t,this._updatePadding()},l.quality.get=function(){return this._blurFilter.quality},l.quality.set=function(t){this._blurFilter.quality=t},l.pixelSize.get=function(){return this._blurFilter.pixelSize},l.pixelSize.set=function(t){this._blurFilter.pixelSize=t},Object.defineProperties(o.prototype,l),o}(e.Filter);t.DropShadowFilter=o,Object.defineProperty(t,"__esModule",{value:!0})}),Object.assign(PIXI.filters,this?this.__filters:__filters); +var __filters=function(t,i,e,r,n,o){"use strict";var l="attribute vec2 aVertexPosition;\nattribute vec2 aTextureCoord;\n\nuniform mat3 projectionMatrix;\n\nvarying vec2 vTextureCoord;\n\nvoid main(void)\n{\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\n vTextureCoord = aTextureCoord;\n}",s="varying vec2 vTextureCoord;\nuniform sampler2D uSampler;\nuniform float alpha;\nuniform vec3 color;\n\nuniform vec2 shift;\nuniform vec4 inputSize;\n\nvoid main(void){\n vec4 sample = texture2D(uSampler, vTextureCoord - shift * inputSize.zw);\n\n // Premultiply alpha\n sample.rgb = color.rgb * sample.a;\n\n // alpha user alpha\n sample *= alpha;\n\n gl_FragColor = sample;\n}",a=function(t){function e(e){e&&e.constructor!==Object&&(console.warn("DropShadowFilter now uses options instead of (rotation, distance, blur, color, alpha)"),e={rotation:e},void 0!==arguments[1]&&(e.distance=arguments[1]),void 0!==arguments[2]&&(e.blur=arguments[2]),void 0!==arguments[3]&&(e.color=arguments[3]),void 0!==arguments[4]&&(e.alpha=arguments[4])),e=Object.assign({rotation:45,distance:5,color:0,alpha:.5,shadowOnly:!1,kernels:null,blur:2,quality:3,pixelSize:1,resolution:r.settings.RESOLUTION},e),t.call(this);var o=e.kernels,a=e.blur,u=e.quality,c=e.pixelSize,h=e.resolution;this._tintFilter=new t(l,s),this._tintFilter.uniforms.color=new Float32Array(4),this._tintFilter.uniforms.shift=new n.Point,this._tintFilter.resolution=h,this._blurFilter=o?new i.KawaseBlurFilter(o):new i.KawaseBlurFilter(a,u),this.pixelSize=c,this.resolution=h;var p=e.shadowOnly,f=e.rotation,d=e.distance,_=e.alpha,b=e.color;this.shadowOnly=p,this.rotation=f,this.distance=d,this.alpha=_,this.color=b,this._updatePadding()}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var a={resolution:{configurable:!0},distance:{configurable:!0},rotation:{configurable:!0},alpha:{configurable:!0},color:{configurable:!0},kernels:{configurable:!0},blur:{configurable:!0},quality:{configurable:!0},pixelSize:{configurable:!0}};return e.prototype.apply=function(t,i,e,r){var n=t.getFilterTexture();this._tintFilter.apply(t,i,n,1),this._blurFilter.apply(t,n,e,r),!0!==this.shadowOnly&&t.applyFilter(this,i,e,0),t.returnFilterTexture(n)},e.prototype._updatePadding=function(){this.padding=this.distance+2*this.blur},e.prototype._updateShift=function(){this._tintFilter.uniforms.shift.set(this.distance*Math.cos(this.angle),this.distance*Math.sin(this.angle))},a.resolution.get=function(){return this._resolution},a.resolution.set=function(t){this._resolution=t,this._tintFilter&&(this._tintFilter.resolution=t),this._blurFilter&&(this._blurFilter.resolution=t)},a.distance.get=function(){return this._distance},a.distance.set=function(t){this._distance=t,this._updatePadding(),this._updateShift()},a.rotation.get=function(){return this.angle/n.DEG_TO_RAD},a.rotation.set=function(t){this.angle=t*n.DEG_TO_RAD,this._updateShift()},a.alpha.get=function(){return this._tintFilter.uniforms.alpha},a.alpha.set=function(t){this._tintFilter.uniforms.alpha=t},a.color.get=function(){return o.rgb2hex(this._tintFilter.uniforms.color)},a.color.set=function(t){o.hex2rgb(t,this._tintFilter.uniforms.color)},a.kernels.get=function(){return this._blurFilter.kernels},a.kernels.set=function(t){this._blurFilter.kernels=t},a.blur.get=function(){return this._blurFilter.blur},a.blur.set=function(t){this._blurFilter.blur=t,this._updatePadding()},a.quality.get=function(){return this._blurFilter.quality},a.quality.set=function(t){this._blurFilter.quality=t},a.pixelSize.get=function(){return this._blurFilter.pixelSize},a.pixelSize.set=function(t){this._blurFilter.pixelSize=t},Object.defineProperties(e.prototype,a),e}(e.Filter);return t.DropShadowFilter=a,t}({},PIXI.filters,PIXI,PIXI,PIXI,PIXI.utils);Object.assign(PIXI.filters,__filters); diff --git a/Extensions/Effects/pixi-filters/filter-glitch.js b/Extensions/Effects/pixi-filters/filter-glitch.js index df4cb4a9f58a..b33428da136e 100644 --- a/Extensions/Effects/pixi-filters/filter-glitch.js +++ b/Extensions/Effects/pixi-filters/filter-glitch.js @@ -1,8 +1,8 @@ /*! - * @pixi/filter-glitch - v2.7.0 - * Compiled Sun, 13 Jan 2019 22:51:52 UTC + * @pixi/filter-glitch - v3.1.1 + * Compiled Wed, 08 Apr 2020 11:09:37 UTC * * @pixi/filter-glitch is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license */ -!function(e,i){"object"==typeof exports&&"undefined"!=typeof module?i(exports,require("pixi.js")):"function"==typeof define&&define.amd?define(["exports","pixi.js"],i):i((e=e||self).__filters={},e.PIXI)}(this,function(e,i){"use strict";var t="attribute vec2 aVertexPosition;\nattribute vec2 aTextureCoord;\n\nuniform mat3 projectionMatrix;\n\nvarying vec2 vTextureCoord;\n\nvoid main(void)\n{\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\n vTextureCoord = aTextureCoord;\n}",n="// precision highp float;\n\nvarying vec2 vTextureCoord;\nuniform sampler2D uSampler;\n\nuniform vec4 filterArea;\nuniform vec4 filterClamp;\nuniform vec2 dimensions;\nuniform float aspect;\n\nuniform sampler2D displacementMap;\nuniform float offset;\nuniform float sinDir;\nuniform float cosDir;\nuniform int fillMode;\n\nuniform float seed;\nuniform vec2 red;\nuniform vec2 green;\nuniform vec2 blue;\n\nconst int TRANSPARENT = 0;\nconst int ORIGINAL = 1;\nconst int LOOP = 2;\nconst int CLAMP = 3;\nconst int MIRROR = 4;\n\nvoid main(void)\n{\n vec2 coord = (vTextureCoord * filterArea.xy) / dimensions;\n\n if (coord.x > 1.0 || coord.y > 1.0) {\n return;\n }\n\n float cx = coord.x - 0.5;\n float cy = (coord.y - 0.5) * aspect;\n float ny = (-sinDir * cx + cosDir * cy) / aspect + 0.5;\n\n // displacementMap: repeat\n // ny = ny > 1.0 ? ny - 1.0 : (ny < 0.0 ? 1.0 + ny : ny);\n\n // displacementMap: mirror\n ny = ny > 1.0 ? 2.0 - ny : (ny < 0.0 ? -ny : ny);\n\n vec4 dc = texture2D(displacementMap, vec2(0.5, ny));\n\n float displacement = (dc.r - dc.g) * (offset / filterArea.x);\n\n coord = vTextureCoord + vec2(cosDir * displacement, sinDir * displacement * aspect);\n\n if (fillMode == CLAMP) {\n coord = clamp(coord, filterClamp.xy, filterClamp.zw);\n } else {\n if( coord.x > filterClamp.z ) {\n if (fillMode == ORIGINAL) {\n gl_FragColor = texture2D(uSampler, vTextureCoord);\n return;\n } else if (fillMode == LOOP) {\n coord.x -= filterClamp.z;\n } else if (fillMode == MIRROR) {\n coord.x = filterClamp.z * 2.0 - coord.x;\n } else {\n gl_FragColor = vec4(0., 0., 0., 0.);\n return;\n }\n } else if( coord.x < filterClamp.x ) {\n if (fillMode == ORIGINAL) {\n gl_FragColor = texture2D(uSampler, vTextureCoord);\n return;\n } else if (fillMode == LOOP) {\n coord.x += filterClamp.z;\n } else if (fillMode == MIRROR) {\n coord.x *= -filterClamp.z;\n } else {\n gl_FragColor = vec4(0., 0., 0., 0.);\n return;\n }\n }\n\n if( coord.y > filterClamp.w ) {\n if (fillMode == ORIGINAL) {\n gl_FragColor = texture2D(uSampler, vTextureCoord);\n return;\n } else if (fillMode == LOOP) {\n coord.y -= filterClamp.w;\n } else if (fillMode == MIRROR) {\n coord.y = filterClamp.w * 2.0 - coord.y;\n } else {\n gl_FragColor = vec4(0., 0., 0., 0.);\n return;\n }\n } else if( coord.y < filterClamp.y ) {\n if (fillMode == ORIGINAL) {\n gl_FragColor = texture2D(uSampler, vTextureCoord);\n return;\n } else if (fillMode == LOOP) {\n coord.y += filterClamp.w;\n } else if (fillMode == MIRROR) {\n coord.y *= -filterClamp.w;\n } else {\n gl_FragColor = vec4(0., 0., 0., 0.);\n return;\n }\n }\n }\n\n gl_FragColor.r = texture2D(uSampler, coord + red * (1.0 - seed * 0.4) / filterArea.xy).r;\n gl_FragColor.g = texture2D(uSampler, coord + green * (1.0 - seed * 0.3) / filterArea.xy).g;\n gl_FragColor.b = texture2D(uSampler, coord + blue * (1.0 - seed * 0.2) / filterArea.xy).b;\n gl_FragColor.a = texture2D(uSampler, coord).a;\n}\n",r=function(e){function r(r){void 0===r&&(r={}),e.call(this,t,n),this.uniforms.dimensions=new Float32Array(2),r=Object.assign({slices:5,offset:100,direction:0,fillMode:0,average:!1,seed:0,red:[0,0],green:[0,0],blue:[0,0],minSize:8,sampleSize:512},r),this.direction=r.direction,this.red=r.red,this.green=r.green,this.blue=r.blue,this.offset=r.offset,this.fillMode=r.fillMode,this.average=r.average,this.seed=r.seed,this.minSize=r.minSize,this.sampleSize=r.sampleSize,this._canvas=document.createElement("canvas"),this._canvas.width=4,this._canvas.height=this.sampleSize,this.texture=i.Texture.fromCanvas(this._canvas,i.SCALE_MODES.NEAREST),this._slices=0,this.slices=r.slices}e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r;var s={sizes:{configurable:!0},offsets:{configurable:!0},slices:{configurable:!0},direction:{configurable:!0},red:{configurable:!0},green:{configurable:!0},blue:{configurable:!0}};return r.prototype.apply=function(e,i,t,n){var r=i.sourceFrame.width,s=i.sourceFrame.height;this.uniforms.dimensions[0]=r,this.uniforms.dimensions[1]=s,this.uniforms.aspect=s/r,this.uniforms.seed=this.seed,this.uniforms.offset=this.offset,this.uniforms.fillMode=this.fillMode,e.applyFilter(this,i,t,n)},r.prototype._randomizeSizes=function(){var e=this._sizes,i=this._slices-1,t=this.sampleSize,n=Math.min(this.minSize/t,.9/this._slices);if(this.average){for(var r=this._slices,s=1,o=0;o0;i--){var t=Math.random()*i>>0,n=e[i];e[i]=e[t],e[t]=n}},r.prototype._randomizeOffsets=function(){for(var e=0;e0?e:0,f=e<0?-e:0;n.fillStyle="rgba("+l+", "+f+", 0, 1)",n.fillRect(0,r>>0,i,o+1>>0),r+=o}t.baseTexture.update(),this.uniforms.displacementMap=t},s.sizes.set=function(e){for(var i=Math.min(this._slices,e.length),t=0;t0;i--){var t=Math.random()*i>>0,n=e[i];e[i]=e[t],e[t]=n}},o.prototype._randomizeOffsets=function(){for(var e=0;e0?e:0,f=e<0?-e:0;n.fillStyle="rgba("+l+", "+f+", 0, 1)",n.fillRect(0,s>>0,i,o+1>>0),s+=o}t.baseTexture.update(),this.uniforms.displacementMap=t},l.sizes.set=function(e){for(var i=Math.min(this._slices,e.length),t=0;t0)for(var i=e,o=e/t,n=1;n0?(this._kernels=e,this._quality=e.length,this._blur=Math.max.apply(Math,e)):(this._kernels=[0],this._quality=1)},l.clamp.get=function(){return this._clamp},l.pixelSize.set=function(e){"number"==typeof e?(this._pixelSize.x=e,this._pixelSize.y=e):Array.isArray(e)?(this._pixelSize.x=e[0],this._pixelSize.y=e[1]):e instanceof t.Point?(this._pixelSize.x=e.x,this._pixelSize.y=e.y):(this._pixelSize.x=1,this._pixelSize.y=1)},l.pixelSize.get=function(){return this._pixelSize},l.quality.get=function(){return this._quality},l.quality.set=function(e){this._quality=Math.max(1,Math.round(e)),this._generateKernels()},l.blur.get=function(){return this._blur},l.blur.set=function(e){this._blur=e,this._generateKernels()},Object.defineProperties(n.prototype,l),n}(t.Filter);e.KawaseBlurFilter=n,Object.defineProperty(e,"__esModule",{value:!0})}),Object.assign(PIXI.filters,this?this.__filters:__filters); +var __filters=function(e,t,r){"use strict";var i="attribute vec2 aVertexPosition;\nattribute vec2 aTextureCoord;\n\nuniform mat3 projectionMatrix;\n\nvarying vec2 vTextureCoord;\n\nvoid main(void)\n{\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\n vTextureCoord = aTextureCoord;\n}",o="\nvarying vec2 vTextureCoord;\nuniform sampler2D uSampler;\n\nuniform vec2 uOffset;\n\nvoid main(void)\n{\n vec4 color = vec4(0.0);\n\n // Sample top left pixel\n color += texture2D(uSampler, vec2(vTextureCoord.x - uOffset.x, vTextureCoord.y + uOffset.y));\n\n // Sample top right pixel\n color += texture2D(uSampler, vec2(vTextureCoord.x + uOffset.x, vTextureCoord.y + uOffset.y));\n\n // Sample bottom right pixel\n color += texture2D(uSampler, vec2(vTextureCoord.x + uOffset.x, vTextureCoord.y - uOffset.y));\n\n // Sample bottom left pixel\n color += texture2D(uSampler, vec2(vTextureCoord.x - uOffset.x, vTextureCoord.y - uOffset.y));\n\n // Average\n color *= 0.25;\n\n gl_FragColor = color;\n}",n="\nvarying vec2 vTextureCoord;\nuniform sampler2D uSampler;\n\nuniform vec2 uOffset;\nuniform vec4 filterClamp;\n\nvoid main(void)\n{\n vec4 color = vec4(0.0);\n\n // Sample top left pixel\n color += texture2D(uSampler, clamp(vec2(vTextureCoord.x - uOffset.x, vTextureCoord.y + uOffset.y), filterClamp.xy, filterClamp.zw));\n\n // Sample top right pixel\n color += texture2D(uSampler, clamp(vec2(vTextureCoord.x + uOffset.x, vTextureCoord.y + uOffset.y), filterClamp.xy, filterClamp.zw));\n\n // Sample bottom right pixel\n color += texture2D(uSampler, clamp(vec2(vTextureCoord.x + uOffset.x, vTextureCoord.y - uOffset.y), filterClamp.xy, filterClamp.zw));\n\n // Sample bottom left pixel\n color += texture2D(uSampler, clamp(vec2(vTextureCoord.x - uOffset.x, vTextureCoord.y - uOffset.y), filterClamp.xy, filterClamp.zw));\n\n // Average\n color *= 0.25;\n\n gl_FragColor = color;\n}\n",l=function(e){function t(t,l,u){void 0===t&&(t=4),void 0===l&&(l=3),void 0===u&&(u=!1),e.call(this,i,u?n:o),this.uniforms.uOffset=new Float32Array(2),this._pixelSize=new r.Point,this.pixelSize=1,this._clamp=u,this._kernels=null,Array.isArray(t)?this.kernels=t:(this._blur=t,this.quality=l)}e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t;var l={kernels:{configurable:!0},clamp:{configurable:!0},pixelSize:{configurable:!0},quality:{configurable:!0},blur:{configurable:!0}};return t.prototype.apply=function(e,t,r,i){var o,n=this._pixelSize.x/t._frame.width,l=this._pixelSize.y/t._frame.height;if(1===this._quality||0===this._blur)o=this._kernels[0]+.5,this.uniforms.uOffset[0]=o*n,this.uniforms.uOffset[1]=o*l,e.applyFilter(this,t,r,i);else{for(var u,s=e.getFilterTexture(),a=t,f=s,p=this._quality-1,x=0;x0)for(var i=e,o=e/t,n=1;n0?(this._kernels=e,this._quality=e.length,this._blur=Math.max.apply(Math,e)):(this._kernels=[0],this._quality=1)},l.clamp.get=function(){return this._clamp},l.pixelSize.set=function(e){"number"==typeof e?(this._pixelSize.x=e,this._pixelSize.y=e):Array.isArray(e)?(this._pixelSize.x=e[0],this._pixelSize.y=e[1]):e instanceof r.Point?(this._pixelSize.x=e.x,this._pixelSize.y=e.y):(this._pixelSize.x=1,this._pixelSize.y=1)},l.pixelSize.get=function(){return this._pixelSize},l.quality.get=function(){return this._quality},l.quality.set=function(e){this._quality=Math.max(1,Math.round(e)),this._generateKernels()},l.blur.get=function(){return this._blur},l.blur.set=function(e){this._blur=e,this._generateKernels()},Object.defineProperties(t.prototype,l),t}(t.Filter);return e.KawaseBlurFilter=l,e}({},PIXI,PIXI);Object.assign(PIXI.filters,__filters); diff --git a/Extensions/Effects/pixi-filters/filter-old-film.js b/Extensions/Effects/pixi-filters/filter-old-film.js index 1b7ce6e20304..e370b6d4795f 100644 --- a/Extensions/Effects/pixi-filters/filter-old-film.js +++ b/Extensions/Effects/pixi-filters/filter-old-film.js @@ -1,8 +1,8 @@ /*! - * @pixi/filter-old-film - v2.7.0 - * Compiled Sun, 13 Jan 2019 22:51:52 UTC + * @pixi/filter-old-film - v3.1.1 + * Compiled Wed, 08 Apr 2020 11:09:37 UTC * * @pixi/filter-old-film is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license */ -!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("pixi.js")):"function"==typeof define&&define.amd?define(["exports","pixi.js"],t):t((n=n||self).__filters={},n.PIXI)}(this,function(n,t){"use strict";var i="attribute vec2 aVertexPosition;\nattribute vec2 aTextureCoord;\n\nuniform mat3 projectionMatrix;\n\nvarying vec2 vTextureCoord;\n\nvoid main(void)\n{\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\n vTextureCoord = aTextureCoord;\n}",e="varying vec2 vTextureCoord;\nuniform sampler2D uSampler;\nuniform vec4 filterArea;\nuniform vec2 dimensions;\n\nuniform float sepia;\nuniform float noise;\nuniform float noiseSize;\nuniform float scratch;\nuniform float scratchDensity;\nuniform float scratchWidth;\nuniform float vignetting;\nuniform float vignettingAlpha;\nuniform float vignettingBlur;\nuniform float seed;\n\nconst float SQRT_2 = 1.414213;\nconst vec3 SEPIA_RGB = vec3(112.0 / 255.0, 66.0 / 255.0, 20.0 / 255.0);\n\nfloat rand(vec2 co) {\n return fract(sin(dot(co.xy, vec2(12.9898, 78.233))) * 43758.5453);\n}\n\nvec3 Overlay(vec3 src, vec3 dst)\n{\n // if (dst <= 0.5) then: 2 * src * dst\n // if (dst > 0.5) then: 1 - 2 * (1 - dst) * (1 - src)\n return vec3((dst.x <= 0.5) ? (2.0 * src.x * dst.x) : (1.0 - 2.0 * (1.0 - dst.x) * (1.0 - src.x)),\n (dst.y <= 0.5) ? (2.0 * src.y * dst.y) : (1.0 - 2.0 * (1.0 - dst.y) * (1.0 - src.y)),\n (dst.z <= 0.5) ? (2.0 * src.z * dst.z) : (1.0 - 2.0 * (1.0 - dst.z) * (1.0 - src.z)));\n}\n\n\nvoid main()\n{\n gl_FragColor = texture2D(uSampler, vTextureCoord);\n vec3 color = gl_FragColor.rgb;\n\n if (sepia > 0.0)\n {\n float gray = (color.x + color.y + color.z) / 3.0;\n vec3 grayscale = vec3(gray);\n\n color = Overlay(SEPIA_RGB, grayscale);\n\n color = grayscale + sepia * (color - grayscale);\n }\n\n vec2 coord = vTextureCoord * filterArea.xy / dimensions.xy;\n\n if (vignetting > 0.0)\n {\n float outter = SQRT_2 - vignetting * SQRT_2;\n vec2 dir = vec2(vec2(0.5, 0.5) - coord);\n dir.y *= dimensions.y / dimensions.x;\n float darker = clamp((outter - length(dir) * SQRT_2) / ( 0.00001 + vignettingBlur * SQRT_2), 0.0, 1.0);\n color.rgb *= darker + (1.0 - darker) * (1.0 - vignettingAlpha);\n }\n\n if (scratchDensity > seed && scratch != 0.0)\n {\n float phase = seed * 256.0;\n float s = mod(floor(phase), 2.0);\n float dist = 1.0 / scratchDensity;\n float d = distance(coord, vec2(seed * dist, abs(s - seed * dist)));\n if (d < seed * 0.6 + 0.4)\n {\n highp float period = scratchDensity * 10.0;\n\n float xx = coord.x * period + phase;\n float aa = abs(mod(xx, 0.5) * 4.0);\n float bb = mod(floor(xx / 0.5), 2.0);\n float yy = (1.0 - bb) * aa + bb * (2.0 - aa);\n\n float kk = 2.0 * period;\n float dw = scratchWidth / dimensions.x * (0.75 + seed);\n float dh = dw * kk;\n\n float tine = (yy - (2.0 - dh));\n\n if (tine > 0.0) {\n float _sign = sign(scratch);\n\n tine = s * tine / period + scratch + 0.1;\n tine = clamp(tine + 1.0, 0.5 + _sign * 0.5, 1.5 + _sign * 0.5);\n\n color.rgb *= tine;\n }\n }\n }\n\n if (noise > 0.0 && noiseSize > 0.0)\n {\n vec2 pixelCoord = vTextureCoord.xy * filterArea.xy;\n pixelCoord.x = floor(pixelCoord.x / noiseSize);\n pixelCoord.y = floor(pixelCoord.y / noiseSize);\n // vec2 d = pixelCoord * noiseSize * vec2(1024.0 + seed * 512.0, 1024.0 - seed * 512.0);\n // float _noise = snoise(d) * 0.5;\n float _noise = rand(pixelCoord * noiseSize * seed) - 0.5;\n color += _noise * noise;\n }\n\n gl_FragColor.rgb = color;\n}\n",o=function(n){function t(t,o){void 0===o&&(o=0),n.call(this,i,e),this.uniforms.dimensions=new Float32Array(2),"number"==typeof t?(this.seed=t,t=null):this.seed=o,Object.assign(this,{sepia:.3,noise:.3,noiseSize:1,scratch:.5,scratchDensity:.3,scratchWidth:1,vignetting:.3,vignettingAlpha:1,vignettingBlur:.3},t)}n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t;var o={sepia:{configurable:!0},noise:{configurable:!0},noiseSize:{configurable:!0},scratch:{configurable:!0},scratchDensity:{configurable:!0},scratchWidth:{configurable:!0},vignetting:{configurable:!0},vignettingAlpha:{configurable:!0},vignettingBlur:{configurable:!0}};return t.prototype.apply=function(n,t,i,e){this.uniforms.dimensions[0]=t.sourceFrame.width,this.uniforms.dimensions[1]=t.sourceFrame.height,this.uniforms.seed=this.seed,n.applyFilter(this,t,i,e)},o.sepia.set=function(n){this.uniforms.sepia=n},o.sepia.get=function(){return this.uniforms.sepia},o.noise.set=function(n){this.uniforms.noise=n},o.noise.get=function(){return this.uniforms.noise},o.noiseSize.set=function(n){this.uniforms.noiseSize=n},o.noiseSize.get=function(){return this.uniforms.noiseSize},o.scratch.set=function(n){this.uniforms.scratch=n},o.scratch.get=function(){return this.uniforms.scratch},o.scratchDensity.set=function(n){this.uniforms.scratchDensity=n},o.scratchDensity.get=function(){return this.uniforms.scratchDensity},o.scratchWidth.set=function(n){this.uniforms.scratchWidth=n},o.scratchWidth.get=function(){return this.uniforms.scratchWidth},o.vignetting.set=function(n){this.uniforms.vignetting=n},o.vignetting.get=function(){return this.uniforms.vignetting},o.vignettingAlpha.set=function(n){this.uniforms.vignettingAlpha=n},o.vignettingAlpha.get=function(){return this.uniforms.vignettingAlpha},o.vignettingBlur.set=function(n){this.uniforms.vignettingBlur=n},o.vignettingBlur.get=function(){return this.uniforms.vignettingBlur},Object.defineProperties(t.prototype,o),t}(t.Filter);n.OldFilmFilter=o,Object.defineProperty(n,"__esModule",{value:!0})}),Object.assign(PIXI.filters,this?this.__filters:__filters); +var __filters=function(n,t){"use strict";var i="attribute vec2 aVertexPosition;\nattribute vec2 aTextureCoord;\n\nuniform mat3 projectionMatrix;\n\nvarying vec2 vTextureCoord;\n\nvoid main(void)\n{\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\n vTextureCoord = aTextureCoord;\n}",e="varying vec2 vTextureCoord;\nuniform sampler2D uSampler;\nuniform vec4 filterArea;\nuniform vec2 dimensions;\n\nuniform float sepia;\nuniform float noise;\nuniform float noiseSize;\nuniform float scratch;\nuniform float scratchDensity;\nuniform float scratchWidth;\nuniform float vignetting;\nuniform float vignettingAlpha;\nuniform float vignettingBlur;\nuniform float seed;\n\nconst float SQRT_2 = 1.414213;\nconst vec3 SEPIA_RGB = vec3(112.0 / 255.0, 66.0 / 255.0, 20.0 / 255.0);\n\nfloat rand(vec2 co) {\n return fract(sin(dot(co.xy, vec2(12.9898, 78.233))) * 43758.5453);\n}\n\nvec3 Overlay(vec3 src, vec3 dst)\n{\n // if (dst <= 0.5) then: 2 * src * dst\n // if (dst > 0.5) then: 1 - 2 * (1 - dst) * (1 - src)\n return vec3((dst.x <= 0.5) ? (2.0 * src.x * dst.x) : (1.0 - 2.0 * (1.0 - dst.x) * (1.0 - src.x)),\n (dst.y <= 0.5) ? (2.0 * src.y * dst.y) : (1.0 - 2.0 * (1.0 - dst.y) * (1.0 - src.y)),\n (dst.z <= 0.5) ? (2.0 * src.z * dst.z) : (1.0 - 2.0 * (1.0 - dst.z) * (1.0 - src.z)));\n}\n\n\nvoid main()\n{\n gl_FragColor = texture2D(uSampler, vTextureCoord);\n vec3 color = gl_FragColor.rgb;\n\n if (sepia > 0.0)\n {\n float gray = (color.x + color.y + color.z) / 3.0;\n vec3 grayscale = vec3(gray);\n\n color = Overlay(SEPIA_RGB, grayscale);\n\n color = grayscale + sepia * (color - grayscale);\n }\n\n vec2 coord = vTextureCoord * filterArea.xy / dimensions.xy;\n\n if (vignetting > 0.0)\n {\n float outter = SQRT_2 - vignetting * SQRT_2;\n vec2 dir = vec2(vec2(0.5, 0.5) - coord);\n dir.y *= dimensions.y / dimensions.x;\n float darker = clamp((outter - length(dir) * SQRT_2) / ( 0.00001 + vignettingBlur * SQRT_2), 0.0, 1.0);\n color.rgb *= darker + (1.0 - darker) * (1.0 - vignettingAlpha);\n }\n\n if (scratchDensity > seed && scratch != 0.0)\n {\n float phase = seed * 256.0;\n float s = mod(floor(phase), 2.0);\n float dist = 1.0 / scratchDensity;\n float d = distance(coord, vec2(seed * dist, abs(s - seed * dist)));\n if (d < seed * 0.6 + 0.4)\n {\n highp float period = scratchDensity * 10.0;\n\n float xx = coord.x * period + phase;\n float aa = abs(mod(xx, 0.5) * 4.0);\n float bb = mod(floor(xx / 0.5), 2.0);\n float yy = (1.0 - bb) * aa + bb * (2.0 - aa);\n\n float kk = 2.0 * period;\n float dw = scratchWidth / dimensions.x * (0.75 + seed);\n float dh = dw * kk;\n\n float tine = (yy - (2.0 - dh));\n\n if (tine > 0.0) {\n float _sign = sign(scratch);\n\n tine = s * tine / period + scratch + 0.1;\n tine = clamp(tine + 1.0, 0.5 + _sign * 0.5, 1.5 + _sign * 0.5);\n\n color.rgb *= tine;\n }\n }\n }\n\n if (noise > 0.0 && noiseSize > 0.0)\n {\n vec2 pixelCoord = vTextureCoord.xy * filterArea.xy;\n pixelCoord.x = floor(pixelCoord.x / noiseSize);\n pixelCoord.y = floor(pixelCoord.y / noiseSize);\n // vec2 d = pixelCoord * noiseSize * vec2(1024.0 + seed * 512.0, 1024.0 - seed * 512.0);\n // float _noise = snoise(d) * 0.5;\n float _noise = rand(pixelCoord * noiseSize * seed) - 0.5;\n color += _noise * noise;\n }\n\n gl_FragColor.rgb = color;\n}\n",o=function(n){function t(t,o){void 0===o&&(o=0),n.call(this,i,e),this.uniforms.dimensions=new Float32Array(2),"number"==typeof t?(this.seed=t,t=null):this.seed=o,Object.assign(this,{sepia:.3,noise:.3,noiseSize:1,scratch:.5,scratchDensity:.3,scratchWidth:1,vignetting:.3,vignettingAlpha:1,vignettingBlur:.3},t)}n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t;var o={sepia:{configurable:!0},noise:{configurable:!0},noiseSize:{configurable:!0},scratch:{configurable:!0},scratchDensity:{configurable:!0},scratchWidth:{configurable:!0},vignetting:{configurable:!0},vignettingAlpha:{configurable:!0},vignettingBlur:{configurable:!0}};return t.prototype.apply=function(n,t,i,e){this.uniforms.dimensions[0]=t.filterFrame.width,this.uniforms.dimensions[1]=t.filterFrame.height,this.uniforms.seed=this.seed,n.applyFilter(this,t,i,e)},o.sepia.set=function(n){this.uniforms.sepia=n},o.sepia.get=function(){return this.uniforms.sepia},o.noise.set=function(n){this.uniforms.noise=n},o.noise.get=function(){return this.uniforms.noise},o.noiseSize.set=function(n){this.uniforms.noiseSize=n},o.noiseSize.get=function(){return this.uniforms.noiseSize},o.scratch.set=function(n){this.uniforms.scratch=n},o.scratch.get=function(){return this.uniforms.scratch},o.scratchDensity.set=function(n){this.uniforms.scratchDensity=n},o.scratchDensity.get=function(){return this.uniforms.scratchDensity},o.scratchWidth.set=function(n){this.uniforms.scratchWidth=n},o.scratchWidth.get=function(){return this.uniforms.scratchWidth},o.vignetting.set=function(n){this.uniforms.vignetting=n},o.vignetting.get=function(){return this.uniforms.vignetting},o.vignettingAlpha.set=function(n){this.uniforms.vignettingAlpha=n},o.vignettingAlpha.get=function(){return this.uniforms.vignettingAlpha},o.vignettingBlur.set=function(n){this.uniforms.vignettingBlur=n},o.vignettingBlur.get=function(){return this.uniforms.vignettingBlur},Object.defineProperties(t.prototype,o),t}(t.Filter);return n.OldFilmFilter=o,n}({},PIXI);Object.assign(PIXI.filters,__filters); diff --git a/Extensions/Effects/pixi-filters/filter-outline.js b/Extensions/Effects/pixi-filters/filter-outline.js index d7aba4c4ec79..72df717907ce 100644 --- a/Extensions/Effects/pixi-filters/filter-outline.js +++ b/Extensions/Effects/pixi-filters/filter-outline.js @@ -1,8 +1,8 @@ /*! - * @pixi/filter-outline - v2.6.0 - * Compiled Fri, 20 Dec 2019 18:59:17 UTC + * @pixi/filter-outline - v3.1.1 + * Compiled Wed, 08 Apr 2020 11:09:37 UTC * * @pixi/filter-outline is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license */ -!function(e,o){"object"==typeof exports&&"undefined"!=typeof module?o(exports,require("pixi.js")):"function"==typeof define&&define.amd?define(["exports","pixi.js"],o):o(e.__filters={},e.PIXI)}(this,function(e,o){"use strict";var t="attribute vec2 aVertexPosition;\nattribute vec2 aTextureCoord;\n\nuniform mat3 projectionMatrix;\n\nvarying vec2 vTextureCoord;\n\nvoid main(void)\n{\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\n vTextureCoord = aTextureCoord;\n}",r="varying vec2 vTextureCoord;\nuniform sampler2D uSampler;\n\nuniform vec2 thickness;\nuniform vec4 outlineColor;\nuniform vec4 filterClamp;\n\nconst float DOUBLE_PI = 3.14159265358979323846264 * 2.;\n\nvoid main(void) {\n vec4 ownColor = texture2D(uSampler, vTextureCoord);\n vec4 curColor;\n float maxAlpha = 0.;\n vec2 displaced;\n for (float angle = 0.; angle <= DOUBLE_PI; angle += ${angleStep}) {\n displaced.x = vTextureCoord.x + thickness.x * cos(angle);\n displaced.y = vTextureCoord.y + thickness.y * sin(angle);\n curColor = texture2D(uSampler, clamp(displaced, filterClamp.xy, filterClamp.zw));\n maxAlpha = max(maxAlpha, curColor.a);\n }\n float resultAlpha = max(maxAlpha, ownColor.a);\n gl_FragColor = vec4((ownColor.rgb + outlineColor.rgb * (1. - ownColor.a)) * resultAlpha, resultAlpha);\n}\n",n=function(e){function n(o,i,l){void 0===o&&(o=1),void 0===i&&(i=0),void 0===l&&(l=.1);var s=Math.max(l*n.MAX_SAMPLES,n.MIN_SAMPLES),a=(2*Math.PI/s).toFixed(7);e.call(this,t,r.replace(/\$\{angleStep\}/,a)),this.uniforms.thickness=new Float32Array([0,0]),this.thickness=o,this.uniforms.outlineColor=new Float32Array([0,0,0,1]),this.color=i,this.quality=l}e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n;var i={color:{configurable:!0}};return n.prototype.apply=function(e,o,t,r){this.uniforms.thickness[0]=this.thickness/o.size.width,this.uniforms.thickness[1]=this.thickness/o.size.height,e.applyFilter(this,o,t,r)},i.color.get=function(){return o.utils.rgb2hex(this.uniforms.outlineColor)},i.color.set=function(e){o.utils.hex2rgb(e,this.uniforms.outlineColor)},Object.defineProperties(n.prototype,i),n}(o.Filter);n.MIN_SAMPLES=1,n.MAX_SAMPLES=100,e.OutlineFilter=n,Object.defineProperty(e,"__esModule",{value:!0})}),Object.assign(PIXI.filters,this?this.__filters:__filters); +var __filters=function(o,e,t){"use strict";var r="attribute vec2 aVertexPosition;\nattribute vec2 aTextureCoord;\n\nuniform mat3 projectionMatrix;\n\nvarying vec2 vTextureCoord;\n\nvoid main(void)\n{\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\n vTextureCoord = aTextureCoord;\n}",n="varying vec2 vTextureCoord;\nuniform sampler2D uSampler;\n\nuniform vec2 thickness;\nuniform vec4 outlineColor;\nuniform vec4 filterClamp;\n\nconst float DOUBLE_PI = 3.14159265358979323846264 * 2.;\n\nvoid main(void) {\n vec4 ownColor = texture2D(uSampler, vTextureCoord);\n vec4 curColor;\n float maxAlpha = 0.;\n vec2 displaced;\n for (float angle = 0.; angle <= DOUBLE_PI; angle += ${angleStep}) {\n displaced.x = vTextureCoord.x + thickness.x * cos(angle);\n displaced.y = vTextureCoord.y + thickness.y * sin(angle);\n curColor = texture2D(uSampler, clamp(displaced, filterClamp.xy, filterClamp.zw));\n maxAlpha = max(maxAlpha, curColor.a);\n }\n float resultAlpha = max(maxAlpha, ownColor.a);\n gl_FragColor = vec4((ownColor.rgb + outlineColor.rgb * (1. - ownColor.a)) * resultAlpha, resultAlpha);\n}\n",i=function(o){function e(t,i,l){void 0===t&&(t=1),void 0===i&&(i=0),void 0===l&&(l=.1);var a=Math.max(l*e.MAX_SAMPLES,e.MIN_SAMPLES),s=(2*Math.PI/a).toFixed(7);o.call(this,r,n.replace(/\$\{angleStep\}/,s)),this.uniforms.thickness=new Float32Array([0,0]),this.thickness=t,this.uniforms.outlineColor=new Float32Array([0,0,0,1]),this.color=i,this.quality=l}o&&(e.__proto__=o),e.prototype=Object.create(o&&o.prototype),e.prototype.constructor=e;var i={color:{configurable:!0}};return e.prototype.apply=function(o,e,t,r){this.uniforms.thickness[0]=this.thickness/e._frame.width,this.uniforms.thickness[1]=this.thickness/e._frame.height,o.applyFilter(this,e,t,r)},i.color.get=function(){return t.rgb2hex(this.uniforms.outlineColor)},i.color.set=function(o){t.hex2rgb(o,this.uniforms.outlineColor)},Object.defineProperties(e.prototype,i),e}(e.Filter);return i.MIN_SAMPLES=1,i.MAX_SAMPLES=100,o.OutlineFilter=i,o}({},PIXI,PIXI.utils);Object.assign(PIXI.filters,__filters); diff --git a/Extensions/Effects/pixi-filters/filter-pixelate.js b/Extensions/Effects/pixi-filters/filter-pixelate.js index cf6344059f13..fc6797797c82 100644 --- a/Extensions/Effects/pixi-filters/filter-pixelate.js +++ b/Extensions/Effects/pixi-filters/filter-pixelate.js @@ -1,6 +1,6 @@ /*! - * @pixi/filter-pixelate - v3.0.3 - * Compiled Wed, 29 May 2019 03:04:05 UTC + * @pixi/filter-pixelate - v3.1.1 + * Compiled Wed, 08 Apr 2020 11:09:37 UTC * * @pixi/filter-pixelate is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/Extensions/Effects/pixi-filters/filter-radial-blur.js b/Extensions/Effects/pixi-filters/filter-radial-blur.js index 0d4c4342ceaf..2ddca6de0c24 100644 --- a/Extensions/Effects/pixi-filters/filter-radial-blur.js +++ b/Extensions/Effects/pixi-filters/filter-radial-blur.js @@ -1,8 +1,8 @@ /*! - * @pixi/filter-radial-blur - v2.7.0 - * Compiled Sun, 13 Jan 2019 22:51:52 UTC + * @pixi/filter-radial-blur - v3.1.1 + * Compiled Wed, 08 Apr 2020 11:09:37 UTC * * @pixi/filter-radial-blur is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license */ -!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("pixi.js")):"function"==typeof define&&define.amd?define(["exports","pixi.js"],n):n((e=e||self).__filters={},e.PIXI)}(this,function(e,n){"use strict";var t="attribute vec2 aVertexPosition;\nattribute vec2 aTextureCoord;\n\nuniform mat3 projectionMatrix;\n\nvarying vec2 vTextureCoord;\n\nvoid main(void)\n{\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\n vTextureCoord = aTextureCoord;\n}",r="varying vec2 vTextureCoord;\nuniform sampler2D uSampler;\nuniform vec4 filterArea;\n\nuniform float uRadian;\nuniform vec2 uCenter;\nuniform float uRadius;\nuniform int uKernelSize;\n\nconst int MAX_KERNEL_SIZE = 2048;\n\nvoid main(void)\n{\n vec4 color = texture2D(uSampler, vTextureCoord);\n\n if (uKernelSize == 0)\n {\n gl_FragColor = color;\n return;\n }\n\n float aspect = filterArea.y / filterArea.x;\n vec2 center = uCenter.xy / filterArea.xy;\n float gradient = uRadius / filterArea.x * 0.3;\n float radius = uRadius / filterArea.x - gradient * 0.5;\n int k = uKernelSize - 1;\n\n vec2 coord = vTextureCoord;\n vec2 dir = vec2(center - coord);\n float dist = length(vec2(dir.x, dir.y * aspect));\n\n float radianStep = uRadian;\n if (radius >= 0.0 && dist > radius) {\n float delta = dist - radius;\n float gap = gradient;\n float scale = 1.0 - abs(delta / gap);\n if (scale <= 0.0) {\n gl_FragColor = color;\n return;\n }\n radianStep *= scale;\n }\n radianStep /= float(k);\n\n float s = sin(radianStep);\n float c = cos(radianStep);\n mat2 rotationMatrix = mat2(vec2(c, -s), vec2(s, c));\n\n for(int i = 0; i < MAX_KERNEL_SIZE - 1; i++) {\n if (i == k) {\n break;\n }\n\n coord -= center;\n coord.y *= aspect;\n coord = rotationMatrix * coord;\n coord.y /= aspect;\n coord += center;\n\n vec4 sample = texture2D(uSampler, coord);\n\n // switch to pre-multiplied alpha to correctly blur transparent images\n // sample.rgb *= sample.a;\n\n color += sample;\n }\n\n gl_FragColor = color / float(uKernelSize);\n}\n",i=function(e){function n(n,i,o,a){void 0===n&&(n=0),void 0===i&&(i=[0,0]),void 0===o&&(o=5),void 0===a&&(a=-1),e.call(this,t,r),this._angle=0,this.angle=n,this.center=i,this.kernelSize=o,this.radius=a}e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n;var i={angle:{configurable:!0},center:{configurable:!0},radius:{configurable:!0}};return n.prototype.apply=function(e,n,t,r){this.uniforms.uKernelSize=0!==this._angle?this.kernelSize:0,e.applyFilter(this,n,t,r)},i.angle.set=function(e){this._angle=e,this.uniforms.uRadian=e*Math.PI/180},i.angle.get=function(){return this._angle},i.center.get=function(){return this.uniforms.uCenter},i.center.set=function(e){this.uniforms.uCenter=e},i.radius.get=function(){return this.uniforms.uRadius},i.radius.set=function(e){(e<0||e===1/0)&&(e=-1),this.uniforms.uRadius=e},Object.defineProperties(n.prototype,i),n}(n.Filter);e.RadialBlurFilter=i,Object.defineProperty(e,"__esModule",{value:!0})}),Object.assign(PIXI.filters,this?this.__filters:__filters); +var __filters=function(n,e){"use strict";var r="attribute vec2 aVertexPosition;\nattribute vec2 aTextureCoord;\n\nuniform mat3 projectionMatrix;\n\nvarying vec2 vTextureCoord;\n\nvoid main(void)\n{\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\n vTextureCoord = aTextureCoord;\n}",t="varying vec2 vTextureCoord;\nuniform sampler2D uSampler;\nuniform vec4 filterArea;\n\nuniform float uRadian;\nuniform vec2 uCenter;\nuniform float uRadius;\nuniform int uKernelSize;\n\nconst int MAX_KERNEL_SIZE = 2048;\n\nvoid main(void)\n{\n vec4 color = texture2D(uSampler, vTextureCoord);\n\n if (uKernelSize == 0)\n {\n gl_FragColor = color;\n return;\n }\n\n float aspect = filterArea.y / filterArea.x;\n vec2 center = uCenter.xy / filterArea.xy;\n float gradient = uRadius / filterArea.x * 0.3;\n float radius = uRadius / filterArea.x - gradient * 0.5;\n int k = uKernelSize - 1;\n\n vec2 coord = vTextureCoord;\n vec2 dir = vec2(center - coord);\n float dist = length(vec2(dir.x, dir.y * aspect));\n\n float radianStep = uRadian;\n if (radius >= 0.0 && dist > radius) {\n float delta = dist - radius;\n float gap = gradient;\n float scale = 1.0 - abs(delta / gap);\n if (scale <= 0.0) {\n gl_FragColor = color;\n return;\n }\n radianStep *= scale;\n }\n radianStep /= float(k);\n\n float s = sin(radianStep);\n float c = cos(radianStep);\n mat2 rotationMatrix = mat2(vec2(c, -s), vec2(s, c));\n\n for(int i = 0; i < MAX_KERNEL_SIZE - 1; i++) {\n if (i == k) {\n break;\n }\n\n coord -= center;\n coord.y *= aspect;\n coord = rotationMatrix * coord;\n coord.y /= aspect;\n coord += center;\n\n vec4 sample = texture2D(uSampler, coord);\n\n // switch to pre-multiplied alpha to correctly blur transparent images\n // sample.rgb *= sample.a;\n\n color += sample;\n }\n\n gl_FragColor = color / float(uKernelSize);\n}\n",i=function(n){function e(e,i,o,a){void 0===e&&(e=0),void 0===i&&(i=[0,0]),void 0===o&&(o=5),void 0===a&&(a=-1),n.call(this,r,t),this._angle=0,this.angle=e,this.center=i,this.kernelSize=o,this.radius=a}n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e;var i={angle:{configurable:!0},center:{configurable:!0},radius:{configurable:!0}};return e.prototype.apply=function(n,e,r,t){this.uniforms.uKernelSize=0!==this._angle?this.kernelSize:0,n.applyFilter(this,e,r,t)},i.angle.set=function(n){this._angle=n,this.uniforms.uRadian=n*Math.PI/180},i.angle.get=function(){return this._angle},i.center.get=function(){return this.uniforms.uCenter},i.center.set=function(n){this.uniforms.uCenter=n},i.radius.get=function(){return this.uniforms.uRadius},i.radius.set=function(n){(n<0||n===1/0)&&(n=-1),this.uniforms.uRadius=n},Object.defineProperties(e.prototype,i),e}(e.Filter);return n.RadialBlurFilter=i,n}({},PIXI);Object.assign(PIXI.filters,__filters); diff --git a/Extensions/Effects/pixi-filters/filter-reflection.js b/Extensions/Effects/pixi-filters/filter-reflection.js index 1ca5fd991a30..c04a2743b74c 100644 --- a/Extensions/Effects/pixi-filters/filter-reflection.js +++ b/Extensions/Effects/pixi-filters/filter-reflection.js @@ -1,8 +1,8 @@ /*! - * @pixi/filter-reflection - v2.5.0 - * Compiled Wed, 10 Jan 2018 17:38:59 UTC + * @pixi/filter-reflection - v3.1.1 + * Compiled Wed, 08 Apr 2020 11:09:37 UTC * * @pixi/filter-reflection is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license */ -!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("pixi.js")):"function"==typeof define&&define.amd?define(["exports","pixi.js"],n):n(e.__filters={},e.PIXI)}(this,function(e,n){"use strict";var r="attribute vec2 aVertexPosition;\nattribute vec2 aTextureCoord;\n\nuniform mat3 projectionMatrix;\n\nvarying vec2 vTextureCoord;\n\nvoid main(void)\n{\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\n vTextureCoord = aTextureCoord;\n}",t="varying vec2 vTextureCoord;\nuniform sampler2D uSampler;\n\nuniform vec4 filterArea;\nuniform vec4 filterClamp;\nuniform vec2 dimensions;\n\nuniform bool mirror;\nuniform float boundary;\nuniform vec2 amplitude;\nuniform vec2 waveLength;\nuniform vec2 alpha;\nuniform float time;\n\nfloat rand(vec2 co) {\n return fract(sin(dot(co.xy, vec2(12.9898, 78.233))) * 43758.5453);\n}\n\nvoid main(void)\n{\n vec2 pixelCoord = vTextureCoord.xy * filterArea.xy;\n vec2 coord = pixelCoord / dimensions;\n\n if (coord.y < boundary) {\n gl_FragColor = texture2D(uSampler, vTextureCoord);\n return;\n }\n\n float k = (coord.y - boundary) / (1. - boundary + 0.0001);\n float areaY = boundary * dimensions.y / filterArea.y;\n float v = areaY + areaY - vTextureCoord.y;\n float y = mirror ? v : vTextureCoord.y;\n\n float _amplitude = ((amplitude.y - amplitude.x) * k + amplitude.x ) / filterArea.x;\n float _waveLength = ((waveLength.y - waveLength.x) * k + waveLength.x) / filterArea.y;\n float _alpha = (alpha.y - alpha.x) * k + alpha.x;\n\n float x = vTextureCoord.x + cos(v * 6.28 / _waveLength - time) * _amplitude;\n x = clamp(x, filterClamp.x, filterClamp.z);\n\n vec4 color = texture2D(uSampler, vec2(x, y));\n\n gl_FragColor = color * _alpha;\n}\n",o=function(e){function n(n){e.call(this,r,t),Object.assign(this,{mirror:!0,boundary:.5,amplitude:[0,20],waveLength:[30,100],alpha:[1,1],time:0},n)}e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n;var o={mirror:{configurable:!0},boundary:{configurable:!0},amplitude:{configurable:!0},waveLength:{configurable:!0},alpha:{configurable:!0}};return n.prototype.apply=function(e,n,r,t){this.uniforms.dimensions[0]=n.sourceFrame.width,this.uniforms.dimensions[1]=n.sourceFrame.height,this.uniforms.time=this.time,e.applyFilter(this,n,r,t)},o.mirror.set=function(e){this.uniforms.mirror=e},o.mirror.get=function(){return this.uniforms.mirror},o.boundary.set=function(e){this.uniforms.boundary=e},o.boundary.get=function(){return this.uniforms.boundary},o.amplitude.set=function(e){this.uniforms.amplitude[0]=e[0],this.uniforms.amplitude[1]=e[1]},o.amplitude.get=function(){return this.uniforms.amplitude},o.waveLength.set=function(e){this.uniforms.waveLength[0]=e[0],this.uniforms.waveLength[1]=e[1]},o.waveLength.get=function(){return this.uniforms.waveLength},o.alpha.set=function(e){this.uniforms.alpha[0]=e[0],this.uniforms.alpha[1]=e[1]},o.alpha.get=function(){return this.uniforms.alpha},Object.defineProperties(n.prototype,o),n}(n.Filter);e.ReflectionFilter=o,Object.defineProperty(e,"__esModule",{value:!0})}),Object.assign(PIXI.filters,this.__filters); +var __filters=function(r,n){"use strict";var e="attribute vec2 aVertexPosition;\nattribute vec2 aTextureCoord;\n\nuniform mat3 projectionMatrix;\n\nvarying vec2 vTextureCoord;\n\nvoid main(void)\n{\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\n vTextureCoord = aTextureCoord;\n}",t="varying vec2 vTextureCoord;\nuniform sampler2D uSampler;\n\nuniform vec4 filterArea;\nuniform vec4 filterClamp;\nuniform vec2 dimensions;\n\nuniform bool mirror;\nuniform float boundary;\nuniform vec2 amplitude;\nuniform vec2 waveLength;\nuniform vec2 alpha;\nuniform float time;\n\nfloat rand(vec2 co) {\n return fract(sin(dot(co.xy, vec2(12.9898, 78.233))) * 43758.5453);\n}\n\nvoid main(void)\n{\n vec2 pixelCoord = vTextureCoord.xy * filterArea.xy;\n vec2 coord = pixelCoord / dimensions;\n\n if (coord.y < boundary) {\n gl_FragColor = texture2D(uSampler, vTextureCoord);\n return;\n }\n\n float k = (coord.y - boundary) / (1. - boundary + 0.0001);\n float areaY = boundary * dimensions.y / filterArea.y;\n float v = areaY + areaY - vTextureCoord.y;\n float y = mirror ? v : vTextureCoord.y;\n\n float _amplitude = ((amplitude.y - amplitude.x) * k + amplitude.x ) / filterArea.x;\n float _waveLength = ((waveLength.y - waveLength.x) * k + waveLength.x) / filterArea.y;\n float _alpha = (alpha.y - alpha.x) * k + alpha.x;\n\n float x = vTextureCoord.x + cos(v * 6.28 / _waveLength - time) * _amplitude;\n x = clamp(x, filterClamp.x, filterClamp.z);\n\n vec4 color = texture2D(uSampler, vec2(x, y));\n\n gl_FragColor = color * _alpha;\n}\n",o=function(r){function n(n){r.call(this,e,t),this.uniforms.amplitude=new Float32Array(2),this.uniforms.waveLength=new Float32Array(2),this.uniforms.alpha=new Float32Array(2),this.uniforms.dimensions=new Float32Array(2),Object.assign(this,{mirror:!0,boundary:.5,amplitude:[0,20],waveLength:[30,100],alpha:[1,1],time:0},n)}r&&(n.__proto__=r),n.prototype=Object.create(r&&r.prototype),n.prototype.constructor=n;var o={mirror:{configurable:!0},boundary:{configurable:!0},amplitude:{configurable:!0},waveLength:{configurable:!0},alpha:{configurable:!0}};return n.prototype.apply=function(r,n,e,t){this.uniforms.dimensions[0]=n.filterFrame.width,this.uniforms.dimensions[1]=n.filterFrame.height,this.uniforms.time=this.time,r.applyFilter(this,n,e,t)},o.mirror.set=function(r){this.uniforms.mirror=r},o.mirror.get=function(){return this.uniforms.mirror},o.boundary.set=function(r){this.uniforms.boundary=r},o.boundary.get=function(){return this.uniforms.boundary},o.amplitude.set=function(r){this.uniforms.amplitude[0]=r[0],this.uniforms.amplitude[1]=r[1]},o.amplitude.get=function(){return this.uniforms.amplitude},o.waveLength.set=function(r){this.uniforms.waveLength[0]=r[0],this.uniforms.waveLength[1]=r[1]},o.waveLength.get=function(){return this.uniforms.waveLength},o.alpha.set=function(r){this.uniforms.alpha[0]=r[0],this.uniforms.alpha[1]=r[1]},o.alpha.get=function(){return this.uniforms.alpha},Object.defineProperties(n.prototype,o),n}(n.Filter);return r.ReflectionFilter=o,r}({},PIXI);Object.assign(PIXI.filters,__filters); diff --git a/Extensions/Effects/pixi-filters/filter-rgb-split.js b/Extensions/Effects/pixi-filters/filter-rgb-split.js index 61d2b6903dbc..e1d4c4b31278 100644 --- a/Extensions/Effects/pixi-filters/filter-rgb-split.js +++ b/Extensions/Effects/pixi-filters/filter-rgb-split.js @@ -1,8 +1,8 @@ /*! - * @pixi/filter-rgb-split - v2.5.0 - * Compiled Fri, 20 Dec 2019 18:59:17 UTC + * @pixi/filter-rgb-split - v3.1.1 + * Compiled Wed, 08 Apr 2020 11:09:37 UTC * * @pixi/filter-rgb-split is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license */ -!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("pixi.js")):"function"==typeof define&&define.amd?define(["exports","pixi.js"],r):r(e.__filters={},e.PIXI)}(this,function(e,r){"use strict";var t="attribute vec2 aVertexPosition;\nattribute vec2 aTextureCoord;\n\nuniform mat3 projectionMatrix;\n\nvarying vec2 vTextureCoord;\n\nvoid main(void)\n{\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\n vTextureCoord = aTextureCoord;\n}",n="precision mediump float;\n\nvarying vec2 vTextureCoord;\n\nuniform sampler2D uSampler;\nuniform vec4 filterArea;\nuniform vec2 red;\nuniform vec2 green;\nuniform vec2 blue;\n\nvoid main(void)\n{\n gl_FragColor.r = texture2D(uSampler, vTextureCoord + red/filterArea.xy).r;\n gl_FragColor.g = texture2D(uSampler, vTextureCoord + green/filterArea.xy).g;\n gl_FragColor.b = texture2D(uSampler, vTextureCoord + blue/filterArea.xy).b;\n gl_FragColor.a = texture2D(uSampler, vTextureCoord).a;\n}\n",o=function(e){function r(r,o,i){void 0===r&&(r=[-10,0]),void 0===o&&(o=[0,10]),void 0===i&&(i=[0,0]),e.call(this,t,n),this.red=r,this.green=o,this.blue=i}e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r;var o={red:{configurable:!0},green:{configurable:!0},blue:{configurable:!0}};return o.red.get=function(){return this.uniforms.red},o.red.set=function(e){this.uniforms.red=e},o.green.get=function(){return this.uniforms.green},o.green.set=function(e){this.uniforms.green=e},o.blue.get=function(){return this.uniforms.blue},o.blue.set=function(e){this.uniforms.blue=e},Object.defineProperties(r.prototype,o),r}(r.Filter);e.RGBSplitFilter=o,Object.defineProperty(e,"__esModule",{value:!0})}),Object.assign(PIXI.filters,this?this.__filters:__filters); +var __filters=function(e,r){"use strict";var t="attribute vec2 aVertexPosition;\nattribute vec2 aTextureCoord;\n\nuniform mat3 projectionMatrix;\n\nvarying vec2 vTextureCoord;\n\nvoid main(void)\n{\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\n vTextureCoord = aTextureCoord;\n}",n="precision mediump float;\n\nvarying vec2 vTextureCoord;\n\nuniform sampler2D uSampler;\nuniform vec4 filterArea;\nuniform vec2 red;\nuniform vec2 green;\nuniform vec2 blue;\n\nvoid main(void)\n{\n gl_FragColor.r = texture2D(uSampler, vTextureCoord + red/filterArea.xy).r;\n gl_FragColor.g = texture2D(uSampler, vTextureCoord + green/filterArea.xy).g;\n gl_FragColor.b = texture2D(uSampler, vTextureCoord + blue/filterArea.xy).b;\n gl_FragColor.a = texture2D(uSampler, vTextureCoord).a;\n}\n",o=function(e){function r(r,o,i){void 0===r&&(r=[-10,0]),void 0===o&&(o=[0,10]),void 0===i&&(i=[0,0]),e.call(this,t,n),this.red=r,this.green=o,this.blue=i}e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r;var o={red:{configurable:!0},green:{configurable:!0},blue:{configurable:!0}};return o.red.get=function(){return this.uniforms.red},o.red.set=function(e){this.uniforms.red=e},o.green.get=function(){return this.uniforms.green},o.green.set=function(e){this.uniforms.green=e},o.blue.get=function(){return this.uniforms.blue},o.blue.set=function(e){this.uniforms.blue=e},Object.defineProperties(r.prototype,o),r}(r.Filter);return e.RGBSplitFilter=o,e}({},PIXI);Object.assign(PIXI.filters,__filters); diff --git a/Extensions/Effects/pixi-filters/filter-tilt-shift.js b/Extensions/Effects/pixi-filters/filter-tilt-shift.js index 4a5a17ed08cf..9aecd17da76a 100644 --- a/Extensions/Effects/pixi-filters/filter-tilt-shift.js +++ b/Extensions/Effects/pixi-filters/filter-tilt-shift.js @@ -1,8 +1,171 @@ /*! - * @pixi/filter-tilt-shift - v2.6.0 - * Compiled Fri, 20 Dec 2019 19:00:04 UTC + * @pixi/filter-tilt-shift - v3.1.1 + * Compiled Wed, 08 Apr 2020 11:09:37 UTC * * @pixi/filter-tilt-shift is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license */ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("pixi.js")):"function"==typeof define&&define.amd?define(["exports","pixi.js"],e):e(t.__filters={},t.PIXI)}(this,function(t,e){"use strict";var i="attribute vec2 aVertexPosition;\nattribute vec2 aTextureCoord;\n\nuniform mat3 projectionMatrix;\n\nvarying vec2 vTextureCoord;\n\nvoid main(void)\n{\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\n vTextureCoord = aTextureCoord;\n}",r="varying vec2 vTextureCoord;\n\nuniform sampler2D uSampler;\nuniform float blur;\nuniform float gradientBlur;\nuniform vec2 start;\nuniform vec2 end;\nuniform vec2 delta;\nuniform vec2 texSize;\n\nfloat random(vec3 scale, float seed)\n{\n return fract(sin(dot(gl_FragCoord.xyz + seed, scale)) * 43758.5453 + seed);\n}\n\nvoid main(void)\n{\n vec4 color = vec4(0.0);\n float total = 0.0;\n\n float offset = random(vec3(12.9898, 78.233, 151.7182), 0.0);\n vec2 normal = normalize(vec2(start.y - end.y, end.x - start.x));\n float radius = smoothstep(0.0, 1.0, abs(dot(vTextureCoord * texSize - start, normal)) / gradientBlur) * blur;\n\n for (float t = -30.0; t <= 30.0; t++)\n {\n float percent = (t + offset - 0.5) / 30.0;\n float weight = 1.0 - abs(percent);\n vec4 sample = texture2D(uSampler, vTextureCoord + delta / texSize * percent * radius);\n sample.rgb *= sample.a;\n color += sample * weight;\n total += weight;\n }\n\n color /= total;\n color.rgb /= color.a + 0.00001;\n\n gl_FragColor = color;\n}\n",n=function(t){function n(n,o,s,l){void 0===n&&(n=100),void 0===o&&(o=600),void 0===s&&(s=null),void 0===l&&(l=null),t.call(this,i,r),this.uniforms.blur=n,this.uniforms.gradientBlur=o,this.uniforms.start=s||new e.Point(0,window.innerHeight/2),this.uniforms.end=l||new e.Point(600,window.innerHeight/2),this.uniforms.delta=new e.Point(30,30),this.uniforms.texSize=new e.Point(window.innerWidth,window.innerHeight),this.updateDelta()}t&&(n.__proto__=t),n.prototype=Object.create(t&&t.prototype),n.prototype.constructor=n;var o={blur:{configurable:!0},gradientBlur:{configurable:!0},start:{configurable:!0},end:{configurable:!0}};return n.prototype.updateDelta=function(){this.uniforms.delta.x=0,this.uniforms.delta.y=0},o.blur.get=function(){return this.uniforms.blur},o.blur.set=function(t){this.uniforms.blur=t},o.gradientBlur.get=function(){return this.uniforms.gradientBlur},o.gradientBlur.set=function(t){this.uniforms.gradientBlur=t},o.start.get=function(){return this.uniforms.start},o.start.set=function(t){this.uniforms.start=t,this.updateDelta()},o.end.get=function(){return this.uniforms.end},o.end.set=function(t){this.uniforms.end=t,this.updateDelta()},Object.defineProperties(n.prototype,o),n}(e.Filter),o=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.updateDelta=function(){var t=this.uniforms.end.x-this.uniforms.start.x,e=this.uniforms.end.y-this.uniforms.start.y,i=Math.sqrt(t*t+e*e);this.uniforms.delta.x=t/i,this.uniforms.delta.y=e/i},e}(n),s=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.updateDelta=function(){var t=this.uniforms.end.x-this.uniforms.start.x,e=this.uniforms.end.y-this.uniforms.start.y,i=Math.sqrt(t*t+e*e);this.uniforms.delta.x=-e/i,this.uniforms.delta.y=t/i},e}(n),l=function(t){function e(e,i,r,n){void 0===e&&(e=100),void 0===i&&(i=600),void 0===r&&(r=null),void 0===n&&(n=null),t.call(this),this.tiltShiftXFilter=new o(e,i,r,n),this.tiltShiftYFilter=new s(e,i,r,n)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var i={blur:{configurable:!0},gradientBlur:{configurable:!0},start:{configurable:!0},end:{configurable:!0}};return e.prototype.apply=function(t,e,i){var r=t.getRenderTarget(!0);this.tiltShiftXFilter.apply(t,e,r),this.tiltShiftYFilter.apply(t,r,i),t.returnRenderTarget(r)},i.blur.get=function(){return this.tiltShiftXFilter.blur},i.blur.set=function(t){this.tiltShiftXFilter.blur=this.tiltShiftYFilter.blur=t},i.gradientBlur.get=function(){return this.tiltShiftXFilter.gradientBlur},i.gradientBlur.set=function(t){this.tiltShiftXFilter.gradientBlur=this.tiltShiftYFilter.gradientBlur=t},i.start.get=function(){return this.tiltShiftXFilter.start},i.start.set=function(t){this.tiltShiftXFilter.start=this.tiltShiftYFilter.start=t},i.end.get=function(){return this.tiltShiftXFilter.end},i.end.set=function(t){this.tiltShiftXFilter.end=this.tiltShiftYFilter.end=t},Object.defineProperties(e.prototype,i),e}(e.Filter);t.TiltShiftFilter=l,t.TiltShiftXFilter=o,t.TiltShiftYFilter=s,t.TiltShiftAxisFilter=n,Object.defineProperty(t,"__esModule",{value:!0})}),Object.assign(PIXI.filters,this?this.__filters:__filters); +// This was patched to add the missing "clearMode" argument in some functions. +var __filters = (function (t, r, i) { + 'use strict'; + var e = + 'attribute vec2 aVertexPosition;\nattribute vec2 aTextureCoord;\n\nuniform mat3 projectionMatrix;\n\nvarying vec2 vTextureCoord;\n\nvoid main(void)\n{\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\n vTextureCoord = aTextureCoord;\n}', + n = + 'varying vec2 vTextureCoord;\n\nuniform sampler2D uSampler;\nuniform float blur;\nuniform float gradientBlur;\nuniform vec2 start;\nuniform vec2 end;\nuniform vec2 delta;\nuniform vec2 texSize;\n\nfloat random(vec3 scale, float seed)\n{\n return fract(sin(dot(gl_FragCoord.xyz + seed, scale)) * 43758.5453 + seed);\n}\n\nvoid main(void)\n{\n vec4 color = vec4(0.0);\n float total = 0.0;\n\n float offset = random(vec3(12.9898, 78.233, 151.7182), 0.0);\n vec2 normal = normalize(vec2(start.y - end.y, end.x - start.x));\n float radius = smoothstep(0.0, 1.0, abs(dot(vTextureCoord * texSize - start, normal)) / gradientBlur) * blur;\n\n for (float t = -30.0; t <= 30.0; t++)\n {\n float percent = (t + offset - 0.5) / 30.0;\n float weight = 1.0 - abs(percent);\n vec4 sample = texture2D(uSampler, vTextureCoord + delta / texSize * percent * radius);\n sample.rgb *= sample.a;\n color += sample * weight;\n total += weight;\n }\n\n color /= total;\n color.rgb /= color.a + 0.00001;\n\n gl_FragColor = color;\n}\n', + o = (function (t) { + function r(r, o, l, u) { + void 0 === r && (r = 100), + void 0 === o && (o = 600), + void 0 === l && (l = null), + void 0 === u && (u = null), + t.call(this, e, n), + (this.uniforms.blur = r), + (this.uniforms.gradientBlur = o), + (this.uniforms.start = l || new i.Point(0, window.innerHeight / 2)), + (this.uniforms.end = u || new i.Point(600, window.innerHeight / 2)), + (this.uniforms.delta = new i.Point(30, 30)), + (this.uniforms.texSize = new i.Point( + window.innerWidth, + window.innerHeight + )), + this.updateDelta(); + } + t && (r.__proto__ = t), + (r.prototype = Object.create(t && t.prototype)), + (r.prototype.constructor = r); + var o = { + blur: { configurable: !0 }, + gradientBlur: { configurable: !0 }, + start: { configurable: !0 }, + end: { configurable: !0 }, + }; + return ( + (r.prototype.updateDelta = function () { + (this.uniforms.delta.x = 0), (this.uniforms.delta.y = 0); + }), + (o.blur.get = function () { + return this.uniforms.blur; + }), + (o.blur.set = function (t) { + this.uniforms.blur = t; + }), + (o.gradientBlur.get = function () { + return this.uniforms.gradientBlur; + }), + (o.gradientBlur.set = function (t) { + this.uniforms.gradientBlur = t; + }), + (o.start.get = function () { + return this.uniforms.start; + }), + (o.start.set = function (t) { + (this.uniforms.start = t), this.updateDelta(); + }), + (o.end.get = function () { + return this.uniforms.end; + }), + (o.end.set = function (t) { + (this.uniforms.end = t), this.updateDelta(); + }), + Object.defineProperties(r.prototype, o), + r + ); + })(r.Filter), + l = (function (t) { + function r() { + t.apply(this, arguments); + } + return ( + t && (r.__proto__ = t), + (r.prototype = Object.create(t && t.prototype)), + (r.prototype.constructor = r), + (r.prototype.updateDelta = function () { + var t = this.uniforms.end.x - this.uniforms.start.x, + r = this.uniforms.end.y - this.uniforms.start.y, + i = Math.sqrt(t * t + r * r); + (this.uniforms.delta.x = t / i), (this.uniforms.delta.y = r / i); + }), + r + ); + })(o), + u = (function (t) { + function r() { + t.apply(this, arguments); + } + return ( + t && (r.__proto__ = t), + (r.prototype = Object.create(t && t.prototype)), + (r.prototype.constructor = r), + (r.prototype.updateDelta = function () { + var t = this.uniforms.end.x - this.uniforms.start.x, + r = this.uniforms.end.y - this.uniforms.start.y, + i = Math.sqrt(t * t + r * r); + (this.uniforms.delta.x = -r / i), (this.uniforms.delta.y = t / i); + }), + r + ); + })(o), + s = (function (t) { + function r(r, i, e, n) { + void 0 === r && (r = 100), + void 0 === i && (i = 600), + void 0 === e && (e = null), + void 0 === n && (n = null), + t.call(this), + (this.tiltShiftXFilter = new l(r, i, e, n)), + (this.tiltShiftYFilter = new u(r, i, e, n)); + } + t && (r.__proto__ = t), + (r.prototype = Object.create(t && t.prototype)), + (r.prototype.constructor = r); + var i = { + blur: { configurable: !0 }, + gradientBlur: { configurable: !0 }, + start: { configurable: !0 }, + end: { configurable: !0 }, + }; + return ( + (r.prototype.apply = function (t, r, i, clearMode) { + var e = t.getFilterTexture(); + // Patch missing clearMode. + this.tiltShiftXFilter.apply(t, r, e, clearMode), + this.tiltShiftYFilter.apply(t, e, i, clearMode), + t.returnFilterTexture(e); + }), + (i.blur.get = function () { + return this.tiltShiftXFilter.blur; + }), + (i.blur.set = function (t) { + this.tiltShiftXFilter.blur = this.tiltShiftYFilter.blur = t; + }), + (i.gradientBlur.get = function () { + return this.tiltShiftXFilter.gradientBlur; + }), + (i.gradientBlur.set = function (t) { + this.tiltShiftXFilter.gradientBlur = this.tiltShiftYFilter.gradientBlur = t; + }), + (i.start.get = function () { + return this.tiltShiftXFilter.start; + }), + (i.start.set = function (t) { + this.tiltShiftXFilter.start = this.tiltShiftYFilter.start = t; + }), + (i.end.get = function () { + return this.tiltShiftXFilter.end; + }), + (i.end.set = function (t) { + this.tiltShiftXFilter.end = this.tiltShiftYFilter.end = t; + }), + Object.defineProperties(r.prototype, i), + r + ); + })(r.Filter); + return ( + (t.TiltShiftAxisFilter = o), + (t.TiltShiftFilter = s), + (t.TiltShiftXFilter = l), + (t.TiltShiftYFilter = u), + t + ); +})({}, PIXI, PIXI); +Object.assign(PIXI.filters, __filters); diff --git a/Extensions/Effects/pixi-filters/filter-twist.js b/Extensions/Effects/pixi-filters/filter-twist.js index 4fcb331ae8a7..59672e582580 100644 --- a/Extensions/Effects/pixi-filters/filter-twist.js +++ b/Extensions/Effects/pixi-filters/filter-twist.js @@ -1,8 +1,8 @@ /*! - * @pixi/filter-twist - v2.7.0 - * Compiled Sun, 13 Jan 2019 22:51:52 UTC + * @pixi/filter-twist - v3.1.1 + * Compiled Wed, 08 Apr 2020 11:09:37 UTC * * @pixi/filter-twist is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license */ -!function(o,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("pixi.js")):"function"==typeof define&&define.amd?define(["exports","pixi.js"],n):n((o=o||self).__filters={},o.PIXI)}(this,function(o,n){"use strict";var r="attribute vec2 aVertexPosition;\nattribute vec2 aTextureCoord;\n\nuniform mat3 projectionMatrix;\n\nvarying vec2 vTextureCoord;\n\nvoid main(void)\n{\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\n vTextureCoord = aTextureCoord;\n}",e="varying vec2 vTextureCoord;\n\nuniform sampler2D uSampler;\nuniform float radius;\nuniform float angle;\nuniform vec2 offset;\nuniform vec4 filterArea;\n\nvec2 mapCoord( vec2 coord )\n{\n coord *= filterArea.xy;\n coord += filterArea.zw;\n\n return coord;\n}\n\nvec2 unmapCoord( vec2 coord )\n{\n coord -= filterArea.zw;\n coord /= filterArea.xy;\n\n return coord;\n}\n\nvec2 twist(vec2 coord)\n{\n coord -= offset;\n\n float dist = length(coord);\n\n if (dist < radius)\n {\n float ratioDist = (radius - dist) / radius;\n float angleMod = ratioDist * ratioDist * angle;\n float s = sin(angleMod);\n float c = cos(angleMod);\n coord = vec2(coord.x * c - coord.y * s, coord.x * s + coord.y * c);\n }\n\n coord += offset;\n\n return coord;\n}\n\nvoid main(void)\n{\n\n vec2 coord = mapCoord(vTextureCoord);\n\n coord = twist(coord);\n\n coord = unmapCoord(coord);\n\n gl_FragColor = texture2D(uSampler, coord );\n\n}\n",t=function(o){function n(n,t,i){void 0===n&&(n=200),void 0===t&&(t=4),void 0===i&&(i=20),o.call(this,r,e),this.radius=n,this.angle=t,this.padding=i}o&&(n.__proto__=o),n.prototype=Object.create(o&&o.prototype),n.prototype.constructor=n;var t={offset:{configurable:!0},radius:{configurable:!0},angle:{configurable:!0}};return t.offset.get=function(){return this.uniforms.offset},t.offset.set=function(o){this.uniforms.offset=o},t.radius.get=function(){return this.uniforms.radius},t.radius.set=function(o){this.uniforms.radius=o},t.angle.get=function(){return this.uniforms.angle},t.angle.set=function(o){this.uniforms.angle=o},Object.defineProperties(n.prototype,t),n}(n.Filter);o.TwistFilter=t,Object.defineProperty(o,"__esModule",{value:!0})}),Object.assign(PIXI.filters,this?this.__filters:__filters); +var __filters=function(o,n){"use strict";var r="attribute vec2 aVertexPosition;\nattribute vec2 aTextureCoord;\n\nuniform mat3 projectionMatrix;\n\nvarying vec2 vTextureCoord;\n\nvoid main(void)\n{\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\n vTextureCoord = aTextureCoord;\n}",t="varying vec2 vTextureCoord;\n\nuniform sampler2D uSampler;\nuniform float radius;\nuniform float angle;\nuniform vec2 offset;\nuniform vec4 filterArea;\n\nvec2 mapCoord( vec2 coord )\n{\n coord *= filterArea.xy;\n coord += filterArea.zw;\n\n return coord;\n}\n\nvec2 unmapCoord( vec2 coord )\n{\n coord -= filterArea.zw;\n coord /= filterArea.xy;\n\n return coord;\n}\n\nvec2 twist(vec2 coord)\n{\n coord -= offset;\n\n float dist = length(coord);\n\n if (dist < radius)\n {\n float ratioDist = (radius - dist) / radius;\n float angleMod = ratioDist * ratioDist * angle;\n float s = sin(angleMod);\n float c = cos(angleMod);\n coord = vec2(coord.x * c - coord.y * s, coord.x * s + coord.y * c);\n }\n\n coord += offset;\n\n return coord;\n}\n\nvoid main(void)\n{\n\n vec2 coord = mapCoord(vTextureCoord);\n\n coord = twist(coord);\n\n coord = unmapCoord(coord);\n\n gl_FragColor = texture2D(uSampler, coord );\n\n}\n",e=function(o){function n(n,e,i){void 0===n&&(n=200),void 0===e&&(e=4),void 0===i&&(i=20),o.call(this,r,t),this.radius=n,this.angle=e,this.padding=i}o&&(n.__proto__=o),n.prototype=Object.create(o&&o.prototype),n.prototype.constructor=n;var e={offset:{configurable:!0},radius:{configurable:!0},angle:{configurable:!0}};return e.offset.get=function(){return this.uniforms.offset},e.offset.set=function(o){this.uniforms.offset=o},e.radius.get=function(){return this.uniforms.radius},e.radius.set=function(o){this.uniforms.radius=o},e.angle.get=function(){return this.uniforms.angle},e.angle.set=function(o){this.uniforms.angle=o},Object.defineProperties(n.prototype,e),n}(n.Filter);return o.TwistFilter=e,o}({},PIXI);Object.assign(PIXI.filters,__filters); diff --git a/Extensions/Effects/pixi-filters/filter-zoom-blur.js b/Extensions/Effects/pixi-filters/filter-zoom-blur.js index b9a555e75d4a..c03e8ff3fa98 100644 --- a/Extensions/Effects/pixi-filters/filter-zoom-blur.js +++ b/Extensions/Effects/pixi-filters/filter-zoom-blur.js @@ -1,8 +1,8 @@ /*! - * @pixi/filter-zoom-blur - v2.6.0 - * Compiled Fri, 20 Dec 2019 18:59:17 UTC + * @pixi/filter-zoom-blur - v3.1.1 + * Compiled Wed, 08 Apr 2020 11:09:37 UTC * * @pixi/filter-zoom-blur is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license */ -!function(n,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("pixi.js")):"function"==typeof define&&define.amd?define(["exports","pixi.js"],e):e(n.__filters={},n.PIXI)}(this,function(n,e){"use strict";var t="attribute vec2 aVertexPosition;\nattribute vec2 aTextureCoord;\n\nuniform mat3 projectionMatrix;\n\nvarying vec2 vTextureCoord;\n\nvoid main(void)\n{\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\n vTextureCoord = aTextureCoord;\n}",r="varying vec2 vTextureCoord;\nuniform sampler2D uSampler;\nuniform vec4 filterArea;\n\nuniform vec2 uCenter;\nuniform float uStrength;\nuniform float uInnerRadius;\nuniform float uRadius;\n\nconst float MAX_KERNEL_SIZE = 32.0;\n\nfloat random(vec3 scale, float seed) {\n // use the fragment position for a different seed per-pixel\n return fract(sin(dot(gl_FragCoord.xyz + seed, scale)) * 43758.5453 + seed);\n}\n\nvoid main() {\n\n float minGradient = uInnerRadius * 0.3;\n float innerRadius = (uInnerRadius + minGradient * 0.5) / filterArea.x;\n\n float gradient = uRadius * 0.3;\n float radius = (uRadius - gradient * 0.5) / filterArea.x;\n\n float countLimit = MAX_KERNEL_SIZE;\n\n vec2 dir = vec2(uCenter.xy / filterArea.xy - vTextureCoord);\n float dist = length(vec2(dir.x, dir.y * filterArea.y / filterArea.x));\n\n float strength = uStrength;\n\n float delta = 0.0;\n float gap;\n if (dist < innerRadius) {\n delta = innerRadius - dist;\n gap = minGradient;\n } else if (radius >= 0.0 && dist > radius) { // radius < 0 means it's infinity\n delta = dist - radius;\n gap = gradient;\n }\n\n if (delta > 0.0) {\n float normalCount = gap / filterArea.x;\n delta = (normalCount - delta) / normalCount;\n countLimit *= delta;\n strength *= delta;\n if (countLimit < 1.0)\n {\n gl_FragColor = texture2D(uSampler, vTextureCoord);\n return;\n }\n }\n\n // randomize the lookup values to hide the fixed number of samples\n float offset = random(vec3(12.9898, 78.233, 151.7182), 0.0);\n\n float total = 0.0;\n vec4 color = vec4(0.0);\n\n dir *= strength;\n\n for (float t = 0.0; t < MAX_KERNEL_SIZE; t++) {\n float percent = (t + offset) / MAX_KERNEL_SIZE;\n float weight = 4.0 * (percent - percent * percent);\n vec2 p = vTextureCoord + dir * percent;\n vec4 sample = texture2D(uSampler, p);\n\n // switch to pre-multiplied alpha to correctly blur transparent images\n // sample.rgb *= sample.a;\n\n color += sample * weight;\n total += weight;\n\n if (t > countLimit){\n break;\n }\n }\n\n color /= total;\n // switch back from pre-multiplied alpha\n color.rgb /= color.a + 0.00001;\n\n gl_FragColor = color;\n}\n",i=function(n){function e(e,i,o,a){void 0===e&&(e=.1),void 0===i&&(i=[0,0]),void 0===o&&(o=0),void 0===a&&(a=-1),n.call(this,t,r),this.center=i,this.strength=e,this.innerRadius=o,this.radius=a}n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e;var i={center:{configurable:!0},strength:{configurable:!0},innerRadius:{configurable:!0},radius:{configurable:!0}};return i.center.get=function(){return this.uniforms.uCenter},i.center.set=function(n){this.uniforms.uCenter=n},i.strength.get=function(){return this.uniforms.uStrength},i.strength.set=function(n){this.uniforms.uStrength=n},i.innerRadius.get=function(){return this.uniforms.uInnerRadius},i.innerRadius.set=function(n){this.uniforms.uInnerRadius=n},i.radius.get=function(){return this.uniforms.uRadius},i.radius.set=function(n){(n<0||n===1/0)&&(n=-1),this.uniforms.uRadius=n},Object.defineProperties(e.prototype,i),e}(e.Filter);n.ZoomBlurFilter=i,Object.defineProperty(n,"__esModule",{value:!0})}),Object.assign(PIXI.filters,this?this.__filters:__filters); +var __filters=function(n,t){"use strict";var e="attribute vec2 aVertexPosition;\nattribute vec2 aTextureCoord;\n\nuniform mat3 projectionMatrix;\n\nvarying vec2 vTextureCoord;\n\nvoid main(void)\n{\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\n vTextureCoord = aTextureCoord;\n}",r="varying vec2 vTextureCoord;\nuniform sampler2D uSampler;\nuniform vec4 filterArea;\n\nuniform vec2 uCenter;\nuniform float uStrength;\nuniform float uInnerRadius;\nuniform float uRadius;\n\nconst float MAX_KERNEL_SIZE = 32.0;\n\n// author: http://byteblacksmith.com/improvements-to-the-canonical-one-liner-glsl-rand-for-opengl-es-2-0/\nhighp float rand(vec2 co, float seed) {\n const highp float a = 12.9898, b = 78.233, c = 43758.5453;\n highp float dt = dot(co + seed, vec2(a, b)), sn = mod(dt, 3.14159);\n return fract(sin(sn) * c + seed);\n}\n\nvoid main() {\n\n float minGradient = uInnerRadius * 0.3;\n float innerRadius = (uInnerRadius + minGradient * 0.5) / filterArea.x;\n\n float gradient = uRadius * 0.3;\n float radius = (uRadius - gradient * 0.5) / filterArea.x;\n\n float countLimit = MAX_KERNEL_SIZE;\n\n vec2 dir = vec2(uCenter.xy / filterArea.xy - vTextureCoord);\n float dist = length(vec2(dir.x, dir.y * filterArea.y / filterArea.x));\n\n float strength = uStrength;\n\n float delta = 0.0;\n float gap;\n if (dist < innerRadius) {\n delta = innerRadius - dist;\n gap = minGradient;\n } else if (radius >= 0.0 && dist > radius) { // radius < 0 means it's infinity\n delta = dist - radius;\n gap = gradient;\n }\n\n if (delta > 0.0) {\n float normalCount = gap / filterArea.x;\n delta = (normalCount - delta) / normalCount;\n countLimit *= delta;\n strength *= delta;\n if (countLimit < 1.0)\n {\n gl_FragColor = texture2D(uSampler, vTextureCoord);\n return;\n }\n }\n\n // randomize the lookup values to hide the fixed number of samples\n float offset = rand(vTextureCoord, 0.0);\n\n float total = 0.0;\n vec4 color = vec4(0.0);\n\n dir *= strength;\n\n for (float t = 0.0; t < MAX_KERNEL_SIZE; t++) {\n float percent = (t + offset) / MAX_KERNEL_SIZE;\n float weight = 4.0 * (percent - percent * percent);\n vec2 p = vTextureCoord + dir * percent;\n vec4 sample = texture2D(uSampler, p);\n\n // switch to pre-multiplied alpha to correctly blur transparent images\n // sample.rgb *= sample.a;\n\n color += sample * weight;\n total += weight;\n\n if (t > countLimit){\n break;\n }\n }\n\n color /= total;\n // switch back from pre-multiplied alpha\n // color.rgb /= color.a + 0.00001;\n\n gl_FragColor = color;\n}\n",i=function(n){function t(t){if(n.call(this,e,r),"object"!=typeof t){var i=arguments[0],o=arguments[1],a=arguments[2],u=arguments[3];t={},void 0!==i&&(t.strength=i),void 0!==o&&(t.center=o),void 0!==a&&(t.innerRadius=a),void 0!==u&&(t.radius=u)}Object.assign(this,{strength:.1,center:[0,0],innerRadius:0,radius:-1},t)}n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t;var i={center:{configurable:!0},strength:{configurable:!0},innerRadius:{configurable:!0},radius:{configurable:!0}};return i.center.get=function(){return this.uniforms.uCenter},i.center.set=function(n){this.uniforms.uCenter=n},i.strength.get=function(){return this.uniforms.uStrength},i.strength.set=function(n){this.uniforms.uStrength=n},i.innerRadius.get=function(){return this.uniforms.uInnerRadius},i.innerRadius.set=function(n){this.uniforms.uInnerRadius=n},i.radius.get=function(){return this.uniforms.uRadius},i.radius.set=function(n){(n<0||n===1/0)&&(n=-1),this.uniforms.uRadius=n},Object.defineProperties(t.prototype,i),t}(t.Filter);return n.ZoomBlurFilter=i,n}({},PIXI);Object.assign(PIXI.filters,__filters); diff --git a/Extensions/Effects/twist-pixi-filter.js b/Extensions/Effects/twist-pixi-filter.js index eddfeb538ece..9bfa1ff16d19 100644 --- a/Extensions/Effects/twist-pixi-filter.js +++ b/Extensions/Effects/twist-pixi-filter.js @@ -1,12 +1,13 @@ gdjs.PixiFiltersTools.registerFilterCreator('Twist', { makePIXIFilter: function(layer, effectData) { var twistFilter = new PIXI.filters.TwistFilter(); + twistFilter.offset = new PIXI.Point(0, 0); return twistFilter; }, update: function(filter, layer) { - filter.offset[0] = Math.round(filter._offsetX * layer.getWidth()); - filter.offset[1] = Math.round(filter._offsetY * layer.getHeight()); + filter.offset.x = Math.round(filter._offsetX * layer.getWidth()); + filter.offset.y = Math.round(filter._offsetY * layer.getHeight()); }, updateDoubleParameter: function(filter, parameterName, value) { if (parameterName === 'radius') { diff --git a/Extensions/PanelSpriteObject/panelspriteruntimeobject-pixi-renderer.js b/Extensions/PanelSpriteObject/panelspriteruntimeobject-pixi-renderer.js index eb0ea2c63414..86cc836a3629 100644 --- a/Extensions/PanelSpriteObject/panelspriteruntimeobject-pixi-renderer.js +++ b/Extensions/PanelSpriteObject/panelspriteruntimeobject-pixi-renderer.js @@ -12,7 +12,7 @@ gdjs.PanelSpriteRuntimeObjectPixiRenderer = function( .getImageManager() .getPIXITexture(textureName); - var StretchedSprite = !tiled ? PIXI.Sprite : PIXI.extras.TilingSprite; + var StretchedSprite = !tiled ? PIXI.Sprite : PIXI.TilingSprite; this._spritesContainer = new PIXI.Container(); this._centerSprite = new StretchedSprite(new PIXI.Texture(texture)); diff --git a/Extensions/ParticleSystem/JsExtension.cpp b/Extensions/ParticleSystem/JsExtension.cpp index e7ccac846c45..ce30f585e255 100644 --- a/Extensions/ParticleSystem/JsExtension.cpp +++ b/Extensions/ParticleSystem/JsExtension.cpp @@ -224,4 +224,4 @@ extern "C" gd::PlatformExtension* GD_EXTENSION_API CreateGDJSExtension() { return new ParticleSystemJsExtension; } #endif -#endif \ No newline at end of file +#endif diff --git a/Extensions/ParticleSystem/pixi-particles-pixi-renderer.min.js b/Extensions/ParticleSystem/pixi-particles-pixi-renderer.min.js index 8216c5ea8eaf..a049a1a044f9 100644 --- a/Extensions/ParticleSystem/pixi-particles-pixi-renderer.min.js +++ b/Extensions/ParticleSystem/pixi-particles-pixi-renderer.min.js @@ -1 +1,2 @@ -!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).pixiParticles=t()}}(function(){return function(){return function t(e,i,s){function a(n,o){if(!i[n]){if(!e[n]){var h="function"==typeof require&&require;if(!o&&h)return h(n,!0);if(r)return r(n,!0);var l=new Error("Cannot find module '"+n+"'");throw l.code="MODULE_NOT_FOUND",l}var p=i[n]={exports:{}};e[n][0].call(p.exports,function(t){var i=e[n][1][t];return a(i||t)},p,p.exports,t,e,i,s)}return i[n].exports}for(var r="function"==typeof require&&require,n=0;n=0){this.elapsed+=t,this.elapsed>this.duration&&(this.loop?this.elapsed=this.elapsed%this.duration:this.elapsed=this.duration-1e-6);var i=this.elapsed*this.framerate+1e-7|0;this.texture=this.textures[i]||PIXI.Texture.EMPTY}return e},e.prototype.destroy=function(){this.Particle_destroy(),this.textures=null},e.parseArt=function(t){for(var e,i,s,a,r,o=[],h=0;h0;--p)r.push(a)}"matchLife"==e.framerate?(i.framerate=-1,i.duration=0,i.loop=!1):(i.loop=!!e.loop,i.framerate=e.framerate>0?e.framerate:60,i.duration=r.length/i.framerate)}return o},e}(r.default);i.default=o},{"./Particle":3}],2:[function(t,e,i){"use strict";Object.defineProperty(i,"__esModule",{value:!0});var s=t("./ParticleUtils"),a=t("./Particle"),r=t("./PropertyNode"),n=PIXI.ticker.shared,o=new PIXI.Point,h=function(){function t(t,e,i){this._particleConstructor=a.default,this.particleImages=null,this.startAlpha=null,this.startSpeed=null,this.minimumSpeedMultiplier=1,this.acceleration=null,this.maxSpeed=NaN,this.startScale=null,this.minimumScaleMultiplier=1,this.startColor=null,this.minLifetime=0,this.maxLifetime=0,this.minStartRotation=0,this.maxStartRotation=0,this.noRotation=!1,this.minRotationSpeed=0,this.maxRotationSpeed=0,this.particleBlendMode=0,this.customEase=null,this.extraData=null,this._frequency=1,this.spawnChance=1,this.maxParticles=1e3,this.emitterLifetime=-1,this.spawnPos=null,this.spawnType=null,this._spawnFunc=null,this.spawnRect=null,this.spawnCircle=null,this.particlesPerWave=1,this.particleSpacing=0,this.angleStart=0,this.rotation=0,this.ownerPos=null,this._prevEmitterPos=null,this._prevPosIsValid=!1,this._posChanged=!1,this._parent=null,this.addAtBack=!1,this.particleCount=0,this.totalParticleCount=0,this._emit=!1,this._spawnTimer=0,this._emitterLife=-1,this._activeParticlesFirst=null,this._activeParticlesLast=null,this._poolFirst=null,this._origConfig=null,this._origArt=null,this._autoUpdate=!1,this._destroyWhenComplete=!1,this._completeCallback=null,this.parent=t,e&&i&&this.init(e,i),this.recycle=this.recycle,this.update=this.update,this.rotate=this.rotate,this.updateSpawnPos=this.updateSpawnPos,this.updateOwnerPos=this.updateOwnerPos}return Object.defineProperty(t.prototype,"frequency",{get:function(){return this._frequency},set:function(t){this._frequency="number"==typeof t&&t>0?t:1},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"particleConstructor",{get:function(){return this._particleConstructor},set:function(t){if(t!=this._particleConstructor){this._particleConstructor=t,this.cleanup();for(var e=this._poolFirst;e;e=e.next)e.destroy();this._poolFirst=null,this._origConfig&&this._origArt&&this.init(this._origArt,this._origConfig)}},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"parent",{get:function(){return this._parent},set:function(t){this.cleanup(),this._parent=t},enumerable:!0,configurable:!0}),t.prototype.init=function(t,e){if(t&&e){this.cleanup(),this._origConfig=e,this._origArt=t,t=Array.isArray(t)?t.slice():[t];var i=this._particleConstructor;this.particleImages=i.parseArt?i.parseArt(t):t,e.alpha?this.startAlpha=r.default.createList(e.alpha):this.startAlpha=new r.default(1,0),e.speed?(this.startSpeed=r.default.createList(e.speed),this.minimumSpeedMultiplier=e.speed.minimumSpeedMultiplier||1):(this.minimumSpeedMultiplier=1,this.startSpeed=new r.default(0,0));var a,n=e.acceleration;switch(n&&(n.x||n.y)?(this.startSpeed.next=null,this.acceleration=new PIXI.Point(n.x,n.y),this.maxSpeed=e.maxSpeed||NaN):this.acceleration=new PIXI.Point,e.scale?(this.startScale=r.default.createList(e.scale),this.minimumScaleMultiplier=e.scale.minimumScaleMultiplier||1):(this.startScale=new r.default(1,0),this.minimumScaleMultiplier=1),e.color?this.startColor=r.default.createList(e.color):this.startColor=new r.default({r:255,g:255,b:255},0),e.startRotation?(this.minStartRotation=e.startRotation.min,this.maxStartRotation=e.startRotation.max):this.minStartRotation=this.maxStartRotation=0,e.noRotation&&(this.minStartRotation||this.maxStartRotation)?this.noRotation=!!e.noRotation:this.noRotation=!1,e.rotationSpeed?(this.minRotationSpeed=e.rotationSpeed.min,this.maxRotationSpeed=e.rotationSpeed.max):this.minRotationSpeed=this.maxRotationSpeed=0,this.minLifetime=e.lifetime.min,this.maxLifetime=e.lifetime.max,this.particleBlendMode=s.default.getBlendMode(e.blendMode),e.ease?this.customEase="function"==typeof e.ease?e.ease:s.default.generateEase(e.ease):this.customEase=null,i.parseData?this.extraData=i.parseData(e.extraData):this.extraData=e.extraData||null,this.spawnRect=this.spawnCircle=null,this.particlesPerWave=1,e.particlesPerWave&&e.particlesPerWave>1&&(this.particlesPerWave=e.particlesPerWave),this.particleSpacing=0,this.angleStart=0,e.spawnType){case"rect":this.spawnType="rect",this._spawnFunc=this._spawnRect;var o=e.spawnRect;this.spawnRect=new PIXI.Rectangle(o.x,o.y,o.w,o.h);break;case"circle":this.spawnType="circle",this._spawnFunc=this._spawnCircle,a=e.spawnCircle,this.spawnCircle=new PIXI.Circle(a.x,a.y,a.r);break;case"ring":this.spawnType="ring",this._spawnFunc=this._spawnRing,a=e.spawnCircle,this.spawnCircle=new PIXI.Circle(a.x,a.y,a.r),this.spawnCircle.minRadius=a.minR;break;case"burst":this.spawnType="burst",this._spawnFunc=this._spawnBurst,this.particleSpacing=e.particleSpacing,this.angleStart=e.angleStart?e.angleStart:0;break;case"point":default:this.spawnType="point",this._spawnFunc=this._spawnPoint}this.frequency=e.frequency,this.spawnChance="number"==typeof e.spawnChance&&e.spawnChance>0?e.spawnChance:1,this.emitterLifetime=e.emitterLifetime||-1,this.maxParticles=e.maxParticles>0?e.maxParticles:1e3,this.totalParticleCount=0,this.addAtBack=!!e.addAtBack,this.rotation=0,this.ownerPos=new PIXI.Point,this.spawnPos=new PIXI.Point(e.pos.x,e.pos.y),this._prevEmitterPos=this.spawnPos.clone(),this._prevPosIsValid=!1,this._spawnTimer=0,this.emit=void 0===e.emit||!!e.emit,this.autoUpdate=void 0!==e.autoUpdate&&!!e.autoUpdate}},t.prototype.recycle=function(t){t.next&&(t.next.prev=t.prev),t.prev&&(t.prev.next=t.next),t==this._activeParticlesLast&&(this._activeParticlesLast=t.prev),t==this._activeParticlesFirst&&(this._activeParticlesFirst=t.next),t.prev=null,t.next=this._poolFirst,this._poolFirst=t,t.parent&&t.parent.removeChild(t),--this.particleCount},t.prototype.rotate=function(t){if(this.rotation!=t){var e=t-this.rotation;this.rotation=t,s.default.rotatePoint(e,this.spawnPos),this._posChanged=!0}},t.prototype.updateSpawnPos=function(t,e){this._posChanged=!0,this.spawnPos.x=t,this.spawnPos.y=e},t.prototype.updateOwnerPos=function(t,e){this._posChanged=!0,this.ownerPos.x=t,this.ownerPos.y=e},t.prototype.resetPositionTracking=function(){this._prevPosIsValid=!1},Object.defineProperty(t.prototype,"emit",{get:function(){return this._emit},set:function(t){this._emit=!!t,this._emitterLife=this.emitterLifetime},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"autoUpdate",{get:function(){return this._autoUpdate},set:function(t){this._autoUpdate&&!t?n.remove(this.update,this):!this._autoUpdate&&t&&n.add(this.update,this),this._autoUpdate=!!t},enumerable:!0,configurable:!0}),t.prototype.playOnceAndDestroy=function(t){this.autoUpdate=!0,this.emit=!0,this._destroyWhenComplete=!0,this._completeCallback=t},t.prototype.playOnce=function(t){this.emit=!0,this._completeCallback=t},t.prototype.update=function(t){if(this._autoUpdate&&(t=t/PIXI.settings.TARGET_FPMS/1e3),this._parent){var e,i,s,a,r;for(i=this._activeParticlesFirst;i;i=s)s=i.next,i.update(t);this._prevPosIsValid&&(a=this._prevEmitterPos.x,r=this._prevEmitterPos.y);var n=this.ownerPos.x+this.spawnPos.x,o=this.ownerPos.y+this.spawnPos.y;if(this._emit)for(this._spawnTimer-=t;this._spawnTimer<=0;){if(this._emitterLife>0&&(this._emitterLife-=this._frequency,this._emitterLife<=0)){this._spawnTimer=0,this._emitterLife=0,this.emit=!1;break}if(this.particleCount>=this.maxParticles)this._spawnTimer+=this._frequency;else{var h=void 0;if(h=this.minLifetime==this.maxLifetime?this.minLifetime:Math.random()*(this.maxLifetime-this.minLifetime)+this.minLifetime,-this._spawnTimer=this.spawnChance)){var d=void 0;if(this._poolFirst?(d=this._poolFirst,this._poolFirst=this._poolFirst.next,d.next=null):d=new this.particleConstructor(this),this.particleImages.length>1?d.applyArt(this.particleImages[Math.floor(Math.random()*this.particleImages.length)]):d.applyArt(this.particleImages[0]),d.alphaList.reset(this.startAlpha),1!=this.minimumSpeedMultiplier&&(d.speedMultiplier=Math.random()*(1-this.minimumSpeedMultiplier)+this.minimumSpeedMultiplier),d.speedList.reset(this.startSpeed),d.acceleration.x=this.acceleration.x,d.acceleration.y=this.acceleration.y,d.maxSpeed=this.maxSpeed,1!=this.minimumScaleMultiplier&&(d.scaleMultiplier=Math.random()*(1-this.minimumScaleMultiplier)+this.minimumScaleMultiplier),d.scaleList.reset(this.startScale),d.colorList.reset(this.startColor),this.minRotationSpeed==this.maxRotationSpeed?d.rotationSpeed=this.minRotationSpeed:d.rotationSpeed=Math.random()*(this.maxRotationSpeed-this.minRotationSpeed)+this.minRotationSpeed,d.noRotation=this.noRotation,d.maxLife=h,d.blendMode=this.particleBlendMode,d.ease=this.customEase,d.extraData=this.extraData,this._spawnFunc(d,l,p,e),d.init(),d.update(-this._spawnTimer),d.parent){var f=this._parent.children;if(f[0]==d)f.shift();else if(f[f.length-1]==d)f.pop();else{var m=f.indexOf(d);f.splice(m,1)}this.addAtBack?f.unshift(d):f.push(d)}else this.addAtBack?this._parent.addChildAt(d,0):this._parent.addChild(d);this._activeParticlesLast?(this._activeParticlesLast.next=d,d.prev=this._activeParticlesLast,this._activeParticlesLast=d):this._activeParticlesLast=this._activeParticlesFirst=d,++this.particleCount,++this.totalParticleCount}}this._spawnTimer+=this._frequency}}this._posChanged&&(this._prevEmitterPos.x=n,this._prevEmitterPos.y=o,this._prevPosIsValid=!0,this._posChanged=!1),this._emit||this._activeParticlesFirst||(this._completeCallback&&this._completeCallback(),this._destroyWhenComplete&&this.destroy())}},t.prototype._spawnPoint=function(t,e,i){this.minStartRotation==this.maxStartRotation?t.rotation=this.minStartRotation+this.rotation:t.rotation=Math.random()*(this.maxStartRotation-this.minStartRotation)+this.minStartRotation+this.rotation,t.position.x=e,t.position.y=i},t.prototype._spawnRect=function(t,e,i){this.minStartRotation==this.maxStartRotation?t.rotation=this.minStartRotation+this.rotation:t.rotation=Math.random()*(this.maxStartRotation-this.minStartRotation)+this.minStartRotation+this.rotation,o.x=Math.random()*this.spawnRect.width+this.spawnRect.x,o.y=Math.random()*this.spawnRect.height+this.spawnRect.y,0!==this.rotation&&s.default.rotatePoint(this.rotation,o),t.position.x=e+o.x,t.position.y=i+o.y},t.prototype._spawnCircle=function(t,e,i){this.minStartRotation==this.maxStartRotation?t.rotation=this.minStartRotation+this.rotation:t.rotation=Math.random()*(this.maxStartRotation-this.minStartRotation)+this.minStartRotation+this.rotation,o.x=Math.random()*this.spawnCircle.radius,o.y=0,s.default.rotatePoint(360*Math.random(),o),o.x+=this.spawnCircle.x,o.y+=this.spawnCircle.y,0!==this.rotation&&s.default.rotatePoint(this.rotation,o),t.position.x=e+o.x,t.position.y=i+o.y},t.prototype._spawnRing=function(t,e,i){var a=this.spawnCircle;this.minStartRotation==this.maxStartRotation?t.rotation=this.minStartRotation+this.rotation:t.rotation=Math.random()*(this.maxStartRotation-this.minStartRotation)+this.minStartRotation+this.rotation,a.minRadius==a.radius?o.x=Math.random()*(a.radius-a.minRadius)+a.minRadius:o.x=a.radius,o.y=0;var r=360*Math.random();t.rotation+=r,s.default.rotatePoint(r,o),o.x+=this.spawnCircle.x,o.y+=this.spawnCircle.y,0!==this.rotation&&s.default.rotatePoint(this.rotation,o),t.position.x=e+o.x,t.position.y=i+o.y},t.prototype._spawnBurst=function(t,e,i,s){0===this.particleSpacing?t.rotation=360*Math.random():t.rotation=this.angleStart+this.particleSpacing*s+this.rotation,t.position.x=e,t.position.y=i},t.prototype.cleanup=function(){var t,e;for(t=this._activeParticlesFirst;t;t=e)e=t.next,this.recycle(t),t.parent&&t.parent.removeChild(t);this._activeParticlesFirst=this._activeParticlesLast=null,this.particleCount=0,this.totalParticleCount=0},t.prototype.destroy=function(){var t;this.autoUpdate=!1,this.cleanup();for(var e=this._poolFirst;e;e=t)t=e.next,e.destroy();this._poolFirst=this._parent=this.particleImages=this.spawnPos=this.ownerPos=this.startColor=this.startScale=this.startAlpha=this.startSpeed=this.customEase=this._completeCallback=null},t}();i.default=h},{"./Particle":3,"./ParticleUtils":4,"./PropertyNode":7}],3:[function(t,e,i){"use strict";var s,a=this&&this.__extends||(s=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])},function(t,e){function i(){this.constructor=t}s(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)});Object.defineProperty(i,"__esModule",{value:!0});var r=t("./ParticleUtils"),n=t("./PropertyList"),o=function(t){function e(i){var s=t.call(this)||this;return s.emitter=i,s.anchor.x=s.anchor.y=.5,s.velocity=new PIXI.Point,s.maxLife=0,s.age=0,s.ease=null,s.extraData=null,s.alphaList=new n.default,s.speedList=new n.default,s.speedMultiplier=1,s.acceleration=new PIXI.Point,s.maxSpeed=NaN,s.scaleList=new n.default,s.scaleMultiplier=1,s.colorList=new n.default(!0),s._doAlpha=!1,s._doScale=!1,s._doSpeed=!1,s._doAcceleration=!1,s._doColor=!1,s._doNormalMovement=!1,s._oneOverLife=0,s.next=null,s.prev=null,s.init=s.init,s.Particle_init=e.prototype.init,s.update=s.update,s.Particle_update=e.prototype.update,s.Sprite_destroy=t.prototype.destroy,s.Particle_destroy=e.prototype.destroy,s.applyArt=s.applyArt,s.kill=s.kill,s}return a(e,t),e.prototype.init=function(){this.age=0,this.velocity.x=this.speedList.current.value*this.speedMultiplier,this.velocity.y=0,r.default.rotatePoint(this.rotation,this.velocity),this.noRotation?this.rotation=0:this.rotation*=r.default.DEG_TO_RADS,this.rotationSpeed*=r.default.DEG_TO_RADS,this.alpha=this.alphaList.current.value,this.scale.x=this.scale.y=this.scaleList.current.value,this._doAlpha=!!this.alphaList.current.next,this._doSpeed=!!this.speedList.current.next,this._doScale=!!this.scaleList.current.next,this._doColor=!!this.colorList.current.next,this._doAcceleration=0!==this.acceleration.x||0!==this.acceleration.y,this._doNormalMovement=this._doSpeed||0!==this.speedList.current.value||this._doAcceleration,this._oneOverLife=1/this.maxLife;var t=this.colorList.current.value;this.tint=r.default.combineRGBComponents(t.r,t.g,t.b),this.visible=!0},e.prototype.applyArt=function(t){this.texture=t||PIXI.Texture.EMPTY},e.prototype.update=function(t){if(this.age+=t,this.age>=this.maxLife)return this.kill(),-1;var e=this.age*this._oneOverLife;if(this.ease&&(e=4==this.ease.length?this.ease(e,0,1,1):this.ease(e)),this._doAlpha&&(this.alpha=this.alphaList.interpolate(e)),this._doScale){var i=this.scaleList.interpolate(e)*this.scaleMultiplier;this.scale.x=this.scale.y=i}if(this._doNormalMovement){if(this._doSpeed){var s=this.speedList.interpolate(e)*this.speedMultiplier;r.default.normalize(this.velocity),r.default.scaleBy(this.velocity,s)}else if(this._doAcceleration&&(this.velocity.x+=this.acceleration.x*t,this.velocity.y+=this.acceleration.y*t,this.maxSpeed)){var a=r.default.length(this.velocity);a>this.maxSpeed&&r.default.scaleBy(this.velocity,this.maxSpeed/a)}this.position.x+=this.velocity.x*t,this.position.y+=this.velocity.y*t}return this._doColor&&(this.tint=this.colorList.interpolate(e)),0!==this.rotationSpeed?this.rotation+=this.rotationSpeed*t:this.acceleration&&!this.noRotation&&(this.rotation=Math.atan2(this.velocity.y,this.velocity.x)),e},e.prototype.kill=function(){this.emitter.recycle(this)},e.prototype.destroy=function(){this.parent&&this.parent.removeChild(this),this.Sprite_destroy(),this.emitter=this.velocity=this.colorList=this.scaleList=this.alphaList=this.speedList=this.ease=this.next=this.prev=null},e.parseArt=function(t){var e;for(e=t.length;e>=0;--e)"string"==typeof t[e]&&(t[e]=PIXI.Texture.fromImage(t[e]));if(r.default.verbose)for(e=t.length-1;e>0;--e)if(t[e].baseTexture!=t[e-1].baseTexture){window.console&&console.warn("PixiParticles: using particle textures from different images may hinder performance in WebGL");break}return t},e.parseData=function(t){return t},e}(PIXI.Sprite);i.default=o},{"./ParticleUtils":4,"./PropertyList":6}],4:[function(t,e,i){"use strict";Object.defineProperty(i,"__esModule",{value:!0});var s=PIXI.BLEND_MODES,a=t("./PropertyNode"),r={verbose:!1,DEG_TO_RADS:Math.PI/180,rotatePoint:function(t,e){if(t){t*=r.DEG_TO_RADS;var i=Math.sin(t),s=Math.cos(t),a=e.x*s-e.y*i,n=e.x*i+e.y*s;e.x=a,e.y=n}},combineRGBComponents:function(t,e,i){return t<<16|e<<8|i},normalize:function(t){var e=1/r.length(t);t.x*=e,t.y*=e},scaleBy:function(t,e){t.x*=e,t.y*=e},length:function(t){return Math.sqrt(t.x*t.x+t.y*t.y)},hexToRGB:function(t,e){var i;return e||(e={}),"#"==t.charAt(0)?t=t.substr(1):0===t.indexOf("0x")&&(t=t.substr(2)),8==t.length&&(i=t.substr(0,2),t=t.substr(2)),e.r=parseInt(t.substr(0,2),16),e.g=parseInt(t.substr(2,2),16),e.b=parseInt(t.substr(4,2),16),i&&(e.a=parseInt(i,16)),e},generateEase:function(t){var e=t.length,i=1/e;return function(s){var a,r,n=e*s|0;return a=(s-n*i)*e,(r=t[n]||t[e-1]).s+a*(2*(1-a)*(r.cp-r.s)+a*(r.e-r.s))}},getBlendMode:function(t){if(!t)return s.NORMAL;for(t=t.toUpperCase();t.indexOf(" ")>=0;)t=t.replace(" ","_");return s[t]||s.NORMAL},createSteppedGradient:function(t,e){void 0===e&&(e=10),("number"!=typeof e||e<=0)&&(e=10);var i=new a.default(t[0].value,t[0].time);i.isStepped=!0;for(var s=i,n=t[0],o=1,h=t[o],l=1;lh.time;)n=h,h=t[++o];p=(p-n.time)/(h.time-n.time);var c=r.hexToRGB(n.value),u=r.hexToRGB(h.value),d={};d.r=(u.r-c.r)*p+c.r,d.g=(u.g-c.g)*p+c.g,d.b=(u.b-c.b)*p+c.b,s.next=new a.default(d,l/e),s=s.next}return i}};i.default=r},{"./PropertyNode":7}],5:[function(t,e,i){"use strict";var s,a=this&&this.__extends||(s=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])},function(t,e){function i(){this.constructor=t}s(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)});Object.defineProperty(i,"__esModule",{value:!0});var r=t("./ParticleUtils"),n=t("./Particle"),o=new PIXI.Point,h=["pow","sqrt","abs","floor","round","ceil","E","PI","sin","cos","tan","asin","acos","atan","atan2","log"],l=new RegExp(["[01234567890\\.\\*\\-\\+\\/\\(\\)x ,]"].concat(h).join("|"),"g"),p=function(t){function e(e){var i=t.call(this,e)||this;return i.path=null,i.initialRotation=0,i.initialPosition=new PIXI.Point,i.movement=0,i}return a(e,t),e.prototype.init=function(){this.initialRotation=this.rotation,this.Particle_init(),this.path=this.extraData.path,this._doNormalMovement=!this.path,this.movement=0,this.initialPosition.x=this.position.x,this.initialPosition.y=this.position.y},e.prototype.update=function(t){var e=this.Particle_update(t);if(e>=0&&this.path){var i=this.speedList.interpolate(e)*this.speedMultiplier;this.movement+=i*t,o.x=this.movement,o.y=this.path(this.movement),r.default.rotatePoint(this.initialRotation,o),this.position.x=this.initialPosition.x+o.x,this.position.y=this.initialPosition.y+o.y}return e},e.prototype.destroy=function(){this.Particle_destroy(),this.path=this.initialPosition=null},e.parseArt=function(t){return n.default.parseArt(t)},e.parseData=function(t){var e={};if(t&&t.path)try{e.path=function(t){for(var e=t.match(l),i=e.length-1;i>=0;--i)h.indexOf(e[i])>=0&&(e[i]="Math."+e[i]);return t=e.join(""),new Function("x","return "+t+";")}(t.path)}catch(t){r.default.verbose&&console.error("PathParticle: error in parsing path expression"),e.path=null}else r.default.verbose&&console.error("PathParticle requires a path string in extraData!"),e.path=null;return e},e}(n.default);i.default=p},{"./Particle":3,"./ParticleUtils":4}],6:[function(t,e,i){"use strict";Object.defineProperty(i,"__esModule",{value:!0});var s=t("./ParticleUtils"),a=function(){function t(t){void 0===t&&(t=!1),this.current=null,this.next=null,this.isColor=!!t,this.interpolate=null,this.ease=null}return t.prototype.reset=function(t){this.current=t,this.next=t.next,this.next&&this.next.time>=1?this.interpolate=this.isColor?n:r:t.isStepped?this.interpolate=this.isColor?p:l:this.interpolate=this.isColor?h:o,this.ease=this.current.ease},t}();function r(t){return this.ease&&(t=this.ease(t)),(this.next.value-this.current.value)*t+this.current.value}function n(t){this.ease&&(t=this.ease(t));var e=this.current.value,i=this.next.value,a=(i.r-e.r)*t+e.r,r=(i.g-e.g)*t+e.g,n=(i.b-e.b)*t+e.b;return s.default.combineRGBComponents(a,r,n)}function o(t){for(this.ease&&(t=this.ease(t));t>this.next.time;)this.current=this.next,this.next=this.next.next;return t=(t-this.current.time)/(this.next.time-this.current.time),(this.next.value-this.current.value)*t+this.current.value}function h(t){for(this.ease&&(t=this.ease(t));t>this.next.time;)this.current=this.next,this.next=this.next.next;t=(t-this.current.time)/(this.next.time-this.current.time);var e=this.current.value,i=this.next.value,a=(i.r-e.r)*t+e.r,r=(i.g-e.g)*t+e.g,n=(i.b-e.b)*t+e.b;return s.default.combineRGBComponents(a,r,n)}function l(t){for(this.ease&&(t=this.ease(t));this.next&&t>this.next.time;)this.current=this.next,this.next=this.next.next;return this.current.value}function p(t){for(this.ease&&(t=this.ease(t));this.next&&t>this.next.time;)this.current=this.next,this.next=this.next.next;var e=this.current.value;return s.default.combineRGBComponents(e.r,e.g,e.b)}i.default=a},{"./ParticleUtils":4}],7:[function(t,e,i){"use strict";Object.defineProperty(i,"__esModule",{value:!0});var s=t("./ParticleUtils"),a=function(){function t(t,e,i){this.value="string"==typeof t?s.default.hexToRGB(t):t,this.time=e,this.next=null,this.isStepped=!1,this.ease=i?"function"==typeof i?i:s.default.generateEase(i):null}return t.createList=function(e){if(Array.isArray(e.list)){var i=e.list,s=void 0,a=void 0;if(a=s=new t(i[0].value,i[0].time,e.ease),i.length>2||2===i.length&&i[1].value!==i[0].value)for(var r=1;r2||2===s.length&&s[1].value!==o)for(var l=1;l=0;)t=t.replace(" ","_");return i.BLEND_MODES[t]||i.BLEND_MODES.NORMAL},t.createSteppedGradient=function(i,e){void 0===e&&(e=10),("number"!=typeof e||e<=0)&&(e=10);var a=new s(t.hexToRGB(i[0].value),i[0].time);a.isStepped=!0;for(var n=a,r=i[0],o=1,h=i[o],l=1;lh.time;)r=h,h=i[++o];p=(p-r.time)/(h.time-r.time);var c=t.hexToRGB(r.value),u=t.hexToRGB(h.value),m={r:(u.r-c.r)*p+c.r,g:(u.g-c.g)*p+c.g,b:(u.b-c.b)*p+c.b};n.next=new s(m,l/e),n=n.next}return a}}(t.ParticleUtils||(t.ParticleUtils={}));var r=function(t,i){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,i){t.__proto__=i}||function(t,i){for(var e in i)i.hasOwnProperty(e)&&(t[e]=i[e])})(t,i)};function o(t,i){function e(){this.constructor=t}r(t,i),t.prototype=null===i?Object.create(i):(e.prototype=i.prototype,new e)}var h=function(){function t(t){void 0===t&&(t=!1),this.current=null,this.next=null,this.isColor=!!t,this.interpolate=null,this.ease=null}return t.prototype.reset=function(t){this.current=t,this.next=t.next,this.next&&this.next.time>=1?this.interpolate=this.isColor?p:l:t.isStepped?this.interpolate=this.isColor?d:m:this.interpolate=this.isColor?u:c,this.ease=this.current.ease},t}();function l(t){return this.ease&&(t=this.ease(t)),(this.next.value-this.current.value)*t+this.current.value}function p(i){this.ease&&(i=this.ease(i));var e=this.current.value,s=this.next.value,a=(s.r-e.r)*i+e.r,n=(s.g-e.g)*i+e.g,r=(s.b-e.b)*i+e.b;return t.ParticleUtils.combineRGBComponents(a,n,r)}function c(t){for(this.ease&&(t=this.ease(t));t>this.next.time;)this.current=this.next,this.next=this.next.next;return t=(t-this.current.time)/(this.next.time-this.current.time),(this.next.value-this.current.value)*t+this.current.value}function u(i){for(this.ease&&(i=this.ease(i));i>this.next.time;)this.current=this.next,this.next=this.next.next;i=(i-this.current.time)/(this.next.time-this.current.time);var e=this.current.value,s=this.next.value,a=(s.r-e.r)*i+e.r,n=(s.g-e.g)*i+e.g,r=(s.b-e.b)*i+e.b;return t.ParticleUtils.combineRGBComponents(a,n,r)}function m(t){for(this.ease&&(t=this.ease(t));this.next&&t>this.next.time;)this.current=this.next,this.next=this.next.next;return this.current.value}function d(i){for(this.ease&&(i=this.ease(i));this.next&&i>this.next.time;)this.current=this.next,this.next=this.next.next;var e=this.current.value;return t.ParticleUtils.combineRGBComponents(e.r,e.g,e.b)}var f,x=function(e){function s(t){var a=e.call(this)||this;return a.emitter=t,a.anchor.x=a.anchor.y=.5,a.velocity=new i.Point,a.rotationSpeed=0,a.rotationAcceleration=0,a.maxLife=0,a.age=0,a.ease=null,a.extraData=null,a.alphaList=new h,a.speedList=new h,a.speedMultiplier=1,a.acceleration=new i.Point,a.maxSpeed=NaN,a.scaleList=new h,a.scaleMultiplier=1,a.colorList=new h(!0),a._doAlpha=!1,a._doScale=!1,a._doSpeed=!1,a._doAcceleration=!1,a._doColor=!1,a._doNormalMovement=!1,a._oneOverLife=0,a.next=null,a.prev=null,a.init=a.init,a.Particle_init=s.prototype.init,a.update=a.update,a.Particle_update=s.prototype.update,a.Sprite_destroy=e.prototype.destroy,a.Particle_destroy=s.prototype.destroy,a.applyArt=a.applyArt,a.kill=a.kill,a}return o(s,e),s.prototype.init=function(){this.age=0,this.velocity.x=this.speedList.current.value*this.speedMultiplier,this.velocity.y=0,t.ParticleUtils.rotatePoint(this.rotation,this.velocity),this.noRotation?this.rotation=0:this.rotation*=t.ParticleUtils.DEG_TO_RADS,this.rotationSpeed*=t.ParticleUtils.DEG_TO_RADS,this.rotationAcceleration*=t.ParticleUtils.DEG_TO_RADS,this.alpha=this.alphaList.current.value,this.scale.x=this.scale.y=this.scaleList.current.value,this._doAlpha=!!this.alphaList.current.next,this._doSpeed=!!this.speedList.current.next,this._doScale=!!this.scaleList.current.next,this._doColor=!!this.colorList.current.next,this._doAcceleration=0!==this.acceleration.x||0!==this.acceleration.y,this._doNormalMovement=this._doSpeed||0!==this.speedList.current.value||this._doAcceleration,this._oneOverLife=1/this.maxLife;var i=this.colorList.current.value;this.tint=t.ParticleUtils.combineRGBComponents(i.r,i.g,i.b),this.visible=!0},s.prototype.applyArt=function(t){this.texture=t||i.Texture.EMPTY},s.prototype.update=function(i){if(this.age+=i,this.age>=this.maxLife||this.age<0)return this.kill(),-1;var e=this.age*this._oneOverLife;if(this.ease&&(e=4==this.ease.length?this.ease(e,0,1,1):this.ease(e)),this._doAlpha&&(this.alpha=this.alphaList.interpolate(e)),this._doScale){var s=this.scaleList.interpolate(e)*this.scaleMultiplier;this.scale.x=this.scale.y=s}if(this._doNormalMovement){var a=void 0,n=void 0;if(this._doSpeed){var r=this.speedList.interpolate(e)*this.speedMultiplier;t.ParticleUtils.normalize(this.velocity),t.ParticleUtils.scaleBy(this.velocity,r),a=this.velocity.x*i,n=this.velocity.y*i}else if(this._doAcceleration){var o=this.velocity.x,h=this.velocity.y;if(this.velocity.x+=this.acceleration.x*i,this.velocity.y+=this.acceleration.y*i,this.maxSpeed){var l=t.ParticleUtils.length(this.velocity);l>this.maxSpeed&&t.ParticleUtils.scaleBy(this.velocity,this.maxSpeed/l)}a=(o+this.velocity.x)/2*i,n=(h+this.velocity.y)/2*i}else a=this.velocity.x*i,n=this.velocity.y*i;this.position.x+=a,this.position.y+=n}if(this._doColor&&(this.tint=this.colorList.interpolate(e)),0!==this.rotationAcceleration){var p=this.rotationSpeed+this.rotationAcceleration*i;this.rotation+=(this.rotationSpeed+p)/2*i,this.rotationSpeed=p}else 0!==this.rotationSpeed?this.rotation+=this.rotationSpeed*i:this.acceleration&&!this.noRotation&&(this.rotation=Math.atan2(this.velocity.y,this.velocity.x));return e},s.prototype.kill=function(){this.emitter.recycle(this)},s.prototype.destroy=function(){this.parent&&this.parent.removeChild(this),this.Sprite_destroy(),this.emitter=this.velocity=this.colorList=this.scaleList=this.alphaList=this.speedList=this.ease=this.next=this.prev=null},s.parseArt=function(i){var e;for(e=i.length;e>=0;--e)"string"==typeof i[e]&&(i[e]=n(i[e]));if(t.ParticleUtils.verbose)for(e=i.length-1;e>0;--e)if(i[e].baseTexture!=i[e-1].baseTexture){window.console&&console.warn("PixiParticles: using particle textures from different images may hinder performance in WebGL");break}return i},s.parseData=function(t){return t},s}(i.Sprite),y=function(){function t(t){this.segments=[],this.countingLengths=[],this.totalLength=0,this.init(t)}return t.prototype.init=function(t){if(t&&t.length)if(Array.isArray(t[0]))for(var i=0;i0?t:1},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"particleConstructor",{get:function(){return this._particleConstructor},set:function(t){if(t!=this._particleConstructor){this._particleConstructor=t,this.cleanup();for(var i=this._poolFirst;i;i=i.next)i.destroy();this._poolFirst=null,this._origConfig&&this._origArt&&this.init(this._origArt,this._origConfig)}},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"parent",{get:function(){return this._parent},set:function(t){this.cleanup(),this._parent=t},enumerable:!0,configurable:!0}),e.prototype.init=function(e,a){if(e&&a){this.cleanup(),this._origConfig=a,this._origArt=e,e=Array.isArray(e)?e.slice():[e];var n=this._particleConstructor;this.particleImages=n.parseArt?n.parseArt(e):e,a.alpha?this.startAlpha=s.createList(a.alpha):this.startAlpha=new s(1,0),a.speed?(this.startSpeed=s.createList(a.speed),this.minimumSpeedMultiplier=("minimumSpeedMultiplier"in a?a.minimumSpeedMultiplier:a.speed.minimumSpeedMultiplier)||1):(this.minimumSpeedMultiplier=1,this.startSpeed=new s(0,0));var r=a.acceleration;r&&(r.x||r.y)?(this.startSpeed.next=null,this.acceleration=new i.Point(r.x,r.y),this.maxSpeed=a.maxSpeed||NaN):this.acceleration=new i.Point,a.scale?(this.startScale=s.createList(a.scale),this.minimumScaleMultiplier=("minimumScaleMultiplier"in a?a.minimumScaleMultiplier:a.scale.minimumScaleMultiplier)||1):(this.startScale=new s(1,0),this.minimumScaleMultiplier=1),a.color?this.startColor=s.createList(a.color):this.startColor=new s({r:255,g:255,b:255},0),a.startRotation?(this.minStartRotation=a.startRotation.min,this.maxStartRotation=a.startRotation.max):this.minStartRotation=this.maxStartRotation=0,a.noRotation&&(this.minStartRotation||this.maxStartRotation)?this.noRotation=!!a.noRotation:this.noRotation=!1,a.rotationSpeed?(this.minRotationSpeed=a.rotationSpeed.min,this.maxRotationSpeed=a.rotationSpeed.max):this.minRotationSpeed=this.maxRotationSpeed=0,this.rotationAcceleration=a.rotationAcceleration||0,this.minLifetime=a.lifetime.min,this.maxLifetime=a.lifetime.max,this.particleBlendMode=t.ParticleUtils.getBlendMode(a.blendMode),a.ease?this.customEase="function"==typeof a.ease?a.ease:t.ParticleUtils.generateEase(a.ease):this.customEase=null,n.parseData?this.extraData=n.parseData(a.extraData):this.extraData=a.extraData||null,this.spawnRect=this.spawnCircle=null,this.particlesPerWave=1,a.particlesPerWave&&a.particlesPerWave>1&&(this.particlesPerWave=a.particlesPerWave),this.particleSpacing=0,this.angleStart=0,this.parseSpawnType(a),this.frequency=a.frequency,this.spawnChance="number"==typeof a.spawnChance&&a.spawnChance>0?a.spawnChance:1,this.emitterLifetime=a.emitterLifetime||-1,this.maxParticles=a.maxParticles>0?a.maxParticles:1e3,this.addAtBack=!!a.addAtBack,this.rotation=0,this.ownerPos=new i.Point,this.spawnPos=new i.Point(a.pos.x,a.pos.y),this.initAdditional(e,a),this._prevEmitterPos=this.spawnPos.clone(),this._prevPosIsValid=!1,this._spawnTimer=0,this.emit=void 0===a.emit||!!a.emit,this.autoUpdate=!!a.autoUpdate,this.orderedArt=!!a.orderedArt}},e.prototype.initAdditional=function(t,i){},e.prototype.parseSpawnType=function(t){var e;switch(t.spawnType){case"rect":this.spawnType="rect",this._spawnFunc=this._spawnRect;var s=t.spawnRect;this.spawnRect=new i.Rectangle(s.x,s.y,s.w,s.h);break;case"circle":this.spawnType="circle",this._spawnFunc=this._spawnCircle,e=t.spawnCircle,this.spawnCircle=new i.Circle(e.x,e.y,e.r);break;case"ring":this.spawnType="ring",this._spawnFunc=this._spawnRing,e=t.spawnCircle,this.spawnCircle=new i.Circle(e.x,e.y,e.r),this.spawnCircle.minRadius=e.minR;break;case"burst":this.spawnType="burst",this._spawnFunc=this._spawnBurst,this.particleSpacing=t.particleSpacing,this.angleStart=t.angleStart?t.angleStart:0;break;case"point":this.spawnType="point",this._spawnFunc=this._spawnPoint;break;case"polygonalChain":this.spawnType="polygonalChain",this._spawnFunc=this._spawnPolygonalChain,this.spawnPolygonalChain=new y(t.spawnPolygon);break;default:this.spawnType="point",this._spawnFunc=this._spawnPoint}},e.prototype.recycle=function(t){t.next&&(t.next.prev=t.prev),t.prev&&(t.prev.next=t.next),t==this._activeParticlesLast&&(this._activeParticlesLast=t.prev),t==this._activeParticlesFirst&&(this._activeParticlesFirst=t.next),t.prev=null,t.next=this._poolFirst,this._poolFirst=t,t.parent&&t.parent.removeChild(t),--this.particleCount},e.prototype.rotate=function(i){if(this.rotation!=i){var e=i-this.rotation;this.rotation=i,t.ParticleUtils.rotatePoint(e,this.spawnPos),this._posChanged=!0}},e.prototype.updateSpawnPos=function(t,i){this._posChanged=!0,this.spawnPos.x=t,this.spawnPos.y=i},e.prototype.updateOwnerPos=function(t,i){this._posChanged=!0,this.ownerPos.x=t,this.ownerPos.y=i},e.prototype.resetPositionTracking=function(){this._prevPosIsValid=!1},Object.defineProperty(e.prototype,"emit",{get:function(){return this._emit},set:function(t){this._emit=!!t,this._emitterLife=this.emitterLifetime},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"autoUpdate",{get:function(){return this._autoUpdate},set:function(t){this._autoUpdate&&!t?f.remove(this.update,this):!this._autoUpdate&&t&&f.add(this.update,this),this._autoUpdate=!!t},enumerable:!0,configurable:!0}),e.prototype.playOnceAndDestroy=function(t){this.autoUpdate=!0,this.emit=!0,this._destroyWhenComplete=!0,this._completeCallback=t},e.prototype.playOnce=function(t){this.emit=!0,this._completeCallback=t},e.prototype.update=function(t){if(this._autoUpdate&&(t=t/i.settings.TARGET_FPMS/1e3),this._parent){var e,s,a,n,r;for(s=this._activeParticlesFirst;s;s=a)a=s.next,s.update(t);this._prevPosIsValid&&(n=this._prevEmitterPos.x,r=this._prevEmitterPos.y);var o=this.ownerPos.x+this.spawnPos.x,h=this.ownerPos.y+this.spawnPos.y;if(this._emit)for(this._spawnTimer-=t<0?0:t;this._spawnTimer<=0;){if(this._emitterLife>0&&(this._emitterLife-=this._frequency,this._emitterLife<=0)){this._spawnTimer=0,this._emitterLife=0,this.emit=!1;break}if(this.particleCount>=this.maxParticles)this._spawnTimer+=this._frequency;else{var l=void 0;if(l=this.minLifetime==this.maxLifetime?this.minLifetime:Math.random()*(this.maxLifetime-this.minLifetime)+this.minLifetime,-this._spawnTimer=this.spawnChance)){var d=void 0;if(this._poolFirst?(d=this._poolFirst,this._poolFirst=this._poolFirst.next,d.next=null):d=new this.particleConstructor(this),this.particleImages.length>1?-1!==this._currentImageIndex?(d.applyArt(this.particleImages[this._currentImageIndex++]),(this._currentImageIndex<0||this._currentImageIndex>=this.particleImages.length)&&(this._currentImageIndex=0)):d.applyArt(this.particleImages[Math.floor(Math.random()*this.particleImages.length)]):d.applyArt(this.particleImages[0]),d.alphaList.reset(this.startAlpha),1!=this.minimumSpeedMultiplier&&(d.speedMultiplier=Math.random()*(1-this.minimumSpeedMultiplier)+this.minimumSpeedMultiplier),d.speedList.reset(this.startSpeed),d.acceleration.x=this.acceleration.x,d.acceleration.y=this.acceleration.y,d.maxSpeed=this.maxSpeed,1!=this.minimumScaleMultiplier&&(d.scaleMultiplier=Math.random()*(1-this.minimumScaleMultiplier)+this.minimumScaleMultiplier),d.scaleList.reset(this.startScale),d.colorList.reset(this.startColor),this.minRotationSpeed==this.maxRotationSpeed?d.rotationSpeed=this.minRotationSpeed:d.rotationSpeed=Math.random()*(this.maxRotationSpeed-this.minRotationSpeed)+this.minRotationSpeed,d.rotationAcceleration=this.rotationAcceleration,d.noRotation=this.noRotation,d.maxLife=l,d.blendMode=this.particleBlendMode,d.ease=this.customEase,d.extraData=this.extraData,this.applyAdditionalProperties(d),this._spawnFunc(d,p,c,e),d.init(),d.update(-this._spawnTimer),d.parent){var f=this._parent.children;if(f[0]==d)f.shift();else if(f[f.length-1]==d)f.pop();else{var x=f.indexOf(d);f.splice(x,1)}this.addAtBack?f.unshift(d):f.push(d)}else this.addAtBack?this._parent.addChildAt(d,0):this._parent.addChild(d);this._activeParticlesLast?(this._activeParticlesLast.next=d,d.prev=this._activeParticlesLast,this._activeParticlesLast=d):this._activeParticlesLast=this._activeParticlesFirst=d,++this.particleCount}}this._spawnTimer+=this._frequency}}if(this._posChanged&&(this._prevEmitterPos.x=o,this._prevEmitterPos.y=h,this._prevPosIsValid=!0,this._posChanged=!1),!this._emit&&!this._activeParticlesFirst){if(this._completeCallback){var y=this._completeCallback;this._completeCallback=null,y()}this._destroyWhenComplete&&this.destroy()}}},e.prototype.applyAdditionalProperties=function(t){},e.prototype._spawnPoint=function(t,i,e){this.minStartRotation==this.maxStartRotation?t.rotation=this.minStartRotation+this.rotation:t.rotation=Math.random()*(this.maxStartRotation-this.minStartRotation)+this.minStartRotation+this.rotation,t.position.x=i,t.position.y=e},e.prototype._spawnRect=function(i,e,s){this.minStartRotation==this.maxStartRotation?i.rotation=this.minStartRotation+this.rotation:i.rotation=Math.random()*(this.maxStartRotation-this.minStartRotation)+this.minStartRotation+this.rotation,v.x=Math.random()*this.spawnRect.width+this.spawnRect.x,v.y=Math.random()*this.spawnRect.height+this.spawnRect.y,0!==this.rotation&&t.ParticleUtils.rotatePoint(this.rotation,v),i.position.x=e+v.x,i.position.y=s+v.y},e.prototype._spawnCircle=function(i,e,s){this.minStartRotation==this.maxStartRotation?i.rotation=this.minStartRotation+this.rotation:i.rotation=Math.random()*(this.maxStartRotation-this.minStartRotation)+this.minStartRotation+this.rotation,v.x=Math.random()*this.spawnCircle.radius,v.y=0,t.ParticleUtils.rotatePoint(360*Math.random(),v),v.x+=this.spawnCircle.x,v.y+=this.spawnCircle.y,0!==this.rotation&&t.ParticleUtils.rotatePoint(this.rotation,v),i.position.x=e+v.x,i.position.y=s+v.y},e.prototype._spawnRing=function(i,e,s){var a=this.spawnCircle;this.minStartRotation==this.maxStartRotation?i.rotation=this.minStartRotation+this.rotation:i.rotation=Math.random()*(this.maxStartRotation-this.minStartRotation)+this.minStartRotation+this.rotation,a.minRadius!==a.radius?v.x=Math.random()*(a.radius-a.minRadius)+a.minRadius:v.x=a.radius,v.y=0;var n=360*Math.random();i.rotation+=n,t.ParticleUtils.rotatePoint(n,v),v.x+=this.spawnCircle.x,v.y+=this.spawnCircle.y,0!==this.rotation&&t.ParticleUtils.rotatePoint(this.rotation,v),i.position.x=e+v.x,i.position.y=s+v.y},e.prototype._spawnPolygonalChain=function(i,e,s){this.minStartRotation==this.maxStartRotation?i.rotation=this.minStartRotation+this.rotation:i.rotation=Math.random()*(this.maxStartRotation-this.minStartRotation)+this.minStartRotation+this.rotation,this.spawnPolygonalChain.getRandomPoint(v),0!==this.rotation&&t.ParticleUtils.rotatePoint(this.rotation,v),i.position.x=e+v.x,i.position.y=s+v.y},e.prototype._spawnBurst=function(t,i,e,s){0===this.particleSpacing?t.rotation=360*Math.random():t.rotation=this.angleStart+this.particleSpacing*s+this.rotation,t.position.x=i,t.position.y=e},e.prototype.cleanup=function(){var t,i;for(t=this._activeParticlesFirst;t;t=i)i=t.next,this.recycle(t),t.parent&&t.parent.removeChild(t);this._activeParticlesFirst=this._activeParticlesLast=null,this.particleCount=0},e.prototype.destroy=function(){var t;this.autoUpdate=!1,this.cleanup();for(var i=this._poolFirst;i;i=t)t=i.next,i.destroy();this._poolFirst=this._parent=this.particleImages=this.spawnPos=this.ownerPos=this.startColor=this.startScale=this.startAlpha=this.startSpeed=this.customEase=this._completeCallback=null},e}(),g=new i.Point,S=["pow","sqrt","abs","floor","round","ceil","E","PI","sin","cos","tan","asin","acos","atan","atan2","log"],w=new RegExp(["[01234567890\\.\\*\\-\\+\\/\\(\\)x ,]"].concat(S).join("|"),"g"),R=function(e){function s(t){var s=e.call(this,t)||this;return s.path=null,s.initialRotation=0,s.initialPosition=new i.Point,s.movement=0,s}return o(s,e),s.prototype.init=function(){this.initialRotation=this.rotation,this.Particle_init(),this.path=this.extraData.path,this._doNormalMovement=!this.path,this.movement=0,this.initialPosition.x=this.position.x,this.initialPosition.y=this.position.y},s.prototype.update=function(i){var e=this.Particle_update(i);if(e>=0&&this.path){var s=this.speedList.interpolate(e)*this.speedMultiplier;this.movement+=s*i,g.x=this.movement,g.y=this.path(this.movement),t.ParticleUtils.rotatePoint(this.initialRotation,g),this.position.x=this.initialPosition.x+g.x,this.position.y=this.initialPosition.y+g.y}return e},s.prototype.destroy=function(){this.Particle_destroy(),this.path=this.initialPosition=null},s.parseArt=function(t){return x.parseArt(t)},s.parseData=function(i){var e={};if(i&&i.path)try{e.path=function(t){for(var i=t.match(w),e=i.length-1;e>=0;--e)S.indexOf(i[e])>=0&&(i[e]="Math."+i[e]);return t=i.join(""),new Function("x","return "+t+";")}(i.path)}catch(i){t.ParticleUtils.verbose&&console.error("PathParticle: error in parsing path expression"),e.path=null}else t.ParticleUtils.verbose&&console.error("PathParticle requires a path string in extraData!"),e.path=null;return e},s}(x),C=function(t){function e(i){var e=t.call(this,i)||this;return e.textures=null,e.duration=0,e.framerate=0,e.elapsed=0,e.loop=!1,e}return o(e,t),e.prototype.init=function(){this.Particle_init(),this.elapsed=0,this.framerate<0&&(this.duration=this.maxLife,this.framerate=this.textures.length/this.duration)},e.prototype.applyArt=function(t){this.textures=t.textures,this.framerate=t.framerate,this.duration=t.duration,this.loop=t.loop},e.prototype.update=function(t){var e=this.Particle_update(t);if(e>=0){this.elapsed+=t,this.elapsed>this.duration&&(this.loop?this.elapsed=this.elapsed%this.duration:this.elapsed=this.duration-1e-6);var s=this.elapsed*this.framerate+1e-7|0;this.texture=this.textures[s]||i.Texture.EMPTY}return e},e.prototype.destroy=function(){this.Particle_destroy(),this.textures=null},e.parseArt=function(t){for(var e,s,a,r,o,h=[],l=0;l0;--c)o.push(r)}"matchLife"==e.framerate?(s.framerate=-1,s.duration=0,s.loop=!1):(s.loop=!!e.loop,s.framerate=e.framerate>0?e.framerate:60,s.duration=o.length/s.framerate)}return h},e}(x);t.GetTextureFromString=n,t.Particle=x,t.Emitter=P,t.PathParticle=R,t.AnimatedParticle=C,t.PolygonalChain=y,t.PropertyList=h,t.PropertyNode=s}(this.PIXI.particles=this.PIXI.particles||{},PIXI); +//# sourceMappingURL=pixi-particles.min.js.map \ No newline at end of file diff --git a/Extensions/PrimitiveDrawing/shapepainterruntimeobject-pixi-renderer.js b/Extensions/PrimitiveDrawing/shapepainterruntimeobject-pixi-renderer.js index 26ee31f44b62..043404451933 100644 --- a/Extensions/PrimitiveDrawing/shapepainterruntimeobject-pixi-renderer.js +++ b/Extensions/PrimitiveDrawing/shapepainterruntimeobject-pixi-renderer.js @@ -111,30 +111,18 @@ gdjs.ShapePainterRuntimeObjectPixiRenderer.prototype.drawPathMoveTo = function(x }; gdjs.ShapePainterRuntimeObjectPixiRenderer.prototype.drawPathLineTo = function(x1, y1) { - if(this._graphics.graphicsData.length === 0){ - this._graphics.moveTo(0, 0); - } this._graphics.lineTo(x1, y1); }; gdjs.ShapePainterRuntimeObjectPixiRenderer.prototype.drawPathBezierCurveTo = function(cpX, cpY, cpX2, cpY2, toX, toY) { - if(this._graphics.graphicsData.length === 0){ - this._graphics.moveTo(0, 0); - } this._graphics.bezierCurveTo(cpX, cpY, cpX2, cpY2, toX, toY); }; gdjs.ShapePainterRuntimeObjectPixiRenderer.prototype.drawPathArc = function(x1, y1, radius, startAngle, endAngle, anticlockwise) { - if(this._graphics.graphicsData.length === 0){ - this._graphics.moveTo(0, 0); - } this._graphics.arc(x1, y1, radius, gdjs.toRad(startAngle), gdjs.toRad(endAngle), anticlockwise ? true : false); }; gdjs.ShapePainterRuntimeObjectPixiRenderer.prototype.drawPathQuadraticCurveTo = function(cpX, cpY, toX, toY) { - if(this._graphics.graphicsData.length === 0){ - this._graphics.moveTo(0, 0); - } this._graphics.quadraticCurveTo(cpX, cpY, toX, toY); }; diff --git a/Extensions/PrimitiveDrawing/shapepainterruntimeobject.js b/Extensions/PrimitiveDrawing/shapepainterruntimeobject.js index 84ab6e153b17..3d8f9bb85cc1 100644 --- a/Extensions/PrimitiveDrawing/shapepainterruntimeobject.js +++ b/Extensions/PrimitiveDrawing/shapepainterruntimeobject.js @@ -140,8 +140,8 @@ gdjs.ShapePainterRuntimeObject.prototype.drawPathMoveTo = function(x1, y1) { this._renderer.drawPathMoveTo(x1, y1); }; -gdjs.ShapePainterRuntimeObject.prototype.drawPathLineTo = function(x1, y1, thickness) { - this._renderer.drawPathLineTo(x1, y1, thickness); +gdjs.ShapePainterRuntimeObject.prototype.drawPathLineTo = function(x1, y1) { + this._renderer.drawPathLineTo(x1, y1, this._outlineSize); }; gdjs.ShapePainterRuntimeObject.prototype.drawPathBezierCurveTo = function(cpX, cpY, cpX2, cpY2, toX, toY) { diff --git a/Extensions/SkeletonObject/Bskeletonruntimeobject-pixi-renderer.js b/Extensions/SkeletonObject/Bskeletonruntimeobject-pixi-renderer.js index f657d05bbdf9..6235d68ca513 100644 --- a/Extensions/SkeletonObject/Bskeletonruntimeobject-pixi-renderer.js +++ b/Extensions/SkeletonObject/Bskeletonruntimeobject-pixi-renderer.js @@ -104,11 +104,11 @@ gdjs.sk.SlotPixiRenderer.prototype.loadAsSprite = function(texture){ }; gdjs.sk.SlotPixiRenderer.prototype.loadAsMesh = function(texture, vertices, uvs, triangles){ - this.renderer = new PIXI.mesh.Mesh(texture, + this.renderer = new PIXI.SimpleMesh(texture, new Float32Array(vertices), new Float32Array(uvs), new Uint16Array(triangles), - PIXI.mesh.Mesh.DRAW_MODES.TRIANGLES); + PIXI.DRAW_MODES.TRIANGLES); this.renderer.uploadUvTransform = true; this.renderer.z = 0; diff --git a/Extensions/TiledSpriteObject/tiledspriteruntimeobject-pixi-renderer.js b/Extensions/TiledSpriteObject/tiledspriteruntimeobject-pixi-renderer.js index fdc4b8a1b17b..cad05219bd38 100644 --- a/Extensions/TiledSpriteObject/tiledspriteruntimeobject-pixi-renderer.js +++ b/Extensions/TiledSpriteObject/tiledspriteruntimeobject-pixi-renderer.js @@ -5,7 +5,7 @@ gdjs.TiledSpriteRuntimeObjectPixiRenderer = function(runtimeObject, runtimeScene var texture = runtimeScene.getGame().getImageManager().getPIXITexture(textureName); if ( this._tiledSprite === undefined ) { - this._tiledSprite = new PIXI.extras.TilingSprite(texture, 1024, 1024); + this._tiledSprite = new PIXI.TilingSprite(texture, 1024, 1024); } else { this._tiledSprite.texture = texture; } @@ -81,4 +81,4 @@ gdjs.TiledSpriteRuntimeObjectPixiRenderer.prototype.setColor = function(rgbColor gdjs.TiledSpriteRuntimeObjectPixiRenderer.prototype.getColor = function() { var rgb = PIXI.utils.hex2rgb(this._tiledSprite.tint) return Math.floor(rgb[0]*255) + ';' + Math.floor(rgb[1]*255) + ';' + Math.floor(rgb[2]*255); - } \ No newline at end of file + } diff --git a/Extensions/Video/JsExtension.js b/Extensions/Video/JsExtension.js index bcf5b1f001cf..5ee2c186cbd7 100644 --- a/Extensions/Video/JsExtension.js +++ b/Extensions/Video/JsExtension.js @@ -590,13 +590,12 @@ module.exports = { this._videoResource = videoResource; this._pixiObject.texture = this._getVideoTexture(); - if (this._pixiObject.texture.noFrame) { + if (!this._pixiObject.texture.baseTexture.valid) { var that = this; - // Try to display an error texture in case of error, though - // for some reason "error" is never called. that._pixiObject.texture.on('error', function () { that._pixiObject.texture.off('error', this); + that._pixiObject.texture = that._pixiResourcesLoader.getInvalidPIXITexture(); }); } diff --git a/Extensions/Video/videoruntimeobject-pixi-renderer.js b/Extensions/Video/videoruntimeobject-pixi-renderer.js index 21b933d624c3..e5d34ca98f85 100644 --- a/Extensions/Video/videoruntimeobject-pixi-renderer.js +++ b/Extensions/Video/videoruntimeobject-pixi-renderer.js @@ -19,13 +19,13 @@ gdjs.VideoRuntimeObjectPixiRenderer = function(runtimeObject, runtimeScene) { ); this._pixiObject._texture.baseTexture.autoPlay = false; } else { - this._pixiObject._texture.baseTexture.source.currentTime = 0; + this._pixiObject._texture.baseTexture.resource.source.currentTime = 0; } // Needed to avoid video not playing/crashing in Chrome/Chromium browsers. // See https://github.com/pixijs/pixi.js/issues/5996 - this._pixiObject._texture.baseTexture.source.preload = "auto"; - this._pixiObject._texture.baseTexture.source.autoload = true; + this._pixiObject._texture.baseTexture.resource.source.preload = "auto"; + this._pixiObject._texture.baseTexture.resource.source.autoload = true; this._textureWasValid = false; // Will be set to true when video texture is loaded. @@ -78,11 +78,11 @@ gdjs.VideoRuntimeObjectPixiRenderer.prototype.updatePosition = function() { }; gdjs.VideoRuntimeObjectPixiRenderer.prototype.updateLoop = function() { - this._pixiObject._texture.baseTexture.source.loop = this._object._loop; + this._pixiObject._texture.baseTexture.resource.source.loop = this._object._loop; }; gdjs.VideoRuntimeObjectPixiRenderer.prototype.updateVolume = function() { - this._pixiObject._texture.baseTexture.source.volume = + this._pixiObject._texture.baseTexture.resource.source.volume = this._object._volume / 100; }; @@ -127,16 +127,15 @@ gdjs.VideoRuntimeObjectPixiRenderer.prototype.setHeight = function(height) { gdjs.VideoRuntimeObjectPixiRenderer.prototype._getHTMLVideoElementSource = function() { if ( !this._pixiObject.texture || - !this._pixiObject.texture.baseTexture.source + !this._pixiObject.texture.baseTexture.resource.source ) { return null; } - var source = this._pixiObject.texture.baseTexture.source; + var source = this._pixiObject.texture.baseTexture.resource.source; if (!source instanceof HTMLVideoElement) { return null; } - return source; }; @@ -200,7 +199,7 @@ gdjs.VideoRuntimeObjectPixiRenderer.prototype.setMute = function(enable) { var source = this._getHTMLVideoElementSource(); if (!source) return; - this._pixiObject._texture.baseTexture.source.muted = enable; + this._pixiObject._texture.baseTexture.resource.source.muted = enable; }; /** diff --git a/GDJS/Runtime/pixi-renderers/loadingscreen-pixi-renderer.js b/GDJS/Runtime/pixi-renderers/loadingscreen-pixi-renderer.js index ed3d98b1320d..8c86336ea5b6 100644 --- a/GDJS/Runtime/pixi-renderers/loadingscreen-pixi-renderer.js +++ b/GDJS/Runtime/pixi-renderers/loadingscreen-pixi-renderer.js @@ -32,7 +32,7 @@ gdjs.LoadingScreenPixiRenderer = function(runtimeGamePixiRenderer, loadingScreen }); this._websiteText.position.y = this._pixiRenderer.height / 2 + 100; - this._splashImage = new PIXI.Sprite.fromImage(gdjs.splashImage); + this._splashImage = new PIXI.Sprite.from(gdjs.splashImage); this._splashImage.position.x = this._pixiRenderer.width / 2; this._splashImage.position.y = this._pixiRenderer.height / 2; this._splashImage.anchor.x = 0.5; diff --git a/GDJS/Runtime/pixi-renderers/pixi-image-manager.js b/GDJS/Runtime/pixi-renderers/pixi-image-manager.js index 9526cc25bae2..494f524e9e0f 100644 --- a/GDJS/Runtime/pixi-renderers/pixi-image-manager.js +++ b/GDJS/Runtime/pixi-renderers/pixi-image-manager.js @@ -45,7 +45,7 @@ gdjs.PixiImageManager.prototype.getPIXITexture = function(resourceName) { var res = this._resources[i]; if (res.name === resourceName && res.kind === "image") { - texture = PIXI.Texture.fromImage(res.file); + texture = PIXI.Texture.from(res.file); break; } } @@ -82,7 +82,7 @@ gdjs.PixiImageManager.prototype.getPIXIVideoTexture = function(resourceName) { var res = this._resources[i]; if (res.name === resourceName && res.kind === "video") { - texture = PIXI.Texture.fromVideo(res.file); + texture = PIXI.Texture.from(res.file); break; } } @@ -136,10 +136,24 @@ gdjs.PixiImageManager.prototype.loadTextures = function(onProgress, onComplete) if (totalCount === 0) return onComplete(totalCount); //Nothing to load. - var loadingCount = 0; - var loader = PIXI.loader; + var loader = PIXI.Loader.shared; var that = this; - loader.once('complete', function(loader, loadedFiles) { + + var loadingCount = 0; + var progressCallbackId = loader.onProgress.add(function() { + loadingCount++; + onProgress(loadingCount, totalCount); + }); + + for (var file in files) { + if (files.hasOwnProperty(file)) { + loader.add(file, file); + } + } + + loader.load(function(loader, loadedFiles) { + loader.onProgress.detach(progressCallbackId); + //Store the loaded textures so that they are ready to use. for (var file in loadedFiles) { if (loadedFiles.hasOwnProperty(file)) { @@ -156,17 +170,5 @@ gdjs.PixiImageManager.prototype.loadTextures = function(onProgress, onComplete) } onComplete(totalCount); - }); - loader.on('progress', function() { - loadingCount++; - onProgress(loadingCount, totalCount); - }); - - for (var file in files) { - if (files.hasOwnProperty(file)) { - loader.add(file, file); - } - } - - loader.load(); + }); } diff --git a/GDJS/Runtime/pixi-renderers/pixi.js b/GDJS/Runtime/pixi-renderers/pixi.js index c52dd9d4f88d..dc468532540d 100644 --- a/GDJS/Runtime/pixi-renderers/pixi.js +++ b/GDJS/Runtime/pixi-renderers/pixi.js @@ -1,21 +1,9 @@ /*! - * pixi.js - v4.8.6 - * Compiled Fri, 15 Feb 2019 18:20:43 UTC + * pixi.js-legacy - v5.3.0 + * Compiled Thu, 18 Jun 2020 23:27:40 UTC * - * pixi.js is licensed under the MIT License. + * pixi.js-legacy is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license */ -!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var e;e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,e.PIXI=t()}}(function(){var t;return function(){function t(e,r,n){function i(s,a){if(!r[s]){if(!e[s]){var u="function"==typeof require&&require;if(!a&&u)return u(s,!0);if(o)return o(s,!0);var h=new Error("Cannot find module '"+s+"'");throw h.code="MODULE_NOT_FOUND",h}var l=r[s]={exports:{}};e[s][0].call(l.exports,function(t){var r=e[s][1][t];return i(r||t)},l,l.exports,t,e,r,n)}return r[s].exports}for(var o="function"==typeof require&&require,s=0;s0)-(t<0)},r.abs=function(t){var e=t>>31;return(t^e)-e},r.min=function(t,e){return e^(t^e)&-(t65535)<<4,t>>>=e,r=(t>255)<<3,t>>>=r,e|=r,r=(t>15)<<2,t>>>=r,e|=r,r=(t>3)<<1,t>>>=r,(e|=r)|t>>1},r.log10=function(t){return t>=1e9?9:t>=1e8?8:t>=1e7?7:t>=1e6?6:t>=1e5?5:t>=1e4?4:t>=1e3?3:t>=100?2:t>=10?1:0},r.popCount=function(t){return t-=t>>>1&1431655765,16843009*((t=(858993459&t)+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},r.countTrailingZeros=n,r.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)+1},r.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},r.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var i=new Array(256);!function(t){for(var e=0;e<256;++e){var r=e,n=e,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--i;t[e]=n<>>8&255]<<16|i[t>>>16&255]<<8|i[t>>>24&255]},r.interleave2=function(t,e){return t&=65535,t=16711935&(t|t<<8),t=252645135&(t|t<<4),t=858993459&(t|t<<2),t=1431655765&(t|t<<1),e&=65535,e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),t|e<<1},r.deinterleave2=function(t,e){return t=t>>>e&1431655765,t=858993459&(t|t>>>1),t=252645135&(t|t>>>2),t=16711935&(t|t>>>4),(t=65535&(t|t>>>16))<<16>>16},r.interleave3=function(t,e,r){return t&=1023,t=4278190335&(t|t<<16),t=251719695&(t|t<<8),t=3272356035&(t|t<<4),t=1227133513&(t|t<<2),e&=1023,e=4278190335&(e|e<<16),e=251719695&(e|e<<8),e=3272356035&(e|e<<4),e=1227133513&(e|e<<2),t|=e<<1,r&=1023,r=4278190335&(r|r<<16),r=251719695&(r|r<<8),r=3272356035&(r|r<<4),r=1227133513&(r|r<<2),t|r<<2},r.deinterleave3=function(t,e){return t=t>>>e&1227133513,t=3272356035&(t|t>>>2),t=251719695&(t|t>>>4),t=4278190335&(t|t>>>8),(t=1023&(t|t>>>16))<<22>>22},r.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>n(t)+1}},{}],2:[function(t,e,r){"use strict";function n(t,e,r){r=r||2;var n=e&&e.length,o=n?e[0]*r:t.length,a=i(t,0,o,r,!0),u=[];if(!a||a.next===a.prev)return u;var h,l,d,f,p,v,g;if(n&&(a=c(t,e,a,r)),t.length>80*r){h=d=t[0],l=f=t[1];for(var y=r;yd&&(d=p),v>f&&(f=v);g=Math.max(d-h,f-l),g=0!==g?1/g:0}return s(a,u,r,h,l,g),u}function i(t,e,r,n,i){var o,s;if(i===A(t,e,r,n)>0)for(o=e;o=e;o-=n)s=P(o,t[o],t[o+1],s);return s&&T(s,s.next)&&(C(s),s=s.next),s}function o(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!T(n,n.next)&&0!==x(n.prev,n,n.next))n=n.next;else{if(C(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function s(t,e,r,n,i,c,d){if(t){!d&&c&&v(t,n,i,c);for(var f,p,g=t;t.prev!==t.next;)if(f=t.prev,p=t.next,c?u(t,n,i,c):a(t))e.push(f.i/r),e.push(t.i/r),e.push(p.i/r),C(t),t=p.next,g=p.next;else if((t=p)===g){d?1===d?(t=h(t,e,r),s(t,e,r,n,i,c,2)):2===d&&l(t,e,r,n,i,c):s(o(t),e,r,n,i,c,1);break}}}function a(t){var e=t.prev,r=t,n=t.next;if(x(e,r,n)>=0)return!1;for(var i=t.next.next;i!==t.prev;){if(_(e.x,e.y,r.x,r.y,n.x,n.y,i.x,i.y)&&x(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function u(t,e,r,n){var i=t.prev,o=t,s=t.next;if(x(i,o,s)>=0)return!1;for(var a=i.xo.x?i.x>s.x?i.x:s.x:o.x>s.x?o.x:s.x,l=i.y>o.y?i.y>s.y?i.y:s.y:o.y>s.y?o.y:s.y,c=y(a,u,e,r,n),d=y(h,l,e,r,n),f=t.prevZ,p=t.nextZ;f&&f.z>=c&&p&&p.z<=d;){if(f!==t.prev&&f!==t.next&&_(i.x,i.y,o.x,o.y,s.x,s.y,f.x,f.y)&&x(f.prev,f,f.next)>=0)return!1;if(f=f.prevZ,p!==t.prev&&p!==t.next&&_(i.x,i.y,o.x,o.y,s.x,s.y,p.x,p.y)&&x(p.prev,p,p.next)>=0)return!1;p=p.nextZ}for(;f&&f.z>=c;){if(f!==t.prev&&f!==t.next&&_(i.x,i.y,o.x,o.y,s.x,s.y,f.x,f.y)&&x(f.prev,f,f.next)>=0)return!1;f=f.prevZ}for(;p&&p.z<=d;){if(p!==t.prev&&p!==t.next&&_(i.x,i.y,o.x,o.y,s.x,s.y,p.x,p.y)&&x(p.prev,p,p.next)>=0)return!1;p=p.nextZ}return!0}function h(t,e,r){var n=t;do{var i=n.prev,o=n.next.next;!T(i,o)&&w(i,n,n.next,o)&&S(i,o)&&S(o,i)&&(e.push(i.i/r),e.push(n.i/r),e.push(o.i/r),C(n),C(n.next),n=t=o),n=n.next}while(n!==t);return n}function l(t,e,r,n,i,a){var u=t;do{for(var h=u.next.next;h!==u.prev;){if(u.i!==h.i&&b(u,h)){var l=M(u,h);return u=o(u,u.next),l=o(l,l.next),s(u,e,r,n,i,a),void s(l,e,r,n,i,a)}h=h.next}u=u.next}while(u!==t)}function c(t,e,r,n){var s,a,u,h,l,c=[];for(s=0,a=e.length;s=n.next.y&&n.next.y!==n.y){var a=n.x+(o-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(a<=i&&a>s){if(s=a,a===i){if(o===n.y)return n;if(o===n.next.y)return n.next}r=n.x=n.x&&n.x>=l&&i!==n.x&&_(or.x)&&S(n,t)&&(r=n,d=u),n=n.next;return r}function v(t,e,r,n){var i=t;do{null===i.z&&(i.z=y(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,g(i)}function g(t){var e,r,n,i,o,s,a,u,h=1;do{for(r=t,t=null,o=null,s=0;r;){for(s++,n=r,a=0,e=0;e0||u>0&&n;)0!==a&&(0===u||!n||r.z<=n.z)?(i=r,r=r.nextZ,a--):(i=n,n=n.nextZ,u--),o?o.nextZ=i:t=i,i.prevZ=o,o=i;r=n}o.nextZ=null,h*=2}while(s>1);return t}function y(t,e,r,n,i){return t=32767*(t-r)*i,e=32767*(e-n)*i,t=16711935&(t|t<<8),t=252645135&(t|t<<4),t=858993459&(t|t<<2),t=1431655765&(t|t<<1),e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),t|e<<1}function m(t){var e=t,r=t;do{e.x=0&&(t-s)*(n-a)-(r-s)*(e-a)>=0&&(r-s)*(o-a)-(i-s)*(n-a)>=0}function b(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!E(t,e)&&S(t,e)&&S(e,t)&&O(t,e)}function x(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function T(t,e){return t.x===e.x&&t.y===e.y}function w(t,e,r,n){return!!(T(t,e)&&T(r,n)||T(t,n)&&T(r,e))||x(t,e,r)>0!=x(t,e,n)>0&&x(r,n,t)>0!=x(r,n,e)>0}function E(t,e){var r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&w(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}function S(t,e){return x(t.prev,t,t.next)<0?x(t,e,t.next)>=0&&x(t,t.prev,e)>=0:x(t,e,t.prev)<0||x(t,t.next,e)<0}function O(t,e){var r=t,n=!1,i=(t.x+e.x)/2,o=(t.y+e.y)/2;do{r.y>o!=r.next.y>o&&r.next.y!==r.y&&i<(r.next.x-r.x)*(o-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==t);return n}function M(t,e){var r=new R(t.i,t.x,t.y),n=new R(e.i,e.x,e.y),i=t.next,o=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,o.next=n,n.prev=o,n}function P(t,e,r,n){var i=new R(t,e,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function C(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function R(t,e,r){this.i=t,this.x=e,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function A(t,e,r,n){for(var i=0,o=e,s=r-n;o0&&(n+=t[i-1].length,r.holes.push(n))}return r}},{}],3:[function(t,e,r){"use strict";function n(){}function i(t,e,r){this.fn=t,this.context=e,this.once=r||!1}function o(){this._events=new n,this._eventsCount=0}var s=Object.prototype.hasOwnProperty,a="~";Object.create&&(n.prototype=Object.create(null),(new n).__proto__||(a=!1)),o.prototype.eventNames=function(){var t,e,r=[];if(0===this._eventsCount)return r;for(e in t=this._events)s.call(t,e)&&r.push(a?e.slice(1):e);return Object.getOwnPropertySymbols?r.concat(Object.getOwnPropertySymbols(t)):r},o.prototype.listeners=function(t,e){var r=a?a+t:t,n=this._events[r];if(e)return!!n;if(!n)return[];if(n.fn)return[n.fn];for(var i=0,o=n.length,s=new Array(o);i=0;n--){var i=t[n];"."===i?t.splice(n,1):".."===i?(t.splice(n,1),r++):r&&(t.splice(n,1),r--)}if(e)for(;r--;r)t.unshift("..");return t}function n(t,e){if(t.filter)return t.filter(e);for(var r=[],n=0;n=-1&&!i;o--){var s=o>=0?arguments[o]:t.cwd();if("string"!=typeof s)throw new TypeError("Arguments to path.resolve must be strings");s&&(r=s+"/"+r,i="/"===s.charAt(0))}return r=e(n(r.split("/"),function(t){return!!t}),!i).join("/"),(i?"/":"")+r||"."},r.normalize=function(t){var i=r.isAbsolute(t),o="/"===s(t,-1);return t=e(n(t.split("/"),function(t){return!!t}),!i).join("/"),t||i||(t="."),t&&o&&(t+="/"),(i?"/":"")+t},r.isAbsolute=function(t){return"/"===t.charAt(0)},r.join=function(){var t=Array.prototype.slice.call(arguments,0);return r.normalize(n(t,function(t,e){if("string"!=typeof t)throw new TypeError("Arguments to path.join must be strings");return t}).join("/"))},r.relative=function(t,e){function n(t){for(var e=0;e=0&&""===t[r];r--);return e>r?[]:t.slice(e,r-e+1)}t=r.resolve(t).substr(1),e=r.resolve(e).substr(1);for(var i=n(t.split("/")),o=n(e.split("/")),s=Math.min(i.length,o.length),a=s,u=0;u=t.byteLength?n.bufferSubData(this.type,e,t):n.bufferData(this.type,t,this.drawType),this.data=t},i.prototype.bind=function(){this.gl.bindBuffer(this.type,this.buffer)},i.createVertexBuffer=function(t,e,r){return new i(t,t.ARRAY_BUFFER,e,r)},i.createIndexBuffer=function(t,e,r){return new i(t,t.ELEMENT_ARRAY_BUFFER,e,r)},i.create=function(t,e,r,n){return new i(t,e,r,n)},i.prototype.destroy=function(){this.gl.deleteBuffer(this.buffer)},e.exports=i},{}],10:[function(t,e,r){var n=t("./GLTexture"),i=function(t,e,r){this.gl=t,this.framebuffer=t.createFramebuffer(),this.stencil=null,this.texture=null,this.width=e||100,this.height=r||100};i.prototype.enableTexture=function(t){var e=this.gl;this.texture=t||new n(e),this.texture.bind(),this.bind(),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,this.texture.texture,0)},i.prototype.enableStencil=function(){if(!this.stencil){var t=this.gl;this.stencil=t.createRenderbuffer(),t.bindRenderbuffer(t.RENDERBUFFER,this.stencil),t.framebufferRenderbuffer(t.FRAMEBUFFER,t.DEPTH_STENCIL_ATTACHMENT,t.RENDERBUFFER,this.stencil),t.renderbufferStorage(t.RENDERBUFFER,t.DEPTH_STENCIL,this.width,this.height)}},i.prototype.clear=function(t,e,r,n){this.bind();var i=this.gl;i.clearColor(t,e,r,n),i.clear(i.COLOR_BUFFER_BIT|i.DEPTH_BUFFER_BIT)},i.prototype.bind=function(){var t=this.gl;t.bindFramebuffer(t.FRAMEBUFFER,this.framebuffer)},i.prototype.unbind=function(){var t=this.gl;t.bindFramebuffer(t.FRAMEBUFFER,null)},i.prototype.resize=function(t,e){var r=this.gl;this.width=t,this.height=e,this.texture&&this.texture.uploadData(null,t,e),this.stencil&&(r.bindRenderbuffer(r.RENDERBUFFER,this.stencil),r.renderbufferStorage(r.RENDERBUFFER,r.DEPTH_STENCIL,t,e))},i.prototype.destroy=function(){var t=this.gl;this.texture&&this.texture.destroy(),t.deleteFramebuffer(this.framebuffer),this.gl=null,this.stencil=null,this.texture=null},i.createRGBA=function(t,e,r,o){var s=n.fromData(t,null,e,r);s.enableNearestScaling(),s.enableWrapClamp();var a=new i(t,e,r);return a.enableTexture(s),a.unbind(),a},i.createFloat32=function(t,e,r,o){var s=new n.fromData(t,o,e,r);s.enableNearestScaling(),s.enableWrapClamp();var a=new i(t,e,r);return a.enableTexture(s),a.unbind(),a},e.exports=i},{"./GLTexture":12}],11:[function(t,e,r){var n=t("./shader/compileProgram"),i=t("./shader/extractAttributes"),o=t("./shader/extractUniforms"),s=t("./shader/setPrecision"),a=t("./shader/generateUniformAccessObject"),u=function(t,e,r,u,h){this.gl=t,u&&(e=s(e,u),r=s(r,u)),this.program=n(t,e,r,h),this.attributes=i(t,this.program),this.uniformData=o(t,this.program),this.uniforms=a(t,this.uniformData)};u.prototype.bind=function(){return this.gl.useProgram(this.program),this},u.prototype.destroy=function(){this.attributes=null,this.uniformData=null,this.uniforms=null,this.gl.deleteProgram(this.program)},e.exports=u},{"./shader/compileProgram":17,"./shader/extractAttributes":19,"./shader/extractUniforms":20,"./shader/generateUniformAccessObject":21,"./shader/setPrecision":25}],12:[function(t,e,r){var n=function(t,e,r,n,i){this.gl=t,this.texture=t.createTexture(),this.mipmap=!1,this.premultiplyAlpha=!1,this.width=e||-1,this.height=r||-1,this.format=n||t.RGBA,this.type=i||t.UNSIGNED_BYTE};n.prototype.upload=function(t){this.bind();var e=this.gl;e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,this.premultiplyAlpha);var r=t.videoWidth||t.width,n=t.videoHeight||t.height;n!==this.height||r!==this.width?e.texImage2D(e.TEXTURE_2D,0,this.format,this.format,this.type,t):e.texSubImage2D(e.TEXTURE_2D,0,0,0,this.format,this.type,t),this.width=r,this.height=n};var i=!1;n.prototype.uploadData=function(t,e,r){this.bind();var n=this.gl;if(t instanceof Float32Array){if(!i){if(!n.getExtension("OES_texture_float"))throw new Error("floating point textures not available");i=!0}this.type=n.FLOAT}else this.type=this.type||n.UNSIGNED_BYTE;n.pixelStorei(n.UNPACK_PREMULTIPLY_ALPHA_WEBGL,this.premultiplyAlpha),e!==this.width||r!==this.height?n.texImage2D(n.TEXTURE_2D,0,this.format,e,r,0,this.format,this.type,t||null):n.texSubImage2D(n.TEXTURE_2D,0,0,0,e,r,this.format,this.type,t||null),this.width=e,this.height=r},n.prototype.bind=function(t){var e=this.gl;void 0!==t&&e.activeTexture(e.TEXTURE0+t),e.bindTexture(e.TEXTURE_2D,this.texture)},n.prototype.unbind=function(){var t=this.gl;t.bindTexture(t.TEXTURE_2D,null)},n.prototype.minFilter=function(t){var e=this.gl;this.bind(),this.mipmap?e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,t?e.LINEAR_MIPMAP_LINEAR:e.NEAREST_MIPMAP_NEAREST):e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,t?e.LINEAR:e.NEAREST)},n.prototype.magFilter=function(t){var e=this.gl;this.bind(),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,t?e.LINEAR:e.NEAREST)},n.prototype.enableMipmap=function(){var t=this.gl;this.bind(),this.mipmap=!0,t.generateMipmap(t.TEXTURE_2D)},n.prototype.enableLinearScaling=function(){this.minFilter(!0),this.magFilter(!0)},n.prototype.enableNearestScaling=function(){this.minFilter(!1),this.magFilter(!1)},n.prototype.enableWrapClamp=function(){var t=this.gl;this.bind(),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE)},n.prototype.enableWrapRepeat=function(){var t=this.gl;this.bind(),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.REPEAT),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.REPEAT)},n.prototype.enableWrapMirrorRepeat=function(){var t=this.gl;this.bind(),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.MIRRORED_REPEAT),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.MIRRORED_REPEAT)},n.prototype.destroy=function(){this.gl.deleteTexture(this.texture)},n.fromSource=function(t,e,r){var i=new n(t);return i.premultiplyAlpha=r||!1,i.upload(e),i},n.fromData=function(t,e,r,i){var o=new n(t);return o.uploadData(e,r,i),o},e.exports=n},{}],13:[function(t,e,r){function n(t,e){if(this.nativeVaoExtension=null,n.FORCE_NATIVE||(this.nativeVaoExtension=t.getExtension("OES_vertex_array_object")||t.getExtension("MOZ_OES_vertex_array_object")||t.getExtension("WEBKIT_OES_vertex_array_object")),this.nativeState=e,this.nativeVaoExtension){this.nativeVao=this.nativeVaoExtension.createVertexArrayOES();var r=t.getParameter(t.MAX_VERTEX_ATTRIBS);this.nativeState={tempAttribState:new Array(r),attribState:new Array(r)}}this.gl=t,this.attributes=[],this.indexBuffer=null,this.dirty=!1}var i=t("./setVertexAttribArrays");n.prototype.constructor=n,e.exports=n,n.FORCE_NATIVE=!1,n.prototype.bind=function(){if(this.nativeVao){if(this.nativeVaoExtension.bindVertexArrayOES(this.nativeVao),this.dirty)return this.dirty=!1,this.activate(),this;this.indexBuffer&&this.indexBuffer.bind()}else this.activate();return this},n.prototype.unbind=function(){return this.nativeVao&&this.nativeVaoExtension.bindVertexArrayOES(null),this},n.prototype.activate=function(){for(var t=this.gl,e=null,r=0;r1)for(var r=1;r1&&(n=r[0]+"@",t=r[1]),t=t.replace(D,"."),n+s(t.split("."),e).join(".")}function u(t){for(var e,r,n=[],i=0,o=t.length;i=55296&&e<=56319&&i65535&&(t-=65536,e+=k(t>>>10&1023|55296),t=56320|1023&t),e+=k(t)}).join("")}function l(t){return t-48<10?t-22:t-65<26?t-65:t-97<26?t-97:w}function c(t,e){return t+22+75*(t<26)-((0!=e)<<5)}function d(t,e,r){var n=0;for(t=r?B(t/M):t>>1,t+=B(t/e);t>N*S>>1;n+=w)t=B(t/N);return B(n+(N+1)*t/(t+O))}function f(t){var e,r,n,i,s,a,u,c,f,p,v=[],g=t.length,y=0,m=C,_=P;for(r=t.lastIndexOf(R),r<0&&(r=0),n=0;n=128&&o("not-basic"),v.push(t.charCodeAt(n));for(i=r>0?r+1:0;i=g&&o("invalid-input"),c=l(t.charCodeAt(i++)),(c>=w||c>B((T-y)/a))&&o("overflow"),y+=c*a,f=u<=_?E:u>=_+S?S:u-_,!(cB(T/p)&&o("overflow"),a*=p;e=v.length+1,_=d(y-s,e,0==s),B(y/e)>T-m&&o("overflow"),m+=B(y/e),y%=e,v.splice(y++,0,m)}return h(v)}function p(t){var e,r,n,i,s,a,h,l,f,p,v,g,y,m,_,b=[];for(t=u(t),g=t.length,e=C,r=0,s=P,a=0;a=e&&vB((T-r)/y)&&o("overflow"),r+=(h-e)*y,e=h,a=0;aT&&o("overflow"),v==e){for(l=r,f=w;p=f<=s?E:f>=s+S?S:f-s,!(l= 0x80 (not a basic code point)","invalid-input":"Invalid input"},N=w-E,B=Math.floor,k=String.fromCharCode;if(b={version:"1.4.1",ucs2:{decode:u,encode:h},decode:f,encode:p,toASCII:g,toUnicode:v},"function"==typeof t&&"object"==typeof t.amd&&t.amd)t("punycode",function(){return b});else if(y&&m)if(r.exports==y)m.exports=b;else for(x in b)b.hasOwnProperty(x)&&(y[x]=b[x]);else i.punycode=b}(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],28:[function(t,e,r){"use strict";function n(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.exports=function(t,e,r,o){e=e||"&",r=r||"=";var s={};if("string"!=typeof t||0===t.length)return s;var a=/\+/g;t=t.split(e);var u=1e3;o&&"number"==typeof o.maxKeys&&(u=o.maxKeys);var h=t.length;u>0&&h>u&&(h=u);for(var l=0;l=0?(c=v.substr(0,g),d=v.substr(g+1)):(c=v,d=""),f=decodeURIComponent(c),p=decodeURIComponent(d),n(s,f)?i(s[f])?s[f].push(p):s[f]=[s[f],p]:s[f]=p}return s};var i=Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)}},{}],29:[function(t,e,r){"use strict";function n(t,e){if(t.map)return t.map(e);for(var r=[],n=0;n=i||0===r)){r=e+r>i?i-e:r;var o=i-r;for(n=e;n0&&void 0!==arguments[0]?arguments[0]:"",n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:10;i(this,t),this.baseUrl=r,this.progress=0,this.loading=!1,this.defaultQueryString="",this._beforeMiddleware=[],this._afterMiddleware=[],this._resourcesParsing=[],this._boundLoadResource=function(t,r){return e._loadResource(t,r)},this._queue=d.queue(this._boundLoadResource,n),this._queue.pause(),this.resources={},this.onProgress=new u.default,this.onError=new u.default,this.onLoad=new u.default,this.onStart=new u.default,this.onComplete=new u.default;for(var o=0;o0||e.responseType===t.XHR_RESPONSE_TYPE.BUFFER)?n=200:1223===n&&(n=204),2!=(n/100|0))return void this.abort("["+e.status+"] "+e.statusText+": "+e.responseURL);if(this.xhrType===t.XHR_RESPONSE_TYPE.TEXT)this.data=r,this.type=t.TYPE.TEXT;else if(this.xhrType===t.XHR_RESPONSE_TYPE.JSON)try{this.data=JSON.parse(r),this.type=t.TYPE.JSON}catch(t){return void this.abort("Error trying to parse loaded json: "+t)}else if(this.xhrType===t.XHR_RESPONSE_TYPE.DOCUMENT)try{if(window.DOMParser){var i=new DOMParser;this.data=i.parseFromString(r,"text/xml")}else{var o=document.createElement("div");o.innerHTML=r,this.data=o}this.type=t.TYPE.XML}catch(t){return void this.abort("Error trying to parse loaded xml: "+t)}else this.data=e.response||r;this.complete()},t.prototype._determineCrossOrigin=function(t,e){if(0===t.indexOf("data:"))return"";if(window.origin!==window.location.origin)return"anonymous";e=e||window.location,p||(p=document.createElement("a")),p.href=t,t=(0,l.default)(p.href,{strictMode:!0});var r=!t.port&&""===e.port||t.port===e.port,n=t.protocol?t.protocol+":":"";return t.host===e.hostname&&r&&n===e.protocol?"":"anonymous"},t.prototype._determineXhrType=function(){return t._xhrTypeMap[this.extension]||t.XHR_RESPONSE_TYPE.TEXT},t.prototype._determineLoadType=function(){return t._loadTypeMap[this.extension]||t.LOAD_TYPE.XHR},t.prototype._getExtension=function(){var t=this.url,e="";if(this.isDataUrl){var r=t.indexOf("/");e=t.substring(r+1,t.indexOf(";",r))}else{var n=t.indexOf("?"),i=t.indexOf("#"),o=Math.min(n>-1?n:t.length,i>-1?i:t.length);t=t.substring(0,o),e=t.substring(t.lastIndexOf(".")+1)}return e.toLowerCase()},t.prototype._getMimeFromXhrType=function(e){switch(e){case t.XHR_RESPONSE_TYPE.BUFFER:return"application/octet-binary";case t.XHR_RESPONSE_TYPE.BLOB:return"application/blob";case t.XHR_RESPONSE_TYPE.DOCUMENT:return"application/xml";case t.XHR_RESPONSE_TYPE.JSON:return"application/json";case t.XHR_RESPONSE_TYPE.DEFAULT:case t.XHR_RESPONSE_TYPE.TEXT:default:return"text/plain"}},u(t,[{key:"isDataUrl",get:function(){return this._hasFlag(t.STATUS_FLAGS.DATA_URL)}},{key:"isComplete",get:function(){return this._hasFlag(t.STATUS_FLAGS.COMPLETE)}},{key:"isLoading",get:function(){return this._hasFlag(t.STATUS_FLAGS.LOADING)}}]),t}();v.STATUS_FLAGS={NONE:0,DATA_URL:1,COMPLETE:2,LOADING:4},v.TYPE={UNKNOWN:0,JSON:1,XML:2,IMAGE:3,AUDIO:4,VIDEO:5,TEXT:6},v.LOAD_TYPE={XHR:1,IMAGE:2,AUDIO:3,VIDEO:4},v.XHR_RESPONSE_TYPE={DEFAULT:"text",BUFFER:"arraybuffer",BLOB:"blob",DOCUMENT:"document",JSON:"json",TEXT:"text"},v._loadTypeMap={gif:v.LOAD_TYPE.IMAGE,png:v.LOAD_TYPE.IMAGE,bmp:v.LOAD_TYPE.IMAGE,jpg:v.LOAD_TYPE.IMAGE,jpeg:v.LOAD_TYPE.IMAGE,tif:v.LOAD_TYPE.IMAGE,tiff:v.LOAD_TYPE.IMAGE,webp:v.LOAD_TYPE.IMAGE,tga:v.LOAD_TYPE.IMAGE,svg:v.LOAD_TYPE.IMAGE,"svg+xml":v.LOAD_TYPE.IMAGE,mp3:v.LOAD_TYPE.AUDIO,ogg:v.LOAD_TYPE.AUDIO,wav:v.LOAD_TYPE.AUDIO,mp4:v.LOAD_TYPE.VIDEO,webm:v.LOAD_TYPE.VIDEO},v._xhrTypeMap={xhtml:v.XHR_RESPONSE_TYPE.DOCUMENT,html:v.XHR_RESPONSE_TYPE.DOCUMENT,htm:v.XHR_RESPONSE_TYPE.DOCUMENT,xml:v.XHR_RESPONSE_TYPE.DOCUMENT,tmx:v.XHR_RESPONSE_TYPE.DOCUMENT,svg:v.XHR_RESPONSE_TYPE.DOCUMENT,tsx:v.XHR_RESPONSE_TYPE.DOCUMENT,gif:v.XHR_RESPONSE_TYPE.BLOB,png:v.XHR_RESPONSE_TYPE.BLOB,bmp:v.XHR_RESPONSE_TYPE.BLOB,jpg:v.XHR_RESPONSE_TYPE.BLOB,jpeg:v.XHR_RESPONSE_TYPE.BLOB,tif:v.XHR_RESPONSE_TYPE.BLOB,tiff:v.XHR_RESPONSE_TYPE.BLOB,webp:v.XHR_RESPONSE_TYPE.BLOB,tga:v.XHR_RESPONSE_TYPE.BLOB,json:v.XHR_RESPONSE_TYPE.JSON,text:v.XHR_RESPONSE_TYPE.TEXT,txt:v.XHR_RESPONSE_TYPE.TEXT,ttf:v.XHR_RESPONSE_TYPE.BUFFER,otf:v.XHR_RESPONSE_TYPE.BUFFER},v.EMPTY_GIF="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==",void 0!==e&&(e.exports.default=v)},{"mini-signals":5,"parse-uri":7}],34:[function(t,e,r){"use strict";function n(){}function i(t,e,r,n){var i=0,o=t.length;!function s(a){if(a||i===o)return void(r&&r(a));n?setTimeout(function(){e(t[i++],s)},1):e(t[i++],s)}()}function o(t){return function(){if(null===t)throw new Error("Callback was already called.");var e=t;t=null,e.apply(this,arguments)}}function s(t,e){function r(t,e,r){if(null!=r&&"function"!=typeof r)throw new Error("task callback must be a function");if(a.started=!0,null==t&&a.idle())return void setTimeout(function(){return a.drain()},1);var i={data:t,callback:"function"==typeof r?r:n};e?a._tasks.unshift(i):a._tasks.push(i),setTimeout(function(){return a.process()},1)}function i(t){return function(){s-=1,t.callback.apply(t,arguments),null!=arguments[0]&&a.error(arguments[0],t.data),s<=a.concurrency-a.buffer&&a.unsaturated(),a.idle()&&a.drain(),a.process()}}if(null==e)e=1;else if(0===e)throw new Error("Concurrency must not be zero");var s=0,a={_tasks:[],concurrency:e,saturated:n,unsaturated:n,buffer:e/4,empty:n,drain:n,error:n,started:!1,paused:!1,push:function(t,e){r(t,!1,e)},kill:function(){s=0,a.drain=n,a.started=!1,a._tasks=[]},unshift:function(t,e){r(t,!0,e)},process:function(){for(;!a.paused&&s>2,o[1]=(3&n[0])<<4|n[1]>>4,o[2]=(15&n[1])<<2|n[2]>>6,o[3]=63&n[2];switch(r-(t.length-1)){case 2:o[3]=64,o[2]=64;break;case 1:o[3]=64}for(var a=0;a",'"',"`"," ","\r","\n","\t"],p=["{","}","|","\\","^","`"].concat(f),v=["'"].concat(p),g=["%","/","?",";","#"].concat(v),y=["/","?","#"],m=/^[+a-z0-9A-Z_-]{0,63}$/,_=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,b={javascript:!0,"javascript:":!0},x={javascript:!0,"javascript:":!0},T={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},w=t("querystring");n.prototype.parse=function(t,e,r){if(!h.isString(t))throw new TypeError("Parameter 'url' must be a string, not "+typeof t);var n=t.indexOf("?"),i=-1!==n&&n127?L+="x":L+=D[N];if(!L.match(m)){var k=A.slice(0,O),F=A.slice(O+1),j=D.match(_);j&&(k.push(j[1]),F.unshift(j[2])),F.length&&(a="/"+F.join(".")+a),this.hostname=k.join(".");break}}} -this.hostname.length>255?this.hostname="":this.hostname=this.hostname.toLowerCase(),R||(this.hostname=u.toASCII(this.hostname));var U=this.port?":"+this.port:"",X=this.hostname||"";this.host=X+U,this.href+=this.host,R&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==a[0]&&(a="/"+a))}if(!b[p])for(var O=0,I=v.length;O0)&&r.host.split("@");S&&(r.auth=S.shift(),r.host=r.hostname=S.shift())}return r.search=t.search,r.query=t.query,h.isNull(r.pathname)&&h.isNull(r.search)||(r.path=(r.pathname?r.pathname:"")+(r.search?r.search:"")),r.href=r.format(),r}if(!w.length)return r.pathname=null,r.search?r.path="/"+r.search:r.path=null,r.href=r.format(),r;for(var O=w.slice(-1)[0],M=(r.host||t.host||w.length>1)&&("."===O||".."===O)||""===O,P=0,C=w.length;C>=0;C--)O=w[C],"."===O?w.splice(C,1):".."===O?(w.splice(C,1),P++):P&&(w.splice(C,1),P--);if(!_&&!b)for(;P--;P)w.unshift("..");!_||""===w[0]||w[0]&&"/"===w[0].charAt(0)||w.unshift(""),M&&"/"!==w.join("/").substr(-1)&&w.push("");var R=""===w[0]||w[0]&&"/"===w[0].charAt(0);if(E){r.hostname=r.host=R?"":w.length?w.shift():"";var S=!!(r.host&&r.host.indexOf("@")>0)&&r.host.split("@");S&&(r.auth=S.shift(),r.host=r.hostname=S.shift())}return _=_||r.host&&w.length,_&&!R&&w.unshift(""),w.length?r.pathname=w.join("/"):(r.pathname=null,r.path=null),h.isNull(r.pathname)&&h.isNull(r.search)||(r.path=(r.pathname?r.pathname:"")+(r.search?r.search:"")),r.auth=t.auth||r.auth,r.slashes=r.slashes||t.slashes,r.href=r.format(),r},n.prototype.parseHost=function(){var t=this.host,e=c.exec(t);e&&(e=e[0],":"!==e&&(this.port=e.substr(1)),t=t.substr(0,t.length-e.length)),t&&(this.hostname=t)}},{"./util":39,punycode:27,querystring:30}],39:[function(t,e,r){"use strict";e.exports={isString:function(t){return"string"==typeof t},isObject:function(t){return"object"==typeof t&&null!==t},isNull:function(t){return null===t},isNullOrUndefined:function(t){return null==t}}},{}],40:[function(t,e,r){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}r.__esModule=!0;var o=t("../core"),s=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e.default=t,e}(o),a=t("ismobilejs"),u=n(a),h=t("./accessibleTarget"),l=n(h);s.utils.mixins.delayMixin(s.DisplayObject.prototype,l.default);var c=100,d=0,f=0,p=2,v=function(){function t(e){i(this,t),!u.default.tablet&&!u.default.phone||navigator.isCocoonJS||this.createTouchHook();var r=document.createElement("div");r.style.width=c+"px",r.style.height=c+"px",r.style.position="absolute",r.style.top=d+"px",r.style.left=f+"px",r.style.zIndex=p,this.div=r,this.pool=[],this.renderId=0,this.debug=!1,this.renderer=e,this.children=[],this._onKeyDown=this._onKeyDown.bind(this),this._onMouseMove=this._onMouseMove.bind(this),this.isActive=!1,this.isMobileAccessabillity=!1,window.addEventListener("keydown",this._onKeyDown,!1)}return t.prototype.createTouchHook=function(){var t=this,e=document.createElement("button");e.style.width="1px",e.style.height="1px",e.style.position="absolute",e.style.top="-1000px",e.style.left="-1000px",e.style.zIndex=2,e.style.backgroundColor="#FF0000",e.title="HOOK DIV",e.addEventListener("focus",function(){t.isMobileAccessabillity=!0,t.activate(),document.body.removeChild(e)}),document.body.appendChild(e)},t.prototype.activate=function(){this.isActive||(this.isActive=!0,window.document.addEventListener("mousemove",this._onMouseMove,!0),window.removeEventListener("keydown",this._onKeyDown,!1),this.renderer.on("postrender",this.update,this),this.renderer.view.parentNode&&this.renderer.view.parentNode.appendChild(this.div))},t.prototype.deactivate=function(){this.isActive&&!this.isMobileAccessabillity&&(this.isActive=!1,window.document.removeEventListener("mousemove",this._onMouseMove,!0),window.addEventListener("keydown",this._onKeyDown,!1),this.renderer.off("postrender",this.update),this.div.parentNode&&this.div.parentNode.removeChild(this.div))},t.prototype.updateAccessibleObjects=function(t){if(t.visible){t.accessible&&t.interactive&&(t._accessibleActive||this.addChild(t),t.renderId=this.renderId);for(var e=t.children,r=0;rthis.renderer.width&&(t.width=this.renderer.width-t.x),t.y+t.height>this.renderer.height&&(t.height=this.renderer.height-t.y)},t.prototype.addChild=function(t){var e=this.pool.pop();e||(e=document.createElement("button"),e.style.width=c+"px",e.style.height=c+"px",e.style.backgroundColor=this.debug?"rgba(255,0,0,0.5)":"transparent",e.style.position="absolute",e.style.zIndex=p,e.style.borderStyle="none",navigator.userAgent.toLowerCase().indexOf("chrome")>-1?e.setAttribute("aria-live","off"):e.setAttribute("aria-live","polite"),navigator.userAgent.match(/rv:.*Gecko\//)?e.setAttribute("aria-relevant","additions"):e.setAttribute("aria-relevant","text"),e.addEventListener("click",this._onClick.bind(this)),e.addEventListener("focus",this._onFocus.bind(this)),e.addEventListener("focusout",this._onFocusOut.bind(this))),t.accessibleTitle&&null!==t.accessibleTitle?e.title=t.accessibleTitle:t.accessibleHint&&null!==t.accessibleHint||(e.title="displayObject "+t.tabIndex),t.accessibleHint&&null!==t.accessibleHint&&e.setAttribute("aria-label",t.accessibleHint),t._accessibleActive=!0,t._accessibleDiv=e,e.displayObject=t,this.children.push(t),this.div.appendChild(t._accessibleDiv),t._accessibleDiv.tabIndex=t.tabIndex},t.prototype._onClick=function(t){var e=this.renderer.plugins.interaction;e.dispatchEvent(t.target.displayObject,"click",e.eventData)},t.prototype._onFocus=function(t){t.target.getAttribute("aria-live","off")||t.target.setAttribute("aria-live","assertive");var e=this.renderer.plugins.interaction;e.dispatchEvent(t.target.displayObject,"mouseover",e.eventData)},t.prototype._onFocusOut=function(t){t.target.getAttribute("aria-live","off")||t.target.setAttribute("aria-live","polite");var e=this.renderer.plugins.interaction;e.dispatchEvent(t.target.displayObject,"mouseout",e.eventData)},t.prototype._onKeyDown=function(t){9===t.keyCode&&this.activate()},t.prototype._onMouseMove=function(t){0===t.movementX&&0===t.movementY||this.deactivate()},t.prototype.destroy=function(){this.div=null;for(var t=0;t]*(?:\s(width|height)=('|")(\d*(?:\.\d+)?)(?:px)?('|"))[^>]*(?:\s(width|height)=('|")(\d*(?:\.\d+)?)(?:px)?('|"))[^>]*>/i,r.SHAPES={POLY:0,RECT:1,CIRC:2,ELIP:3,RREC:4},r.PRECISION={LOW:"lowp",MEDIUM:"mediump",HIGH:"highp"},r.TRANSFORM_MODE={STATIC:0,DYNAMIC:1},r.TEXT_GRADIENT={LINEAR_VERTICAL:0,LINEAR_HORIZONTAL:1},r.UPDATE_PRIORITY={INTERACTION:50,HIGH:25,NORMAL:0,LOW:-25,UTILITY:-50}},{}],47:[function(t,e,r){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}r.__esModule=!0;var i=t("../math"),o=function(){function t(){n(this,t),this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0,this.rect=null}return t.prototype.isEmpty=function(){return this.minX>this.maxX||this.minY>this.maxY},t.prototype.clear=function(){this.updateID++,this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0},t.prototype.getRectangle=function(t){return this.minX>this.maxX||this.minY>this.maxY?i.Rectangle.EMPTY:(t=t||new i.Rectangle(0,0,1,1),t.x=this.minX,t.y=this.minY,t.width=this.maxX-this.minX,t.height=this.maxY-this.minY,t)},t.prototype.addPoint=function(t){this.minX=Math.min(this.minX,t.x),this.maxX=Math.max(this.maxX,t.x),this.minY=Math.min(this.minY,t.y),this.maxY=Math.max(this.maxY,t.y)},t.prototype.addQuad=function(t){var e=this.minX,r=this.minY,n=this.maxX,i=this.maxY,o=t[0],s=t[1];e=on?o:n,i=s>i?s:i,o=t[2],s=t[3],e=on?o:n,i=s>i?s:i,o=t[4],s=t[5],e=on?o:n,i=s>i?s:i,o=t[6],s=t[7],e=on?o:n,i=s>i?s:i,this.minX=e,this.minY=r,this.maxX=n,this.maxY=i},t.prototype.addFrame=function(t,e,r,n,i){var o=t.worldTransform,s=o.a,a=o.b,u=o.c,h=o.d,l=o.tx,c=o.ty,d=this.minX,f=this.minY,p=this.maxX,v=this.maxY,g=s*e+u*r+l,y=a*e+h*r+c;d=gp?g:p,v=y>v?y:v,g=s*n+u*r+l,y=a*n+h*r+c,d=gp?g:p,v=y>v?y:v,g=s*e+u*i+l,y=a*e+h*i+c,d=gp?g:p,v=y>v?y:v,g=s*n+u*i+l,y=a*n+h*i+c,d=gp?g:p,v=y>v?y:v,this.minX=d,this.minY=f,this.maxX=p,this.maxY=v},t.prototype.addVertices=function(t,e,r,n){for(var i=t.worldTransform,o=i.a,s=i.b,a=i.c,u=i.d,h=i.tx,l=i.ty,c=this.minX,d=this.minY,f=this.maxX,p=this.maxY,v=r;vf?m:f,p=_>p?_:p}this.minX=c,this.minY=d,this.maxX=f,this.maxY=p},t.prototype.addBounds=function(t){var e=this.minX,r=this.minY,n=this.maxX,i=this.maxY;this.minX=t.minXn?t.maxX:n,this.maxY=t.maxY>i?t.maxY:i},t.prototype.addBoundsMask=function(t,e){var r=t.minX>e.minX?t.minX:e.minX,n=t.minY>e.minY?t.minY:e.minY,i=t.maxXu?i:u,this.maxY=o>h?o:h}},t.prototype.addBoundsArea=function(t,e){var r=t.minX>e.x?t.minX:e.x,n=t.minY>e.y?t.minY:e.y,i=t.maxXu?i:u,this.maxY=o>h?o:h}},t}();r.default=o},{"../math":70}],48:[function(t,e,r){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}r.__esModule=!0;var s=function(){function t(t,e){for(var r=0;r1)for(var r=0;rthis.children.length)throw new Error(t+"addChildAt: The index "+e+" supplied is out of bounds "+this.children.length);return t.parent&&t.parent.removeChild(t),t.parent=this,t.transform._parentID=-1,this.children.splice(e,0,t),this._boundsID++,this.onChildrenChange(e),t.emit("added",this),t},e.prototype.swapChildren=function(t,e){if(t!==e){var r=this.getChildIndex(t),n=this.getChildIndex(e);this.children[r]=e,this.children[n]=t,this.onChildrenChange(r=this.children.length)throw new Error("The index "+e+" supplied is out of bounds "+this.children.length);var r=this.getChildIndex(t);(0,a.removeItems)(this.children,r,1),this.children.splice(e,0,t),this.onChildrenChange(e)},e.prototype.getChildAt=function(t){if(t<0||t>=this.children.length)throw new Error("getChildAt: Index ("+t+") does not exist.");return this.children[t]},e.prototype.removeChild=function(t){var e=arguments.length;if(e>1)for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:0,e=arguments[1],r=t,n="number"==typeof e?e:this.children.length,i=n-r,o=void 0;if(i>0&&i<=n){o=this.children.splice(r,i);for(var s=0;s2&&void 0!==arguments[2]&&arguments[2]||(this._recursivePostUpdateTransform(),this.parent?this.displayObjectUpdateTransform():(this.parent=this._tempDisplayObjectParent,this.displayObjectUpdateTransform(),this.parent=null)),this.worldTransform.apply(t,e)},e.prototype.toLocal=function(t,e,r,n){return e&&(t=e.toGlobal(t,r,n)),n||(this._recursivePostUpdateTransform(),this.parent?this.displayObjectUpdateTransform():(this.parent=this._tempDisplayObjectParent,this.displayObjectUpdateTransform(),this.parent=null)),this.worldTransform.applyInverse(t,r)},e.prototype.renderWebGL=function(t){},e.prototype.renderCanvas=function(t){},e.prototype.setParent=function(t){if(!t||!t.addChild)throw new Error("setParent: Argument must be a Container");return t.addChild(this),t},e.prototype.setTransform=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,s=arguments.length>6&&void 0!==arguments[6]?arguments[6]:0,a=arguments.length>7&&void 0!==arguments[7]?arguments[7]:0,u=arguments.length>8&&void 0!==arguments[8]?arguments[8]:0;return this.position.x=t,this.position.y=e,this.scale.x=r||1,this.scale.y=n||1,this.rotation=i,this.skew.x=o,this.skew.y=s,this.pivot.x=a,this.pivot.y=u,this},e.prototype.destroy=function(){this.removeAllListeners(),this.parent&&this.parent.removeChild(this),this.transform=null,this.parent=null,this._bounds=null,this._currentBounds=null,this._mask=null,this.filterArea=null,this.interactive=!1,this.interactiveChildren=!1,this._destroyed=!0},a(e,[{key:"_tempDisplayObjectParent",get:function(){return null===this.tempDisplayObjectParent&&(this.tempDisplayObjectParent=new e),this.tempDisplayObjectParent}},{key:"x",get:function(){return this.position.x},set:function(t){this.transform.position.x=t}},{key:"y",get:function(){return this.position.y},set:function(t){this.transform.position.y=t}},{key:"worldTransform",get:function(){return this.transform.worldTransform}},{key:"localTransform",get:function(){return this.transform.localTransform}},{key:"position",get:function(){return this.transform.position},set:function(t){this.transform.position.copy(t)}},{key:"scale",get:function(){return this.transform.scale},set:function(t){this.transform.scale.copy(t)}},{key:"pivot",get:function(){return this.transform.pivot},set:function(t){this.transform.pivot.copy(t)}},{key:"skew",get:function(){return this.transform.skew},set:function(t){this.transform.skew.copy(t)}},{key:"rotation",get:function(){return this.transform.rotation},set:function(t){this.transform.rotation=t}},{key:"worldVisible",get:function(){var t=this;do{if(!t.visible)return!1;t=t.parent}while(t);return!0}},{key:"mask",get:function(){return this._mask},set:function(t){this._mask&&(this._mask.renderable=!0,this._mask.isMask=!1),this._mask=t,this._mask&&(this._mask.renderable=!1,this._mask.isMask=!0)}},{key:"filters",get:function(){return this._filters&&this._filters.slice()},set:function(t){this._filters=t&&t.slice()}}]),e}(h.default);r.default=b,b.prototype.displayObjectUpdateTransform=b.prototype.updateTransform},{"../const":46,"../math":70,"../settings":101,"./Bounds":47,"./Transform":50,"./TransformStatic":52,eventemitter3:3}],50:[function(t,e,r){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")} -function i(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}r.__esModule=!0;var s=function(){function t(t,e){for(var r=0;r0&&void 0!==arguments[0]&&arguments[0];i(this,e);var n=o(this,t.call(this));return n.fillAlpha=1,n.lineWidth=0,n.nativeLines=r,n.lineColor=0,n.lineAlignment=.5,n.graphicsData=[],n.tint=16777215,n._prevTint=16777215,n.blendMode=_.BLEND_MODES.NORMAL,n.currentPath=null,n._webGL={},n.isMask=!1,n.boundsPadding=0,n._localBounds=new x.default,n.dirty=0,n.fastRectDirty=-1,n.clearDirty=0,n.boundsDirty=-1,n.cachedSpriteDirty=!1,n._spriteRect=null,n._fastRect=!1,n._prevRectTint=null,n._prevRectFillColor=null,n}return s(e,t),e.prototype.clone=function(){var t=new e;t.renderable=this.renderable,t.fillAlpha=this.fillAlpha,t.lineWidth=this.lineWidth,t.lineColor=this.lineColor,t.lineAlignment=this.lineAlignment,t.tint=this.tint,t.blendMode=this.blendMode,t.isMask=this.isMask,t.boundsPadding=this.boundsPadding,t.dirty=0,t.cachedSpriteDirty=this.cachedSpriteDirty;for(var r=0;re.CURVES.maxSegments&&(r=e.CURVES.maxSegments),r},e.prototype.lineStyle=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:.5;if(this.lineWidth=t,this.lineColor=e,this.lineAlpha=r,this.lineAlignment=n,this.currentPath)if(this.currentPath.shape.points.length){var i=new y.Polygon(this.currentPath.shape.points.slice(-2));i.closed=!1,this.drawShape(i)}else this.currentPath.lineWidth=this.lineWidth,this.currentPath.lineColor=this.lineColor,this.currentPath.lineAlpha=this.lineAlpha,this.currentPath.lineAlignment=this.lineAlignment;return this},e.prototype.moveTo=function(t,e){var r=new y.Polygon([t,e]);return r.closed=!1,this.drawShape(r),this},e.prototype.lineTo=function(t,e){var r=this.currentPath.shape.points,n=r[r.length-2],i=r[r.length-1];return n===t&&i===e||(r.push(t,e),this.dirty++),this},e.prototype.quadraticCurveTo=function(t,r,n,i){this.currentPath?0===this.currentPath.shape.points.length&&(this.currentPath.shape.points=[0,0]):this.moveTo(0,0);var o=this.currentPath.shape.points,s=0,a=0;0===o.length&&this.moveTo(0,0);for(var u=o[o.length-2],h=o[o.length-1],l=e.CURVES.adaptive?this._segmentsCount(this._quadraticCurveLength(u,h,t,r,n,i)):20,c=1;c<=l;++c){var d=c/l;s=u+(t-u)*d,a=h+(r-h)*d,o.push(s+(t+(n-t)*d-s)*d,a+(r+(i-r)*d-a)*d)}return this.dirty++,this},e.prototype.bezierCurveTo=function(t,r,n,i,o,s){this.currentPath?0===this.currentPath.shape.points.length&&(this.currentPath.shape.points=[0,0]):this.moveTo(0,0);var a=this.currentPath.shape.points,u=a[a.length-2],h=a[a.length-1];a.length-=2;var l=e.CURVES.adaptive?this._segmentsCount(this._bezierCurveLength(u,h,t,r,n,i,o,s)):20;return(0,w.default)(u,h,t,r,n,i,o,s,l,a),this.dirty++,this},e.prototype.arcTo=function(t,e,r,n,i){this.currentPath?0===this.currentPath.shape.points.length&&this.currentPath.shape.points.push(t,e):this.moveTo(t,e);var o=this.currentPath.shape.points,s=o[o.length-2],a=o[o.length-1],u=a-e,h=s-t,l=n-e,c=r-t,d=Math.abs(u*c-h*l);if(d<1e-8||0===i)o[o.length-2]===t&&o[o.length-1]===e||o.push(t,e);else{var f=u*u+h*h,p=l*l+c*c,v=u*l+h*c,g=i*Math.sqrt(f)/d,y=i*Math.sqrt(p)/d,m=g*v/f,_=y*v/p,b=g*c+y*h,x=g*l+y*u,T=h*(y+m),w=u*(y+m),E=c*(g+_),S=l*(g+_),O=Math.atan2(w-x,T-b),M=Math.atan2(S-x,E-b);this.arc(b+t,x+e,i,O,M,h*l>c*u)}return this.dirty++,this},e.prototype.arc=function(t,r,n,i,o){var s=arguments.length>5&&void 0!==arguments[5]&&arguments[5];if(i===o)return this;!s&&o<=i?o+=_.PI_2:s&&i<=o&&(i+=_.PI_2);var a=o-i,u=e.CURVES.adaptive?this._segmentsCount(Math.abs(a)*n):40*Math.ceil(Math.abs(a)/_.PI_2);if(0===a)return this;var h=t+Math.cos(i)*n,l=r+Math.sin(i)*n,c=this.currentPath?this.currentPath.shape.points:null;if(c){var d=Math.abs(c[c.length-2]-h),f=Math.abs(c[c.length-1]-l);d<.001&&f<.001||c.push(h,l)}else this.moveTo(h,l),c=this.currentPath.shape.points;for(var p=a/(2*u),v=2*p,g=Math.cos(p),y=Math.sin(p),m=u-1,b=m%1/m,x=0;x<=m;++x){var T=x+b*x,w=p+i+v*T,E=Math.cos(w),S=-Math.sin(w);c.push((g*E+y*S)*n+t,(g*-S+y*E)*n+r)}return this.dirty++,this},e.prototype.beginFill=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return this.filling=!0,this.fillColor=t,this.fillAlpha=e,this.currentPath&&this.currentPath.shape.points.length<=2&&(this.currentPath.fill=this.filling,this.currentPath.fillColor=this.fillColor,this.currentPath.fillAlpha=this.fillAlpha),this},e.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},e.prototype.drawRect=function(t,e,r,n){return this.drawShape(new y.Rectangle(t,e,r,n)),this},e.prototype.drawRoundedRect=function(t,e,r,n,i){return this.drawShape(new y.RoundedRectangle(t,e,r,n,i)),this},e.prototype.drawCircle=function(t,e,r){return this.drawShape(new y.Circle(t,e,r)),this},e.prototype.drawEllipse=function(t,e,r,n){return this.drawShape(new y.Ellipse(t,e,r,n)),this},e.prototype.drawPolygon=function(t){var e=t,r=!0;if(e instanceof y.Polygon&&(r=e.closed,e=e.points),!Array.isArray(e)){e=new Array(arguments.length);for(var n=0;n5&&void 0!==arguments[5]?arguments[5]:0;i=i||n/2;for(var s=-1*Math.PI/2+o,a=2*r,u=_.PI_2/a,h=[],l=0;l0)&&(this.lineWidth=0,this.lineAlignment=.5,this.filling=!1,this.boundsDirty=-1,this.canvasTintDirty=-1,this.dirty++,this.clearDirty++,this.graphicsData.length=0),this.currentPath=null,this._spriteRect=null,this},e.prototype.isFastRect=function(){return 1===this.graphicsData.length&&this.graphicsData[0].shape.type===_.SHAPES.RECT&&!this.graphicsData[0].lineWidth},e.prototype._renderWebGL=function(t){this.dirty!==this.fastRectDirty&&(this.fastRectDirty=this.dirty,this._fastRect=this.isFastRect()),this._fastRect?this._renderSpriteRect(t):(t.setObjectRenderer(t.plugins.graphics),t.plugins.graphics.render(this))},e.prototype._renderSpriteRect=function(t){var e=this.graphicsData[0].shape;this._spriteRect||(this._spriteRect=new g.default(new d.default(d.default.WHITE)));var r=this._spriteRect,n=this.graphicsData[0].fillColor;if(16777215===this.tint)r.tint=n;else if(this.tint!==this._prevRectTint||n!==this._prevRectFillColor){var i=C,o=R;(0,m.hex2rgb)(n,i),(0,m.hex2rgb)(this.tint,o),i[0]*=o[0],i[1]*=o[1],i[2]*=o[2],r.tint=(0,m.rgb2hex)(i),this._prevRectTint=this.tint,this._prevRectFillColor=n}r.alpha=this.graphicsData[0].fillAlpha,r.worldAlpha=this.worldAlpha*r.alpha,r.blendMode=this.blendMode,r._texture._frame.width=e.width,r._texture._frame.height=e.height,r.transform.worldTransform=this.transform.worldTransform,r.anchor.set(-e.x/e.width,-e.y/e.height),r._onAnchorUpdate(),r._renderWebGL(t)},e.prototype._renderCanvas=function(t){!0!==this.isMask&&t.plugins.graphics.render(this)},e.prototype._calculateBounds=function(){this.boundsDirty!==this.dirty&&(this.boundsDirty=this.dirty,this.updateLocalBounds(),this.cachedSpriteDirty=!0);var t=this._localBounds;this._bounds.addFrame(this.transform,t.minX,t.minY,t.maxX,t.maxY)},e.prototype.containsPoint=function(t){this.worldTransform.applyInverse(t,P);for(var e=this.graphicsData,r=0;re?o+a:e,r=sn?s+u:n;else if(c===_.SHAPES.CIRC)o=i.x,s=i.y,a=i.radius+p,u=i.radius+p,t=o-ae?o+a:e,r=s-un?s+u:n;else if(c===_.SHAPES.ELIP)o=i.x,s=i.y,a=i.width+p,u=i.height+p,t=o-ae?o+a:e,r=s-un?s+u:n;else for(var v=i.points,g=0,y=0,m=0,b=0,x=0,T=0,w=0,E=0,S=0;S+2e?w+x:e,r=E-Tn?E+T:n)}else t=0,e=0,r=0,n=0;var O=this.boundsPadding;this._localBounds.minX=t-O,this._localBounds.maxX=e+O,this._localBounds.minY=r-O,this._localBounds.maxY=n+O},e.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null;var e=new p.default(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,this.nativeLines,t,this.lineAlignment);return this.graphicsData.push(e),e.type===_.SHAPES.POLY&&(e.shape.closed=e.shape.closed,this.currentPath=e),this.dirty++,e},e.prototype.generateCanvasTexture=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,r=this.getLocalBounds(),n=l.default.create(r.width,r.height,t,e);O||(O=new S.default),this.transform.updateLocalTransform(),this.transform.localTransform.copy(M),M.invert(),M.tx-=r.x,M.ty-=r.y,O.render(this,n,!0,M);var i=d.default.fromCanvas(n.baseTexture._canvasRenderTarget.canvas,t,"graphics");return i.baseTexture.resolution=e,i.baseTexture.update(),i},e.prototype.closePath=function(){var t=this.currentPath;return t&&t.shape&&t.shape.close(),this},e.prototype.addHole=function(){var t=this.graphicsData.pop();return this.currentPath=this.graphicsData[this.graphicsData.length-1],this.currentPath.addHole(t.shape),this.currentPath=null,this},e.prototype.destroy=function(e){t.prototype.destroy.call(this,e);for(var r=0;r0){p=0;for(var y=0;y=2;x-=2)r.lineTo(d[x],d[x+1]);f[m].closed&&r.closePath()}}u.fill&&(r.globalAlpha=u.fillAlpha*n,r.fillStyle="#"+("00000"+(0|l).toString(16)).substr(-6),r.fill()),u.lineWidth&&(r.globalAlpha=u.lineAlpha*n,r.strokeStyle="#"+("00000"+(0|c).toString(16)).substr(-6),r.stroke())}else if(u.type===s.SHAPES.RECT)(u.fillColor||0===u.fillColor)&&(r.globalAlpha=u.fillAlpha*n,r.fillStyle="#"+("00000"+(0|l).toString(16)).substr(-6),r.fillRect(h.x,h.y,h.width,h.height)),u.lineWidth&&(r.globalAlpha=u.lineAlpha*n,r.strokeStyle="#"+("00000"+(0|c).toString(16)).substr(-6),r.strokeRect(h.x,h.y,h.width,h.height));else if(u.type===s.SHAPES.CIRC)r.beginPath(),r.arc(h.x,h.y,h.radius,0,2*Math.PI),r.closePath(),u.fill&&(r.globalAlpha=u.fillAlpha*n,r.fillStyle="#"+("00000"+(0|l).toString(16)).substr(-6),r.fill()),u.lineWidth&&(r.globalAlpha=u.lineAlpha*n,r.strokeStyle="#"+("00000"+(0|c).toString(16)).substr(-6),r.stroke());else if(u.type===s.SHAPES.ELIP){var T=2*h.width,w=2*h.height,E=h.x-T/2,S=h.y-w/2;r.beginPath();var O=T/2*.5522848,M=w/2*.5522848,P=E+T,C=S+w,R=E+T/2,A=S+w/2;r.moveTo(E,A),r.bezierCurveTo(E,A-M,R-O,S,R,S),r.bezierCurveTo(R+O,S,P,A-M,P,A),r.bezierCurveTo(P,A+M,R+O,C,R,C),r.bezierCurveTo(R-O,C,E,A+M,E,A),r.closePath(),u.fill&&(r.globalAlpha=u.fillAlpha*n,r.fillStyle="#"+("00000"+(0|l).toString(16)).substr(-6),r.fill()),u.lineWidth&&(r.globalAlpha=u.lineAlpha*n,r.strokeStyle="#"+("00000"+(0|c).toString(16)).substr(-6),r.stroke())}else if(u.type===s.SHAPES.RREC){var I=h.x,D=h.y,L=h.width,N=h.height,B=h.radius,k=Math.min(L,N)/2|0;B=B>k?k:B,r.beginPath(),r.moveTo(I,D+B),r.lineTo(I,D+N-B),r.quadraticCurveTo(I,D+N,I+B,D+N),r.lineTo(I+L-B,D+N),r.quadraticCurveTo(I+L,D+N,I+L,D+N-B),r.lineTo(I+L,D+B),r.quadraticCurveTo(I+L,D,I+L-B,D),r.lineTo(I+B,D),r.quadraticCurveTo(I,D,I,D+B),r.closePath(),(u.fillColor||0===u.fillColor)&&(r.globalAlpha=u.fillAlpha*n,r.fillStyle="#"+("00000"+(0|l).toString(16)).substr(-6),r.fill()),u.lineWidth&&(r.globalAlpha=u.lineAlpha*n,r.strokeStyle="#"+("00000"+(0|c).toString(16)).substr(-6),r.stroke())}}},t.prototype.updateGraphicsTint=function(t){t._prevTint=t.tint,t.canvasTintDirty=t.dirty;for(var e=(t.tint>>16&255)/255,r=(t.tint>>8&255)/255,n=(255&t.tint)/255,i=0;i>16&255)/255*e*255<<16)+((s>>8&255)/255*r*255<<8)+(255&s)/255*n*255,o._lineTint=((a>>16&255)/255*e*255<<16)+((a>>8&255)/255*r*255<<8)+(255&a)/255*n*255}},t.prototype.renderPolygon=function(t,e,r){r.moveTo(t[0],t[1]);for(var n=1;n9&&void 0!==arguments[9]?arguments[9]:[],l=0,c=0,d=0,f=0,p=0;h.push(t,e);for(var v=1,g=0;v<=u;++v)g=v/u,l=1-g,c=l*l,d=c*l,f=g*g,p=f*g,h.push(d*t+3*c*g*r+3*l*f*i+p*s,d*e+3*c*g*n+3*l*f*o+p*a);return h}r.__esModule=!0,r.default=n},{}],57:[function(t,e,r){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}r.__esModule=!0;var a=t("../../utils"),u=t("../../const"),h=t("../../renderers/webgl/utils/ObjectRenderer"),l=n(h),c=t("../../renderers/webgl/WebGLRenderer"),d=n(c),f=t("./WebGLGraphicsData"),p=n(f),v=t("./shaders/PrimitiveShader"),g=n(v),y=t("./utils/buildPoly"),m=n(y),_=t("./utils/buildRectangle"),b=n(_),x=t("./utils/buildRoundedRectangle"),T=n(x),w=t("./utils/buildCircle"),E=n(w),S=function(t){function e(r){i(this,e);var n=o(this,t.call(this,r));return n.graphicsDataPool=[],n.primitiveShader=null,n.gl=r.gl,n.CONTEXT_UID=0,n}return s(e,t),e.prototype.onContextChange=function(){this.gl=this.renderer.gl,this.CONTEXT_UID=this.renderer.CONTEXT_UID,this.primitiveShader=new g.default(this.gl)},e.prototype.destroy=function(){l.default.prototype.destroy.call(this);for(var t=0;t32e4)&&(n=this.graphicsDataPool.pop()||new p.default(this.renderer.gl,this.primitiveShader,this.renderer.state.attribsState),n.nativeLines=r,n.reset(e),t.data.push(n)),n.dirty=!0,n},e}(l.default);r.default=S,d.default.registerPlugin("graphics",S)},{"../../const":46,"../../renderers/webgl/WebGLRenderer":84,"../../renderers/webgl/utils/ObjectRenderer":94,"../../utils":125,"./WebGLGraphicsData":58,"./shaders/PrimitiveShader":59,"./utils/buildCircle":60,"./utils/buildPoly":62,"./utils/buildRectangle":63,"./utils/buildRoundedRectangle":64}],58:[function(t,e,r){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}r.__esModule=!0;var i=t("pixi-gl-core"),o=function(t){return t&&t.__esModule?t:{default:t}}(i),s=function(){function t(e,r,i){n(this,t),this.gl=e,this.color=[0,0,0],this.points=[],this.indices=[],this.buffer=o.default.GLBuffer.createVertexBuffer(e),this.indexBuffer=o.default.GLBuffer.createIndexBuffer(e),this.dirty=!0,this.nativeLines=!1,this.glPoints=null,this.glIndices=null,this.shader=r,this.vao=new o.default.VertexArrayObject(e,i).addIndex(this.indexBuffer).addAttribute(this.buffer,r.attributes.aVertexPosition,e.FLOAT,!1,24,0).addAttribute(this.buffer,r.attributes.aColor,e.FLOAT,!1,24,8)}return t.prototype.reset=function(){this.points.length=0,this.indices.length=0},t.prototype.upload=function(){this.glPoints=new Float32Array(this.points),this.buffer.upload(this.glPoints),this.glIndices=new Uint16Array(this.indices),this.indexBuffer.upload(this.glIndices),this.dirty=!1},t.prototype.destroy=function(){this.color=null,this.points=null,this.indices=null,this.vao.destroy(),this.buffer.destroy(),this.indexBuffer.destroy(),this.gl=null,this.buffer=null,this.indexBuffer=null,this.glPoints=null,this.glIndices=null},t}();r.default=s},{"pixi-gl-core":15}],59:[function(t,e,r){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}r.__esModule=!0;var s=t("../../../Shader"),a=function(t){return t&&t.__esModule?t:{default:t}}(s),u=function(t){function e(r){return n(this,e),i(this,t.call(this,r,["attribute vec2 aVertexPosition;","attribute vec4 aColor;","uniform mat3 translationMatrix;","uniform mat3 projectionMatrix;","uniform float alpha;","uniform vec3 tint;","varying vec4 vColor;","void main(void){"," gl_Position = vec4((projectionMatrix * translationMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);"," vColor = aColor * vec4(tint * alpha, alpha);","}"].join("\n"),["varying vec4 vColor;","void main(void){"," gl_FragColor = vColor;","}"].join("\n")))}return o(e,t),e}(a.default);r.default=u},{"../../../Shader":44}],60:[function(t,e,r){"use strict";function n(t,e,r){var n=t.shape,i=n.x,u=n.y,h=void 0,l=void 0;if(t.type===s.SHAPES.CIRC?(h=n.radius,l=n.radius):(h=n.width,l=n.height),0!==h&&0!==l){var c=Math.floor(30*Math.sqrt(n.radius))||Math.floor(15*Math.sqrt(n.width+n.height)),d=2*Math.PI/c;if(t.fill){var f=(0,a.hex2rgb)(t.fillColor),p=t.fillAlpha,v=f[0]*p,g=f[1]*p,y=f[2]*p,m=e.points,_=e.indices,b=m.length/6;_.push(b);for(var x=0;x196*p*p?(R=O-P,A=M-C,I=Math.sqrt(R*R+A*A),R/=I,A/=I,R*=p,A*=p,h.push(T-R*L,w-A*L),h.push(y,m,_,g),h.push(T+R*N,w+A*N),h.push(y,m,_,g), -h.push(T-R*N*L,w-A*L),h.push(y,m,_,g),d++):(h.push(T+(H-T)*L,w+(Y-w)*L),h.push(y,m,_,g),h.push(T-(H-T)*N,w-(Y-w)*N),h.push(y,m,_,g))}}b=r[2*(c-2)],x=r[2*(c-2)+1],T=r[2*(c-1)],w=r[2*(c-1)+1],O=-(x-w),M=b-T,I=Math.sqrt(O*O+M*M),O/=I,M/=I,O*=p,M*=p,h.push(T-O*L,w-M*L),h.push(y,m,_,g),h.push(T+O*N,w+M*N),h.push(y,m,_,g),l.push(f);for(var V=0;V=6){for(var i=[],o=t.holes,u=0;u0&&(0,s.default)(t,e,r)}r.__esModule=!0,r.default=i;var o=t("./buildLine"),s=n(o),a=t("../../../utils"),u=t("earcut"),h=n(u)},{"../../../utils":125,"./buildLine":61,earcut:2}],63:[function(t,e,r){"use strict";function n(t,e,r){var n=t.shape,i=n.x,a=n.y,u=n.width,h=n.height;if(t.fill){var l=(0,s.hex2rgb)(t.fillColor),c=t.fillAlpha,d=l[0]*c,f=l[1]*c,p=l[2]*c,v=e.points,g=e.indices,y=v.length/6;v.push(i,a),v.push(d,f,p,c),v.push(i+u,a),v.push(d,f,p,c),v.push(i,a+h),v.push(d,f,p,c),v.push(i+u,a+h),v.push(d,f,p,c),g.push(y,y,y+1,y+2,y+3,y+3)}if(t.lineWidth){var m=t.points;t.points=[i,a,i+u,a,i+u,a+h,i,a+h,i,a],(0,o.default)(t,e,r),t.points=m}}r.__esModule=!0,r.default=n;var i=t("./buildLine"),o=function(t){return t&&t.__esModule?t:{default:t}}(i),s=t("../../../utils")},{"../../../utils":125,"./buildLine":61}],64:[function(t,e,r){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}function i(t,e,r){var n=t.shape,i=n.x,o=n.y,a=n.width,h=n.height,d=n.radius,f=[];if(f.push(i+d,o),s(i+a-d,o,i+a,o,i+a,o+d,f),s(i+a,o+h-d,i+a,o+h,i+a-d,o+h,f),s(i+d,o+h,i,o+h,i,o+h-d,f),s(i,o+d,i,o,i+d+1e-10,o,f),t.fill){for(var p=(0,c.hex2rgb)(t.fillColor),v=t.fillAlpha,g=p[0]*v,y=p[1]*v,m=p[2]*v,_=e.points,b=e.indices,x=_.length/6,T=(0,u.default)(f,null,2),w=0,E=T.length;w6&&void 0!==arguments[6]?arguments[6]:[],u=a,h=0,l=0,c=0,d=0,f=0,p=0,v=0,g=0;v<=20;++v)g=v/20,h=o(t,r,g),l=o(e,n,g),c=o(r,i,g),d=o(n,s,g),f=o(h,c,g),p=o(l,d,g),u.push(f,p);return u}r.__esModule=!0,r.default=i;var a=t("earcut"),u=n(a),h=t("./buildLine"),l=n(h),c=t("../../../utils")},{"../../../utils":125,"./buildLine":61,earcut:2}],65:[function(t,e,r){"use strict";function n(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e.default=t,e}function i(t){return t&&t.__esModule?t:{default:t}}r.__esModule=!0,r.autoDetectRenderer=r.Application=r.Filter=r.SpriteMaskFilter=r.Quad=r.RenderTarget=r.ObjectRenderer=r.WebGLManager=r.Shader=r.CanvasRenderTarget=r.TextureUvs=r.VideoBaseTexture=r.BaseRenderTexture=r.RenderTexture=r.BaseTexture=r.TextureMatrix=r.Texture=r.Spritesheet=r.CanvasGraphicsRenderer=r.GraphicsRenderer=r.GraphicsData=r.Graphics=r.TextMetrics=r.TextStyle=r.Text=r.SpriteRenderer=r.CanvasTinter=r.CanvasSpriteRenderer=r.Sprite=r.TransformBase=r.TransformStatic=r.Transform=r.Container=r.DisplayObject=r.Bounds=r.glCore=r.WebGLRenderer=r.CanvasRenderer=r.ticker=r.utils=r.settings=void 0;var o=t("./const");Object.keys(o).forEach(function(t){"default"!==t&&"__esModule"!==t&&Object.defineProperty(r,t,{enumerable:!0,get:function(){return o[t]}})});var s=t("./math");Object.keys(s).forEach(function(t){"default"!==t&&"__esModule"!==t&&Object.defineProperty(r,t,{enumerable:!0,get:function(){return s[t]}})});var a=t("pixi-gl-core");Object.defineProperty(r,"glCore",{enumerable:!0,get:function(){return i(a).default}});var u=t("./display/Bounds");Object.defineProperty(r,"Bounds",{enumerable:!0,get:function(){return i(u).default}});var h=t("./display/DisplayObject");Object.defineProperty(r,"DisplayObject",{enumerable:!0,get:function(){return i(h).default}});var l=t("./display/Container");Object.defineProperty(r,"Container",{enumerable:!0,get:function(){return i(l).default}});var c=t("./display/Transform");Object.defineProperty(r,"Transform",{enumerable:!0,get:function(){return i(c).default}});var d=t("./display/TransformStatic");Object.defineProperty(r,"TransformStatic",{enumerable:!0,get:function(){return i(d).default}});var f=t("./display/TransformBase");Object.defineProperty(r,"TransformBase",{enumerable:!0,get:function(){return i(f).default}});var p=t("./sprites/Sprite");Object.defineProperty(r,"Sprite",{enumerable:!0,get:function(){return i(p).default}});var v=t("./sprites/canvas/CanvasSpriteRenderer");Object.defineProperty(r,"CanvasSpriteRenderer",{enumerable:!0,get:function(){return i(v).default}});var g=t("./sprites/canvas/CanvasTinter");Object.defineProperty(r,"CanvasTinter",{enumerable:!0,get:function(){return i(g).default}});var y=t("./sprites/webgl/SpriteRenderer");Object.defineProperty(r,"SpriteRenderer",{enumerable:!0,get:function(){return i(y).default}});var m=t("./text/Text");Object.defineProperty(r,"Text",{enumerable:!0,get:function(){return i(m).default}});var _=t("./text/TextStyle");Object.defineProperty(r,"TextStyle",{enumerable:!0,get:function(){return i(_).default}});var b=t("./text/TextMetrics");Object.defineProperty(r,"TextMetrics",{enumerable:!0,get:function(){return i(b).default}});var x=t("./graphics/Graphics");Object.defineProperty(r,"Graphics",{enumerable:!0,get:function(){return i(x).default}});var T=t("./graphics/GraphicsData");Object.defineProperty(r,"GraphicsData",{enumerable:!0,get:function(){return i(T).default}});var w=t("./graphics/webgl/GraphicsRenderer");Object.defineProperty(r,"GraphicsRenderer",{enumerable:!0,get:function(){return i(w).default}});var E=t("./graphics/canvas/CanvasGraphicsRenderer");Object.defineProperty(r,"CanvasGraphicsRenderer",{enumerable:!0,get:function(){return i(E).default}});var S=t("./textures/Spritesheet");Object.defineProperty(r,"Spritesheet",{enumerable:!0,get:function(){return i(S).default}});var O=t("./textures/Texture");Object.defineProperty(r,"Texture",{enumerable:!0,get:function(){return i(O).default}});var M=t("./textures/TextureMatrix");Object.defineProperty(r,"TextureMatrix",{enumerable:!0,get:function(){return i(M).default}});var P=t("./textures/BaseTexture");Object.defineProperty(r,"BaseTexture",{enumerable:!0,get:function(){return i(P).default}});var C=t("./textures/RenderTexture");Object.defineProperty(r,"RenderTexture",{enumerable:!0,get:function(){return i(C).default}});var R=t("./textures/BaseRenderTexture");Object.defineProperty(r,"BaseRenderTexture",{enumerable:!0,get:function(){return i(R).default}});var A=t("./textures/VideoBaseTexture");Object.defineProperty(r,"VideoBaseTexture",{enumerable:!0,get:function(){return i(A).default}});var I=t("./textures/TextureUvs");Object.defineProperty(r,"TextureUvs",{enumerable:!0,get:function(){return i(I).default}});var D=t("./renderers/canvas/utils/CanvasRenderTarget");Object.defineProperty(r,"CanvasRenderTarget",{enumerable:!0,get:function(){return i(D).default}});var L=t("./Shader");Object.defineProperty(r,"Shader",{enumerable:!0,get:function(){return i(L).default}});var N=t("./renderers/webgl/managers/WebGLManager");Object.defineProperty(r,"WebGLManager",{enumerable:!0,get:function(){return i(N).default}});var B=t("./renderers/webgl/utils/ObjectRenderer");Object.defineProperty(r,"ObjectRenderer",{enumerable:!0,get:function(){return i(B).default}});var k=t("./renderers/webgl/utils/RenderTarget");Object.defineProperty(r,"RenderTarget",{enumerable:!0,get:function(){return i(k).default}});var F=t("./renderers/webgl/utils/Quad");Object.defineProperty(r,"Quad",{enumerable:!0,get:function(){return i(F).default}});var j=t("./renderers/webgl/filters/spriteMask/SpriteMaskFilter");Object.defineProperty(r,"SpriteMaskFilter",{enumerable:!0,get:function(){return i(j).default}});var U=t("./renderers/webgl/filters/Filter");Object.defineProperty(r,"Filter",{enumerable:!0,get:function(){return i(U).default}});var X=t("./Application");Object.defineProperty(r,"Application",{enumerable:!0,get:function(){return i(X).default}});var G=t("./autoDetectRenderer");Object.defineProperty(r,"autoDetectRenderer",{enumerable:!0,get:function(){return G.autoDetectRenderer}});var W=t("./utils"),H=n(W),Y=t("./ticker"),V=n(Y),z=t("./settings"),q=i(z),K=t("./renderers/canvas/CanvasRenderer"),Z=i(K),J=t("./renderers/webgl/WebGLRenderer"),Q=i(J);r.settings=q.default,r.utils=H,r.ticker=V,r.CanvasRenderer=Z.default,r.WebGLRenderer=Q.default},{"./Application":43,"./Shader":44,"./autoDetectRenderer":45,"./const":46,"./display/Bounds":47,"./display/Container":48,"./display/DisplayObject":49,"./display/Transform":50,"./display/TransformBase":51,"./display/TransformStatic":52,"./graphics/Graphics":53,"./graphics/GraphicsData":54,"./graphics/canvas/CanvasGraphicsRenderer":55,"./graphics/webgl/GraphicsRenderer":57,"./math":70,"./renderers/canvas/CanvasRenderer":77,"./renderers/canvas/utils/CanvasRenderTarget":79,"./renderers/webgl/WebGLRenderer":84,"./renderers/webgl/filters/Filter":86,"./renderers/webgl/filters/spriteMask/SpriteMaskFilter":89,"./renderers/webgl/managers/WebGLManager":93,"./renderers/webgl/utils/ObjectRenderer":94,"./renderers/webgl/utils/Quad":95,"./renderers/webgl/utils/RenderTarget":96,"./settings":101,"./sprites/Sprite":102,"./sprites/canvas/CanvasSpriteRenderer":103,"./sprites/canvas/CanvasTinter":104,"./sprites/webgl/SpriteRenderer":106,"./text/Text":108,"./text/TextMetrics":109,"./text/TextStyle":110,"./textures/BaseRenderTexture":111,"./textures/BaseTexture":112,"./textures/RenderTexture":113,"./textures/Spritesheet":114,"./textures/Texture":115,"./textures/TextureMatrix":116,"./textures/TextureUvs":117,"./textures/VideoBaseTexture":118,"./ticker":121,"./utils":125,"pixi-gl-core":15}],66:[function(t,e,r){"use strict";function n(t){return t<0?-1:t>0?1:0}r.__esModule=!0;var i=t("./Matrix"),o=function(t){return t&&t.__esModule?t:{default:t}}(i),s=[1,1,0,-1,-1,-1,0,1,1,1,0,-1,-1,-1,0,1],a=[0,1,1,1,0,-1,-1,-1,0,1,1,1,0,-1,-1,-1],u=[0,-1,-1,-1,0,1,1,1,0,1,1,1,0,-1,-1,-1],h=[1,1,0,-1,-1,-1,0,1,-1,-1,0,1,1,1,0,-1],l=[],c=[];!function(){for(var t=0;t<16;t++){var e=[];c.push(e);for(var r=0;r<16;r++)for(var i=n(s[t]*s[r]+u[t]*a[r]),d=n(a[t]*s[r]+h[t]*a[r]),f=n(s[t]*u[r]+u[t]*h[r]),p=n(a[t]*u[r]+h[t]*h[r]),v=0;v<16;v++)if(s[v]===i&&a[v]===d&&u[v]===f&&h[v]===p){e.push(v);break}}for(var g=0;g<16;g++){var y=new o.default;y.set(s[g],a[g],u[g],h[g],0,0),l.push(y)}}();var d={E:0,SE:1,S:2,SW:3,W:4,NW:5,N:6,NE:7,MIRROR_VERTICAL:8,MIRROR_HORIZONTAL:12,uX:function(t){return s[t]},uY:function(t){return a[t]},vX:function(t){return u[t]},vY:function(t){return h[t]},inv:function(t){return 8&t?15&t:7&-t},add:function(t,e){return c[t][e]},sub:function(t,e){return c[t][d.inv(e)]},rotate180:function(t){return 4^t},isVertical:function(t){return 2==(3&t)},byDirection:function(t,e){return 2*Math.abs(t)<=Math.abs(e)?e>=0?d.S:d.N:2*Math.abs(e)<=Math.abs(t)?t>0?d.E:d.W:e>0?t>0?d.SE:d.SW:t>0?d.NE:d.NW},matrixAppendRotationInv:function(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,i=l[d.inv(e)];i.tx=r,i.ty=n,t.append(i)}};r.default=d},{"./Matrix":67}],67:[function(t,e,r){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}r.__esModule=!0;var i=function(){function t(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:1,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;n(this,t),this.a=e,this.b=r,this.c=i,this.d=o,this.tx=s,this.ty=a,this.array=null}return t.prototype.fromArray=function(t){this.a=t[0],this.b=t[1],this.c=t[3],this.d=t[4],this.tx=t[2],this.ty=t[5]},t.prototype.set=function(t,e,r,n,i,o){return this.a=t,this.b=e,this.c=r,this.d=n,this.tx=i,this.ty=o,this},t.prototype.toArray=function(t,e){this.array||(this.array=new Float32Array(9));var r=e||this.array;return t?(r[0]=this.a,r[1]=this.b,r[2]=0,r[3]=this.c,r[4]=this.d,r[5]=0,r[6]=this.tx,r[7]=this.ty,r[8]=1):(r[0]=this.a,r[1]=this.c,r[2]=this.tx,r[3]=this.b,r[4]=this.d,r[5]=this.ty,r[6]=0,r[7]=0,r[8]=1),r},t.prototype.apply=function(t,e){e=e||new s.default;var r=t.x,n=t.y;return e.x=this.a*r+this.c*n+this.tx,e.y=this.b*r+this.d*n+this.ty,e},t.prototype.applyInverse=function(t,e){e=e||new s.default;var r=1/(this.a*this.d+this.c*-this.b),n=t.x,i=t.y;return e.x=this.d*r*n+-this.c*r*i+(this.ty*this.c-this.tx*this.d)*r,e.y=this.a*r*i+-this.b*r*n+(-this.ty*this.a+this.tx*this.b)*r,e},t.prototype.translate=function(t,e){return this.tx+=t,this.ty+=e,this},t.prototype.scale=function(t,e){return this.a*=t,this.d*=e,this.c*=t,this.b*=e,this.tx*=t,this.ty*=e,this},t.prototype.rotate=function(t){var e=Math.cos(t),r=Math.sin(t),n=this.a,i=this.c,o=this.tx;return this.a=n*e-this.b*r,this.b=n*r+this.b*e,this.c=i*e-this.d*r,this.d=i*r+this.d*e,this.tx=o*e-this.ty*r,this.ty=o*r+this.ty*e,this},t.prototype.append=function(t){var e=this.a,r=this.b,n=this.c,i=this.d;return this.a=t.a*e+t.b*n,this.b=t.a*r+t.b*i,this.c=t.c*e+t.d*n,this.d=t.c*r+t.d*i,this.tx=t.tx*e+t.ty*n+this.tx,this.ty=t.tx*r+t.ty*i+this.ty,this},t.prototype.setTransform=function(t,e,r,n,i,o,s,a,u){return this.a=Math.cos(s+u)*i,this.b=Math.sin(s+u)*i,this.c=-Math.sin(s-a)*o,this.d=Math.cos(s-a)*o,this.tx=t-(r*this.a+n*this.c),this.ty=e-(r*this.b+n*this.d),this},t.prototype.prepend=function(t){var e=this.tx;if(1!==t.a||0!==t.b||0!==t.c||1!==t.d){var r=this.a,n=this.c;this.a=r*t.a+this.b*t.c,this.b=r*t.b+this.b*t.d,this.c=n*t.a+this.d*t.c,this.d=n*t.b+this.d*t.d}return this.tx=e*t.a+this.ty*t.c+t.tx,this.ty=e*t.b+this.ty*t.d+t.ty,this},t.prototype.decompose=function(t){var e=this.a,r=this.b,n=this.c,i=this.d,o=-Math.atan2(-n,i),s=Math.atan2(r,e),u=Math.abs(o+s);return u<1e-5||Math.abs(a.PI_2-u)<1e-5?(t.rotation=s,e<0&&i>=0&&(t.rotation+=t.rotation<=0?Math.PI:-Math.PI),t.skew.x=t.skew.y=0):(t.rotation=0,t.skew.x=o,t.skew.y=s),t.scale.x=Math.sqrt(e*e+r*r),t.scale.y=Math.sqrt(n*n+i*i),t.position.x=this.tx,t.position.y=this.ty,t},t.prototype.invert=function(){var t=this.a,e=this.b,r=this.c,n=this.d,i=this.tx,o=t*n-e*r;return this.a=n/o,this.b=-e/o,this.c=-r/o,this.d=t/o,this.tx=(r*this.ty-n*i)/o,this.ty=-(t*this.ty-e*i)/o,this},t.prototype.identity=function(){return this.a=1,this.b=0,this.c=0,this.d=1,this.tx=0,this.ty=0,this},t.prototype.clone=function(){var e=new t;return e.a=this.a,e.b=this.b,e.c=this.c,e.d=this.d,e.tx=this.tx,e.ty=this.ty,e},t.prototype.copy=function(t){return t.a=this.a,t.b=this.b,t.c=this.c,t.d=this.d,t.tx=this.tx,t.ty=this.ty,t},i(t,null,[{key:"IDENTITY",get:function(){return new t}},{key:"TEMP_MATRIX",get:function(){return new t}}]),t}();r.default=u},{"../const":46,"./Point":69}],68:[function(t,e,r){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}r.__esModule=!0;var i=function(){function t(t,e){for(var r=0;r2&&void 0!==arguments[2]?arguments[2]:0,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;n(this,t),this._x=i,this._y=o,this.cb=e,this.scope=r}return t.prototype.clone=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return new t(e||this.cb,r||this.scope,this._x,this._y)},t.prototype.set=function(t,e){var r=t||0,n=e||(0!==e?r:0);this._x===r&&this._y===n||(this._x=r,this._y=n,this.cb.call(this.scope))},t.prototype.copy=function(t){this._x===t.x&&this._y===t.y||(this._x=t.x,this._y=t.y,this.cb.call(this.scope))},t.prototype.equals=function(t){return t.x===this._x&&t.y===this._y},i(t,[{key:"x",get:function(){return this._x},set:function(t){this._x!==t&&(this._x=t,this.cb.call(this.scope))}},{key:"y",get:function(){return this._y},set:function(t){this._y!==t&&(this._y=t,this.cb.call(this.scope))}}]),t}();r.default=o},{}],69:[function(t,e,r){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}r.__esModule=!0;var i=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;n(this,t),this.x=e,this.y=r}return t.prototype.clone=function(){return new t(this.x,this.y)},t.prototype.copy=function(t){this.set(t.x,t.y)},t.prototype.equals=function(t){return t.x===this.x&&t.y===this.y},t.prototype.set=function(t,e){this.x=t||0,this.y=e||(0!==e?this.x:0)},t}();r.default=i},{}],70:[function(t,e,r){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}r.__esModule=!0;var i=t("./Point");Object.defineProperty(r,"Point",{enumerable:!0,get:function(){return n(i).default}});var o=t("./ObservablePoint");Object.defineProperty(r,"ObservablePoint",{enumerable:!0,get:function(){return n(o).default}});var s=t("./Matrix");Object.defineProperty(r,"Matrix",{enumerable:!0,get:function(){return n(s).default}});var a=t("./GroupD8");Object.defineProperty(r,"GroupD8",{enumerable:!0,get:function(){return n(a).default}});var u=t("./shapes/Circle");Object.defineProperty(r,"Circle",{enumerable:!0,get:function(){return n(u).default}});var h=t("./shapes/Ellipse");Object.defineProperty(r,"Ellipse",{enumerable:!0,get:function(){return n(h).default}});var l=t("./shapes/Polygon");Object.defineProperty(r,"Polygon",{enumerable:!0,get:function(){return n(l).default}});var c=t("./shapes/Rectangle");Object.defineProperty(r,"Rectangle",{enumerable:!0,get:function(){return n(c).default}});var d=t("./shapes/RoundedRectangle");Object.defineProperty(r,"RoundedRectangle",{enumerable:!0,get:function(){return n(d).default}})},{"./GroupD8":66,"./Matrix":67,"./ObservablePoint":68,"./Point":69,"./shapes/Circle":71,"./shapes/Ellipse":72,"./shapes/Polygon":73,"./shapes/Rectangle":74,"./shapes/RoundedRectangle":75}],71:[function(t,e,r){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}r.__esModule=!0;var i=t("./Rectangle"),o=function(t){return t&&t.__esModule?t:{default:t}}(i),s=t("../../const"),a=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;n(this,t),this.x=e,this.y=r,this.radius=i,this.type=s.SHAPES.CIRC}return t.prototype.clone=function(){return new t(this.x,this.y,this.radius)},t.prototype.contains=function(t,e){if(this.radius<=0)return!1;var r=this.radius*this.radius,n=this.x-t,i=this.y-e;return n*=n,i*=i,n+i<=r},t.prototype.getBounds=function(){return new o.default(this.x-this.radius,this.y-this.radius,2*this.radius,2*this.radius)},t}();r.default=a},{"../../const":46,"./Rectangle":74}],72:[function(t,e,r){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}r.__esModule=!0;var i=t("./Rectangle"),o=function(t){return t&&t.__esModule?t:{default:t}}(i),s=t("../../const"),a=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;n(this,t),this.x=e,this.y=r,this.width=i,this.height=o,this.type=s.SHAPES.ELIP}return t.prototype.clone=function(){return new t(this.x,this.y,this.width,this.height)},t.prototype.contains=function(t,e){if(this.width<=0||this.height<=0)return!1;var r=(t-this.x)/this.width,n=(e-this.y)/this.height;return r*=r,n*=n,r+n<=1},t.prototype.getBounds=function(){return new o.default(this.x-this.width,this.y-this.height,this.width,this.height)},t}();r.default=a},{"../../const":46,"./Rectangle":74}],73:[function(t,e,r){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}r.__esModule=!0;var i=t("../Point"),o=function(t){return t&&t.__esModule?t:{default:t}}(i),s=t("../../const"),a=function(){function t(){for(var e=arguments.length,r=Array(e),i=0;ie!=h>e&&t<(e-a)/(h-a)*(u-s)+s&&(r=!r)}return r},t}();r.default=a},{"../../const":46,"../Point":69}],74:[function(t,e,r){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}r.__esModule=!0;var i=function(){function t(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:0,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;n(this,t),this.x=Number(e),this.y=Number(r),this.width=Number(i),this.height=Number(s),this.type=o.SHAPES.RECT}return t.prototype.clone=function(){return new t(this.x,this.y,this.width,this.height)},t.prototype.copy=function(t){return this.x=t.x,this.y=t.y,this.width=t.width,this.height=t.height,this},t.prototype.contains=function(t,e){return!(this.width<=0||this.height<=0)&&(t>=this.x&&t=this.y&&e0&&void 0!==arguments[0]?arguments[0]:1,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.001,r=Math.ceil((this.x+this.width-e)*t)/t,n=Math.ceil((this.y+this.height-e)*t)/t;this.x=Math.floor((this.x+e)*t)/t,this.y=Math.floor((this.y+e)*t)/t,this.width=r-this.x,this.height=n-this.y},i(t,[{key:"left",get:function(){return this.x}},{key:"right",get:function(){return this.x+this.width}},{key:"top",get:function(){return this.y}},{key:"bottom",get:function(){return this.y+this.height}}],[{key:"EMPTY",get:function(){return new t(0,0,0,0)}}]),t}();r.default=s},{"../../const":46}],75:[function(t,e,r){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}r.__esModule=!0;var i=t("../../const"),o=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:20;n(this,t),this.x=e,this.y=r,this.width=o,this.height=s,this.radius=a,this.type=i.SHAPES.RREC}return t.prototype.clone=function(){return new t(this.x,this.y,this.width,this.height,this.radius)},t.prototype.contains=function(t,e){if(this.width<=0||this.height<=0)return!1;if(t>=this.x&&t<=this.x+this.width&&e>=this.y&&e<=this.y+this.height){if(e>=this.y+this.radius&&e<=this.y+this.height-this.radius||t>=this.x+this.radius&&t<=this.x+this.width-this.radius)return!0;var r=t-(this.x+this.radius),n=e-(this.y+this.radius),i=this.radius*this.radius;if(r*r+n*n<=i)return!0;if((r=t-(this.x+this.width-this.radius))*r+n*n<=i)return!0;if(n=e-(this.y+this.height-this.radius),r*r+n*n<=i)return!0;if((r=t-(this.x+this.radius))*r+n*n<=i)return!0}return!1},t}();r.default=o},{"../../const":46}],76:[function(t,e,r){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}r.__esModule=!0;var a=function(){function t(t,e){for(var r=0;r0){h=0;for(var d=0;d=2;g-=2)e.lineTo(a[g],a[g+1])}}}else if(o.type===i.SHAPES.RECT)e.rect(s.x,s.y,s.width,s.height),e.closePath();else if(o.type===i.SHAPES.CIRC)e.arc(s.x,s.y,s.radius,0,2*Math.PI),e.closePath();else if(o.type===i.SHAPES.ELIP){var y=2*s.width,m=2*s.height,_=s.x-y/2,b=s.y-m/2,x=y/2*.5522848,T=m/2*.5522848,w=_+y,E=b+m,S=_+y/2,O=b+m/2;e.moveTo(_,O),e.bezierCurveTo(_,O-T,S-x,b,S,b),e.bezierCurveTo(S+x,b,w,O-T,w,O),e.bezierCurveTo(w,O+T,S+x,E,S,E),e.bezierCurveTo(S-x,E,_,O+T,_,O),e.closePath()}else if(o.type===i.SHAPES.RREC){var M=s.x,P=s.y,C=s.width,R=s.height,A=s.radius,I=Math.min(C,R)/2|0;A=A>I?I:A,e.moveTo(M,P+A),e.lineTo(M,P+R-A),e.quadraticCurveTo(M,P+R,M+A,P+R),e.lineTo(M+C-A,P+R),e.quadraticCurveTo(M+C,P+R,M+C,P+R-A),e.lineTo(M+C,P+A),e.quadraticCurveTo(M+C,P,M+C-A,P),e.lineTo(M+A,P),e.quadraticCurveTo(M,P,M,P+A),e.closePath()}}}},t.prototype.popMask=function(t){t.context.restore(),t.invalidateBlendMode()},t.prototype.destroy=function(){},t}();r.default=o},{"../../../const":46}],79:[function(t,e,r){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}r.__esModule=!0;var i=function(){function t(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:[];return(0,s.default)()?(t[i.BLEND_MODES.NORMAL]="source-over",t[i.BLEND_MODES.ADD]="lighter",t[i.BLEND_MODES.MULTIPLY]="multiply",t[i.BLEND_MODES.SCREEN]="screen",t[i.BLEND_MODES.OVERLAY]="overlay",t[i.BLEND_MODES.DARKEN]="darken",t[i.BLEND_MODES.LIGHTEN]="lighten",t[i.BLEND_MODES.COLOR_DODGE]="color-dodge",t[i.BLEND_MODES.COLOR_BURN]="color-burn",t[i.BLEND_MODES.HARD_LIGHT]="hard-light",t[i.BLEND_MODES.SOFT_LIGHT]="soft-light",t[i.BLEND_MODES.DIFFERENCE]="difference",t[i.BLEND_MODES.EXCLUSION]="exclusion",t[i.BLEND_MODES.HUE]="hue",t[i.BLEND_MODES.SATURATION]="saturate",t[i.BLEND_MODES.COLOR]="color",t[i.BLEND_MODES.LUMINOSITY]="luminosity"):(t[i.BLEND_MODES.NORMAL]="source-over",t[i.BLEND_MODES.ADD]="lighter",t[i.BLEND_MODES.MULTIPLY]="source-over",t[i.BLEND_MODES.SCREEN]="source-over",t[i.BLEND_MODES.OVERLAY]="source-over",t[i.BLEND_MODES.DARKEN]="source-over",t[i.BLEND_MODES.LIGHTEN]="source-over",t[i.BLEND_MODES.COLOR_DODGE]="source-over",t[i.BLEND_MODES.COLOR_BURN]="source-over",t[i.BLEND_MODES.HARD_LIGHT]="source-over",t[i.BLEND_MODES.SOFT_LIGHT]="source-over",t[i.BLEND_MODES.DIFFERENCE]="source-over",t[i.BLEND_MODES.EXCLUSION]="source-over",t[i.BLEND_MODES.HUE]="source-over",t[i.BLEND_MODES.SATURATION]="source-over",t[i.BLEND_MODES.COLOR]="source-over",t[i.BLEND_MODES.LUMINOSITY]="source-over"),t[i.BLEND_MODES.NORMAL_NPM]=t[i.BLEND_MODES.NORMAL],t[i.BLEND_MODES.ADD_NPM]=t[i.BLEND_MODES.ADD],t[i.BLEND_MODES.SCREEN_NPM]=t[i.BLEND_MODES.SCREEN],t}r.__esModule=!0,r.default=n;var i=t("../../../const"),o=t("./canUseNewCanvasBlendModes"),s=function(t){return t&&t.__esModule?t:{default:t}}(o)},{"../../../const":46,"./canUseNewCanvasBlendModes":80}],82:[function(t,e,r){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}r.__esModule=!0;var i=t("../../const"),o=t("../../settings"),s=function(t){return t&&t.__esModule?t:{default:t}}(o),a=function(){function t(e){n(this,t),this.renderer=e,this.count=0,this.checkCount=0,this.maxIdle=s.default.GC_MAX_IDLE,this.checkCountMax=s.default.GC_MAX_CHECK_COUNT,this.mode=s.default.GC_MODE}return t.prototype.update=function(){this.count++,this.mode!==i.GC_MODES.MANUAL&&++this.checkCount>this.checkCountMax&&(this.checkCount=0,this.run())},t.prototype.run=function(){for(var t=this.renderer.textureManager,e=t._managedTextures,r=!1,n=0;nthis.maxIdle&&(t.destroyTexture(i,!0),e[n]=null,r=!0)}if(r){for(var o=0,s=0;s=0;r--)this.unload(t.children[r])},t}();r.default=a},{"../../const":46,"../../settings":101}],83:[function(t,e,r){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}r.__esModule=!0;var i=t("pixi-gl-core"),o=t("../../const"),s=t("./utils/RenderTarget"),a=function(t){return t&&t.__esModule?t:{default:t}}(s),u=t("../../utils"),h=function(){function t(e){n(this,t),this.renderer=e,this.gl=e.gl,this._managedTextures=[]}return t.prototype.bindTexture=function(){},t.prototype.getTexture=function(){},t.prototype.updateTexture=function(t,e){var r=this.gl,n=!!t._glRenderTargets;if(!t.hasLoaded)return null;var s=this.renderer.boundTextures;if(void 0===e){e=0;for(var u=0;u 0.5)"," {"," color = vec4(1.0, 0.0, 0.0, 1.0);"," }"," else"," {"," color = vec4(0.0, 1.0, 0.0, 1.0);"," }"," gl_FragColor = mix(sample, masky, 0.5);"," gl_FragColor *= sample.a;","}"].join("\n")}}]),t}();r.default=f},{"../../../const":46,"../../../settings":101,"../../../utils":125,"./extractUniformsFromSrc":87}],87:[function(t,e,r){"use strict";function n(t,e,r){var n=i(t),o=i(e);return Object.assign(n,o)}function i(t){for(var e=new RegExp("^(projectionMatrix|uSampler|filterArea|filterClamp)$"),r={},n=void 0,i=t.replace(/\s+/g," ").split(/\s*;\s*/),o=0;o-1){var u=s.split(" "),h=u[1],l=u[2],c=1;l.indexOf("[")>-1&&(n=l.split(/\[|]/),l=n[0],c*=Number(n[1])),l.match(e)||(r[l]={value:a(h,c),name:l,type:h})}}return r}r.__esModule=!0,r.default=n;var o=t("pixi-gl-core"),s=function(t){return t&&t.__esModule?t:{default:t}}(o),a=s.default.shader.defaultValue},{"pixi-gl-core":15}],88:[function(t,e,r){"use strict";function n(t,e,r){var n=t.identity();return n.translate(e.x/r.width,e.y/r.height),n.scale(r.width,r.height),n}function i(t,e,r){var n=t.identity();n.translate(e.x/r.width,e.y/r.height);var i=r.width/e.width,o=r.height/e.height;return n.scale(i,o),n}function o(t,e,r,n){var i=n._texture.orig,o=t.set(r.width,0,0,r.height,e.x,e.y),a=n.worldTransform.copy(s.Matrix.TEMP_MATRIX);return a.invert(),o.prepend(a),o.scale(1/i.width,1/i.height),o.translate(n.anchor.x,n.anchor.y),o}r.__esModule=!0,r.calculateScreenSpaceMatrix=n,r.calculateNormalizedScreenSpaceMatrix=i,r.calculateSpriteMatrix=o;var s=t("../../../math")},{"../../../math":70}],89:[function(t,e,r){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}r.__esModule=!0;var a=t("../Filter"),u=n(a),h=t("../../../../math"),l=(t("path"),t("../../../../textures/TextureMatrix")),c=n(l),d=function(t){function e(r){i(this,e);var n=new h.Matrix,s=o(this,t.call(this,"attribute vec2 aVertexPosition;\nattribute vec2 aTextureCoord;\n\nuniform mat3 projectionMatrix;\nuniform mat3 otherMatrix;\n\nvarying vec2 vMaskCoord;\nvarying vec2 vTextureCoord;\n\nvoid main(void)\n{\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\n\n vTextureCoord = aTextureCoord;\n vMaskCoord = ( otherMatrix * vec3( aTextureCoord, 1.0) ).xy;\n}\n","varying vec2 vMaskCoord;\nvarying vec2 vTextureCoord;\n\nuniform sampler2D uSampler;\nuniform sampler2D mask;\nuniform float alpha;\nuniform vec4 maskClamp;\n\nvoid main(void)\n{\n float clip = step(3.5,\n step(maskClamp.x, vMaskCoord.x) +\n step(maskClamp.y, vMaskCoord.y) +\n step(vMaskCoord.x, maskClamp.z) +\n step(vMaskCoord.y, maskClamp.w));\n\n vec4 original = texture2D(uSampler, vTextureCoord);\n vec4 masky = texture2D(mask, vMaskCoord);\n\n original *= (masky.r * masky.a * alpha * clip);\n\n gl_FragColor = original;\n}\n"));return r.renderable=!1,s.maskSprite=r,s.maskMatrix=n,s}return s(e,t),e.prototype.apply=function(t,e,r,n){var i=this.maskSprite,o=this.maskSprite.texture;o.valid&&(o.transform||(o.transform=new c.default(o,0)),o.transform.update(),this.uniforms.mask=o,this.uniforms.otherMatrix=t.calculateSpriteMatrix(this.maskMatrix,i).prepend(o.transform.mapCoord),this.uniforms.alpha=i.worldAlpha,this.uniforms.maskClamp=o.transform.uClampFrame,t.applyFilter(this,e,r,n))},e}(u.default);r.default=d},{"../../../../math":70,"../../../../textures/TextureMatrix":116,"../Filter":86,path:8}],90:[function(t,e,r){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}function i(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function s(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}r.__esModule=!0;var a=t("./WebGLManager"),u=n(a),h=t("../utils/RenderTarget"),l=n(h),c=t("../utils/Quad"),d=n(c),f=t("../../../math"),p=t("../../../Shader"),v=n(p),g=t("../filters/filterTransforms"),y=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e.default=t,e}(g),m=t("bit-twiddle"),_=n(m),b=function(){function t(){s(this,t),this.renderTarget=null,this.target=null,this.resolution=1,this.sourceFrame=new f.Rectangle,this.destinationFrame=new f.Rectangle,this.filters=[]}return t.prototype.clear=function(){this.filters=null,this.target=null,this.renderTarget=null},t}(),x=function(t){function e(r){s(this,e);var n=i(this,t.call(this,r));return n.gl=n.renderer.gl,n.quad=new d.default(n.gl,r.state.attribState),n.shaderCache={},n.pool={},n.filterData=null,n.managedFilters=[],n.renderer.on("prerender",n.onPrerender,n),n._screenWidth=r.view.width,n._screenHeight=r.view.height,n}return o(e,t),e.prototype.pushFilter=function(t,e){var r=this.renderer,n=this.filterData;if(!n){n=this.renderer._activeRenderTarget.filterStack;var i=new b;i.sourceFrame=i.destinationFrame=this.renderer._activeRenderTarget.size,i.renderTarget=r._activeRenderTarget,this.renderer._activeRenderTarget.filterData=n={index:0,stack:[i]},this.filterData=n}var o=n.stack[++n.index],s=n.stack[0].destinationFrame;o||(o=n.stack[n.index]=new b);var a=t.filterArea&&0===t.filterArea.x&&0===t.filterArea.y&&t.filterArea.width===r.screen.width&&t.filterArea.height===r.screen.height,u=e[0].resolution,h=0|e[0].padding,l=a?r.screen:t.filterArea||t.getBounds(!0),c=o.sourceFrame,d=o.destinationFrame;c.x=(l.x*u|0)/u,c.y=(l.y*u|0)/u,c.width=(l.width*u|0)/u,c.height=(l.height*u|0)/u,a||(n.stack[0].renderTarget.transform||e[0].autoFit&&c.fit(s),c.pad(h)),d.width=c.width,d.height=c.height;var f=this.getPotRenderTarget(r.gl,c.width,c.height,u);o.target=t,o.filters=e,o.resolution=u,o.renderTarget=f,f.setFrame(d,c),r.bindRenderTarget(f),f.clear()},e.prototype.popFilter=function(){var t=this.filterData,e=t.stack[t.index-1],r=t.stack[t.index];this.quad.map(r.renderTarget.size,r.sourceFrame).upload();var n=r.filters;if(1===n.length)n[0].apply(this,r.renderTarget,e.renderTarget,!1,r),this.freePotRenderTarget(r.renderTarget);else{var i=r.renderTarget,o=this.getPotRenderTarget(this.renderer.gl,r.sourceFrame.width,r.sourceFrame.height,r.resolution);o.setFrame(r.destinationFrame,r.sourceFrame),o.clear();var s=0;for(s=0;s0&&void 0!==arguments[0]&&arguments[0],e=this.renderer,r=this.managedFilters;e.off("prerender",this.onPrerender,this);for(var n=0;n0&&(e+="\nelse "),r1&&void 0!==arguments[1]?arguments[1]:[];return e[i.BLEND_MODES.NORMAL]=[t.ONE,t.ONE_MINUS_SRC_ALPHA],e[i.BLEND_MODES.ADD]=[t.ONE,t.DST_ALPHA],e[i.BLEND_MODES.MULTIPLY]=[t.DST_COLOR,t.ONE_MINUS_SRC_ALPHA],e[i.BLEND_MODES.SCREEN]=[t.ONE,t.ONE_MINUS_SRC_COLOR],e[i.BLEND_MODES.OVERLAY]=[t.ONE,t.ONE_MINUS_SRC_ALPHA],e[i.BLEND_MODES.DARKEN]=[t.ONE,t.ONE_MINUS_SRC_ALPHA],e[i.BLEND_MODES.LIGHTEN]=[t.ONE,t.ONE_MINUS_SRC_ALPHA],e[i.BLEND_MODES.COLOR_DODGE]=[t.ONE,t.ONE_MINUS_SRC_ALPHA],e[i.BLEND_MODES.COLOR_BURN]=[t.ONE,t.ONE_MINUS_SRC_ALPHA],e[i.BLEND_MODES.HARD_LIGHT]=[t.ONE,t.ONE_MINUS_SRC_ALPHA],e[i.BLEND_MODES.SOFT_LIGHT]=[t.ONE,t.ONE_MINUS_SRC_ALPHA],e[i.BLEND_MODES.DIFFERENCE]=[t.ONE,t.ONE_MINUS_SRC_ALPHA],e[i.BLEND_MODES.EXCLUSION]=[t.ONE,t.ONE_MINUS_SRC_ALPHA],e[i.BLEND_MODES.HUE]=[t.ONE,t.ONE_MINUS_SRC_ALPHA],e[i.BLEND_MODES.SATURATION]=[t.ONE,t.ONE_MINUS_SRC_ALPHA],e[i.BLEND_MODES.COLOR]=[t.ONE,t.ONE_MINUS_SRC_ALPHA],e[i.BLEND_MODES.LUMINOSITY]=[t.ONE,t.ONE_MINUS_SRC_ALPHA],e[i.BLEND_MODES.NORMAL_NPM]=[t.SRC_ALPHA,t.ONE_MINUS_SRC_ALPHA,t.ONE,t.ONE_MINUS_SRC_ALPHA],e[i.BLEND_MODES.ADD_NPM]=[t.SRC_ALPHA,t.DST_ALPHA,t.ONE,t.DST_ALPHA],e[i.BLEND_MODES.SCREEN_NPM]=[t.SRC_ALPHA,t.ONE_MINUS_SRC_COLOR,t.ONE,t.ONE_MINUS_SRC_COLOR],e}r.__esModule=!0,r.default=n;var i=t("../../../const")},{"../../../const":46}],99:[function(t,e,r){"use strict";function n(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e[i.DRAW_MODES.POINTS]=t.POINTS,e[i.DRAW_MODES.LINES]=t.LINES,e[i.DRAW_MODES.LINE_LOOP]=t.LINE_LOOP,e[i.DRAW_MODES.LINE_STRIP]=t.LINE_STRIP,e[i.DRAW_MODES.TRIANGLES]=t.TRIANGLES,e[i.DRAW_MODES.TRIANGLE_STRIP]=t.TRIANGLE_STRIP,e[i.DRAW_MODES.TRIANGLE_FAN]=t.TRIANGLE_FAN,e}r.__esModule=!0,r.default=n;var i=t("../../../const")},{"../../../const":46}],100:[function(t,e,r){"use strict";function n(t){t.getContextAttributes().stencil||console.warn("Provided WebGL context does not have a stencil buffer, masks may not render correctly")}r.__esModule=!0,r.default=n},{}],101:[function(t,e,r){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}r.__esModule=!0;var i=t("./utils/maxRecommendedTextures"),o=n(i),s=t("./utils/canUploadSameBuffer"),a=n(s);r.default={TARGET_FPMS:.06,MIPMAP_TEXTURES:!0,RESOLUTION:1,FILTER_RESOLUTION:1,SPRITE_MAX_TEXTURES:(0,o.default)(32),SPRITE_BATCH_SIZE:4096,RETINA_PREFIX:/@([0-9\.]+)x/,RENDER_OPTIONS:{view:null,antialias:!1,forceFXAA:!1,autoResize:!1,transparent:!1,backgroundColor:0,clearBeforeRender:!0,preserveDrawingBuffer:!1,roundPixels:!1,width:800,height:600,legacy:!1},TRANSFORM_MODE:0,GC_MODE:0,GC_MAX_IDLE:3600,GC_MAX_CHECK_COUNT:600,WRAP_MODE:0,SCALE_MODE:0,PRECISION_VERTEX:"highp",PRECISION_FRAGMENT:"mediump",CAN_UPLOAD_SAME_BUFFER:(0,a.default)(),MESH_CANVAS_PADDING:0}},{"./utils/canUploadSameBuffer":122,"./utils/maxRecommendedTextures":127}],102:[function(t,e,r){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}r.__esModule=!0;var a=function(){function t(t,e){for(var r=0;r=n&&v.x=i&&v.y>16)+(65280&t)+((255&t)<<16)}},{key:"texture",get:function(){return this._texture},set:function(t){this._texture!==t&&(this._texture=t||d.default.EMPTY,this.cachedTint=16777215,this._textureID=-1,this._textureTrimmedID=-1,t&&(t.baseTexture.hasLoaded?this._onTextureUpdate():t.once("update",this._onTextureUpdate,this)))}}]),e}(p.default);r.default=g},{"../const":46,"../display/Container":48,"../math":70,"../textures/Texture":115,"../utils":125}],103:[function(t,e,r){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}r.__esModule=!0;var o=t("../../renderers/canvas/CanvasRenderer"),s=n(o),a=t("../../const"),u=t("../../math"),h=t("./CanvasTinter"),l=n(h),c=new u.Matrix,d=function(){function t(e){i(this,t),this.renderer=e}return t.prototype.render=function(t){var e=t._texture,r=this.renderer,n=e._frame.width,i=e._frame.height,o=t.transform.worldTransform,s=0,h=0;if(!(e.orig.width<=0||e.orig.height<=0)&&e.baseTexture.source&&(r.setBlendMode(t.blendMode),e.valid)){r.context.globalAlpha=t.worldAlpha;var d=e.baseTexture.scaleMode===a.SCALE_MODES.LINEAR;r.smoothProperty&&r.context[r.smoothProperty]!==d&&(r.context[r.smoothProperty]=d),e.trim?(s=e.trim.width/2+e.trim.x-t.anchor.x*e.orig.width,h=e.trim.height/2+e.trim.y-t.anchor.y*e.orig.height):(s=(.5-t.anchor.x)*e.orig.width,h=(.5-t.anchor.y)*e.orig.height),e.rotate&&(o.copy(c),o=c,u.GroupD8.matrixAppendRotationInv(o,e.rotate,s,h),s=0,h=0),s-=n/2,h-=i/2,r.roundPixels?(r.context.setTransform(o.a,o.b,o.c,o.d,o.tx*r.resolution|0,o.ty*r.resolution|0),s|=0,h|=0):r.context.setTransform(o.a,o.b,o.c,o.d,o.tx*r.resolution,o.ty*r.resolution);var f=e.baseTexture.resolution;16777215!==t.tint?(t.cachedTint===t.tint&&t.tintedTexture.tintId===t._texture._updateID||(t.cachedTint=t.tint,t.tintedTexture=l.default.getTintedTexture(t,t.tint)),r.context.drawImage(t.tintedTexture,0,0,n*f,i*f,s*r.resolution,h*r.resolution,n*r.resolution,i*r.resolution)):r.context.drawImage(e.baseTexture.source,e._frame.x*f,e._frame.y*f,n*f,i*f,s*r.resolution,h*r.resolution,n*r.resolution,i*r.resolution)}},t.prototype.destroy=function(){this.renderer=null},t}();r.default=d,s.default.registerPlugin("sprite",d)},{"../../const":46,"../../math":70,"../../renderers/canvas/CanvasRenderer":77,"./CanvasTinter":104}],104:[function(t,e,r){"use strict";r.__esModule=!0;var n=t("../../utils"),i=t("../../renderers/canvas/utils/canUseNewCanvasBlendModes"),o=function(t){return t&&t.__esModule?t:{default:t}}(i),s={getTintedTexture:function(t,e){var r=t._texture;e=s.roundColor(e);var n="#"+("00000"+(0|e).toString(16)).substr(-6);r.tintCache=r.tintCache||{};var i=r.tintCache[n],o=void 0;if(i){if(i.tintId===r._updateID)return r.tintCache[n];o=r.tintCache[n]}else o=s.canvas||document.createElement("canvas");if(s.tintMethod(r,e,o),o.tintId=r._updateID,s.convertTintToImage){var a=new Image;a.src=o.toDataURL(),r.tintCache[n]=a}else r.tintCache[n]=o,s.canvas=null;return o},tintWithMultiply:function(t,e,r){var n=r.getContext("2d"),i=t._frame.clone(),o=t.baseTexture.resolution;i.x*=o,i.y*=o,i.width*=o,i.height*=o,r.width=Math.ceil(i.width),r.height=Math.ceil(i.height),n.save(),n.fillStyle="#"+("00000"+(0|e).toString(16)).substr(-6),n.fillRect(0,0,i.width,i.height),n.globalCompositeOperation="multiply",n.drawImage(t.baseTexture.source,i.x,i.y,i.width,i.height,0,0,i.width,i.height),n.globalCompositeOperation="destination-atop",n.drawImage(t.baseTexture.source,i.x,i.y,i.width,i.height,0,0,i.width,i.height),n.restore()},tintWithOverlay:function(t,e,r){var n=r.getContext("2d"),i=t._frame.clone(),o=t.baseTexture.resolution;i.x*=o,i.y*=o,i.width*=o,i.height*=o,r.width=Math.ceil(i.width),r.height=Math.ceil(i.height),n.save(),n.globalCompositeOperation="copy",n.fillStyle="#"+("00000"+(0|e).toString(16)).substr(-6),n.fillRect(0,0,i.width,i.height),n.globalCompositeOperation="destination-atop",n.drawImage(t.baseTexture.source,i.x,i.y,i.width,i.height,0,0,i.width,i.height),n.restore()},tintWithPerPixel:function(t,e,r){var i=r.getContext("2d"),o=t._frame.clone(),s=t.baseTexture.resolution;o.x*=s,o.y*=s,o.width*=s,o.height*=s,r.width=Math.ceil(o.width),r.height=Math.ceil(o.height),i.save(),i.globalCompositeOperation="copy",i.drawImage(t.baseTexture.source,o.x,o.y,o.width,o.height,0,0,o.width,o.height),i.restore();for(var a=(0,n.hex2rgb)(e),u=a[0],h=a[1],l=a[2],c=i.getImageData(0,0,o.width,o.height),d=c.data,f=0;f=this.size&&this.flush(),t._texture._uvs&&(this.sprites[this.currentIndex++]=t)},e.prototype.flush=function(){if(0!==this.currentIndex){var t=this.renderer.gl,e=this.MAX_TEXTURES,r=S.default.nextPow2(this.currentIndex),n=S.default.log2(r),i=this.buffers[n],o=this.sprites,s=this.groups,a=i.float32View,u=i.uint32View,h=this.boundTextures,l=this.renderer.boundTextures,c=this.renderer.textureGC.count,d=0,f=void 0,p=void 0,v=1,g=0,y=s[0],m=void 0,_=void 0,T=x.premultiplyBlendMode[o[0]._texture.baseTexture.premultipliedAlpha?1:0][o[0].blendMode];y.textureCount=0,y.start=0,y.blend=T,O++;var E=void 0;for(E=0;E0&&(e+="\nelse "),r0&&(r.shadowColor=e.dropShadowColor);for(var f=Math.cos(e.dropShadowAngle)*e.dropShadowDistance,p=Math.sin(e.dropShadowAngle)*e.dropShadowDistance,v=0;v3&&void 0!==arguments[3]&&arguments[3],i=this._style,o=i.letterSpacing;if(0===o)return void(n?this.context.strokeText(t,e,r):this.context.fillText(t,e,r));for(var s=String.prototype.split.call(t,""),a=e,u=0,h="";u3&&void 0!==arguments[3]?arguments[3]:t._canvas;n=void 0===n||null===n?r.wordWrap:n;var o=r.toFontString(),s=t.measureFont(o),a=i.getContext("2d");a.font=o;for(var u=n?t.wordWrap(e,r,i):e,h=u.split(/(?:\r\n|\r|\n)/),l=new Array(h.length),c=0,d=0;d2&&void 0!==arguments[2]?arguments[2]:t._canvas,i=n.getContext("2d"),o=0,s="",a="",u={},h=r.letterSpacing,l=r.whiteSpace,c=t.collapseSpaces(l),d=t.collapseNewlines(l),f=!c,p=r.wordWrapWidth+h,v=t.tokenize(e),g=0;gp)if(""!==s&&(a+=t.addLine(s),s="",o=0),t.canBreakWords(y,r.breakWords))for(var x=y.split(""),T=0;Tp&&(a+=t.addLine(s),f=!1,s="",o=0),s+=w,o+=M}else{s.length>0&&(a+=t.addLine(s),s="",o=0);var P=g===v.length-1;a+=t.addLine(y,!P),f=!1,s="",o=0}else b+o>p&&(f=!1,a+=t.addLine(s),s="",o=0),(s.length>0||!t.isBreakingSpace(y)||f)&&(s+=y,o+=b)}return a+=t.addLine(s,!1)},t.addLine=function(e){var r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return e=t.trimRight(e),e=r?e+"\n":e},t.getFromCache=function(t,e,r,n){var i=r[t];if(void 0===i){var o=t.length*e;i=n.measureText(t).width+o,r[t]=i}return i},t.collapseSpaces=function(t){return"normal"===t||"pre-line"===t},t.collapseNewlines=function(t){return"normal"===t},t.trimRight=function(e){if("string"!=typeof e)return"";for(var r=e.length-1;r>=0;r--){var n=e[r];if(!t.isBreakingSpace(n))break;e=e.slice(0,-1)}return e},t.isNewline=function(e){return"string"==typeof e&&t._newlines.indexOf(e.charCodeAt(0))>=0},t.isBreakingSpace=function(e){return"string"==typeof e&&t._breakingSpaces.indexOf(e.charCodeAt(0))>=0},t.tokenize=function(e){var r=[],n="";if("string"!=typeof e)return r;for(var i=0;ia;--d){for(var g=0;g0&&void 0!==arguments[0]?arguments[0]:"";e?delete t._fonts[e]:t._fonts={}},t}();r.default=i;var o=document.createElement("canvas");o.width=o.height=10,i._canvas=o,i._context=o.getContext("2d"),i._fonts={},i.METRICS_STRING="|Ăƒâ€°q",i.BASELINE_SYMBOL="M",i.BASELINE_MULTIPLIER=1.4,i._newlines=[10,13],i._breakingSpaces=[9,32,8192,8193,8194,8195,8196,8197,8198,8200,8201,8202,8287,12288]},{}],110:[function(t,e,r){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t){return"number"==typeof t?(0,l.hex2string)(t):("string"==typeof t&&0===t.indexOf("0x")&&(t=t.replace("0x","#")),t)}function o(t){if(Array.isArray(t)){for(var e=0;e=0;r--){var n=e[r].trim();!/([\"\'])[^\'\"]+\1/.test(n)&&d.indexOf(n)<0&&(n='"'+n+'"'),e[r]=n}return this.fontStyle+" "+this.fontVariant+" "+this.fontWeight+" "+t+" "+e.join(",")},u(t,[{key:"align",get:function(){return this._align},set:function(t){this._align!==t&&(this._align=t,this.styleID++)}},{key:"breakWords",get:function(){return this._breakWords},set:function(t){this._breakWords!==t&&(this._breakWords=t,this.styleID++)}},{key:"dropShadow",get:function(){return this._dropShadow},set:function(t){this._dropShadow!==t&&(this._dropShadow=t,this.styleID++)}},{key:"dropShadowAlpha",get:function(){return this._dropShadowAlpha},set:function(t){this._dropShadowAlpha!==t&&(this._dropShadowAlpha=t,this.styleID++)}},{key:"dropShadowAngle",get:function(){return this._dropShadowAngle},set:function(t){this._dropShadowAngle!==t&&(this._dropShadowAngle=t,this.styleID++)}},{key:"dropShadowBlur",get:function(){return this._dropShadowBlur},set:function(t){this._dropShadowBlur!==t&&(this._dropShadowBlur=t,this.styleID++)}},{key:"dropShadowColor",get:function(){return this._dropShadowColor},set:function(t){var e=o(t);this._dropShadowColor!==e&&(this._dropShadowColor=e,this.styleID++)}},{key:"dropShadowDistance",get:function(){return this._dropShadowDistance},set:function(t){this._dropShadowDistance!==t&&(this._dropShadowDistance=t,this.styleID++)}},{key:"fill",get:function(){return this._fill},set:function(t){var e=o(t);this._fill!==e&&(this._fill=e,this.styleID++)}},{key:"fillGradientType",get:function(){return this._fillGradientType},set:function(t){this._fillGradientType!==t&&(this._fillGradientType=t,this.styleID++)}},{key:"fillGradientStops",get:function(){return this._fillGradientStops},set:function(t){s(this._fillGradientStops,t)||(this._fillGradientStops=t,this.styleID++)}},{key:"fontFamily",get:function(){return this._fontFamily},set:function(t){this.fontFamily!==t&&(this._fontFamily=t,this.styleID++)}},{key:"fontSize",get:function(){return this._fontSize},set:function(t){this._fontSize!==t&&(this._fontSize=t,this.styleID++)}},{key:"fontStyle",get:function(){return this._fontStyle},set:function(t){this._fontStyle!==t&&(this._fontStyle=t,this.styleID++)}},{key:"fontVariant",get:function(){return this._fontVariant},set:function(t){this._fontVariant!==t&&(this._fontVariant=t,this.styleID++)}},{key:"fontWeight",get:function(){return this._fontWeight},set:function(t){this._fontWeight!==t&&(this._fontWeight=t,this.styleID++)}},{key:"letterSpacing",get:function(){return this._letterSpacing},set:function(t){this._letterSpacing!==t&&(this._letterSpacing=t,this.styleID++)}},{key:"lineHeight",get:function(){return this._lineHeight},set:function(t){this._lineHeight!==t&&(this._lineHeight=t,this.styleID++)}},{key:"leading",get:function(){return this._leading},set:function(t){this._leading!==t&&(this._leading=t,this.styleID++)}},{key:"lineJoin",get:function(){return this._lineJoin},set:function(t){this._lineJoin!==t&&(this._lineJoin=t,this.styleID++)}},{key:"miterLimit",get:function(){return this._miterLimit},set:function(t){this._miterLimit!==t&&(this._miterLimit=t,this.styleID++)}},{key:"padding",get:function(){return this._padding},set:function(t){this._padding!==t&&(this._padding=t,this.styleID++)}},{key:"stroke",get:function(){return this._stroke},set:function(t){var e=o(t);this._stroke!==e&&(this._stroke=e,this.styleID++)}},{key:"strokeThickness",get:function(){return this._strokeThickness},set:function(t){this._strokeThickness!==t&&(this._strokeThickness=t,this.styleID++)}},{key:"textBaseline",get:function(){return this._textBaseline},set:function(t){this._textBaseline!==t&&(this._textBaseline=t,this.styleID++)}},{key:"trim",get:function(){return this._trim},set:function(t){this._trim!==t&&(this._trim=t,this.styleID++)}},{key:"whiteSpace",get:function(){return this._whiteSpace},set:function(t){this._whiteSpace!==t&&(this._whiteSpace=t,this.styleID++)}},{key:"wordWrap",get:function(){return this._wordWrap},set:function(t){this._wordWrap!==t&&(this._wordWrap=t,this.styleID++)}},{key:"wordWrapWidth",get:function(){return this._wordWrapWidth},set:function(t){this._wordWrapWidth!==t&&(this._wordWrapWidth=t,this.styleID++)}}]),t}();r.default=f},{"../const":46,"../utils":125}],111:[function(t,e,r){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}r.__esModule=!0;var a=t("./BaseTexture"),u=n(a),h=t("../settings"),l=n(h),c=function(t){function e(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:100,s=arguments[2],a=arguments[3];i(this,e);var u=o(this,t.call(this,null,s));return u.resolution=a||l.default.RESOLUTION,u.width=Math.ceil(r),u.height=Math.ceil(n),u.realWidth=u.width*u.resolution,u.realHeight=u.height*u.resolution,u.scaleMode=void 0!==s?s:l.default.SCALE_MODE,u.hasLoaded=!0,u._glRenderTargets={},u._canvasRenderTarget=null,u.valid=!1,u}return s(e,t),e.prototype.resize=function(t,e){t=Math.ceil(t),e=Math.ceil(e),t===this.width&&e===this.height||(this.valid=t>0&&e>0,this.width=t,this.height=e,this.realWidth=this.width*this.resolution,this.realHeight=this.height*this.resolution,this.valid&&this.emit("update",this))},e.prototype.destroy=function(){t.prototype.destroy.call(this,!0),this.renderer=null},e}(u.default);r.default=c},{"../settings":101,"./BaseTexture":112}],112:[function(t,e,r){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}r.__esModule=!0;var a=t("../utils"),u=t("../settings"),h=n(u),l=t("eventemitter3"),c=n(l),d=t("../utils/determineCrossOrigin"),f=n(d),p=t("bit-twiddle"),v=n(p),g=function(t){function e(r,n,s){i(this,e);var u=o(this,t.call(this));return u.uid=(0,a.uid)(),u.touched=0,u.resolution=s||h.default.RESOLUTION,u.width=100,u.height=100,u.realWidth=100,u.realHeight=100,u.scaleMode=void 0!==n?n:h.default.SCALE_MODE,u.hasLoaded=!1,u.isLoading=!1,u.source=null,u.origSource=null,u.imageType=null,u.sourceScale=1,u.premultipliedAlpha=!0,u.imageUrl=null,u.isPowerOfTwo=!1,u.mipmap=h.default.MIPMAP_TEXTURES,u.wrapMode=h.default.WRAP_MODE,u._glTextures={},u._enabled=0,u._virtalBoundId=-1,u._destroyed=!1,u.textureCacheIds=[],r&&u.loadSource(r),u}return s(e,t),e.prototype.update=function(){"svg"!==this.imageType&&(this.realWidth=this.source.naturalWidth||this.source.videoWidth||this.source.width,this.realHeight=this.source.naturalHeight||this.source.videoHeight||this.source.height,this._updateDimensions()),this.emit("update",this)},e.prototype._updateDimensions=function(){this.width=this.realWidth/this.resolution,this.height=this.realHeight/this.resolution,this.isPowerOfTwo=v.default.isPow2(this.realWidth)&&v.default.isPow2(this.realHeight)},e.prototype.loadSource=function(t){var e=this.isLoading;this.hasLoaded=!1,this.isLoading=!1,e&&this.source&&(this.source.onload=null,this.source.onerror=null);var r=!this.source;if(this.source=t,(t.src&&t.complete||t.getContext)&&t.width&&t.height)this._updateImageType(),"svg"===this.imageType?this._loadSvgSource():this._sourceLoaded(),r&&this.emit("loaded",this);else if(!t.getContext){this.isLoading=!0;var n=this;if(t.onload=function(){if(n._updateImageType(),t.onload=null,t.onerror=null,n.isLoading){if(n.isLoading=!1,n._sourceLoaded(),"svg"===n.imageType)return void n._loadSvgSource();n.emit("loaded",n)}},t.onerror=function(){t.onload=null,t.onerror=null,n.isLoading&&(n.isLoading=!1,n.emit("error",n))},t.complete&&t.src){if(t.onload=null,t.onerror=null,"svg"===n.imageType)return void n._loadSvgSource();this.isLoading=!1,t.width&&t.height?(this._sourceLoaded(),e&&this.emit("loaded",this)):e&&this.emit("error",this)}}},e.prototype._updateImageType=function(){if(this.imageUrl){var t=(0,a.decomposeDataUri)(this.imageUrl),e=void 0;if(t&&"image"===t.mediaType){var r=t.subType.split("+")[0];if(!(e=(0,a.getUrlFileExtension)("."+r)))throw new Error("Invalid image type in data URI.")}else(e=(0,a.getUrlFileExtension)(this.imageUrl))||(e="png");this.imageType=e}},e.prototype._loadSvgSource=function(){if("svg"===this.imageType){var t=(0,a.decomposeDataUri)(this.imageUrl);t?this._loadSvgSourceUsingDataUri(t):this._loadSvgSourceUsingXhr()}},e.prototype._loadSvgSourceUsingDataUri=function(t){var e=void 0;if("base64"===t.encoding){if(!atob)throw new Error("Your browser doesn't support base64 conversions.");e=atob(t.data)}else e=t.data;this._loadSvgSourceUsingString(e)},e.prototype._loadSvgSourceUsingXhr=function(){var t=this,e=new XMLHttpRequest;e.onload=function(){if(e.readyState!==e.DONE||200!==e.status)throw new Error("Failed to load SVG using XHR.");t._loadSvgSourceUsingString(e.response)},e.onerror=function(){return t.emit("error",t)},e.open("GET",this.imageUrl,!0),e.send()},e.prototype._loadSvgSourceUsingString=function(t){var r=(0,a.getSvgSize)(t),n=r.width,i=r.height;if(!n||!i)throw new Error("The SVG image must have width and height defined (in pixels), canvas API needs them.");this.realWidth=Math.round(n*this.sourceScale),this.realHeight=Math.round(i*this.sourceScale),this._updateDimensions();var o=document.createElement("canvas");o.width=this.realWidth,o.height=this.realHeight,o._pixiId="canvas_"+(0,a.uid)(),o.getContext("2d").drawImage(this.source,0,0,n,i,0,0,this.realWidth,this.realHeight),this.origSource=this.source,this.source=o,e.addToCache(this,o._pixiId),this.isLoading=!1,this._sourceLoaded(),this.emit("loaded",this)},e.prototype._sourceLoaded=function(){this.hasLoaded=!0,this.update()},e.prototype.destroy=function(){this.imageUrl&&(delete a.TextureCache[this.imageUrl],this.imageUrl=null,navigator.isCocoonJS||(this.source.src="")),this.source=null,this.dispose(),e.removeFromCache(this),this.textureCacheIds=null,this._destroyed=!0},e.prototype.dispose=function(){this.emit("dispose",this)},e.prototype.updateSourceImage=function(t){this.source.src=t,this.loadSource(this.source)},e.fromImage=function(t,r,n,i){var o=a.BaseTextureCache[t];if(!o){var s=new Image;void 0===r&&0!==t.indexOf("data:")?s.crossOrigin=(0,f.default)(t):r&&(s.crossOrigin="string"==typeof r?r:"anonymous"),o=new e(s,n),o.imageUrl=t,i&&(o.sourceScale=i),o.resolution=(0,a.getResolutionOfUrl)(t),s.src=t,e.addToCache(o,t)}return o},e.fromCanvas=function(t,r){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"canvas";t._pixiId||(t._pixiId=n+"_"+(0,a.uid)());var i=a.BaseTextureCache[t._pixiId];return i||(i=new e(t,r),e.addToCache(i,t._pixiId)),i},e.from=function(t,r,n){if("string"==typeof t)return e.fromImage(t,void 0,r,n);if(t instanceof HTMLImageElement){var i=t.src,o=a.BaseTextureCache[i] -;return o||(o=new e(t,r),o.imageUrl=i,n&&(o.sourceScale=n),o.resolution=(0,a.getResolutionOfUrl)(i),e.addToCache(o,i)),o}return t instanceof HTMLCanvasElement?e.fromCanvas(t,r):t},e.addToCache=function(t,e){e&&(-1===t.textureCacheIds.indexOf(e)&&t.textureCacheIds.push(e),a.BaseTextureCache[e]=t)},e.removeFromCache=function(t){if("string"==typeof t){var e=a.BaseTextureCache[t];if(e){var r=e.textureCacheIds.indexOf(t);return r>-1&&e.textureCacheIds.splice(r,1),delete a.BaseTextureCache[t],e}}else if(t&&t.textureCacheIds){for(var n=0;n0&&e>0,this._frame.width=this.orig.width=t,this._frame.height=this.orig.height=e,r||this.baseTexture.resize(t,e),this._updateUvs()},e.create=function(t,r,n,i){return new e(new u.default(t,r,n,i))},e}(l.default);r.default=c},{"./BaseRenderTexture":111,"./Texture":115}],114:[function(t,e,r){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}r.__esModule=!0;var i=function(){function t(t,e){for(var r=0;r2&&void 0!==arguments[2]?arguments[2]:null;n(this,t),this.baseTexture=e,this.textures={},this.animations={},this.data=r,this.resolution=this._updateResolution(i||this.baseTexture.imageUrl),this._frames=this.data.frames,this._frameKeys=Object.keys(this._frames),this._batchIndex=0,this._callback=null}return i(t,null,[{key:"BATCH_SIZE",get:function(){return 1e3}}]),t.prototype._updateResolution=function(t){var e=this.data.meta.scale,r=(0,s.getResolutionOfUrl)(t,null);return null===r&&(r=void 0!==e?parseFloat(e):1),1!==r&&(this.baseTexture.resolution=r,this.baseTexture.update()),r},t.prototype.parse=function(e){this._batchIndex=0,this._callback=e,this._frameKeys.length<=t.BATCH_SIZE?(this._processFrames(0),this._processAnimations(),this._parseComplete()):this._nextBatch()},t.prototype._processFrames=function(e){for(var r=e,n=t.BATCH_SIZE,i=this.baseTexture.sourceScale;r-e=r.length)break;o=r[i++]}else{if(i=r.next(),i.done)break;o=i.value}var s=o;this.animations[e].push(this.textures[s])}}},t.prototype._parseComplete=function(){var t=this._callback;this._callback=null,this._batchIndex=0,t.call(this,this.textures)},t.prototype._nextBatch=function(){var e=this;this._processFrames(this._batchIndex*t.BATCH_SIZE),this._batchIndex++,setTimeout(function(){e._batchIndex*t.BATCH_SIZE0&&void 0!==arguments[0]&&arguments[0];for(var e in this.textures)this.textures[e].destroy();this._frames=null,this._frameKeys=null,this.data=null,this.textures=null,t&&this.baseTexture.destroy(),this.baseTexture=null},t}();r.default=a},{"../":65,"../utils":125}],115:[function(t,e,r){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function a(t){t.destroy=function(){},t.on=function(){},t.once=function(){},t.emit=function(){}}r.__esModule=!0;var u=function(){function t(t,e){for(var r=0;r2&&void 0!==arguments[2]?arguments[2]:"canvas";return new e(l.default.fromCanvas(t,r,n))},e.fromVideo=function(t,r,n,i){return"string"==typeof t?e.fromVideoUrl(t,r,n,i):new e(d.default.fromVideo(t,r,i))},e.fromVideoUrl=function(t,r,n,i){return new e(d.default.fromUrl(t,r,n,i))},e.from=function(t){if("string"==typeof t){var r=m.TextureCache[t];if(!r){return null!==t.match(/\.(mp4|webm|ogg|h264|avi|mov)$/)?e.fromVideoUrl(t):e.fromImage(t)}return r}return t instanceof HTMLImageElement?new e(l.default.from(t)):t instanceof HTMLCanvasElement?e.fromCanvas(t,b.default.SCALE_MODE,"HTMLCanvasElement"):t instanceof HTMLVideoElement?e.fromVideo(t):t instanceof l.default?new e(t):t},e.fromLoader=function(t,r,n){var i=new l.default(t,void 0,(0,m.getResolutionOfUrl)(r)),o=new e(i);return i.imageUrl=r,n||(n=r),l.default.addToCache(o.baseTexture,n),e.addToCache(o,n),n!==r&&(l.default.addToCache(o.baseTexture,r),e.addToCache(o,r)),o},e.addToCache=function(t,e){e&&(-1===t.textureCacheIds.indexOf(e)&&t.textureCacheIds.push(e),m.TextureCache[e]=t)},e.removeFromCache=function(t){if("string"==typeof t){var e=m.TextureCache[t];if(e){var r=e.textureCacheIds.indexOf(t);return r>-1&&e.textureCacheIds.splice(r,1),delete m.TextureCache[t],e}}else if(t&&t.textureCacheIds){for(var n=0;nthis.baseTexture.width,s=r+i>this.baseTexture.height;if(o||s){var a=o&&s?"and":"or",u="X: "+e+" + "+n+" = "+(e+n)+" > "+this.baseTexture.width,h="Y: "+r+" + "+i+" = "+(r+i)+" > "+this.baseTexture.height;throw new Error("Texture Error: frame does not fit inside the base Texture dimensions: "+u+" "+a+" "+h)}this.valid=n&&i&&this.baseTexture.hasLoaded,this.trim||this.rotate||(this.orig=t),this.valid&&this._updateUvs()}},{key:"rotate",get:function(){return this._rotate},set:function(t){this._rotate=t,this.valid&&this._updateUvs()}},{key:"width",get:function(){return this.orig.width}},{key:"height",get:function(){return this.orig.height}}]),e}(g.default);r.default=x,x.EMPTY=new x(new l.default),a(x.EMPTY),a(x.EMPTY.baseTexture),x.WHITE=function(){var t=document.createElement("canvas");t.width=10,t.height=10;var e=t.getContext("2d");return e.fillStyle="white",e.fillRect(0,0,10,10),new x(new l.default(t))}(),a(x.WHITE),a(x.WHITE.baseTexture)},{"../math":70,"../settings":101,"../utils":125,"./BaseTexture":112,"./TextureUvs":117,"./VideoBaseTexture":118,eventemitter3:3}],116:[function(t,e,r){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}r.__esModule=!0;var i=function(){function t(t,e){for(var r=0;r2&&void 0!==arguments[2])||arguments[2];if(i(this,e),!r)throw new Error("No video source element specified.");(r.readyState===r.HAVE_ENOUGH_DATA||r.readyState===r.HAVE_FUTURE_DATA)&&r.width&&r.height&&(r.complete=!0);var a=o(this,t.call(this,r,n));return a.width=r.videoWidth,a.height=r.videoHeight,a._autoUpdate=!0,a._isAutoUpdating=!1,a.autoPlay=s,a.update=a.update.bind(a),a._onCanPlay=a._onCanPlay.bind(a),r.addEventListener("play",a._onPlayStart.bind(a)),r.addEventListener("pause",a._onPlayStop.bind(a)),a.hasLoaded=!1,a.__loaded=!1,a._isSourceReady()?a._onCanPlay():(r.addEventListener("canplay",a._onCanPlay),r.addEventListener("canplaythrough",a._onCanPlay)),a}return s(e,t),e.prototype._isSourcePlaying=function(){var t=this.source;return t.currentTime>0&&!1===t.paused&&!1===t.ended&&t.readyState>2},e.prototype._isSourceReady=function(){return 3===this.source.readyState||4===this.source.readyState},e.prototype._onPlayStart=function(){this.hasLoaded||this._onCanPlay(),!this._isAutoUpdating&&this.autoUpdate&&(d.shared.add(this.update,this,f.UPDATE_PRIORITY.HIGH),this._isAutoUpdating=!0)},e.prototype._onPlayStop=function(){this._isAutoUpdating&&(d.shared.remove(this.update,this),this._isAutoUpdating=!1)},e.prototype._onCanPlay=function(){this.hasLoaded=!0,this.source&&(this.source.removeEventListener("canplay",this._onCanPlay),this.source.removeEventListener("canplaythrough",this._onCanPlay),this.width=this.source.videoWidth,this.height=this.source.videoHeight,this.__loaded||(this.__loaded=!0,this.emit("loaded",this)),this._isSourcePlaying()?this._onPlayStart():this.autoPlay&&this.source.play())},e.prototype.destroy=function(){this._isAutoUpdating&&d.shared.remove(this.update,this),this.source&&this.source._pixiId&&(l.default.removeFromCache(this.source._pixiId),delete this.source._pixiId,this.source.pause(),this.source.src="",this.source.load()),t.prototype.destroy.call(this)},e.fromVideo=function(t,r,n){t._pixiId||(t._pixiId="video_"+(0,c.uid)());var i=c.BaseTextureCache[t._pixiId];return i||(i=new e(t,r,n),l.default.addToCache(i,t._pixiId)),i},e.fromUrl=function(t,r,n,i){var o=document.createElement("video");o.setAttribute("webkit-playsinline",""),o.setAttribute("playsinline","");var s=Array.isArray(t)?t[0].src||t[0]:t.src||t;if(void 0===n&&0!==s.indexOf("data:")?o.crossOrigin=(0,v.default)(s):n&&(o.crossOrigin="string"==typeof n?n:"anonymous"),Array.isArray(t))for(var u=0;u2&&void 0!==arguments[2]?arguments[2]:u.UPDATE_PRIORITY.NORMAL;return this._addListener(new l.default(t,e,r))},t.prototype.addOnce=function(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:u.UPDATE_PRIORITY.NORMAL;return this._addListener(new l.default(t,e,r,!0))},t.prototype._addListener=function(t){var e=this._head.next,r=this._head;if(e){for(;e;){if(t.priority>e.priority){t.connect(r);break}r=e,e=e.next}t.previous||t.connect(r)}else t.connect(r);return this._startIfPossible(),this},t.prototype.remove=function(t,e){for(var r=this._head.next;r;)r=r.match(t,e)?r.destroy():r.next;return this._head.next||this._cancelIfNeeded(),this},t.prototype.start=function(){this.started||(this.started=!0,this._requestIfNeeded())},t.prototype.stop=function(){this.started&&(this.started=!1,this._cancelIfNeeded())},t.prototype.destroy=function(){this.stop();for(var t=this._head.next;t;)t=t.destroy(!0);this._head.destroy(),this._head=null},t.prototype.update=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:performance.now(),e=void 0;if(t>this.lastTime){e=this.elapsedMS=t-this.lastTime,e>this._maxElapsedMS&&(e=this._maxElapsedMS),this.deltaTime=e*a.default.TARGET_FPMS*this.speed;for(var r=this._head,n=r.next;n;)n=n.emit(this.deltaTime);r.next||this._cancelIfNeeded()}else this.deltaTime=this.elapsedMS=0;this.lastTime=t},o(t,[{key:"FPS",get:function(){return 1e3/this.elapsedMS}},{key:"minFPS",get:function(){return 1e3/this._maxElapsedMS},set:function(t){var e=Math.min(Math.max(0,t)/1e3,a.default.TARGET_FPMS);this._maxElapsedMS=1/e}}]),t}();r.default=c},{"../const":46,"../settings":101,"./TickerListener":120}],120:[function(t,e,r){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}r.__esModule=!0;var i=function(){function t(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,o=arguments.length>3&&void 0!==arguments[3]&&arguments[3];n(this,t),this.fn=e,this.context=r,this.priority=i,this.once=o,this.next=null,this.previous=null,this._destroyed=!1}return t.prototype.match=function(t,e){return e=e||null,this.fn===t&&this.context===e},t.prototype.emit=function(t){this.fn&&(this.context?this.fn.call(this.context,t):this.fn(t));var e=this.next;return this.once&&this.destroy(!0),this._destroyed&&(this.next=null),e},t.prototype.connect=function(t){this.previous=t,t.next&&(t.next.previous=this),this.next=t.next,t.next=this},t.prototype.destroy=function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this._destroyed=!0,this.fn=null,this.context=null,this.previous&&(this.previous.next=this.next),this.next&&(this.next.previous=this.previous);var e=this.next;return this.next=t?null:e,this.previous=null,e},t}();r.default=i},{}],121:[function(t,e,r){"use strict";r.__esModule=!0,r.Ticker=r.shared=void 0;var n=t("./Ticker"),i=function(t){return t&&t.__esModule?t:{default:t}}(n),o=new i.default;o.autoStart=!0,o.destroy=function(){},r.shared=o,r.Ticker=i.default},{"./Ticker":119}],122:[function(t,e,r){"use strict";function n(){return!(!!navigator.platform&&/iPad|iPhone|iPod/.test(navigator.platform))}r.__esModule=!0,r.default=n},{}],123:[function(t,e,r){"use strict";function n(t){for(var e=6*t,r=new Uint16Array(e),n=0,i=0;n1&&void 0!==arguments[1]?arguments[1]:window.location;if(0===t.indexOf("data:"))return"";e=e||window.location,s||(s=document.createElement("a")),s.href=t,t=o.default.parse(s.href);var r=!t.port&&""===e.port||t.port===e.port;return t.hostname===e.hostname&&r&&t.protocol===e.protocol?"":"anonymous"}r.__esModule=!0,r.default=n;var i=t("url"),o=function(t){return t&&t.__esModule?t:{default:t}}(i),s=void 0},{url:38}],125:[function(t,e,r){"use strict";function n(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e.default=t,e}function i(t){return t&&t.__esModule?t:{default:t}}function o(){return++U}function s(t,e){return e=e||[],e[0]=(t>>16&255)/255,e[1]=(t>>8&255)/255,e[2]=(255&t)/255,e}function a(t){return t=t.toString(16),"#"+(t="000000".substr(0,6-t.length)+t)}function u(t){return(255*t[0]<<16)+(255*t[1]<<8)+(255*t[2]|0)}function h(t,e){var r=S.default.RETINA_PREFIX.exec(t);return r?parseFloat(r[1]):void 0!==e?e:1}function l(t){var e=w.DATA_URI.exec(t);if(e)return{mediaType:e[1]?e[1].toLowerCase():void 0,subType:e[2]?e[2].toLowerCase():void 0,charset:e[3]?e[3].toLowerCase():void 0,encoding:e[4]?e[4].toLowerCase():void 0,data:e[5]}}function c(t){var e=w.URL_FILE_EXTENSION.exec(t);if(e)return e[1].toLowerCase()}function d(t){var e=w.SVG_SIZE.exec(t),r={};return e&&(r[e[1]]=Math.round(parseFloat(e[3])),r[e[5]]=Math.round(parseFloat(e[7]))),r}function f(){X=!0}function p(t){if(!X){if(navigator.userAgent.toLowerCase().indexOf("chrome")>-1){var e=["\n %c %c %c PixiJS "+w.VERSION+" - Ă¢Å“Â° "+t+" Ă¢Å“Â° %c %c http://www.pixijs.com/ %c %c Ă¢â„¢Â¥%cĂ¢â„¢Â¥%cĂ¢â„¢Â¥ \n\n","background: #ff66a5; padding:5px 0;","background: #ff66a5; padding:5px 0;","color: #ff66a5; background: #030307; padding:5px 0;","background: #ff66a5; padding:5px 0;","background: #ffc3dc; padding:5px 0;","background: #ff66a5; padding:5px 0;","color: #ff2424; background: #fff; padding:5px 0;","color: #ff2424; background: #fff; padding:5px 0;","color: #ff2424; background: #fff; padding:5px 0;"];window.console.log.apply(console,e)}else window.console&&window.console.log("PixiJS "+w.VERSION+" - "+t+" - http://www.pixijs.com/");X=!0}}function v(){var t={stencil:!0,failIfMajorPerformanceCaveat:!0};try{if(!window.WebGLRenderingContext)return!1;var e=document.createElement("canvas"),r=e.getContext("webgl",t)||e.getContext("experimental-webgl",t),n=!(!r||!r.getContextAttributes().stencil);if(r){var i=r.getExtension("WEBGL_lose_context");i&&i.loseContext()}return r=null,n}catch(t){return!1}}function g(t){return 0===t?0:t<0?-1:1}function y(){var t=void 0;for(t in G)G[t].destroy();for(t in W)W[t].destroy()}function m(){var t=void 0;for(t in G)delete G[t];for(t in W)delete W[t]}function _(t,e){return H[e?1:0][t]}function b(t,e){if(1===e)return(255*e<<24)+t;if(0===e)return 0;var r=t>>16&255,n=t>>8&255,i=255&t;return r=r*e+.5|0,n=n*e+.5|0,i=i*e+.5|0,(255*e<<24)+(r<<16)+(n<<8)+i}function x(t,e,r,n){return r=r||new Float32Array(4),n||void 0===n?(r[0]=t[0]*e,r[1]=t[1]*e,r[2]=t[2]*e):(r[0]=t[0],r[1]=t[1],r[2]=t[2]),r[3]=e,r}function T(t,e,r,n){return r=r||new Float32Array(4),r[0]=(t>>16&255)/255,r[1]=(t>>8&255)/255,r[2]=(255&t)/255,(n||void 0===n)&&(r[0]*=e,r[1]*=e,r[2]*=e),r[3]=e,r}r.__esModule=!0,r.premultiplyBlendMode=r.BaseTextureCache=r.TextureCache=r.earcut=r.mixins=r.pluginTarget=r.EventEmitter=r.removeItems=r.isMobile=void 0,r.uid=o,r.hex2rgb=s,r.hex2string=a,r.rgb2hex=u,r.getResolutionOfUrl=h,r.decomposeDataUri=l,r.getUrlFileExtension=c,r.getSvgSize=d,r.skipHello=f,r.sayHello=p,r.isWebGLSupported=v,r.sign=g,r.destroyTextureCache=y,r.clearTextureCache=m,r.correctBlendMode=_,r.premultiplyTint=b,r.premultiplyRgba=x,r.premultiplyTintToRgba=T;var w=t("../const"),E=t("../settings"),S=i(E),O=t("eventemitter3"),M=i(O),P=t("./pluginTarget"),C=i(P),R=t("./mixin"),A=n(R),I=t("ismobilejs"),D=n(I),L=t("remove-array-items"),N=i(L),B=t("./mapPremultipliedBlendModes"),k=i(B),F=t("earcut"),j=i(F),U=0,X=!1;r.isMobile=D,r.removeItems=N.default,r.EventEmitter=M.default,r.pluginTarget=C.default,r.mixins=A,r.earcut=j.default;var G=r.TextureCache=Object.create(null),W=r.BaseTextureCache=Object.create(null),H=r.premultiplyBlendMode=(0,k.default)()},{"../const":46,"../settings":101,"./mapPremultipliedBlendModes":126,"./mixin":128,"./pluginTarget":129,earcut:2,eventemitter3:3,ismobilejs:4,"remove-array-items":31}],126:[function(t,e,r){"use strict";function n(){for(var t=[],e=[],r=0;r<32;r++)t[r]=r,e[r]=r;t[i.BLEND_MODES.NORMAL_NPM]=i.BLEND_MODES.NORMAL,t[i.BLEND_MODES.ADD_NPM]=i.BLEND_MODES.ADD,t[i.BLEND_MODES.SCREEN_NPM]=i.BLEND_MODES.SCREEN,e[i.BLEND_MODES.NORMAL]=i.BLEND_MODES.NORMAL_NPM,e[i.BLEND_MODES.ADD]=i.BLEND_MODES.ADD_NPM,e[i.BLEND_MODES.SCREEN]=i.BLEND_MODES.SCREEN_NPM;var n=[];return n.push(e),n.push(t),n}r.__esModule=!0,r.default=n;var i=t("../const")},{"../const":46}],127:[function(t,e,r){"use strict";function n(t){return o.default.tablet||o.default.phone?4:t}r.__esModule=!0,r.default=n;var i=t("ismobilejs"),o=function(t){return t&&t.__esModule?t:{default:t}}(i)},{ismobilejs:4}],128:[function(t,e,r){"use strict";function n(t,e){if(t&&e)for(var r=Object.keys(e),n=0;n1?this._fontStyle="italic":t.indexOf("oblique")>-1?this._fontStyle="oblique":this._fontStyle="normal",t.indexOf("small-caps")>-1?this._fontVariant="small-caps":this._fontVariant="normal";var e=t.split(" "),r=-1;this._fontSize=26;for(var i=0;i-1&&r=this._durations[this.currentFrame];)n-=this._durations[this.currentFrame]*i,this._currentTime+=i;this._currentTime+=n/this._durations[this.currentFrame]}else this._currentTime+=e;this._currentTime<0&&!this.loop?(this.gotoAndStop(0),this.onComplete&&this.onComplete()):this._currentTime>=this._textures.length&&!this.loop?(this.gotoAndStop(this._textures.length-1),this.onComplete&&this.onComplete()):r!==this.currentFrame&&(this.loop&&this.onLoop&&(this.animationSpeed>0&&this.currentFramer&&this.onLoop()),this.updateTexture())},e.prototype.updateTexture=function(){this._texture=this._textures[this.currentFrame],this._textureID=-1,this.cachedTint=16777215,this.updateAnchor&&this._anchor.copy(this._texture.defaultAnchor),this.onFrameChange&&this.onFrameChange(this.currentFrame)},e.prototype.destroy=function(e){this.stop(),t.prototype.destroy.call(this,e)},e.fromFrames=function(t){for(var r=[],n=0;n1&&void 0!==arguments[1]?arguments[1]:{};i(this,e);var s=o(this,t.call(this));return s._textWidth=0,s._textHeight=0,s._glyphs=[],s._font={tint:void 0!==n.tint?n.tint:16777215,align:n.align||"left",name:null,size:0},s.font=n.font,s._text=r,s._maxWidth=0,s._maxLineHeight=0,s._letterSpacing=0,s._anchor=new c.default(function(){s.dirty=!0},s,0,0),s.dirty=!1,s.updateText(),s}return s(e,t),e.prototype.updateText=function(){for(var t=e.fonts[this._font.name],r=this._font.size/t.size,n=new h.Point,i=[],o=[],s=this.text.replace(/(?:\r\n|\r)/g,"\n"),a=s.length,u=this._maxWidth*t.size/this._font.size,l=null,c=0,d=0,f=0,p=-1,v=0,g=0,y=0,m=0;m0&&n.x>u&&(++g,h.utils.removeItems(i,1+p-g,1+m-p),m=p,p=-1,o.push(v),d=Math.max(d,v),f++,n.x=0,n.y+=t.lineHeight,l=null))}else o.push(c),d=Math.max(d,c),++f,++g,n.x=0,n.y+=t.lineHeight,l=null}var T=s.charAt(s.length-1);"\r"!==T&&"\n"!==T&&(/(?:\s)/.test(T)&&(c=v),o.push(c),d=Math.max(d,c));for(var w=[],E=0;E<=f;E++){var S=0;"right"===this._font.align?S=d-o[E]:"center"===this._font.align&&(S=(d-o[E])/2),w.push(S)}for(var O=i.length,M=this.tint,P=0;P=0?t:16777215,this.dirty=!0}},{key:"align",get:function(){return this._font.align},set:function(t){this._font.align=t||"left",this.dirty=!0}},{key:"anchor",get:function(){return this._anchor},set:function(t){"number"==typeof t?this._anchor.set(t):this._anchor.copy(t)}},{key:"font",get:function(){return this._font},set:function(t){t&&("string"==typeof t?(t=t.split(" "),this._font.name=1===t.length?t[0]:t.slice(1).join(" "),this._font.size=t.length>=2?parseInt(t[0],10):e.fonts[this._font.name].size):(this._font.name=t.name,this._font.size="number"==typeof t.size?t.size:parseInt(t.size,10)),this.dirty=!0)}},{key:"text",get:function(){return this._text},set:function(t){t=t.toString()||" ",this._text!==t&&(this._text=t,this.dirty=!0)}},{key:"maxWidth",get:function(){return this._maxWidth},set:function(t){this._maxWidth!==t&&(this._maxWidth=t,this.dirty=!0)}},{key:"maxLineHeight",get:function(){return this.validate(),this._maxLineHeight}},{key:"textWidth",get:function(){return this.validate(),this._textWidth}},{key:"letterSpacing",get:function(){return this._letterSpacing},set:function(t){this._letterSpacing!==t&&(this._letterSpacing=t,this.dirty=!0)}},{key:"textHeight",get:function(){return this.validate(),this._textHeight}}]),e}(h.Container);r.default=v,v.fonts={}},{"../core":65,"../core/math/ObservablePoint":68,"../core/settings":101,"../core/utils":125}],137:[function(t,e,r){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}r.__esModule=!0;var s=function(){function t(t,e){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:100,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:100;n(this,e);var a=i(this,t.call(this,r));return a.tileTransform=new u.TransformStatic,a._width=o,a._height=s,a._canvasPattern=null,a.uvTransform=r.transform||new u.TextureMatrix(r),a.pluginName="tilingSprite",a.uvRespectAnchor=!1,a}return o(e,t),e.prototype._onTextureUpdate=function(){this.uvTransform&&(this.uvTransform.texture=this._texture),this.cachedTint=16777215},e.prototype._renderWebGL=function(t){var e=this._texture;e&&e.valid&&(this.tileTransform.updateLocalTransform(),this.uvTransform.update(),t.setObjectRenderer(t.plugins[this.pluginName]),t.plugins[this.pluginName].render(this))},e.prototype._renderCanvas=function(t){var e=this._texture;if(e.baseTexture.hasLoaded){var r=t.context,n=this.worldTransform,i=t.resolution,o=2===e.rotate,s=e.baseTexture,a=s.resolution,h=this.tilePosition.x/this.tileScale.x%e.orig.width*a,c=this.tilePosition.y/this.tileScale.y%e.orig.height*a;if(this._textureID!==this._texture._updateID||this.cachedTint!==this.tint){this._textureID=this._texture._updateID;var d=new u.CanvasRenderTarget(e.orig.width,e.orig.height,a);if(16777215!==this.tint)this.tintedTexture=l.default.getTintedTexture(this,this.tint),d.context.drawImage(this.tintedTexture,0,0);else{var f=e._frame.x*a,p=e._frame.y*a,v=e._frame.width*a,g=e._frame.height*a,y=(e.trim?e.trim.width:e.orig.width)*a,m=(e.trim?e.trim.height:e.orig.height)*a,_=(e.trim?e.trim.x:0)*a,b=(e.trim?e.trim.y:0)*a;o?(d.context.rotate(-Math.PI/2),d.context.translate(-m,0),d.context.drawImage(s.source,f,p,v,g,-b,_,m,y)):d.context.drawImage(s.source,f,p,v,g,_,b,y,m)}this.cachedTint=this.tint,this._canvasPattern=d.context.createPattern(d.canvas,"repeat")}r.globalAlpha=this.worldAlpha,r.setTransform(n.a*i,n.b*i,n.c*i,n.d*i,n.tx*i,n.ty*i),t.setBlendMode(this.blendMode),r.fillStyle=this._canvasPattern,r.scale(this.tileScale.x/a,this.tileScale.y/a);var x=this.anchor.x*-this._width*a,T=this.anchor.y*-this._height*a;this.uvRespectAnchor?(r.translate(h,c),r.fillRect(-h+x,-c+T,this._width/this.tileScale.x*a,this._height/this.tileScale.y*a)):(r.translate(h+x,c+T),r.fillRect(-h,-c,this._width/this.tileScale.x*a,this._height/this.tileScale.y*a))}},e.prototype._calculateBounds=function(){var t=this._width*-this._anchor._x,e=this._height*-this._anchor._y,r=this._width*(1-this._anchor._x),n=this._height*(1-this._anchor._y);this._bounds.addFrame(this.transform,t,e,r,n)},e.prototype.getLocalBounds=function(e){return 0===this.children.length?(this._bounds.minX=this._width*-this._anchor._x, -this._bounds.minY=this._height*-this._anchor._y,this._bounds.maxX=this._width*(1-this._anchor._x),this._bounds.maxY=this._height*(1-this._anchor._y),e||(this._localBoundsRect||(this._localBoundsRect=new u.Rectangle),e=this._localBoundsRect),this._bounds.getRectangle(e)):t.prototype.getLocalBounds.call(this,e)},e.prototype.containsPoint=function(t){this.worldTransform.applyInverse(t,c);var e=this._width,r=this._height,n=-e*this.anchor._x;if(c.x>=n&&c.x=i&&c.y0&&void 0!==arguments[0]?arguments[0]:new i.Point,e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return this.parent?this.parent.toGlobal(this.position,t,e):(t.x=this.position.x,t.y=this.position.y),t}},{"../core":65}],141:[function(t,e,r){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}r.__esModule=!0,r.BitmapText=r.TilingSpriteRenderer=r.TilingSprite=r.AnimatedSprite=void 0;var i=t("./AnimatedSprite");Object.defineProperty(r,"AnimatedSprite",{enumerable:!0,get:function(){return n(i).default}});var o=t("./TilingSprite");Object.defineProperty(r,"TilingSprite",{enumerable:!0,get:function(){return n(o).default}});var s=t("./webgl/TilingSpriteRenderer");Object.defineProperty(r,"TilingSpriteRenderer",{enumerable:!0,get:function(){return n(s).default}});var a=t("./BitmapText");Object.defineProperty(r,"BitmapText",{enumerable:!0,get:function(){return n(a).default}}),t("./cacheAsBitmap"),t("./getChildByName"),t("./getGlobalPosition")},{"./AnimatedSprite":135,"./BitmapText":136,"./TilingSprite":137,"./cacheAsBitmap":138,"./getChildByName":139,"./getGlobalPosition":140,"./webgl/TilingSpriteRenderer":142}],142:[function(t,e,r){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}r.__esModule=!0;var s=t("../../core"),a=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e.default=t,e}(s),u=t("../../core/const"),h=(t("path"),new a.Matrix),l=function(t){function e(r){n(this,e);var o=i(this,t.call(this,r));return o.shader=null,o.simpleShader=null,o.quad=null,o}return o(e,t),e.prototype.onContextChange=function(){var t=this.renderer.gl;this.shader=new a.Shader(t,"attribute vec2 aVertexPosition;\nattribute vec2 aTextureCoord;\n\nuniform mat3 projectionMatrix;\nuniform mat3 translationMatrix;\nuniform mat3 uTransform;\n\nvarying vec2 vTextureCoord;\n\nvoid main(void)\n{\n gl_Position = vec4((projectionMatrix * translationMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\n\n vTextureCoord = (uTransform * vec3(aTextureCoord, 1.0)).xy;\n}\n","varying vec2 vTextureCoord;\n\nuniform sampler2D uSampler;\nuniform vec4 uColor;\nuniform mat3 uMapCoord;\nuniform vec4 uClampFrame;\nuniform vec2 uClampOffset;\n\nvoid main(void)\n{\n vec2 coord = mod(vTextureCoord - uClampOffset, vec2(1.0, 1.0)) + uClampOffset;\n coord = (uMapCoord * vec3(coord, 1.0)).xy;\n coord = clamp(coord, uClampFrame.xy, uClampFrame.zw);\n\n vec4 sample = texture2D(uSampler, coord);\n gl_FragColor = sample * uColor;\n}\n"),this.simpleShader=new a.Shader(t,"attribute vec2 aVertexPosition;\nattribute vec2 aTextureCoord;\n\nuniform mat3 projectionMatrix;\nuniform mat3 translationMatrix;\nuniform mat3 uTransform;\n\nvarying vec2 vTextureCoord;\n\nvoid main(void)\n{\n gl_Position = vec4((projectionMatrix * translationMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\n\n vTextureCoord = (uTransform * vec3(aTextureCoord, 1.0)).xy;\n}\n","varying vec2 vTextureCoord;\n\nuniform sampler2D uSampler;\nuniform vec4 uColor;\n\nvoid main(void)\n{\n vec4 sample = texture2D(uSampler, vTextureCoord);\n gl_FragColor = sample * uColor;\n}\n"),this.renderer.bindVao(null),this.quad=new a.Quad(t,this.renderer.state.attribState),this.quad.initVao(this.shader)},e.prototype.render=function(t){var e=this.renderer,r=this.quad;e.bindVao(r.vao);var n=r.vertices;n[0]=n[6]=t._width*-t.anchor.x,n[1]=n[3]=t._height*-t.anchor.y,n[2]=n[4]=t._width*(1-t.anchor.x),n[5]=n[7]=t._height*(1-t.anchor.y),t.uvRespectAnchor&&(n=r.uvs,n[0]=n[6]=-t.anchor.x,n[1]=n[3]=-t.anchor.y,n[2]=n[4]=1-t.anchor.x,n[5]=n[7]=1-t.anchor.y),r.upload();var i=t._texture,o=i.baseTexture,s=t.tileTransform.localTransform,l=t.uvTransform,c=o.isPowerOfTwo&&i.frame.width===o.width&&i.frame.height===o.height;c&&(o._glTextures[e.CONTEXT_UID]?c=o.wrapMode!==u.WRAP_MODES.CLAMP:o.wrapMode===u.WRAP_MODES.CLAMP&&(o.wrapMode=u.WRAP_MODES.REPEAT));var d=c?this.simpleShader:this.shader;e.bindShader(d);var f=i.width,p=i.height,v=t._width,g=t._height;h.set(s.a*f/v,s.b*f/g,s.c*p/v,s.d*p/g,s.tx/v,s.ty/g),h.invert(),c?h.prepend(l.mapCoord):(d.uniforms.uMapCoord=l.mapCoord.toArray(!0),d.uniforms.uClampFrame=l.uClampFrame,d.uniforms.uClampOffset=l.uClampOffset),d.uniforms.uTransform=h.toArray(!0),d.uniforms.uColor=a.utils.premultiplyTintToRgba(t.tint,t.worldAlpha,d.uniforms.uColor,o.premultipliedAlpha),d.uniforms.translationMatrix=t.transform.worldTransform.toArray(!0),d.uniforms.uSampler=e.bindTexture(i),e.setBlendMode(a.utils.correctBlendMode(t.blendMode,o.premultipliedAlpha)),r.vao.draw(this.renderer.gl.TRIANGLES,6,0)},e}(a.ObjectRenderer);r.default=l,a.WebGLRenderer.registerPlugin("tilingSprite",l)},{"../../core":65,"../../core/const":46,path:8}],143:[function(t,e,r){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}r.__esModule=!0;var s=function(){function t(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:1;n(this,e);var o=i(this,t.call(this,"attribute vec2 aVertexPosition;\nattribute vec2 aTextureCoord;\n\nuniform mat3 projectionMatrix;\n\nvarying vec2 vTextureCoord;\n\nvoid main(void)\n{\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\n vTextureCoord = aTextureCoord;\n}","varying vec2 vTextureCoord;\n\nuniform sampler2D uSampler;\nuniform float uAlpha;\n\nvoid main(void)\n{\n gl_FragColor = texture2D(uSampler, vTextureCoord) * uAlpha;\n}\n"));return o.alpha=r,o.glShaderKey="alpha",o}return o(e,t),s(e,[{key:"alpha",get:function(){return this.uniforms.uAlpha},set:function(t){this.uniforms.uAlpha=t}}]),e}(u.Filter));r.default=h},{"../../core":65,path:8}],144:[function(t,e,r){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}r.__esModule=!0;var a=function(){function t(t,e){for(var r=0;r=r&&(u=t-h-1),l=l.replace("%value%",e[u]),s+=l,s+="\n"}return n=n.replace("%blur%",s),n=n.replace("%size%",t)}r.__esModule=!0,r.default=n;var i={5:[.153388,.221461,.250301],7:[.071303,.131514,.189879,.214607],9:[.028532,.067234,.124009,.179044,.20236],11:[.0093,.028002,.065984,.121703,.175713,.198596],13:[.002406,.009255,.027867,.065666,.121117,.174868,.197641],15:[489e-6,.002403,.009246,.02784,.065602,.120999,.174697,.197448]},o=["varying vec2 vBlurTexCoords[%size%];","uniform sampler2D uSampler;","void main(void)","{"," gl_FragColor = vec4(0.0);"," %blur%","}"].join("\n")},{}],148:[function(t,e,r){"use strict";function n(t,e){var r=Math.ceil(t/2),n=i,o="",s=void 0;s=e?"vBlurTexCoords[%index%] = aTextureCoord + vec2(%sampleIndex% * strength, 0.0);":"vBlurTexCoords[%index%] = aTextureCoord + vec2(0.0, %sampleIndex% * strength);";for(var a=0;ae;)r-=2;return r}r.__esModule=!0,r.default=n},{}],150:[function(t,e,r){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}r.__esModule=!0;var s=function(){function t(t,e){for(var r=0;r 0.0) {\n c.rgb /= c.a;\n }\n\n vec4 result;\n\n result.r = (m[0] * c.r);\n result.r += (m[1] * c.g);\n result.r += (m[2] * c.b);\n result.r += (m[3] * c.a);\n result.r += m[4];\n\n result.g = (m[5] * c.r);\n result.g += (m[6] * c.g);\n result.g += (m[7] * c.b);\n result.g += (m[8] * c.a);\n result.g += m[9];\n\n result.b = (m[10] * c.r);\n result.b += (m[11] * c.g);\n result.b += (m[12] * c.b);\n result.b += (m[13] * c.a);\n result.b += m[14];\n\n result.a = (m[15] * c.r);\n result.a += (m[16] * c.g);\n result.a += (m[17] * c.b);\n result.a += (m[18] * c.a);\n result.a += m[19];\n\n vec3 rgb = mix(c.rgb, result.rgb, uAlpha);\n\n // Premultiply alpha again.\n rgb *= result.a;\n\n gl_FragColor = vec4(rgb, result.a);\n}\n"));return r.uniforms.m=[1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0],r.alpha=1,r}return o(e,t),e.prototype._loadMatrix=function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=t;e&&(this._multiply(r,this.uniforms.m,t),r=this._colorMatrix(r)),this.uniforms.m=r},e.prototype._multiply=function(t,e,r){return t[0]=e[0]*r[0]+e[1]*r[5]+e[2]*r[10]+e[3]*r[15],t[1]=e[0]*r[1]+e[1]*r[6]+e[2]*r[11]+e[3]*r[16],t[2]=e[0]*r[2]+e[1]*r[7]+e[2]*r[12]+e[3]*r[17],t[3]=e[0]*r[3]+e[1]*r[8]+e[2]*r[13]+e[3]*r[18],t[4]=e[0]*r[4]+e[1]*r[9]+e[2]*r[14]+e[3]*r[19]+e[4],t[5]=e[5]*r[0]+e[6]*r[5]+e[7]*r[10]+e[8]*r[15],t[6]=e[5]*r[1]+e[6]*r[6]+e[7]*r[11]+e[8]*r[16],t[7]=e[5]*r[2]+e[6]*r[7]+e[7]*r[12]+e[8]*r[17],t[8]=e[5]*r[3]+e[6]*r[8]+e[7]*r[13]+e[8]*r[18],t[9]=e[5]*r[4]+e[6]*r[9]+e[7]*r[14]+e[8]*r[19]+e[9],t[10]=e[10]*r[0]+e[11]*r[5]+e[12]*r[10]+e[13]*r[15],t[11]=e[10]*r[1]+e[11]*r[6]+e[12]*r[11]+e[13]*r[16],t[12]=e[10]*r[2]+e[11]*r[7]+e[12]*r[12]+e[13]*r[17],t[13]=e[10]*r[3]+e[11]*r[8]+e[12]*r[13]+e[13]*r[18],t[14]=e[10]*r[4]+e[11]*r[9]+e[12]*r[14]+e[13]*r[19]+e[14],t[15]=e[15]*r[0]+e[16]*r[5]+e[17]*r[10]+e[18]*r[15],t[16]=e[15]*r[1]+e[16]*r[6]+e[17]*r[11]+e[18]*r[16],t[17]=e[15]*r[2]+e[16]*r[7]+e[17]*r[12]+e[18]*r[17],t[18]=e[15]*r[3]+e[16]*r[8]+e[17]*r[13]+e[18]*r[18],t[19]=e[15]*r[4]+e[16]*r[9]+e[17]*r[14]+e[18]*r[19]+e[19],t},e.prototype._colorMatrix=function(t){var e=new Float32Array(t);return e[4]/=255,e[9]/=255,e[14]/=255,e[19]/=255,e},e.prototype.brightness=function(t,e){var r=[t,0,0,0,0,0,t,0,0,0,0,0,t,0,0,0,0,0,1,0];this._loadMatrix(r,e)},e.prototype.greyscale=function(t,e){var r=[t,t,t,0,0,t,t,t,0,0,t,t,t,0,0,0,0,0,1,0];this._loadMatrix(r,e)},e.prototype.blackAndWhite=function(t){var e=[.3,.6,.1,0,0,.3,.6,.1,0,0,.3,.6,.1,0,0,0,0,0,1,0];this._loadMatrix(e,t)},e.prototype.hue=function(t,e){t=(t||0)/180*Math.PI;var r=Math.cos(t),n=Math.sin(t),i=Math.sqrt,o=1/3,s=i(o),a=r+(1-r)*o,u=o*(1-r)-s*n,h=o*(1-r)+s*n,l=o*(1-r)+s*n,c=r+o*(1-r),d=o*(1-r)-s*n,f=o*(1-r)-s*n,p=o*(1-r)+s*n,v=r+o*(1-r),g=[a,u,h,0,0,l,c,d,0,0,f,p,v,0,0,0,0,0,1,0];this._loadMatrix(g,e)},e.prototype.contrast=function(t,e){var r=(t||0)+1,n=-.5*(r-1),i=[r,0,0,0,n,0,r,0,0,n,0,0,r,0,n,0,0,0,1,0];this._loadMatrix(i,e)},e.prototype.saturate=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments[1],r=2*t/3+1,n=-.5*(r-1),i=[r,n,n,0,0,n,r,n,0,0,n,n,r,0,0,0,0,0,1,0];this._loadMatrix(i,e)},e.prototype.desaturate=function(){this.saturate(-1)},e.prototype.negative=function(t){var e=[-1,0,0,1,0,0,-1,0,1,0,0,0,-1,1,0,0,0,0,1,0];this._loadMatrix(e,t)},e.prototype.sepia=function(t){var e=[.393,.7689999,.18899999,0,0,.349,.6859999,.16799999,0,0,.272,.5339999,.13099999,0,0,0,0,0,1,0];this._loadMatrix(e,t)},e.prototype.technicolor=function(t){var e=[1.9125277891456083,-.8545344976951645,-.09155508482755585,0,11.793603434377337,-.3087833385928097,1.7658908555458428,-.10601743074722245,0,-70.35205161461398,-.231103377548616,-.7501899197440212,1.847597816108189,0,30.950940869491138,0,0,0,1,0];this._loadMatrix(e,t)},e.prototype.polaroid=function(t){var e=[1.438,-.062,-.062,0,0,-.122,1.378,-.122,0,0,-.016,-.016,1.483,0,0,0,0,0,1,0];this._loadMatrix(e,t)},e.prototype.toBGR=function(t){var e=[0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,0];this._loadMatrix(e,t)},e.prototype.kodachrome=function(t){var e=[1.1285582396593525,-.3967382283601348,-.03992559172921793,0,63.72958762196502,-.16404339962244616,1.0835251566291304,-.05498805115633132,0,24.732407896706203,-.16786010706155763,-.5603416277695248,1.6014850761964943,0,35.62982807460946,0,0,0,1,0];this._loadMatrix(e,t)},e.prototype.browni=function(t){var e=[.5997023498159715,.34553243048391263,-.2708298674538042,0,47.43192855600873,-.037703249837783157,.8609577587992641,.15059552388459913,0,-36.96841498319127,.24113635128153335,-.07441037908422492,.44972182064877153,0,-7.562075277591283,0,0,0,1,0];this._loadMatrix(e,t)},e.prototype.vintage=function(t){var e=[.6279345635605994,.3202183420819367,-.03965408211312453,0,9.651285835294123,.02578397704808868,.6441188644374771,.03259127616149294,0,7.462829176470591,.0466055556782719,-.0851232987247891,.5241648018700465,0,5.159190588235296,0,0,0,1,0];this._loadMatrix(e,t)},e.prototype.colorTone=function(t,e,r,n,i){t=t||.2,e=e||.15,r=r||16770432,n=n||3375104;var o=(r>>16&255)/255,s=(r>>8&255)/255,a=(255&r)/255,u=(n>>16&255)/255,h=(n>>8&255)/255,l=(255&n)/255,c=[.3,.59,.11,0,0,o,s,a,t,0,u,h,l,e,0,o-u,s-h,a-l,0,0];this._loadMatrix(c,i)},e.prototype.night=function(t,e){t=t||.1;var r=[-2*t,-t,0,0,0,-t,0,t,0,0,0,t,2*t,0,0,0,0,0,1,0];this._loadMatrix(r,e)},e.prototype.predator=function(t,e){var r=[11.224130630493164*t,-4.794486999511719*t,-2.8746118545532227*t,0*t,.40342438220977783*t,-3.6330697536468506*t,9.193157196044922*t,-2.951810836791992*t,0*t,-1.316135048866272*t,-3.2184197902679443*t,-4.2375030517578125*t,7.476448059082031*t,0*t,.8044459223747253*t,0,0,0,1,0];this._loadMatrix(r,e)},e.prototype.lsd=function(t){var e=[2,-.4,.5,0,0,-.5,2,-.4,0,0,-.4,-.5,3,0,0,0,0,0,1,0];this._loadMatrix(e,t)},e.prototype.reset=function(){var t=[1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0];this._loadMatrix(t,!1)},s(e,[{key:"matrix",get:function(){return this.uniforms.m},set:function(t){this.uniforms.m=t}},{key:"alpha",get:function(){return this.uniforms.uAlpha}, -set:function(t){this.uniforms.uAlpha=t}}]),e}(u.Filter));r.default=h,h.prototype.grayscale=h.prototype.greyscale},{"../../core":65,path:8}],151:[function(t,e,r){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}r.__esModule=!0;var s=function(){function t(t,e){for(var r=0;r lumaMax))\n color = vec4(rgbA, texColor.a);\n else\n color = vec4(rgbB, texColor.a);\n return color;\n}\n\nvoid main() {\n\n vec2 fragCoord = vTextureCoord * filterArea.xy;\n\n vec4 color;\n\n color = fxaa(uSampler, fragCoord, filterArea.xy, v_rgbNW, v_rgbNE, v_rgbSW, v_rgbSE, v_rgbM);\n\n gl_FragColor = color;\n}\n'))}return o(e,t),e}(a.Filter));r.default=u},{"../../core":65,path:8}],153:[function(t,e,r){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}r.__esModule=!0;var i=t("./fxaa/FXAAFilter");Object.defineProperty(r,"FXAAFilter",{enumerable:!0,get:function(){return n(i).default}});var o=t("./noise/NoiseFilter");Object.defineProperty(r,"NoiseFilter",{enumerable:!0,get:function(){return n(o).default}});var s=t("./displacement/DisplacementFilter");Object.defineProperty(r,"DisplacementFilter",{enumerable:!0,get:function(){return n(s).default}});var a=t("./blur/BlurFilter");Object.defineProperty(r,"BlurFilter",{enumerable:!0,get:function(){return n(a).default}});var u=t("./blur/BlurXFilter");Object.defineProperty(r,"BlurXFilter",{enumerable:!0,get:function(){return n(u).default}});var h=t("./blur/BlurYFilter");Object.defineProperty(r,"BlurYFilter",{enumerable:!0,get:function(){return n(h).default}});var l=t("./colormatrix/ColorMatrixFilter");Object.defineProperty(r,"ColorMatrixFilter",{enumerable:!0,get:function(){return n(l).default}});var c=t("./alpha/AlphaFilter");Object.defineProperty(r,"AlphaFilter",{enumerable:!0,get:function(){return n(c).default}})},{"./alpha/AlphaFilter":143,"./blur/BlurFilter":144,"./blur/BlurXFilter":145,"./blur/BlurYFilter":146,"./colormatrix/ColorMatrixFilter":150,"./displacement/DisplacementFilter":151,"./fxaa/FXAAFilter":152,"./noise/NoiseFilter":154}],154:[function(t,e,r){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}r.__esModule=!0;var s=function(){function t(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:.5,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Math.random();n(this,e);var s=i(this,t.call(this,"attribute vec2 aVertexPosition;\nattribute vec2 aTextureCoord;\n\nuniform mat3 projectionMatrix;\n\nvarying vec2 vTextureCoord;\n\nvoid main(void)\n{\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\n vTextureCoord = aTextureCoord;\n}","precision highp float;\n\nvarying vec2 vTextureCoord;\nvarying vec4 vColor;\n\nuniform float uNoise;\nuniform float uSeed;\nuniform sampler2D uSampler;\n\nfloat rand(vec2 co)\n{\n return fract(sin(dot(co.xy, vec2(12.9898, 78.233))) * 43758.5453);\n}\n\nvoid main()\n{\n vec4 color = texture2D(uSampler, vTextureCoord);\n float randomValue = rand(gl_FragCoord.xy * uSeed);\n float diff = (randomValue - 0.5) * uNoise;\n\n // Un-premultiply alpha before applying the color matrix. See issue #3539.\n if (color.a > 0.0) {\n color.rgb /= color.a;\n }\n\n color.r += diff;\n color.g += diff;\n color.b += diff;\n\n // Premultiply alpha again.\n color.rgb *= color.a;\n\n gl_FragColor = color;\n}\n"));return s.noise=r,s.seed=o,s}return o(e,t),s(e,[{key:"noise",get:function(){return this.uniforms.uNoise},set:function(t){this.uniforms.uNoise=t}},{key:"seed",get:function(){return this.uniforms.uSeed},set:function(t){this.uniforms.uSeed=t}}]),e}(u.Filter));r.default=h},{"../../core":65,path:8}],155:[function(t,e,r){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}r.__esModule=!0;var i=function(){function t(t,e){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:1;this.removeEvents(),this.interactionDOMElement=t,this.resolution=e,this.addEvents()},e.prototype.addEvents=function(){this.interactionDOMElement&&(h.ticker.shared.add(this.update,this,h.UPDATE_PRIORITY.INTERACTION),window.navigator.msPointerEnabled?(this.interactionDOMElement.style["-ms-content-zooming"]="none",this.interactionDOMElement.style["-ms-touch-action"]="none"):this.supportsPointerEvents&&(this.interactionDOMElement.style["touch-action"]="none"),this.supportsPointerEvents?(window.document.addEventListener("pointermove",this.onPointerMove,!0),this.interactionDOMElement.addEventListener("pointerdown",this.onPointerDown,!0),this.interactionDOMElement.addEventListener("pointerleave",this.onPointerOut,!0),this.interactionDOMElement.addEventListener("pointerover",this.onPointerOver,!0),window.addEventListener("pointercancel",this.onPointerCancel,!0),window.addEventListener("pointerup",this.onPointerUp,!0)):(window.document.addEventListener("mousemove",this.onPointerMove,!0),this.interactionDOMElement.addEventListener("mousedown",this.onPointerDown,!0),this.interactionDOMElement.addEventListener("mouseout",this.onPointerOut,!0),this.interactionDOMElement.addEventListener("mouseover",this.onPointerOver,!0),window.addEventListener("mouseup",this.onPointerUp,!0)),this.supportsTouchEvents&&(this.interactionDOMElement.addEventListener("touchstart",this.onPointerDown,!0),this.interactionDOMElement.addEventListener("touchcancel",this.onPointerCancel,!0),this.interactionDOMElement.addEventListener("touchend",this.onPointerUp,!0),this.interactionDOMElement.addEventListener("touchmove",this.onPointerMove,!0)),this.eventsAdded=!0)},e.prototype.removeEvents=function(){this.interactionDOMElement&&(h.ticker.shared.remove(this.update,this),window.navigator.msPointerEnabled?(this.interactionDOMElement.style["-ms-content-zooming"]="",this.interactionDOMElement.style["-ms-touch-action"]=""):this.supportsPointerEvents&&(this.interactionDOMElement.style["touch-action"]=""),this.supportsPointerEvents?(window.document.removeEventListener("pointermove",this.onPointerMove,!0),this.interactionDOMElement.removeEventListener("pointerdown",this.onPointerDown,!0),this.interactionDOMElement.removeEventListener("pointerleave",this.onPointerOut,!0),this.interactionDOMElement.removeEventListener("pointerover",this.onPointerOver,!0),window.removeEventListener("pointercancel",this.onPointerCancel,!0),window.removeEventListener("pointerup",this.onPointerUp,!0)):(window.document.removeEventListener("mousemove",this.onPointerMove,!0),this.interactionDOMElement.removeEventListener("mousedown",this.onPointerDown,!0),this.interactionDOMElement.removeEventListener("mouseout",this.onPointerOut,!0),this.interactionDOMElement.removeEventListener("mouseover",this.onPointerOver,!0),window.removeEventListener("mouseup",this.onPointerUp,!0)),this.supportsTouchEvents&&(this.interactionDOMElement.removeEventListener("touchstart",this.onPointerDown,!0),this.interactionDOMElement.removeEventListener("touchcancel",this.onPointerCancel,!0),this.interactionDOMElement.removeEventListener("touchend",this.onPointerUp,!0),this.interactionDOMElement.removeEventListener("touchmove",this.onPointerMove,!0)),this.interactionDOMElement=null,this.eventsAdded=!1)},e.prototype.update=function(t){if(this._deltaTime+=t,!(this._deltaTime=0;l--){var c=h[l],d=this.processInteractive(t,c,r,n,a);if(d){if(!c.parent)continue;a=!1,d&&(t.target&&(n=!1),s=!0)}}return i&&(n&&!t.target&&!e.hitArea&&e.containsPoint&&e.containsPoint(o)&&(s=!0),e.interactive&&(s&&!t.target&&(t.target=e),r&&r(t,e,!!s))),s},e.prototype.onPointerDown=function(t){if(!this.supportsTouchEvents||"touch"!==t.pointerType){var e=this.normalizeToPointerData(t);this.autoPreventDefault&&e[0].isNormalized&&t.preventDefault();for(var r=e.length,n=0;ne?1:this._height/e;t[9]=t[11]=t[13]=t[15]=this._topHeight*r,t[17]=t[19]=t[21]=t[23]=this._height-this._bottomHeight*r,t[25]=t[27]=t[29]=t[31]=this._height},e.prototype.updateVerticalVertices=function(){var t=this.vertices,e=this._leftWidth+this._rightWidth,r=this._width>e?1:this._width/e;t[2]=t[10]=t[18]=t[26]=this._leftWidth*r,t[4]=t[12]=t[20]=t[28]=this._width-this._rightWidth*r,t[6]=t[14]=t[22]=t[30]=this._width},e.prototype._renderCanvas=function(t){var e=t.context,r=this.worldTransform,n=t.resolution,i=16777215!==this.tint,o=this._texture;i&&this._cachedTint!==this.tint&&(this._cachedTint=this.tint,this._tintedTexture=c.default.getTintedTexture(this,this.tint));var s=i?this._tintedTexture:o.baseTexture.source;this._canvasUvs||(this._canvasUvs=[0,0,0,0,0,0,0,0]);var a=this.vertices,u=this._canvasUvs,h=i?0:o.frame.x,l=i?0:o.frame.y,d=h+o.frame.width,f=l+o.frame.height;u[0]=h,u[1]=h+this._leftWidth,u[2]=d-this._rightWidth,u[3]=d,u[4]=l,u[5]=l+this._topHeight,u[6]=f-this._bottomHeight,u[7]=f;for(var p=0;p<8;p++)u[p]*=o.baseTexture.resolution;e.globalAlpha=this.worldAlpha,t.setBlendMode(this.blendMode),t.roundPixels?e.setTransform(r.a*n,r.b*n,r.c*n,r.d*n,r.tx*n|0,r.ty*n|0):e.setTransform(r.a*n,r.b*n,r.c*n,r.d*n,r.tx*n,r.ty*n);for(var v=0;v<3;v++)for(var g=0;g<3;g++){var y=2*g+8*v,m=Math.max(1,u[g+1]-u[g]),_=Math.max(1,u[v+5]-u[v+4]),b=Math.max(1,a[y+10]-a[y]),x=Math.max(1,a[y+11]-a[y+1]);e.drawImage(s,u[g],u[v+4],m,_,a[y],a[y+1],b,x)}},e.prototype._refresh=function(){t.prototype._refresh.call(this);var e=this.uvs,r=this._texture;this._origWidth=r.orig.width,this._origHeight=r.orig.height;var n=1/this._origWidth,i=1/this._origHeight;e[0]=e[8]=e[16]=e[24]=0,e[1]=e[3]=e[5]=e[7]=0,e[6]=e[14]=e[22]=e[30]=1,e[25]=e[27]=e[29]=e[31]=1,e[2]=e[10]=e[18]=e[26]=n*this._leftWidth,e[4]=e[12]=e[20]=e[28]=1-n*this._rightWidth,e[9]=e[11]=e[13]=e[15]=i*this._topHeight,e[17]=e[19]=e[21]=e[23]=1-i*this._bottomHeight,this.updateHorizontalVertices(),this.updateVerticalVertices(),this.dirty++,this.multiplyUvs()},a(e,[{key:"width",get:function(){return this._width},set:function(t){this._width=t,this._refresh()}},{key:"height",get:function(){return this._height},set:function(t){this._height=t,this._refresh()}},{key:"leftWidth",get:function(){return this._leftWidth},set:function(t){this._leftWidth=t,this._refresh()}},{key:"rightWidth",get:function(){return this._rightWidth},set:function(t){this._rightWidth=t,this._refresh()}},{key:"topHeight",get:function(){return this._topHeight},set:function(t){this._topHeight=t,this._refresh()}},{key:"bottomHeight",get:function(){return this._bottomHeight},set:function(t){this._bottomHeight=t,this._refresh()}}]),e}(h.default);r.default=f},{"../core/sprites/canvas/CanvasTinter":104,"./Plane":168}],168:[function(t,e,r){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}r.__esModule=!0;var s=t("./Mesh"),a=function(t){return t&&t.__esModule?t:{default:t}}(s),u=function(t){function e(r,o,s){n(this,e);var u=i(this,t.call(this,r));return u._ready=!0,u.verticesX=o||10,u.verticesY=s||10,u.drawMode=a.default.DRAW_MODES.TRIANGLES,u.refresh(),u}return o(e,t),e.prototype._refresh=function(){for(var t=this._texture,e=this.verticesX*this.verticesY,r=[],n=[],i=[],o=[],s=this.verticesX-1,a=this.verticesY-1,u=t.width/s,h=t.height/a,l=0;l1&&(l=1);var c=Math.sqrt(n*n+i*i),d=this._texture.height/2;n/=c,i/=c,n*=d,i*=d,o[h]=u.x+n,o[h+1]=u.y+i,o[h+2]=u.x-n,o[h+3]=u.y-i,e=u}},e.prototype.updateTransform=function(){this.autoUpdate&&this.refreshVertices(),this.containerUpdateTransform()},e}(a.default);r.default=u},{"./Mesh":166}],170:[function(t,e,r){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}r.__esModule=!0;var i=t("../../core"),o=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e.default=t,e}(i),s=t("../Mesh"),a=function(t){return t&&t.__esModule?t:{default:t}}(s),u=function(){function t(e){n(this,t),this.renderer=e}return t.prototype.render=function(t){var e=this.renderer,r=e.context,n=t.worldTransform,i=e.resolution;e.roundPixels?r.setTransform(n.a*i,n.b*i,n.c*i,n.d*i,n.tx*i|0,n.ty*i|0):r.setTransform(n.a*i,n.b*i,n.c*i,n.d*i,n.tx*i,n.ty*i),e.context.globalAlpha=t.worldAlpha,e.setBlendMode(t.blendMode),t.drawMode===a.default.DRAW_MODES.TRIANGLE_MESH?this._renderTriangleMesh(t):this._renderTriangles(t)},t.prototype._renderTriangleMesh=function(t){for(var e=t.vertices.length/2,r=0;r0){var O=S/Math.abs(t.worldTransform.a),M=S/Math.abs(t.worldTransform.d),P=(_+b+x)/3,C=(T+w+E)/3,R=_-P,A=T-C,I=Math.sqrt(R*R+A*A);_=P+R/I*(I+O),T=C+A/I*(I+M),R=b-P,A=w-C,I=Math.sqrt(R*R+A*A),b=P+R/I*(I+O),w=C+A/I*(I+M),R=x-P,A=E-C,I=Math.sqrt(R*R+A*A),x=P+R/I*(I+O),E=C+A/I*(I+M)}i.save(),i.beginPath(),i.moveTo(_,T),i.lineTo(b,w),i.lineTo(x,E),i.closePath(),i.clip();var D=d*g+v*p+f*y-g*p-v*f-d*y,L=_*g+v*x+b*y-g*x-v*b-_*y,N=d*b+_*p+f*x-b*p-_*f-d*x,B=d*g*x+v*b*p+_*f*y-_*g*p-v*f*x-d*b*y,k=T*g+v*E+w*y-g*E-v*w-T*y,F=d*w+T*p+f*E-w*p-T*f-d*E,j=d*g*E+v*w*p+T*f*y-T*g*p-v*f*E-d*w*y;i.transform(L/D,k/D,N/D,F/D,B/D,j/D),i.drawImage(h,0,0,l*u.resolution,c*u.resolution,0,0,l,c),i.restore(),this.renderer.invalidateBlendMode()}},t.prototype.renderMeshFlat=function(t){var e=this.renderer.context,r=t.vertices,n=r.length/2;e.beginPath();for(var i=1;i0&&void 0!==arguments[0]?arguments[0]:1500,o=arguments[1],s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:16384,a=arguments.length>3&&void 0!==arguments[3]&&arguments[3];n(this,e);var h=i(this,t.call(this));return s>16384&&(s=16384),s>r&&(s=r),h._properties=[!1,!0,!1,!1,!1],h._maxSize=r,h._batchSize=s,h._glBuffers={},h._bufferUpdateIDs=[],h._updateID=0,h.interactiveChildren=!1,h.blendMode=u.BLEND_MODES.NORMAL,h.autoResize=a,h.roundPixels=!0,h.baseTexture=null,h.setProperties(o),h._tint=0,h.tintRgb=new Float32Array(4),h.tint=16777215,h}return o(e,t),e.prototype.setProperties=function(t){t&&(this._properties[0]="vertices"in t||"scale"in t?!!t.vertices||!!t.scale:this._properties[0],this._properties[1]="position"in t?!!t.position:this._properties[1],this._properties[2]="rotation"in t?!!t.rotation:this._properties[2],this._properties[3]="uvs"in t?!!t.uvs:this._properties[3],this._properties[4]="tint"in t||"alpha"in t?!!t.tint||!!t.alpha:this._properties[4])},e.prototype.updateTransform=function(){this.displayObjectUpdateTransform()},e.prototype.renderWebGL=function(t){var e=this;this.visible&&!(this.worldAlpha<=0)&&this.children.length&&this.renderable&&(this.baseTexture||(this.baseTexture=this.children[0]._texture.baseTexture,this.baseTexture.hasLoaded||this.baseTexture.once("update",function(){return e.onChildrenChange(0)})),t.setObjectRenderer(t.plugins.particle),t.plugins.particle.render(this))},e.prototype.onChildrenChange=function(t){for(var e=Math.floor(t/this._batchSize);this._bufferUpdateIDs.lengthr&&(o=r);var s=t._glBuffers[i.CONTEXT_UID];s||(s=t._glBuffers[i.CONTEXT_UID]=this.generateBuffers(t));var a=e[0]._texture.baseTexture;this.renderer.setBlendMode(u.utils.correctBlendMode(t.blendMode,a.premultipliedAlpha));var h=i.gl,l=t.worldTransform.copy(this.tempMatrix);l.prepend(i._activeRenderTarget.projectionMatrix),this.shader.uniforms.projectionMatrix=l.toArray(!0),this.shader.uniforms.uColor=u.utils.premultiplyRgba(t.tintRgb,t.worldAlpha,this.shader.uniforms.uColor,a.premultipliedAlpha),this.shader.uniforms.uSampler=i.bindTexture(a);for(var c=!1,d=0,f=0;dn&&(p=n),f>=s.length){if(!t.autoResize)break;s.push(this._generateOneMoreBuffer(t))}var v=s[f];v.uploadDynamic(e,d,p);var g=t._bufferUpdateIDs[f]||0;c=c||v._updateID0?1:-1})},{}],179:[function(t,e,r){"use strict";Number.isInteger||(Number.isInteger=function(t){return"number"==typeof t&&isFinite(t)&&Math.floor(t)===t})},{}],180:[function(t,e,r){"use strict";var n=t("object-assign"),i=function(t){return t&&t.__esModule?t:{default:t}}(n);Object.assign||(Object.assign=i.default)},{"object-assign":6}],181:[function(t,e,r){"use strict";t("./Object.assign"),t("./requestAnimationFrame"),t("./Math.sign"),t("./Number.isInteger"),window.ArrayBuffer||(window.ArrayBuffer=Array),window.Float32Array||(window.Float32Array=Array),window.Uint32Array||(window.Uint32Array=Array),window.Uint16Array||(window.Uint16Array=Array)},{"./Math.sign":178,"./Number.isInteger":179,"./Object.assign":180,"./requestAnimationFrame":182}],182:[function(t,e,r){(function(t){"use strict";if(Date.now&&Date.prototype.getTime||(Date.now=function(){return(new Date).getTime()}),!t.performance||!t.performance.now){var e=Date.now();t.performance||(t.performance={}),t.performance.now=function(){return Date.now()-e}}for(var r=Date.now(),n=["ms","moz","webkit","o"],i=0;i=0;n--)this.add(t.children[n]);return this},t.prototype.destroy=function(){this.ticking&&v.remove(this.tick,this),this.ticking=!1,this.addHooks=null,this.uploadHooks=null,this.renderer=null,this.completes=null,this.queue=null,this.limiter=null,this.uploadHookHelper=null},t}();r.default=g},{"../core":65,"./limiters/CountLimiter":186}],184:[function(t,e,r){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function s(t,e){if(e instanceof u.BaseTexture){var r=e.source,n=0===r.width?t.canvas.width:Math.min(t.canvas.width,r.width),i=0===r.height?t.canvas.height:Math.min(t.canvas.height,r.height);return t.ctx.drawImage(r,0,0,n,i,0,0,t.canvas.width,t.canvas.height),!0}return!1}r.__esModule=!0;var a=t("../../core"),u=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e.default=t,e}(a),h=t("../BasePrepare"),l=function(t){return t&&t.__esModule?t:{default:t}}(h),c=16,d=function(t){function e(r){n(this,e);var o=i(this,t.call(this,r));return o.uploadHookHelper=o,o.canvas=document.createElement("canvas"),o.canvas.width=c,o.canvas.height=c,o.ctx=o.canvas.getContext("2d"),o.registerUploadHook(s),o}return o(e,t),e.prototype.destroy=function(){t.prototype.destroy.call(this),this.ctx=null,this.canvas=null},e}(l.default);r.default=d,u.CanvasRenderer.registerPlugin("prepare",d)},{"../../core":65,"../BasePrepare":183}],185:[function(t,e,r){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}r.__esModule=!0;var i=t("./webgl/WebGLPrepare");Object.defineProperty(r,"webgl",{enumerable:!0,get:function(){return n(i).default}});var o=t("./canvas/CanvasPrepare");Object.defineProperty(r,"canvas",{enumerable:!0,get:function(){return n(o).default}});var s=t("./BasePrepare");Object.defineProperty(r,"BasePrepare",{enumerable:!0,get:function(){return n(s).default}});var a=t("./limiters/CountLimiter");Object.defineProperty(r,"CountLimiter",{enumerable:!0,get:function(){return n(a).default}});var u=t("./limiters/TimeLimiter");Object.defineProperty(r,"TimeLimiter",{enumerable:!0,get:function(){return n(u).default}})},{"./BasePrepare":183,"./canvas/CanvasPrepare":184,"./limiters/CountLimiter":186,"./limiters/TimeLimiter":187,"./webgl/WebGLPrepare":188}],186:[function(t,e,r){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}r.__esModule=!0;var i=function(){function t(e){n(this,t),this.maxItemsPerFrame=e,this.itemsLeft=0}return t.prototype.beginFrame=function(){this.itemsLeft=this.maxItemsPerFrame},t.prototype.allowedToUpload=function(){return this.itemsLeft-- >0},t}();r.default=i},{}],187:[function(t,e,r){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}r.__esModule=!0;var i=function(){function t(e){n(this,t),this.maxMilliseconds=e,this.frameStart=0}return t.prototype.beginFrame=function(){this.frameStart=Date.now()},t.prototype.allowedToUpload=function(){return Date.now()-this.frameStart0?1:-1}),Number.isInteger||(Number.isInteger=function(t){return"number"==typeof t&&isFinite(t)&&Math.floor(t)===t}),window.ArrayBuffer||(window.ArrayBuffer=Array),window.Float32Array||(window.Float32Array=Array),window.Uint32Array||(window.Uint32Array=Array),window.Uint16Array||(window.Uint16Array=Array),window.Uint8Array||(window.Uint8Array=Array),window.Int32Array||(window.Int32Array=Array);var f=/iPhone/i,m=/iPod/i,v=/iPad/i,g=/\biOS-universal(?:.+)Mac\b/i,y=/\bAndroid(?:.+)Mobile\b/i,_=/Android/i,x=/(?:SD4930UR|\bSilk(?:.+)Mobile\b)/i,b=/Silk/i,E=/Windows Phone/i,T=/\bWindows(?:.+)ARM\b/i,S=/BlackBerry/i,w=/BB10/i,P=/Opera Mini/i,I=/\b(CriOS|Chrome)(?:.+)Mobile/i,A=/Mobile(?:.+)Firefox\b/i,O=function(t){return void 0!==t&&"MacIntel"===t.platform&&"number"==typeof t.maxTouchPoints&&t.maxTouchPoints>1&&"undefined"==typeof MSStream};var M=function(t){var e={userAgent:"",platform:"",maxTouchPoints:0};t||"undefined"==typeof navigator?"string"==typeof t?e.userAgent=t:t&&t.userAgent&&(e={userAgent:t.userAgent,platform:t.platform,maxTouchPoints:t.maxTouchPoints||0}):e={userAgent:navigator.userAgent,platform:navigator.platform,maxTouchPoints:navigator.maxTouchPoints||0};var r=e.userAgent,i=r.split("[FBAN");void 0!==i[1]&&(r=i[0]),void 0!==(i=r.split("Twitter"))[1]&&(r=i[0]);var n=function(t){return function(e){return e.test(t)}}(r),o={apple:{phone:n(f)&&!n(E),ipod:n(m),tablet:!n(f)&&(n(v)||O(e))&&!n(E),universal:n(g),device:(n(f)||n(m)||n(v)||n(g)||O(e))&&!n(E)},amazon:{phone:n(x),tablet:!n(x)&&n(b),device:n(x)||n(b)},android:{phone:!n(E)&&n(x)||!n(E)&&n(y),tablet:!n(E)&&!n(x)&&!n(y)&&(n(b)||n(_)),device:!n(E)&&(n(x)||n(b)||n(y)||n(_))||n(/\bokhttp\b/i)},windows:{phone:n(E),tablet:n(T),device:n(E)||n(T)},other:{blackberry:n(S),blackberry10:n(w),opera:n(P),firefox:n(A),chrome:n(I),device:n(S)||n(w)||n(P)||n(A)||n(I)},any:!1,phone:!1,tablet:!1};return o.any=o.apple.device||o.android.device||o.windows.device||o.other.device,o.phone=o.apple.phone||o.android.phone||o.windows.phone,o.tablet=o.apple.tablet||o.android.tablet||o.windows.tablet,o}(window.navigator);var D={MIPMAP_TEXTURES:1,ANISOTROPIC_LEVEL:0,RESOLUTION:1,FILTER_RESOLUTION:1,SPRITE_MAX_TEXTURES:function(t){var e=!0;if(M.tablet||M.phone){var r;M.apple.device&&(r=navigator.userAgent.match(/OS (\d+)_(\d+)?/))&&parseInt(r[1],10)<11&&(e=!1),M.android.device&&(r=navigator.userAgent.match(/Android\s([0-9.]*)/))&&parseInt(r[1],10)<7&&(e=!1)}return e?t:4}(32),SPRITE_BATCH_SIZE:4096,RENDER_OPTIONS:{view:null,antialias:!1,autoDensity:!1,transparent:!1,backgroundColor:0,clearBeforeRender:!0,preserveDrawingBuffer:!1,width:800,height:600,legacy:!1},GC_MODE:0,GC_MAX_IDLE:3600,GC_MAX_CHECK_COUNT:600,WRAP_MODE:33071,SCALE_MODE:1,PRECISION_VERTEX:"highp",PRECISION_FRAGMENT:M.apple.device?"highp":"mediump",CAN_UPLOAD_SAME_BUFFER:!M.apple.device,CREATE_IMAGE_BITMAP:!1,ROUND_PIXELS:!1},C=r(function(t){var e=Object.prototype.hasOwnProperty,r="~";function i(){}function n(t,e,r){this.fn=t,this.context=e,this.once=r||!1}function o(t,e,i,o,s){if("function"!=typeof i)throw new TypeError("The listener must be a function");var a=new n(i,o||t,s),h=r?r+e:e;return t._events[h]?t._events[h].fn?t._events[h]=[t._events[h],a]:t._events[h].push(a):(t._events[h]=a,t._eventsCount++),t}function s(t,e){0==--t._eventsCount?t._events=new i:delete t._events[e]}function a(){this._events=new i,this._eventsCount=0}Object.create&&(i.prototype=Object.create(null),(new i).__proto__||(r=!1)),a.prototype.eventNames=function(){var t,i,n=[];if(0===this._eventsCount)return n;for(i in t=this._events)e.call(t,i)&&n.push(r?i.slice(1):i);return Object.getOwnPropertySymbols?n.concat(Object.getOwnPropertySymbols(t)):n},a.prototype.listeners=function(t){var e=r?r+t:t,i=this._events[e];if(!i)return[];if(i.fn)return[i.fn];for(var n=0,o=i.length,s=new Array(o);n80*r){i=o=t[0],n=s=t[1];for(var f=r;fo&&(o=a),h>s&&(s=h);u=0!==(u=Math.max(o-i,s-n))?1/u:0}return U(d,p,r,i,n,u),p}function F(t,e,r,i,n){var o,s;if(n===st(t,e,r,i)>0)for(o=e;o=e;o-=i)s=it(o,t[o],t[o+1],s);return s&&J(s,s.next)&&(nt(s),s=s.next),s}function B(t,e){if(!t)return t;e||(e=t);var r,i=t;do{if(r=!1,i.steiner||!J(i,i.next)&&0!==Z(i.prev,i,i.next))i=i.next;else{if(nt(i),(i=e=i.prev)===i.next)break;r=!0}}while(r||i!==e);return e}function U(t,e,r,i,n,o,s){if(t){!s&&o&&function(t,e,r,i){var n=t;do{null===n.z&&(n.z=V(n.x,n.y,e,r,i)),n.prevZ=n.prev,n.nextZ=n.next,n=n.next}while(n!==t);n.prevZ.nextZ=null,n.prevZ=null,function(t){var e,r,i,n,o,s,a,h,u=1;do{for(r=t,t=null,o=null,s=0;r;){for(s++,i=r,a=0,e=0;e0||h>0&&i;)0!==a&&(0===h||!i||r.z<=i.z)?(n=r,r=r.nextZ,a--):(n=i,i=i.nextZ,h--),o?o.nextZ=n:t=n,n.prevZ=o,o=n;r=i}o.nextZ=null,u*=2}while(s>1)}(n)}(t,i,n,o);for(var a,h,u=t;t.prev!==t.next;)if(a=t.prev,h=t.next,o?X(t,i,n,o):k(t))e.push(a.i/r),e.push(t.i/r),e.push(h.i/r),nt(t),t=h.next,u=h.next;else if((t=h)===u){s?1===s?U(t=j(B(t),e,r),e,r,i,n,o,2):2===s&&H(t,e,r,i,n,o):U(B(t),e,r,i,n,o,1);break}}}function k(t){var e=t.prev,r=t,i=t.next;if(Z(e,r,i)>=0)return!1;for(var n=t.next.next;n!==t.prev;){if(q(e.x,e.y,r.x,r.y,i.x,i.y,n.x,n.y)&&Z(n.prev,n,n.next)>=0)return!1;n=n.next}return!0}function X(t,e,r,i){var n=t.prev,o=t,s=t.next;if(Z(n,o,s)>=0)return!1;for(var a=n.xo.x?n.x>s.x?n.x:s.x:o.x>s.x?o.x:s.x,l=n.y>o.y?n.y>s.y?n.y:s.y:o.y>s.y?o.y:s.y,c=V(a,h,e,r,i),d=V(u,l,e,r,i),p=t.prevZ,f=t.nextZ;p&&p.z>=c&&f&&f.z<=d;){if(p!==t.prev&&p!==t.next&&q(n.x,n.y,o.x,o.y,s.x,s.y,p.x,p.y)&&Z(p.prev,p,p.next)>=0)return!1;if(p=p.prevZ,f!==t.prev&&f!==t.next&&q(n.x,n.y,o.x,o.y,s.x,s.y,f.x,f.y)&&Z(f.prev,f,f.next)>=0)return!1;f=f.nextZ}for(;p&&p.z>=c;){if(p!==t.prev&&p!==t.next&&q(n.x,n.y,o.x,o.y,s.x,s.y,p.x,p.y)&&Z(p.prev,p,p.next)>=0)return!1;p=p.prevZ}for(;f&&f.z<=d;){if(f!==t.prev&&f!==t.next&&q(n.x,n.y,o.x,o.y,s.x,s.y,f.x,f.y)&&Z(f.prev,f,f.next)>=0)return!1;f=f.nextZ}return!0}function j(t,e,r){var i=t;do{var n=i.prev,o=i.next.next;!J(n,o)&&Q(n,i,i.next,o)&&et(n,o)&&et(o,n)&&(e.push(n.i/r),e.push(i.i/r),e.push(o.i/r),nt(i),nt(i.next),i=t=o),i=i.next}while(i!==t);return B(i)}function H(t,e,r,i,n,o){var s=t;do{for(var a=s.next.next;a!==s.prev;){if(s.i!==a.i&&K(s,a)){var h=rt(s,a);return s=B(s,s.next),h=B(h,h.next),U(s,e,r,i,n,o),void U(h,e,r,i,n,o)}a=a.next}s=s.next}while(s!==t)}function G(t,e){return t.x-e.x}function Y(t,e){if(e=function(t,e){var r,i=e,n=t.x,o=t.y,s=-1/0;do{if(o<=i.y&&o>=i.next.y&&i.next.y!==i.y){var a=i.x+(o-i.y)*(i.next.x-i.x)/(i.next.y-i.y);if(a<=n&&a>s){if(s=a,a===n){if(o===i.y)return i;if(o===i.next.y)return i.next}r=i.x=i.x&&i.x>=l&&n!==i.x&&q(or.x||i.x===r.x&&z(r,i)))&&(r=i,d=h)),i=i.next}while(i!==u);return r}(t,e)){var r=rt(e,t);B(e,e.next),B(r,r.next)}}function z(t,e){return Z(t.prev,t,e.prev)<0&&Z(e.next,t,t.next)<0}function V(t,e,r,i,n){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*n)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-i)*n)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function W(t){var e=t,r=t;do{(e.x=0&&(t-s)*(i-a)-(r-s)*(e-a)>=0&&(r-s)*(o-a)-(n-s)*(i-a)>=0}function K(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&Q(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&(et(t,e)&&et(e,t)&&function(t,e){var r=t,i=!1,n=(t.x+e.x)/2,o=(t.y+e.y)/2;do{r.y>o!=r.next.y>o&&r.next.y!==r.y&&n<(r.next.x-r.x)*(o-r.y)/(r.next.y-r.y)+r.x&&(i=!i),r=r.next}while(r!==t);return i}(t,e)&&(Z(t.prev,t,e.prev)||Z(t,e.prev,e))||J(t,e)&&Z(t.prev,t,t.next)>0&&Z(e.prev,e,e.next)>0)}function Z(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function J(t,e){return t.x===e.x&&t.y===e.y}function Q(t,e,r,i){var n=tt(Z(t,e,r)),o=tt(Z(t,e,i)),s=tt(Z(r,i,t)),a=tt(Z(r,i,e));return n!==o&&s!==a||(!(0!==n||!$(t,r,e))||(!(0!==o||!$(t,i,e))||(!(0!==s||!$(r,t,i))||!(0!==a||!$(r,e,i)))))}function $(t,e,r){return e.x<=Math.max(t.x,r.x)&&e.x>=Math.min(t.x,r.x)&&e.y<=Math.max(t.y,r.y)&&e.y>=Math.min(t.y,r.y)}function tt(t){return t>0?1:t<0?-1:0}function et(t,e){return Z(t.prev,t,t.next)<0?Z(t,e,t.next)>=0&&Z(t,t.prev,e)>=0:Z(t,e,t.prev)<0||Z(t,t.next,e)<0}function rt(t,e){var r=new ot(t.i,t.x,t.y),i=new ot(e.i,e.x,e.y),n=t.next,o=e.prev;return t.next=e,e.prev=t,r.next=n,n.prev=r,i.next=r,r.prev=i,o.next=i,i.prev=o,i}function it(t,e,r,i){var n=new ot(t,e,r);return i?(n.next=i.next,n.prev=i,i.next.prev=n,i.next=n):(n.prev=n,n.next=n),n}function nt(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function ot(t,e,r){this.i=t,this.x=e,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function st(t,e,r,i){for(var n=0,o=e,s=r-i;o0&&(i+=t[n-1].length,r.holes.push(i))}return r},R.default=L;var at=r(function(t,r){!function(i){var n=r&&!r.nodeType&&r,o=t&&!t.nodeType&&t,s="object"==typeof e&&e;s.global!==s&&s.window!==s&&s.self!==s||(i=s);var a,h,u=2147483647,l=36,c=1,d=26,p=38,f=700,m=72,v=128,g="-",y=/^xn--/,_=/[^\x20-\x7E]/,x=/[\x2E\u3002\uFF0E\uFF61]/g,b={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},E=l-c,T=Math.floor,S=String.fromCharCode;function w(t){throw RangeError(b[t])}function P(t,e){for(var r=t.length,i=[];r--;)i[r]=e(t[r]);return i}function I(t,e){var r=t.split("@"),i="";return r.length>1&&(i=r[0]+"@",t=r[1]),i+P((t=t.replace(x,".")).split("."),e).join(".")}function A(t){for(var e,r,i=[],n=0,o=t.length;n=55296&&e<=56319&&n65535&&(e+=S((t-=65536)>>>10&1023|55296),t=56320|1023&t),e+=S(t)}).join("")}function M(t,e){return t+22+75*(t<26)-((0!=e)<<5)}function D(t,e,r){var i=0;for(t=r?T(t/f):t>>1,t+=T(t/e);t>E*d>>1;i+=l)t=T(t/E);return T(i+(E+1)*t/(t+p))}function C(t){var e,r,i,n,o,s,a,h,p,f,y,_=[],x=t.length,b=0,E=v,S=m;for((r=t.lastIndexOf(g))<0&&(r=0),i=0;i=128&&w("not-basic"),_.push(t.charCodeAt(i));for(n=r>0?r+1:0;n=x&&w("invalid-input"),((h=(y=t.charCodeAt(n++))-48<10?y-22:y-65<26?y-65:y-97<26?y-97:l)>=l||h>T((u-b)/s))&&w("overflow"),b+=h*s,!(h<(p=a<=S?c:a>=S+d?d:a-S));a+=l)s>T(u/(f=l-p))&&w("overflow"),s*=f;S=D(b-o,e=_.length+1,0==o),T(b/e)>u-E&&w("overflow"),E+=T(b/e),b%=e,_.splice(b++,0,E)}return O(_)}function R(t){var e,r,i,n,o,s,a,h,p,f,y,_,x,b,E,P=[];for(_=(t=A(t)).length,e=v,r=0,o=m,s=0;s<_;++s)(y=t[s])<128&&P.push(S(y));for(i=n=P.length,n&&P.push(g);i<_;){for(a=u,s=0;s<_;++s)(y=t[s])>=e&&yT((u-r)/(x=i+1))&&w("overflow"),r+=(a-e)*x,e=a,s=0;s<_;++s)if((y=t[s])u&&w("overflow"),y==e){for(h=r,p=l;!(h<(f=p<=o?c:p>=o+d?d:p-o));p+=l)E=h-f,b=l-f,P.push(S(M(f+E%b,0))),h=T(E/b);P.push(S(M(h,0))),o=D(r,x,i==n),r=0,++i}++r,++e}return P.join("")}if(a={version:"1.3.2",ucs2:{decode:A,encode:O},decode:C,encode:R,toASCII:function(t){return I(t,function(t){return _.test(t)?"xn--"+R(t):t})},toUnicode:function(t){return I(t,function(t){return y.test(t)?C(t.slice(4).toLowerCase()):t})}},n&&o)if(t.exports==n)o.exports=a;else for(h in a)a.hasOwnProperty(h)&&(n[h]=a[h]);else i.punycode=a}(e)}),ht={isString:function(t){return"string"==typeof t},isObject:function(t){return"object"==typeof t&&null!==t},isNull:function(t){return null===t},isNullOrUndefined:function(t){return null==t}};ht.isString,ht.isObject,ht.isNull,ht.isNullOrUndefined;function ut(t,e){return Object.prototype.hasOwnProperty.call(t,e)}var lt=function(t,e,r,i){e=e||"&",r=r||"=";var n={};if("string"!=typeof t||0===t.length)return n;var o=/\+/g;t=t.split(e);var s=1e3;i&&"number"==typeof i.maxKeys&&(s=i.maxKeys);var a=t.length;s>0&&a>s&&(a=s);for(var h=0;h=0?(u=p.substr(0,f),l=p.substr(f+1)):(u=p,l=""),c=decodeURIComponent(u),d=decodeURIComponent(l),ut(n,c)?Array.isArray(n[c])?n[c].push(d):n[c]=[n[c],d]:n[c]=d}return n},ct=function(t){switch(typeof t){case"string":return t;case"boolean":return t?"true":"false";case"number":return isFinite(t)?t:"";default:return""}},dt=function(t,e,r,i){return e=e||"&",r=r||"=",null===t&&(t=void 0),"object"==typeof t?Object.keys(t).map(function(i){var n=encodeURIComponent(ct(i))+r;return Array.isArray(t[i])?t[i].map(function(t){return n+encodeURIComponent(ct(t))}).join(e):n+encodeURIComponent(ct(t[i]))}).join(e):i?encodeURIComponent(ct(i))+r+encodeURIComponent(ct(t)):""},pt=r(function(t,e){e.decode=e.parse=lt,e.encode=e.stringify=dt}),ft=(pt.decode,pt.parse,pt.encode,pt.stringify,Ct),mt=function(t,e){return Ct(t,!1,!0).resolve(e)},vt=function(t,e){if(!t)return e;return Ct(t,!1,!0).resolveObject(e)},gt=function(t){ht.isString(t)&&(t=Ct(t));if(!(t instanceof _t))return _t.prototype.format.call(t);return t.format()},yt=_t;function _t(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}var xt=/^([a-z0-9.+-]+:)/i,bt=/:[0-9]*$/,Et=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,Tt=["{","}","|","\\","^","`"].concat(["<",">",'"',"`"," ","\r","\n","\t"]),St=["'"].concat(Tt),wt=["%","/","?",";","#"].concat(St),Pt=["/","?","#"],It=/^[+a-z0-9A-Z_-]{0,63}$/,At=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,Ot={javascript:!0,"javascript:":!0},Mt={javascript:!0,"javascript:":!0},Dt={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0};function Ct(t,e,r){if(t&&ht.isObject(t)&&t instanceof _t)return t;var i=new _t;return i.parse(t,e,r),i}_t.prototype.parse=function(t,e,r){if(!ht.isString(t))throw new TypeError("Parameter 'url' must be a string, not "+typeof t);var i=t.indexOf("?"),n=-1!==i&&i127?x+="x":x+=_[b];if(!x.match(It)){var T=g.slice(0,f),S=g.slice(f+1),w=_.match(At);w&&(T.push(w[1]),S.unshift(w[2])),S.length&&(s="/"+S.join(".")+s),this.hostname=T.join(".");break}}}this.hostname.length>255?this.hostname="":this.hostname=this.hostname.toLowerCase(),v||(this.hostname=at.toASCII(this.hostname));var P=this.port?":"+this.port:"",I=this.hostname||"";this.host=I+P,this.href+=this.host,v&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==s[0]&&(s="/"+s))}if(!Ot[u])for(f=0,y=St.length;f0)&&r.host.split("@"))&&(r.auth=w.shift(),r.host=r.hostname=w.shift());return r.search=t.search,r.query=t.query,ht.isNull(r.pathname)&&ht.isNull(r.search)||(r.path=(r.pathname?r.pathname:"")+(r.search?r.search:"")),r.href=r.format(),r}if(!_.length)return r.pathname=null,r.search?r.path="/"+r.search:r.path=null,r.href=r.format(),r;for(var b=_.slice(-1)[0],E=(r.host||t.host||_.length>1)&&("."===b||".."===b)||""===b,T=0,S=_.length;S>=0;S--)"."===(b=_[S])?_.splice(S,1):".."===b?(_.splice(S,1),T++):T&&(_.splice(S,1),T--);if(!g&&!y)for(;T--;T)_.unshift("..");!g||""===_[0]||_[0]&&"/"===_[0].charAt(0)||_.unshift(""),E&&"/"!==_.join("/").substr(-1)&&_.push("");var w,P=""===_[0]||_[0]&&"/"===_[0].charAt(0);x&&(r.hostname=r.host=P?"":_.length?_.shift():"",(w=!!(r.host&&r.host.indexOf("@")>0)&&r.host.split("@"))&&(r.auth=w.shift(),r.host=r.hostname=w.shift()));return(g=g||r.host&&_.length)&&!P&&_.unshift(""),_.length?r.pathname=_.join("/"):(r.pathname=null,r.path=null),ht.isNull(r.pathname)&&ht.isNull(r.search)||(r.path=(r.pathname?r.pathname:"")+(r.search?r.search:"")),r.auth=t.auth||r.auth,r.slashes=r.slashes||t.slashes,r.href=r.format(),r},_t.prototype.parseHost=function(){var t=this.host,e=bt.exec(t);e&&(":"!==(e=e[0])&&(this.port=e.substr(1)),t=t.substr(0,t.length-e.length)),t&&(this.hostname=t)};var Rt={parse:ft,resolve:mt,resolveObject:vt,format:gt,Url:yt};!function(t){t[t.WEBGL_LEGACY=0]="WEBGL_LEGACY",t[t.WEBGL=1]="WEBGL",t[t.WEBGL2=2]="WEBGL2"}(t.ENV||(t.ENV={})),function(t){t[t.UNKNOWN=0]="UNKNOWN",t[t.WEBGL=1]="WEBGL",t[t.CANVAS=2]="CANVAS"}(t.RENDERER_TYPE||(t.RENDERER_TYPE={})),function(t){t[t.COLOR=16384]="COLOR",t[t.DEPTH=256]="DEPTH",t[t.STENCIL=1024]="STENCIL"}(t.BUFFER_BITS||(t.BUFFER_BITS={})),function(t){t[t.NORMAL=0]="NORMAL",t[t.ADD=1]="ADD",t[t.MULTIPLY=2]="MULTIPLY",t[t.SCREEN=3]="SCREEN",t[t.OVERLAY=4]="OVERLAY",t[t.DARKEN=5]="DARKEN",t[t.LIGHTEN=6]="LIGHTEN",t[t.COLOR_DODGE=7]="COLOR_DODGE",t[t.COLOR_BURN=8]="COLOR_BURN",t[t.HARD_LIGHT=9]="HARD_LIGHT",t[t.SOFT_LIGHT=10]="SOFT_LIGHT",t[t.DIFFERENCE=11]="DIFFERENCE",t[t.EXCLUSION=12]="EXCLUSION",t[t.HUE=13]="HUE",t[t.SATURATION=14]="SATURATION",t[t.COLOR=15]="COLOR",t[t.LUMINOSITY=16]="LUMINOSITY",t[t.NORMAL_NPM=17]="NORMAL_NPM",t[t.ADD_NPM=18]="ADD_NPM",t[t.SCREEN_NPM=19]="SCREEN_NPM",t[t.NONE=20]="NONE",t[t.SRC_OVER=0]="SRC_OVER",t[t.SRC_IN=21]="SRC_IN",t[t.SRC_OUT=22]="SRC_OUT",t[t.SRC_ATOP=23]="SRC_ATOP",t[t.DST_OVER=24]="DST_OVER",t[t.DST_IN=25]="DST_IN",t[t.DST_OUT=26]="DST_OUT",t[t.DST_ATOP=27]="DST_ATOP",t[t.ERASE=26]="ERASE",t[t.SUBTRACT=28]="SUBTRACT",t[t.XOR=29]="XOR"}(t.BLEND_MODES||(t.BLEND_MODES={})),function(t){t[t.POINTS=0]="POINTS",t[t.LINES=1]="LINES",t[t.LINE_LOOP=2]="LINE_LOOP",t[t.LINE_STRIP=3]="LINE_STRIP",t[t.TRIANGLES=4]="TRIANGLES",t[t.TRIANGLE_STRIP=5]="TRIANGLE_STRIP",t[t.TRIANGLE_FAN=6]="TRIANGLE_FAN"}(t.DRAW_MODES||(t.DRAW_MODES={})),function(t){t[t.RGBA=6408]="RGBA",t[t.RGB=6407]="RGB",t[t.ALPHA=6406]="ALPHA",t[t.LUMINANCE=6409]="LUMINANCE",t[t.LUMINANCE_ALPHA=6410]="LUMINANCE_ALPHA",t[t.DEPTH_COMPONENT=6402]="DEPTH_COMPONENT",t[t.DEPTH_STENCIL=34041]="DEPTH_STENCIL"}(t.FORMATS||(t.FORMATS={})),function(t){t[t.TEXTURE_2D=3553]="TEXTURE_2D",t[t.TEXTURE_CUBE_MAP=34067]="TEXTURE_CUBE_MAP",t[t.TEXTURE_2D_ARRAY=35866]="TEXTURE_2D_ARRAY",t[t.TEXTURE_CUBE_MAP_POSITIVE_X=34069]="TEXTURE_CUBE_MAP_POSITIVE_X",t[t.TEXTURE_CUBE_MAP_NEGATIVE_X=34070]="TEXTURE_CUBE_MAP_NEGATIVE_X",t[t.TEXTURE_CUBE_MAP_POSITIVE_Y=34071]="TEXTURE_CUBE_MAP_POSITIVE_Y",t[t.TEXTURE_CUBE_MAP_NEGATIVE_Y=34072]="TEXTURE_CUBE_MAP_NEGATIVE_Y",t[t.TEXTURE_CUBE_MAP_POSITIVE_Z=34073]="TEXTURE_CUBE_MAP_POSITIVE_Z",t[t.TEXTURE_CUBE_MAP_NEGATIVE_Z=34074]="TEXTURE_CUBE_MAP_NEGATIVE_Z"}(t.TARGETS||(t.TARGETS={})),function(t){t[t.UNSIGNED_BYTE=5121]="UNSIGNED_BYTE",t[t.UNSIGNED_SHORT=5123]="UNSIGNED_SHORT",t[t.UNSIGNED_SHORT_5_6_5=33635]="UNSIGNED_SHORT_5_6_5",t[t.UNSIGNED_SHORT_4_4_4_4=32819]="UNSIGNED_SHORT_4_4_4_4",t[t.UNSIGNED_SHORT_5_5_5_1=32820]="UNSIGNED_SHORT_5_5_5_1",t[t.FLOAT=5126]="FLOAT",t[t.HALF_FLOAT=36193]="HALF_FLOAT"}(t.TYPES||(t.TYPES={})),function(t){t[t.NEAREST=0]="NEAREST",t[t.LINEAR=1]="LINEAR"}(t.SCALE_MODES||(t.SCALE_MODES={})),function(t){t[t.CLAMP=33071]="CLAMP",t[t.REPEAT=10497]="REPEAT",t[t.MIRRORED_REPEAT=33648]="MIRRORED_REPEAT"}(t.WRAP_MODES||(t.WRAP_MODES={})),function(t){t[t.OFF=0]="OFF",t[t.POW2=1]="POW2",t[t.ON=2]="ON"}(t.MIPMAP_MODES||(t.MIPMAP_MODES={})),function(t){t[t.NPM=0]="NPM",t[t.UNPACK=1]="UNPACK",t[t.PMA=2]="PMA",t[t.NO_PREMULTIPLIED_ALPHA=0]="NO_PREMULTIPLIED_ALPHA",t[t.PREMULTIPLY_ON_UPLOAD=1]="PREMULTIPLY_ON_UPLOAD",t[t.PREMULTIPLY_ALPHA=2]="PREMULTIPLY_ALPHA"}(t.ALPHA_MODES||(t.ALPHA_MODES={})),function(t){t[t.NO=0]="NO",t[t.YES=1]="YES",t[t.AUTO=2]="AUTO",t[t.BLEND=0]="BLEND",t[t.CLEAR=1]="CLEAR",t[t.BLIT=2]="BLIT"}(t.CLEAR_MODES||(t.CLEAR_MODES={})),function(t){t[t.AUTO=0]="AUTO",t[t.MANUAL=1]="MANUAL"}(t.GC_MODES||(t.GC_MODES={})),function(t){t.LOW="lowp",t.MEDIUM="mediump",t.HIGH="highp"}(t.PRECISION||(t.PRECISION={})),function(t){t[t.NONE=0]="NONE",t[t.SCISSOR=1]="SCISSOR",t[t.STENCIL=2]="STENCIL",t[t.SPRITE=3]="SPRITE"}(t.MASK_TYPES||(t.MASK_TYPES={})),function(t){t[t.NONE=0]="NONE",t[t.LOW=2]="LOW",t[t.MEDIUM=4]="MEDIUM",t[t.HIGH=8]="HIGH"}(t.MSAA_QUALITY||(t.MSAA_QUALITY={})),D.RETINA_PREFIX=/@([0-9\.]+)x/,D.FAIL_IF_MAJOR_PERFORMANCE_CAVEAT=!0;var Lt,Nt=!1,Ft="5.3.0";function Bt(t){var e;if(!Nt){if(navigator.userAgent.toLowerCase().indexOf("chrome")>-1){var r=["\n %c %c %c PixiJS "+Ft+" - ✰ "+t+" ✰ %c %c http://www.pixijs.com/ %c %c ♥%c♥%c♥ \n\n","background: #ff66a5; padding:5px 0;","background: #ff66a5; padding:5px 0;","color: #ff66a5; background: #030307; padding:5px 0;","background: #ff66a5; padding:5px 0;","background: #ffc3dc; padding:5px 0;","background: #ff66a5; padding:5px 0;","color: #ff2424; background: #fff; padding:5px 0;","color: #ff2424; background: #fff; padding:5px 0;","color: #ff2424; background: #fff; padding:5px 0;"];(e=window.console).log.apply(e,r)}else window.console&&window.console.log("PixiJS "+Ft+" - "+t+" - http://www.pixijs.com/");Nt=!0}}function Ut(){return void 0===Lt&&(Lt=function(){var t={stencil:!0,failIfMajorPerformanceCaveat:D.FAIL_IF_MAJOR_PERFORMANCE_CAVEAT};try{if(!window.WebGLRenderingContext)return!1;var e=document.createElement("canvas"),r=e.getContext("webgl",t)||e.getContext("experimental-webgl",t),i=!(!r||!r.getContextAttributes().stencil);if(r){var n=r.getExtension("WEBGL_lose_context");n&&n.loseContext()}return r=null,i}catch(t){return!1}}()),Lt}function kt(t,e){return void 0===e&&(e=[]),e[0]=(t>>16&255)/255,e[1]=(t>>8&255)/255,e[2]=(255&t)/255,e}function Xt(t){var e=t.toString(16);return"#"+(e="000000".substr(0,6-e.length)+e)}function jt(t){return"string"==typeof t&&"#"===t[0]&&(t=t.substr(1)),parseInt(t,16)}function Ht(t){return(255*t[0]<<16)+(255*t[1]<<8)+(255*t[2]|0)}var Gt=function(){for(var e=[],r=[],i=0;i<32;i++)e[i]=i,r[i]=i;e[t.BLEND_MODES.NORMAL_NPM]=t.BLEND_MODES.NORMAL,e[t.BLEND_MODES.ADD_NPM]=t.BLEND_MODES.ADD,e[t.BLEND_MODES.SCREEN_NPM]=t.BLEND_MODES.SCREEN,r[t.BLEND_MODES.NORMAL]=t.BLEND_MODES.NORMAL_NPM,r[t.BLEND_MODES.ADD]=t.BLEND_MODES.ADD_NPM,r[t.BLEND_MODES.SCREEN]=t.BLEND_MODES.SCREEN_NPM;var n=[];return n.push(r),n.push(e),n}();function Yt(t,e){return Gt[e?1:0][t]}function zt(t,e,r,i){return r=r||new Float32Array(4),i||void 0===i?(r[0]=t[0]*e,r[1]=t[1]*e,r[2]=t[2]*e):(r[0]=t[0],r[1]=t[1],r[2]=t[2]),r[3]=e,r}function Vt(t,e){if(1===e)return(255*e<<24)+t;if(0===e)return 0;var r=t>>16&255,i=t>>8&255,n=255&t;return(255*e<<24)+((r=r*e+.5|0)<<16)+((i=i*e+.5|0)<<8)+(n=n*e+.5|0)}function Wt(t,e,r,i){return(r=r||new Float32Array(4))[0]=(t>>16&255)/255,r[1]=(t>>8&255)/255,r[2]=(255&t)/255,(i||void 0===i)&&(r[0]*=e,r[1]*=e,r[2]*=e),r[3]=e,r}function qt(t,e){void 0===e&&(e=null);var r=6*t;if((e=e||new Uint16Array(r)).length!==r)throw new Error("Out buffer length is incorrect, got "+e.length+" and expected "+r);for(var i=0,n=0;i>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)+1}function Qt(t){return!(t&t-1||!t)}function $t(t){var e=(t>65535?1:0)<<4,r=((t>>>=e)>255?1:0)<<3;return e|=r,e|=r=((t>>>=r)>15?1:0)<<2,(e|=r=((t>>>=r)>3?1:0)<<1)|(t>>>=r)>>1}function te(t,e,r){var i,n=t.length;if(!(e>=n||0===r)){var o=n-(r=e+r>n?n-e:r);for(i=e;i=this.x&&t=this.y&&ee!=u>e&&t<(e-a)/(u-a)*(h-s)+s&&(r=!r)}return r},e}(),Se=function(){function e(e,r,i,n,o){void 0===e&&(e=0),void 0===r&&(r=0),void 0===i&&(i=0),void 0===n&&(n=0),void 0===o&&(o=20),this.x=e,this.y=r,this.width=i,this.height=n,this.radius=o,this.type=t.SHAPES.RREC}return e.prototype.clone=function(){return new e(this.x,this.y,this.width,this.height,this.radius)},e.prototype.contains=function(t,e){if(this.width<=0||this.height<=0)return!1;if(t>=this.x&&t<=this.x+this.width&&e>=this.y&&e<=this.y+this.height){if(e>=this.y+this.radius&&e<=this.y+this.height-this.radius||t>=this.x+this.radius&&t<=this.x+this.width-this.radius)return!0;var r=t-(this.x+this.radius),i=e-(this.y+this.radius),n=this.radius*this.radius;if(r*r+i*i<=n)return!0;if((r=t-(this.x+this.width-this.radius))*r+i*i<=n)return!0;if(r*r+(i=e-(this.y+this.height-this.radius))*i<=n)return!0;if((r=t-(this.x+this.radius))*r+i*i<=n)return!0}return!1},e}(),we=function(){function t(t,e){void 0===t&&(t=0),void 0===e&&(e=0),this.x=t,this.y=e}return t.prototype.clone=function(){return new t(this.x,this.y)},t.prototype.copyFrom=function(t){return this.set(t.x,t.y),this},t.prototype.copyTo=function(t){return t.set(this.x,this.y),t},t.prototype.equals=function(t){return t.x===this.x&&t.y===this.y},t.prototype.set=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=t),this.x=t,this.y=e,this},t}(),Pe=function(){function t(t,e,r,i){void 0===r&&(r=0),void 0===i&&(i=0),this._x=r,this._y=i,this.cb=t,this.scope=e}return t.prototype.clone=function(e,r){return void 0===e&&(e=this.cb),void 0===r&&(r=this.scope),new t(e,r,this._x,this._y)},t.prototype.set=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=t),this._x===t&&this._y===e||(this._x=t,this._y=e,this.cb.call(this.scope)),this},t.prototype.copyFrom=function(t){return this._x===t.x&&this._y===t.y||(this._x=t.x,this._y=t.y,this.cb.call(this.scope)),this},t.prototype.copyTo=function(t){return t.set(this._x,this._y),t},t.prototype.equals=function(t){return t.x===this._x&&t.y===this._y},Object.defineProperty(t.prototype,"x",{get:function(){return this._x},set:function(t){this._x!==t&&(this._x=t,this.cb.call(this.scope))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"y",{get:function(){return this._y},set:function(t){this._y!==t&&(this._y=t,this.cb.call(this.scope))},enumerable:!1,configurable:!0}),t}(),Ie=function(){function t(t,e,r,i,n,o){void 0===t&&(t=1),void 0===e&&(e=0),void 0===r&&(r=0),void 0===i&&(i=1),void 0===n&&(n=0),void 0===o&&(o=0),this.array=null,this.a=t,this.b=e,this.c=r,this.d=i,this.tx=n,this.ty=o}return t.prototype.fromArray=function(t){this.a=t[0],this.b=t[1],this.c=t[3],this.d=t[4],this.tx=t[2],this.ty=t[5]},t.prototype.set=function(t,e,r,i,n,o){return this.a=t,this.b=e,this.c=r,this.d=i,this.tx=n,this.ty=o,this},t.prototype.toArray=function(t,e){this.array||(this.array=new Float32Array(9));var r=e||this.array;return t?(r[0]=this.a,r[1]=this.b,r[2]=0,r[3]=this.c,r[4]=this.d,r[5]=0,r[6]=this.tx,r[7]=this.ty,r[8]=1):(r[0]=this.a,r[1]=this.c,r[2]=this.tx,r[3]=this.b,r[4]=this.d,r[5]=this.ty,r[6]=0,r[7]=0,r[8]=1),r},t.prototype.apply=function(t,e){e=e||new we;var r=t.x,i=t.y;return e.x=this.a*r+this.c*i+this.tx,e.y=this.b*r+this.d*i+this.ty,e},t.prototype.applyInverse=function(t,e){e=e||new we;var r=1/(this.a*this.d+this.c*-this.b),i=t.x,n=t.y;return e.x=this.d*r*i+-this.c*r*n+(this.ty*this.c-this.tx*this.d)*r,e.y=this.a*r*n+-this.b*r*i+(-this.ty*this.a+this.tx*this.b)*r,e},t.prototype.translate=function(t,e){return this.tx+=t,this.ty+=e,this},t.prototype.scale=function(t,e){return this.a*=t,this.d*=e,this.c*=t,this.b*=e,this.tx*=t,this.ty*=e,this},t.prototype.rotate=function(t){var e=Math.cos(t),r=Math.sin(t),i=this.a,n=this.c,o=this.tx;return this.a=i*e-this.b*r,this.b=i*r+this.b*e,this.c=n*e-this.d*r,this.d=n*r+this.d*e,this.tx=o*e-this.ty*r,this.ty=o*r+this.ty*e,this},t.prototype.append=function(t){var e=this.a,r=this.b,i=this.c,n=this.d;return this.a=t.a*e+t.b*i,this.b=t.a*r+t.b*n,this.c=t.c*e+t.d*i,this.d=t.c*r+t.d*n,this.tx=t.tx*e+t.ty*i+this.tx,this.ty=t.tx*r+t.ty*n+this.ty,this},t.prototype.setTransform=function(t,e,r,i,n,o,s,a,h){return this.a=Math.cos(s+h)*n,this.b=Math.sin(s+h)*n,this.c=-Math.sin(s-a)*o,this.d=Math.cos(s-a)*o,this.tx=t-(r*this.a+i*this.c),this.ty=e-(r*this.b+i*this.d),this},t.prototype.prepend=function(t){var e=this.tx;if(1!==t.a||0!==t.b||0!==t.c||1!==t.d){var r=this.a,i=this.c;this.a=r*t.a+this.b*t.c,this.b=r*t.b+this.b*t.d,this.c=i*t.a+this.d*t.c,this.d=i*t.b+this.d*t.d}return this.tx=e*t.a+this.ty*t.c+t.tx,this.ty=e*t.b+this.ty*t.d+t.ty,this},t.prototype.decompose=function(t){var e=this.a,r=this.b,i=this.c,n=this.d,o=-Math.atan2(-i,n),s=Math.atan2(r,e),a=Math.abs(o+s);return a<1e-5||Math.abs(ge-a)<1e-5?(t.rotation=s,t.skew.x=t.skew.y=0):(t.rotation=0,t.skew.x=o,t.skew.y=s),t.scale.x=Math.sqrt(e*e+r*r),t.scale.y=Math.sqrt(i*i+n*n),t.position.x=this.tx,t.position.y=this.ty,t},t.prototype.invert=function(){var t=this.a,e=this.b,r=this.c,i=this.d,n=this.tx,o=t*i-e*r;return this.a=i/o,this.b=-e/o,this.c=-r/o,this.d=t/o,this.tx=(r*this.ty-i*n)/o,this.ty=-(t*this.ty-e*n)/o,this},t.prototype.identity=function(){return this.a=1,this.b=0,this.c=0,this.d=1,this.tx=0,this.ty=0,this},t.prototype.clone=function(){var e=new t;return e.a=this.a,e.b=this.b,e.c=this.c,e.d=this.d,e.tx=this.tx,e.ty=this.ty,e},t.prototype.copyTo=function(t){return t.a=this.a,t.b=this.b,t.c=this.c,t.d=this.d,t.tx=this.tx,t.ty=this.ty,t},t.prototype.copyFrom=function(t){return this.a=t.a,this.b=t.b,this.c=t.c,this.d=t.d,this.tx=t.tx,this.ty=t.ty,this},Object.defineProperty(t,"IDENTITY",{get:function(){return new t},enumerable:!1,configurable:!0}),Object.defineProperty(t,"TEMP_MATRIX",{get:function(){return new t},enumerable:!1,configurable:!0}),t}(),Ae=[1,1,0,-1,-1,-1,0,1,1,1,0,-1,-1,-1,0,1],Oe=[0,1,1,1,0,-1,-1,-1,0,1,1,1,0,-1,-1,-1],Me=[0,-1,-1,-1,0,1,1,1,0,1,1,1,0,-1,-1,-1],De=[1,1,0,-1,-1,-1,0,1,-1,-1,0,1,1,1,0,-1],Ce=[],Re=[],Le=Math.sign;!function(){for(var t=0;t<16;t++){var e=[];Ce.push(e);for(var r=0;r<16;r++)for(var i=Le(Ae[t]*Ae[r]+Me[t]*Oe[r]),n=Le(Oe[t]*Ae[r]+De[t]*Oe[r]),o=Le(Ae[t]*Me[r]+Me[t]*De[r]),s=Le(Oe[t]*Me[r]+De[t]*De[r]),a=0;a<16;a++)if(Ae[a]===i&&Oe[a]===n&&Me[a]===o&&De[a]===s){e.push(a);break}}for(t=0;t<16;t++){var h=new Ie;h.set(Ae[t],Oe[t],Me[t],De[t],0,0),Re.push(h)}}();var Ne={E:0,SE:1,S:2,SW:3,W:4,NW:5,N:6,NE:7,MIRROR_VERTICAL:8,MAIN_DIAGONAL:10,MIRROR_HORIZONTAL:12,REVERSE_DIAGONAL:14,uX:function(t){return Ae[t]},uY:function(t){return Oe[t]},vX:function(t){return Me[t]},vY:function(t){return De[t]},inv:function(t){return 8&t?15&t:7&-t},add:function(t,e){return Ce[t][e]},sub:function(t,e){return Ce[t][Ne.inv(e)]},rotate180:function(t){return 4^t},isVertical:function(t){return 2==(3&t)},byDirection:function(t,e){return 2*Math.abs(t)<=Math.abs(e)?e>=0?Ne.S:Ne.N:2*Math.abs(e)<=Math.abs(t)?t>0?Ne.E:Ne.W:e>0?t>0?Ne.SE:Ne.SW:t>0?Ne.NE:Ne.NW},matrixAppendRotationInv:function(t,e,r,i){void 0===r&&(r=0),void 0===i&&(i=0);var n=Re[Ne.inv(e)];n.tx=r,n.ty=i,t.append(n)}},Fe=function(){function t(){this.worldTransform=new Ie,this.localTransform=new Ie,this.position=new Pe(this.onChange,this,0,0),this.scale=new Pe(this.onChange,this,1,1),this.pivot=new Pe(this.onChange,this,0,0),this.skew=new Pe(this.updateSkew,this,0,0),this._rotation=0,this._cx=1,this._sx=0,this._cy=0,this._sy=1,this._localID=0,this._currentLocalID=0,this._worldID=0,this._parentID=0}return t.prototype.onChange=function(){this._localID++},t.prototype.updateSkew=function(){this._cx=Math.cos(this._rotation+this.skew.y),this._sx=Math.sin(this._rotation+this.skew.y),this._cy=-Math.sin(this._rotation-this.skew.x),this._sy=Math.cos(this._rotation-this.skew.x),this._localID++},t.prototype.updateLocalTransform=function(){var t=this.localTransform;this._localID!==this._currentLocalID&&(t.a=this._cx*this.scale.x,t.b=this._sx*this.scale.x,t.c=this._cy*this.scale.y,t.d=this._sy*this.scale.y,t.tx=this.position.x-(this.pivot.x*t.a+this.pivot.y*t.c),t.ty=this.position.y-(this.pivot.x*t.b+this.pivot.y*t.d),this._currentLocalID=this._localID,this._parentID=-1)},t.prototype.updateTransform=function(t){var e=this.localTransform;if(this._localID!==this._currentLocalID&&(e.a=this._cx*this.scale.x,e.b=this._sx*this.scale.x,e.c=this._cy*this.scale.y,e.d=this._sy*this.scale.y,e.tx=this.position.x-(this.pivot.x*e.a+this.pivot.y*e.c),e.ty=this.position.y-(this.pivot.x*e.b+this.pivot.y*e.d),this._currentLocalID=this._localID,this._parentID=-1),this._parentID!==t._worldID){var r=t.worldTransform,i=this.worldTransform;i.a=e.a*r.a+e.b*r.c,i.b=e.a*r.b+e.b*r.d,i.c=e.c*r.a+e.d*r.c,i.d=e.c*r.b+e.d*r.d,i.tx=e.tx*r.a+e.ty*r.c+r.tx,i.ty=e.tx*r.b+e.ty*r.d+r.ty,this._parentID=t._worldID,this._worldID++}},t.prototype.setFromMatrix=function(t){t.decompose(this),this._localID++},Object.defineProperty(t.prototype,"rotation",{get:function(){return this._rotation},set:function(t){this._rotation!==t&&(this._rotation=t,this.updateSkew())},enumerable:!1,configurable:!0}),t.IDENTITY=new t,t}();D.SORTABLE_CHILDREN=!1;var Be=function(){function t(){this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0,this.rect=null,this.updateID=-1}return t.prototype.isEmpty=function(){return this.minX>this.maxX||this.minY>this.maxY},t.prototype.clear=function(){this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0},t.prototype.getRectangle=function(t){return this.minX>this.maxX||this.minY>this.maxY?xe.EMPTY:((t=t||new xe(0,0,1,1)).x=this.minX,t.y=this.minY,t.width=this.maxX-this.minX,t.height=this.maxY-this.minY,t)},t.prototype.addPoint=function(t){this.minX=Math.min(this.minX,t.x),this.maxX=Math.max(this.maxX,t.x),this.minY=Math.min(this.minY,t.y),this.maxY=Math.max(this.maxY,t.y)},t.prototype.addQuad=function(t){var e=this.minX,r=this.minY,i=this.maxX,n=this.maxY,o=t[0],s=t[1];e=oi?o:i,n=s>n?s:n,e=(o=t[2])i?o:i,n=s>n?s:n,e=(o=t[4])i?o:i,n=s>n?s:n,e=(o=t[6])i?o:i,n=s>n?s:n,this.minX=e,this.minY=r,this.maxX=i,this.maxY=n},t.prototype.addFrame=function(t,e,r,i,n){this.addFrameMatrix(t.worldTransform,e,r,i,n)},t.prototype.addFrameMatrix=function(t,e,r,i,n){var o=t.a,s=t.b,a=t.c,h=t.d,u=t.tx,l=t.ty,c=this.minX,d=this.minY,p=this.maxX,f=this.maxY,m=o*e+a*r+u,v=s*e+h*r+l;c=mp?m:p,f=v>f?v:f,c=(m=o*i+a*r+u)p?m:p,f=v>f?v:f,c=(m=o*e+a*n+u)p?m:p,f=v>f?v:f,c=(m=o*i+a*n+u)p?m:p,f=v>f?v:f,this.minX=c,this.minY=d,this.maxX=p,this.maxY=f},t.prototype.addVertexData=function(t,e,r){for(var i=this.minX,n=this.minY,o=this.maxX,s=this.maxY,a=e;ao?h:o,s=u>s?u:s}this.minX=i,this.minY=n,this.maxX=o,this.maxY=s},t.prototype.addVertices=function(t,e,r,i){this.addVerticesMatrix(t.worldTransform,e,r,i)},t.prototype.addVerticesMatrix=function(t,e,r,i,n,o){void 0===n&&(n=0),void 0===o&&(o=n);for(var s=t.a,a=t.b,h=t.c,u=t.d,l=t.tx,c=t.ty,d=this.minX,p=this.minY,f=this.maxX,m=this.maxY,v=r;vi?t.maxX:i,this.maxY=t.maxY>n?t.maxY:n},t.prototype.addBoundsMask=function(t,e){var r=t.minX>e.minX?t.minX:e.minX,i=t.minY>e.minY?t.minY:e.minY,n=t.maxXh?n:h,this.maxY=o>u?o:u}},t.prototype.addBoundsMatrix=function(t,e){this.addFrameMatrix(e,t.minX,t.minY,t.maxX,t.maxY)},t.prototype.addBoundsArea=function(t,e){var r=t.minX>e.x?t.minX:e.x,i=t.minY>e.y?t.minY:e.y,n=t.maxXh?n:h,this.maxY=o>u?o:u}},t.prototype.pad=function(t,e){void 0===t&&(t=0),void 0===e&&(e=t),this.isEmpty()||(this.minX-=t,this.maxX+=t,this.minY-=e,this.maxY+=e)},t.prototype.addFramePad=function(t,e,r,i,n,o){t-=n,e-=o,r+=n,i+=o,this.minX=this.minXr?this.maxX:r,this.minY=this.minYi?this.maxY:i},t}(),Ue=function(t,e){return(Ue=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)};function ke(t,e){function r(){this.constructor=t}Ue(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}var Xe=function(t){function e(){var e=t.call(this)||this;return e.tempDisplayObjectParent=null,e.transform=new Fe,e.alpha=1,e.visible=!0,e.renderable=!0,e.parent=null,e.worldAlpha=1,e._lastSortedIndex=0,e._zIndex=0,e.filterArea=null,e.filters=null,e._enabledFilters=null,e._bounds=new Be,e._localBounds=null,e._boundsID=0,e._boundsRect=null,e._localBoundsRect=null,e._mask=null,e._destroyed=!1,e.isSprite=!1,e.isMask=!1,e}return ke(e,t),e.mixin=function(t){for(var r=Object.keys(t),i=0;i1)for(var i=0;ithis.children.length)throw new Error(t+"addChildAt: The index "+e+" supplied is out of bounds "+this.children.length);return t.parent&&t.parent.removeChild(t),t.parent=this,this.sortDirty=!0,t.transform._parentID=-1,this.children.splice(e,0,t),this._boundsID++,this.onChildrenChange(e),t.emit("added",this),this.emit("childAdded",t,this,e),t},e.prototype.swapChildren=function(t,e){if(t!==e){var r=this.getChildIndex(t),i=this.getChildIndex(e);this.children[r]=e,this.children[i]=t,this.onChildrenChange(r=this.children.length)throw new Error("The index "+e+" supplied is out of bounds "+this.children.length);var r=this.getChildIndex(t);te(this.children,r,1),this.children.splice(e,0,t),this.onChildrenChange(e)},e.prototype.getChildAt=function(t){if(t<0||t>=this.children.length)throw new Error("getChildAt: Index ("+t+") does not exist.");return this.children[t]},e.prototype.removeChild=function(){for(var t=arguments,e=[],r=0;r1)for(var i=0;i0&&n<=e){r=this.children.splice(i,n);for(var o=0;o1&&this.children.sort(He),this.sortDirty=!1},e.prototype.updateTransform=function(){this.sortableChildren&&this.sortDirty&&this.sortChildren(),this._boundsID++,this.transform.updateTransform(this.parent.transform),this.worldAlpha=this.alpha*this.parent.worldAlpha;for(var t=0,e=this.children.length;t title : "+t.title+"
tabIndex: "+t.tabIndex},t.prototype.capHitArea=function(t){t.x<0&&(t.width+=t.x,t.x=0),t.y<0&&(t.height+=t.y,t.y=0),t.x+t.width>this.renderer.width&&(t.width=this.renderer.width-t.x),t.y+t.height>this.renderer.height&&(t.height=this.renderer.height-t.y)},t.prototype.addChild=function(t){var e=this.pool.pop();e||((e=document.createElement("button")).style.width=Ve+"px",e.style.height=Ve+"px",e.style.backgroundColor=this.debug?"rgba(255,255,255,0.5)":"transparent",e.style.position="absolute",e.style.zIndex=Ke.toString(),e.style.borderStyle="none",navigator.userAgent.toLowerCase().indexOf("chrome")>-1?e.setAttribute("aria-live","off"):e.setAttribute("aria-live","polite"),navigator.userAgent.match(/rv:.*Gecko\//)?e.setAttribute("aria-relevant","additions"):e.setAttribute("aria-relevant","text"),e.addEventListener("click",this._onClick.bind(this)),e.addEventListener("focus",this._onFocus.bind(this)),e.addEventListener("focusout",this._onFocusOut.bind(this))),e.style.pointerEvents=t.accessiblePointerEvents,e.type=t.accessibleType,t.accessibleTitle&&null!==t.accessibleTitle?e.title=t.accessibleTitle:t.accessibleHint&&null!==t.accessibleHint||(e.title="displayObject "+t.tabIndex),t.accessibleHint&&null!==t.accessibleHint&&e.setAttribute("aria-label",t.accessibleHint),this.debug&&this.updateDebugHTML(e),t._accessibleActive=!0,t._accessibleDiv=e,e.displayObject=t,this.children.push(t),this.div.appendChild(t._accessibleDiv),t._accessibleDiv.tabIndex=t.tabIndex},t.prototype._onClick=function(t){var e=this.renderer.plugins.interaction;e.dispatchEvent(t.target.displayObject,"click",e.eventData),e.dispatchEvent(t.target.displayObject,"pointertap",e.eventData),e.dispatchEvent(t.target.displayObject,"tap",e.eventData)},t.prototype._onFocus=function(t){t.target.getAttribute("aria-live")||t.target.setAttribute("aria-live","assertive");var e=this.renderer.plugins.interaction;e.dispatchEvent(t.target.displayObject,"mouseover",e.eventData)},t.prototype._onFocusOut=function(t){t.target.getAttribute("aria-live")||t.target.setAttribute("aria-live","polite");var e=this.renderer.plugins.interaction;e.dispatchEvent(t.target.displayObject,"mouseout",e.eventData)},t.prototype._onKeyDown=function(t){9===t.keyCode&&this.activate()},t.prototype._onMouseMove=function(t){0===t.movementX&&0===t.movementY||this.deactivate()},t.prototype.destroy=function(){this.destroyTouchHook(),this.div=null,window.document.removeEventListener("mousemove",this._onMouseMove,!0),window.removeEventListener("keydown",this._onKeyDown),this.pool=null,this.children=null,this.renderer=null},t}();D.TARGET_FPMS=.06,(ze=t.UPDATE_PRIORITY||(t.UPDATE_PRIORITY={}))[ze.INTERACTION=50]="INTERACTION",ze[ze.HIGH=25]="HIGH",ze[ze.NORMAL=0]="NORMAL",ze[ze.LOW=-25]="LOW",ze[ze.UTILITY=-50]="UTILITY";var Je=function(){function t(t,e,r,i){void 0===e&&(e=null),void 0===r&&(r=0),void 0===i&&(i=!1),this.fn=t,this.context=e,this.priority=r,this.once=i,this.next=null,this.previous=null,this._destroyed=!1}return t.prototype.match=function(t,e){return void 0===e&&(e=null),this.fn===t&&this.context===e},t.prototype.emit=function(t){this.fn&&(this.context?this.fn.call(this.context,t):this.fn(t));var e=this.next;return this.once&&this.destroy(!0),this._destroyed&&(this.next=null),e},t.prototype.connect=function(t){this.previous=t,t.next&&(t.next.previous=this),this.next=t.next,t.next=this},t.prototype.destroy=function(t){void 0===t&&(t=!1),this._destroyed=!0,this.fn=null,this.context=null,this.previous&&(this.previous.next=this.next),this.next&&(this.next.previous=this.previous);var e=this.next;return this.next=t?null:e,this.previous=null,e},t}(),Qe=function(){function e(){var t=this;this._head=new Je(null,null,1/0),this._requestId=null,this._maxElapsedMS=100,this._minElapsedMS=0,this.autoStart=!1,this.deltaTime=1,this.deltaMS=1/D.TARGET_FPMS,this.elapsedMS=1/D.TARGET_FPMS,this.lastTime=-1,this.speed=1,this.started=!1,this._protected=!1,this._lastFrame=-1,this._tick=function(e){t._requestId=null,t.started&&(t.update(e),t.started&&null===t._requestId&&t._head.next&&(t._requestId=requestAnimationFrame(t._tick)))}}return e.prototype._requestIfNeeded=function(){null===this._requestId&&this._head.next&&(this.lastTime=performance.now(),this._lastFrame=this.lastTime,this._requestId=requestAnimationFrame(this._tick))},e.prototype._cancelIfNeeded=function(){null!==this._requestId&&(cancelAnimationFrame(this._requestId),this._requestId=null)},e.prototype._startIfPossible=function(){this.started?this._requestIfNeeded():this.autoStart&&this.start()},e.prototype.add=function(e,r,i){return void 0===i&&(i=t.UPDATE_PRIORITY.NORMAL),this._addListener(new Je(e,r,i))},e.prototype.addOnce=function(e,r,i){return void 0===i&&(i=t.UPDATE_PRIORITY.NORMAL),this._addListener(new Je(e,r,i,!0))},e.prototype._addListener=function(t){var e=this._head.next,r=this._head;if(e){for(;e;){if(t.priority>e.priority){t.connect(r);break}r=e,e=e.next}t.previous||t.connect(r)}else t.connect(r);return this._startIfPossible(),this},e.prototype.remove=function(t,e){for(var r=this._head.next;r;)r=r.match(t,e)?r.destroy():r.next;return this._head.next||this._cancelIfNeeded(),this},Object.defineProperty(e.prototype,"count",{get:function(){if(!this._head)return 0;for(var t=0,e=this._head;e=e.next;)t++;return t},enumerable:!1,configurable:!0}),e.prototype.start=function(){this.started||(this.started=!0,this._requestIfNeeded())},e.prototype.stop=function(){this.started&&(this.started=!1,this._cancelIfNeeded())},e.prototype.destroy=function(){if(!this._protected){this.stop();for(var t=this._head.next;t;)t=t.destroy(!0);this._head.destroy(),this._head=null}},e.prototype.update=function(t){var e;if(void 0===t&&(t=performance.now()),t>this.lastTime){if((e=this.elapsedMS=t-this.lastTime)>this._maxElapsedMS&&(e=this._maxElapsedMS),e*=this.speed,this._minElapsedMS){var r=t-this._lastFrame|0;if(r=0;l--){var c=u[l],d=this.recursiveFindHit(t,c,r,i,a);if(d){if(!c.parent)continue;a=!1,d&&(t.target&&(i=!1),s=!0)}}return n&&(i&&!t.target&&!e.hitArea&&e.containsPoint&&e.containsPoint(o)&&(s=!0),e.interactive&&(s&&!t.target&&(t.target=e),r&&r(t,e,!!s))),s},t.prototype.findHit=function(t,e,r,i){this.recursiveFindHit(t,e,r,i,!1)},t}(),or={interactive:!1,interactiveChildren:!0,hitArea:null,get buttonMode(){return"pointer"===this.cursor},set buttonMode(t){t?this.cursor="pointer":"pointer"===this.cursor&&(this.cursor=null)},cursor:null,get trackedPointers(){return void 0===this._trackedPointers&&(this._trackedPointers={}),this._trackedPointers},_trackedPointers:void 0};Xe.mixin(or);var sr=1,ar={target:null,data:{global:null}},hr=function(e){function r(t,r){var i=e.call(this)||this;return r=r||{},i.renderer=t,i.autoPreventDefault=void 0===r.autoPreventDefault||r.autoPreventDefault,i.interactionFrequency=r.interactionFrequency||10,i.mouse=new tr,i.mouse.identifier=sr,i.mouse.global.set(-999999),i.activeInteractionData={},i.activeInteractionData[sr]=i.mouse,i.interactionDataPool=[],i.eventData=new rr,i.interactionDOMElement=null,i.moveWhenInside=!1,i.eventsAdded=!1,i.tickerAdded=!1,i.mouseOverRenderer=!1,i.supportsTouchEvents="ontouchstart"in window,i.supportsPointerEvents=!!window.PointerEvent,i.onPointerUp=i.onPointerUp.bind(i),i.processPointerUp=i.processPointerUp.bind(i),i.onPointerCancel=i.onPointerCancel.bind(i),i.processPointerCancel=i.processPointerCancel.bind(i),i.onPointerDown=i.onPointerDown.bind(i),i.processPointerDown=i.processPointerDown.bind(i),i.onPointerMove=i.onPointerMove.bind(i),i.processPointerMove=i.processPointerMove.bind(i),i.onPointerOut=i.onPointerOut.bind(i),i.processPointerOverOut=i.processPointerOverOut.bind(i),i.onPointerOver=i.onPointerOver.bind(i),i.cursorStyles={default:"inherit",pointer:"pointer"},i.currentCursorMode=null,i.cursor=null,i.resolution=1,i.delayedEvents=[],i.search=new nr,i._tempDisplayObject=new je,i._useSystemTicker=void 0===r.useSystemTicker||r.useSystemTicker,i.setTargetElement(i.renderer.view,i.renderer.resolution),i}return function(t,e){function r(){this.constructor=t}er(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}(r,e),Object.defineProperty(r.prototype,"useSystemTicker",{get:function(){return this._useSystemTicker},set:function(t){this._useSystemTicker=t,t?this.addTickerListener():this.removeTickerListener()},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"lastObjectRendered",{get:function(){return this.renderer._lastObjectRendered||this._tempDisplayObject},enumerable:!1,configurable:!0}),r.prototype.hitTest=function(t,e){return ar.target=null,ar.data.global=t,e||(e=this.lastObjectRendered),this.processInteractive(ar,e,null,!0),ar.target},r.prototype.setTargetElement=function(t,e){void 0===e&&(e=1),this.removeTickerListener(),this.removeEvents(),this.interactionDOMElement=t,this.resolution=e,this.addEvents(),this.addTickerListener()},r.prototype.addTickerListener=function(){!this.tickerAdded&&this.interactionDOMElement&&this._useSystemTicker&&(Qe.system.add(this.tickerUpdate,this,t.UPDATE_PRIORITY.INTERACTION),this.tickerAdded=!0)},r.prototype.removeTickerListener=function(){this.tickerAdded&&(Qe.system.remove(this.tickerUpdate,this),this.tickerAdded=!1)},r.prototype.addEvents=function(){if(!this.eventsAdded&&this.interactionDOMElement){var t=this.interactionDOMElement.style;window.navigator.msPointerEnabled?(t.msContentZooming="none",t.msTouchAction="none"):this.supportsPointerEvents&&(t.touchAction="none"),this.supportsPointerEvents?(window.document.addEventListener("pointermove",this.onPointerMove,!0),this.interactionDOMElement.addEventListener("pointerdown",this.onPointerDown,!0),this.interactionDOMElement.addEventListener("pointerleave",this.onPointerOut,!0),this.interactionDOMElement.addEventListener("pointerover",this.onPointerOver,!0),window.addEventListener("pointercancel",this.onPointerCancel,!0),window.addEventListener("pointerup",this.onPointerUp,!0)):(window.document.addEventListener("mousemove",this.onPointerMove,!0),this.interactionDOMElement.addEventListener("mousedown",this.onPointerDown,!0),this.interactionDOMElement.addEventListener("mouseout",this.onPointerOut,!0),this.interactionDOMElement.addEventListener("mouseover",this.onPointerOver,!0),window.addEventListener("mouseup",this.onPointerUp,!0)),this.supportsTouchEvents&&(this.interactionDOMElement.addEventListener("touchstart",this.onPointerDown,!0),this.interactionDOMElement.addEventListener("touchcancel",this.onPointerCancel,!0),this.interactionDOMElement.addEventListener("touchend",this.onPointerUp,!0),this.interactionDOMElement.addEventListener("touchmove",this.onPointerMove,!0)),this.eventsAdded=!0}},r.prototype.removeEvents=function(){if(this.eventsAdded&&this.interactionDOMElement){var t=this.interactionDOMElement.style;window.navigator.msPointerEnabled?(t.msContentZooming="",t.msTouchAction=""):this.supportsPointerEvents&&(t.touchAction=""),this.supportsPointerEvents?(window.document.removeEventListener("pointermove",this.onPointerMove,!0),this.interactionDOMElement.removeEventListener("pointerdown",this.onPointerDown,!0),this.interactionDOMElement.removeEventListener("pointerleave",this.onPointerOut,!0),this.interactionDOMElement.removeEventListener("pointerover",this.onPointerOver,!0),window.removeEventListener("pointercancel",this.onPointerCancel,!0),window.removeEventListener("pointerup",this.onPointerUp,!0)):(window.document.removeEventListener("mousemove",this.onPointerMove,!0),this.interactionDOMElement.removeEventListener("mousedown",this.onPointerDown,!0),this.interactionDOMElement.removeEventListener("mouseout",this.onPointerOut,!0),this.interactionDOMElement.removeEventListener("mouseover",this.onPointerOver,!0),window.removeEventListener("mouseup",this.onPointerUp,!0)),this.supportsTouchEvents&&(this.interactionDOMElement.removeEventListener("touchstart",this.onPointerDown,!0),this.interactionDOMElement.removeEventListener("touchcancel",this.onPointerCancel,!0),this.interactionDOMElement.removeEventListener("touchend",this.onPointerUp,!0),this.interactionDOMElement.removeEventListener("touchmove",this.onPointerMove,!0)),this.interactionDOMElement=null,this.eventsAdded=!1}},r.prototype.tickerUpdate=function(t){this._deltaTime+=t,this._deltaTime8)throw new Error("max arguments reached");var h=this.name,u=this.items;this._aliasCount++;for(var l=0,c=u.length;l0&&this.items.length>1&&(this._aliasCount=0,this.items=this.items.slice(0))},t.prototype.add=function(t){return t[this._name]&&(this.ensureNonAliasedItems(),this.remove(t),this.items.push(t)),this},t.prototype.remove=function(t){var e=this.items.indexOf(t);return-1!==e&&(this.ensureNonAliasedItems(),this.items.splice(e,1)),this},t.prototype.contains=function(t){return-1!==this.items.indexOf(t)},t.prototype.removeAll=function(){return this.ensureNonAliasedItems(),this.items.length=0,this},t.prototype.destroy=function(){this.removeAll(),this.items=null,this._name=null},Object.defineProperty(t.prototype,"empty",{get:function(){return 0===this.items.length},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"name",{get:function(){return this._name},enumerable:!1,configurable:!0}),t}();Object.defineProperties(ur.prototype,{dispatch:{value:ur.prototype.emit},run:{value:ur.prototype.emit}}),D.PREFER_ENV=M.any?t.ENV.WEBGL:t.ENV.WEBGL2,D.STRICT_TEXTURE_CACHE=!1;var lr=[];function cr(t,e){if(!t)return null;var r="";if("string"==typeof t){var i=/\.(\w{3,4})(?:$|\?|#)/i.exec(t);i&&(r=i[1].toLowerCase())}for(var n=lr.length-1;n>=0;--n){var o=lr[n];if(o.test&&o.test(t,r))return new o(t,e)}throw new Error("Unrecognized source type to auto-detect Resource")}var dr=function(t,e){return(dr=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)};function pr(t,e){function r(){this.constructor=t}dr(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}var fr=function(){function t(t,e){void 0===t&&(t=0),void 0===e&&(e=0),this._width=t,this._height=e,this.destroyed=!1,this.internal=!1,this.onResize=new ur("setRealSize"),this.onUpdate=new ur("update"),this.onError=new ur("onError")}return t.prototype.bind=function(t){this.onResize.add(t),this.onUpdate.add(t),this.onError.add(t),(this._width||this._height)&&this.onResize.emit(this._width,this._height)},t.prototype.unbind=function(t){this.onResize.remove(t),this.onUpdate.remove(t),this.onError.remove(t)},t.prototype.resize=function(t,e){t===this._width&&e===this._height||(this._width=t,this._height=e,this.onResize.emit(t,e))},Object.defineProperty(t.prototype,"valid",{get:function(){return!!this._width&&!!this._height},enumerable:!1,configurable:!0}),t.prototype.update=function(){this.destroyed||this.onUpdate.emit()},t.prototype.load=function(){return Promise.resolve(this)},Object.defineProperty(t.prototype,"width",{get:function(){return this._width},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"height",{get:function(){return this._height},enumerable:!1,configurable:!0}),t.prototype.style=function(t,e,r){return!1},t.prototype.dispose=function(){},t.prototype.destroy=function(){this.destroyed||(this.destroyed=!0,this.dispose(),this.onError.removeAll(),this.onError=null,this.onResize.removeAll(),this.onResize=null,this.onUpdate.removeAll(),this.onUpdate=null)},t.test=function(t,e){return!1},t}(),mr=function(e){function r(t,r){var i=this,n=r||{},o=n.width,s=n.height;if(!o||!s)throw new Error("BufferResource width or height invalid");return(i=e.call(this,o,s)||this).data=t,i}return pr(r,e),r.prototype.upload=function(e,r,i){var n=e.gl;return n.pixelStorei(n.UNPACK_PREMULTIPLY_ALPHA_WEBGL,r.alphaMode===t.ALPHA_MODES.UNPACK),i.width===r.width&&i.height===r.height?n.texSubImage2D(r.target,0,0,0,r.width,r.height,r.format,r.type,this.data):(i.width=r.width,i.height=r.height,n.texImage2D(r.target,0,i.internalFormat,r.width,r.height,0,r.format,i.type,this.data)),!0},r.prototype.dispose=function(){this.data=null},r.test=function(t){return t instanceof Float32Array||t instanceof Uint8Array||t instanceof Uint32Array},r}(fr),vr={scaleMode:t.SCALE_MODES.NEAREST,format:t.FORMATS.RGBA,alphaMode:t.ALPHA_MODES.NPM},gr=function(e){function r(r,i){void 0===r&&(r=null),void 0===i&&(i=null);var n=e.call(this)||this,o=(i=i||{}).alphaMode,s=i.mipmap,a=i.anisotropicLevel,h=i.scaleMode,u=i.width,l=i.height,c=i.wrapMode,d=i.format,p=i.type,f=i.target,m=i.resolution,v=i.resourceOptions;return!r||r instanceof fr||((r=cr(r,v)).internal=!0),n.width=u||0,n.height=l||0,n.resolution=m||D.RESOLUTION,n.mipmap=void 0!==s?s:D.MIPMAP_TEXTURES,n.anisotropicLevel=void 0!==a?a:D.ANISOTROPIC_LEVEL,n.wrapMode=c||D.WRAP_MODE,n.scaleMode=void 0!==h?h:D.SCALE_MODE,n.format=d||t.FORMATS.RGBA,n.type=p||t.TYPES.UNSIGNED_BYTE,n.target=f||t.TARGETS.TEXTURE_2D,n.alphaMode=void 0!==o?o:t.ALPHA_MODES.UNPACK,void 0!==i.premultiplyAlpha&&(n.premultiplyAlpha=i.premultiplyAlpha),n.uid=ie(),n.touched=0,n.isPowerOfTwo=!1,n._refreshPOT(),n._glTextures={},n.dirtyId=0,n.dirtyStyleId=0,n.cacheId=null,n.valid=u>0&&l>0,n.textureCacheIds=[],n.destroyed=!1,n.resource=null,n._batchEnabled=0,n._batchLocation=0,n.parentTextureArray=null,n.setResource(r),n}return pr(r,e),Object.defineProperty(r.prototype,"realWidth",{get:function(){return Math.ceil(this.width*this.resolution-1e-4)},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"realHeight",{get:function(){return Math.ceil(this.height*this.resolution-1e-4)},enumerable:!1,configurable:!0}),r.prototype.setStyle=function(t,e){var r;return void 0!==t&&t!==this.scaleMode&&(this.scaleMode=t,r=!0),void 0!==e&&e!==this.mipmap&&(this.mipmap=e,r=!0),r&&this.dirtyStyleId++,this},r.prototype.setSize=function(t,e,r){return this.resolution=r||this.resolution,this.width=t,this.height=e,this._refreshPOT(),this.update(),this},r.prototype.setRealSize=function(t,e,r){return this.resolution=r||this.resolution,this.width=t/this.resolution,this.height=e/this.resolution,this._refreshPOT(),this.update(),this},r.prototype._refreshPOT=function(){this.isPowerOfTwo=Qt(this.realWidth)&&Qt(this.realHeight)},r.prototype.setResolution=function(t){var e=this.resolution;return e===t?this:(this.resolution=t,this.valid&&(this.width=this.width*e/t,this.height=this.height*e/t,this.emit("update",this)),this._refreshPOT(),this)},r.prototype.setResource=function(t){if(this.resource===t)return this;if(this.resource)throw new Error("Resource can be set only once");return t.bind(this),this.resource=t,this},r.prototype.update=function(){this.valid?(this.dirtyId++,this.dirtyStyleId++,this.emit("update",this)):this.width>0&&this.height>0&&(this.valid=!0,this.emit("loaded",this),this.emit("update",this))},r.prototype.onError=function(t){this.emit("error",this,t)},r.prototype.destroy=function(){this.resource&&(this.resource.unbind(this),this.resource.internal&&this.resource.destroy(),this.resource=null),this.cacheId&&(delete he[this.cacheId],delete ae[this.cacheId],this.cacheId=null),this.dispose(),r.removeFromCache(this),this.textureCacheIds=null,this.destroyed=!0},r.prototype.dispose=function(){this.emit("dispose",this)},r.prototype.castToBaseTexture=function(){return this},r.from=function(t,e,i){void 0===i&&(i=D.STRICT_TEXTURE_CACHE);var n="string"==typeof t,o=null;n?o=t:(t._pixiId||(t._pixiId="pixiid_"+ie()),o=t._pixiId);var s=he[o];if(n&&i&&!s)throw new Error('The cacheId "'+o+'" does not exist in BaseTextureCache.');return s||((s=new r(t,e)).cacheId=o,r.addToCache(s,o)),s},r.fromBuffer=function(e,i,n,o){e=e||new Float32Array(i*n*4);var s=new mr(e,{width:i,height:n}),a=e instanceof Float32Array?t.TYPES.FLOAT:t.TYPES.UNSIGNED_BYTE;return new r(s,Object.assign(vr,o||{width:i,height:n,type:a}))},r.addToCache=function(t,e){e&&(-1===t.textureCacheIds.indexOf(e)&&t.textureCacheIds.push(e),he[e]&&console.warn("BaseTexture added to the cache with an id ["+e+"] that already had an entry"),he[e]=t)},r.removeFromCache=function(t){if("string"==typeof t){var e=he[t];if(e){var r=e.textureCacheIds.indexOf(t);return r>-1&&e.textureCacheIds.splice(r,1),delete he[t],e}}else if(t&&t.textureCacheIds){for(var i=0;i0){if(!e.resource)throw new Error("CubeResource does not support copying of renderTexture.");this.addResourceAt(e.resource,r)}else e.target=t.TARGETS.TEXTURE_CUBE_MAP_POSITIVE_X+r,e.parentTextureArray=this.baseTexture,this.items[r]=e;return e.valid&&!this.valid&&this.resize(e.realWidth,e.realHeight),this.items[r]=e,this},r.prototype.upload=function(t,e,i){for(var n=this.itemDirtyIds,o=0;o]*(?:\s(width|height)=('|")(\d*(?:\.\d+)?)(?:px)?('|"))[^>]*(?:\s(width|height)=('|")(\d*(?:\.\d+)?)(?:px)?('|"))[^>]*>/i,e}(xr),wr=function(t){function e(r,i){var n=this;if(i=i||{},!(r instanceof HTMLVideoElement)){var o=document.createElement("video");o.setAttribute("preload","auto"),o.setAttribute("webkit-playsinline",""),o.setAttribute("playsinline",""),"string"==typeof r&&(r=[r]);var s=r[0].src||r[0];xr.crossOrigin(o,s,i.crossorigin);for(var a=0;a0&&!1===t.paused&&!1===t.ended&&t.readyState>2},e.prototype._isSourceReady=function(){var t=this.source;return 3===t.readyState||4===t.readyState},e.prototype._onPlayStart=function(){this.valid||this._onCanPlay(),this.autoUpdate&&!this._isConnectedToTicker&&(Qe.shared.add(this.update,this),this._isConnectedToTicker=!0)},e.prototype._onPlayStop=function(){this._isConnectedToTicker&&(Qe.shared.remove(this.update,this),this._isConnectedToTicker=!1)},e.prototype._onCanPlay=function(){var t=this.source;t.removeEventListener("canplay",this._onCanPlay),t.removeEventListener("canplaythrough",this._onCanPlay);var e=this.valid;this.resize(t.videoWidth,t.videoHeight),!e&&this._resolve&&(this._resolve(this),this._resolve=null),this._isSourcePlaying()?this._onPlayStart():this.autoPlay&&t.play()},e.prototype.dispose=function(){this._isConnectedToTicker&&Qe.shared.remove(this.update,this);var e=this.source;e&&(e.removeEventListener("error",this._onError,!0),e.pause(),e.src="",e.load()),t.prototype.dispose.call(this)},Object.defineProperty(e.prototype,"autoUpdate",{get:function(){return this._autoUpdate},set:function(t){t!==this._autoUpdate&&(this._autoUpdate=t,!this._autoUpdate&&this._isConnectedToTicker?(Qe.shared.remove(this.update,this),this._isConnectedToTicker=!1):this._autoUpdate&&!this._isConnectedToTicker&&this._isSourcePlaying()&&(Qe.shared.add(this.update,this),this._isConnectedToTicker=!0))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"updateFPS",{get:function(){return this._updateFPS},set:function(t){t!==this._updateFPS&&(this._updateFPS=t)},enumerable:!1,configurable:!0}),e.test=function(t,r){return t instanceof HTMLVideoElement||e.TYPES.indexOf(r)>-1},e.TYPES=["mp4","m4v","webm","ogg","ogv","h264","avi","mov"],e.MIME_TYPES={ogv:"video/ogg",mov:"video/quicktime",m4v:"video/mp4"},e}(xr),Pr=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return pr(e,t),e.test=function(t){return!!window.createImageBitmap&&t instanceof ImageBitmap},e}(xr);lr.push(Tr,Pr,br,wr,Sr,mr,Er,_r);var Ir={Resource:fr,BaseImageResource:xr,INSTALLED:lr,autoDetectResource:cr,AbstractMultiResource:yr,ArrayResource:_r,BufferResource:mr,CanvasResource:br,CubeResource:Er,ImageResource:Tr,SVGResource:Sr,VideoResource:wr,ImageBitmapResource:Pr},Ar=function(){function t(t){this.renderer=t}return t.prototype.destroy=function(){this.renderer=null},t}(),Or=function(e){function r(){return null!==e&&e.apply(this,arguments)||this}return pr(r,e),r.prototype.upload=function(e,r,i){var n=e.gl;return n.pixelStorei(n.UNPACK_PREMULTIPLY_ALPHA_WEBGL,r.alphaMode===t.ALPHA_MODES.UNPACK),i.width===r.width&&i.height===r.height?n.texSubImage2D(r.target,0,0,0,r.width,r.height,r.format,r.type,this.data):(i.width=r.width,i.height=r.height,n.texImage2D(r.target,0,1===e.context.webGLVersion?n.DEPTH_COMPONENT:n.DEPTH_COMPONENT16,r.width,r.height,0,r.format,r.type,this.data)),!0},r}(mr),Mr=function(){function e(e,r){this.width=Math.ceil(e||100),this.height=Math.ceil(r||100),this.stencil=!1,this.depth=!1,this.dirtyId=0,this.dirtyFormat=0,this.dirtySize=0,this.depthTexture=null,this.colorTextures=[],this.glFramebuffers={},this.disposeRunner=new ur("disposeFramebuffer"),this.multisample=t.MSAA_QUALITY.NONE}return Object.defineProperty(e.prototype,"colorTexture",{get:function(){return this.colorTextures[0]},enumerable:!1,configurable:!0}),e.prototype.addColorTexture=function(e,r){return void 0===e&&(e=0),this.colorTextures[e]=r||new gr(null,{scaleMode:t.SCALE_MODES.NEAREST,resolution:1,mipmap:t.MIPMAP_MODES.OFF,width:this.width,height:this.height}),this.dirtyId++,this.dirtyFormat++,this},e.prototype.addDepthTexture=function(e){return this.depthTexture=e||new gr(new Or(null,{width:this.width,height:this.height}),{scaleMode:t.SCALE_MODES.NEAREST,resolution:1,width:this.width,height:this.height,mipmap:t.MIPMAP_MODES.OFF,format:t.FORMATS.DEPTH_COMPONENT,type:t.TYPES.UNSIGNED_SHORT}),this.dirtyId++,this.dirtyFormat++,this},e.prototype.enableDepth=function(){return this.depth=!0,this.dirtyId++,this.dirtyFormat++,this},e.prototype.enableStencil=function(){return this.stencil=!0,this.dirtyId++,this.dirtyFormat++,this},e.prototype.resize=function(t,e){if(t=Math.ceil(t),e=Math.ceil(e),t!==this.width||e!==this.height){this.width=t,this.height=e,this.dirtyId++,this.dirtySize++;for(var r=0;r-1&&e.textureCacheIds.splice(r,1),delete ae[t],e}}else if(t&&t.textureCacheIds){for(var i=0;ithis.baseTexture.width,s=r+n>this.baseTexture.height;if(o||s){var a=o&&s?"and":"or",h="X: "+e+" + "+i+" = "+(e+i)+" > "+this.baseTexture.width,u="Y: "+r+" + "+n+" = "+(r+n)+" > "+this.baseTexture.height;throw new Error("Texture Error: frame does not fit inside the base Texture dimensions: "+h+" "+a+" "+u)}this.valid=i&&n&&this.baseTexture.valid,this.trim||this.rotate||(this.orig=t),this.valid&&this.updateUvs()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"rotate",{get:function(){return this._rotate},set:function(t){this._rotate=t,this.valid&&this.updateUvs()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"width",{get:function(){return this.orig.width},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"height",{get:function(){return this.orig.height},enumerable:!1,configurable:!0}),e.prototype.castToBaseTexture=function(){return this.baseTexture},e}(C);function Nr(t){t.destroy=function(){},t.on=function(){},t.once=function(){},t.emit=function(){}}Lr.EMPTY=new Lr(new gr),Nr(Lr.EMPTY),Nr(Lr.EMPTY.baseTexture),Lr.WHITE=function(){var t=document.createElement("canvas");t.width=16,t.height=16;var e=t.getContext("2d");return e.fillStyle="white",e.fillRect(0,0,16,16),new Lr(new gr(new br(t)))}(),Nr(Lr.WHITE),Nr(Lr.WHITE.baseTexture);var Fr=function(t){function e(e,r){var i=this,n=null;if(!(e instanceof Dr)){var o=arguments[1],s=arguments[2],a=arguments[3],h=arguments[4];console.warn("Please use RenderTexture.create("+o+", "+s+") instead of the ctor directly."),n=arguments[0],r=null,e=new Dr({width:o,height:s,scaleMode:a,resolution:h})}return(i=t.call(this,e,r)||this).legacyRenderer=n,i.valid=!0,i.filterFrame=null,i.filterPoolKey=null,i.updateUvs(),i}return pr(e,t),Object.defineProperty(e.prototype,"framebuffer",{get:function(){return this.baseTexture.framebuffer},enumerable:!1,configurable:!0}),e.prototype.resize=function(t,e,r){void 0===r&&(r=!0),t=Math.ceil(t),e=Math.ceil(e),this.valid=t>0&&e>0,this._frame.width=this.orig.width=t,this._frame.height=this.orig.height=e,r&&this.baseTexture.resize(t,e),this.updateUvs()},e.prototype.setResolution=function(t){var e=this.baseTexture;e.resolution!==t&&(e.setResolution(t),this.resize(e.width,e.height,!1))},e.create=function(t){return"number"==typeof t&&(t={width:t,height:arguments[1],scaleMode:arguments[2],resolution:arguments[3]}),new e(new Dr(t))},e}(Lr),Br=function(){function t(t){this.texturePool={},this.textureOptions=t||{},this.enableFullScreen=!1,this._pixelsWidth=0,this._pixelsHeight=0}return t.prototype.createTexture=function(t,e){var r=new Dr(Object.assign({width:t,height:e,resolution:1},this.textureOptions));return new Fr(r)},t.prototype.getOptimalTexture=function(e,r,i){void 0===i&&(i=1);var n=t.SCREEN_KEY;e*=i,r*=i,this.enableFullScreen&&e===this._pixelsWidth&&r===this._pixelsHeight||(n=(65535&(e=Jt(e)))<<16|65535&(r=Jt(r))),this.texturePool[n]||(this.texturePool[n]=[]);var o=this.texturePool[n].pop();return o||(o=this.createTexture(e,r)),o.filterPoolKey=n,o.setResolution(i),o},t.prototype.getFilterTexture=function(t,e){var r=this.getOptimalTexture(t.width,t.height,e||t.resolution);return r.filterFrame=t.filterFrame,r},t.prototype.returnTexture=function(t){var e=t.filterPoolKey;t.filterFrame=null,this.texturePool[e].push(t)},t.prototype.returnFilterTexture=function(t){this.returnTexture(t)},t.prototype.clear=function(t){if(t=!1!==t)for(var e in this.texturePool){var r=this.texturePool[e];if(r)for(var i=0;i0&&e.height>0,i)for(var n=0;n1){for(var u=0;u1&&this.renderer.framebuffer.blit(),1===i.length)i[0].apply(this,r.renderTexture,u.renderTexture,t.CLEAR_MODES.BLEND,r),this.returnFilterTexture(r.renderTexture);else{var l=r.renderTexture,c=this.getOptimalFilterTexture(l.width,l.height,r.resolution);c.filterFrame=l.filterFrame;var d=0;for(d=0;d=0;--i)t[i]=r[i]||null,t[i]&&(t[i]._batchLocation=i)},e.prototype.boundArray=function(t,e,r,i){for(var n=t.elements,o=t.ids,s=t.count,a=0,h=0;h=0&&l=t.ENV.WEBGL2&&(i=e.getContext("webgl2",r)),i)this.webGLVersion=2;else if(this.webGLVersion=1,!(i=e.getContext("webgl",r)||e.getContext("experimental-webgl",r)))throw new Error("This browser does not support WebGL. Try using the canvas renderer");return this.gl=i,this.getExtensions(),this.gl},r.prototype.getExtensions=function(){var t=this.gl;1===this.webGLVersion?Object.assign(this.extensions,{drawBuffers:t.getExtension("WEBGL_draw_buffers"),depthTexture:t.getExtension("WEBGL_depth_texture"),loseContext:t.getExtension("WEBGL_lose_context"),vertexArrayObject:t.getExtension("OES_vertex_array_object")||t.getExtension("MOZ_OES_vertex_array_object")||t.getExtension("WEBKIT_OES_vertex_array_object"),anisotropicFiltering:t.getExtension("EXT_texture_filter_anisotropic"),uint32ElementIndex:t.getExtension("OES_element_index_uint"),floatTexture:t.getExtension("OES_texture_float"),floatTextureLinear:t.getExtension("OES_texture_float_linear"),textureHalfFloat:t.getExtension("OES_texture_half_float"),textureHalfFloatLinear:t.getExtension("OES_texture_half_float_linear")}):2===this.webGLVersion&&Object.assign(this.extensions,{anisotropicFiltering:t.getExtension("EXT_texture_filter_anisotropic"),colorBufferFloat:t.getExtension("EXT_color_buffer_float"),floatTextureLinear:t.getExtension("OES_texture_float_linear")})},r.prototype.handleContextLost=function(t){t.preventDefault()},r.prototype.handleContextRestored=function(){this.renderer.runners.contextChange.emit(this.gl)},r.prototype.destroy=function(){var t=this.renderer.view;t.removeEventListener("webglcontextlost",this.handleContextLost),t.removeEventListener("webglcontextrestored",this.handleContextRestored),this.gl.useProgram(null),this.extensions.loseContext&&this.extensions.loseContext.loseContext()},r.prototype.postrender=function(){this.renderer.renderingToScreen&&this.gl.flush()},r.prototype.validateContext=function(t){t.getContextAttributes().stencil||console.warn("Provided WebGL context does not have a stencil buffer, masks may not render correctly");var e="WebGL2RenderingContext"in window&&t instanceof window.WebGL2RenderingContext||!!t.getExtension("OES_element_index_uint");this.supports.uint32Indices=e,e||console.warn("Provided WebGL context does not support 32 index buffer, complex graphics may not render correctly")},r}(Ar),ii=function(){return function(e){this.framebuffer=e,this.stencil=null,this.dirtyId=0,this.dirtyFormat=0,this.dirtySize=0,this.multisample=t.MSAA_QUALITY.NONE,this.msaaBuffer=null,this.blitFramebuffer=null}}(),ni=new xe,oi=function(e){function r(t){var r=e.call(this,t)||this;return r.managedFramebuffers=[],r.unknownFramebuffer=new Mr(10,10),r.msaaSamples=null,r}return pr(r,e),r.prototype.contextChange=function(){var e=this.gl=this.renderer.gl;if(this.CONTEXT_UID=this.renderer.CONTEXT_UID,this.current=this.unknownFramebuffer,this.viewport=new xe,this.hasMRT=!0,this.writeDepthTexture=!0,this.disposeAll(!0),1===this.renderer.context.webGLVersion){var r=this.renderer.context.extensions.drawBuffers,i=this.renderer.context.extensions.depthTexture;D.PREFER_ENV===t.ENV.WEBGL_LEGACY&&(r=null,i=null),r?e.drawBuffers=function(t){return r.drawBuffersWEBGL(t)}:(this.hasMRT=!1,e.drawBuffers=function(){}),i||(this.writeDepthTexture=!1)}else this.msaaSamples=e.getInternalformatParameter(e.RENDERBUFFER,e.RGBA8,e.SAMPLES)},r.prototype.bind=function(t,e){var r=this.gl;if(t){var i=t.glFramebuffers[this.CONTEXT_UID]||this.initFramebuffer(t);this.current!==t&&(this.current=t,r.bindFramebuffer(r.FRAMEBUFFER,i.framebuffer)),i.dirtyId!==t.dirtyId&&(i.dirtyId=t.dirtyId,i.dirtyFormat!==t.dirtyFormat?(i.dirtyFormat=t.dirtyFormat,this.updateFramebuffer(t)):i.dirtySize!==t.dirtySize&&(i.dirtySize=t.dirtySize,this.resizeFramebuffer(t)));for(var n=0;n1&&(r.msaaBuffer=e.createRenderbuffer(),e.bindRenderbuffer(e.RENDERBUFFER,r.msaaBuffer),e.renderbufferStorageMultisample(e.RENDERBUFFER,r.multisample,e.RGBA8,t.width,t.height),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.RENDERBUFFER,r.msaaBuffer));for(var n=[],o=0;o1)){var s=t.colorTextures[o],a=s.parentTextureArray||s;this.renderer.texture.bind(a,0),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0+o,s.target,a._glTextures[this.CONTEXT_UID].texture,0),n.push(e.COLOR_ATTACHMENT0+o)}if((n.length>1&&e.drawBuffers(n),t.depthTexture)&&this.writeDepthTexture){var h=t.depthTexture;this.renderer.texture.bind(h,0),e.framebufferTexture2D(e.FRAMEBUFFER,e.DEPTH_ATTACHMENT,e.TEXTURE_2D,h._glTextures[this.CONTEXT_UID].texture,0)}r.stencil||!t.stencil&&!t.depth||(r.stencil=e.createRenderbuffer(),e.bindRenderbuffer(e.RENDERBUFFER,r.stencil),e.renderbufferStorage(e.RENDERBUFFER,e.DEPTH_STENCIL,t.width,t.height),t.depthTexture||e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_STENCIL_ATTACHMENT,e.RENDERBUFFER,r.stencil))},r.prototype.detectSamples=function(e){var r=this.msaaSamples,i=t.MSAA_QUALITY.NONE;if(e<=1||null===r)return i;for(var n=0;n=0&&this.managedFramebuffers.splice(n,1),t.disposeRunner.remove(this),e||(i.deleteFramebuffer(r.framebuffer),r.stencil&&i.deleteRenderbuffer(r.stencil))}},r.prototype.disposeAll=function(t){var e=this.managedFramebuffers;this.managedFramebuffers=[];for(var r=0;r=i.data.byteLength)e.bufferSubData(o,0,i.data);else{var s=i.static?e.STATIC_DRAW:e.DYNAMIC_DRAW;n.byteLength=i.data.byteLength,e.bufferData(o,i.data,s)}}}},r.prototype.checkCompatibility=function(t,e){var r=t.attributes,i=e.attributeData;for(var n in i)if(!r[n])throw new Error('shader and geometry incompatible, geometry missing the "'+n+'" attribute')},r.prototype.getSignature=function(t,e){var r=t.attributes,i=e.attributeData,n=["g",t.id];for(var o in r)i[o]&&n.push(o);return n.join("-")},r.prototype.initGeometryVao=function(t,e){this.checkCompatibility(t,e);var r=this.gl,i=this.CONTEXT_UID,n=this.getSignature(t,e),o=t.glVertexArrayObjects[this.CONTEXT_UID],s=o[n];if(s)return o[e.id]=s,s;var a=t.buffers,h=t.attributes,u={},l={};for(var c in a)u[c]=0,l[c]=0;for(var c in h)!h[c].size&&e.attributeData[c]?h[c].size=e.attributeData[c].size:h[c].size||console.warn("PIXI Geometry attribute '"+c+"' size cannot be determined (likely the bound shader does not have the attribute)"),u[h[c].buffer]+=h[c].size*ai[h[c].type];for(var c in h){var d=h[c],p=d.size;void 0===d.stride&&(u[d.buffer]===p*ai[d.type]?d.stride=0:d.stride=u[d.buffer]),void 0===d.start&&(d.start=l[d.buffer],l[d.buffer]+=p*ai[d.type])}s=r.createVertexArray(),r.bindVertexArray(s);for(var f=0;f=t.ENV.WEBGL2&&(r=e.getContext("webgl2",{})),r||((r=e.getContext("webgl",{})||e.getContext("experimental-webgl",{}))?r.getExtension("WEBGL_draw_buffers"):r=null),vi=r}return vi}function yi(e,r,i){if("precision"!==e.substring(0,9)){var n=r;return r===t.PRECISION.HIGH&&i!==t.PRECISION.HIGH&&(n=t.PRECISION.MEDIUM),"precision "+n+" float;\n"+e}return i!==t.PRECISION.HIGH&&"precision highp"===e.substring(0,15)?e.replace("precision highp","precision mediump"):e}var _i={float:1,vec2:2,vec3:3,vec4:4,int:1,ivec2:2,ivec3:3,ivec4:4,bool:1,bvec2:2,bvec3:3,bvec4:4,mat2:4,mat3:9,mat4:16,sampler2D:1};function xi(t){return _i[t]}var bi=null,Ei={FLOAT:"float",FLOAT_VEC2:"vec2",FLOAT_VEC3:"vec3",FLOAT_VEC4:"vec4",INT:"int",INT_VEC2:"ivec2",INT_VEC3:"ivec3",INT_VEC4:"ivec4",BOOL:"bool",BOOL_VEC2:"bvec2",BOOL_VEC3:"bvec3",BOOL_VEC4:"bvec4",FLOAT_MAT2:"mat2",FLOAT_MAT3:"mat3",FLOAT_MAT4:"mat4",SAMPLER_2D:"sampler2D",SAMPLER_CUBE:"samplerCube",SAMPLER_2D_ARRAY:"sampler2DArray"};function Ti(t,e){if(!bi){var r=Object.keys(Ei);bi={};for(var i=0;i0&&(e+="\nelse "),re.name?1:-1});for(o=0;o0?this._useCurrent():t.disable(t.SCISSOR_TEST)},e.prototype._useCurrent=function(){var t=this.maskStack[this.maskStack.length-1]._scissorRect,e=this.renderer.renderTexture.current,r=this.renderer.projection,i=r.transform,n=r.sourceFrame,o=r.destinationFrame,s=e?e.resolution:this.renderer.resolution,a=(t.x-n.x)*s+o.x,h=(t.y-n.y)*s+o.y,u=t.width*s,l=t.height*s;i&&(a+=i.tx*s,h+=i.ty*s),e||(h=this.renderer.height-l-h),this.renderer.gl.scissor(a,h,u,l)},e}(Gi),zi=function(t){function e(e){var r=t.call(this,e)||this;return r.glConst=WebGLRenderingContext.STENCIL_TEST,r}return pr(e,t),e.prototype.getStackLength=function(){var t=this.maskStack[this.maskStack.length-1];return t?t._stencilCounter:0},e.prototype.push=function(t){var e=t.maskObject,r=this.renderer.gl,i=t._stencilCounter;0===i&&(this.renderer.framebuffer.forceStencil(),r.enable(r.STENCIL_TEST)),t._stencilCounter++,r.colorMask(!1,!1,!1,!1),r.stencilFunc(r.EQUAL,i,this._getBitwiseMask()),r.stencilOp(r.KEEP,r.KEEP,r.INCR),e.renderable=!0,e.render(this.renderer),this.renderer.batch.flush(),e.renderable=!1,this._useCurrent()},e.prototype.pop=function(t){var e=this.renderer.gl;0===this.getStackLength()?(e.disable(e.STENCIL_TEST),e.clear(e.STENCIL_BUFFER_BIT),e.clearStencil(0)):(e.colorMask(!1,!1,!1,!1),e.stencilOp(e.KEEP,e.KEEP,e.DECR),t.renderable=!0,t.render(this.renderer),this.renderer.batch.flush(),t.renderable=!1,this._useCurrent())},e.prototype._useCurrent=function(){var t=this.renderer.gl;t.colorMask(!0,!0,!0,!0),t.stencilFunc(t.EQUAL,this.getStackLength(),this._getBitwiseMask()),t.stencilOp(t.KEEP,t.KEEP,t.KEEP)},e.prototype._getBitwiseMask=function(){return(1<>=1,r++;this.stateId=t.data}for(r=0;rthis.checkCountMax&&(this.checkCount=0,this.run())))},r.prototype.run=function(){for(var t=this.renderer.texture,e=t.managedTextures,r=!1,i=0;ithis.maxIdle&&(t.destroyTexture(n,!0),e[i]=null,r=!0)}if(r){var o=0;for(i=0;i=0;i--)this.unload(t.children[i])},r}(Ar),hn=function(){return function(t){this.texture=t,this.width=-1,this.height=-1,this.dirtyId=-1,this.dirtyStyleId=-1,this.mipmap=!1,this.wrapMode=33071,this.type=6408,this.internalFormat=5121}}(),un=function(e){function r(t){var r=e.call(this,t)||this;return r.boundTextures=[],r.currentLocation=-1,r.managedTextures=[],r._unknownBoundTextures=!1,r.unknownTexture=new gr,r}return pr(r,e),r.prototype.contextChange=function(){var t=this.gl=this.renderer.gl;this.CONTEXT_UID=this.renderer.CONTEXT_UID,this.webGLVersion=this.renderer.context.webGLVersion;var e=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS);this.boundTextures.length=e;for(var r=0;r=1:r.mipmap=!1,2===this.webGLVersion||e.isPowerOfTwo?r.wrapMode=e.wrapMode:r.wrapMode=t.WRAP_MODES.CLAMP,e.resource&&e.resource.style(this.renderer,e,r)||this.setStyle(e,r),r.dirtyStyleId=e.dirtyStyleId)},r.prototype.setStyle=function(e,r){var i=this.gl;if(r.mipmap&&i.generateMipmap(e.target),i.texParameteri(e.target,i.TEXTURE_WRAP_S,r.wrapMode),i.texParameteri(e.target,i.TEXTURE_WRAP_T,r.wrapMode),r.mipmap){i.texParameteri(e.target,i.TEXTURE_MIN_FILTER,e.scaleMode===t.SCALE_MODES.LINEAR?i.LINEAR_MIPMAP_LINEAR:i.NEAREST_MIPMAP_NEAREST);var n=this.renderer.context.extensions.anisotropicFiltering;if(n&&e.anisotropicLevel>0&&e.scaleMode===t.SCALE_MODES.LINEAR){var o=Math.min(e.anisotropicLevel,i.getParameter(n.MAX_TEXTURE_MAX_ANISOTROPY_EXT));i.texParameterf(e.target,n.TEXTURE_MAX_ANISOTROPY_EXT,o)}}else i.texParameteri(e.target,i.TEXTURE_MIN_FILTER,e.scaleMode===t.SCALE_MODES.LINEAR?i.LINEAR:i.NEAREST);i.texParameteri(e.target,i.TEXTURE_MAG_FILTER,e.scaleMode===t.SCALE_MODES.LINEAR?i.LINEAR:i.NEAREST)},r}(Ar),ln={FilterSystem:Qr,BatchSystem:ti,ContextSystem:ri,FramebufferSystem:oi,GeometrySystem:hi,MaskSystem:Hi,ScissorSystem:Yi,StencilSystem:zi,ProjectionSystem:Vi,RenderTextureSystem:qi,ShaderSystem:$i,StateSystem:sn,TextureGCSystem:an,TextureSystem:un},cn=new Ie,dn=function(e){function r(r,i){void 0===r&&(r=t.RENDERER_TYPE.UNKNOWN);var n=e.call(this)||this;return(i=Object.assign({},D.RENDER_OPTIONS,i)).roundPixels&&(D.ROUND_PIXELS=i.roundPixels,oe("5.0.0","Renderer roundPixels option is deprecated, please use PIXI.settings.ROUND_PIXELS",2)),n.options=i,n.type=r,n.screen=new xe(0,0,i.width,i.height),n.view=i.view||document.createElement("canvas"),n.resolution=i.resolution||D.RESOLUTION,n.transparent=i.transparent,n.autoDensity=i.autoDensity||i.autoResize||!1,n.preserveDrawingBuffer=i.preserveDrawingBuffer,n.clearBeforeRender=i.clearBeforeRender,n._backgroundColor=0,n._backgroundColorRgba=[0,0,0,0],n._backgroundColorString="#000000",n.backgroundColor=i.backgroundColor||n._backgroundColor,n._lastObjectRendered=null,n.plugins={},n}return pr(r,e),r.prototype.initPlugins=function(t){for(var e in t)this.plugins[e]=new t[e](this)},Object.defineProperty(r.prototype,"width",{get:function(){return this.view.width},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"height",{get:function(){return this.view.height},enumerable:!1,configurable:!0}),r.prototype.resize=function(t,e){this.screen.width=t,this.screen.height=e,this.view.width=t*this.resolution,this.view.height=e*this.resolution,this.autoDensity&&(this.view.style.width=t+"px",this.view.style.height=e+"px"),this.emit("resize",t,e)},r.prototype.generateTexture=function(t,e,r,i){0===(i=i||t.getLocalBounds(null,!0)).width&&(i.width=1),0===i.height&&(i.height=1);var n=Fr.create({width:0|i.width,height:0|i.height,scaleMode:e,resolution:r});return cn.tx=-i.x,cn.ty=-i.y,this.render(t,n,!1,cn,!!t.parent),n},r.prototype.destroy=function(e){for(var r in this.plugins)this.plugins[r].destroy(),this.plugins[r]=null;e&&this.view.parentNode&&this.view.parentNode.removeChild(this.view);this.plugins=null,this.type=t.RENDERER_TYPE.UNKNOWN,this.view=null,this.screen=null,this._tempDisplayObjectParent=null,this.options=null,this._backgroundColorRgba=null,this._backgroundColorString=null,this._lastObjectRendered=null},Object.defineProperty(r.prototype,"backgroundColor",{get:function(){return this._backgroundColor},set:function(t){this._backgroundColor=t,this._backgroundColorString=Xt(t),kt(t,this._backgroundColorRgba)},enumerable:!1,configurable:!0}),r}(C),pn=function(e){function r(i){var n=e.call(this,t.RENDERER_TYPE.WEBGL,i)||this;return i=n.options,n.gl=null,n.CONTEXT_UID=0,n.runners={destroy:new ur("destroy"),contextChange:new ur("contextChange"),reset:new ur("reset"),update:new ur("update"),postrender:new ur("postrender"),prerender:new ur("prerender"),resize:new ur("resize")},n.globalUniforms=new Zr({projectionMatrix:new Ie},!0),n.addSystem(Hi,"mask").addSystem(ri,"context").addSystem(sn,"state").addSystem($i,"shader").addSystem(un,"texture").addSystem(hi,"geometry").addSystem(oi,"framebuffer").addSystem(Yi,"scissor").addSystem(zi,"stencil").addSystem(Vi,"projection").addSystem(an,"textureGC").addSystem(Qr,"filter").addSystem(qi,"renderTexture").addSystem(ti,"batch"),n.initPlugins(r.__plugins),i.context?n.context.initFromContext(i.context):n.context.initFromOptions({alpha:!!n.transparent,antialias:i.antialias,premultipliedAlpha:n.transparent&&"notMultiplied"!==n.transparent,stencil:!0,preserveDrawingBuffer:i.preserveDrawingBuffer,powerPreference:n.options.powerPreference}),n.renderingToScreen=!0,Bt(2===n.context.webGLVersion?"WebGL 2":"WebGL 1"),n.resize(n.options.width,n.options.height),n}return pr(r,e),r.create=function(t){if(Ut())return new r(t);throw new Error('WebGL unsupported in this browser, use "pixi.js-legacy" for fallback canvas2d support.')},r.prototype.addSystem=function(t,e){e||(e=t.name);var r=new t(this);if(this[e])throw new Error('Whoops! The name "'+e+'" is already in use');for(var i in this[e]=r,this.runners)this.runners[i].add(r);return this},r.prototype.render=function(t,e,r,i,n){if(this.renderingToScreen=!e,this.runners.prerender.emit(),this.emit("prerender"),this.projection.transform=i,!this.context.isLost){if(e||(this._lastObjectRendered=t),!n){var o=t.enableTempParent();t.updateTransform(),t.disableTempParent(o)}this.renderTexture.bind(e),this.batch.currentRenderer.start(),(void 0!==r?r:this.clearBeforeRender)&&this.renderTexture.clear(),t.render(this),this.batch.currentRenderer.flush(),e&&e.baseTexture.update(),this.runners.postrender.emit(),this.projection.transform=null,this.emit("postrender")}},r.prototype.resize=function(t,r){e.prototype.resize.call(this,t,r),this.runners.resize.emit(t,r)},r.prototype.reset=function(){return this.runners.reset.emit(),this},r.prototype.clear=function(){this.renderTexture.bind(),this.renderTexture.clear()},r.prototype.destroy=function(t){for(var r in this.runners.destroy.emit(),this.runners)this.runners[r].destroy();e.prototype.destroy.call(this,t),this.gl=null},r.registerPlugin=function(t,e){r.__plugins=r.__plugins||{},r.__plugins[t]=e},r}(dn);function fn(t){return pn.create(t)}var mn="attribute vec2 aVertexPosition;\nattribute vec2 aTextureCoord;\n\nuniform mat3 projectionMatrix;\n\nvarying vec2 vTextureCoord;\n\nvoid main(void)\n{\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\n vTextureCoord = aTextureCoord;\n}",vn="attribute vec2 aVertexPosition;\n\nuniform mat3 projectionMatrix;\n\nvarying vec2 vTextureCoord;\n\nuniform vec4 inputSize;\nuniform vec4 outputFrame;\n\nvec4 filterVertexPosition( void )\n{\n vec2 position = aVertexPosition * max(outputFrame.zw, vec2(0.)) + outputFrame.xy;\n\n return vec4((projectionMatrix * vec3(position, 1.0)).xy, 0.0, 1.0);\n}\n\nvec2 filterTextureCoord( void )\n{\n return aVertexPosition * (outputFrame.zw * inputSize.zw);\n}\n\nvoid main(void)\n{\n gl_Position = filterVertexPosition();\n vTextureCoord = filterTextureCoord();\n}\n",gn=function(){return function(){this.texArray=null,this.blend=0,this.type=t.DRAW_MODES.TRIANGLES,this.start=0,this.size=0,this.data=null}}(),yn=function(){function t(){this.elements=[],this.ids=[],this.count=0}return t.prototype.clear=function(){for(var t=0;tthis.size&&this.flush(),this._vertexCount+=t.vertexData.length/2,this._indexCount+=t.indices.length,this._bufferedTextures[this._bufferSize]=t._texture.baseTexture,this._bufferedElements[this._bufferSize++]=t)},r.prototype.buildTexturesAndDrawCalls=function(){var t=this._bufferedTextures,e=this.MAX_TEXTURES,i=r._textureArrayPool,n=this.renderer.batch,o=this._tempBoundTextures,s=this.renderer.textureGC.count,a=++gr._globalBatch,h=0,u=i[0],l=0;n.copyBoundTextures(o,e);for(var c=0;c=e&&(n.boundArray(u,o,a,e),this.buildDrawCalls(u,l,c),l=c,u=i[++h],++a),d._batchEnabled=a,d.touched=s,u.elements[u.count++]=d)}u.count>0&&(n.boundArray(u,o,a,e),this.buildDrawCalls(u,l,this._bufferSize),++h,++a);for(c=0;c0&&(e+="\nelse "),r0||e.responseType===t.XHR_RESPONSE_TYPE.BUFFER)?i=200:1223===i&&(i=204),2===(i/100|0)){if(this.xhrType===t.XHR_RESPONSE_TYPE.TEXT)this.data=r,this.type=t.TYPE.TEXT;else if(this.xhrType===t.XHR_RESPONSE_TYPE.JSON)try{this.data=JSON.parse(r),this.type=t.TYPE.JSON}catch(t){return void this.abort("Error trying to parse loaded json: "+t)}else if(this.xhrType===t.XHR_RESPONSE_TYPE.DOCUMENT)try{if(window.DOMParser){var n=new DOMParser;this.data=n.parseFromString(r,"text/xml")}else{var o=document.createElement("div");o.innerHTML=r,this.data=o}this.type=t.TYPE.XML}catch(t){return void this.abort("Error trying to parse loaded xml: "+t)}else this.data=e.response||r;this.complete()}else this.abort("["+e.status+"] "+e.statusText+": "+e.responseURL)},e._determineCrossOrigin=function(t,e){if(0===t.indexOf("data:"))return"";if(window.origin!==window.location.origin)return"anonymous";e=e||window.location,jn||(jn=document.createElement("a")),jn.href=t;var r=!(t=Dn(jn.href,{strictMode:!0})).port&&""===e.port||t.port===e.port,i=t.protocol?t.protocol+":":"";return t.host===e.hostname&&r&&i===e.protocol?"":"anonymous"},e._determineXhrType=function(){return t._xhrTypeMap[this.extension]||t.XHR_RESPONSE_TYPE.TEXT},e._determineLoadType=function(){return t._loadTypeMap[this.extension]||t.LOAD_TYPE.XHR},e._getExtension=function(){var t=this.url,e="";if(this.isDataUrl){var r=t.indexOf("/");e=t.substring(r+1,t.indexOf(";",r))}else{var i=t.indexOf("?"),n=t.indexOf("#"),o=Math.min(i>-1?i:t.length,n>-1?n:t.length);e=(t=t.substring(0,o)).substring(t.lastIndexOf(".")+1)}return e.toLowerCase()},e._getMimeFromXhrType=function(e){switch(e){case t.XHR_RESPONSE_TYPE.BUFFER:return"application/octet-binary";case t.XHR_RESPONSE_TYPE.BLOB:return"application/blob";case t.XHR_RESPONSE_TYPE.DOCUMENT:return"application/xml";case t.XHR_RESPONSE_TYPE.JSON:return"application/json";case t.XHR_RESPONSE_TYPE.DEFAULT:case t.XHR_RESPONSE_TYPE.TEXT:default:return"text/plain"}},kn(t,[{key:"isDataUrl",get:function(){return this._hasFlag(t.STATUS_FLAGS.DATA_URL)}},{key:"isComplete",get:function(){return this._hasFlag(t.STATUS_FLAGS.COMPLETE)}},{key:"isLoading",get:function(){return this._hasFlag(t.STATUS_FLAGS.LOADING)}}]),t}();function Yn(t,e,r){e&&0===e.indexOf(".")&&(e=e.substring(1)),e&&(t[e]=r)}function zn(t){return t.toString().replace("object ","")}Gn.STATUS_FLAGS={NONE:0,DATA_URL:1,COMPLETE:2,LOADING:4},Gn.TYPE={UNKNOWN:0,JSON:1,XML:2,IMAGE:3,AUDIO:4,VIDEO:5,TEXT:6},Gn.LOAD_TYPE={XHR:1,IMAGE:2,AUDIO:3,VIDEO:4},Gn.XHR_RESPONSE_TYPE={DEFAULT:"text",BUFFER:"arraybuffer",BLOB:"blob",DOCUMENT:"document",JSON:"json",TEXT:"text"},Gn._loadTypeMap={gif:Gn.LOAD_TYPE.IMAGE,png:Gn.LOAD_TYPE.IMAGE,bmp:Gn.LOAD_TYPE.IMAGE,jpg:Gn.LOAD_TYPE.IMAGE,jpeg:Gn.LOAD_TYPE.IMAGE,tif:Gn.LOAD_TYPE.IMAGE,tiff:Gn.LOAD_TYPE.IMAGE,webp:Gn.LOAD_TYPE.IMAGE,tga:Gn.LOAD_TYPE.IMAGE,svg:Gn.LOAD_TYPE.IMAGE,"svg+xml":Gn.LOAD_TYPE.IMAGE,mp3:Gn.LOAD_TYPE.AUDIO,ogg:Gn.LOAD_TYPE.AUDIO,wav:Gn.LOAD_TYPE.AUDIO,mp4:Gn.LOAD_TYPE.VIDEO,webm:Gn.LOAD_TYPE.VIDEO},Gn._xhrTypeMap={xhtml:Gn.XHR_RESPONSE_TYPE.DOCUMENT,html:Gn.XHR_RESPONSE_TYPE.DOCUMENT,htm:Gn.XHR_RESPONSE_TYPE.DOCUMENT,xml:Gn.XHR_RESPONSE_TYPE.DOCUMENT,tmx:Gn.XHR_RESPONSE_TYPE.DOCUMENT,svg:Gn.XHR_RESPONSE_TYPE.DOCUMENT,tsx:Gn.XHR_RESPONSE_TYPE.DOCUMENT,gif:Gn.XHR_RESPONSE_TYPE.BLOB,png:Gn.XHR_RESPONSE_TYPE.BLOB,bmp:Gn.XHR_RESPONSE_TYPE.BLOB,jpg:Gn.XHR_RESPONSE_TYPE.BLOB,jpeg:Gn.XHR_RESPONSE_TYPE.BLOB,tif:Gn.XHR_RESPONSE_TYPE.BLOB,tiff:Gn.XHR_RESPONSE_TYPE.BLOB,webp:Gn.XHR_RESPONSE_TYPE.BLOB,tga:Gn.XHR_RESPONSE_TYPE.BLOB,json:Gn.XHR_RESPONSE_TYPE.JSON,text:Gn.XHR_RESPONSE_TYPE.TEXT,txt:Gn.XHR_RESPONSE_TYPE.TEXT,ttf:Gn.XHR_RESPONSE_TYPE.BUFFER,otf:Gn.XHR_RESPONSE_TYPE.BUFFER},Gn.EMPTY_GIF="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==";var Vn="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var Wn=window.URL||window.webkitURL;var qn={caching:function(t,e){var r=this;Bn[t.url]?(t.data=Bn[t.url],t.complete()):t.onComplete.once(function(){return Bn[r.url]=r.data}),e()},parsing:function(t,e){if(t.data){if(t.xhr&&t.xhrType===Gn.XHR_RESPONSE_TYPE.BLOB)if(window.Blob&&"string"!=typeof t.data){if(0===t.data.type.indexOf("image")){var r=Wn.createObjectURL(t.data);return t.blob=t.data,t.data=new Image,t.data.src=r,t.type=Gn.TYPE.IMAGE,void(t.data.onload=function(){Wn.revokeObjectURL(r),t.data.onload=null,e()})}}else{var i=t.xhr.getResponseHeader("content-type");if(i&&0===i.indexOf("image"))return t.data=new Image,t.data.src="data:"+i+";base64,"+function(t){for(var e="",r=0;r>2,n[1]=(3&i[0])<<4|i[1]>>4,n[2]=(15&i[1])<<2|i[2]>>6,n[3]=63&i[2],r-(t.length-1)){case 2:n[3]=64,n[2]=64;break;case 1:n[3]=64}for(var s=0;s16384&&(n=16384),s._properties=[!1,!0,!1,!1,!1],s._maxSize=r,s._batchSize=n,s._buffers=null,s._bufferUpdateIDs=[],s._updateID=0,s.interactiveChildren=!1,s.blendMode=t.BLEND_MODES.NORMAL,s.autoResize=o,s.roundPixels=!0,s.baseTexture=null,s.setProperties(i),s._tint=0,s.tintRgb=new Float32Array(4),s.tint=16777215,s}return io(r,e),r.prototype.setProperties=function(t){t&&(this._properties[0]="vertices"in t||"scale"in t?!!t.vertices||!!t.scale:this._properties[0],this._properties[1]="position"in t?!!t.position:this._properties[1],this._properties[2]="rotation"in t?!!t.rotation:this._properties[2],this._properties[3]="uvs"in t?!!t.uvs:this._properties[3],this._properties[4]="tint"in t||"alpha"in t?!!t.tint||!!t.alpha:this._properties[4])},r.prototype.updateTransform=function(){this.displayObjectUpdateTransform()},Object.defineProperty(r.prototype,"tint",{get:function(){return this._tint},set:function(t){this._tint=t,kt(t,this.tintRgb)},enumerable:!1,configurable:!0}),r.prototype.render=function(t){var e=this;this.visible&&!(this.worldAlpha<=0)&&this.children.length&&this.renderable&&(this.baseTexture||(this.baseTexture=this.children[0]._texture.baseTexture,this.baseTexture.valid||this.baseTexture.once("update",function(){return e.onChildrenChange(0)})),t.batch.setObjectRenderer(t.plugins.particle),t.plugins.particle.render(this))},r.prototype.onChildrenChange=function(t){for(var e=Math.floor(t/this._batchSize);this._bufferUpdateIDs.lengthr&&!t.autoResize&&(o=r);var s=t._buffers;s||(s=t._buffers=this.generateBuffers(t));var a=e[0]._texture.baseTexture;this.state.blendMode=Yt(t.blendMode,a.alphaMode),n.state.set(this.state);var h=n.gl,u=t.worldTransform.copyTo(this.tempMatrix);u.prepend(n.globalUniforms.uniforms.projectionMatrix),this.shader.uniforms.translationMatrix=u.toArray(!0),this.shader.uniforms.uColor=zt(t.tintRgb,t.worldAlpha,this.shader.uniforms.uColor,a.alphaMode),this.shader.uniforms.uSampler=a,this.renderer.shader.bind(this.shader);for(var l=!1,c=0,d=0;ci&&(p=i),d>=s.length&&s.push(this._generateOneMoreBuffer(t));var f=s[d];f.uploadDynamic(e,c,p);var m=t._bufferUpdateIDs[d]||0;(l=l||f._updateID0,u=a.alpha,l=u<1&&h?Vt(a._tintRGB,u):a._tintRGB+(255*u<<24);i[o]=l,i[o+n]=l,i[o+2*n]=l,i[o+3*n]=l,o+=4*n}},r.prototype.destroy=function(){e.prototype.destroy.call(this),this.shader&&(this.shader.destroy(),this.shader=null),this.tempMatrix=null},r}($r);(no=t.LINE_JOIN||(t.LINE_JOIN={})).MITER="miter",no.BEVEL="bevel",no.ROUND="round",(oo=t.LINE_CAP||(t.LINE_CAP={})).BUTT="butt",oo.ROUND="round",oo.SQUARE="square";var co={adaptive:!0,maxLength:10,minSegments:8,maxSegments:2048,epsilon:1e-4,_segmentsCount:function(t,e){if(void 0===e&&(e=20),!this.adaptive||!t||isNaN(t))return e;var r=Math.ceil(t/this.maxLength);return rthis.maxSegments&&(r=this.maxSegments),r}},po=function(){function t(){this.color=16777215,this.alpha=1,this.texture=Lr.WHITE,this.matrix=null,this.visible=!1,this.reset()}return t.prototype.clone=function(){var e=new t;return e.color=this.color,e.alpha=this.alpha,e.texture=this.texture,e.matrix=this.matrix,e.visible=this.visible,e},t.prototype.reset=function(){this.color=16777215,this.alpha=1,this.texture=Lr.WHITE,this.matrix=null,this.visible=!1},t.prototype.destroy=function(){this.texture=null,this.matrix=null},t}(),fo=function(t,e){return(fo=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)};function mo(t,e){function r(){this.constructor=t}fo(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}var vo={build:function(t){t.points=t.shape.points.slice()},triangulate:function(t,e){var r=t.points,i=t.holes,n=e.points,o=e.indices;if(r.length>=6){for(var s=[],a=0;ac&&(c+=2*Math.PI);var d=l,p=c-l,f=Math.abs(p),m=Math.sqrt(h*h+u*u),v=1+(15*f*Math.sqrt(m)/Math.PI>>0),g=p/v;if(d+=g,a){s.push(t,e),s.push(r,i);for(var y=1,_=d;y.1&&Math.sign(st)!==Math.sign(at)&&(V=.5*(Z+Q),W=.5*(J+$))}else{var ht=nt*(q-Z)+ot*(K-J);Math.abs(st-ht)>.1&&Math.sign(st)!==Math.sign(ht)&&(q=.5*(tt+rt),K=.5*(et+it))}s.join===t.LINE_JOIN.BEVEL||z/y>_?(X?(p.push(V,W),p.push(E+P*R,T+I*R),p.push(V,W),p.push(E+A*R,T+O*R)):(p.push(E-P*C,T-I*C),p.push(q,K),p.push(E-A*C,T-O*C),p.push(q,K)),m+=2):s.join===t.LINE_JOIN.ROUND?X?(p.push(V,W),p.push(E+P*R,T+I*R),m+=To(E,T,E+P*R,T+I*R,E+A*R,T+O*R,p,!0)+4,p.push(V,W),p.push(E+A*R,T+O*R)):(p.push(E-P*C,T-I*C),p.push(q,K),m+=To(E,T,E-P*C,T-I*C,E-A*C,T-O*C,p,!1)+4,p.push(E-A*C,T-O*C),p.push(q,K)):(p.push(V,W),p.push(q,K))}}x=n[2*(f-2)],b=n[2*(f-2)+1],E=n[2*(f-1)],P=-(b-(T=n[2*(f-1)+1])),I=x-E,P/=M=Math.sqrt(P*P+I*I),I/=M,P*=g,I*=g,p.push(E-P*C,T-I*C),p.push(E+P*R,T+I*R),u||(s.cap===t.LINE_CAP.ROUND?m+=To(E-P*(C-R)*.5,T-I*(C-R)*.5,E-P*C,T-I*C,E+P*R,T+I*R,p,!1)+2:s.cap===t.LINE_CAP.SQUARE&&(m+=Eo(E,T,P,I,C,R,!1,p)));var ut=r.indices,lt=co.epsilon*co.epsilon;for(L=v;Ll*a}},t.arc=function(t,e,r,i,n,o,s,a,h){for(var u=s-o,l=co._segmentsCount(Math.abs(u)*n,40*Math.ceil(Math.abs(u)/ge)),c=u/(2*l),d=2*c,p=Math.cos(c),f=Math.sin(c),m=l-1,v=m%1/m,g=0;g<=m;++g){var y=c+o+d*(g+v*g),_=Math.cos(y),x=-Math.sin(y);h.push((p*_+f*x)*n+r,(p*-x+f*_)*n+i)}},t}(),Ao=function(){function t(){}return t.curveLength=function(t,e,r,i,n,o,s,a){for(var h=0,u=0,l=0,c=0,d=0,p=0,f=0,m=0,v=0,g=0,y=0,_=t,x=e,b=1;b<=10;++b)g=_-(m=(f=(p=(d=1-(u=b/10))*d)*d)*t+3*p*u*r+3*d*(l=u*u)*n+(c=l*u)*s),y=x-(v=f*e+3*p*u*i+3*d*l*o+c*a),_=m,x=v,h+=Math.sqrt(g*g+y*y);return h},t.curveTo=function(e,r,i,n,o,s,a){var h=a[a.length-2],u=a[a.length-1];a.length-=2;var l=co._segmentsCount(t.curveLength(h,u,e,r,i,n,o,s)),c=0,d=0,p=0,f=0,m=0;a.push(h,u);for(var v=1,g=0;v<=l;++v)p=(d=(c=1-(g=v/l))*c)*c,m=(f=g*g)*g,a.push(p*h+3*d*g*e+3*c*f*i+m*o,p*u+3*d*g*r+3*c*f*n+m*s)},t}(),Oo=function(){function t(){}return t.curveLength=function(t,e,r,i,n,o){var s=t-2*r+n,a=e-2*i+o,h=2*r-2*t,u=2*i-2*e,l=4*(s*s+a*a),c=4*(s*h+a*u),d=h*h+u*u,p=2*Math.sqrt(l+c+d),f=Math.sqrt(l),m=2*l*f,v=2*Math.sqrt(d),g=c/f;return(m*p+f*c*(p-v)+(4*d*l-c*c)*Math.log((2*f+g+p)/(g+v)))/(4*m)},t.curveTo=function(e,r,i,n,o){for(var s=o[o.length-2],a=o[o.length-1],h=co._segmentsCount(t.curveLength(s,a,e,r,i,n)),u=0,l=0,c=1;c<=h;++c){var d=c/h;u=s+(e-s)*d,l=a+(r-a)*d,o.push(u+(e+(i-e)*d-u)*d,l+(r+(n-r)*d-l)*d)}},t}(),Mo=function(){function t(){this.reset()}return t.prototype.begin=function(t,e,r){this.reset(),this.style=t,this.start=e,this.attribStart=r},t.prototype.end=function(t,e){this.attribSize=e-this.attribStart,this.size=t-this.start},t.prototype.reset=function(){this.style=null,this.size=0,this.start=0,this.attribStart=0,this.attribSize=0},t}(),Do=((wo={})[t.SHAPES.POLY]=vo,wo[t.SHAPES.CIRC]=go,wo[t.SHAPES.ELIP]=go,wo[t.SHAPES.RECT]=yo,wo[t.SHAPES.RREC]=bo,wo),Co=[],Ro=[],Lo={buildPoly:vo,buildCircle:go,buildRectangle:yo,buildRoundedRectangle:bo,FILL_COMMANDS:Do,BATCH_POOL:Co,DRAW_CALL_POOL:Ro,buildLine:So,Star:Po,ArcUtils:Io,BezierUtils:Ao,QuadraticUtils:Oo,BatchPart:Mo},No=function(){function t(t,e,r,i){void 0===e&&(e=null),void 0===r&&(r=null),void 0===i&&(i=null),this.shape=t,this.lineStyle=r,this.fillStyle=e,this.matrix=i,this.type=t.type,this.points=[],this.holes=[]}return t.prototype.clone=function(){return new t(this.shape,this.fillStyle,this.lineStyle,this.matrix)},t.prototype.destroy=function(){this.shape=null,this.holes.length=0,this.holes=null,this.points.length=0,this.points=null,this.lineStyle=null,this.fillStyle=null},t}(),Fo=new we,Bo=new Be,Uo=function(e){function r(){var t=e.call(this)||this;return t.uvsFloat32=null,t.indicesUint16=null,t.points=[],t.colors=[],t.uvs=[],t.indices=[],t.textureIds=[],t.graphicsData=[],t.dirty=0,t.batchDirty=-1,t.cacheDirty=-1,t.clearDirty=0,t.drawCalls=[],t.batches=[],t.shapeIndex=0,t._bounds=new Be,t.boundsDirty=-1,t.boundsPadding=0,t.batchable=!1,t.indicesUint16=null,t.uvsFloat32=null,t.closePointEps=1e-4,t}return mo(r,e),Object.defineProperty(r.prototype,"bounds",{get:function(){return this.boundsDirty!==this.dirty&&(this.boundsDirty=this.dirty,this.calculateBounds()),this._bounds},enumerable:!1,configurable:!0}),r.prototype.invalidate=function(){this.boundsDirty=-1,this.dirty++,this.batchDirty++,this.shapeIndex=0,this.points.length=0,this.colors.length=0,this.uvs.length=0,this.indices.length=0,this.textureIds.length=0;for(var t=0;t0&&(this.invalidate(),this.clearDirty++,this.graphicsData.length=0),this},r.prototype.drawShape=function(t,e,r,i){void 0===e&&(e=null),void 0===r&&(r=null),void 0===i&&(i=null);var n=new No(t,e,r,i);return this.graphicsData.push(n),this.dirty++,this},r.prototype.drawHole=function(t,e){if(void 0===e&&(e=null),!this.graphicsData.length)return null;var r=new No(t,null,null,e),i=this.graphicsData[this.graphicsData.length-1];return r.lineStyle=i.lineStyle,i.holes.push(r),this.dirty++,this},r.prototype.destroy=function(){e.prototype.destroy.call(this);for(var t=0;t0&&(o=(n=this.batches[this.batches.length-1]).style);for(var s=this.shapeIndex;s65535&&e;this.indicesUint16=y?new Uint32Array(this.indices):new Uint16Array(this.indices)}this.batchable=this.isBatchable(),this.batchable?this.packBatches():this.buildDrawCalls()}else this.batchable=!0}}else this.batchable=!0},r.prototype._compareStyles=function(t,e){return!(!t||!e)&&(t.texture.baseTexture===e.texture.baseTexture&&(t.color+t.alpha===e.color+e.alpha&&!!t.native==!!e.native))},r.prototype.validateBatching=function(){if(this.dirty===this.cacheDirty||!this.graphicsData.length)return!1;for(var t=0,e=this.graphicsData.length;t131070)return!1;for(var t=this.batches,e=0;e0&&((o=Ro.pop())||((o=new gn).texArray=new yn),this.drawCalls.push(o)),o.start=c,o.size=0,o.texArray.count=0,o.type=l),f.touched=1,f._batchEnabled=e,f._batchLocation=s,f.wrapMode=10497,o.texArray.elements[o.texArray.count++]=f,s++)),o.size+=d.size,c+=d.size,h=f._batchLocation,this.addColors(i,p.color,p.alpha,d.attribSize),this.addTextureIds(n,h,d.attribSize)}gr._globalBatch=e,this.packAttributes()},r.prototype.packAttributes=function(){for(var t=this.points,e=this.uvs,r=this.colors,i=this.textureIds,n=new ArrayBuffer(3*t.length*4),o=new Float32Array(n),s=new Uint32Array(n),a=0,h=0;h>16)+(65280&e)+((255&e)<<16),r);i-- >0;)t.push(n)},r.prototype.addTextureIds=function(t,e,r){for(;r-- >0;)t.push(e)},r.prototype.addUvs=function(t,e,r,i,n,o){void 0===o&&(o=null);for(var s=0,a=e.length,h=r.frame;s0&&e.alpha>0;return l?(e.matrix&&(e.matrix=e.matrix.clone(),e.matrix.invert()),Object.assign(this._lineStyle,{visible:l},e)):this._lineStyle.reset(),this},r.prototype.startPoly=function(){if(this.currentPath){var t=this.currentPath.points,e=this.currentPath.points.length;e>2&&(this.drawShape(this.currentPath),this.currentPath=new Te,this.currentPath.closeStroke=!1,this.currentPath.points.push(t[e-2],t[e-1]))}else this.currentPath=new Te,this.currentPath.closeStroke=!1},r.prototype.finishPoly=function(){this.currentPath&&(this.currentPath.points.length>2?(this.drawShape(this.currentPath),this.currentPath=null):this.currentPath.points.length=0)},r.prototype.moveTo=function(t,e){return this.startPoly(),this.currentPath.points[0]=t,this.currentPath.points[1]=e,this},r.prototype.lineTo=function(t,e){this.currentPath||this.moveTo(0,0);var r=this.currentPath.points,i=r[r.length-2],n=r[r.length-1];return i===t&&n===e||r.push(t,e),this},r.prototype._initCurve=function(t,e){void 0===t&&(t=0),void 0===e&&(e=0),this.currentPath?0===this.currentPath.points.length&&(this.currentPath.points=[t,e]):this.moveTo(t,e)},r.prototype.quadraticCurveTo=function(t,e,r,i){this._initCurve();var n=this.currentPath.points;return 0===n.length&&this.moveTo(0,0),Oo.curveTo(t,e,r,i,n),this},r.prototype.bezierCurveTo=function(t,e,r,i,n,o){return this._initCurve(),Ao.curveTo(t,e,r,i,n,o,this.currentPath.points),this},r.prototype.arcTo=function(t,e,r,i,n){this._initCurve(t,e);var o=this.currentPath.points,s=Io.curveTo(t,e,r,i,n,o);if(s){var a=s.cx,h=s.cy,u=s.radius,l=s.startAngle,c=s.endAngle,d=s.anticlockwise;this.arc(a,h,u,l,c,d)}return this},r.prototype.arc=function(t,e,r,i,n,o){if(void 0===o&&(o=!1),i===n)return this;if(!o&&n<=i?n+=ge:o&&i<=n&&(i+=ge),0===n-i)return this;var s=t+Math.cos(i)*r,a=e+Math.sin(i)*r,h=this._geometry.closePointEps,u=this.currentPath?this.currentPath.points:null;if(u){var l=Math.abs(u[u.length-2]-s),c=Math.abs(u[u.length-1]-a);l0;return s?(t.matrix&&(t.matrix=t.matrix.clone(),t.matrix.invert()),Object.assign(this._fillStyle,{visible:s},t)):this._fillStyle.reset(),this},r.prototype.endFill=function(){return this.finishPoly(),this._fillStyle.reset(),this},r.prototype.drawRect=function(t,e,r,i){return this.drawShape(new xe(t,e,r,i))},r.prototype.drawRoundedRect=function(t,e,r,i,n){return this.drawShape(new Se(t,e,r,i,n))},r.prototype.drawCircle=function(t,e,r){return this.drawShape(new be(t,e,r))},r.prototype.drawEllipse=function(t,e,r,i){return this.drawShape(new Ee(t,e,r,i))},r.prototype.drawPolygon=function(){for(var t,e=arguments,r=[],i=0;i>16&255)/255*n,o.tint[1]=(i>>8&255)/255*n,o.tint[2]=(255&i)/255*n,o.tint[3]=n,t.shader.bind(e),t.geometry.bind(r,e),t.state.set(this.state);for(var a=0,h=s.length;a>16)+(65280&n)+((255&n)<<16)}}},r.prototype.calculateVertices=function(){var t=this.transform._worldID;if(this._transformID!==t){this._transformID=t;for(var e=this.transform.worldTransform,r=e.a,i=e.b,n=e.c,o=e.d,s=e.tx,a=e.ty,h=this._geometry.points,u=this.vertexData,l=0,c=0;c=i&&zo.x=n&&zo.y>16)+(65280&t)+((255&t)<<16)},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"texture",{get:function(){return this._texture},set:function(t){this._texture!==t&&(this._texture&&this._texture.off("update",this._onTextureUpdate,this),this._texture=t||Lr.EMPTY,this._cachedTint=16777215,this._textureID=-1,this._textureTrimmedID=-1,t&&(t.baseTexture.valid?this._onTextureUpdate():t.once("update",this._onTextureUpdate,this)))},enumerable:!1,configurable:!0}),r}(Ge),qo=function(t,e){return(qo=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)};(Yo=t.TEXT_GRADIENT||(t.TEXT_GRADIENT={}))[Yo.LINEAR_VERTICAL=0]="LINEAR_VERTICAL",Yo[Yo.LINEAR_HORIZONTAL=1]="LINEAR_HORIZONTAL";var Ko={align:"left",breakWords:!1,dropShadow:!1,dropShadowAlpha:1,dropShadowAngle:Math.PI/6,dropShadowBlur:0,dropShadowColor:"black",dropShadowDistance:5,fill:"black",fillGradientType:t.TEXT_GRADIENT.LINEAR_VERTICAL,fillGradientStops:[],fontFamily:"Arial",fontSize:26,fontStyle:"normal",fontVariant:"normal",fontWeight:"normal",letterSpacing:0,lineHeight:0,lineJoin:"miter",miterLimit:10,padding:0,stroke:"black",strokeThickness:0,textBaseline:"alphabetic",trim:!1,whiteSpace:"pre",wordWrap:!1,wordWrapWidth:100,leading:0},Zo=["serif","sans-serif","monospace","cursive","fantasy","system-ui"],Jo=function(){function t(t){this.styleID=0,this.reset(),ts(this,t,t)}return t.prototype.clone=function(){var e={};return ts(e,this,Ko),new t(e)},t.prototype.reset=function(){ts(this,Ko,Ko)},Object.defineProperty(t.prototype,"align",{get:function(){return this._align},set:function(t){this._align!==t&&(this._align=t,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"breakWords",{get:function(){return this._breakWords},set:function(t){this._breakWords!==t&&(this._breakWords=t,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"dropShadow",{get:function(){return this._dropShadow},set:function(t){this._dropShadow!==t&&(this._dropShadow=t,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"dropShadowAlpha",{get:function(){return this._dropShadowAlpha},set:function(t){this._dropShadowAlpha!==t&&(this._dropShadowAlpha=t,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"dropShadowAngle",{get:function(){return this._dropShadowAngle},set:function(t){this._dropShadowAngle!==t&&(this._dropShadowAngle=t,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"dropShadowBlur",{get:function(){return this._dropShadowBlur},set:function(t){this._dropShadowBlur!==t&&(this._dropShadowBlur=t,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"dropShadowColor",{get:function(){return this._dropShadowColor},set:function(t){var e=$o(t);this._dropShadowColor!==e&&(this._dropShadowColor=e,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"dropShadowDistance",{get:function(){return this._dropShadowDistance},set:function(t){this._dropShadowDistance!==t&&(this._dropShadowDistance=t,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"fill",{get:function(){return this._fill},set:function(t){var e=$o(t);this._fill!==e&&(this._fill=e,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"fillGradientType",{get:function(){return this._fillGradientType},set:function(t){this._fillGradientType!==t&&(this._fillGradientType=t,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"fillGradientStops",{get:function(){return this._fillGradientStops},set:function(t){(function(t,e){if(!Array.isArray(t)||!Array.isArray(e))return!1;if(t.length!==e.length)return!1;for(var r=0;r=0;r--){var i=e[r].trim();!/([\"\'])[^\'\"]+\1/.test(i)&&Zo.indexOf(i)<0&&(i='"'+i+'"'),e[r]=i}return this.fontStyle+" "+this.fontVariant+" "+this.fontWeight+" "+t+" "+e.join(",")},t}();function Qo(t){return"number"==typeof t?Xt(t):("string"==typeof t&&0===t.indexOf("0x")&&(t=t.replace("0x","#")),t)}function $o(t){if(Array.isArray(t)){for(var e=0;ef)if(""!==s&&(a+=t.addLine(s),s="",o=0),t.canBreakWords(g,r.breakWords))for(var b=t.wordWrapSplit(g),E=0;Ef&&(a+=t.addLine(s),p=!1,s="",o=0),s+=T,o+=I}else{s.length>0&&(a+=t.addLine(s),s="",o=0);var A=v===m.length-1;a+=t.addLine(g,!A),p=!1,s="",o=0}else x+o>f&&(p=!1,a+=t.addLine(s),s="",o=0),(s.length>0||!t.isBreakingSpace(g)||p)&&(s+=g,o+=x)}return a+=t.addLine(s,!1)},t.addLine=function(e,r){return void 0===r&&(r=!0),e=t.trimRight(e),e=r?e+"\n":e},t.getFromCache=function(t,e,r,i){var n=r[t];if(void 0===n){var o=t.length*e;n=i.measureText(t).width+o,r[t]=n}return n},t.collapseSpaces=function(t){return"normal"===t||"pre-line"===t},t.collapseNewlines=function(t){return"normal"===t},t.trimRight=function(e){if("string"!=typeof e)return"";for(var r=e.length-1;r>=0;r--){var i=e[r];if(!t.isBreakingSpace(i))break;e=e.slice(0,-1)}return e},t.isNewline=function(e){return"string"==typeof e&&t._newlines.indexOf(e.charCodeAt(0))>=0},t.isBreakingSpace=function(e){return"string"==typeof e&&t._breakingSpaces.indexOf(e.charCodeAt(0))>=0},t.tokenize=function(e){var r=[],i="";if("string"!=typeof e)return r;for(var n=0;na;--d){for(m=0;m0},t}();function as(t,e){var r=!1;if(t&&t._textures&&t._textures.length)for(var i=0;i=0;e--)this.add(t.children[e]);return this},e.prototype.destroy=function(){this.ticking&&Qe.system.remove(this.tick,this),this.ticking=!1,this.addHooks=null,this.uploadHooks=null,this.renderer=null,this.completes=null,this.queue=null,this.limiter=null,this.uploadHookHelper=null},e}();function ms(t,e){return e instanceof gr&&(e._glTextures[t.CONTEXT_UID]||t.texture.bind(e),!0)}function vs(t,e){if(!(e instanceof Ho))return!1;var r=e.geometry;e.finishPoly(),r.updateBatches();for(var i=r.batches,n=0;n=i&&Ss.x=n&&Ss.y>16)+(65280&t)+((255&t)<<16),this._colorDirty=!0)},enumerable:!1,configurable:!0}),e.prototype.update=function(){if(this._colorDirty){this._colorDirty=!1;var t=this.texture.baseTexture;Wt(this._tint,this._alpha,this.uniforms.uColor,t.alphaMode)}this.uvMatrix.update()&&(this.uniforms.uTextureMatrix=this.uvMatrix.mapCoord)},e}(Li),Xs=function(e){function r(r,i,n){var o=e.call(this)||this,s=new Xr(r),a=new Xr(i,!0),h=new Xr(n,!0,!0);return o.addAttribute("aVertexPosition",s,2,!1,t.TYPES.FLOAT).addAttribute("aTextureCoord",a,2,!1,t.TYPES.FLOAT).addIndex(h),o._updateId=-1,o}return Cs(r,e),Object.defineProperty(r.prototype,"vertexDirtyId",{get:function(){return this.buffers[0]._updateID},enumerable:!1,configurable:!0}),r}(Vr),js=function(t,e){return(js=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)};var Hs=function(){return function(){this.info=[],this.common=[],this.page=[],this.char=[],this.kerning=[]}}(),Gs=[function(){function t(){}return t.test=function(t){return"string"==typeof t&&0===t.indexOf("info face=")},t.parse=function(t){var e=t.match(/^[a-z]+\s+.+$/gm),r={info:[],common:[],page:[],char:[],chars:[],kerning:[]};for(var i in e){var n=e[i].match(/^[a-z]+/gm)[0],o=e[i].match(/[a-zA-Z]+=([^\s"']+|"([^"]*)")/gm),s={};for(var a in o){var h=o[a].split("="),u=h[0],l=h[1].replace(/"/gm,""),c=parseFloat(l),d=isNaN(c)?l:c;s[u]=d}r[n].push(s)}var p=new Hs;return r.info.forEach(function(t){return p.info.push({face:t.face,size:parseInt(t.size,10)})}),r.common.forEach(function(t){return p.common.push({lineHeight:parseInt(t.lineHeight,10)})}),r.page.forEach(function(t){return p.page.push({id:parseInt(t.id,10),file:t.file})}),r.char.forEach(function(t){return p.char.push({id:parseInt(t.id,10),page:parseInt(t.page,10),x:parseInt(t.x,10),y:parseInt(t.y,10),width:parseInt(t.width,10),height:parseInt(t.height,10),xoffset:parseInt(t.xoffset,10),yoffset:parseInt(t.yoffset,10),xadvance:parseInt(t.xadvance,10)})}),r.kerning.forEach(function(t){return p.kerning.push({first:parseInt(t.first,10),second:parseInt(t.second,10),amount:parseInt(t.amount,10)})}),p},t}(),function(){function t(){}return t.test=function(t){return t instanceof XMLDocument&&t.getElementsByTagName("page").length&&null!==t.getElementsByTagName("info")[0].getAttribute("face")},t.parse=function(t){for(var e=new Hs,r=t.getElementsByTagName("info"),i=t.getElementsByTagName("common"),n=t.getElementsByTagName("page"),o=t.getElementsByTagName("char"),s=t.getElementsByTagName("kerning"),a=0;a=u-S*a){if(0===y)throw new Error("[BitmapFont] textureHeight "+u+"px is too small for "+c.fontSize+"px fonts");f=null,m=null,v=null,y=0,g=0,_=0}else if(_=Math.max(S+E.fontProperties.descent,_),w*a+g>=d)--b,y+=_*a,y=Math.ceil(y),g=0,_=0;else{Vs(f,m,E,g,y,a,c);var P=E.text.charCodeAt(0);p.char[P]={id:P,page:x.length-1,x:g/a,y:y/a,width:w,height:S,xoffset:0,yoffset:0,xadvance:Math.ceil(T-(c.dropShadow?c.dropShadowDistance:0)-(c.stroke?c.strokeThickness:0))},g+=(w+2*s)*a,g=Math.ceil(g)}}var I=new t(p,x);return void 0!==t.available[e]&&t.uninstall(e),t.available[e]=I,I},t.ALPHA=[["a","z"],["A","Z"]," "],t.NUMERIC=[["0","9"]],t.ALPHANUMERIC=[["a","z"],["A","Z"],["0","9"]," "],t.ASCII=[[" ","~"]],t.defaultOptions={resolution:1,textureWidth:512,textureHeight:512,padding:4,chars:t.ALPHANUMERIC},t.available={},t}(),qs=[],Ks=[],Zs=function(t){function e(r,i){void 0===i&&(i={});var n=t.call(this)||this;n._tint=16777215,i.font&&(oe("5.3.0","PIXI.BitmapText constructor style.font property is deprecated."),n._upgradeStyle(i));var o=Object.assign({},e.styleDefaults,i),s=o.align,a=o.tint,h=o.maxWidth,u=o.letterSpacing,l=o.fontName,c=o.fontSize;if(!Ws.available[l])throw new Error('Missing BitmapFont "'+l+'"');return n._activePagesMeshData=[],n._textWidth=0,n._textHeight=0,n._align=s,n._tint=a,n._fontName=l,n._fontSize=c||Ws.available[l].size,n._text=r,n._maxWidth=h,n._maxLineHeight=0,n._letterSpacing=u,n._anchor=new Pe(function(){n.dirty=!0},n,0,0),n.roundPixels=D.ROUND_PIXELS,n.dirty=!0,n}return function(t,e){function r(){this.constructor=t}js(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}(e,t),e.prototype.updateText=function(){for(var t,e=Ws.available[this._fontName],r=this._fontSize/e.size,i=new we,n=[],o=[],s=this._text.replace(/(?:\r\n|\r)/g,"\n")||" ",a=s.length,h=this._maxWidth*e.size/this._fontSize,u=null,l=0,c=0,d=0,p=-1,f=0,m=0,v=0,g=0;g0&&i.x>h&&(te(n,1+p-++m,1+g-p),g=p,p=-1,o.push(f),c=Math.max(c,f),d++,i.x=0,i.y+=e.lineHeight,u=null)}}else o.push(l),c=Math.max(c,l),++d,++m,i.x=0,i.y+=e.lineHeight,u=null}var E=s.charAt(s.length-1);"\r"!==E&&"\n"!==E&&(/(?:\s)/.test(E)&&(l=f),o.push(l),c=Math.max(c,l));var T=[];for(g=0;g<=d;g++){var S=0;"right"===this._align?S=c-o[g]:"center"===this._align&&(S=(c-o[g])/2),T.push(S)}var w=n.length,P={},I=[],A=this._activePagesMeshData;for(g=0;g6*C&&!(X.vertices.length<2*Fs.BATCHABLE_SIZE)||(X.vertices=new Float32Array(8*C),X.uvs=new Float32Array(8*C),X.indices=new Uint16Array(6*C)),X.mesh.size=6*C}for(g=0;g=2&&(t.fontSize=parseInt(e[0],10))}else t.fontName=t.font.name,t.fontSize="number"==typeof t.font.size?t.font.size:parseInt(t.font.size,10)},e.registerFont=function(t,e){return oe("5.3.0","PIXI.BitmapText.registerFont is deprecated, use PIXI.BitmapFont.install"),Ws.install(t,e)},Object.defineProperty(e,"fonts",{get:function(){return oe("5.3.0","PIXI.BitmapText.fonts is deprecated, use PIXI.BitmapFont.available"),Ws.available},enumerable:!1,configurable:!0}),e.styleDefaults={align:"left",tint:16777215,maxWidth:0,letterSpacing:0},e}(Ge),Js=function(){function t(){}return t.add=function(){Jn.setExtensionXhrType("fnt",Jn.XHR_RESPONSE_TYPE.DOCUMENT)},t.use=function(e,r){var i=Ys(e.data);if(i)for(var n=t.getBaseUrl(this,e),o=i.parse(e.data),s={},a=function(t){s[t.metadata.pageFile]=t.texture,Object.keys(s).length===o.page.length&&(e.bitmapFont=Ws.install(o,s),r())},h=0;h=i&&(e=t-s-1),o+=a=a.replace("%value%",r[e].toString()),o+="\n"}return n=(n=n.replace("%blur%",o)).replace("%size%",t.toString())}(o);return(s=t.call(this,a,h)||this).horizontal=e,s.resolution=n,s._quality=0,s.quality=i,s.blur=r,s}return ra(e,t),e.prototype.apply=function(t,e,r,i){if(r?this.horizontal?this.uniforms.strength=1/r.width*(r.width/e.width):this.uniforms.strength=1/r.height*(r.height/e.height):this.horizontal?this.uniforms.strength=1/t.renderer.width*(t.renderer.width/e.width):this.uniforms.strength=1/t.renderer.height*(t.renderer.height/e.height),this.uniforms.strength*=this.strength,this.uniforms.strength/=this.passes,1===this.passes)t.applyFilter(this,e,r,i);else{var n=t.getFilterTexture(),o=t.renderer,s=e,a=n;this.state.blend=!1,t.applyFilter(this,s,a,va.CLEAR);for(var h=1;h>16&255)/255,s=(r>>8&255)/255,a=(255&r)/255,h=((i=i||3375104)>>16&255)/255,u=(i>>8&255)/255,l=(255&i)/255,c=[.3,.59,.11,0,0,o,s,a,t=t||.2,0,h,u,l,e=e||.15,0,o-h,s-u,a-l,0,0];this._loadMatrix(c,n)},e.prototype.night=function(t,e){var r=[-2*(t=t||.1),-t,0,0,0,-t,0,t,0,0,0,t,2*t,0,0,0,0,0,1,0];this._loadMatrix(r,e)},e.prototype.predator=function(t,e){var r=[11.224130630493164*t,-4.794486999511719*t,-2.8746118545532227*t,0*t,.40342438220977783*t,-3.6330697536468506*t,9.193157196044922*t,-2.951810836791992*t,0*t,-1.316135048866272*t,-3.2184197902679443*t,-4.2375030517578125*t,7.476448059082031*t,0*t,.8044459223747253*t,0,0,0,1,0];this._loadMatrix(r,e)},e.prototype.lsd=function(t){this._loadMatrix([2,-.4,.5,0,0,-.5,2,-.4,0,0,-.4,-.5,3,0,0,0,0,0,1,0],t)},e.prototype.reset=function(){this._loadMatrix([1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0],!1)},Object.defineProperty(e.prototype,"matrix",{get:function(){return this.uniforms.m},set:function(t){this.uniforms.m=t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"alpha",{get:function(){return this.uniforms.uAlpha},set:function(t){this.uniforms.uAlpha=t},enumerable:!1,configurable:!0}),e}(Fi);Ia.prototype.grayscale=Ia.prototype.greyscale;var Aa=function(t,e){return(Aa=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)};var Oa="varying vec2 vFilterCoord;\nvarying vec2 vTextureCoord;\n\nuniform vec2 scale;\nuniform mat2 rotation;\nuniform sampler2D uSampler;\nuniform sampler2D mapSampler;\n\nuniform highp vec4 inputSize;\nuniform vec4 inputClamp;\n\nvoid main(void)\n{\n vec4 map = texture2D(mapSampler, vFilterCoord);\n\n map -= 0.5;\n map.xy = scale * inputSize.zw * (rotation * map.xy);\n\n gl_FragColor = texture2D(uSampler, clamp(vec2(vTextureCoord.x + map.x, vTextureCoord.y + map.y), inputClamp.xy, inputClamp.zw));\n}\n",Ma="attribute vec2 aVertexPosition;\n\nuniform mat3 projectionMatrix;\nuniform mat3 filterMatrix;\n\nvarying vec2 vTextureCoord;\nvarying vec2 vFilterCoord;\n\nuniform vec4 inputSize;\nuniform vec4 outputFrame;\n\nvec4 filterVertexPosition( void )\n{\n vec2 position = aVertexPosition * max(outputFrame.zw, vec2(0.)) + outputFrame.xy;\n\n return vec4((projectionMatrix * vec3(position, 1.0)).xy, 0.0, 1.0);\n}\n\nvec2 filterTextureCoord( void )\n{\n return aVertexPosition * (outputFrame.zw * inputSize.zw);\n}\n\nvoid main(void)\n{\n\tgl_Position = filterVertexPosition();\n\tvTextureCoord = filterTextureCoord();\n\tvFilterCoord = ( filterMatrix * vec3( vTextureCoord, 1.0) ).xy;\n}\n",Da=function(t){function e(e,r){var i=this,n=new Ie;return e.renderable=!1,(i=t.call(this,Ma,Oa,{mapSampler:e._texture,filterMatrix:n,scale:{x:1,y:1},rotation:new Float32Array([1,0,0,1])})||this).maskSprite=e,i.maskMatrix=n,null==r&&(r=20),i.scale=new we(r,r),i}return function(t,e){function r(){this.constructor=t}Aa(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}(e,t),e.prototype.apply=function(t,e,r,i){this.uniforms.filterMatrix=t.calculateSpriteMatrix(this.maskMatrix,this.maskSprite),this.uniforms.scale.x=this.scale.x,this.uniforms.scale.y=this.scale.y;var n=this.maskSprite.worldTransform,o=Math.sqrt(n.a*n.a+n.b*n.b),s=Math.sqrt(n.c*n.c+n.d*n.d);0!==o&&0!==s&&(this.uniforms.rotation[0]=n.a/o,this.uniforms.rotation[1]=n.b/o,this.uniforms.rotation[2]=n.c/s,this.uniforms.rotation[3]=n.d/s),t.applyFilter(this,e,r,i)},Object.defineProperty(e.prototype,"map",{get:function(){return this.uniforms.mapSampler},set:function(t){this.uniforms.mapSampler=t},enumerable:!1,configurable:!0}),e}(Fi),Ca=function(t,e){return(Ca=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)};var Ra="\nattribute vec2 aVertexPosition;\n\nuniform mat3 projectionMatrix;\n\nvarying vec2 v_rgbNW;\nvarying vec2 v_rgbNE;\nvarying vec2 v_rgbSW;\nvarying vec2 v_rgbSE;\nvarying vec2 v_rgbM;\n\nvarying vec2 vFragCoord;\n\nuniform vec4 inputPixel;\nuniform vec4 outputFrame;\n\nvec4 filterVertexPosition( void )\n{\n vec2 position = aVertexPosition * max(outputFrame.zw, vec2(0.)) + outputFrame.xy;\n\n return vec4((projectionMatrix * vec3(position, 1.0)).xy, 0.0, 1.0);\n}\n\nvoid texcoords(vec2 fragCoord, vec2 inverseVP,\n out vec2 v_rgbNW, out vec2 v_rgbNE,\n out vec2 v_rgbSW, out vec2 v_rgbSE,\n out vec2 v_rgbM) {\n v_rgbNW = (fragCoord + vec2(-1.0, -1.0)) * inverseVP;\n v_rgbNE = (fragCoord + vec2(1.0, -1.0)) * inverseVP;\n v_rgbSW = (fragCoord + vec2(-1.0, 1.0)) * inverseVP;\n v_rgbSE = (fragCoord + vec2(1.0, 1.0)) * inverseVP;\n v_rgbM = vec2(fragCoord * inverseVP);\n}\n\nvoid main(void) {\n\n gl_Position = filterVertexPosition();\n\n vFragCoord = aVertexPosition * outputFrame.zw;\n\n texcoords(vFragCoord, inputPixel.zw, v_rgbNW, v_rgbNE, v_rgbSW, v_rgbSE, v_rgbM);\n}\n",La='varying vec2 v_rgbNW;\nvarying vec2 v_rgbNE;\nvarying vec2 v_rgbSW;\nvarying vec2 v_rgbSE;\nvarying vec2 v_rgbM;\n\nvarying vec2 vFragCoord;\nuniform sampler2D uSampler;\nuniform highp vec4 inputPixel;\n\n\n/**\n Basic FXAA implementation based on the code on geeks3d.com with the\n modification that the texture2DLod stuff was removed since it\'s\n unsupported by WebGL.\n\n --\n\n From:\n https://github.com/mitsuhiko/webgl-meincraft\n\n Copyright (c) 2011 by Armin Ronacher.\n\n Some rights reserved.\n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions are\n met:\n\n * Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n\n * Redistributions in binary form must reproduce the above\n copyright notice, this list of conditions and the following\n disclaimer in the documentation and/or other materials provided\n with the distribution.\n\n * The names of the contributors may not be used to endorse or\n promote products derived from this software without specific\n prior written permission.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */\n\n#ifndef FXAA_REDUCE_MIN\n#define FXAA_REDUCE_MIN (1.0/ 128.0)\n#endif\n#ifndef FXAA_REDUCE_MUL\n#define FXAA_REDUCE_MUL (1.0 / 8.0)\n#endif\n#ifndef FXAA_SPAN_MAX\n#define FXAA_SPAN_MAX 8.0\n#endif\n\n//optimized version for mobile, where dependent\n//texture reads can be a bottleneck\nvec4 fxaa(sampler2D tex, vec2 fragCoord, vec2 inverseVP,\n vec2 v_rgbNW, vec2 v_rgbNE,\n vec2 v_rgbSW, vec2 v_rgbSE,\n vec2 v_rgbM) {\n vec4 color;\n vec3 rgbNW = texture2D(tex, v_rgbNW).xyz;\n vec3 rgbNE = texture2D(tex, v_rgbNE).xyz;\n vec3 rgbSW = texture2D(tex, v_rgbSW).xyz;\n vec3 rgbSE = texture2D(tex, v_rgbSE).xyz;\n vec4 texColor = texture2D(tex, v_rgbM);\n vec3 rgbM = texColor.xyz;\n vec3 luma = vec3(0.299, 0.587, 0.114);\n float lumaNW = dot(rgbNW, luma);\n float lumaNE = dot(rgbNE, luma);\n float lumaSW = dot(rgbSW, luma);\n float lumaSE = dot(rgbSE, luma);\n float lumaM = dot(rgbM, luma);\n float lumaMin = min(lumaM, min(min(lumaNW, lumaNE), min(lumaSW, lumaSE)));\n float lumaMax = max(lumaM, max(max(lumaNW, lumaNE), max(lumaSW, lumaSE)));\n\n mediump vec2 dir;\n dir.x = -((lumaNW + lumaNE) - (lumaSW + lumaSE));\n dir.y = ((lumaNW + lumaSW) - (lumaNE + lumaSE));\n\n float dirReduce = max((lumaNW + lumaNE + lumaSW + lumaSE) *\n (0.25 * FXAA_REDUCE_MUL), FXAA_REDUCE_MIN);\n\n float rcpDirMin = 1.0 / (min(abs(dir.x), abs(dir.y)) + dirReduce);\n dir = min(vec2(FXAA_SPAN_MAX, FXAA_SPAN_MAX),\n max(vec2(-FXAA_SPAN_MAX, -FXAA_SPAN_MAX),\n dir * rcpDirMin)) * inverseVP;\n\n vec3 rgbA = 0.5 * (\n texture2D(tex, fragCoord * inverseVP + dir * (1.0 / 3.0 - 0.5)).xyz +\n texture2D(tex, fragCoord * inverseVP + dir * (2.0 / 3.0 - 0.5)).xyz);\n vec3 rgbB = rgbA * 0.5 + 0.25 * (\n texture2D(tex, fragCoord * inverseVP + dir * -0.5).xyz +\n texture2D(tex, fragCoord * inverseVP + dir * 0.5).xyz);\n\n float lumaB = dot(rgbB, luma);\n if ((lumaB < lumaMin) || (lumaB > lumaMax))\n color = vec4(rgbA, texColor.a);\n else\n color = vec4(rgbB, texColor.a);\n return color;\n}\n\nvoid main() {\n\n vec4 color;\n\n color = fxaa(uSampler, vFragCoord, inputPixel.zw, v_rgbNW, v_rgbNE, v_rgbSW, v_rgbSE, v_rgbM);\n\n gl_FragColor = color;\n}\n',Na=function(t){function e(){return t.call(this,Ra,La)||this}return function(t,e){function r(){this.constructor=t}Ca(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}(e,t),e}(Fi),Fa=function(t,e){return(Fa=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)};var Ba="precision highp float;\n\nvarying vec2 vTextureCoord;\nvarying vec4 vColor;\n\nuniform float uNoise;\nuniform float uSeed;\nuniform sampler2D uSampler;\n\nfloat rand(vec2 co)\n{\n return fract(sin(dot(co.xy, vec2(12.9898, 78.233))) * 43758.5453);\n}\n\nvoid main()\n{\n vec4 color = texture2D(uSampler, vTextureCoord);\n float randomValue = rand(gl_FragCoord.xy * uSeed);\n float diff = (randomValue - 0.5) * uNoise;\n\n // Un-premultiply alpha before applying the color matrix. See issue #3539.\n if (color.a > 0.0) {\n color.rgb /= color.a;\n }\n\n color.r += diff;\n color.g += diff;\n color.b += diff;\n\n // Premultiply alpha again.\n color.rgb *= color.a;\n\n gl_FragColor = color;\n}\n",Ua=function(t){function e(e,r){void 0===e&&(e=.5),void 0===r&&(r=Math.random());var i=t.call(this,vn,Ba,{uNoise:0,uSeed:0})||this;return i.noise=e,i.seed=r,i}return function(t,e){function r(){this.constructor=t}Fa(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}(e,t),Object.defineProperty(e.prototype,"noise",{get:function(){return this.uniforms.uNoise},set:function(t){this.uniforms.uNoise=t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"seed",{get:function(){return this.uniforms.uSeed},set:function(t){this.uniforms.uSeed=t},enumerable:!1,configurable:!0}),e}(Fi),ka=new Ie;Xe.prototype._cacheAsBitmap=!1,Xe.prototype._cacheData=null;var Xa=function(){return function(){this.textureCacheId=null,this.originalRender=null,this.originalRenderCanvas=null,this.originalCalculateBounds=null,this.originalGetLocalBounds=null,this.originalUpdateTransform=null,this.originalDestroy=null,this.originalMask=null,this.originalFilterArea=null,this.originalContainsPoint=null,this.sprite=null}}();Object.defineProperties(Xe.prototype,{cacheAsBitmap:{get:function(){return this._cacheAsBitmap},set:function(t){var e;this._cacheAsBitmap!==t&&(this._cacheAsBitmap=t,t?(this._cacheData||(this._cacheData=new Xa),(e=this._cacheData).originalRender=this.render,e.originalRenderCanvas=this.renderCanvas,e.originalUpdateTransform=this.updateTransform,e.originalCalculateBounds=this.calculateBounds,e.originalGetLocalBounds=this.getLocalBounds,e.originalDestroy=this.destroy,e.originalContainsPoint=this.containsPoint,e.originalMask=this._mask,e.originalFilterArea=this.filterArea,this.render=this._renderCached,this.renderCanvas=this._renderCachedCanvas,this.destroy=this._cacheAsBitmapDestroy):((e=this._cacheData).sprite&&this._destroyCachedDisplayObject(),this.render=e.originalRender,this.renderCanvas=e.originalRenderCanvas,this.calculateBounds=e.originalCalculateBounds,this.getLocalBounds=e.originalGetLocalBounds,this.destroy=e.originalDestroy,this.updateTransform=e.originalUpdateTransform,this.containsPoint=e.originalContainsPoint,this._mask=e.originalMask,this.filterArea=e.originalFilterArea))}}}),Xe.prototype._renderCached=function(t){!this.visible||this.worldAlpha<=0||!this.renderable||(this._initCachedDisplayObject(t),this._cacheData.sprite.transform._worldID=this.transform._worldID,this._cacheData.sprite.worldAlpha=this.worldAlpha,this._cacheData.sprite._render(t))},Xe.prototype._initCachedDisplayObject=function(t){if(!this._cacheData||!this._cacheData.sprite){var e=this.alpha;this.alpha=1,t.batch.flush();var r=this.getLocalBounds(null,!0).clone();if(this.filters){var i=this.filters[0].padding;r.pad(i)}r.ceil(D.RESOLUTION);var n=t.renderTexture.current,o=t.renderTexture.sourceFrame.clone(),s=t.projection.transform,a=Fr.create({width:r.width,height:r.height}),h="cacheAsBitmap_"+ie();this._cacheData.textureCacheId=h,gr.addToCache(a.baseTexture,h),Lr.addToCache(a,h);var u=ka;u.tx=-r.x,u.ty=-r.y,this.transform.worldTransform.identity(),this.render=this._cacheData.originalRender,t.render(this,a,!0,u,!0),t.projection.transform=s,t.renderTexture.bind(n,o),this.render=this._renderCached,this.updateTransform=this.displayObjectUpdateTransform,this.calculateBounds=this._calculateCachedBounds,this.getLocalBounds=this._getCachedLocalBounds,this._mask=null,this.filterArea=null;var l=new Wo(a);l.transform.worldTransform=this.transform.worldTransform,l.anchor.x=-r.x/r.width,l.anchor.y=-r.y/r.height,l.alpha=e,l._bounds=this._bounds,this._cacheData.sprite=l,this.transform._parentID=-1,this.parent?this.updateTransform():(this.enableTempParent(),this.updateTransform(),this.disableTempParent(null)),this.containsPoint=l.containsPoint.bind(l)}},Xe.prototype._renderCachedCanvas=function(t){!this.visible||this.worldAlpha<=0||!this.renderable||(this._initCachedDisplayObjectCanvas(t),this._cacheData.sprite.worldAlpha=this.worldAlpha,this._cacheData.sprite._renderCanvas(t))},Xe.prototype._initCachedDisplayObjectCanvas=function(t){if(!this._cacheData||!this._cacheData.sprite){var e=this.getLocalBounds(null,!0),r=this.alpha;this.alpha=1;var i=t.context,n=t._projTransform;e.ceil(D.RESOLUTION);var o=Fr.create({width:e.width,height:e.height}),s="cacheAsBitmap_"+ie();this._cacheData.textureCacheId=s,gr.addToCache(o.baseTexture,s),Lr.addToCache(o,s);var a=ka;this.transform.localTransform.copyTo(a),a.invert(),a.tx-=e.x,a.ty-=e.y,this.renderCanvas=this._cacheData.originalRenderCanvas,t.render(this,o,!0,a,!1),t.context=i,t._projTransform=n,this.renderCanvas=this._renderCachedCanvas,this.updateTransform=this.displayObjectUpdateTransform,this.calculateBounds=this._calculateCachedBounds,this.getLocalBounds=this._getCachedLocalBounds,this._mask=null,this.filterArea=null;var h=new Wo(o);h.transform.worldTransform=this.transform.worldTransform,h.anchor.x=-e.x/e.width,h.anchor.y=-e.y/e.height,h.alpha=r,h._bounds=this._bounds,this._cacheData.sprite=h,this.transform._parentID=-1,this.parent?this.updateTransform():(this.parent=t._tempDisplayObjectParent,this.updateTransform(),this.parent=null),this.containsPoint=h.containsPoint.bind(h)}},Xe.prototype._calculateCachedBounds=function(){this._bounds.clear(),this._cacheData.sprite.transform._worldID=this.transform._worldID,this._cacheData.sprite._calculateBounds(),this._bounds.updateID=this._boundsID},Xe.prototype._getCachedLocalBounds=function(){return this._cacheData.sprite.getLocalBounds(null)},Xe.prototype._destroyCachedDisplayObject=function(){this._cacheData.sprite._texture.destroy(!0),this._cacheData.sprite=null,gr.removeFromCache(this._cacheData.textureCacheId),Lr.removeFromCache(this._cacheData.textureCacheId),this._cacheData.textureCacheId=null},Xe.prototype._cacheAsBitmapDestroy=function(t){this.cacheAsBitmap=!1,this.destroy(t)},Xe.prototype.name=null,Ge.prototype.getChildByName=function(t,e){for(var r=0,i=this.children.length;r0){var d=a.x-t[l].x,p=a.y-t[l].y,f=Math.sqrt(d*d+p*p);a=t[l],s+=f/h}else s=l/(u-1);n[c]=s,n[c+1]=0,n[c+2]=s,n[c+3]=1}var m=0;for(l=0;l0?this.textureScale*this._width/2:this._width/2;i/=l,n/=l,i*=c,n*=c,o[u]=h.x+i,o[u+1]=h.y+n,o[u+2]=h.x-i,o[u+3]=h.y-n,r=h}this.buffers[0].update()}},e.prototype.update=function(){this.textureScale>0?this.build():this.updateVertices()},e}(Xs),za=function(e){function r(r,i,n){void 0===n&&(n=0);var o=this,s=new Ya(r.height,i,n),a=new ks(r);return n>0&&(r.baseTexture.wrapMode=t.WRAP_MODES.REPEAT),(o=e.call(this,s,a)||this).autoUpdate=!0,o}return Ha(r,e),r.prototype._render=function(t){var r=this.geometry;(this.autoUpdate||r._width!==this.shader.texture.height)&&(r._width=this.shader.texture.height,r.update()),e.prototype._render.call(this,t)},r}(Fs),Va=function(t){function e(e,r,i){var n=this,o=new Ga(e.width,e.height,r,i),s=new ks(Lr.WHITE);return(n=t.call(this,o,s)||this).texture=e,n}return Ha(e,t),e.prototype.textureUpdated=function(){this._textureID=this.shader.texture._updateID;var t=this.geometry;t.width=this.shader.texture.width,t.height=this.shader.texture.height,t.build()},Object.defineProperty(e.prototype,"texture",{get:function(){return this.shader.texture},set:function(t){this.shader.texture!==t&&(this.shader.texture=t,this._textureID=-1,t.baseTexture.valid?this.textureUpdated():t.once("update",this.textureUpdated,this))},enumerable:!1,configurable:!0}),e.prototype._render=function(e){this._textureID!==this.shader.texture._updateID&&this.textureUpdated(),t.prototype._render.call(this,e)},e}(Fs),Wa=function(t){function e(e,r,i,n,o){void 0===e&&(e=Lr.EMPTY);var s=this,a=new Xs(r,i,n);a.getBuffer("aVertexPosition").static=!1;var h=new ks(e);return(s=t.call(this,a,h,null,o)||this).autoUpdate=!0,s}return Ha(e,t),Object.defineProperty(e.prototype,"vertices",{get:function(){return this.geometry.getBuffer("aVertexPosition").data},set:function(t){this.geometry.getBuffer("aVertexPosition").data=t},enumerable:!1,configurable:!0}),e.prototype._render=function(e){this.autoUpdate&&this.geometry.getBuffer("aVertexPosition").update(),t.prototype._render.call(this,e)},e}(Fs),qa=10,Ka=function(t){function e(e,r,i,n,o){void 0===r&&(r=qa),void 0===i&&(i=qa),void 0===n&&(n=qa),void 0===o&&(o=qa);var s=t.call(this,Lr.WHITE,4,4)||this;return s._origWidth=e.orig.width,s._origHeight=e.orig.height,s._width=s._origWidth,s._height=s._origHeight,s._leftWidth=r,s._rightWidth=n,s._topHeight=i,s._bottomHeight=o,s.texture=e,s}return Ha(e,t),e.prototype.textureUpdated=function(){this._textureID=this.shader.texture._updateID,this._refresh()},Object.defineProperty(e.prototype,"vertices",{get:function(){return this.geometry.getBuffer("aVertexPosition").data},set:function(t){this.geometry.getBuffer("aVertexPosition").data=t},enumerable:!1,configurable:!0}),e.prototype.updateHorizontalVertices=function(){var t=this.vertices,e=this._getMinScale();t[9]=t[11]=t[13]=t[15]=this._topHeight*e,t[17]=t[19]=t[21]=t[23]=this._height-this._bottomHeight*e,t[25]=t[27]=t[29]=t[31]=this._height},e.prototype.updateVerticalVertices=function(){var t=this.vertices,e=this._getMinScale();t[2]=t[10]=t[18]=t[26]=this._leftWidth*e,t[4]=t[12]=t[20]=t[28]=this._width-this._rightWidth*e,t[6]=t[14]=t[22]=t[30]=this._width},e.prototype._getMinScale=function(){var t=this._leftWidth+this._rightWidth,e=this._width>t?1:this._width/t,r=this._topHeight+this._bottomHeight,i=this._height>r?1:this._height/r;return Math.min(e,i)},Object.defineProperty(e.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t,this._refresh()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t,this._refresh()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"leftWidth",{get:function(){return this._leftWidth},set:function(t){this._leftWidth=t,this._refresh()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"rightWidth",{get:function(){return this._rightWidth},set:function(t){this._rightWidth=t,this._refresh()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"topHeight",{get:function(){return this._topHeight},set:function(t){this._topHeight=t,this._refresh()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"bottomHeight",{get:function(){return this._bottomHeight},set:function(t){this._bottomHeight=t,this._refresh()},enumerable:!1,configurable:!0}),e.prototype._refresh=function(){var t=this.texture,e=this.geometry.buffers[1].data;this._origWidth=t.orig.width,this._origHeight=t.orig.height;var r=1/this._origWidth,i=1/this._origHeight;e[0]=e[8]=e[16]=e[24]=0,e[1]=e[3]=e[5]=e[7]=0,e[6]=e[14]=e[22]=e[30]=1,e[25]=e[27]=e[29]=e[31]=1,e[2]=e[10]=e[18]=e[26]=r*this._leftWidth,e[4]=e[12]=e[20]=e[28]=1-r*this._rightWidth,e[9]=e[11]=e[13]=e[15]=i*this._topHeight,e[17]=e[19]=e[21]=e[23]=1-i*this._bottomHeight,this.updateHorizontalVertices(),this.updateVerticalVertices(),this.geometry.buffers[0].update(),this.geometry.buffers[1].update()},e}(Va),Za=function(t,e){return(Za=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)};var Ja=function(e){function r(t,r){void 0===r&&(r=!0);var i=e.call(this,t[0]instanceof Lr?t[0]:t[0].texture)||this;return i._textures=null,i._durations=null,i._autoUpdate=r,i._isConnectedToTicker=!1,i.animationSpeed=1,i.loop=!0,i.updateAnchor=!1,i.onComplete=null,i.onFrameChange=null,i.onLoop=null,i._currentTime=0,i._playing=!1,i._previousFrame=null,i.textures=t,i}return function(t,e){function r(){this.constructor=t}Za(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}(r,e),r.prototype.stop=function(){this._playing&&(this._playing=!1,this._autoUpdate&&this._isConnectedToTicker&&(Qe.shared.remove(this.update,this),this._isConnectedToTicker=!1))},r.prototype.play=function(){this._playing||(this._playing=!0,this._autoUpdate&&!this._isConnectedToTicker&&(Qe.shared.add(this.update,this,t.UPDATE_PRIORITY.HIGH),this._isConnectedToTicker=!0))},r.prototype.gotoAndStop=function(t){this.stop();var e=this.currentFrame;this._currentTime=t,e!==this.currentFrame&&this.updateTexture()},r.prototype.gotoAndPlay=function(t){var e=this.currentFrame;this._currentTime=t,e!==this.currentFrame&&this.updateTexture(),this.play()},r.prototype.update=function(t){var e=this.animationSpeed*t,r=this.currentFrame;if(null!==this._durations){var i=this._currentTime%1*this._durations[this.currentFrame];for(i+=e/60*1e3;i<0;)this._currentTime--,i+=this._durations[this.currentFrame];var n=Math.sign(this.animationSpeed*t);for(this._currentTime=Math.floor(this._currentTime);i>=this._durations[this.currentFrame];)i-=this._durations[this.currentFrame]*n,this._currentTime+=n;this._currentTime+=i/this._durations[this.currentFrame]}else this._currentTime+=e;this._currentTime<0&&!this.loop?(this.gotoAndStop(0),this.onComplete&&this.onComplete()):this._currentTime>=this._textures.length&&!this.loop?(this.gotoAndStop(this._textures.length-1),this.onComplete&&this.onComplete()):r!==this.currentFrame&&(this.loop&&this.onLoop&&(this.animationSpeed>0&&this.currentFramer&&this.onLoop()),this.updateTexture())},r.prototype.updateTexture=function(){var t=this.currentFrame;this._previousFrame!==t&&(this._previousFrame=t,this._texture=this._textures[t],this._textureID=-1,this._textureTrimmedID=-1,this._cachedTint=16777215,this.uvs=this._texture._uvs.uvsFloat32,this.updateAnchor&&this._anchor.copyFrom(this._texture.defaultAnchor),this.onFrameChange&&this.onFrameChange(this.currentFrame))},r.prototype.destroy=function(t){this.stop(),e.prototype.destroy.call(this,t),this.onComplete=null,this.onFrameChange=null,this.onLoop=null},r.fromFrames=function(t){for(var e=[],i=0;i0){var n=e.context;n.beginPath();for(var o=0;oS?S:T,r.moveTo(_,x+T),r.lineTo(_,x+E-T),r.quadraticCurveTo(_,x+E,_+T,x+E),r.lineTo(_+b-T,x+E),r.quadraticCurveTo(_+b,x+E,_+b,x+E-T),r.lineTo(_+b,x+T),r.quadraticCurveTo(_+b,x,_+b-T,x),r.lineTo(_+T,x),r.quadraticCurveTo(_,x,_,x+T),r.closePath()}}},e.prototype.popMask=function(t){t.context.restore(),t.invalidateBlendMode()},e.prototype.destroy=function(){},e}();function nh(t){var e=document.createElement("canvas");e.width=6,e.height=1;var r=e.getContext("2d");return r.fillStyle=t,r.fillRect(0,0,6,1),e}function oh(){if("undefined"==typeof document)return!1;var t=nh("#ff00ff"),e=nh("#ffff00"),r=document.createElement("canvas");r.width=6,r.height=1;var i=r.getContext("2d");i.globalCompositeOperation="multiply",i.drawImage(t,0,0),i.drawImage(e,2,0);var n=i.getImageData(2,0,1,1);if(!n)return!1;var o=n.data;return 255===o[0]&&0===o[1]&&0===o[2]}var sh=new Ie,ah=function(e){function r(i){var n,o=e.call(this,t.RENDERER_TYPE.CANVAS,i)||this;if(o.rootContext=o.view.getContext("2d",{alpha:o.transparent}),o.context=o.rootContext,o.refresh=!0,o.maskManager=new ih(o),o.smoothProperty="imageSmoothingEnabled",!o.rootContext.imageSmoothingEnabled){var s=o.rootContext;s.webkitImageSmoothingEnabled?o.smoothProperty="webkitImageSmoothingEnabled":s.mozImageSmoothingEnabled?o.smoothProperty="mozImageSmoothingEnabled":s.oImageSmoothingEnabled?o.smoothProperty="oImageSmoothingEnabled":s.msImageSmoothingEnabled&&(o.smoothProperty="msImageSmoothingEnabled")}return o.initPlugins(r.__plugins),o.blendModes=(void 0===n&&(n=[]),oh()?(n[t.BLEND_MODES.NORMAL]="source-over",n[t.BLEND_MODES.ADD]="lighter",n[t.BLEND_MODES.MULTIPLY]="multiply",n[t.BLEND_MODES.SCREEN]="screen",n[t.BLEND_MODES.OVERLAY]="overlay",n[t.BLEND_MODES.DARKEN]="darken",n[t.BLEND_MODES.LIGHTEN]="lighten",n[t.BLEND_MODES.COLOR_DODGE]="color-dodge",n[t.BLEND_MODES.COLOR_BURN]="color-burn",n[t.BLEND_MODES.HARD_LIGHT]="hard-light",n[t.BLEND_MODES.SOFT_LIGHT]="soft-light",n[t.BLEND_MODES.DIFFERENCE]="difference",n[t.BLEND_MODES.EXCLUSION]="exclusion",n[t.BLEND_MODES.HUE]="hue",n[t.BLEND_MODES.SATURATION]="saturate",n[t.BLEND_MODES.COLOR]="color",n[t.BLEND_MODES.LUMINOSITY]="luminosity"):(n[t.BLEND_MODES.NORMAL]="source-over",n[t.BLEND_MODES.ADD]="lighter",n[t.BLEND_MODES.MULTIPLY]="source-over",n[t.BLEND_MODES.SCREEN]="source-over",n[t.BLEND_MODES.OVERLAY]="source-over",n[t.BLEND_MODES.DARKEN]="source-over",n[t.BLEND_MODES.LIGHTEN]="source-over",n[t.BLEND_MODES.COLOR_DODGE]="source-over",n[t.BLEND_MODES.COLOR_BURN]="source-over",n[t.BLEND_MODES.HARD_LIGHT]="source-over",n[t.BLEND_MODES.SOFT_LIGHT]="source-over",n[t.BLEND_MODES.DIFFERENCE]="source-over",n[t.BLEND_MODES.EXCLUSION]="source-over",n[t.BLEND_MODES.HUE]="source-over",n[t.BLEND_MODES.SATURATION]="source-over",n[t.BLEND_MODES.COLOR]="source-over",n[t.BLEND_MODES.LUMINOSITY]="source-over"),n[t.BLEND_MODES.NORMAL_NPM]=n[t.BLEND_MODES.NORMAL],n[t.BLEND_MODES.ADD_NPM]=n[t.BLEND_MODES.ADD],n[t.BLEND_MODES.SCREEN_NPM]=n[t.BLEND_MODES.SCREEN],n[t.BLEND_MODES.SRC_IN]="source-in",n[t.BLEND_MODES.SRC_OUT]="source-out",n[t.BLEND_MODES.SRC_ATOP]="source-atop",n[t.BLEND_MODES.DST_OVER]="destination-over",n[t.BLEND_MODES.DST_IN]="destination-in",n[t.BLEND_MODES.DST_OUT]="destination-out",n[t.BLEND_MODES.DST_ATOP]="destination-atop",n[t.BLEND_MODES.XOR]="xor",n[t.BLEND_MODES.SUBTRACT]="source-over",n),o._activeBlendMode=null,o._outerBlend=!1,o._projTransform=null,o.renderingToScreen=!1,Bt("Canvas"),o.resize(o.options.width,o.options.height),o}return function(t,e){function r(){this.constructor=t}rh(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}(r,e),r.prototype.render=function(e,r,i,n,o){if(this.view){this.renderingToScreen=!r,this.emit("prerender");var s=this.resolution;r?((r=r.castToBaseTexture())._canvasRenderTarget||(r._canvasRenderTarget=new ue(r.width,r.height,r.resolution),r.resource=new Ir.CanvasResource(r._canvasRenderTarget.canvas),r.valid=!0),this.context=r._canvasRenderTarget.context,this.resolution=r._canvasRenderTarget.resolution):this.context=this.rootContext;var a=this.context;if(this._projTransform=n||null,r||(this._lastObjectRendered=e),!o){var h=e.enableTempParent();e.updateTransform(),e.disableTempParent(h)}if(a.save(),a.setTransform(1,0,0,1,0,0),a.globalAlpha=1,this._activeBlendMode=t.BLEND_MODES.NORMAL,this._outerBlend=!1,a.globalCompositeOperation=this.blendModes[t.BLEND_MODES.NORMAL],void 0!==i?i:this.clearBeforeRender)if(this.renderingToScreen)this.transparent?a.clearRect(0,0,this.width,this.height):(a.fillStyle=this._backgroundColorString,a.fillRect(0,0,this.width,this.height));else{(r=r)._canvasRenderTarget.clear();var u=r.clearColor;u[3]>0&&(a.fillStyle=Xt(Ht(u)),a.fillRect(0,0,r.realWidth,r.realHeight))}var l=this.context;this.context=a,e.renderCanvas(this),this.context=l,a.restore(),this.resolution=s,this._projTransform=null,this.emit("postrender")}},r.prototype.setContextTransform=function(t,e,r){var i=t,n=this._projTransform,o=this.resolution;r=r||o,n&&((i=sh).copyFrom(t),i.prepend(n)),e?this.context.setTransform(i.a*r,i.b*r,i.c*r,i.d*r,i.tx*o|0,i.ty*o|0):this.context.setTransform(i.a*r,i.b*r,i.c*r,i.d*r,i.tx*o,i.ty*o)},r.prototype.clear=function(t){var e=this.context;t=t||this._backgroundColorString,!this.transparent&&t?(e.fillStyle=t,e.fillRect(0,0,this.width,this.height)):e.clearRect(0,0,this.width,this.height)},r.prototype.setBlendMode=function(e,r){var i=e===t.BLEND_MODES.SRC_IN||e===t.BLEND_MODES.SRC_OUT||e===t.BLEND_MODES.DST_IN||e===t.BLEND_MODES.DST_ATOP;!r&&i&&(e=t.BLEND_MODES.NORMAL),this._activeBlendMode!==e&&(this._activeBlendMode=e,this._outerBlend=i,this.context.globalCompositeOperation=this.blendModes[e])},r.prototype.destroy=function(t){e.prototype.destroy.call(this,t),this.context=null,this.refresh=!0,this.maskManager.destroy(),this.maskManager=null,this.smoothProperty=null},r.prototype.resize=function(r,i){e.prototype.resize.call(this,r,i),this.smoothProperty&&(this.rootContext[this.smoothProperty]=D.SCALE_MODE===t.SCALE_MODES.LINEAR)},r.prototype.invalidateBlendMode=function(){this._activeBlendMode=this.blendModes.indexOf(this.context.globalCompositeOperation)},r.registerPlugin=function(t,e){r.__plugins=r.__plugins||{},r.__plugins[t]=e},r}(dn),hh={canvas:null,getTintedCanvas:function(t,e){var r=t.texture,i="#"+("00000"+(0|(e=hh.roundColor(e))).toString(16)).substr(-6);r.tintCache=r.tintCache||{};var n,o=r.tintCache[i];if(o){if(o.tintId===r._updateID)return r.tintCache[i];n=r.tintCache[i]}else n=document.createElement("canvas");if(hh.tintMethod(r,e,n),n.tintId=r._updateID,hh.convertTintToImage){var s=new Image;s.src=n.toDataURL(),r.tintCache[i]=s}else r.tintCache[i]=n;return n},getTintedPattern:function(t,e){var r="#"+("00000"+(0|(e=hh.roundColor(e))).toString(16)).substr(-6);t.patternCache=t.patternCache||{};var i=t.patternCache[r];return i&&i.tintId===t._updateID?i:(hh.canvas||(hh.canvas=document.createElement("canvas")),hh.tintMethod(t,e,hh.canvas),(i=hh.canvas.getContext("2d").createPattern(hh.canvas,"repeat")).tintId=t._updateID,t.patternCache[r]=i,i)},tintWithMultiply:function(t,e,r){var i=r.getContext("2d"),n=t._frame.clone(),o=t.baseTexture.resolution;n.x*=o,n.y*=o,n.width*=o,n.height*=o,r.width=Math.ceil(n.width),r.height=Math.ceil(n.height),i.save(),i.fillStyle="#"+("00000"+(0|e).toString(16)).substr(-6),i.fillRect(0,0,n.width,n.height),i.globalCompositeOperation="multiply";var s=t.baseTexture.getDrawableSource();i.drawImage(s,n.x,n.y,n.width,n.height,0,0,n.width,n.height),i.globalCompositeOperation="destination-atop",i.drawImage(s,n.x,n.y,n.width,n.height,0,0,n.width,n.height),i.restore()},tintWithOverlay:function(t,e,r){var i=r.getContext("2d"),n=t._frame.clone(),o=t.baseTexture.resolution;n.x*=o,n.y*=o,n.width*=o,n.height*=o,r.width=Math.ceil(n.width),r.height=Math.ceil(n.height),i.save(),i.globalCompositeOperation="copy",i.fillStyle="#"+("00000"+(0|e).toString(16)).substr(-6),i.fillRect(0,0,n.width,n.height),i.globalCompositeOperation="destination-atop",i.drawImage(t.baseTexture.getDrawableSource(),n.x,n.y,n.width,n.height,0,0,n.width,n.height),i.restore()},tintWithPerPixel:function(t,e,r){var i=r.getContext("2d"),n=t._frame.clone(),o=t.baseTexture.resolution;n.x*=o,n.y*=o,n.width*=o,n.height*=o,r.width=Math.ceil(n.width),r.height=Math.ceil(n.height),i.save(),i.globalCompositeOperation="copy",i.drawImage(t.baseTexture.getDrawableSource(),n.x,n.y,n.width,n.height,0,0,n.width,n.height),i.restore();for(var s=kt(e),a=s[0],h=s[1],u=s[2],l=i.getImageData(0,0,n.width,n.height),c=l.data,d=0;d0){var w=S/Math.abs(t.worldTransform.a),P=S/Math.abs(t.worldTransform.d),I=(y+_+x)/3,A=(b+E+T)/3,O=y-I,M=b-A,D=Math.sqrt(O*O+M*M);y=I+O/D*(D+w),b=A+M/D*(D+P),M=E-A,_=I+(O=_-I)/(D=Math.sqrt(O*O+M*M))*(D+w),E=A+M/D*(D+P),M=T-A,x=I+(O=x-I)/(D=Math.sqrt(O*O+M*M))*(D+w),T=A+M/D*(D+P)}n.save(),n.beginPath(),n.moveTo(y,b),n.lineTo(_,E),n.lineTo(x,T),n.closePath(),n.clip();var C=d*v+m*f+p*g-v*f-m*p-d*g,R=y*v+m*x+_*g-v*x-m*_-y*g,L=d*_+y*f+p*x-_*f-y*p-d*x,N=d*v*x+m*_*f+y*p*g-y*v*f-m*p*x-d*_*g,F=b*v+m*T+E*g-v*T-m*E-b*g,B=d*E+b*f+p*T-E*f-b*p-d*T,U=d*v*T+m*E*f+b*p*g-b*v*f-m*p*T-d*E*g;n.transform(R/C,F/C,L/C,B/C,N/C,U/C),n.drawImage(u,0,0,l*h.resolution,c*h.resolution,0,0,l,c),n.restore(),this.renderer.invalidateBlendMode()}},e.prototype.renderMeshFlat=function(t){var e=this.renderer.context,r=t.geometry.getBuffer("aVertexPosition").data,i=r.length/2;e.beginPath();for(var n=1;n>16&255)/255,l=(e.tint>>8&255)/255,c=(255&e.tint)/255,d=0;d>16&255)/255*u*255<<16)+((g>>8&255)/255*l*255<<8)+(255&g)/255*c*255;s=this._calcCanvasStyle(m,_)}if(v.visible){var x=((y>>16&255)/255*u*255<<16)+((y>>8&255)/255*l*255<<8)+(255&y)/255*c*255;a=this._calcCanvasStyle(v,x)}if(i.lineWidth=v.width,i.lineCap=v.cap,i.lineJoin=v.join,i.miterLimit=v.miterLimit,p.type===t.SHAPES.POLY){i.beginPath();var b=(O=f).points,E=p.holes,T=void 0,S=void 0,w=void 0,P=void 0;i.moveTo(b[0],b[1]);for(var I=2;I0){T=0,w=b[0],P=b[1];for(I=2;I+2=0;I-=2)i.lineTo(b[I],b[I+1])}E[A].shape.closeStroke&&i.closePath()}}m.visible&&(i.globalAlpha=m.alpha*n,i.fillStyle=s,i.fill()),v.visible&&(i.globalAlpha=v.alpha*n,i.strokeStyle=a,i.stroke())}else if(p.type===t.SHAPES.RECT){var O=f;m.visible&&(i.globalAlpha=m.alpha*n,i.fillStyle=s,i.fillRect(O.x,O.y,O.width,O.height)),v.visible&&(i.globalAlpha=v.alpha*n,i.strokeStyle=a,i.strokeRect(O.x,O.y,O.width,O.height))}else if(p.type===t.SHAPES.CIRC){O=f;i.beginPath(),i.arc(O.x,O.y,O.radius,0,2*Math.PI),i.closePath(),m.visible&&(i.globalAlpha=m.alpha*n,i.fillStyle=s,i.fill()),v.visible&&(i.globalAlpha=v.alpha*n,i.strokeStyle=a,i.stroke())}else if(p.type===t.SHAPES.ELIP){var M=2*(O=f).width,D=2*O.height,C=O.x-M/2,R=O.y-D/2;i.beginPath();var L=M/2*.5522848,N=D/2*.5522848,F=C+M,B=R+D,U=C+M/2,k=R+D/2;i.moveTo(C,k),i.bezierCurveTo(C,k-N,U-L,R,U,R),i.bezierCurveTo(U+L,R,F,k-N,F,k),i.bezierCurveTo(F,k+N,U+L,B,U,B),i.bezierCurveTo(U-L,B,C,k+N,C,k),i.closePath(),m.visible&&(i.globalAlpha=m.alpha*n,i.fillStyle=s,i.fill()),v.visible&&(i.globalAlpha=v.alpha*n,i.strokeStyle=a,i.stroke())}else if(p.type===t.SHAPES.RREC){var X=(O=f).x,j=O.y,H=O.width,G=O.height,Y=O.radius,z=Math.min(H,G)/2|0;Y=Y>z?z:Y,i.beginPath(),i.moveTo(X,j+Y),i.lineTo(X,j+G-Y),i.quadraticCurveTo(X,j+G,X+Y,j+G),i.lineTo(X+H-Y,j+G),i.quadraticCurveTo(X+H,j+G,X+H,j+G-Y),i.lineTo(X+H,j+Y),i.quadraticCurveTo(X+H,j,X+H-Y,j),i.lineTo(X+Y,j),i.quadraticCurveTo(X,j,X,j+Y),i.closePath(),m.visible&&(i.globalAlpha=m.alpha*n,i.fillStyle=s,i.fill()),v.visible&&(i.globalAlpha=v.alpha*n,i.strokeStyle=a,i.stroke())}}},e.prototype.setPatternTransform=function(t,e){if(!1!==this._svgMatrix){if(!this._svgMatrix){var r=document.createElementNS("http://www.w3.org/2000/svg","svg");if(r&&r.createSVGMatrix&&(this._svgMatrix=r.createSVGMatrix()),!this._svgMatrix||!t.setTransform)return void(this._svgMatrix=!1)}this._svgMatrix.a=e.a,this._svgMatrix.b=e.b,this._svgMatrix.c=e.c,this._svgMatrix.d=e.d,this._svgMatrix.e=e.tx,this._svgMatrix.f=e.ty,t.setTransform(this._svgMatrix.inverse())}},e.prototype.destroy=function(){this.renderer=null},e}(),ph=new Ie;Ho.prototype.generateCanvasTexture=function(t,e){void 0===e&&(e=1);var r=this.getLocalBounds(),i=Fr.create({width:r.width,height:r.height,scaleMode:t,resolution:e});ch||(ch=new ah),this.transform.updateLocalTransform(),this.transform.localTransform.copyTo(ph),ph.invert(),ph.tx-=r.x,ph.ty-=r.y,ch.render(this,i,!0,ph);var n=Lr.from(i.baseTexture._canvasRenderTarget.canvas,{scaleMode:t});return n.baseTexture.resolution=e,n.baseTexture.update(),n},Ho.prototype.cachedGraphicsData=[],Ho.prototype._renderCanvas=function(t){!0!==this.isMask&&(this.finishPoly(),t.plugins.graphics.render(this))};var fh=new Ie,mh=function(){function e(t){this.renderer=t}return e.prototype.render=function(e){var r=e._texture,i=this.renderer,n=i.context,o=r._frame.width,s=r._frame.height,a=e.transform.worldTransform,h=0,u=0,l=r.baseTexture.getDrawableSource();if(!(r.orig.width<=0||r.orig.height<=0)&&r.valid&&l&&r.valid){i.setBlendMode(e.blendMode,!0),i.context.globalAlpha=e.worldAlpha;var c=r.baseTexture.scaleMode===t.SCALE_MODES.LINEAR;i.smoothProperty&&i.context[i.smoothProperty]!==c&&(n[i.smoothProperty]=c),r.trim?(h=r.trim.width/2+r.trim.x-e.anchor.x*r.orig.width,u=r.trim.height/2+r.trim.y-e.anchor.y*r.orig.height):(h=(.5-e.anchor.x)*r.orig.width,u=(.5-e.anchor.y)*r.orig.height),r.rotate&&(a.copyTo(fh),a=fh,Ne.matrixAppendRotationInv(a,r.rotate,h,u),h=0,u=0),h-=o/2,u-=s/2,i.setContextTransform(a,e.roundPixels,1),e.roundPixels&&(h|=0,u|=0);var d=r.baseTexture.resolution,p=i._outerBlend;p&&(n.save(),n.beginPath(),n.rect(h*i.resolution,u*i.resolution,o*i.resolution,s*i.resolution),n.clip()),16777215!==e.tint?(e._cachedTint===e.tint&&e._tintedCanvas.tintId===e._texture._updateID||(e._cachedTint=e.tint,e._tintedCanvas=hh.getTintedCanvas(e,e.tint)),n.drawImage(e._tintedCanvas,0,0,Math.floor(o*d),Math.floor(s*d),Math.floor(h*i.resolution),Math.floor(u*i.resolution),Math.floor(o*i.resolution),Math.floor(s*i.resolution))):n.drawImage(l,r._frame.x*d,r._frame.y*d,Math.floor(o*d),Math.floor(s*d),Math.floor(h*i.resolution),Math.floor(u*i.resolution),Math.floor(o*i.resolution),Math.floor(s*i.resolution)),p&&n.restore(),i.setBlendMode(t.BLEND_MODES.NORMAL)}},e.prototype.destroy=function(){this.renderer=null},e}();Wo.prototype._tintedCanvas=null,Wo.prototype._renderCanvas=function(t){t.plugins.sprite.render(this)};var vh=new xe,gh=function(){function t(t){this.renderer=t}return t.prototype.image=function(t,e,r){var i=new Image;return i.src=this.base64(t,e,r),i},t.prototype.base64=function(t,e,r){return this.canvas(t).toDataURL(e,r)},t.prototype.canvas=function(t){var e,r,i,n,o=this.renderer;t&&(n=t instanceof Fr?t:o.generateTexture(t)),n?(e=n.baseTexture._canvasRenderTarget.context,r=n.baseTexture._canvasRenderTarget.resolution,i=n.frame):(e=o.rootContext,r=o.resolution,(i=vh).width=this.renderer.width,i.height=this.renderer.height);var s=Math.floor(i.width*r+1e-4),a=Math.floor(i.height*r+1e-4),h=new ue(s,a,1),u=e.getImageData(i.x*r,i.y*r,s,a);return h.context.putImageData(u,0,0),h.canvas},t.prototype.pixels=function(t){var e,r,i,n,o=this.renderer;return t&&(n=t instanceof Fr?t:o.generateTexture(t)),n?(e=n.baseTexture._canvasRenderTarget.context,r=n.baseTexture._canvasRenderTarget.resolution,i=n.frame):(e=o.rootContext,(i=vh).width=o.width,i.height=o.height),e.getImageData(0,0,i.width*r,i.height*r).data},t.prototype.destroy=function(){this.renderer=null},t}();Object.defineProperty(ah.prototype,"extract",{get:function(){return oe("v5.3.0","CanvasRenderer#extract is deprecated, use CanvasRenderer#plugins.extract"),this.plugins.extract}});var yh=function(t,e){return(yh=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)};var _h=16;function xh(t,e){var r=t;if(e instanceof gr){var i=e.source,n=0===i.width?r.canvas.width:Math.min(r.canvas.width,i.width),o=0===i.height?r.canvas.height:Math.min(r.canvas.height,i.height);return r.ctx.drawImage(i,0,0,n,o,0,0,r.canvas.width,r.canvas.height),!0}return!1}var bh=function(t){function e(e){var r=t.call(this,e)||this;return r.uploadHookHelper=r,r.canvas=document.createElement("canvas"),r.canvas.width=_h,r.canvas.height=_h,r.ctx=r.canvas.getContext("2d"),r.registerUploadHook(xh),r}return function(t,e){function r(){this.constructor=t}yh(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}(e,t),e.prototype.destroy=function(){t.prototype.destroy.call(this),this.ctx=null,this.canvas=null},e}(fs);return ws.prototype._renderCanvas=function(t){var e=this._texture;if(e.baseTexture.valid){var r=t.context,i=this.worldTransform,n=e.baseTexture,o=n.getDrawableSource(),s=n.resolution,a=this.tilePosition.x/this.tileScale.x%e._frame.width*s,h=this.tilePosition.y/this.tileScale.y%e._frame.height*s;if(this._textureID!==this._texture._updateID||this._cachedTint!==this.tint){this._textureID=this._texture._updateID;var u=new ue(e._frame.width,e._frame.height,s);16777215!==this.tint?(this._tintedCanvas=hh.getTintedCanvas(this,this.tint),u.context.drawImage(this._tintedCanvas,0,0)):u.context.drawImage(o,-e._frame.x*s,-e._frame.y*s),this._cachedTint=this.tint,this._canvasPattern=u.context.createPattern(u.canvas,"repeat")}r.globalAlpha=this.worldAlpha,t.setBlendMode(this.blendMode),t.setContextTransform(i),r.fillStyle=this._canvasPattern,r.scale(this.tileScale.x/s,this.tileScale.y/s);var l=this.anchor.x*-this._width,c=this.anchor.y*-this._height;this.uvRespectAnchor?(r.translate(a,h),r.fillRect(-a+l,-h+c,this._width/this.tileScale.x*s,this._height/this.tileScale.y*s)):(r.translate(a+l,h+c),r.fillRect(-a,-h,this._width/this.tileScale.x*s,this._height/this.tileScale.y*s))}},so.prototype.renderCanvas=function(t){if(this.visible&&!(this.worldAlpha<=0)&&this.children.length&&this.renderable){var e=t.context,r=this.worldTransform,i=!0,n=0,o=0,s=0,a=0;t.setBlendMode(this.blendMode),e.globalAlpha=this.worldAlpha,this.displayObjectUpdateTransform();for(var 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 M07*qoM6N<$f(nO96aWAK literal 0 HcmV?d00001 diff --git a/GDJS/tests/games/effects/Assets/Map/tilebg/tile_bg (11).png b/GDJS/tests/games/effects/Assets/Map/tilebg/tile_bg (11).png new file mode 100755 index 0000000000000000000000000000000000000000..06c47122ae8dc1296a40a545006dc1165a8929f5 GIT binary patch literal 12049 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 KMNUMnLSTXl7@Dg9 literal 0 HcmV?d00001 diff --git a/GDJS/tests/games/effects/Assets/Map/tilebg/tile_bg (14).png b/GDJS/tests/games/effects/Assets/Map/tilebg/tile_bg (14).png new file mode 100755 index 0000000000000000000000000000000000000000..99d376b0a004def9fd945c8d8f99c763e8bda788 GIT binary patch literal 15196 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 s@~V*$vw0mQ1{u6>%8 zp`@Uzvw33zs=lVKvI4KWiEvX+ltkXDcdB+^mV{mbzM|8jfdZtodQw1w>tq3|r_h>u z0;sr$TuRxdbb?hzyMSz@Zd=r$aDduhmwQ)`U{8;DS5Y`FoqJ#cv9RQ@d;y-cn`TwA zr@)2tYmtwcY)m}^vzyGJeO@~-`n!k9igR^IIz^N^%B6PKtbVtMW1)jq_`7}qo0eWh zI(2h^n0;`!oNEEU!vl|wT~|f9 zu%pk+z=?BZOkGrzZCjA(cwC4@ZR>r)g>_tFVoOg!vWRy=e;cqrN zHUhn}SEEAV$+c{EMc>%bwWODxjCH7whGMQtxRrmA&}(&VX#=>ZzrnD`w4U3yoFts1 z#;1>;z@3)bgK@2}f{S_{w8iMeq8F&C7p%8WmXklDp$2(=E2^&3hjTMrT#>_xrN(Ss z)QLQ)vVEhSGaM6CvcY7foeh|b6liH8iiTEheUGoF9iEz=(UZ)5Wm2E3P>O;*f`4X( zc1gvVx3X#_nUATWii(jh(~6hLci>DlB=o!jrAL z*1>#Ov8^+Bh}MzC zEo=fJg6$fySOp)|{tbTj%-P&K_w04@P``8Uok?7qAK!V*WLq}tXaBDefOTdl9SDBqYL^jW5j|QsR46gT z`v8ao@UWPm+6KVuCctNe&m@O)aR)NZnZ>@-pF@sV;nk}k=moV*=IWhVarwiyHxCEr z>~UiV@z^CS-t6mk62`WPl70QV7|C+JRX2LD1yJi&JQP?c6z45l;;WpSIv;9b|~?LRkYzOi`K;^c*Q{<2p*` z)Bxk06{&{r5CFMlU^zmkswq!n42=NL0Evu#G8mk@as>>*Py0_JtQwufG+~1_PNt_e zOBcZuh5$Ib7@(Kk#3h0eIPf_BK}a}IsFn44Yvc8G?jjG9ow!Uv^swS!f~Is8H2MfU zsFOIwfpY-#yaEAqij5grn_yvE|B!|-;A?0*FjQ$@C?5OzZ8U@d&!4+@PXp9dP}f21 z3WvtW{1OJV9SB;BI#2?P-AAXrh!dT>Ws36Fcc~6c5>)cMxGwG;10l$rK3!J`2Xc~O z4{{Pa9jFP48u(Wo7zBj?0MQXAr!8iKr4L62r{VMTZJ1>0K^P3ft0xE{iXjSMY(Z>; zq3k3G%}+LwJ@>T(cmBzN=o<3^By92NS@E|Oumx=gQUU})fK>L>Y&{x1JOzM5k-~NI zAY{Sgfl#C{ZFdK`xwr$1zBePWXl{I-X~2+!fs&%Wmu^6$UrVIliCStI~RWVP#qV-tqeF;Q*ucJ?NCW#0+_usgm3|T(YG5 zFtkVwlmLsM=j5l&$se%vl`b57nUbG$AV-#?6%^K}7;-B$a*Fg4m1fS z>0z0DnAgG%WPm|H;5e{oPo=pWC|qdv6#WdHYlVSd7=QgW0y-oyWwEY-h69PAw4lp@ z*n;08HL%FYj8MmXnucJFZKxq`;lL;gYPA+>VQ);cHRvgRRpfB016d|M6=n)A=0FJ$ z!D1Ks0c%cAb-0POX9Q509L5opv_EwU7Zi4afjljxLP& zdvoBSLT_mwwAAnS3WtK4Ka*0OXmSiJQ-9pZ8#j36~hW4D;vXL z^1Y0LSJ`@w(Zh@YcyxvucvOW3c;Uh-5W(N&<@ntScwmzaUyfWZ0NLL zE{A@yw*G50EO+bmWd2TCag|^2gP!7NJ<+8&Fa;Pb+WMjaDuhc*OE4i2rUBFr^iv(k zTd8JMLkl9{Iq89I*gnwAWs1vRzYPb~@(>Rw)+B>4-cC2b&@stCTR(|RnZpdybRZ+# z2ZH^+LdXEqF-q_K$$|Q+TgN1S|A-LgY_-&lS6tipHB^I47vx@8!yqHvbRf1_2Gbn4 zLl8{E$N(>x2$y1nQ)ng!@(~hE=|EZkWCr8Ua=6PBzOO46cDt48&@>?7V}gntw_!=p z?Z6$=7*FGa0}pT3Kt#-t5cVdJ3LFlEV%lK|2U@ZnDC(a8hz-%(F0O?@H-4hG2VSZF6`$WuxJbk{(ABOM5M>1wsxdCZ2n=9xRawT*AXx}IY=tVcQ~ zs3HEb21Wzl9T!qKog;y`=kZU zYbroXQD^tTeAX{0gw;y7Ob*0hz(ZhhG>jZhcc7GXAQl9G%l)N&TQgjO`~v9^&{1H; zk>WsMz(pNs$;+Y=Hrx4rj}p0ru|~lgCLTzbo$kkbD6|9VkO0#giJk)iu(t+;ELjSv z7HXN@c{&Gz;lFU8DubTTMLSd4=(Y8Vnl^Spyqt zYk+e&5D-NHe8~<3z~jebgd&kI5Ir8P3qsR65KB5R)D8?OW_4h@jU(S|MjhO?(UZOJ z)RAQkBz_FgD1kH8K!(S9iQ9<-i+e#&iEOCz*iLE6WWrX6Py3nJQYKAY`&i5x^VtQo)*~w|uFvq5*Q&G9sC`N{^4y)dWZ`1i}P1eWw#y zPKF+qC1(>3Inrui)^eZ&9R&ck+RfcL|I2qIa^pxho~Z$Dr2zqEf}knKZz38UyG=Ka z30u+xAY%kVGm}l6iMj9)_8bnBz(Pj}6v$E>_zt!3;O?Ba_Wk|O*DH-~4DdyDtKUZG za63>i)CSb_Y=Ere_yB?mTfCEggkUxea2^L{lOby$+sy`;VnJ0E&tNdb8$%!*t~5aK zQKhuUHlTDM6Wqf9#n_@3UunNo0PPe$4uD(>IeYmu-gZS%>_UeFGihR8IvkH}vpTSY zjsNwoiI&{^{{GjnB7WJNx&~@=@{?H`FCrMADMn~@5vv$dAruY-AdkZ(K})1C$j$CR zXm=+UMVM@M@9sqEb=S|8=Z$I^%n~U~1e4Q@RRg(&ShV;Cp>r7?e9Qo)dSWmHJEIu- z33&`~4hLrFBHHha4$QT2>2x}~^YO<_@5}pND29)~Z*~V_@G}~Q^dl$rf!3@s^`froSDOcQn|Sth`F%cJb=fNJcN39vhA;}k6t`yZnM=umJRWx@gm{n z%a`Ey>C?6X0J?O%=ymklnavyAVr|+mBYN+g;PkwQODZuPth^=V#o+D6``0f@_wP4K zD>v?!9zA+Q_M>n)5QiBPU5+tc^!C? z0m|;{P|CcQ4pheOX71gWFB_??G&5a)EYFWrIA!Vbjy!u-KzCyF}$_g_DM?73fkw6e0&DBT6WlsOQm zbRYn-aLe?7PXlx@#GmXf^rO|)3z{D(zFh^w2t!|Z)ovkKE2hd|To*PVtMi+cGY54d zio&okN+60sVMItVK^qNm$OJ5&3lUr}j3_b^MqJQhj35XWih`hpX@VfQAZ~?4L~LFo zAsAc=Ato-MLQoVJ#06YRYyWfR%#vKAwz{LC_{hb5l zF(RGnifyOUg=PBmL*II5TkSbWhM-6U6FM+%!A$^)w&jt;F2k7+fWPz~6U?v+I}txw zgb0-yqTHMF8zpw!kV1mdkfs^}KiBn8oC|2KX@>_BDtT~>17#VpoIQKmViXR-hc+2( z2;YSZ7X;uKhG4gR0xA}ZxEX>1`Da>1HF+v*2!QdsG>7g#{!ajvfK?1A`0OATrW_E| z_39BI{Lq^B)6c7_4ve3?NbEAbXF=>)-TYLHD?zum8U=YlH-CaHbd_)DWtRRFrrfEd*SQCsd zRM~LEg$q`7B8W6rt@15TNHIUQ6M`_yXBVh7UA*mBPb5szG`42uCS9|tgs;Bo-aDwj=jdbR31uLELO3~RFEA^QR2KlOVm zMvtc7k{bU9Iw@@zsJDKJ?MeI0nKS3+uoQrcx1ena=%H5N1rrpYD~f&z(EkVGK9OYs zVK$qs!iAHd$M_V29j^)j(?3f9FgkJHA39LyVe_Qx9ZxT;SYfAd+=U$;Oel%~N*%fA z`oei$Ma+0w569ENeRT zg`w*vCs!@S9KH8E1gj&bQ-8}ZVwRE@MM#k7jhX&{d5lqW_)PC%mxyGWB3IbP~k@eAvDc6Fakos_mf;0eUd;(Cf=&W#66tH z4s>m(P$;AXT!n-$xwc;?;)yR}sH=m7|FBD4%?I4+HFq6d5V_{Z?s9@B+0M*bkR&de z_*WCe0Y<$w7K#CfD+nILDrcvrfN+?d@SKD?o>wJ)e;c~NvQu>`d33|~NccfeE+g4c zo&=^TPq#ydB@oVB^<}n3hpu1u&bo}#0uJ4UISS4|+EjegHG?jqnO37>Sjb(PW{m)Z z#`!M-NVvp(c!+8>OCy8=O+g4BQvd4w^#Pxt^iqwAtv`6ZX3w5IPodYWCr`TFZpVY} z>1oF;6x=9Ae>oT*X~nW-^Z~hEt99cFc`uilLBE}^mKBw?>Wt#;+x^$QUhmt>8CebA zdbT>%GDK5mWMI4)vrs<3obXee2Z9W=K?`GQsza<8S}=IIlqsV7sABw;17+nRM!)nw zUVT+6ZEbGd+Pq3?k$@EXGJ~26nHEtz>tcMjR$-Xt)MLJ@Frt5gqO0KgkTcpk{Db# z1Yr7J|7ojPT3ad|AiW};IB}v>Dm97b)~ipS6cCch9f(BAePPPR!o#KROxAK-FhjGD zEgPc7gTeKiw~ijHFFAVjX#LKe!Aq-QXmNlueSiXOm|~IjQ+|fUb;*Z|70z43ogrTH6+)*WxjEqIxQ?iQ z>gd7M^i#e*1-I?@ieb#B_zaUlO-@DXm?uyf0nEjtmzP_s0mefvr$=6`%r zuu*REE7H~9razG$2t6SP#>Ig8mv${WT3@|r2?IP@|Io84xQ5o4F&z}4VSq*E$J5UM z#@E7+UaZQBe8n)xhyH2T(v>ThiUZ>SIg-->Kwp?g5Q=OUrCm=q@P+Q{r>(17H|*ZL zMFGg@0)Vedt-+H*+HYn+ghpb31p#Qthybo%a;#oQ6t6}o@1J$I*RXN%CpFb=)XbOP z-%Xj0DiX@y>xDE0U{o_=1cjdfTmgixL4PBIlYjmE`ST2L#DbGcF{GSOS%?>mQB_>8 z1I%{1OSJ>|c5c}Oew)TSaNomM&DNd=_dKw(SNtyrzP`SFf1LsD-@kv>$-_5ZqbEc| zQL8x*zCZqangK@masUX4166=jHSi9Sz2QtCWPm`JuQX~@PYk4%Wo$wzA(7~-Qck$C zy7oAN6{Mygq@8O_TXh)5m$68MMblL-4JaZXOit<)(2?kgP;YD3#hRAUBJEhY*e*jz z8^_|b&W%{G(GeZfNdg9A4c#fDKy8#53-$lQ!X7g&*m25+By-nW0+QdUg# zX?uEl)&=(Cc`yI>l(Wo?<{{J$lwRN?F+l6h9Oxo|;j3kXQ=uV*agLO{;?VyO2QI() zbe_?e*P+O5fBVqOFMrk$2y*@lhUPBc`26$YO&I`4yl#ht14%ap$gZQ##iH{uO?=F< zpprvaVum`M5ASl|g>vX|Xq^d%Vq3%}k5{mcNIO%;`a&NBzCo+jhTs*d1wd|HQVke( z`C&n-#SuwLj$Hl!bKuhHhY#kNkM2e1q;1;Q&@d7W`iip0f4>a(6_=Nn1K@4!J%KL{ z5U;UK0!YMSMY+@@RiSJ+K#)WL6S9~bJ^)nVd+TL}DS{_)lmi(I)2kVg7@2u$u}u52 z9sEA26WR!%3mr}S;8P(qgF|cAy#LvO0C?%bYsRBT^GkL#HJv*5>(|SpTc3yd%8QG^ zZ_l1hxcVzl34HVr3~4WU6~c}aM;t^7b)TqG6_(^UKUsne>6sqAP)Z0V7nF?d_6sIAOVC3U5W#l)*65UDaWYCgNSuhK2U&{NdP5TmULKO${xHyR<8vJKgKQj zZ!XN4oEk3cHn9CLWP&zuph$tV@msqQ#cEyLf&aG(&z}Lo(`QaY=lf2a`0l&QAJoHr zH+p*Z>?tq)d{a$!!S)yLet^O;-j^`WRbiCM_(Z_cTTF3c66HLT9zb){*hoaqYccsG zH3*YbvfK-3VquKnO(`f}tzGeA(Aivr6F z?dd6A)u!>S+aGxG_6Op4un_?H&HzoO1VV~glce%+yaJh}w3K;*l~RR5td^vVBA<_= z+@peIbq*GI322F3CWwEYC>r7k^+eK#P&_(q_S)KNF1;XVciIdFTxA+Xn1!c=68NC9 ztA6eW(TVelL!Ee2Lgd>(-Wf(pHHWg z=nX25EM?NnbzMPuoJEn$gE=1TF~XolADmhAJMFbF+%{}#ZJibLS#fKH!kp_eo6Uek z&f`@u0-E;)KGIbXoQjNRvG;h0zs7_cJ1`r+JBH{j#kKy&rDd*{B#&NZQh zA*};=Z4|2q1}NA;B2-1nqap!oSxiKbFvbC@NRq`O(cakP)Ln~CODx2)7kZqirHH$l-k4dk7$D|;Q-j?IUU(1g%T?TCu-Dq!+fORY9Ua6@!3bTk zNalnHb&Eh21iOc4LWy%BJiW(Dfp8-SW^FO)bdI7elgsn{OM#H1GH`KkZpodvr~nb% z{n^K<0DrgwcmiMnbQ}NXCA}0Nsmj7&vCahqAqGhD5JU-pbkbNf94;#h@4Z?U4iC;0 z6yYGaS#d`(V$bm{DWnsT3>!9s;mmN^KDWEN8XmN@=G*K}ZN9M;G8)ZhBQ}Ju z0|dd2?^fYM0gxL)*MUh3)uy--2%+>2#Lrq+v^_L^zJGpsvdHH-61dorcMkyKKkH~{ zXb=F)lK_rpV*xAhRnjG&vT5XB8YjqYiic4VLKKuD0Q4e=86q5Lq6tuNHXJ_bg8vk* z?o$()Itv5?f<5A2#uj3Psai!iLO<7>)V3gz8|fksR2; zK6D|9wbr=&9MGbf;YxCSf=&WvrH;r%6sL6{N^j}t3TnsfweifF@hg|Vd&B$!u3Z5K z?rYe+`?EjS0lcymahm~Bzy~qEB7~|C`ecXXA(4wzGG+z<==A~}GsF=B=qQ-7wx4vl zM*M?K_J<~PIuqfehEPQhlFS0Cv^5><`>9g{0|rHh znf(Wf;8_l!>j92#cT}QqWDvX~xCkCZeF%OM83h1{D&mmHaYAaZS65&PM&wwdr}BCv zycrqqfR!@6y|$&g<M7)7NFS5Uwu2`cUEg!U_rOj+)?3dHxji@o70eQ zHg*^(lHtU>lg5057FC#}6+(9yK3|+Ns$CPsfSHATeU92#mKl~VFM z76|%Gzs~_*efgJfldZO&!wb{2-1p<0B&6cxMc%?T%y6zqpmpu-;Av+ z^`8&mTp!~rF0Zd=fbW&11&9!a%d%^T-xkozCXPs@k|c(FMOgYWK#1dZEN~X52`SfjD$0~MM-GZ2zGICNP! zR$;HRF*YQ>L}MMR!+1#m`9cmG6Xa)nKWa4ax**|;UK<5In2#j@p4=E<0Y1nz)Va z#G4UJX{l*&rW@+jIVgHh1VWLy%k@H!J_>-X1aL=sfcOnyG9R9fgsug4?ux>}CS5GY zsc5wZGs;{tAOMV zgaa53Y^xh=C3rw6z=;PP%GKKHs<(k4WxgcAdj3^_Xlbb_OGA*n2Vo z4)c}A`9U#&inIWKo;Wg&-y6hro5w>df#@yA9(-_rbb29}qZX#)IjIy2Nxbq_Mb4V@ zj0c~5^5HvPy|6P7q(QV#XOUw7(f+zyUJrp#8h~_+j|zlBVrBBg94ZLtwQ1VgGy{VQ zqZxMwh^=S>p$Y>QdRXUGyKC(vr_-6J##XlCRRFvlH$gBX<)mNSgQy_AI4wN1Ful}2 zKRbg_RXM=*^f0`e0DLqRU>82J@XL`S!7Hc?g_}1Y+f}&v!TtNA%aaRZGKle_&4(NZ zj*L)Q73u5fKqWkQ@JX2P>#3Cpt$NiA&^7=EGC)XJZN2E2XB|QYICtG|sMZ`l+y+%Q z5x^wnnOhaPu8Q^&!$58AZaYQ|+ge(9R>QIjIWh2JfG-ljRf3s9$sVMKUJZ!Np~D1;v>DOa)lJ7T~F_uC8ydj84u*Z+Y;+&4q>g_ZJrKf(@g~(_ z*kFf5E}ULaDZNN?K1Wdvt!L2=dSvfdUtXROH*62m8RrWpRwA-D2GEJ9a=U*R!(XdX zDP^V7qZC>PGNHH)A6Xd=54b6U+Zr3&-apk@A_(#XhCaw_H9$>G17tV&?{H(|_un5U zeNV!EqsD0^AqRfT0GVJ)C9yCLx2$To0}cc)@dO4j{u(PtjHz*K?=x)Gh;9yG(h}ns|nz7 z!A}4@i~y!JiFFOY0ss^QvxIa=d|7bc^OMV1xBd9djSp5$CCES`gt?6=Sr4$DwCU5= z3E@*u?c523tk~1BW5>WS8l9dV%h6jfA@$J*8P&ZBfMz0Syzk-Hs2OxfvjK$zL2xiv(He80!j-GYZzp^^b~M3$+dcum z1VD0Po7>)mWeF-t+<~|Wg2@0m0rI$2M(5Z6<2Se7FZl6xm0;X~d;g*AOn{;+!#Hl| z&<(Xk(Va9+O|sa;Zu#55SeWHBM33DJqp7Qq4 z&_~M_o;3ZWlTHGmYr>f`AqYY($v2w58lCL`M6-oqFqm8;f&6`^6cGckX;)`@U;hT& zH_bqj*W>`L4WA$FO2~zu0t8Cs8VE8%XgwAi#yqMU>gT6DWI{Nj&F`B0aZII)=lAok~9d$9T{JoPF9u4;g^Z0Z+(1 zW;A8!mqi~A?U?~Ui%?S`04c}(Hgn$tX$;wVcR2}AmTqGJD#Ql@!Q@1?F7?&~cS>^s zz>I=GUS6giXiy`LoE4o|G@BBlF=N1yj9xV27@F*uQxHsARY&$1!Dsb1PS8WqnkvAvp71 zp(uG!vf;h^UNG|~T5Dth^3pU|`oIIF>9|k|a$#cG+)T`IMKHZD5F31WxVBaSPL2qNhQXG*=FG!?yoKL;4`y`ptryr&0a~qVvr>BWfAeJQ#nocNj|!7ZCk?|_ck1Qj4kIyNC;Y5@cdz)B9+fxt@wUs8r#IR=^GNB%2PfC)PRc#2$Rln_Q_ z!*iH!F?HIXU9$Fq$F1g4(`QtLu+~0z>J3~mr=lPb-n8`r+!6EmX%A^54Zx=jJM|$U zEL*gf-{G=z16itxMF>QENMi`X4FEI_G&Xc4YZJE6U7R*GCII4C>Iea<@PIhE48V(* zWcnR|YQf^u<|bS`)x@rOA;XUxnB>o3^+Dl9*w5t$z_gqMmU5e)Jlt&hQGT;{x{_=j z=SIUfrSt0_eN!&m!SE^qWMEf9P?<|S@p~jYQhf*KZ=YCP&fSGJ<%bDaytIx>koas zUy|SUO$W;@bCC{IgxJp^c>Aeae=jXvy!f<>9=iD!t_wTpo>e{e?39!K7NFDB5WC>h zoOpuKZ9n&S21^B?kjTKQ8{!*>dO3LTJ z1EqPv83XV`|Hcmo&IKS-KoT1{P!|_hGue|TqOvXFMA|=m>>NN zDNr2aDxmnx0m0aG7z40xaKjT%kO==3 zAUSY804b`-0?Y^{%zYFV^D&_yvay^g{4gOW0Oq`a?Mhk0v~N zG0I6Z%FQ%V2P(iK74B32`I7*cCIE99HftN`0OXPJ>=gQbkP8;_$bnng2&M!ha^Tvn zzweHYD=CRmgbGlSq9J!F=kb~%RB++snvM~1p;DYNbLQX)(?^2oK{p4w7DUWE(_>3Z zO9NuRKwn>M*3Sc62xY49PXMJ6?9bWxhbScD1ahDOxI`j2hb0_QDk>6sM_PdM1Rzyc z*x^2j-=zGc3{8PKp{DPSIEOaS0r<+t->Rg{QQdS z+_Z$bOIn(S-et231027oKiLRTJlbpLOJt#KdpjN%kx zbWPdXwa-0r1MM^$q9X;%DJH{-2mcx33~YGP^!t{rx_?DC*B1jS0J;WD56@Zc-{>pQ zIRL52+~*SPU$XP9s;Xehyw8H7-GKo@~E)lJ)Y>q zMB?~TwV(Jdk{=GVect3D%uCNR6kq#OE4tEAsfds@q}(XB2whM1{X9$({KpC``l%(j zvE#)T>zhM8U2VpJ`B(GBQ_|nzJmM7DZpIR19#~8>ZAE_r_hM2YJGF8$hMwg90k%0F zzF@%?nK<`v`GPyq_B+o32tC!TqhFu?*5b!Mhu-e^l9H0RxH!d!{Z#SEpKpck-`kHj z0P&#f!bwXB0PkqOpBDfFvx9(xADM811No_MWXR?*8JspLK$l?uNd1dwWlvXUXG4Wr z@IilbNXu`^MQL-4GUr)-LeS47#vfLarp^jdAp1RxfuUwq0o!+RKw5M&)|!Xjw&zwoEU#(JUU?~F950>gp`a3cDzhe zqX6%}zr8Cxn6;Sevv~#}oE+yFisKv@d?4`fz$A@~#ittRWIH^nXD@u`VJ3$2+nNis zQDy{Pga-lW_%Dff1%oW%rV|KSNWt#U&RsG;A+7Bho^o)`g7@FwG5Y@v_wBZrU}|b=vey%KUp(LpKb+`^_wH5`YW*N+hZU+)j`OalL8ci$}bY3vJ;sz4n(V0 z-{02M(AC-3m+k;`Ef@%&9kO&a3>B!v|K`9h3$PJ@JxyZ42btKn9dKl`FvNbMOrQvp2YZ)c&u2m`}3{8Y475WuB`(_;V70v7IzUb%-|-qw8xUeI&+`78L_B$gpLX&Lzd+`-JMqw&if3lb?@|!jq z>U+@;gkNj+kF?Sts#xLon*pjH$xnRd2#5MBoDiO;`x)jHr6lBJ=KuM@E1S8&<6fR{ zz#WlCAe~HOK)%(Fy?8u-;jDw--PT#-@kJr0=wiafd8vsWk5hpO=P=B85dIFro6e^% z3()v3I<%g^rQZj1n+n6vla%N9K5v( zGme%oN1Qd<|7uTlTohFTS!AB*LQI%NIT0yBqbLPf!s2f0V;}?^BUhCJaAx?2foKrI z&vG0KaP`vr>z3X3sW9BU<=vltez-3-FOQZ6^DPc%#Pl#g;+&zv!vNIj{oe;LIk0sq z07Z>W#XlmwxFpQPdj7EhVQWMLJN$4UFfrhcbjwP+Cm%--ee z_nS3~TaX8PdVSKj#JTtYD6Mm9UYu_}p@0<5w8EMFfKF zAFW&X>8A@9?%DkAy8}NBb_TL&tCgWe7?upgAs86gpv$@1NgddITH}i#lwP{{$Gv+Y zC`hzV0i2@bhXH3^hM!2sgoqxdrSihp>Q^2(`0M-cpF<~TMyevIBIn8Dnz!^n+*4B> z1&{K0-$o^6zSU&I%}ZXc|v_Ic=-Jwl7}TJGWt zqtrN-Y9a{1rY{rfI;EkSutH|MDv|8wz;RN7oLq#~feye=rfqs<=%c!2%gBT<1ZA5) zGwtG-KCUN4Do`3TB3Fqg0f+$jR;X20bKD%6_G5PL$VgYE*{)_GCXLYqb~@6c(QfFh zuWxMdKO;|SH{a#42nj&6V8^f9clG+BJy0w0RYyf97N!<@0q7D$&{LG&Jc(lvMoo~< zryR>khJuhHVxrfrAud8I2)Yh5A-weMAu56(l$H>L%j)Xd+xWlCEQo>N*f_>~?8oe$ zy6s&?3WV^a4g_H4deaGpiduVm>UTBi6-xx5Y+b!M^jz2RxueiXeaHIOp5Z?ZfN#99 z<4*lvqgfD?B)DVCw#JP<*a1Q6s@LPIu1QWVl&~EmFZe`0pH!37HOGVeLeGwVY)e@$kr7DRW+1`C>=??4rFXjWZk9H?GNW2<0L;iVQYXWIoWVa-7$6 z)_3%FSCS={zWoL|Q@=J@zm|+I2>N16pvLDD|FGO87L^pILR_e^%bNqmTls87#)N7* zyG%CtIrD40)MPgYVnnwV>uZb&wX-%wWGSciRcwme^D$c$&VJ>?PXLGq*RfR1kO4_W z#)&vDCSW$ev6uC<*S^~%$k;JBag>ku5KH>22D*0c%x&uIWv;q+Z_&t%#>V=QN??rx z#Sb}D&ZXcq&Y|wUj*gy@?&ga8r2lG&JpvGgY=VJ84N9puX0lMs{#O9|IWM_(R-zUvr z6N7oy-16ninFAq^p(51|{x6(H>L@@TB5-m-4lo{uHowFwLp1fDt& zuxi6A-(9oh(YK0z+$#Wo%T;E z31AD)mF33|WC7}V?3l}O;~q7m1*i@z&~-8Sue<56WoX?xaUm&lJV3n(7I+fKnDO1$ z3UcPoFQSQt;G9k&*yNXT3qjX|7NXu}*xF6(_KbjU36FDYZp&Z2IzRvI55#}C@Vo7= z_IS%ZQOr_k-U?GCn?Nuw(33W^V6DFtQLM1L@@k@hQ4a7mPu8$k2#gBI=rc6 z+}dKB7Ef65B*u773=%*D!m;2~2B*iX$q>_x;Yx%XfD!g{19?0^cONFPZ255r!G@d^ z1(;6`KtjSJk8+6S`u40+nQ5 zL+8VdU7?YYBmEgjS0wu26SEC4)YT(}V|EKkP_LpFwB}+h!oL4l5%jX)xc+fbo;ELA1UP5=IJBLI_BxC%{iu`9*I{=6HR?WVeXy_Tag915& zKuf93Lf`-;k%-2ik zrh!iiNhp+=lwYxQDGn49KJ)39v@L~Yu@p_rhZLOssX#%fE;4az@fm)|qlBV;rf2lT z#ZO3z63Jz3s+U=;Z(~PCBtVVh@gyhI;|LF`1-nvG9DtRTEAAKnDM8Cm3Bqt4=TF|` zrbTK0j+-`6RaIW@#exdZQypj!g00=%ox3{gJDZa%Ks?yo+|Ug?nwIX61hPJ4BIlw? zKdTSR@4)zRaaN{33nL_z3~8MsBDe*WuR^YR+Ir{R{&Hslfi5OKCLZ z3J`6J&H|L3TXyXqpp+mD3o?i_BPug>DUlq95gok9Ok*Sg#(QIH=s@dxtEWuj zKTcK?2+|Km#_bQJ--90|a>RnpB^e5ieB0|4m)SqBdErI#ggrxPZujxLKi z@$ROkt0A}~p>+g;U2Pe}ZKw-)^viv~YtFUHImOo|?gO7(V5&SVJuwRNG4b>f#4s`g zDUoABWJ5AO(Iz`(6ZRN~tuCf-bcP7734K~Y;(Qx7*7x-EB~nBpHB$kOCpd0#Yza;T zn5F>XM@P}F_b|ecF~cfm4|RqfT7?6@qu7@02`#;9E zF=*fCgRm?=gce}J{Nin}`l59OmuNq?1noezn&emC+gnzal{#4n+Z(=Y32}a+$gXg@ zDh!Yuhy&Y~0Z&8_*R5&?A+i8h4e`*Fqj&&F?NJ+k3b2Da0g^Ip%_ipY6S#s_4U>9tJ+h7=JTxC(%lpu{j5L-3;w_e`S-19153n$oPyp>STJ>P8;6VM)Xps$bKy?X;-hvH}=a<%A8;30f?1pR&3NVj#|8!&X2!WJkr-W zJ)L6odZi+J==&@o&en|PbG9p#)v%f=_aJd!ybpXNKY^)Bx&MW4Y(3^}We{3`8A%49 zq`*7I5UiU7U`KC&*((6$(Ns6DY25YNYjR^vgFNbqBkk=!jVKbCxhy)QcBC}>i!t6a zEZqE898*Ka^V0UY>sznL5M)@DC)LE~rm?YQmwgD>kiO0*fo-DLDJO`}3zM^AW0Sp< zcIpQpH)`}&`@koT{*M6d+Rk}fxdf2|kQlZ(5P;mmW9kSw(1x$L@h{5GJT|^5isRD+ zX;B6fLupW@Ax5k<8bX@XT4Q1fnxLr~QGzh9Bm9V|j&=N@HKI~#NeEi8)fTGw5nB*q zCzen&N%pbMCqKy%B(0Y9098k6d4qvTpOy?#nNq zpI^G^3FdRE*1PX+Wn;|U^uR-e)9bRwgYyVUy%c_!@9a%S(=H(-q{1`UBtrA-nK*&(2vwy!P(YmfVYijFE%6{zr03xYmb)A!b z7#@5ce9w=kpb5MG3UIF#H23mTN*o{|EZfZPy%K4s`yK?>)JMsF$`&Jz=g=wI(XLu)_|^;JzBz*nqT|bHcyEKAHN5Hw}6j(C7qJxs(!0+_MT(eu5QwS^&7 zjRUBko@2*8s?oF3tb+oZd7i-sK+yc}G)y3S{4B!nLx5cM>gsz;2p?pdg$RImC_ruk z@J4#m0KDv>YPGsWdue%aaCUahn*PrY-Sw#}Zg|}AyMxD_p$*|E0X)5TzAA%I#`KXh zl^zaC5qp7^f$_)P3AI>Z^0k7l1ckvykj8u+f53 zQgsYWMgV=2#UI?==X=FqdK8J`8)h!XXWEB>835rYG5`&~TPS0`yO9eLnq|%pPAXTY zrnZJ$;KXoW6K|AO{8Ztw60uKjXz3yI_a}HE7$ps)o2&W+L0H!rcovn+fwf&F^rFw589Q;IAZ|VfTv>IWDg4CG zx&kj9MO|JYlu7J~7`?`E>9~+=A?}m0uae|VlQqE4BZc#IC~#{c4P2-k<3E@v=57heX?z}`Us&b+t|U%heFHv7K(?zSy z9W&jKO?E!+oW`4OM|z?w?Ph$GmKZ)h%SRC-h`kcyq2DpX(@bm`(JJ*&C`;PHGT*#Wz6wL9N%vOfs#-1~;b@g&T&QsIF26d=F5A|#NcgB49Yyk&3G z6YcZ?x)#wsF=LsIbP`K}V zpRFD22nvM^>_mk^A2$M+0}_O_lL#cwfl0vulN2&_p^kDZo6a0`u*~Ery$xbF0|6kq z`5IOWvzfwKL4k5+d?5tr{g2?0!GVqCxJ8G?A-@+Wg{fX^0fK77FTecKUU~|KApGl> zUp`pmEQzUoxJd3$es;~wQ->eT_fhZ-pjVyt;SXOf?1W3a=zRj$PE;O3iXPPd}J7CNyqPr3X@)2_THAN6V3@kb4RuDW z1PAG$C#eKo-N#xrQx^bcWg3m_6x%gkQ^Dr#rF`D)k#3xWod?|uzb>@TK2EuC6c@wf zN@kN!KmE)c*TB#VUwAhBty(M^fJE?`3%LM0mjvdEG?$2=OZY3>K&_E-F$3%@LCY_r z^Do-YvJFzks(J^eBv5sRC$#iaZccRhGC_I(Lb$LKe5URbKWeAU6n@fl%?LaYtJBAe zQ|x=V8}QR4>xZa>Wi}(Vb&uv~Z$#u7 zfW)HoRD&SLF3jh3sWOE^fLbGAKK_H9dTxo#?JC8N?mYNV!gAwaQO0v{99iSB5P*Eb zNANrB>5rayX0EFVe%H-yx1AD<5aK`&;Nvf?^UB+ki*yJWdL(MCas#!|Q3g8?UgW@x zo}yJ27a9lp0AWNa!=WH9Oc{6jG7FoX$qI{u((f~MpIx7_CmbR%GU}uZN(R;KOM|_6 zG;{IZiP(08hFLfcEf&KZ#>SN5B<}kN^NqALp{}m3?ND@mP4rvQgmA9{oO%1r$;C@D zg&?5p%b_5bgIbUq2+E_V97Kr(Wl*@`K;m4M;4D0!l5J=8ndynjePr`a_M9x4!TL~kJ7FpXUY&;-4Xe3hWMJ=Rmrv`)*8CdtCidoF?-4SEe7 zsQ}3wx3wg8+;PXIxgB@xYHDd38EJxIlU{H5WOV)YuX7eo`Sa@b-2fa~v*ybQd;|wn zE>{^Jc`0JUbsz|j9IXxb0HZ3JS2W(`A6-c>Y!qa}Su!s4{mC{1%^XiWv5=w5$7W!u z4720sM*vN-K1X7AlL-bs(a=!q-m=p0=bzSrZX}Fr)s{kBTpwyZ^XXxyL+_c}=9)q! ztmO4}>O*6~&#P%>BBV6_RydHuAdqTPQ&Y7vDsHj~4lSld5G*UgfHP#Yx@JEO_*DAK zk}uQcP09f z{7irA-qX{%RD%Ou@bXHZ{Kx9{izgbb_$Eodl6apcbI91&lz<%v?&cpN`GBdT$wmCvh8q;wJJ*nbr&`26pN~iDDh? zF(MYihPh0*`BVi!bs?gF>r1CA)G3mF#}}wtbk1P_VpD0gh{fe>b(Wi{ZS+040;75_ zKh%G5>)rxT3A%>r>i%ocT6H>XjH?W4-WB)V20lU-W?ekoEs~CfuYX=nSIgDX1ONwT zAGm#o+i!nh`rH#v++(x@!4QcTC5+PpK@gloJ|-deAVCN|D@d}zYaCbV*_J&iGq(s^ z_Nr#EfvFN4)tBoL?>(q_mvvsZ8`Bhi(wG*ULcNlfqHoX!Z-48$>-qpmARauPd4r?g z)=O?9U2rlO(c-K7ezIDG=(}mWnI_Xp0(q0{TF(a1G|WhFxJo zI>HwX3F>e@8rRr0x?y;zAOE$st_wgzFtN&}Hh*ddpvL9(n2dlR9GiUlquW|`+))8i zwx|PFQdETD)9YMelgqrfPxR&$;1N6QaD*_N-g~yR$8lxjK2!!^nwzYwk&%yst+WxW zQa}qu?TruV7s?Dy1UH*5knEfur`MvPyBHLbgtu%!SA4E3q3<%tQuJXy%WoL}0T9_3 zhG6WJ|Hg|W_4cy>$C!JJjmeCoE0JhHO$qpglH$4eu zEM3WH)u-TG*&?GRpJ9fYawcZ2DO$%7f-x~nV&|G64V%G7$nYbo12?EnKQt@ zojX~si0yqH&u`0^kSXwrDIDwQVH>|MO?>BcJ2`NT|580%NVwFVG7Z0ijDm27Q%iGmTX+Mb>4lU-5OfcMHHlwV)vw0bEbEQaX0t+1JW+^r+Fq1sSWX1uKu9bD4QVNeP9zzc%pZTJ~i7pKUMhZd}yL-&mA#WMD(<*n;CTA5G z>;t)wSEX|4VsWa(0{x@RFjV7Y+{yxrLu?;mpX*}5I}6>;Ig)g=XbLh6n(hp~Oz)FN z0;??6J<|^YQ~V*2mY- z1s?fgM*y}c8t!p)_GWT2cP}}6iu~9j5|$wRyqJ?Ys&|T(-wj|E96Vns>V!s8Ih8J7 z$Z?ZOuf!$JD^ffQJOwBS-KBNRB2i~S##l(L z06GgI0q8~W%2X2fq32KVK~LP*CFDj#l6BQuaccgp%RHjvKWjU=@y}m(ohi7hClyGW z`uk`7ejnMijf-D`kTAWxcm4+5>B^3MRTc>!cHQeX%c#@rmn~+ROtYY)BX2Zs@Qsct zKL^l@VG^+e81G3tZgp>2(WX~=QZi#at2#2=Vhro>)e($`@^vGKtUhO4DEOK^o!>?- z?Hngb=oM40p~7Rtd*~)f!tzH`DlKAk+r2rn+BHhe*)wgd6Q{Qb%}4NpP522y;MD_k z1OaF*=+Z7P3@RJIyznP%f{=$XUxN9DRL%O^>a*jrdIZN1uPVU}zhk?)jvcvePF+YA z)m>*+vW2CMHWa5`-~9F0vdwjJa&l>YaXf1zE;O51wKD9%g;YTnpgqY@KB#t3F_U%& z2YY+*UUz7`Q86L-6rd7}15_e@;*Fay?m)6Gt-b`*NFOqBHBMf=#lC z1N2Lq?d0D(H+S82T?~fCg?*VAKrZJ}tS(Jzx}BW-VC_u*QBn>IJPA&lIXV?&#_aYr z{LD^-WKbK;8x55v3^k7b2yocOuo8>_qS&c&mZU~2u_#T~fV(-u-ekrX_%JloGVE?j(Zf6=}l$z8}!7c$d2M$)HFWiL5uDymt! z)pZT2vQ8v544e~=^^epVGB1|B0?0-I%C6pq9*?s9=h}iZ|QT~i%z^Y z@A>xzB9Q<1oc#pjDZTt!(zNVT0IWhVFJFUB892L1pUzKM*|qqb%=MvJI!I=kGi|wI zNAGYnU(=EWbR0(YiMtQbIM5Gbor&zl!E>MQLq4TmMikCkyjXfo5wR}sXqgE_tGMxy zt7771Vk0qTNL5o!2N{V@02zb;EKY6TK1f?zz6!le)uOXK51iJ_ByFTKl%Q`sD3_F6 z?+rY_hlJdyI*=FogJIZhE5R7RyJ}XxrTichx&Ac))pc~5oJjHUz?i~Y z%D%p0b^BrPh2~SW*UN=40G$K1m~It-N{EARKaQ@jfgTzg(>5~+Lkbu2ttb}9ibSbd z#nZ4O=CFE?Mv@LAWzBY)l5;&30#)GD1MIOUE)?8p|7Hw~wtggY@_m`Z6Vj(D;WkH4 zo+ODF^XZR~1AFUYSjRxUuQm~8!T~;>CvC~B)e0F`>BR8)_DjSa7AN+9WB6G9h|H6* zp&-0e&lfRcU~%(~?G3=$HM}dk&rIDHE|ObzTF)$YFl(M&(|g0(uh!0YxU4JiU=}gN zfi8rjG}0dt)G?5|%OQ0v$7r^!N9cl&*p;#tfcVf3eC}?4c2M;v3vAUy+%SX_cFc5r z2AP-eXd1Z=gc8YpGS=xB=mCTt(F($xyrHlwG>1exfhZ184d_#g*L|jJ8G+qxw`rqZOz0HzAQauZ4W@PVpEptqj}b7k#o^fP z_^KY(j-@mdfYqt(4M5H~sWAF!7RGG4OzCDW$$@<)hV!LT{)V+&PU(dMFS=^CPd^iY zrrxvY3{ZL00~`(kA^^fi^RPZ6saBx5^-tO@AbE^IkC|>FCWpu`UwA_9O>4zCDSgB} zxN2GG`;eviP?C~sESMDKd=sX!Lu(`pmolAJ&9Wzw&2SaswwcEzX_@XWFPBR5XMFs| z&O7rR^~Z0s>&DyuzII-XH*bnS8^qir`3{UG#I1Cs#eh*$3xvja61r3^VcC*sF}D~y zS1`NM&V{vmXLaYYFIfg8-V!;V6#f|1|XThwY6n}sw{1k zN++H;zxKsfPW_v*^9!l0io*D@E7(m@i2lJXu2S7Y8hWEJ=AlM<>NZ7!D3>S_nf?hq zH6cP01z|`Kn3aPMq9ai-LN77YTVZG=O!|-r6XR$DLq^O)SoARTt##Kq-#%x1ytd9c zd!Oq>G{3&J*V=3E>wd7af|IGRCAOtyYkOzqD?x`TM=wJ!@o^9&KoEortL$QeU?w~t z5g{r)$geaC7QW`_vj)$YxhmpMj^o713r2K7lHg#(&k%y40URbkfrmXAHN$t)@5Fpp z`OU6;y1BWA-&_cMI2x@9hhz-Btq4EYS=@AQuf-F9!)*i!kb__#NucV^ZtxR)P^I9* zEVm>E>G=vQ#q?5%OPJ!^kmMdA~H@mbyvV?_l71>mp&)QxTso+NztVTtJG z_s+;6-zc|^ot|C!W%K(!F*q=OeWm~$sy5{W;qF(HD8NilgO^^h{uqXtOTz$A^hO0D z>C>s(yRtPSA4uAQTj)7}O5~-ogBe89GbiRxj*K4OJKre2z(JTi1sG-k$JB*K#%_zg zS_68hSwHtNmW0kfefo+1)3etuuXh4lCjg?wQ*FerhR30Y1BJG&t({$XGGy4R^d=P^ z6_}DB3@&U6v`Y>l#ipunqZx-O&ptpk#EtjP zJc>%+*ju;W+7Izv-dvLt4Nu9LRBDwfj!A^KUv+k(gw zRG=UXFvpc6tfk(k)dJOA;F~FsDM`|W{mK@(QkSrJDK0pk4|9yLo^H%BPyk}D^&NNJ zH4SGS!8fTIEQ9(FMcD!nkHNlatfaPa>DO_j%D{ zDwT$*3%>?K9MNh)P*Q$JDlqQ~kjkJM`NCph+$$*LbIK&Mi864P*Mdz z)KoE-LoRoEVHf~k=wG?^!;fndO}Cutl;BZEf%aA`R&zEM-Xk)cd|o^_8HPv9g=^w_ z3e^Icv1J0}Ttt%^s?Z*4&}cg8jU!VNn*B?Tcg0AxNttc>2S6DE&yE4$Fm`!ir&7Pf z4isB{TssAJGVUD-kOI`^m4Rww>(=(4$gS@ccJ5@(jl%)NCvo>z-3%^EyIH1K;di(_ z+2PF}^^!8RpV{^fZwNfra7cbWLgaxiz;oDRczt9ZIo}$-5-Q;W23YmRz+yxYr-=_V zHII*P|9K6$^*z&CRfqwO#9<_O4Yd}bhY1^uu(A}W7)*gBuMiVbe(XSuSmQ-G{U4F_ zxSvSXi^|cab(o|v9{}K31Q2KOU*G+4t+Q{UuTquhTeCW2pjr+baVC2KABS4nwy*50 z^nUmimYbrB8c1( z0X$bbNdB1{e_vX?1(V%sh5RxAQh?GIbJjQIT5yod?rc9sLlBHycsN!dMn0W!z;|nP zz7pQ>DNBM4?(oGikmke_eWNVx18z|u!|?yRk`@eF|J}a|u-^dMLHzQqJ+AUS7pu9wkL>Dfu4aLE@|{~@L8{FASy2yGX&ckOM)~7p>Bys z-|EEV5EoM&>Yi&QI86Sxv++h(Zgt(?I9Q*UF#Yu@F`TOzwi|g5mrK zri=><=Ys&q3|5TIeL~XH*3vO~qZAt$PDqo%gCiwNtq}o55K+qP$(n;G`6<9r81gWE zhjrLKSDC6jybl%raZ9C7!U=8woXAw5f<&JpSZ!<`N1fq)C~#~TKHMJx%oCbe5}~g^ zL#Pn*WQEp-Ln|@RgDJ$27@0*!80*lZ4^x48m!N%>QLG_^1%U~3P&sx$hJREMlB+Tv zRsk_ffxZJ5bTe{}Yrbwv-4BVn_utiK&SvPcF%aVVDahp**|^K-gt^FQw*)0g?hXvxo`Rn@-pr^akTS$8LD8eX_ zqx+)gi=yK+&Nq@VdOkb9)DYSr=w~&fipvbcA=grBBuiKXU0j@***jRRVg#(zi^2xZ zJR0iDfgXMzOR)$?MsB@}BG1CeKRu>EH*i>MuVLO-VBQqyl?O|4Ph&3V-YzfPb@Yda zIgII#^bHg+!CxbPmXZY;*&qy4WvUJrm-hY;Zgr!u4TU+gVh)FlYw^boogmqFA zc6q->NZE$ocToNp!7x}{+SprNZIlU~0;B?|IG9rkF;U=xPo*vM*50iHYxFh_EFk(*t_ zC;Yk}Dz|Oz^(-w>f!g>ArP_clqVT-YaS>|g{+3(_9!VTAt2J@69^j{m(R7C5mYJrXh%^ougW zPVq(68I@dGe!fd{mDm@c-pAU{DmUMW%`;z&kALyy{rIf{&ve~?W3{iTX@UT~n2{+! zD6p+%O9eO>poAe7EufDEEGJNzFh%GGW4kgZ!ED_9GSncAMC{4eQKCNa5>*5-aH%0& z49e<0K4=oX|H*~>&7Ki}m0Kzm1DIhg2?M>!$gMT zRSd{43d(*0NaLXAEET7!*Pj1+pM0KdQWj_vP@ee)_-@x5hXXtuo?Hc7W`Ngf3dA$_ z_r}svPfu|1>*YZqD5f%_JIB46A@uV>_KDeWi6bI~NQAyV-9gP~n9tCl{fW;`iwY>i z;LjnxUqK#mkxk1c*e5Sze z8owA{`DD3mt{nse{Y5z!mpkH(lyqD_viJnGbB8e+(?X`tsqvBSOc3enOok3awu~h{ zL)4P;BEBxc2Lrk;0;~dHwK|Y<07mGvwX|6bFA7guIrP5VHr`flzqE&)3G&U~ix-!d zr3fToNR3&H&o5#}kPXtX+Tvx=`~la9>B59VN*=k4iE`!`DADm@^<5BCdPxOVn+zaW zMP`z7-B-Dp^dthyHQo-2?T@u%cUEm{$G76invuX^5a;RvB|>^JGEsbotR5)6^Yr*Cl`brtxF6kG%(7C-PMZVlNi$C zSgW@D7+afb?d|2c@ss7NJr2OvWS0>TE(awDF*HuZXSZFh6j{rFgL90{FivAr`J z)CvJ7#4aP<5u6fSx~!eo%vq}U5_Ls<7c_7r09r3E=g#e3ngTxpB*DZ*e*d+0Hm@^9 zVI21oC2wU*%xq?8iV+sG7dNyM8scxofXS6{FwNdcLy1t(uesl_8r|@|LEzn z0Fd}ftMbDj1_OeFUT!=jA&qaF>gBIK!N}M3aeF|#!C($Vv z7mVU6Nf{RDzCeh?k%~S#Y~jH`YQJr-cwE1Jx}E@!Il!Q}V8Yk212+8pdY1s&!y$Y@ zg6))s43`t&84!`@hIV03QIObtv8fcDyqA{sryH7Ml>Ef8{)rr&4W2gxAE626|S)eBVWYZUA@$Mj0X)A{O#xI^tGlW%g*~!bKsi4R9sP zxcMVIT%yh@huTaWnNF;3*|Q(wW6f-iN`z7%efJUYZGx@ecm2iTYsa>oIQDl66g|oh z!wv|rP@q5Mz*pa220{eGHOj({t`H#I*cHgwmwO6plz&y!@G>JS(uoQi*PaMA^jF0X z_-;KM7_y@nQ}~ktlj}Zu1a^iGcH!AI>|rCooe^9FC?mkp8xx=aUN-MV8o~S6;LCPn zMNN0P(y-%GpPCvB?JQ!{?!k~o`gu2|Cc*;h$dp4G4$+(xGY)UNC<;QA@ZC*Q)87;X zH(3l6z(y+sNPr(+3t%(=g(qW*mtK+pT*;sNnWf23^Siv%PCTVKOnItqq{R4?m`WOP zq{{P#U;9b#3GQOXF(AI8W=UZWV|HCx0tjmbuyfw%QGl;^?f(Cr$4hSu&PzEoM$B0|@P7KH+9Va*%eg3p0fHlU1jK{9un+oS5QyJ*^^Z*XW90O%x zm8qx8e%am^NVS>EL_)lr>r#7YGp9yh5?oO_53=|~EdV?v1vU$i&O0-Ho$s$30V0`L zkHOp-v9Q|(8NRE{%@HaJrWjc6n9-_|+A_iv8q}F*In_{)n*TkdX!NR`K8(OODELu* zuDod-z`u!smGnF80N{A`Iq_R+00`q1D#TZ>($oKvAdG{H)0gRN2oenKnb?jAt5L4F zuvQ22XtD6~F9}1Ax4j>4cBX=hj3D1Ppc1bNNkiIO(onBM9E zgngUc$?*zfTiq}6D0z7<(ey-XOLF1zT~NKgsqe1MI0g)T0%(RaUDw4o#Sz&FUj!(Z zRT3%tR{}U@3DX+j5in#vu|+&M^4AAlnTYJ9Bh)r3Dx6XCI!w%a+lP&q1d3 zNzb$;K|)OQyjgIuoeOV_3XJiOGZ0%yBEOJ@8zl%s+doCa6-QpNSHmb6EU|NnWEgtV z0#`g_EU0=(cXD0s>GK6j4h2Dve5mJey$7|Nma^bzJ)6vrMXGkoc++3cP zk%>V7IZ}YyKPZy!%)%#|fAt2wiy4Q7KKQO5gG%Hx@ujMT2$gSn{Fz?_81R(}G=PkN z;Cd(r-|erlbT}iO=xKJbQ5RJD=`O1&~+yXs6@Af zAi3qAT6$4|>bnH<0&oO?m;@()OaD!Qmsh0SU5JJDU6x*jj0eOJ0xM0K`2O=V?2~dc zIH?^aEnM;fNyLL7=n zb`s(O6t`w@je|?M?z;SOi1%Q|0Q^Feh4e1sXF&x<^% zF;Fz!EG1hF_wnQN8}_+0yvEk7XGmjfkS!ZK+1EJ1{OhfUN1;A>-Mf!r*l>Qs0b_R_R!h({$ST@R3e<7By%POR{Co44nK;9P0iWIQwPyXE zAuUrcH?y$6XZS4nuHn8Q5>vo~2q`|Ql3Oz_;)v$R8U-i?3gG4q*sq&h7yu)`T7XN1 z0#EzU+EzHbbYrp54Br`sks-gmRKD|wH`E@sJAfs`cT=0v2r$bq0i0JYwF0a`)}%np ze;e=DodMevpGPFQ*Kdi_a<5DX^WD0AcRD!Co9PuhgA!dfXZW<0EWT+EM#))k%kr@3-tOa%cfC#z0$@J9q9J5rW}{;K2g8 z0{~x(UdY0GDWAm@h#>=n8NfqluUvU|9{@|6_=6nt8Her8kSPnZ*`ig+X(>An3n_5h zscpvrPzZl9=Qk$6@mm8Z3BJkkd04TepFvzNA=KeeG%xrv_nlTvM zq`(Z(kA*01A;W`Lu3v}zt|oxMH}S7WGXKJNQ?8ve^tp#i@t$Xn0I+g!(#vxbzp^@v q0A*{}Aqu(GP=0Jc|C;kbS_almSwH5LJ0000m!DE2qVru4canM>)xLs4cT)~!dVAN^=m7)Qru6NR20kOt)&RTk1 zM^wRGS)xTimP&KVSyW9raK%<-v`$E@Qfj?Y0i~m4-fd>ua9z)5ZOc_+uuE!JKy1NN z0im`}tXqEBVo8xi?z@C&xKTTgMLm{6f#Yj`;aafrBNu5yjy@;`f zVoI1t0s#F%E%g>jcvKw3~RUReUA#y*@|9$i>Z zXFKS&jh)PCIz=fpooJ{#b}sF>D>($2!uzIzFff3S0t7(=Xaq5V@P7grIgZr;!@z}@SV645V3Y-Lp+uHs4hsk2F_r=B zhyxD<;71P-ssr4k1AE|yxoMb+H#fUm{NdVsWG|I!1b z%z-zB|16)^JF;MS^G_VeVaS{#_2Okx{-2=r)O?Q4OPr1@11ZoW$9L~uK}3kBEDTOQ zNe*BCS_J!j5EKz05dswu_Hd;Q_iQ3~T`6OyKUo2|x!fPBVOBHyCBGOktkk~5LA(H8 zrcW{xtOFR11|&UopaG->4dA5*_*w}n9SC+D2&-+q4LY+y z+?@k!)h_|QAQZDf$Y^t*12@4(WH6s%go;Y&q9{r4X7kZ#KA%oM3qt9_Y{S}z$!|fh z@SqjJ9@F9ekP3 zN0V-MI03^CpI;3+13^rH=0Gcg6$@%7W+PtSVtX}Wmc$x6cc7v3BVjotEQHfH@|dxS zbP9Y0L-J!IPVc7k`FPT8$L$snj^}eE@?hYc?F35}qz5Y&1Uv6TL-Ep**<}7(YQP;j zu)1v_HuhdD0Xce>n#swcdvwUqpG81#2J;QOEzpCAa5SHNxl3Jf7P+=A0`+w-2!!OP z7PJz`Np@9u-;5z2{9-+1hYqZ#u)>mSz?%g=P5{$F2QQ5 zT1eZ;eI^LC0EW;Y17;|21LW>_LenkN5Cmbv6J+qU?4&J+X+Q!bL5c*ei5L}g+4@3A zZ3r-O%SZTUDeP<&v5gckwfAxYpYY3|(D6P)=^LSO#AWlf7|7xl8VZWxY!*F#etmUy zdJ2ZOx3|Ry1#_SgwC@QOipFjA3$x(X9GKx3c2uN`Ds`Pw6LIP}h2}3rDX233iG)ZF zZ4grzm2W(3#c?dy^1RhDge@wLo6UAUoXlo-_xGo^mtOQ?wV)B?J`jtgF>mVDt7o+# z+}we`H(+S=$`E}GBtU-vVepBiF!9uU0t2d)!IP6Dk;-R%m;9hsS?!o=wq#=8M9drBM}6AFdyjU ztvp8oBrbp~<7;D22sN9{!#D@Rhx_~6Gtn&pLgqkP(9*bknll->-*u7gIS`R8$D3AC zI1sye1q^Nk@v?BS{|X3rG~ZaLsq+k6+sp3bCKMkYA0Oqz@zcYDy6{{O_6czLfw*Tp z>N4{oFlz|6S_4apN({>m)a~EGfJ8`Yeh2Lx==8)f%!!G48^?yP0x<) zwwL*9-K+t)(s_TV$eXcY&_d_4m{YLPm-wer;gR;#(KErc%2M~db>NN`0Z;cJn^e%YZ+2sS)AKE3${l^FcIo5axbJm#1T zEd7TE3@rjKw&;o^^%=nosJPG-pn#8?VFaZHeB8pI)cT>0kGQQ`<=92xcn|xf*Nqr_ zDtt>}fLR>E&$Ml4@cZZSDLjaFdeyh!rX<323A}WG(P3kFi2*5qi5?1X1ENuu@om!x ztLgq@5Qy({ff(Y{r|yEVZV`C#Wml-FBWOUur|1d4vRy3Nh3@Xr@%M$B58sdpJ%$IR z;EL)@4m4s?py;uY1HW9=C0h{}fMI}lh@h&$v}ZX7#2n2Z2{Kw{Vs;%j{*(1eF#&AF z^D|ktiBGdDD@79s;X>LdFvA7EpH4?7P0i#Ej8e&%K4g5f!hA;1n7)I{jR4(Kv#KI_5 z-lPtU_J5FE4ZrZZDhHxh0T}8>sDxsiz}q4K^2EzRF*b~9)!hQUx7*uv3pk53g#K0Y2jD3}U#As_)E_xKH>&F%>s8fF=Kx8KG!) z78Kjs1Vs6-5C`UVWC=qsPMQBS@f zVi==#a0)1=mhmpEQbUZYsTX{O3Lpncz00Nk!QRHR`o_+|F1e3h(*KG5Bz{FjI!4Od&h9>Jc(_RjK?QG{ zn-jG$$pBMRAKjuuphw*?+X}J!-meA`ikhMJq%P=D-JM~4LN6g`VJ@pg>RDJ#;d^EO zWUrN}H!n7|*4{zi>fr~1SnvU6@sj2x>_Fj%PcL3vYnL5#HHU}Z@`8-Q@kJzRO>bfc zO6tSuvH%dDA!Vy2N@}svXxYLO2kt_W8{HT?s!6^BG=wQWRltd2_x5zX*_>Ycc5m&H z_L307l?8;d&rc}<-?-ZC{K|z3D=TdvBp0Hda3m*0?AaY?jQT$rI5?Dz$Gichrx!vm zf>F~Yb^#6dO3@WXt1SSk5-}JID0XXF2AZqawamSHYtLJ+4)zDIVIdH|rc!M36M%gA zaluD8M#qf2#|biK#uaoTF0lyReVDIxWxbhM zyEJzzQ>)eHo@=n-bn9F5Vr}CDksO*mlJN<_Yot8-LL@_{(+9#S@7Dy4j5oOhMQT~# z53*pfvzdVMZaYu(CRY}V`bOmn)`YSreN zt?7FG*~W*@L4Y=nzXM#!!-GhJ?KX-DoOr?RpsVpVQ_zVfa-eR6QR;@OyPVQsIf5kA z0%B5HWHk>7H33Hfi*HuXD&et4uZP01^X^_Iqxs4t2=$~lKVNpRMs*x&n9~dx6krx@ z2hH`u)H389az}{I@y3fb(nIA^gtSNI8?CCsc1zlW3cx_r&O`#YL%j+LZl}^Cdb=M! zaq3%71K6TKExD;>NFUI@i!H1 ziv($)I4CI!c5twQTM(qNF5(~}B2I}QBIx4ck}Qf#2snuZ3Rwz5F^a2#C|tpcx(c@y z{RdQBb@4eTiLbWCH&Xk7PilItchDct$@zHC^}rMAlHo$wP?1r}I#7yRF$@G*|TO1?1-S!fvrqoE2(+N zED65M+7tLtl}pMy@DN1pN1Au{>`aq}JT+6zK}GsjlxwA)q41;Fz3*6-1t1`(Tc}u6 z0AtH>G~II1;f;XsO>RGx1#^HV0Gj)&UOP;@1do8MNk0Fto`IM`(YD?zGGDfFftv)V znu7{8Iu5H2MDm3Z_?fb^^8CAgcgq4|sv zQV=U#Ski&p(_?QQAXDfPzh4|UUDNSh_O#-6)A;Tz!tRU7=v0grHkl($!M_A3ChoLJna*?hU0W5GJ*UacRxW~Y* zE%<@iPv(;;cd9(W3le*$M6&_H_o9oW0d6SzqV9qBn-7CvU})A%*)juAq2bF9V|zbH zP{Y=$dA1#Lo|txC(eFJk3ELa*-y|D-WF<>K`yfVp2O$DuL=%n;(YvKnudXz=4?sd7JMLLKh9&HtIO|@Fzd> zDVl#4)601YIdxBk7>4se5B=`OhtDq^XP0&kWeb`P0x0GNs3Dv9zJG2w8dvw5A#i|U z7?yP)Wn&M*ya81W+7qPYBUkVYR5*tW*lXNr}dk@Dv2U z1J7Q(KoLYYecg1G$_5K$=`9iCszO)&Te? z2lApVw;KpuKA(Kf&@e%k`^e=gVkJNvdPf+=KY2ew$AL!nUEuan?>R<>WnKqzTLOXz zWnTc{c+#c>Qrdz18Im|MI5GbcrnR-=87LPbvyMY9!e>&k>t>q%z4);(m8n}n>X?kb z4Fjj&G=ji~VI2Hpv#!mU*MT<#zr{3mMKc|I`!=QmxwHfMlQ2YIvLD|ZwtKy#O*s!E_N3q`k+pQG}`mp{vk*Af@{EUyi<@ zRjVNeR`60@+LtC+;cWL|fOAwai4{_D0hLyhC9J)Ma-o0~QL1R(YagF@S zBu<|E5xNnXPoUL>n#%%6Ls?%q0T6zv)>|QkFQU0L!2DCsYlRCP z>UVlX#7pu#3Mk;#{gWES0zg;~iYA+%PvL0Nh5H6Ze`(La*rGet)|8S%v)8NFB|RlT z`MFp1JeyPU7L2KV zzqU0$9N&pYRyLvg1GCEXm5Tp_-U}{awdG+jq(zA*$s3=JR(%D(`}s_%~? zvf!d6z|S#^=E@zITQJZ9hZF-LPYgqvpVq780fHcKd#G+XgcmFxGSjSdT^xvSi1B9K zj}giaGBVl|N+f^hKp?btEC-;~hnh$t>+%eQT#`k#p(cjpLg;S*np8%H70Mz}Wx*0g zCXs1fvN2e)FmoN!IcO_k8*+;RK5C%m4)B}R0s$K7weouKS62#Or^0ZAjRwvrd?JFT zcMSoqrvqJ=CLHX-kfsdeL&_>^2ypEjsMF;jiXmMaqCH7?wS#xw))3$#G`|B;(FFJn ze8{!+7tiCu&|E`+3I{F~ptN9?kKI^DC?k;3;+gcLOlt^Gp%ppMCF!x=*Uw?*YQ=A9 z==wiD1OK%H(UCF-@+MYX+eL$TA$rWg&D!bL05_^&z&q za3Gu{D@-Ck$Vqeu4<5_`;w}lUfdgGuN2je>ntSm=1EyCi1IX}z>D;+I+4DeK7RZd1cG@aXU{-{3%%W7aU#sLY6k)!2gLwC zh&QGw1Mj-lYD)w7ow@UmX{(Cjc$sc0p{3M;!i+XTELi!`3Nl(j2MTl9fT6~XZcvsm zng771(JC4VO|t|SO_V_h7@Do2Y|-K1FBBm%LZjt=0Rase?fG7yoDgM=a=^EYA>@5TXqjx-DOHEd&xIce&WKd{iWZP>y-SedFZuwc5cTL3a`vNwOzKGHU<(t{H>z2Me7IBDRcp_%9xt!hyakU1dK&P{?}i8 zJUtc{+i~6S7#{!fEa77%gYobasPJRBE$-TVr1^J@lZ6AFS*;PECMy)<}{&i{7l(%{IhU9Y_J;zu(x zSN`~8-dWRSaL3;mfZ^rf8&TTIbsKs?kMLDFtdRlAyt(G&?+u4O-8_v^@VWsOf*%yI zzy&j9zY`?meZIN#zx@V=mo8lRgEc?z)Zjic|Je@wH3mHdY&;cwltK)F(XDH#XsK>< zv{|dIMsQ@+8>b$)?Y=?+D6XtgUKv0Zd-PjRQqt;9B8VSxWw>;?vZ!jI>oS3j=?Q>} z!Wt9enIU&iI}PzQHS++dhynf>aN=f8&Kn0%o9P5a-18$7X}9vpXIJ)Gp;Q1gwpE{P zG#bGWr|PPyJ+I$acpm{IaH{xGIwwE(1E8J({&h*Wf;Z#CTLO$A8v&#ZyZAm#m3+SQ z07!2^@5d{rPzM^E(z*XNKuuJ)v%82w+2$ml7%uy8vwpvozmRtby%ybL9o#= zwdeNx3h!lr3jvicBLf}+z!ZJ<^jHUJNq~^V2YTU>;6lXl3w6EWo}W8^{`}Jpke8&j*RQ}KtMo?lOb z-t7uN>A-T7Feglhk^pd^bZS@(YZBnn6k$E_`l|p9{IeP#;hUfL&AvRc4Nr1>5mn4~ zFa$u#+;3?9V@U%Z@+6d`)uj_O;A4Uuw2rnC&&JN|{Z&TqfddEH+kZXzpc=wbV3_gk z=l*d9_-XRQ)EJG4v40IBgaG*4`MH1-t$DWD4@O4tAjcO`Nbj4OiTSdn zPvg6R05iJ*FfYxVTJ=(!F+JVbMn;4jZPj^x-JwrYTnC2Q?<_8k1TgmK$rGmWq@?Dg zlFpnn{k_9u8Gi|&!tdS(B1jV-qVc|Xy5QQ@)rXrWqIQ`N1fuAkpEiUr&EsC&`O)@$ z&^kAD#6_-R*u(!|fmL)S@-G-rw)nbgG`JFbw5-JL@vP2Ct7}X(vZ|gk)~8$Rk%But zCVO*Aa;fV`F&^~0d^tjR&jXx9NIVkaI`vIsKR1{>%^(N|<|j8z40nhhvt%e!YUu!4 z6<#E8Tn_>)<=TZWAmlsUb$8VmP&?0oUyB5|jR5Xk0-$90cLBX7dG}i6-GL+z0nAA>=OWu8a;fgCu1Yn&f2P^g3V(dx~ zgbxn~LHyF>N!!v*03UnvwVm5{1_8zcU}PEo5kTe#fV5j~a8?#=cqF~e+E({5{`H=c zyqx50OEnWjEmQrJ!+Rk8u)m>ISCN*ox!>h&FD@p4n*gvdR)9GghlfG~)9Dicm}F0~ z6F^w7(LBunLmenHM=T;VB0aie8ub@H5#~T2+-C^P&HXkP=#Fx~QA3S*)Oy4KU*7g6 zS20kL02tYU5oQ!i0;EGrcap(M-(jrMBV1GW=NvTI0Wc>gCDFW}02)z3JG?zTL!Tb> zx3=07@>BGQ*^NWXuLY1wn6aPz{&D-pAi$JH%hd4EYdA1Yj(w5v@ok7LGUP?D&u3PuGzt!$( zF38C#NQ4EgNF?c~`i6#vj#T(f0Qh)Hiaxms7F@mn;2HrCl-7LqwFd^YC&7XQ5bC#J z6a?C9IIvvO!%!D0j1KS~;}ZZwR73dY=H}6e?4}LZOf5HW)qceQAKRt^%!&Xov=L4l zq9p;+f#iY2VYNCO4xFsjc{+rtr=lP)Cnq}EoSW)!py)f&9jv;EZoim~@EXq>V``z-X6?M!}2_2Ld0vFA_c;`UE^M3BdXhK3}&0x%7QjLS7KeYE4V z(EIK@5Ua4`LM2>iD87U7DWd+ss8xMfIqmA}GoW_^h4Z|R+t>JCFXERv-zKk82ou14 ziUWD5TY$huQlRm^05@o=x+X+X_t8Q@jkwa9y8TAC_5+s(AKrhvK43CfMf@YIlCjn+RxsI%e zXY9y=%j>Qj=N`un{@3jk*D9Vg>x66ZG|f(5_=0WjJ^qo7jkAaYqS9=|~>wmd9# zg!2QyEth8rVYkoVsKToVIT|;{1kwX(Vhr9&|t%gzq}wvpvzKK8@kV@ZdQfH zG35-}A408Z@U;}JtE0u1bfa`&TU~`oCjsU}*Om68WCp+GM}F})fS(FbUuy2hCOx&y1Dkav}KcP!7$juQI}-?!X)u&W3ox z2QJcrivcPYtmWPSg&jLiIF%*#=j9eXL;$blK`rN9OsRqI@NR4ofgi-~V>Om|D1Px? z4S*$i`qI)w?~&y(dyCtT9rTY&fQaEHi`jbw0P#-;zzha>^yp`&F@TC3ECHU;XS;Hn zrs=j?lsSYbP)Xtge`bDs=VgH}+<~tW!ppPsb92BKzpAE&?m=Pjsri6xRSO~l;A4-y z@}kJYwSa2_6E-OtkrZs}_ynoD^|eJRKoP~E2-RJz7PMv%KHl7A4+?~BX%!6uU~@@c zUQS6)3IM`_docnYZfG6X*#Xf0cxRekPXL=-J-?Q3iY+gc0Aav}ah=I7B3J;V$w;)h zv3F`XV@(`Zof({RNQN*Z1u}UroSsM}3=q0>38{B<6wkUauzWr_tO~9T8g}BGD?$k_ZW42tord(pMJkRu)RZ%t}%tc>l-#hK2^a1ejl1mzeE65_9X0 zQ<#ImSgj0D4<$EQEEaDF!25st*)+~61OS_Z0MpWv&Apb1sn5pBK}kx1CqkFjVI)4B z!x3s29}AIOTkED8mM%S%H3=e*2r|H3x2O(WKPs#y8idQrwkkrCSFlY9S_qI4W`+Pn zUrKIZB%S82{|RgfcL%0F#l#{<^0Ao|qlyMokS3emetvy0bF{ z1QRXhrnA3Zj0M1028j3lUw>gT`Nxq$pddhGZGDr)H8C+fMv;3>@s#7XJ0Jl}ev$&f zEyo$(mMvRe-7-6QxVBbnvr!UZafoq@N`S(FYd1j8ZV1&@d~3I8)RY9d*9HU`Ucxc35Xy8kfy_D>zbmyF+-<(rUt*qo)iR_ygAWq-hcK76(HYo zF)jn^&^(PJRRjU*^HKIpO!N+4ytoM3B7m6iN^tZ=5)95n5WLv#6@k13LRpj9-4`E^ zRhjrc8@i9FKnLyIid(sv>mQ->6ToZmX}i<{^7RoG5Z~a`JKt@={8(qqDQU{RhWe8+0aepxv{& zGnqm-y3S&@n5V{2$CSs?1A5oQ-F4c7LffPxdUz#OBoIJ771Nt7x#nEgbos^d*usk{ zIko;%Lzk&3XMPE(9{>c5Qg|05UdOWM7Ab!TD0W)oJC~=Z^3=+JVn)t`K;Bn-_~Cd4lutoJ25-^?3sg@ zTmYT~2!aCO@G^{QaR7)x5X)Eq=+OZlGn4?+(#*M*T-OvF7z=12mGsmX+fTf4 zXn>En9S1&^Qr3*38Q*4Lx$(jo0MT6ZG5~(Gefzubdf$5Mg|~397#~{@_{e~v4rGEH zy+jWuboysK`P@LGl`?L65Fb!d4iPKP-kt-$piWi+KCJ>o8cxhUn@6)V9Ro}PK*Gm^ zAlJv3(9)B6;xg_(eF6YYcHuxeRVV=UX=#a;T#JjU>BXVT4}7P(1(J4?pBW>6VFw-; z-je`DS%X%5TOaNXifHCdx~R!nZqIu29Wj{$Jc$nCKH)MJ=smX}iwN_n?V6ab;j6|# zjV%$oC*J2m3FK9+Q(Va-e{QgYgN5Brqg| ztX1&o_MJQT)(arVmSfKeaO}L01R`f53=sGm=awdSs$ zzV_&JCIH+>_!4la0Fkuw)3Qd8eqa+WiBeioGq^=cf}}x_M?(r_UTn4Te#s=sJ?gG>^I}1*RF)#< zru?}wq*a*24W(8#nlxRyjADVW7<%{|rn8Tf^&1R%P#iV_)$43Ac;z1lYf=~N0=b;uoS0c z0AvB78~j%JRw0(VaHH;SzTCd1l9PdKY-M1OI`yqoB+MrPK1VYSG94uRM=&MJ9^k`s zEcV9Sx#JkkG!_AbRDk`_b)8S!TY~_T8K6G8*F2GJo*2f;9wu>PCv=BQ$Tju^0{Av; zC>@ARfV9oo7FTYr1*0GUf}cS3I!QGlpTjLE0aDZR;2@aE@lSjRYH)Vc+08czU4;ce zb(LX>g;T~#MGKZ1c$W>OxzmTDFF4XcZ3tMe!&pTuu~p>oVwHI>_SIrmtiW2qIZSo^ z(t#BS;k=yH0LX<*69&RGEVLfdwSr;^*d;SV7iHn$@&`V{Lwu)UKmmUvu_JsH6$vG< zUOq;^d~z(Zuz7#(^vQdJgpfcYNura|0M{UCQ3e4|_2bCPpM1ae(?{J1VRXxA!+J&| zN~?4+8*pfGM&89rpH%{sWeWr^dbu^D_)ZX9aqIHE?WYd5BFP2;CP;t<$pkRkoOrjr z^^k{3oDx0rLuRO}Gfz!_78iSQ86E|SUIc|70J0VV#C*8Pg~?0f)VGC1PQI3=sJ=Dq zICkM65tHVl@o;bib>Bzl>U#%9GvPdt5X8d3$!{)Lo#%UbI;n>c_(U_fagpjF=BI=% zwuFj#ZyYNAleF^>YO;>wICVfZSGSt24YT9g3dgi0MvQ>n$_tv-ib2`xgsx5|2Y9)b+6srzeDBzt6*hLHIl&-Gqm40H}kgH?ihd{`CvS(f8hb4H+;?;pZ~ApcsHw`tSq- zIr-h)liyvSYEJZII|G2K7-2McKY#D(_n!nkyibpBYkBx~Os%ja1E5$3CfFB_?vfzz zG3mpKL#-GRU=@Vp&5t2;hlbMAxO8Z>^r=rvKh;}X3xbUjAjkn=9(@#R?BJ)-ctWM6 zj`DhMZ=TNgV}E}D3fI*9^$Y%bn_DjBF;*cu@C*Y0Dk6Y7kh2JYRvq{S^1}k4bfCPF zI8XxQ=v8td=)L#;I>LA0k3SBK4vn|8-@kb|hNa6^V>uh|xOkEMlyS~#GGAq-0*`MJ zU?#bb>Mo?$>$Tc>011B8)l;Gb%PL&X084Rk48wmKjXftgI5=2SlUY;KjxT$m!NG>H z_%idwHo_7z;3u08%Qnn*16fm=mr9y1i0^?F}`RlgEF-km}G^UzTNMKxG15c|1T! zgXJ7*$c1qLl`9#;6w&tK#-hykG!C(;{HnWN*s%B2!S=ze-J5C1Ty$$i(dz5Z1yJ2! zrfrq`D*RP)g$sO83_qAJO-X$vCG5hIbbVT`wtDpE+Co^cai7eA#!`n05J}KvGiz)< zpxK&wq#iRWRN<_Q=rG0sazglYdNdjnE99iDkQ_QO zvkN&P91gqP_m3U_`s=&!x9b1$Nh2nx2B1S4EGM}l5ogGPa^v&S){@m?@sE9Y^ypPD zCv;$9CrW^-|K9uHeN6kduVM4Gbxpjv1pxQHdXNC_n!jpgMbUBqgiuYQ4>VoQH=Jd~ zJ}2SBJ}-5Cx8IEw#}YA|!WDHMkDlR3&U_M|6m9s9o&`JF%#?j#Jp(LN0fy`l*AYu; zX{oa~5BnkcGz{#{$#*Y87K8&2ojEk}y}?^=AooG|h?JK{92QH+Vj+mUAofjub3t}? zyaSn9QgI*1_&)#qgD0Lri?B9(weJEw8@%Dw1=1drQmKhwt88QNaKO!lh_w z)T9S-+wwa2r7Xa(WiuY+pfNp%Dhn+i{R82nmU*{mThg?%`RRv-^!g(x!L?`t8J`3w z=%_%hd9&y-WyL{4;h2RlO^ZV>X#lu$C;B^-(0B*3EG7-) z@p$ZJV|^1GRzLv#K|9*(@C{4GCJEqmS6@9+4tNfrBZ%}aca?^)sR?#@dA|Ib!M(4( zd+6DVj!J<4(upbTJ`|2;sOO`mZwTIFZQAtELld3T)6?6SVCHQDciw(G94J&lE<`y2 zy9IdT#)r~UmR9hJ<9_5jwOFv!FFne%fZLWd0E`t|GJW(UHo`#=O|S%5AZ09Yk^{jn z2!P%u$QS}a6HYAvVAT!ou@M4z#fM+HjHOPC#aVy|CVWi<(5$gqr+k6RhJ#xWV-0_O zlb9dVJ9iF5>|(PQD-P0I)t$hm0^Bsw+1b_AH9g(3t))G4{d{b$g7u% zg&HHoieuTzZlpfh@JR<^uY;fCfcdyiaMKbm3=vAw(`b~s2LvyX4)hX0>A*Y`kzg?B z@#HyNWu)?u-{a>69-qK;A0Ih$=!!Gn|7s{Nb%w%qbyZ;t33m0}DPtzJsA7R2t# z`7eRpW3=QTUI0moMlaW0cn`wE9Fzl@UxQ?8~moa>-Gh^ey60SSP(!&Fu6dk4+lonBfOQW$8H-RnjCqN49u%Y4tAb{ z=urXXFl-OI6nsrH0a6SDVAbT8WhYQKn7q@f$#GZKG&E4ws{=W(gD}3qxBK0bBiSGb zd`TtPNrEY-SEzMY!s7xw-nnT-=L!bMYQCpr`&&Q#bn+OtG8HFIppq0}#07xZN$Td6 zE*vKV7!O0EkO+MA44a@6kB{GghDko|VjjJ{Wawls{NpqSLk=%yTD2}B2;=$2DjNoo z%=W@bgAL9mz?t_4iAVWBI#Ua5ZbD&oI zO3A6S^_at#7fjU+)>$LHy%BPrTZ~?)`=GH)Lk(MyWtb7db{pz&RoGbXGDH9nayV$& z=Alhbf@epqX3_R&zIzG!#t*;AW`L>^VHEHr!xZ3(b0B%JKl0-=Du@i>r<$wNw-do< ze)!?o;bqY{#t}*axJ&7mRaI5Nd>B-*sA1;Lr6d79E%}cuh@Ye%tZqBoo6$rB`|~OC z+zbQgQQSjH&;ku~$27Ap=lfSN{?&xer& zGUg)mjUQ$wcc7G-3khI6J~V*i<%Z&|$bg+Q0N#_Te{0Q}$JZ@f{QeKe_%NzsLJDD2 z5bBqs^FE%FD)>lnA(Y60(tH3&^S~p0Wguhly7J8Vm31{@V9M+$i6M(|33XT6%bOTr zlQ#ySt*Xi&sc$k+1d~J$!^>&1Z~_rrAwpP`VHF@&ySYeb>3S_T zDMj;~kf3lNXG!f^ZAorP_3oedWzaz&JR4#OA;^%p01>SRREHYs&c}Z>DZexxV2<5n zb0Y(00N@D$kQUP7Y*I1Hr!iw8t-;%F)r7++ChL!5L6?2iv;W$GGvgQVfDb8fqQ{V7 z$TQtP-T4&IvH$3eGO`^p{K~p@3miLdwSOzo z=WL(1wl(+2&J0pvMiY8CiwBE~FiK`6sfwCBYQpUGZdHu<6Qv9 zYG#0GQGkm#!iAIzPf%C5ysujfO4U6Mz1W`QJ739a2eKdE;8j?5^lTI$tt5(d8V%ZH z4R;=VL-|BKpo$Q-7%~W;*9mwwe-NT75-9c7yIh!a34o;nAQNPO=2(Dk0GvcKcvJ$M zvjag;(i58K>CG}292Q>(f>;p)%+;fe5W$5DpV|1xBa{p2bUvo zEdfHkXkJu$5Y6#0~)nG55}7gre2PMD=7Np8udNO#%plJd(%Dq7w&sA$-vU$$)`;kE5v! zX|OaHWO_94Sh{bYm;WsRko@O#N`Q#r7=S(-_)!-8@ZMPfr5h6i>|}&eD8a*fcH%c~ z427)yJzZd@R+45J!|OIKhS-LT@HUALYcU4G?AU=x7r@L=XkL2tsb1a^#tN7KLVUD} z4yMs|xK0&T7Er*3gM#&_*AASmg!d|zFQccM%LqHuV}4GSbfLvFBZPgzf{Q4K$#aw(B9tPmu6xUmaQwc$u46w|H5RFVWaP)0Ezl66xt zOvT}G6<~dRnGii^X|WbZ38E&p_zTWLQ$J4KvAKe$M5~wXEAxV%upjd)jzJg$ z5CqZoh#>wDwC=@QDmg$X#(xvz5u6M4y1Wr59o5-A&Hz~eh&E#lXF-Aoe5!V|a_qLX zfgXL6p{wV6Vre;uMIC_wv871{+$jK3FQ@{{@H*+CR?7^4L0b;uxcj9yTBciC9>X%7 z|275ex_SYSGAHvZ1wRG|kh1}rJ;H+SuzL*M^hkCBB?j2lr4Z}{Jg9TiRAX%xcJsa1 zzS5aZfvt#M5y89|+0GVxg<2Wrhc~6e9dV6G3^)C`3J8nmta|Od+}#m+gc>odJfJF7 zUuxl}6PO=95yLjS4GaT4UB6F!+;JyAHHBxV`oNnuG69g>XMuo_aLI%7=B4E#fYYmCKmg222v8CCVu~Y z_wcGaHm}-@r}iqu8koul@ChjnWPrsC(8uh|qLA1D(9Hl-7tr)|s>dnHQ`kqEQnUDye zRgGa2>_-+fb!-DbetPe2yc{SXY(M6QA5{4Xhy+k^9%J;;7u4ag@cJ15*^0>>C;?6| z#OdKi916(rx*(j~w)#S3!7drYs3JQQ3vwEab)ee&L4x18vY=K#R7b6?t@EneMln6D z%~AknBml?=>4w~e!&SksJ&-x^`}p0^jnIIR3W&l_ajSG8+mHa_rNl7ZazK!(NDRQa zIIvkE*hO2Iozp%0aH=c|lQhJzQ2-{I_=Z zkz*9SGJ+EV6vEOYh(Zz$+5*$Rx7-MP^PvGF_;L6aThMh2gtHX zlVcl_0_)vw5y4V(ao}1I~ z=yV=>irGE>R5N}?lo41^5?ludE+l}l&}8+M|AY_znR&cY=Dj0??RGTX>20G&R^Nv| zHV)m3P<#nd0jeOZ#l#Ya+U$0IIH@~xYfnc<$73CjtslnGnF0$Sp}Kl7x8aPboGOq0 z`yj{MATiZ4b<;>NA-_b26@&wcAO&%MuK?(h0L?fI%B>751|SpMNB|d84ooz6iJ_>) zN|{SWHD>p@xh1V7xz$6b5WCOgncDsPP(Xl=UV9XP(t-7}09qL!!J~Iz(bjDnw&57w z*7d`%A4pO3dV&C`V}J@liy|{YQy7}@g8=BpBX;*D%7Op1%cKHigxLI;*c#cx0Luix zh=t5=^#!Sp03HKW%LoVxfD0L*bf6Ry6)%Y}74T@?(Uy)|Yg%gc=#gWGAHWl#mjU2M z3=sU1J5cyZ=TQOL0+}rU2<_?~AW%9p9rHk$Hko;dqY$(xVtNQ-aw*BG^XE@~_gZ!= zz_~aO1m8h?u4wL>{&7#%N3;SZdIkV=n(2R?&x1VEL-8vt2n0$QQPLm-lqpYt&M9;{ zZY2;e-KvL1Po918vIUpFeiKf{?ce_qipM3mnBSZLnsXpAS`FO)22PXUDe&&@fdMO+ znEd!v0OT^lnhB8U@mg31)^MOdh#Gu!mH{QhL=H>^K@r7R#AVe|7RqQ+0Osjv?55LE zl2&F4GKSX(fZWRfpd7zQNdropyibfc#zE*diru#tEO;G{|36QE3K9b(eZ&S#0+6$y z4(P~$JXF8~%=3i?{ATd8VOAf`F_|SnSxvYILmraGM>_u9YakZuzvK=~R|$5}9GX*5 znF_D~0P(USPV7C{A8A(Wuo}ZpN`Rt?DPe5#9Vf9xhvz_Y+Yr0YFIe#0b2u2hV8H_d z;3b6|z)(ED*c@0a03t&(K*&FE=Sr;OSi{3OkwxQHci2X#NU;Qk0V(|vyZ-**7;nqH zEb%2@3k!hhsrNLKx;lF4*(&_jiJvP95O4e@?SYxZR9=!MZJZ-? zxp2IV^Zb`TM}OGz{@3Yv`hE};IZ!cREX6p0s0_tE6k+1G9{egQR&HJihy<{pz>E#^ z_3Ohnp8zNkDgX%~MEG#sIWB*0|NaNwe*3(e2w+MIVpz?Al3N*F zi2<4fz#q@{6;*&>#Y*VT;ez5k6QI;B3fmc=Cmx`gU-tYuaa^Qf?ANcpdF{0X0elVz zYEx5Fo7b-GqLcBw0?1JKVN1s1@##3pV#$O$B9dUUNP?UN6@nYr?U+SOUevdsWFT(2 zi)l@3+kJA`dHbV(1VT62zgW+X>(>4efJq z0B%dWJKs)1yb5tYgXs4Fp3Pm;utm|qgPE)P3cmjiVSLLi0^d=5SImcZLI-NoQ&aC* z+dPgzI{x=30Epplpko{aWg`=fVMqY{=RLUG+;r~#wBn4`(5Yh_yFe$dSt1Wo7|Z~N z7a1`YppL}t3QC24xNj*51Tjx#fKHt$zhN&u=Q0SUpL6e-JHu%F&z(C1?mz$E`Of+7S+<_I zA^ZFHpa1Zak-PR{05VhIG1;#aKi(<)VFaJLncZ;dz25G6fhP;#ruG1E^=h*q5Bx{IdXD2N5)H1cEs7&1o?Yu~sLx>w(1 ziNiX5#xFQf_yWLJXAEF~$7_WU_M-}x%(PXF{V`n^Hh}Ex%=R}@ZW*&lNxOszdhV4J z+$1;GoMY84WGQ9c-~mp{{_{xe#||i21G_#%ME-t_hSahQ)B$m0;#jgA3U3Sha7 z*cHUCCm5v>S@6kw?gn7Uw&BxOf;^87$9#vrduZ=zCjsj;l*)HtVlRCGOd60^kptC- zX+yQcJO9{Qu|@o3!_Mp}*t51u0GZO8PfW6Jd?#uN>q)fL#I)7%KL$q^Mn|_y8$wLT z`kT@VaPl0;1{rVsK^c(10U*6V(Nj@h0HubBdIhoX35FPkpa&SJafPf4Jqo1OgIh4DQ5YqdFB%QHgBUIxOiajyis<-ou1y$neECVc&{Wu50L-DkC(JKO_fX{ zI0o1PKoO)W!@gcv@UGC239TR=6u^~=e>AbG7L=8p^ezh$@3Y;LQ*1oOhh7d~&X{(!I=+#Yr>0aGq zySco|#&Y*f+nMdyuozoXsb>Iqf$iq{rh2fS9`{5(z{)&;vt#w+Z+L)73(A4Y8O2Q? zOG1_zalA{cn)lwN3FM98O6<7*;FV9P^b+vtRs^s&V>4E@RO|f@E{t|t9zCya-6pD8 zR0ilAOFN<%g`Q9W(f?pGima0FKn~YuGIMpDb4p?8)mKL!+PnYzAO8HZ)FRjfz!#RL zr~@OOX0yE3=MYGq64f!3h^boc*k=X`m|CHI~|Yk2ROY{vt|LI*x`g0>TuVt^oIhH?N{3qTsd^vl#= zWx*8y8bT^9U{va`5!?KC-*7xc49{L@rNc%>_;=>m9|7!Rg=%wqZ^l&1;w%U8!IRtB z?rO1NGuBf^^=sXjEIoPIfwJ@J09be46CD_^c8v8OG8vaw_b`mct-cTme$0pCH)!16 z=90jv~|M#E&{U^}wedj28G%Qs2E(`!^%Z{CYQvgL!GkJIm;HFi< zftm*}p0=98)jkgkAk!2;s4Q#)fp&V$&dFWY5#Clm(9&`8{{1cGj4s{}8P)L7l+oYYdEGQyS6es63`nKlQn10R z88#U_IZg8mncL@^X?#6i;sJNB5T z(Tg3Z*bVr~yjpF$RtyL~I#RYgrlpYuHFQM$ZW5E5yKU5(=)WnE(tu4)raLQW0O`Yk zo;|kJ0&ecEiM%F{L8ywYDu8Hm3*HCpiG|pSV14~ucEnEb;or^(Zh46vJVy-SmlnhK z9(9zuFG+we9JILzp5R))!;}E_b+iG`AuMNq3%W8?W!zvyX#|4#0Bzv*JUW7E!FO2C z4n+hYH@eS}152D;z&E;p&~pG0O&J3&zdkF`{RNzp&jsTw8Qebo5CGR@iG9l;n+4F6 zX>wX^EnYdYIyC|xVw%2qI($a3XF8=LkO+zq`~TVs!u?--@7ltn0a(xmV!#6o;`AWG ziXh^L1dvuo_z-n*>f@LY3kqPcpdow)c#=)gvJnS$QqryVm8aBq(rJ+cllX$fk5k_~ zKwcnZq0;zf24pWHPfz1omsGjnXDwUPw#j|jX|~*3Ap5LxT|h$HB?cF;00dEaTtlq_ zpi=|jFr)|ARGZ}x9{{$FNbhnEI%&D=i|@^a0bBt1+QBJ3i*?tPV#kX+02`eHc|mZ% z{s|M~%r*ib1Uf{Q zzsvQ0k&9X0Ty3x$(Q4=Ux2-A;YQ?CIY%t6pP(}eJZSx}v6 zHy*aNOXwNP94{RDZu&F{d<6=pB|3I7L4UvlUBI<$G66#t&Y+VKMzmy7-b7AS_m{gm za0*OGXc|~YvTfVqfo$_BT@-&Af>;X}|49y^LX;wOp{j}DAQ+D2ruVW6->cQjzLrhz z-~acYXPj{~-9fh-_q|7@<`2AidkpaG6##-yE{vvi+iX1enFobX(*^H%_9lBi`Sad~ zVt^o2?%>W90ptn*BlDSB0f+!dPeuUwJX!PnDhbhH^?!X-LTq&cAkEn3ZRwtDu4{MI zSO$Q=9`*oXH_l4{8}uAgwo3vG48LN^Fp2oQxMlX@8vv*2TYvuNC0}0hj#3FEQ-AC? zfMiO~6g@Hh{+!0bC^m%7JFV24=lMpgmnBS9(|zmOiWL5fo^g zRxpC zW-S1|NimJFTVs~%F0*)Amn0zG(^nQ2OR`mCbk*BEK$rW2(f@K0OaLv^{h4?+rBQGgd%~?Zc?Y+`fPY& z03jCuo>~l026P$#p#3vgl(y%stI-9Y9HLqPK0?3rqu$*ncsegatNzySybfc#G6ViCjJZMlT0 zGZNg;`qA}tH*LF;!NIH{JUaEMqvu9)ED|pO*l5^*Xm_3o()O&Lt*qj6~aMcXP3uU5}@b_;Bf$4n*b=CeM)Ur&JOYs91wCfhm}?CqrufK zn%;Qo&;|~qbB!PDN=c1iN)-8&eD^@^i%wFjn=!Y+tq9;$b9*BIomSaPV&l z9JYJgwly1fZZ!icg~Vwj(&}UrSnV~S6h*ajc9sCfe{&n%$pAf0V(Ec;s6jEn+daT5 z{i`nk)KD(MXuGGAitFFFdcL#bBmg> z0K%^b;2I5*yCZsW77hRhA_qEp9-xXeyaiAvQwXBela!QF#^V3k@RV9*k33O;)O5F}=Cl3%>jv3* zteBfFFK*yPNzBOLuaHIL~#UUtU^!b15__Cu+wc*ZEdm*tgRXc;P}u}0Ax#A_RcCh zUes0;NmvNEJiY)h6}Nv8z~l7R71R*}1Yv+!Tb%^h3xwI7JD0Axa3^(y?u_uc*T1)c zmpZ4?-f0tEy)CC#ByKz|nr& zh_SB1;|rO%s6V4bl5n5}FgrNHPaQ1pz^OunYd5jlyu||qoNihwlLV;mYj)0Faow89 z&CIKm`xL>6HZbrj21xwY*p_KVFhU4JL6icZS2|4MpTY zwwxf4>&lL&;#b0hp(~j0z!9FHRdBMb=O=((pK=C60N7jz&?BrY0N6k?Sbu(c<8_zq zBnM|g1dCot2bK$<3JT10+p**2mtVe30EtS~gf$QI`kM`hwsC+ll}MF8*8z;Mnl_S8*u&a8rE*P_L40 zU;tQUt93T-di*yK#sC9CK@>%<1V#hM|8Jds>J4b%f*NfI48?%~AHoBRcCg^(cfG!p z?YBOr7k%>)5j3qF#7e^y*6zEH^s%-ew<4?@Ooa(@l_@pxtH?aCNm-X+mtN*Q;Ers>+nl?zsPz`=1uT zaAF?(xDpJLeoSdPhqP7zo$tb{#i;pZDtznZ=~C~+IFIIDpYQC?H48a_cGrz=fIT07x$|5KIEZhlp4T13B*K3|KZ$(FfE2@I{x(jDLLc3 z-rXjg7fCimO~8NBJs*Ai{)Zoa<^JG6&o5961huGk=`xN}WxK!BgH-d?1}cXH2kPSep}7x)yM3pf z9hjFq!0dwd5ljddl9G!M3Zf5UMD?_J#W+i+DW@JpIQPA4)g$<0k@(9 z+iL|d*pGj;@u8gnOX%qc-z%?t3%FRt{9Y;KCwPIOq+lj?&3)iAfDf)!Gbn%^GG78C z3+7OHr6v1WZRGmfx8J_b45PcK! zRLJktE&*&$I*=EQU;-dXm;;Agu)@J!D58fzR01CYpZM(v{6Z2A4pfFGH^FWV2<5;j z<^s@i+wu?qdTb$%d8DHRQe8j1)twmg^w)mX+#Mf5FdMKDz6hdf4V985$Bvt;Xhi_~ zRv!F8 z%jxVr*4gR!*uq&{w7>+_ z&M+X{s7|%`2MvqT!-QiZ; z+;Hyc+P&?&PTE4?A$^D^B9dJo!wrB=%(OgyW}!nfzuEv;nWaJwKLEOlQ7*>@!83HL z5lQ$72T)Qq0l6P2CyZ5Ku0K$!4FhXg>SYW*fuh!sdxy?1{i= znCF`l=DzWot!nt3f(av)=0{lPrH{Z*#6-}4rRno&Hvl|~jqh(uu@0?+IXt^LSSPb> zt3Mjcz$M6q?O(0h_Li1A0PvP`xj^`fcCy@n{T3nz1{;!+6LtSrF<=LiHvvc@9qZ{F zl>>!N63AThLf?!<$0}{uWE|VtxJ3m)HZ-RZ{9mKgkav*Z0qV3yt&UiMPQ`@IDPoF^m zw6hxqR&U$I81^?DB&p{oh)_hHV6k4Y7gD+@2;TsY9<#$2HGKh~roPq)pf>4ht7PRO zvt@TVZnB}K<4rpGsqMr!JNOgCav(a_iOr?63o;=RzzzM}VVOku?o14j(X~C<=&4(` zzB2*{HRvH*v`W3>s_nVls`lLC5+FI#3nwBY$xm&)RRc@o8p1{Zi9(Yo`kW$;22oKR zw~TqoTIRhi@C)#S&m~;aM?z=S7`~dJ6f<}<6VGlRjlWIBZ0M~u+fs0u`DT)i( zVv4hvRmKhgA%u}!NIn6ecOdvgalO8*?F(|Sa9>#uiuat zz`|&~nvcHYd6n^7;AR%&9U)v_!BQJ`Mckwf1)Aa4rtPn4vz`6@aT}=DcK8v))Z6Cl zKV<&3ORv5Qf}j0GC-_^L2mo*GxId%;-;TLN5Q;HTJt3hmT2=wy)04zdu{%4SmgAC{ zgROSg(Dw2BJ)CaDjNAxdhY&LGtYzjMh6@tC@lY1$!HcaMZ~zs-l30Fpy>$%PnR`PI z;E=%SE`ltHhF=084=1oVPsh3e(9J0K96K7RyBNb*4ON9| z(2+Y|41drECU}S)f78scmFRB_(b! zIk{4Kcz#pPZ*0bGX3u+stOF<)e&izgdIHfb3j|^ay)!p!1(ukiKvc zK-%1LESR;bv|Q*ACIONMIMeUzuc^hWTkI9^VZXpH&=If1ch68?0=;0q^W`~Cswy11 zMTh8zRszT_lpHEEmaD51!X9VC7+_og-nr8T7dv)6Erf;Rh>$;GLPZdR0=Wb}tFNR* zi{x22bR+NTfF799^x4^w&#gUs>STI@+P<~Ti~SqiEP#aU!S!%@`IcJ< zVXo z1U>M{ek<`yeufs$&3$1embyv_w;@8-4jCkKxZpjugi_+?aa} zY_!T-0YLzE56|BXK;bLtKoPV;!*%TO(ry49K^=8oxoUR|FgJbDmMvw|?lF60Lz+Sh zFfmjdCl$OGsL6kU97;|s;O5yWNomAUlV59rCE&;=${e3yK6O}10@MR+KOz3?2mKjN z0w{ulXjPK}O*Eyg6%6P~J5c)N;9T{pw)QR?3rheb#RHIjyQwf4=x!%3}^}fsR>3FtUKv=ziz}$*m4xT4S@)c z#JDV24^V~Rbdy$?<7eG<@KLKOD3pdYVzsJIUO3?y$o;zmL1!;ytJbeM(2brP2V=6pf#om*N1ro8)Z>z#swS zNX4P2~+sv*k>RDgan3fVBe#kh1}?#g0SQY%qlUwO7b}HTlJYA=7PV8A3)JHew@o{|CU}z~iQT4oNhGa$se7 zu?5`$2;>nE1_u_2jgpt=n*i8b+1`vCzYhWER^gF{qgHSZuTc9hgJHB)IA<_cQr!x&6VA6q1xkdtrIMa-%yrzF0^J=v9&6WT#fTtl+V3!2Ayk~fV811cWj2sBT08la9Ykx-7TyDFme|;SW zWcRApmjXbk0)bErp;)X=uf)$R{oT;B@iMT%D{Tbh5FR3LWHK6Y(DXeoLF@4U!Bxr`iC;cbZO3N$L!jV69ZkRF_#?(De=d>UOa^dRpBfNl_{&^n0}*>S zGaauZ04&VKwE)xJ-^eYjGMM$$6mI^=RRzVZxDRs=*P%>?RWPe4X0^l))NTyAbi&!v zY(sDF#Mm4FYbu;VJ00bIU0!hGs7LjdX`vyK!_mvH9*f^H1QPT&k1Vs?4*urqvrH%k5 zX+JKH@ITr>-i(L)Rsz`U7&cZ0fDuI%R)^Df12Bx@iVa9DVR?RRVz*6_T-kvA~eGt!%?e2nLSLDD`1h86}1Xa)S zz;N;@#okzU(jv`ToerB(o|g8PtK!J6fBKhiU~;J{)NK6!Adz4>1NGE|(M z|K;F8&m~d|H8Y0=+!ioZcEg8lm)5Pw+HJfXEe-D86HEshl-h4(bKV-cE zz3>PA+kqlj0-#68gxUa52z9rT!t&_=ESW~&hp5N2b+xYuu+{-=7&`RclgkGW9yEfW zL)<;V3+LuG(iq~x^SlZX@+pT-cV2O#4R^=Y`e8RIgs?^&QK>2l&?LYB)jN<|X$Oj( zE&w(c0t|za4~qeEL-oVU_XyyM_=w)St*Cm-@}7y^)(VyYSi6+o@$nrLUIDlfewrB= zL%a|VB10Ge1__|KucB_0V$1pGlVx4*u+JJ4sxLO;2(0|WB6ya}!vF0+Kak^rh`hG4 zh~eI3HH%)y(tyo0;=u^BVMHq+EOgL#G5w^19-ogIu7P|?6C~X+6 mQl;39&G#<=b(K_1&g&oRcn{c%(gm*o0000gl!*<1EJ&M`uE#zFSV3fU_W z+1aXJpWo;DUf=8b{_*|hmEvrn0-{qvIst?xfIJ+C&w`>e0HFYc#6xk}ASn+-B!m2X5S|Qz z<3M;Kh{*s^=^*SK2#f)V*&rwe;P4;VPEAPonCV?kj7DD8Y@_yClB0tE%&9}15Hfl;8U9V)4Z@(OI9D1pp8 zsI&==$pj@GAQwkc*$#5@K`!Bqxhkj_fJ)mDrOi-!F(@nt+4-OV2Li%DRsobk0Fh}R zzX&AdfDg?eCl@NJ1(|q|pYtG277$86P9c<90PqA*)&;$<0)!7x#V3$~2SuNt;zk%( z2vYMDV$sk1f}jt50G|hN*`T}&yl)33wGgfZ!WYAY27rwMHJzZS5YETFGM0tPyAfqA zP+21=tODt|ASD;VgoDBlaDFk2iGTb=9aQ(eFi~(cl7DI}OI1q*1vwxv5d_4+eqq)o zs*d_{P-!nr$cKD_$V>V_Q3--j2zmHXzO;4JQwAT~p`v0$K>_rx06`$wwd=jolb4UV zM_$|o6*ho?x9}TRWg{)h@)r6kB4u?WoLq>A&4REYki%;;!$;ByQV4u4BE3W+BZ&I> zGX@Jwb~96HBLj0|Wg9&yI5M5oFWNjH2=UsB-BeG~P{YbV{eC%vR2n1TgS9nL(xc4B~qHX zvg>M1wRmI2h4&?5bvPQY7>%cf){g43l{kvG@uJzmDzQO)If0URfBuv=cP))(Za@zK zV6ah^m(_8boSu-ex?p~})6tQB85J6$lVeeNu0=dg(S>5#NiHi=f~Bs0bhL%K<|@Y% z8h&4toRd+rNSHF+?zkBSTvDiALP^Cqjvv>FjyRHaRgghMYJH1>`U0rQgR-(;_ zpPZg<_*B;}IZ(fM;O-`HCdK>adAGWN(%DCarY!-WU7(MTlk!sZLT>QySR3Z2BrOY> z4I%}5QkLtF>(`&q_*fO!)YnthUTJQ0A=Ri&;^T^s2PM8?pcs zGe5F>Z41DSVqq}5ND72Hyh7-&jmK^1Ryf8hog#kN&spA;oe)KY*Mr%m77Y>-mNSy( zqCJd&F4bTSDqXsw?wN~(N6l3K&ABNu|EN>^9%p&jS`a_F=DbJIvkS z*{ENn#UqVVyq6+}f1oAOm8k!M%NDW&2~n%Hb59$NL5M3`3Yk=e3C3nK_r>A5Y?!*K z$+^o;f)}rGDl09UZz9<2&PmmYySO=joZB!8*|D{;;f0^j|7=2Z@ZL6hA!lma6iuP< z`2F~Z@bb&5HQ}vnPu?cMDna5pFMn{H*h0N`>c{K|Bu4VZ7}?->f$!gmoa|CVn&aQH z*GpdpnOp5~IRr(eEKJSL-XK!2&I?wiIX8PO&txUm1doQtt1CG!W!!rBlXDd!mjSaZ zr;oM~)8TA)B5D#b67@VRFTRX=PuPrAdVPo=(WsuP60_gEqBg=2<)>pAyN>hp4|cbI zUC5&i^-*myZ7uAjH@?8PVovS*p~Q=U9nzc~&xu;f8q4uC-iuaVycc(qabO`h+W@rT zgf?710kx4zZta0(EuxK6gU!u`7jC~ac1cNQh1jUHdtGJ~T+svAE5`HhrOZT`b7KM@ zJU7%G;)?7sLu-ezyiL54#Xiuw)6B(BCAbUGZ4nKKGdO5qSNHN@Qf{u|%}N{VJJv5L zzP{O#OD3^a8{DfCX;Wkz=g*i8Q+jtOxSM_%J;Hl8@&YrhxAPID+?0CWl8pt00_ROu zMh%nr-N`*$ZSgncdl{?24fA7U(frZ(Y)^=lDQ%2+S)3x<-EXypL1j6+;6G}~0+^i; z)95hu*&f82&~6b6k!Osua8BS#tRa7re`~gR+s&JNaNXwdJQ;c@ivDbjtt|77TKYMR z%I-+kqatNiNMm}>e6}@%a@}vdfk*0{TH<2?)6k{R@vn<;?Q37Iv-w}4&OPN;YHPnv z6LxY$_MV>4s$FSq2z~}-KH<09ZM!qtw#5Mr_w{Yg-1y5J%$QNAKE}J45w(+Dz*!)P za>CZ5Dn&8Z@iKqfVoD1u`N}SsV4mJnNqfgG*1AF?p1w!+M zcT8TTo_4L_R(GZEKEGmT1+_~5_&i%`d>nCj^y^nVp3mOEZ6Nq|aCTTX6`Gh5e)Rms zv9VYsW{&73{&jBd__yYP*H#(#2D$j%ZqIuXZh9XDZ_n$Hp@W#1n&SqN4ruH$(#R*g z+rKbqPXB8}Btvg{dWo?fw_`9@4AB^uy76Ucwtea1W7eI))ycy;RRfOqubp*NisDtQ zJFROnZS=-E9x!S%n&e5syN&z;RD*|uhHh#KJ|yH#vk)!qs0RM(AN)`k6K%)}qjyvi zQrunK`@AW27h9$3k6*MQ0bHdU;y-LeO?hb$^XC}4cFHlEE~Rgc#|x;?yUZFr1~Pbd zMU9=~40|cm-1=@t)MW(sKof-&>L^1rx zTiS)lB2g0>&G*maKcV+gmnOck#wn*|rvhzq+hN9dYZ z{D|i)IbHnivAMjsM^^Oorkt=JAKQWF^x=`V$PxQCGfUP{e_v(ALTc%gKV+IDRPP^EB=h8a`6T%cby9SZm_lMqaOqL+xBhq2-=PxL*Is$6+9x?99@ zz35qsscL3~Vb6dR8ppVozUApv6qMbvl(=w$OdGTg^h)IO*ORXCg>DZGggZt#^f7ij z&dF&S)~*YoTKB04b6zE-VW!lCqwian#pJuTF6~S2B2dTY=maI)WwXv;3Q#qtxb%|x z#AJFeCu_@mZI`Wqqj8TVUEORc#rE~<*B19B9{ySl&G@{#>qKtA@99M2pB3${?V0Xb zC0uy>(()&E#iJ$r-P8_O9e>ick30z~>{*L@XR4%_U4bbEiE#!+_k1zYmkHB7!?BK- z&?rwe*uB}Z{zw!w2BR!oUX#c?%Lt%2A-G^*cs?@)}D#bjktf%pP_VuRcW*M&cMC#8CsG>6%t{^cvQXqOA?*^c|!Xu)( zQyt1HF6=J33p>gOiZOi-*GFULxN^Oe1c$}=wkbRB1RIRH7^0lCFg^wpJ>8aF=H&tY zp+vp+cD5TiPFdT}Gq4VB3nV_J_9vd_E`{H7e&^!491lA#q9@wd@!aBeDEuPwgyEII z98W^{lg}t4!v`0$U+okMQhYm=>c|^NCAa+Kqc{KX7vEvOGt(cxE@gH>>!lZY3#AF` z&p$1^UKwBvOX2RIZq=8cl9HylFm*|TCVN4K)XCX&%Mn3z@=%p-FaZ^WHu52|zK{gTYQ z_w|odPVF{)yxbGe&$B&DEh@IK)m@~Q#P6Ppu}JI`79kak^CeQV;nY#sWLt zk;6SW+!Sw8zq8S}J9g?TX+c!M%EOyKoej>rHGiVATs#sD3}$pS#2&bnd#&p-5pIb} zMXIcRzB*DkX2jQ;YkftHBT;t#ainSg4u3k6=|_hF5k6zR<@p2A6B`=J;G&j=1o3Yrgrp)%`>|g?>b$1;rkmTvl`z5Km*^jE`RCz9z#%BPDa8gS8P)L^g>mW#xrZ?8%wa-!(Nt zihq*!ur%DCwd;BP;7tCT7I`Jxq<7}k>Uj%jx51voq{)uWduNipS>;gD?U?$hHS&+$ zhwa_)Q=(caV=GNZ_&pR(HaEXN0YxzN}Z$EJ1idZY^Ss~*iVb(=C@OMs|6r8 zL@yOdVQFmj8+y8x6~>D8H6DCMchgnk7`nnvjIlreu4*xmvQQr9-bBWJ;Q{AZ(UKh&9Ez}s)W618pIFM-WoX0XD&&kNSi#}bPS|?s5hEi zro@rOwf)KY8Gu^9QS|QZzreD(J=KRu?HMPo+z@f*6m$aqiAHc{3?gRHBn% zXY}=^Dk|TFGM+)~zGwdpzguap6JALac^L!BC%h>UY%CY+EkxsvS4eix>d?i;-TN0OxPE!i<~l0JmOt7aAh)#m&fwPlapL~r>dxYiTRRcWS0yS6>U^9- z-V3Oj%aY2o)x%fIzS@fjWwG=J(o>k2g?x|O_wo^Q8BAF1uXtwd#}kch+{*aDw&f9u zxIi%U47MEb&(jHeiMqsdDeRnH7UEXtgUR7J>flz61wAlAaZspV-~Qk_Q~M~KCcZh# z5Y{HcwXJu2w6ipMWBXV)MJ;W-V{}aR(Mzn`H6a#i!HnW@&&4#i5Ki&zKKAG{X>_W8 z^)k_V7k<3bR=<=~bn#Lxe0OYY?C0>q+mX&jqwd(&-`??YhW(+M6A{WKXqr;SDOBC} zhzQXLS3HThiDfedwR~1-Lhm!AtlNnW-4iTJzIDE}sPZ3r89H%Fs+=L-K@q+Ai=K(k#N6vL zP-E`cT1~??w?h}5-kW>9gtRG^PaCcTlrY zU60-AMB3SvoAw;*_T-k~W}d^RzpHVi@Xl`zlO{tc6PdmwO;=7m6xnhffhAD1?4Oh8 zRIjo6niOab22b@B#IsX=qWYJ3@+p zqcDDrf+f~p++rc=mwRvpz5eqm|FiR|C>6W2nR?ewa@FfGT|+}HSo1b{We22_GE~J! zVDWzT&F-4u-2md!Qc7gLz^L$p4-MZbzacG_Zcn{)Y&Ml*r47GQ!bUsPp66I}%SDLA zTY497UD90ob4JL15`CG}Y=r4cqs(=L#kQGx9k-|xk5F{>qh+Lvh2Z`mL~)*0iQ|fy zr3$VLbK-jvb&}EI=rMe=1o_^0)>TFGT8v`aR{iN_{9Gt;eVu*yjpS8i$Ty74B;&^D z>bhG{;nt2LJ)&E7|9(B zOO4S0RScEX@A*R(J;FiWRqmSK_cC+OuEDHu)2Ku3M3)F9ou7c8w)LT-;0E09s7ZVx zOXowHTny>jSwSLH~KAGW6ZUtC!WC{?JLQMT5 zt@DWt3iEPB{ut8cMpK$q_iax@{ukC!PwVt~uT>2xqHkx#gZL|1Tc_}yy(8P!moTj{ z&33yZ`kyMRcn;Ptlba8&EjZoH*l*G|6d^1Q$-Wvnu(1|`Z*+I;p=zewFB9*l7p@(q zb6+!)ZKnBV$u!5H@6;v~E$Bd@Pq*!PIiFTGzP~q^)-{t-k20#A5;>>6qES^_@T-!+AK7q;FOVdI-}T z*#8N|kbI*n;Y4x8SYUXcsw3UjRxvJoWfV$im_8aq!hwSRiZyqzS0_55+kOAq-=DJhoBVx5YX;d@sEd)O$!tW<)Y*#8e4I4^kWhaowuk<%Y|m4%;mcrRgg z>3_OXC^gr?#Gzpc`Ct(&E3>-BsDRCde}u(i^YwD%|7CYCXZxz10-d94Z@D#$;rd@n zDc9zlz{-78RoKA_& zmN#E9(smrs2Vk-(m9t>^5qXtS-$J#LLJNxc+Y}$t=UgRbj)tV`QfV-N#7xHrqB26D z0FoZ|8sORCV135>_HZ~0c-b}kQh`l!{dtHE1NttSVad>d$d8g1N>;pSYZ?tmP+ zh7oef$fxgh526f|ErR=tTiZR|(Vf+{iieFA230n&rbzkqrj!-qziG-qm1Om3_V{>z zv`he@DOIi;GdoHU|0yQdd>w=;u$vOb*Y|_GE4tMI_vM+nsL+I2M3xQE6sc<{4v2Wb z0B(eaHmLm09n(xzU06nHhBC~Np#U2a4d8z(|F_?ShI<6DmVd!NgK)e6*5n3SJ+Rpt zka4MO%@x+RSl%$dN;X|diw5`pV>!n~=+NzBEPx(fe)rwE{|pe|o>-^}m-0e|qai~s-t literal 0 HcmV?d00001 diff --git a/GDJS/tests/games/effects/Assets/Map/tilebg/tile_bg (19).png b/GDJS/tests/games/effects/Assets/Map/tilebg/tile_bg (19).png new file mode 100755 index 0000000000000000000000000000000000000000..86bea9cd3c9da8da4a6f137529395598a130a455 GIT binary patch literal 23570 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 literal 0 HcmV?d00001 diff --git a/GDJS/tests/games/effects/Assets/Map/tilebg/tile_bg (2).png b/GDJS/tests/games/effects/Assets/Map/tilebg/tile_bg (2).png new file mode 100755 index 0000000000000000000000000000000000000000..2898f422d66225ceb65d80c78a9524728f354dc4 GIT binary patch literal 16490 zcmV(}K+wO5P)!VL;cd*HbbjJsfZtrw2aZL zg4eEl-?Da&+iF~}$Y_Wv+i)&eF%Yz;TsqPg_ehPeU)v)Y%fZ&D+z*;>N90%bDW3mDjtP%&(7?)@`DS42#L3jSc+!z;)ZoN4wZYk~a-Gg>z2dNJRy_``(HXJ2rQMIN$Zv+^RY`_7 z-@>F9uEAQgzAU}Du;8GM&|!IBLLRiuT)xOjxyGfjrIoR)?y7Trh)Cty-MOumw6tuJ z%g`#h&5yyvZ@axnx3@gQwF9@b>dv!b&W*jGhOCrqn95`~zpKr|swhz*VYan^w6xi+ zlgX}icG+{m$G0@Jw`AFoh=EQ%dog~*V7t!AAhxwHxURIdp~$nJy4BY@wavrapzf)N z0KVOFw6Uwxc3#n;u+f~Fs*s_Wewe*yQf)Mgo@0TgRcouJtlSaF002EDNklhP( z7yvmYK6?hy`vFdTF!2C}_XB)*gaQ~|ZZ>>?alq=E;S{I@0Eq8KbH&exRXpK7ay!5r zl^(0757bOPLShEn*0OiX445Tbe=&G6ulHtAOOgf-G(~#{ig-aVtypE&U5b zq!cCT|qosbmf!oGJb`8x`f zI`awQqXlP17&+lX!9|@2dwfU_;X)!X~ zBk=rtAe0D4b}&9Y1Z@wS!3K6fG0$$Kx0~{=F8C;u*TXEoM2IwqNPO0~Sbk9FvK*9O z+XuFX=Y*Smq630)sZ7n#3UmmXU@q7r@`oi;f0f@q@O8jMU}Vem4<43Ph$QPjVN}1%qOnlnpRF zfsVwtq-~+(>dOz}XS)k2_9mgH)1%I#Rk=FaJ=~tHm`_HROgx`lqQGw& zf=Gk?Vf$`omYZNEE~*eSEr&}Kh~+U37sn?KZsGQ1MGK9Kpayw3A7HVIY;Q2eCwgN@ z4?ki|wy>&K4AV7H=PQCHZRFK0+#smmS+Zok*JGE&`Rq_<{GwT~|q!YEviIU9O=I1Z`F=FPYB$&p9^@dma#XU{T zXk4z6m?Sq`fex~kUp(H!{SrjpEI+=)hj9Se8_IH-Uu3QHOOT0apmW7NEzI6fmh1c? zLug9yzx)tJfyx`oGv6;BQy_W~wqJh0Z3^V4|1&6awy-=Wa<8=mJxllYZOsrq5d1EL zSiHhTv3o(l7a-f32mpcH-F!mx#>4Op0DXSaM8^QQEbEmMTF*#s2dGQ4|G!xjknT4&f6kH+$h}0F^JSQ9cg`_<0;amLGt7OLF^f#mr~M3VVEC)sysaL$wUFHB21-n18}$8mELIhyLBN_=itz? zG)(8Y0l3Q|(uODAXaIhcFfVNPA94e5x7-DnyQ=17i<%Y-XY1i&kQ;y-T*`K;b1kp` zZe6HaTj6Xu8VDZc2H<{WNYuYS9ZMqQtpE`kjs|8FReYpn)Vl+{<(bxNvoocnL`Zi| zv1T!ZX;<^cv-N0TY?WVto3;M~1e3?B05Z?>zIs(eDK3R!{}E#MOa1|FVwk+ufrONB z7&0&Ulf!Vl94>A|5Cr)LxC!AmJCHF%z=afI7|&LZ!#J)-5x3*~1C$8g&JO@;S`8G2 zv!~%AZV8h^?l45|0dAM#4iY4K)|*$s&48WM-;I8LSB{08m|f+)Jr0Psy<|9yd8 z+MY!I2<_)X7@>BXf;5t#{`wiQ+g*Zb8lG48I zN{XgJdqjkJ-nhRULgI)(_d*EMFoJWu2P$IlRH3}PGaePClP73Z-58utA$Dz}UT-#o zfS;cO6HW@^Zl3&77QTBJ4uo@m-xR)Y8_nB@13S~yPv*e?z7Q`d+wEdmzN%G(F_o=( zBC9@+F^gfkdWd6N=Ug|HjOUeqfMjR8{SXFvs_tW!rFG{e#M&!3aR9&;n9eQ$rV*Bu z_lV*te+#Jlq!|gF$rFcgA^`?e01xTx0B&!8WPfHNUu~oTxr8Bx#4#BHK0f7@a*Kn^ z0$_TZYcGToju<1xr~r6C7~)nU{8+0YNE|;FFdUywTLr+ZVyFb( z>k`Xi;RIGQ+|QpIj#K`W22%h$qBbHh-PJT0@5-9_mK(nByLwOn%qU9bkeorYWfA+I z-A~uey3x8Q>jl7!!l21&3Da@2({swUELj3xb_;+R1%2l4%aI(g@s<#L+PJ#vTpG52 zGJsjZs`vjJNDq>QY_xbDB7|sFxb?|y!L*!`0#ZIABc(LR+yd;@QDcU>-CEW1?&L!0<*n{CKo_503os4r zYybj1#MpQYMW5U0TsMVqUH9U$bqrJiFb$9}2Fu_JKdDztaeI4xZI(GN0A^I!?#m%Z zM;_O%4bFKGw4n9UC;P1nlCs;6QNUkFmxXNL%Y_aI^>S~u+PqETd zrVXfMt|T%j2>b~Q#$P6qIQjkYCr{t4i{f5;`x!?;;7?#NfMOW9zsuCXj3aD;1En@c z6~SY(5x+^d5eVCpBnA8A?D{4+46YtNtAvoraN8^bq19>$F$IC`p`|2M)c48L<_$38 zNNW9RSSnT6^?VuJp3|yT!^5*W@vuA+2cdnn1 zQ0Pz$F0{unC5VTU$)s0{XHU0DV37p;J$!SvuI}DSz;o~7nKwsBYB>#44(Agz z;|QB8gTbY+VgUW0&6c&l_WZvIWJ8R!=FPKv^XGd8Y8EV5Fnjj+=XXz266grgIw==~ zlNn~SS>|%NI1X293keiK8cFB%GxuhDJRXe(zV(}Z?$z0ceT$x;54?$0R?Z4)z24qt z3)ll>eF_N_F-$5scIWxZp(|I88Z`<8-Wxq&<%g%fEALvO-el5I#c_T=DwrJ(Smd)8 z7w269b5lrXFV^QIm3J;8cl?*fWSV>HGtAcn4>ADn1iIW@I9q`rAia&YkN4tbxF)t)Ii{q(~r9NZ=0yl9=S>!F}_g z2jpAuq`=IbOFks}d=uFA^kNbCAM)QMP%bB59;`jSx97-_12rQxlS(5WFTPK3=Jx5y zc!2ct{PR9BZveCm8%; z;=Z5AeFw(7?>8s~$lUo+3m~ zm8L%;Lm~W0q_C3_qLz0F^bMO{0jHTyZ`gCcv9&(l5UW;HxfVqN0k>!5NR2zNZ7eSk zj)?1viv@GQ;Pjiyz(+CT_K=XkP9|>?NK+vczCDImLw$W~qT25-DS-s8E?tdg!lNSr zNZ@9*-UjvnByO+(@6Z5<6n3u!9$m|y1&_UNh&Q}FwNb(0T1WMcNNK5cwZ{VjXD;4) zezQYQr0t~{0tf~T2tgo_D}e%emq2u?s-(K{H9-71pVcKpiiz)M_2qPT=6Qx-^18K_F6y zVyFXyqFyj({Idk6Xt~rFVtni2Qy;?S;L^m&czwLlJj53I9gU+A=ft#%3#<|^J z1r8p9{ER4k}fFFT*dzl+2@cu)(rob=Uoqtf1 zbsWbj27}gs-3I1_9T#J5H(U&s%uQHhu-2@O3ke!#%b5HK)ChA4RBF_D$3bxmqp*WN zpspl@Ksb{uf&;Bo{Lyu0oyGN&vL9O4@9X_}_B`w{BBDCe-o?@etG#@GzMs$M`~5u6 zjE=WH-r>SXq;I6H;i^*;03i4QpC0C8(BUfpP;?OioHP3t8ii~2G~yQPuWj*I_YNZUwmRiL>RbKXuWQ? z0xyp*Cmt1U!5`?N0JsNN1BQr=8b@W*$G#C%etUgRt(o2xDVh*6wE+vTo&$K#&7Z8^ z_vxpf?%TKVnk2%vj#3C?KW6n~_{~flB9E4kxm@^fu;6&kJXaS7KnzTVXf(nSP3Li{ z{91ihdtF_fRs^X?A{LOfDA| z2O36#6^W#2)``{&AD~eaBrGX0tl8W%h3NHdxy|kcK!rlYN-mc(1Wk4ZU?K;woB+aq z3o87v>rcIG|EAaL1(1j*0V@SD(_(O+aiH66h7_WU7@$L~GYBI$k54tU4f-BW+2X{z zQYf%YK`Mv<(%aWtQqFbY%>zKaUrSt0O!)zLQm^}AbMwpu-81<y<7d}=vBkQ@>v5yJFk_A40c5hU38VLluJ+00xzhlD{VX}%j~g4Iqd=o;!Rz@#f_!jDi`bMO0T)?sYWosXW%*&~|kH z*cx%jTU%UqtDA0N6^i27>$Ss&Uavr;z?x>lO>xlI37oYQc$1Td4}Uh=5)&btnP`8H z;rC#wqU9Oi^gV38agJ% zH%As4)giBKsq@}ux02`JJd?l|&1U!I z-%Z}MiKbjJrHOIFf=v%pX`M4)M{r>ReAQtzY8o4tm59}i`zNOQrjBhE8q|e_y5QFy zHGAD_%?iJ&ObV}EmQibA6mfYK2$DcmYtq{7CKC!p#mro1RcW&#vkr~v6gEwxyz)4bNxaqz32{zW*z+=FXogm1NWnVi}>FJuoD)Y0W_GK&RG zTuVz!OpMKjg$ya$7tRpyyLaiIb< z1~1bYLLxQ&Jzq6U9o_$GrGY})P$|?6A3FTNK&{sgFw|RTSJ)B7Wdm6B+D|5@SS)rs zJ`9Cj_C$7$pPc=R(cEuOE{OJhvte62=q;^ZT3=p%^OH~hQfr=bs{eukDAXBBG>iJj zr#d>i_ZJ4O5gYbAvP@Vi)~JV1ti0#&1GP+5hIYa2^;&DYfUo9_H)^)FkG3R7*lhxn zf|1qjrY;ZHbVoqi=T-fDAyC6cw9T?i$n-9fG6O`=_oCHF>NpF(NiIXZC zQkmVN8JYv2KDza(XPAxU0QQO(u|Mz>!Xlab|ena#MSMr49S zEWki4&%Fj}wZ1_NXuge6R}8Fg`ry4M+P?2nSZCq)&jE^A{at{KjpQ($&Y&}tY8I)_ z>W=iZ?P}}k57aekMr(w}Po!q%tjx^34h)9|w)R#hdJ)H#m?{(YP^z$32n7Jn=0I*w*5ficodSh>t;mP-`dxj`JcA)usO`f; zKYkWrnoj5nC^R$xkOOzlVAA;nXfz@~5u}ltl1jsop6*>JoSTAmm3)9gNL_g9#EaME zWaeaEw<0x8S=3vtgaH!>poEks30oLe)VuZMXogH-cDYm}Ae_sAoP9hVeTLJiu=`r~ z4nFn7iC+%A_a5e4-#h)|j}Nc@OlDFAe$r2ld4yy#KSDhC|9QRvYS6XmbUJmZc-a_} zJC1FR6jydWGM$w%e=o$#uW_6@k-9P`2csLQiE;V)V3wZ{ugqikg@=b1EeS6!E{;m; zZSP99WVy_4hzQQ*KrZ^MxC9ng!q$F2GC26n&hiJ}p*h!g-g)Suhc8>bUG8__^mp?< zg+)f1Ic|Oa08)*IEh|GIQf~wBH92tQbYoB?Z-|`v$64X<3E<0(ze!oWG%+<*njK5Y zS1BQW(2^zL;l)v5ONxrN4vktYwonBToZEq+tjZMTy0x|bBdek2d!K#*Ltgcn_uPCl zMuoSl^Z>~FexQqCl&qJrnjUOm37$8A!9v7&;-?UroIRx*l@TY(7}C5I16OG}GNODighO$#e7?rk5yW{eEmGp0Em z$WmFG(Y1GQaB##|=JwVe&bhZ7gNC`eId|Og5atZsCKWs9Pve@*L=tUpa{vipU_kCX zJ5Z++I?%Qq#GX~7Pz*zsmKYv+#8Eg+4+?UO9eMxtFW*=nyRAA8X(K;7A^wKk%-rQl zNmLjMFg-mzHWnsKiz<#P0>{zOmIw=a=HCOH=|FISEUklmDELx5Ssv}c;gwI{o|%bG zE~lIY$nqoST^SGonmM1>-@79E?qaW7sq}+S#cN3NaduLfnkzxlETVcJ0137>q8AL-&G_XnH zQzUWx@bITgA#EB7L{6&!f0PRBkk1<+6hffXA;wa%T8+B7gWT8D*$H5HN{n+%9o-bx z(P=Q~#Nst$`@cP~GcR32_@n_LdX;gBsfkia7%}9G7{&oaK1Mc?c~MqVOQMQasX!17 zGOG*$YGUlbngz)zYvm(-gCnhF*nt&f$XI|YGvRR-pj{8|rLgpP;vr-mIF}1WdKVHK z{45txbO>bg28i#Vu*3~<#OOQ_yr^7GeXcQ3wk7#rL#=kGLDJDb{Qm2QHs!yOpC7Ov zn>pY)NqizqC3yjDaNrD( zb!*oWzzhIfiJoT~pap?T@YrEj=8?~k=Rtb>vnbX=SvGUDEmS0TCSSX1{s4hctadm` zbjupQ?wLaB9d0txJ%)%LAVy+85U&zkX%IGj1n)_t>({T}z2O7Sebe-qFKI&R3b>Gd z8Ab}9RssG+T2XH=4%K9qI*$w9lgm{q_w-UIu-WN+G{(7?7C&Ed48t!aLl$v40nCJQ z2;jp6@XGCA1$3PF40&P90i2y5buwrKZCN|yg6+4gtJpYifFVMr?$ZT1`YCun9DdDM zg8An{8ZQDs;i5<+VH}8*bPm6MdS{+AKcTvMa`*1IcqPM5>cxhycJ$MjXJD?N@W7 z!rYuIpCF0zV8k4Q)+&Wff&Y!raq3Q<+d@R4H@YpCMkEn%VQp9m;oD|RS0T$y+ zA}K10O2cL$5Mt@Zx*bR&W^=SF1AQA6&ShC1k02u%B7i9|EWljWftYj+j0*DxU1xZ3 z=B)qBjzpmVKj-$V@2G`2%#oXpYVM$Ng(x>Dfx6sSz4rK<*&Dar1H9foMa4 zw7NR4V10fz?qrfztyF>_L1Kk`OBiD*1uKCtF)l$G&QlZ!#sVNZyjUO{LXRAZs%9FX z)~1L1u=wp2)oGoII#j~o7n1^jtOIkAL{JBQ^5mPKN9fkE0z#G`!~^&T7n{uNiM1l& zyYc=z7c3@x3+5lfNFYsA_dRp;_)CsXA$!$ja3tjr5zjlGqvu zNrWL7#)-p(IuKZqkYU0E;>!VyjV+SIqB|}^q!$;b#|{mQMqt-pz^#EhtUluRA#UU* z$EVf!Y+CvNDT@sNQ~UtyrvZ}hm{DPN(v=W$aXb?s@tb|l&>V5~stUln2KcVHBB=rZ z|6H_JpjL;79a!1Wvy~dg#*el&w0(GF%n_tPkA@>8G3_Q`?Gq!Mb*TAvR!>$JP|B6? zgpf^$k57?(32 z#MIPODEl2qWqNLNbIu*_JiPkNb*t`P2X-{(N(gx#WC5ZnrZVRD-ea>>C~bn_4+$x& ztZdcYNsAX>5zyQKnW_&LNH4pz5M}b%_(TUC7LAQHIrvr!S#=a&oQZ zHmj*hzJuDfy*`)6Ul|fWA{YReO8|2T;3sdcyPF1uG3@Fe6()jwfUsXO3sArp=m8@k z#0<|4l|p3Qz6!4cet5CJ3=niEu!D&uPAa?m+NO>Uj|od0LBRm14mw+@jwBbN;Xu)M z;Pj#T#P#b5AVZK60T+@{Sn}XP79r;{P70Ssqt3Z^n@EAPcabM*S%Z6TrKYHeR!DBLsr?PlvD{A3G`x5k7va#;&y}-m!_T za$1wGU5C62f!{nFi1=KFQ(b`U{CeW6hG)8u9e-6#yU_G^h+3^d>8wWTrGD+p56+yS z2CaD#2eT4F$Uy=OAjFafZzaHnFdX>{o2VQh4m3;%gww%`N8Wd!vMFjmSxc2428BI! zW~+|~lDOT{3|kflaCvTSb9wp0Pp;kveM*zUyixUAXaVE~)iE6L`}GUpwOG~yD2x~c#5178*tqv(@n z$0K%bh-3W6D_dYMDNIP%K#*)mhynopOCz2~LIFZ0Ly#B3ICjDd#Kyi+^V}29^o^7u zADVaUkUI%pG{pI48sPG!3_x7u;yo80IXTekfE>w59mkyrf8bj{;O6H*O(9OnVLr+n zo$#K+p+mC$t+aCiimHynxKpNJSzZasg|jpj8nxLAHgUHjDxlYt>n4 z7fc+D#OLIcQ8Q?z2?J!B6OA<$*+iK%7S-fr)61#pHI-vEz3cnVy?6Hp(xjc>^0>Pa zzx~ety#DvXoNuHML{jtd;jZSB-Q897^|pYI$w+gv&rTJ=LlX^vDvx9MIT2dyAZX6} zgfAZ_sSFr8o&1-g1Qp^h?daLt_F?B!4GmS#Bd@vey4zlmU)unP-+#IpAhyXJBfuBy z#&M@BrDw!l^A#pE^PX+7;RHDRd#?nm5vu=qt zI%;$c1RgS!2Z%<2m@1CAaA~Q_8|r9Z*WOvBoII&K)v)IICsNOkzgGLjHGn+M7J#`0 z5rAtS20(1Iru1Z!b&7UwmDn~nV&$qgOOA)b8#fkgJ2tOz!F`KCPtp}`?$>Q#gOpt=AOkm| zWaCUKj)ZZ#fffAs)>{_~ym8ZRz4h|Ni|<=dG>lZZoGn{cQ&WRp{JmFgp^s)v+1mfw zJ}i9bl^*=2ygZ9)qv4`oJT$9(*vO3CPvf4aN8ZmZ30MG-_)JlgARr^AEz&g5#b+j{ z*dap+C-6`_UPNdBv_Ov*ht-3|@sCKVTnZv*#ad%uY=p{@8J{XiI{DfXnTwL6+ zNU#vky>!btQ?{)`rX6ddh)&DaJ|FQ=hMa;RxSHA@nb|_yNaG_v#HdVS)qulj2DTF zHZWtYGyukAY5+6s0SjVBTW2Wba)D}O4Fo|jL~yCD&U}j9nupSIu)7OAci8ZAxeIZ| zEw|itU0&Vu$2Cv;p zJ8|N*eQ!Pa{o{K#BWS$+@w?AmboLKFWL!E+tK`mM{6N&WpnTcx6Ym^8Qr|~-FmIoa zalkJ11Jf20KnV)e7F9?`9q7V5g#!_?g5$Fz09CMJt>TUazI8oa1qFpRMZx%8H|}E4 zKdQ7fvOf-qT`IS@rcRd~M0h8n*|2lX3AfpF9Ztq2E3NR|2j?ukwXQBX8St1ilb!f5 zq)6Aj{66A~13KM??c2BSE!dNfLw9JheD?O+@4WkYd3pH{Sm)3v%|fv@B`a&8DDdoA z&wY-xrAze%Y@Y_Zy92)Flg)~Y-Onn>Ohh;)ibxZho|af`2s1!x0MNcKwTiU%;m9@* za7FY8WoJwocaV zl)L5d0VBWJiypjY&XR<>x`ZW{Co}LeR}ueBNX8NP#C3~CVd)zc0r&{5rKRQPZ@)eK z$-zTUqvHa@-=;Ww3Sw`~)C|aP*4a}treFxSrT@@t;jqWzk9z8Ln&C!f6Y&cTBR`}_NM&qDqesev&u*QRWc zAi6CJM{YUs&gs@R|Puu36j*wSD@KE)37z-R(8#6QcZ+aRU91fP&7LUDo?zZJ??|kUG z2hviIUrTO0c1WXZ^GdTTX;>xifAG#F6xlf4#9zlD@5AC}#9a^@WW%uh&0-$7b=Iu2 z@zG>8(#$HKg;onfZ~q|-Ik4l?hOlV`L(~f5e9@T8mMKr#K{YWNMRb$SfCUJx+FF-L zdL|=NJ{=oAP_?PPSOs;*(f0OGDCku(2~dT@T2LqR6-11oMB&lMpHu}_RbNt3TU_?V z<=0&N!1*aD=P_gu)KCnOG*glc94L1$zUFQeY<2Wl!60tl?r^rY`p00k9{3H3-5 zK;+a}-1v9F**LxX5JqgF>b^dEmBZ#NEJTea@-qV@ENCPhj%w$?Z7@KZVub;*#t)>; z5Lv+$%x807jR{KZ2w^LdR^0%gJ^}zkw7cQHu>|N-Jr)NZwGI1-8q3yx@!|~xn1+%A ztDm3}PJ=kMGUQIaGH*KYNvld+HcC*^7Ua!PA6yseW7Lg11wi!mXyprG?9Ceh%gblM zM&f#-(Ocg|#o_bWyAd`5(10{cnAsUsuDQgJ8kUIUn^B8AR)M2hEzvGl#I!G5SSw3% zvqO?N2OVyoI)>UU)yf-r1`%56wu;B&^)<&T-hz3x#jwg_YZrWZ!-W@PzIk3e2y&aS z*eL+s2G6}LZ*uEOBz+WLGL4FhSTa2qGKBcB^fBk-x;F^m4?m!W%fLzp_3;zKAjmC9 zooj0P4<0_!m9GZ69l=nrz8j9qv;>K>=#NS=o8)z(GN=e<0vIiV>8g5PT8ZK_(i7EN z5bkVmBR+Vi8+i)E?vn6~cj%Epopmz&!0W&upb+>PD~pTE)~@|x!IyI`#V2@oW4`v*V)WfZyaLv!M6=uM)t#YUA1LK8q~zq)+(xV4L9K@hQR>1g8`KO z&&O=H-gEM#;Yolru=dakG(GRrd!hppXL*Lc7BX*)tbq}dz_%BPb9O-?r*tvMRcKP9 z@P*^QO^c=UuzRDD(!<*^(EAAX;?f%c@ccB4iQvWj6S=1j#{f)LGfw$Xhaw{2;fMX1PvXeZdqFoe)4VC{B7Occ5KA;^_Au~``qq^27{HB*x5}8 zBanoWiqnh+CV+{Nv;0D_rL+7n2VzFzj-zOqeiw3~M9kiZ0Ts$M#9Lad05r_z@f7;^ z>}V`&EQ2*R_U`&fEMe&lm!zeQ0Kj+|GVv0;QxQy=1A2@S33UnJRtNb3AT2@u13$gu z5PqURem)4GF-}L>`)mdp1q>vZu=O8){YcmzuohHcOFdG3$y&^53yHA=gWH)m8mI&F zLa31Bpr1kA7%AZbmKc{yQ8Pa+jd9yUJuPVYxj@UorB+@8eMpA~0i*>xZ8&lE`N9ah zjm5o{jg7ox@_}6&k|vSgmy4Iqx#EtTG~5&JLfm~dK2N_ALoVQV1Z@X9twj|T+xjgV$S zh!?CLuoQxz!N{B!%6W5%Y<6j>kqey;JkbqtJ3`D{K4jBH&2*6(M|kvf&`eYmeV*rW z0A^tYSH8xw-lnp$rlOsjHf%`J0p7aw=4&3fFf9k8a=D7Z=$>9Telh@_I~)aX$_-1G zBu5*ilJRM2OM-M;#CJ~*AiS6{19itjOfNCs4g0)~09y18uLCM6aoRkxcmtIQ01>Gi z9}$s}I1kJV*{))^G3c3}&$toHPA>`gR5ei5*@DFH)2^V`;#L(e^-d#XGW0O`0wBs^ zT*Atgk5RW*#7BGpI0*=U2f#V-;T)Lk93P?EdFZ!HXodI?IHX%32sIgk8@eqLcasg* zJ#7V^HET2y!I95mM06xv&x|i%qdBmz-kB~siUC0rK)%abCTF9|pE)n&d971pL}4>P z8f5BBFU$`1NYkLIK|$R{fTo4f;t*H%F!nk;*}4A8;<7SHo11p-+LQ!-lai7qCQY0) zanr5?_uYNxoJ(@jF3u5z=cSG?Yyv9e){8H>lW`X_4uc>TK7C9it*XTfB<#k;ofbeE zTz6SbKYA@k!q)EY?70}qgtO<`to(mgJS_Ar5?;*!dDKR1PS&vIhN{^Vu60tLzy<>J zRVOOh;m)2mHVwR)Zl4=A#^o}m!m!bfmIPw)|7Z`{L8Yk&Lg!4%xG0(TOK0=zap zCvSMl5*hC@SeO9Pe-~>NhbT`n=F&>U$x7vk9l$TTkH}_|A~^EAh>MnXwy!(d-hpNS<^uVpde=ZT*T-@}oi}?v z%U!xI#CL$6i&YQrNie$brcLnR-cgUOUtfIeH*^Ls%mKkvh7tidA@7b6DVVasbqUc7 zkgh9z(g?b^e_sP1mV*f(>R?2U_m|h!E`J}xz~jfAwgAmOcP{Y3lW;)Wnb9N)P$01w z(Mvd6I=#%yPdfo)0yau(f$aij3L75EOM|$A$cg^m^m8{FeY< z-MwttZio*TRv@qU*Y5G>7H}#p0yJ$4r_WkA`><=BP+ehWi9$#1F(?T`rD~tg)zOZsBg7OblD60+aa5}4wn(1>>|fLu%xBzfYAS1F*iAC%B~21` zx^W4Nd+f3GJ9g~ZzGDBpH=kK_{vCH*cSlYR{+RRCH_gb&nXqU{owzJ|FKiYhbIO*W zh21!_jXI4WvT)(ncj3G9{C*Ow0K!`T{A}{0*$sX&;9#FXk0vG+nrCo!adcS=PJXDq_E`WBdPK9OQnJ3LhmrH`N}~M4 zdjXRCP6^QOU%vd!4;~thd#j`(p~fFIIRCuii{_>TEk z;0KBZ3n{|w71`cwo3x!(;U@rvkm^KY%?eK7=||INQk}>cGe+AHXqZvahUX$21sbZ{ zuFjS=6m6e|ybcvBp&m0RJ{hkVI~{`Ic@lRSJBoJhOaeaPCkN4=8DMV&;Bx=)+}9^B?+zSOr!Tr206DGXahy!YIbWllF~DDcJyyA=vi6t&tjI-up6lPfy@HKl znuYvmIwq`T90OY|#^Pp*7)EQJ0ox`nY>K+V4^|p8#+RO3(AAE#nH{TAg~MJ~sd>i& z8;(x+GD2_RJXCCrjm5=MaU==1r~?n=cR&EH2f*zsR_x!uf+_^V2{Ujh=WtwrLj`I{ zG@A8VqwjjX(RaoGckI}Kw5oPF0ajF0l*o;+EBxC_3LR2CMUCU3$IZ(DS}C2iVlqh@V&M z_xqv0l9CeO%eFye{)!4GD|(vFE*f}=uq0g&nsYv$G8%pixfYWGRq}&1G`O(KW!<{Y zF6^msEA`|T8!G^%4dzlDVlFS}0UTc6N{Fv_*F^DMvkl;90tgBE{VQh9#M}Ovf^c?x zJO~otG`zuewVfIIXzl;F@Y=HCJ=<#$IiNqG2V?nO0pnVy^Gl5I6G8~MtnW;TA0rAO z2tr^*Rs+P*ywRwo(e9(~hHVJA>4n}niYis-LyDl&GxCBEXuN90%#*8nr zty%96XBnXBiH~|0?*lfYd2j$U!#e;Dy zI%9x;{!#0P%;%-2&p&?rIAgDt`Y|VQ!lf0(2nYHRijhx{%Q>=v+^PsOMqNIz8b&R; zV5&WU+?&G@HmqD7J?k*%<(M2_QE+6&7YqrGy&)6V;n-EA?sGTlakptL>)l-w%~4~J zMMH>q@F)V5MR23{5c@EZc)nIRlDcJeK^w66T= zr>AhA0t!OXH4&SZDQjt+T`^J?o-WOg8f0iItSBt8Xpj?uj5UXfk1?5~7}L?w!<6~M z@4BEp`4-5=7{-RZ$7%(_Z14PSEZ7=JuZj334Y0x3BKX9E4S?oF(6EY`B>33%2Cu;c z5F?DXG{q)nCD)*SoD*X2P1c+WNA7vjY>ML>KOlG>k7J-OQyxrXu^kklQ>qZp@ zp}d}UMBNrNs|pIZX~XBPM!OF}#bYIIs1`PDl~S~-=CR91@s&089@w>M61r4_)8@hO z$S(pgE&_0X1d&u=A$*L9^H2(m8~VS00SNucn6!2L6F;qaDzh2@HHOisD*JvAP^F*8 z>5i8Gb%vqfyaI@=+sVWb$%ycQl6@8z;Nh>_0$x`*7;?J3UKI?e*=iY Vi!tQ002ovPDHLkV1fZUOzZ#v literal 0 HcmV?d00001 diff --git a/GDJS/tests/games/effects/Assets/Map/tilebg/tile_bg (20).png b/GDJS/tests/games/effects/Assets/Map/tilebg/tile_bg (20).png new file mode 100755 index 0000000000000000000000000000000000000000..c9680bfbdde33feffdf426344748ca98d8f01f97 GIT binary patch literal 28189 zcmV(-K-|BHP)%aQ4880Jg>evc(xKGyu5ATWEFlzJ~y> z!2r9;0C0f-g_Qt#idkW70D+PhC@}ZGhXHPU0I0n3yopm`Z2+vj0ds}9d}jc#z5tJ( z0C$H0kfQ*kxB$l30DX@EeT)EznP6jW0fm|XiJY#fwE&^D`oW3;mZSiToB*4z@3@5X zx`V88UjTrQR9t5Oski}~sRL_(0G_gsXG#H;snw5m+^2N_rLqCQ)JqHqZ(GnXXz8_tkYGZLi<9%ekEx}wO;um(w0~M;S|~C($eM0D zR8PT?Y*Oov%F zlaQKiW^5rwLt{oboS2~jl%E+hJU~iP&zXCyfM0J*HKRzakEVtsjla&&$OHbk3z zZG~G#ieg0B#=6F!ceGW^ zF-=BFS5dl*cC>?RL{(v`pocE`oP3`kVi z+uO&Ffx4)iIAm|Uc3|~EPY6_En`2SXyQ{2@Z!&d$iGP7YVP310f*F^hpND#_g?L+q ziPNZsu)@W^w5?H=nG}te*gZuDp{BHykBqId!J&z$uc|SZp4hRRur4@`BPnekB6pac z#(8T4*zF~Rir$5O>(9mQS6!$`Q0uy=e>FYOV`S!*mG5wN5BI>Z003&(Nkll|cU*2r>cX+zHgTdhP@Z`;#w|Dn%-oJTs=;q`>+O`=v;3*y&ad-0m&9lc3 z%`p}|ul`d2iz?l2{Z9I<9O2W|+1c5q*ROYW9v>TkD|TyLRdGpmNp*Ee@g*<$q+U@?Dy7zJ5N5$pMZEbB;bz-}P-fqB&rh>ukCEK=h z5=fJi;8Xnaou_-Aq&XuSm2v<^|3`ql0ce%uDC~ArnlN@>y_#4J-OvE%at>^)@#Dgp z=H|M(M!Uziu;BB7E~BaL?d|R0(voeY2X=-Lz_Q4U1r5ZXZaRl8JK@UQhxtDOL>eG6 zF06E4C3b;_bOZx%aSDJd02CA2J)@&NJw3{H23`-1;052ZZDiRyi2$Z z-nBHGUM>2+11ze1(J|g?5QZz=tqEe6Ee{~-7J&9fOb9}J2f(SRDdLuU3LXlg<>ir) zsmc3qO-}l26g8CRK(o=#w$dXu%g*en<9RJu7~rn~dR}0E{0pe8G%rqs#IG zpcrs*TRE`N-&kY!`@O=iw^uA^c0y1aa3qyJm_&YQ%7w@TwCQ;~xwamO*pOw=!4YuF z9_RlAAj%xDqsU?SwXz97nv(F#0PHyruor}iBKNWeT(a3lQkHc9=9G0HQak85d(shP zvsi2mgJJm!i~e^2Gwx$^R4RbT07Uf0faH*404`~Ob^{P}S?}feEyHiqvi9^_{C8fM z5wUlAy$4h2-4UArL_3404v7Vt-2Qq97a9H204s%FMh?L3B@+GY0C;W$EC8_4@9hPk zP9weD%7Nfx@M{?x+l)t^?r+@%V3uKr6KYNbx~Zvkl-`Z(Mo>dT!{FQvccoSiVea@} zEY$rc0A~0(91gcT+~1#Ab-5D6u>xrD8132B<^E;SP^uzK{!i@6<>8vsswl7*I#>;#d|Sn*zuPILxfqNSm-F)sliA z%HjLgnUQx&NyRV#;Ws#kRGN?ojiR4K(F(*1n?yN?b}W^uK?V}f}*r-ch_dw925gypKYc7bQ={$Xa>Jr z1K^+39|c$7FLP5j*@JJq|1=@73%$0Pid<`vBMoz#0IKDrGaU z;U@r78;_qrP{r~7w*t_q^rqAKs-{N_M{Kxna6s|99-R**KqyiO^TQZbN|8g$)4u_* zQe&f+!H;{&e1{d_tM81i_P35F=KEX;9GJ%sfa1W#LI8VvM~Pug5Pl?K%gi>75Gs{%L!U6xg08w6fK<(@v-%BO~ z71wTc*1zNG505kYC0t$S0UCY=psf(VoCC#wE#SLzhb$ueo@{JvtSPN)$vr7tVkn1i zV(#_pU0s4O(V7DYJ8eRmhWGCSG_UHFK9x9J#4hF==a9qU*49LbPtku7AaAKx07sS= zJm&$L5Z3W4@Pyykoz1nUYX+cVxG}TAHWQ&4cnEw3;J_dbl$$F=Aj zXog=|W^PS}(0o^YJ(lBu9Vjf>*o6&F^&A9%L~t~EUGw|;^E)leqaM2eYy{wFCWI9| z@S!n-Fh#w$_7r|bAMS`6c6L78xl%i51Uk)dIzD*4Q!I$Yg*qea%1}dOb*<<>62f$t z59?92^!4?1h4#V@Iac(e!`*tyEBOFT1Pi~fzmB&o_xkbyLQt*V8<`MBEzX0fe1ZTp zx+2y?gH1UH#y1B$JG(T(d6z46+8WL}kXA&vwDvnH{}TZDDqAIVL#wW6{qewuPaZyd zh#WHBH~=VUR}&gw&Va{)@A!BOfD0@64%7g%Ygph@L*Uq$(}@MoJJ4t_D@|{DAU>AL z0fb;Elq8$DMf$kH{lp6-|8;=fNbXgs{XG7G>oMEIz!Aio)ml)0Hpiy zhoSd{Uo-9fDgcW6R#$J#Mx&t{9~uWT3!a#m=7Wmv#8au^(S=3m>Nt%>Txw)A_7MsO3JnB;b(L&CF zc_Sd~g!P@Y0?4Xg#0JC7csxEB(~1vF$F(*s$VSTn6oMes028N-CnzNSVVHQ%5mXcb z$m74qfue$MmH&VVTjCIS0XB6s%sozqs_HPGiQ@9JCw$jpy4kM!d5&H!M4Qi;V$E}D ziAZJ6G3v9!??FwC)dxS5M8K!vC5A~L(d%pXo6Co?y69Ox80Id#pndM$c=-RZwi z{y>~uboLJK%u@Hs;dU){HVxLsVwR;P&5ctYXmoS|dA%M5@PP?o<{-=HTp0~M0QNBN z6@Wbm7qaj|xFT=~yAjKXlI1%dY;MjS1297nfI5f)$UfQ^#esowUDxDX2tYjonqvDe z0hGmoLi8Ntm`~7El$Hh#OQBaG6*MbXGhXkBb8GAF*4Dw)MkJVSzsI-WnnGY&MFLlgWfWejV|1qixZF&_#@QyoqC_0=EGY;7^I zpFzy+Bg5&P8zEN{UwzY+nG>(Kqoc!ar&Bw-5db~iV|NxV0u1UBu*LAx0-%#5(sLlU zsn-CgWrG?BvnCXN09-TxO(r&pI0V4?dIsg>UShAmHJpb~JJ86Cg-RJf&j+-U@5hm; zSlA)VSMdvlgkQ81f>&5yI$2lzW@c==>pRe!8{FAAaCX?qvsSCMMoIRKvZ0Rdma*jp zLKx{W(1frg5jbSxclu~L_VnOAF95ONd$cKGry-6Qa`cjb)gMlG*5A9wbkPK{t_5$9 z%0k3M{bH9(rIdcw+cFH5;qm~YtP67-|2V-)IUPCf&;;q3u$jD@e+wA{c5;|ITl;Go zAOs`9$l&X*&(3U|Y~eY$4usyZH9ecj8!(G_0P0I36w12gL|DFttun)~ao zr=RY>xA0!iFgXN#0x&HAm(pTEi@D)K0XP;1ApS%7i5P+*4RDbxl7!%%MhL$ALOR0> zf)2ybJn=jLDTDdf`L|W*nxYS8=M`|N0G7kOk^?x?5D9LxJMlU@{C>O!uIA<{)K*nh zU0u~yS5;oO(iA0T^6A@pf>+L+}Ydg|52nQknGc*R3q{j@s+0q4^*O(5yqZq{Ks6bf(l> z+xIR2FgTo+xgICcksbrF9g%C14p{&=M-G8so&`-Mql=jOz9{1k2$MwdUMr)$;d2q7 zwjp|+tE#jdty(bDi9_&RB*+u4EWm-2{19Fadbd0*HXD4JUrAY6*`-UDsvk7^dVMuj zAAM2=PLy>Z_=cAVT;RcOVj!**i(6tAuI+HX_nrVm>XMSOOI(K9R>P%}9&7O@pOj!o9EpfyNg~4p@R9|50#9aY zl*tw(^|vjOJ|K;V`_kNYb=WF!G@}&pOA4NzfZ*{W(gZcYCI&&NVxl-ucp|mTz=;PI zT-7rFMS$5PqD^QX6>M4>AEMq9euOZ6AW&MWELd8A-{or(>C);8%|Sxc0fYs&Ro8z_yZ4J}E0H!-1EOqG$jvr^ZMdl*S-Kdg6k%w;aT&PKj6$|f+ za{REYkYkJ$2dY?wVW7|ucDtm{ z^#F7QLWiqVhOSlcUA>A69hCt5bqN?#;auDq<*sbWoE)!6w(gk_E-V0kdaI9$tG&zp z@G&7ASyHx%tbPB}8A}9u{A(*`d8WM1?!$c6wrbert4v$4yt$@>3TD_zz3uTZSMh?e z$H+^I#2Ombk#b;Kz(FrxtkT5e6X@tDZqW~pzlI+o4+F4C4T1bXpidrF1P+tQB&7`a zi~#sM1T#T>URj@N_oy)*E&j8Y~vv zjdpDSLnEqkwn*%v>4|B@Z#rdTLK52?G%oBkl?)LKK*mG~XNuTW04Dmc{yxAAvJAps zyv|FR*WJ+DOCI8_Tld;Ol{_EN*vyu%QUkEP{f+u$_}Q~BK4USTGa}EPJ^SX-Sq%ap zvf4*`M^~&vRpsR+B1H{~)t5f`MByx{^9%@r?9^L{mJ@%uH!4yVindzN6g6B{JA zFtc7~RS;lM5^!hckf<%UlM?a7yKvWRO1HbJ^;S)Mtd}Il^Kz$K7ahtjURuw+d&>igzhNT zY94B?f*{3=9so+hc96tFB_aq&0(3W_&9kRPqLy^QCti04VFvnpe5 z>E*t@z#ag>^-Doda_}`sx4-;ydwYE-A?JgC6os#zK7RNJgns|Z0@vQJG%6zsKvD_h zii^uiD)Ph+?6Bl$e&=83% zvDw%}vG{ddC?VXW0rmk<2r>;}KKFbMMA)p*7%0ok82S+N3BJpCFZpR7yS=~#fW~|- z67yyFVZT@2Xm4L^nyvld`&o)g- zRtyKG<$9y*(Wa(ZhQLMYXt5v!RjvCR0L=hc$bp>gOHwI=kF(?RES8Zyl9z8?JKSRo z1X=z~LsSO5Mff5CID5rXTl?835v z+g4kI@(~O2gud+Z^(Lyo#W(IrG&2Bdf>(b(3+G)2WO!YW`~r}XP7i&36?u#m#B~ibu{qA`*SEjXE(t}SWg?89$ALo5TuPc(MPt6bz)LR$(6zp3a$Hsz-6|O$ zUcOe5NN5L|CZgw_43rvRy8`&`6`6z3u3V`lSI!MwiFE()%~y}^IvEQ6%7Rubs060E zMh`2g#Bw#2jm|11G(wv&<{d*;XLpd)tpi!Bqle`}*11T$kP~2rqt+ei#%$YJNlD61 zErEFvf4;pGn>)UB>)K0!!&Tw;JODA80Z4DIk7LKR1&4vsmy{0o#-YbXHHZn5rPnSW zCLw18I3xtAUJwpc1kVAyq5&QqPfXX&Jbv`WXFvJx`|UN5fFB+ddOx#vb|I0KVH~#t z1rIC@1ft6f-3#Hx85mfC0U5oRS+*8qvl=ERr;&Bpi>z#QTx^`mzGE#a*|aZX+a}A= z9V$wwM5$~oyoeo2jH$bpZi8<6J*$MLw~&;Rp2&-=V*rdVihd?e^f zQ7uzsp(vdO0vmdMj~jP`O!=S($_NsKvivzN4OcCnKcw5m0|AXg`Sea>zROFJMc%OZ z;3uLc8lZ9h`uT3^Xv%0!#Wy$xT9lQ%OO*l={3igHAG@Q}-btg`zCP#T?+I3^k4hVO!cu>~g^jomOw!lOUnke8K~USA)@k zv3EZG^ucFj-MAv5r^DYTCzoD>9_CYeHRc1|KrTmN8O=lozJ2|~o6LnZ72i-D2tXlc z?}*G2y0_j66}Z4p0E+ntV#P;A%^)}#Xf{%MC42!rvjA1yU3XRi9Gy+}48Gib@B1g; z+1`ZU-;o3?ylxPBi4>sZ&A|pA{5(cpC*>u$XLtvD%0uH-<>Kk>GRBj zYZpD0-lw<^Xt?iWU3y6A&5g_qJ@wk+);#N8A7qzl8sB&lVU2_Mgc{I%%?2T-0`MU* zANcfUXCSpq2Dq+WH)RGs=)tcBU@HJmlmT|VfA4HK*>g|#hj*Sj@%p8$&4qvdoxn%n z3qp|@u|p-3RzjLQ49OH1%+P9;B+cu7m3+%%p5Z^voa7l&!7~<};*&W3^d#dR_%w8d zT^)KE(a6lRPmK*^23UjLK1(rk?nVI;z8bqNN=__z>!gZv09x~rSm+hBOiu-HDeScB z1D-KonVe4(__2>Woox^+{e3u4>%^L(R0*_4V64CLQ zkq|XC@bnTpG?JJ-5cMY_1H(_zjEz10W#%*)^*QZk(Qmc!x`Y(pm?c;1JiHgp42*Fz z1k-HF%7N3lZ??~#J^W0>wobVjoWudQrY3P6Cy?V=w2b!*K3lN#KhfVDXep0;)_i=Y z7GP_u0>pwggwJ;;TaSc6IQah3((6l0^IOz}e|tq3siRGak#$8vkxYD**o{WO=Z*7S zEed%y@~|g*=Z1#HG7+yw3T=`~1}-!jtn`kBcTNhuMVl_l^m5T?MnoO-8bwu+Gjh6M z%q?zj?*WkeSRbm)K6qIBiTQ4|0vQh^Cv1}p2r?Vi7lcwv{}aABVEAIcn`@aB7+yGL67j#jnVfcw!^WpFh7f%%mcPg1dtlkb-5_g%Y8>wKAf^D1#mU30qDlGe+a&32SO1` z#masq%rdMcj72%AmBK78UeaQE2SD~0&gsHC2$6OREVx<&f{&wR83=Gtd_!t5h`gZi9QY|a1YwsB!?V4imzZi~>}Z0P=t! z425F8XYg#HAST>kYUldf9B=R3NHpYk9NK`i6l(A}>6A-ZL+l182wlM|@+d@&aj{>F z=+?SXaavJtinBDlgL5*cR;-MmRq*t3ekc~ApBoKEihnT_HduZD)V1+*R?ExTcH_KS z83RJLy+pJ*;8TDcEX05X$4Ny2w%q_Pp6@F0>l!^{;i(6)B5I|NbP9r-8w=O|%EV%s zfw|s@>v7CXSZn5r9Iqq}3P+c8qkRS*+O#%F1eR_@_(mLu_5-iD?3SRb{IHh#HxhRh zo5c#Z67cv$C`trKGK$5Dxo>bF5{5_tTH!zV-E8bP$!2)fJZT>Bb#^v4`-}%wwV@lR zB3K_F5sVB#Rag)CFr#5B=Sk|q!qzRHFBD%LdpzS;dX57fUEVCyb0jixP6B#n5lT|C zxti$Z)T{*bPB1G}pxVqab*5lOv@C|69SKdKl0W62;!C>u93x8j@|lMxD^qh6$hRN;055-3eF(B=gs-TU)NTz z6_zscJ4s>E;Rg(90(8iuiG!gLP)1tWI9l1LSL58=^(?(YkChIP7*#;p)WQYBjE%0= zNt%1u<8dxRa)ETz=7I@L=_D+jZ8zx9C+u`Wivwx(Wz~W80a|t?h%LJSmi^Z(k7_IK z4G`@GFsy+*`$O0K=AVS|;y@Igte0P!YlG;xC%4-%T# z(~WydfmWoAZWEC$?=y|NbtCfw^jp>xF8zZ)E6y#RKI!NPQ{zT+u^1P|b(`tMeHr!$f ziv6I*d!PHSJdq`d>=(kwoa`UMIPky_#)A7gkPA(1olo|>{lR0a3!95Mn$=Q7`+?Zu z4a%V8x=PP+s_H_d^d_WTGZIm2d241aK(uuu%~(@6VrLx`0O-+^gx^VfL(;O4!kuzd z#RW*dXfXK9XO67V%VW_ZoSaeYe`FlU zR-Yf<>s*;$={&%Jht0yD?FX<`#R-pmK7VC-V-*wTVEA}cesR1<4b5+B(uNfoA{LBF zrLo#V8{G>Zi7tNvf1{x z1m9G9mh_ROp_kn+gr#_<<+9T6^EEXc=)i-s@Mi}&(DV+$Cp+89E2|4d!gz6MEEIB~ zhm5N#@}%ihlQiSzWq`>goK)lnG2i3S&_vw9z@~20ej``v!HwvQV}j7vpKmkym!oki zC+^jTZ1b&{k48JxUcie0Y@eE%%u-0#F`$jz6`BQ|8oxCTtOdzdk#7$Nj+Vy2dq*!y z5;;Kp5cwpT{p06rn~RGlv7uD8eg;20=w){pxWpI<-qjRzI~?OUAxu%Ik*hW&wPa?7 zhDS(7R(_?62QBBg8=9k?Q2xFal}4K69T{JvW5W$(g8=lVCqH_DOiU`_U4i}6?K=Qg zCMD1#c2_z(1H!LqZ-A&8-ys1ek6Z||@w^+JY$#0UKhU@O`L)GQ7jr0shf+kc*TpoR zG}e$+ysHV=mE45zi;jVMpqV&C>;|Ruv68w`l*WisyJ*=Gqm5=I;JCyN5zvcC(_${t z024xX?Hr9%NyZOh!faqVuto^i0Bn-;o53f-eCoa%a3CRkI0u3bf_pkp_k8P>>`kBl zd5SnzgvD5#(pH=LX*a}bI(3cSlI{^4D#ko{B|$!ss!)eMr%G*-b*WRBaip*oWsBfV z?Enl&sk-A6kvW++GHVfllUe=TGU$m|dz;P;UC@bP921I;6(}fc5`0PkzdCuhlyjVtB$qQ) znE7cAH4Nnut}0cic`H%JcyD#$2V*ri~$XIBTu8m8}Pr5N=RlJu_9XfVn9kh8&Nr)uNLWkVI5c!RLr=nlKQ>Q!8*aY2xlcmZ-dkW6Kme%iRQ4|{ zK7q#zI|aqg8h}(bKHX5Q0ew3G=EG%xa-XUIJg5*f2CP=T|AqC{kItMqRp91eAd-P6 z;?kz!mrT1I9i&xZGtRiCu2TVoVy4pbCwGMC7V6MvB|n$e?5nZso!|porEqktcv;_v z20)Ss^z_CS_!)pxE50U9h+UGS(BrS_I>K+3c&&B!MAEV)7Tr-!&L zNzSAp$WH*1H(l^)A#-GovLnT)(v87X%d`PyONBlX{D>Gsbw5)Vuj3}A4@+r-kD|I7iSs4_7Swh#uF49Bi)Kq7u7JWFeDtLh? z4Ebsw2bKd^HoGgqx&TLO0ovN-@D99>M?N|E(E1-A&HniE2|*|sIYU*Gic?gR6o^oX zS5z4rk&`0NdTnkY@uuNd8T53F<3gQra0de!Ua?iauTx_k1J@*RG?fT88GtkkY}Fz! zS-WWrbL7H(#z15o*rE>PP>SHr+9YBCc9j4=0zj+ep&bZ9!Fgrvrl0S4aW+5OHBY~l z`}wrp#m6kjikinH6Kgu?*)fj6F(^y$SSzIk5VCwMZ!a}7vCFK4vPSq?z-nDh-2(7d zfl_v$0-Uxpj+@~ps&ybI2RqPWY~g@>^+I?zz#Dg<@XY61C63qEUkT)Y{Gsd8V$Qr> z>G4b?O|nR{dSWw11&~ZRw3{W}i1I2NP^~1G8Tu$&$Su%Q(~&tUbvG9?|8BTh3KI)R zj^aSF$cl+vzJ++v8q_+F>-KY?ui`*9fmo_y>NxOx4Zv1wzr#BadV0(!$;az`J^B3X zz4HWeCO0sY3C73^l?FVJY%kBBcA1or79gje-=#9WF)LaU)Gb=|F&r}d$!xCj2SAeD z8w8DVvrsr;|Kbbi@sa@K%!Y5-fjstgpvtCS@W~SZQC)yt)c|kQf#eV#1oC|hg%4j} z{bTtG2uJ5nQ&&HS3wy8n#dfmmv-X*3=FdsHz>UY@S0#7Cv6966)X?c-%1ZWlb*k$9?$FtR54(z^{n-Zv_9~fm(sWqv? zpuNkD4Pe%J)g)`B{A{Q2iM3nSZ(75J$&05J$KKcZ-}uR~_PBJLFPVqjUOYpA8PH$({8;AOX7R8uNI z`L-AkfYyOFkRd1A!2l%-CofzmB?fE7I-_E1WvfIm^f<{QDQT{+;ll9Xi96}H=D2NA zN|dcFO~sb9K7eHpFX}1!4K()?ao-7_IXDR770DB z<_GC>^(jJLn>|%1<}$t9=Ugm$rJJBDlp|8mnUsvDo_-o|Psc38;^|n7ZWi}u(NgqQ zPxacwnbPuRAdS(KV5J0*6w*TLFtS6S1>z6TSssVoe)py_h0>TAJ+!WPnFBGr~j}2(kd| zf<*gXMQ$(8(S&$4C;yLvH{KW;pVM0ypes#a->Wt_@H+I3CgSOF;Zi%ab4#L!co ztu!3Yf6A>Y4c8w7iQ&UKuyuz6$srfNe)s6nW5A81a>O#tzOoY6lb&Sr#P?7&ZP{Dq5&1K$j=%(moafwE_T@$ec zbf0;$B!R7)_7E0c%hnL>+UR!^q}qo z-|?eI8yorIW5N=jz0qlyESB;07%F#l6{Y&!)zq|HG3 z6a6a&pq3p1aIge$v>Skp$Dm+j21D?u;Kt5_QLTinir#mPw>9pN{&@b07a0sU?tgSD zIs4YHTc^e{b2+`OChlDA@H;Nm-IsUW&8KzGzkvq@;N!fVmQ3Mq^J~8g$Vx9F3r%yf ziquw;T~qmww{wAsql&^XwFyl$F`A5sPBfdiCZ&Qg##b^iF=+}haYT&<6d!40MOywoV#_s+R@TmU@=R3BhffN~s&i##2G=m(eKOg+xT4FGl^D-|I7&jAQ| z0iq=egvx}RDyvC-yhwbe;^zML`pP>uj@tIpy2dxL82K<(a$}Dk6nCN6;~a#9i%x$E zec;aR;3ojSat;#aHCXq=c?+^{Xp&(SlG$$zj=xA8c00mhQ-{0+bw;=w=G}0?>Lm#zHofaNmG!Tq zx+FZ<^r^99$JSu~vg;^_><2)onE;+bBN5=EH5GiLm`7}g9E1{6GLj!|;qw$(hA6Bs z!hrK~V5$Yr6%JGeQ~;@1?Uwqa1Irx;&PHH{WjtYc%uTv488{3>hr9$0O-sg;vnpTO zvHF2Tr;Qzceueh#-TQM(=#OLn{0aT@?V&^WH*I5WZ`w)s15gHt@;Hvwm&mGr5ltAG z@Sm)OJH-VseH6w#mz;22fCE(*s2q6KEghe4Ab^6Pa-hklVekbExgmedgJY*o%gI`D zHO+u@{5Cg0AATJd>0;zM8?I=7c64dP4z*#kq?VRYXXoF4{y_TkuR};*XbZmW3=m~B zC}c$t5rKm$l#l?zd}y^wn??EDZ8>Rtw>S=j0Udy7e&HYhGC^c93{YVJJcE?0=@d>V zCMRdJh~DmQ;L|l7kZ{fc&=4^h-_8inqIA4+1642AjV`f6;MX?wg8(@7YxB1KuphLo zd29`ay_-?NKnsm&z0=ywqOcNa4;NI+7>v?ZE^PM#6h8Z3`#`p!3*heVux=5+atGl0 z*#I4axw>Q^(?Q34PO~*7FI-bkq~sd^XLu0}8M;L@|N2umytgFM*%@j1OYr;qk3V|) zw+n#H{QyXn=~UXr`_m9Ho=ud2L)h?ip6aK?U}>VT*MTQ5+<{=|bzp~;tA~{XJpgqR z2;m@!(Cm-^WY?!NK+`Zy5kouW{I`@V3w7wCg4IAnrP{RIeXlRJ|b#`{P z9Ntz&4Y=>5g!CPDxjQI!TdYrL{@;GM6b#R35=B;biv!3aL?W?d z$-vC`(9pNw2Zj0}+CuKw8roXwkv-SkA<93T0#2Mf`U6y6@jyim_!SfvWs1V-DawNZ z;&kD2^?|dRaD7KAK=4xl(@Cdz0%5E|_R1C@d`SNSPf9|>twYJ z3T?&M4jZ4Xy#oMg7gxDp2^2-?K1B|!c6m13ZTx-9DD!6hTE%0$iy8 zVyCEjWN%pm)OCK5!8L1unhx%ep-;koqaz~|6GviwI~oQf4!}`t!8dB7%I4FpYrnq~ zOXcJ$L$SmVRs39wjnKlSgR;z=?hB`%i#~1s4wOvs<#OQ3t|&~qc65ZfrK%=84}b=w z;%)Xa3BRUmh8}1CJv$MPnWh!nnCKJ=J+P~>p{lE;2kS!dqzz{ub*zY`yLAv;NcWj} zInHL_BPAWEUilDbW(S^}1PF;=^EyyQVFfT4hJmtmpdqDrWG{nc?dk!*iPi0K%kXJN zU?L$sI9OHkTIm4xF#LHB_UFJR6JimzTx|`4R5|=8mgB*SvTTNDq*LiFqzhz#-u9b5 z4-A5n$AKl80GbAmISBoNf{39TLRQtmt|b5%j~NEC?dTP&1;94DzqGjQ%Ci0*Eah1z z3J#eeA;gUn%4;wiBNse~0&FP96L|T;FAAZTp7ft`AQPNVA4vR+-0U5wX&L}Zbegsh z_kq6d3r|n~*xTM)-DgpzZ3gaZ7!?FVgZpaB-hW|J^I#jcfnoD< zr8cyaE4k1+lykk$;6T*}(wVsr1i&y-v+NxxZD$h1g-GV)dY&~s{@cufqenMbI*n8M z-mLAF-JsoDURsL{8O!^zy!&oRkUfaPOU&SKM3E~UxN<=O%vQ_Pm76fhL7FOX!wXxm z4~gK{eP7>cAzMZ)C4>NYZ)y;^j{q)~G%26;+4%TT=*F;5hp(fzZYr;cMA(9(#iiwV zl)?J)>WWa$*xtLb!O1Gx{RAm9b%bKoza&SgHPsGg4-ky_m9Gk*N3fp)2!a4e)pBV7 zmMk_vUE>1)_l=ML27vcjejf(QfrhusdpVbhBu1-BH(>`p?6O*1Wn+c>9vJY6N1wrs zfIF@c{3s$5LT<)1Ksj*^gs!;a>%Jh5(2@WToNxyk3=jnIrx{S7_=C5r>KI_et|%?P z=ce`F;W>cCyGF6w%FnkUWyZ!GxbeyDS8Qr67bSA7(b`3G;JMZN|l#2i;jp2HmwYR;#*bcguNq6ai{=LQI!Fn~T2gEu=uTO!5`EewF$n{L?u*))2_-+tS7 zmuVW1j$!h$VtTCZg@`4eB7;WG!onmB6(~K7^(Yt-Z$54Z;^Z=ZI=u{~R^q_&*k~#r z)6mRd<-IpKL8Nv4{Kmo#3nFCNOck4VJ-%i$?MX^IsY~T#0ZkpsfeN64s2r#aNS&YsKE^@;>INSY zpuS*$IyynL;YbL#=r+c3^P>Bn{II!s%MivVaA0j;>e$(ep7u>s6K#Grwil(Um!cf$ z8s1MBlY-d-^p1t4{@a1cp)mMGx%9;g5XuNp>3ALJLmNJl2-%^C-E(2PWyY$vywbF7 z%Mc7WbM)w~(b+e(EbFvg14PiqE)7quS%vaAL=LLzI!*_wkEsrX+zu3y1_Z#Y9jJT6 z__T$}Z}@U!BMi{CN8?tk`m-nZzqMtY0nRi8W&=bg8H+VG)4tYSSdRC|-K%gj6FD?= zVjL**XowA{WpbcqWCG}-=bNw8Hz1QalHf*chaPAQl?EGEDPTsS~aQ_NBtAM|~>c}8p`0f30FQ(GE-{A7Fc z;jV+zG(LW{BngnGEFs+lN-OYQ1x<2&h#Ie}xNd)u9C*^)VOSUt3^D=C{SSchaPax1 zvInW-^#~Ij`{&Q0>FLj^28M0BuIjZN)m4wFAYuR^!6S%n2J&Zo0RX0V0oHe^XF5 zbyiB==P*;?=2o6i@|sQ#$caSg;1Kxzb1VWS2w-BQaYvsM-aY@2KpLA!bPiH!5=yS` zpmLduRy~>-U;w8|{ge~sDFAx8O8>1~MjfC6C?N7JN>np{ga-(+1>ryfs3Fgjf&p+y zfIg)punbB9b01QZ6N7&N;LzVK6i&boYH!#PRRG;WJGSB@p&n|-ck}iFt1#Dp%E2q&NII~!6+=0oO5bF?;4%YDZ$fRdeR>?V9b+NP z1L8h0w6U?gB&um?9B85nHXM$%C)#?*gnM4z^U&Q`m7EEnvKqc-9a3o>C_BJ2SN0J= z%bio8Hw3@~a3BamJ7_GdBhO{I$z=vs;9N6-lqU3RdH{t9LxUmFen%$S8yjkG4Qh}V zpok}!{lY{|9p{8V_#|Ao6#(at(Ax(p2f87q-b*?+VCnReDK95^>X1ULgfw6*)AUW|_W zLGZ0d*4_3*W(T_RmNX8;8Sol#B{>i|VAPtc5$WOQ@yyEB5&+~Fat{ESK*w?e6YrL% zm4{_IsYv42t-d?Isk@N*?P`3ixcFT(Vb+`u%rz*qb))PWCPXb#*82B^ugNpAP^sJd>qQF4vN@p}Pq zekmX$l-&5p)CaNw#TkfAx>}PDXP&>nZv}$_;QEp;`hr$|VLmxefbc5ck@}$I5Ol7p z&ASfg=fH)09{UF7FL|v5_y}N76PlyuS{D-;;obE>_{9SeyO(xo$jNL!rsr+Dj_q7| zU?3o`RMCd9Foqy``DZNmD}?GTp^8Zr6o3hQR#=#yFPt`;+8IfSw+=T2&@Jg;Ax~`K z7bw?qQiZ`|PX~KdmPN$?)Q|_)mtFn@|j|+`96c6NNPXC-Zl7^rgAmz>w z9_Db;vOqLwS-$+jqWl5{FptG=*k|mUnlmoXCw4XbVMQS*xxq<%bkGZ*c&FZaKr%on zX+?Kq&Wkmd)ov=UB?n4?kV8@AqkJeYhCAx(D=X0xK5N?*_s%a0Ln2Nnexfyd0XkhD zR{0}#Sf)P@UY50tEmB%nwpx6i|BVB4h-XOny=mISDz)8Xk8(G8m2DElWHzO*rtli7Oe%7?IDT7cNIoI1h)=xP4tg+;(u zh=x{!o=yJn1&)}Xf-yN6uQ)h0HFfZ(_+-)57heoo7kjlLy@)xeC*_VXN+|*QEd|mE zcWmb?+saD!@mduEi1f-OcUU$w5bU6}^p$5-UXddJ1=8RPq|(Eg-ht=J1Ng{$mgXyf ze~JpxfFbpS-9H(2Eam6+mVP1-R*IzIrStEI!@8Xx1W|5RaIUAunIy;IVmH?##o!JJr z2a^DaC6axtt!IWgz>q$DR&d#+>HENQ#fc+I{FWD<58D;7_gMT+B^`=i4LtVZi(v8M znw39#PYIq}-_HG#4~AeoH* zuxr=a)zgW@G_-o{Y$lV-<0M zlqBp@o%Z_1^hDc84Q6Qp@!ohG_-YW+q-Zqi_ju-rqtE9{m_Xh&nVbEUXL=Xs=YE*T zb-EG9;&;&>OjSE(h6-S_382-6=J{o9iZ^pe5LSggK&QCrlK6YU2^U9%v z4|dXo+Xa*-lpM&`j$u*k@VE;C@9x)^9d7=<~2#(+!jedV1H2e*2<0pvo-w7RhGiS%Y zt?I>#B|^PT)J!MZ$UeEo^v#Bo}&^7wTt)+f)-c0 ziyGbCV^2L_Weh=1qi04}FJ;8Y(JPf*J&%0rqn3|i7cVI!l|q6QqjPg*@tF{;w=j%# zF2gg2rsO^RW3!W;ok+)>oo*y4Q!opLGM)jjrFYx&&CRdScd4{6(O+gAt&NTDrM6bCxotW@)ZKS2!wG;a zD?nZO2(>8*Q*)>ssBN=CdX^C00rQzf)0D`))bur>=_^6OY{rLTHs61(Bn8ke1%3)2 z0nAL#Hv|J=!K{b_{W#FO~t|4GfT~Ljyv~WQtJ?P_01$LxGTj4n50AyJJvIDuku24GNr~+9T0GkZA)dL}KvjTub5YSW&jo`)36O?z4T~bj3 zKvlBMTP9xlWs6NpgV!i!=I4^C%VrW@pFc*#G;$UT`W4B!D6WV8{(EL2G&X(Ur-!~^ z{rP8VW*E)kXy~_0r^BKDK8|Cn69MslBoU(nOQdvw7nl&Ti~!YgE(|kZ(&;narsd4H zK=6)pPSV>zu537VG0c2gl}4{Z>*!WV6~p&`0Bc>jwTT8#jf`Od&q7c+a1Its{{7w5 zp~TqO^guV``y8*0V<>6BaQ|#B?WkW-XID}H4G7o1(;hWC&@|*=nF=uEWC>6$H=~I= zbWcP+;VAwDxk z#8N7qB+HVAzMGo*{a`pUu=NW8@N?X2IRJhDI6k&(B9luuI_mMeq)b(m5#aNh1I?p0 z7Jw!x2ht1pcmW6yK1;gq%9C_}v_|sS^Dh-G9ngUp2HmQdA0+8pz2IUwwtL@T;-y;ohHSXB|@9 z`l2{{mbh0fHO9fz&oDsHoq2fpQ0);eXC?RPdQT^4} zKwk~Ie5=>OhYo~tHVc6D7zQJXODC5~t<~E=)X`WUVV(`BU=`2GN10b}Yldv%l>E^L zT()4S>ar#1ur0F|%zU--Q}~!)9zzP`dOlW2fKCZ;UxPO|vIhO(Vu@He(eKv*ejxyM z_kka@eLTbff9gx2TNuQ!!z>ume+{y-l;|uM2Uy8h%kXPafTvn?85ZO=VWXOzG|7QE z4&+@7KLMK(!IMJh8k;_n(S242f}qKP+46En=7*rSt87gQ0P_Rc>Odrsz}z8@U^o!1 z-&WY~@>D9d^77Oe1Khv2Z!lcuNzTRR6Vq$KupWOpDr*QJw}(XlQb$h>peux`tWg5M zJZ$<9EZ$PCX~K%aJs2&hsBCpZRT7+%Tl1bGr(!n`V4W0yz-^MM0i6WUS?x*$G=0R02dre&Dt3xrUcqcO zU!5)nD7Av{34~dfb2%*N^Lon$FOQ9cjr_s|ESL=J4be`3GyA%C@BU(UH`$MV3hbxR zJ!XL2m)8X5{AJs=ZAd2lkq8*3U19)MCFOzuS>{;)$j}brA^_%tGoXc8G538M6H`+4 zo|GkOr7ZB2TspxOk{;y9x|Y}Fc169g;9x3cZUh6?5S|7=5S)Gp*%$H4_*m1S5I(5sU0IL*1AXE?mP)PtRvi6t}mq12(7~eII^RWmX zPT*5A!&@%J00B$_RLX*2dSW2%^#(2sA6LShu*A;B*dCeAnoKz!lF-H2g~ zWrH9o>5m5^dnbU9!dR*}K&a3JeNlks^>pXcH(<3H8dNU!XqpS$j1IK986NW^S@6|? zpCZTy19SnQ8b%NvEC)c8f^Bn@h{;YSf@Xk$Z3n<_VSydEweNCKKe7%`|9E_C@7CRe zshT8B2#C%z%?Sh(t260(Dx{<=05M<#fO7b{Qp0Bj2r)qO`eW4x#0A4Gs@}5(u5qxy z$W1{jD7`6Ub|k8!oz4|?NFxIYZ$ol$aAag8R>Xra6gvqV=?J9ma6g@Vek)MVTtZ)dGOKAjwk3{h3A_1l|ZTq^s@zmg&SPZ$?3NWcc zI3fY|Y=r?wWTFYop@(;5{_x?M>7NK-40)KD`z1iXKeBgqCTFLvkpsE77(fUBnIK=R z03jVw%~rTce_fe6X(@xmg1!JSYHq;)&_mjD!9w8}k5eQ~-^Wu(}0RGB)Ta zK$G}P^mvJZmUZzrDM-&$v(zc&p)<F$4?Ooj1futLp}#LN=c*Iy98Fg~Z~LGd^)NG6$F7JtP?djWu*Huq9V zP%*StG!ozi(s+E$7x)#gSrj~$!lwnTF?7uYArn6cS-9Nk%6!^$-S*y~FB%9#0H{j= zWP*X{3;;soL*0GgC!5Fkp}(i53;<=*3AzH{90*1|@%ibsnXC&4S4TGV_5&dJNq{t) z!pd9nWnI=lVh7TpD3;KH6Nko+XLXhL3fIfJ?dl4_D=jaTs+9ztCV`y`WlPcjC4ghp({Pe!AmUC5KR}i!|dIpu^lt*oC zZMgtgM-HsT!Ds1m7r?r*h~bW&q2}gZ#Bo_o7#)j(-H`yMJ|p70N$Vj)rAaD`48yi!7ZR$ zwta?$dV(JSS_|ePkz30AGyx!c&?!`_ou&9B0qo4Y+0n7St!-s2>hr;bBngll=vN5C z(HQ_7T{wK??}JZnM~uQ>z7Iq58b1IW6d~+?^}|Q5y6TFXgZPfPClUp~_PD1#NXcX^ z1H7*JhK(kGCW5AgAqrrHRj?*qDy@@imJvP`y@kjXQ7u7ag7Bj*r&R9Edpg!%hXqT~FiyeFAsy10eD1Mj4azKk(`* zY@_(tE!8Jq^{^idAz9M|gFasia!5Z`#xTG;?|gp})gijd(l8363T3t2u^2#}*@OQS zKd2}_W7ajtEnZf9rHl>q6h9|lxF)PkPdwhy({o*0+feiNXpl@uom^xIf6#{oF+MC^ zAOh&J#d;5nkAt6>ONS8Bi0Q?-gV_Fn_^sL0()HnE^w`Ymb&ph^d{*@;58_-21cO~I z+mJ&55LF-yc)bLuO+pn02w4HD_KyU90-!CApJj;3j1MpAJ|nzyOV7p0QgIB`S{+!P z&3)R@(a{430^vX;K?o7P9=HYg@WK`1)mxFD6JjmGk%e!#V>cXv1rK||Yo6S)p#{4= z)5h8KRLtsiXVY$p)m_qhY(vS=6OCQ|iU5eNoCJt#z6Yyx1^9$?BWnE4#leyQQ3^f{fLiG= zoXKV$zXujXA|W*o>wQ_jUH4;95i5+C?E86eU#O2G^7=^=s=VSmKy_30L5 z`$6y^FeZuM)ZvBEVeAlAjfWP(YSrt${IYr-b|9zc;nHTYpvNF-3+Tsuey(>69OD$m z&3zy!06H2CGogrP^IWo_rZGBDN*no;{2CdbnIB}KCtE({JjMp=!G3rn#RSQf65n~! zg1Q4;$j`YCGz&IU9JdYZOLWEKphw1Ic#@(IJ`Dfy`|oiyedF)ke#^-Z-U{2%_ON(~ zhXAjG=ve}1%cl$DasCKgMKH=&AHw*RjYfb#sEY{ZCuF^(0YH`tVad-e`85{g2NkTB zbul9}e8f-qFCSoSQGl3SIybwg1L_%S!_)HEgGeUc1_G!=0P#8ReB%4$!I}eO2YzmU zY1O)m0ImA$Tk&v0$f1G{`l`W=}VFjn~F*yN@Po;D7be<*v6a;JW1~-gq1za};AAay$-kLA_)#1+TeQ zW_04n(+L_sqNR!9iHi;pKX;xpJ9*r37g7-G8rr@c-D3@$DVj+^0DR)+tFXT~Z;~xd z2zJn|&@IbaOY}&Z@j+>+b8^oa2;w#+CK#36tc@W6-rnAhrvq2hQ;%@L^_FX|0=i9GNH3E% z(`8GH$0lktf;g#VU<lBR_Te*K_}5V?RQ=Gb${%6p4Tm-|NT7A`@YZS#(w^<`?~J? z`5ON7k3pRG;-g96qIdzV@rwY#W;4z%dW)P_yWT^Bj5Xiq*=j1QQi|Y$Rk>V27;ByK^Vdiq+iw?lWYOXD;-2 z9&K)JKEZ*2?We%Ue?u53eslS5j;yc7Y2I-mWw1$A7XjMk-1 zc=LGkm(BgCx%nvSyZ}F{KL^jH5k9;+Cu6dJ$@m4`EemTM{5-(bDvjQlICp+ zScA2Qo`DPau3u&VEvj<>qu425m5d@${Ow&64j=qX5bUV-ZQH!%qf0YSAz`p%$LpWH zzH>*f0W`}+xn1w_PVgN*3_qD;6!WoBeyqIxe27&j@;y=0Sco_292_=k`u)8NqibL8ufrZ=U#yF`kT2 z-t2w*vp0Kpr~{$p*x@_FhuDV$n|UMrCf9G5$uU2y5q>oC$kV@F6&-m{nG4ATe@ zQjF3v_`;4-oH7Mpk@HZ&Q0*35BfgBvzB%u~ZW#ol1yg`GWe`FT89?#i>}>U}3_zhr zUr1JNf#IPUtaE;JlwME)Ccc}e!_9EzbcNBUG0MBmNaOrY=opYa{sv(cE zluWq@Jr*OE@Jr*@+3%|LURl;u%M_q)uLh78n&o8bL9G*;U1pE^<=7#IapGeR z;_U!n0>!l35EpGw|Ef4le{<-#863)yFRc$6=^I(Ktpn4MZcC4pyUOTOmIR?EJn z?kf_QB0Q7kkmx|q?l&pDR?&5RPND=1w8N?1|Z+_!G0Joj!@9flS zWt{HL(7oH)IsVyO;2XAi2&ipeKRM}mLiBIoi7n|If4{uqF?aEmzqtcV6!+W{0D68k z$GTSTg%|vHHGt#^x0bD?N&&(z0K|986rjogI)ai+m|?wg?%b>rOa-|S@UhS=l%J)v zIXm;gJ3_6qKZY@}OVy`IgG_;*JU=?0o>NH zP0}(9zh6Ijp>urva}SXFsMrWv8IE$W`8JJRo77<_=Z>+ko%!xcx0{)Y%HM*@p)5U= zg_q!qQ_EKIvB}jfhR-Ej5W-HDa)AR;2B0xh2j&P0ZRrgW>Ew|?LHNn^^nvQ$y?p=_ zg2)W03{@>HZ)_o@$Q1oM6n}(s=ZOzqA$F0NPrAN+T*Nf$$RT)=i6>9Vr{U3k6L(!~ zBwB;H+bxvy~%Ni>jCS?m((a9keKIp-{+fH;&KFN1* z^z_KY{;sjcbux8t^di59(Tl1(f=UUxMNQ447`ZWeBe1g3TL|EF5g=PDUmQTbE$l(y zL(ISu$X7tv1wt6Q^4gJejR9VZ=SX#k4=-Kfj5nj_R`5+q741)O;N8B?&PnMV&z_z6 z_`_Yhdd9j3@3|X(9-zTXl-RLUlyWUviwZtkPOh(8KufO*5TyV?XnQ3aNlDF$nwaXx zhO@IEgq}#~1&EqPG@)R_<85ti)5rI}_Qu3VM-E+@nK{e!4bjVSbza>30~^kxxj<(~ zCpdFx%M0Ke8f&<@uCd!Y(D>PyI4QT3fnx5`LY}?SDJp%IcXFvMtdki_eA*7D& z>-#6S4~q{+*B^bawRNhiYj$O0-JKDjxes)S5+{}dIa78*zPQedB3sb&Ei8|Th>QXs z@~jl8i|F|hBSKNNYR$$6?!$$je1Zx4s!;40d1KqQKF@9&+iKO}a|pq=r!DAUOUJ~- z5%M$>sM;r<689Z?wymv|rL~pYHrF>a>Mi^@JjD6FBADH8lB)?s9%RYrCAyuaFUfZtLp02UwTww`81-Lp35Pm5@5SD`TtVQ<~@q-o{ZJ|nW z4qTd17NFrX@Hqzxq_P3bE6#EuT)2^g-xA58E9?sdtH%vrP}{T;G=!-Htvnrd599zy z2iSG89yK6tJgh;i{0yL8n~^~Xz`{gZ9J)+#Q9Sz8 zwC16Q9?-(DO~-fMe8-Q^r#GtvHHeL!eecKmgQoU<$Aj@MYfkA8?)iH{VWI$Y1e*>kB1_4@m4z)gstt+Lag)`wgIDQ@Xon z%J?~eM$iMyPE+~ICQItM!cYxOJrhE=7~mp8xQsFmTsGfID%)Y3&N8@k?sEU;>CcYKh| zHB{IsDoP}&{14=uE^_jHcZ{7pLo7N8E|b9sguho|8St^*XZ)d zpsQl^(mvqDQE zBpn~xx|PjB02QI0NCQG34qjQY5+fQElcW{dMDtnamkNG75vv|*8GzmETpl)n#IPTB zXebLni`rsfVfnZG>|dtK&YhegK1i}S_IM#+uoX8-dyt=V|<>}Kn z@z}9I5rh)Z(S1`&m}WZ0AecwTfGq=1ESLe<1VATuxll>|#z4$d;$sRg<+dcF#rn^8 zoH|!f?7;T5rBX>5D!>94RtjVY`Mc;1Db4O%eRIRDW6_C1v1e!qj6U_I_Iv*Mfr0m* zKQ`61yxy>x3?OObjs)O*f&?-EvoV@Q7SYMNSb&Bv67-43amWJ1fC}*O$CV+mTxder z=VU%)3=cs$gY2REG2*(0dKb>zU)(UFwy7Sro*nJ|fn(2em%0H)Ag*|+!-LvH9F)rg zM603)Bfwy|8d_3AwfKdOPF1Ps?qYzx3tX}ZfDlw07Fv*0oi*c9ev^%(sSNcT9tJ4{ zGtVSwSUxs(2Ki1g!h7Guv!%dy=BFp>72pa0rWW)7eHMnFBWMiyWu;;O*A8$=3eacX zN(5;93LFT)wU0YNaQANb(HUkem1P;QqbQZhM; z&W07rXpb!dEUpV>s4R(@6v;g$xZ&OE?z#q^M2Zi+@wmGwrc<3h%_ARIG6M)Q)-(%? zI6rW;)iE1Y29L$7l$uAHEb`{s0lLnQ!Gbz35776IWvy5O3aS{Rrx+!c#fC_~X;A=K z{0W-;k#vVL>2x1YYpH95;S;A#PncFBdD^%e`?6*v1{`$!#D92O@oDo*E`*~4mtGsd zo0K0b8&n%$MFD!|?VC2Ol_a9{cvXN9WCh`(0J_7VCUqeYC7yw(550j=@{j@dYV1;g zbux%+q{#zg24es_e9)8Tmn=YY;Ns&r&ks1XKrata3043oecUEf2wv+0&5FEY#D!`? z6wl8L4D|vYy-f%dxjDwe+*kb`|8T4oqNH%~*Q~;iz7K>*9zbNHkko)+qwbVb;w6N$ zApA#JuMuEmR}Ao`Kyd5s-6a#KinLZ}S|Aq!EIh9ZiUFbyy(FCJ5;?4^*IxQt`pH8k zo$3;G%MN{hlNK;W&m`R72SH>2YwOwp*3RbO!-NX39e|p3A+^;)7?S!Xfk+gi48lqc zDL>>1+Ck-2FpywIdiToJb`3+gqCY$(Q3O4{NBce$@r7eXwEqpD5Hu&(a3J{jCb}~s zc(<}aFxeyk{}P6Tv}F?M6ZNeTTo7O;jNLmXJ#R-k?|{fGD0eMfIFV>Dr5AHA-75GH zoBz>)qS^p)ptzJpQb<}WyEF_#Rmmrl-TDTA$dXARz+{J3o|aCGqFoo@`h68_%#R$K zRFs3J^bXgtc7a;-pKSg!z<;Vao7}cxAPQ^I0x=+?Kz##mcz~|D<%J%=yfeLp@9 zsfox)lmjHrlPoE+U~iFJ)x;S5@ZboCmcxH4ZSo_8t82QrghUky`)_yvA$3|LFn*p_4JJ zjx3dCD`xE50Ausm3EXPDxaN04SUYx3vt^+-+0eh2+8L^(Ep|sFaPOBO z1`$+s2qmUh`v4^muPfDjayIiO#`E7U>x=pf~h0hYkp%50o zQ^Ri~gac9Bl(^F;>lOr%T`ug)fwOH@_6gwO5C$O9u;dfpp7~rM$5{Z2-$MZL zUp-w00NN;Nd@_K@6QmWC0I0&SCE%Mt#Njc3v0MxSMAi?Po=Re83I$;NlYOXkGWYVT zrQudr)0+Sts(cx_03hdWS$!SClQ}ThRsf1%2KJ;u`@NmvPc3@}IEP%dG6d3=o7!kz9BQAU~q_ zIWU^&#{EbD;~v0-?(=&b8xcG?fFN7|a_5r!X;*y*)q4O^u~;ms@B|;Sxn1PeUfEH% zp!aoT2yFsY2&a4Gqn^_;1lAH+`G-g^2XsYKovy`70ciAsZFZ<;3U^UgwmfCqx8kN9 zg*rl*0IESup%YJOl^_69@|YWd!(|M1QqL!VuMEO?fX1&P{Qf2Ac`20$A)iVN(^~9* z;pGfL0$61<0X-hWa$f;xrCctNm?RLt1)vY)>b=|j`56Y=xT=C+@?p6BL$|1}wwh0= zZaWDe1as@vVOL%7e z-ySWF0^b9gB7{=xg7B1DL!t5j*)4Wac&eIt(1HG@2Y3sVhPQtipgPIps`DiO0XQ^) U1UO-nS^xk507*qoM6N<$g6C=eK>z>% literal 0 HcmV?d00001 diff --git a/GDJS/tests/games/effects/Assets/Map/tilebg/tile_bg (21).png b/GDJS/tests/games/effects/Assets/Map/tilebg/tile_bg (21).png new file mode 100755 index 0000000000000000000000000000000000000000..035741020779b351ea4a882f178665084451bdb5 GIT binary patch literal 22957 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 literal 0 HcmV?d00001 diff --git a/GDJS/tests/games/effects/Assets/Map/tilebg/tile_bg (22).png b/GDJS/tests/games/effects/Assets/Map/tilebg/tile_bg (22).png new file mode 100755 index 0000000000000000000000000000000000000000..c4195d1973b90449e1e2174cdfddfc4181c0f95d GIT binary patch literal 15816 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 A+11`NXL-j#sRcpq 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

ZAwh?cjot2kJF|C>-$2GShI42$WTb zAl3!AD5iZ6F>QJH=7WO+?peG*X49Y{FQ-RBD@On?V-W;1DkP^Baw8zqnWJ2en8ot< zk~Fc2#e#;y)?%ot7$r(wlBTJgBd#QhFd4B2dc5NxF3tY>j|*eS;YCzk961o9D&(xU zae$Wq@Om|X>Hbopl+I)x!POK!E)DZSio9SM;3bulh*!v2w( z2DnHSghu!1*Fet;enVbwU&82U|01AZRF54Ov0Erz%oQy$fYSJl-ex=0-eDlE=-{Sy1 zK5fAZ=hZksk;7+-2%bQ=3R5#eJ&G9phs#C8QFh`CtU<0&Gg3ob)O zffmN5jl?v7L5-5Fj$?dkIvSmB)p)lR;H&}gwI%>khez9>oEjLG0a^q#NoiliF^yu& zk^_4jnDptr2Qb3nJp-V)D5X)74;gT|(3iM8Wq{Ut*w&Ja_~ZND4zen;(;3B?G(_RV zzYcIn0OaEY%3-^au>*wo_e?rLu4bEsJ;C+$eBJ^`s%Y`rB8^K?7~{j1D1wh4Z0QYv zv&*Lz!AKo|LLqt^N@p1bE>aN6?hJKAY4hPYcWsUv&0EY*hN&6Z>| zY9zHFCVkik70{MhpXR28uVb_yVcU`qfqnE`sYhtWSPdOT=RY9VY4Bf-;f6pe3BGL#|-WrJRx zQ;IrH1*H8ExNI(h+)FnN5cJaNP{{4(?FlA^o+@f$Ltc1h>NtRpF6+ctGXbd3S4RL| zd>(+fB!p?V*gf%7m9>FVuNoH=KR;T4FoX=-5|Co;h(LPu96(H4NqZUe%Ey~WkL>77 zU&s+Q05Fake+B^~`llY0a;CeC~ zrh|qRw#Edg&}WG#hP}}NO&_0Lb2`+{-0!H;Lp|dQ+W_!VTLJd-wa^2EN!-H|E_lME ziuF(c6X3)f26*~7a@RkOKCLtS1i{V#XxrXw1z;w_cao2A>c3Fr#yVLE(AtsbZca=KCdHf- zB7B{YVv9hB% z6e$8b1n{D{2wo8YOD#tr6v~7K0B|64M8~Ze13>_^TWhgRPqb{E z*&YSL?g4B)0{5U0N(p@j%FH1~HBcEKz?tuT0SrnN!bkgf1Sv+Z0#e%nLM;LGo|efD z5_=+iTdBMVnq{PwB2qgdk8oBP+fT4Hl*&mGow4ztNJJ}U1PIvy z@@C}qb^~;0LK)gUp-K{q0h`Z7A!r9^64d_(XcujR@)PTY0%NZAbslEeK`{Zk44DYe z5kQ=g7R@jb6aY;x-9~^RcOrpK8FTAx?h8?YHEclzs{)j&fA&{z0=!iT5Cp{{*k*uk z(Vo!I71kP-2IoRZc7Uce?DS2IO#>V0%PZCeA=+!dm^=G&m??TW?IMWphU z&~pUv)=OOhh&9m7UG)G`83=L4kY@kkm>r@#DJMBh2USpkp;5t7rQ{Hx=apI`v<8`q)R)|1e|& z2#FZ1rLF@ceil9s&@3Xqk}g(6;7Bt7Gpm(f&tw<^KT?8R&D>)~opDeAv?HV#>>Yqc z>3|FuXaVF1al;J=HV@Ek7cqPWz*TcEbReDC{QIw+T#oUNwkY$%o3gq9@E>Z@xk{c# RYK{N^002ovPDHLkV1fw0PEG&- literal 0 HcmV?d00001 diff --git a/GDJS/tests/games/effects/Assets/Map/tilebg/tile_bg (4).png b/GDJS/tests/games/effects/Assets/Map/tilebg/tile_bg (4).png new file mode 100755 index 0000000000000000000000000000000000000000..2615c80df19921f13315bb12f5a9e824106f0e13 GIT binary patch literal 4169 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 Hu0mjfg3f); literal 0 HcmV?d00001 diff --git a/GDJS/tests/games/effects/Assets/Map/tilebg/tile_bg (8).png b/GDJS/tests/games/effects/Assets/Map/tilebg/tile_bg (8).png new file mode 100755 index 0000000000000000000000000000000000000000..4659004484b20be4d4cc1bc3cafba276bb9ec7c1 GIT binary patch literal 25625 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 literal 0 HcmV?d00001 diff --git a/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-X/-X0002.png b/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-X/-X0002.png new file mode 100755 index 0000000000000000000000000000000000000000..6139aeaa7ebd10fce3881d28b6975553484163c4 GIT binary patch literal 9702 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

rW>+VYma=lOCP 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̽*$-(HWM4i2&*i18vc5zyrb3xt{BC~ZiitJc= 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 Oj;y4jM4gy%$o~P8c9PWq literal 0 HcmV?d00001 diff --git a/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-X/-X0006.png b/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-X/-X0006.png new file mode 100755 index 0000000000000000000000000000000000000000..2dc255d53bec4d8f2a7c77090c41ff34369851ee GIT binary patch literal 9190 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 R`B$$11p=zb)B{Yy{udN80KxzO literal 0 HcmV?d00001 diff --git a/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-X/-X0007.png b/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-X/-X0007.png new file mode 100755 index 0000000000000000000000000000000000000000..a8ad7dfe4f0cee12d7e12ba245e3a3df3d440f0a GIT binary patch literal 9906 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 OC^;!*@J|VokpBbQ1*{za literal 0 HcmV?d00001 diff --git a/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-X/-X0008.png b/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-X/-X0008.png new file mode 100755 index 0000000000000000000000000000000000000000..b01522c2094295e0a7b0c4797ea77465d035fb87 GIT binary patch literal 9305 zcmbt)V{j!vw{7f+tw}PmZReceoY=OliET_Uv29N#HYc_wwrwYG-h20cb^qV4>eXv^ z?OLmUbpP19I#N+y>I)Jf5(EUq7a3`Q^1n6Z|4szxe~7#pI1K>-^`a=N3j7!TXFx&z z7lnlUZw3MJKly($|Ca>jzn%WSIQ0Ju|6>I8Kh){z=mWf+Ioa9&?e%N({zD340v>KY zQ4ujwVR3JF2RZFlSVraxJdADte6RjP>>=VbqDi&G6U>B3$6BBenfcL<$;(OzmojX;|EKLJFpS6vasI| zr`IU5xmxO33vraH3D+pHKmPXb(&Etr0^H2?%=s7=%*Drz1V00n%XK8?$^$>c)LK*B z{v7}V9YaD4ASx^dk_L&1ipxmJs4A%l2?)!AWQB!9q$Q;R5_S?6i|wvSAds? zPf=d+GelKcQJIUA`!hgE4lE}xt02HH_!+MD8L0BLAI(#iQ^qxz_Qs z*!nYE^W7c%S?{bUr|?;6_vx$f=muW56blRT_{g(V0Ly(geg8~1{q&HVHxrvM6#9(U z{fyE1jMijgWR48;`Ajk>mgkI#^fy)nA6tog$%t;7iOBPE%L4$PDnJsFxvsRNut=J`kf{L2c~xL?kb9Dn z*Z~aV_kWk5%vD)l1p)>h5fvE&2cL+Xl#+&?Lr4tB%g8Jv%g@TCq-i9tqGo2VZK?0> zVv`;f99R&S7fq?tFV=eSW03Im6OO<>Te@@91Dh zQ+-WQdg9L?QK5z!QbLbYZLKZ!<++~j?BKz9eh3IMa~Xh`s>e!E%8c_VD*~V&^Zk>> zfLDLi<08?-HcoLRV$O`}@zw^gPLdqr0HpkChWbNHQu{}z+-!$;$TPqtqoA`(VV zQMqjkpoI=KSuJve_X(z~E%X}S_gU2VNn4c!n>`jl!k+naGXm#z$+M_v`qVfdB?~Kf zCut4C-`-TK9( zXUEDSn5EK~kNr8jo{AbjAIf~O`FvW}=DrFeXYHayhRbqU!xc0cZWZeR znyI-kaaP}Jh$*z|ntEQd!qZ2t$_PIbDCzkyHWC?e9yy%MgZh zDRzdmdwi;wh$tHkDXC}O6udb1!7j34Q%9tWQO<%3u^cYwj4%xIG zK6z=+b2V2d|D=9l#0@S~W0^YEnmDhB4S5z{W%|Ju9`+aSV3(SoR?G0KbDDDL1+)xT z-B_t&4IhDs)v>)K4ctMg{3J4s*2*Oz7oLzxX{ejmN;Q>yzbA6rYRB+n098|9+H7sg1pAt;u&%w?-?W#V@h57fsfOatI0#Df`0V2#b?ZR+6$lpbCqFQ`f$}3i*~)o zB@owYa#cm+Yond)5osm^cOa6*99lC=;lzC$ri;u^im0Hnbe5eG9cNm4UTi6TS4jD{ zpaKeh7w8Y_pceSvzzA`iC|bElk!fHH1cQ8M5scXQ*-4exeBQU+9HPhBQJwyBBlvcT zC5&v2NT?S9`p21oG$HD-5>!aEeQBs{BUa08;G44Uw@C`w@TZEgqmdr(svL!N5l*J4 zh%O)%{?(8v1O(p=D7eTP5t&OG)Sz9&0DK&7o^DNDZc7k3oQ0}AI7a%DCYJ6c$hovw ziTQn1A73hDq})coZ$qL`f(j4mmyO@Op0^U#g-Miby^adUNrtk>E;=t_0jHzuE+^r| z2yA?=h9qgLza|{6y;DA;vUpm-7$itej@i?;f_o<&$klw&BghdL8__~gFYjr!%{C4gcHO;ykaLEq>Gg=;;(DfggaFZ9V*}NLdI7>*;mh zm+g($*G|=^R{xVXg1(@FjbNq9VQR?!P)}Jx_vCjxZlUr*7MdF$6pLVIm;Pp}u}pAq zc0#>wk>43NDxc^UE=XtTPdDO+ic;-1>e7=kh>fxGYw^5HoV<@g?S_Fr^;qJcC$n$S zVe9otSs)@;`n+7!t+ns(%~hUO5Q}*>t0t{y)@Cs(BgKiesOpuE@I1@|37Tm-KSr6n z4B24D(-#h5o!4^x#2D(aO>ieDU1|wATeY9)PjAX=Gbh>~;SF+iBXvL)^qw;})(FEi z_s+8tTk|oaPGYXt=)OP#sAlM7?Mfsel}ee!lbPiO^WWP3FJ5m&qrz2Ihbf0nq?zt{ zN|MIu4S{Y+Oh^&S4t@DC$xnNwKd_3GRI){$8kai^K0Q9R=gs8o_-!i{jgC&h3jM?a zML)lMar~APq0`XAaWx`^^(E9qg{?qsZZEodaTT+syW8viz$Y1`RtT5&)hY5wx4JoAt;p7S0ZR*BdZg#oby&tbOr`E>#Jv;9$7E2}(9PFqo zb%}j5-9hUpEFdvP0ckwYKxr+NoCt*Zy;S_BlJ8$}O#Z zGauL1&I;?JHD1Y_-TbyAjsb(W11*LDgYh*FnWtb!ehq;>ib%UtG9FT=m(;{8ya+0u|$5<0icit3< z^zSjuF0iE==wo7TSL$=@YQrkgBLmh5nUZ;Il|Fd~Wn5qWFUw<+N1cUTn?V@Dykou*r}e7m<5YZD>~!ZW5L8TK~35Btp-yNU0$u z<6|wsc~V7@7T7IXgRY-*e3vMrYj;p2B`3Jb&;M$xdB4Oc#k0qZ>%wkL#h3Qdh^DOFUvz0ONZZv0Wo9DhDiN7W6bP; zi?;gQM$^}FNNF;;9;a^V8iTB9rQ4f5HAU*U^0J5@`{{Ow0sE##LR}k3#8Z)-XzNRb zGnN+5JewnBjY%7N>=|aBB27+AHVqMecMXmL42b@SD|#Dt+8~HjyD$i%*3bQ#Eib03&)U znaqU9i~>zTmv9x;_;2LS_;vl|F6YU-#9AlkPhFI%hYjc_?$@uw`m~AYQDTNiClbUN ztewAJM5=>`4{s@*6Fz_L?#)kpa|T;K}!pI+ZvtC1P)Mjq}OH^@ML> zMNu_{^%9VJ#Dvi5@_N{?E2>2M@$d8$kkZbDg2BwU^9#t$L@{LL?v4vCfbWb56vH=$ zcaQd)-9b@btY$85_%#(nM-Gv|Xq*mPK0C7nY2avyTo(44-*vzVj?5wfYAqz&>@L10yY_v4KY3LI zTiyQQXp<-P>h-SQ_r&6{Wpoi0e{bu$7py7N0R5R*V|TfI15qPgA$_WtJ)niEGSL3Y zkoH8q?$GxLX|%uUwTFCx3ottFn|9nd5Kc*Z#tsTmWnZf5kJy;7G*C-mRX2uv@#RJs zRLVhWY7^Z*w861+qS#42GH+jygJ9OaWyoRvG9Hw&g+oLn*ChY7!)VJV>b`Q)V7Dfz z8Htx7SURj%_PD0bqR8%QYk^Hwm{H+%ufKxjmjtS)pNxjyec=eAK+HF!3#ls+@%KQp z_7sJtm_!^km1hYWl;I-3dHOJUq=irrBvP?9f>gw2#xr`6$EYEkTiAX&MGFb>xq7Xg zW2=1>ClGR-cwRU+mN!U1z>gk+fAzEG4wUig7%w6Kql}UDp5EUQy{eWP|5|e2Me|nb4j*~UAev|+g zzu!eKDH&6HrRlVNerMR-IXDru(9UFmQO*+M@>)T&|DdAd!E>ZI$^z~2HgospFC?+J>vtoO@^ zgmKyu$&~xi6;Dt}L?-8aH2YDS+1Obnx1{)=4ze#cWtyOYE@jCGc^$3>XyvZ+NgkIP zfa;G^5mOC)mD4~<=GL0u`+a!v=9FYVU`Z(K`B=S)OPt>JLrcs6PB6^kO|>9M14N~f zUhVa!k_EZi&9@>tqB33;M4apW3zOerpG|q-GE#YWZD>nr8pzC0O&MGZR-YHoN~#ev zG6U21Eyn$-oX$^)Ne$o(0fd7 zR?|Dc6P4=#UtUrn8bAV+3jUy$*BpUFaT$`cdJI-rZ6L~+_8cdzgpGD~Aw(KHMl~Ij0 zZ4@IUM&tQj0K2Li>*h3W8DCGjqp%5~1DPyAud3Yb77oTS7o0*O?yWGI6)hEPA>~8@ zrzCkzj=z?}hP{m;QtP44#J9Jg|p0>3*;X#Q+?i=EL%Aw1OZ z;0WNNpV4~NZ2>zXXz8Poslm=NsB}TUjKl_`U@@?Tp1e0@i3`nto%TAoW38o~Ic&Uk zejH3m@o7Z~Ton_DO-62YS`H@|Wxyq-Tb#%`F^jleS{Q{*30}iIeQ>ti52&yRKkpz< zi9Ei|;9WrdrZP-NVHtdu2~FYX8NoYHR>WCl@tNN+=i(?iNH${AXrL`^|}_oT7xx36NM zkcdgcn>LPAlX=Ji74`kWjgE6k>!$rOY{2M$C$ z#(M|-d)N)q2^`XqR;w@oLR1sI|^`=1=)GlfEX>H@KdMel@f*xC|mz|Ht zJPPrNQcZ6IGv4O~M`3|2!s`4{vHEB*j5s9WJ_`V z6atfk3&L^3@oAD0dZe7v-1mt z;4B!S#2@h@PH->P`KD+n@nsfpnv_*lj5`Hi#8P0OhfI+;0zu(OYI!p7E{oC z?t3051^3ifof+kBiL+Z{1M_;6ehzq~fK(WLWQKtT@N{e>npbNM2&P|G0!Lr6hxrg% zjI~(5doYb~3TCJ0jH(VPW3NWd_v5BM8uY_hf8QSaSPl=(sI91gb!ufk!zsz6I!xYW z+|Q;OX6Q|3XQ;+$ww*5>bQLt8Kp{Vw;|jXJiiCQj6&_>-Bof5dlwr={DD)3irnqgk zBO^!GUUWU2?Ck8k(g32WLo4icaw<-lWnu8BlDeVu%}^0q_E zuo?u$+~C}R;UfweeUW0poXpu3Bpb_0!V%8lbc!b9Bp8|fW9w~6;PQ7l!~%Bwy7IiX z603Z>R}13D{XczueJd9>osX%Dv6TQNe60*Sn+h|wew;iI4~v-#D-bG-X21Nch@ZHJ z$t!p)iZge61VNPiHIb4IUa|gcB(I%;A?2bxqxL9J{nxuroYuu-%Inx=cUwzco0Bho z=wLyKR#UTlplvg@ zB5N?O%(sRQ^j-c!L6*FE%F^aMt*8cyqB)Zi960F_kIE9Rlr3xJB~@@us$h}Tv<-V5WpR{g)5 z?7k1$FvkRedLJY<>%W7818J!}B30$`CXwQu-~%-(h9L7_hI9$)!k!SkGy#ku8mY7n ztY(pH080s_*6w=9$wga{n{%+j@%_tJ->2udos~a3AMLrqI7tOa*j6@CCglOl!yxX< zK3BuYcwDt3r;j%iBsNX$c`7RQ8$aACM~fqL>JW;RJU22HI za|*|Ht|HG@QG**d?L@UXKALp2l49l3a8_2rcb5H`2z)B>=-uoQKXsto2;KZ})Niov zay<9K81X)lYntFnLzX0#FAQH7OFUmj~(<0A|za1?kgYnpEs!gH&-R`qm`A6S^r za09e4LpqCW6k*}zrh+cq{gGJU@w>VRFM}`t74JvUn~Aa>PSfKY6ZrMjJVtMcjz;si9nC! zv$_Bq^$1W^dd{hf>=T@Z!A|yGw})hy!h94}o#|J$?4b!{qQ?af z<|#5|)$xmL`X2XBb!(ow8yKXETpT!;YtsQjX)FHXbVDUG)S)X)rzi1n^f{8YY+;)y zbf;U`NqIs^K85cjr=v`fmO){C5o7(GP?}kh?^O}*2u&^Va{erANXn;2&HM&xfhe*xjwS-y@H(#_Hd-(S4;I}$j23N~DB;W_A~dW-2bZ!K zrb{n<_G)>8gY?|(@Sv?TbU$=qKXh zEc7rH62hnP#)NnMBtE9{Dr6PN@bzgL6JNx6xp%$T-odK)anYx{n{~7EAVKCY0suY!X0~Xg)nJ^av2?VK?@)=ZCm)8C%#HpA0kbH3Zdl#Zh%g>j z-CXWDK$SW5Wa4MAx5M4RLCT8@L#MsF)qRkB;kxBKQL#AIQ3*(x^VkNM%!a3tf=3G} zb%VpBjEM7>LsQ$y7yB$2)@LKAMfOeLR?YWRYo%)LrAxS3?~-$L-`ul)K18O68d)VDwzOa+hoUf|AnZFecn;V8(Ta+@XUyfU z!!z7~MvfwSDni;)@oqTEf_*~usv&w`xp;*!nJDpmuFatXR%G+C=I#KmHmmdHBQkOX z)oS{k9Y*=vu@vQ==g@de0xSSal)E zHY>$Gmd1EE&UpAXnIu^x<`my>6;&$Hzyd-xfq-R>kcO5cc`n~B<8_Rej@XXx(^h5B zAZovOy~hJfjYH0{xv#rioV{eeUhpj*%eqmY#6(KAf}&6gro(adD5v2@4FR0&l6^q0 zkRCYi=Ls2ZEoogE^K#Nj#E2MKSH%Z1ylFC4aHjGZLW9F1HEOnAuJ6$=lbY_`9HF71 z%dVFzp12OnHX&|y_L*`Xn$rbyPo&vd&SbhMTLjFP$PVGv@l5|e)dua^e0q^X#JNFM zxb`{Cq$pT-315hoAt>TPOo5Ha>cxaf?(6Pu@54lo#C9=XHwnLP-p=30p>_M(cFbA1 zOP)-~cPcUCmOwpuVLOmAX3z)Qjx&}0tY!V!v7O_NaZmHeL`f$~&h?ZS<&bbI|6yJc z&8WztE>6<4$?N(sv8?h){M9BV?t+bDrR_Q(ZfR=yH`fZOO`I#?w>*tb?D;oznI;Aq z+WHaj?H{u+SNzPs3gmXHguUCih?j#po0w4FJjJwBg%lnH*RODJ%e58Dago|D+PnPr zfLJEGySvp&J^XuF?i+${e;5D$mG-XZP-af899-X0l0e2QV&%1v*b9^Hg~tSI2X=D~ zoL`hlV6V_^lw&xTVNGPES&&LZ_NIMP@r%+GqFwhnf;@%K^541BtmG2@J@hm_PFmV^ zJDK?!+gK`)9XS%|{Cl1esPuD)G;BOfQmdb@D>A)m-ww#>VL60$ZUUj93#oKDn5;{p zC#s}mMubZ716ANW#1}11=)0*`0~deWkcW3kQqNiRq_JV|nj?AW8$WKZ8n_dAYLsi{xoa`7}jMi2~6Zu9`&ARS4TJSvzjgUJ} zLXwY`&F1FX9EV>&u3uu9j_Ni-yvv@OBm=d%l&0BaCXwSswn5rkR?zWd)>n}%WL*rQ z2fgzXz~F?`#h{bkm~ukF_d%(w`}ecfIg`S|x$0ek!fGK&3v_=t&aH-u zWRRs&-#%?rNCxW99~z6SrA4*L6%OcS^T#ycBMIr)t5mn)L-sm53_M1{k|5`>e94Zz zr03r?K2J|G*NcCz3psY@Oy;T=NxgH>m^RjP7{(K=ijxE9Of=4n<;OhRnlrlB{|g}OPk zn9kK1VN(uRfyE{H>8Xx-5%pzah)dJBU7yqdD{^d>k26_0GW{no1;}O;`THnhFxY|L z32L5s335d@IJf$Q3wN7xDFdcSf0D*MPX6^c&E$**@uHiKDnA|EozIeJZL=X8Uu2|0;V zdOfh|C7Edkki$gKc)De@MWQ#!@af52!8Zggh7$$o141TeAl?wQMem9CyT64yk5MHC_6bH3(-KDTQMXgndq6vd zyOTv+(=9)rq6LEcct%jA0h|K9`qX=rn@{~<$WnF)!MCOP=!v=bK5Jmk_ zWJ;BCiRSs9*lClsIbN9?EW=hz)1||3Aac(-lGw{@^hUkLtItep1}km!Td?Vv*Y*1Hpo5?DZ9 zh2G6a7WZsI=J^v@*2gZ@o-FT!)GpC53d)q?z%l^=azs)eVxD*&#eb+7$5OZ7cX1N& z_ea!iv^l=R*o_!`sDV6j5+?+-xLJhzHRaDfIs&p$fj0Me2Rn?CZgh3y$>a4GpWqya zfSM>$T1XVs?;f8yPvoG6BE9mdy+IRzIVKwc=SdYUIKs`<3A}WY zq3V7>%dYl)H^sjh3yp3#co|D>`cec4u!>A)RxQH1>L#ANd=Zn)A@R$~_{atky-0}2 z6!!UVq1dTiL7e$F4}TclzU=aT5VT16zxco7A#&ess+{@vt;}-V8H7CKLf(Ak?=HQ0 hHz4`U{k(aGq*Pt!85TKq`}a!%LIx-gs1Y{|`ahuniNpW^ literal 0 HcmV?d00001 diff --git a/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-X/-X0009.png b/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-X/-X0009.png new file mode 100755 index 0000000000000000000000000000000000000000..f1abf07ff4f47ed9098889ca75e5ede07ce12228 GIT binary patch literal 9133 zcmb7qWl$Y3vo`Kl+}+*v;0JdNd{ws`q#f+cHB{udIXP=J1%^$;Z#?8(ovmJdRZMi%_nf57474Bx)&jhIAa?3zJwbDj z1`axEpa{dbv9P$PB#;Q5o}5HdLV}lv*Mpl3K!ExZt_6~naTQ^6v(OC-@`QwIO`D4N zcsYl8JIz~&F*49=YpHJ9OC7W)i4me+=i2{ElZJ*i1f($SZOF>PK2;t9$uR5nHiJ|< z-MGo!dMccCr^JZROqvRR1Zx~Q1Ha0%k`NO@;`Kv-d^v%ZbhPx4Z?-Ku0_<$;{f2^( zmbwQnvO6~7E9QXo)Hq0lmc6a%gc+bX(m_E^L0M5*Q9(&sQd&(#T}nbqOI=GtP2(SF zax(HjX_XmAB0>O2oZi1&03za$C>=n1@_>j2+6U4_^F(ImStz>j12XD z^--QR2S93_4;-cc@c{Yh_2H?oVjgZO zfV9Oys{QZsU9W;crfN#|3Nnf6()Btb;j%*3yo`|3pYJ1?kZ!-qNH1n4ma~@F_3F?+ z-s(U;-c%*~tADGf)>Bhe3knVq1sxj;kC2LvoP?c`g8u_~YXMUi) zJta0kPm6*a|Ks`o>||%{*Ys#tS5rmN*PN`FKzBDMGyac{xAXJA>m%LGX-SbTva+K5 zFAw*(XWN^-tu5gCg8clXV9(E%rpAhIZ?ESkW22)3k26a%P*4;d3P4G1-}SOg!?Zz8 zB)Gxt*CN03=<4dXdb~6wqFw_F$|9}Wj^6vkhw>Vmnt?W#nN1uFr1MD1FWt*c6m?L0 zF>$cS9lO`_edD;1$VC0eXyQ}{LNAeyhrvBA*lq~^2qE}aT)AwOs^iSHhL^y2fdA5? z#uVe>h;>xv7#A^bFp26?qAO8-PRI$T0_w2;I|AOY|0Y*z%L_va_|FR0MdfZ&--oKT zbC@RQc3)nx?g#bPcB9(SMm&VdU**<#8=-bPE`*;!9L0Q%&zTB$=#TGymimdze5Z{KEM} zhnHbXG21gb%&TP|u;#6VkoGwoJUfucpw8B=XgJ6=#U{(dnFnq{=$k{Ut zxOY2x!OrvC9mz&kWj96kqYr$Cvvu}J3^ zEi_(sNz1a_7R6>L5J+$>q;-Iu(H3Li5kYp_f!WHEHW2t*rS>$S$`Q%_0ZPXMx%#Wm zq3jJpsj|-J4}2P+9=~(^dca7-#Tw(Lrzmg+grg~5Ccz&hBhT_)vm^2;8~U3=5B7w^ zzRV$cOh?1He)jD0GQFKV1z|ZKtFqtIPyLG6HTijp1M8^`AQsU4Z~o?_S}7ePygWZ% z6eNtKL;j0qu{Na!92Lq3LM%oR83}`Ctc4^FQ*UUVz}DYWVb7n*qdvdZf?xmSA2lho zfklk$a(NCxp-yVr+Xz{{qMv~|i_HTRlWeUC@lkkO1{Az?#Ig4R{Z;h) zc-zH!{FgpcE-y5zB(aOg5QJRP5q&;Aa|GAGsP6}Ygq4(!;Rz}P&Qnkl*M`5QGb~o8 z#-gH`zMRALz6U0u1Q9N05Js_9 zWr>gB%u3%!$s-|4m}Vy+uzfO~q2ivZ_Rk3`hS)GZox(JVizrH)I>jtEt23Wbimh`pbR?iF&75VefnA1HUFt%wLgfmoS-;olTWuI#2WvJimQ4@oQ(@OSGKiPN*dTzYGoNDLf(Kwdkg?(BJ zErz01*_o)yVVQR`OIyaZ3AxBAL%7S2nk>^TjBj|{=#5$0ba_8N8lNh=`ebA-{oDFI zheIBu995TcNqb{UsqYj{wMJ6VP>Q%|cv#3yHC64LH7fFLJ-EC3B``0o!5xePz*MmA z>4S%cFFg_T|DIfHnW*!kKRhwPZZaWN=FV$q!v65;();Wd0C_zbbzf7IV1tJUJYt{9`S!w>`wy*H`q`F+Dc`Lte;6 zH-hncI1d*Wt>fKk22B(SmsYYh;pika5>kloxVl zoZPK)y8{I)ny{!cUEt;ZUi$j;^Oh8%N$`XJdG^oG&B3iss&WfI+;Dg!T2Vo(6OW#f z1D{cFmty0^etcxJWX79CV)s2a3vbJA4P~)(mSO^)AGF>6}D69!~0y z+Oi88c#!;WADq7LU>97CH{~_KQ>x-w4JoYSTEac{rsHR?n$uvPa1R=_l`wZ+bRs@V z;+q*m3ebNm9sPC@sGGM~L*Qp3<&XT}1#={%+w)iUGbWk7<2u2{893bGdFhelF$ff93D$&Ez0V=2 z`D~j;vCEInYXGM?eK;PairvLcdTzI$gJ^g13ong?eJ*~}{Uq_%;PgoGWW@>PuXH?J zrW%vSwAV~|5#Dphtyw1N!`ERkkaW8m9yoAW^tyKHaYH;?&kT5dfj#;ig?hy9)p9sOk#WT9tW$|e+YIhI1 ze(V!M1oa&VTWb$b+PabQd^*0%I<%QAJ-OJb^kpq5t<+@aPkc&3nuOACHD9gOEles< zx@h;f$Y)65Fzs}^ZN6+H;3z<3o;}FW;q(YgCc?Acuj9C;xnkt84s%Aw8~WDs(TrXW zLmaA7CJ~CpECzU7oQDI?`UQvw`}-YCr2k9~*clkUC19855!TqXZFZI>g)wY!TqSe` z4R7(zU}*d2a(2X`>!SscP7q*ux@rbI{)$l2%9iQGWq$@g?N}iC{wnHq{rDZ_aV)bf z#c^7~BCT>4ctxhDuXxGoI7wihgh5^xH)!uo9c!UDsQg3aHl=WtLZr`&Tqa^btgF{m zQo^_^R2Rutn>*@9anPjTfQW=qaJ8vDwnvv4LX(8%T zH?%oa!-A|R=4(wXZwvdsgKC{sBv}&F>`*wM&H2lN`|mQ?324qP%*wiF-%u!f=67FB zTSu;a$^?+~5mwhdT|=17gXcDiPb?}|CkTk!1@0aG*1GAC zm&)bs7)Kcl`@(0XMq5VPuRc`M^%Om+5(F}-TP5*%GIJ=t`n@|J5Zcw_K`aaDMq_% zyDRV6rH@NEnS7t$Dma2ws%yTy$7Yug7R@L{QNhOZmbm28x9~0NXZi-`mBG{o#N~x6 z&61M3;#t{qT;i!==5U&_MkU12Y#RVkGET=ntrLe6j4-hgQme0#kq%@z6Q}FZiml#= z%H0r$V?U$eJdTe%#f7qjm-FGOv0UU@@DVMmL#O*9^=HHy`zd|fX85H3dh^5cQ-D&re}^1WJw z`bRPw5Ls&*Wr9x~u)#UXyU|iNIB8z-WzP>5ZM=jdTf5yF&mTH6v(n3?G__WxETuw; z4!O#2WyyW1Vu!JHv6qk;^t7QEYzG=4q)dV~u-(ZLyiK2nG7s;))=!-6rnb9Q&9?9hzDwj%=)mDxO^?hy=9a@W9Q%YHZib{rt22nd z%QNindzLgT zbcIGC9?%iyrL04&&KR_m$(*|?U^Cd<1*p6y|ALmwGDD+;{lB3ah1VJCjQ1&FH{Jwj z4g-GeRO)53@kWPJsA4mdZba%9#~yF(&@`vGv;RTu&u-YcMA4q@;3JZ=T~;i3fjv)9}F`W`O z3zId~moV;9dUQ|?T?pq8As`QB(&{YF+;o`Yc6WSuJAL|2wpOfFnr0~lil|-!5ILs4 zpACPCgFhJJhqDGDaIWzaUr&7(%+f`Z($I}1lhMgR!&ajw_60DnUasib4r+M5Wc}i{ zs1EB+!Ac>ho*w@xN7(hn~%~ z_t<^Jhk5SyJ(6v)z(U;y*kg`I*gGEnUa0!!JXtjjH!vrgs`-AI`Z1hkAU@IFFuPjA z=#ZZqaQXYs>s?_kF3E#Q-=DJ><0hX^o#Eo)C9CgPK$#FAIMhs`;8?y7t`u9Q$-F-r zUS^SEMXdc=*nwM&B#Y;ko8waDPhIn)uw%BzuSw0Vu*o#pqan1$SQuXp`FKi&v=ZhT zW_yQivi1Y684VgZ?U1WAIdWetuIuW`BLCfM28u23+ONK0I8cea;r7ghOjSh+a7jZc zy^$@{rFD5$_hflCSS%PAkq%)7HFaa*F!E_Nh-pXq8<)?V7QZ4=!p>6wPumeGV%Lk( zYT}-E{D$Xc13TMPQHX?z>v_ONJdTRriY6dg7!4H`}U#dN+?6p2@pEJ8&@f?>0L_(FrKqU;;@REITG3>m@I0p?glwDb1!>Z zFk|H4`%7eW*#bfF1e9g*te-Z$`o7SrXz)$*!z>Bz&U5?`Ivt1sqwEa+%g=M8IhmK2 zX%?Q$5tspOPo$lE&zjzq@J;cnyd@im)iN4#++Xubn$sWg7o3SETMa|`1rcvri*1k- zrq3TepWw3V_Q19iaCgiT;QT{6QTzwmbU2Q+7{{SZEP(_1vR^dIn!J`RF^y-!b4tAw zBjq#)jiwY0Dkb2J;kLMwx;hNQu|F=$+CJLjL-exe<;C!G&-HSrNJ#J^lbo=**+y$} zRE@tPc^eX5{+2B6wO&o}!KfWW1$N2+%z{A(>{QA|>`>TfBA&^-8HYYKgJMTHaUl_0 z(}`hB@7suDWB1ExXCrHu7znU{9JB$R>Vtvc>SW{QI;0iELbZ^FVb51)5!c|ws4Z4b z&mUB%dIx!8a!R^WX`l)#Mr*=WpJlhX2}Ybk-KUrOmho-^_iY6-<_DW5@m(s198E{D4dxM0nrWm9Sy|% zW@}lFBDU;3kp6*zfXkli!~90{hSfR#pam{xr3F#LIT%T6aWyp98d@wm%Q1sN@G`|= zKsZ2}q`Md{R<#+A7Mn#U4NoOqTW19=akllVpm%bY^-lRC0lsPQ<&SmG)8u*;VQ zBA8t3=#G+`nmR>Xs_(d*gx6fb$qrsFP2y&)B~nnQF*fq#&5^@a`WZSpSvn=1HH6

%%;)Is0{cqLc?AlfO$&x{!A=cfX;X2a3N7PXs+izAYspox zrRf}GD8Sx#dayq3337`~l_P&=Rzd=h=U7LBAg%U-Sz2z>H|PnU@5G;<(k}^23hP0bz~E2V(WWUH)dD~Jhti*0e_oQZO$-9h*Mow75)LQt#Z=g?ckC0TQA%8T z00dLuhjwScBr8Zu3JqukngW8-V7MWvvE->wn>&(NGX0gD-SN=BS}eAF22hhJ(EdC< zo&Piqgxs%vur!kEvdXxOyKSywz$_ra%BjP!bGZ3|Q2VfK6tot4u-6<^95u2toE0>^ zfqC#0H>69r%tm$+RJ=;ko~`HV0>WG z#M_g?nMM?#!KD)ra|oG{2|gswot5ZA%U9(G8RCRlN3vsQFjKPP!Pu71qma{c;NAVL zNAu^dw|N#s6ZI;nTtlYz2FH#H{B#yP==hj*g|VGPRHLz*{(aCxqn6mFC-w4z$T(!J zD|Ls7V;UJ7)5g9Fe<*KXu+@IF^(6Xf_Pb&H>0Et+2hV$MWADrHefG=D%ru#=ZM`~T zH}wizo=h)XC-FCH1yekqgFw!4`TKyWEfik-Z z7Z#eXMQR3aYtNsqCZjg$Cbzk{`TaSi_tlD1{PkmZa@5o~7G=0fn06#;m!S}bV1;yq4FxV^3t~jc&tw8ixXx!eO`Maf)XzMa8_FFg*51 zh1*n_n>R%(Rn|al_639Plyf3(oXUfn08u*32nGf-K7cR9Njs{0aaB5$T}N47x?MdU zrM_0JVDRwl&FpFyP0BLlB`s)%X=O6XoeD;{YuHN>LlZ?FTp3S|EEW@;+oq8$SXB7M zAoF@W2pL-&oJQ;nV4w*xJLsjB|{lSE;3nBRAy^%;p;;Uw#`m7)y3={hGB zwV&PHF2KT3f*j4yHu;6>=U~8bx<5?nV9lwp)YH=Eo4+T1wN@5$CtL=P zG0f^Ft9xVwB!>4zsbbe=2zpwP^{fH(}Teq^m*^LziM>6)K)*?HNp-v5UI&=cs;ND>{+3R5s+E)Qg_xeuS|A+c(A@NAag|Dm!o}@U zr~CTC_vc)VPySMkA>&{|vVCz|hP}0A#o9g;KdPAH@iG=OLXk`iYo3jrsMSq;YGn=P zHwJY!T+yazUNs+T+uec)fj?I1II5o?{lEV5*0R*Q;A-dfn?KRoJHOWbi6Xb07o|Ao z^Oq8iQF6zx%2N~8Im0B3r~}Y4@|9J1FweZ7i-nR5`f^7~dd1pUj`&-3gSnpKZ25o= z!RM}Px0u$-3SmpFe6JBNvG zL!O>aLIDut|6|7og-RW6eGFGveUit%FJq-do%{zp{GntI3fV6d8z-0={^g({Hs+zu zfi5aQ#fiK4r24n*{DS~g{$?UA; zjqfYuTXhR-U81ee-j?~Me%Jf>`K0sC0)~8vV<}-2&*CpJ-`QFG$n`mdxb$O~%5WEu zBATR2ol?>}+DVxRim!`ffnfrz7+WDLj#*i%#dw0P`aZWNwzt!*XHGsyUB0G`hRy>~ z!_)_NRp|ifEUV)PG+l7B7K?3z)?<=b?&Ru^Kt_h-G98v<{Ly?9h7-XJX$wAg zG(A#UPJKJ{35z>YI*n{jR%4kL(!!v>ES;Buing~dj$L!k(lY(;f1apFJ_Gz*YjxSA zSCmC&(G%tkT1M?0qf4WZjA}FMN;%}eQyBGF4<)Ngfj-4(Lw6_&wN##E4mPxXj5L$r zu+gH`OEvS&5mHb%Zh5ca8yfWlHRJ1GVMw*O@PZU2C^T#sR2jL9L#l+84fN04tD$D? zEXg6n4o(8RrV{dW z$izj{sW$I`-*5De@2tUl$)6-A4;kG(08YbNp4xah%FxK+uYGwNsKLchZ(dp~Q22!^pERiy}&-^rgvdpr< znseW!w#FoHbe&|LtifW+4TXVApDUQ_;8{^)WBcedVY=4EK7`xdMZH@RnFyhAth3~C zxB+x3D?6&wO-|~Da(%xaLzNyy%6BMlF?nSW=@syIfco?n2dngd$AaGG_C}FZWr&O2 zJSC+2aK2%;RUM%{W2PF~#m9W+y*>5zp6^qhHxW_o5n#-i5R^W#DBM}QlTV}{N+AKOQ6}Q&TD(g z0dhX7riGpr*MtCy{+dfohvSEh4lc^jmDw(9{lv&#V)!eeMQ6w(bfy)cAb-*n|GK=H z8+ZC;nsEcMm6gwaj*-VpCAQ z@Y7O7uQ2nG!mVzGErcdAK_Ya<>~|}sxOek#YEGY=r_$)q{GkDJnv(RbK-@W+Z7bT! zFzQ&blqbH+G_uz&n*p{Uqh(>B)Y!bMghVQru9FKuE!@b{cIWQm-j5J*PP{-VdjwkC zYeS2nn)P7}PtP~>jQc`XuaLdnL1N20N;nCX;Q!1{Go~J`tC|+ZF?uaV!iONuRv5oECwZ@vYKgB|WT|E2G=#SZF=uUW|s=n88w5&iLo9Cam38jJtqZMiPu-+_ii7i~>QfQ|NM zQ$(&3yR5XFvXZijGFV<#UPek*NkQp@`UiPAptPhkND-v2s;(ff@Q(*E5pfY=Q4KW> zCVq^DR|DD%Va5$M*80 z`Xcc8!f8{fZe8(bXN3h5aj2XuSO5?j=y4RFTLl%$2XUvTM9_GCzW)kquXn14r zCr8ukVEq&=kgmL}f}~`Ms#t_Hn*o6Bx-S`C>Tyx%p5kI*Bg_HcZ_Y~ysR(h4P-5=< z$4;rc2IK?68%%V3Y(i3623`uzcPwoDR6?TCU(%i^Ue|>IlsL{vV*Ud=;gm)Prc^R1ZdTYj9!Wj>`JT@yFKDknXoP(yKZF^dV zL!Mgg=NV_cf{U+jjzr9ER-vgkvZ(0X;(FzXVmF3>5xC{vmTML!Qf?xcc#iaa~WcR#u2x%d1f$2tC5?i*9TlzK!9HX&~rV?@Gs=d z-J@>BOFOkh*gR20b*AZCQbB@qxtac-x$>tYYB$CVqbW{OZ=mb^PW4nKQPnBbWcK$N z)xNbNo6hBbwvYRmTQ$X~uhf^X#Xyo{hG?NxM&w%Nyls>;k!;?E*41nybDBLU){-?w z%-tO^`pwZB%BP!Mx_d69qJyfIHA+T9ABCXu#6(I(O%>bL%?9}ye4#V5ypUe(ncud! ze8F`6Dg;Xt;g{od_9~C^4dE=T2|H?gcraq1t$O0B#fcDWx3ChMk- zU%Lj&iYCg`UE=NaiUU3R;A4|m3)f#ku4{y3JmOX^YSJPl;`bKC;)u%X^sGJ!uwi;; z;S>hE1QcauL)ygtzn+fSf4;A8NqzBu*l;@P?fj5t_b2#39SUJEY3Gn+CB8D-s=(oi z{(B_5SX!#v2Dn^8k&S&!mFwIcAPhbPtoH6XvnJ<2?>@{yG#RZ1(bN5E*an+^*B)zU zwz#Bt%d~3ZmFx^6VNo*kM=>qO>dJ=`|JLLMOG=xv4D(}%x9pf~mSc?!{J~m@Ikt){ zw_8$V@9<4|pMhAdr`)f;aKhlb(P2aQJvFA&RzRaSd%+po z;z`M6ppecQLvVU5sHh(IhS7FnDqcBRF}XFn#~4?=x$xLpB+6HLOK)i)ppQAq$Tq|+ zU0zODM5G%gCp%>w_l1zq3NRy(d-G>nd$lZ;m5khSnj4B{~H|M)$8l-puS*dw>a9gyozc07dlG>$R z4;kB`jxxwvpvgB#c=1c7O(Q?i| z(BWAFTw08}tr5C#)8O@)a>&<@bzJ6ra*(T=(I;8y6axq}JvTZqSw2i3EO>MFTZP#v zCdq(_a!2X#V9B8HY!F2hTglp! zyD8|d@$dc3%Kk#Z@iDGq;QN-GmC7RFC<3FfGBh}GVzDQ%rxpz=54=Q%iN6go?1^Gg z!^lU$x43CG0(pKOc3)99&~sUeiQ!VlQpIQx~;7@2=-!OY+2|dVSlx zogXbM%$m1OaD4r6Sl2=CgG?vnMmJX;+r&+maf=+Gd&+(_{lhekam5>JN$rS>ogWl! zw@DOBo_r#npVOny;ywpcx^v~_G#`9J&^$7+cBf6+8e`%q%!1h_hplOSNuMB5(e3)? zt*)Hy)#&?6cH`;Eh98d6L1M(My8L;6aSoziAmVP{W%|B(0&HPEJ{^jHsv(Gl={M(m zNJwv$zBa8`t~r+3tX5!;mM_`Yhz<+7yY`#$&@J+kTLWM#H5M@$JL472y*<_+ zLc+g0fJ%0Z2^3_b-2qxgBtH$uOXSt|AQ;??MIHxk3S+;(>?%O|espx{FncMT;^rm- zESICSaUE}f;#x8A=>#2w<_sjprK%rQt@CiWyBn-f!$d3KR24N$Q3%Mfp20p1{q)7= zf%(Fv0M#9fi;p4qEgl`~HtAJ$*v8@Dut}LQ&+8!QK{`2 zoXDZ$3+aptLaiKO7cpxrNOlNxSK7)r*#=Pk7Nm9MRDxtkj?bhh?DZXn%z+AGo6z#Z zm8ujVq<$J-pWo+C%A;I;vp{G{~yCe!1lk-euJv+Jd9;bLhq6(NP99Km-Hbhs_= zXtH`|OdQ*i6ux^f^y~;w)sP~G>ps7F-k<1xP^=4x?I1WuIrsH?Xr=E);fNdhyhttdAexQ!eN9eyTgO-F5;>ZXT@ILeaq{G(0kyp|uwh zofbDtunsjrD|2x-3G9rEa%W9>APAAEr4pfZznKT40(SSShbAu}6$w~_s~BEaiThSh zK6~&+>Ce`_gr*Yf399vG87Pq>LT%2X(895C{yaE+fc_mOc&($+YqRs&W46w3hxOM3 zHhr!vM@oAC^^dLZMaa_Tpca!3a~Sb<_&7>lA&2&!i=~ZmFQJygddZn%$(G|tvTbP#9$jjELAQYtUiI6=Az;yOjeZX=YeL6GCl2@|)p& zmJT%#WGE3Vr_@HHWXCU1?iBmeO;8j)+t1XU)Qdlu0i*ocywTZlmKfvXqz6@j2fBca zpv-&-vj~;)gz0(P%9bC6`09jm2C&ZcF3kBEftcEuX^G z<7c#$Uzd_Wy-dP#*L_xqf`_@XMXY0NvB=i!(HEq$FyIp2^6RmXm3Haryht}y%>V`9 zlYgUe^CKjEuowWJn#+ytu2&cD36r&8GTR_kq>bx}+0{=BCu$}rp7s*S>6{58U_F!3A+eRFpzZA3ejq%`Kz(ufHYB2zn3qpH| z`Yx`x9-nNAe=>v-rS*2;3r(4|{D+WQYRB}8Q-g{L1$0h5F-X)Ngs6rwQKJ^{9qo}e|rU~2ueq4Hu&Bp_(`Ldc8e;Q<~E%yY}p%?Lh zf@%~?&=|_cPf2+v>BXpM6uH?+frc#x-;1Swq?!WCp31V>XXr|M5i3~@Se!=REwm6R z^G0FpX~+^WVX36)wwpF~FmJreFM35Gk`SEj$j1zfb}Em3NOx3jq4$In$DSE#y2O!< zm_&iGN~Tn%mb8BuLUn_d3-_Xm`-fW3tsR^;c4r|4rrh4!ApPTWy6;M_rDvs$&QGob zIx$QrBg8B=DI=iPweIB?R`)Vu(+JySu(2P-6j@0 zS6qFQE4(W+sV&)MH>;u$u|iDWoepK1vW}ql5nqZQ9(*Gjt7*Mfk-$W!7cu2Q{kjX3 zW^KGBOEZp^(x}+ZSeH*f(*@dt0u`^_lbPALZgF-nUc@wbWyugZecBzK@f*XclcSXn zsTU2E9p|#}>qz=-u5Mkv+q=9lMA~g1Cb2#|&WK7}b$c5OsQLWkC20r$`fo=Cp2!`*4yR}KX|>t^+2xQ(IG1-s;PgU71|@{$#cK; zm1n##2sN2E$l_<8w!3> z6qp`AJXuaJK2*TfPm2EAVz(3l1E2jxbuWz+<B(&&6{DMbx`{5-?#)O$192Nu(sho+3F;#3VeC@pNNsXgW zGy@K#j(_6hcADa{Yv`E~af+hQ;;j?2W=8>%;yr|vVpNw_=M0lAWSLP^P~l3M;$1)P zvu-r5>kZGYii-LzDwHRbEj!mJ8%b* zWEHc8Fp`7k`BSrxvY+$ar_D-XChz-wZ?7r}!m=cFl!_{je>Nto(gI#_(HCmvlJeb8ziYpLa=!bf{h%Yk<7_r_ zW3T`aD7SqxuSJvupr?hRt{-sAE?$@h5|a35IW$Af2ZEzG^DE?G(&tK?S(A%YYIFRf zmzjC?FS3RVn#&(ejA{#^FssXNTHewqScsqSg&Ahchm#h7+IuTmx(<5!;B zHS#fm(*${XgN_X4e_{-4BXL-KjB<}iy62ZqN`DAp5OwN(+KX)nM33!Rl-TuM!ExBQ z|0D;H7mook^yFU-bJi z!^!O2?;@7cskgQF&$`NwPwU)NZosI+XN04*`f|Q}I;c6SVW}4=AEi1@6D^MJjjGL0 z?j+Zp`#t=|#;oEfHl8YQGJj-MLW51dotVNeCK)QK)st4CF7}4LyNQ}}(wROMkRaw7bNIh$(J(SB**)*0m;A`O2y+2|c68}evrK z&Y8PkJm`NH5^cDh{M-B<6rFl6=arA^7*hO+SWI#wRaL#`n~0ZoQ6eb9vX1B3R04)a zJx2ydx!JwfEtF<_3xECkHW1vHMbFbQEAO7IBuChK0Ju!2L~)diY7j18(2+EM$Sm;G z($;He*!&Q4Bcl-`Ls);dQJM3lI=g$izZQcnJO94rqYm4vHGTx*I^zEC*4&95F9>PX zD}$~``Uhf=E0$^#__E6mk%B>wcw)Cqv0e9k`S%aIhQY|XrJ-V1QwH)Mw4SDuH~4Yo zWgu&0GVW_eR?~nxUmSn=E@)L zM9FQi*TpA#^=+Ql_IC6JES!`vvN4)S(j3c)xnq|`?AIWD2mg?U48JimD!w=E4K%my zm!$s0CcL zEfx{BzhLPB#90W6I8WAZ=grqsz%~;Eao> zxVY7)A)e6?j=E9yEHGemj7g#U;2bUEUjy@tF~b~mQ|un=EjARWxonZ;TXt}-$3U4b)@G<2B+~1UEzF+dALNpGIU)mPk zM3rSS=JU@YY!sobWD`~ip;Y|<0I95jBpWAjkScWQ5~#j(Eq)4kdh+zMp!RD#|NTvq ztcjd>XIw)gVUWjppf>Y!3lxIlmy8wI>MIE zmQ8=*A;fnz1w8o^q={4-b_gPX}CraQSt!BlRtvgI^ybd zSOx+B(>fAJeKhfgty(5Kif&612H3uTiz1QLu0+laT zw?xvrfnh;vc>p6VS_@_f{UK2n21XJQ35rctyBPzG_GFpuO*3JaN?qBp-m2n-yY|Xf zj|IFcS=pm`E0+ycjBd#2=mu?<;ORx-cD+PgjlI5P@vXUNHF9P^EJ2x0#;j6~oxnra zWRrcNKh0**={@Lh>A@S)UQ#yuTby2YobTi%sQcsI_2Gxw5e|(F7+aeyUYYn;u=cy9 zG1P6p@32`Rm+t&F=}UT!`-M=AP!u;UQm?tr@HFFDwUUfoRW|j*q`=-c!K3;!xH~z% z#6KxWX}WI3wY+R>&Sy*de5|fQULq-n;!mC1M0BcPDtE4uSo^b~q}Z))SRY6@F11E( zBw*x?1IrU(;@C(yTETY($Nab$Kj( zrM|a(>=ZF59&+yI&xWS!bf<vd{<#@p^5J54A8bd|*f| zt5WC@)tP2duX&fF%xWF8)GAVv3jZWZ?XS{!F-G)peHQ90Q^3~6X2Xx~f}NCkEWN#& zLHXqJzFvq0w?OajLB`ing=4#tk~Tup?SlM{8bNV!NpU_+n*5yF;i!7yh@a9Gb(Mwa zl#gm zLWOqj`-1g+2zucbH_u0FAD3P{VA;6J(UwlPhkdJ{Zp~EUG6^L2a{&Bh$Z9mgijrY$ zR9S%Q*v#4*_X1tKK_w&?=X9L%^Pkok-P=ERQ^r}C?zrjfgnm`(VHBz~mHgF(TsIA&3 z5Apnz#QV=<}IXS z3_-o_GIw;m8g9CJ3ZDyKYs$`U%6{6YU@319^&rtV%C04n9Zb~9q_as96i=*P7NeM( z8O+mRm)jP5RUSp)ok9iC5~D`RMiMh2|FzH?xJ%RzxDz83%Gdu)UEsvAs9<$uWoh|a z($UoP&!vlLokm*N?A;jNLa`6~7D+nJ`Yi3l>Dggkr}LR3=Xu1exvdlR_v*>Tp<-Fl zh_Rhr%|tVCdi+b{MG~MEBCt6|WJldv>0+GxAavMngVd*$rb zOr%M;f%dP(2lgZu--Jvk8V{%(E!{5WZIP(nu{^8lpdT#qrI)#vQk>v#M5 ztPkLm)Nl|y{Sa?yMkex6?4+J({>_3P z#Cm=q8il1={Ajzm)TDNp@i=bsLV_NYBAk#?s-IA;jzjxcGoveVP<+Pr#mpzzLb)*$ zh2A2C1B2WOd+YPolZX$&Jb%yhiCiP8dhiHJ&JGXOXB&UpulZ-io^otq;l4d0epk9@ zn?v>N2XhR*-`%@5}JHb?^Qe7N9{tP(cWcEH&0K=MMG4eXfAqneLMETo!wC*n)0 z;a9+es%rY~bb74!nAMeIRPk-nWiaf8n_is`cw1JpFUYD%IDsrQbjcl+Y~BEsAP%U* zJUSrVm?j*yCW#&4vd@7A7U@D!(SnO=c=0i?*kDDt)apVzJ zt|+sFZyovJoJoI>1bgbx%}>;G_VMPtuUVmuSQ03IhzFS06fyjr%y%t6oPK_98*tgY7479cI%0ox{o|(VKlGby>FJ70Ay{w;9&F!t>(;wTcLiC@5GcO;sJhKihvV z=>G-(U7?}>MgKehH~;_Pf9(Hfpa1y(qy7i{NBTGT|M-8@V37O2Js_Ul@9W_JNi@FqQsU#~w=vMPG}hg7l4T|*g5+99iqh&a5D5wh zs#0L)EAw2r%iqRWs4FPNdfHsN0eE=?)~&@M_3n^D+iE>2NVs;ezh}KB*JVc}NQkag zn>SaM2_GHh#z*55J4w4X4+}FhB-I9prAAfx-A<~fR%FFXA3@F!Q-CfAO%54x~Vb+79<=v zXC>Z|?kXn>kd>Ad7nRV~1j@@Ps3@r@D=I6>E6Pa8XsBxFXz8e_s0j;+C@LsvX=q7F zNNK8TN=eE{h)b#}s|pGTiHeB*GgwHV1|(Dq5~mM|)>TqahBSLZ!n7d~+K>dJCvRm) zrUj(h83Iy$2dQy#a6{U?Aj!swvB6PczL0#YKkf?4R^oFOVvu^*o6pL>o#hl|WH#)j z0(@K`MRu9Vk>5>3SXtQLJr#dB$Xwb>b?Wh#sqwvy=Y4d?x9W>QR!Sk=zTS$`>b#tJ z*~u4`K^Ok|yCD4^c8XzIidi}U6FC_VF|J4n=09z*R+=j1Mv7_x1)vbWogjOIg=&%% zQvtzC=|88c#tW#f4F!vUjD~@OMLG~OK_4YIS6WqN--T4`yl^x*`HZmmK=QEMv6N$dD+e91C&{mz9Z+uoJ? zy4$rtixe_`i^J@poo^%dha^uc&oC{6L09(?{NqmZ9IrJ#+*mm?y-Vi8bZB1*c2u(hIb7rQ`9XqWmwmM>ZpKZ(Dx#gu_Vf4HLSkNc`jRHB zi04xZmT@4>Wm9gD@MXBAi4Kc75^IRj&*&VzaRd+k@t}x~5~Wvn^D1Fu52??K;4*P?HaQeO9=j|f_;4vb z)a1HaVjI}^&PI}saZ6llBgjFh#cT7dq(AW$tb38}ESH%)%tQXs?xePBdCCM}q~i;B ziGW7JW!IjOAr685D#YS6xv94 z!QT`kRX8a7h=nGB^}jzoXo*97(S-m zC1zVbIpZz(@(*~zKB>x313x8m0adn`6*d-W;>&UUg(>8BlFFlmWYM=GE)kSsqF*y6 z=NJm6#Z zhbnpgXufwswDxyDXdWt%kg5?k#y!Tb(W3U=zjyK4(c_yofkJ9lm~!jG{P!6sGnVF1 z@ydxi>JqPd>uAL7SQVERDSVP~oAew)OBRY-W9I7e_J&ao*;9y&R+%t07ZuElo;89+n?S+R^3P#d2~g5jDHR!qEe()6lo05rfzmFwb!0L zx#XsG>1lgnt0l9vx1Su_K=#4s^0n)RU9#G;u_p3$6(jRcAJh|PMS|wPPX5>j; zGp#oY!|EjDg36_MLx~Mic7p9d?}xxID*Pqtg#Hl&cYQDu3jUt$-(Dp_y zX$hSREuYCXPbBdgt78Y#M`dlFj*qN5d9;f`{yhB(YIa;8Wfyzcjg@gq5g&2MqjSms@Wh#OGMwFX#sDx5H!oJ= zsf;%`E@@{sMOYo%6mhY26Tz@hihpj|g=Kpl9$9t!2>jdLWWDF!Z9~NJH}y7@Qr!wm z1+<#Ix&;!|=L1|wS*w_}CNs8dO;))pX_+x{k=LT&8}2au&R!2 zDwApO=YHNoxz2sIl1%vW-hXH=*QEN_q6`bPrBtLPO1GtL#h*XxHDElv>jfatMj@?O@HOu3{D3b8DY$XiLEz}hz=05k>t8u7`IY;H&6Cxeep z#C~QhnGm9LCxPk&%wd?n%*ySg`8`_1PXb_h(6~lzv~Cp+u>sha~S}hUzUWWID&rkoK1<= zK!%>p$*M8tE79bjaEiOVAUmeno5`govc3b5^3{T(S0nE-A+)j|Ze8s*{!e&DlvCN^ zK4tfE_|IIsGw-hR!5SdHQtobzc0A!dM zlz%Sa=YRdNRp1~xu`i@f%Zap=Z@R5q%6PorU-e?PT6uvrH9$mT4BLr<=ET=T@2`M| zb5YQR19Yx(?%TTQXG4?x<}VZw;`%tBbEuFj5{e&9(VtX5*#hm$oAqnm0100&N^Lc` z?d-=G3~4FrdjbmybFf9CKZhMk)1zJkMJEp?)mw_2{@hOYoh6o>`h}1KS^9}-Z@1km zP8<@>s2u+zKt_{tB@$-%AzeT_e_X`jKoD_d_A5cPoRpyzq>#1JMHI!sPjaU}i2HRi zWxog3g1YpiH+y>nB=^w@LTHbDHC59q@nT5moVz;-i9RyPU{am}sL7J3*n%97x>X{K zh{7olxk&@xg4mLw6V{YlC!W|@^LDI&I9Xd&N8Z&P0chI`x1$rD?$&&kfw}T7MA-5Z zRDO|~UnD~wWZF+Fncan$%_L)|sztl3ZU{l>tBz`vTT=V!_h2b_)lNO}D6OHNH(pFJ zBS7b)%{`{fR9J51=*;QJzTg+Bg>VgM{GS%zA4G=YwOcrfz69HiOO(U3Ae1{s^zwT9 zXwenDIa4O^7`Z-2Z}w7bsUjEigeob*VGlCQZa=To2yEhwil7%-7psJ^gdb)Y^NQ+~ zs?vdulE-zJT^y!RBAD_^w4z47(c0pv-g`w@Sb{xp7g{a{AApSGhged>@CJoW+xgu= z0Z*P`-(XaP`6A|YP)r^CUgXJVlWkO-3Vqpf*(_0@I}RU`BJ8ZX2hJ-)%a~zngiy+& zooJ0a?bPc8;a01$vPh~f^BPU|{qg+AFH<9{R7j$uh%p%*s6&7A7-mmTX=k+OXBoJB z+h#EN3#IRnKSZ&`u;$iNOOEYg6u?GR<5c3PFOJ_6uuiSEGW80uLS*$3e(o8KpxScc5 zI#iA$ix>9aE5>-f#69~}TR=WoNj%phcYGj3Jz+BR5--krm$K{V!MmSVKKa0f9sS~~ zQYA_f@!zn>ECg2O(RJSXETHXIAMKn7T8j;DDSmui!w&DpnO-}|D@l~dR3mm)W->XV zD@XAkL!KF&h*Iq5TrVsSygDB4FFYvaH?+iK_LW?V<;v-FBe^``+1`dZ4Dd~ki>n7h z0UszhI zr?l@4l~3)69zMy7pMSi=ZzZ3=kg1+O{2&;EiRFwTC9U)cu8;@Y``U|3TJ;Prr(sAp0(o zH+%7K1ntD0C2tCa3(>I5Nzs?B;acH0j*h-|MD^s?OodfLwaCyD)s(dG^1a7eU&XvX z;?Ny*ch&IdCpS2?cuH;+vp=mwJeBRRPmc`u8*VPPXXvMw)gj#Xh zKEpX<0awFVb45q8V2qq4t@OA}jh*~`Z60?>9BN`S_lfJL^8B*>+Zc^JH`k4`6i9?+ z9R6%Hx__ZVtJAZD8^}`RqYEzvrEBH5KZVA%<7|4~pM}kf z-NmtaosBqzGK7nzuG4`VgmbCaXWYda>8N%}*VFRSPLq0<%T-2LBtqPLC(( zE39`qRrBD8WRHrO9YO!TENSL0JTgX7B~w6O9vc-q!bOl%c@16LFfUzhsEbz>fn-^o z4rbGar9iY!#g;Uaqq(7GkHy_LVtE`UXh3!FA)AufS!hE>Gs%=G3>}&FgZGZ}?lW{z z=O}cULmX7b9!36&R@csqEw@Z`Xo)$A8Pwa4=SLTbjj2%OjNH;iFh(Gi-Be)Zw@Tm2 zIZ0j`dI3$HII0|}an-nLKTbGjwgNB47t zK6@yA5App4pR#>a9w2Q39NuMyhPU#gOWwcv)EeB^4Y_%qi4m*ElG7!q4sXDkE^*VT zomngRbEL#XH8pqu1J?l+k2!YlMn$|r-OtHnB-`}W0Jl4Er%igCgTQwfmNk7JK+{t={7^VNK0K#Wj#E0Ve3cacP-J#ZnK{l<7DVR00+(VM82_YtMq2Pup z9D4cv8EuXV6QFg7rzPEW?5)y?UXhrRU0nnJP%LV`{d_YrHxP8dO>|jZ=_>g#9K>%7 zoDNSW8Al;Af?E#dRpMYM*)??ttw=m)6u>B%qDPj67r<#o!ZK;e&7q%6orW(f#=Gyc zJ#7H@1kh*Jg?FI%j*$EO_(JK@k>(4Y>!=X)>o2hZP~{hqIDfzP6_F_?0eV%S3F;FinYN zSi(QgW0k|yWLpq*B>Cxkcak~g6Utwy1$=v*I;(XX_||dzvU7<`&dH<3+jf@E!Tfy_ zC8mjTPsyqL)^(w6Q3tLn%sb&b$p10rj1h}FRuK(x*b0p|+%E@RNegd26>SEnX4t8_ z>2+S{6s^!Va2x#E?`yX1ceK5_`;Eb;|7W$6`lkXP!?^?=)>{}Yq+(nwK@4qd*MzUZ zlX0^Byylt5S2F%>xt7Fc7DIM;u;2xknRf5a(A0)a?-{S4#ctQj?WZTR^|jE^9TTzp z!=DLc;||eGRCYUh0OWe;zu|qTQ-G&MGT-#@q>@IT60PD+|~`{CcDKO;E8q@zoP zi(i0mgK?D7#$%)wPz5wV1`n-lP>bhfAytsc8jQ@mp7}Hx1*hSgp-j^pSFDD&co*gfW>VM%&<4Mdu2mAV-Vq zH6rY}7@X1{Hx|L6d^Dv86Qz+Kbrbo~4c0yMOVhyZ1lmf_G{x5n-9i86yN{{c{W0uO zqfyS6;EOE2nJ`9j>3Jb78O(k6lD26K#y8M3kvuheZjHk=ctKb^CVW7HCoO6eZax*= zFoSLsSkJRChlXl-kzHD)lkjHz_^FYj|K^miv3*rfq>-a2r}nQF_svMUHcM1;#R_?a z1$SL!4tAGi@=-?gS3eI_$a&1N=y(FV$dr@TyWdY66Kc+BV)fs*EtbXZ(+zs=;&83& znPQU3;mU#EiBVC%5=y>*y6lhAH#0XAWiZtahYM}4!0=uk2qYJZK=&Jcp zBS&&o;FPenqCJ@IqbMh!8vUsqg*FVC3227xt&~I-=|KcYL(cHavJyBa^H|!KvHv)@ z&K9k`9(dfC(p@*9FJPxRc{e&7ExD{dNqe?5K9HA#c8$czVIwgXA7wXXo>s;jEV-6K zm!7xIwY)$nmOw(trv}b1h)uiq`A>S~KM36iNyfe_r}n$Lcvzl}rbzT0KHxj=)sy)< z@lWW6Gm*Zw1Gza?`g=(7!E7|vYhtG_M1t;qrL{|#Z7VA%TiOYDc!1?VX_3}s)B8MXG%tAY zQ+vA5byaOrru7#d27DSu%jsH?+$)uVES`Q#jOscG5_-WB!dHAWJ%Pb3HT1BGvl4uf zG$Y=xKmjJZ&re<=sCOy}0i4j=Q@1b{@ZF9bxwZHS9`rSUX5t#HMOWnxOVmCnAo6yL zevgl;_!?p@qYthHGWOKZRx2_*Y(-}nTILq#_4MDrXIczB#TzfiXRPMy;77NlV>sA< z%+2|lIelyCSTF;f-lKXNl9;V4)1L!^>AeQM&O8>E=%QKgaLft-HI;m+Moy`?G5*%9 z;&$pF#8`r8S?o4>Co56rzWky2H$5q~h zEBgQ>BC@gZsrOfaxN)3K}9LI7{jk9&u=C2>#FqrPR&C|R#&IcR*& zuC}{4tM^x8MUDt6DpJ#7n0kkWW|Q;0^dzR*+`_FCyz8XRv+MUtc>XAUO|DTv zD*U*rs18M83;9egw!`@iu3rV|B)^xrX5l4F_ykt+MeHsAj{a5e?O(cLs}Fow*+S;! zt(R{X5!I{z&9Y1t`+2}TexC3)n~fJ#g=6thWkft&{Bkl<{5wO42uxF-Mk}iL#z6x+ z8HQ~;t;rP^l}_xBGgWr*U7h3jI6Ut>C7-dD_gmnLmbuyEit#x4dTw6+teUR9eXaGf zNdqv^T2i2($0ou{g{)}k4CCF@fEh#tmmoz07pv*g^ZFgV6$ymV5;05Fx6!0)6`;89Y3X~#y)&E%6xw5)CSLm#&CTM3jX4I;y!xcUqCo`9!Gp}b5 z&BW$T_mv4v-d|}Sf1mxq z?rHVz^HirNt68f4e7(o~-F4-M9SfJaD}uNGUVS5ia2e3iF<_ z6CBrlQKt&#QW-Qf5tnpA3^*%M9EF&43d~?!a}b^7Pxjos-rS#D5OCfmKCXaCNlE!t zY_Bb6H~8<_e06nPo_wvyGD+=9I9pE#Zn$LlZVS;B);--0uA#$X$SH{*MVSI_^%$BH zFPcty-yl&u+Me{Xmp(8}M*=7@C9=G}WmY*;PZ@BuF`Hu&nGLBa~mbXRi6&EhKmgJtHaZR6c^P%$$1cR#mQoy^Je? z4NN&<*Kb+mvoB%Bi$vs-R8T3zZ9SOqs}BbYf2u<#TN*|d&Lhby_iXu`lQL-G`S5wK zH|eV9ydmZqbT(a73E~`uEi2wD=Y~5~IN-^Hv1Z@NHAk zH?HmLy+On@aiS-es?gFJmR}|m@^b0+f|Ref#`Z}mu=C#=ZVnn^D7!xXPLF>TUC(u$ zxuPg8*Nc~ED5=ZVYDY7nK(Pw1sa-C|qqu%wG=NCc)ofvzthpR%exs94Mc-VSDxQgs znS#$IF%jyN@O@m`J1FZ_SG(#VrHCPaeVleH66Y4x1~g;7AwBcga}f8Kq~6sjs$#x68G&b$696R&o1VX5K=H`lxob}A2dHxhZo;N0HIamAwrkL z%FVQWr+<6olDO(e@q9UE+^2OAAB~DawR^tcWpi7X-{_&76Ijbd?OI}6Dy)c1d@nhN z;8Dn`4hJ-o9+!qz(^hv5v*gI+E;oO^(^s%l6gA%1wV0K>R<2>ub0E~C!oYiy%Erc! zklM3k+_-UYd(N6$E}bU*YuuAbKj{@S*NxIMc)BryrzYR37F@!G7D;MG_ebIj#^NR) zK73nyNJbpNFcn+$b2v<8sv~>xAuEFFZ?nLk(!YQeI5voq$>dxM+x8?+WZo0)xYl8$ zwGDgtG5~#NQ@l87FPwhMND)(?*bW?YIsQmT+9$K(g$`to)jw@S zP~?q37n9FNWw`ZvSb4U!&ZqL-p&*Ri8Lam7%9tHs`a=Pv4XM8XpHp65fhP72hL(j2 zRtiBQypy2#(4f$`(W$213IUm;$I?qAmTbBWpM02)*aTin&(DTBiJj_YrV8kMkAJdW zi$=gVjCMveJAm2otyA803H{S=2QAw5Wo4 z)JZV(cqu8)$Lex>a2ae2LeOBXmZvm=K(gWhnE`Yemhx9Y=Tv|fk(RzeNwJhis#h93 z&5|fascXxTl0RRl7UtUq8X3vOgsYv*;?M&_<*fy0;uON%jTDup3py@+AzYaAN<3DC zVYoe9Hei@eP#SB*tyaL9(AU2yA$f;N{5eW)UHVH2m^vJZD_a+j=gUnKo*Rr6J_O-JT^}pZ@2_aFEQK$YVsyHPlP0lAvv+Zh#jn)CHTJg=Gp>DCHiv= z*OS9Tc3J74Nj3<{w4QWP$aSwu%8srG7q#D!R; zdC)|ZTnc?_?yHRCN@|b@DdqI8RNg0dmKxTYOk?6H9Ol?Y=N4+5ZVbKXBz8JE z76wc`{wZ7lh{W&b0HtD`!=nqiMiB$EcC40s5AG>R@83h?CS!9>t`!F88{p+(_`BWy zDs<*UKu)!T>-@w#8R3I8T|M?28OBoS;_15)j-Ny!ySs!7-w<0tSWepUr)r}i(e*d^ zoA0uK?Fm>8vC5X^-L7by@Q!Y$7sk@l0@luylmQ5NG|3sQ3@qnq3Y=hDKj&UX$c^&g zJMS+H^p7`A>1RxykLyYB6qdvo*t`M#5! z(Pt)^$(dw+oLE(58FUn46euVtbU9gR^?y9`KNku1A4UBWItv8_^P;K<2L4n3_k)0d z@P7f&P|*Jq5*ivB4i4_Wz5gEy^WWD0lK+MLm-hd}AYbQyc40w5Ax2t3ej$E70UmB% zCPwB3YY7oyQAvO_FE`geC>Jw}hKd3cIdNQ6fUuy5pQrt{y)+pSzNRpTDp12~xE*-u|2WD8O0g+Y;-wi# zM7dhOWm+Bj>qGJ_-hC9gxp+>ULCconZcbJoVVarJj12S)?k=|KiaPnk-0GT~%E|93UtlEWjtIp{4-|RacZ(R8~~}*K(P;dxnNEq0-1SCXM6kO~K0yMm`OaP!T z9g7%PS;0(O%~Idi$jvb%z&kgk@@wRKW~%6rmo^8^<6>2uS!MX!`AJP7`Nzx6>DJuP zP)kc)dRT~!+}rEZ{nh39+3BB^g^{0SA;Gq$+F-hmx3|NC{mu1};qM*ot;Gd7naLgw zN+iz@4|jK0e-HL1o4%DMCq%dja@}tIo*wOOtoCzvG*gfe6--jx2SGtmILk=`z&>kb z8EUB;6j)N5c1jn)`xMpSvKw1-1ma~&GP?mW=ZUK61pRv-gcg)dGrCLOLbSIDSwk3= zwn_W1qdYYy9O1L3F(!q&6z>+GeZZLvn`HKnG~|kPaaz}5SoVZA`Fa7OjU|QWa`5d1 zJIfquE&j7WWiD&pxaO(xVElbzoj!Y-Ps{-0utw>hz*=<>zCa(z+K{!oCut<3Tt4Z@ zJd_<0A@1N6cj5&Z>Z4pk9;(O`&eXQdKorgbwcZh;U=f3qnkM&qZk=$n{jC7JCpdvo z&ZG7@d_BLAfsOj3o zgqlhQ0oPo6WOhT7KgdyJtP*zppXdc11Ud1jw)+KQOw6WK3rce9O40s=8ak`la|Trk z@G%;6aDMzG8Qoo!?R?bHEjfyhAJ}0ic~1nI6jr&9U)XJZljI_)rdk$_OQOd z47DO0!q!M&pw(w!PC*mG@Tq4$4r~=HX_~I#3%Wk(#Yc2+h^clvIhvx(57J{j(6@F# z&KSOAh&pgC&#<;J>@A@IdHT6@-@oymzoM4V#;+RGT72YC<9d}Rg?8SNc|AbKu*6Di zK+=4a&!f{aybmSaWqYiu?+RpcNtX-#K`T}pC#pKf2XIXA1#l@{I}e#B;$U83%rkK<5TCc0|PCJL*itL7vEYO+JD*X zyo?qpdm33hqBX;hz-AreC%R+(?2-_6u3Ob%bBoMpBy(Pt<{^_>|JqFg9{nOqa;nSK zl19f>+em@i{et;Xd5pc|QqbtMHGwh{UT7)HX0H@$2ls8cOaha*&+;<6M}s@TvScUH z^6Je$Vj@umNF(WVAtBsEl>t~j&jcl<0&mj zWDM0%xG!t^eOJgn;L_038o(d!Z2=)M{N}(uyqDdbIwaN!io?u^n9mPYl?`PXqqW+7 z1EVx(cNDTQcX8=&%jZ=d!^+-XB&eh*GLc;g9?&ywQFAU5$XA-p3K1nTNw=p9C9Urv zu6V5&fz((4k4nF2FYq|46bdE7-b|2EtP)?l`QqXJKSMcGMS-JS~fVmWW+mrolVUxSrcjS9nynV znLGhy&8Q5TxjAz)4_+M@^-FA_cPmtfK1)emlsH?Cr@e>g+^@Wi4+LcRYxZ_!nb?kA zCBA7fuQ{a=_Q2NBeG8 z3eHx(qh{q2YZqThb#V<-^XALBkg#I5!a#VDE~74xr^S~e)0Xug{_Y=MCKfe!d5H(O zfn?h$tVs0ow_wN+sh&@-v^K5j6zFT&1Yv$5#o0vk>;2Az)ek+#8L?AAQcM(3oKd+= ziymsA;2>LAIcW?p+#2C*aZ%KgE82kxs!3b*0T1nYMxanvfa@9Yyi14Q?Z-mpf_C%X zQg+H%m{|sn>S=WC)+D zWkb=A;8(v3uWl!j3G)KHg51_rt$MKJsvg_l4@M{JHb_Ksy`JrjW}0~`iMRSe>;(UX zQxMs*%&Rwfd(n^gr~B8@sWjPn@pK*G_(c=EVeM2R$G>;hPZs#_s6adxxZyz%i*#L` zGz&bSu|;i2IaRTFY_dacWQu0boWwI=2ex1kNVq(Jzar@v@HO(NaKgs+jqdiGkJ5Tt z^l>8%Gsb~v{mCU};yl2dTE(OJ;11k=VBE(3TC{+rj3HDdf`S=oZ`#5~F6?(P5FVOx zzke8?EIzU~{IOdOOT~f#jX@Wp2OUFoC->E=J%q-_@HdZ;nkznF4wPfbV3Z!g2anpw z=e*%|#pvHCdLAqAR?pjY6#7(a2K--E-&y@}JsY5_s~j^qT(Q}y~rQ*Z`flt&3+90<9M9U5qh z%!3?#ti#ra1dcBc0eO$0MNmoLiJ)#;OU>l9OZOeU2M9if1l?bmuc#=@_%xA6Y3TFo z57tDg$5Zj%pXDKj!%ffze%+-qKQ)ASPJ`@ct>BQehlTmc9;j#1FN=Cf(E67rj`qC3 zH06wXP3sraPE~+l8%)5!0(|)hdOl&Gynt*QqkpKDH`%IFhn@SH*{}h=8N_7g&Nu5Iod$xASJIeqHy%1@0FLSg=Hd?TY?=FM4i8SDjUv`eUkp^B#lEE z=tVojfQM1grf#!rFma(fu-y-cW@xipZ@cZ0#HEqI$&QSi3xHDnE;8}eSHq9>4|DBptc)Iz)V79Sv@gAO?U^ees~X8YrQK0C$#KPwV1~b9lj~O+oHm{R z@`MZRK6}#J)yoAePBkf=#72x#eulK`gQ`B0Pe$%Hd0V1ME*e<8MCgl)y5@RZf@wY} zezr6U@-R-Yb9Ok39qM!>6QA{^V;QTCjZ6|^-wjL|208j&nnX*&4VCdy5`-|_@oTe% z;8V!AwOG{BMxqMf7weytSeD<7wiLK%CnRo6JN}3t=#;Q3%dlvD0WQEY&i$t0of~w4 zwuWDrpHA6>XHf_GH`W(u6E7s%ire9jVTJ7H9f@KSm;x^*|0aGEwzWs0?@GQyYV6#y z8?cs+4^%Qh`RQ9Yo>0>$pG9=}#%(S)$l9b+`Z_VCXs zpJ3_1AwRX(>64&RTTKrJ}LayIWkr~Y^ zE}Zv=Ne9SQq9=zRD>*Olh)T58{qKgyJ3yOK_$rWeT^-IlT`F((o8a`}&xIXlP`xG4 zjv}r*WqQGh8r>^6Y8qAs&x$gJnhkCsQhY}b?gt&FhTJe$8I0%{)BX>UM?4}xwv)5> zcqCfB;NxPo27jrW=92E_8ys2gPiH1nvZ7C2L@&O5v2XaV?7udY%b?>Lt9<6$(GVcc z^z(l#1>j8*&I^wag9x8uFJ%adP?xHCrgDv=f1ayIzD&K%w(5q4*d-Pmb~XL(YHaQ)W>(IU%mS|^V>DYG(etc zeK=y-_fJ^sA_UPL3mnPjkoj;&O4nbDx?zcFj9NDlyW^lOxxYwEVvX2DgcEE-?5y-2 z$MI{S4vz!J$|mJdOChDk5*e1d8rt=z9;;_T>bE?9hDv_n)0@Fegi^886oov|actUKvJ);D1ea_3+h%(Ly)l0vE&%HImfe%@wn}_K}QMbMNU#eCGLs4*%?V z0{HYWUmi`%QDlOOF`kBN5sNBm(5qb+)}L(7ktyUn`Y`(wy z6k(aRsHWzINxPgZYU{3@B%$ry!R13$-wcap!Z1*la3ZHv$}^SK8`FI-RRi%=1k3xY zJ^btO8&KEIuuM~*H*v34cGzTsZK;&Z&(TqACao*(Ykdz9voR7jA^a{&cy_12VbZyj zB<$v2V~Wuh^6ehjDw~ej!jtB7zGX*PMV)3or3C{;YF;bV_ut8TBDv2mZU+M~wni5A z#qmu+bHWUzYOjx#(cvo*$!bW0Y#7;UILOPI?E zrDTZ0n73#A%GYSqleb~V4g6OLM&RHCR_`WDB$yM19MfWGDEyH;pFKo5H{WuFdY<25 zHK(6g>nK@FYpZVN>>T~dh3pR-ilD~bDF+3=3y0=kWL-rE6Tv0FE^`UHas?v&yrC5e zVHL0?p_hAmD*)Ac6z6q2=DnzP^iwPDaB3x|MP60f7XI*Oj$O^i=2#SNwps8t>ZXzW zHrh7av9Fj)@&pg{X^^yp0Vz$%&2^I!&a1qJvc6q3CiLK{u9ZREUST~sr8j4CsuZfK z)4VJn$kGn4qpWA3{F@OK5)Dm{xc&r{%05S#;C=Ndum+z+KGWCB(DTjaj0ty8y_H=X zxK+(|Ij~|<&o}(UiN?UniTsIIC0^#0!99$!23NPRdpBJvqJQyhn1VThDt~T(Zk7J^ zJ}v&zdZn?x#_5c>N#(${vJn&2u?e#YeZrK7Kdb4I(#o7b-S|Rl^mwvfcI0C1SGP4! zbML#1s?|<2@gOOUdF1bK6QLi=X-R?&3S z29s1oV5v9IAflBg)f0kOXfEA{ljX}P@eKXOgdFD6f!^NZ)AL8fsNwNUirmA^=OU5}X7H95Nj{2oq>}@Y&_sLN$d6T((i6dZwvmbt2wK=W_6feV29uMz~L?6uu-EJLs-}W(0Iri z9(V!?UR7*yS2k<@uk(T8ZB8r)|IPHLfhkMzQxky`jqd^(~=)^^^jrNYY{# zmuSO)pPQJvYi>ffl*2UJd-HWU`oNWilA%)$a$3Cl+<&3iEG9KPXSg559~ysR`0whL zN%#BRoMaXHKb+7vY9P*gCPMsk0y$_!ekM6oco&VV7mO1bFVVPS~ZJP_%loo5kJCBrf zhPbuxbdIQ50RHWwajtquN(Gm};|XtUz!$)I__$f` z-S>1DOJ5lH(N*g8M;J}%YMLJ%_~lIqnQ5lBEzVFNqk3fU#oT0_hoH4l0*K_RiY4cz zN;iQ*Vnh9cRsgSP&H{Bn%I+a@w9l>8(Z2O$bG9@iCU6j6ikW~rG3-w&+6uc!j5DZB zaX(m%*S7f5j6Z09Fyz=3`FI@^@hBux0QihIr*+zg$B@g82r%K!mV;;7L^~1hU=w?v z;{Ri?srPy{^=~`8hh~=}nP^kIagCW#!y2K%rt&Cs(wC2Sl|87=?+h%8c}x*-nZxn= zT@1ptta-KY5Du;58fz>r;YhQKvZ~TI%GOajD(P9#S~l8zaj~`ayuU}?rST#ey)j6x z=38*ohwbWzDD3Je-9mxX!ywp!zeh_G>dQe4Zq zz-_qFMzYdvT$GNo<&>|%MFF||kiyXM3%*0Q^Blt(uW?Meaq8}VhM;6Tu?6>+Ru zk#zy=&X9y)71_ubN$5<;5l%E#qh& zmRj=;bWIr&%lZ8t7Ibp6u|g#|HsYTeZn|4`g*z788#}wkX@>a`OjzZ~L87)pc7Zq08y-adq0Lt=rbk+QeDuaDBbD zR#ZdLLV^oaEs!egtLN!b$V&0oD>9-9{YrW1fEXW5`J$O#UUnHKX`wv} zoZu>%HJRjd{Db;$n}_mg+qL3uR~B>Q(1F~ns}MxjDx5VG1*sRd&x3M7vG{(muz4@- z^y6r@8Hm*6o?&-O6m48f?TyEzZ|00Z4f^l6he13p92QH~xs_CVP~c;sq*}>_ka79E zlQ9{L6{DcDiJ8o(357G~4NtW%gGRb`w45&VPggqT-Bg^qQa}KAmAZ;Ak5(g{%q~W2 z{-m`<3Sn;JSgNc8z9Z*sjCRE##eoh5cM7c<_c(EusK?si;ETU=J^T0O&YSTUTTEVJ zTNra)*ZuP11B%ZA#oy!+LSj*P^DJA`zSNQ=I-E&=kWKsg?PLjW_fS<=Sq9iJg5#@| zx#@_*g_IX3(?pzGclA{a30VW)mPZxBcgDvL=P48G=IjoXD8i|!ClbCB-q=fwoQ63d zd6xZUGW^Ml_kv4kEQ$o^2*(_fwzRyud13D0i>tG-RHK%6XHM4pb`Ukop#&I`1)y6}x*#9V`pjyR&0~s-1Q@iAlPEEZqAc3Gg7Jc6!2mYVPqkmT?TgZ1o$>SznoG6 zVIRhCy)tENPkHL$peGb3G(E|QP2=0R2m!CBUanMof?TItKITbb2=empOd1Ii^Dy8G zS+^S8+>neRQ;gEK=3dVu-|&G!Bn%StOqq$&oo8<=-8rYWIG!2mr+K^7!LEv7k0oh* zLk){6O!l5mr!V#GGQ$md$NX$wFoq?keE>re5x)(i09lEP5FR=HL+9!=ORO${UicHZ2w5ah=@Mr>eF2GHnX zvUi#5ob0Nax1)!o_-JtVO;pzy{OAqaM8t_Flb4Oi(6VGovyy+5X5kZ&AiJQ)z%Ro1 zwwx53Sys7l_G8V-hd$oDCl@@KPrcxOIU;BgQNd;7neT%GyHMjvw!qq?5c@S*4+Ofd z*|f&j8RvT(+5|OrB88z}cYD3a^|X6CKE9rp%t1Gc*jr5@HJ{~{jnLf?BB(KFPtZnO z`}tc|-JH)jX!aE!=$l&0V^T3;D`n0Zz=btXJvR0u8xB!m)6L%^p`G5b_gV>v=aMIW zLI^+DncqDay;!^ST01ZK6E&bG$gupY_%Zg3raQW-;t&c*IZV0Rhqp+MdzO{c-HlgD z0Z>065OLdV0H|t;&%(@rb84fUwsqCMlz&yJ++4p;(Ks?LM68J1aoKrqU>Em!G-~+6 zD)il}a?{qc83ZnSVk22W_wXQrcBAe^0!wza#d9;_oirS@>H2n{neUhgOFv{tr1FYN zSWX)p>cz&X3nrCzGR&9EiSD!x5BvJKx(2;pFpK91zjYgR^cZ&>d-(-I{T$s_OQ*t` zgZiCY7l$KfR(>l^Gd!;KBLZGFU==QVoOMM=vvSt=51(ZUswM|07Rq3`IQ;LDAXkrC*HO~am^2R{=XEf1_DK`~;cQOTdJw7DB{=1Qc-#M_Ew zPS>e9Ix1?Caxg2xAyHdEUJo%`0B+RyqMVvtvEMJ^?+0*C}J3j_^h2?X<xy9y3(o8|NK1MDR<3t<-~{pvgqth zbu5cF%+Tl23X^KFXuGRf9|O^8rxVjx6|EZUcrkIz?xll2zIIe9S3`1#Nmr%0ty`5} zd$03`G9e8-{<}Ci`PYg2h|FVlL>E!fq|59%jpt&FRHdU9 ztJWD*=1RI5$9yUS7Xa?jmpz|}P}xUG{XcE^^xp+-i}1jNk?(v3-DZyl0CzLcH%)N6 zY`#rgzbzx8ZUZkyu6?A-Mke{Nc59fTlM+V+0VvZ#A)ecwpWUs=g@lD$&i*>JaC46u zc3eN$TW|7hp5L#Z*F_4z?U^fJDkWrq$!#+UZfS1vFV}VKcBO*xk|m-J^@eD)Gb~-m zH_*)|+EZyH1h`fI7a!+1&wDbCLl0yX5bG@-*JDFHOJFqbzz`u^%q=`oR!Xb4va-Su zeL7#c5d27DGl)q=HKZ;tP}SfZxSAuly8isbfvv-Sq~vNHZN%I7DyMh7>YM?f%NfKC zo@GJu#LTF%FK%&d*_Gz_$kffRKB=y*CdxiPZ0RH0^ptIwb1w5W12%;}MLy=7PwWBU zEKmN8%q63+lYW5kh6#8NiHfjRz9I?&&3VExnsBe>F~?ctAQJEzv=9+Hh`sIQZxZPG zyatO34v#%+ngtS`*6jW~Ce)2fvEAP7NzXt3fxG-9XDKfoV5=9gk#_f+kCqCdI;LQM zpV}C5H_m-=^s)-v-NKyb@E_C+*GN9;_~M~DA=EtvqhUU|V#6luOC00kW6cRYAF-r7 zN&PhS$;!9WZ@8hm;)(cY8BIT-%>AG!S&v<(%Sa?}1oZ$0IhyO9v(~zB@tj&*|7%Yo zo57MrWOeq(VyD%dsCHTMO~!ES7dc&NNw;h|j>7zs{$ZAjK3M za5UBlA>F9IKAX1J9#D zv>q-P6ZZQi#UlTAV%)_!y<(}*l(~Q^zmkWNV#jqo1CA2rQ?7~TywWvJt zt@?$Q%}W*KzGcP^1=1bd;sXhYI<6Q02-{~`WWh?cu0QMQOJAa|lCSF&>QijjGk-j@ z=ejT|%{N}Tkfb>a{U-EAW9#;BgG@bt6$OrKh;19YY1D}|X`$7qRD;pS4%Nmh~G`qRJgI1-Hjz7o?(X{ErZ%1b>C>C#>? zGZvyLkiOSq2&UbV8aC*4e1;q^Y{KEmHxHjwfdTNiI51q5QkyU7QM3S zmxbWJ;H9S|i;Qb36~SwYx$?nR8S%SQaxw9Q^BNg(-v(XX7$XR=Ekr|HvigPkJr?pp zKmwy7s(#-9b%(n2o<(>HxrIDK-hw~GAw`gx;Ew>r_o0pFdOjEJ|NPOB11d{@lQaqY EKY2L3hX4Qo literal 0 HcmV?d00001 diff --git a/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-X/-X0013.png b/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-X/-X0013.png new file mode 100755 index 0000000000000000000000000000000000000000..58f4aa72e371257eb3c9fe24d224c0d5e394518c GIT binary patch literal 9130 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 Kpn6Hu@c#ug3^(-v literal 0 HcmV?d00001 diff --git a/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-X/-X0014.png b/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-X/-X0014.png new file mode 100755 index 0000000000000000000000000000000000000000..90ca8f7315d81f349fc18bd090caf78da0ace865 GIT binary patch literal 9172 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 literal 0 HcmV?d00001 diff --git a/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-X/-X0015.png b/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-X/-X0015.png new file mode 100755 index 0000000000000000000000000000000000000000..dca41f5ab01f1b32c2c0cfe1b8b421bf20afe1f6 GIT binary patch literal 9804 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 literal 0 HcmV?d00001 diff --git a/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-X/-X0018.png b/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-X/-X0018.png new file mode 100755 index 0000000000000000000000000000000000000000..36bed7d730fec67bae0d9a4f701711fa52e5bb43 GIT binary patch literal 9753 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 an9~3v;}3P-9{*-tU?5;+>3T`i(EkFF6G6!U literal 0 HcmV?d00001 diff --git a/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-X/-X0019.png b/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-X/-X0019.png new file mode 100755 index 0000000000000000000000000000000000000000..6d92fd4441284d5051cf5cfab3738d252fa4c7a5 GIT binary patch literal 9397 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 Y{4J(~V}tGAHwFlxj0&J$$}H^v0Py6edjJ3c literal 0 HcmV?d00001 diff --git a/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-X/-X0020.png b/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-X/-X0020.png new file mode 100755 index 0000000000000000000000000000000000000000..8478b5b4dafdd726a734060fe0ced5366599501f GIT binary patch literal 8908 zcmZ{K1xy^kvpyW|?oucech}-_=;0jhez-dnDNrcx?(R@rin~K`iWhe)aR0viUw(PX z%iCmkXXcyPY-Yb~CYy}{smNiVlA^-Ez+eF7rPcq=n z=I8Iw^5Em&i$v?E#+sfbD(Zk6K8l?U*nHd@82Td|OYm3QuH?dR$9y>~pnoC1t44`$+ zM?b!?FfxRHW**J=Edw%t#zzU$5rt-&mAYvJS*t(RhhO<=&zpU&it~aN+n%OEpe;fB z4pPk;Tsw^s&_ZhvQ0i?oQ&mMtRbFDjT#SvCgBFdCw-nW;8W|-+H%g$E>cWd!rAR`dq6Ua!*%E`zn z0u`ktrGc_QO*IWs;m^v7${-bxkbp2yUO`Dg>9eSqI!IkYOj1i-OHy1)RasS7NK}Ad z5E`y2_E{VnZ@|sP%g4(PjR8YLHK4)jP=D2b`GkJe{+C8*liQ_>JT%|x-b3+U5}=ik z7cV7fvN1FWbmS-lZS{bb+P!-#uGvVKOtBRznAmevW`<*Du z2vNE^{-&XS+-h)FSJ8k$L_x>JB*G`9z^0|A68*@{B*@31#{!g9GLjaTWYbZzRCVGs zb92xN^0U?WV(JwiofdI?=Y1XfUZMT|mM_fl{<_!wBiBxa>a^ZS;O%K^eR8m=-rr6c z=l%8d`ec1+p}#XPH#H?8D$L*BT#kY0{q^PL`SR@KcxP^6w7;vdIyJ~nS4D#F?d|FD z;{5D*eSUUqpu4rcDla2FKEfA5P5Aovc7JbSX1K)9(?nTt?F0G?3=HKeP+CIMdo4Rf zB5{BN8NLP7vk%2GlGd@hV#Tec`i8dw8@8PB8X)$mrn%OrXlf^;m0H~a zlC8yU=oJXgR6zpfW*IY^gR!t|Src3nG#Sq22UczX&fl&)0hzecAAEnzV zIMoRi@=tiN+2ipMc+n8RaLe4vk^Yy8U#hD$9I!2V6pdi^knm{2v$SX`5L&3S`h z(Il_(>5F<*aOU7c1^dN~i@k*sJGc?BvN2#rgA}XfDB&mrTOiJerE{16oP|rt81tg) zgAdfOBY|OwrC_1E2^U^Ej*&ChsB(B3E|TopaZt#>R*buwyyC%Ym*Z)vKO2x^FOOnk zqQui|7>$9cUGIl{MS=Qr3Z0B@&~;JI2SG)2rC1CUw59f`B>;vmRZ)Y1*3PprWBp6Q z@Lr6f=nd#9RWA2fKVF+LSN4#&ly(}ro_xQhbn=~@E72htdW?Q8{N|%>)}EoXpuiGc zHANa$Ww3u=b6EiU-HRzizmm~6kJz!h{M6U=S7b}{~$fY=xbh5c37Gnnp9g79Z6CX?f-jw#Mlxgxm164L%Cg+DC9{-L0REOQr!Ul5Fge0gsV1;Y_*bpf zlDiA9P)@I7%rM41f4l6n&W)Vd#35dIV%cQA)l>mGg(g(9A?<(!y5wnP?Nr}s%ucsZ zm9%hs8*@tOOr8IixQM@H=e%mtrV-(<|6eZ1z2~o2adWY0wqrxQq2{0CAemzBUvHXP z&Q3f+@18CJg4?gis^`KI{kzhdKvA8~`3zL{4D0n3dV<%b(O;+!N!8F5i#J!-YaAVi zmn?XM{$9Vmc)C5`PPhRf%Hw0i8h1tT1>Zu?bF~|zIvk4avTH=p;k5ho;>AN&?8YMQ zI*lKzNa{;t_9oV+rVcJ64_@Kwmy{xGAV0vrCYM?iKQoNeO>*DNWgO~;{Jz;D`MAv0 z5_;V9L-@X#bjE7W*F`9(#lNky6Y2rI$@!D?4zgnF<&#n){_f`0xlXB7M;w(P2HQVK zvzvg7iw74L6wHZd_OlN}i#}v7S@^wXX{$1qa>4m7T+3~N9+NIfqVk(@cjR|UCUH>dTgbKXH-)P=_rVZjp26A~m67HS`- z9X9a3IWNpF7+^mZCbb6tBZ3;1od2g#C%BTaNuOWIlBA+>jC7d;!Tt6*Gbp6;Q4 zdN@?j1CYt1TF{W%AO{cXe-9_!StWKRlyQEfF z2W~O5e#aMXfmD^GXjyn4U8&OGj=9aQzqQqOHN=pMOqnq=#O>a*o+Qu&jk8$4dIuPc&IV{M%iX%P9Rkn9N%ws|%C3Mq5tS5jn+cwY#biXmV?4nHJ_XOE$v3o& zMfz>fQSBpo6LB-RTCk9H1PYJU@d&1sWk&nYJZ*W@m{(X$;O?QRo{nE6)jSWNai7s> zDotBIsQ&HLL@N5S)@c!>v{%oP|GTJ8FVPar7ItKOo(g*Y0;6r9bAJ(#t%{Se_L|`! z1zcb>v9CLK@~bAi5ms_>Ri9>5owO2iZDnET|1^Rn(rg*JOG7;yX-lk~G=_*+WKU;X zMAw4o5n;-oO#Q|Tw#!zhk!YdyfHNsI&+6zFQEp;EhJO|@k$;@uRqIElG%mH|CDAEE zSD{ppm_lzm?08hopH4XttBqS!3bz9iZE&T-GSmvkIj%8NKk>MUe)vMth?GDc+4qro zs)?t1Z_J_&j=!P!VC=8b!DG()_`_;!Z{`=Kk2QCo6p=JCgB8d?L#*KNiKr>%zUGjP zP_%4O6|%@RLMF%6JO>+{mcjW}!Nd*Rw>E4$dWRyvv^6xvniLJ<1^2jxh88!t=SHO@ zzFaNEc@bn+{>LJQ%v?&f`~6GYZ4YktZzC>RD=sbH+)5Km9M9HCJrfY8_O>GrJ@J29 zSOiIdBLo+(IFv_t_}IdmVGdu!qxulJI6nQnjUSj)u5vL{J@NfZGU+)Cyv8O1;&Uhq z^F^%j>q{?fdE3J&ZaE!~rbb~d#%AUP0m)h5~ zAQ+N2dQn;f(2OwMMObN^3SW=rVI7#g4G31l5v2yqAb{h;hXh!5>vM~jij5lel1?x1 z3)@fa(iiJ+E9td6{jd;Sm1iR(;&3tN!rhcc(gimfidn{aFhp%)^5H8)VF+qOTy!JA z==?R60-G`a4lf@=_tZdnx+67Q6^kXMg3%{%p$wgL2D|e&l};;UGP~W!HpEj=k^h?J zHw|tEqsRu&2O2OVr3w`=?%W=1K{q%I~d+y?kh&{Kma7Vf+ z`Smw8A}?Umu_L2+rg#V6lz+2Lk3*xy-K~tiO19WVn372Nwcd%|Frwb`2mRTh>aX%~{R4TRm?4-z?0nqq9 z5Z!kywX(HX_S4c5ZjHAe#~wSCo!dH`==7l96^_C3S(lp9fVq!mGMc=vyTXN+FK?tn z`I6n)Rc9B@-{PjhRdS?lb*8ewK@wa~0eoj+C;{_BI06|TK3W?NQHRTctN}dr*p(!*4S)}ytfRhAxYzCS zIOV9kA?B$Ucqe*u7$A5gyv+!0UnS^+50@f$4XsG;pd4>xJZ&tG$}KS189dmeK)^e*-!T7?T(na9K6%2tJRNOn|ql^+beXZ0_8{w|Lo z1-&hm)pfldM2=*8Hy^}g)(vC>G-$8XcX4=Wd3~DHWX%O}Hb{RQpD9RTSPYWt9Kd5M zntn?oSkT0d2!*(DQtqg%t2Gv|^kcc*z*Y@KVT9#k2sgaCVn7 z_YFn~fzDUiG=-*(wQoEUQ>HRFS&|II!t7yGE=A<7yg>3o3gBVSAT}A!J?qEgF5jT1>vv9wzfB0a?b-r+tRyko@IRO8R8dLi3>(JxMmhWTi z*nZ8_)YQ_wwc`f+1G(50%P)040>dx)nx96QLUGD(qU-UOjB5`5)uFi6uXK3#4EJH! zk-jOMuwSV#(RZ=G_LNW|Lnb<(a#Lbkq&^!5Kr9cY?y(-8ciLk11f07TA0hg;0ON=Z zAG36L1CC#{v{fc6kF9Ho*{NwN#TaceA@Plsw0-IVS9yiDnKt&BNc@PcHioWy6lI1k z8&Q|N4IS^phiiUFIS=K(i(3x_Qmw(6)rirA@}x7|Kyj9Vq`RK{751Y%aEnv{-7F#{ z9JrVV`8&MhpHiy5u*}Nw%+lyqi145D9|k@LOGn#*yPZxB)jik!hx2}Qx%;}qRIwVm z^EZHzR08GDdES#?t+7s_E>~B`oSv8iw@Mc5;utnE5I0_oSVKT&`DaAA4RS*Sq^i(d zhDgl)J_Spp+xTekkv_($x~KJd?PkAP&BCitBFx5J6HU@Ib25!o-O$8a3e}-YkTbWVK`%XIt>|2QrkdLM|CzUWudt{X3zry!O~)Z+%NY4EANmfS0OU-sT=2 zmH~}{t-qxM=%Xpjv7ah15YVJU#*P)Jf;}qZ<&PBI-tg6SHO1T(R!wYcjoo*#{z`OGVVbg_lEF6ijfMagEHf%bzjRPO%~mY}sZ|^Byb9HP z*TG~HNhvzUejb)@&2AVgu^Sd9?uDaG{;N%JbAdLn>b3g=EB5E&^vm9I{5nwLom|xSUFt{Svhi7mUZkCOWe9)HLID@3*PW++#Ue zGXa&dRoGLF5tn>tLPp9mjqYKs_=mArjRL60_z}{^T0tZ8Fp0;paJo#zvSwwr5r4*3 zaL%N-=J~H{78@TsVp(C%##3jh*6Wj#T?^N>XW+5}sUxWu3;lU{!dG|9(Ehi0ifzoD!UlLdHLxX&|07pVw|2NoNfl(9%U>Bg=f$dQ!anYG{W-KKh2?-Ip! zNT?U6BT(amk(I#&(k}TCwhsN_aR;)p`wy{JO(`NC8^bp@W#br_b75I}} zXWLZ$Xd5x9rod3tIshrJXJ;Y&NL$D_62>2FLDE6gSMdkH97=YGY5Ou2q&4aAXJRb zf)gJGEwT%j?1D=9EJ66BRc{~$6KoXdfwSxjd9Fq4SZ!NzqEqvO52a@KIN(Wsg>zlS zlo;&2&y-9U6P|cZ(Br&TO=j|ok6))ny-YkQ`u1E!#ev=uK!saR zqSNP{FvH0QI4UrR?%PYN;E2Ey1-)?~3z@Ao$NsXRt6?Ge;YW1V($)weV`=SjmE!+H z*RB0y(<#IQjCj~taXQ$LR+&l8)Hq2qC2$hyH*gKbaM{7h^3cm_)ga zE8+z)m$iz)?avG0kT-RiSnJB9$MXlVVjx63JhGhu_q3X>zya6d6TX&V)6YKcH{$rw zm^T-vi^6U~OpBAca*_yJ~Bv`vD!csRRttuP#J}6l<6aSt` z__wp19y>O*>r!BJnJ3mzZalLwO{ycJh7)w+MQuL0%UW^|T{Y2IRToKsIo|shzui;; zeBvh~DtsxMnPqJAJ90)jg=U|sm)8Dfrj$Swy>fk@Y20o%pW9u$de+Ij{8;OQlJByR zFGvZ%#|7j5iG(F95BX1n3;#n#ng zIHnM_YgaB4jX#9s+LY4L74U1$J{4o5Ea6C1!b4X05+#Hu9zNeBsn&M?NtoE$f{xxE zMs{C2|1u=TI)X*7Z$xjIff)~1myA5%}8iDX- z(SL9qDoG2t*$F|S^mtu&x(xc|?CAL8dGoMyAe`;4C#4zhhdH_#QbzLoM?F)GU0~p7 zusy=A19)mXsL3Ks<-TR+wPs~L6El>`QK~DvJa!SQpUMNI zka_XL5{bidiKIIB0hl{jV)N_A_Yj-0~^f}u%r*eqMjPFji{P|W`O$a(nItB*B#Jv6}&t8+jb z3->$VV~M0xGll-(Rm7YDf)t@-i()$`bUo->pZne?cK1r2zs0Aa{*#}IJeNV`l?@T& zZL88oD!ym~1DM`N=L3h4<&>ZmacPYzyqIT$S)wJxsW3)0H{Laek7iTy)A~Wq=uux= zsTp0|M0OMGqCqyZFa};GYyy=@ca07LBA1nLR5Nq}@SKKRw-zDHCL zwOktTFI!E;;Td+=n#(`Z(?rJ|pUlrPNZgY`I-pcGF7hO6|5PMnxYYDKHX-MzT#dFm1BQ zUxSUk$@!hCuyGBkzKgXl>kBQwuzhwZs+i%5sfg$OHJs?eI#i{Um`jb%k|YBbF92rO z7F<9#7s@_oXICkV2`of6jQ2MwavC5y;NO! zCui09nI~c_EkOZgmT;d_?31s@cTY!`G1yK>q;6|LuzlLpOJ$!B=e!D)V??0JfWxDw zuE8V6e8w`VdKqtxi6(+7|m-*c$sv9(L!M0!KUD;O(meHO_mK86v(#9BO^=@?Dm~HG06cI6jC#OTZ|+1R9}%K76c{7dr%7 z2+%1|J20OJ!YiH6IS_#@A0IiMK)QkY3QtXE_{_6>xX5z-{wnfzuS)*f*%Vl~ijVOb zYTh<(d!!l!Snb_CYa8fAo52)*wTFERdKZJ{L1&;x&|B!UYThLbP8mWL?@grie|-x9 M%BV=!N}7cJKV#y~&+A6wHenNK5A5^1o~_ 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 literal 0 HcmV?d00001 diff --git a/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-X/-X0022.png b/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-X/-X0022.png new file mode 100755 index 0000000000000000000000000000000000000000..c8c8a0ac90db0a187a415643e0a1af082d0a4465 GIT binary patch literal 8847 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 literal 0 HcmV?d00001 diff --git a/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-X/-X0023.png b/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-X/-X0023.png new file mode 100755 index 0000000000000000000000000000000000000000..79e856c1e7084f65cae329b4384c964d6594506e GIT binary patch literal 8954 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 literal 0 HcmV?d00001 diff --git a/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-X/-X0024.png b/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-X/-X0024.png new file mode 100755 index 0000000000000000000000000000000000000000..8adf35c6460b327d13987ec6dd1cf43fce4fb9c8 GIT binary patch literal 8979 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 literal 0 HcmV?d00001 diff --git a/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-X/-X0025.png b/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-X/-X0025.png new file mode 100755 index 0000000000000000000000000000000000000000..395d53a513975203156c115f35668f363573b58c GIT binary patch literal 8999 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 literal 0 HcmV?d00001 diff --git a/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-X/-X0027.png b/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-X/-X0027.png new file mode 100755 index 0000000000000000000000000000000000000000..946fa5344ff196714789a50b00b714defbc6c875 GIT binary patch literal 9290 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 literal 0 HcmV?d00001 diff --git a/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-X/-X0028.png b/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-X/-X0028.png new file mode 100755 index 0000000000000000000000000000000000000000..cb5a2d0608f652e43c9ae5a57d3db1fcaa1cc08e GIT binary patch literal 9484 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 literal 0 HcmV?d00001 diff --git a/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-Y/-Y0001.png b/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-Y/-Y0001.png new file mode 100755 index 0000000000000000000000000000000000000000..63b09c6d519a29985079d5708af5837521ccfea7 GIT binary patch literal 9410 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 HNyz^I28KGk literal 0 HcmV?d00001 diff --git a/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-Y/-Y0003.png b/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-Y/-Y0003.png new file mode 100755 index 0000000000000000000000000000000000000000..ab8d6adae1f39b7eaeb7596505632546dee06707 GIT binary patch literal 9043 zcmbt)RZtuX3?LMD*WzA^+v2v1FV5ob6u079+}+)ZyHnhX6)P^q-QD-z&CT81&wX7c zo_uB|$s~~~N-`Lzq^K}3Fc@;OAhrKw+W#bExc@lXzn~cym`^V%U=6AN%>Pe-g@O4G z{};f*{vY*!yZ+zuzvNHn6WVOCz#)N<00l9$F`k=I;Ba^6hT zP*Suf$uUEQ6*`sct|8m1$v>noAO)0?k&=;>k<-%9f~Z5Fky`4i8mh`_%8Du?LZX5K zLJD#Uk`h2g1x09(Du5RN4N>O@2tdOi;-ccv7;R{r?#Fj|s5cnurvzMK%y+73iPbhv78nVS|>MI<&^|$zATm4hUWQxz`#6ZFPq>I773{psB{t z%U0-aEp)5$>{mRr!r^5s^RhQ_y)GQu>0ziWf8#6-z3+rBl}`T*f_8hkS?WWf^U$}x z>w#orZ3y&tF|;o)E-Em{$!ynNYTjIY-$KM)N)QVD-Jj>Tn&PzLZ(yUR

5gCb}f} z*qnN+2kL@*Or%t0B~3sQ%{t<8A_C)jfN*JE==J*p_E5!ZZ)R71EVS3B zDcBm?@4KwY$@;Nq{9jdNxTz_r!yqA`VqoJDl2MV+v43R}^zS7@BBV zee>|OHxF`(at+H&&X2qDe%IoEe;aRa{Hgr$ag&p5Cqwc6dbT)Q!b*w%@$q=EJo~G) zrKvGC*2lv}p5giSZ13Mje@#+iLadv;t-1my`_tq7`N4c&MS+(o&d0~Y!S?#<{K!yG zeR+PCp*C3LZEtU9Zgw&WXa+XChJm4Uk^@O-c&_H8Dx~dEp~KUw%|D9W`~rvS+*R7A zQ&NF5>F%8UI{%F2R^19MEby&IRLt*7wTJ5cH8>Z+I+mmC1@TY7zAtsDkkcI5`C8I-eEOX?A=AdO9!0NW9%v+ft=X+{>`f z39v0W|MvR|-0QKs2*+JStBNJ*7S2xC3e;G^jQ4uXI`&&XkH-Xd9*Sy>?r=r^8RCwt z0w4%S%4kusNxfPD_%Pv9Sq{q4OmoM$H%h^??XeSs*SK1 z+OTrlf7eTFchJ}$LL=FYxM(r4C5z;cXQD_3h46F*Z*GpA)>^q}9D@$BKjE3?S885% z@J-f8P#DX;n@!A*_YAc4kC`l%&=W0vXtui4|B|u$Tev${;NWG+H74#&#sFvTD#>9; zOR1x&b0e)P)((H&^f4%+mSaJp>#b~ro7oxhBb%%|D#KRiFyBH1;t9L^qvEU(fspxB zyNch0e|&dl#q-;wA{Lodte*TopTvP5479L8aTF4AFc_<6!;((uk8P;YOkJg3BBn)- z#Ue+uqaACKdD66KS*{H6Wux~ih|DMYMJN6OhW#}0{UxmhXZQxk>mkeS4ZA!Wu_PS= znn9PJz!kWS9=rGM%|_S;w0j`SUbb6b^CE>6yA|s{&A~D^KcFdEy|#GHWK)l#Vwg9h z$e2n>g#@NfvtOd4Yp8e-Y`$QI{^@Lw%2tR@!4zQ{+GnOaPNEhxuWfIyXf|`c+U!zx z=<)UOIKI!i>bdNme)TmaF%+&q(K;d$tjn^%d!c3$%hz73v5bp!ig2@<#VKg4c4B8h z&C`6dXdi51cnRePWhW4jnZ)y2ML^Q&MaF#x5_#I4rogQADiCICLX^T>U6Vpa+ZLYI zB^<7BBU+k8*@%ca{OE##9&t?x`iMy~^UO*Vke>g2HLcC)+H)|N>aR+g|IG7WT$#xuAUb2NE z&1Z400+b(9$PWDd^yAI~Uk!jykqXa&lbl<8?P)mMl7UIiUzq8kD2zjmPK<96WeK-{ zOy5b^)=Ao=7Z*g*fMOO_Q=f)y-riZsNNE^5x*Juyzf&N_;eKyU_AMtz*S&NLku?&Y zDk}*y9oFUiCGDjlYWC#>?K4-5rNdaKAaQq3M(m-54og(c_C+C(!F9R?ZTgT7ew>$8 z!8BeGd1qT*PLXvic(bpB`~nLMx^z8x+TPqhCJ0pgdFv8zx?leDqRe2rznlRts}mCg znbZ@sb9=Osy06zb+!tLZsG&>@MAV4#R_G?es+(5+I#Olo(FyO&tFVDw-SW%UU4ytHD}K7{?0lFM?l`X@4LSXr@{KW9{z39 zRIZ_+o&g4Qh;4spIAiHZ?%D!IzJC3S?An(eAbD{^L7BF}%or=c=k4He)G@%{;jLSk zHQgh6*j!L(W!=5+_*<+GpmniF84GU)H9y`lD`rI1h;cDf~H zm|sxME)ph~EFAEe6LAv-g_mXE^EC>~COl?laxyP8|2ZyHc)JMEC7A*}^3H;ru)~lu zd8N0v>hx&#j{@WHg>t^A>rrg4XSFrDBm$vF!ktF0C1%9gG?#-dFr_%OZ*^buw&8$1 zPhbq0NmW`VMknE+ab@x&uG@fICdl@qhubPHzuoDr@BLS=OHN$DSzw`Duxre|0+zfqMx=i&Z`6b28&V-E&3NWyM5v>L{=A`-}<(j_%X>mj}G7E zCPFl3fK6(c1uoGA?f+t=8N4bwP4y6@#5+p9%Mq|$(R&Q?nR2T+B$gv9X!yFGEjKic zVk&zbB1t%eWmMpt#6b>xxk4Z}lEyGeH{nKqUIKDucr{veDnxS-kAg*A8QZ1gmmAvP z3a}08u*gMypSDr}kbhY6Uq_wm`w6nh$zd|Gn$nWgQW>alj9(L_55)TMF~?`(S&{6Q z!?-idh&(@iorl$@L+7I4|97329AL&U79x{RRw9(B5;Tu?rPOJw`jwao_kKH;Gm{VQ+-D7I! zcg+&wo0x-tFOL^lWyk})zob1VcQu6RF_|#|aW^^KgLplf7%e=b&9_s~Tr9a(s!uyA zG%8c7G#Mg$8=73JfEfE!R7Ht8G#c<$F}6ZDW2~qu_!{TfH<5vslf+%vN~>P?4&kVQ zl4t+&$IPRomJ|qFN(&lIS5&4Bobc`!oTx=jZ8sxhtiGZkRh3{Rt0Buc1uijdx1-oB zb-A@T6V;ZQs=?m0%#{0*ma0;2BzgR-7c9 zPV`*5tLsxXfDM7F#}RIgosYQUwmy7A^AMIkR4H`k54V-jdRF=2E3^@s#th{XY2bcr z$3k%30XOG|UQq~LR3XXCOoo7o$;o+jk4*Ox{8ZCu8Pdfq94Jb$ph#T%WVR?K+IxX(|Jf}ym8p*Zuo3u~YihZE9>Z*;m%>`O(?ubqYt1v0m8Ov*#eJhW zJ2;)@ZG5NWNhKviI|3f(yqo~k5?I4WgR01!Rd82WF7dh6zHjHJQT9T>v-ER0$KCVG zE{$`Cjkt>efS^xFH8Qng7g_GSN+%x7f;*_f4z%H4X=zl=sn+M6aT!k$(BZaQ<6xQ3 za(i^}xQunpM_61qJ*gY<0)>Hi>H} zp$GY^!1kff6PhpXC`{KG_V{-A)?^%$w)^jr9^L5oCC$5|2~gT0?0z-7D>s;r&Ai-G z#1ymv5nhkYT>u2XVZjPaMg+rvWMKfl!xuXLrVTF6yS-Rnt9{>J7HW&M@GG$sa0!i2 z-+W8Cav7#oA_?|I+>McW45`iRrNssRQIU8&vkuqErehWZWRy1=4#zrfH;8-;-9)-v z-n}1L>yAq2gpV*gsIIC~jg!W7WI6GRVWpk$Nke07KjSRS!%Bm_nXf?K2~?sW^#m+g(d+}d=G&l}tmUl2z6v_qS+^o1 z=M|ok_I|=!1Ay~#8n<6ei}}{U`TnKCG`q-!pWE)pZZ%Tc9DFEK%8dldNQ-F>8(umc z+&o2L&WFcbQMAHop)^?>DpymD0l{s)IMG%XH@F6Ldb0P!uld$hzj;>j`o?-MhTPw^*jE6n6~T zMPrSk8lf<=l{gClXWN?*?;1^?#(jkj=bqUkf7q-(qV}ZHg!JoXHF7ZnyfUCh%z+!; zFnhA~lqL`CHm(NP!_H(2Qu7B;V=8*$^K1;^zK{71<^46prS%t$EUAG zQ|SyrteAiPCO+KThEJ!XDke7vI9{$Gn-^|dBQ{OIv&jJZQ|tG&PhqRRA3mJl9(GLw z{up^lsDwHx5`Chaw`ox`_yv}s-$5o%_2ELyRCBBFznPXtmtmn+c*ko`INL$*ydxjw zDZR~bX56ke;+oOw-SFtr@0mMd^AMAMZXg_F3aV1`_l+x!sFPNP$nz1rrQYpTq&mV1 zjM30NXMXy`)z1OYPTMwiuLjM5wQT_p_W|9mhe|c*)a-`cpt3o)S{`(QK4uAoQsho- z9*DnAZ3rRB+a+hoFy-78cjw6mnT$I|{T3$S87!iS;Pp`Lxybu{kC4as#=h>mW$yQJ z1wpevk0!UfUx`(&bu0<3h0%`|wK=b{$np22u8-KxTAUZ|ajJ^)< zf}fW=Qy(wGUt3mFVU;tArn|1#ZA2qdx$Sc8^HS7D%VPAiwmjd~loodNVm4-*Nc7eX zh#JWTLEm-4GToABbDs9>;r!n3{WZ*t-gg%C`ZW56$3~_KSzpu{V+R=ps#K*diD0Fy z<`s&I5m-bW)Us_f0TID*X$a;?+Lm0I5wv{OC&$OVI+q^DK-7mzjyP6_hAfB7>YWt*qpfy&_+Ayc1t zct#tN(~=`-cX!)kwZ*)qlqC2rH^ajb;&@?rEiHXRl0#Mr-$23Vy1PUWQOf=og-xjY z_r8o$jg){NdYV)C0e})pW=4dfz4E6B)xn)&>0!oculu{>3M4TYv@D2%$~j zXqcRUV4VmXtB47e`2vlJ&GXpST9S{0%8-EqUy5Dgimx0=>aKukXE@qu!DoZ>dyL+? z@rVCLa;98ouNDNVbr0z#ibNG-2}z|x{T;!jN=Os!d(;_b^QF^um@(hM|Kd+owChOg;iBzFp}*&}7c zNHMisA;SwWeHd&jtLra&^U8o}zw_wJ93u0%3u@oN)v)AXOe6*L+nCurs zSEN~Jqc98NA2FTSWaGh+R%N*N(R8)%@>CuWx)C*q_N0nA#)FF6e6v#5;lOCESmUaZ zo|QGF(N)g5XPnFh1iVEgr-hnaok2{}4FHn%L#mC^N}h?kGUSwE$c;%@BO|_p(itk4 z3+K%d0@3mEN!r8wAEqdUT@Kg118V;1=^5$i>505E>n-K>xq+o-S%46Ueiqn}qTF8c z%O8>noc6S9eujTsWcUMDYlbqN$TC1MlHP>8D5`d(WwcdkRs5aKQ{-5^UZ)GLdeNt+ z3a2nF?LBV%H=mR}geQV%Av#~iJh#>vTxzJVh^zXV=Qa9TzgEM6bv<3M!NHpdss%J* zPr5)z)Oo2Vb9HF0wRYZij@zvdmeKp!`pF9oVGgpDp;IjRvcIw36QVYx6?D@Z0s}Oh zBo`RRL?|+#m-aWo?nl?P4$tUik*g4Z6(m7e2FDqksgbE5BQ0!Q?b zOz!2x0htxIyn;nSeeZ~qf6EVL=;6rmjMWwJ31)=a$2q|2THp=W9C5(z*)vP$x9i`6 zdR5SeY|0*A_XH``3{OLRs!n0`c@|Z5oIB)&{*c7L_h7kzjmQqVot)uC!YxU7BK~NO zieC}yiVIw12wz67++`k%zb+CJ@bBcdZF=7fv4GF`qt3*!J`K)^Xr&R*Igq&1ElvNr zIo|kF&3yv;PW$L%1CqKG0||YR#QCj~`b{21M`;$c)EqeBqz_jj)o?z1O>kQEzBz}R z(Ea|Rmu{g$`qLSIl?pW^gTywdqkYcUvk#UydHb3Fpj3zAR4!oj46g%#thQ2fTFo@&<@PmzI^vp1ZVZ?3B5 z?`_}E`|H=7o}o8%1C8B_D)OBr`kd*zq%T_a$r0OJg*Cx2C^69GnVZkF1_vyqGyanX z`(2L3m4~b->prtM%t=kCluL8SJ8Z;KFGQ%VXMR`_=7j9UEgTokZZU386(R z9)AN~dDd|j_CDz*k)ipDQQr%Fy@3q;uD(d1KAo5T-X;Vust)^EC-# zkTY)jV6+yI&xBur?#IV#%WYll&sb?VXbzo!20b!65*EQ*RVuy&A*fQp6MLfl2ESX& zu7BZ;m4hRcUaK@&q(&4#XNEYE-sggYISYD8h@?7n%KX; zy-viIkd@V-I+dy($m9`ymdB?O8+bz1Lz|T{5zB$Uv|%NT2#J!OtS&*=3y`0|g#^d~ z(kwHwF4UMG`hV6#@HLqqYwx`k-ZyVXTmt-d->P&|y}J`N2kH}fis0jyCrm|D&=*3k zq_}8bzND}yYdl1;796C%ae2TJ(q6!E{$SL|bj8AruOQ_}F9x+ztdvoX6cXh*^`GE= zq9BB8^!U@&tIwvzY(uL!fx%^kUK#N=gXN}>oDiKrBE>~iHyhH9maFC`CYokM|3%e= znL0j_>l>>^>2F%k_5v?PM2NKXo=mDsM_#Ve81q17_?EX-M=zI$Ubm{8-o1QQ8HX-O zHf}Z6sdqU8sGKJX1B5&!EiD^O&ZoAh0!jY29+bf%SAE%E5lHu?!!R{cK_tO^%gTfh zWFvCyR-1EL*B6Ui7i$Q8`D)ABs->nBRGVXIgZq+sNDWbK341|H(IzE|iuTr#gOV*@ zv|T32(1#->hnXbH8* zSD|XxD0K%Nv5!)t6J}tOhXtXg3zFdOOJDF4osYqmsp^{{aAlP^bx9MC-Wk#*rBieA z%yFh!bmk$*cGkT36I*-{{iQDCySedI8&p9#O({ORH?g%D zxO{ji;9qr@#!lF_ST@buEDF`gm(Eo(+R)wsrymj{m<15=A#_oHvCh8jn2!4@$qIvykDBA%NRbE7|BnLfpJd%lsMNT9cKbhxNxy zA)|xMGtVadwU#d?<#EM{%2aMxywc^;*NW@ai_m928CJJBO(p^cyp zGCgd&!eN4f&}4t0m~rZ?81_0_I5@k1ZV+iVHlq`mMPPJHKH`)LvQRofTH-IC|Al8%QSpQ<#8S<8S@y=Q*aP10Z(KCfx5U zrquT4bo|O(x5`X=yLt}vQ{!L5zPJp11j~qjWK?0R zh{fzYvZB{Q1Ex*2nlknu>Um(x3Oe(43|0FL1S=&J0B}O+$?{wVr++p90e44V(9qDx zZZ;f=#!f?sZF1+MSn? z&8A!3;K0>t(t8(dSQuduS2v6fe<^npg*^$RnyJ)JTFuF7?Z)Fs;8jDa|GVwD^vBB_ zP7AnKuGlS_lp~@ZBC=QrVcVA-iVx9{?^JuzUabEBKE6BrAOMZr3gJ>XS%@B|G?d3J z#`Z-I@>fvgy}li#FNvyGxmSv(wkC1>;liJc!>oz!MjNNqz@4h`0uU@czm0WOti1c4 zb9{x15K)Uuk!-iE5dQ-#f59T_dAykRZ~qu~Xqo>)3s}<`x6CC&@dOUon|Rw2bxKU=;)gi-l$hZ zGWetpd!G3DSl21Y9?~~(ZABDY<9Q+{$x4|9L(qd-BoGY2->Hlk!~f68&>})*vA} z&0yjLBZ+WK@M!!R(60Y_lLqR@cc|Vzam3PnD*oKmt{UA;N(`jYO4}kUP=i2&Y*_-G zsUlNE zSD|uem20tH4tGPCRlid%BtTS8={@M3ZA4=H@0hk<#nJ97AHvNDLHOO*N^<~TuUgBo zEw+r84WD5>js6$2%PC*ep~197L4fGKO8j0F>&{&G84cVNr0!~Qp{71JfS3rI?}%Ye z)L8o9jKRmpCt#EvE)LA-&rjjGrc+n_1^anMA|ILOu6R{;+;KFUI4uVI4ZVHj+jhjP4TQsq7Y{tl#}Trjs%0n z055T`$VrO)qDt?J;{q^?=$EU55 z93;=6lgrRnnWn%iXEmfg>fFl;Rj8qz*&3-awv(?N6x!P^ZSwY`{^4T=8s-;Q10573 nq#a#saJM7Z8(s9T&WB016lM|KMo9dh?k%x?_t1 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%0Al4e9N8Dy}Hc<_R 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 jzpujswLqUcCIPTMct%o6JL*pV^Oqwhr3|W2iT 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 z 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 literal 0 HcmV?d00001 diff --git a/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-Y/-Y0007.png b/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-Y/-Y0007.png new file mode 100755 index 0000000000000000000000000000000000000000..32dc39e90fb7e20852c8cf5ca2a50eac541f42e2 GIT binary patch literal 8617 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 literal 0 HcmV?d00001 diff --git a/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-Y/-Y0009.png b/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-Y/-Y0009.png new file mode 100755 index 0000000000000000000000000000000000000000..85474c73e6a1fcb0c02bc752c1a49d9351b99c04 GIT binary patch literal 8840 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 F{|lyHd>#M* literal 0 HcmV?d00001 diff --git a/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-Y/-Y0010.png b/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-Y/-Y0010.png new file mode 100755 index 0000000000000000000000000000000000000000..09b1a70b1b93021d59c9de920eaa645325a4b6db GIT binary patch literal 8325 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 gbD_7vrc#Kao7PEchXFSK{#D_Wd075OS0{{R3 literal 0 HcmV?d00001 diff --git a/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-Y/-Y0011.png b/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-Y/-Y0011.png new file mode 100755 index 0000000000000000000000000000000000000000..6ab52d70120a0fd706019a53b2f77ceb002c0ebf GIT binary patch literal 9098 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 YD4eeLq&WEZp#Vx=T3M=2!X)JX01#X&rvLx| literal 0 HcmV?d00001 diff --git a/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-Y/-Y0012.png b/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-Y/-Y0012.png new file mode 100755 index 0000000000000000000000000000000000000000..3bb78bb7f5dfb76606bc61ab99a27675bd5832ab GIT binary patch literal 9604 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 a5bCkcaTV(VKmYS3Lsn8rqE5^>_`d*7fz4+C literal 0 HcmV?d00001 diff --git a/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-Y/-Y0015.png b/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-Y/-Y0015.png new file mode 100755 index 0000000000000000000000000000000000000000..ededfcc33c20afcf68d87ade732cda4f30d34f88 GIT binary patch literal 9208 zcmZ{Kb8sa$*o|%DyuI&x^{Q^&x?MHhGd2C| zuCD1nrh6t@Sy2iZ0UrSj3=COD8ld`5X8hNHgZ#%4cS9Dyz#zet<<%wrE&nHhgMmSS z|6~6v{r|oHO#Z_mARzu%z<)Og{(tE|%8-!%55>d9!^*<;r!5YYW47Y}U}a$!VPm{< zl^)O&@D-wAplA9K;GXGkb?hJ^4FFs@OE}w`^=WajGPADLh8sw;_y^oomiq zjERv&ff(({Q&v(8phJnx$;iY&OPj1KJZ`{Oqr~#u96g!u2MSb{5SQ49wEATsv}rB+ z6`%x~%p5h~r6c|h3e$M;l4HZecxVl95~UwC6b7Xlx`@$VcgNindw~*-q$Q;RVgOLB zqrQ&Hh(50uC+TyU<8_W*gaE}q9UUsH2mx{)Z1}liA02f+P^Phlid>bp&?7KW0w6i>u9P4`%}#*Pn`m1i%RE=+4@x%#trvl+?1P+a{$W8E zO`wJ!ppS6_T{RUkv46)D$xkjRA*HFN`7a7}6?JJT85KnpaWR0Rydo%CQ(jh{hno)+ zrpC?5t)s5V&nqA-C<2Pp733G>VB-WO>VaalK|XR~B4VHj4N!;*sL>S^sHCZ^0@^GG z`746%yFjgOCq0Rv4i5%;M$l2izhFVh2B3xfr?D(hw-;!y2DDmy)t?MXGrV_^1c4?$ zrgHBFQ@`A$K}FWl5&nOygqIC@L6vr(^EME$00i_a40ABiQs1za0L>J{yBQcO%1;{! zRH+GoK7c`18ZkPGjTUmCueGn?)S4J4S9^086HPM-u~0dYG(|x_F-}E(PEfI1u#-uT ztAW3=^o1F}C^tLkc=FeH>!P>13IKous(t*I9Odq+ifUl6&`1avC|J0J_@tEd)J&X8 zavD4$;)1N~I{Z>52G(}w8E&3Vq4`k(zHv#x316QdRQt+b@494PUtfn)<9Qzc#vLsaB(tISN(?k_4V>{f4RG}wgT)eP4c$U=c4&|dV1Ix z1NL^*XQ#%71UlO3YO35{{NCDJT^s_|SCr?6yNipzoE;wQ?X9n`O?1lObGLwjk$}qp zMAf~w@-p;14@i)pyQEJyK?$%L>!brsE(8oe6kgB%)M`0gzyIPLx1p!UKfQin$ij|$ zMxi?4JPD{x43Zk9YKLCkM&yXUV%aIn&&&`-Y6y7ID?QaqVV;&{vh*!g>x9E{!XEv^ z#*oWYcb{VMk2&&FN+ZOK4dRc$&%6EFN?!hE{qN;7Re)ibt%>l6Mh-t^a1)t(|^SWeWJd*B=$@>`6=39g%=q z@l^w4V%JN)wIcB@H~%K)AZUsbvJVF;IVLS^*2AA)dU+^PX6ziqyXngwy_ zXJ$!5T@tjv)oT@aC;kas9&-`uNg^xY_1HA_1kHF{Poc_8s`cMI+tq(rn%9~IeH{-z z-nz-%F+OQm<)Dd`%vtqT`38)MwG?7c7FkDrxN0yjVBOkeAMXemq=r%HUSHu)!WBo{ z+!x&4*>usy40Spbv^~vs_&6mGWyK*Y&|pT7$bTWJux0v#lVVc3$aLswZG)%ktuThO zVG;xHKepCay54)O3WT@k0@qsdA8S8tY3YT`SO6?T->NR-LT%^~_}R(Ln?nu}! z=W?=KH;Gh95vT4e?+rwC2`hv7_z;A(X{H@NWItfRyLi(BgsAIMMDA~7y(S5YMhHiOx z(Y0Il!NXA4K@k>wj6^q2#qzSTY z@M;KggzY1~IGKbilvD2vd^J8FPWw0I8T9yj=-Oc>!U}|wgdm*bnxu)0LoSi}4FK*) z2>RTNv3j%j(y89q8qcy3cZK_WZ&kY2vxK{Sj^*uAw@~1QM-)X@&&IX+wQE_Pg17hH zpT>(40nk(}%o!>$;bp7(5sUWOsppaX#Jn#b`{T?@nPb~}%SWzAyfKC7@Qc>v<_kjj zYFV1}z834`wfl_ydXPX2<-bC<5mK=PL0=zVx37D->*u4kEjqK$ObXPDblO8Z*pzZP z?58<*(2L4&tKqbV?;`i)vuOboD2dD&6leAd7%>@_H>V}@iUIGB@8g3VezCKbEm?K* z26>Y0Gmus0I6ZKTq;%rS3(K1Ltwg>;dRH!ug>XNYZV}WqFwyFVhbxrweLoJi_q`Ga zK0n^v+jZ)WVws%^Ko%=gz6J;-l?%)4?T;ci)Q)y>B&-w^5m}MaBWOdI$#6rd-Z!uU zQNqd^b!&@fq?{TW$g7%YtfK<+;v@E#9zv05bq&Y<>mC&zYleQ8eFJ{$49koLkSGeF zH%)T=uiG>KFRP05is7?^dP&`1J>Tz{vfcU|Of`z1`jdH;Q@ zQae^66m;|6Js^ECuS}F(0f#&Z2AAC@!>Ep3j%M>7yA@V33AbKa>1r@ql+$K!)lt(b z53!xU+V1hZ+zR@5i9)ne%m=IrIopr$HNnS+k-|2;(r}Q0d&!Fzrwl1bscGB^BP8nA zYIpMHL*R>oV+WpfBB_9{Tp7GSUkiV^T&J@Kdz=B2JMMiYAuxHwJWPwjMxGBW6U%*N zD-DP6G_8(mZMXYE)Ohmcg!C|Enw8uwNV0B%b#m1PI=7&;pQ(R_E9CJyn?Lw@?eN%; zjEI?6B@?6};xOs@M%|JFNDe?>T9@#Trn}OckVxDrQQ(LtGBA~32#rTVf_`W~lq-Ti zK35AmFeCNvcyWZyR@F^5HxdnV>MsXVIz70={y*@w%C1Y8Spxaw^+SbccJk)LuC(95 zV>|P|!_*JHC-lYoITlHw*04f)hq2nouKup1qBfB^B~F670kwu(mD&9X34uE+3&l6t zZuEudN@bM1o!AtIMODE6+MGS^D`NMsadW3)?!q9@psv5LRELUACR(h>J$Q9ln);#C zg4teZ3Te_Bchktq3xuFynzDPo<%dN<3SxOHI#0i={}l=gY+=D2eo%i)gHlEY30Ija zufX2~afXlv`69mFrZOP_P8aSjXi4blN!9Jq*OrI9cKQO1ToJ?lNe6&%kqj&hq@}2c z2s*-2{QWPO>gx>po|k(X!|_PB@vx-m)Xe~0@{WpS1Pu`!|G!VE@4K;wrcL@Z*uRTH zIk>oil*rXoN~3wDSE4^rFRYNNzOEEn_yEZqOPkD#gxcz@$%46H=P#9?;7p*|Tft3x zzHB<&>9QZ(PVh81=Xb{x$^6)giF=piq;j3+#^+2vLQsjs(K386yPceBdQj?J7kNiD z+dYB9&~biG7n5abHb6SxTNmZ@RXu%)bW@9G`Ef9U%a{po5BOqy?blJTF_{Ph1in8e zX2EA)F;baOSSIM0Dk1gmbfF^MJ7R+0*~BieEg;Rpj)_x~D7w>q1Iym7KH2zDlBSR9 z5=oIWHZmL-a++zM&m`_mA*D%ZNMqEKYwekS%3H=zGWP@5M)5Za|N5NVeOL376$>ETgWMkqcN}b5JQTRb|WC)8`R1c(;wSz?Hr?{V2MNMS?5+%!iqEh$@29u zdItDo1v))*D1<1d&_qCI=%!>~Hq=L=F!@~?Q(VlBiJu8k@y#s5gETh3CWE3YDg0=V zgJHPU_pHHD!%2O<52_Y5ktqQ~UB_6KYB^YQ>R2Tp=G8k9fyiktQ=WeZYUn58#7EzK z)cm~JW2U$&dXIJ}igYli>*H^gXS&4d)sf4KeB8wRSyH`VO56>)sQK~x$F>YA!$>`I z#R9F~sxAf+xxwL`?e>j}n4a@H2)zsxWt37*_p?@wbb?h&x4&PX(XsPPqWX=O)61y34SR)Fu`qE4Q%RrD5E2sqpeB2G`nblx(TVOwL#Kof zLE3B<)>>`6F=8^U5(P1(Pj%?xGHW`KhGnZq;6lJVVE6h@{M7B-{1C%>F)VP0|c$&Y($Qe=fGH>T-^CN4!xprZZgwPerrQeU5 zk{Z#iL?$4eyXMg;!N_04H&zYa;4*l42{gf5BKopHBWi&$B=^AEXE@{>Jz!@#{SJ8h zI&Z12ogU8)&z9$-tx7X^#T=_dGarfUYmo-k+Ym;HIgu3 zMq87`wPVK06Au(=Y`(Y;WiE49uM))j(b6C)B5;p}!*x^Q+Rv_p)v>go61^ zcI+i`^Q{mO{b~Zo1#l<>*%$>8j7d7wngMmuFs z?9c8qfY%$Gk>T!~(#E7DEKQmyQlr5Y{G=x(1L#!llfN$v-OzNyuD~n@DTiej z%NgR`e)oIJvQ>Lcx>>gpwkWcZ1cU0tV>0YMZ+{i-BlPm-ppSCrKZH!25mh;#%nnt% z@W7gHq6xXRe9rV>E#H?{9G2V7lBMmpUbYT%xidTH>ZVRL-bD=rIlVbze0X&()OZvKl9>{%Hpk8AwrS|%9LUgorE zNE$%!w5L4>#Jjg^^DGHC)h}DJT>;{VOFK`R5|KWfJ-&$rl9IgcL$@(+GnvpDd{ztl zKNn(VPt7S34!8LPpF0;8vDDWSRn4VWqVzf=ij~$McN$xMv&@N3KEuR+0Mf=Q8 zE3s~Z5E&v=oK=jg?cPdm+#A)5yiK^uy5YnxwiiNX-AQ~GEV5Lnx4fPb0E{kO0bK$0 zi`AsNMN1Z;#9%jI#kV z%%m=?DcGEqckz~ws4+5`JM1n!d+vDDm=IZx%n(FpAUB7yBcPHw^Rp<@(t7Whpr!jh zGo4<8ItCH>ZU|u2mMKt8w1zSuwJj-*03}T)z<&M;rBI-4=GJ_sFuG2Gy=QH+9Bj|<^?TK)uV;9&DIhN4xd%V@A zRIyw~E=a@Ez@L4Z?S5PX0)1T@?bP6qa0{d)!HL!)Da#-LK+L1mcf#7HezMAt`3i%g{C z+X_p_HPp)b`CR-{R-f2kds+W1HLBz}MS! z!yM1PDtBufuucESrXQ(BwRvhd6)TS9Y$LhKSAlecLtA}-nwlCoU#hNXn)H%C{8-am zIT6Q3rWQc&ocHUx|847h{;Xif=-t7=VZSD~-Zc)`&am5&Wj`1{0ZVc3?fi4EaO^>L zg45*N8W-Js4NR~cQhdQUeC!$F851PZ54lHd1xj0;e7hd*K;QZB_qDf@FW&Rdz##Xz zk_1TO1dE>jn!g@tRW$lMeZf(=vBvQ>1KC>3G)g*F5t-k6kt3_F5nPPWy^D=i=oe= zU{B#w&^OpN6F?=@HU)1c4g|i8S&VP26MISyD+UE{=x%okte7x^-8-y5iAud0c5@Ze zDvYP#I1SZBSE=gjL9+7J%8X3`)hVu3Vfxjg?do0H_-vd zwe|HVktFNZt)4Z6_(di>D1S6{{?$D6@WS9LO6**5ZQ*)hGzMzyWSsr%Bc40q;E6O4 zS=7-v#e>QH6=a7jzrx`*P=!IwCFd2FdgtyiH~Wpk`0hsDV(T6YLP$SZ%&XI-ByZ3Y ztE%rJ$Q9zD&S=~m!bb;6+fxeoOZ`dnkTlVHoSTy96*OY3N^O5~g)Q z&>l(1wy`%cf81Z3TV9o0WWpcfK83zvqmq`_N}W1? zqZq0C&VT_Y4hxf0iMBxEY%uR3N;2+o^A&y=@VTnu=h4Wg`+BlZkXf>@@~F-IU9k0* z4VRUyI)?-p|E=5A5&fK7B{t2(kJ@#{--$Cf?vvt#e@k4wghH2SC4^P3n)&C!~D9wk8INnIz&xS=*l&Rl5wN`97e^DwVo z?>o)`R#sRZlpXCJpGH|V)mz+3T9?qWJ-_)(`!?G370wk;P-pknInv(vwNUo~N(&lf zmJMIRIermQR`b!3h48!`eEz!)P4e0U=CgwpqY(MQA~-jKIX!?3D)vmJ7@I=fyno!E zXMXKFVWqvVQNU|&V11xutmol?Z?Nd050*PxFad(QJzZ6|Eyryc+S< zx9CY^47@EPOj?Cd6po+C?AEs$2L`+A>T=7q3ozLsGb`~E9Q)$j55Gbky~@_@Kp%eu zy|DIw7_uM&kFdUr!(y7~A&)#*6lao{H!Xb@xU)5vG+9$7!(oQP>MU>+MAnOYDq9R% z#$0cR8sotU>qYWpQ-J{ze{x^AZ-tWgdA_#{KMP?=xL|>6>C@~F!~+`@#+4~Dbzbvo zkM01!%qc5q6Jb2Dst@21gvIZF)Y4c;@L*u6Rps3Rkkz#a$6XBs@BpXU>xj@T{wEQC zj2F%ye1AU8M>cE{r%#RY(50ENvw`6=Q@EsC?5aw{kD2*Z>gFh*%$Kih;oz9ybEmR6 ztEL~J38^Pe^TKQ3sHxO=b46LOr*TL$tMk$UBInMBmHQk!{0>&Gtb>}qj~|NZ(+wH2 zLP2d+>*YJL$c3=cD--Q}iQxVjj^?_MX2e%e1(E4^-l*|S*mtLLThC_LxG$ajQjdrp zN3P6NpCNNvLNI1uECf(n7|Fyl42L7nXemF%DWvQK9B4Z#jV^bXkC|D7gnXqFeQmCj#?PCjKkduxuRoJ z+T>-JcqDEqRmj+y@_EbIEf7BvYmMUYEF58;GKM14R}n;@;f6!rhDQwN;hO2x&1o>) zIt6Oy8UCDm%xsIXXx0LMg5X&|>Xauqvt87d*SO!5C+byFGI#2yhvX?I#wdD2`VGMp zR>Y8kO1WS-hPkXP#1gqV!Aq(wt{E-6I`$=0xoW6`S6l1;c5JBWgjLg~Dp*4G}5u&}}k0-hDlI9;{ug(X*?26!?dbrd7gZKeTn27YWOVOz}@Q= zWLKpbid?g5+o#B?GiIlN6{%TRJXDmBq4k4T^=g*;uR=Pb?~PSpFXY@f##0gj_6)eF zue*S}i-VqrF+1b}8F@_2=-LPQ`}}}qFge4v(w3BB&~3YAn+|=OZJlPFW+XW|<^`Kr zEHs+10@$%k_mX&X>LO%a)%fAKmo5pKPbOUKqBMng3G59~Uuz^AgaL_~vI5?O?2Svhc`)Z_@rj{%|(i_oo7>31La5*x96x|UYNAMrE^#H(Ik12vg%gH z@a0eD5X01)5R`+j)~?#t9sM2p3;j&U<9*YXc|@ljJA3rkv<1q1)wSxo+9S3pizwqy z`FlkSwfq|HXo1Z`W)vUmA}Jp?gP*1f1`ic}{cl>oub^#rebFG#aS~-^p?(!XJhcH|605AnAtE6LzF8Xnkb- zq}7WIeIzs}%PYUdO+?I#FhL2q*9aNeGBBvqJrn+ZA4c8HzXd`AIi#R+8&<0yO`C!r zLR-W8=rHT8~ltN9h-D?>{~PN>+sX)C55DXBG!BGBk;bZ-nR7g*6nQRUhIvf zy`K)c=o4_Nsb9-F|Hyk5$VMP2#Z=w_tkp0va^|E@ZNdr(zf9vQh3Mi28^Dd>e=}+r z)-H!P(?Qsh*C@=!kV;Rx!({#J@xr2bHk-YZlzDCyD9UGqeJyI z1J>R?fOtyVNW^m*Iq@)6nzWMw?T}Qu&8WtzY;JQ2u{mM4{5m!@+6!Km-Vp$4M6h&N z4r00^pMKm&>9=n8`RS7!@&Mx;U+DQ+K${8>jt=ZsRk#Vna zIuWr;nBga?`xlUYySh*{)%SI_ZTg8-)S;$b;F1|gF%@Dm$unqTlkwiC+e1~bi5|E9 zY2PoW_tc7!vdd&p%E(ZQuNPQKm8er)V6{{wM?pqY$hZ`aTs+yy|XhraOpjYsYqE#V`o6u`(>5V zA#53T6Sbb`P>B1x;wn}?&f{$2AN{Ss14E8gNBRO#ma`f){obqAOL)+9;={sLDA^NP zL`Uw%CNa*Ye$P3kXT$D1kibWnwdW2K_N+@9x$FCS z=w(VX&hoFqfq9qycB)#&SeTibCICSEI(`p6t#rVR8|^BP1e*}8nAww_A(RLi5hmX* zn|LV<={pRSp%Y}650-$SAV;vcuv|DIqZ$huY9#Q>m#%Mf@VisWI6kWFd zQEY=@i;UQx9s&nWFY7NW38B={Tc#Ho+-gT(L>o<-g5QSlgM~h66o4;L6DA6Uk8UI) zoi!2;C>??38oKmL!4$!i??FcHv?fEwNTp8BN$Inn8Nn(f*QQxCM+%+H_{hT67eYKH zFHSxCZ-vMfFk`pF!z?fol|i0b-aeXecVH#7BzX@<*vJ2bZ?rdXR041F`l# zc0_(iX@GYQ+ewC`@L^j+>|qe8V!ohEWquF)27*a67~v2dCH@#=6RMjs_MM5vDdr^d zm;8yHvabh}3IY?lOe^i-`PY{^-?dCB;gKOlR7ws^!YHgRLt@_3DO{#b)2#B6(UAZq ztdn__`mycly5_RXKE58|r?3f635Y+)wJR+LCU#8qAX`jpMR~m)h;NlbjudE9&))UN z)<$$HTth3`EgJl2x)+{{qh38_+)4fU&Onrw4bFC{zAX8tvo4#KdY};w+M+Vm@-#Xx zcLNS2(vamQAbgd(6`%=pLu E0ZdwLw*UYD literal 0 HcmV?d00001 diff --git a/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-Y/-Y0016.png b/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-Y/-Y0016.png new file mode 100755 index 0000000000000000000000000000000000000000..b95762493cb75059facacff8d98f5b19f50af1a6 GIT binary patch literal 9532 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 literal 0 HcmV?d00001 diff --git a/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-Y/-Y0021.png b/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-Y/-Y0021.png new file mode 100755 index 0000000000000000000000000000000000000000..9d3e7081ad3bfab526c6f55279b29f8a59f92c4c GIT binary patch literal 8289 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 literal 0 HcmV?d00001 diff --git a/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-Y/-Y0022.png b/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-Y/-Y0022.png new file mode 100755 index 0000000000000000000000000000000000000000..7050421729c5f8665488bbf571b234e1c3651c42 GIT binary patch literal 8970 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 literal 0 HcmV?d00001 diff --git a/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-Y/-Y0023.png b/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-Y/-Y0023.png new file mode 100755 index 0000000000000000000000000000000000000000..fde01d8f5635918f16b8f24a6dc6ccb236022b8b GIT binary patch literal 8744 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 C!wM__ literal 0 HcmV?d00001 diff --git a/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-Y/-Y0025.png b/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-Y/-Y0025.png new file mode 100755 index 0000000000000000000000000000000000000000..da3fa635e14aaefdcb2ee522538868e740984594 GIT binary patch literal 8651 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 INSlWK7vkqj82|tP literal 0 HcmV?d00001 diff --git a/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-Y/-Y0026.png b/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-Y/-Y0026.png new file mode 100755 index 0000000000000000000000000000000000000000..d38a82f3e5e4294fd5237f69f50dafc8221a3551 GIT binary patch literal 8762 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 a2-3gU1oc*X@Zdk+Fk~bY#H&S(LjDU$zO|14 literal 0 HcmV?d00001 diff --git a/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-Y/-Y0027.png b/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-Y/-Y0027.png new file mode 100755 index 0000000000000000000000000000000000000000..da56c04d62b412422339c56e653649dcf20d642c GIT binary patch literal 9713 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 literal 0 HcmV?d00001 diff --git a/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-Y/-Y0028.png b/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-Y/-Y0028.png new file mode 100755 index 0000000000000000000000000000000000000000..60828dfaa539c40c0e6200f092d7376a08672eae GIT binary patch literal 8523 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 H2?_o`OnmYJ literal 0 HcmV?d00001 diff --git a/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-Y/-Y0029.png b/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/-Y/-Y0029.png new file mode 100755 index 0000000000000000000000000000000000000000..c4b79678a01c32eec522c9a8ad01872f5d099937 GIT binary patch literal 8651 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%0DOWJI|iE&solb z%wI{wrqVn8%xaW)(yoD%w=Q?EocW7=d_AU3hUo+28+Yq#&)nFC(th!P4_2JJ%J>hAtKL> zp29;QndycazYJz(B%)kVr~G=a_}a(kYI2ta0hhL0t}ZIIpeF2`c^QZSGj*%a^$;@L_*8G-K@0k zj;)#7_nJ1c)vt7*saZ@k#qSS@C%`hZMkvzJWn-=5zOi`smEI~?626la!FwfjVcSd} z2|dc9jk`YE@g~!!L^^_g719^NcgjT4aTl{D5GL>r_j{+f2aWG^QdrV;_luMovPr-2 zGP7H3K3x&EJCUk+n_5%_`@Zhcry(nMOog(JqT(y5*Xk zmE!&4D%Xmb_yPq#=yu#kqM+|77&btOi*E1*r^UV&O~ z?1I0i8} zb%4S8_V4*ZqS)G8&$+IJp9EVKTd>jO$hQzZN>4x`;4b6t)Huit5|KAK}`k!g`%MEJ53H8E+(MwJWM zmRrWCnxUStN*AOy>K}TQoMqm(1fmXKD-i^*)2!WD*Kbs3W#!VrZQzmUSAs~(!(dcc zr{u+Q7n*40sSyMXYO7z3>ot9$*h-YjC`=VCcfi;uhqI5%Z5!gK@|6khkfZ(vs8#*? zv#Z37bYgRw!1IY>_|%yM##EU}#^i|tRr9MK8!< znSzSBU7OWMP*cvIWZK$FbbJ0TAM2g|*i=%GH%xwNMAA5UV!H}XD*4MuQhOI!-u#&> z*Lf%}HqA3rz?T+%^qXRDZKK;I*rqF?%bb&gedg**FRrt_!O!Ez*cWtkGLW}_1IVB* zAe3D$l~QTAFXNcN>uM@#T)=H8R5;6x^kr5rQHu4}!0TOT4NB&>k+il{eyBsJ^(ym^ zhkd7u@yu`TPquAOyE?eqA$5O6&@9o%j8T5>rj8Z29R3{XnE_t|ng{m8Le^Z0{z9A%S2G7I(M>Z`{|M$Mil{B6^Qe0;a;=&8*nGP-SJ=}U6)ps zkcN%6I8C@vf`~ZFNgGWG03$alvmR1jU9d=r_^esALsnGwQYM#Z+Xh65a{2~pBDEg_ z`EO@jG@k%-ru{$P_XvN*2aE?IwG79LH#I1?uti>wp{Txe(u2HQh~k1&(B^GP?Hjb( zt1zVNeCzT+9?(<$?jNjjQ=44n`o1rZi=FrZ=YpyNnF`6yrbfyA@I_@IoOW)g6$!9X z>#bz$PA(6RnH`_WA}VZJO^mnhn+_&FHeIvloS|o*p#=%2bbV^{tJN>AGd@yZ-&mS! zAmHF)gUx>d78K249e`2k#?SM5I;yuegD!ymf16GAXc3-&&Qv1PrZI<$c9IoShTF#AgaI!mD0pP<$MeE9cJk0dY!dF|HJFvta0T>rJmiiB6c{w z7?WPev23wKIa@#GptH$HsOq!u$AXZ^(sZi@D%5l_1@J+L7%vuN^co}NnU7jQ9?1Xd zjQ>M$wZrq?tXaEKuVN*4PBKt^Dtx{0WvFau!~?mR&Y8GFLsEC>O;n#`D}$4E{SE;h zc8H6>Wzx+;=!SXl=p{nTh<8Z6HmG9Vra7aPDzw~4=0QD@wIN!@l;K@Xq!>v#3VHPU zOK0J0uk!e~qRf;0`kDg)-DrNSk%wJ472LR38mRsFwMgRwRJjbb(N2q1j-v3Yi5Nt? zR<(Dd8lJc)e56-&j#J=g?DvUVJ!3yw{s+JKcRE%5s1I4iHq=GaBJ zW}~{mYK4Lq=#U*n2?6g@Ei!(PURDAa6CsikN*K0X#pd}!9oU@^UMO&_S!!Cb4ivk7 zb5I>(fV8AekRGz0&4@plS*BgSs5bMZs>1*vAsatlDi=yb6LUdgqiyhq8l0KuQoh8r zc^RTEs7;WW_=!2@3#&Gfp0gt8k!cAVm65$hIGoN6O&o2mTxKotxwpSM?Oot3&(Poh zN>`#wv3T{HxWg@J@`6MV;{=UNGO8Z zZEs_)k!y4OpP*j`tw%0z7sJpHv8%L_n0pxZD3jK=i!O!Af4^JZ`#)Frk3e{q^_fWl z(o!yXYYyT85ZF^LbVghz7VHt&sS%SS`rRJa?+is4>zRChYjGy*D55M6&|>(~O-%h* znb$5hM|T2=W!*_*;VC$c(>eVjC_%X)x&l#4N;t5+X6!E>xzhSH3R#W@{(;fSO20v53km?awjA5;Cpy7+raoOj7AXH z5=2x9c2`Yb3z>*EX%H@BSZd z5BF!&Yf?;}eIc|V*9#v?1n_OZJgY!uy3KjMPk$xP@+^GXeYJg`EmocA=Br0wm^auEV`a-$ zrIY|F$yN(;yyPSYy<|lVmU6ep0A%?!smrrnTP@0L8ITcMI%8>yB1Cv4vzou!w*vMB zjT4=B^nQx!GUoOizVSWHmL7`xNoxe$+EF82+P; zuVmRSq(RZ5&L-3v-wsF7-fn@IZgft+qo|GRaO(?anZK(z$ z>mc)M@nbYcqp5bP=N9LtxU)A$bRj`6UN|*&&rQ`pz$6WYuDiBD@1MQdmRup1=_Dvy zrtR-~(17azW0ubEtj}pdzu6}HQq8bTLPv9s)b()0oAuO(FVD|jBFn@8*?#X7M_Qa+{e%bo#g&&h{P<`C$_WFZ@Y!JWAg3a;^rXWjWpL>s+W2ZG zt0`G3|2SFuy%{D@@lhBUPWfKVB|SnQONcgNu30p>xH>?Jx+niU4XV4;hd08(@Jx8nh z1p*UmBe%?LR+Plww@4gzo>Z42KQmy>5a?k{dL%rGj`A(+ICnk{{oA-!Y~qDv1|Q3v zk>B3n=CwO_p<{}|X#I=`lWP^ZkJe290M6Yi-D+^{763J8%jQPfRIRICF!}gOy6ZWF z&A&t=!YtRFMu|)9|I*jmZs4__e zJ@GJC#a7U@R1X(I=e~jlQgiS_pJV*O?&Sa?frBR~A=+u0!X0~5xvb–K0WcYnK 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 literal 0 HcmV?d00001 diff --git a/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Down/down0001.png b/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Down/down0001.png new file mode 100755 index 0000000000000000000000000000000000000000..fa5cbcb68a127f5ae5d99ea08f06440dbf4ea36a GIT binary patch literal 9189 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 literal 0 HcmV?d00001 diff --git a/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Down/down0002.png b/GDJS/tests/games/effects/Assets/Perso_GD/with_shadow/Down/down0002.png new file mode 100755 index 0000000000000000000000000000000000000000..91a9c43c2121dffda1975be47555fce6b7383219 GIT binary patch literal 9122 zcmai)RZty3leUrI?(Pum-~{(`aCdiicXxMp_u%dlASAdu1b2tvoXubV)>iFzvs2YQ z)l*MTy%&8kT|LoC3X&*@goqFj5Gc}8AeDc6#{V;T=zkt*CwLYD0_s&sPEGt@_#X=r z67oMz{v-VVz(45!;Qn{o|6B_N_1}5H{%-$}M>pwz9^C2fTeXCB+2z_%|COoJ0XF%52;m?Du{O zygYmy?3|zO(tci!_SVK`MmkVXP~ax#c2)MbSp6kKesI0xdyE!69m95rR*aYJS&-ga zuqJq=6#S=_ot4AO)%MIqu2qG7(va_^!iAHa)$1E62NwL3r>r489ys4BPl|a+i#x|v z{a2y4EiVmtFabQB15PnH>WBl6rM)=-!5!}47@b9P;iLBG1Y6x~DVFty@P7i#>2Y-= zgoz07#tOXKqAikL)GgRZb1kGF6Kuc8&49UQF*j?)H5sH-TdXsBuM@$!p_h_SPA2=WUF3ks_$t4d2sgH!auAu3wx zn&3noc^P>nc}1>o++aTiaJMITy%IcC0M0blR8a#5DuKOZ!E=QVBN^ZU-(wq5@IfPZ z=le-_f&@t7?Pn&q%?MCY7mR_zoLHCiL#CfEmn+ND1DQUqdOE_-e;@9a2b-(Qb8>7|lt?~5USDob4)?}d3NzEw6XGJm z0xh&jKJKnAPmXst*4LJ%#s@k(s&hmAWmrG2b_cuL8zTZZNB!+A92MsvAjmqUL85A2 z>uKq8DdFVEz^1h94=~I2L6&i+qY8}8RxKOCmNOn&D6rB*$aRwTr=QG(YMoj!k*OTs z^N-sqk%LT~2~`>I-g|yIAy@QXxgS=D5QHsyTtSpecX^PcDBIIe$S$~+cu86KMYof( zJOmQJy5E^JQo>n(mOSsYjp^0oGl=R#EQQZ3(I0D8RTPN5i`DwEY>xgwkBPk0(a1uC zS6q*qR0t$XMQ9DHEI|t)c2DXbrdM1(lQLsMz~)&fiEe0qP<}+TDl;Gtrto$PtSJ}S zu0&Ee7^#n+`uW^OV^chaFi~=?Vid};Chhupm}pkh`Bh*D{+uX5gg>QUEul(O+;jkm z3&pJ#)GLo7-C3YLFZ8vq8kGbSQ@S|A@(2o1QBGGtBf5pcb$=liHL&GU4oYtp^4Jej z+eZakB3IOoJ2u;G0oL4v(h-IYand7j()GiJOfq>Q`?uawxF8X>rC zxEMS#t+7U`Rqp%e%%S#a0!H%*v~-7^?U{8`PcEn@f-8xPedHMQxiCAcypvB8%}N>_DeU_zx^oNb95`?5HDy#9)=-$-t7EZVAWYygVCh3}U;A zK;TUCoMzTCBDf%TTZ`!sGmkxo&J3fUA>+{98C19=u!EaDtC~S) zNebC-a6xNP6d8FSnXiDXRSr$*NI8<`rves5jds47XXEcdi8H)Uz2{oY#glB=5T|sJ ztgx6=Ol2n=S~;vR7GHB)t%$af5cJ`LP!B}lO2+K~jziqzce`*P#&|U72IUHDxa7P% zijLj5WvB{(d@}wo5DZOL>l1*33)^T5)?T#`dd8w~mKujg-1kDpdXJ-B$ z_}epw7qZmO3_{77zA=9Kyt$Xek?Y_QX0UA}&s;c)N#z1LTuvwW6 z^$EvA+@Q^hr8VYP8@LjykkUzxyu|anf+i9}`AW^qk1da$t;?F!;BYCGKb{u~saWNN zhnbr*&R>~Y1IZO{mvi}ri%Gbq^~+jPyJ6K%8|>Gv9VePEG7tYMv;K`aXQI7UzpuaOrC-plW}$$()d(|@ zDHc{@#|uyl!6Y~{XJli$>oqkMNL*ziVDcWoy?XGoxZXBW?fNOw-+lFs?Pwi)Vxf4n zz=1qToaa&RyCwJ7unTPnV zuQ333VBpxsg-#nP!(|tx@J*rjbxbyGj-##7&qfw{oV-9Zi7^XS7%#V`imP_%^~#~I zQ=f%fU7gqQ{Jhk)QEOX0N8+~J1Hgd~ZCoTA!Yme>-XrdSfjYY^B4clf+tX#}^z7fp zoKd?GdAwh_GVoJz#xQYt!dxAD#Z%I?#o$7_pxVyg#GkgRsLq<4awwqnMw8-lXYTC#;Pn1_e0X?!baZgDr|3AzIn}1AN(Io)&NKtdht{wha3 z(`2_H__)D!BNUEhGukwCW_0qFGov-0kOh6#;2mz&Et^8(WhOeu>LEk|O<0_ev3D=E zV`j@Y@ao4;64r2A%cqH+Cq>llK2OGWHlYT4hM`tjWKpvh3OctE7rw$e0<=i-dCfG# zLXFzyrhVC~A48r!1WpwT^i4J2!_5>)^K%OYji}Zc^3df`(r8oAVOiZiFG>m2a_r;R zBGc#oDAaXlC^?&59IAedUKi!aEu6Zs=fi8no^PzU3Lo8LMTF<9kMCP;h>)GQ)orl; zs_Dh+1lvNmZ$RX)>ghDe0;V9vyt*55xoT?=vIf%?<~gA?RRiB<-S4MXCENse5wM3LPZdQ50C0Tv+ zcwyZ@4C>2b=LS(ddq&J~P)&K{2l3GCk+yBgY65D01JRI-s?)A~Bg4dc1*C>{cT4h; z%G5C=0l69@MuaCH$NbkXdQ|Fki%I%r^W{)P#<6tkJZ!Xn`W^OP_0W+%q14h5HMSPF z`8&K_sL4pRU$}e%Sq2XR&0I*MwMO<3%z#bpYN>H8sCX(q%}i6I;?kHTe1?DHD5~i2 zLbEiOmTLTW>q*%pT!{_mm&1l@w#ZhVL1sRdQwE{sC<7w`cHq)kD545aqHHSj-CSf7 zQ5sk_C3R$zt+)B9#Kb3jZ)|1Rb+~smn34E;?M35mo}rbtgyXo_Ya_|woF7 zi9ID@Is{teX*&HOheW>*w*&^9<$CG-d(FI2$$$7n%NiEY-re^3d=tx|;Aage+asD` z>Thn$SmQaAVJVPA7iVgY*3vFwxbrU90TCw4!C~r8utn*~g!#5#=R`{Mepr4xh{+>7 z{|vQfcPnX;XyV;RM4JH;o`?@ohf#=f`kzkJyKWuvu&ZS=L4!}?B@}C0QDYe!;mb_u zNoSCRm~3vlD6n(VpVwbXocbeTh5B$9ddFc}